diff --git a/108.72483ade85a48f0c.js b/108.72483ade85a48f0c.js new file mode 100644 index 00000000..1bebd13c --- /dev/null +++ b/108.72483ade85a48f0c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[108],{108:(_,g,c)=>{c.r(g),c.d(g,{DynamicComponent:()=>j,default:()=>b});var i=c(6286),f=c(7134),u=c(9143),m=c(2936),o=c(2898),s=c(5879),r=c(8944);let y=(()=>{class a{constructor(){this.nodes=[{id:"1",point:{x:100,y:100},type:"default",text:"1"},{id:"2",point:{x:200,y:200},type:"default",text:"2"}],this.edges=[]}createEdge({source:e,target:n}){this.edges=[...this.edges,{id:`${e} -> ${n}`,source:e,target:n}]}static#s=this.\u0275fac=function(n){return new(n||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:2,consts:[[3,"nodes","edges","onConnect"]],template:function(n,l){1&n&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(p){return l.createEdge(p)}),s.qZA()),2&n&&s.Q6J("nodes",l.nodes)("edges",l.edges)},dependencies:[o.p,r.t],encapsulation:2,changeDetection:0})}return a})();var C=c(3870),w=c(2274);let x=(()=>{class a{constructor(){this.nodes=[{id:"1",point:{x:100,y:100},type:h,data:{text:"Node 1"}},{id:"2",point:{x:200,y:200},type:h,data:{text:"Node 2"}}],this.edges=[],this.connection={mode:"loose"}}createEdge(e){const{source:n,target:l,sourceHandle:t,targetHandle:p}=e;this.edges=[...this.edges,{id:`${n}${t} -> ${l}${p}`,...e,markers:{end:{type:"arrow-closed"}}}]}static#s=this.\u0275fac=function(n){return new(n||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:3,consts:[[3,"nodes","edges","connection","onConnect"]],template:function(n,l){1&n&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(p){return l.createEdge(p)}),s.qZA()),2&n&&s.Q6J("nodes",l.nodes)("edges",l.edges)("connection",l.connection)},dependencies:[o.p,r.t],encapsulation:2,changeDetection:0})}return a})(),h=(()=>{class a extends C.L{static#s=this.\u0275fac=function(){let e;return function(l){return(e||(e=s.n5z(a)))(l||a)}}();static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.qOj,s.jDz],decls:6,vars:1,consts:[[1,"node"],["type","source","position","top","id","a"],["type","source","position","right","id","b"],["type","source","position","bottom","id","c"],["type","source","position","left","id","d"]],template:function(n,l){if(1&n&&(s.TgZ(0,"div",0),s._uU(1),s._UZ(2,"handle",1)(3,"handle",2)(4,"handle",3)(5,"handle",4),s.qZA()),2&n){let t;s.xp6(1),s.hij(" ",null==(t=l.data())?null:t.text," ")}},dependencies:[o.p,w.M],styles:[".node[_ngcontent-%COMP%]{width:100px;height:50px;border:1.5px solid #1b262c;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#000;background-color:#fff}"],changeDetection:0})}return a})();const d={title:"Connection",mdFile:"./index.md",category:m.Z,demos:{DefaultConnectionDemoComponent:y,LooseConnectionDemoComponent:x},order:3},v=[],k={DefaultConnectionDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Connection, Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges"\n    (onConnect)="createEdge($event)"/>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class DefaultConnectionDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: \'default\',\n      text: `1`,\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: \'default\',\n      text: `2`\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public createEdge({ source, target }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}`,\n      source,\n      target\n    }]\n  }\n}\n
'}],LooseConnectionDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Connection, ConnectionSettings, CustomNodeComponent, Edge, Node, VflowComponent, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `\n    <vflow\n      [nodes]="nodes"\n      [edges]="edges"\n      [connection]="connection"\n      (onConnect)="createEdge($event)"\n    />\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class LooseConnectionDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: LooseConnectionNode,\n      data: {\n        text: \'Node 1\'\n      }\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: LooseConnectionNode,\n      data: {\n        text: \'Node 2\'\n      }\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public connection: ConnectionSettings = {\n    mode: \'loose\'\n  }\n\n  public createEdge(connection: Connection) {\n    const { source, target, sourceHandle, targetHandle } = connection\n\n    this.edges = [...this.edges, {\n      id: `${source}${sourceHandle} -> ${target}${targetHandle}`,\n      ...connection,\n      markers: {\n        end: {\n          type: \'arrow-closed\'\n        }\n      }\n    }]\n  }\n}\n\ninterface LooseConnectionNodeData {\n  text: string;\n}\n\n@Component({\n  template: `<div class="node">\n    {{ data()?.text }}\n\n    <handle type="source" position="top" id="a" />\n    <handle type="source" position="right" id="b" />\n    <handle type="source" position="bottom" id="c" />\n    <handle type="source" position="left" id="d" />\n  </div>`,\n  styles: [`\n    .node {\n      width: 100px;\n      height: 50px;\n      border: 1.5px solid #1b262c;\n      border-radius: 5px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      color: black;\n      background-color: white;\n    }\n  `],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class LooseConnectionNode extends CustomNodeComponent<LooseConnectionNodeData> { }\n
'}]};let j=(()=>{class a extends i.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Connection

Edges are not creating automatically. To create a new edge, follow these steps:

  1. Create handler to the (onConnect) event
  2. This handler accepts a Connection argument. Connection is similar to an Edge, but it doesn\'t exists in the flow, you need to "convert" it into a new Edge
  3. Update the Edge[] list with the new edge that was created from the Connection.

Strict connections

In the default \'strict\' mode of ConnectionSettings, edges are created from connections with strict adherence to the source and target types of the HandleComponent. This means connections can only be established in one direction based on these properties.

{"expanded":false}

Loose connections

This is the \'loose\' mode of ConnectionSettings, where the flow ignores the handle type and allows any handle to connect with any other handle. In this mode, an id must be provided for the HandleComponent to function correctly.

{"expanded":false}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/connection/index.md?message=docs(connection): describe your changes here...",this.page=d,this.demoAssets=k}static#s=this.\u0275fac=function(n){return new(n||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-doc-page-features-connection"]],standalone:!0,features:[s._Bn([{provide:i.a,useExisting:a},v,d.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(n,l){1&n&&s._UZ(0,"ng-doc-page")},dependencies:[f.z],encapsulation:2,changeDetection:0})}return a})();const b=[{...(0,u.isRoute)(d.route)?d.route:{},path:"",component:j,title:"Connection"}]}}]); \ No newline at end of file diff --git a/108.9d42252ac83cbd97.js b/108.9d42252ac83cbd97.js deleted file mode 100644 index 3fa50689..00000000 --- a/108.9d42252ac83cbd97.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[108],{108:(_,g,c)=>{c.r(g),c.d(g,{DynamicComponent:()=>j,default:()=>b});var i=c(6286),f=c(7134),u=c(9143),m=c(2936),d=c(2898),s=c(5879),r=c(7146);let y=(()=>{class a{constructor(){this.nodes=[{id:"1",point:{x:100,y:100},type:"default",text:"1"},{id:"2",point:{x:200,y:200},type:"default",text:"2"}],this.edges=[]}createEdge({source:l,target:n}){this.edges=[...this.edges,{id:`${l} -> ${n}`,source:l,target:n}]}static#s=this.\u0275fac=function(n){return new(n||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:2,consts:[[3,"nodes","edges","onConnect"]],template:function(n,e){1&n&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(t){return e.createEdge(t)}),s.qZA()),2&n&&s.Q6J("nodes",e.nodes)("edges",e.edges)},dependencies:[d.p,r.t],encapsulation:2,changeDetection:0})}return a})();var C=c(3870),w=c(2274);let x=(()=>{class a{constructor(){this.nodes=[{id:"1",point:{x:100,y:100},type:h,data:{text:"Node 1"}},{id:"2",point:{x:200,y:200},type:h,data:{text:"Node 2"}}],this.edges=[],this.connection={mode:"loose"}}createEdge(l){const{source:n,target:e,sourceHandle:o,targetHandle:t}=l;this.edges=[...this.edges,{id:`${n}${o} -> ${e}${t}`,...l,markers:{end:{type:"arrow-closed"}}}]}static#s=this.\u0275fac=function(n){return new(n||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:3,consts:[[3,"nodes","edges","connection","onConnect"]],template:function(n,e){1&n&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(t){return e.createEdge(t)}),s.qZA()),2&n&&s.Q6J("nodes",e.nodes)("edges",e.edges)("connection",e.connection)},dependencies:[d.p,r.t],encapsulation:2,changeDetection:0})}return a})(),h=(()=>{class a extends C.L{static#s=this.\u0275fac=function(){let l;return function(e){return(l||(l=s.n5z(a)))(e||a)}}();static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.qOj,s.jDz],decls:6,vars:1,consts:[[1,"node"],["type","source","position","top","id","a"],["type","source","position","right","id","b"],["type","source","position","bottom","id","c"],["type","source","position","left","id","d"]],template:function(n,e){1&n&&(s.TgZ(0,"div",0),s._uU(1),s._UZ(2,"handle",1)(3,"handle",2)(4,"handle",3)(5,"handle",4),s.qZA()),2&n&&(s.xp6(1),s.hij(" ",null==e.node.data?null:e.node.data.text," "))},dependencies:[d.p,w.M],styles:[".node[_ngcontent-%COMP%]{width:100px;height:50px;border:1.5px solid #1b262c;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#000;background-color:#fff}"],changeDetection:0})}return a})();const p={title:"Connection",mdFile:"./index.md",category:m.Z,demos:{DefaultConnectionDemoComponent:y,LooseConnectionDemoComponent:x},order:3},v=[],k={DefaultConnectionDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Connection, Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges"\n    (onConnect)="createEdge($event)"/>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class DefaultConnectionDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: \'default\',\n      text: `1`,\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: \'default\',\n      text: `2`\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public createEdge({ source, target }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}`,\n      source,\n      target\n    }]\n  }\n}\n
'}],LooseConnectionDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Connection, ConnectionSettings, CustomNodeComponent, Edge, Node, VflowComponent, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `\n    <vflow\n      [nodes]="nodes"\n      [edges]="edges"\n      [connection]="connection"\n      (onConnect)="createEdge($event)"\n    />\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class LooseConnectionDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: LooseConnectionNode,\n      data: {\n        text: \'Node 1\'\n      }\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: LooseConnectionNode,\n      data: {\n        text: \'Node 2\'\n      }\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public connection: ConnectionSettings = {\n    mode: \'loose\'\n  }\n\n  public createEdge(connection: Connection) {\n    const { source, target, sourceHandle, targetHandle } = connection\n\n    this.edges = [...this.edges, {\n      id: `${source}${sourceHandle} -> ${target}${targetHandle}`,\n      ...connection,\n      markers: {\n        end: {\n          type: \'arrow-closed\'\n        }\n      }\n    }]\n  }\n}\n\ninterface LooseConnectionNodeData {\n  text: string;\n}\n\n@Component({\n  template: `<div class="node">\n    {{ node.data?.text }}\n\n    <handle type="source" position="top" id="a" />\n    <handle type="source" position="right" id="b" />\n    <handle type="source" position="bottom" id="c" />\n    <handle type="source" position="left" id="d" />\n  </div>`,\n  styles: [`\n    .node {\n      width: 100px;\n      height: 50px;\n      border: 1.5px solid #1b262c;\n      border-radius: 5px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      color: black;\n      background-color: white;\n    }\n  `],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class LooseConnectionNode extends CustomNodeComponent<LooseConnectionNodeData> { }\n
'}]};let j=(()=>{class a extends i.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Connection

Edges are not creating automatically. To create a new edge, follow these steps:

  1. Create handler to the (onConnect) event
  2. This handler accepts a Connection argument. Connection is similar to an Edge, but it doesn\'t exists in the flow, you need to "convert" it into a new Edge
  3. Update the Edge[] list with the new edge that was created from the Connection.

Strict connections

In the default \'strict\' mode of ConnectionSettings, edges are created from connections with strict adherence to the source and target types of the HandleComponent. This means connections can only be established in one direction based on these properties.

{"expanded":false}

Loose connections

This is the \'loose\' mode of ConnectionSettings, where the flow ignores the handle type and allows any handle to connect with any other handle. In this mode, an id must be provided for the HandleComponent to function correctly.

{"expanded":false}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/connection/index.md?message=docs(connection): describe your changes here...",this.page=p,this.demoAssets=k}static#s=this.\u0275fac=function(n){return new(n||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-doc-page-features-connection"]],standalone:!0,features:[s._Bn([{provide:i.a,useExisting:a},v,p.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(n,e){1&n&&s._UZ(0,"ng-doc-page")},dependencies:[f.z],encapsulation:2,changeDetection:0})}return a})();const b=[{...(0,u.isRoute)(p.route)?p.route:{},path:"",component:j,title:"Connection"}]}}]); \ No newline at end of file diff --git a/1901.fde75e6c8f0deea4.js b/1901.2425377f1b8129a3.js similarity index 51% rename from 1901.fde75e6c8f0deea4.js rename to 1901.2425377f1b8129a3.js index c5062de4..b5894c26 100644 --- a/1901.fde75e6c8f0deea4.js +++ b/1901.2425377f1b8129a3.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[1901],{623:(F,y,d)=>{d.d(y,{Z:()=>m});const m={VizdomLayoutDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from \'@angular/core\';\nimport { DirectedGraph, VertexRef } from \'@vizdom/vizdom-ts-esm\';\nimport { Edge, Node, VflowComponent, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./vizdom-layout-demo.component.html\',\n  styleUrls: [\'./vizdom-layout-demo.component.scss\'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class VizdomLayoutDemoComponent implements OnInit {\n  @ViewChild(VflowComponent)\n  vflow!: VflowComponent\n\n  public nodes: Node[] = []\n\n  public edges: Edge[] = []\n\n  ngOnInit(): void {\n    // default layout with one node\n    this.layout(\n      [\n        {\n          id: crypto.randomUUID(),\n          point: { x: 0, y: 0 },\n          type: \'html-template\',\n          data: {\n            color: randomHex()\n          },\n          draggable: false\n        }\n      ]\n    )\n  }\n\n  onNodeClick(node: Node) {\n    const newNodeId = crypto.randomUUID()\n\n    const nodes: Node[] = [...this.nodes, {\n      id: newNodeId,\n      point: { x: 0, y: 0 },\n      type: \'html-template\',\n      draggable: false,\n      data: {\n        color: randomHex()\n      }\n    }]\n\n    const edges: Edge[] = [...this.edges, {\n      source: node.id,\n      target: newNodeId,\n      id: `${node.id} -> ${newNodeId}`\n    }]\n\n    this.layout(nodes, edges)\n  }\n\n  protected fitView() {\n    // do not fit when there is initial node\n    if (this.nodes.length > 1) {\n      this.vflow.fitView({ duration: 750 })\n    }\n  }\n\n  /**\n   * Method that responsible to layout and render passed nodes and edges\n   */\n  private layout(nodesToLayout: Node[], edgesToLayout: Edge[] = []) {\n    const graph = new DirectedGraph({\n      layout: {\n        margin_x: 75\n      }\n    })\n\n    // DirectedGraph not provide VErtexRef ids so we need to store it somewhere\n    // for later access\n    const vertices = new Map<string, VertexRef>()\n    const nodes = new Map<string, Node>()\n\n    nodesToLayout.forEach(n => {\n      const v = graph.new_vertex({\n        // For now we only can use static sized nodes\n        layout: {\n          shape_w: 150,\n          shape_h: 100\n        },\n        render: {\n          id: n.id\n        },\n      }, {\n        compute_bounding_box: false\n      })\n\n      vertices.set(n.id, v)\n      nodes.set(n.id, n)\n    })\n\n    edgesToLayout.forEach(e => {\n      graph.new_edge(\n        vertices.get(e.source)!,\n        vertices.get(e.target)!,\n      )\n    })\n\n    // Compute layout with vizdom internal algorythm\n    const layout = graph.layout().to_json().to_obj()\n\n    // Render nodes and edges based on this layout\n    this.nodes = layout.nodes.map(n => {\n      return {\n        ...nodes.get(n.id)!,\n        id: n.id,\n        point: {\n          x: n.x,\n          y: n.y\n        },\n      }\n    })\n    this.edges = edgesToLayout\n  }\n}\n\nfunction randomHex() {\n  const hexValues = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, \'A\', \'B\', \'C\', \'D\', \'E\', \'F\'];\n\n  let hex = \'#\';\n\n  for (let i = 0; i < 6; i++) {\n    const index = Math.floor(Math.random() * hexValues.length)\n    hex += hexValues[index];\n  }\n\n  return hex\n}\n
'},{title:"HTML",code:'
<vflow [minZoom]="0.1" [nodes]="nodes" [edges]="edges" (onNodesChange.add)="fitView()">\n  <ng-template nodeHtml let-ctx>\n    <div (click)="onNodeClick(ctx.node)" [style.background-color]="ctx.node.data.color" class="custom-node">\n      {{ ctx.node.data.color }}\n\n      <handle type="source" position="bottom" />\n      <handle type="target" position="top" />\n    </div>\n  </ng-template>\n</vflow>`\n
'},{title:"SCSS",code:'
.custom-node {\n  width: 100px;\n  height: 50px;\n  background: #bbe1fa;\n  border: 1px solid gray;\n  border-radius: 5px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n
'}]}},1901:(F,y,d)=>{d.a(F,async(e,m)=>{try{d.r(y),d.d(y,{DynamicComponent:()=>w,default:()=>b});var o=d(6286),i=d(7134),v=d(9143),_=d(2150),N=d(526),Y=d(623),T=d(5879),Z=e([_]);_=(Z.then?(await Z)():Z)[0];const r='

Vizdom layout

This is an example of using the vizdom library for computing layout.

{"expanded":true}
';let w=(()=>{class f extends o.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent=r,this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/workshops/categories/layout/pages/vizdom-layout/index.md?message=docs(vizdom-layout): describe your changes here...",this.page=_.Z,this.demoAssets=Y.Z}static#n=this.\u0275fac=function(C){return new(C||f)};static#s=this.\u0275cmp=T.Xpm({type:f,selectors:[["ng-doc-page-workshops-layout-vizdom-layout"]],standalone:!0,features:[T._Bn([{provide:o.a,useExisting:f},N.B,_.Z.providers??[]]),T.qOj,T.jDz],decls:1,vars:0,template:function(C,p){1&C&&T._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return f})();const b=[{...(0,v.isRoute)(_.Z.route)?_.Z.route:{},path:"",component:w,title:"Vizdom layout"}];m()}catch(r){m(r)}})},526:(F,y,d)=>{d.d(y,{B:()=>m});const m=[]},9630:(F,y,d)=>{d.d(y,{Z:()=>o});const o={title:"Layout",order:2,category:d(1314).Z}},1173:(F,y,d)=>{d.a(F,async(e,m)=>{try{let T=function(w,X){if(1&w){const b=g.EpF();g.TgZ(0,"div",2),g.NdJ("click",function(){const z=g.CHM(b).$implicit,C=g.oxw();return g.KtG(C.onNodeClick(z.node))}),g._uU(1),g._UZ(2,"handle",3)(3,"handle",4),g.qZA()}if(2&w){const b=X.$implicit;g.Udp("background-color",b.node.data.color),g.xp6(1),g.hij(" ",b.node.data.color," ")}},r=function(){const w=[0,1,2,3,4,5,6,7,8,9,"A","B","C","D","E","F"];let X="#";for(let b=0;b<6;b++)X+=w[Math.floor(Math.random()*w.length)];return X};d.d(y,{Y:()=>Z});var o=d(9601),i=d(7146),v=d(2898),g=d(5879),_=d(2274),N=d(8874),Y=e([o]);o=(Y.then?(await Y)():Y)[0];let Z=(()=>{class w{constructor(){this.nodes=[],this.edges=[]}ngOnInit(){this.layout([{id:crypto.randomUUID(),point:{x:0,y:0},type:"html-template",data:{color:r()},draggable:!1}])}onNodeClick(b){const f=crypto.randomUUID(),x=[...this.nodes,{id:f,point:{x:0,y:0},type:"html-template",draggable:!1,data:{color:r()}}],z=[...this.edges,{source:b.id,target:f,id:`${b.id} -> ${f}`}];this.layout(x,z)}fitView(){this.nodes.length>1&&this.vflow.fitView({duration:750})}layout(b,f=[]){const x=new o.Si({layout:{margin_x:75}}),z=new Map,C=new Map;b.forEach(S=>{const J=x.new_vertex({layout:{shape_w:150,shape_h:100},render:{id:S.id}},{compute_bounding_box:!1});z.set(S.id,J),C.set(S.id,S)}),f.forEach(S=>{x.new_edge(z.get(S.source),z.get(S.target))});const p=x.layout().to_json().to_obj();this.nodes=p.nodes.map(S=>({...C.get(S.id),id:S.id,point:{x:S.x,y:S.y}})),this.edges=f}static#n=this.\u0275fac=function(f){return new(f||w)};static#s=this.\u0275cmp=g.Xpm({type:w,selectors:[["ng-component"]],viewQuery:function(f,x){if(1&f&&g.Gf(i.t,5),2&f){let z;g.iGM(z=g.CRH())&&(x.vflow=z.first)}},standalone:!0,features:[g.jDz],decls:3,vars:3,consts:[[3,"minZoom","nodes","edges","onNodesChange.add"],["nodeHtml",""],[1,"custom-node",3,"click"],["type","source","position","bottom"],["type","target","position","top"]],template:function(f,x){1&f&&(g.TgZ(0,"vflow",0),g.NdJ("onNodesChange.add",function(){return x.fitView()}),g.YNc(1,T,4,3,"ng-template",1),g.qZA(),g._uU(2,"`\n")),2&f&&g.Q6J("minZoom",.1)("nodes",x.nodes)("edges",x.edges)},dependencies:[v.p,i.t,_.M,N.QC],styles:[".custom-node[_ngcontent-%COMP%]{width:100px;height:50px;background:#bbe1fa;border:1px solid gray;border-radius:5px;display:flex;align-items:center;justify-content:center}"],changeDetection:0})}return w})();m()}catch(T){m(T)}})},2150:(F,y,d)=>{d.a(F,async(e,m)=>{try{d.d(y,{Z:()=>_});var o=d(1173),i=d(9630),v=e([o]);o=(v.then?(await v)():v)[0];const _={title:"Vizdom layout",mdFile:"./index.md",category:i.Z,demos:{VizdomLayoutDemoComponent:o.Y},order:2};m()}catch(g){m(g)}})},9601:(F,y,d)=>{d.a(F,async(e,m)=>{try{d.d(y,{Si:()=>i.Si});var o=d(1368),i=d(6223),v=e([o]);o=(v.then?(await v)():v)[0],(0,i.oT)(o),o.__wbindgen_start(),m()}catch(g){m(g)}})},6223:(F,y,d)=>{let e;function m(s){e=s}d.d(y,{Bg:()=>Wn,CF:()=>On,Cl:()=>ts,EI:()=>Pn,G2:()=>Un,HT:()=>cn,Iu:()=>Gn,Je:()=>Jn,KM:()=>zn,KX:()=>es,Kx:()=>Rn,M1:()=>on,Nv:()=>os,OQ:()=>Yn,Or:()=>cs,Qr:()=>An,Rx:()=>In,S7:()=>dn,Si:()=>B,Sp:()=>qn,WD:()=>hn,Wl:()=>bn,XH:()=>Qn,XP:()=>wn,YY:()=>Dn,Yq:()=>fn,Yy:()=>xn,_D:()=>ns,a2:()=>kn,a6:()=>ss,aX:()=>En,d:()=>yn,dw:()=>Mn,eY:()=>Hn,eh:()=>Ln,eo:()=>Vn,fH:()=>as,fW:()=>_n,fY:()=>ps,h4:()=>vn,hc:()=>Xn,hd:()=>un,iX:()=>Fn,kW:()=>is,m7:()=>Bn,m_:()=>mn,nD:()=>Kn,o$:()=>Zn,oH:()=>$n,oT:()=>m,pT:()=>Nn,q4:()=>Sn,ql:()=>rs,qt:()=>gn,qx:()=>Tn,uY:()=>Cn,ug:()=>pn,yb:()=>jn,zk:()=>ls,zn:()=>ds});const o=new Array(128).fill(void 0);function i(s){return o[s]}o.push(void 0,null,!0,!1);let v=o.length;function _(s){const n=i(s);return function g(s){s<132||(o[s]=v,v=s)}(s),n}function N(s){return null==s}let Y=null,Z=null;function r(){return(null===Z||0===Z.byteLength)&&(Z=new Int32Array(e.memory.buffer)),Z}let w=0,X=null;function b(){return(null===X||0===X.byteLength)&&(X=new Uint8Array(e.memory.buffer)),X}let x=new(typeof TextEncoder>"u"?(0,module.require)("util").TextEncoder:TextEncoder)("utf-8");const z="function"==typeof x.encodeInto?function(s,n){return x.encodeInto(s,n)}:function(s,n){const a=x.encode(s);return n.set(a),{read:s.length,written:a.length}};function C(s,n,a){if(void 0===a){const k=x.encode(s),V=n(k.length,1)>>>0;return b().subarray(V,V+k.length).set(k),w=k.length,V}let l=s.length,t=n(l,1)>>>0;const c=b();let h=0;for(;h127)break;c[t+h]=k}if(h!==l){0!==h&&(s=s.slice(h)),t=a(t,l,l=h+3*s.length,1)>>>0;const k=b().subarray(t+h,t+l);h+=z(s,k).written,t=a(t,l,h,1)>>>0}return w=h,t}function p(s){v===o.length&&o.push(o.length+1);const n=v;return v=o[n],o[n]=s,n}let J=new(typeof TextDecoder>"u"?(0,module.require)("util").TextDecoder:TextDecoder)("utf-8",{ignoreBOM:!0,fatal:!0});function R(s,n){return s>>>=0,J.decode(b().subarray(s,s+n))}J.decode();let U=null;function q(s){const n=typeof s;if("number"==n||"boolean"==n||null==s)return`${s}`;if("string"==n)return`"${s}"`;if("symbol"==n){const t=s.description;return null==t?"Symbol":`Symbol(${t})`}if("function"==n){const t=s.name;return"string"==typeof t&&t.length>0?`Function(${t})`:"Function"}if(Array.isArray(s)){const t=s.length;let c="[";t>0&&(c+=q(s[0]));for(let h=1;h1))return toString.call(s);if(l=a[1],"Object"==l)try{return"Object("+JSON.stringify(s)+")"}catch{return"Object"}return s instanceof Error?`${s.name}: ${s.message}\n${s.stack}`:l}let L=null;function $(s,n){s>>>=0;const l=function tn(){return(null===L||0===L.byteLength)&&(L=new Uint32Array(e.memory.buffer)),L}().subarray(s/4,s/4+n),t=[];for(let c=0;c"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_directedgraph_free(s>>>0));class B{__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,ln.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_directedgraph_free(n)}constructor(n){const a=e.directedgraph_new(N(n)?0:p(n));return this.__wbg_ptr=a>>>0,this}attrs(){const n=e.directedgraph_attrs(this.__wbg_ptr);return D.__wrap(n)}new_vertex(n,a){const l=e.directedgraph_new_vertex(this.__wbg_ptr,N(n)?0:p(n),N(a)?0:p(a));return u.__wrap(l)}vertices(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.directedgraph_vertices(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1],l=$(n,a).slice();return e.__wbindgen_free(n,4*a,4),l}finally{e.__wbindgen_add_to_stack_pointer(16)}}vertices_count(){return e.directedgraph_vertices_count(this.__wbg_ptr)>>>0}sources(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.directedgraph_sources(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1],l=$(n,a).slice();return e.__wbindgen_free(n,4*a,4),l}finally{e.__wbindgen_add_to_stack_pointer(16)}}sinks(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.directedgraph_sinks(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1],l=$(n,a).slice();return e.__wbindgen_free(n,4*a,4),l}finally{e.__wbindgen_add_to_stack_pointer(16)}}neighboring_vertices(n){try{const c=e.__wbindgen_add_to_stack_pointer(-16);j(n,u),e.directedgraph_neighboring_vertices(c,this.__wbg_ptr,n.__wbg_ptr);var a=r()[c/4+0],l=r()[c/4+1],t=$(a,l).slice();return e.__wbindgen_free(a,4*l,4),t}finally{e.__wbindgen_add_to_stack_pointer(16)}}new_edge(n,a,l,t){j(n,u),j(a,u);const c=e.directedgraph_new_edge(this.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr,N(l)?0:p(l),N(t)?0:p(t));return Q.__wrap(c)}edges(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.directedgraph_edges(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1],l=$(n,a).slice();return e.__wbindgen_free(n,4*a,4),l}finally{e.__wbindgen_add_to_stack_pointer(16)}}edges_count(){return e.directedgraph_edges_count(this.__wbg_ptr)>>>0}has_edge(n,a){return j(n,u),j(a,u),0!==e.directedgraph_has_edge(this.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr)}find_out_edge(n,a){j(n,u),j(a,u);const l=e.directedgraph_find_out_edge(this.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr);return 0===l?void 0:Q.__wrap(l)}find_out_edge_multi(n,a){try{const h=e.__wbindgen_add_to_stack_pointer(-16);j(n,u),j(a,u),e.directedgraph_find_out_edge_multi(h,this.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr);var l=r()[h/4+0],t=r()[h/4+1],c=$(l,t).slice();return e.__wbindgen_free(l,4*t,4),c}finally{e.__wbindgen_add_to_stack_pointer(16)}}find_in_edge(n,a){j(n,u),j(a,u);const l=e.directedgraph_find_in_edge(this.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr);return 0===l?void 0:Q.__wrap(l)}find_in_edge_multi(n,a){try{const h=e.__wbindgen_add_to_stack_pointer(-16);j(n,u),j(a,u),e.directedgraph_find_in_edge_multi(h,this.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr);var l=r()[h/4+0],t=r()[h/4+1],c=$(l,t).slice();return e.__wbindgen_free(l,4*t,4),c}finally{e.__wbindgen_add_to_stack_pointer(16)}}incoming(n){try{const c=e.__wbindgen_add_to_stack_pointer(-16);j(n,u),e.directedgraph_incoming(c,this.__wbg_ptr,n.__wbg_ptr);var a=r()[c/4+0],l=r()[c/4+1],t=$(a,l).slice();return e.__wbindgen_free(a,4*l,4),t}finally{e.__wbindgen_add_to_stack_pointer(16)}}incoming_count(n){return j(n,u),e.directedgraph_incoming_count(this.__wbg_ptr,n.__wbg_ptr)>>>0}outgoing(n){try{const c=e.__wbindgen_add_to_stack_pointer(-16);j(n,u),e.directedgraph_outgoing(c,this.__wbg_ptr,n.__wbg_ptr);var a=r()[c/4+0],l=r()[c/4+1],t=$(a,l).slice();return e.__wbindgen_free(a,4*l,4),t}finally{e.__wbindgen_add_to_stack_pointer(16)}}outgoing_count(n){return j(n,u),e.directedgraph_outgoing_count(this.__wbg_ptr,n.__wbg_ptr)>>>0}layout(){const n=e.directedgraph_layout(this.__wbg_ptr);return K.__wrap(n)}}const M=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_edgeref_free(s>>>0));class Q{static __wrap(n){n>>>=0;const a=Object.create(Q.prototype);return a.__wbg_ptr=n,M.register(a,a.__wbg_ptr,a),a}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,M.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_edgeref_free(n)}source(){const n=e.edgeref_source(this.__wbg_ptr);return u.__wrap(n)}target(){const n=e.edgeref_target(this.__wbg_ptr);return u.__wrap(n)}set(n){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.edgeref_set(t,this.__wbg_ptr,I(n));var a=r()[t/4+0];if(r()[t/4+1])throw _(a)}finally{e.__wbindgen_add_to_stack_pointer(16),o[A++]=void 0}}to_json(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.edgeref_to_json(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1];if(r()[t/4+2])throw _(a);return _(n)}finally{e.__wbindgen_add_to_stack_pointer(16)}}}const P=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_graphref_free(s>>>0));class D{static __wrap(n){n>>>=0;const a=Object.create(D.prototype);return a.__wbg_ptr=n,P.register(a,a.__wbg_ptr,a),a}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,P.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_graphref_free(n)}set(n){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.graphref_set(t,this.__wbg_ptr,I(n));var a=r()[t/4+0];if(r()[t/4+1])throw _(a)}finally{e.__wbindgen_add_to_stack_pointer(16),o[A++]=void 0}}to_json(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.graphref_to_json(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1];if(r()[t/4+2])throw _(a);return _(n)}finally{e.__wbindgen_add_to_stack_pointer(16)}}}const E=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_json_free(s>>>0));class W{static __wrap(n){n>>>=0;const a=Object.create(W.prototype);return a.__wbg_ptr=n,E.register(a,a.__wbg_ptr,a),a}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,E.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_json_free(n)}to_string(){let n,a;try{const H=e.__wbindgen_add_to_stack_pointer(-16);e.json_to_string(H,this.__wbg_ptr);var l=r()[H/4+0],t=r()[H/4+1],c=r()[H/4+2],h=r()[H/4+3],k=l,V=t;if(h)throw k=0,V=0,_(c);return n=k,a=V,R(k,V)}finally{e.__wbindgen_add_to_stack_pointer(16),e.__wbindgen_free(n,a,1)}}to_string_pretty(){let n,a;try{const H=e.__wbindgen_add_to_stack_pointer(-16);e.json_to_string_pretty(H,this.__wbg_ptr);var l=r()[H/4+0],t=r()[H/4+1],c=r()[H/4+2],h=r()[H/4+3],k=l,V=t;if(h)throw k=0,V=0,_(c);return n=k,a=V,R(k,V)}finally{e.__wbindgen_add_to_stack_pointer(16),e.__wbindgen_free(n,a,1)}}to_obj(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.json_to_obj(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1];if(r()[t/4+2])throw _(a);return _(n)}finally{e.__wbindgen_add_to_stack_pointer(16)}}}const nn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_positioneddirectedgraph_free(s>>>0));class K{static __wrap(n){n>>>=0;const a=Object.create(K.prototype);return a.__wbg_ptr=n,nn.register(a,a.__wbg_ptr,a),a}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,nn.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_positioneddirectedgraph_free(n)}to_svg(){const n=e.positioneddirectedgraph_to_svg(this.__wbg_ptr);return O.__wrap(n)}to_json(){const n=e.positioneddirectedgraph_to_json(this.__wbg_ptr);return W.__wrap(n)}}const sn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_svg_free(s>>>0));class O{static __wrap(n){n>>>=0;const a=Object.create(O.prototype);return a.__wbg_ptr=n,sn.register(a,a.__wbg_ptr,a),a}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,sn.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_svg_free(n)}to_string(){let n,a;try{const c=e.__wbindgen_add_to_stack_pointer(-16);e.svg_to_string(c,this.__wbg_ptr);var l=r()[c/4+0],t=r()[c/4+1];return n=l,a=t,R(l,t)}finally{e.__wbindgen_add_to_stack_pointer(16),e.__wbindgen_free(n,a,1)}}}typeof FinalizationRegistry>"u"||new FinalizationRegistry(s=>e.__wbg_util_free(s>>>0));const en=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_vertexref_free(s>>>0));class u{static __wrap(n){n>>>=0;const a=Object.create(u.prototype);return a.__wbg_ptr=n,en.register(a,a.__wbg_ptr,a),a}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,en.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_vertexref_free(n)}set(n){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.vertexref_set(t,this.__wbg_ptr,I(n));var a=r()[t/4+0];if(r()[t/4+1])throw _(a)}finally{e.__wbindgen_add_to_stack_pointer(16),o[A++]=void 0}}to_json(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.vertexref_to_json(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1];if(r()[t/4+2])throw _(a);return _(n)}finally{e.__wbindgen_add_to_stack_pointer(16)}}}function dn(s){return p(u.__wrap(s))}function pn(s){_(s)}function cn(s){const n=i(s);return"boolean"==typeof n?n?1:0:2}function on(s,n){const a=i(n),l="number"==typeof a?a:void 0;(function T(){return(null===Y||0===Y.byteLength)&&(Y=new Float64Array(e.memory.buffer)),Y}())[s/8+1]=N(l)?0:l,r()[s/4+0]=!N(l)}function gn(s,n){const a=i(n),l="string"==typeof a?a:void 0;var t=N(l)?0:C(l,e.__wbindgen_malloc,e.__wbindgen_realloc),c=w;r()[s/4+1]=c,r()[s/4+0]=t}function _n(s){return"bigint"==typeof i(s)}function hn(s){return p(s)}function fn(s,n){return i(s)===i(n)}function un(s,n){return p(new Error(R(s,n)))}function bn(s){const n=i(s);return"object"==typeof n&&null!==n}function wn(s){return void 0===i(s)}function jn(s,n){return i(s)in i(n)}function yn(s){return+i(s)}function mn(s){return p(i(s))}function vn(s,n){return p(R(s,n))}function xn(s){return p(Q.__wrap(s))}function kn(){return p(new Error)}function zn(s,n){const l=C(i(n).stack,e.__wbindgen_malloc,e.__wbindgen_realloc),t=w;r()[s/4+1]=t,r()[s/4+0]=l}function Fn(s,n){let a,l;try{a=s,l=n,console.error(R(s,n))}finally{e.__wbindgen_free(a,l,1)}}function Nn(s){return p(s)}function Sn(s){return p(i(s).crypto)}function Vn(s){return p(i(s).process)}function Cn(s){return p(i(s).versions)}function Tn(s){return p(i(s).node)}function Hn(s){return"string"==typeof i(s)}function Yn(){return G(function(){return p(module.require)},arguments)}function Zn(s){return"function"==typeof i(s)}function Xn(s){return p(i(s).msCrypto)}function $n(){return G(function(s,n){i(s).randomFillSync(_(n))},arguments)}function Gn(){return G(function(s,n){i(s).getRandomValues(i(n))},arguments)}function Rn(s){return p(BigInt.asUintN(64,s))}function An(s,n){return i(s)==i(n)}function Qn(s,n){return p(i(s)[i(n)])}function Jn(s,n,a){i(s)[_(n)]=_(a)}function Un(){return p(new Array)}function Ln(s,n){return p(new Function(R(s,n)))}function qn(){return G(function(s,n){return p(i(s).call(i(n)))},arguments)}function In(){return p(new Object)}function Bn(){return G(function(){return p(self.self)},arguments)}function Dn(){return G(function(){return p(window.window)},arguments)}function Wn(){return G(function(){return p(globalThis.globalThis)},arguments)}function Kn(){return G(function(){return p(global.global)},arguments)}function On(s,n,a){i(s)[n>>>0]=_(a)}function Mn(s){let n;try{n=i(s)instanceof ArrayBuffer}catch{n=!1}return n}function Pn(){return G(function(s,n,a){return p(i(s).call(i(n),i(a)))},arguments)}function En(s){return Number.isSafeInteger(i(s))}function ns(s){return p(i(s).buffer)}function ss(s,n,a){return p(new Uint8Array(i(s),n>>>0,a>>>0))}function es(s){return p(new Uint8Array(i(s)))}function as(s,n,a){i(s).set(i(n),a>>>0)}function ts(s){return i(s).length}function ls(s){let n;try{n=i(s)instanceof Uint8Array}catch{n=!1}return n}function rs(s){return p(new Uint8Array(s>>>0))}function is(s,n,a){return p(i(s).subarray(n>>>0,a>>>0))}function ds(s,n){const a=i(n),l="bigint"==typeof a?a:void 0;(function an(){return(null===U||0===U.byteLength)&&(U=new BigInt64Array(e.memory.buffer)),U}())[s/8+1]=N(l)?BigInt(0):l,r()[s/4+0]=!N(l)}function ps(s,n){const l=C(q(i(n)),e.__wbindgen_malloc,e.__wbindgen_realloc),t=w;r()[s/4+1]=t,r()[s/4+0]=l}function cs(s,n){throw new Error(R(s,n))}function os(){return p(e.memory)}},1368:(F,y,d)=>{var e=d(6223);F.exports=d.v(y,F.id,"264a21ee312a4025",{"./vizdom_ts_bg.js":{__wbg_vertexref_new:e.S7,__wbindgen_object_drop_ref:e.ug,__wbindgen_boolean_get:e.HT,__wbindgen_number_get:e.M1,__wbindgen_string_get:e.qt,__wbindgen_is_bigint:e.fW,__wbindgen_bigint_from_i64:e.WD,__wbindgen_jsval_eq:e.Yq,__wbindgen_error_new:e.hd,__wbindgen_is_object:e.Wl,__wbindgen_is_undefined:e.XP,__wbindgen_in:e.yb,__wbindgen_as_number:e.d,__wbindgen_object_clone_ref:e.m_,__wbindgen_string_new:e.h4,__wbg_edgeref_new:e.Yy,__wbg_new_abda76e883ba8a5f:e.a2,__wbg_stack_658279fe44541cf6:e.KM,__wbg_error_f851667af71bcfc6:e.iX,__wbindgen_number_new:e.pT,__wbg_crypto_1d1f22824a6a080c:e.q4,__wbg_process_4a72847cc503995b:e.eo,__wbg_versions_f686565e586dd935:e.uY,__wbg_node_104a2ff8d6ea03a2:e.qx,__wbindgen_is_string:e.eY,__wbg_require_cca90b1a94a0255b:e.OQ,__wbindgen_is_function:e.o$,__wbg_msCrypto_eb05e62b530a1508:e.hc,__wbg_randomFillSync_5c9c955aa56b6049:e.oH,__wbg_getRandomValues_3aa56aa6edec874c:e.Iu,__wbindgen_bigint_from_u64:e.Kx,__wbindgen_jsval_loose_eq:e.Qr,__wbg_getwithrefkey_edc2c8960f0f1191:e.XH,__wbg_set_f975102236d3c502:e.Je,__wbg_new_16b304a2cfa7ff4a:e.G2,__wbg_newnoargs_e258087cd0daa0ea:e.eh,__wbg_call_27c0f87801dedf93:e.Sp,__wbg_new_72fb9a18b5ae2624:e.Rx,__wbg_self_ce0dbfc45cf2f5be:e.m7,__wbg_window_c6fb939a7f436783:e.YY,__wbg_globalThis_d1e6af4856ba331b:e.Bg,__wbg_global_207b558942527489:e.nD,__wbg_set_d4638f722068f043:e.CF,__wbg_instanceof_ArrayBuffer_836825be07d4c9d2:e.dw,__wbg_call_b3ca7c6051f9bec1:e.EI,__wbg_isSafeInteger_f7b04ef02296c4d2:e.aX,__wbg_buffer_12d079cc21e14bdb:e._D,__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb:e.a6,__wbg_new_63b92bc8671ed464:e.KX,__wbg_set_a47bac70306a19a7:e.fH,__wbg_length_c20a40f15020d68a:e.Cl,__wbg_instanceof_Uint8Array_2b3bbecd033d19f6:e.zk,__wbg_newwithlength_e9b4878cebadb3d3:e.ql,__wbg_subarray_a1f73cd4b5b42fe1:e.kW,__wbindgen_bigint_get_as_i64:e.zn,__wbindgen_debug_string:e.fY,__wbindgen_throw:e.Or,__wbindgen_memory:e.Nv}})}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[1901],{623:(S,k,p)=>{p.d(k,{Z:()=>m});const m={VizdomLayoutDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from \'@angular/core\';\nimport { DirectedGraph, VertexRef } from \'@vizdom/vizdom-ts-esm\';\nimport { Edge, Node, VflowComponent, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./vizdom-layout-demo.component.html\',\n  styleUrls: [\'./vizdom-layout-demo.component.scss\'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class VizdomLayoutDemoComponent implements OnInit {\n  @ViewChild(VflowComponent)\n  vflow!: VflowComponent\n\n  public nodes: Node[] = []\n\n  public edges: Edge[] = []\n\n  ngOnInit(): void {\n    // default layout with one node\n    this.layout(\n      [\n        {\n          id: crypto.randomUUID(),\n          point: { x: 0, y: 0 },\n          type: \'html-template\',\n          data: {\n            color: randomHex()\n          },\n          draggable: false\n        }\n      ]\n    )\n  }\n\n  onNodeClick(node: Node) {\n    const newNodeId = crypto.randomUUID()\n\n    const nodes: Node[] = [...this.nodes, {\n      id: newNodeId,\n      point: { x: 0, y: 0 },\n      type: \'html-template\',\n      draggable: false,\n      data: {\n        color: randomHex()\n      }\n    }]\n\n    const edges: Edge[] = [...this.edges, {\n      source: node.id,\n      target: newNodeId,\n      id: `${node.id} -> ${newNodeId}`\n    }]\n\n    this.layout(nodes, edges)\n  }\n\n  protected fitView() {\n    // do not fit when there is initial node\n    if (this.nodes.length > 1) {\n      this.vflow.fitView({ duration: 750 })\n    }\n  }\n\n  /**\n   * Method that responsible to layout and render passed nodes and edges\n   */\n  private layout(nodesToLayout: Node[], edgesToLayout: Edge[] = []) {\n    const graph = new DirectedGraph({\n      layout: {\n        margin_x: 75\n      }\n    })\n\n    // DirectedGraph not provide VErtexRef ids so we need to store it somewhere\n    // for later access\n    const vertices = new Map<string, VertexRef>()\n    const nodes = new Map<string, Node>()\n\n    nodesToLayout.forEach(n => {\n      const v = graph.new_vertex({\n        // For now we only can use static sized nodes\n        layout: {\n          shape_w: 150,\n          shape_h: 100\n        },\n        render: {\n          id: n.id\n        },\n      }, {\n        compute_bounding_box: false\n      })\n\n      vertices.set(n.id, v)\n      nodes.set(n.id, n)\n    })\n\n    edgesToLayout.forEach(e => {\n      graph.new_edge(\n        vertices.get(e.source)!,\n        vertices.get(e.target)!,\n      )\n    })\n\n    // Compute layout with vizdom internal algorythm\n    const layout = graph.layout().to_json().to_obj()\n\n    // Render nodes and edges based on this layout\n    this.nodes = layout.nodes.map(n => {\n      return {\n        ...nodes.get(n.id)!,\n        id: n.id,\n        point: {\n          x: n.x,\n          y: n.y\n        },\n      }\n    })\n    this.edges = edgesToLayout\n  }\n}\n\nfunction randomHex() {\n  const hexValues = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, \'A\', \'B\', \'C\', \'D\', \'E\', \'F\'];\n\n  let hex = \'#\';\n\n  for (let i = 0; i < 6; i++) {\n    const index = Math.floor(Math.random() * hexValues.length)\n    hex += hexValues[index];\n  }\n\n  return hex\n}\n
'},{title:"HTML",code:'
<vflow [minZoom]="0.1" [nodes]="nodes" [edges]="edges" (onNodesChange.add)="fitView()">\n  <ng-template nodeHtml let-ctx>\n    <div (click)="onNodeClick(ctx.node)" [style.background-color]="ctx.node.data.color" class="custom-node">\n      {{ ctx.node.data.color }}\n\n      <handle type="source" position="bottom" />\n      <handle type="target" position="top" />\n    </div>\n  </ng-template>\n</vflow>`\n
'},{title:"SCSS",code:'
.custom-node {\n  width: 100px;\n  height: 50px;\n  background: #bbe1fa;\n  border: 1px solid gray;\n  border-radius: 5px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n
'}]}},1901:(S,k,p)=>{p.a(S,async(e,m)=>{try{p.r(k),p.d(k,{DynamicComponent:()=>w,default:()=>b});var _=p(6286),i=p(7134),y=p(9143),g=p(2150),F=p(526),Y=p(623),H=p(5879),Z=e([g]);g=(Z.then?(await Z)():Z)[0];const r='

Vizdom layout

This is an example of using the vizdom library for computing layout.

{"expanded":true}
';let w=(()=>{class f extends _.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent=r,this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/workshops/categories/layout/pages/vizdom-layout/index.md?message=docs(vizdom-layout): describe your changes here...",this.page=g.Z,this.demoAssets=Y.Z}static#n=this.\u0275fac=function(C){return new(C||f)};static#s=this.\u0275cmp=H.Xpm({type:f,selectors:[["ng-doc-page-workshops-layout-vizdom-layout"]],standalone:!0,features:[H._Bn([{provide:_.a,useExisting:f},F.B,g.Z.providers??[]]),H.qOj,H.jDz],decls:1,vars:0,template:function(C,d){1&C&&H._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return f})();const b=[{...(0,y.isRoute)(g.Z.route)?g.Z.route:{},path:"",component:w,title:"Vizdom layout"}];m()}catch(r){m(r)}})},526:(S,k,p)=>{p.d(k,{B:()=>m});const m=[]},1173:(S,k,p)=>{p.a(S,async(e,m)=>{try{let H=function(w,$){if(1&w){const b=o.EpF();o.TgZ(0,"div",2),o.NdJ("click",function(){const z=o.CHM(b).$implicit,C=o.oxw();return o.KtG(C.onNodeClick(z.node))}),o._uU(1),o._UZ(2,"handle",3)(3,"handle",4),o.qZA()}if(2&w){const b=$.$implicit;o.Udp("background-color",b.node.data.color),o.xp6(1),o.hij(" ",b.node.data.color," ")}},r=function(){const w=[0,1,2,3,4,5,6,7,8,9,"A","B","C","D","E","F"];let $="#";for(let b=0;b<6;b++)$+=w[Math.floor(Math.random()*w.length)];return $};p.d(k,{Y:()=>Z});var _=p(9601),i=p(8944),y=p(2898),o=p(5879),g=p(2274),F=p(8874),Y=e([_]);_=(Y.then?(await Y)():Y)[0];let Z=(()=>{class w{constructor(){this.nodes=[],this.edges=[]}ngOnInit(){this.layout([{id:crypto.randomUUID(),point:{x:0,y:0},type:"html-template",data:{color:r()},draggable:!1}])}onNodeClick(b){const f=crypto.randomUUID(),v=[...this.nodes,{id:f,point:{x:0,y:0},type:"html-template",draggable:!1,data:{color:r()}}],z=[...this.edges,{source:b.id,target:f,id:`${b.id} -> ${f}`}];this.layout(v,z)}fitView(){this.nodes.length>1&&this.vflow.fitView({duration:750})}layout(b,f=[]){const v=new _.Si({layout:{margin_x:75}}),z=new Map,C=new Map;b.forEach(N=>{const A=v.new_vertex({layout:{shape_w:150,shape_h:100},render:{id:N.id}},{compute_bounding_box:!1});z.set(N.id,A),C.set(N.id,N)}),f.forEach(N=>{v.new_edge(z.get(N.source),z.get(N.target))});const d=v.layout().to_json().to_obj();this.nodes=d.nodes.map(N=>({...C.get(N.id),id:N.id,point:{x:N.x,y:N.y}})),this.edges=f}static#n=this.\u0275fac=function(f){return new(f||w)};static#s=this.\u0275cmp=o.Xpm({type:w,selectors:[["ng-component"]],viewQuery:function(f,v){if(1&f&&o.Gf(i.t,5),2&f){let z;o.iGM(z=o.CRH())&&(v.vflow=z.first)}},standalone:!0,features:[o.jDz],decls:3,vars:3,consts:[[3,"minZoom","nodes","edges","onNodesChange.add"],["nodeHtml",""],[1,"custom-node",3,"click"],["type","source","position","bottom"],["type","target","position","top"]],template:function(f,v){1&f&&(o.TgZ(0,"vflow",0),o.NdJ("onNodesChange.add",function(){return v.fitView()}),o.YNc(1,H,4,3,"ng-template",1),o.qZA(),o._uU(2,"`\n")),2&f&&o.Q6J("minZoom",.1)("nodes",v.nodes)("edges",v.edges)},dependencies:[y.p,i.t,g.M,F.QC],styles:[".custom-node[_ngcontent-%COMP%]{width:100px;height:50px;background:#bbe1fa;border:1px solid gray;border-radius:5px;display:flex;align-items:center;justify-content:center}"],changeDetection:0})}return w})();m()}catch(H){m(H)}})},2150:(S,k,p)=>{p.a(S,async(e,m)=>{try{p.d(k,{Z:()=>g});var _=p(1173),i=p(9630),y=e([_]);_=(y.then?(await y)():y)[0];const g={title:"Vizdom layout",mdFile:"./index.md",category:i.Z,demos:{VizdomLayoutDemoComponent:_.Y},order:2};m()}catch(o){m(o)}})},9601:(S,k,p)=>{p.a(S,async(e,m)=>{try{p.d(k,{Si:()=>i.Si});var _=p(1368),i=p(6223),y=e([_]);_=(y.then?(await y)():y)[0],(0,i.oT)(_),_.__wbindgen_start(),m()}catch(o){m(o)}})},6223:(S,k,p)=>{let e;function m(s){e=s}p.d(k,{Bg:()=>Wn,CF:()=>On,Cl:()=>ts,EI:()=>Pn,G2:()=>qn,HT:()=>cn,Iu:()=>Gn,Je:()=>An,KM:()=>zn,KX:()=>es,Kx:()=>Qn,M1:()=>on,Nv:()=>os,OQ:()=>Yn,Or:()=>cs,Qr:()=>Rn,Rx:()=>Ln,S7:()=>dn,Si:()=>B,Sp:()=>In,WD:()=>hn,Wl:()=>bn,XH:()=>Jn,XP:()=>wn,YY:()=>Dn,Yq:()=>fn,Yy:()=>xn,_D:()=>ns,a2:()=>kn,a6:()=>ss,aX:()=>En,d:()=>yn,dw:()=>Mn,eY:()=>Tn,eh:()=>Un,eo:()=>Vn,fH:()=>as,fW:()=>_n,fY:()=>ps,h4:()=>vn,hc:()=>$n,hd:()=>un,iX:()=>Fn,kW:()=>is,m7:()=>Bn,m_:()=>mn,nD:()=>Kn,o$:()=>Zn,oH:()=>Xn,oT:()=>m,pT:()=>Nn,q4:()=>Sn,ql:()=>rs,qt:()=>gn,qx:()=>Hn,uY:()=>Cn,ug:()=>pn,yb:()=>jn,zk:()=>ls,zn:()=>ds});const _=new Array(128).fill(void 0);function i(s){return _[s]}_.push(void 0,null,!0,!1);let y=_.length;function g(s){const n=i(s);return function o(s){s<132||(_[s]=y,y=s)}(s),n}function F(s){return null==s}let Y=null,Z=null;function r(){return(null===Z||0===Z.byteLength)&&(Z=new Int32Array(e.memory.buffer)),Z}let w=0,$=null;function b(){return(null===$||0===$.byteLength)&&($=new Uint8Array(e.memory.buffer)),$}let v=new(typeof TextEncoder>"u"?(0,module.require)("util").TextEncoder:TextEncoder)("utf-8");const z="function"==typeof v.encodeInto?function(s,n){return v.encodeInto(s,n)}:function(s,n){const a=v.encode(s);return n.set(a),{read:s.length,written:a.length}};function C(s,n,a){if(void 0===a){const x=v.encode(s),V=n(x.length,1)>>>0;return b().subarray(V,V+x.length).set(x),w=x.length,V}let l=s.length,t=n(l,1)>>>0;const c=b();let h=0;for(;h127)break;c[t+h]=x}if(h!==l){0!==h&&(s=s.slice(h)),t=a(t,l,l=h+3*s.length,1)>>>0;const x=b().subarray(t+h,t+l);h+=z(s,x).written,t=a(t,l,h,1)>>>0}return w=h,t}function d(s){y===_.length&&_.push(_.length+1);const n=y;return y=_[n],_[n]=s,n}let A=new(typeof TextDecoder>"u"?(0,module.require)("util").TextDecoder:TextDecoder)("utf-8",{ignoreBOM:!0,fatal:!0});function Q(s,n){return s>>>=0,A.decode(b().subarray(s,s+n))}A.decode();let q=null;function I(s){const n=typeof s;if("number"==n||"boolean"==n||null==s)return`${s}`;if("string"==n)return`"${s}"`;if("symbol"==n){const t=s.description;return null==t?"Symbol":`Symbol(${t})`}if("function"==n){const t=s.name;return"string"==typeof t&&t.length>0?`Function(${t})`:"Function"}if(Array.isArray(s)){const t=s.length;let c="[";t>0&&(c+=I(s[0]));for(let h=1;h1))return toString.call(s);if(l=a[1],"Object"==l)try{return"Object("+JSON.stringify(s)+")"}catch{return"Object"}return s instanceof Error?`${s.name}: ${s.message}\n${s.stack}`:l}let U=null;function X(s,n){s>>>=0;const l=function tn(){return(null===U||0===U.byteLength)&&(U=new Uint32Array(e.memory.buffer)),U}().subarray(s/4,s/4+n),t=[];for(let c=0;c"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_directedgraph_free(s>>>0));class B{__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,ln.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_directedgraph_free(n)}constructor(n){const a=e.directedgraph_new(F(n)?0:d(n));return this.__wbg_ptr=a>>>0,this}attrs(){const n=e.directedgraph_attrs(this.__wbg_ptr);return D.__wrap(n)}new_vertex(n,a){const l=e.directedgraph_new_vertex(this.__wbg_ptr,F(n)?0:d(n),F(a)?0:d(a));return u.__wrap(l)}vertices(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.directedgraph_vertices(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1],l=X(n,a).slice();return e.__wbindgen_free(n,4*a,4),l}finally{e.__wbindgen_add_to_stack_pointer(16)}}vertices_count(){return e.directedgraph_vertices_count(this.__wbg_ptr)>>>0}sources(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.directedgraph_sources(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1],l=X(n,a).slice();return e.__wbindgen_free(n,4*a,4),l}finally{e.__wbindgen_add_to_stack_pointer(16)}}sinks(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.directedgraph_sinks(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1],l=X(n,a).slice();return e.__wbindgen_free(n,4*a,4),l}finally{e.__wbindgen_add_to_stack_pointer(16)}}neighboring_vertices(n){try{const c=e.__wbindgen_add_to_stack_pointer(-16);j(n,u),e.directedgraph_neighboring_vertices(c,this.__wbg_ptr,n.__wbg_ptr);var a=r()[c/4+0],l=r()[c/4+1],t=X(a,l).slice();return e.__wbindgen_free(a,4*l,4),t}finally{e.__wbindgen_add_to_stack_pointer(16)}}new_edge(n,a,l,t){j(n,u),j(a,u);const c=e.directedgraph_new_edge(this.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr,F(l)?0:d(l),F(t)?0:d(t));return J.__wrap(c)}edges(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.directedgraph_edges(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1],l=X(n,a).slice();return e.__wbindgen_free(n,4*a,4),l}finally{e.__wbindgen_add_to_stack_pointer(16)}}edges_count(){return e.directedgraph_edges_count(this.__wbg_ptr)>>>0}has_edge(n,a){return j(n,u),j(a,u),0!==e.directedgraph_has_edge(this.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr)}find_out_edge(n,a){j(n,u),j(a,u);const l=e.directedgraph_find_out_edge(this.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr);return 0===l?void 0:J.__wrap(l)}find_out_edge_multi(n,a){try{const h=e.__wbindgen_add_to_stack_pointer(-16);j(n,u),j(a,u),e.directedgraph_find_out_edge_multi(h,this.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr);var l=r()[h/4+0],t=r()[h/4+1],c=X(l,t).slice();return e.__wbindgen_free(l,4*t,4),c}finally{e.__wbindgen_add_to_stack_pointer(16)}}find_in_edge(n,a){j(n,u),j(a,u);const l=e.directedgraph_find_in_edge(this.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr);return 0===l?void 0:J.__wrap(l)}find_in_edge_multi(n,a){try{const h=e.__wbindgen_add_to_stack_pointer(-16);j(n,u),j(a,u),e.directedgraph_find_in_edge_multi(h,this.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr);var l=r()[h/4+0],t=r()[h/4+1],c=X(l,t).slice();return e.__wbindgen_free(l,4*t,4),c}finally{e.__wbindgen_add_to_stack_pointer(16)}}incoming(n){try{const c=e.__wbindgen_add_to_stack_pointer(-16);j(n,u),e.directedgraph_incoming(c,this.__wbg_ptr,n.__wbg_ptr);var a=r()[c/4+0],l=r()[c/4+1],t=X(a,l).slice();return e.__wbindgen_free(a,4*l,4),t}finally{e.__wbindgen_add_to_stack_pointer(16)}}incoming_count(n){return j(n,u),e.directedgraph_incoming_count(this.__wbg_ptr,n.__wbg_ptr)>>>0}outgoing(n){try{const c=e.__wbindgen_add_to_stack_pointer(-16);j(n,u),e.directedgraph_outgoing(c,this.__wbg_ptr,n.__wbg_ptr);var a=r()[c/4+0],l=r()[c/4+1],t=X(a,l).slice();return e.__wbindgen_free(a,4*l,4),t}finally{e.__wbindgen_add_to_stack_pointer(16)}}outgoing_count(n){return j(n,u),e.directedgraph_outgoing_count(this.__wbg_ptr,n.__wbg_ptr)>>>0}layout(){const n=e.directedgraph_layout(this.__wbg_ptr);return K.__wrap(n)}}const M=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_edgeref_free(s>>>0));class J{static __wrap(n){n>>>=0;const a=Object.create(J.prototype);return a.__wbg_ptr=n,M.register(a,a.__wbg_ptr,a),a}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,M.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_edgeref_free(n)}source(){const n=e.edgeref_source(this.__wbg_ptr);return u.__wrap(n)}target(){const n=e.edgeref_target(this.__wbg_ptr);return u.__wrap(n)}set(n){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.edgeref_set(t,this.__wbg_ptr,L(n));var a=r()[t/4+0];if(r()[t/4+1])throw g(a)}finally{e.__wbindgen_add_to_stack_pointer(16),_[R++]=void 0}}to_json(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.edgeref_to_json(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1];if(r()[t/4+2])throw g(a);return g(n)}finally{e.__wbindgen_add_to_stack_pointer(16)}}}const P=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_graphref_free(s>>>0));class D{static __wrap(n){n>>>=0;const a=Object.create(D.prototype);return a.__wbg_ptr=n,P.register(a,a.__wbg_ptr,a),a}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,P.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_graphref_free(n)}set(n){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.graphref_set(t,this.__wbg_ptr,L(n));var a=r()[t/4+0];if(r()[t/4+1])throw g(a)}finally{e.__wbindgen_add_to_stack_pointer(16),_[R++]=void 0}}to_json(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.graphref_to_json(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1];if(r()[t/4+2])throw g(a);return g(n)}finally{e.__wbindgen_add_to_stack_pointer(16)}}}const E=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_json_free(s>>>0));class W{static __wrap(n){n>>>=0;const a=Object.create(W.prototype);return a.__wbg_ptr=n,E.register(a,a.__wbg_ptr,a),a}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,E.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_json_free(n)}to_string(){let n,a;try{const T=e.__wbindgen_add_to_stack_pointer(-16);e.json_to_string(T,this.__wbg_ptr);var l=r()[T/4+0],t=r()[T/4+1],c=r()[T/4+2],h=r()[T/4+3],x=l,V=t;if(h)throw x=0,V=0,g(c);return n=x,a=V,Q(x,V)}finally{e.__wbindgen_add_to_stack_pointer(16),e.__wbindgen_free(n,a,1)}}to_string_pretty(){let n,a;try{const T=e.__wbindgen_add_to_stack_pointer(-16);e.json_to_string_pretty(T,this.__wbg_ptr);var l=r()[T/4+0],t=r()[T/4+1],c=r()[T/4+2],h=r()[T/4+3],x=l,V=t;if(h)throw x=0,V=0,g(c);return n=x,a=V,Q(x,V)}finally{e.__wbindgen_add_to_stack_pointer(16),e.__wbindgen_free(n,a,1)}}to_obj(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.json_to_obj(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1];if(r()[t/4+2])throw g(a);return g(n)}finally{e.__wbindgen_add_to_stack_pointer(16)}}}const nn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_positioneddirectedgraph_free(s>>>0));class K{static __wrap(n){n>>>=0;const a=Object.create(K.prototype);return a.__wbg_ptr=n,nn.register(a,a.__wbg_ptr,a),a}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,nn.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_positioneddirectedgraph_free(n)}to_svg(){const n=e.positioneddirectedgraph_to_svg(this.__wbg_ptr);return O.__wrap(n)}to_json(){const n=e.positioneddirectedgraph_to_json(this.__wbg_ptr);return W.__wrap(n)}}const sn=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_svg_free(s>>>0));class O{static __wrap(n){n>>>=0;const a=Object.create(O.prototype);return a.__wbg_ptr=n,sn.register(a,a.__wbg_ptr,a),a}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,sn.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_svg_free(n)}to_string(){let n,a;try{const c=e.__wbindgen_add_to_stack_pointer(-16);e.svg_to_string(c,this.__wbg_ptr);var l=r()[c/4+0],t=r()[c/4+1];return n=l,a=t,Q(l,t)}finally{e.__wbindgen_add_to_stack_pointer(16),e.__wbindgen_free(n,a,1)}}}typeof FinalizationRegistry>"u"||new FinalizationRegistry(s=>e.__wbg_util_free(s>>>0));const en=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(s=>e.__wbg_vertexref_free(s>>>0));class u{static __wrap(n){n>>>=0;const a=Object.create(u.prototype);return a.__wbg_ptr=n,en.register(a,a.__wbg_ptr,a),a}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,en.unregister(this),n}free(){const n=this.__destroy_into_raw();e.__wbg_vertexref_free(n)}set(n){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.vertexref_set(t,this.__wbg_ptr,L(n));var a=r()[t/4+0];if(r()[t/4+1])throw g(a)}finally{e.__wbindgen_add_to_stack_pointer(16),_[R++]=void 0}}to_json(){try{const t=e.__wbindgen_add_to_stack_pointer(-16);e.vertexref_to_json(t,this.__wbg_ptr);var n=r()[t/4+0],a=r()[t/4+1];if(r()[t/4+2])throw g(a);return g(n)}finally{e.__wbindgen_add_to_stack_pointer(16)}}}function dn(s){return d(u.__wrap(s))}function pn(s){g(s)}function cn(s){const n=i(s);return"boolean"==typeof n?n?1:0:2}function on(s,n){const a=i(n),l="number"==typeof a?a:void 0;(function H(){return(null===Y||0===Y.byteLength)&&(Y=new Float64Array(e.memory.buffer)),Y}())[s/8+1]=F(l)?0:l,r()[s/4+0]=!F(l)}function gn(s,n){const a=i(n),l="string"==typeof a?a:void 0;var t=F(l)?0:C(l,e.__wbindgen_malloc,e.__wbindgen_realloc),c=w;r()[s/4+1]=c,r()[s/4+0]=t}function _n(s){return"bigint"==typeof i(s)}function hn(s){return d(s)}function fn(s,n){return i(s)===i(n)}function un(s,n){return d(new Error(Q(s,n)))}function bn(s){const n=i(s);return"object"==typeof n&&null!==n}function wn(s){return void 0===i(s)}function jn(s,n){return i(s)in i(n)}function yn(s){return+i(s)}function mn(s){return d(i(s))}function vn(s,n){return d(Q(s,n))}function xn(s){return d(J.__wrap(s))}function kn(){return d(new Error)}function zn(s,n){const l=C(i(n).stack,e.__wbindgen_malloc,e.__wbindgen_realloc),t=w;r()[s/4+1]=t,r()[s/4+0]=l}function Fn(s,n){let a,l;try{a=s,l=n,console.error(Q(s,n))}finally{e.__wbindgen_free(a,l,1)}}function Nn(s){return d(s)}function Sn(s){return d(i(s).crypto)}function Vn(s){return d(i(s).process)}function Cn(s){return d(i(s).versions)}function Hn(s){return d(i(s).node)}function Tn(s){return"string"==typeof i(s)}function Yn(){return G(function(){return d(module.require)},arguments)}function Zn(s){return"function"==typeof i(s)}function $n(s){return d(i(s).msCrypto)}function Xn(){return G(function(s,n){i(s).randomFillSync(g(n))},arguments)}function Gn(){return G(function(s,n){i(s).getRandomValues(i(n))},arguments)}function Qn(s){return d(BigInt.asUintN(64,s))}function Rn(s,n){return i(s)==i(n)}function Jn(s,n){return d(i(s)[i(n)])}function An(s,n,a){i(s)[g(n)]=g(a)}function qn(){return d(new Array)}function Un(s,n){return d(new Function(Q(s,n)))}function In(){return G(function(s,n){return d(i(s).call(i(n)))},arguments)}function Ln(){return d(new Object)}function Bn(){return G(function(){return d(self.self)},arguments)}function Dn(){return G(function(){return d(window.window)},arguments)}function Wn(){return G(function(){return d(globalThis.globalThis)},arguments)}function Kn(){return G(function(){return d(global.global)},arguments)}function On(s,n,a){i(s)[n>>>0]=g(a)}function Mn(s){let n;try{n=i(s)instanceof ArrayBuffer}catch{n=!1}return n}function Pn(){return G(function(s,n,a){return d(i(s).call(i(n),i(a)))},arguments)}function En(s){return Number.isSafeInteger(i(s))}function ns(s){return d(i(s).buffer)}function ss(s,n,a){return d(new Uint8Array(i(s),n>>>0,a>>>0))}function es(s){return d(new Uint8Array(i(s)))}function as(s,n,a){i(s).set(i(n),a>>>0)}function ts(s){return i(s).length}function ls(s){let n;try{n=i(s)instanceof Uint8Array}catch{n=!1}return n}function rs(s){return d(new Uint8Array(s>>>0))}function is(s,n,a){return d(i(s).subarray(n>>>0,a>>>0))}function ds(s,n){const a=i(n),l="bigint"==typeof a?a:void 0;(function an(){return(null===q||0===q.byteLength)&&(q=new BigInt64Array(e.memory.buffer)),q}())[s/8+1]=F(l)?BigInt(0):l,r()[s/4+0]=!F(l)}function ps(s,n){const l=C(I(i(n)),e.__wbindgen_malloc,e.__wbindgen_realloc),t=w;r()[s/4+1]=t,r()[s/4+0]=l}function cs(s,n){throw new Error(Q(s,n))}function os(){return d(e.memory)}},1368:(S,k,p)=>{var e=p(6223);S.exports=p.v(k,S.id,"264a21ee312a4025",{"./vizdom_ts_bg.js":{__wbg_vertexref_new:e.S7,__wbindgen_object_drop_ref:e.ug,__wbindgen_boolean_get:e.HT,__wbindgen_number_get:e.M1,__wbindgen_string_get:e.qt,__wbindgen_is_bigint:e.fW,__wbindgen_bigint_from_i64:e.WD,__wbindgen_jsval_eq:e.Yq,__wbindgen_error_new:e.hd,__wbindgen_is_object:e.Wl,__wbindgen_is_undefined:e.XP,__wbindgen_in:e.yb,__wbindgen_as_number:e.d,__wbindgen_object_clone_ref:e.m_,__wbindgen_string_new:e.h4,__wbg_edgeref_new:e.Yy,__wbg_new_abda76e883ba8a5f:e.a2,__wbg_stack_658279fe44541cf6:e.KM,__wbg_error_f851667af71bcfc6:e.iX,__wbindgen_number_new:e.pT,__wbg_crypto_1d1f22824a6a080c:e.q4,__wbg_process_4a72847cc503995b:e.eo,__wbg_versions_f686565e586dd935:e.uY,__wbg_node_104a2ff8d6ea03a2:e.qx,__wbindgen_is_string:e.eY,__wbg_require_cca90b1a94a0255b:e.OQ,__wbindgen_is_function:e.o$,__wbg_msCrypto_eb05e62b530a1508:e.hc,__wbg_randomFillSync_5c9c955aa56b6049:e.oH,__wbg_getRandomValues_3aa56aa6edec874c:e.Iu,__wbindgen_bigint_from_u64:e.Kx,__wbindgen_jsval_loose_eq:e.Qr,__wbg_getwithrefkey_edc2c8960f0f1191:e.XH,__wbg_set_f975102236d3c502:e.Je,__wbg_new_16b304a2cfa7ff4a:e.G2,__wbg_newnoargs_e258087cd0daa0ea:e.eh,__wbg_call_27c0f87801dedf93:e.Sp,__wbg_new_72fb9a18b5ae2624:e.Rx,__wbg_self_ce0dbfc45cf2f5be:e.m7,__wbg_window_c6fb939a7f436783:e.YY,__wbg_globalThis_d1e6af4856ba331b:e.Bg,__wbg_global_207b558942527489:e.nD,__wbg_set_d4638f722068f043:e.CF,__wbg_instanceof_ArrayBuffer_836825be07d4c9d2:e.dw,__wbg_call_b3ca7c6051f9bec1:e.EI,__wbg_isSafeInteger_f7b04ef02296c4d2:e.aX,__wbg_buffer_12d079cc21e14bdb:e._D,__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb:e.a6,__wbg_new_63b92bc8671ed464:e.KX,__wbg_set_a47bac70306a19a7:e.fH,__wbg_length_c20a40f15020d68a:e.Cl,__wbg_instanceof_Uint8Array_2b3bbecd033d19f6:e.zk,__wbg_newwithlength_e9b4878cebadb3d3:e.ql,__wbg_subarray_a1f73cd4b5b42fe1:e.kW,__wbindgen_bigint_get_as_i64:e.zn,__wbindgen_debug_string:e.fY,__wbindgen_throw:e.Or,__wbindgen_memory:e.Nv}})}}]); \ No newline at end of file diff --git a/2077.5b4f339bc9a71a38.js b/2077.5b4f339bc9a71a38.js new file mode 100644 index 00000000..342fd839 --- /dev/null +++ b/2077.5b4f339bc9a71a38.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[2077],{2077:(p,d,n)=>{n.r(d),n.d(d,{DynamicComponent:()=>c,default:()=>l});var t=n(6286),i=n(7134),e=n(5879);let c=(()=>{class s extends t.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L66",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L66",this.pageContent='
ngx-vflow / Function

isDynamicNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Presentation

function isDynamicNode(node: Node<unknown> | DynamicNode<unknown>): boolean;\n

Parameters

NameTypeDescription
node
Node<unknown> | DynamicNode<unknown>
',this.demo=void 0,this.demoAssets=void 0}static#n=this.\u0275fac=function(a){return new(a||s)};static#e=this.\u0275cmp=e.Xpm({type:s,selectors:[["ng-doc-page-api-ngx-vflow-functions-is-dynamic-node"]],standalone:!0,features:[e._Bn([{provide:t.a,useExisting:s}]),e.qOj,e.jDz],decls:1,vars:0,template:function(a,h){1&a&&e._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return s})();const l=[{path:"",component:c,title:"isDynamicNode"}]}}]); \ No newline at end of file diff --git a/2156.336e8a0d06ea9e1c.js b/2156.336e8a0d06ea9e1c.js new file mode 100644 index 00000000..a7eee470 --- /dev/null +++ b/2156.336e8a0d06ea9e1c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[2156],{2156:(p,a,e)=>{e.r(a),e.d(a,{DynamicComponent:()=>o,default:()=>i});var t=e(6286),c=e(7134),s=e(5879);let o=(()=>{class n extends t.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/public-components/custom-dynamic-node.component.ts?message=docs(ngx-vflow): describe your changes here...#L5",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/public-components/custom-dynamic-node.component.ts#L5",this.pageContent='
ngx-vflow / Class /
@Directive
abstract

CustomDynamicNodeComponent

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
Extends CustomNodeBaseComponent<T> ImplementsOnInit
No documentation has been provided.

Properties

NameTypeDescription
data
inherited from CustomNodeBaseComponent
WritableSignal<T | undefined>
p destroyRef
inherited from CustomNodeBaseComponent
DestroyRef
@Input
node
overrides CustomNodeBaseComponent
ComponentDynamicNode<T>

Reference to node bound to this component

selected
inherited from CustomNodeBaseComponent
WritableSignal<boolean>

Signal with selected state of node

Accessors

@Input

set _selected

inherited from CustomNodeBaseComponent
No documentation has been provided.
Presentation
set _selected(value: boolean);\n
Type

boolean

Methods

ngOnInit()

overrides CustomNodeBaseComponent
No documentation has been provided.
Presentation
ngOnInit(): void;\n
Returns

void

',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(d){return new(d||n)};static#s=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-api-ngx-vflow-classes-custom-dynamic-node-component"]],standalone:!0,features:[s._Bn([{provide:t.a,useExisting:n}]),s.qOj,s.jDz],decls:1,vars:0,template:function(d,m){1&d&&s._UZ(0,"ng-doc-page")},dependencies:[c.z],encapsulation:2,changeDetection:0})}return n})();const i=[{path:"",component:o,title:"CustomDynamicNodeComponent"}]}}]); \ No newline at end of file diff --git a/2339.99b483c5e0913603.js b/2339.99b483c5e0913603.js new file mode 100644 index 00000000..174c639d --- /dev/null +++ b/2339.99b483c5e0913603.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[2339],{2339:(p,t,e)=>{e.r(t),e.d(t,{DynamicComponent:()=>c,default:()=>l});var d=e(6286),i=e(7134),n=e(5879);let c=(()=>{class s extends d.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L86",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L86",this.pageContent='
ngx-vflow / Function

isDefaultStaticNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Presentation

function isDefaultStaticNode(node: Node<unknown>): boolean;\n

Parameters

NameTypeDescription
node
Node<unknown>
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-doc-page-api-ngx-vflow-functions-is-default-static-node"]],standalone:!0,features:[n._Bn([{provide:d.a,useExisting:s}]),n.qOj,n.jDz],decls:1,vars:0,template:function(a,h){1&a&&n._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return s})();const l=[{path:"",component:c,title:"isDefaultStaticNode"}]}}]); \ No newline at end of file diff --git a/240.028ff689ac0e4e18.js b/240.cf4672f96229b6e0.js similarity index 99% rename from 240.028ff689ac0e4e18.js rename to 240.cf4672f96229b6e0.js index f7dc3e88..51cd0e77 100644 --- a/240.028ff689ac0e4e18.js +++ b/240.cf4672f96229b6e0.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[240],{240:(T,g,e)=>{e.r(g),e.d(g,{DynamicComponent:()=>r,default:()=>D});var i=e(6286),h=e(7134),j=e(9143),u=e(2936),o=e(6814),m=e(2898),s=e(5879),f=e(7146),x=e(2274),y=e(8874);function C(n,c){if(1&n&&(s.ynx(0),s.TgZ(1,"div",3)(2,"div",4),s._uU(3," Output 1 "),s._UZ(4,"handle",5),s.qZA(),s.TgZ(5,"div",4),s._uU(6," Output 2 "),s._UZ(7,"handle",5),s.qZA()(),s.BQk()),2&n){const a=s.oxw().$implicit;s.xp6(4),s.Q6J("id",a.node.data.output1),s.xp6(3),s.Q6J("id",a.node.data.output2)}}function v(n,c){if(1&n&&(s.ynx(0),s.TgZ(1,"div",3)(2,"div",4),s._uU(3," Input 1 "),s._UZ(4,"handle",6),s.qZA(),s.TgZ(5,"div",4),s._uU(6," Input 2 "),s._UZ(7,"handle",6),s.qZA()(),s.BQk()),2&n){const a=s.oxw().$implicit;s.xp6(4),s.Q6J("id",a.node.data.input1),s.xp6(3),s.Q6J("id",a.node.data.input2)}}function b(n,c){if(1&n&&(s.YNc(0,C,8,2,"ng-container",2),s.YNc(1,v,8,2,"ng-container",2)),2&n){const a=c.$implicit;s.Q6J("ngIf","output"===a.node.data.type),s.xp6(1),s.Q6J("ngIf","input"===a.node.data.type)}}const t={title:"Multiple connection points",mdFile:"./index.md",category:u.Z,demos:{MultipleConnectionPointsDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:0,y:150},type:"html-template",data:{type:"output",output1:"output1",output2:"output2"}},{id:"2",point:{x:250,y:100},type:"html-template",data:{type:"input",input1:"input1",input2:"input2"}}],this.edges=[{id:"1 -> 2 one",source:"1",target:"2",sourceHandle:"output1",targetHandle:"input1"},{id:"1 -> 2 two",source:"1",target:"2",sourceHandle:"output2",targetHandle:"input2"}]}createEdge({source:a,target:l,sourceHandle:p,targetHandle:d}){this.edges=[...this.edges,{id:`${a} -> ${l}${p??""}${d??""}`,source:a,target:l,sourceHandle:p,targetHandle:d}]}static#s=this.\u0275fac=function(l){return new(l||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:2,vars:2,consts:[[3,"nodes","edges","onConnect"],["nodeHtml",""],[4,"ngIf"],[1,"custom-node"],[1,"data-block"],["position","right","type","source",3,"id"],["position","left","type","target",3,"id"]],template:function(l,p){1&l&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(P){return p.createEdge(P)}),s.YNc(1,b,2,2,"ng-template",1),s.qZA()),2&l&&s.Q6J("nodes",p.nodes)("edges",p.edges)},dependencies:[m.p,f.t,x.M,y.QC,o.ez,o.O5],styles:[".custom-node[_ngcontent-%COMP%]{width:150px;height:100px;background-color:#0f4c75;border:1px solid gray;border-radius:5px;align-items:center;padding-left:7px;padding-right:7px}.data-block[_ngcontent-%COMP%]{background-color:#fff;color:#1b262c;margin-top:15px;border-radius:5px;text-align:center}"],changeDetection:0})}return n})()},order:2},k=[],_={MultipleConnectionPointsDemoComponent:[{title:"TypeScript",code:'
import { CommonModule } from \'@angular/common\';\nimport { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule, Connection } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./multiple-connection-points-demo.component.html\',\n  styleUrls: [\'./multiple-connection-points-demo.styles.scss\'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule, CommonModule]\n})\nexport class MultipleConnectionPointsDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 0, y: 150 },\n      type: \'html-template\',\n      data: {\n        type: \'output\',\n        output1: \'output1\',\n        output2: \'output2\'\n      }\n    },\n    {\n      id: \'2\',\n      point: { x: 250, y: 100 },\n      type: \'html-template\',\n      data: {\n        type: \'input\',\n        input1: \'input1\',\n        input2: \'input2\'\n      }\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2 one\',\n      source: \'1\',\n      target: \'2\',\n      sourceHandle: \'output1\',\n      targetHandle: \'input1\',\n    },\n    {\n      id: \'1 -> 2 two\',\n      source: \'1\',\n      target: \'2\',\n      sourceHandle: \'output2\',\n      targetHandle: \'input2\'\n    },\n  ]\n\n  public createEdge({ source, target, sourceHandle, targetHandle }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}${sourceHandle ?? \'\'}${targetHandle ?? \'\'}`,\n      source,\n      target,\n      sourceHandle,\n      targetHandle\n    }]\n  }\n}\n
'},{title:"HTML",code:'
<vflow [nodes]="nodes" [edges]="edges" (onConnect)="createEdge($event)">\n  <ng-template nodeHtml let-ctx>\n    <ng-container *ngIf="ctx.node.data.type === \'output\'">\n      <div class="custom-node">\n        <div class="data-block">\n          Output 1\n          <handle position="right" type="source" [id]="ctx.node.data.output1"/>\n        </div>\n\n        <div class="data-block">\n          Output 2\n          <handle position="right" type="source" [id]="ctx.node.data.output2"/>\n        </div>\n      </div>\n    </ng-container>\n\n    <ng-container *ngIf="ctx.node.data.type === \'input\'">\n      <div class="custom-node">\n        <div class="data-block">\n          Input 1\n          <handle position="left" type="target" [id]="ctx.node.data.input1"/>\n        </div>\n\n        <div class="data-block">\n          Input 2\n          <handle position="left" type="target" [id]="ctx.node.data.input2"/>\n        </div>\n      </div>\n    </ng-container>\n  </ng-template>\n</vflow>\n
'},{title:"SCSS",code:'
.custom-node {\n  width: 150px;\n  height: 100px;\n  background-color: #0f4c75;\n  border: 1px solid gray;\n  border-radius: 5px;\n  align-items: center;\n  padding-left: 7px;\n  padding-right: 7px;\n}\n\n.data-block {\n  background-color: #ffffff;\n  color: #1b262c;\n  margin-top: 15px;\n  border-radius: 5px;\n  text-align: center;\n}\n
'}]};let r=(()=>{class n extends i.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Multiple connection points

Custom components provide the ability to control handles and their positions.

All you need to do is take HandleComponent from library and place it somewhere in your custom node. This component automatically computes its position based on parent element\'s position.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/multiple-connection-points/index.md?message=docs(multiple-connection-points): describe your changes here...",this.page=t,this.demoAssets=_}static#s=this.\u0275fac=function(l){return new(l||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-multiple-connection-points"]],standalone:!0,features:[s._Bn([{provide:i.a,useExisting:n},k,t.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(l,p){1&l&&s._UZ(0,"ng-doc-page")},dependencies:[h.z],encapsulation:2,changeDetection:0})}return n})();const D=[{...(0,j.isRoute)(t.route)?t.route:{},path:"",component:r,title:"Multiple connection points"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[240],{240:(T,g,e)=>{e.r(g),e.d(g,{DynamicComponent:()=>r,default:()=>D});var i=e(6286),h=e(7134),j=e(9143),u=e(2936),o=e(6814),m=e(2898),s=e(5879),f=e(8944),x=e(2274),y=e(8874);function C(n,c){if(1&n&&(s.ynx(0),s.TgZ(1,"div",3)(2,"div",4),s._uU(3," Output 1 "),s._UZ(4,"handle",5),s.qZA(),s.TgZ(5,"div",4),s._uU(6," Output 2 "),s._UZ(7,"handle",5),s.qZA()(),s.BQk()),2&n){const a=s.oxw().$implicit;s.xp6(4),s.Q6J("id",a.node.data.output1),s.xp6(3),s.Q6J("id",a.node.data.output2)}}function v(n,c){if(1&n&&(s.ynx(0),s.TgZ(1,"div",3)(2,"div",4),s._uU(3," Input 1 "),s._UZ(4,"handle",6),s.qZA(),s.TgZ(5,"div",4),s._uU(6," Input 2 "),s._UZ(7,"handle",6),s.qZA()(),s.BQk()),2&n){const a=s.oxw().$implicit;s.xp6(4),s.Q6J("id",a.node.data.input1),s.xp6(3),s.Q6J("id",a.node.data.input2)}}function b(n,c){if(1&n&&(s.YNc(0,C,8,2,"ng-container",2),s.YNc(1,v,8,2,"ng-container",2)),2&n){const a=c.$implicit;s.Q6J("ngIf","output"===a.node.data.type),s.xp6(1),s.Q6J("ngIf","input"===a.node.data.type)}}const t={title:"Multiple connection points",mdFile:"./index.md",category:u.Z,demos:{MultipleConnectionPointsDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:0,y:150},type:"html-template",data:{type:"output",output1:"output1",output2:"output2"}},{id:"2",point:{x:250,y:100},type:"html-template",data:{type:"input",input1:"input1",input2:"input2"}}],this.edges=[{id:"1 -> 2 one",source:"1",target:"2",sourceHandle:"output1",targetHandle:"input1"},{id:"1 -> 2 two",source:"1",target:"2",sourceHandle:"output2",targetHandle:"input2"}]}createEdge({source:a,target:l,sourceHandle:p,targetHandle:d}){this.edges=[...this.edges,{id:`${a} -> ${l}${p??""}${d??""}`,source:a,target:l,sourceHandle:p,targetHandle:d}]}static#s=this.\u0275fac=function(l){return new(l||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:2,vars:2,consts:[[3,"nodes","edges","onConnect"],["nodeHtml",""],[4,"ngIf"],[1,"custom-node"],[1,"data-block"],["position","right","type","source",3,"id"],["position","left","type","target",3,"id"]],template:function(l,p){1&l&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(P){return p.createEdge(P)}),s.YNc(1,b,2,2,"ng-template",1),s.qZA()),2&l&&s.Q6J("nodes",p.nodes)("edges",p.edges)},dependencies:[m.p,f.t,x.M,y.QC,o.ez,o.O5],styles:[".custom-node[_ngcontent-%COMP%]{width:150px;height:100px;background-color:#0f4c75;border:1px solid gray;border-radius:5px;align-items:center;padding-left:7px;padding-right:7px}.data-block[_ngcontent-%COMP%]{background-color:#fff;color:#1b262c;margin-top:15px;border-radius:5px;text-align:center}"],changeDetection:0})}return n})()},order:2},k=[],_={MultipleConnectionPointsDemoComponent:[{title:"TypeScript",code:'
import { CommonModule } from \'@angular/common\';\nimport { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule, Connection } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./multiple-connection-points-demo.component.html\',\n  styleUrls: [\'./multiple-connection-points-demo.styles.scss\'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule, CommonModule]\n})\nexport class MultipleConnectionPointsDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 0, y: 150 },\n      type: \'html-template\',\n      data: {\n        type: \'output\',\n        output1: \'output1\',\n        output2: \'output2\'\n      }\n    },\n    {\n      id: \'2\',\n      point: { x: 250, y: 100 },\n      type: \'html-template\',\n      data: {\n        type: \'input\',\n        input1: \'input1\',\n        input2: \'input2\'\n      }\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2 one\',\n      source: \'1\',\n      target: \'2\',\n      sourceHandle: \'output1\',\n      targetHandle: \'input1\',\n    },\n    {\n      id: \'1 -> 2 two\',\n      source: \'1\',\n      target: \'2\',\n      sourceHandle: \'output2\',\n      targetHandle: \'input2\'\n    },\n  ]\n\n  public createEdge({ source, target, sourceHandle, targetHandle }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}${sourceHandle ?? \'\'}${targetHandle ?? \'\'}`,\n      source,\n      target,\n      sourceHandle,\n      targetHandle\n    }]\n  }\n}\n
'},{title:"HTML",code:'
<vflow [nodes]="nodes" [edges]="edges" (onConnect)="createEdge($event)">\n  <ng-template nodeHtml let-ctx>\n    <ng-container *ngIf="ctx.node.data.type === \'output\'">\n      <div class="custom-node">\n        <div class="data-block">\n          Output 1\n          <handle position="right" type="source" [id]="ctx.node.data.output1"/>\n        </div>\n\n        <div class="data-block">\n          Output 2\n          <handle position="right" type="source" [id]="ctx.node.data.output2"/>\n        </div>\n      </div>\n    </ng-container>\n\n    <ng-container *ngIf="ctx.node.data.type === \'input\'">\n      <div class="custom-node">\n        <div class="data-block">\n          Input 1\n          <handle position="left" type="target" [id]="ctx.node.data.input1"/>\n        </div>\n\n        <div class="data-block">\n          Input 2\n          <handle position="left" type="target" [id]="ctx.node.data.input2"/>\n        </div>\n      </div>\n    </ng-container>\n  </ng-template>\n</vflow>\n
'},{title:"SCSS",code:'
.custom-node {\n  width: 150px;\n  height: 100px;\n  background-color: #0f4c75;\n  border: 1px solid gray;\n  border-radius: 5px;\n  align-items: center;\n  padding-left: 7px;\n  padding-right: 7px;\n}\n\n.data-block {\n  background-color: #ffffff;\n  color: #1b262c;\n  margin-top: 15px;\n  border-radius: 5px;\n  text-align: center;\n}\n
'}]};let r=(()=>{class n extends i.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Multiple connection points

Custom components provide the ability to control handles and their positions.

All you need to do is take HandleComponent from library and place it somewhere in your custom node. This component automatically computes its position based on parent element\'s position.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/multiple-connection-points/index.md?message=docs(multiple-connection-points): describe your changes here...",this.page=t,this.demoAssets=_}static#s=this.\u0275fac=function(l){return new(l||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-multiple-connection-points"]],standalone:!0,features:[s._Bn([{provide:i.a,useExisting:n},k,t.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(l,p){1&l&&s._UZ(0,"ng-doc-page")},dependencies:[h.z],encapsulation:2,changeDetection:0})}return n})();const D=[{...(0,j.isRoute)(t.route)?t.route:{},path:"",component:r,title:"Multiple connection points"}]}}]); \ No newline at end of file diff --git a/2416.3fb218f3f70e5e12.js b/2416.3fb218f3f70e5e12.js new file mode 100644 index 00000000..e9a282f3 --- /dev/null +++ b/2416.3fb218f3f70e5e12.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[2416],{2416:(p,t,e)=>{e.r(t),e.d(t,{DynamicComponent:()=>c,default:()=>l});var d=e(6286),i=e(7134),n=e(5879);let c=(()=>{class s extends d.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L62",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L62",this.pageContent='
ngx-vflow / Function

isStaticNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Presentation

function isStaticNode(node: Node<unknown> | DynamicNode<unknown>): boolean;\n

Parameters

NameTypeDescription
node
Node<unknown> | DynamicNode<unknown>
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-doc-page-api-ngx-vflow-functions-is-static-node"]],standalone:!0,features:[n._Bn([{provide:d.a,useExisting:s}]),n.qOj,n.jDz],decls:1,vars:0,template:function(a,h){1&a&&n._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return s})();const l=[{path:"",component:c,title:"isStaticNode"}]}}]); \ No newline at end of file diff --git a/2629.28d5109255e439cd.js b/2629.28d5109255e439cd.js new file mode 100644 index 00000000..d852bcae --- /dev/null +++ b/2629.28d5109255e439cd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[2629],{2629:(Ls,E,N)=>{N.r(E),N.d(E,{DynamicComponent:()=>B,default:()=>zs});var H=N(6286),Q=N(7134),Y=N(9143),j=N(5879);function k(s){return function(){return s}}function S(s){return 1e-6*(s()-.5)}function G(s){return s.index}function I(s,a){var n=s.get(a);if(!n)throw new Error("node not found: "+a);return n}var J=N(8477),$=N(1715);const P=4294967296;function ss(s){return s.x}function ns(s){return s.y}var es=Math.PI*(3-Math.sqrt(5));function Z(s,a,n,e){if(isNaN(a)||isNaN(n))return s;var t,v,y,d,x,c,i,r,u,p=s._root,g={data:e},l=s._x0,o=s._y0,h=s._x1,m=s._y1;if(!p)return s._root=g,s;for(;p.length;)if((c=a>=(v=(l+h)/2))?l=v:h=v,(i=n>=(y=(o+m)/2))?o=y:m=y,t=p,!(p=p[r=i<<1|c]))return t[r]=g,s;if(d=+s._x.call(null,p.data),x=+s._y.call(null,p.data),a===d&&n===x)return g.next=p,t?t[r]=g:s._root=g,s;do{t=t?t[r]=new Array(4):s._root=new Array(4),(c=a>=(v=(l+h)/2))?l=v:h=v,(i=n>=(y=(o+m)/2))?o=y:m=y}while((r=i<<1|c)==(u=(x>=y)<<1|d>=v));return t[u]=p,t[r]=g,s}function b(s,a,n,e,t){this.node=s,this.x0=a,this.y0=n,this.x1=e,this.y1=t}function ms(s){return s[0]}function xs(s){return s[1]}function U(s,a,n){var e=new L(a??ms,n??xs,NaN,NaN,NaN,NaN);return null==s?e:e.addAll(s)}function L(s,a,n,e,t,p){this._x=s,this._y=a,this._x0=n,this._y0=e,this._x1=t,this._y1=p,this._root=void 0}function O(s){for(var a={data:s.data},n=a;s=s.next;)n=n.next={data:s.data};return a}var C=U.prototype=L.prototype;C.copy=function(){var n,e,s=new L(this._x,this._y,this._x0,this._y0,this._x1,this._y1),a=this._root;if(!a)return s;if(!a.length)return s._root=O(a),s;for(n=[{source:a,target:s._root=new Array(4)}];a=n.pop();)for(var t=0;t<4;++t)(e=a.source[t])&&(e.length?n.push({source:e,target:a.target[t]=new Array(4)}):a.target[t]=O(e));return s},C.add=function ts(s){const a=+this._x.call(null,s),n=+this._y.call(null,s);return Z(this.cover(a,n),a,n,s)},C.addAll=function ps(s){var a,n,t,p,e=s.length,g=new Array(e),l=new Array(e),o=1/0,h=1/0,m=-1/0,v=-1/0;for(n=0;nm&&(m=t),pv&&(v=p));if(o>m||h>v)return this;for(this.cover(o,h).cover(m,v),n=0;ns||s>=t||e>a||a>=p;)switch(h=(am||(l=x.y0)>v||(o=x.x1)=r)<<1|s>=i)&&(x=y[y.length-1],y[y.length-1]=y[y.length-1-c],y[y.length-1-c]=x)}else{var u=s-+this._x.call(null,d.data),_=a-+this._y.call(null,d.data),f=u*u+_*_;if(f=(y=(g+o)/2))?g=y:o=y,(c=v>=(d=(l+h)/2))?l=d:h=d,a=n,!(n=n[i=c<<1|x]))return this;if(!n.length)break;(a[i+1&3]||a[i+2&3]||a[i+3&3])&&(e=a,r=i)}for(;n.data!==s;)if(t=n,!(n=n.next))return this;return(p=n.next)&&delete n.next,t?(p?t.next=p:delete t.next,this):a?(p?a[i]=p:delete a[i],(n=a[0]||a[1]||a[2]||a[3])&&n===(a[3]||a[2]||a[1]||a[0])&&!n.length&&(e?e[r]=n:this._root=n),this):(this._root=p,this)},C.removeAll=function os(s){for(var a=0,n=s.length;a{class s{constructor(){this.nodes=[{id:"0",point:(0,j.tdS)({x:0,y:0}),type:"html-template",data:(0,j.tdS)(F()),draggable:(0,j.tdS)(!1)},{id:"1",point:(0,j.tdS)({x:0,y:0}),type:"html-template",data:(0,j.tdS)(F()),draggable:(0,j.tdS)(!1)},{id:"2",point:(0,j.tdS)({x:0,y:0}),type:"html-template",data:(0,j.tdS)(F()),draggable:(0,j.tdS)(!1)},{id:"3",point:(0,j.tdS)({x:0,y:0}),type:"html-template",data:(0,j.tdS)(F()),draggable:(0,j.tdS)(!1)},{id:"4",point:(0,j.tdS)({x:0,y:0}),type:"html-template",data:(0,j.tdS)(F()),draggable:(0,j.tdS)(!1)},{id:"5",point:(0,j.tdS)({x:0,y:0}),type:"html-template",data:(0,j.tdS)(F()),draggable:(0,j.tdS)(!1)}],this.edges=[{source:"0",target:"1",id:"0 -> 1"},{source:"0",target:"2",id:"0 -> 2"},{source:"0",target:"3",id:"0 -> 3"},{source:"0",target:"4",id:"0 -> 4"},{source:"0",target:"5",id:"0 -> 5"}],this.simulationNodes=this.nodes.map(n=>({id:n.id,get x(){return n.point().x},set x(e){n.point.update(t=>({...t,x:e}))},get y(){return n.point().y},set y(e){n.point.update(t=>({...t,y:e}))}})),this.linkForce=function X(s){var e,p,g,l,o,h,a=G,n=function v(i){return 1/Math.min(l[i.source.index],l[i.target.index])},t=k(30),m=1;function y(i){for(var r=0,u=s.length;r[a(w,M,g),w]));for(i=0,l=new Array(r);i({source:n.source,target:n.target}))).id(n=>n.id).distance(50),this.simulation=function ls(s){var a,n=1,e=.001,t=1-Math.pow(e,1/300),p=0,g=.6,l=new Map,o=(0,$.HT)(v),h=(0,J.Z)("tick","end"),m=function q(){let s=1;return()=>(s=(1664525*s+1013904223)%P)/P}();function v(){y(),h.call("tick",a),n1?(null==i?l.delete(c):l.set(c,x(i)),a):l.get(c)},find:function(c,i,r){var f,w,M,D,A,u=0,_=s.length;for(null==r?r=1/0:r*=r,u=0;u<_;++u)(M=(f=c-(D=s[u]).x)*f+(w=i-D.y)*w)1?(h.on(c,i),a):h.on(c)}}}().force("charge",function _s(){var s,a,n,e,p,t=k(-30),g=1,l=1/0,o=.81;function h(d){var x,c=s.length,i=U(s,ss,ns).visitAfter(v);for(e=d,x=0;x=l)){(d.data!==a||d.next)&&(0===r&&(f+=(r=S(n))*r),0===u&&(f+=(u=S(n))*u),f{this.vflow.fitView({duration:500})},250)}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=j.Xpm({type:s,selectors:[["ng-component"]],viewQuery:function(e,t){if(1&e&&j.Gf(R.t,5),2&e){let p;j.iGM(p=j.CRH())&&(t.vflow=p.first)}},standalone:!0,features:[j.jDz],decls:6,vars:2,consts:[[1,"slider"],["type","range","min","0","step","1","max","200","value","50",3,"input"],[3,"nodes","edges"],["nodeHtml",""],[1,"custom-node"],["type","source","position","bottom"],["type","target","position","top"]],template:function(e,t){1&e&&(j.TgZ(0,"label",0)(1,"span"),j._uU(2,"Distance"),j.qZA(),j.TgZ(3,"input",1),j.NdJ("input",function(g){return t.onDistanceChange(g)}),j.qZA()(),j.TgZ(4,"vflow",2),j.YNc(5,Ds,4,3,"ng-template",3),j.qZA()),2&e&&(j.xp6(4),j.Q6J("nodes",t.nodes)("edges",t.edges))},dependencies:[Ns.p,R.t,ks.M,Ms.QC],styles:[".custom-node[_ngcontent-%COMP%]{width:100px;height:50px;background:#bbe1fa;border:1px solid gray;border-radius:5px;display:flex;align-items:center;justify-content:center}.slider[_ngcontent-%COMP%]{position:absolute;display:flex;padding:4px;gap:4px;background-color:#2e414c;border-bottom-right-radius:6px}"],changeDetection:0})}return s})();function F(){const s=[0,1,2,3,4,5,6,7,8,9,"A","B","C","D","E","F"];let a="#";for(let n=0;n<6;n++)a+=s[Math.floor(Math.random()*s.length)];return a}const z={title:"D3 Force",mdFile:"./index.md",category:N(9630).Z,demos:{ForceLayoutDemoComponent:As},keyword:"WorkshopsLayoutForce",order:2},Fs=[],Ts={ForceLayoutDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component, signal, ViewChild } from \'@angular/core\';\nimport * as d3 from \'d3-force\';\nimport { DynamicNode, Edge, VflowComponent, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./force-layout-demo.component.html\',\n  styleUrls: [\'./force-layout-demo.component.scss\'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class ForceLayoutDemoComponent {\n  @ViewChild(VflowComponent)\n  vflow!: VflowComponent\n\n  protected nodes: DynamicNode[] = [\n    {\n      id: \'0\',\n      point: signal({ x: 0, y: 0 }),\n      type: \'html-template\',\n      data: signal(randomHex()),\n      draggable: signal(false)\n    },\n    {\n      id: \'1\',\n      point: signal({ x: 0, y: 0 }),\n      type: \'html-template\',\n      data: signal(randomHex()),\n      draggable: signal(false)\n    },\n    {\n      id: \'2\',\n      point: signal({ x: 0, y: 0 }),\n      type: \'html-template\',\n      data: signal(randomHex()),\n      draggable: signal(false)\n    },\n    {\n      id: \'3\',\n      point: signal({ x: 0, y: 0 }),\n      type: \'html-template\',\n      data: signal(randomHex()),\n      draggable: signal(false)\n    },\n    {\n      id: \'4\',\n      point: signal({ x: 0, y: 0 }),\n      type: \'html-template\',\n      data: signal(randomHex()),\n      draggable: signal(false)\n    },\n    {\n      id: \'5\',\n      point: signal({ x: 0, y: 0 }),\n      type: \'html-template\',\n      data: signal(randomHex()),\n      draggable: signal(false)\n    },\n  ]\n\n  protected edges: Edge[] = [\n    {\n      source: \'0\',\n      target: \'1\',\n      id: \'0 -> 1\'\n    },\n    {\n      source: \'0\',\n      target: \'2\',\n      id: \'0 -> 2\'\n    },\n    {\n      source: \'0\',\n      target: \'3\',\n      id: \'0 -> 3\'\n    },\n    {\n      source: \'0\',\n      target: \'4\',\n      id: \'0 -> 4\'\n    },\n    {\n      source: \'0\',\n      target: \'5\',\n      id: \'0 -> 5\'\n    },\n  ]\n\n  // d3-force internally reads/writes to x and y properties\n  // so to link d3-force state with ngx-vflow state, we just\n  // proxy these properties to point signal\n  private simulationNodes = this.nodes.map((n) => {\n    return {\n      id: n.id,\n\n      get x() {\n        return n.point().x\n      },\n\n      set x(x: number) {\n        n.point.update(state => ({ ...state, x }))\n      },\n\n      get y() {\n        return n.point().y\n      },\n\n      set y(y: number) {\n        n.point.update(state => ({ ...state, y }))\n      },\n    }\n  })\n\n  private linkForce = d3\n    .forceLink(this.edges.map(e => ({ source: e.source, target: e.target })))\n    // @ts-ignore\n    .id((d) => d.id)\n    .distance(50)\n\n  private simulation = d3.forceSimulation()\n    .force("charge", d3.forceManyBody().strength(-100))\n    .force("x", d3.forceX())\n    .force("y", d3.forceY())\n    // center of viewport\n    .force("center", d3.forceCenter(200, 200))\n    .nodes(this.simulationNodes)\n    .force("link", this.linkForce)\n\n  protected onDistanceChange(event: Event) {\n    const distance = +(event.target as HTMLInputElement).value\n\n    this.linkForce.distance(distance)\n    this.simulation.alpha(.5).restart()\n\n    setTimeout(() => {\n      this.vflow.fitView({ duration: 500 })\n    }, 250);\n  }\n}\n\nfunction randomHex() {\n  const hexValues = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, \'A\', \'B\', \'C\', \'D\', \'E\', \'F\'];\n\n  let hex = \'#\';\n\n  for (let i = 0; i < 6; i++) {\n    const index = Math.floor(Math.random() * hexValues.length)\n    hex += hexValues[index];\n  }\n\n  return hex\n}\n
'},{title:"HTML",code:'
<label class="slider">\n  <span>Distance</span>\n  <input type="range" min="0" step="1" max="200" value="50" (input)="onDistanceChange($event)">\n</label>\n\n<vflow [nodes]="nodes" [edges]="edges">\n  <ng-template nodeHtml let-ctx>\n    <div [style.background-color]="ctx.node.data()" class="custom-node">\n      {{ ctx.node.data() }}\n\n      <handle type="source" position="bottom" />\n      <handle type="target" position="top" />\n    </div>\n  </ng-template>\n</vflow>\n
'},{title:"SCSS",code:'
.custom-node {\n  width: 100px;\n  height: 50px;\n  background: #bbe1fa;\n  border: 1px solid gray;\n  border-radius: 5px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.slider {\n  position: absolute;\n  display: flex;\n  padding: 4px;\n  gap: 4px;\n\n  background-color: #2e414c;\n  border-bottom-right-radius: 6px;\n}\n
'}]};let B=(()=>{class s extends H.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

D3 Force

This is a simple example of using the d3-force layout package.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/workshops/categories/layout/pages/force/index.md?message=docs(force): describe your changes here...",this.page=z,this.demoAssets=Ts}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=j.Xpm({type:s,selectors:[["ng-doc-page-workshops-layout-force"]],standalone:!0,features:[j._Bn([{provide:H.a,useExisting:s},Fs,z.providers??[]]),j.qOj,j.jDz],decls:1,vars:0,template:function(e,t){1&e&&j._UZ(0,"ng-doc-page")},dependencies:[Q.z],encapsulation:2,changeDetection:0})}return s})();const zs=[{...(0,Y.isRoute)(z.route)?z.route:{},path:"",component:B,title:"D3 Force"}]}}]); \ No newline at end of file diff --git a/316.bdd252a8133e042f.js b/316.e4bcff910730a271.js similarity index 99% rename from 316.bdd252a8133e042f.js rename to 316.e4bcff910730a271.js index 24b175ed..e3ff0bfc 100644 --- a/316.bdd252a8133e042f.js +++ b/316.e4bcff910730a271.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[316],{316:(nn,j,i)=>{i.r(j),i.d(j,{DynamicComponent:()=>R,default:()=>W});var v=i(6286),T=i(7134),A=i(9143),k=i(1314),a=i(5879);const b=["move","copy","link"],o="application/x-dnd",f="application/json",g="Text";function y(s){return s.substr(0,o.length)===o}function C(s){if(s.dataTransfer){const t=s.dataTransfer.types;if(!t)return g;for(let n=0;n{class s{dndDraggable;dndEffectAllowed="copy";dndType;dndDraggingClass="dndDragging";dndDraggingSourceClass="dndDraggingSource";dndDraggableDisabledClass="dndDraggableDisabled";dndDragImageOffsetFunction=O;dndStart=new a.vpe;dndDrag=new a.vpe;dndEnd=new a.vpe;dndMoved=new a.vpe;dndCopied=new a.vpe;dndLinked=new a.vpe;dndCanceled=new a.vpe;draggable=!0;dndHandle;dndDragImageElementRef;dragImage;isDragStarted=!1;elementRef=(0,a.f3M)(a.SBq);renderer=(0,a.f3M)(a.Qsj);ngZone=(0,a.f3M)(a.R0b);set dndDisableIf(n){this.draggable=!n,this.draggable?this.renderer.removeClass(this.elementRef.nativeElement,this.dndDraggableDisabledClass):this.renderer.addClass(this.elementRef.nativeElement,this.dndDraggableDisabledClass)}set dndDisableDragIf(n){this.dndDisableIf=n}ngAfterViewInit(){this.ngZone.runOutsideAngular(()=>{this.elementRef.nativeElement.addEventListener("drag",this.dragEventHandler)})}ngOnDestroy(){this.elementRef.nativeElement.removeEventListener("drag",this.dragEventHandler),this.isDragStarted&&w()}onDragStart(n){if(!this.draggable)return!1;if(null!=this.dndHandle&&null==n._dndUsingHandle)return n.stopPropagation(),!1;(function z(s,t,n){r.isDragging=!0,r.dropEffect="none",r.effectAllowed=t,r.type=n,s.dataTransfer&&(s.dataTransfer.effectAllowed=t)})(n,this.dndEffectAllowed,this.dndType),this.isDragStarted=!0,function S(s,t,n){const e=o+(t.type?"-"+t.type:""),l=JSON.stringify(t);try{s.dataTransfer?.setData(e,l)}catch{try{s.dataTransfer?.setData(f,l)}catch{const q=c(b,n);s.dataTransfer&&(s.dataTransfer.effectAllowed=q[0]),s.dataTransfer?.setData(g,l)}}}(n,{data:this.dndDraggable,type:this.dndType},x.effectAllowed),this.dragImage=this.determineDragImage(),this.renderer.addClass(this.dragImage,this.dndDraggingClass),(null!=this.dndDragImageElementRef||null!=n._dndUsingHandle)&&function N(s,t,n){const e=n(s,t)||{x:0,y:0};s.dataTransfer.setDragImage(t,e.x,e.y)}(n,this.dragImage,this.dndDragImageOffsetFunction);const e=this.renderer.listen(this.elementRef.nativeElement,"drag",()=>{this.renderer.addClass(this.elementRef.nativeElement,this.dndDraggingSourceClass),e()});return this.dndStart.emit(n),n.stopPropagation(),setTimeout(()=>{this.renderer.setStyle(this.dragImage,"pointer-events","none")},100),!0}onDrag(n){this.dndDrag.emit(n)}onDragEnd(n){if(!this.draggable||!this.isDragStarted)return;const e=x.dropEffect;let l;switch(this.renderer.setStyle(this.dragImage,"pointer-events","unset"),e){case"copy":l=this.dndCopied;break;case"link":l=this.dndLinked;break;case"move":l=this.dndMoved;break;default:l=this.dndCanceled}l.emit(n),this.dndEnd.emit(n),w(),this.isDragStarted=!1,this.renderer.removeClass(this.dragImage,this.dndDraggingClass),window.setTimeout(()=>{this.renderer.removeClass(this.elementRef.nativeElement,this.dndDraggingSourceClass)},0),n.stopPropagation()}registerDragHandle(n){this.dndHandle=n}registerDragImage(n){this.dndDragImageElementRef=n}dragEventHandler=n=>this.onDrag(n);determineDragImage(){return typeof this.dndDragImageElementRef<"u"?this.dndDragImageElementRef.nativeElement:this.elementRef.nativeElement}static \u0275fac=function(e){return new(e||s)};static \u0275dir=a.lG2({type:s,selectors:[["","dndDraggable",""]],hostVars:1,hostBindings:function(e,l){1&e&&a.NdJ("dragstart",function(d){return l.onDragStart(d)})("dragend",function(d){return l.onDragEnd(d)}),2&e&&a.uIk("draggable",l.draggable)},inputs:{dndDraggable:"dndDraggable",dndEffectAllowed:"dndEffectAllowed",dndType:"dndType",dndDraggingClass:"dndDraggingClass",dndDraggingSourceClass:"dndDraggingSourceClass",dndDraggableDisabledClass:"dndDraggableDisabledClass",dndDragImageOffsetFunction:"dndDragImageOffsetFunction",dndDisableIf:"dndDisableIf",dndDisableDragIf:"dndDisableDragIf"},outputs:{dndStart:"dndStart",dndDrag:"dndDrag",dndEnd:"dndEnd",dndMoved:"dndMoved",dndCopied:"dndCopied",dndLinked:"dndLinked",dndCanceled:"dndCanceled"},standalone:!0})}return s})(),L=(()=>{class s{elementRef;constructor(n){this.elementRef=n}ngOnInit(){this.elementRef.nativeElement.style.pointerEvents="none"}static \u0275fac=function(e){return new(e||s)(a.Y36(a.SBq))};static \u0275dir=a.lG2({type:s,selectors:[["","dndPlaceholderRef",""]],standalone:!0})}return s})(),U=(()=>{class s{ngZone;elementRef;renderer;dndDropzone="";dndEffectAllowed="uninitialized";dndAllowExternal=!1;dndHorizontal=!1;dndDragoverClass="dndDragover";dndDropzoneDisabledClass="dndDropzoneDisabled";dndDragover=new a.vpe;dndDrop=new a.vpe;dndPlaceholderRef;placeholder=null;disabled=!1;constructor(n,e,l){this.ngZone=n,this.elementRef=e,this.renderer=l}set dndDisableIf(n){this.disabled=n,this.disabled?this.renderer.addClass(this.elementRef.nativeElement,this.dndDropzoneDisabledClass):this.renderer.removeClass(this.elementRef.nativeElement,this.dndDropzoneDisabledClass)}set dndDisableDropIf(n){this.dndDisableIf=n}ngAfterViewInit(){this.placeholder=this.tryGetPlaceholder(),this.removePlaceholderFromDOM(),this.ngZone.runOutsideAngular(()=>{this.elementRef.nativeElement.addEventListener("dragenter",this.dragEnterEventHandler),this.elementRef.nativeElement.addEventListener("dragover",this.dragOverEventHandler),this.elementRef.nativeElement.addEventListener("dragleave",this.dragLeaveEventHandler)})}ngOnDestroy(){this.elementRef.nativeElement.removeEventListener("dragenter",this.dragEnterEventHandler),this.elementRef.nativeElement.removeEventListener("dragover",this.dragOverEventHandler),this.elementRef.nativeElement.removeEventListener("dragleave",this.dragLeaveEventHandler)}onDragEnter(n){if(!0===n._dndDropzoneActive)return void this.cleanupDragoverState();if(null==n._dndDropzoneActive){const l=document.elementFromPoint(n.clientX,n.clientY);this.elementRef.nativeElement.contains(l)&&(n._dndDropzoneActive=!0)}const e=m(n);this.isDropAllowed(e)&&n.preventDefault()}onDragOver(n){if(n.defaultPrevented)return;const e=m(n);if(!this.isDropAllowed(e))return;this.checkAndUpdatePlaceholderPosition(n);const l=E(n,this.dndEffectAllowed);"none"!==l?(n.preventDefault(),u(n,l),this.dndDragover.emit(n),this.renderer.addClass(this.elementRef.nativeElement,this.dndDragoverClass)):this.cleanupDragoverState()}onDrop(n){try{const e=m(n);if(!this.isDropAllowed(e))return;const l=function P(s,t){const n=C(s);return!0===t?null!==n&&y(n)?JSON.parse(s.dataTransfer?.getData(n)??"{}"):{}:null!==n?JSON.parse(s.dataTransfer?.getData(n)??"{}"):{}}(n,D());if(!this.isDropAllowed(l.type))return;n.preventDefault();const p=E(n);if(u(n,p),"none"===p)return;const d=this.getPlaceholderIndex();if(-1===d)return;this.dndDrop.emit({event:n,dropEffect:p,isExternal:D(),data:l.data,index:d,type:e}),n.stopPropagation()}finally{this.cleanupDragoverState()}}onDragLeave(n){n.preventDefault(),n.stopPropagation(),null==n._dndDropzoneActive&&this.elementRef.nativeElement.contains(n.relatedTarget)?n._dndDropzoneActive=!0:(this.cleanupDragoverState(),u(n,"none"))}dragEnterEventHandler=n=>this.onDragEnter(n);dragOverEventHandler=n=>this.onDragOver(n);dragLeaveEventHandler=n=>this.onDragLeave(n);isDropAllowed(n){if(this.disabled||D()&&!this.dndAllowExternal)return!1;if(!this.dndDropzone||!n)return!0;if(!Array.isArray(this.dndDropzone))throw new Error("dndDropzone: bound value to [dndDropzone] must be an array!");return-1!==this.dndDropzone.indexOf(n)}tryGetPlaceholder(){return typeof this.dndPlaceholderRef<"u"?this.dndPlaceholderRef.elementRef.nativeElement:this.elementRef.nativeElement.querySelector("[dndPlaceholderRef]")}removePlaceholderFromDOM(){null!==this.placeholder&&null!==this.placeholder.parentNode&&this.placeholder.parentNode.removeChild(this.placeholder)}checkAndUpdatePlaceholderPosition(n){if(null===this.placeholder)return;this.placeholder.parentNode!==this.elementRef.nativeElement&&this.renderer.appendChild(this.elementRef.nativeElement,this.placeholder);const e=function H(s,t){let n=t;for(;n.parentNode!==s;){if(!n.parentNode)return null;n=n.parentNode}return n}(this.elementRef.nativeElement,n.target);null!==e&&e!==this.placeholder&&(function M(s,t,n){const e=t.getBoundingClientRect();return n?s.clientX{class s{static \u0275fac=function(e){return new(e||s)};static \u0275mod=a.oAB({type:s});static \u0275inj=a.cJS({})}return s})();var _=i(7146),V=i(2898),Z=i(2274),Y=i(2757),I=i(8874);function $(s,t){1&s&&(a.TgZ(0,"div",6)(1,"button",7),a._uU(2,"Select here"),a.qZA(),a._UZ(3,"handle",8)(4,"handle",9),a.qZA()),2&s&&a.ekj("custom-node_selected",t.$implicit.selected())}function G(s,t){if(1&s&&(a.O4$(),a._UZ(0,"path",10)),2&s){const n=t.$implicit;a.uIk("d",n.path())("stroke",n.selected()?"#0f4c75":"#bbe1fa")}}const h={title:"Drag and drop nodes",mdFile:"./index.md",category:k.Z,demos:{DragAndDropNodesDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:crypto.randomUUID(),point:{x:10,y:150},type:"html-template"}],this.edges=[]}createNode({event:n}){const e=this.vflow.documentPointToFlowPoint({x:n.x,y:n.y});this.nodes=[...this.nodes,{id:crypto.randomUUID(),point:e,type:"html-template"}]}connect({source:n,target:e}){this.edges=[...this.edges,{id:`${n} -> ${e}`,source:n,target:e}]}static#n=this.\u0275fac=function(e){return new(e||s)};static#s=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-component"]],viewQuery:function(e,l){if(1&e&&a.Gf(_.t,5),2&e){let p;a.iGM(p=a.CRH())&&(l.vflow=p.first)}},standalone:!0,features:[a.jDz],decls:8,vars:2,consts:[[1,"sidebar"],["dndDraggable","",1,"custom-node","custom-node_draggable"],[1,"custom-node__button"],["dndDropzone","",3,"nodes","edges","dndDrop","onConnect"],["nodeHtml",""],["edge",""],[1,"custom-node"],["selectable","",1,"custom-node__button"],["type","source","position","right"],["type","target","position","left"],["selectable","","fill","none","stroke-width","2"]],template:function(e,l){1&e&&(a.TgZ(0,"div",0)(1,"div",1)(2,"button",2),a._uU(3,"Drag here"),a.qZA()()(),a.TgZ(4,"vflow",3),a.NdJ("dndDrop",function(d){return l.createNode(d)})("onConnect",function(d){return l.connect(d)}),a.YNc(5,$,5,2,"ng-template",4),a.YNc(6,G,1,2,"ng-template",5),a.qZA(),a._uU(7,"`\n")),2&e&&(a.xp6(4),a.Q6J("nodes",l.nodes)("edges",l.edges))},dependencies:[V.p,_.t,Z.M,Y.h,I.QC,I.o6,B,F,U],styles:["[_nghost-%COMP%]{display:flex}.sidebar[_ngcontent-%COMP%]{padding:10px;height:400px;background-color:#3282b8}.custom-node[_ngcontent-%COMP%]{width:150px;height:100px;background:#bbe1fa;border:1px solid gray;border-radius:5px;display:flex;align-items:center;justify-content:center}.custom-node__button[_ngcontent-%COMP%]{border:0;outline:0;cursor:pointer;color:#fff;background-color:#1b262c;border-radius:4px;font-size:14px;font-weight:500;padding:4px 8px;display:inline-block;min-height:28px}.custom-node_draggable[_ngcontent-%COMP%]{width:100px;height:75px}.custom-node_selected[_ngcontent-%COMP%]{border-color:#1b262c}"],changeDetection:0})}return s})()},order:2},Q=[],X={DragAndDropNodesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component, ViewChild } from \'@angular/core\';\nimport { DndDropEvent, DndModule } from \'ngx-drag-drop\';\nimport { Connection, Edge, Node, VflowComponent, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./drag-and-drop-nodes-demo.component.html\',\n  styleUrls: [\'./drag-and-drop-nodes-demo.component.scss\'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule, DndModule]\n})\nexport class DragAndDropNodesDemoComponent {\n  @ViewChild(VflowComponent)\n  public vflow!: VflowComponent\n\n  public nodes: Node[] = [\n    {\n      id: crypto.randomUUID(),\n      point: { x: 10, y: 150 },\n      type: \'html-template\',\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public createNode({ event }: DndDropEvent) {\n    const point = this.vflow.documentPointToFlowPoint({\n      x: event.x,\n      y: event.y\n    })\n\n    this.nodes = [...this.nodes, {\n      id: crypto.randomUUID(),\n      point,\n      type: \'html-template\'\n    }]\n  }\n\n  public connect({ source, target }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}`,\n      source,\n      target\n    }]\n  }\n}\n
'},{title:"HTML",code:'
<div class="sidebar">\n  <div\n    dndDraggable\n    class="custom-node custom-node_draggable"\n    >\n    <button class="custom-node__button">Drag here</button>\n  </div>\n</div>\n\n<vflow\n  dndDropzone\n  (dndDrop)="createNode($event)"\n  (onConnect)="connect($event)"\n  [nodes]="nodes"\n  [edges]="edges"\n>\n  <ng-template nodeHtml let-ctx>\n    <div\n      class="custom-node"\n      [class.custom-node_selected]="ctx.selected()"\n    >\n      <button class="custom-node__button" selectable>Select here</button>\n\n      <handle type="source" position="right" />\n      <handle type="target" position="left" />\n    </div>\n  </ng-template>\n\n  <ng-template edge let-ctx>\n    <svg:path\n      selectable\n      [attr.d]="ctx.path()"\n      [attr.stroke]="ctx.selected() ? \'#0f4c75\' : \'#bbe1fa\'"\n      fill="none"\n      stroke-width="2"\n    />\n  </ng-template>\n</vflow>`\n
'},{title:"SCSS",code:'
:host {\n  display: flex;\n}\n\n.sidebar {\n  padding: 10px;\n  height: 400px;\n  background-color: #3282b8;\n}\n\n.custom-node {\n  width: 150px;\n  height: 100px;\n  background: #bbe1fa;\n  border: 1px solid gray;\n  border-radius: 5px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  &__button {\n    border: 0;\n    outline: 0;\n    cursor: pointer;\n    color: white;\n    background-color: #1b262c;\n    border-radius: 4px;\n    font-size: 14px;\n    font-weight: 500;\n    padding: 4px 8px;\n    display: inline-block;\n    min-height: 28px;\n  }\n\n  &_draggable {\n    width: 100px;\n    height: 75px;\n  }\n\n  &_selected {\n    border-color: #1b262c;\n  }\n}\n
'}]};let R=(()=>{class s extends v.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Drag and drop nodes

This workshop will show you how to implement dynamic node creation with basic drag and drop implementation.

This implementation uses documentPointToFlowPoint() method of VflowComponent that translates document coordinate to vflow coordinate.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/workshops/pages/drag-and-drop-nodes/index.md?message=docs(drag-and-drop-nodes): describe your changes here...",this.page=h,this.demoAssets=X}static#n=this.\u0275fac=function(e){return new(e||s)};static#s=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-doc-page-workshops-drag-and-drop-nodes"]],standalone:!0,features:[a._Bn([{provide:v.a,useExisting:s},Q,h.providers??[]]),a.qOj,a.jDz],decls:1,vars:0,template:function(e,l){1&e&&a._UZ(0,"ng-doc-page")},dependencies:[T.z],encapsulation:2,changeDetection:0})}return s})();const W=[{...(0,A.isRoute)(h.route)?h.route:{},path:"",component:R,title:"Drag and drop nodes"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[316],{316:(nn,j,i)=>{i.r(j),i.d(j,{DynamicComponent:()=>R,default:()=>W});var v=i(6286),T=i(7134),A=i(9143),k=i(1314),a=i(5879);const b=["move","copy","link"],o="application/x-dnd",f="application/json",g="Text";function y(s){return s.substr(0,o.length)===o}function C(s){if(s.dataTransfer){const t=s.dataTransfer.types;if(!t)return g;for(let n=0;n{class s{dndDraggable;dndEffectAllowed="copy";dndType;dndDraggingClass="dndDragging";dndDraggingSourceClass="dndDraggingSource";dndDraggableDisabledClass="dndDraggableDisabled";dndDragImageOffsetFunction=O;dndStart=new a.vpe;dndDrag=new a.vpe;dndEnd=new a.vpe;dndMoved=new a.vpe;dndCopied=new a.vpe;dndLinked=new a.vpe;dndCanceled=new a.vpe;draggable=!0;dndHandle;dndDragImageElementRef;dragImage;isDragStarted=!1;elementRef=(0,a.f3M)(a.SBq);renderer=(0,a.f3M)(a.Qsj);ngZone=(0,a.f3M)(a.R0b);set dndDisableIf(n){this.draggable=!n,this.draggable?this.renderer.removeClass(this.elementRef.nativeElement,this.dndDraggableDisabledClass):this.renderer.addClass(this.elementRef.nativeElement,this.dndDraggableDisabledClass)}set dndDisableDragIf(n){this.dndDisableIf=n}ngAfterViewInit(){this.ngZone.runOutsideAngular(()=>{this.elementRef.nativeElement.addEventListener("drag",this.dragEventHandler)})}ngOnDestroy(){this.elementRef.nativeElement.removeEventListener("drag",this.dragEventHandler),this.isDragStarted&&w()}onDragStart(n){if(!this.draggable)return!1;if(null!=this.dndHandle&&null==n._dndUsingHandle)return n.stopPropagation(),!1;(function z(s,t,n){r.isDragging=!0,r.dropEffect="none",r.effectAllowed=t,r.type=n,s.dataTransfer&&(s.dataTransfer.effectAllowed=t)})(n,this.dndEffectAllowed,this.dndType),this.isDragStarted=!0,function S(s,t,n){const e=o+(t.type?"-"+t.type:""),l=JSON.stringify(t);try{s.dataTransfer?.setData(e,l)}catch{try{s.dataTransfer?.setData(f,l)}catch{const q=c(b,n);s.dataTransfer&&(s.dataTransfer.effectAllowed=q[0]),s.dataTransfer?.setData(g,l)}}}(n,{data:this.dndDraggable,type:this.dndType},x.effectAllowed),this.dragImage=this.determineDragImage(),this.renderer.addClass(this.dragImage,this.dndDraggingClass),(null!=this.dndDragImageElementRef||null!=n._dndUsingHandle)&&function N(s,t,n){const e=n(s,t)||{x:0,y:0};s.dataTransfer.setDragImage(t,e.x,e.y)}(n,this.dragImage,this.dndDragImageOffsetFunction);const e=this.renderer.listen(this.elementRef.nativeElement,"drag",()=>{this.renderer.addClass(this.elementRef.nativeElement,this.dndDraggingSourceClass),e()});return this.dndStart.emit(n),n.stopPropagation(),setTimeout(()=>{this.renderer.setStyle(this.dragImage,"pointer-events","none")},100),!0}onDrag(n){this.dndDrag.emit(n)}onDragEnd(n){if(!this.draggable||!this.isDragStarted)return;const e=x.dropEffect;let l;switch(this.renderer.setStyle(this.dragImage,"pointer-events","unset"),e){case"copy":l=this.dndCopied;break;case"link":l=this.dndLinked;break;case"move":l=this.dndMoved;break;default:l=this.dndCanceled}l.emit(n),this.dndEnd.emit(n),w(),this.isDragStarted=!1,this.renderer.removeClass(this.dragImage,this.dndDraggingClass),window.setTimeout(()=>{this.renderer.removeClass(this.elementRef.nativeElement,this.dndDraggingSourceClass)},0),n.stopPropagation()}registerDragHandle(n){this.dndHandle=n}registerDragImage(n){this.dndDragImageElementRef=n}dragEventHandler=n=>this.onDrag(n);determineDragImage(){return typeof this.dndDragImageElementRef<"u"?this.dndDragImageElementRef.nativeElement:this.elementRef.nativeElement}static \u0275fac=function(e){return new(e||s)};static \u0275dir=a.lG2({type:s,selectors:[["","dndDraggable",""]],hostVars:1,hostBindings:function(e,l){1&e&&a.NdJ("dragstart",function(d){return l.onDragStart(d)})("dragend",function(d){return l.onDragEnd(d)}),2&e&&a.uIk("draggable",l.draggable)},inputs:{dndDraggable:"dndDraggable",dndEffectAllowed:"dndEffectAllowed",dndType:"dndType",dndDraggingClass:"dndDraggingClass",dndDraggingSourceClass:"dndDraggingSourceClass",dndDraggableDisabledClass:"dndDraggableDisabledClass",dndDragImageOffsetFunction:"dndDragImageOffsetFunction",dndDisableIf:"dndDisableIf",dndDisableDragIf:"dndDisableDragIf"},outputs:{dndStart:"dndStart",dndDrag:"dndDrag",dndEnd:"dndEnd",dndMoved:"dndMoved",dndCopied:"dndCopied",dndLinked:"dndLinked",dndCanceled:"dndCanceled"},standalone:!0})}return s})(),L=(()=>{class s{elementRef;constructor(n){this.elementRef=n}ngOnInit(){this.elementRef.nativeElement.style.pointerEvents="none"}static \u0275fac=function(e){return new(e||s)(a.Y36(a.SBq))};static \u0275dir=a.lG2({type:s,selectors:[["","dndPlaceholderRef",""]],standalone:!0})}return s})(),U=(()=>{class s{ngZone;elementRef;renderer;dndDropzone="";dndEffectAllowed="uninitialized";dndAllowExternal=!1;dndHorizontal=!1;dndDragoverClass="dndDragover";dndDropzoneDisabledClass="dndDropzoneDisabled";dndDragover=new a.vpe;dndDrop=new a.vpe;dndPlaceholderRef;placeholder=null;disabled=!1;constructor(n,e,l){this.ngZone=n,this.elementRef=e,this.renderer=l}set dndDisableIf(n){this.disabled=n,this.disabled?this.renderer.addClass(this.elementRef.nativeElement,this.dndDropzoneDisabledClass):this.renderer.removeClass(this.elementRef.nativeElement,this.dndDropzoneDisabledClass)}set dndDisableDropIf(n){this.dndDisableIf=n}ngAfterViewInit(){this.placeholder=this.tryGetPlaceholder(),this.removePlaceholderFromDOM(),this.ngZone.runOutsideAngular(()=>{this.elementRef.nativeElement.addEventListener("dragenter",this.dragEnterEventHandler),this.elementRef.nativeElement.addEventListener("dragover",this.dragOverEventHandler),this.elementRef.nativeElement.addEventListener("dragleave",this.dragLeaveEventHandler)})}ngOnDestroy(){this.elementRef.nativeElement.removeEventListener("dragenter",this.dragEnterEventHandler),this.elementRef.nativeElement.removeEventListener("dragover",this.dragOverEventHandler),this.elementRef.nativeElement.removeEventListener("dragleave",this.dragLeaveEventHandler)}onDragEnter(n){if(!0===n._dndDropzoneActive)return void this.cleanupDragoverState();if(null==n._dndDropzoneActive){const l=document.elementFromPoint(n.clientX,n.clientY);this.elementRef.nativeElement.contains(l)&&(n._dndDropzoneActive=!0)}const e=m(n);this.isDropAllowed(e)&&n.preventDefault()}onDragOver(n){if(n.defaultPrevented)return;const e=m(n);if(!this.isDropAllowed(e))return;this.checkAndUpdatePlaceholderPosition(n);const l=E(n,this.dndEffectAllowed);"none"!==l?(n.preventDefault(),u(n,l),this.dndDragover.emit(n),this.renderer.addClass(this.elementRef.nativeElement,this.dndDragoverClass)):this.cleanupDragoverState()}onDrop(n){try{const e=m(n);if(!this.isDropAllowed(e))return;const l=function P(s,t){const n=C(s);return!0===t?null!==n&&y(n)?JSON.parse(s.dataTransfer?.getData(n)??"{}"):{}:null!==n?JSON.parse(s.dataTransfer?.getData(n)??"{}"):{}}(n,D());if(!this.isDropAllowed(l.type))return;n.preventDefault();const p=E(n);if(u(n,p),"none"===p)return;const d=this.getPlaceholderIndex();if(-1===d)return;this.dndDrop.emit({event:n,dropEffect:p,isExternal:D(),data:l.data,index:d,type:e}),n.stopPropagation()}finally{this.cleanupDragoverState()}}onDragLeave(n){n.preventDefault(),n.stopPropagation(),null==n._dndDropzoneActive&&this.elementRef.nativeElement.contains(n.relatedTarget)?n._dndDropzoneActive=!0:(this.cleanupDragoverState(),u(n,"none"))}dragEnterEventHandler=n=>this.onDragEnter(n);dragOverEventHandler=n=>this.onDragOver(n);dragLeaveEventHandler=n=>this.onDragLeave(n);isDropAllowed(n){if(this.disabled||D()&&!this.dndAllowExternal)return!1;if(!this.dndDropzone||!n)return!0;if(!Array.isArray(this.dndDropzone))throw new Error("dndDropzone: bound value to [dndDropzone] must be an array!");return-1!==this.dndDropzone.indexOf(n)}tryGetPlaceholder(){return typeof this.dndPlaceholderRef<"u"?this.dndPlaceholderRef.elementRef.nativeElement:this.elementRef.nativeElement.querySelector("[dndPlaceholderRef]")}removePlaceholderFromDOM(){null!==this.placeholder&&null!==this.placeholder.parentNode&&this.placeholder.parentNode.removeChild(this.placeholder)}checkAndUpdatePlaceholderPosition(n){if(null===this.placeholder)return;this.placeholder.parentNode!==this.elementRef.nativeElement&&this.renderer.appendChild(this.elementRef.nativeElement,this.placeholder);const e=function H(s,t){let n=t;for(;n.parentNode!==s;){if(!n.parentNode)return null;n=n.parentNode}return n}(this.elementRef.nativeElement,n.target);null!==e&&e!==this.placeholder&&(function M(s,t,n){const e=t.getBoundingClientRect();return n?s.clientX{class s{static \u0275fac=function(e){return new(e||s)};static \u0275mod=a.oAB({type:s});static \u0275inj=a.cJS({})}return s})();var _=i(8944),V=i(2898),Z=i(2274),Y=i(2757),I=i(8874);function $(s,t){1&s&&(a.TgZ(0,"div",6)(1,"button",7),a._uU(2,"Select here"),a.qZA(),a._UZ(3,"handle",8)(4,"handle",9),a.qZA()),2&s&&a.ekj("custom-node_selected",t.$implicit.selected())}function G(s,t){if(1&s&&(a.O4$(),a._UZ(0,"path",10)),2&s){const n=t.$implicit;a.uIk("d",n.path())("stroke",n.selected()?"#0f4c75":"#bbe1fa")}}const h={title:"Drag and drop nodes",mdFile:"./index.md",category:k.Z,demos:{DragAndDropNodesDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:crypto.randomUUID(),point:{x:10,y:150},type:"html-template"}],this.edges=[]}createNode({event:n}){const e=this.vflow.documentPointToFlowPoint({x:n.x,y:n.y});this.nodes=[...this.nodes,{id:crypto.randomUUID(),point:e,type:"html-template"}]}connect({source:n,target:e}){this.edges=[...this.edges,{id:`${n} -> ${e}`,source:n,target:e}]}static#n=this.\u0275fac=function(e){return new(e||s)};static#s=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-component"]],viewQuery:function(e,l){if(1&e&&a.Gf(_.t,5),2&e){let p;a.iGM(p=a.CRH())&&(l.vflow=p.first)}},standalone:!0,features:[a.jDz],decls:8,vars:2,consts:[[1,"sidebar"],["dndDraggable","",1,"custom-node","custom-node_draggable"],[1,"custom-node__button"],["dndDropzone","",3,"nodes","edges","dndDrop","onConnect"],["nodeHtml",""],["edge",""],[1,"custom-node"],["selectable","",1,"custom-node__button"],["type","source","position","right"],["type","target","position","left"],["selectable","","fill","none","stroke-width","2"]],template:function(e,l){1&e&&(a.TgZ(0,"div",0)(1,"div",1)(2,"button",2),a._uU(3,"Drag here"),a.qZA()()(),a.TgZ(4,"vflow",3),a.NdJ("dndDrop",function(d){return l.createNode(d)})("onConnect",function(d){return l.connect(d)}),a.YNc(5,$,5,2,"ng-template",4),a.YNc(6,G,1,2,"ng-template",5),a.qZA(),a._uU(7,"`\n")),2&e&&(a.xp6(4),a.Q6J("nodes",l.nodes)("edges",l.edges))},dependencies:[V.p,_.t,Z.M,Y.h,I.QC,I.o6,B,F,U],styles:["[_nghost-%COMP%]{display:flex}.sidebar[_ngcontent-%COMP%]{padding:10px;height:400px;background-color:#3282b8}.custom-node[_ngcontent-%COMP%]{width:150px;height:100px;background:#bbe1fa;border:1px solid gray;border-radius:5px;display:flex;align-items:center;justify-content:center}.custom-node__button[_ngcontent-%COMP%]{border:0;outline:0;cursor:pointer;color:#fff;background-color:#1b262c;border-radius:4px;font-size:14px;font-weight:500;padding:4px 8px;display:inline-block;min-height:28px}.custom-node_draggable[_ngcontent-%COMP%]{width:100px;height:75px}.custom-node_selected[_ngcontent-%COMP%]{border-color:#1b262c}"],changeDetection:0})}return s})()},order:2},Q=[],X={DragAndDropNodesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component, ViewChild } from \'@angular/core\';\nimport { DndDropEvent, DndModule } from \'ngx-drag-drop\';\nimport { Connection, Edge, Node, VflowComponent, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./drag-and-drop-nodes-demo.component.html\',\n  styleUrls: [\'./drag-and-drop-nodes-demo.component.scss\'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule, DndModule]\n})\nexport class DragAndDropNodesDemoComponent {\n  @ViewChild(VflowComponent)\n  public vflow!: VflowComponent\n\n  public nodes: Node[] = [\n    {\n      id: crypto.randomUUID(),\n      point: { x: 10, y: 150 },\n      type: \'html-template\',\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public createNode({ event }: DndDropEvent) {\n    const point = this.vflow.documentPointToFlowPoint({\n      x: event.x,\n      y: event.y\n    })\n\n    this.nodes = [...this.nodes, {\n      id: crypto.randomUUID(),\n      point,\n      type: \'html-template\'\n    }]\n  }\n\n  public connect({ source, target }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}`,\n      source,\n      target\n    }]\n  }\n}\n
'},{title:"HTML",code:'
<div class="sidebar">\n  <div\n    dndDraggable\n    class="custom-node custom-node_draggable"\n    >\n    <button class="custom-node__button">Drag here</button>\n  </div>\n</div>\n\n<vflow\n  dndDropzone\n  (dndDrop)="createNode($event)"\n  (onConnect)="connect($event)"\n  [nodes]="nodes"\n  [edges]="edges"\n>\n  <ng-template nodeHtml let-ctx>\n    <div\n      class="custom-node"\n      [class.custom-node_selected]="ctx.selected()"\n    >\n      <button class="custom-node__button" selectable>Select here</button>\n\n      <handle type="source" position="right" />\n      <handle type="target" position="left" />\n    </div>\n  </ng-template>\n\n  <ng-template edge let-ctx>\n    <svg:path\n      selectable\n      [attr.d]="ctx.path()"\n      [attr.stroke]="ctx.selected() ? \'#0f4c75\' : \'#bbe1fa\'"\n      fill="none"\n      stroke-width="2"\n    />\n  </ng-template>\n</vflow>`\n
'},{title:"SCSS",code:'
:host {\n  display: flex;\n}\n\n.sidebar {\n  padding: 10px;\n  height: 400px;\n  background-color: #3282b8;\n}\n\n.custom-node {\n  width: 150px;\n  height: 100px;\n  background: #bbe1fa;\n  border: 1px solid gray;\n  border-radius: 5px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  &__button {\n    border: 0;\n    outline: 0;\n    cursor: pointer;\n    color: white;\n    background-color: #1b262c;\n    border-radius: 4px;\n    font-size: 14px;\n    font-weight: 500;\n    padding: 4px 8px;\n    display: inline-block;\n    min-height: 28px;\n  }\n\n  &_draggable {\n    width: 100px;\n    height: 75px;\n  }\n\n  &_selected {\n    border-color: #1b262c;\n  }\n}\n
'}]};let R=(()=>{class s extends v.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Drag and drop nodes

This workshop will show you how to implement dynamic node creation with basic drag and drop implementation.

This implementation uses documentPointToFlowPoint() method of VflowComponent that translates document coordinate to vflow coordinate.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/workshops/pages/drag-and-drop-nodes/index.md?message=docs(drag-and-drop-nodes): describe your changes here...",this.page=h,this.demoAssets=X}static#n=this.\u0275fac=function(e){return new(e||s)};static#s=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-doc-page-workshops-drag-and-drop-nodes"]],standalone:!0,features:[a._Bn([{provide:v.a,useExisting:s},Q,h.providers??[]]),a.qOj,a.jDz],decls:1,vars:0,template:function(e,l){1&e&&a._UZ(0,"ng-doc-page")},dependencies:[T.z],encapsulation:2,changeDetection:0})}return s})();const W=[{...(0,A.isRoute)(h.route)?h.route:{},path:"",component:R,title:"Drag and drop nodes"}]}}]); \ No newline at end of file diff --git a/3598.85142f08877bed5d.js b/3598.618b991df02c3d83.js similarity index 99% rename from 3598.85142f08877bed5d.js rename to 3598.618b991df02c3d83.js index 74d18c14..99f1b705 100644 --- a/3598.85142f08877bed5d.js +++ b/3598.618b991df02c3d83.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[3598],{3598:(x,d,n)=>{n.r(d),n.d(d,{DynamicComponent:()=>g,default:()=>v});var c=n(6286),o=n(7134),i=n(9143),r=n(2936),h=n(2898),a=n(5879),u=n(7146);const l={title:"Default edges",mdFile:"./index.md",category:r.Z,demos:{DefaultEdgesDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3"}]}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[a.jDz],decls:1,vars:2,consts:[[3,"nodes","edges"]],template:function(e,p){1&e&&a._UZ(0,"vflow",0),2&e&&a.Q6J("nodes",p.nodes)("edges",p.edges)},dependencies:[h.p,u.t],encapsulation:2,changeDetection:0})}return s})()},order:2},f=[],m={DefaultEdgesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class DefaultEdgesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\'\n    },\n  ]\n}\n
'}]};let g=(()=>{class s extends c.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Default edges

You can link nodes with edges. All you need to do is to create another Edge[] array and pass it to the vflow component. Each edge contains the id of the source and target nodes, and each edge must have its own id.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/default-edges/index.md?message=docs(default-edges): describe your changes here...",this.page=l,this.demoAssets=m}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-doc-page-features-default-edges"]],standalone:!0,features:[a._Bn([{provide:c.a,useExisting:s},f,l.providers??[]]),a.qOj,a.jDz],decls:1,vars:0,template:function(e,p){1&e&&a._UZ(0,"ng-doc-page")},dependencies:[o.z],encapsulation:2,changeDetection:0})}return s})();const v=[{...(0,i.isRoute)(l.route)?l.route:{},path:"",component:g,title:"Default edges"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[3598],{3598:(x,d,n)=>{n.r(d),n.d(d,{DynamicComponent:()=>g,default:()=>v});var c=n(6286),o=n(7134),i=n(9143),r=n(2936),h=n(2898),a=n(5879),u=n(8944);const l={title:"Default edges",mdFile:"./index.md",category:r.Z,demos:{DefaultEdgesDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3"}]}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[a.jDz],decls:1,vars:2,consts:[[3,"nodes","edges"]],template:function(e,p){1&e&&a._UZ(0,"vflow",0),2&e&&a.Q6J("nodes",p.nodes)("edges",p.edges)},dependencies:[h.p,u.t],encapsulation:2,changeDetection:0})}return s})()},order:2},f=[],m={DefaultEdgesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class DefaultEdgesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\'\n    },\n  ]\n}\n
'}]};let g=(()=>{class s extends c.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Default edges

You can link nodes with edges. All you need to do is to create another Edge[] array and pass it to the vflow component. Each edge contains the id of the source and target nodes, and each edge must have its own id.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/default-edges/index.md?message=docs(default-edges): describe your changes here...",this.page=l,this.demoAssets=m}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-doc-page-features-default-edges"]],standalone:!0,features:[a._Bn([{provide:c.a,useExisting:s},f,l.providers??[]]),a.qOj,a.jDz],decls:1,vars:0,template:function(e,p){1&e&&a._UZ(0,"ng-doc-page")},dependencies:[o.z],encapsulation:2,changeDetection:0})}return s})();const v=[{...(0,i.isRoute)(l.route)?l.route:{},path:"",component:g,title:"Default edges"}]}}]); \ No newline at end of file diff --git a/3715.e384463fe4135e3d.js b/3715.c22548e9927ef283.js similarity index 99% rename from 3715.e384463fe4135e3d.js rename to 3715.c22548e9927ef283.js index 9c40b876..ea3d9c14 100644 --- a/3715.e384463fe4135e3d.js +++ b/3715.c22548e9927ef283.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[3715],{3715:(w,o,e)=>{e.r(o),e.d(o,{DynamicComponent:()=>d,default:()=>y});var p=e(6286),i=e(7134),g=e(9143),r=e(2936),h=e(2898),s=e(5879),f=e(7146);const c={title:"Connection validation",mdFile:"./index.md",category:r.Z,demos:{ConnectionValidationDemoComponent:(()=>{class a{constructor(){this.nodes=[{id:"1",point:{x:100,y:100},type:"default",text:"1"},{id:"2",point:{x:200,y:200},type:"default",text:"2"}],this.edges=[],this.conectionSettings={validator:l=>"1"===l.source&&"2"===l.target}}createEdge({source:l,target:n}){this.edges=[...this.edges,{id:`${l} -> ${n}`,source:l,target:n}]}static#s=this.\u0275fac=function(n){return new(n||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:3,consts:[[3,"nodes","edges","connection","onConnect"]],template:function(n,t){1&n&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(C){return t.createEdge(C)}),s.qZA()),2&n&&s.Q6J("nodes",t.nodes)("edges",t.edges)("connection",t.conectionSettings)},dependencies:[h.p,f.t],encapsulation:2,changeDetection:0})}return a})()},order:4},u=[],m={ConnectionValidationDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Connection, ConnectionSettings, Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges"\n    [connection]="conectionSettings"\n    (onConnect)="createEdge($event)"/>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class ConnectionValidationDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: \'default\',\n      text: `1`,\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: \'default\',\n      text: `2`\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public conectionSettings: ConnectionSettings = {\n    validator: (connection) => connection.source === \'1\' && connection.target === \'2\'\n  }\n\n  public createEdge({ source, target }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}`,\n      source,\n      target\n    }]\n  }\n}\n
'}]};let d=(()=>{class a extends p.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Connection validation

ngx-vflow supports real-time synchronous validation of connections. Validation occurs when a user attempts to create a new edge. By default, every connection is valid, but you can provide a ConnectionSettings with a validatior callback where you specify the validation logic.

For example, in this case, validation only passes connections from node 1 to node 2. If the validator returns false, the (onConnect) event won\'t be triggered because there is no valid connection.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/connection-validation/index.md?message=docs(connection-validation): describe your changes here...",this.page=c,this.demoAssets=m}static#s=this.\u0275fac=function(n){return new(n||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-doc-page-features-connection-validation"]],standalone:!0,features:[s._Bn([{provide:p.a,useExisting:a},u,c.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(n,t){1&n&&s._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return a})();const y=[{...(0,g.isRoute)(c.route)?c.route:{},path:"",component:d,title:"Connection validation"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[3715],{3715:(w,o,e)=>{e.r(o),e.d(o,{DynamicComponent:()=>d,default:()=>y});var p=e(6286),i=e(7134),g=e(9143),r=e(2936),h=e(2898),s=e(5879),f=e(8944);const c={title:"Connection validation",mdFile:"./index.md",category:r.Z,demos:{ConnectionValidationDemoComponent:(()=>{class a{constructor(){this.nodes=[{id:"1",point:{x:100,y:100},type:"default",text:"1"},{id:"2",point:{x:200,y:200},type:"default",text:"2"}],this.edges=[],this.conectionSettings={validator:l=>"1"===l.source&&"2"===l.target}}createEdge({source:l,target:n}){this.edges=[...this.edges,{id:`${l} -> ${n}`,source:l,target:n}]}static#s=this.\u0275fac=function(n){return new(n||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:3,consts:[[3,"nodes","edges","connection","onConnect"]],template:function(n,t){1&n&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(C){return t.createEdge(C)}),s.qZA()),2&n&&s.Q6J("nodes",t.nodes)("edges",t.edges)("connection",t.conectionSettings)},dependencies:[h.p,f.t],encapsulation:2,changeDetection:0})}return a})()},order:4},u=[],m={ConnectionValidationDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Connection, ConnectionSettings, Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges"\n    [connection]="conectionSettings"\n    (onConnect)="createEdge($event)"/>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class ConnectionValidationDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: \'default\',\n      text: `1`,\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: \'default\',\n      text: `2`\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public conectionSettings: ConnectionSettings = {\n    validator: (connection) => connection.source === \'1\' && connection.target === \'2\'\n  }\n\n  public createEdge({ source, target }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}`,\n      source,\n      target\n    }]\n  }\n}\n
'}]};let d=(()=>{class a extends p.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Connection validation

ngx-vflow supports real-time synchronous validation of connections. Validation occurs when a user attempts to create a new edge. By default, every connection is valid, but you can provide a ConnectionSettings with a validatior callback where you specify the validation logic.

For example, in this case, validation only passes connections from node 1 to node 2. If the validator returns false, the (onConnect) event won\'t be triggered because there is no valid connection.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/connection-validation/index.md?message=docs(connection-validation): describe your changes here...",this.page=c,this.demoAssets=m}static#s=this.\u0275fac=function(n){return new(n||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-doc-page-features-connection-validation"]],standalone:!0,features:[s._Bn([{provide:p.a,useExisting:a},u,c.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(n,t){1&n&&s._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return a})();const y=[{...(0,g.isRoute)(c.route)?c.route:{},path:"",component:d,title:"Connection validation"}]}}]); \ No newline at end of file diff --git a/3777.51f8eb280e1d49e1.js b/3777.5b04398c4105ecab.js similarity index 96% rename from 3777.51f8eb280e1d49e1.js rename to 3777.5b04398c4105ecab.js index 142d6bef..934786ed 100644 --- a/3777.51f8eb280e1d49e1.js +++ b/3777.5b04398c4105ecab.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[3777],{3777:(r,s,e)=>{e.r(s),e.d(s,{DynamicComponent:()=>c,default:()=>l});var t=e(6286),i=e(7134),n=e(5879);let c=(()=>{class a extends t.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L10",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L10",this.pageContent='
ngx-vflow / Interface

SharedNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Properties

NameTypeDescription
draggable
boolean | undefined
id
string
point
Point
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(d){return new(d||a)};static#n=this.\u0275cmp=n.Xpm({type:a,selectors:[["ng-doc-page-api-ngx-vflow-interfaces-shared-node"]],standalone:!0,features:[n._Bn([{provide:t.a,useExisting:a}]),n.qOj,n.jDz],decls:1,vars:0,template:function(d,h){1&d&&n._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return a})();const l=[{path:"",component:c,title:"SharedNode"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[3777],{3777:(r,s,e)=>{e.r(s),e.d(s,{DynamicComponent:()=>c,default:()=>l});var t=e(6286),i=e(7134),n=e(5879);let c=(()=>{class a extends t.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L16",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L16",this.pageContent='
ngx-vflow / Interface

SharedNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Properties

NameTypeDescription
draggable
boolean | undefined
id
string
point
Point
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(d){return new(d||a)};static#n=this.\u0275cmp=n.Xpm({type:a,selectors:[["ng-doc-page-api-ngx-vflow-interfaces-shared-node"]],standalone:!0,features:[n._Bn([{provide:t.a,useExisting:a}]),n.qOj,n.jDz],decls:1,vars:0,template:function(d,h){1&d&&n._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return a})();const l=[{path:"",component:c,title:"SharedNode"}]}}]); \ No newline at end of file diff --git a/3842.0c49ebd4e4a78a54.js b/3842.37d8113de152bcad.js similarity index 99% rename from 3842.0c49ebd4e4a78a54.js rename to 3842.37d8113de152bcad.js index b2eaef04..76b47df7 100644 --- a/3842.0c49ebd4e4a78a54.js +++ b/3842.37d8113de152bcad.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[3842],{3842:(E,c,g)=>{g.r(c),g.d(c,{DynamicComponent:()=>j,default:()=>D});var i=g(6286),f=g(7134),m=g(9143),u=g(2936),s=g(5879),o=g(8413),h=g(2898),r=g(7146);const y=["toast"];function C(e,T){if(1&e&&(s.TgZ(0,"h3"),s._uU(1),s.qZA(),s.TgZ(2,"pre"),s._uU(3),s.qZA()),2&e){const n=s.oxw();s.xp6(1),s.Oqu(null==n.toastData?null:n.toastData.title),s.xp6(2),s.Oqu(null==n.toastData?null:n.toastData.json)}}const v=["toast"];function w(e,T){if(1&e&&(s.TgZ(0,"h3"),s._uU(1),s.qZA(),s.TgZ(2,"pre"),s._uU(3),s.qZA()),2&e){const n=s.oxw();s.xp6(1),s.Oqu(null==n.toastData?null:n.toastData.title),s.xp6(2),s.Oqu(null==n.toastData?null:n.toastData.json)}}const t={title:"Handling changes",mdFile:"./index.md",category:u.Z,demos:{HandlingChangesDemoComponent:(()=>{class e{constructor(){this.notifyService=(0,s.f3M)(o.Z),this.nodes=[{id:"1",point:{x:100,y:100},type:"default",text:"1"},{id:"2",point:{x:200,y:200},type:"default",text:"2"}],this.edges=[],this.toastData={}}createEdge({source:n,target:a}){this.edges=[...this.edges,{id:`${n} -> ${a}`,source:n,target:a}]}handleNodeChanges(n){this.toastData={title:"(onNodesChange)",json:JSON.stringify(n,null,2)},this.notifyService.notify(this.toastTemplate)}handleEdgeChanges(n){this.toastData={title:"(onEdgesChange)",json:JSON.stringify(n,null,2)},this.notifyService.notify(this.toastTemplate)}static#s=this.\u0275fac=function(a){return new(a||e)};static#n=this.\u0275cmp=s.Xpm({type:e,selectors:[["ng-component"]],viewQuery:function(a,l){if(1&a&&s.Gf(y,5),2&a){let d;s.iGM(d=s.CRH())&&(l.toastTemplate=d.first)}},standalone:!0,features:[s.jDz],decls:3,vars:2,consts:[[3,"nodes","edges","onConnect","onNodesChange","onEdgesChange"],["toast",""]],template:function(a,l){1&a&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(p){return l.createEdge(p)})("onNodesChange",function(p){return l.handleNodeChanges(p)})("onEdgesChange",function(p){return l.handleEdgeChanges(p)}),s.qZA(),s.YNc(1,C,4,2,"ng-template",null,1,s.W1O)),2&a&&s.Q6J("nodes",l.nodes)("edges",l.edges)},dependencies:[h.p,r.t],encapsulation:2,changeDetection:0})}return e})(),HandlingChangesFilteredDemoComponent:(()=>{class e{constructor(){this.notifyService=(0,s.f3M)(o.Z),this.nodes=[{id:"1",point:{x:100,y:100},type:"default",text:"1"},{id:"2",point:{x:200,y:200},type:"default",text:"2"}],this.edges=[],this.toastData={}}createEdge({source:n,target:a}){this.edges=[...this.edges,{id:`${n} -> ${a}`,source:n,target:a}]}handleNodePositionChange(n){this.toastData={title:"(onNodesChange.position.single)",json:JSON.stringify(n,null,2)},this.notifyService.notify(this.toastTemplate)}handleNodeSelectChange(n){this.toastData={title:"(onNodesChange.select.single)",json:JSON.stringify(n,null,2)},this.notifyService.notify(this.toastTemplate)}handleNodesAddChange(n){this.toastData={title:"(onNodesChange.add.many)",json:JSON.stringify(n,null,2)},this.notifyService.notify(this.toastTemplate)}handleEdgesAddChange(n){this.toastData={title:"(onEdgesChange.add)",json:JSON.stringify(n,null,2)},this.notifyService.notify(this.toastTemplate)}addNodes(){this.nodes=[...this.nodes,{id:crypto.randomUUID(),point:{x:0,y:0},type:"default",text:"random"},{id:crypto.randomUUID(),point:{x:300,y:300},type:"default",text:"random"}]}static#s=this.\u0275fac=function(a){return new(a||e)};static#n=this.\u0275cmp=s.Xpm({type:e,selectors:[["ng-component"]],viewQuery:function(a,l){if(1&a&&s.Gf(v,5),2&a){let d;s.iGM(d=s.CRH())&&(l.toastTemplate=d.first)}},standalone:!0,features:[s.jDz],decls:5,vars:2,consts:[[3,"click"],[3,"nodes","edges","onConnect","onNodesChange.position.single","onNodesChange.select.single","onNodesChange.add.many","onEdgesChange.add"],["toast",""]],template:function(a,l){1&a&&(s.TgZ(0,"button",0),s.NdJ("click",function(){return l.addNodes()}),s._uU(1,"Add nodes"),s.qZA(),s.TgZ(2,"vflow",1),s.NdJ("onConnect",function(p){return l.createEdge(p)})("onNodesChange.position.single",function(p){return l.handleNodePositionChange(p)})("onNodesChange.select.single",function(p){return l.handleNodeSelectChange(p)})("onNodesChange.add.many",function(p){return l.handleNodesAddChange(p)})("onEdgesChange.add",function(p){return l.handleEdgesAddChange(p)}),s.qZA(),s.YNc(3,w,4,2,"ng-template",null,2,s.W1O)),2&a&&(s.xp6(2),s.Q6J("nodes",l.nodes)("edges",l.edges))},dependencies:[h.p,r.t],encapsulation:2,changeDetection:0})}return e})()},order:3},x=[],k={HandlingChangesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, inject } from \'@angular/core\';\nimport { NgDocNotifyService } from \'@ng-doc/ui-kit\';\nimport { Connection, Edge, EdgeChange, Node, NodeChange, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./handling-changes-demo.component.html\',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule],\n})\nexport class HandlingChangesDemoComponent {\n  private notifyService = inject(NgDocNotifyService)\n\n  @ViewChild(\'toast\')\n  public toastTemplate!: TemplateRef<{}>;\n\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: \'default\',\n      text: `1`,\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: \'default\',\n      text: `2`\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public toastData: any = {}\n\n  public createEdge({ source, target }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}`,\n      source,\n      target\n    }]\n  }\n\n  public handleNodeChanges(changes: NodeChange[]) {\n    this.toastData = {\n      title: \'(onNodesChange)\',\n      json: JSON.stringify(changes, null, 2)\n    }\n\n    this.notifyService.notify(this.toastTemplate)\n  }\n\n  public handleEdgeChanges(changes: EdgeChange[]) {\n    this.toastData = {\n      title: \'(onEdgesChange)\',\n      json: JSON.stringify(changes, null, 2)\n    }\n\n    this.notifyService.notify(this.toastTemplate)\n  }\n}\n
'},{title:"HTML",code:'
<vflow\n  [nodes]="nodes"\n  [edges]="edges"\n  (onConnect)="createEdge($event)"\n  (onNodesChange)="handleNodeChanges($event)"\n  (onEdgesChange)="handleEdgeChanges($event)"\n/>\n\n<ng-template #toast>\n  <h3>{{ toastData?.title }}</h3>\n\n  <pre>{{ toastData?.json }}</pre>\n</ng-template>\n
'}],HandlingChangesFilteredDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, inject } from \'@angular/core\';\nimport { NgDocNotifyService } from \'@ng-doc/ui-kit\';\nimport { Connection, Edge, EdgeChange, Node, NodeAddChange, NodeChange, NodePositionChange, NodeSelectedChange, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./handling-changes-filtered-demo.component.html\',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule],\n})\nexport class HandlingChangesFilteredDemoComponent {\n  private notifyService = inject(NgDocNotifyService)\n\n  @ViewChild(\'toast\')\n  public toastTemplate!: TemplateRef<{}>;\n\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: \'default\',\n      text: `1`,\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: \'default\',\n      text: `2`\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public toastData: any = {}\n\n  public createEdge({ source, target }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}`,\n      source,\n      target\n    }]\n  }\n\n  public handleNodePositionChange(change: NodePositionChange) {\n    this.toastData = {\n      title: \'(onNodesChange.position.single)\',\n      json: JSON.stringify(change, null, 2)\n    }\n\n    this.notifyService.notify(this.toastTemplate)\n  }\n\n  public handleNodeSelectChange(change: NodeSelectedChange) {\n    this.toastData = {\n      title: \'(onNodesChange.select.single)\',\n      json: JSON.stringify(change, null, 2)\n    }\n\n    this.notifyService.notify(this.toastTemplate)\n  }\n\n  public handleNodesAddChange(changes: NodeAddChange[]) {\n    this.toastData = {\n      title: \'(onNodesChange.add.many)\',\n      json: JSON.stringify(changes, null, 2)\n    }\n\n    this.notifyService.notify(this.toastTemplate)\n  }\n\n  public handleEdgesAddChange(changes: EdgeChange[]) {\n    this.toastData = {\n      title: \'(onEdgesChange.add)\',\n      json: JSON.stringify(changes, null, 2)\n    }\n\n    this.notifyService.notify(this.toastTemplate)\n  }\n\n  public addNodes() {\n    this.nodes = [...this.nodes,\n    {\n      id: crypto.randomUUID(),\n      point: { x: 0, y: 0 },\n      type: \'default\',\n      text: `random`,\n    },\n    {\n      id: crypto.randomUUID(),\n      point: { x: 300, y: 300 },\n      type: \'default\',\n      text: `random`\n    },\n    ]\n  }\n}\n
'},{title:"HTML",code:'
<button (click)="addNodes()">Add nodes</button>\n\n<vflow\n  [nodes]="nodes"\n  [edges]="edges"\n  (onConnect)="createEdge($event)"\n  (onNodesChange.position.single)="handleNodePositionChange($event)"\n  (onNodesChange.select.single)="handleNodeSelectChange($event)"\n  (onNodesChange.add.many)="handleNodesAddChange($event)"\n  (onEdgesChange.add)="handleEdgesAddChange($event)"\n/>\n\n<ng-template #toast let-ctx>\n  <h3>{{ toastData?.title }}</h3>\n\n  <pre>{{ toastData?.json }}</pre>\n</ng-template>\n
'}]};let j=(()=>{class e extends i.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Handling changes

You can observe changes in the toasts.

You can observe various changes in nodes and edges.

Types of NodeChanges:

  • position - new node position after drag and drop
  • add - when node was created
  • remove - when node was removed
  • select - when node was selected (also triggers for unselected nodes)

Types of EdgeChanges:

  • add - when edge was created
  • remove - when edge was removed
  • select - when edge was selected (also triggers for unselected edges)
  • detached - when edge became invisible due to the absence of the source or target node. Use this to delete such edges from the edges list

There are a several ways to receive these changes:

From (onNodesChange) and (onEdgesChange) outputs

This is a way to get every possible change. Changes came as non empty arrays:

  • (onNodesChange) emits NodeChange[]
  • (onEdgesChange) emits EdgeChange[]
{"expanded":false}

From filtered outputs

For your convenience, here is the filtering scheme for changes based on the (onNodesChange) and (onEdgesChange) events:

  • (onNodesChange.[NodeChangeType]) - a list of node changes of a certain type
  • (onNodesChange.[EdgeChangeType]) - a list of edge changes of a certain type
  • (onNodesChange.[NodeChangeType].[Count]) - a list (many) or single (single) node change of a certain type
  • (onEdgesChange.[EdgeChangeType].[Count]) - a list (many) or single (single) edge change of a certain type

Where:

type NodeChangeType = \'position\' | \'add\' | \'remove\' | \'select\'\n\ntype EdgeChangeType = \'detached\' | \'add\' | \'remove\' | \'select\'\n\n// single - when there is only one change of this type (for example if you drag and drop some node, it\'s consireder as single change)\n// many - when there is more than one change of this type (for example if you deleted several nodes at the same time)\ntype Count = \'single\' | \'many\'\n
{"expanded":false}

List of all possible filter outputs:

\'onNodesChange.position\',\n\'onNodesChange.position.single\',\n\'onNodesChange.position.many\',\n\'onNodesChange.add\',\n\'onNodesChange.add.single\',\n\'onNodesChange.add.many\',\n\'onNodesChange.remove\',\n\'onNodesChange.remove.single\',\n\'onNodesChange.remove.many\',\n\'onNodesChange.select\',\n\'onNodesChange.select.single\',\n\'onNodesChange.select.many\',\n\n\'onEdgesChange.detached\',\n\'onEdgesChange.detached.single\',\n\'onEdgesChange.detached.many\',\n\'onEdgesChange.add\',\n\'onEdgesChange.add.single\',\n\'onEdgesChange.add.many\',\n\'onEdgesChange.remove\',\n\'onEdgesChange.remove.single\',\n\'onEdgesChange.remove.many\',\n\'onEdgesChange.select\',\n\'onEdgesChange.select.single\',\n\'onEdgesChange.select.many\',\n

From componenet itself

{\n  ...\n  @ViewChild(VflowComponent)\n  vflow: VflowComponent\n\n  ngAfterViewInit() {\n    this.vflow.nodesChange$.subscribe((changes) => {\n      // handle node changes\n    })\n\n    this.vflow.edgesChange$.subscribe((changes) => {\n      // handle edges changes\n    })\n  }\n  ...\n}\n
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/handling-changes/index.md?message=docs(handling-changes): describe your changes here...",this.page=t,this.demoAssets=k}static#s=this.\u0275fac=function(a){return new(a||e)};static#n=this.\u0275cmp=s.Xpm({type:e,selectors:[["ng-doc-page-features-handling-changes"]],standalone:!0,features:[s._Bn([{provide:i.a,useExisting:e},x,t.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(a,l){1&a&&s._UZ(0,"ng-doc-page")},dependencies:[f.z],encapsulation:2,changeDetection:0})}return e})();const D=[{...(0,m.isRoute)(t.route)?t.route:{},path:"",component:j,title:"Handling changes"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[3842],{3842:(E,c,g)=>{g.r(c),g.d(c,{DynamicComponent:()=>j,default:()=>D});var i=g(6286),f=g(7134),m=g(9143),u=g(2936),s=g(5879),o=g(8413),h=g(2898),r=g(8944);const y=["toast"];function C(e,T){if(1&e&&(s.TgZ(0,"h3"),s._uU(1),s.qZA(),s.TgZ(2,"pre"),s._uU(3),s.qZA()),2&e){const n=s.oxw();s.xp6(1),s.Oqu(null==n.toastData?null:n.toastData.title),s.xp6(2),s.Oqu(null==n.toastData?null:n.toastData.json)}}const v=["toast"];function w(e,T){if(1&e&&(s.TgZ(0,"h3"),s._uU(1),s.qZA(),s.TgZ(2,"pre"),s._uU(3),s.qZA()),2&e){const n=s.oxw();s.xp6(1),s.Oqu(null==n.toastData?null:n.toastData.title),s.xp6(2),s.Oqu(null==n.toastData?null:n.toastData.json)}}const t={title:"Handling changes",mdFile:"./index.md",category:u.Z,demos:{HandlingChangesDemoComponent:(()=>{class e{constructor(){this.notifyService=(0,s.f3M)(o.Z),this.nodes=[{id:"1",point:{x:100,y:100},type:"default",text:"1"},{id:"2",point:{x:200,y:200},type:"default",text:"2"}],this.edges=[],this.toastData={}}createEdge({source:n,target:a}){this.edges=[...this.edges,{id:`${n} -> ${a}`,source:n,target:a}]}handleNodeChanges(n){this.toastData={title:"(onNodesChange)",json:JSON.stringify(n,null,2)},this.notifyService.notify(this.toastTemplate)}handleEdgeChanges(n){this.toastData={title:"(onEdgesChange)",json:JSON.stringify(n,null,2)},this.notifyService.notify(this.toastTemplate)}static#s=this.\u0275fac=function(a){return new(a||e)};static#n=this.\u0275cmp=s.Xpm({type:e,selectors:[["ng-component"]],viewQuery:function(a,l){if(1&a&&s.Gf(y,5),2&a){let d;s.iGM(d=s.CRH())&&(l.toastTemplate=d.first)}},standalone:!0,features:[s.jDz],decls:3,vars:2,consts:[[3,"nodes","edges","onConnect","onNodesChange","onEdgesChange"],["toast",""]],template:function(a,l){1&a&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(p){return l.createEdge(p)})("onNodesChange",function(p){return l.handleNodeChanges(p)})("onEdgesChange",function(p){return l.handleEdgeChanges(p)}),s.qZA(),s.YNc(1,C,4,2,"ng-template",null,1,s.W1O)),2&a&&s.Q6J("nodes",l.nodes)("edges",l.edges)},dependencies:[h.p,r.t],encapsulation:2,changeDetection:0})}return e})(),HandlingChangesFilteredDemoComponent:(()=>{class e{constructor(){this.notifyService=(0,s.f3M)(o.Z),this.nodes=[{id:"1",point:{x:100,y:100},type:"default",text:"1"},{id:"2",point:{x:200,y:200},type:"default",text:"2"}],this.edges=[],this.toastData={}}createEdge({source:n,target:a}){this.edges=[...this.edges,{id:`${n} -> ${a}`,source:n,target:a}]}handleNodePositionChange(n){this.toastData={title:"(onNodesChange.position.single)",json:JSON.stringify(n,null,2)},this.notifyService.notify(this.toastTemplate)}handleNodeSelectChange(n){this.toastData={title:"(onNodesChange.select.single)",json:JSON.stringify(n,null,2)},this.notifyService.notify(this.toastTemplate)}handleNodesAddChange(n){this.toastData={title:"(onNodesChange.add.many)",json:JSON.stringify(n,null,2)},this.notifyService.notify(this.toastTemplate)}handleEdgesAddChange(n){this.toastData={title:"(onEdgesChange.add)",json:JSON.stringify(n,null,2)},this.notifyService.notify(this.toastTemplate)}addNodes(){this.nodes=[...this.nodes,{id:crypto.randomUUID(),point:{x:0,y:0},type:"default",text:"random"},{id:crypto.randomUUID(),point:{x:300,y:300},type:"default",text:"random"}]}static#s=this.\u0275fac=function(a){return new(a||e)};static#n=this.\u0275cmp=s.Xpm({type:e,selectors:[["ng-component"]],viewQuery:function(a,l){if(1&a&&s.Gf(v,5),2&a){let d;s.iGM(d=s.CRH())&&(l.toastTemplate=d.first)}},standalone:!0,features:[s.jDz],decls:5,vars:2,consts:[[3,"click"],[3,"nodes","edges","onConnect","onNodesChange.position.single","onNodesChange.select.single","onNodesChange.add.many","onEdgesChange.add"],["toast",""]],template:function(a,l){1&a&&(s.TgZ(0,"button",0),s.NdJ("click",function(){return l.addNodes()}),s._uU(1,"Add nodes"),s.qZA(),s.TgZ(2,"vflow",1),s.NdJ("onConnect",function(p){return l.createEdge(p)})("onNodesChange.position.single",function(p){return l.handleNodePositionChange(p)})("onNodesChange.select.single",function(p){return l.handleNodeSelectChange(p)})("onNodesChange.add.many",function(p){return l.handleNodesAddChange(p)})("onEdgesChange.add",function(p){return l.handleEdgesAddChange(p)}),s.qZA(),s.YNc(3,w,4,2,"ng-template",null,2,s.W1O)),2&a&&(s.xp6(2),s.Q6J("nodes",l.nodes)("edges",l.edges))},dependencies:[h.p,r.t],encapsulation:2,changeDetection:0})}return e})()},order:3},x=[],k={HandlingChangesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, inject } from \'@angular/core\';\nimport { NgDocNotifyService } from \'@ng-doc/ui-kit\';\nimport { Connection, Edge, EdgeChange, Node, NodeChange, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./handling-changes-demo.component.html\',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule],\n})\nexport class HandlingChangesDemoComponent {\n  private notifyService = inject(NgDocNotifyService)\n\n  @ViewChild(\'toast\')\n  public toastTemplate!: TemplateRef<{}>;\n\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: \'default\',\n      text: `1`,\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: \'default\',\n      text: `2`\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public toastData: any = {}\n\n  public createEdge({ source, target }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}`,\n      source,\n      target\n    }]\n  }\n\n  public handleNodeChanges(changes: NodeChange[]) {\n    this.toastData = {\n      title: \'(onNodesChange)\',\n      json: JSON.stringify(changes, null, 2)\n    }\n\n    this.notifyService.notify(this.toastTemplate)\n  }\n\n  public handleEdgeChanges(changes: EdgeChange[]) {\n    this.toastData = {\n      title: \'(onEdgesChange)\',\n      json: JSON.stringify(changes, null, 2)\n    }\n\n    this.notifyService.notify(this.toastTemplate)\n  }\n}\n
'},{title:"HTML",code:'
<vflow\n  [nodes]="nodes"\n  [edges]="edges"\n  (onConnect)="createEdge($event)"\n  (onNodesChange)="handleNodeChanges($event)"\n  (onEdgesChange)="handleEdgeChanges($event)"\n/>\n\n<ng-template #toast>\n  <h3>{{ toastData?.title }}</h3>\n\n  <pre>{{ toastData?.json }}</pre>\n</ng-template>\n
'}],HandlingChangesFilteredDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, inject } from \'@angular/core\';\nimport { NgDocNotifyService } from \'@ng-doc/ui-kit\';\nimport { Connection, Edge, EdgeChange, Node, NodeAddChange, NodeChange, NodePositionChange, NodeSelectedChange, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./handling-changes-filtered-demo.component.html\',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule],\n})\nexport class HandlingChangesFilteredDemoComponent {\n  private notifyService = inject(NgDocNotifyService)\n\n  @ViewChild(\'toast\')\n  public toastTemplate!: TemplateRef<{}>;\n\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: \'default\',\n      text: `1`,\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: \'default\',\n      text: `2`\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public toastData: any = {}\n\n  public createEdge({ source, target }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}`,\n      source,\n      target\n    }]\n  }\n\n  public handleNodePositionChange(change: NodePositionChange) {\n    this.toastData = {\n      title: \'(onNodesChange.position.single)\',\n      json: JSON.stringify(change, null, 2)\n    }\n\n    this.notifyService.notify(this.toastTemplate)\n  }\n\n  public handleNodeSelectChange(change: NodeSelectedChange) {\n    this.toastData = {\n      title: \'(onNodesChange.select.single)\',\n      json: JSON.stringify(change, null, 2)\n    }\n\n    this.notifyService.notify(this.toastTemplate)\n  }\n\n  public handleNodesAddChange(changes: NodeAddChange[]) {\n    this.toastData = {\n      title: \'(onNodesChange.add.many)\',\n      json: JSON.stringify(changes, null, 2)\n    }\n\n    this.notifyService.notify(this.toastTemplate)\n  }\n\n  public handleEdgesAddChange(changes: EdgeChange[]) {\n    this.toastData = {\n      title: \'(onEdgesChange.add)\',\n      json: JSON.stringify(changes, null, 2)\n    }\n\n    this.notifyService.notify(this.toastTemplate)\n  }\n\n  public addNodes() {\n    this.nodes = [...this.nodes,\n    {\n      id: crypto.randomUUID(),\n      point: { x: 0, y: 0 },\n      type: \'default\',\n      text: `random`,\n    },\n    {\n      id: crypto.randomUUID(),\n      point: { x: 300, y: 300 },\n      type: \'default\',\n      text: `random`\n    },\n    ]\n  }\n}\n
'},{title:"HTML",code:'
<button (click)="addNodes()">Add nodes</button>\n\n<vflow\n  [nodes]="nodes"\n  [edges]="edges"\n  (onConnect)="createEdge($event)"\n  (onNodesChange.position.single)="handleNodePositionChange($event)"\n  (onNodesChange.select.single)="handleNodeSelectChange($event)"\n  (onNodesChange.add.many)="handleNodesAddChange($event)"\n  (onEdgesChange.add)="handleEdgesAddChange($event)"\n/>\n\n<ng-template #toast let-ctx>\n  <h3>{{ toastData?.title }}</h3>\n\n  <pre>{{ toastData?.json }}</pre>\n</ng-template>\n
'}]};let j=(()=>{class e extends i.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Handling changes

You can observe changes in the toasts.

You can observe various changes in nodes and edges.

Types of NodeChanges:

  • position - new node position after drag and drop
  • add - when node was created
  • remove - when node was removed
  • select - when node was selected (also triggers for unselected nodes)

Types of EdgeChanges:

  • add - when edge was created
  • remove - when edge was removed
  • select - when edge was selected (also triggers for unselected edges)
  • detached - when edge became invisible due to the absence of the source or target node. Use this to delete such edges from the edges list

There are a several ways to receive these changes:

From (onNodesChange) and (onEdgesChange) outputs

This is a way to get every possible change. Changes came as non empty arrays:

  • (onNodesChange) emits NodeChange[]
  • (onEdgesChange) emits EdgeChange[]
{"expanded":false}

From filtered outputs

For your convenience, here is the filtering scheme for changes based on the (onNodesChange) and (onEdgesChange) events:

  • (onNodesChange.[NodeChangeType]) - a list of node changes of a certain type
  • (onNodesChange.[EdgeChangeType]) - a list of edge changes of a certain type
  • (onNodesChange.[NodeChangeType].[Count]) - a list (many) or single (single) node change of a certain type
  • (onEdgesChange.[EdgeChangeType].[Count]) - a list (many) or single (single) edge change of a certain type

Where:

type NodeChangeType = \'position\' | \'add\' | \'remove\' | \'select\'\n\ntype EdgeChangeType = \'detached\' | \'add\' | \'remove\' | \'select\'\n\n// single - when there is only one change of this type (for example if you drag and drop some node, it\'s consireder as single change)\n// many - when there is more than one change of this type (for example if you deleted several nodes at the same time)\ntype Count = \'single\' | \'many\'\n
{"expanded":false}

List of all possible filter outputs:

\'onNodesChange.position\',\n\'onNodesChange.position.single\',\n\'onNodesChange.position.many\',\n\'onNodesChange.add\',\n\'onNodesChange.add.single\',\n\'onNodesChange.add.many\',\n\'onNodesChange.remove\',\n\'onNodesChange.remove.single\',\n\'onNodesChange.remove.many\',\n\'onNodesChange.select\',\n\'onNodesChange.select.single\',\n\'onNodesChange.select.many\',\n\n\'onEdgesChange.detached\',\n\'onEdgesChange.detached.single\',\n\'onEdgesChange.detached.many\',\n\'onEdgesChange.add\',\n\'onEdgesChange.add.single\',\n\'onEdgesChange.add.many\',\n\'onEdgesChange.remove\',\n\'onEdgesChange.remove.single\',\n\'onEdgesChange.remove.many\',\n\'onEdgesChange.select\',\n\'onEdgesChange.select.single\',\n\'onEdgesChange.select.many\',\n

From componenet itself

{\n  ...\n  @ViewChild(VflowComponent)\n  vflow: VflowComponent\n\n  ngAfterViewInit() {\n    this.vflow.nodesChange$.subscribe((changes) => {\n      // handle node changes\n    })\n\n    this.vflow.edgesChange$.subscribe((changes) => {\n      // handle edges changes\n    })\n  }\n  ...\n}\n
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/handling-changes/index.md?message=docs(handling-changes): describe your changes here...",this.page=t,this.demoAssets=k}static#s=this.\u0275fac=function(a){return new(a||e)};static#n=this.\u0275cmp=s.Xpm({type:e,selectors:[["ng-doc-page-features-handling-changes"]],standalone:!0,features:[s._Bn([{provide:i.a,useExisting:e},x,t.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(a,l){1&a&&s._UZ(0,"ng-doc-page")},dependencies:[f.z],encapsulation:2,changeDetection:0})}return e})();const D=[{...(0,m.isRoute)(t.route)?t.route:{},path:"",component:j,title:"Handling changes"}]}}]); \ No newline at end of file diff --git a/3856.5e7189d0bad70f20.js b/3856.f976724b5ca1f2d1.js similarity index 95% rename from 3856.5e7189d0bad70f20.js rename to 3856.f976724b5ca1f2d1.js index 9805a75d..aea05d67 100644 --- a/3856.5e7189d0bad70f20.js +++ b/3856.f976724b5ca1f2d1.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[3856],{3856:(g,t,e)=>{e.r(t),e.d(t,{DynamicComponent:()=>c,default:()=>d});var o=e(6286),l=e(7134),n=e(5879);let c=(()=>{class s extends o.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/component-node-event.interface.ts?message=docs(ngx-vflow): describe your changes here...#L16",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/component-node-event.interface.ts#L16",this.pageContent='
ngx-vflow / TypeAlias

ComponentNodeEvent

Event of custom component node

Generic accepts array of custom components and merge their event emitters for type-safe event handling

Presentation

type ComponentNodeEvent = { nodeId: string } & {\n  [I in keyof T]: EventsFromComponent<T[I]>;\n}[number];\n
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-doc-page-api-ngx-vflow-type-aliases-component-node-event"]],standalone:!0,features:[n._Bn([{provide:o.a,useExisting:s}]),n.qOj,n.jDz],decls:1,vars:0,template:function(a,h){1&a&&n._UZ(0,"ng-doc-page")},dependencies:[l.z],encapsulation:2,changeDetection:0})}return s})();const d=[{path:"",component:c,title:"ComponentNodeEvent"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[3856],{3856:(g,t,e)=>{e.r(t),e.d(t,{DynamicComponent:()=>c,default:()=>d});var o=e(6286),l=e(7134),n=e(5879);let c=(()=>{class s extends o.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/component-node-event.interface.ts?message=docs(ngx-vflow): describe your changes here...#L17",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/component-node-event.interface.ts#L17",this.pageContent='
ngx-vflow / TypeAlias

ComponentNodeEvent

Event of custom component node

Generic accepts array of custom components and merge their event emitters for type-safe event handling

Presentation

type ComponentNodeEvent = { nodeId: string } & {\n  [I in keyof T]: EventsFromComponent<T[I]>;\n}[number];\n
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-doc-page-api-ngx-vflow-type-aliases-component-node-event"]],standalone:!0,features:[n._Bn([{provide:o.a,useExisting:s}]),n.qOj,n.jDz],decls:1,vars:0,template:function(a,h){1&a&&n._UZ(0,"ng-doc-page")},dependencies:[l.z],encapsulation:2,changeDetection:0})}return s})();const d=[{path:"",component:c,title:"ComponentNodeEvent"}]}}]); \ No newline at end of file diff --git a/3880.804ceeaff0f614a7.js b/3880.804ceeaff0f614a7.js new file mode 100644 index 00000000..7796ba32 --- /dev/null +++ b/3880.804ceeaff0f614a7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[3880],{3880:(p,t,e)=>{e.r(t),e.d(t,{DynamicComponent:()=>c,default:()=>l});var d=e(6286),i=e(7134),n=e(5879);let c=(()=>{class a extends d.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L82",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L82",this.pageContent='
ngx-vflow / Function

isTemplateDynamicNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Presentation

function isTemplateDynamicNode(node: DynamicNode<unknown>): boolean;\n

Parameters

NameTypeDescription
node
DynamicNode<unknown>
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(s){return new(s||a)};static#n=this.\u0275cmp=n.Xpm({type:a,selectors:[["ng-doc-page-api-ngx-vflow-functions-is-template-dynamic-node"]],standalone:!0,features:[n._Bn([{provide:d.a,useExisting:a}]),n.qOj,n.jDz],decls:1,vars:0,template:function(s,h){1&s&&n._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return a})();const l=[{path:"",component:c,title:"isTemplateDynamicNode"}]}}]); \ No newline at end of file diff --git a/3rdpartylicenses.txt b/3rdpartylicenses.txt index a60720b7..24c7b3dd 100644 --- a/3rdpartylicenses.txt +++ b/3rdpartylicenses.txt @@ -633,6 +633,23 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +d3-force +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + d3-interpolate ISC Copyright 2010-2021 Mike Bostock @@ -667,6 +684,23 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +d3-quadtree +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + d3-selection ISC Copyright 2010-2021 Mike Bostock diff --git a/404.html b/404.html index f18863e2..5f2be82b 100644 --- a/404.html +++ b/404.html @@ -9,5 +9,5 @@ - + diff --git a/425.0e3ffdf9c1f3013a.js b/425.0e3ffdf9c1f3013a.js new file mode 100644 index 00000000..2ff65f08 --- /dev/null +++ b/425.0e3ffdf9c1f3013a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[425],{425:(r,s,e)=>{e.r(s),e.d(s,{DynamicComponent:()=>l,default:()=>o});var t=e(6286),c=e(7134),d=e(5879);let l=(()=>{class a extends t.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L35",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L35",this.pageContent='
ngx-vflow / Interface

DefaultDynamicNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Properties

NameTypeDescription
draggable
inherited from SharedDynamicNode
WritableSignal<boolean> | undefined
height
WritableSignal<number> | undefined
id
inherited from SharedDynamicNode
string
point
inherited from SharedDynamicNode
WritableSignal<Point>
text
WritableSignal<string> | undefined
type
"default"
width
WritableSignal<number> | undefined
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(n){return new(n||a)};static#d=this.\u0275cmp=d.Xpm({type:a,selectors:[["ng-doc-page-api-ngx-vflow-interfaces-default-dynamic-node"]],standalone:!0,features:[d._Bn([{provide:t.a,useExisting:a}]),d.qOj,d.jDz],decls:1,vars:0,template:function(n,p){1&n&&d._UZ(0,"ng-doc-page")},dependencies:[c.z],encapsulation:2,changeDetection:0})}return a})();const o=[{path:"",component:l,title:"DefaultDynamicNode"}]}}]); \ No newline at end of file diff --git a/4753.917836fee45253b5.js b/4753.a47db17cd54bcfbb.js similarity index 55% rename from 4753.917836fee45253b5.js rename to 4753.a47db17cd54bcfbb.js index 257d5032..2e190a6e 100644 --- a/4753.917836fee45253b5.js +++ b/4753.a47db17cd54bcfbb.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[4753],{4753:(r,d,e)=>{e.r(d),e.d(d,{DynamicComponent:()=>t,default:()=>g});var l=e(6286),c=e(7134),s=e(5879);let t=(()=>{class n extends l.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/components/vflow/vflow.component.ts?message=docs(ngx-vflow): describe your changes here...#L72",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/components/vflow/vflow.component.ts#L72",this.pageContent='
ngx-vflow / Class /
@Component
/ vflow

VflowComponent

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Properties

NameTypeDescription
@Input
background
string | Background

Background for flow

@ContentChild
p connectionTemplateDirective
ConnectionTemplateDirective | undefined
@ContentChild
p edgeLabelHtmlDirective
EdgeLabelHtmlTemplateDirective | undefined
p edgeModels
Signal<EdgeModel[]>
r edgesChange
Signal<EdgeChange[]>

Signal to reading edges change

r edgesChange$
Observable<EdgeChange[]>

Observable with edges change

@ContentChild
p edgeTemplateDirective
EdgeTemplateDirective | undefined
@ViewChild
p mapContext
MapContextDirective
p markers
Signal<Map<number, Marker>>
@ContentChild
p nodeHtmlDirective
NodeHtmlTemplateDirective | undefined
p nodeModels
Signal<NodeModel<unknown>[]>
r nodesChange
Signal<NodeChange[]>

Signal for reading nodes change

r nodesChange$
Observable<NodeChange[]>

Observable with nodes change

@Output
onComponentNodeEvent
any

Event that accumulates all custom node events

@ViewChild
p spacePointContext
SpacePointContextDirective
r viewport
Signal<ViewportState>

Signal for reading viewport change

r viewportChange$
Observable<ViewportState>

Observable with viewport change

Accessors

get connection

No documentation has been provided.
Presentation
get connection(): ConnectionModel;\n
Type

ConnectionModel

@Input

set connection

Settings for connection (it renders when user tries to create edge between nodes)

You need to pass ConnectionSettings in this input.

Presentation
set connection(connection: ConnectionModel);\n
Type

ConnectionModel

@Input

set edges

Edges to render

Presentation
set edges(newEdges: Edge<unknown>[]);\n
Type

Edge<unknown>[]

@Input

set entitiesSelectable

Global rule if you can or can\'t select entities

Presentation
set entitiesSelectable(value: boolean);\n
Type

boolean

@Input

set handlePositions

Object that controls flow direction.

For example, if you want to archieve right to left direction then you need to pass these positions { source: \'left\', target: \'right\' }

Presentation
set handlePositions(handlePositions: HandlePositions);\n
Type

HandlePositions

@Input

set maxZoom

Maximum zoom value

Presentation
set maxZoom(value: number);\n
Type

number

@Input

set minZoom

Minimum zoom value

Presentation
set minZoom(value: number);\n
Type

number

@Input

set nodes

Nodes to render

Presentation
set nodes(newNodes: Node[]);\n
Type

Node[]

@Input

set view

Size for flow view

accepts

  • absolute size in format [width, height] or
  • \'auto\' to compute size based on parent element size
Presentation
set view(view: [number, number] | "auto");\n
Type

[number, number] | "auto"

Methods

documentPointToFlowPoint()

Convert point received from document to point on the flow

Presentation
documentPointToFlowPoint(point: Point): Point;\n
Parameters
NameTypeDescription
point
Point
Returns

Point

fitView()

No documentation has been provided.
Presentation
fitView(options?: FitViewOptions | undefined): void;\n
Parameters
NameTypeDescription
options
FitViewOptions | undefined
Returns

void

getDetachedEdges()

Sync method to get detached edges

Presentation
getDetachedEdges(): Edge<unknown>[];\n
Returns

Edge<unknown>[]

getNode()

Get node by id

Presentation
getNode(id: string): Node<T> | undefined;\n
Parameters
NameTypeDescription
id
string

node id

Returns

Node<T> | undefined

panTo()

Move to specified coordinate

Presentation
panTo(point: Point): void;\n
Parameters
NameTypeDescription
point
Point

point where to move

Returns

void

protected

trackEdges()

No documentation has been provided.
Presentation
protected trackEdges(idx: number, { edge }: EdgeModel): Edge<unknown>;\n
Parameters
NameTypeDescription
idx
number
{ edge }
EdgeModel
Returns

Edge<unknown>

protected

trackNodes()

No documentation has been provided.
Presentation
protected trackNodes(idx: number, { node }: NodeModel<unknown>): Node<unknown>;\n
Parameters
NameTypeDescription
idx
number
{ node }
NodeModel<unknown>
Returns

Node<unknown>

viewportTo()

Change viewport to specified state

Presentation
viewportTo(viewport: ViewportState): void;\n
Parameters
NameTypeDescription
viewport
ViewportState

viewport state

Returns

void

zoomTo()

Change zoom

Presentation
zoomTo(zoom: number): void;\n
Parameters
NameTypeDescription
zoom
number

zoom value

Returns

void

',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(a){return new(a||n)};static#s=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-api-ngx-vflow-classes-vflow-component"]],standalone:!0,features:[s._Bn([{provide:l.a,useExisting:n}]),s.qOj,s.jDz],decls:1,vars:0,template:function(a,h){1&a&&s._UZ(0,"ng-doc-page")},dependencies:[c.z],encapsulation:2,changeDetection:0})}return n})();const g=[{path:"",component:t,title:"VflowComponent"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[4753],{4753:(r,d,e)=>{e.r(d),e.d(d,{DynamicComponent:()=>t,default:()=>g});var l=e(6286),c=e(7134),s=e(5879);let t=(()=>{class a extends l.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/components/vflow/vflow.component.ts?message=docs(ngx-vflow): describe your changes here...#L72",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/components/vflow/vflow.component.ts#L72",this.pageContent='
ngx-vflow / Class /
@Component
/ vflow

VflowComponent

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Properties

NameTypeDescription
@Input
background
string | Background

Background for flow

@ContentChild
p connectionTemplateDirective
ConnectionTemplateDirective | undefined
@ContentChild
p edgeLabelHtmlDirective
EdgeLabelHtmlTemplateDirective | undefined
p edgeModels
Signal<EdgeModel[]>
r edgesChange
Signal<EdgeChange[]>

Signal to reading edges change

r edgesChange$
Observable<EdgeChange[]>

Observable with edges change

@ContentChild
p edgeTemplateDirective
EdgeTemplateDirective | undefined
@ViewChild
p mapContext
MapContextDirective
p markers
Signal<Map<number, Marker>>
@ContentChild
p nodeHtmlDirective
NodeHtmlTemplateDirective | undefined
p nodeModels
Signal<NodeModel<unknown>[]>
r nodesChange
Signal<NodeChange[]>

Signal for reading nodes change

r nodesChange$
Observable<NodeChange[]>

Observable with nodes change

@Output
onComponentNodeEvent
any

Event that accumulates all custom node events

@ViewChild
p spacePointContext
SpacePointContextDirective
r viewport
Signal<ViewportState>

Signal for reading viewport change

r viewportChange$
Observable<ViewportState>

Observable with viewport change

Accessors

get connection

No documentation has been provided.
Presentation
get connection(): ConnectionModel;\n
Type

ConnectionModel

@Input

set connection

Settings for connection (it renders when user tries to create edge between nodes)

You need to pass ConnectionSettings in this input.

Presentation
set connection(connection: ConnectionModel);\n
Type

ConnectionModel

@Input

set edges

Edges to render

Presentation
set edges(newEdges: Edge<unknown>[]);\n
Type

Edge<unknown>[]

@Input

set entitiesSelectable

Global rule if you can or can\'t select entities

Presentation
set entitiesSelectable(value: boolean);\n
Type

boolean

@Input

set handlePositions

Object that controls flow direction.

For example, if you want to archieve right to left direction then you need to pass these positions { source: \'left\', target: \'right\' }

Presentation
set handlePositions(handlePositions: HandlePositions);\n
Type

HandlePositions

@Input

set maxZoom

Maximum zoom value

Presentation
set maxZoom(value: number);\n
Type

number

@Input

set minZoom

Minimum zoom value

Presentation
set minZoom(value: number);\n
Type

number

@Input

set nodes

Nodes to render

Presentation
set nodes(newNodes: Node[] | DynamicNode[]);\n
Type

Node[] | DynamicNode[]

@Input

set view

Size for flow view

accepts

  • absolute size in format [width, height] or
  • \'auto\' to compute size based on parent element size
Presentation
set view(view: [number, number] | "auto");\n
Type

[number, number] | "auto"

Methods

documentPointToFlowPoint()

Convert point received from document to point on the flow

Presentation
documentPointToFlowPoint(point: Point): Point;\n
Parameters
NameTypeDescription
point
Point
Returns

Point

fitView()

No documentation has been provided.
Presentation
fitView(options?: FitViewOptions | undefined): void;\n
Parameters
NameTypeDescription
options
FitViewOptions | undefined
Returns

void

getDetachedEdges()

Sync method to get detached edges

Presentation
getDetachedEdges(): Edge<unknown>[];\n
Returns

Edge<unknown>[]

getNode()

Get node by id

Presentation
getNode(id: string): Node<T> | DynamicNode<T> | undefined;\n
Parameters
NameTypeDescription
id
string

node id

Returns

Node<T> | DynamicNode<T> | undefined

panTo()

Move to specified coordinate

Presentation
panTo(point: Point): void;\n
Parameters
NameTypeDescription
point
Point

point where to move

Returns

void

protected

trackEdges()

No documentation has been provided.
Presentation
protected trackEdges(idx: number, { edge }: EdgeModel): Edge<unknown>;\n
Parameters
NameTypeDescription
idx
number
{ edge }
EdgeModel
Returns

Edge<unknown>

protected

trackNodes()

No documentation has been provided.
Presentation
protected trackNodes(idx: number, { node }: NodeModel<unknown>): Node<unknown> | DynamicNode<unknown>;\n
Parameters
NameTypeDescription
idx
number
{ node }
NodeModel<unknown>
Returns

Node<unknown> | DynamicNode<unknown>

viewportTo()

Change viewport to specified state

Presentation
viewportTo(viewport: ViewportState): void;\n
Parameters
NameTypeDescription
viewport
ViewportState

viewport state

Returns

void

zoomTo()

Change zoom

Presentation
zoomTo(zoom: number): void;\n
Parameters
NameTypeDescription
zoom
number

zoom value

Returns

void

',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(n){return new(n||a)};static#s=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-doc-page-api-ngx-vflow-classes-vflow-component"]],standalone:!0,features:[s._Bn([{provide:l.a,useExisting:a}]),s.qOj,s.jDz],decls:1,vars:0,template:function(n,h){1&n&&s._UZ(0,"ng-doc-page")},dependencies:[c.z],encapsulation:2,changeDetection:0})}return a})();const g=[{path:"",component:t,title:"VflowComponent"}]}}]); \ No newline at end of file diff --git a/4999.539e3a5f4d2efda9.js b/4999.539e3a5f4d2efda9.js new file mode 100644 index 00000000..6c59abee --- /dev/null +++ b/4999.539e3a5f4d2efda9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[4999],{4999:(p,t,e)=>{e.r(t),e.d(t,{DynamicComponent:()=>c,default:()=>l});var d=e(6286),i=e(7134),n=e(5879);let c=(()=>{class a extends d.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L90",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L90",this.pageContent='
ngx-vflow / Function

isDefaultDynamicNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Presentation

function isDefaultDynamicNode(node: DynamicNode<unknown>): boolean;\n

Parameters

NameTypeDescription
node
DynamicNode<unknown>
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(s){return new(s||a)};static#n=this.\u0275cmp=n.Xpm({type:a,selectors:[["ng-doc-page-api-ngx-vflow-functions-is-default-dynamic-node"]],standalone:!0,features:[n._Bn([{provide:d.a,useExisting:a}]),n.qOj,n.jDz],decls:1,vars:0,template:function(s,h){1&s&&n._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return a})();const l=[{path:"",component:c,title:"isDefaultDynamicNode"}]}}]); \ No newline at end of file diff --git a/5580.aedb6c0e675fe6ae.js b/5580.36de5fd1dab113ff.js similarity index 99% rename from 5580.aedb6c0e675fe6ae.js rename to 5580.36de5fd1dab113ff.js index 080978c0..24839a20 100644 --- a/5580.aedb6c0e675fe6ae.js +++ b/5580.36de5fd1dab113ff.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[5580],{5580:(D,d,a)=>{a.r(d),a.d(d,{DynamicComponent:()=>o,default:()=>S});var g=a(6286),r=a(7134),h=a(9143),j=a(2936),m=a(2898),s=a(5879),u=a(7146),b=a(2274),f=a(2757),i=a(8874);function x(n,t){1&n&&(s.TgZ(0,"div",3)(1,"button",4),s._uU(2,"Select here"),s.qZA(),s._UZ(3,"handle",5),s.qZA()),2&n&&s.ekj("custom-node_selected",t.$implicit.selected())}function y(n,t){if(1&n&&(s.O4$(),s._UZ(0,"path",6)),2&n){const e=t.$implicit;s.uIk("d",e.path())("stroke",e.selected()?"#0f4c75":"#bbe1fa")}}const p={title:"Selecting",mdFile:"./index.md",category:j.Z,demos:{SelectingDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:10,y:150},type:"html-template"},{id:"2",point:{x:290,y:50},type:"default",text:"Selectable"},{id:"3",point:{x:290,y:300},type:"default",text:"Selectable"}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3",type:"template"}]}static#s=this.\u0275fac=function(l){return new(l||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:4,vars:2,consts:[[3,"nodes","edges"],["nodeHtml",""],["edge",""],[1,"custom-node"],["selectable","",1,"custom-node__button"],["type","source","position","right"],["selectable","","fill","none","stroke-width","2"]],template:function(l,c){1&l&&(s.TgZ(0,"vflow",0),s.YNc(1,x,4,2,"ng-template",1),s.YNc(2,y,1,2,"ng-template",2),s.qZA(),s._uU(3,"`\n")),2&l&&s.Q6J("nodes",c.nodes)("edges",c.edges)},dependencies:[m.p,u.t,b.M,f.h,i.QC,i.o6],styles:[".custom-node[_ngcontent-%COMP%]{width:150px;height:100px;background:#bbe1fa;border:1px solid gray;border-radius:5px;display:flex;align-items:center;justify-content:center}.custom-node__button[_ngcontent-%COMP%]{border:0;outline:0;cursor:pointer;color:#fff;background-color:#1b262c;border-radius:4px;font-size:14px;font-weight:500;padding:4px 8px;display:inline-block;min-height:28px}.custom-node_selected[_ngcontent-%COMP%]{border-color:#1b262c}"],changeDetection:0})}return n})()},order:2},C=[],w={SelectingDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./selecting-demo.component.html\',\n  styleUrls: [\'./selecting-demo.component.scss\'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class SelectingDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 150 },\n      type: \'html-template\',\n    },\n    {\n      id: \'2\',\n      point: { x: 290, y: 50 },\n      type: \'default\',\n      text: \'Selectable\'\n    },\n    {\n      id: \'3\',\n      point: { x: 290, y: 300 },\n      type: \'default\',\n      text: \'Selectable\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      type: \'template\'\n    },\n  ]\n}\n
'},{title:"HTML",code:'
<vflow [nodes]="nodes" [edges]="edges">\n  <ng-template nodeHtml let-ctx>\n    <div class="custom-node" [class.custom-node_selected]="ctx.selected()">\n      <button class="custom-node__button" selectable>Select here</button>\n\n      <handle type="source" position="right" />\n    </div>\n  </ng-template>\n\n  <ng-template edge let-ctx>\n    <svg:path\n      selectable\n      [attr.d]="ctx.path()"\n      [attr.stroke]="ctx.selected() ? \'#0f4c75\' : \'#bbe1fa\'"\n      fill="none"\n      stroke-width="2"\n    />\n  </ng-template>\n</vflow>`\n
'},{title:"SCSS",code:'
.custom-node {\n  width: 150px;\n  height: 100px;\n  background: #bbe1fa;\n  border: 1px solid gray;\n  border-radius: 5px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  &__button {\n    border: 0;\n    outline: 0;\n    cursor: pointer;\n    color: white;\n    background-color: #1b262c;\n    border-radius: 4px;\n    font-size: 14px;\n    font-weight: 500;\n    padding: 4px 8px;\n    display: inline-block;\n    min-height: 28px;\n  }\n\n  &_selected {\n    border-color: #1b262c;\n  }\n}\n
'}]};let o=(()=>{class n extends g.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Selecting

Nodes and edges can be selected!

  1. Default nodes and edges are selectable by default; just click and see that one is selected.
  2. Custom nodes and edges are not selectable by default, you need to mark the element that triggers selection with the selectable directive.

Both custom nodes and edges have the selected() signal in their template context for applying styles based on this state.

Disable selecting

You can pass [entitiesSelectable]="false" to <vflow /> if you want disable selecting for whole flow.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/selecting/index.md?message=docs(selecting): describe your changes here...",this.page=p,this.demoAssets=w}static#s=this.\u0275fac=function(l){return new(l||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-selecting"]],standalone:!0,features:[s._Bn([{provide:g.a,useExisting:n},C,p.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(l,c){1&l&&s._UZ(0,"ng-doc-page")},dependencies:[r.z],encapsulation:2,changeDetection:0})}return n})();const S=[{...(0,h.isRoute)(p.route)?p.route:{},path:"",component:o,title:"Selecting"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[5580],{5580:(D,d,a)=>{a.r(d),a.d(d,{DynamicComponent:()=>o,default:()=>S});var g=a(6286),r=a(7134),h=a(9143),j=a(2936),m=a(2898),s=a(5879),u=a(8944),b=a(2274),f=a(2757),i=a(8874);function x(n,t){1&n&&(s.TgZ(0,"div",3)(1,"button",4),s._uU(2,"Select here"),s.qZA(),s._UZ(3,"handle",5),s.qZA()),2&n&&s.ekj("custom-node_selected",t.$implicit.selected())}function y(n,t){if(1&n&&(s.O4$(),s._UZ(0,"path",6)),2&n){const e=t.$implicit;s.uIk("d",e.path())("stroke",e.selected()?"#0f4c75":"#bbe1fa")}}const p={title:"Selecting",mdFile:"./index.md",category:j.Z,demos:{SelectingDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:10,y:150},type:"html-template"},{id:"2",point:{x:290,y:50},type:"default",text:"Selectable"},{id:"3",point:{x:290,y:300},type:"default",text:"Selectable"}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3",type:"template"}]}static#s=this.\u0275fac=function(l){return new(l||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:4,vars:2,consts:[[3,"nodes","edges"],["nodeHtml",""],["edge",""],[1,"custom-node"],["selectable","",1,"custom-node__button"],["type","source","position","right"],["selectable","","fill","none","stroke-width","2"]],template:function(l,c){1&l&&(s.TgZ(0,"vflow",0),s.YNc(1,x,4,2,"ng-template",1),s.YNc(2,y,1,2,"ng-template",2),s.qZA(),s._uU(3,"`\n")),2&l&&s.Q6J("nodes",c.nodes)("edges",c.edges)},dependencies:[m.p,u.t,b.M,f.h,i.QC,i.o6],styles:[".custom-node[_ngcontent-%COMP%]{width:150px;height:100px;background:#bbe1fa;border:1px solid gray;border-radius:5px;display:flex;align-items:center;justify-content:center}.custom-node__button[_ngcontent-%COMP%]{border:0;outline:0;cursor:pointer;color:#fff;background-color:#1b262c;border-radius:4px;font-size:14px;font-weight:500;padding:4px 8px;display:inline-block;min-height:28px}.custom-node_selected[_ngcontent-%COMP%]{border-color:#1b262c}"],changeDetection:0})}return n})()},order:2},C=[],w={SelectingDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./selecting-demo.component.html\',\n  styleUrls: [\'./selecting-demo.component.scss\'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class SelectingDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 150 },\n      type: \'html-template\',\n    },\n    {\n      id: \'2\',\n      point: { x: 290, y: 50 },\n      type: \'default\',\n      text: \'Selectable\'\n    },\n    {\n      id: \'3\',\n      point: { x: 290, y: 300 },\n      type: \'default\',\n      text: \'Selectable\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      type: \'template\'\n    },\n  ]\n}\n
'},{title:"HTML",code:'
<vflow [nodes]="nodes" [edges]="edges">\n  <ng-template nodeHtml let-ctx>\n    <div class="custom-node" [class.custom-node_selected]="ctx.selected()">\n      <button class="custom-node__button" selectable>Select here</button>\n\n      <handle type="source" position="right" />\n    </div>\n  </ng-template>\n\n  <ng-template edge let-ctx>\n    <svg:path\n      selectable\n      [attr.d]="ctx.path()"\n      [attr.stroke]="ctx.selected() ? \'#0f4c75\' : \'#bbe1fa\'"\n      fill="none"\n      stroke-width="2"\n    />\n  </ng-template>\n</vflow>`\n
'},{title:"SCSS",code:'
.custom-node {\n  width: 150px;\n  height: 100px;\n  background: #bbe1fa;\n  border: 1px solid gray;\n  border-radius: 5px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  &__button {\n    border: 0;\n    outline: 0;\n    cursor: pointer;\n    color: white;\n    background-color: #1b262c;\n    border-radius: 4px;\n    font-size: 14px;\n    font-weight: 500;\n    padding: 4px 8px;\n    display: inline-block;\n    min-height: 28px;\n  }\n\n  &_selected {\n    border-color: #1b262c;\n  }\n}\n
'}]};let o=(()=>{class n extends g.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Selecting

Nodes and edges can be selected!

  1. Default nodes and edges are selectable by default; just click and see that one is selected.
  2. Custom nodes and edges are not selectable by default, you need to mark the element that triggers selection with the selectable directive.

Both custom nodes and edges have the selected() signal in their template context for applying styles based on this state.

Disable selecting

You can pass [entitiesSelectable]="false" to <vflow /> if you want disable selecting for whole flow.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/selecting/index.md?message=docs(selecting): describe your changes here...",this.page=p,this.demoAssets=w}static#s=this.\u0275fac=function(l){return new(l||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-selecting"]],standalone:!0,features:[s._Bn([{provide:g.a,useExisting:n},C,p.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(l,c){1&l&&s._UZ(0,"ng-doc-page")},dependencies:[r.z],encapsulation:2,changeDetection:0})}return n})();const S=[{...(0,h.isRoute)(p.route)?p.route:{},path:"",component:o,title:"Selecting"}]}}]); \ No newline at end of file diff --git a/5659.089eeaaf746e577f.js b/5659.089eeaaf746e577f.js new file mode 100644 index 00000000..c969bb6a --- /dev/null +++ b/5659.089eeaaf746e577f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[5659],{5659:(r,s,e)=>{e.r(s),e.d(s,{DynamicComponent:()=>i,default:()=>o});var t=e(6286),c=e(7134),n=e(5879);let i=(()=>{class a extends t.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L22",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L22",this.pageContent='
ngx-vflow / Interface

SharedDynamicNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Properties

NameTypeDescription
draggable
WritableSignal<boolean> | undefined
id
string
point
WritableSignal<Point>
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(d){return new(d||a)};static#n=this.\u0275cmp=n.Xpm({type:a,selectors:[["ng-doc-page-api-ngx-vflow-interfaces-shared-dynamic-node"]],standalone:!0,features:[n._Bn([{provide:t.a,useExisting:a}]),n.qOj,n.jDz],decls:1,vars:0,template:function(d,h){1&d&&n._UZ(0,"ng-doc-page")},dependencies:[c.z],encapsulation:2,changeDetection:0})}return a})();const o=[{path:"",component:i,title:"SharedDynamicNode"}]}}]); \ No newline at end of file diff --git a/6112.47ef184b1c6fecc2.js b/6112.47ef184b1c6fecc2.js new file mode 100644 index 00000000..fd227ac2 --- /dev/null +++ b/6112.47ef184b1c6fecc2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[6112],{6112:(h,n,l)=>{l.r(n),l.d(n,{default:()=>d});const d=[{path:"",redirectTo:"choose-direction",pathMatch:"full"},{path:"",title:"Features",children:[{path:"choose-direction",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(8110)]).then(l.bind(l,8110))},{path:"connection-validation",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(3715)]).then(l.bind(l,3715))},{path:"custom-background",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(7576)]).then(l.bind(l,7576))},{path:"custom-handles",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(9)]).then(l.bind(l,9))},{path:"curves",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(7851)]).then(l.bind(l,7851))},{path:"custom-edges",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(6945)]).then(l.bind(l,6945))},{path:"default-nodes",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(8030)]).then(l.bind(l,8030))},{path:"draggables",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(8808)]).then(l.bind(l,8808))},{path:"handling-changes",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(3842)]).then(l.bind(l,3842))},{path:"connection",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(108)]).then(l.bind(l,108))},{path:"custom-nodes",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(9218)]).then(l.bind(l,9218))},{path:"dynamic-vs-static-nodes",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(8722)]).then(l.bind(l,8722))},{path:"default-edges",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(3598)]).then(l.bind(l,3598))},{path:"markers",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(9717)]).then(l.bind(l,9717))},{path:"labels",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(7426)]).then(l.bind(l,7426))},{path:"view-size",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(6921)]).then(l.bind(l,6921))},{path:"selecting",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(5580)]).then(l.bind(l,5580))},{path:"multiple-connection-points",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(240)]).then(l.bind(l,240))}]}]}}]); \ No newline at end of file diff --git a/6112.a9bd28f2cfaeb20a.js b/6112.a9bd28f2cfaeb20a.js deleted file mode 100644 index 05af3ff5..00000000 --- a/6112.a9bd28f2cfaeb20a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[6112],{6112:(h,n,l)=>{l.r(n),l.d(n,{default:()=>d});const d=[{path:"",redirectTo:"custom-edges",pathMatch:"full"},{path:"",title:"Features",children:[{path:"custom-edges",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(6945)]).then(l.bind(l,6945))},{path:"choose-direction",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(8110)]).then(l.bind(l,8110))},{path:"custom-handles",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(9)]).then(l.bind(l,9))},{path:"connection-validation",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(3715)]).then(l.bind(l,3715))},{path:"custom-background",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(7576)]).then(l.bind(l,7576))},{path:"curves",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(7851)]).then(l.bind(l,7851))},{path:"connection",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(108)]).then(l.bind(l,108))},{path:"multiple-connection-points",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(240)]).then(l.bind(l,240))},{path:"default-edges",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(3598)]).then(l.bind(l,3598))},{path:"default-nodes",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(8030)]).then(l.bind(l,8030))},{path:"draggables",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(8808)]).then(l.bind(l,8808))},{path:"handling-changes",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(3842)]).then(l.bind(l,3842))},{path:"selecting",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(5580)]).then(l.bind(l,5580))},{path:"markers",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(9717)]).then(l.bind(l,9717))},{path:"custom-nodes",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(9218)]).then(l.bind(l,9218))},{path:"view-size",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(6921)]).then(l.bind(l,6921))},{path:"labels",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(7426)]).then(l.bind(l,7426))}]}]}}]); \ No newline at end of file diff --git a/6774.3fd69d981b34daed.js b/6774.3fd69d981b34daed.js new file mode 100644 index 00000000..e1b341d8 --- /dev/null +++ b/6774.3fd69d981b34daed.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[6774],{6774:(H,h,p)=>{p.r(h),p.d(h,{DynamicComponent:()=>y,default:()=>z});var j=p(6286),w=p(7134),C=p(9143),v=p(1480),s=p(5879),u=p(101),i=p(2898),m=p(3870),_=p(8944),f=p(8874),x=p(2274);function b(a,c){if(1&a&&(s.O4$(),s._UZ(0,"path",3)),2&a){const n=c.$implicit;s.uIk("d",n.path())("stroke-width",4)("stroke",n.edge.data.color)("marker-end",n.markerEnd())}}function k(a,c){if(1&a){const n=s.EpF();s.TgZ(0,"div",4),s.NdJ("click",function(){const t=s.CHM(n).$implicit,d=s.oxw();return s.KtG(d.deleteEdge(t.edge))}),s._uU(1,"Delete"),s.qZA()}2&a&&s.Udp("background-color",c.$implicit.label.data.color)}const N=function(){return{type:"dots"}};function D(a,c){if(1&a&&(s.O4$(),s._UZ(0,"rect",8)),2&a){const n=c.$implicit;s.ekj("handle_idle","idle"===n.state())("handle_valid","valid"===n.state())("handle_invalid","invalid"===n.state()),s.uIk("x",n.point().x-5)("y",n.point().y-5)}}let M=(()=>{class a{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"Default"},{id:"2",point:{x:200,y:10},type:"default",text:"Resized",width:100,height:100},{id:"3",point:{x:200,y:270},type:A,draggable:!1},{id:"4",point:{x:600,y:150},type:T,data:{id:{one:(0,s.tdS)(""),two:(0,s.tdS)(""),three:(0,s.tdS)("")}}}],this.edges=[{id:"1 -> 2",source:"1",target:"2",markers:{end:{type:"arrow-closed"}}},{id:"1 -> 3",source:"1",target:"3",curve:"straight",markers:{end:{type:"arrow"}}},{id:"3 -> 4-three",source:"3",target:"4",targetHandle:"three"}],this.connection={validator:n=>"3"!==n.source}}handleConnect(n){if("4"===n.target){const l=this.nodes.filter(u.bb).find(d=>"4"===d.id)?.data,t=this.nodes.filter(u.tc).find(d=>d.id===n.source);t&&("one"===n.targetHandle&&l.id.one.set(t.text??""),"two"===n.targetHandle&&l.id.two.set(t.text??""),"three"===n.targetHandle&&l.id.three.set(t.text??""))}const e=function S(){const a=[0,1,2,3,4,5,6,7,8,9,"A","B","C","D","E","F"];let c="#";for(let n=0;n<6;n++)c+=a[Math.floor(Math.random()*a.length)];return c}();this.edges=[...this.edges,{id:crypto.randomUUID(),type:"template",data:{color:e},markers:{end:{type:"arrow-closed",width:30,height:30,color:e}},edgeLabels:{center:{type:"html-template",data:{color:e}}},...n}]}deleteEdge(n){this.edges=this.edges.filter(e=>e!==n)}static#s=this.\u0275fac=function(e){return new(e||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:3,vars:5,consts:[["view","auto",3,"nodes","edges","connection","background","onConnect"],["edge",""],["edgeLabelHtml",""],["fill","none"],[1,"label",3,"click"]],template:function(e,l){1&e&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(d){return l.handleConnect(d)}),s.YNc(1,b,1,4,"ng-template",1),s.YNc(2,k,2,2,"ng-template",2),s.qZA()),2&e&&s.Q6J("nodes",l.nodes)("edges",l.edges)("connection",l.connection)("background",s.DdM(4,N))},dependencies:[i.p,_.t,f.B,f.o6],styles:["[_nghost-%COMP%]{width:100%;height:100%}.label[_ngcontent-%COMP%]{width:60px;height:25px;background-color:#122c26;border-radius:5px;text-align:center}"],changeDetection:0})}return a})(),A=(()=>{class a extends m.L{static#s=this.\u0275fac=function(){let n;return function(l){return(n||(n=s.n5z(a)))(l||a)}}();static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.qOj,s.jDz],decls:4,vars:0,consts:[[1,"node"],["type","target","position","top"],["type","source","position","bottom"]],template:function(e,l){1&e&&(s.TgZ(0,"div",0),s._uU(1," Custom node! "),s._UZ(2,"handle",1)(3,"handle",2),s.qZA())},dependencies:[i.p,x.M],styles:[".node[_ngcontent-%COMP%]{width:150px;height:100px;background:#bbe1fa;border:1px solid gray;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#000}"]})}return a})(),T=(()=>{class a extends m.L{static#s=this.\u0275fac=function(){let n;return function(l){return(n||(n=s.n5z(a)))(l||a)}}();static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.qOj,s.jDz],decls:12,vars:6,consts:[[1,"node"],[1,"control-wrapper"],[1,"input",3,"value"],["type","target","position","left","id","one",3,"template"],["type","target","position","left","id","two",3,"template"],[1,"control-wrapper","control-wrapper_last"],["type","target","position","left","id","three",3,"template"],["squareHandleTemplate",""],["width","10","height","10","stroke-width","1","stroke","black","rx","1","ry","1"]],template:function(e,l){if(1&e&&(s.TgZ(0,"div",0)(1,"div",1),s._UZ(2,"input",2)(3,"handle",3),s.qZA(),s.TgZ(4,"div",1),s._UZ(5,"input",2)(6,"handle",4),s.qZA(),s.TgZ(7,"div",5),s._UZ(8,"input",2)(9,"handle",6),s.qZA()(),s.YNc(10,D,1,8,"ng-template",null,7,s.W1O)),2&e){const t=s.MAs(11);let d,o,r;s.xp6(2),s.Q6J("value",null==(d=l.data())||null==d.id?null:d.id.one()),s.xp6(1),s.Q6J("template",t),s.xp6(2),s.Q6J("value",null==(o=l.data())||null==o.id?null:o.id.two()),s.xp6(1),s.Q6J("template",t),s.xp6(2),s.Q6J("value",null==(r=l.data())||null==r.id?null:r.id.three()),s.xp6(1),s.Q6J("template",t)}},dependencies:[i.p,x.M],styles:[".node[_ngcontent-%COMP%]{width:150px;background:#bbe1fa;border:1px solid gray;border-radius:5px;color:#000;padding:10px}.input[_ngcontent-%COMP%]{width:130px}.control-wrapper[_ngcontent-%COMP%]{margin-bottom:20px}.control-wrapper_last[_ngcontent-%COMP%]{margin-bottom:0}.handle_idle[_ngcontent-%COMP%]{fill:#fff}.handle_valid[_ngcontent-%COMP%]{fill:green}.handle_invalid[_ngcontent-%COMP%]{fill:red}"]})}return a})();const g={title:"What is ngx-vflow",mdFile:"./index.md",category:v.Z,order:1,demos:{AllFeaturesDemoComponent:M}},F=[],O={AllFeaturesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component, WritableSignal, signal } from "@angular/core"\nimport { VflowModule, Node, Edge, CustomNodeComponent, Connection, ConnectionSettings, isComponentStaticNode, isDefaultStaticNode } from "projects/ngx-vflow-lib/src/public-api"\n\n@Component({\n  template: `<vflow\n    [nodes]="nodes"\n    [edges]="edges"\n    [connection]="connection"\n    [background]="{ type: \'dots\' }"\n    view="auto"\n    (onConnect)="handleConnect($event)"\n  >\n    <ng-template edge let-ctx>\n      <svg:path\n        [attr.d]="ctx.path()"\n        [attr.stroke-width]="4"\n        [attr.stroke]="ctx.edge.data.color"\n        [attr.marker-end]="ctx.markerEnd()"\n        fill="none"\n      />\n    </ng-template>\n\n    <ng-template edgeLabelHtml let-ctx>\n      <div\n        class="label"\n        [style.background-color]="ctx.label.data.color"\n        (click)="deleteEdge(ctx.edge)">Delete</div>\n    </ng-template>\n  </vflow>`,\n  styles: [`\n    :host {\n      width: 100%;\n      height: 100%;\n    }\n\n    .label {\n      width: 60px;\n      height: 25px;\n      background-color: #122c26;\n      border-radius: 5px;\n      text-align: center;\n    }\n  `],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class AllFeaturesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'Default\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 10 },\n      type: \'default\',\n      text: `Resized`,\n      width: 100,\n      height: 100\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 270 },\n      type: SimpleCustomNodeComponent,\n      draggable: false\n    },\n    {\n      id: \'4\',\n      point: { x: 600, y: 150 },\n      type: ComplexCustomNodeComponent,\n      data: {\n        id: {\n          one: signal(\'\'),\n          two: signal(\'\'),\n          three: signal(\'\'),\n        },\n      }\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      markers: { end: { type: \'arrow-closed\' } }\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      curve: \'straight\',\n      markers: { end: { type: \'arrow\' } }\n    },\n    {\n      id: \'3 -> 4-three\',\n      source: \'3\',\n      target: \'4\',\n      targetHandle: \'three\',\n    },\n  ]\n\n  public connection: ConnectionSettings = {\n    validator(connection) {\n      if (connection.source === \'3\') {\n        return false\n      }\n\n      return true\n    }\n  }\n\n  handleConnect(connection: Connection) {\n    if (connection.target === \'4\') {\n      const data = this.nodes\n        .filter(isComponentStaticNode)\n        .find(n => n.id === \'4\')?.data as ComplexCustomNodeData\n\n      const sourceNode = this.nodes\n        .filter(isDefaultStaticNode)\n        .find(n => n.id === connection.source)\n\n      if (sourceNode) {\n        if (connection.targetHandle === \'one\') {\n          data.id.one.set(sourceNode.text ?? \'\')\n        }\n        if (connection.targetHandle === \'two\') {\n          data.id.two.set(sourceNode.text ?? \'\')\n        }\n        if (connection.targetHandle === \'three\') {\n          data.id.three.set(sourceNode.text ?? \'\')\n        }\n      }\n\n    }\n\n    const color = randomHex()\n    this.edges = [...this.edges, {\n      id: crypto.randomUUID(),\n      type: \'template\',\n      data: {\n        color\n      },\n      markers: {\n        end: {\n          type: \'arrow-closed\',\n          width: 30,\n          height: 30,\n          color\n        }\n      },\n      edgeLabels: {\n        center: {\n          type: \'html-template\',\n          data: { color }\n        }\n      },\n      ...connection\n    }]\n  }\n\n  public deleteEdge(edge: Edge) {\n    this.edges = this.edges.filter(e => e !== edge)\n  }\n}\n\nfunction randomHex() {\n  const hexValues = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, \'A\', \'B\', \'C\', \'D\', \'E\', \'F\'];\n\n  let hex = \'#\';\n\n  for (let i = 0; i < 6; i++) {\n    const index = Math.floor(Math.random() * hexValues.length)\n    hex += hexValues[index];\n  }\n\n  return hex\n}\n\n@Component({\n  template: `<div class="node">\n    Custom node!\n\n    <handle type="target" position="top" />\n    <handle type="source" position="bottom" />\n  </div>`,\n  styles: [`\n    .node {\n      width: 150px;\n      height: 100px;\n      background: #bbe1fa;\n      border: 1px solid gray;\n      border-radius: 5px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      color: black;\n    }\n  `],\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class SimpleCustomNodeComponent extends CustomNodeComponent { }\n\ninterface ComplexCustomNodeData {\n  id: {\n    one: WritableSignal<string>,\n    two: WritableSignal<string>,\n    three: WritableSignal<string>,\n  }\n}\n\n@Component({\n  template: `<div class="node">\n    <div class="control-wrapper">\n      <input class="input" [value]="data()?.id?.one()">\n\n      <handle type="target" position="left" id="one" [template]="squareHandleTemplate" />\n    </div>\n\n    <div class="control-wrapper">\n      <input class="input" [value]="data()?.id?.two()">\n\n      <handle type="target" position="left" id="two" [template]="squareHandleTemplate"  />\n    </div>\n\n    <div class="control-wrapper control-wrapper_last">\n      <input class="input"  [value]="data()?.id?.three()">\n\n      <handle type="target" position="left" id="three" [template]="squareHandleTemplate" />\n    </div>\n  </div>\n\n  <ng-template #squareHandleTemplate let-ctx>\n    <svg:rect\n      width="10"\n      height="10"\n      stroke-width="1"\n      stroke="black"\n      rx="1"\n      ry="1"\n      [attr.x]="ctx.point().x - 5"\n      [attr.y]="ctx.point().y - 5"\n      [class.handle_idle]="ctx.state() === \'idle\'"\n      [class.handle_valid]="ctx.state() === \'valid\'"\n      [class.handle_invalid]="ctx.state() === \'invalid\'"\n    />\n  </ng-template>\n\n  `,\n  styles: [`\n    .node {\n      width: 150px;\n      background: #bbe1fa;\n      border: 1px solid gray;\n      border-radius: 5px;\n      color: black;\n      padding: 10px;\n    }\n\n    .input {\n      width: 130px;\n    }\n\n    .control-wrapper {\n      margin-bottom: 20px;\n    }\n\n    .control-wrapper_last {\n      margin-bottom: 0px;\n    }\n\n    .handle {\n      &_idle {\n        fill: #fff;\n      }\n\n      &_valid {\n        fill: green;\n      }\n\n      &_invalid {\n        fill: red;\n      }\n    }\n  `],\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class ComplexCustomNodeComponent extends CustomNodeComponent<ComplexCustomNodeData> { }\n
'}]};let y=(()=>{class a extends j.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

What is ngx-vflow


{}

ngx-vflow is an Angular library for creating node-based applications. It aims to assist you in building anything from a static diagram to a visual editor. You can utilize the default design or apply your own by customizing everything using familiar technologies.

Main features

Easy to use: Just describe your flow with a simple API; all of the heavy lifting, such as dragging, zooming, and curve math, is handled by the library for you.

Customizable: There is a default design for basic usage, and you can also customize nodes with good old HTML and CSS. Other entities such as edges, connection lines, and handles are also customizable, but it will require a little SVG knowledge.

Great performance: Angular signals are the heart and soul of ngx-vflow, which are performant by default, so you shouldn\'t worry about performance even with large flows.

Zoneless: Does not require zone.js

',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/getting-started/pages/what-is-ngx-vflow/index.md?message=docs(what-is-ngx-vflow): describe your changes here...",this.page=g,this.demoAssets=O}static#s=this.\u0275fac=function(e){return new(e||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-doc-page-getting-started-what-is-ngx-vflow"]],standalone:!0,features:[s._Bn([{provide:j.a,useExisting:a},F,g.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(e,l){1&e&&s._UZ(0,"ng-doc-page")},dependencies:[w.z],encapsulation:2,changeDetection:0})}return a})();const z=[{...(0,C.isRoute)(g.route)?g.route:{},path:"",component:y,title:"What is ngx-vflow"}]}}]); \ No newline at end of file diff --git a/6774.f537b3f1afb4b9ea.js b/6774.f537b3f1afb4b9ea.js deleted file mode 100644 index d4dff387..00000000 --- a/6774.f537b3f1afb4b9ea.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[6774],{6774:(P,r,p)=>{p.r(r),p.d(r,{DynamicComponent:()=>f,default:()=>I});var h=p(6286),m=p(7134),y=p(9143),x=p(1480),s=p(5879),i=p(2898),o=p(3870),w=p(7146),j=p(8874),u=p(2274);function C(a,d){if(1&a&&(s.O4$(),s._UZ(0,"path",3)),2&a){const n=d.$implicit;s.uIk("d",n.path())("stroke-width",4)("stroke",n.edge.data.color)("marker-end",n.markerEnd())}}function v(a,d){if(1&a){const n=s.EpF();s.TgZ(0,"div",4),s.NdJ("click",function(){const t=s.CHM(n).$implicit,c=s.oxw();return s.KtG(c.deleteEdge(t.edge))}),s._uU(1,"Delete"),s.qZA()}2&a&&s.Udp("background-color",d.$implicit.label.data.color)}const _=function(){return{type:"dots"}};function k(a,d){if(1&a&&(s.O4$(),s._UZ(0,"rect",8)),2&a){const n=d.$implicit;s.ekj("handle_idle","idle"===n.state())("handle_valid","valid"===n.state())("handle_invalid","invalid"===n.state()),s.uIk("x",n.point().x-5)("y",n.point().y-5)}}let b=(()=>{class a{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"Default"},{id:"2",point:{x:200,y:10},type:"default",text:"Resized",width:100,height:100},{id:"3",point:{x:200,y:270},type:T,draggable:!1},{id:"4",point:{x:600,y:150},type:A,data:{id:{one:(0,s.tdS)(""),two:(0,s.tdS)(""),three:(0,s.tdS)("")}}}],this.edges=[{id:"1 -> 2",source:"1",target:"2",markers:{end:{type:"arrow-closed"}}},{id:"1 -> 3",source:"1",target:"3",curve:"straight",markers:{end:{type:"arrow"}}},{id:"3 -> 4-three",source:"3",target:"4",targetHandle:"three"}],this.connection={validator:n=>"3"!==n.source}}handleConnect(n){if("4"===n.target){const e=this.nodes.filter(N).find(c=>"4"===c.id)?.data,t=this.nodes.filter(D).find(c=>c.id===n.source);t&&("one"===n.targetHandle&&e.id.one.set(t.text??""),"two"===n.targetHandle&&e.id.two.set(t.text??""),"three"===n.targetHandle&&e.id.three.set(t.text??""))}const l=function M(){const a=[0,1,2,3,4,5,6,7,8,9,"A","B","C","D","E","F"];let d="#";for(let n=0;n<6;n++)d+=a[Math.floor(Math.random()*a.length)];return d}();this.edges=[...this.edges,{id:crypto.randomUUID(),type:"template",data:{color:l},markers:{end:{type:"arrow-closed",width:30,height:30,color:l}},edgeLabels:{center:{type:"html-template",data:{color:l}}},...n}]}deleteEdge(n){this.edges=this.edges.filter(l=>l!==n)}static#s=this.\u0275fac=function(l){return new(l||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:3,vars:5,consts:[["view","auto",3,"nodes","edges","connection","background","onConnect"],["edge",""],["edgeLabelHtml",""],["fill","none"],[1,"label",3,"click"]],template:function(l,e){1&l&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(c){return e.handleConnect(c)}),s.YNc(1,C,1,4,"ng-template",1),s.YNc(2,v,2,2,"ng-template",2),s.qZA()),2&l&&s.Q6J("nodes",e.nodes)("edges",e.edges)("connection",e.connection)("background",s.DdM(4,_))},dependencies:[i.p,w.t,j.B,j.o6],styles:["[_nghost-%COMP%]{width:100%;height:100%}.label[_ngcontent-%COMP%]{width:60px;height:25px;background-color:#122c26;border-radius:5px;text-align:center}"],changeDetection:0})}return a})();function N(a){return o.L.isPrototypeOf(a.type)}function D(a){return"default"===a.type}let T=(()=>{class a extends o.L{static#s=this.\u0275fac=function(){let n;return function(e){return(n||(n=s.n5z(a)))(e||a)}}();static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.qOj,s.jDz],decls:4,vars:0,consts:[[1,"node"],["type","target","position","top"],["type","source","position","bottom"]],template:function(l,e){1&l&&(s.TgZ(0,"div",0),s._uU(1," Custom node! "),s._UZ(2,"handle",1)(3,"handle",2),s.qZA())},dependencies:[i.p,u.M],styles:[".node[_ngcontent-%COMP%]{width:150px;height:100px;background:#bbe1fa;border:1px solid gray;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#000}"]})}return a})(),A=(()=>{class a extends o.L{static#s=this.\u0275fac=function(){let n;return function(e){return(n||(n=s.n5z(a)))(e||a)}}();static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.qOj,s.jDz],decls:12,vars:6,consts:[[1,"node"],[1,"control-wrapper"],[1,"input",3,"value"],["type","target","position","left","id","one",3,"template"],["type","target","position","left","id","two",3,"template"],[1,"control-wrapper","control-wrapper_last"],["type","target","position","left","id","three",3,"template"],["squareHandleTemplate",""],["width","10","height","10","stroke-width","1","stroke","black","rx","1","ry","1"]],template:function(l,e){if(1&l&&(s.TgZ(0,"div",0)(1,"div",1),s._UZ(2,"input",2)(3,"handle",3),s.qZA(),s.TgZ(4,"div",1),s._UZ(5,"input",2)(6,"handle",4),s.qZA(),s.TgZ(7,"div",5),s._UZ(8,"input",2)(9,"handle",6),s.qZA()(),s.YNc(10,k,1,8,"ng-template",null,7,s.W1O)),2&l){const t=s.MAs(11);s.xp6(2),s.Q6J("value",null==e.node.data||null==e.node.data.id?null:e.node.data.id.one()),s.xp6(1),s.Q6J("template",t),s.xp6(2),s.Q6J("value",null==e.node.data||null==e.node.data.id?null:e.node.data.id.two()),s.xp6(1),s.Q6J("template",t),s.xp6(2),s.Q6J("value",null==e.node.data||null==e.node.data.id?null:e.node.data.id.three()),s.xp6(1),s.Q6J("template",t)}},dependencies:[i.p,u.M],styles:[".node[_ngcontent-%COMP%]{width:150px;background:#bbe1fa;border:1px solid gray;border-radius:5px;color:#000;padding:10px}.input[_ngcontent-%COMP%]{width:130px}.control-wrapper[_ngcontent-%COMP%]{margin-bottom:20px}.control-wrapper_last[_ngcontent-%COMP%]{margin-bottom:0}.handle_idle[_ngcontent-%COMP%]{fill:#fff}.handle_valid[_ngcontent-%COMP%]{fill:green}.handle_invalid[_ngcontent-%COMP%]{fill:red}"]})}return a})();const g={title:"What is ngx-vflow",mdFile:"./index.md",category:x.Z,order:1,demos:{AllFeaturesDemoComponent:b}},S=[],O={AllFeaturesDemoComponent:[{title:"TypeScript",code:'
import { publishFacade } from "@angular/compiler"\nimport { ChangeDetectionStrategy, Component, WritableSignal, signal } from "@angular/core"\nimport { VflowModule, Node, Edge, CustomNodeComponent, Connection, ComponentNode, SharedNode, DefaultNode, ConnectionSettings } from "projects/ngx-vflow-lib/src/public-api"\n\n@Component({\n  template: `<vflow\n    [nodes]="nodes"\n    [edges]="edges"\n    [connection]="connection"\n    [background]="{ type: \'dots\' }"\n    view="auto"\n    (onConnect)="handleConnect($event)"\n  >\n    <ng-template edge let-ctx>\n      <svg:path\n        [attr.d]="ctx.path()"\n        [attr.stroke-width]="4"\n        [attr.stroke]="ctx.edge.data.color"\n        [attr.marker-end]="ctx.markerEnd()"\n        fill="none"\n      />\n    </ng-template>\n\n    <ng-template edgeLabelHtml let-ctx>\n      <div\n        class="label"\n        [style.background-color]="ctx.label.data.color"\n        (click)="deleteEdge(ctx.edge)">Delete</div>\n    </ng-template>\n  </vflow>`,\n  styles: [`\n    :host {\n      width: 100%;\n      height: 100%;\n    }\n\n    .label {\n      width: 60px;\n      height: 25px;\n      background-color: #122c26;\n      border-radius: 5px;\n      text-align: center;\n    }\n  `],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class AllFeaturesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'Default\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 10 },\n      type: \'default\',\n      text: `Resized`,\n      width: 100,\n      height: 100\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 270 },\n      type: SimpleCustomNodeComponent,\n      draggable: false\n    },\n    {\n      id: \'4\',\n      point: { x: 600, y: 150 },\n      type: ComplexCustomNodeComponent,\n      data: {\n        id: {\n          one: signal(\'\'),\n          two: signal(\'\'),\n          three: signal(\'\'),\n        },\n      }\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      markers: { end: { type: \'arrow-closed\' } }\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      curve: \'straight\',\n      markers: { end: { type: \'arrow\' } }\n    },\n    {\n      id: \'3 -> 4-three\',\n      source: \'3\',\n      target: \'4\',\n      targetHandle: \'three\',\n    },\n  ]\n\n  public connection: ConnectionSettings = {\n    validator(connection) {\n      if (connection.source === \'3\') {\n        return false\n      }\n\n      return true\n    }\n  }\n\n  handleConnect(connection: Connection) {\n    if (connection.target === \'4\') {\n      const data = this.nodes\n        .filter(isComponentNode)\n        .find(n => n.id === \'4\')\n        ?.data as ComplexCustomNodeData\n\n      const sourceNode = this.nodes\n        .filter(isDefaultNode)\n        .find(n => n.id === connection.source)\n\n      if (sourceNode) {\n        if (connection.targetHandle === \'one\') {\n          data.id.one.set(sourceNode.text ?? \'\')\n        }\n        if (connection.targetHandle === \'two\') {\n          data.id.two.set(sourceNode.text ?? \'\')\n        }\n        if (connection.targetHandle === \'three\') {\n          data.id.three.set(sourceNode.text ?? \'\')\n        }\n      }\n\n    }\n\n    const color = randomHex()\n    this.edges = [...this.edges, {\n      id: crypto.randomUUID(),\n      type: \'template\',\n      data: {\n        color\n      },\n      markers: {\n        end: {\n          type: \'arrow-closed\',\n          width: 30,\n          height: 30,\n          color\n        }\n      },\n      edgeLabels: {\n        center: {\n          type: \'html-template\',\n          data: { color }\n        }\n      },\n      ...connection\n    }]\n  }\n\n  public deleteEdge(edge: Edge) {\n    this.edges = this.edges.filter(e => e !== edge)\n  }\n}\n\nfunction isComponentNode<T>(n: Node<T>): n is SharedNode & ComponentNode<T> {\n  return CustomNodeComponent.isPrototypeOf(n.type)\n}\n\nfunction isDefaultNode(n: Node): n is SharedNode & DefaultNode {\n  return n.type === \'default\'\n}\n\nfunction randomHex() {\n  const hexValues = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, \'A\', \'B\', \'C\', \'D\', \'E\', \'F\'];\n\n  let hex = \'#\';\n\n  for (let i = 0; i < 6; i++) {\n    const index = Math.floor(Math.random() * hexValues.length)\n    hex += hexValues[index];\n  }\n\n  return hex\n}\n\n@Component({\n  template: `<div class="node">\n    Custom node!\n\n    <handle type="target" position="top" />\n    <handle type="source" position="bottom" />\n  </div>`,\n  styles: [`\n    .node {\n      width: 150px;\n      height: 100px;\n      background: #bbe1fa;\n      border: 1px solid gray;\n      border-radius: 5px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      color: black;\n    }\n  `],\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class SimpleCustomNodeComponent extends CustomNodeComponent { }\n\ninterface ComplexCustomNodeData {\n  id: {\n    one: WritableSignal<string>,\n    two: WritableSignal<string>,\n    three: WritableSignal<string>,\n  }\n}\n\n@Component({\n  template: `<div class="node">\n    <div class="control-wrapper">\n      <input class="input" [value]="node.data?.id?.one()">\n\n      <handle type="target" position="left" id="one" [template]="squareHandleTemplate" />\n    </div>\n\n    <div class="control-wrapper">\n      <input class="input" [value]="node.data?.id?.two()">\n\n      <handle type="target" position="left" id="two" [template]="squareHandleTemplate"  />\n    </div>\n\n    <div class="control-wrapper control-wrapper_last">\n      <input class="input"  [value]="node.data?.id?.three()">\n\n      <handle type="target" position="left" id="three" [template]="squareHandleTemplate" />\n    </div>\n  </div>\n\n  <ng-template #squareHandleTemplate let-ctx>\n    <svg:rect\n      width="10"\n      height="10"\n      stroke-width="1"\n      stroke="black"\n      rx="1"\n      ry="1"\n      [attr.x]="ctx.point().x - 5"\n      [attr.y]="ctx.point().y - 5"\n      [class.handle_idle]="ctx.state() === \'idle\'"\n      [class.handle_valid]="ctx.state() === \'valid\'"\n      [class.handle_invalid]="ctx.state() === \'invalid\'"\n    />\n  </ng-template>\n\n  `,\n  styles: [`\n    .node {\n      width: 150px;\n      background: #bbe1fa;\n      border: 1px solid gray;\n      border-radius: 5px;\n      color: black;\n      padding: 10px;\n    }\n\n    .input {\n      width: 130px;\n    }\n\n    .control-wrapper {\n      margin-bottom: 20px;\n    }\n\n    .control-wrapper_last {\n      margin-bottom: 0px;\n    }\n\n    .handle {\n      &_idle {\n        fill: #fff;\n      }\n\n      &_valid {\n        fill: green;\n      }\n\n      &_invalid {\n        fill: red;\n      }\n    }\n  `],\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class ComplexCustomNodeComponent extends CustomNodeComponent<ComplexCustomNodeData> { }\n
'}]};let f=(()=>{class a extends h.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

What is ngx-vflow


{}

ngx-vflow is an Angular library for creating node-based applications. It aims to assist you in building anything from a static diagram to a visual editor. You can utilize the default design or apply your own by customizing everything using familiar technologies.

Main features

Easy to use: Just describe your flow with a simple API; all of the heavy lifting, such as dragging, zooming, and curve math, is handled by the library for you.

Customizable: There is a default design for basic usage, and you can also customize nodes with good old HTML and CSS. Other entities such as edges, connection lines, and handles are also customizable, but it will require a little SVG knowledge.

Great performance: Angular signals are the heart and soul of ngx-vflow, which are performant by default, so you shouldn\'t worry about performance even with large flows.

Zoneless: Does not require zone.js

',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/getting-started/pages/what-is-ngx-vflow/index.md?message=docs(what-is-ngx-vflow): describe your changes here...",this.page=g,this.demoAssets=O}static#s=this.\u0275fac=function(l){return new(l||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-doc-page-getting-started-what-is-ngx-vflow"]],standalone:!0,features:[s._Bn([{provide:h.a,useExisting:a},S,g.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(l,e){1&l&&s._UZ(0,"ng-doc-page")},dependencies:[m.z],encapsulation:2,changeDetection:0})}return a})();const I=[{...(0,y.isRoute)(g.route)?g.route:{},path:"",component:f,title:"What is ngx-vflow"}]}}]); \ No newline at end of file diff --git a/6886.a58363abf6a5d551.js b/6886.a58363abf6a5d551.js new file mode 100644 index 00000000..daf8ce2b --- /dev/null +++ b/6886.a58363abf6a5d551.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[6886],{6886:(r,s,e)=>{e.r(s),e.d(s,{DynamicComponent:()=>l,default:()=>o});var t=e(6286),c=e(7134),d=e(5879);let l=(()=>{class a extends t.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L28",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L28",this.pageContent='
ngx-vflow / Interface

DefaultNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
ExtendsSharedNode
No documentation has been provided.

Properties

NameTypeDescription
draggable
inherited from SharedNode
boolean | undefined
height
number | undefined
id
inherited from SharedNode
string
point
inherited from SharedNode
Point
text
string | undefined
type
"default"
width
number | undefined
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(n){return new(n||a)};static#d=this.\u0275cmp=d.Xpm({type:a,selectors:[["ng-doc-page-api-ngx-vflow-interfaces-default-node"]],standalone:!0,features:[d._Bn([{provide:t.a,useExisting:a}]),d.qOj,d.jDz],decls:1,vars:0,template:function(n,p){1&n&&d._UZ(0,"ng-doc-page")},dependencies:[c.z],encapsulation:2,changeDetection:0})}return a})();const o=[{path:"",component:l,title:"DefaultNode"}]}}]); \ No newline at end of file diff --git a/6886.e96a6ffa3f109e79.js b/6886.e96a6ffa3f109e79.js deleted file mode 100644 index 3fba4c77..00000000 --- a/6886.e96a6ffa3f109e79.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[6886],{6886:(r,t,e)=>{e.r(t),e.d(t,{DynamicComponent:()=>l,default:()=>o});var a=e(6286),c=e(7134),d=e(5879);let l=(()=>{class n extends a.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L16",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L16",this.pageContent='
ngx-vflow / Interface

DefaultNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Properties

NameTypeDescription
height
number | undefined
text
string | undefined
type
"default"
width
number | undefined
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(s){return new(s||n)};static#d=this.\u0275cmp=d.Xpm({type:n,selectors:[["ng-doc-page-api-ngx-vflow-interfaces-default-node"]],standalone:!0,features:[d._Bn([{provide:a.a,useExisting:n}]),d.qOj,d.jDz],decls:1,vars:0,template:function(s,f){1&s&&d._UZ(0,"ng-doc-page")},dependencies:[c.z],encapsulation:2,changeDetection:0})}return n})();const o=[{path:"",component:l,title:"DefaultNode"}]}}]); \ No newline at end of file diff --git a/6921.7dd3a0db48727a64.js b/6921.986bc194ca418603.js similarity index 99% rename from 6921.7dd3a0db48727a64.js rename to 6921.986bc194ca418603.js index 8e94d3fc..ed8a840d 100644 --- a/6921.7dd3a0db48727a64.js +++ b/6921.986bc194ca418603.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[6921],{6921:(z,d,e)=>{e.r(d),e.d(d,{DynamicComponent:()=>h,default:()=>x});var c=e(6286),j=e(7134),u=e(9143),f=e(2936),g=e(2898),n=e(5879),i=e(7146);let o=(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3"}]}static#s=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[n.jDz],decls:1,vars:2,consts:[["view","auto",3,"nodes","edges"]],template:function(a,l){1&a&&n._UZ(0,"vflow",0),2&a&&n.Q6J("nodes",l.nodes)("edges",l.edges)},dependencies:[g.p,i.t],styles:["[_nghost-%COMP%]{width:100vw;height:100vh}"],changeDetection:0})}return s})();const m=function(){return[600,600]};let r=(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3"}]}static#s=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[n.jDz],decls:1,vars:4,consts:[[3,"nodes","edges","view"]],template:function(a,l){1&a&&n._UZ(0,"vflow",0),2&a&&n.Q6J("nodes",l.nodes)("edges",l.edges)("view",n.DdM(3,m))},dependencies:[g.p,i.t],encapsulation:2,changeDetection:0})}return s})();const t={title:"View size",mdFile:"./index.md",category:f.Z,demos:{ViewSizeAutoDemoComponent:o,ViewSizeFixedDemoComponent:r},route:{children:[{path:"view-size-auto",component:o},{path:"view-size-fixed",component:r}]},order:2},y=[],w={ViewSizeAutoDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" view="auto" />`,\n  styles: [`\n    :host {\n      width: 100vw;\n      height: 100vh;\n    }\n  `],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class ViewSizeAutoDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\'\n    },\n  ]\n}\n
'}],ViewSizeFixedDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" [view]="[600, 600]" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class ViewSizeFixedDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\'\n    },\n  ]\n}\n
'}]};let h=(()=>{class s extends c.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

View size

Auto size

vflow automatically fits it container if you pass view="auto" input

{"fullscreenRoute":"view-size-auto"}

Fixed size

vflow can take fixed space if you pass [view]="[600, 600]" input, where first item of array is width (in pixels), and the second is height (in pixels).

{"fullscreenRoute":"view-size-fixed"}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/view-size/index.md?message=docs(view-size): describe your changes here...",this.page=t,this.demoAssets=w}static#s=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-doc-page-features-view-size"]],standalone:!0,features:[n._Bn([{provide:c.a,useExisting:s},y,t.providers??[]]),n.qOj,n.jDz],decls:1,vars:0,template:function(a,l){1&a&&n._UZ(0,"ng-doc-page")},dependencies:[j.z],encapsulation:2,changeDetection:0})}return s})();const x=[{...(0,u.isRoute)(t.route)?t.route:{},path:"",component:h,title:"View size"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[6921],{6921:(z,d,e)=>{e.r(d),e.d(d,{DynamicComponent:()=>h,default:()=>x});var c=e(6286),j=e(7134),u=e(9143),f=e(2936),g=e(2898),n=e(5879),i=e(8944);let o=(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3"}]}static#s=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[n.jDz],decls:1,vars:2,consts:[["view","auto",3,"nodes","edges"]],template:function(a,l){1&a&&n._UZ(0,"vflow",0),2&a&&n.Q6J("nodes",l.nodes)("edges",l.edges)},dependencies:[g.p,i.t],styles:["[_nghost-%COMP%]{width:100vw;height:100vh}"],changeDetection:0})}return s})();const m=function(){return[600,600]};let r=(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3"}]}static#s=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[n.jDz],decls:1,vars:4,consts:[[3,"nodes","edges","view"]],template:function(a,l){1&a&&n._UZ(0,"vflow",0),2&a&&n.Q6J("nodes",l.nodes)("edges",l.edges)("view",n.DdM(3,m))},dependencies:[g.p,i.t],encapsulation:2,changeDetection:0})}return s})();const t={title:"View size",mdFile:"./index.md",category:f.Z,demos:{ViewSizeAutoDemoComponent:o,ViewSizeFixedDemoComponent:r},route:{children:[{path:"view-size-auto",component:o},{path:"view-size-fixed",component:r}]},order:2},y=[],w={ViewSizeAutoDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" view="auto" />`,\n  styles: [`\n    :host {\n      width: 100vw;\n      height: 100vh;\n    }\n  `],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class ViewSizeAutoDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\'\n    },\n  ]\n}\n
'}],ViewSizeFixedDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" [view]="[600, 600]" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class ViewSizeFixedDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\'\n    },\n  ]\n}\n
'}]};let h=(()=>{class s extends c.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

View size

Auto size

vflow automatically fits it container if you pass view="auto" input

{"fullscreenRoute":"view-size-auto"}

Fixed size

vflow can take fixed space if you pass [view]="[600, 600]" input, where first item of array is width (in pixels), and the second is height (in pixels).

{"fullscreenRoute":"view-size-fixed"}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/view-size/index.md?message=docs(view-size): describe your changes here...",this.page=t,this.demoAssets=w}static#s=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-doc-page-features-view-size"]],standalone:!0,features:[n._Bn([{provide:c.a,useExisting:s},y,t.providers??[]]),n.qOj,n.jDz],decls:1,vars:0,template:function(a,l){1&a&&n._UZ(0,"ng-doc-page")},dependencies:[j.z],encapsulation:2,changeDetection:0})}return s})();const x=[{...(0,u.isRoute)(t.route)?t.route:{},path:"",component:h,title:"View size"}]}}]); \ No newline at end of file diff --git a/6929.41b4ed4b9fa363df.js b/6929.41b4ed4b9fa363df.js new file mode 100644 index 00000000..c746f95c --- /dev/null +++ b/6929.41b4ed4b9fa363df.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[6929],{6929:(p,t,n)=>{n.r(t),n.d(t,{DynamicComponent:()=>d,default:()=>l});var o=n(6286),c=n(7134),e=n(5879);let d=(()=>{class s extends o.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L74",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L74",this.pageContent='
ngx-vflow / Function

isComponentDynamicNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Presentation

function isComponentDynamicNode(node: DynamicNode<unknown>): boolean;\n

Parameters

NameTypeDescription
node
DynamicNode<unknown>
',this.demo=void 0,this.demoAssets=void 0}static#n=this.\u0275fac=function(a){return new(a||s)};static#e=this.\u0275cmp=e.Xpm({type:s,selectors:[["ng-doc-page-api-ngx-vflow-functions-is-component-dynamic-node"]],standalone:!0,features:[e._Bn([{provide:o.a,useExisting:s}]),e.qOj,e.jDz],decls:1,vars:0,template:function(a,h){1&a&&e._UZ(0,"ng-doc-page")},dependencies:[c.z],encapsulation:2,changeDetection:0})}return s})();const l=[{path:"",component:d,title:"isComponentDynamicNode"}]}}]); \ No newline at end of file diff --git a/6945.c73781a7530e8008.js b/6945.ea27f3024889c222.js similarity index 99% rename from 6945.c73781a7530e8008.js rename to 6945.ea27f3024889c222.js index 90de5099..df457fa0 100644 --- a/6945.c73781a7530e8008.js +++ b/6945.ea27f3024889c222.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[6945],{6945:(v,d,a)=>{a.r(d),a.d(d,{DynamicComponent:()=>g,default:()=>w});var c=a(6286),o=a(7134),i=a(9143),r=a(2936),h=a(2898),s=a(5879),j=a(7146),m=a(8874);function u(n,C){if(1&n&&(s.O4$(),s._UZ(0,"path",2)),2&n){const e=C.$implicit;s.uIk("d",e.path())("stroke-width",e.edge.data.strokeWidth)("stroke",e.edge.data.color)("marker-end",e.markerEnd())}}const t={title:"Custom edges",mdFile:"./index.md",category:r.Z,demos:{CustomEdgesDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2",type:"template",data:{strokeWidth:4,color:"#ffeeaa"},markers:{end:{type:"arrow-closed",width:30,height:30,color:"#ffeeaa"}}},{id:"1 -> 3",source:"1",target:"3",type:"template",data:{strokeWidth:2,color:"#ec586e"}}]}static#s=this.\u0275fac=function(l){return new(l||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:2,vars:2,consts:[[3,"nodes","edges"],["edge",""],["fill","none"]],template:function(l,p){1&l&&(s.TgZ(0,"vflow",0),s.YNc(1,u,1,4,"ng-template",1),s.qZA()),2&l&&s.Q6J("nodes",p.nodes)("edges",p.edges)},dependencies:[h.p,j.t,m.o6],encapsulation:2,changeDetection:0})}return n})()},order:3},y=[],x={CustomEdgesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges">\n    <ng-template edge let-ctx>\n      <svg:path\n        [attr.d]="ctx.path()"\n        [attr.stroke-width]="ctx.edge.data.strokeWidth"\n        [attr.stroke]="ctx.edge.data.color"\n        [attr.marker-end]="ctx.markerEnd()"\n        fill="none"\n      />\n    </ng-template>\n  </vflow>`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class CustomEdgesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      type: \'template\',\n      data: {\n        strokeWidth: 4,\n        color: \'#ffeeaa\'\n      },\n      markers: {\n        end: {\n          type: \'arrow-closed\',\n          width: 30,\n          height: 30,\n          color: \'#ffeeaa\'\n        }\n      }\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      type: \'template\',\n      data: {\n        strokeWidth: 2,\n        color: \'#ec586e\'\n      }\n    },\n  ]\n}\n
'}]};let g=(()=>{class n extends c.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Custom edges

You can customize your edges. To achieve this, follow these steps:

  1. Change the edge type to template
  2. Create an ng-template with the edge selector inside vflow
  3. Create an SVG path which you will customize
  4. In the ng-template, the library provides let-ctx with important data for you, such as the path signal with current path. Additionally, the edge field contains current edge from one the [edges], from which you can retrieve custom data. Furthermore, you can access markerStart and markerEnd signals with markers for current edge.

Context

It\'s tricky to infer type for let-ctx, so here is an interface with available fields for this context.

export interface EdgeContext {\n  edge: Edge\n  path: Signal<string>\n  markerStart: Signal<string>\n  markerEnd: Signal<string>\n}\n

Example

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/custom-edges/index.md?message=docs(custom-edges): describe your changes here...",this.page=t,this.demoAssets=x}static#s=this.\u0275fac=function(l){return new(l||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-custom-edges"]],standalone:!0,features:[s._Bn([{provide:c.a,useExisting:n},y,t.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(l,p){1&l&&s._UZ(0,"ng-doc-page")},dependencies:[o.z],encapsulation:2,changeDetection:0})}return n})();const w=[{...(0,i.isRoute)(t.route)?t.route:{},path:"",component:g,title:"Custom edges"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[6945],{6945:(v,d,a)=>{a.r(d),a.d(d,{DynamicComponent:()=>g,default:()=>w});var c=a(6286),o=a(7134),i=a(9143),r=a(2936),h=a(2898),s=a(5879),j=a(8944),m=a(8874);function u(n,C){if(1&n&&(s.O4$(),s._UZ(0,"path",2)),2&n){const e=C.$implicit;s.uIk("d",e.path())("stroke-width",e.edge.data.strokeWidth)("stroke",e.edge.data.color)("marker-end",e.markerEnd())}}const t={title:"Custom edges",mdFile:"./index.md",category:r.Z,demos:{CustomEdgesDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2",type:"template",data:{strokeWidth:4,color:"#ffeeaa"},markers:{end:{type:"arrow-closed",width:30,height:30,color:"#ffeeaa"}}},{id:"1 -> 3",source:"1",target:"3",type:"template",data:{strokeWidth:2,color:"#ec586e"}}]}static#s=this.\u0275fac=function(l){return new(l||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:2,vars:2,consts:[[3,"nodes","edges"],["edge",""],["fill","none"]],template:function(l,p){1&l&&(s.TgZ(0,"vflow",0),s.YNc(1,u,1,4,"ng-template",1),s.qZA()),2&l&&s.Q6J("nodes",p.nodes)("edges",p.edges)},dependencies:[h.p,j.t,m.o6],encapsulation:2,changeDetection:0})}return n})()},order:3},y=[],x={CustomEdgesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges">\n    <ng-template edge let-ctx>\n      <svg:path\n        [attr.d]="ctx.path()"\n        [attr.stroke-width]="ctx.edge.data.strokeWidth"\n        [attr.stroke]="ctx.edge.data.color"\n        [attr.marker-end]="ctx.markerEnd()"\n        fill="none"\n      />\n    </ng-template>\n  </vflow>`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class CustomEdgesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      type: \'template\',\n      data: {\n        strokeWidth: 4,\n        color: \'#ffeeaa\'\n      },\n      markers: {\n        end: {\n          type: \'arrow-closed\',\n          width: 30,\n          height: 30,\n          color: \'#ffeeaa\'\n        }\n      }\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      type: \'template\',\n      data: {\n        strokeWidth: 2,\n        color: \'#ec586e\'\n      }\n    },\n  ]\n}\n
'}]};let g=(()=>{class n extends c.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Custom edges

You can customize your edges. To achieve this, follow these steps:

  1. Change the edge type to template
  2. Create an ng-template with the edge selector inside vflow
  3. Create an SVG path which you will customize
  4. In the ng-template, the library provides let-ctx with important data for you, such as the path signal with current path. Additionally, the edge field contains current edge from one the [edges], from which you can retrieve custom data. Furthermore, you can access markerStart and markerEnd signals with markers for current edge.

Context

It\'s tricky to infer type for let-ctx, so here is an interface with available fields for this context.

export interface EdgeContext {\n  edge: Edge\n  path: Signal<string>\n  markerStart: Signal<string>\n  markerEnd: Signal<string>\n}\n

Example

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/custom-edges/index.md?message=docs(custom-edges): describe your changes here...",this.page=t,this.demoAssets=x}static#s=this.\u0275fac=function(l){return new(l||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-custom-edges"]],standalone:!0,features:[s._Bn([{provide:c.a,useExisting:n},y,t.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(l,p){1&l&&s._UZ(0,"ng-doc-page")},dependencies:[o.z],encapsulation:2,changeDetection:0})}return n})();const w=[{...(0,i.isRoute)(t.route)?t.route:{},path:"",component:g,title:"Custom edges"}]}}]); \ No newline at end of file diff --git a/706.120e264611582f9f.js b/706.120e264611582f9f.js deleted file mode 100644 index 08003fa1..00000000 --- a/706.120e264611582f9f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[706],{706:(p,a,e)=>{e.r(a),e.d(a,{DynamicComponent:()=>o,default:()=>l});var d=e(6286),c=e(7134),n=e(5879);let o=(()=>{class t extends d.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L28",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L28",this.pageContent='
ngx-vflow / Interface

ComponentNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Properties

NameTypeDescription
data
T | undefined
type
Type<CustomNodeComponent<T>>
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(s){return new(s||t)};static#n=this.\u0275cmp=n.Xpm({type:t,selectors:[["ng-doc-page-api-ngx-vflow-interfaces-component-node"]],standalone:!0,features:[n._Bn([{provide:d.a,useExisting:t}]),n.qOj,n.jDz],decls:1,vars:0,template:function(s,f){1&s&&n._UZ(0,"ng-doc-page")},dependencies:[c.z],encapsulation:2,changeDetection:0})}return t})();const l=[{path:"",component:o,title:"ComponentNode"}]}}]); \ No newline at end of file diff --git a/706.cc89668dc3317128.js b/706.cc89668dc3317128.js new file mode 100644 index 00000000..f5802dfd --- /dev/null +++ b/706.cc89668dc3317128.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[706],{706:(r,s,e)=>{e.r(s),e.d(s,{DynamicComponent:()=>c,default:()=>i});var t=e(6286),o=e(7134),d=e(5879);let c=(()=>{class n extends t.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L52",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L52",this.pageContent='
ngx-vflow / Interface

ComponentNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
ExtendsSharedNode
No documentation has been provided.

Properties

NameTypeDescription
data
T | undefined
draggable
inherited from SharedNode
boolean | undefined
id
inherited from SharedNode
string
point
inherited from SharedNode
Point
type
Type<CustomNodeComponent<T>>
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(a){return new(a||n)};static#d=this.\u0275cmp=d.Xpm({type:n,selectors:[["ng-doc-page-api-ngx-vflow-interfaces-component-node"]],standalone:!0,features:[d._Bn([{provide:t.a,useExisting:n}]),d.qOj,d.jDz],decls:1,vars:0,template:function(a,f){1&a&&d._UZ(0,"ng-doc-page")},dependencies:[o.z],encapsulation:2,changeDetection:0})}return n})();const i=[{path:"",component:c,title:"ComponentNode"}]}}]); \ No newline at end of file diff --git a/7426.a6c3eeaf43a03804.js b/7426.d4baccc255bf3d04.js similarity index 99% rename from 7426.a6c3eeaf43a03804.js rename to 7426.d4baccc255bf3d04.js index 6619236f..f5bbf62f 100644 --- a/7426.a6c3eeaf43a03804.js +++ b/7426.d4baccc255bf3d04.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[7426],{7426:(L,c,e)=>{e.r(c),e.d(c,{DynamicComponent:()=>g,default:()=>v});var d=e(6286),o=e(7134),i=e(9143),r=e(2936),h=e(2898),s=e(5879),j=e(7146),m=e(8874);function f(n,w){if(1&n){const l=s.EpF();s.TgZ(0,"div",2),s.NdJ("click",function(){const k=s.CHM(l).$implicit,C=s.oxw();return s.KtG(C.deleteEdge(k.edge))}),s._uU(1,"Delete"),s.qZA()}2&n&&s.Udp("background-color",w.$implicit.label.data.color)}const p={title:"Labels",mdFile:"./index.md",category:r.Z,demos:{LabelsDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2",edgeLabels:{center:{type:"html-template",data:{color:"#122c26"}}}},{id:"1 -> 3",source:"1",target:"3",edgeLabels:{center:{type:"html-template",data:{color:"#8b599a"}}}}]}deleteEdge(l){this.edges=this.edges.filter(a=>a!==l)}static#s=this.\u0275fac=function(a){return new(a||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:2,vars:2,consts:[[3,"nodes","edges"],["edgeLabelHtml",""],[1,"label",3,"click"]],template:function(a,t){1&a&&(s.TgZ(0,"vflow",0),s.YNc(1,f,2,2,"ng-template",1),s.qZA()),2&a&&s.Q6J("nodes",t.nodes)("edges",t.edges)},dependencies:[h.p,j.t,m.B],styles:[".label[_ngcontent-%COMP%]{width:60px;height:25px;background-color:#122c26;border-radius:5px;text-align:center}"],changeDetection:0})}return n})()},order:2},y=[],x={LabelsDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges">\n    <ng-template edgeLabelHtml let-ctx>\n      <div\n        class="label"\n        [style.background-color]="ctx.label.data.color"\n        (click)="deleteEdge(ctx.edge)">Delete</div>\n    </ng-template>\n  </vflow>`,\n  styles: [`\n    .label {\n      width: 60px;\n      height: 25px;\n      background-color: #122c26;\n      border-radius: 5px;\n      text-align: center;\n    }\n  `],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class LabelsDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      edgeLabels: {\n        center: {\n          type: \'html-template\',\n          data: { color: \'#122c26\' }\n        }\n      }\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      edgeLabels: {\n        center: {\n          type: \'html-template\',\n          data: { color: \'#8b599a\' }\n        }\n      }\n    },\n  ]\n\n  public deleteEdge(edge: Edge) {\n    this.edges = this.edges.filter(e => e !== edge)\n  }\n}\n
'}]};let g=(()=>{class n extends d.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Labels

You can attach labels to edges by providing the edgeLabels property to the needed Edges. There are three slots available for labels on an edge: start, center, end. The label is only of the html-template type, so you have to provide <ng-template edgeLabelHtml> inside vflow.

Context

You may access some data for label through let-ctx according to this interface.

interface EdgeLabelContext {\n  // Host edge for current label\n  edge: Edge\n  // Current label\n  label: EdgeLabel\n}\n

Example

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/labels/index.md?message=docs(labels): describe your changes here...",this.page=p,this.demoAssets=x}static#s=this.\u0275fac=function(a){return new(a||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-labels"]],standalone:!0,features:[s._Bn([{provide:d.a,useExisting:n},y,p.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(a,t){1&a&&s._UZ(0,"ng-doc-page")},dependencies:[o.z],encapsulation:2,changeDetection:0})}return n})();const v=[{...(0,i.isRoute)(p.route)?p.route:{},path:"",component:g,title:"Labels"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[7426],{7426:(L,c,e)=>{e.r(c),e.d(c,{DynamicComponent:()=>g,default:()=>v});var d=e(6286),o=e(7134),i=e(9143),r=e(2936),h=e(2898),s=e(5879),j=e(8944),m=e(8874);function f(n,w){if(1&n){const l=s.EpF();s.TgZ(0,"div",2),s.NdJ("click",function(){const k=s.CHM(l).$implicit,C=s.oxw();return s.KtG(C.deleteEdge(k.edge))}),s._uU(1,"Delete"),s.qZA()}2&n&&s.Udp("background-color",w.$implicit.label.data.color)}const p={title:"Labels",mdFile:"./index.md",category:r.Z,demos:{LabelsDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2",edgeLabels:{center:{type:"html-template",data:{color:"#122c26"}}}},{id:"1 -> 3",source:"1",target:"3",edgeLabels:{center:{type:"html-template",data:{color:"#8b599a"}}}}]}deleteEdge(l){this.edges=this.edges.filter(a=>a!==l)}static#s=this.\u0275fac=function(a){return new(a||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:2,vars:2,consts:[[3,"nodes","edges"],["edgeLabelHtml",""],[1,"label",3,"click"]],template:function(a,t){1&a&&(s.TgZ(0,"vflow",0),s.YNc(1,f,2,2,"ng-template",1),s.qZA()),2&a&&s.Q6J("nodes",t.nodes)("edges",t.edges)},dependencies:[h.p,j.t,m.B],styles:[".label[_ngcontent-%COMP%]{width:60px;height:25px;background-color:#122c26;border-radius:5px;text-align:center}"],changeDetection:0})}return n})()},order:2},y=[],x={LabelsDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges">\n    <ng-template edgeLabelHtml let-ctx>\n      <div\n        class="label"\n        [style.background-color]="ctx.label.data.color"\n        (click)="deleteEdge(ctx.edge)">Delete</div>\n    </ng-template>\n  </vflow>`,\n  styles: [`\n    .label {\n      width: 60px;\n      height: 25px;\n      background-color: #122c26;\n      border-radius: 5px;\n      text-align: center;\n    }\n  `],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class LabelsDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      edgeLabels: {\n        center: {\n          type: \'html-template\',\n          data: { color: \'#122c26\' }\n        }\n      }\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      edgeLabels: {\n        center: {\n          type: \'html-template\',\n          data: { color: \'#8b599a\' }\n        }\n      }\n    },\n  ]\n\n  public deleteEdge(edge: Edge) {\n    this.edges = this.edges.filter(e => e !== edge)\n  }\n}\n
'}]};let g=(()=>{class n extends d.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Labels

You can attach labels to edges by providing the edgeLabels property to the needed Edges. There are three slots available for labels on an edge: start, center, end. The label is only of the html-template type, so you have to provide <ng-template edgeLabelHtml> inside vflow.

Context

You may access some data for label through let-ctx according to this interface.

interface EdgeLabelContext {\n  // Host edge for current label\n  edge: Edge\n  // Current label\n  label: EdgeLabel\n}\n

Example

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/labels/index.md?message=docs(labels): describe your changes here...",this.page=p,this.demoAssets=x}static#s=this.\u0275fac=function(a){return new(a||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-labels"]],standalone:!0,features:[s._Bn([{provide:d.a,useExisting:n},y,p.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(a,t){1&a&&s._UZ(0,"ng-doc-page")},dependencies:[o.z],encapsulation:2,changeDetection:0})}return n})();const v=[{...(0,i.isRoute)(p.route)?p.route:{},path:"",component:g,title:"Labels"}]}}]); \ No newline at end of file diff --git a/7576.fc15f97c5df5736a.js b/7576.aa85aba8f8f81d75.js similarity index 99% rename from 7576.fc15f97c5df5736a.js rename to 7576.aa85aba8f8f81d75.js index ae23a0fa..198f67cb 100644 --- a/7576.fc15f97c5df5736a.js +++ b/7576.aa85aba8f8f81d75.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[7576],{7576:(b,d,e)=>{e.r(d),e.d(d,{DynamicComponent:()=>i,default:()=>w});var c=e(6286),r=e(7134),h=e(9143),u=e(2936),g=e(2898),n=e(5879),o=e(7146);const m=function(){return{type:"dots"}},t={title:"Custom background",mdFile:"./index.md",category:u.Z,demos:{CustomBackgroundDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3"}]}static#s=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[n.jDz],decls:1,vars:2,consts:[["background","#bbe1fa",3,"nodes","edges"]],template:function(a,l){1&a&&n._UZ(0,"vflow",0),2&a&&n.Q6J("nodes",l.nodes)("edges",l.edges)},dependencies:[g.p,o.t],encapsulation:2,changeDetection:0})}return s})(),DotsCustomBackgroundDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3"}]}static#s=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[n.jDz],decls:1,vars:4,consts:[[3,"nodes","edges","background"]],template:function(a,l){1&a&&n._UZ(0,"vflow",0),2&a&&n.Q6J("nodes",l.nodes)("edges",l.edges)("background",n.DdM(3,m))},dependencies:[g.p,o.t],encapsulation:2,changeDetection:0})}return s})()},order:11},y=[],k={CustomBackgroundDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" background="#bbe1fa" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class CustomBackgroundDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\'\n    },\n  ]\n}\n
'}],DotsCustomBackgroundDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow\n    [nodes]="nodes"\n    [edges]="edges"\n    [background]="{ type: \'dots\' }"\n  />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class DotsCustomBackgroundDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\'\n    },\n  ]\n}\n
'}]};let i=(()=>{class s extends c.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Custom background

You\'re able to select background for your flow.

Solid color

To select a color, simply pass a color string it to the [background] input.

{"expanded":true}

Dots pattern

To make dots pattern, pass an object to the [background] input according to DotsBackground interface

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/custom-background/index.md?message=docs(custom-background): describe your changes here...",this.page=t,this.demoAssets=k}static#s=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-doc-page-features-custom-background"]],standalone:!0,features:[n._Bn([{provide:c.a,useExisting:s},y,t.providers??[]]),n.qOj,n.jDz],decls:1,vars:0,template:function(a,l){1&a&&n._UZ(0,"ng-doc-page")},dependencies:[r.z],encapsulation:2,changeDetection:0})}return s})();const w=[{...(0,h.isRoute)(t.route)?t.route:{},path:"",component:i,title:"Custom background"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[7576],{7576:(b,d,e)=>{e.r(d),e.d(d,{DynamicComponent:()=>i,default:()=>w});var c=e(6286),r=e(7134),h=e(9143),u=e(2936),g=e(2898),n=e(5879),o=e(8944);const m=function(){return{type:"dots"}},t={title:"Custom background",mdFile:"./index.md",category:u.Z,demos:{CustomBackgroundDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3"}]}static#s=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[n.jDz],decls:1,vars:2,consts:[["background","#bbe1fa",3,"nodes","edges"]],template:function(a,l){1&a&&n._UZ(0,"vflow",0),2&a&&n.Q6J("nodes",l.nodes)("edges",l.edges)},dependencies:[g.p,o.t],encapsulation:2,changeDetection:0})}return s})(),DotsCustomBackgroundDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3"}]}static#s=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[n.jDz],decls:1,vars:4,consts:[[3,"nodes","edges","background"]],template:function(a,l){1&a&&n._UZ(0,"vflow",0),2&a&&n.Q6J("nodes",l.nodes)("edges",l.edges)("background",n.DdM(3,m))},dependencies:[g.p,o.t],encapsulation:2,changeDetection:0})}return s})()},order:11},y=[],k={CustomBackgroundDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" background="#bbe1fa" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class CustomBackgroundDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\'\n    },\n  ]\n}\n
'}],DotsCustomBackgroundDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow\n    [nodes]="nodes"\n    [edges]="edges"\n    [background]="{ type: \'dots\' }"\n  />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class DotsCustomBackgroundDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\'\n    },\n  ]\n}\n
'}]};let i=(()=>{class s extends c.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Custom background

You\'re able to select background for your flow.

Solid color

To select a color, simply pass a color string it to the [background] input.

{"expanded":true}

Dots pattern

To make dots pattern, pass an object to the [background] input according to DotsBackground interface

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/custom-background/index.md?message=docs(custom-background): describe your changes here...",this.page=t,this.demoAssets=k}static#s=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-doc-page-features-custom-background"]],standalone:!0,features:[n._Bn([{provide:c.a,useExisting:s},y,t.providers??[]]),n.qOj,n.jDz],decls:1,vars:0,template:function(a,l){1&a&&n._UZ(0,"ng-doc-page")},dependencies:[r.z],encapsulation:2,changeDetection:0})}return s})();const w=[{...(0,h.isRoute)(t.route)?t.route:{},path:"",component:i,title:"Custom background"}]}}]); \ No newline at end of file diff --git a/7578.b797a5ccc1a33b16.js b/7578.b797a5ccc1a33b16.js new file mode 100644 index 00000000..9c9e4a00 --- /dev/null +++ b/7578.b797a5ccc1a33b16.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[7578],{7578:(p,t,e)=>{e.r(t),e.d(t,{DynamicComponent:()=>c,default:()=>l});var d=e(6286),i=e(7134),n=e(5879);let c=(()=>{class s extends d.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L78",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L78",this.pageContent='
ngx-vflow / Function

isTemplateStaticNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Presentation

function isTemplateStaticNode(node: Node<unknown>): boolean;\n

Parameters

NameTypeDescription
node
Node<unknown>
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-doc-page-api-ngx-vflow-functions-is-template-static-node"]],standalone:!0,features:[n._Bn([{provide:d.a,useExisting:s}]),n.qOj,n.jDz],decls:1,vars:0,template:function(a,h){1&a&&n._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return s})();const l=[{path:"",component:c,title:"isTemplateStaticNode"}]}}]); \ No newline at end of file diff --git a/7677.3537d527d3a04acd.js b/7677.3537d527d3a04acd.js new file mode 100644 index 00000000..205db55a --- /dev/null +++ b/7677.3537d527d3a04acd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[7677],{7677:(p,c,e)=>{e.r(c),e.d(c,{DynamicComponent:()=>i,default:()=>d});var t=e(6286),l=e(7134),n=e(5879);let i=(()=>{class a extends t.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L11",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L11",this.pageContent='
ngx-vflow / TypeAlias

DynamicNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Presentation

type DynamicNode =\n  | DefaultDynamicNode\n  | HtmlTemplateDynamicNode<T>\n  | ComponentDynamicNode<T>;\n
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(s){return new(s||a)};static#n=this.\u0275cmp=n.Xpm({type:a,selectors:[["ng-doc-page-api-ngx-vflow-type-aliases-dynamic-node"]],standalone:!0,features:[n._Bn([{provide:t.a,useExisting:a}]),n.qOj,n.jDz],decls:1,vars:0,template:function(s,h){1&s&&n._UZ(0,"ng-doc-page")},dependencies:[l.z],encapsulation:2,changeDetection:0})}return a})();const d=[{path:"",component:i,title:"DynamicNode"}]}}]); \ No newline at end of file diff --git a/7708.c600f0019556fa81.js b/7708.c600f0019556fa81.js deleted file mode 100644 index 78d520b5..00000000 --- a/7708.c600f0019556fa81.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[7708],{7708:(p,a,e)=>{e.r(a),e.d(a,{DynamicComponent:()=>t,default:()=>i});var o=e(6286),l=e(7134),s=e(5879);let t=(()=>{class n extends o.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/public-components/custom-node.component.ts?message=docs(ngx-vflow): describe your changes here...#L7",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/public-components/custom-node.component.ts#L7",this.pageContent='
ngx-vflow / Class /
@Directive
abstract

CustomNodeComponent

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
ImplementsOnInit
No documentation has been provided.

See Also

  • LooseConnectionNode (extended)
  • RedSquareNodeComponent (extended)
  • BlueSquareNodeComponent (extended)
  • SimpleCustomNodeComponent (extended)
  • ComplexCustomNodeComponent (extended)

Properties

NameTypeDescription
p destroyRef
DestroyRef
@Input
node
SharedNode & ComponentNode<T>

Reference to node bound to this component

selected
WritableSignal<boolean>

Signal with selected state of node

Accessors

@Input

set _selected

No documentation has been provided.
Presentation
set _selected(value: boolean);\n
Type

boolean

Methods

ngOnInit()

implements OnInit
No documentation has been provided.
Presentation
ngOnInit(): void;\n
Returns

void

',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(d){return new(d||n)};static#s=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-api-ngx-vflow-classes-custom-node-component"]],standalone:!0,features:[s._Bn([{provide:o.a,useExisting:n}]),s.qOj,s.jDz],decls:1,vars:0,template:function(d,h){1&d&&s._UZ(0,"ng-doc-page")},dependencies:[l.z],encapsulation:2,changeDetection:0})}return n})();const i=[{path:"",component:t,title:"CustomNodeComponent"}]}}]); \ No newline at end of file diff --git a/7708.e82abfb89ce2ffd6.js b/7708.e82abfb89ce2ffd6.js new file mode 100644 index 00000000..1395e1ff --- /dev/null +++ b/7708.e82abfb89ce2ffd6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[7708],{7708:(p,a,e)=>{e.r(a),e.d(a,{DynamicComponent:()=>t,default:()=>i});var o=e(6286),l=e(7134),s=e(5879);let t=(()=>{class n extends o.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/public-components/custom-node.component.ts?message=docs(ngx-vflow): describe your changes here...#L5",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/public-components/custom-node.component.ts#L5",this.pageContent='
ngx-vflow / Class /
@Directive
abstract

CustomNodeComponent

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
Extends CustomNodeBaseComponent<T> ImplementsOnInit
No documentation has been provided.

See Also

  • SimpleCustomNodeComponent (extended)
  • ComplexCustomNodeComponent (extended)
  • LooseConnectionNode (extended)
  • RedSquareNodeComponent (extended)
  • BlueSquareNodeComponent (extended)

Properties

NameTypeDescription
data
inherited from CustomNodeBaseComponent
WritableSignal<T | undefined>
p destroyRef
inherited from CustomNodeBaseComponent
DestroyRef
@Input
node
overrides CustomNodeBaseComponent
ComponentNode<T>

Reference to node bound to this component

selected
inherited from CustomNodeBaseComponent
WritableSignal<boolean>

Signal with selected state of node

Accessors

@Input

set _selected

inherited from CustomNodeBaseComponent
No documentation has been provided.
Presentation
set _selected(value: boolean);\n
Type

boolean

Methods

ngOnInit()

overrides CustomNodeBaseComponent
No documentation has been provided.
Presentation
ngOnInit(): void;\n
Returns

void

',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(d){return new(d||n)};static#s=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-api-ngx-vflow-classes-custom-node-component"]],standalone:!0,features:[s._Bn([{provide:o.a,useExisting:n}]),s.qOj,s.jDz],decls:1,vars:0,template:function(d,h){1&d&&s._UZ(0,"ng-doc-page")},dependencies:[l.z],encapsulation:2,changeDetection:0})}return n})();const i=[{path:"",component:t,title:"CustomNodeComponent"}]}}]); \ No newline at end of file diff --git a/7724.4ea7cb5c52a37567.js b/7724.4ea7cb5c52a37567.js deleted file mode 100644 index 46ea0b00..00000000 --- a/7724.4ea7cb5c52a37567.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[7724],{7724:(d,l,t)=>{t.r(l),t.d(l,{default:()=>o});const o=[{path:"",redirectTo:"vizdom-layout",pathMatch:"full"},{path:"",title:"Layout",children:[{path:"vizdom-layout",loadChildren:()=>Promise.all([t.e(7134),t.e(5535),t.e(8592),t.e(1901)]).then(t.bind(t,1901))}]}]}}]); \ No newline at end of file diff --git a/7724.8fc10979dd28684c.js b/7724.8fc10979dd28684c.js new file mode 100644 index 00000000..0c359f20 --- /dev/null +++ b/7724.8fc10979dd28684c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[7724],{7724:(d,t,l)=>{l.r(t),l.d(t,{default:()=>o});const o=[{path:"",redirectTo:"force",pathMatch:"full"},{path:"",title:"Layout",children:[{path:"force",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(2629)]).then(l.bind(l,2629))},{path:"vizdom-layout",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(1901)]).then(l.bind(l,1901))}]}]}}]); \ No newline at end of file diff --git a/7851.1b0e25d1e08d078b.js b/7851.5a81ceb109c70c7a.js similarity index 99% rename from 7851.1b0e25d1e08d078b.js rename to 7851.5a81ceb109c70c7a.js index 5d797527..8fe36ae8 100644 --- a/7851.1b0e25d1e08d078b.js +++ b/7851.5a81ceb109c70c7a.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[7851],{7851:(x,c,n)=>{n.r(c),n.d(c,{DynamicComponent:()=>g,default:()=>y});var d=n(6286),o=n(7134),i=n(9143),r=n(2936),h=n(2898),a=n(5879),j=n(7146);const l={title:"Curves",mdFile:"./index.md",category:r.Z,demos:{CurvesDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2",curve:"bezier"},{id:"1 -> 3",source:"1",target:"3",curve:"straight"}],this.connectionSettings={curve:"straight"}}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[a.jDz],decls:1,vars:3,consts:[[3,"nodes","edges","connection"]],template:function(e,p){1&e&&a._UZ(0,"vflow",0),2&e&&a.Q6J("nodes",p.nodes)("edges",p.edges)("connection",p.connectionSettings)},dependencies:[h.p,j.t],encapsulation:2,changeDetection:0})}return s})()},order:8},m=[],f={CurvesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { ConnectionSettings, Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" [connection]="connectionSettings" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class CurvesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      curve: \'bezier\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      curve: \'straight\'\n    },\n  ]\n\n  public connectionSettings: ConnectionSettings = {\n    curve: \'straight\'\n  }\n}\n
'}]};let g=(()=>{class s extends d.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Curves

It\'s possible to set curve for both the edges and connection.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/curves/index.md?message=docs(curves): describe your changes here...",this.page=l,this.demoAssets=f}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-doc-page-features-curves"]],standalone:!0,features:[a._Bn([{provide:d.a,useExisting:s},m,l.providers??[]]),a.qOj,a.jDz],decls:1,vars:0,template:function(e,p){1&e&&a._UZ(0,"ng-doc-page")},dependencies:[o.z],encapsulation:2,changeDetection:0})}return s})();const y=[{...(0,i.isRoute)(l.route)?l.route:{},path:"",component:g,title:"Curves"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[7851],{7851:(x,c,n)=>{n.r(c),n.d(c,{DynamicComponent:()=>g,default:()=>y});var d=n(6286),o=n(7134),i=n(9143),r=n(2936),h=n(2898),a=n(5879),j=n(8944);const l={title:"Curves",mdFile:"./index.md",category:r.Z,demos:{CurvesDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2"},{id:"3",point:{x:200,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2",curve:"bezier"},{id:"1 -> 3",source:"1",target:"3",curve:"straight"}],this.connectionSettings={curve:"straight"}}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[a.jDz],decls:1,vars:3,consts:[[3,"nodes","edges","connection"]],template:function(e,p){1&e&&a._UZ(0,"vflow",0),2&e&&a.Q6J("nodes",p.nodes)("edges",p.edges)("connection",p.connectionSettings)},dependencies:[h.p,j.t],encapsulation:2,changeDetection:0})}return s})()},order:8},m=[],f={CurvesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { ConnectionSettings, Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" [connection]="connectionSettings" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class CurvesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      curve: \'bezier\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      curve: \'straight\'\n    },\n  ]\n\n  public connectionSettings: ConnectionSettings = {\n    curve: \'straight\'\n  }\n}\n
'}]};let g=(()=>{class s extends d.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Curves

It\'s possible to set curve for both the edges and connection.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/curves/index.md?message=docs(curves): describe your changes here...",this.page=l,this.demoAssets=f}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-doc-page-features-curves"]],standalone:!0,features:[a._Bn([{provide:d.a,useExisting:s},m,l.providers??[]]),a.qOj,a.jDz],decls:1,vars:0,template:function(e,p){1&e&&a._UZ(0,"ng-doc-page")},dependencies:[o.z],encapsulation:2,changeDetection:0})}return s})();const y=[{...(0,i.isRoute)(l.route)?l.route:{},path:"",component:g,title:"Curves"}]}}]); \ No newline at end of file diff --git a/8030.69aa004cf2d1d64e.js b/8030.ebd4484b170accb5.js similarity index 98% rename from 8030.69aa004cf2d1d64e.js rename to 8030.ebd4484b170accb5.js index cd62ba7a..65db10d6 100644 --- a/8030.69aa004cf2d1d64e.js +++ b/8030.ebd4484b170accb5.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8030],{8030:(x,p,n)=>{n.r(p),n.d(p,{DynamicComponent:()=>o,default:()=>v});var d=n(6286),g=n(7134),i=n(9143),r=n(2936),h=n(2898),a=n(5879),u=n(7146);const l={title:"Default nodes",mdFile:"./index.md",category:r.Z,demos:{DefaultNodesDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:100,y:100},type:"default",text:"1"},{id:"2",point:{x:200,y:200},type:"default",text:"2"}]}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[a.jDz],decls:1,vars:1,consts:[[3,"nodes"]],template:function(e,c){1&e&&a._UZ(0,"vflow",0),2&e&&a.Q6J("nodes",c.nodes)},dependencies:[h.p,u.t],encapsulation:2,changeDetection:0})}return s})()},order:1},f=[],j={DefaultNodesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class DefaultNodesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: \'default\',\n      text: `1`,\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: \'default\',\n      // it\'s possible to pass html in this field\n      text: `<strong>2</strong>`\n    },\n  ]\n}\n
'}]};let o=(()=>{class s extends d.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Default nodes

To get started, you just need to provide nodes array to vflow component.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/default-nodes/index.md?message=docs(default-nodes): describe your changes here...",this.page=l,this.demoAssets=j}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-doc-page-features-default-nodes"]],standalone:!0,features:[a._Bn([{provide:d.a,useExisting:s},f,l.providers??[]]),a.qOj,a.jDz],decls:1,vars:0,template:function(e,c){1&e&&a._UZ(0,"ng-doc-page")},dependencies:[g.z],encapsulation:2,changeDetection:0})}return s})();const v=[{...(0,i.isRoute)(l.route)?l.route:{},path:"",component:o,title:"Default nodes"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8030],{8030:(x,p,n)=>{n.r(p),n.d(p,{DynamicComponent:()=>o,default:()=>v});var d=n(6286),g=n(7134),i=n(9143),r=n(2936),h=n(2898),a=n(5879),u=n(8944);const l={title:"Default nodes",mdFile:"./index.md",category:r.Z,demos:{DefaultNodesDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:100,y:100},type:"default",text:"1"},{id:"2",point:{x:200,y:200},type:"default",text:"2"}]}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[a.jDz],decls:1,vars:1,consts:[[3,"nodes"]],template:function(e,c){1&e&&a._UZ(0,"vflow",0),2&e&&a.Q6J("nodes",c.nodes)},dependencies:[h.p,u.t],encapsulation:2,changeDetection:0})}return s})()},order:1},f=[],j={DefaultNodesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class DefaultNodesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: \'default\',\n      text: `1`,\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: \'default\',\n      // it\'s possible to pass html in this field\n      text: `<strong>2</strong>`\n    },\n  ]\n}\n
'}]};let o=(()=>{class s extends d.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Default nodes

To get started, you just need to provide nodes array to vflow component.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/default-nodes/index.md?message=docs(default-nodes): describe your changes here...",this.page=l,this.demoAssets=j}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-doc-page-features-default-nodes"]],standalone:!0,features:[a._Bn([{provide:d.a,useExisting:s},f,l.providers??[]]),a.qOj,a.jDz],decls:1,vars:0,template:function(e,c){1&e&&a._UZ(0,"ng-doc-page")},dependencies:[g.z],encapsulation:2,changeDetection:0})}return s})();const v=[{...(0,i.isRoute)(l.route)?l.route:{},path:"",component:o,title:"Default nodes"}]}}]); \ No newline at end of file diff --git a/8110.b4d7cc46b0b7392b.js b/8110.f1efb1928ee89efc.js similarity index 99% rename from 8110.b4d7cc46b0b7392b.js rename to 8110.f1efb1928ee89efc.js index d4158db4..99ab0796 100644 --- a/8110.b4d7cc46b0b7392b.js +++ b/8110.f1efb1928ee89efc.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8110],{8110:(b,d,e)=>{e.r(d),e.d(d,{DynamicComponent:()=>i,default:()=>v});var c=e(6286),r=e(7134),h=e(9143),j=e(2936),o=e(2898),s=e(5879),g=e(7146);const u=function(){return{source:"left",target:"right"}},f=function(){return{source:"bottom",target:"top"}},t={title:"Choose direction",mdFile:"./index.md",category:j.Z,demos:{HandlePositionsRtlDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:300,y:200},type:"default",text:"1"},{id:"2",point:{x:10,y:100},type:"default",text:"2"},{id:"3",point:{x:10,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2",markers:{end:{type:"arrow-closed"}}},{id:"1 -> 3",source:"1",target:"3",markers:{end:{type:"arrow-closed"}}}]}static#s=this.\u0275fac=function(a){return new(a||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:4,consts:[[3,"nodes","edges","handlePositions"]],template:function(a,l){1&a&&s._UZ(0,"vflow",0),2&a&&s.Q6J("nodes",l.nodes)("edges",l.edges)("handlePositions",s.DdM(3,u))},dependencies:[o.p,g.t],encapsulation:2,changeDetection:0})}return n})(),HandlePositionsTtbDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:150,y:10},type:"default",text:"1"},{id:"2",point:{x:10,y:200},type:"default",text:"2"},{id:"3",point:{x:290,y:200},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2",markers:{end:{type:"arrow-closed"}}},{id:"1 -> 3",source:"1",target:"3",markers:{end:{type:"arrow-closed"}}}]}static#s=this.\u0275fac=function(a){return new(a||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:4,consts:[[3,"nodes","edges","handlePositions"]],template:function(a,l){1&a&&s._UZ(0,"vflow",0),2&a&&s.Q6J("nodes",l.nodes)("edges",l.edges)("handlePositions",s.DdM(3,f))},dependencies:[o.p,g.t],encapsulation:2,changeDetection:0})}return n})()},order:7},w=[],x={HandlePositionsRtlDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges"\n    [handlePositions]="{ source: \'left\', target: \'right\' }" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class HandlePositionsRtlDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 300, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 10, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 10, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      markers: {\n        end: { type: \'arrow-closed\' }\n      }\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      markers: {\n        end: { type: \'arrow-closed\' }\n      }\n    },\n  ]\n}\n
'}],HandlePositionsTtbDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges"\n    [handlePositions]="{ source: \'bottom\', target: \'top\' }" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class HandlePositionsTtbDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 150, y: 10 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 290, y: 200 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      markers: {\n        end: { type: \'arrow-closed\' }\n      }\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      markers: {\n        end: { type: \'arrow-closed\' }\n      }\n    },\n  ]\n}\n
'}]};let i=(()=>{class n extends c.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Choose direction

This API may depricate in future releases

You can apply global setting for all handles with [handlePositions] input where you set on which side source and target handles should be placed, you can select.

Right to left direction

To archive this direction, you pass { source: \'left\', target: \'right\' } to [handlePositions].

{"expanded":false}

Top to bottom direction

To archive this direction, you pass { source: \'bottom\', target: \'top\' } to [handlePositions].

{"expanded":false}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/choose-direction/index.md?message=docs(choose-direction): describe your changes here...",this.page=t,this.demoAssets=x}static#s=this.\u0275fac=function(a){return new(a||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-choose-direction"]],standalone:!0,features:[s._Bn([{provide:c.a,useExisting:n},w,t.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(a,l){1&a&&s._UZ(0,"ng-doc-page")},dependencies:[r.z],encapsulation:2,changeDetection:0})}return n})();const v=[{...(0,h.isRoute)(t.route)?t.route:{},path:"",component:i,title:"Choose direction"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8110],{8110:(b,d,e)=>{e.r(d),e.d(d,{DynamicComponent:()=>i,default:()=>v});var c=e(6286),r=e(7134),h=e(9143),j=e(2936),o=e(2898),s=e(5879),g=e(8944);const u=function(){return{source:"left",target:"right"}},f=function(){return{source:"bottom",target:"top"}},t={title:"Choose direction",mdFile:"./index.md",category:j.Z,demos:{HandlePositionsRtlDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:300,y:200},type:"default",text:"1"},{id:"2",point:{x:10,y:100},type:"default",text:"2"},{id:"3",point:{x:10,y:300},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2",markers:{end:{type:"arrow-closed"}}},{id:"1 -> 3",source:"1",target:"3",markers:{end:{type:"arrow-closed"}}}]}static#s=this.\u0275fac=function(a){return new(a||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:4,consts:[[3,"nodes","edges","handlePositions"]],template:function(a,l){1&a&&s._UZ(0,"vflow",0),2&a&&s.Q6J("nodes",l.nodes)("edges",l.edges)("handlePositions",s.DdM(3,u))},dependencies:[o.p,g.t],encapsulation:2,changeDetection:0})}return n})(),HandlePositionsTtbDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:150,y:10},type:"default",text:"1"},{id:"2",point:{x:10,y:200},type:"default",text:"2"},{id:"3",point:{x:290,y:200},type:"default",text:"3"}],this.edges=[{id:"1 -> 2",source:"1",target:"2",markers:{end:{type:"arrow-closed"}}},{id:"1 -> 3",source:"1",target:"3",markers:{end:{type:"arrow-closed"}}}]}static#s=this.\u0275fac=function(a){return new(a||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:4,consts:[[3,"nodes","edges","handlePositions"]],template:function(a,l){1&a&&s._UZ(0,"vflow",0),2&a&&s.Q6J("nodes",l.nodes)("edges",l.edges)("handlePositions",s.DdM(3,f))},dependencies:[o.p,g.t],encapsulation:2,changeDetection:0})}return n})()},order:7},w=[],x={HandlePositionsRtlDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges"\n    [handlePositions]="{ source: \'left\', target: \'right\' }" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class HandlePositionsRtlDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 300, y: 200 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 10, y: 100 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 10, y: 300 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      markers: {\n        end: { type: \'arrow-closed\' }\n      }\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      markers: {\n        end: { type: \'arrow-closed\' }\n      }\n    },\n  ]\n}\n
'}],HandlePositionsTtbDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges"\n    [handlePositions]="{ source: \'bottom\', target: \'top\' }" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class HandlePositionsTtbDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 150, y: 10 },\n      type: \'default\',\n      text: \'1\'\n    },\n    {\n      id: \'2\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'2\'\n    },\n    {\n      id: \'3\',\n      point: { x: 290, y: 200 },\n      type: \'default\',\n      text: \'3\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      markers: {\n        end: { type: \'arrow-closed\' }\n      }\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      markers: {\n        end: { type: \'arrow-closed\' }\n      }\n    },\n  ]\n}\n
'}]};let i=(()=>{class n extends c.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Choose direction

This API may depricate in future releases

You can apply global setting for all handles with [handlePositions] input where you set on which side source and target handles should be placed, you can select.

Right to left direction

To archive this direction, you pass { source: \'left\', target: \'right\' } to [handlePositions].

{"expanded":false}

Top to bottom direction

To archive this direction, you pass { source: \'bottom\', target: \'top\' } to [handlePositions].

{"expanded":false}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/choose-direction/index.md?message=docs(choose-direction): describe your changes here...",this.page=t,this.demoAssets=x}static#s=this.\u0275fac=function(a){return new(a||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-choose-direction"]],standalone:!0,features:[s._Bn([{provide:c.a,useExisting:n},w,t.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(a,l){1&a&&s._UZ(0,"ng-doc-page")},dependencies:[r.z],encapsulation:2,changeDetection:0})}return n})();const v=[{...(0,h.isRoute)(t.route)?t.route:{},path:"",component:i,title:"Choose direction"}]}}]); \ No newline at end of file diff --git a/8501.66b1e8f72b6ede42.js b/8501.66b1e8f72b6ede42.js new file mode 100644 index 00000000..2c0183db --- /dev/null +++ b/8501.66b1e8f72b6ede42.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8501],{8501:(p,t,e)=>{e.r(t),e.d(t,{DynamicComponent:()=>d,default:()=>l});var o=e(6286),c=e(7134),n=e(5879);let d=(()=>{class s extends o.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L70",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L70",this.pageContent='
ngx-vflow / Function

isComponentStaticNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Presentation

function isComponentStaticNode(node: Node<unknown>): boolean;\n

Parameters

NameTypeDescription
node
Node<unknown>
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(a){return new(a||s)};static#n=this.\u0275cmp=n.Xpm({type:s,selectors:[["ng-doc-page-api-ngx-vflow-functions-is-component-static-node"]],standalone:!0,features:[n._Bn([{provide:o.a,useExisting:s}]),n.qOj,n.jDz],decls:1,vars:0,template:function(a,h){1&a&&n._UZ(0,"ng-doc-page")},dependencies:[c.z],encapsulation:2,changeDetection:0})}return s})();const l=[{path:"",component:d,title:"isComponentStaticNode"}]}}]); \ No newline at end of file diff --git a/8640.4667b6c6ffac48fa.js b/8640.7531bf5569814abc.js similarity index 57% rename from 8640.4667b6c6ffac48fa.js rename to 8640.7531bf5569814abc.js index 4334be48..27d7c1ce 100644 --- a/8640.4667b6c6ffac48fa.js +++ b/8640.7531bf5569814abc.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8640],{8640:(p,t,e)=>{e.r(t),e.d(t,{DynamicComponent:()=>c,default:()=>i});var o=e(6286),d=e(7134),n=e(5879);let c=(()=>{class a extends o.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L5",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L5",this.pageContent='
ngx-vflow / TypeAlias

Node

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Presentation

type Node = SharedNode & (DefaultNode | HtmlTemplateNode<T> | ComponentNode<T>);\n
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(s){return new(s||a)};static#n=this.\u0275cmp=n.Xpm({type:a,selectors:[["ng-doc-page-api-ngx-vflow-type-aliases-node"]],standalone:!0,features:[n._Bn([{provide:o.a,useExisting:a}]),n.qOj,n.jDz],decls:1,vars:0,template:function(s,h){1&s&&n._UZ(0,"ng-doc-page")},dependencies:[d.z],encapsulation:2,changeDetection:0})}return a})();const i=[{path:"",component:c,title:"Node"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8640],{8640:(p,t,e)=>{e.r(t),e.d(t,{DynamicComponent:()=>c,default:()=>i});var o=e(6286),l=e(7134),n=e(5879);let c=(()=>{class a extends o.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L6",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L6",this.pageContent='
ngx-vflow / TypeAlias

Node

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Presentation

type Node = DefaultNode | HtmlTemplateNode<T> | ComponentNode<T>;\n
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(s){return new(s||a)};static#n=this.\u0275cmp=n.Xpm({type:a,selectors:[["ng-doc-page-api-ngx-vflow-type-aliases-node"]],standalone:!0,features:[n._Bn([{provide:o.a,useExisting:a}]),n.qOj,n.jDz],decls:1,vars:0,template:function(s,h){1&s&&n._UZ(0,"ng-doc-page")},dependencies:[l.z],encapsulation:2,changeDetection:0})}return a})();const i=[{path:"",component:c,title:"Node"}]}}]); \ No newline at end of file diff --git a/8722.a01aeb548abb7446.js b/8722.a01aeb548abb7446.js new file mode 100644 index 00000000..60b2a3f1 --- /dev/null +++ b/8722.a01aeb548abb7446.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8722],{8722:(y,d,s)=>{s.r(d),s.d(d,{DynamicComponent:()=>l,default:()=>m});var o=s(6286),t=s(7134),i=s(9143);const a={title:"Dynamic vs Static nodes",mdFile:"./index.md",category:s(2936).Z,order:2},g=[],r={};var n=s(5879);let l=(()=>{class e extends o.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Dynamic vs Static nodes

You can\'t mix Node and DynamicNode in a single array so you have to choose what you want to use

For more complex scenarios, you might need to have a fine-grained control on specific nodes.

In such cases, you can use DynamicNode, which is essentially a Node with properties with same names but with a WritableSignal type. This offers the following benefits:

  • Granular updates to specific nodes with efficient rendering (only the affected node is re-rendered).
  • Access to the updated state of a node directly (without listening events). For instance, if a point changes due to drag-and-drop, the node\'s point() signal will reflect the new position.
  • Additional benefits of signals, such as executing actions within an effect when a dynamic property changes.

Not all properties of DynamicNode are WritableSignal, for instance an id must be static, so it remains of a regular string type

Code example

If you want to change a node\'s position programmatically, you would:

...\n\npublic nodes: DynamicNode[] = [\n  {\n    type: \'default\'\n    id: \'1\',\n    point: signal({ x: 100, y: 100 })\n  }\n]\n\nupdatePosition() {\n  const [node] = this.nodes\n\n  // The first node will move to new position\n  node.point.set({ x: 150, y: 150 })\n}\n\n...\n\n

See also

',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/dynamic-vs-static-nodes/index.md?message=docs(dynamic-vs-static-nodes): describe your changes here...",this.page=a,this.demoAssets=r}static#s=this.\u0275fac=function(c){return new(c||e)};static#n=this.\u0275cmp=n.Xpm({type:e,selectors:[["ng-doc-page-features-dynamic-vs-static-nodes"]],standalone:!0,features:[n._Bn([{provide:o.a,useExisting:e},g,a.providers??[]]),n.qOj,n.jDz],decls:1,vars:0,template:function(c,k){1&c&&n._UZ(0,"ng-doc-page")},dependencies:[t.z],encapsulation:2,changeDetection:0})}return e})();const m=[{...(0,i.isRoute)(a.route)?a.route:{},path:"",component:l,title:"Dynamic vs Static nodes"}]}}]); \ No newline at end of file diff --git a/8738.33907002f71ab58d.js b/8738.33907002f71ab58d.js new file mode 100644 index 00000000..bae28cf6 --- /dev/null +++ b/8738.33907002f71ab58d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8738],{8738:(d,n,l)=>{l.r(n),l.d(n,{default:()=>t});const t=[{path:"",redirectTo:"interfaces/ViewportState",pathMatch:"full"},{path:"",title:"ngx-vflow",children:[{path:"interfaces/ViewportState",loadChildren:()=>Promise.all([l.e(7134),l.e(277)]).then(l.bind(l,277))},{path:"classes/VflowModule",loadChildren:()=>Promise.all([l.e(7134),l.e(6541)]).then(l.bind(l,6541))},{path:"functions/isStaticNode",loadChildren:()=>Promise.all([l.e(7134),l.e(2416)]).then(l.bind(l,2416))},{path:"functions/isDynamicNode",loadChildren:()=>Promise.all([l.e(7134),l.e(2077)]).then(l.bind(l,2077))},{path:"functions/isComponentStaticNode",loadChildren:()=>Promise.all([l.e(7134),l.e(8501)]).then(l.bind(l,8501))},{path:"functions/isComponentDynamicNode",loadChildren:()=>Promise.all([l.e(7134),l.e(6929)]).then(l.bind(l,6929))},{path:"functions/isTemplateStaticNode",loadChildren:()=>Promise.all([l.e(7134),l.e(7578)]).then(l.bind(l,7578))},{path:"functions/isTemplateDynamicNode",loadChildren:()=>Promise.all([l.e(7134),l.e(3880)]).then(l.bind(l,3880))},{path:"functions/isDefaultStaticNode",loadChildren:()=>Promise.all([l.e(7134),l.e(2339)]).then(l.bind(l,2339))},{path:"functions/isDefaultDynamicNode",loadChildren:()=>Promise.all([l.e(7134),l.e(4999)]).then(l.bind(l,4999))},{path:"type-aliases/Node",loadChildren:()=>Promise.all([l.e(7134),l.e(8640)]).then(l.bind(l,8640))},{path:"type-aliases/DynamicNode",loadChildren:()=>Promise.all([l.e(7134),l.e(7677)]).then(l.bind(l,7677))},{path:"interfaces/SharedNode",loadChildren:()=>Promise.all([l.e(7134),l.e(3777)]).then(l.bind(l,3777))},{path:"interfaces/SharedDynamicNode",loadChildren:()=>Promise.all([l.e(7134),l.e(5659)]).then(l.bind(l,5659))},{path:"interfaces/DefaultNode",loadChildren:()=>Promise.all([l.e(7134),l.e(6886)]).then(l.bind(l,6886))},{path:"interfaces/DefaultDynamicNode",loadChildren:()=>Promise.all([l.e(7134),l.e(425)]).then(l.bind(l,425))},{path:"interfaces/HtmlTemplateNode",loadChildren:()=>Promise.all([l.e(7134),l.e(9850)]).then(l.bind(l,6464))},{path:"interfaces/HtmlTemplateDynamicNode",loadChildren:()=>Promise.all([l.e(7134),l.e(9439)]).then(l.bind(l,9439))},{path:"interfaces/ComponentNode",loadChildren:()=>Promise.all([l.e(7134),l.e(706)]).then(l.bind(l,706))},{path:"interfaces/ComponentDynamicNode",loadChildren:()=>Promise.all([l.e(7134),l.e(9740)]).then(l.bind(l,9740))},{path:"interfaces/Point",loadChildren:()=>Promise.all([l.e(7134),l.e(1474)]).then(l.bind(l,1474))},{path:"type-aliases/EdgeType",loadChildren:()=>Promise.all([l.e(7134),l.e(5281)]).then(l.bind(l,5281))},{path:"type-aliases/Curve",loadChildren:()=>Promise.all([l.e(7134),l.e(5339)]).then(l.bind(l,5339))},{path:"interfaces/Edge",loadChildren:()=>Promise.all([l.e(7134),l.e(6186)]).then(l.bind(l,6186))},{path:"type-aliases/EdgeLabelType",loadChildren:()=>Promise.all([l.e(7134),l.e(339)]).then(l.bind(l,339))},{path:"type-aliases/EdgeLabelPosition",loadChildren:()=>Promise.all([l.e(7134),l.e(2779)]).then(l.bind(l,2779))},{path:"interfaces/EdgeLabel",loadChildren:()=>Promise.all([l.e(7134),l.e(9296)]).then(l.bind(l,9296))},{path:"interfaces/Connection",loadChildren:()=>Promise.all([l.e(7134),l.e(9961)]).then(l.bind(l,9961))},{path:"type-aliases/ConnectionValidatorFn",loadChildren:()=>Promise.all([l.e(7134),l.e(3042)]).then(l.bind(l,3042))},{path:"interfaces/ConnectionSettings",loadChildren:()=>Promise.all([l.e(7134),l.e(6239)]).then(l.bind(l,6239))},{path:"interfaces/HandlePositions",loadChildren:()=>Promise.all([l.e(7134),l.e(2831)]).then(l.bind(l,542))},{path:"interfaces/Marker",loadChildren:()=>Promise.all([l.e(7134),l.e(7182)]).then(l.bind(l,7182))},{path:"type-aliases/ComponentNodeEvent",loadChildren:()=>Promise.all([l.e(7134),l.e(3856)]).then(l.bind(l,3856))},{path:"type-aliases/AnyComponentNodeEvent",loadChildren:()=>Promise.all([l.e(7134),l.e(9101)]).then(l.bind(l,9101))},{path:"interfaces/FitViewOptions",loadChildren:()=>Promise.all([l.e(7134),l.e(1598)]).then(l.bind(l,1598))},{path:"type-aliases/NodeChange",loadChildren:()=>Promise.all([l.e(7134),l.e(8637)]).then(l.bind(l,8637))},{path:"interfaces/NodePositionChange",loadChildren:()=>Promise.all([l.e(7134),l.e(7386)]).then(l.bind(l,7386))},{path:"interfaces/NodeAddChange",loadChildren:()=>Promise.all([l.e(7134),l.e(6297)]).then(l.bind(l,6297))},{path:"interfaces/NodeRemoveChange",loadChildren:()=>Promise.all([l.e(7134),l.e(1223)]).then(l.bind(l,1223))},{path:"interfaces/NodeSelectedChange",loadChildren:()=>Promise.all([l.e(7134),l.e(8352)]).then(l.bind(l,8352))},{path:"type-aliases/EdgeChange",loadChildren:()=>Promise.all([l.e(7134),l.e(1646)]).then(l.bind(l,1646))},{path:"interfaces/EdgeDetachedChange",loadChildren:()=>Promise.all([l.e(7134),l.e(3024)]).then(l.bind(l,3024))},{path:"interfaces/EdgeAddChange",loadChildren:()=>Promise.all([l.e(7134),l.e(4676)]).then(l.bind(l,4676))},{path:"interfaces/EdgeRemoveChange",loadChildren:()=>Promise.all([l.e(7134),l.e(652)]).then(l.bind(l,652))},{path:"interfaces/EdgeSelectChange",loadChildren:()=>Promise.all([l.e(7134),l.e(8184)]).then(l.bind(l,8184))},{path:"type-aliases/Position",loadChildren:()=>Promise.all([l.e(7134),l.e(9867)]).then(l.bind(l,9867))},{path:"type-aliases/Background",loadChildren:()=>Promise.all([l.e(7134),l.e(1248)]).then(l.bind(l,1248))},{path:"interfaces/ColorBackground",loadChildren:()=>Promise.all([l.e(7134),l.e(2003)]).then(l.bind(l,2003))},{path:"interfaces/DotsBackground",loadChildren:()=>Promise.all([l.e(7134),l.e(7814)]).then(l.bind(l,7814))},{path:"type-aliases/ConnectionMode",loadChildren:()=>Promise.all([l.e(7134),l.e(7223)]).then(l.bind(l,7223))},{path:"classes/VflowComponent",loadChildren:()=>Promise.all([l.e(7134),l.e(4753)]).then(l.bind(l,4753))},{path:"classes/HandleComponent",loadChildren:()=>Promise.all([l.e(7134),l.e(1652)]).then(l.bind(l,1652))},{path:"classes/CustomNodeComponent",loadChildren:()=>Promise.all([l.e(7134),l.e(7708)]).then(l.bind(l,7708))},{path:"classes/CustomDynamicNodeComponent",loadChildren:()=>Promise.all([l.e(7134),l.e(2156)]).then(l.bind(l,2156))},{path:"classes/EdgeTemplateDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(9300)]).then(l.bind(l,9300))},{path:"classes/ConnectionTemplateDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(2307)]).then(l.bind(l,2307))},{path:"classes/EdgeLabelHtmlTemplateDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(5025)]).then(l.bind(l,5025))},{path:"classes/NodeHtmlTemplateDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(2888)]).then(l.bind(l,2888))},{path:"classes/HandleTemplateDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(2081)]).then(l.bind(l,2081))},{path:"classes/ConnectionControllerDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(7896)]).then(l.bind(l,7896))},{path:"classes/ChangesControllerDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(1706)]).then(l.bind(l,1706))},{path:"classes/SelectableDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(8613)]).then(l.bind(l,8613))}]}]}}]); \ No newline at end of file diff --git a/8738.67f1f8da9b650c0f.js b/8738.67f1f8da9b650c0f.js deleted file mode 100644 index 4d3ac46c..00000000 --- a/8738.67f1f8da9b650c0f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8738],{8738:(d,n,l)=>{l.r(n),l.d(n,{default:()=>t});const t=[{path:"",redirectTo:"interfaces/ViewportState",pathMatch:"full"},{path:"",title:"ngx-vflow",children:[{path:"interfaces/ViewportState",loadChildren:()=>Promise.all([l.e(7134),l.e(277)]).then(l.bind(l,277))},{path:"classes/VflowModule",loadChildren:()=>Promise.all([l.e(7134),l.e(6541)]).then(l.bind(l,6541))},{path:"type-aliases/Node",loadChildren:()=>Promise.all([l.e(7134),l.e(8640)]).then(l.bind(l,8640))},{path:"interfaces/SharedNode",loadChildren:()=>Promise.all([l.e(7134),l.e(3777)]).then(l.bind(l,3777))},{path:"interfaces/DefaultNode",loadChildren:()=>Promise.all([l.e(7134),l.e(6886)]).then(l.bind(l,6886))},{path:"interfaces/HtmlTemplateNode",loadChildren:()=>Promise.all([l.e(7134),l.e(9850)]).then(l.bind(l,6464))},{path:"interfaces/ComponentNode",loadChildren:()=>Promise.all([l.e(7134),l.e(706)]).then(l.bind(l,706))},{path:"interfaces/Point",loadChildren:()=>Promise.all([l.e(7134),l.e(1474)]).then(l.bind(l,1474))},{path:"type-aliases/EdgeType",loadChildren:()=>Promise.all([l.e(7134),l.e(5281)]).then(l.bind(l,5281))},{path:"type-aliases/Curve",loadChildren:()=>Promise.all([l.e(7134),l.e(5339)]).then(l.bind(l,5339))},{path:"interfaces/Edge",loadChildren:()=>Promise.all([l.e(7134),l.e(6186)]).then(l.bind(l,6186))},{path:"type-aliases/EdgeLabelType",loadChildren:()=>Promise.all([l.e(7134),l.e(339)]).then(l.bind(l,339))},{path:"type-aliases/EdgeLabelPosition",loadChildren:()=>Promise.all([l.e(7134),l.e(2779)]).then(l.bind(l,2779))},{path:"interfaces/EdgeLabel",loadChildren:()=>Promise.all([l.e(7134),l.e(9296)]).then(l.bind(l,9296))},{path:"interfaces/Connection",loadChildren:()=>Promise.all([l.e(7134),l.e(9961)]).then(l.bind(l,9961))},{path:"type-aliases/ConnectionValidatorFn",loadChildren:()=>Promise.all([l.e(7134),l.e(3042)]).then(l.bind(l,3042))},{path:"interfaces/ConnectionSettings",loadChildren:()=>Promise.all([l.e(7134),l.e(6239)]).then(l.bind(l,6239))},{path:"interfaces/HandlePositions",loadChildren:()=>Promise.all([l.e(7134),l.e(2831)]).then(l.bind(l,542))},{path:"interfaces/Marker",loadChildren:()=>Promise.all([l.e(7134),l.e(7182)]).then(l.bind(l,7182))},{path:"type-aliases/ComponentNodeEvent",loadChildren:()=>Promise.all([l.e(7134),l.e(3856)]).then(l.bind(l,3856))},{path:"type-aliases/AnyComponentNodeEvent",loadChildren:()=>Promise.all([l.e(7134),l.e(9101)]).then(l.bind(l,9101))},{path:"interfaces/FitViewOptions",loadChildren:()=>Promise.all([l.e(7134),l.e(1598)]).then(l.bind(l,1598))},{path:"type-aliases/NodeChange",loadChildren:()=>Promise.all([l.e(7134),l.e(8637)]).then(l.bind(l,8637))},{path:"interfaces/NodePositionChange",loadChildren:()=>Promise.all([l.e(7134),l.e(7386)]).then(l.bind(l,7386))},{path:"interfaces/NodeAddChange",loadChildren:()=>Promise.all([l.e(7134),l.e(6297)]).then(l.bind(l,6297))},{path:"interfaces/NodeRemoveChange",loadChildren:()=>Promise.all([l.e(7134),l.e(1223)]).then(l.bind(l,1223))},{path:"interfaces/NodeSelectedChange",loadChildren:()=>Promise.all([l.e(7134),l.e(8352)]).then(l.bind(l,8352))},{path:"type-aliases/EdgeChange",loadChildren:()=>Promise.all([l.e(7134),l.e(1646)]).then(l.bind(l,1646))},{path:"interfaces/EdgeDetachedChange",loadChildren:()=>Promise.all([l.e(7134),l.e(3024)]).then(l.bind(l,3024))},{path:"interfaces/EdgeAddChange",loadChildren:()=>Promise.all([l.e(7134),l.e(4676)]).then(l.bind(l,4676))},{path:"interfaces/EdgeRemoveChange",loadChildren:()=>Promise.all([l.e(7134),l.e(652)]).then(l.bind(l,652))},{path:"interfaces/EdgeSelectChange",loadChildren:()=>Promise.all([l.e(7134),l.e(8184)]).then(l.bind(l,8184))},{path:"type-aliases/Position",loadChildren:()=>Promise.all([l.e(7134),l.e(9867)]).then(l.bind(l,9867))},{path:"type-aliases/Background",loadChildren:()=>Promise.all([l.e(7134),l.e(1248)]).then(l.bind(l,1248))},{path:"interfaces/ColorBackground",loadChildren:()=>Promise.all([l.e(7134),l.e(2003)]).then(l.bind(l,2003))},{path:"interfaces/DotsBackground",loadChildren:()=>Promise.all([l.e(7134),l.e(7814)]).then(l.bind(l,7814))},{path:"type-aliases/ConnectionMode",loadChildren:()=>Promise.all([l.e(7134),l.e(7223)]).then(l.bind(l,7223))},{path:"classes/VflowComponent",loadChildren:()=>Promise.all([l.e(7134),l.e(4753)]).then(l.bind(l,4753))},{path:"classes/HandleComponent",loadChildren:()=>Promise.all([l.e(7134),l.e(1652)]).then(l.bind(l,1652))},{path:"classes/CustomNodeComponent",loadChildren:()=>Promise.all([l.e(7134),l.e(7708)]).then(l.bind(l,7708))},{path:"classes/EdgeTemplateDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(9300)]).then(l.bind(l,9300))},{path:"classes/ConnectionTemplateDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(2307)]).then(l.bind(l,2307))},{path:"classes/EdgeLabelHtmlTemplateDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(5025)]).then(l.bind(l,5025))},{path:"classes/NodeHtmlTemplateDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(2888)]).then(l.bind(l,2888))},{path:"classes/HandleTemplateDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(2081)]).then(l.bind(l,2081))},{path:"classes/ConnectionControllerDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(7896)]).then(l.bind(l,7896))},{path:"classes/ChangesControllerDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(1706)]).then(l.bind(l,1706))},{path:"classes/SelectableDirective",loadChildren:()=>Promise.all([l.e(7134),l.e(8613)]).then(l.bind(l,8613))}]}]}}]); \ No newline at end of file diff --git a/8808.a70fcfc117a56195.js b/8808.0352d1f70ca0fe22.js similarity index 99% rename from 8808.a70fcfc117a56195.js rename to 8808.0352d1f70ca0fe22.js index a3851b6f..b608f977 100644 --- a/8808.a70fcfc117a56195.js +++ b/8808.0352d1f70ca0fe22.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8808],{8808:(b,d,n)=>{n.r(d),n.d(d,{DynamicComponent:()=>c,default:()=>x});var g=n(6286),o=n(7134),i=n(9143),r=n(2936),h=n(2898),a=n(5879),j=n(7146);const l={title:"Draggables",mdFile:"./index.md",category:r.Z,demos:{DraggablesDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2",draggable:!1},{id:"3",point:{x:200,y:300},type:"default",text:"3",draggable:!1}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3"}]}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[a.jDz],decls:1,vars:2,consts:[[3,"nodes","edges"]],template:function(e,t){1&e&&a._UZ(0,"vflow",0),2&e&&a.Q6J("nodes",t.nodes)("edges",t.edges)},dependencies:[h.p,j.t],encapsulation:2,changeDetection:0})}return s})()},order:9},u=[],f={DraggablesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class DraggablesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\',\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\',\n      draggable: false\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\',\n      draggable: false\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\'\n    },\n  ]\n}\n
'}]};let c=(()=>{class s extends g.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Draggables

You can disable draggable behavior on certain nodes.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/draggables/index.md?message=docs(draggables): describe your changes here...",this.page=l,this.demoAssets=f}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-doc-page-features-draggables"]],standalone:!0,features:[a._Bn([{provide:g.a,useExisting:s},u,l.providers??[]]),a.qOj,a.jDz],decls:1,vars:0,template:function(e,t){1&e&&a._UZ(0,"ng-doc-page")},dependencies:[o.z],encapsulation:2,changeDetection:0})}return s})();const x=[{...(0,i.isRoute)(l.route)?l.route:{},path:"",component:c,title:"Draggables"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8808],{8808:(b,d,n)=>{n.r(d),n.d(d,{DynamicComponent:()=>c,default:()=>x});var g=n(6286),o=n(7134),i=n(9143),r=n(2936),h=n(2898),a=n(5879),j=n(8944);const l={title:"Draggables",mdFile:"./index.md",category:r.Z,demos:{DraggablesDemoComponent:(()=>{class s{constructor(){this.nodes=[{id:"1",point:{x:10,y:200},type:"default",text:"1"},{id:"2",point:{x:200,y:100},type:"default",text:"2",draggable:!1},{id:"3",point:{x:200,y:300},type:"default",text:"3",draggable:!1}],this.edges=[{id:"1 -> 2",source:"1",target:"2"},{id:"1 -> 3",source:"1",target:"3"}]}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-component"]],standalone:!0,features:[a.jDz],decls:1,vars:2,consts:[[3,"nodes","edges"]],template:function(e,t){1&e&&a._UZ(0,"vflow",0),2&e&&a.Q6J("nodes",t.nodes)("edges",t.edges)},dependencies:[h.p,j.t],encapsulation:2,changeDetection:0})}return s})()},order:9},u=[],f={DraggablesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class DraggablesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 200 },\n      type: \'default\',\n      text: \'1\',\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 100 },\n      type: \'default\',\n      text: \'2\',\n      draggable: false\n    },\n    {\n      id: \'3\',\n      point: { x: 200, y: 300 },\n      type: \'default\',\n      text: \'3\',\n      draggable: false\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\'\n    },\n  ]\n}\n
'}]};let c=(()=>{class s extends g.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Draggables

You can disable draggable behavior on certain nodes.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/draggables/index.md?message=docs(draggables): describe your changes here...",this.page=l,this.demoAssets=f}static#s=this.\u0275fac=function(e){return new(e||s)};static#n=this.\u0275cmp=a.Xpm({type:s,selectors:[["ng-doc-page-features-draggables"]],standalone:!0,features:[a._Bn([{provide:g.a,useExisting:s},u,l.providers??[]]),a.qOj,a.jDz],decls:1,vars:0,template:function(e,t){1&e&&a._UZ(0,"ng-doc-page")},dependencies:[o.z],encapsulation:2,changeDetection:0})}return s})();const x=[{...(0,i.isRoute)(l.route)?l.route:{},path:"",component:c,title:"Draggables"}]}}]); \ No newline at end of file diff --git a/9.024ecda84048ddb2.js b/9.d1e63ed895843d1c.js similarity index 99% rename from 9.024ecda84048ddb2.js rename to 9.d1e63ed895843d1c.js index f9886684..9ea2146b 100644 --- a/9.024ecda84048ddb2.js +++ b/9.d1e63ed895843d1c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9],{9:(O,g,l)=>{l.r(g),l.d(g,{DynamicComponent:()=>h,default:()=>S});var i=l(6286),r=l(7134),j=l(9143),m=l(2936),o=l(6814),u=l(2898),s=l(5879),f=l(7146),x=l(2274),y=l(8874);function C(a,t){if(1&a&&(s.ynx(0),s.TgZ(1,"div",5)(2,"div",6),s._uU(3," Output 1 "),s._UZ(4,"handle",7),s.qZA(),s.TgZ(5,"div",6),s._uU(6," Output 2 "),s._UZ(7,"handle",7),s.qZA()(),s.BQk()),2&a){const n=s.oxw().$implicit;s.oxw();const e=s.MAs(3);s.xp6(4),s.Q6J("id",n.node.data.output1)("template",e),s.xp6(3),s.Q6J("id",n.node.data.output2)("template",e)}}function v(a,t){if(1&a&&(s.ynx(0),s.TgZ(1,"div",5)(2,"div",6),s._uU(3," Input 1 "),s._UZ(4,"handle",8),s.qZA(),s.TgZ(5,"div",6),s._uU(6," Input 2 "),s._UZ(7,"handle",8),s.qZA()(),s.BQk()),2&a){const n=s.oxw().$implicit;s.oxw();const e=s.MAs(5);s.xp6(4),s.Q6J("id",n.node.data.input1)("template",e),s.xp6(3),s.Q6J("id",n.node.data.input2)("template",e)}}function b(a,t){if(1&a&&(s.YNc(0,C,8,4,"ng-container",4),s.YNc(1,v,8,4,"ng-container",4)),2&a){const n=t.$implicit;s.Q6J("ngIf","output"===n.node.data.type),s.xp6(1),s.Q6J("ngIf","input"===n.node.data.type)}}function _(a,t){if(1&a&&(s.O4$(),s._UZ(0,"circle",9)),2&a){const n=t.$implicit;s.uIk("cx",n.point().x)("cy",n.point().y)}}function k(a,t){if(1&a&&(s.O4$(),s._UZ(0,"rect",10)),2&a){const n=t.$implicit;s.ekj("handle_idle","idle"===n.state())("handle_valid","valid"===n.state())("handle_invalid","invalid"===n.state()),s.uIk("x",n.point().x-5)("y",n.point().y-5)}}const d={title:"Custom handles",mdFile:"./index.md",category:m.Z,demos:{CustomHandlesDemoComponent:(()=>{class a{constructor(){this.nodes=[{id:"1",point:{x:0,y:150},type:"html-template",data:{type:"output",output1:"output1",output2:"output2"}},{id:"2",point:{x:250,y:100},type:"html-template",data:{type:"input",input1:"input1",input2:"input2"}}],this.edges=[],this.connectionSettings={validator:n=>"2"===n.target&&"input1"===n.targetHandle}}createEdge({source:n,target:e,sourceHandle:p,targetHandle:c}){this.edges=[...this.edges,{id:`${n} -> ${e}${p??""}${c??""}`,markers:{start:{type:"arrow-closed"},end:{type:"arrow-closed"}},source:n,target:e,sourceHandle:p,targetHandle:c}]}static#s=this.\u0275fac=function(e){return new(e||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:6,vars:3,consts:[[3,"nodes","edges","connection","onConnect"],["nodeHtml",""],["handleTemplate",""],["squareHandleTemplate",""],[4,"ngIf"],[1,"custom-node"],[1,"data-block"],["position","right","type","source",3,"id","template"],["position","left","type","target",3,"id","template"],["stroke-width","1","stroke","black","r","6","fill","#1b262c"],["width","10","height","10","stroke-width","1","stroke","black","rx","1","ry","1"]],template:function(e,p){1&e&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(I){return p.createEdge(I)}),s.YNc(1,b,2,2,"ng-template",1),s.qZA(),s.YNc(2,_,1,2,"ng-template",null,2,s.W1O),s.YNc(4,k,1,8,"ng-template",null,3,s.W1O)),2&e&&s.Q6J("nodes",p.nodes)("edges",p.edges)("connection",p.connectionSettings)},dependencies:[u.p,f.t,x.M,y.QC,o.ez,o.O5],styles:[".custom-node[_ngcontent-%COMP%]{width:150px;height:100px;background-color:#0f4c75;border:1px solid gray;border-radius:5px;align-items:center;padding-left:7px;padding-right:7px}.data-block[_ngcontent-%COMP%]{background-color:#fff;color:#1b262c;margin-top:15px;border-radius:5px;text-align:center}.handle_idle[_ngcontent-%COMP%]{fill:#fff}.handle_valid[_ngcontent-%COMP%]{fill:green}.handle_invalid[_ngcontent-%COMP%]{fill:red}"],changeDetection:0})}return a})()},order:2},T=[],H={CustomHandlesDemoComponent:[{title:"TypeScript",code:'
import { CommonModule } from \'@angular/common\';\nimport { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule, Connection, ConnectionSettings } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./custom-handles-demo.component.html\',\n  styleUrls: [\'./custom-handles-demo.styles.scss\'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule, CommonModule]\n})\nexport class CustomHandlesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 0, y: 150 },\n      type: \'html-template\',\n      data: {\n        type: \'output\',\n        output1: \'output1\',\n        output2: \'output2\'\n      }\n    },\n    {\n      id: \'2\',\n      point: { x: 250, y: 100 },\n      type: \'html-template\',\n      data: {\n        type: \'input\',\n        input1: \'input1\',\n        input2: \'input2\'\n      }\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public connectionSettings: ConnectionSettings = {\n    validator: (connection) => {\n      return connection.target === \'2\' && connection.targetHandle === \'input1\';\n    }\n  }\n\n  public createEdge({ source, target, sourceHandle, targetHandle }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}${sourceHandle ?? \'\'}${targetHandle ?? \'\'}`,\n      markers: {\n        start: { type: \'arrow-closed\' },\n        end: { type: \'arrow-closed\' }\n      },\n      source,\n      target,\n      sourceHandle,\n      targetHandle\n    }]\n  }\n}\n
'},{title:"HTML",code:'
<vflow [nodes]="nodes" [edges]="edges" (onConnect)="createEdge($event)" [connection]="connectionSettings">\n  <ng-template nodeHtml let-ctx>\n    <ng-container *ngIf="ctx.node.data.type === \'output\'">\n      <div class="custom-node">\n        <div class="data-block">\n          Output 1\n          <handle position="right" type="source" [id]="ctx.node.data.output1" [template]="handleTemplate"/>\n        </div>\n\n        <div class="data-block">\n          Output 2\n          <handle position="right" type="source" [id]="ctx.node.data.output2" [template]="handleTemplate"/>\n        </div>\n      </div>\n    </ng-container>\n\n    <ng-container *ngIf="ctx.node.data.type === \'input\'">\n      <div class="custom-node">\n        <div class="data-block">\n          Input 1\n          <handle position="left" type="target" [id]="ctx.node.data.input1" [template]="squareHandleTemplate"/>\n        </div>\n\n        <div class="data-block">\n          Input 2\n          <handle position="left" type="target" [id]="ctx.node.data.input2" [template]="squareHandleTemplate"/>\n        </div>\n      </div>\n    </ng-container>\n  </ng-template>\n</vflow>\n\n<ng-template #handleTemplate let-ctx>\n  <svg:circle\n    [attr.cx]="ctx.point().x"\n    [attr.cy]="ctx.point().y"\n    stroke-width="1"\n    stroke="black"\n    r="6"\n    fill="#1b262c"\n  />\n</ng-template>\n\n<ng-template #squareHandleTemplate let-ctx>\n  <svg:rect\n    width="10"\n    height="10"\n    stroke-width="1"\n    stroke="black"\n    rx="1"\n    ry="1"\n    [attr.x]="ctx.point().x - 5"\n    [attr.y]="ctx.point().y - 5"\n    [class.handle_idle]="ctx.state() === \'idle\'"\n    [class.handle_valid]="ctx.state() === \'valid\'"\n    [class.handle_invalid]="ctx.state() === \'invalid\'"\n  />\n</ng-template>\n
'},{title:"SCSS",code:'
.custom-node {\n  width: 150px;\n  height: 100px;\n  background-color: #0f4c75;\n  border: 1px solid gray;\n  border-radius: 5px;\n  align-items: center;\n  padding-left: 7px;\n  padding-right: 7px;\n}\n\n.data-block {\n  background-color: #ffffff;\n  color: #1b262c;\n  margin-top: 15px;\n  border-radius: 5px;\n  text-align: center;\n}\n\n.handle {\n  &_idle {\n    fill: #fff;\n  }\n\n  &_valid {\n    fill: green;\n  }\n\n  &_invalid {\n    fill: red;\n  }\n}\n
'}]};let h=(()=>{class a extends i.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Custom handles

You can pass a [template] to HandleComponent with custom handle.

I\'t important to note that template must be made with SVG.

  • Custom handles are not positioned automatically, but the library provides a useful template context property to position your handle.
  • Custom handles know if validation of ConnectionSettings.validator() has failed or succeeded, so you can use state() signal in let-ctx to add some behavior based on validation result.

Refer to this interface for let-ctx when crafting your handle template:

interface HandleTemplateImplicitContext {\n  /**\n   * Point from library where you should put your handle.\n   * Pass it in proper SVG element properties\n   */\n  point: Signal<{ x: number, y: number }>\n\n  /** \n   * Helper signal to get validation state for current handle. \'idle\' by default.\n   * You can use it do apply some styles based on state\n   */\n  state: Signal<\'valid\' | \'invalid\' | \'idle\'>\n}\n
{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/custom-handles/index.md?message=docs(custom-handles): describe your changes here...",this.page=d,this.demoAssets=H}static#s=this.\u0275fac=function(e){return new(e||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-doc-page-features-custom-handles"]],standalone:!0,features:[s._Bn([{provide:i.a,useExisting:a},T,d.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(e,p){1&e&&s._UZ(0,"ng-doc-page")},dependencies:[r.z],encapsulation:2,changeDetection:0})}return a})();const S=[{...(0,j.isRoute)(d.route)?d.route:{},path:"",component:h,title:"Custom handles"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9],{9:(O,g,l)=>{l.r(g),l.d(g,{DynamicComponent:()=>h,default:()=>S});var i=l(6286),r=l(7134),j=l(9143),m=l(2936),o=l(6814),u=l(2898),s=l(5879),f=l(8944),x=l(2274),y=l(8874);function C(a,t){if(1&a&&(s.ynx(0),s.TgZ(1,"div",5)(2,"div",6),s._uU(3," Output 1 "),s._UZ(4,"handle",7),s.qZA(),s.TgZ(5,"div",6),s._uU(6," Output 2 "),s._UZ(7,"handle",7),s.qZA()(),s.BQk()),2&a){const n=s.oxw().$implicit;s.oxw();const e=s.MAs(3);s.xp6(4),s.Q6J("id",n.node.data.output1)("template",e),s.xp6(3),s.Q6J("id",n.node.data.output2)("template",e)}}function v(a,t){if(1&a&&(s.ynx(0),s.TgZ(1,"div",5)(2,"div",6),s._uU(3," Input 1 "),s._UZ(4,"handle",8),s.qZA(),s.TgZ(5,"div",6),s._uU(6," Input 2 "),s._UZ(7,"handle",8),s.qZA()(),s.BQk()),2&a){const n=s.oxw().$implicit;s.oxw();const e=s.MAs(5);s.xp6(4),s.Q6J("id",n.node.data.input1)("template",e),s.xp6(3),s.Q6J("id",n.node.data.input2)("template",e)}}function b(a,t){if(1&a&&(s.YNc(0,C,8,4,"ng-container",4),s.YNc(1,v,8,4,"ng-container",4)),2&a){const n=t.$implicit;s.Q6J("ngIf","output"===n.node.data.type),s.xp6(1),s.Q6J("ngIf","input"===n.node.data.type)}}function _(a,t){if(1&a&&(s.O4$(),s._UZ(0,"circle",9)),2&a){const n=t.$implicit;s.uIk("cx",n.point().x)("cy",n.point().y)}}function k(a,t){if(1&a&&(s.O4$(),s._UZ(0,"rect",10)),2&a){const n=t.$implicit;s.ekj("handle_idle","idle"===n.state())("handle_valid","valid"===n.state())("handle_invalid","invalid"===n.state()),s.uIk("x",n.point().x-5)("y",n.point().y-5)}}const d={title:"Custom handles",mdFile:"./index.md",category:m.Z,demos:{CustomHandlesDemoComponent:(()=>{class a{constructor(){this.nodes=[{id:"1",point:{x:0,y:150},type:"html-template",data:{type:"output",output1:"output1",output2:"output2"}},{id:"2",point:{x:250,y:100},type:"html-template",data:{type:"input",input1:"input1",input2:"input2"}}],this.edges=[],this.connectionSettings={validator:n=>"2"===n.target&&"input1"===n.targetHandle}}createEdge({source:n,target:e,sourceHandle:p,targetHandle:c}){this.edges=[...this.edges,{id:`${n} -> ${e}${p??""}${c??""}`,markers:{start:{type:"arrow-closed"},end:{type:"arrow-closed"}},source:n,target:e,sourceHandle:p,targetHandle:c}]}static#s=this.\u0275fac=function(e){return new(e||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:6,vars:3,consts:[[3,"nodes","edges","connection","onConnect"],["nodeHtml",""],["handleTemplate",""],["squareHandleTemplate",""],[4,"ngIf"],[1,"custom-node"],[1,"data-block"],["position","right","type","source",3,"id","template"],["position","left","type","target",3,"id","template"],["stroke-width","1","stroke","black","r","6","fill","#1b262c"],["width","10","height","10","stroke-width","1","stroke","black","rx","1","ry","1"]],template:function(e,p){1&e&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(I){return p.createEdge(I)}),s.YNc(1,b,2,2,"ng-template",1),s.qZA(),s.YNc(2,_,1,2,"ng-template",null,2,s.W1O),s.YNc(4,k,1,8,"ng-template",null,3,s.W1O)),2&e&&s.Q6J("nodes",p.nodes)("edges",p.edges)("connection",p.connectionSettings)},dependencies:[u.p,f.t,x.M,y.QC,o.ez,o.O5],styles:[".custom-node[_ngcontent-%COMP%]{width:150px;height:100px;background-color:#0f4c75;border:1px solid gray;border-radius:5px;align-items:center;padding-left:7px;padding-right:7px}.data-block[_ngcontent-%COMP%]{background-color:#fff;color:#1b262c;margin-top:15px;border-radius:5px;text-align:center}.handle_idle[_ngcontent-%COMP%]{fill:#fff}.handle_valid[_ngcontent-%COMP%]{fill:green}.handle_invalid[_ngcontent-%COMP%]{fill:red}"],changeDetection:0})}return a})()},order:2},T=[],H={CustomHandlesDemoComponent:[{title:"TypeScript",code:'
import { CommonModule } from \'@angular/common\';\nimport { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule, Connection, ConnectionSettings } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./custom-handles-demo.component.html\',\n  styleUrls: [\'./custom-handles-demo.styles.scss\'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule, CommonModule]\n})\nexport class CustomHandlesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 0, y: 150 },\n      type: \'html-template\',\n      data: {\n        type: \'output\',\n        output1: \'output1\',\n        output2: \'output2\'\n      }\n    },\n    {\n      id: \'2\',\n      point: { x: 250, y: 100 },\n      type: \'html-template\',\n      data: {\n        type: \'input\',\n        input1: \'input1\',\n        input2: \'input2\'\n      }\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public connectionSettings: ConnectionSettings = {\n    validator: (connection) => {\n      return connection.target === \'2\' && connection.targetHandle === \'input1\';\n    }\n  }\n\n  public createEdge({ source, target, sourceHandle, targetHandle }: Connection) {\n    this.edges = [...this.edges, {\n      id: `${source} -> ${target}${sourceHandle ?? \'\'}${targetHandle ?? \'\'}`,\n      markers: {\n        start: { type: \'arrow-closed\' },\n        end: { type: \'arrow-closed\' }\n      },\n      source,\n      target,\n      sourceHandle,\n      targetHandle\n    }]\n  }\n}\n
'},{title:"HTML",code:'
<vflow [nodes]="nodes" [edges]="edges" (onConnect)="createEdge($event)" [connection]="connectionSettings">\n  <ng-template nodeHtml let-ctx>\n    <ng-container *ngIf="ctx.node.data.type === \'output\'">\n      <div class="custom-node">\n        <div class="data-block">\n          Output 1\n          <handle position="right" type="source" [id]="ctx.node.data.output1" [template]="handleTemplate"/>\n        </div>\n\n        <div class="data-block">\n          Output 2\n          <handle position="right" type="source" [id]="ctx.node.data.output2" [template]="handleTemplate"/>\n        </div>\n      </div>\n    </ng-container>\n\n    <ng-container *ngIf="ctx.node.data.type === \'input\'">\n      <div class="custom-node">\n        <div class="data-block">\n          Input 1\n          <handle position="left" type="target" [id]="ctx.node.data.input1" [template]="squareHandleTemplate"/>\n        </div>\n\n        <div class="data-block">\n          Input 2\n          <handle position="left" type="target" [id]="ctx.node.data.input2" [template]="squareHandleTemplate"/>\n        </div>\n      </div>\n    </ng-container>\n  </ng-template>\n</vflow>\n\n<ng-template #handleTemplate let-ctx>\n  <svg:circle\n    [attr.cx]="ctx.point().x"\n    [attr.cy]="ctx.point().y"\n    stroke-width="1"\n    stroke="black"\n    r="6"\n    fill="#1b262c"\n  />\n</ng-template>\n\n<ng-template #squareHandleTemplate let-ctx>\n  <svg:rect\n    width="10"\n    height="10"\n    stroke-width="1"\n    stroke="black"\n    rx="1"\n    ry="1"\n    [attr.x]="ctx.point().x - 5"\n    [attr.y]="ctx.point().y - 5"\n    [class.handle_idle]="ctx.state() === \'idle\'"\n    [class.handle_valid]="ctx.state() === \'valid\'"\n    [class.handle_invalid]="ctx.state() === \'invalid\'"\n  />\n</ng-template>\n
'},{title:"SCSS",code:'
.custom-node {\n  width: 150px;\n  height: 100px;\n  background-color: #0f4c75;\n  border: 1px solid gray;\n  border-radius: 5px;\n  align-items: center;\n  padding-left: 7px;\n  padding-right: 7px;\n}\n\n.data-block {\n  background-color: #ffffff;\n  color: #1b262c;\n  margin-top: 15px;\n  border-radius: 5px;\n  text-align: center;\n}\n\n.handle {\n  &_idle {\n    fill: #fff;\n  }\n\n  &_valid {\n    fill: green;\n  }\n\n  &_invalid {\n    fill: red;\n  }\n}\n
'}]};let h=(()=>{class a extends i.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Custom handles

You can pass a [template] to HandleComponent with custom handle.

I\'t important to note that template must be made with SVG.

  • Custom handles are not positioned automatically, but the library provides a useful template context property to position your handle.
  • Custom handles know if validation of ConnectionSettings.validator() has failed or succeeded, so you can use state() signal in let-ctx to add some behavior based on validation result.

Refer to this interface for let-ctx when crafting your handle template:

interface HandleTemplateImplicitContext {\n  /**\n   * Point from library where you should put your handle.\n   * Pass it in proper SVG element properties\n   */\n  point: Signal<{ x: number, y: number }>\n\n  /** \n   * Helper signal to get validation state for current handle. \'idle\' by default.\n   * You can use it do apply some styles based on state\n   */\n  state: Signal<\'valid\' | \'invalid\' | \'idle\'>\n}\n
{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/custom-handles/index.md?message=docs(custom-handles): describe your changes here...",this.page=d,this.demoAssets=H}static#s=this.\u0275fac=function(e){return new(e||a)};static#n=this.\u0275cmp=s.Xpm({type:a,selectors:[["ng-doc-page-features-custom-handles"]],standalone:!0,features:[s._Bn([{provide:i.a,useExisting:a},T,d.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(e,p){1&e&&s._UZ(0,"ng-doc-page")},dependencies:[r.z],encapsulation:2,changeDetection:0})}return a})();const S=[{...(0,j.isRoute)(d.route)?d.route:{},path:"",component:h,title:"Custom handles"}]}}]); \ No newline at end of file diff --git a/9040.43822890be31e3eb.js b/9040.d50818e6c7cff351.js similarity index 99% rename from 9040.43822890be31e3eb.js rename to 9040.d50818e6c7cff351.js index e0e2f063..44135487 100644 --- a/9040.43822890be31e3eb.js +++ b/9040.d50818e6c7cff351.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9040],{9040:(N,i,l)=>{l.r(i),l.d(i,{DynamicComponent:()=>h,default:()=>S});var o=l(6286),j=l(7134),m=l(9143),u=l(1314),b=l(2898),s=l(5879),x=l(7146),f=l(2274),y=l(2757),r=l(8874);function w(n,c){if(1&n){const a=s.EpF();s.TgZ(0,"div",3),s.NdJ("keydown.backspace",function(){const t=s.CHM(a).$implicit,g=s.oxw();return s.KtG(t.selected()&&g.deleteNode(t.node))}),s.TgZ(1,"button",4),s._uU(2,"Select here"),s.qZA(),s._UZ(3,"handle",5)(4,"handle",6),s.qZA()}2&n&&s.ekj("custom-node_selected",c.$implicit.selected())}function _(n,c){if(1&n){const a=s.EpF();s.O4$(),s.TgZ(0,"path",7),s.NdJ("keydown.backspace",function(){const t=s.CHM(a).$implicit,g=s.oxw();return s.KtG(t.selected()&&g.deleteEdge(t.edge))}),s.qZA()}if(2&n){const a=c.$implicit;s.uIk("d",a.path())("stroke",a.selected()?"#0f4c75":"#bbe1fa")}}const d={title:"Delete selected",mdFile:"./index.md",category:u.Z,demos:{DeleteSelectedDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:10,y:150},type:"html-template"},{id:"2",point:{x:290,y:50},type:"html-template"},{id:"3",point:{x:290,y:300},type:"html-template"}],this.edges=[{id:"1 -> 2",source:"1",target:"2",type:"template"},{id:"1 -> 3",source:"1",target:"3",type:"template"}]}deleteNode(a){this.nodes=this.nodes.filter(e=>e.id!==a.id)}deleteEdge(a){this.edges=this.edges.filter(e=>e.id!==a.id)}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:4,vars:2,consts:[[3,"nodes","edges"],["nodeHtml",""],["edge",""],["tabindex","0",1,"custom-node","without-tab-index",3,"keydown.backspace"],["selectable","",1,"custom-node__button"],["type","source","position","right"],["type","target","position","left"],["selectable","","fill","none","stroke-width","2","tabindex","0",1,"without-tab-index",3,"keydown.backspace"]],template:function(e,p){1&e&&(s.TgZ(0,"vflow",0),s.YNc(1,w,5,2,"ng-template",1),s.YNc(2,_,1,2,"ng-template",2),s.qZA(),s._uU(3,"`\n")),2&e&&s.Q6J("nodes",p.nodes)("edges",p.edges)},dependencies:[b.p,x.t,f.M,y.h,r.QC,r.o6],styles:[".custom-node[_ngcontent-%COMP%]{width:150px;height:100px;background:#bbe1fa;border:1px solid gray;border-radius:5px;display:flex;align-items:center;justify-content:center}.custom-node__button[_ngcontent-%COMP%]{border:0;outline:0;cursor:pointer;color:#fff;background-color:#1b262c;border-radius:4px;font-size:14px;font-weight:500;padding:4px 8px;display:inline-block;min-height:28px}.custom-node_selected[_ngcontent-%COMP%]{border-color:#1b262c}.without-tab-index[_ngcontent-%COMP%]{outline:none}"],changeDetection:0})}return n})()},order:2},k=[],C={DeleteSelectedDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./delete-selected-demo.component.html\',\n  styleUrls: [\'./delete-selected-demo.component.scss\'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class DeleteSelectedDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 150 },\n      type: \'html-template\',\n    },\n    {\n      id: \'2\',\n      point: { x: 290, y: 50 },\n      type: \'html-template\',\n    },\n    {\n      id: \'3\',\n      point: { x: 290, y: 300 },\n      type: \'html-template\',\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      type: \'template\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      type: \'template\'\n    },\n  ]\n\n  public deleteNode(node: Node) {\n    this.nodes = this.nodes.filter(n => n.id !== node.id)\n  }\n\n  public deleteEdge(edge: Edge) {\n    this.edges = this.edges.filter(e => e.id !== edge.id)\n  }\n}\n
'},{title:"HTML",code:'
<vflow [nodes]="nodes" [edges]="edges">\n  <ng-template nodeHtml let-ctx>\n    <div\n      class="custom-node without-tab-index"\n      [class.custom-node_selected]="ctx.selected()"\n      tabindex="0"\n      (keydown.backspace)="ctx.selected() && deleteNode(ctx.node)"\n    >\n      <button class="custom-node__button" selectable>Select here</button>\n\n      <handle type="source" position="right" />\n      <handle type="target" position="left" />\n    </div>\n  </ng-template>\n\n  <ng-template edge let-ctx>\n    <svg:path\n      selectable\n      class="without-tab-index"\n      [attr.d]="ctx.path()"\n      [attr.stroke]="ctx.selected() ? \'#0f4c75\' : \'#bbe1fa\'"\n      fill="none"\n      stroke-width="2"\n      tabindex="0"\n      (keydown.backspace)="ctx.selected() && deleteEdge(ctx.edge)"\n    />\n  </ng-template>\n</vflow>`\n
'},{title:"SCSS",code:'
.custom-node {\n  width: 150px;\n  height: 100px;\n  background: #bbe1fa;\n  border: 1px solid gray;\n  border-radius: 5px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  &__button {\n    border: 0;\n    outline: 0;\n    cursor: pointer;\n    color: white;\n    background-color: #1b262c;\n    border-radius: 4px;\n    font-size: 14px;\n    font-weight: 500;\n    padding: 4px 8px;\n    display: inline-block;\n    min-height: 28px;\n  }\n\n  &_selected {\n    border-color: #1b262c;\n  }\n}\n\n.without-tab-index {\n  outline: none;\n}\n
'}]};let h=(()=>{class n extends o.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Delete selected

This workshop will show you how to implement deletion of nodes and edges.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/workshops/pages/delete-selected/index.md?message=docs(delete-selected): describe your changes here...",this.page=d,this.demoAssets=C}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-workshops-delete-selected"]],standalone:!0,features:[s._Bn([{provide:o.a,useExisting:n},k,d.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(e,p){1&e&&s._UZ(0,"ng-doc-page")},dependencies:[j.z],encapsulation:2,changeDetection:0})}return n})();const S=[{...(0,m.isRoute)(d.route)?d.route:{},path:"",component:h,title:"Delete selected"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9040],{9040:(N,i,l)=>{l.r(i),l.d(i,{DynamicComponent:()=>h,default:()=>S});var o=l(6286),j=l(7134),m=l(9143),u=l(1314),b=l(2898),s=l(5879),x=l(8944),f=l(2274),y=l(2757),r=l(8874);function w(n,c){if(1&n){const a=s.EpF();s.TgZ(0,"div",3),s.NdJ("keydown.backspace",function(){const t=s.CHM(a).$implicit,g=s.oxw();return s.KtG(t.selected()&&g.deleteNode(t.node))}),s.TgZ(1,"button",4),s._uU(2,"Select here"),s.qZA(),s._UZ(3,"handle",5)(4,"handle",6),s.qZA()}2&n&&s.ekj("custom-node_selected",c.$implicit.selected())}function _(n,c){if(1&n){const a=s.EpF();s.O4$(),s.TgZ(0,"path",7),s.NdJ("keydown.backspace",function(){const t=s.CHM(a).$implicit,g=s.oxw();return s.KtG(t.selected()&&g.deleteEdge(t.edge))}),s.qZA()}if(2&n){const a=c.$implicit;s.uIk("d",a.path())("stroke",a.selected()?"#0f4c75":"#bbe1fa")}}const d={title:"Delete selected",mdFile:"./index.md",category:u.Z,demos:{DeleteSelectedDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:10,y:150},type:"html-template"},{id:"2",point:{x:290,y:50},type:"html-template"},{id:"3",point:{x:290,y:300},type:"html-template"}],this.edges=[{id:"1 -> 2",source:"1",target:"2",type:"template"},{id:"1 -> 3",source:"1",target:"3",type:"template"}]}deleteNode(a){this.nodes=this.nodes.filter(e=>e.id!==a.id)}deleteEdge(a){this.edges=this.edges.filter(e=>e.id!==a.id)}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:4,vars:2,consts:[[3,"nodes","edges"],["nodeHtml",""],["edge",""],["tabindex","0",1,"custom-node","without-tab-index",3,"keydown.backspace"],["selectable","",1,"custom-node__button"],["type","source","position","right"],["type","target","position","left"],["selectable","","fill","none","stroke-width","2","tabindex","0",1,"without-tab-index",3,"keydown.backspace"]],template:function(e,p){1&e&&(s.TgZ(0,"vflow",0),s.YNc(1,w,5,2,"ng-template",1),s.YNc(2,_,1,2,"ng-template",2),s.qZA(),s._uU(3,"`\n")),2&e&&s.Q6J("nodes",p.nodes)("edges",p.edges)},dependencies:[b.p,x.t,f.M,y.h,r.QC,r.o6],styles:[".custom-node[_ngcontent-%COMP%]{width:150px;height:100px;background:#bbe1fa;border:1px solid gray;border-radius:5px;display:flex;align-items:center;justify-content:center}.custom-node__button[_ngcontent-%COMP%]{border:0;outline:0;cursor:pointer;color:#fff;background-color:#1b262c;border-radius:4px;font-size:14px;font-weight:500;padding:4px 8px;display:inline-block;min-height:28px}.custom-node_selected[_ngcontent-%COMP%]{border-color:#1b262c}.without-tab-index[_ngcontent-%COMP%]{outline:none}"],changeDetection:0})}return n})()},order:2},k=[],C={DeleteSelectedDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  templateUrl: \'./delete-selected-demo.component.html\',\n  styleUrls: [\'./delete-selected-demo.component.scss\'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class DeleteSelectedDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 10, y: 150 },\n      type: \'html-template\',\n    },\n    {\n      id: \'2\',\n      point: { x: 290, y: 50 },\n      type: \'html-template\',\n    },\n    {\n      id: \'3\',\n      point: { x: 290, y: 300 },\n      type: \'html-template\',\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\',\n      type: \'template\'\n    },\n    {\n      id: \'1 -> 3\',\n      source: \'1\',\n      target: \'3\',\n      type: \'template\'\n    },\n  ]\n\n  public deleteNode(node: Node) {\n    this.nodes = this.nodes.filter(n => n.id !== node.id)\n  }\n\n  public deleteEdge(edge: Edge) {\n    this.edges = this.edges.filter(e => e.id !== edge.id)\n  }\n}\n
'},{title:"HTML",code:'
<vflow [nodes]="nodes" [edges]="edges">\n  <ng-template nodeHtml let-ctx>\n    <div\n      class="custom-node without-tab-index"\n      [class.custom-node_selected]="ctx.selected()"\n      tabindex="0"\n      (keydown.backspace)="ctx.selected() && deleteNode(ctx.node)"\n    >\n      <button class="custom-node__button" selectable>Select here</button>\n\n      <handle type="source" position="right" />\n      <handle type="target" position="left" />\n    </div>\n  </ng-template>\n\n  <ng-template edge let-ctx>\n    <svg:path\n      selectable\n      class="without-tab-index"\n      [attr.d]="ctx.path()"\n      [attr.stroke]="ctx.selected() ? \'#0f4c75\' : \'#bbe1fa\'"\n      fill="none"\n      stroke-width="2"\n      tabindex="0"\n      (keydown.backspace)="ctx.selected() && deleteEdge(ctx.edge)"\n    />\n  </ng-template>\n</vflow>`\n
'},{title:"SCSS",code:'
.custom-node {\n  width: 150px;\n  height: 100px;\n  background: #bbe1fa;\n  border: 1px solid gray;\n  border-radius: 5px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  &__button {\n    border: 0;\n    outline: 0;\n    cursor: pointer;\n    color: white;\n    background-color: #1b262c;\n    border-radius: 4px;\n    font-size: 14px;\n    font-weight: 500;\n    padding: 4px 8px;\n    display: inline-block;\n    min-height: 28px;\n  }\n\n  &_selected {\n    border-color: #1b262c;\n  }\n}\n\n.without-tab-index {\n  outline: none;\n}\n
'}]};let h=(()=>{class n extends o.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Delete selected

This workshop will show you how to implement deletion of nodes and edges.

{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/workshops/pages/delete-selected/index.md?message=docs(delete-selected): describe your changes here...",this.page=d,this.demoAssets=C}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-workshops-delete-selected"]],standalone:!0,features:[s._Bn([{provide:o.a,useExisting:n},k,d.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(e,p){1&e&&s._UZ(0,"ng-doc-page")},dependencies:[j.z],encapsulation:2,changeDetection:0})}return n})();const S=[{...(0,m.isRoute)(d.route)?d.route:{},path:"",component:h,title:"Delete selected"}]}}]); \ No newline at end of file diff --git a/9101.f1ed4b4e21e0678d.js b/9101.9828888889d91982.js similarity index 95% rename from 9101.f1ed4b4e21e0678d.js rename to 9101.9828888889d91982.js index 9fc2c933..7ffeaa49 100644 --- a/9101.f1ed4b4e21e0678d.js +++ b/9101.9828888889d91982.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9101],{9101:(g,t,n)=>{n.r(t),n.d(t,{DynamicComponent:()=>l,default:()=>d});var o=n(6286),i=n(7134),e=n(5879);let l=(()=>{class s extends o.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/component-node-event.interface.ts?message=docs(ngx-vflow): describe your changes here...#L28",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/component-node-event.interface.ts#L28",this.pageContent='
ngx-vflow / TypeAlias

AnyComponentNodeEvent

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Presentation

type AnyComponentNodeEvent = {\n  nodeId: string;\n  eventName: string;\n  eventPayload: unknown;\n};\n
',this.demo=void 0,this.demoAssets=void 0}static#n=this.\u0275fac=function(a){return new(a||s)};static#e=this.\u0275cmp=e.Xpm({type:s,selectors:[["ng-doc-page-api-ngx-vflow-type-aliases-any-component-node-event"]],standalone:!0,features:[e._Bn([{provide:o.a,useExisting:s}]),e.qOj,e.jDz],decls:1,vars:0,template:function(a,h){1&a&&e._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return s})();const d=[{path:"",component:l,title:"AnyComponentNodeEvent"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9101],{9101:(g,t,n)=>{n.r(t),n.d(t,{DynamicComponent:()=>l,default:()=>d});var o=n(6286),i=n(7134),e=n(5879);let l=(()=>{class s extends o.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/component-node-event.interface.ts?message=docs(ngx-vflow): describe your changes here...#L29",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/component-node-event.interface.ts#L29",this.pageContent='
ngx-vflow / TypeAlias

AnyComponentNodeEvent

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Presentation

type AnyComponentNodeEvent = {\n  nodeId: string;\n  eventName: string;\n  eventPayload: unknown;\n};\n
',this.demo=void 0,this.demoAssets=void 0}static#n=this.\u0275fac=function(a){return new(a||s)};static#e=this.\u0275cmp=e.Xpm({type:s,selectors:[["ng-doc-page-api-ngx-vflow-type-aliases-any-component-node-event"]],standalone:!0,features:[e._Bn([{provide:o.a,useExisting:s}]),e.qOj,e.jDz],decls:1,vars:0,template:function(a,h){1&a&&e._UZ(0,"ng-doc-page")},dependencies:[i.z],encapsulation:2,changeDetection:0})}return s})();const d=[{path:"",component:l,title:"AnyComponentNodeEvent"}]}}]); \ No newline at end of file diff --git a/9218.6a317ebe3bbeb84d.js b/9218.6a317ebe3bbeb84d.js deleted file mode 100644 index 5d87db41..00000000 --- a/9218.6a317ebe3bbeb84d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9218],{9218:(D,o,p)=>{p.r(o),p.d(o,{DynamicComponent:()=>h,default:()=>q});var g=p(6286),m=p(7134),j=p(9143),f=p(2936),t=p(2898),s=p(5879),i=p(7146),c=p(2274),y=p(8874);function v(n,E){if(1&n&&(s.TgZ(0,"div",2),s._uU(1),s._UZ(2,"handle",3),s.qZA()),2&n){const a=E.$implicit;s.ekj("custom-node_selected",a.selected()),s.xp6(1),s.hij(" ",a.node.data.text," ")}}let C=(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:100,y:100},type:"html-template",data:{customType:"gradient",text:"I am a nice custom node with gradient"}},{id:"2",point:{x:250,y:250},type:"default",text:"Default"}],this.edges=[{id:"1 -> 2",source:"1",target:"2"}]}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:2,vars:2,consts:[[3,"nodes","edges"],["nodeHtml",""],[1,"custom-node"],["type","source","position","right"]],template:function(e,l){1&e&&(s.TgZ(0,"vflow",0),s.YNc(1,v,3,3,"ng-template",1),s.qZA()),2&e&&s.Q6J("nodes",l.nodes)("edges",l.edges)},dependencies:[t.p,i.t,c.M,y.QC],styles:[".custom-node[_ngcontent-%COMP%]{width:150px;height:100px;background:linear-gradient(to right,#00d2ff,#3a7bd5);border:1px solid gray;border-radius:5px;display:flex;align-items:center;padding-left:5px;padding-right:5px}.custom-node_selected[_ngcontent-%COMP%]{border:2px solid gray}"],changeDetection:0})}return n})();var x=p(8413),r=p(3870);let w=(()=>{class n{constructor(){this.notifyService=(0,s.f3M)(x.Z),this.nodes=[{id:"1",point:{x:100,y:100},type:k,data:{redSquareText:"Red"}},{id:"2",point:{x:250,y:250},type:N,data:{blueSquareText:"Blue"}}],this.edges=[{id:"1 -> 2",source:"1",target:"2"}]}handleComponentEvent(a){"redSquareEvent"===a.eventName&&this.notifyService.notify(a.eventPayload),"blueSquareEvent"===a.eventName&&this.notifyService.notify(`${a.eventPayload.x+a.eventPayload.y}`)}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:2,consts:[[3,"nodes","edges","onComponentNodeEvent"]],template:function(e,l){1&e&&(s.TgZ(0,"vflow",0),s.NdJ("onComponentNodeEvent",function(T){return l.handleComponentEvent(T)}),s.qZA()),2&e&&s.Q6J("nodes",l.nodes)("edges",l.edges)},dependencies:[t.p,i.t],encapsulation:2,changeDetection:0})}return n})(),k=(()=>{class n extends r.L{constructor(){super(...arguments),this.redSquareEvent=new s.vpe}onClick(){this.redSquareEvent.emit("Click from red square")}static#s=this.\u0275fac=function(){let a;return function(l){return(a||(a=s.n5z(n)))(l||n)}}();static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],outputs:{redSquareEvent:"redSquareEvent"},standalone:!0,features:[s.qOj,s.jDz],decls:3,vars:1,consts:[[1,"red-square",3,"click"],["type","source","position","right"]],template:function(e,l){1&e&&(s.TgZ(0,"div",0),s.NdJ("click",function(){return l.onClick()}),s._uU(1),s._UZ(2,"handle",1),s.qZA()),2&e&&(s.xp6(1),s.hij(" ",null==l.node.data?null:l.node.data.redSquareText," "))},dependencies:[t.p,c.M],styles:[".red-square[_ngcontent-%COMP%]{width:100px;height:100px;background-color:#de3163;border-radius:5px;display:flex;align-items:center;justify-content:center;padding-left:5px;padding-right:5px}"]})}return n})(),N=(()=>{class n extends r.L{constructor(){super(...arguments),this.blueSquareEvent=new s.vpe}onClick(){this.blueSquareEvent.emit({x:5,y:5})}static#s=this.\u0275fac=function(){let a;return function(l){return(a||(a=s.n5z(n)))(l||n)}}();static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],outputs:{blueSquareEvent:"blueSquareEvent"},standalone:!0,features:[s.qOj,s.jDz],decls:3,vars:1,consts:[[1,"blue-square",3,"click"],["type","target","position","left"]],template:function(e,l){1&e&&(s.TgZ(0,"div",0),s.NdJ("click",function(){return l.onClick()}),s._uU(1),s._UZ(2,"handle",1),s.qZA()),2&e&&(s.xp6(1),s.hij(" ",null==l.node.data?null:l.node.data.blueSquareText," "))},dependencies:[t.p,c.M],styles:[".blue-square[_ngcontent-%COMP%]{width:100px;height:100px;background-color:#0096ff;border-radius:5px;display:flex;align-items:center;justify-content:center;padding-left:5px;padding-right:5px}"]})}return n})();const d={title:"Custom nodes",mdFile:"./index.md",category:f.Z,demos:{CustomNodesDemoComponent:C,CustomComponentNodesDemoComponent:w},order:2},_=[],b={CustomNodesDemoComponent:[{title:"TypeScript",code:'
import { NgIf } from \'@angular/common\';\nimport { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges">\n    <ng-template nodeHtml let-ctx>\n      <div class="custom-node" [class.custom-node_selected]="ctx.selected()">\n        {{ ctx.node.data.text }}\n\n        <handle type="source" position="right"/>\n      </div>\n    </ng-template>\n  </vflow>`,\n  styles: [\n    `\n      .custom-node {\n        width: 150px;\n        height: 100px;\n        background: linear-gradient(to right, #00d2ff, #3a7bd5);\n        border: 1px solid gray;\n        border-radius: 5px;\n        display: flex;\n        align-items: center;\n        padding-left: 5px;\n        padding-right: 5px;\n\n        &_selected {\n          border: 2px solid gray;\n        }\n      }\n    `\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class CustomNodesDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: \'html-template\',\n      data: {\n        customType: \'gradient\',\n        text: \'I am a nice custom node with gradient\'\n      }\n    },\n    {\n      id: \'2\',\n      point: { x: 250, y: 250 },\n      type: \'default\',\n      text: \'Default\'\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    }\n  ]\n}\n
'}],CustomComponentNodesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output, inject } from \'@angular/core\';\nimport { NgDocNotifyService } from \'@ng-doc/ui-kit\';\nimport { ComponentNodeEvent, CustomNodeComponent, Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" (onComponentNodeEvent)="handleComponentEvent($event)" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class CustomComponentNodesDemoComponent {\n  private notifyService = inject(NgDocNotifyService)\n\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: RedSquareNodeComponent,\n      data: {\n        redSquareText: \'Red\',\n      } satisfies RedSquareData\n    },\n    {\n      id: \'2\',\n      point: { x: 250, y: 250 },\n      type: BlueSquareNodeComponent,\n      data: {\n        blueSquareText: \'Blue\',\n      } satisfies BlueSquareData\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    }\n  ]\n\n  // Type-safe!\n  handleComponentEvent(event: ComponentNodeEvent<[RedSquareNodeComponent, BlueSquareNodeComponent]>) {\n    if (event.eventName === \'redSquareEvent\') {\n      this.notifyService.notify(event.eventPayload)\n    }\n\n    if (event.eventName === \'blueSquareEvent\') {\n      this.notifyService.notify(`${event.eventPayload.x + event.eventPayload.y}`)\n    }\n  }\n}\n\n// --- Description of red square component node\n\ninterface RedSquareData {\n  redSquareText: string\n}\n\n@Component({\n  template: `\n    <div class="red-square" (click)="onClick()">\n      {{ node.data?.redSquareText }}\n\n      <handle type="source" position="right"/>\n    </div>\n  `,\n  styles: [`\n    .red-square {\n      width: 100px;\n      height: 100px;\n      background-color: #DE3163;\n      border-radius: 5px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      padding-left: 5px;\n      padding-right: 5px;\n    }\n  `],\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class RedSquareNodeComponent extends CustomNodeComponent<RedSquareData> {\n  @Output()\n  redSquareEvent = new EventEmitter<string>()\n\n  onClick() {\n    this.redSquareEvent.emit(\'Click from red square\')\n  }\n}\n\n// --- Description of blue square component node\n\ninterface BlueSquareData {\n  blueSquareText: string\n}\n\n@Component({\n  template: `\n    <div class="blue-square" (click)="onClick()">\n      {{ node.data?.blueSquareText }}\n\n      <handle type="target" position="left"/>\n    </div>\n  `,\n  styles: [`\n    .blue-square {\n      width: 100px;\n      height: 100px;\n      background-color: #0096FF;\n      border-radius: 5px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      padding-left: 5px;\n      padding-right: 5px;\n    }\n  `],\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class BlueSquareNodeComponent extends CustomNodeComponent<BlueSquareData> {\n  @Output()\n  blueSquareEvent = new EventEmitter<{ x: number, y: number }>()\n\n  onClick() {\n    this.blueSquareEvent.emit({ x: 5, y: 5 })\n  }\n}\n
'}]};let h=(()=>{class n extends g.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Custom nodes

Be careful with CSS rules applied to node content. Custom nodes are implemented with SVG\'s foreignObject element, and Safari has issues with some CSS rules inside foreignObject. Therefore, please check this browser when applying complex styling.

This is where things become a lot more interesting. You can create custom nodes with HTML and CSS.

Template nodes

You can create custom nodes with ng-template

Follow these steps to achieve this:

  1. Set type of node to html-template
  2. Provide ng-template with nodeHtml selector inside vflow
  3. Write your HTML inside this template
  4. You can also pass any data with data field on node, and then get it inside ng-template
{"expanded":true}

Component nodes

Another approach is to render nodes from components.

Its benefits:

  • type-safe node data access
  • good for complex flows with many different node types

Its limitations

  • it\'s harder to manage events because such nodes are rendered dynamically

How to create component node:

  1. Create a regular angular standalone component
  2. Extend with CustomNodeComponent (please see the reference of this base component to get an idea of what fields you could use in your custom component node), otherwise it won\'t work!
  3. Pass your data interface to generic of CustomNodeComponent to use in component. This data comes from Node definition
  4. Use your new component in type field of Node. Library will render your node for you
{"expanded":true}

Handling events

This is an experimental API

There is a (onComponentNodeEvent) event on VflowComponent. Here is how it works:

  1. It accumulates every EventEmitter of every component node of your flow
  2. It emits on every emit of those emitters

The shape of this accumulator-event contains following useful info:

export type AnyComponentNodeEvent = {\n  nodeId: string // Id of node where event occurs\n  eventName: string\n  eventPayload: unknown\n}\n

The Library also includes ComponentNodeEvent helper type to get type-safe event, where you just need to pass an array of your custom components in generic, and this type will infer proper types for eventName and eventPayload:

  ...\n\n  handleComponentEvent(event: ComponentNodeEvent<[RedSquareNodeComponent, BlueSquareNodeComponent]>) {\n    if (event.eventName === \'redSquareEvent\') {\n      console.log(event.eventPayload)\n    }\n\n    if (event.eventName === \'blueSquareEvent\') {\n      console.log(event.eventPayload.x + event.eventPayload.y)\n    }\n  }\n\n  ..\n
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/custom-nodes/index.md?message=docs(custom-nodes): describe your changes here...",this.page=d,this.demoAssets=b}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-custom-nodes"]],standalone:!0,features:[s._Bn([{provide:g.a,useExisting:n},_,d.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(e,l){1&e&&s._UZ(0,"ng-doc-page")},dependencies:[m.z],encapsulation:2,changeDetection:0})}return n})();const q=[{...(0,j.isRoute)(d.route)?d.route:{},path:"",component:h,title:"Custom nodes"}]}}]); \ No newline at end of file diff --git a/9218.e663166c92b34918.js b/9218.e663166c92b34918.js new file mode 100644 index 00000000..39fe3532 --- /dev/null +++ b/9218.e663166c92b34918.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9218],{9218:(M,g,p)=>{p.r(g),p.d(g,{DynamicComponent:()=>u,default:()=>E});var i=p(6286),m=p(7134),j=p(9143),f=p(2936),s=p(5879),d=p(2898),r=p(8944),o=p(2274),y=p(2757),v=p(8874);function C(n,D){if(1&n&&(s.TgZ(0,"div",2),s._uU(1),s._UZ(2,"handle",3),s.qZA()),2&n){const a=D.$implicit;s.ekj("custom-node_selected",a.selected()),s.xp6(1),s.hij(" ",a.node.data().text," ")}}let x=(()=>{class n{constructor(){this.nodes=[{id:"1",point:(0,s.tdS)({x:100,y:100}),type:"html-template",data:(0,s.tdS)({customType:"gradient",text:"I am a nice custom node with gradient"})},{id:"2",point:(0,s.tdS)({x:250,y:250}),type:"default",text:(0,s.tdS)("Default")}],this.edges=[{id:"1 -> 2",source:"1",target:"2"}]}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:2,vars:2,consts:[[3,"nodes","edges"],["nodeHtml",""],["selectable","",1,"custom-node"],["type","source","position","right"]],template:function(e,l){1&e&&(s.TgZ(0,"vflow",0),s.YNc(1,C,3,3,"ng-template",1),s.qZA()),2&e&&s.Q6J("nodes",l.nodes)("edges",l.edges)},dependencies:[d.p,r.t,o.M,y.h,v.QC],styles:[".custom-node[_ngcontent-%COMP%]{width:150px;height:100px;background:linear-gradient(to right,#00d2ff,#3a7bd5);border:1px solid gray;border-radius:5px;display:flex;align-items:center;padding-left:5px;padding-right:5px}.custom-node_selected[_ngcontent-%COMP%]{border:2px solid gray}"],changeDetection:0})}return n})();var w=p(8413),h=p(3870);let k=(()=>{class n{constructor(){this.notifyService=(0,s.f3M)(w.Z),this.nodes=[{id:"1",point:{x:100,y:100},type:_,data:{redSquareText:"Red"}},{id:"2",point:{x:250,y:250},type:N,data:{blueSquareText:"Blue"}}],this.edges=[{id:"1 -> 2",source:"1",target:"2"}]}handleComponentEvent(a){"redSquareEvent"===a.eventName&&this.notifyService.notify(a.eventPayload),"blueSquareEvent"===a.eventName&&this.notifyService.notify(`${a.eventPayload.x+a.eventPayload.y}`)}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:2,consts:[[3,"nodes","edges","onComponentNodeEvent"]],template:function(e,l){1&e&&(s.TgZ(0,"vflow",0),s.NdJ("onComponentNodeEvent",function(T){return l.handleComponentEvent(T)}),s.qZA()),2&e&&s.Q6J("nodes",l.nodes)("edges",l.edges)},dependencies:[d.p,r.t],encapsulation:2,changeDetection:0})}return n})(),_=(()=>{class n extends h.L{constructor(){super(...arguments),this.redSquareEvent=new s.vpe}onClick(){this.redSquareEvent.emit("Click from red square")}static#s=this.\u0275fac=function(){let a;return function(l){return(a||(a=s.n5z(n)))(l||n)}}();static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],outputs:{redSquareEvent:"redSquareEvent"},standalone:!0,features:[s.qOj,s.jDz],decls:3,vars:1,consts:[[1,"red-square",3,"click"],["type","source","position","right"]],template:function(e,l){if(1&e&&(s.TgZ(0,"div",0),s.NdJ("click",function(){return l.onClick()}),s._uU(1),s._UZ(2,"handle",1),s.qZA()),2&e){let t;s.xp6(1),s.hij(" ",null==(t=l.data())?null:t.redSquareText," ")}},dependencies:[d.p,o.M],styles:[".red-square[_ngcontent-%COMP%]{width:100px;height:100px;background-color:#de3163;border-radius:5px;display:flex;align-items:center;justify-content:center;padding-left:5px;padding-right:5px}"]})}return n})(),N=(()=>{class n extends h.L{constructor(){super(...arguments),this.blueSquareEvent=new s.vpe}onClick(){this.blueSquareEvent.emit({x:5,y:5})}static#s=this.\u0275fac=function(){let a;return function(l){return(a||(a=s.n5z(n)))(l||n)}}();static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],outputs:{blueSquareEvent:"blueSquareEvent"},standalone:!0,features:[s.qOj,s.jDz],decls:3,vars:1,consts:[[1,"blue-square",3,"click"],["type","target","position","left"]],template:function(e,l){if(1&e&&(s.TgZ(0,"div",0),s.NdJ("click",function(){return l.onClick()}),s._uU(1),s._UZ(2,"handle",1),s.qZA()),2&e){let t;s.xp6(1),s.hij(" ",null==(t=l.data())?null:t.blueSquareText," ")}},dependencies:[d.p,o.M],styles:[".blue-square[_ngcontent-%COMP%]{width:100px;height:100px;background-color:#0096ff;border-radius:5px;display:flex;align-items:center;justify-content:center;padding-left:5px;padding-right:5px}"]})}return n})();const c={title:"Custom nodes",mdFile:"./index.md",category:f.Z,demos:{CustomNodesDemoComponent:x,CustomComponentNodesDemoComponent:k},order:2},b=[],S={CustomNodesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component, signal } from \'@angular/core\';\nimport { DynamicNode, Edge, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges">\n    <ng-template nodeHtml let-ctx>\n      <div class="custom-node" selectable [class.custom-node_selected]="ctx.selected()">\n        {{ ctx.node.data().text }}\n\n        <handle type="source" position="right"/>\n      </div>\n    </ng-template>\n  </vflow>`,\n  styles: [\n    `\n      .custom-node {\n        width: 150px;\n        height: 100px;\n        background: linear-gradient(to right, #00d2ff, #3a7bd5);\n        border: 1px solid gray;\n        border-radius: 5px;\n        display: flex;\n        align-items: center;\n        padding-left: 5px;\n        padding-right: 5px;\n\n        &_selected {\n          border: 2px solid gray;\n        }\n      }\n    `\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class CustomNodesDemoComponent {\n  public nodes: DynamicNode[] = [\n    {\n      id: \'1\',\n      point: signal({ x: 100, y: 100 }),\n      type: \'html-template\',\n      data: signal({\n        customType: \'gradient\',\n        text: \'I am a nice custom node with gradient\'\n      })\n    },\n    {\n      id: \'2\',\n      point: signal({ x: 250, y: 250 }),\n      type: \'default\',\n      text: signal(\'Default\')\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    }\n  ]\n}\n
'}],CustomComponentNodesDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output, inject } from \'@angular/core\';\nimport { NgDocNotifyService } from \'@ng-doc/ui-kit\';\nimport { ComponentNodeEvent, CustomNodeComponent, Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges" (onComponentNodeEvent)="handleComponentEvent($event)" />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class CustomComponentNodesDemoComponent {\n  private notifyService = inject(NgDocNotifyService)\n\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: RedSquareNodeComponent,\n      data: {\n        redSquareText: \'Red\',\n      } satisfies RedSquareData\n    },\n    {\n      id: \'2\',\n      point: { x: 250, y: 250 },\n      type: BlueSquareNodeComponent,\n      data: {\n        blueSquareText: \'Blue\',\n      } satisfies BlueSquareData\n    },\n  ]\n\n  public edges: Edge[] = [\n    {\n      id: \'1 -> 2\',\n      source: \'1\',\n      target: \'2\'\n    }\n  ]\n\n  // Type-safe!\n  handleComponentEvent(event: ComponentNodeEvent<[RedSquareNodeComponent, BlueSquareNodeComponent]>) {\n    if (event.eventName === \'redSquareEvent\') {\n      this.notifyService.notify(event.eventPayload)\n    }\n\n    if (event.eventName === \'blueSquareEvent\') {\n      this.notifyService.notify(`${event.eventPayload.x + event.eventPayload.y}`)\n    }\n  }\n}\n\n// --- Description of red square component node\n\ninterface RedSquareData {\n  redSquareText: string\n}\n\n@Component({\n  template: `\n    <div class="red-square" (click)="onClick()">\n      {{ data()?.redSquareText }}\n\n      <handle type="source" position="right"/>\n    </div>\n  `,\n  styles: [`\n    .red-square {\n      width: 100px;\n      height: 100px;\n      background-color: #DE3163;\n      border-radius: 5px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      padding-left: 5px;\n      padding-right: 5px;\n    }\n  `],\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class RedSquareNodeComponent extends CustomNodeComponent<RedSquareData> {\n  @Output()\n  redSquareEvent = new EventEmitter<string>()\n\n  onClick() {\n    this.redSquareEvent.emit(\'Click from red square\')\n  }\n}\n\n// --- Description of blue square component node\n\ninterface BlueSquareData {\n  blueSquareText: string\n}\n\n@Component({\n  template: `\n    <div class="blue-square" (click)="onClick()">\n      {{ data()?.blueSquareText }}\n\n      <handle type="target" position="left"/>\n    </div>\n  `,\n  styles: [`\n    .blue-square {\n      width: 100px;\n      height: 100px;\n      background-color: #0096FF;\n      border-radius: 5px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      padding-left: 5px;\n      padding-right: 5px;\n    }\n  `],\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class BlueSquareNodeComponent extends CustomNodeComponent<BlueSquareData> {\n  @Output()\n  blueSquareEvent = new EventEmitter<{ x: number, y: number }>()\n\n  onClick() {\n    this.blueSquareEvent.emit({ x: 5, y: 5 })\n  }\n}\n
'}]};let u=(()=>{class n extends i.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Custom nodes

Be careful with CSS rules applied to node content. Custom nodes are implemented with SVG\'s foreignObject element, and Safari has issues with some CSS rules inside foreignObject. Therefore, please check this browser when applying complex styling.

This is where things become a lot more interesting. You can create custom nodes with HTML and CSS.

Template nodes

You can create custom nodes with ng-template

Follow these steps to achieve this:

  1. Set type of node to html-template
  2. Provide ng-template with nodeHtml selector inside vflow
  3. Write your HTML inside this template
  4. You can also pass any data with data field on node, and then get it inside ng-template
{"expanded":true}

Component nodes

Another approach is to render nodes from components.

Its benefits:

  • type-safe node data access
  • good for complex flows with many different node types

Its limitations

  • it\'s harder to manage events because such nodes are rendered dynamically

How to create component node:

  1. Create a regular angular standalone component
  2. Extend with CustomNodeComponent (please see the reference of this base component to get an idea of what fields you could use in your custom component node), otherwise it won\'t work!
  3. Pass your data interface to generic of CustomNodeComponent to use in component. This data comes from Node definition
  4. Use your new component in type field of Node. Library will render your node for you
{"expanded":true}

Handling events

This is an experimental API

There is a (onComponentNodeEvent) event on VflowComponent. Here is how it works:

  1. It accumulates every EventEmitter of every component node of your flow
  2. It emits on every emit of those emitters

The shape of this accumulator-event contains following useful info:

export type AnyComponentNodeEvent = {\n  nodeId: string // Id of node where event occurs\n  eventName: string\n  eventPayload: unknown\n}\n

The Library also includes ComponentNodeEvent helper type to get type-safe event, where you just need to pass an array of your custom components in generic, and this type will infer proper types for eventName and eventPayload:

  ...\n\n  handleComponentEvent(event: ComponentNodeEvent<[RedSquareNodeComponent, BlueSquareNodeComponent]>) {\n    if (event.eventName === \'redSquareEvent\') {\n      console.log(event.eventPayload)\n    }\n\n    if (event.eventName === \'blueSquareEvent\') {\n      console.log(event.eventPayload.x + event.eventPayload.y)\n    }\n  }\n\n  ..\n
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/custom-nodes/index.md?message=docs(custom-nodes): describe your changes here...",this.page=c,this.demoAssets=S}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-custom-nodes"]],standalone:!0,features:[s._Bn([{provide:i.a,useExisting:n},b,c.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(e,l){1&e&&s._UZ(0,"ng-doc-page")},dependencies:[m.z],encapsulation:2,changeDetection:0})}return n})();const E=[{...(0,j.isRoute)(c.route)?c.route:{},path:"",component:u,title:"Custom nodes"}]}}]); \ No newline at end of file diff --git a/9439.e532c972891d1a5e.js b/9439.e532c972891d1a5e.js new file mode 100644 index 00000000..95b5f8d1 --- /dev/null +++ b/9439.e532c972891d1a5e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9439],{9439:(r,s,e)=>{e.r(s),e.d(s,{DynamicComponent:()=>c,default:()=>o});var t=e(6286),l=e(7134),d=e(5879);let c=(()=>{class a extends t.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L47",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L47",this.pageContent='
ngx-vflow / Interface

HtmlTemplateDynamicNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Properties

NameTypeDescription
data
WritableSignal<T> | undefined
draggable
inherited from SharedDynamicNode
WritableSignal<boolean> | undefined
id
inherited from SharedDynamicNode
string
point
inherited from SharedDynamicNode
WritableSignal<Point>
type
"html-template"
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(n){return new(n||a)};static#d=this.\u0275cmp=d.Xpm({type:a,selectors:[["ng-doc-page-api-ngx-vflow-interfaces-html-template-dynamic-node"]],standalone:!0,features:[d._Bn([{provide:t.a,useExisting:a}]),d.qOj,d.jDz],decls:1,vars:0,template:function(n,h){1&n&&d._UZ(0,"ng-doc-page")},dependencies:[l.z],encapsulation:2,changeDetection:0})}return a})();const o=[{path:"",component:c,title:"HtmlTemplateDynamicNode"}]}}]); \ No newline at end of file diff --git a/9717.7dbd5728ce78786c.js b/9717.a00fd522f17319f8.js similarity index 99% rename from 9717.7dbd5728ce78786c.js rename to 9717.a00fd522f17319f8.js index 026cf863..07abc4da 100644 --- a/9717.7dbd5728ce78786c.js +++ b/9717.a00fd522f17319f8.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9717],{9717:(v,p,a)=>{a.r(p),a.d(p,{DynamicComponent:()=>o,default:()=>k});var d=a(6286),g=a(7134),r=a(9143),i=a(2936),h=a(2898),s=a(5879),j=a(7146);const c={title:"Markers",mdFile:"./index.md",category:i.Z,demos:{MarkersDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:100,y:100},type:"default",text:"1"},{id:"2",point:{x:200,y:200},type:"default",text:"2"}],this.edges=[],this.connectionSettings={marker:{type:"arrow"}}}createEdge(l){this.edges=[...this.edges,{...l,id:`${l.source} -> ${l.target}`,markers:{start:{type:"arrow-closed"},end:{type:"arrow"}}}]}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:3,consts:[[3,"nodes","edges","connection","onConnect"]],template:function(e,t){1&e&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(w){return t.createEdge(w)}),s.qZA()),2&e&&s.Q6J("nodes",t.nodes)("edges",t.edges)("connection",t.connectionSettings)},dependencies:[h.p,j.t],encapsulation:2,changeDetection:0})}return n})()},order:5},f=[],u={MarkersDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Connection, ConnectionSettings, Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges"\n    [connection]="connectionSettings"\n    (onConnect)="createEdge($event)"/>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class MarkersDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: \'default\',\n      text: `1`,\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: \'default\',\n      text: `2`\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public connectionSettings: ConnectionSettings = {\n    marker: {\n      type: \'arrow\'\n    }\n  }\n\n  public createEdge(connection: Connection) {\n    this.edges = [...this.edges, {\n      ...connection,\n      id: `${connection.source} -> ${connection.target}`,\n      markers: {\n        start: {\n          type: \'arrow-closed\'\n        },\n        end: {\n          type: \'arrow\'\n        }\n      }\n    }]\n  }\n}\n
'}]};let o=(()=>{class n extends d.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Markers

You can create markers for both edges and connections.

  • Edges: Specify start and end markers for corresponding parts of the edge. Currently, markers are limited to two types: arrow and arrow-closed.
  • Connections: You can specify an end marker using the marker property in ConnectionSettings.
{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/markers/index.md?message=docs(markers): describe your changes here...",this.page=c,this.demoAssets=u}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-markers"]],standalone:!0,features:[s._Bn([{provide:d.a,useExisting:n},f,c.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(e,t){1&e&&s._UZ(0,"ng-doc-page")},dependencies:[g.z],encapsulation:2,changeDetection:0})}return n})();const k=[{...(0,r.isRoute)(c.route)?c.route:{},path:"",component:o,title:"Markers"}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9717],{9717:(v,p,a)=>{a.r(p),a.d(p,{DynamicComponent:()=>o,default:()=>k});var d=a(6286),g=a(7134),r=a(9143),i=a(2936),h=a(2898),s=a(5879),j=a(8944);const c={title:"Markers",mdFile:"./index.md",category:i.Z,demos:{MarkersDemoComponent:(()=>{class n{constructor(){this.nodes=[{id:"1",point:{x:100,y:100},type:"default",text:"1"},{id:"2",point:{x:200,y:200},type:"default",text:"2"}],this.edges=[],this.connectionSettings={marker:{type:"arrow"}}}createEdge(l){this.edges=[...this.edges,{...l,id:`${l.source} -> ${l.target}`,markers:{start:{type:"arrow-closed"},end:{type:"arrow"}}}]}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:3,consts:[[3,"nodes","edges","connection","onConnect"]],template:function(e,t){1&e&&(s.TgZ(0,"vflow",0),s.NdJ("onConnect",function(w){return t.createEdge(w)}),s.qZA()),2&e&&s.Q6J("nodes",t.nodes)("edges",t.edges)("connection",t.connectionSettings)},dependencies:[h.p,j.t],encapsulation:2,changeDetection:0})}return n})()},order:5},f=[],u={MarkersDemoComponent:[{title:"TypeScript",code:'
import { ChangeDetectionStrategy, Component } from \'@angular/core\';\nimport { Connection, ConnectionSettings, Edge, Node, VflowModule } from \'projects/ngx-vflow-lib/src/public-api\';\n\n@Component({\n  template: `<vflow [nodes]="nodes" [edges]="edges"\n    [connection]="connectionSettings"\n    (onConnect)="createEdge($event)"/>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [VflowModule]\n})\nexport class MarkersDemoComponent {\n  public nodes: Node[] = [\n    {\n      id: \'1\',\n      point: { x: 100, y: 100 },\n      type: \'default\',\n      text: `1`,\n    },\n    {\n      id: \'2\',\n      point: { x: 200, y: 200 },\n      type: \'default\',\n      text: `2`\n    },\n  ]\n\n  public edges: Edge[] = []\n\n  public connectionSettings: ConnectionSettings = {\n    marker: {\n      type: \'arrow\'\n    }\n  }\n\n  public createEdge(connection: Connection) {\n    this.edges = [...this.edges, {\n      ...connection,\n      id: `${connection.source} -> ${connection.target}`,\n      markers: {\n        start: {\n          type: \'arrow-closed\'\n        },\n        end: {\n          type: \'arrow\'\n        }\n      }\n    }]\n  }\n}\n
'}]};let o=(()=>{class n extends d.a{constructor(){super(),this.routePrefix="",this.pageType="guide",this.pageContent='

Markers

You can create markers for both edges and connections.

  • Edges: Specify start and end markers for corresponding parts of the edge. Currently, markers are limited to two types: arrow and arrow-closed.
  • Connections: You can specify an end marker using the marker property in ConnectionSettings.
{"expanded":true}
',this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-demo/src/app/categories/features/pages/markers/index.md?message=docs(markers): describe your changes here...",this.page=c,this.demoAssets=u}static#s=this.\u0275fac=function(e){return new(e||n)};static#n=this.\u0275cmp=s.Xpm({type:n,selectors:[["ng-doc-page-features-markers"]],standalone:!0,features:[s._Bn([{provide:d.a,useExisting:n},f,c.providers??[]]),s.qOj,s.jDz],decls:1,vars:0,template:function(e,t){1&e&&s._UZ(0,"ng-doc-page")},dependencies:[g.z],encapsulation:2,changeDetection:0})}return n})();const k=[{...(0,r.isRoute)(c.route)?c.route:{},path:"",component:o,title:"Markers"}]}}]); \ No newline at end of file diff --git a/9740.837c28f28449a016.js b/9740.837c28f28449a016.js new file mode 100644 index 00000000..bc0a9b4c --- /dev/null +++ b/9740.837c28f28449a016.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9740],{9740:(r,s,e)=>{e.r(s),e.d(s,{DynamicComponent:()=>c,default:()=>i});var t=e(6286),o=e(7134),n=e(5879);let c=(()=>{class d extends t.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L57",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L57",this.pageContent='
ngx-vflow / Interface

ComponentDynamicNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Properties

NameTypeDescription
data
WritableSignal<T> | undefined
draggable
inherited from SharedDynamicNode
WritableSignal<boolean> | undefined
id
inherited from SharedDynamicNode
string
point
inherited from SharedDynamicNode
WritableSignal<Point>
type
Type<CustomDynamicNodeComponent<T>>
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(a){return new(a||d)};static#n=this.\u0275cmp=n.Xpm({type:d,selectors:[["ng-doc-page-api-ngx-vflow-interfaces-component-dynamic-node"]],standalone:!0,features:[n._Bn([{provide:t.a,useExisting:d}]),n.qOj,n.jDz],decls:1,vars:0,template:function(a,f){1&a&&n._UZ(0,"ng-doc-page")},dependencies:[o.z],encapsulation:2,changeDetection:0})}return d})();const i=[{path:"",component:c,title:"ComponentDynamicNode"}]}}]); \ No newline at end of file diff --git a/9819.3f57664e0d579764.js b/9819.3f57664e0d579764.js new file mode 100644 index 00000000..c97da312 --- /dev/null +++ b/9819.3f57664e0d579764.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9819],{9819:(o,d,l)=>{l.r(d),l.d(d,{default:()=>t});const t=[{path:"",redirectTo:"layout",pathMatch:"full"},{path:"",title:"Workshops",children:[{path:"layout",loadChildren:()=>l.e(7724).then(l.bind(l,7724))},{path:"delete-selected",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(9040)]).then(l.bind(l,9040))},{path:"drag-and-drop-nodes",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(316)]).then(l.bind(l,316))}]}]}}]); \ No newline at end of file diff --git a/9819.7c0c7f973b5bb570.js b/9819.7c0c7f973b5bb570.js deleted file mode 100644 index 561fd0a4..00000000 --- a/9819.7c0c7f973b5bb570.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9819],{9819:(n,l,d)=>{d.r(l),d.d(l,{default:()=>t});const t=[{path:"",redirectTo:"drag-and-drop-nodes",pathMatch:"full"},{path:"",title:"Workshops",children:[{path:"drag-and-drop-nodes",loadChildren:()=>Promise.all([d.e(7134),d.e(5535),d.e(8592),d.e(316)]).then(d.bind(d,316))},{path:"delete-selected",loadChildren:()=>Promise.all([d.e(7134),d.e(5535),d.e(8592),d.e(9040)]).then(d.bind(d,9040))},{path:"layout",loadChildren:()=>d.e(7724).then(d.bind(d,7724))}]}]}}]); \ No newline at end of file diff --git a/9822.248b65347f16a0c1.js b/9822.248b65347f16a0c1.js deleted file mode 100644 index 1aae7e98..00000000 --- a/9822.248b65347f16a0c1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9822],{9822:(ie,_,o)=>{o.r(_),o.d(_,{DynamicComponent:()=>w,default:()=>oe});var C=o(5483),s=o(7582),f=o(6814),e=o(5879),p=o(95),d=o(776),M=o(4732),y=o(7340),x=o(2919),P=o(8584),A=o(2949),N=o(2560),L=o(1586),I=o(7041),Z=o(8828),E=o(3953),J=o(7808),b=o(6307),F=o(5717),h=o(8176),u=o(1791),Q=o(3620),S=o(7921),O=o(7398);function Y(t,i){1&t&&e._UZ(0,"ng-doc-icon",15)}function H(t,i){1&t&&e.GkF(0)}const T=function(t){return{$implicit:t}};function U(t,i){if(1&t&&(e.TgZ(0,"ng-doc-option",20),e.YNc(1,H,1,0,"ng-container",21),e.qZA()),2&t){const n=i.$implicit;e.oxw(2);const c=e.MAs(4);e.Q6J("value",n),e.xp6(1),e.Q6J("ngTemplateOutlet",c)("ngTemplateOutletContext",e.VKq(3,T,n))}}function V(t,i){if(1&t&&(e.TgZ(0,"ng-doc-list"),e.YNc(1,U,2,5,"ng-doc-option",19),e.qZA()),2&t){const n=e.oxw(3);e.xp6(1),e.Q6J("ngForOf",n.scopes)}}function k(t,i){1&t&&e._uU(0),2&t&&e.hij(" ",i.$implicit," ")}function G(t,i){if(1&t&&(e.TgZ(0,"label",16)(1,"ng-doc-combobox",17),e.YNc(2,V,2,1,"ng-doc-list",11),e.YNc(3,k,1,1,"ng-template",null,18,e.W1O),e.qZA()()),2&t){const n=e.MAs(4),c=e.oxw(2);e.xp6(1),e.Q6J("formControl",c.formGroup.controls.scope)("valueContent",n)("readonly",!0)}}function $(t,i){1&t&&e.GkF(0)}function B(t,i){if(1&t&&(e.TgZ(0,"ng-doc-option",20),e.YNc(1,$,1,0,"ng-container",21),e.qZA()),2&t){const n=i.$implicit;e.oxw(2);const c=e.MAs(12);e.Q6J("value",n),e.xp6(1),e.Q6J("ngTemplateOutlet",c)("ngTemplateOutletContext",e.VKq(3,T,n))}}function j(t,i){if(1&t&&(e.TgZ(0,"ng-doc-list"),e.YNc(1,B,2,5,"ng-doc-option",19),e.qZA()),2&t){const n=e.oxw(2);e.xp6(1),e.Q6J("ngForOf",n.types)}}const R=function(){return["left-center","right-center"]};function z(t,i){if(1&t&&(e.TgZ(0,"div",0),e._UZ(1,"ng-doc-kind-icon",22),e._uU(2),e.qZA()),2&t){const n=i.$implicit;e.xp6(1),e.Q6J("kind",n)("ngDocTooltip",n)("positions",e.DdM(4,R)),e.xp6(1),e.hij(" ",n," ")}}const W=function(t){return[t]};function K(t,i){if(1&t&&(e.TgZ(0,"li",28)(1,"a",29),e._UZ(2,"ng-doc-kind-icon",30),e._uU(3),e.qZA()()),2&t){const n=i.$implicit;e.xp6(1),e.Q6J("routerLink",e.VKq(4,W,n.route)),e.xp6(1),e.Q6J("kind",n.type)("ngDocTooltip",n.type),e.xp6(1),e.hij(" ",n.name," ")}}function X(t,i){if(1&t&&(e.TgZ(0,"ul",26),e.YNc(1,K,4,6,"li",27),e.qZA()),2&t){const n=e.oxw().$implicit;e.xp6(1),e.Q6J("ngForOf",n.items)}}function q(t,i){if(1&t&&(e.TgZ(0,"div",23)(1,"h3",24),e._uU(2),e.qZA(),e.YNc(3,X,2,1,"ul",25),e.qZA()),2&t){const n=i.$implicit;e.xp6(2),e.Oqu(n.title),e.xp6(1),e.Q6J("ngIf",n.items.length)}}function ee(t,i){if(1&t&&(e.TgZ(0,"div",2)(1,"form",3)(2,"label",4)(3,"ng-doc-input-wrapper",5),e.YNc(4,Y,1,0,"ng-template",null,6,e.W1O),e._UZ(6,"input",7),e.qZA()(),e.YNc(7,G,5,3,"label",8),e.TgZ(8,"label",9)(9,"ng-doc-combobox",10),e.YNc(10,j,2,1,"ng-doc-list",11),e.YNc(11,z,3,5,"ng-template",null,12,e.W1O),e.qZA()()(),e.TgZ(13,"div",13),e.YNc(14,q,4,2,"div",14),e.qZA()()),2&t){const n=i.ngIf,c=e.MAs(5),l=e.MAs(12),g=e.oxw();e.xp6(1),e.Q6J("formGroup",g.formGroup),e.xp6(2),e.Q6J("leftContent",c),e.xp6(3),e.Q6J("formControl",g.formGroup.controls.filter),e.xp6(1),e.Q6J("ngIf",g.scopes.length),e.xp6(2),e.Q6J("formControl",g.formGroup.controls.type)("valueContent",l)("readonly",!0),e.xp6(5),e.Q6J("ngForOf",n)}}let te=(()=>{let t=class v{constructor(n,c,l,g){this.apiList=n,this.formBuilder=c,this.route=l,this.router=g,this.formGroup=this.formBuilder.group({filter:[""],scope:[""],type:[""]}),this.route.queryParamMap.pipe((0,u.t)(this)).subscribe(a=>this.formGroup.setValue({filter:a.get("filter")||null,scope:a.get("scope")||null,type:a.get("type")||null})),this.formGroup.valueChanges.pipe((0,u.t)(this)).subscribe(a=>this.router.navigate([],{relativeTo:this.route,queryParams:a,queryParamsHandling:"merge"})),this.api$=this.formGroup.valueChanges.pipe((0,Q.b)(100),(0,S.O)(null),(0,O.U)(()=>this.formGroup.value),(0,O.U)(a=>this.apiList.filter(r=>!a?.scope||r.title===a?.scope).map(r=>({...r,items:r.items.filter(m=>m.name.toLowerCase().includes(a?.filter?.toLowerCase()??"")&&(!a?.type||m.type===a?.type)).sort((m,D)=>m.type.localeCompare(D.type)||m.name.localeCompare(D.name))})).filter(r=>r.items.length)),(0,u.t)(this))}get scopes(){return(0,y.asArray)(new Set(this.apiList.flatMap(n=>n.title))).sort()}get types(){return(0,y.asArray)(new Set(this.apiList.flatMap(n=>n.items).flatMap(n=>n.type))).sort()}static#e=this.\u0275fac=function(c){return new(c||v)(e.Y36(C.Pt),e.Y36(p.qu),e.Y36(d.gz),e.Y36(d.F0))};static#t=this.\u0275cmp=e.Xpm({type:v,selectors:[["ng-doc-api-list"]],standalone:!0,features:[e.jDz],decls:4,vars:3,consts:[["ng-doc-text",""],["class","ng-doc-api-list-wrapper",4,"ngIf"],[1,"ng-doc-api-list-wrapper"],[1,"ng-doc-api-filter",3,"formGroup"],["ng-doc-label","Filter",1,"ng-doc-api-filter-item"],[3,"leftContent"],["leftContent",""],["ngDocInputString","","placeholder","Type the name","ngDocAutofocus","",3,"formControl"],["class","ng-doc-api-filter-item","ng-doc-label","Scope",4,"ngIf"],["ng-doc-label","Type",1,"ng-doc-api-filter-item"],["placeholder","Choose the entity type",3,"formControl","valueContent","readonly"],[4,"ngDocData"],["comboboxTypeItem",""],[1,"ng-doc-api-list"],["class","ng-doc-api-scope",4,"ngFor","ngForOf"],["icon","search"],["ng-doc-label","Scope",1,"ng-doc-api-filter-item"],["placeholder","Choose the scope",3,"formControl","valueContent","readonly"],["comboboxScopeItem",""],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["ngDocTextLeft","",3,"kind","ngDocTooltip","positions"],[1,"ng-doc-api-scope"],["ng-doc-text","",1,"ng-doc-scope-title"],["class","ng-doc-scope-items",4,"ngIf"],[1,"ng-doc-scope-items"],["class","ng-doc-scope-item",4,"ngFor","ngForOf"],[1,"ng-doc-scope-item"],[1,"ng-doc-scope-item-link",3,"routerLink"],[3,"kind","ngDocTooltip"]],template:function(c,l){1&c&&(e.TgZ(0,"h1",0),e._uU(1,"API List"),e.qZA(),e.YNc(2,ee,15,8,"div",1),e.ALo(3,"async")),2&c&&(e.xp6(2),e.Q6J("ngIf",e.lcZ(3,1,l.api$)))},dependencies:[x.Uy,f.O5,p.u5,p._Y,p.Fj,p.JJ,p.JL,p.UX,p.oH,p.sg,P.J,A.u,N.q,L.v,I.o,Z.L,E.N,J.k,f.ax,b.e,f.tP,M.U,x.eo,F.A,d.rH,f.Ov],styles:["[_nghost-%COMP%] h1[_ngcontent-%COMP%]{margin-top:0}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-filter[_ngcontent-%COMP%]{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;grid-gap:calc(var(--ng-doc-base-gutter) * 2);gap:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-filter[_ngcontent-%COMP%] .ng-doc-api-filter-item[_ngcontent-%COMP%]{width:200px}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%]{margin-top:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%] .ng-doc-api-scope[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%] .ng-doc-api-scope[_ngcontent-%COMP%] .ng-doc-scope-items[_ngcontent-%COMP%]{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%] .ng-doc-api-scope[_ngcontent-%COMP%] .ng-doc-scope-items[_ngcontent-%COMP%] .ng-doc-scope-item[_ngcontent-%COMP%]{margin:var(--ng-doc-base-gutter) 0;float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%] .ng-doc-api-scope[_ngcontent-%COMP%] .ng-doc-scope-items[_ngcontent-%COMP%] .ng-doc-scope-item[_ngcontent-%COMP%] .ng-doc-scope-item-link[_ngcontent-%COMP%]{display:flex;align-items:center;color:var(--ng-doc-text);text-decoration:none}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%] .ng-doc-api-scope[_ngcontent-%COMP%] .ng-doc-scope-items[_ngcontent-%COMP%] .ng-doc-scope-item[_ngcontent-%COMP%] .ng-doc-scope-item-link[_ngcontent-%COMP%]:hover{text-decoration:underline}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%] .ng-doc-api-scope[_ngcontent-%COMP%] .ng-doc-scope-items[_ngcontent-%COMP%] .ng-doc-scope-item[_ngcontent-%COMP%] .ng-doc-scope-item-link[_ngcontent-%COMP%] ng-doc-kind-icon[_ngcontent-%COMP%]{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}[_nghost-%COMP%] ng-doc-input-wrapper[_ngcontent-%COMP%] ng-doc-icon[_ngcontent-%COMP%]{--ng-doc-icon-color: var(--ng-doc-text-muted)}"],changeDetection:0})};return(0,s.__decorate)([h.g,(0,s.__metadata)("design:type",Array),(0,s.__metadata)("design:paramtypes",[])],t.prototype,"scopes",null),(0,s.__decorate)([h.g,(0,s.__metadata)("design:type",Array),(0,s.__metadata)("design:paramtypes",[])],t.prototype,"types",null),t=(0,s.__decorate)([(0,u.c)(),(0,s.__metadata)("design:paramtypes",[Array,p.qu,d.gz,d.F0])],t),t})();const ne=JSON.parse('[{"title":"ngx-vflow","items":[{"route":"ngx-vflow/interfaces/ViewportState","type":"Interface","name":"ViewportState"},{"route":"ngx-vflow/classes/VflowModule","type":"NgModule","name":"VflowModule"},{"route":"ngx-vflow/type-aliases/Node","type":"TypeAlias","name":"Node"},{"route":"ngx-vflow/interfaces/SharedNode","type":"Interface","name":"SharedNode"},{"route":"ngx-vflow/interfaces/DefaultNode","type":"Interface","name":"DefaultNode"},{"route":"ngx-vflow/interfaces/HtmlTemplateNode","type":"Interface","name":"HtmlTemplateNode"},{"route":"ngx-vflow/interfaces/ComponentNode","type":"Interface","name":"ComponentNode"},{"route":"ngx-vflow/interfaces/Point","type":"Interface","name":"Point"},{"route":"ngx-vflow/type-aliases/EdgeType","type":"TypeAlias","name":"EdgeType"},{"route":"ngx-vflow/type-aliases/Curve","type":"TypeAlias","name":"Curve"},{"route":"ngx-vflow/interfaces/Edge","type":"Interface","name":"Edge"},{"route":"ngx-vflow/type-aliases/EdgeLabelType","type":"TypeAlias","name":"EdgeLabelType"},{"route":"ngx-vflow/type-aliases/EdgeLabelPosition","type":"TypeAlias","name":"EdgeLabelPosition"},{"route":"ngx-vflow/interfaces/EdgeLabel","type":"Interface","name":"EdgeLabel"},{"route":"ngx-vflow/interfaces/Connection","type":"Interface","name":"Connection"},{"route":"ngx-vflow/type-aliases/ConnectionValidatorFn","type":"TypeAlias","name":"ConnectionValidatorFn"},{"route":"ngx-vflow/interfaces/ConnectionSettings","type":"Interface","name":"ConnectionSettings"},{"route":"ngx-vflow/interfaces/HandlePositions","type":"Interface","name":"HandlePositions"},{"route":"ngx-vflow/interfaces/Marker","type":"Interface","name":"Marker"},{"route":"ngx-vflow/type-aliases/ComponentNodeEvent","type":"TypeAlias","name":"ComponentNodeEvent"},{"route":"ngx-vflow/type-aliases/AnyComponentNodeEvent","type":"TypeAlias","name":"AnyComponentNodeEvent"},{"route":"ngx-vflow/interfaces/FitViewOptions","type":"Interface","name":"FitViewOptions"},{"route":"ngx-vflow/type-aliases/NodeChange","type":"TypeAlias","name":"NodeChange"},{"route":"ngx-vflow/interfaces/NodePositionChange","type":"Interface","name":"NodePositionChange"},{"route":"ngx-vflow/interfaces/NodeAddChange","type":"Interface","name":"NodeAddChange"},{"route":"ngx-vflow/interfaces/NodeRemoveChange","type":"Interface","name":"NodeRemoveChange"},{"route":"ngx-vflow/interfaces/NodeSelectedChange","type":"Interface","name":"NodeSelectedChange"},{"route":"ngx-vflow/type-aliases/EdgeChange","type":"TypeAlias","name":"EdgeChange"},{"route":"ngx-vflow/interfaces/EdgeDetachedChange","type":"Interface","name":"EdgeDetachedChange"},{"route":"ngx-vflow/interfaces/EdgeAddChange","type":"Interface","name":"EdgeAddChange"},{"route":"ngx-vflow/interfaces/EdgeRemoveChange","type":"Interface","name":"EdgeRemoveChange"},{"route":"ngx-vflow/interfaces/EdgeSelectChange","type":"Interface","name":"EdgeSelectChange"},{"route":"ngx-vflow/type-aliases/Position","type":"TypeAlias","name":"Position"},{"route":"ngx-vflow/type-aliases/Background","type":"TypeAlias","name":"Background"},{"route":"ngx-vflow/interfaces/ColorBackground","type":"Interface","name":"ColorBackground"},{"route":"ngx-vflow/interfaces/DotsBackground","type":"Interface","name":"DotsBackground"},{"route":"ngx-vflow/type-aliases/ConnectionMode","type":"TypeAlias","name":"ConnectionMode"},{"route":"ngx-vflow/classes/VflowComponent","type":"Component","name":"VflowComponent"},{"route":"ngx-vflow/classes/HandleComponent","type":"Component","name":"HandleComponent"},{"route":"ngx-vflow/classes/CustomNodeComponent","type":"Directive","name":"CustomNodeComponent"},{"route":"ngx-vflow/classes/EdgeTemplateDirective","type":"Directive","name":"EdgeTemplateDirective"},{"route":"ngx-vflow/classes/ConnectionTemplateDirective","type":"Directive","name":"ConnectionTemplateDirective"},{"route":"ngx-vflow/classes/EdgeLabelHtmlTemplateDirective","type":"Directive","name":"EdgeLabelHtmlTemplateDirective"},{"route":"ngx-vflow/classes/NodeHtmlTemplateDirective","type":"Directive","name":"NodeHtmlTemplateDirective"},{"route":"ngx-vflow/classes/HandleTemplateDirective","type":"Directive","name":"HandleTemplateDirective"},{"route":"ngx-vflow/classes/ConnectionControllerDirective","type":"Directive","name":"ConnectionControllerDirective"},{"route":"ngx-vflow/classes/ChangesControllerDirective","type":"Directive","name":"ChangesControllerDirective"},{"route":"ngx-vflow/classes/SelectableDirective","type":"Directive","name":"SelectableDirective"}]}]');let w=(()=>{class t{static#e=this.\u0275fac=function(c){return new(c||t)};static#t=this.\u0275cmp=e.Xpm({type:t,selectors:[["ng-doc-api-list-page-api"]],standalone:!0,features:[e._Bn([{provide:C.Pt,useValue:ne}]),e.jDz],decls:1,vars:0,template:function(c,l){1&c&&e._UZ(0,"ng-doc-api-list")},dependencies:[te],encapsulation:2,changeDetection:0})}return t})();const oe=[{path:"",component:w},{path:"ngx-vflow",loadChildren:()=>o.e(8738).then(o.bind(o,8738))}]}}]); \ No newline at end of file diff --git a/9822.820409bebf4fac8b.js b/9822.820409bebf4fac8b.js new file mode 100644 index 00000000..dd7111ee --- /dev/null +++ b/9822.820409bebf4fac8b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9822],{9822:(ie,y,o)=>{o.r(y),o.d(y,{DynamicComponent:()=>w,default:()=>oe});var C=o(5483),p=o(7582),f=o(6814),e=o(5879),s=o(95),d=o(776),O=o(4732),_=o(7340),x=o(2919),M=o(8584),P=o(2949),A=o(2560),L=o(1586),I=o(7041),Z=o(8828),F=o(3953),S=o(7808),E=o(6307),J=o(5717),h=o(8176),u=o(1791),b=o(3620),Q=o(7921),D=o(7398);function Y(t,i){1&t&&e._UZ(0,"ng-doc-icon",15)}function H(t,i){1&t&&e.GkF(0)}const N=function(t){return{$implicit:t}};function U(t,i){if(1&t&&(e.TgZ(0,"ng-doc-option",20),e.YNc(1,H,1,0,"ng-container",21),e.qZA()),2&t){const n=i.$implicit;e.oxw(2);const a=e.MAs(4);e.Q6J("value",n),e.xp6(1),e.Q6J("ngTemplateOutlet",a)("ngTemplateOutletContext",e.VKq(3,N,n))}}function V(t,i){if(1&t&&(e.TgZ(0,"ng-doc-list"),e.YNc(1,U,2,5,"ng-doc-option",19),e.qZA()),2&t){const n=e.oxw(3);e.xp6(1),e.Q6J("ngForOf",n.scopes)}}function k(t,i){1&t&&e._uU(0),2&t&&e.hij(" ",i.$implicit," ")}function G(t,i){if(1&t&&(e.TgZ(0,"label",16)(1,"ng-doc-combobox",17),e.YNc(2,V,2,1,"ng-doc-list",11),e.YNc(3,k,1,1,"ng-template",null,18,e.W1O),e.qZA()()),2&t){const n=e.MAs(4),a=e.oxw(2);e.xp6(1),e.Q6J("formControl",a.formGroup.controls.scope)("valueContent",n)("readonly",!0)}}function $(t,i){1&t&&e.GkF(0)}function B(t,i){if(1&t&&(e.TgZ(0,"ng-doc-option",20),e.YNc(1,$,1,0,"ng-container",21),e.qZA()),2&t){const n=i.$implicit;e.oxw(2);const a=e.MAs(12);e.Q6J("value",n),e.xp6(1),e.Q6J("ngTemplateOutlet",a)("ngTemplateOutletContext",e.VKq(3,N,n))}}function j(t,i){if(1&t&&(e.TgZ(0,"ng-doc-list"),e.YNc(1,B,2,5,"ng-doc-option",19),e.qZA()),2&t){const n=e.oxw(2);e.xp6(1),e.Q6J("ngForOf",n.types)}}const R=function(){return["left-center","right-center"]};function z(t,i){if(1&t&&(e.TgZ(0,"div",0),e._UZ(1,"ng-doc-kind-icon",22),e._uU(2),e.qZA()),2&t){const n=i.$implicit;e.xp6(1),e.Q6J("kind",n)("ngDocTooltip",n)("positions",e.DdM(4,R)),e.xp6(1),e.hij(" ",n," ")}}const W=function(t){return[t]};function K(t,i){if(1&t&&(e.TgZ(0,"li",28)(1,"a",29),e._UZ(2,"ng-doc-kind-icon",30),e._uU(3),e.qZA()()),2&t){const n=i.$implicit;e.xp6(1),e.Q6J("routerLink",e.VKq(4,W,n.route)),e.xp6(1),e.Q6J("kind",n.type)("ngDocTooltip",n.type),e.xp6(1),e.hij(" ",n.name," ")}}function X(t,i){if(1&t&&(e.TgZ(0,"ul",26),e.YNc(1,K,4,6,"li",27),e.qZA()),2&t){const n=e.oxw().$implicit;e.xp6(1),e.Q6J("ngForOf",n.items)}}function q(t,i){if(1&t&&(e.TgZ(0,"div",23)(1,"h3",24),e._uU(2),e.qZA(),e.YNc(3,X,2,1,"ul",25),e.qZA()),2&t){const n=i.$implicit;e.xp6(2),e.Oqu(n.title),e.xp6(1),e.Q6J("ngIf",n.items.length)}}function ee(t,i){if(1&t&&(e.TgZ(0,"div",2)(1,"form",3)(2,"label",4)(3,"ng-doc-input-wrapper",5),e.YNc(4,Y,1,0,"ng-template",null,6,e.W1O),e._UZ(6,"input",7),e.qZA()(),e.YNc(7,G,5,3,"label",8),e.TgZ(8,"label",9)(9,"ng-doc-combobox",10),e.YNc(10,j,2,1,"ng-doc-list",11),e.YNc(11,z,3,5,"ng-template",null,12,e.W1O),e.qZA()()(),e.TgZ(13,"div",13),e.YNc(14,q,4,2,"div",14),e.qZA()()),2&t){const n=i.ngIf,a=e.MAs(5),l=e.MAs(12),g=e.oxw();e.xp6(1),e.Q6J("formGroup",g.formGroup),e.xp6(2),e.Q6J("leftContent",a),e.xp6(3),e.Q6J("formControl",g.formGroup.controls.filter),e.xp6(1),e.Q6J("ngIf",g.scopes.length),e.xp6(2),e.Q6J("formControl",g.formGroup.controls.type)("valueContent",l)("readonly",!0),e.xp6(5),e.Q6J("ngForOf",n)}}let te=(()=>{let t=class v{constructor(n,a,l,g){this.apiList=n,this.formBuilder=a,this.route=l,this.router=g,this.formGroup=this.formBuilder.group({filter:[""],scope:[""],type:[""]}),this.route.queryParamMap.pipe((0,u.t)(this)).subscribe(c=>this.formGroup.setValue({filter:c.get("filter")||null,scope:c.get("scope")||null,type:c.get("type")||null})),this.formGroup.valueChanges.pipe((0,u.t)(this)).subscribe(c=>this.router.navigate([],{relativeTo:this.route,queryParams:c,queryParamsHandling:"merge"})),this.api$=this.formGroup.valueChanges.pipe((0,b.b)(100),(0,Q.O)(null),(0,D.U)(()=>this.formGroup.value),(0,D.U)(c=>this.apiList.filter(r=>!c?.scope||r.title===c?.scope).map(r=>({...r,items:r.items.filter(m=>m.name.toLowerCase().includes(c?.filter?.toLowerCase()??"")&&(!c?.type||m.type===c?.type)).sort((m,T)=>m.type.localeCompare(T.type)||m.name.localeCompare(T.name))})).filter(r=>r.items.length)),(0,u.t)(this))}get scopes(){return(0,_.asArray)(new Set(this.apiList.flatMap(n=>n.title))).sort()}get types(){return(0,_.asArray)(new Set(this.apiList.flatMap(n=>n.items).flatMap(n=>n.type))).sort()}static#e=this.\u0275fac=function(a){return new(a||v)(e.Y36(C.Pt),e.Y36(s.qu),e.Y36(d.gz),e.Y36(d.F0))};static#t=this.\u0275cmp=e.Xpm({type:v,selectors:[["ng-doc-api-list"]],standalone:!0,features:[e.jDz],decls:4,vars:3,consts:[["ng-doc-text",""],["class","ng-doc-api-list-wrapper",4,"ngIf"],[1,"ng-doc-api-list-wrapper"],[1,"ng-doc-api-filter",3,"formGroup"],["ng-doc-label","Filter",1,"ng-doc-api-filter-item"],[3,"leftContent"],["leftContent",""],["ngDocInputString","","placeholder","Type the name","ngDocAutofocus","",3,"formControl"],["class","ng-doc-api-filter-item","ng-doc-label","Scope",4,"ngIf"],["ng-doc-label","Type",1,"ng-doc-api-filter-item"],["placeholder","Choose the entity type",3,"formControl","valueContent","readonly"],[4,"ngDocData"],["comboboxTypeItem",""],[1,"ng-doc-api-list"],["class","ng-doc-api-scope",4,"ngFor","ngForOf"],["icon","search"],["ng-doc-label","Scope",1,"ng-doc-api-filter-item"],["placeholder","Choose the scope",3,"formControl","valueContent","readonly"],["comboboxScopeItem",""],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["ngDocTextLeft","",3,"kind","ngDocTooltip","positions"],[1,"ng-doc-api-scope"],["ng-doc-text","",1,"ng-doc-scope-title"],["class","ng-doc-scope-items",4,"ngIf"],[1,"ng-doc-scope-items"],["class","ng-doc-scope-item",4,"ngFor","ngForOf"],[1,"ng-doc-scope-item"],[1,"ng-doc-scope-item-link",3,"routerLink"],[3,"kind","ngDocTooltip"]],template:function(a,l){1&a&&(e.TgZ(0,"h1",0),e._uU(1,"API List"),e.qZA(),e.YNc(2,ee,15,8,"div",1),e.ALo(3,"async")),2&a&&(e.xp6(2),e.Q6J("ngIf",e.lcZ(3,1,l.api$)))},dependencies:[x.Uy,f.O5,s.u5,s._Y,s.Fj,s.JJ,s.JL,s.UX,s.oH,s.sg,M.J,P.u,A.q,L.v,I.o,Z.L,F.N,S.k,f.ax,E.e,f.tP,O.U,x.eo,J.A,d.rH,f.Ov],styles:["[_nghost-%COMP%] h1[_ngcontent-%COMP%]{margin-top:0}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-filter[_ngcontent-%COMP%]{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;grid-gap:calc(var(--ng-doc-base-gutter) * 2);gap:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-filter[_ngcontent-%COMP%] .ng-doc-api-filter-item[_ngcontent-%COMP%]{width:200px}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%]{margin-top:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%] .ng-doc-api-scope[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%] .ng-doc-api-scope[_ngcontent-%COMP%] .ng-doc-scope-items[_ngcontent-%COMP%]{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%] .ng-doc-api-scope[_ngcontent-%COMP%] .ng-doc-scope-items[_ngcontent-%COMP%] .ng-doc-scope-item[_ngcontent-%COMP%]{margin:var(--ng-doc-base-gutter) 0;float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%] .ng-doc-api-scope[_ngcontent-%COMP%] .ng-doc-scope-items[_ngcontent-%COMP%] .ng-doc-scope-item[_ngcontent-%COMP%] .ng-doc-scope-item-link[_ngcontent-%COMP%]{display:flex;align-items:center;color:var(--ng-doc-text);text-decoration:none}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%] .ng-doc-api-scope[_ngcontent-%COMP%] .ng-doc-scope-items[_ngcontent-%COMP%] .ng-doc-scope-item[_ngcontent-%COMP%] .ng-doc-scope-item-link[_ngcontent-%COMP%]:hover{text-decoration:underline}[_nghost-%COMP%] .ng-doc-api-list-wrapper[_ngcontent-%COMP%] .ng-doc-api-list[_ngcontent-%COMP%] .ng-doc-api-scope[_ngcontent-%COMP%] .ng-doc-scope-items[_ngcontent-%COMP%] .ng-doc-scope-item[_ngcontent-%COMP%] .ng-doc-scope-item-link[_ngcontent-%COMP%] ng-doc-kind-icon[_ngcontent-%COMP%]{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}[_nghost-%COMP%] ng-doc-input-wrapper[_ngcontent-%COMP%] ng-doc-icon[_ngcontent-%COMP%]{--ng-doc-icon-color: var(--ng-doc-text-muted)}"],changeDetection:0})};return(0,p.__decorate)([h.g,(0,p.__metadata)("design:type",Array),(0,p.__metadata)("design:paramtypes",[])],t.prototype,"scopes",null),(0,p.__decorate)([h.g,(0,p.__metadata)("design:type",Array),(0,p.__metadata)("design:paramtypes",[])],t.prototype,"types",null),t=(0,p.__decorate)([(0,u.c)(),(0,p.__metadata)("design:paramtypes",[Array,s.qu,d.gz,d.F0])],t),t})();const ne=JSON.parse('[{"title":"ngx-vflow","items":[{"route":"ngx-vflow/interfaces/ViewportState","type":"Interface","name":"ViewportState"},{"route":"ngx-vflow/classes/VflowModule","type":"NgModule","name":"VflowModule"},{"route":"ngx-vflow/functions/isStaticNode","type":"Function","name":"isStaticNode"},{"route":"ngx-vflow/functions/isDynamicNode","type":"Function","name":"isDynamicNode"},{"route":"ngx-vflow/functions/isComponentStaticNode","type":"Function","name":"isComponentStaticNode"},{"route":"ngx-vflow/functions/isComponentDynamicNode","type":"Function","name":"isComponentDynamicNode"},{"route":"ngx-vflow/functions/isTemplateStaticNode","type":"Function","name":"isTemplateStaticNode"},{"route":"ngx-vflow/functions/isTemplateDynamicNode","type":"Function","name":"isTemplateDynamicNode"},{"route":"ngx-vflow/functions/isDefaultStaticNode","type":"Function","name":"isDefaultStaticNode"},{"route":"ngx-vflow/functions/isDefaultDynamicNode","type":"Function","name":"isDefaultDynamicNode"},{"route":"ngx-vflow/type-aliases/Node","type":"TypeAlias","name":"Node"},{"route":"ngx-vflow/type-aliases/DynamicNode","type":"TypeAlias","name":"DynamicNode"},{"route":"ngx-vflow/interfaces/SharedNode","type":"Interface","name":"SharedNode"},{"route":"ngx-vflow/interfaces/SharedDynamicNode","type":"Interface","name":"SharedDynamicNode"},{"route":"ngx-vflow/interfaces/DefaultNode","type":"Interface","name":"DefaultNode"},{"route":"ngx-vflow/interfaces/DefaultDynamicNode","type":"Interface","name":"DefaultDynamicNode"},{"route":"ngx-vflow/interfaces/HtmlTemplateNode","type":"Interface","name":"HtmlTemplateNode"},{"route":"ngx-vflow/interfaces/HtmlTemplateDynamicNode","type":"Interface","name":"HtmlTemplateDynamicNode"},{"route":"ngx-vflow/interfaces/ComponentNode","type":"Interface","name":"ComponentNode"},{"route":"ngx-vflow/interfaces/ComponentDynamicNode","type":"Interface","name":"ComponentDynamicNode"},{"route":"ngx-vflow/interfaces/Point","type":"Interface","name":"Point"},{"route":"ngx-vflow/type-aliases/EdgeType","type":"TypeAlias","name":"EdgeType"},{"route":"ngx-vflow/type-aliases/Curve","type":"TypeAlias","name":"Curve"},{"route":"ngx-vflow/interfaces/Edge","type":"Interface","name":"Edge"},{"route":"ngx-vflow/type-aliases/EdgeLabelType","type":"TypeAlias","name":"EdgeLabelType"},{"route":"ngx-vflow/type-aliases/EdgeLabelPosition","type":"TypeAlias","name":"EdgeLabelPosition"},{"route":"ngx-vflow/interfaces/EdgeLabel","type":"Interface","name":"EdgeLabel"},{"route":"ngx-vflow/interfaces/Connection","type":"Interface","name":"Connection"},{"route":"ngx-vflow/type-aliases/ConnectionValidatorFn","type":"TypeAlias","name":"ConnectionValidatorFn"},{"route":"ngx-vflow/interfaces/ConnectionSettings","type":"Interface","name":"ConnectionSettings"},{"route":"ngx-vflow/interfaces/HandlePositions","type":"Interface","name":"HandlePositions"},{"route":"ngx-vflow/interfaces/Marker","type":"Interface","name":"Marker"},{"route":"ngx-vflow/type-aliases/ComponentNodeEvent","type":"TypeAlias","name":"ComponentNodeEvent"},{"route":"ngx-vflow/type-aliases/AnyComponentNodeEvent","type":"TypeAlias","name":"AnyComponentNodeEvent"},{"route":"ngx-vflow/interfaces/FitViewOptions","type":"Interface","name":"FitViewOptions"},{"route":"ngx-vflow/type-aliases/NodeChange","type":"TypeAlias","name":"NodeChange"},{"route":"ngx-vflow/interfaces/NodePositionChange","type":"Interface","name":"NodePositionChange"},{"route":"ngx-vflow/interfaces/NodeAddChange","type":"Interface","name":"NodeAddChange"},{"route":"ngx-vflow/interfaces/NodeRemoveChange","type":"Interface","name":"NodeRemoveChange"},{"route":"ngx-vflow/interfaces/NodeSelectedChange","type":"Interface","name":"NodeSelectedChange"},{"route":"ngx-vflow/type-aliases/EdgeChange","type":"TypeAlias","name":"EdgeChange"},{"route":"ngx-vflow/interfaces/EdgeDetachedChange","type":"Interface","name":"EdgeDetachedChange"},{"route":"ngx-vflow/interfaces/EdgeAddChange","type":"Interface","name":"EdgeAddChange"},{"route":"ngx-vflow/interfaces/EdgeRemoveChange","type":"Interface","name":"EdgeRemoveChange"},{"route":"ngx-vflow/interfaces/EdgeSelectChange","type":"Interface","name":"EdgeSelectChange"},{"route":"ngx-vflow/type-aliases/Position","type":"TypeAlias","name":"Position"},{"route":"ngx-vflow/type-aliases/Background","type":"TypeAlias","name":"Background"},{"route":"ngx-vflow/interfaces/ColorBackground","type":"Interface","name":"ColorBackground"},{"route":"ngx-vflow/interfaces/DotsBackground","type":"Interface","name":"DotsBackground"},{"route":"ngx-vflow/type-aliases/ConnectionMode","type":"TypeAlias","name":"ConnectionMode"},{"route":"ngx-vflow/classes/VflowComponent","type":"Component","name":"VflowComponent"},{"route":"ngx-vflow/classes/HandleComponent","type":"Component","name":"HandleComponent"},{"route":"ngx-vflow/classes/CustomNodeComponent","type":"Directive","name":"CustomNodeComponent"},{"route":"ngx-vflow/classes/CustomDynamicNodeComponent","type":"Directive","name":"CustomDynamicNodeComponent"},{"route":"ngx-vflow/classes/EdgeTemplateDirective","type":"Directive","name":"EdgeTemplateDirective"},{"route":"ngx-vflow/classes/ConnectionTemplateDirective","type":"Directive","name":"ConnectionTemplateDirective"},{"route":"ngx-vflow/classes/EdgeLabelHtmlTemplateDirective","type":"Directive","name":"EdgeLabelHtmlTemplateDirective"},{"route":"ngx-vflow/classes/NodeHtmlTemplateDirective","type":"Directive","name":"NodeHtmlTemplateDirective"},{"route":"ngx-vflow/classes/HandleTemplateDirective","type":"Directive","name":"HandleTemplateDirective"},{"route":"ngx-vflow/classes/ConnectionControllerDirective","type":"Directive","name":"ConnectionControllerDirective"},{"route":"ngx-vflow/classes/ChangesControllerDirective","type":"Directive","name":"ChangesControllerDirective"},{"route":"ngx-vflow/classes/SelectableDirective","type":"Directive","name":"SelectableDirective"}]}]');let w=(()=>{class t{static#e=this.\u0275fac=function(a){return new(a||t)};static#t=this.\u0275cmp=e.Xpm({type:t,selectors:[["ng-doc-api-list-page-api"]],standalone:!0,features:[e._Bn([{provide:C.Pt,useValue:ne}]),e.jDz],decls:1,vars:0,template:function(a,l){1&a&&e._UZ(0,"ng-doc-api-list")},dependencies:[te],encapsulation:2,changeDetection:0})}return t})();const oe=[{path:"",component:w},{path:"ngx-vflow",loadChildren:()=>o.e(8738).then(o.bind(o,8738))}]}}]); \ No newline at end of file diff --git a/9826.99af3406b977fe71.js b/9826.472e4c2ecefc8070.js similarity index 53% rename from 9826.99af3406b977fe71.js rename to 9826.472e4c2ecefc8070.js index 8d0932dd..ef39c70a 100644 --- a/9826.99af3406b977fe71.js +++ b/9826.472e4c2ecefc8070.js @@ -1 +1 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9826],{9826:(d,t,l)=>{l.r(t),l.d(t,{default:()=>n});const n=[{path:"",redirectTo:"principles",pathMatch:"full"},{path:"",title:"Getting Started",children:[{path:"principles",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(4551)]).then(l.bind(l,4551))},{path:"what-is-ngx-vflow",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(6774)]).then(l.bind(l,6774))},{path:"roadmap",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(8077)]).then(l.bind(l,8077))}]}]}}]); \ No newline at end of file +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9826],{9826:(d,t,l)=>{l.r(t),l.d(t,{default:()=>n});const n=[{path:"",redirectTo:"principles",pathMatch:"full"},{path:"",title:"Getting Started",children:[{path:"principles",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(4551)]).then(l.bind(l,4551))},{path:"roadmap",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(8077)]).then(l.bind(l,8077))},{path:"what-is-ngx-vflow",loadChildren:()=>Promise.all([l.e(7134),l.e(5535),l.e(8592),l.e(6774)]).then(l.bind(l,6774))}]}]}}]); \ No newline at end of file diff --git a/9850.840db377cdb3635f.js b/9850.840db377cdb3635f.js deleted file mode 100644 index 3d3ab207..00000000 --- a/9850.840db377cdb3635f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9850],{6464:(p,s,e)=>{e.r(s),e.d(s,{DynamicComponent:()=>l,default:()=>i});var d=e(6286),c=e(7134),n=e(5879);let l=(()=>{class t extends d.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L23",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L23",this.pageContent='
ngx-vflow / Interface

HtmlTemplateNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
No documentation has been provided.

Properties

NameTypeDescription
data
T | undefined
type
"html-template"
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(a){return new(a||t)};static#n=this.\u0275cmp=n.Xpm({type:t,selectors:[["ng-doc-page-api-ngx-vflow-interfaces-html-template-node"]],standalone:!0,features:[n._Bn([{provide:d.a,useExisting:t}]),n.qOj,n.jDz],decls:1,vars:0,template:function(a,h){1&a&&n._UZ(0,"ng-doc-page")},dependencies:[c.z],encapsulation:2,changeDetection:0})}return t})();const i=[{path:"",component:l,title:"HtmlTemplateNode"}]}}]); \ No newline at end of file diff --git a/9850.ebf8d1e4778a4075.js b/9850.ebf8d1e4778a4075.js new file mode 100644 index 00000000..fac93da5 --- /dev/null +++ b/9850.ebf8d1e4778a4075.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[9850],{6464:(r,s,e)=>{e.r(s),e.d(s,{DynamicComponent:()=>l,default:()=>i});var t=e(6286),c=e(7134),d=e(5879);let l=(()=>{class a extends t.a{constructor(){super(),this.routePrefix=void 0,this.pageType="api",this.editSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/edit/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts?message=docs(ngx-vflow): describe your changes here...#L42",this.viewSourceFileUrl="https://github.com/artem-mangilev/ngx-vflow/blob/main/projects/ngx-vflow-lib/src/lib/vflow/interfaces/node.interface.ts#L42",this.pageContent='
ngx-vflow / Interface

HtmlTemplateNode

\x3c!-- This is a hack to make the declaration name available to the search index. --\x3e
ExtendsSharedNode
No documentation has been provided.

Properties

NameTypeDescription
data
T | undefined
draggable
inherited from SharedNode
boolean | undefined
id
inherited from SharedNode
string
point
inherited from SharedNode
Point
type
"html-template"
',this.demo=void 0,this.demoAssets=void 0}static#e=this.\u0275fac=function(n){return new(n||a)};static#d=this.\u0275cmp=d.Xpm({type:a,selectors:[["ng-doc-page-api-ngx-vflow-interfaces-html-template-node"]],standalone:!0,features:[d._Bn([{provide:t.a,useExisting:a}]),d.qOj,d.jDz],decls:1,vars:0,template:function(n,f){1&n&&d._UZ(0,"ng-doc-page")},dependencies:[c.z],encapsulation:2,changeDetection:0})}return a})();const i=[{path:"",component:l,title:"HtmlTemplateNode"}]}}]); \ No newline at end of file diff --git a/assets/ng-doc/indexes.json b/assets/ng-doc/indexes.json index 081959f7..f6544f5e 100644 --- a/assets/ng-doc/indexes.json +++ b/assets/ng-doc/indexes.json @@ -1,4 +1,196 @@ [ + { + "breadcrumbs": [ + "Getting Started", + "Principles" + ], + "pageType": "guide", + "title": "Principles", + "section": "Principles", + "route": "/getting-started/principles", + "fragment": "principles", + "content": "This page contains a list of general principles that impact feature implementation. No hidden mutations of your data. For example, the library does not modify any of the Node or Edge objects you pass in as inputs. Instead, it creates internal models around these entities and operates on them. Any changes to the passed entities can be observed through events.This principle also implies that you are responsible for managing invalid data. For instance, if you delete a node, the edges corresponding to this node will not be deleted automatically. However, the library will notify you about detached edges so that you can easily delete them." + }, + { + "breadcrumbs": [ + "Getting Started", + "Roadmap" + ], + "pageType": "guide", + "title": "Roadmap", + "section": "Roadmap", + "route": "/getting-started/roadmap", + "fragment": "roadmap", + "content": "This is a roadmap for ngx-vflow: subflowsmore customization to default nodesimprove consistency across browsers (mainly appeals to Safari)improve documentationmore curvesplugin systemminimapnode rotation/resizingUI controls for flowsupport for layout engines (Dagree, etc.)more complex background (patterns)more events for different actionsmodal system for context menuHTML-based renderer as alternative to current SVG-based rendererExperimental canvas/webgl renderer for insane performance" + }, + { + "breadcrumbs": [ + "Getting Started", + "What is ngx-vflow" + ], + "pageType": "guide", + "title": "What is ngx-vflow", + "section": "What is ngx-vflow", + "route": "/getting-started/what-is-ngx-vflow", + "fragment": "what-is-ngx-vflow", + "content": "ngx-vflow is an Angular library for creating node-based applications. It aims to assist you in building anything from a static diagram to a visual editor. You can utilize the default design or apply your own by customizing everything using familiar technologies." + }, + { + "breadcrumbs": [ + "Getting Started", + "What is ngx-vflow" + ], + "pageType": "guide", + "title": "What is ngx-vflow", + "section": "Main features", + "route": "/getting-started/what-is-ngx-vflow", + "fragment": "main-features", + "content": "Easy to use: Just describe your flow with a simple API; all of the heavy lifting, such as dragging, zooming, and curve math, is handled by the library for you. Customizable: There is a default design for basic usage, and you can also customize nodes with good old HTML and CSS. Other entities such as edges, connection lines, and handles are also customizable, but it will require a little SVG knowledge. Great performance: Angular signals are the heart and soul of ngx-vflow, which are performant by default, so you shouldn't worry about performance even with large flows. Zoneless: Does not require zone.js" + }, + { + "breadcrumbs": [ + "Features", + "Choose direction" + ], + "pageType": "guide", + "title": "Choose direction", + "section": "Choose direction", + "route": "/features/choose-direction", + "fragment": "choose-direction", + "content": "This API may depricate in future releases" + }, + { + "breadcrumbs": [ + "Features", + "Choose direction" + ], + "pageType": "guide", + "title": "Choose direction", + "section": "Choose direction", + "route": "/features/choose-direction", + "fragment": "choose-direction", + "content": "You can apply global setting for all handles with [handlePositions] input where you set on which side source and target handles should be placed, you can select." + }, + { + "breadcrumbs": [ + "Features", + "Choose direction" + ], + "pageType": "guide", + "title": "Choose direction", + "section": "Right to left direction", + "route": "/features/choose-direction", + "fragment": "right-to-left-direction", + "content": "To archive this direction, you pass { source: 'left', target: 'right' } to [handlePositions]." + }, + { + "breadcrumbs": [ + "Features", + "Choose direction" + ], + "pageType": "guide", + "title": "Choose direction", + "section": "Top to bottom direction", + "route": "/features/choose-direction", + "fragment": "top-to-bottom-direction", + "content": "To archive this direction, you pass { source: 'bottom', target: 'top' } to [handlePositions]." + }, + { + "breadcrumbs": [ + "Features", + "Connection validation" + ], + "pageType": "guide", + "title": "Connection validation", + "section": "Connection validation", + "route": "/features/connection-validation", + "fragment": "connection-validation", + "content": "ngx-vflow supports real-time synchronous validation of connections. Validation occurs when a user attempts to create a new edge. By default, every connection is valid, but you can provide a ConnectionSettings with a validatior callback where you specify the validation logic. For example, in this case, validation only passes connections from node 1 to node 2. If the validator returns false, the (onConnect) event won't be triggered because there is no valid connection." + }, + { + "breadcrumbs": [ + "Features", + "Custom background" + ], + "pageType": "guide", + "title": "Custom background", + "section": "Custom background", + "route": "/features/custom-background", + "fragment": "custom-background", + "content": "You're able to select background for your flow." + }, + { + "breadcrumbs": [ + "Features", + "Custom background" + ], + "pageType": "guide", + "title": "Custom background", + "section": "Solid color", + "route": "/features/custom-background", + "fragment": "solid-color", + "content": "To select a color, simply pass a color string it to the [background] input." + }, + { + "breadcrumbs": [ + "Features", + "Custom background" + ], + "pageType": "guide", + "title": "Custom background", + "section": "Dots pattern", + "route": "/features/custom-background", + "fragment": "dots-pattern", + "content": "To make dots pattern, pass an object to the [background] input according to DotsBackground interface" + }, + { + "breadcrumbs": [ + "Features", + "Custom handles" + ], + "pageType": "guide", + "title": "Custom handles", + "section": "Custom handles", + "route": "/features/custom-handles", + "fragment": "custom-handles", + "content": "You can pass a [template] to HandleComponent with custom handle." + }, + { + "breadcrumbs": [ + "Features", + "Custom handles" + ], + "pageType": "guide", + "title": "Custom handles", + "section": "Custom handles", + "route": "/features/custom-handles", + "fragment": "custom-handles", + "content": "I't important to note that template must be made with SVG." + }, + { + "breadcrumbs": [ + "Features", + "Custom handles" + ], + "pageType": "guide", + "title": "Custom handles", + "section": "Custom handles", + "route": "/features/custom-handles", + "fragment": "custom-handles", + "content": "Custom handles are not positioned automatically, but the library provides a useful template context property to position your handle.Custom handles know if validation of ConnectionSettings.validator() has failed or succeeded, so you can use state() signal in let-ctx to add some behavior based on validation result. Refer to this interface for let-ctx when crafting your handle template:" + }, + { + "breadcrumbs": [ + "Features", + "Curves" + ], + "pageType": "guide", + "title": "Curves", + "section": "Curves", + "route": "/features/curves", + "fragment": "curves", + "content": "It's possible to set curve for both the edges and connection." + }, { "breadcrumbs": [ "Features", @@ -350,146 +542,74 @@ { "breadcrumbs": [ "Features", - "Choose direction" + "Default nodes" ], "pageType": "guide", - "title": "Choose direction", - "section": "Choose direction", - "route": "/features/choose-direction", - "fragment": "choose-direction", - "content": "This API may depricate in future releases" + "title": "Default nodes", + "section": "Default nodes", + "route": "/features/default-nodes", + "fragment": "default-nodes", + "content": "To get started, you just need to provide nodes array to vflow component." }, { "breadcrumbs": [ "Features", - "Choose direction" + "Draggables" ], "pageType": "guide", - "title": "Choose direction", - "section": "Choose direction", - "route": "/features/choose-direction", - "fragment": "choose-direction", - "content": "You can apply global setting for all handles with [handlePositions] input where you set on which side source and target handles should be placed, you can select." + "title": "Draggables", + "section": "Draggables", + "route": "/features/draggables", + "fragment": "draggables", + "content": "You can disable draggable behavior on certain nodes." }, { "breadcrumbs": [ "Features", - "Choose direction" + "Handling changes" ], "pageType": "guide", - "title": "Choose direction", - "section": "Right to left direction", - "route": "/features/choose-direction", - "fragment": "right-to-left-direction", - "content": "To archive this direction, you pass { source: 'left', target: 'right' } to [handlePositions]." + "title": "Handling changes", + "section": "Handling changes", + "route": "/features/handling-changes", + "fragment": "handling-changes", + "content": "You can observe changes in the toasts." }, { "breadcrumbs": [ "Features", - "Choose direction" + "Handling changes" ], "pageType": "guide", - "title": "Choose direction", - "section": "Top to bottom direction", - "route": "/features/choose-direction", - "fragment": "top-to-bottom-direction", - "content": "To archive this direction, you pass { source: 'bottom', target: 'top' } to [handlePositions]." + "title": "Handling changes", + "section": "Handling changes", + "route": "/features/handling-changes", + "fragment": "handling-changes", + "content": "You can observe various changes in nodes and edges. Types of NodeChanges: position - new node position after drag and dropadd - when node was createdremove - when node was removedselect - when node was selected (also triggers for unselected nodes) Types of EdgeChanges: add - when edge was createdremove - when edge was removedselect - when edge was selected (also triggers for unselected edges)detached - when edge became invisible due to the absence of the source or target node. Use this to delete such edges from the edges list There are a several ways to receive these changes:" }, { "breadcrumbs": [ "Features", - "Custom handles" + "Handling changes" ], "pageType": "guide", - "title": "Custom handles", - "section": "Custom handles", - "route": "/features/custom-handles", - "fragment": "custom-handles", - "content": "You can pass a [template] to HandleComponent with custom handle." + "title": "Handling changes", + "section": "From (onNodesChange) and (onEdgesChange) outputs", + "route": "/features/handling-changes", + "fragment": "from-onnodeschange-and-onedgeschange-outputs", + "content": "This is a way to get every possible change. Changes came as non empty arrays: (onNodesChange) emits NodeChange[](onEdgesChange) emits EdgeChange[]" }, { "breadcrumbs": [ "Features", - "Custom handles" + "Handling changes" ], "pageType": "guide", - "title": "Custom handles", - "section": "Custom handles", - "route": "/features/custom-handles", - "fragment": "custom-handles", - "content": "I't important to note that template must be made with SVG." - }, - { - "breadcrumbs": [ - "Features", - "Custom handles" - ], - "pageType": "guide", - "title": "Custom handles", - "section": "Custom handles", - "route": "/features/custom-handles", - "fragment": "custom-handles", - "content": "Custom handles are not positioned automatically, but the library provides a useful template context property to position your handle.Custom handles know if validation of ConnectionSettings.validator() has failed or succeeded, so you can use state() signal in let-ctx to add some behavior based on validation result. Refer to this interface for let-ctx when crafting your handle template:" - }, - { - "breadcrumbs": [ - "Features", - "Connection validation" - ], - "pageType": "guide", - "title": "Connection validation", - "section": "Connection validation", - "route": "/features/connection-validation", - "fragment": "connection-validation", - "content": "ngx-vflow supports real-time synchronous validation of connections. Validation occurs when a user attempts to create a new edge. By default, every connection is valid, but you can provide a ConnectionSettings with a validatior callback where you specify the validation logic. For example, in this case, validation only passes connections from node 1 to node 2. If the validator returns false, the (onConnect) event won't be triggered because there is no valid connection." - }, - { - "breadcrumbs": [ - "Features", - "Custom background" - ], - "pageType": "guide", - "title": "Custom background", - "section": "Custom background", - "route": "/features/custom-background", - "fragment": "custom-background", - "content": "You're able to select background for your flow." - }, - { - "breadcrumbs": [ - "Features", - "Custom background" - ], - "pageType": "guide", - "title": "Custom background", - "section": "Solid color", - "route": "/features/custom-background", - "fragment": "solid-color", - "content": "To select a color, simply pass a color string it to the [background] input." - }, - { - "breadcrumbs": [ - "Features", - "Custom background" - ], - "pageType": "guide", - "title": "Custom background", - "section": "Dots pattern", - "route": "/features/custom-background", - "fragment": "dots-pattern", - "content": "To make dots pattern, pass an object to the [background] input according to DotsBackground interface" - }, - { - "breadcrumbs": [ - "Features", - "Curves" - ], - "pageType": "guide", - "title": "Curves", - "section": "Curves", - "route": "/features/curves", - "fragment": "curves", - "content": "It's possible to set curve for both the edges and connection." + "title": "Handling changes", + "section": "From filtered outputs", + "route": "/features/handling-changes", + "fragment": "from-filtered-outputs", + "content": "For your convenience, here is the filtering scheme for changes based on the (onNodesChange) and (onEdgesChange) events: (onNodesChange.[NodeChangeType]) - a list of node changes of a certain type(onNodesChange.[EdgeChangeType]) - a list of edge changes of a certain type(onNodesChange.[NodeChangeType].[Count]) - a list (many) or single (single) node change of a certain type(onEdgesChange.[EdgeChangeType].[Count]) - a list (many) or single (single) edge change of a certain type Where: List of all possible filter outputs:" }, { "breadcrumbs": [ @@ -554,362 +674,158 @@ { "breadcrumbs": [ "Features", - "Connection" - ], - "pageType": "guide", - "title": "Connection", - "section": "Connection", - "route": "/features/connection", - "fragment": "connection", - "content": " argument. " - }, - { - "breadcrumbs": [ - "Features", - "Connection" - ], - "pageType": "guide", - "title": "Connection", - "section": "Connection", - "route": "/features/connection", - "fragment": "connection", - "content": "Connection" - }, - { - "breadcrumbs": [ - "Features", - "Connection" - ], - "pageType": "guide", - "title": "Connection", - "section": "Connection", - "route": "/features/connection", - "fragment": "connection", - "content": " is similar to an " - }, - { - "breadcrumbs": [ - "Features", - "Connection" - ], - "pageType": "guide", - "title": "Connection", - "section": "Connection", - "route": "/features/connection", - "fragment": "connection", - "content": "Edge" - }, - { - "breadcrumbs": [ - "Features", - "Connection" - ], - "pageType": "guide", - "title": "Connection", - "section": "Connection", - "route": "/features/connection", - "fragment": "connection", - "content": ", but it doesn't exists in the flow, you need to \"convert\" it into a new " - }, - { - "breadcrumbs": [ - "Features", - "Connection" - ], - "pageType": "guide", - "title": "Connection", - "section": "Connection", - "route": "/features/connection", - "fragment": "connection", - "content": "Edge" - }, - { - "breadcrumbs": [ - "Features", - "Connection" - ], - "pageType": "guide", - "title": "Connection", - "section": "Connection", - "route": "/features/connection", - "fragment": "connection", - "content": "Update the " - }, - { - "breadcrumbs": [ - "Features", - "Connection" - ], - "pageType": "guide", - "title": "Connection", - "section": "Connection", - "route": "/features/connection", - "fragment": "connection", - "content": "Edge[]" - }, - { - "breadcrumbs": [ - "Features", - "Connection" - ], - "pageType": "guide", - "title": "Connection", - "section": "Connection", - "route": "/features/connection", - "fragment": "connection", - "content": " list with the new edge that was created from the " - }, - { - "breadcrumbs": [ - "Features", - "Connection" - ], - "pageType": "guide", - "title": "Connection", - "section": "Connection", - "route": "/features/connection", - "fragment": "connection", - "content": "Connection" - }, - { - "breadcrumbs": [ - "Features", - "Connection" - ], - "pageType": "guide", - "title": "Connection", - "section": "Connection", - "route": "/features/connection", - "fragment": "connection", - "content": "." - }, - { - "breadcrumbs": [ - "Features", - "Connection" - ], - "pageType": "guide", - "title": "Connection", - "section": "Strict connections", - "route": "/features/connection", - "fragment": "strict-connections", - "content": "In the default 'strict' mode of ConnectionSettings, edges are created from connections with strict adherence to the source and target types of the HandleComponent. This means connections can only be established in one direction based on these properties." - }, - { - "breadcrumbs": [ - "Features", - "Connection" - ], - "pageType": "guide", - "title": "Connection", - "section": "Loose connections", - "route": "/features/connection", - "fragment": "loose-connections", - "content": "This is the 'loose' mode of ConnectionSettings, where the flow ignores the handle type and allows any handle to connect with any other handle. In this mode, an id must be provided for the HandleComponent to function correctly." - }, - { - "breadcrumbs": [ - "Features", - "Multiple connection points" - ], - "pageType": "guide", - "title": "Multiple connection points", - "section": "Multiple connection points", - "route": "/features/multiple-connection-points", - "fragment": "multiple-connection-points", - "content": "Custom components provide the ability to control handles and their positions. All you need to do is take HandleComponent from library and place it somewhere in your custom node. This component automatically computes its position based on parent element's position." - }, - { - "breadcrumbs": [ - "Features", - "Default edges" - ], - "pageType": "guide", - "title": "Default edges", - "section": "Default edges", - "route": "/features/default-edges", - "fragment": "default-edges", - "content": "You can link nodes with edges. All you need to do is to create another Edge[] array and pass it to the vflow component. Each edge contains the id of the source and target nodes, and each edge must have its own id." - }, - { - "breadcrumbs": [ - "Features", - "Default nodes" - ], - "pageType": "guide", - "title": "Default nodes", - "section": "Default nodes", - "route": "/features/default-nodes", - "fragment": "default-nodes", - "content": "To get started, you just need to provide nodes array to vflow component." - }, - { - "breadcrumbs": [ - "Features", - "Draggables" - ], - "pageType": "guide", - "title": "Draggables", - "section": "Draggables", - "route": "/features/draggables", - "fragment": "draggables", - "content": "You can disable draggable behavior on certain nodes." - }, - { - "breadcrumbs": [ - "Features", - "Handling changes" + "Connection" ], "pageType": "guide", - "title": "Handling changes", - "section": "Handling changes", - "route": "/features/handling-changes", - "fragment": "handling-changes", - "content": "You can observe changes in the toasts." + "title": "Connection", + "section": "Connection", + "route": "/features/connection", + "fragment": "connection", + "content": " argument. " }, { "breadcrumbs": [ "Features", - "Handling changes" + "Connection" ], "pageType": "guide", - "title": "Handling changes", - "section": "Handling changes", - "route": "/features/handling-changes", - "fragment": "handling-changes", - "content": "You can observe various changes in nodes and edges. Types of NodeChanges: position - new node position after drag and dropadd - when node was createdremove - when node was removedselect - when node was selected (also triggers for unselected nodes) Types of EdgeChanges: add - when edge was createdremove - when edge was removedselect - when edge was selected (also triggers for unselected edges)detached - when edge became invisible due to the absence of the source or target node. Use this to delete such edges from the edges list There are a several ways to receive these changes:" + "title": "Connection", + "section": "Connection", + "route": "/features/connection", + "fragment": "connection", + "content": "Connection" }, { "breadcrumbs": [ "Features", - "Handling changes" + "Connection" ], "pageType": "guide", - "title": "Handling changes", - "section": "From (onNodesChange) and (onEdgesChange) outputs", - "route": "/features/handling-changes", - "fragment": "from-onnodeschange-and-onedgeschange-outputs", - "content": "This is a way to get every possible change. Changes came as non empty arrays: (onNodesChange) emits NodeChange[](onEdgesChange) emits EdgeChange[]" + "title": "Connection", + "section": "Connection", + "route": "/features/connection", + "fragment": "connection", + "content": " is similar to an " }, { "breadcrumbs": [ "Features", - "Handling changes" + "Connection" ], "pageType": "guide", - "title": "Handling changes", - "section": "From filtered outputs", - "route": "/features/handling-changes", - "fragment": "from-filtered-outputs", - "content": "For your convenience, here is the filtering scheme for changes based on the (onNodesChange) and (onEdgesChange) events: (onNodesChange.[NodeChangeType]) - a list of node changes of a certain type(onNodesChange.[EdgeChangeType]) - a list of edge changes of a certain type(onNodesChange.[NodeChangeType].[Count]) - a list (many) or single (single) node change of a certain type(onEdgesChange.[EdgeChangeType].[Count]) - a list (many) or single (single) edge change of a certain type Where: List of all possible filter outputs:" + "title": "Connection", + "section": "Connection", + "route": "/features/connection", + "fragment": "connection", + "content": "Edge" }, { "breadcrumbs": [ "Features", - "Selecting" + "Connection" ], "pageType": "guide", - "title": "Selecting", - "section": "Selecting", - "route": "/features/selecting", - "fragment": "selecting", - "content": "Nodes and edges can be selected!" + "title": "Connection", + "section": "Connection", + "route": "/features/connection", + "fragment": "connection", + "content": ", but it doesn't exists in the flow, you need to \"convert\" it into a new " }, { "breadcrumbs": [ "Features", - "Selecting" + "Connection" ], "pageType": "guide", - "title": "Selecting", - "section": "Selecting", - "route": "/features/selecting", - "fragment": "selecting", - "content": "Default nodes and edges are selectable by default; just click and see that one is selected. Custom nodes and edges are not selectable by default, you need to mark the element that triggers selection with the " + "title": "Connection", + "section": "Connection", + "route": "/features/connection", + "fragment": "connection", + "content": "Edge" }, { "breadcrumbs": [ "Features", - "Selecting" + "Connection" ], "pageType": "guide", - "title": "Selecting", - "section": "Selecting", - "route": "/features/selecting", - "fragment": "selecting", - "content": "selectable" + "title": "Connection", + "section": "Connection", + "route": "/features/connection", + "fragment": "connection", + "content": "Update the " }, { "breadcrumbs": [ "Features", - "Selecting" + "Connection" ], "pageType": "guide", - "title": "Selecting", - "section": "Selecting", - "route": "/features/selecting", - "fragment": "selecting", - "content": " directive." + "title": "Connection", + "section": "Connection", + "route": "/features/connection", + "fragment": "connection", + "content": "Edge[]" }, { "breadcrumbs": [ "Features", - "Selecting" + "Connection" ], "pageType": "guide", - "title": "Selecting", - "section": "Selecting", - "route": "/features/selecting", - "fragment": "selecting", - "content": "Both custom nodes and edges have the selected() signal in their template context for applying styles based on this state." + "title": "Connection", + "section": "Connection", + "route": "/features/connection", + "fragment": "connection", + "content": " list with the new edge that was created from the " }, { "breadcrumbs": [ "Features", - "Selecting" + "Connection" ], "pageType": "guide", - "title": "Selecting", - "section": "Disable selecting", - "route": "/features/selecting", - "fragment": "disable-selecting", - "content": "You can pass [entitiesSelectable]=\"false\" to " + "title": "Connection", + "section": "Connection", + "route": "/features/connection", + "fragment": "connection", + "content": "Connection" }, { "breadcrumbs": [ "Features", - "Selecting" + "Connection" ], "pageType": "guide", - "title": "Selecting", - "section": "Disable selecting", - "route": "/features/selecting", - "fragment": "disable-selecting", - "content": " if you want disable selecting for whole flow." + "title": "Connection", + "section": "Connection", + "route": "/features/connection", + "fragment": "connection", + "content": "." }, { "breadcrumbs": [ "Features", - "Markers" + "Connection" ], "pageType": "guide", - "title": "Markers", - "section": "Markers", - "route": "/features/markers", - "fragment": "markers", - "content": "You can create markers for both edges and connections. Edges: Specify start and end markers for corresponding parts of the edge. Currently, markers are limited to two types: arrow and arrow-closed.Connections: You can specify an end marker using the marker property in ConnectionSettings." + "title": "Connection", + "section": "Strict connections", + "route": "/features/connection", + "fragment": "strict-connections", + "content": "In the default 'strict' mode of ConnectionSettings, edges are created from connections with strict adherence to the source and target types of the HandleComponent. This means connections can only be established in one direction based on these properties." }, { "breadcrumbs": [ - "Workshops", - "Drag and drop nodes" + "Features", + "Connection" ], "pageType": "guide", - "title": "Drag and drop nodes", - "section": "Drag and drop nodes", - "route": "/workshops/drag-and-drop-nodes", - "fragment": "drag-and-drop-nodes", - "content": "This workshop will show you how to implement dynamic node creation with basic drag and drop implementation. This implementation uses documentPointToFlowPoint() method of VflowComponent that translates document coordinate to vflow coordinate." + "title": "Connection", + "section": "Loose connections", + "route": "/features/connection", + "fragment": "loose-connections", + "content": "This is the 'loose' mode of ConnectionSettings, where the flow ignores the handle type and allows any handle to connect with any other handle. In this mode, an id must be provided for the HandleComponent to function correctly." }, { "breadcrumbs": [ @@ -1349,11 +1265,143 @@ "Custom nodes" ], "pageType": "guide", - "title": "Custom nodes", - "section": "Handling events", - "route": "/features/custom-nodes", - "fragment": "handling-events", - "content": "The shape of this accumulator-event contains following useful info: The Library also includes ComponentNodeEvent helper type to get type-safe event, where you just need to pass an array of your custom components in generic, and this type will infer proper types for eventName and eventPayload:" + "title": "Custom nodes", + "section": "Handling events", + "route": "/features/custom-nodes", + "fragment": "handling-events", + "content": "The shape of this accumulator-event contains following useful info: The Library also includes ComponentNodeEvent helper type to get type-safe event, where you just need to pass an array of your custom components in generic, and this type will infer proper types for eventName and eventPayload:" + }, + { + "breadcrumbs": [ + "Features", + "Dynamic vs Static nodes" + ], + "pageType": "guide", + "title": "Dynamic vs Static nodes", + "section": "Dynamic vs Static nodes", + "route": "/features/dynamic-vs-static-nodes", + "fragment": "dynamic-vs-static-nodes", + "content": "You can't mix Node and DynamicNode in a single array so you have to choose what you want to use" + }, + { + "breadcrumbs": [ + "Features", + "Dynamic vs Static nodes" + ], + "pageType": "guide", + "title": "Dynamic vs Static nodes", + "section": "Dynamic vs Static nodes", + "route": "/features/dynamic-vs-static-nodes", + "fragment": "dynamic-vs-static-nodes", + "content": "For more complex scenarios, you might need to have a fine-grained control on specific nodes. In such cases, you can use DynamicNode, which is essentially a Node with properties with same names but with a WritableSignal type. This offers the following benefits: Granular updates to specific nodes with efficient rendering (only the affected node is re-rendered).Access to the updated state of a node directly (without listening events). For instance, if a point changes due to drag-and-drop, the node's point() signal will reflect the new position.Additional benefits of signals, such as executing actions within an effect when a dynamic property changes." + }, + { + "breadcrumbs": [ + "Features", + "Dynamic vs Static nodes" + ], + "pageType": "guide", + "title": "Dynamic vs Static nodes", + "section": "Dynamic vs Static nodes", + "route": "/features/dynamic-vs-static-nodes", + "fragment": "dynamic-vs-static-nodes", + "content": "Not all properties of DynamicNode are WritableSignal, for instance an id must be static, so it remains of a regular string type" + }, + { + "breadcrumbs": [ + "Features", + "Dynamic vs Static nodes" + ], + "pageType": "guide", + "title": "Dynamic vs Static nodes", + "section": "Code example", + "route": "/features/dynamic-vs-static-nodes", + "fragment": "code-example", + "content": "If you want to change a node's position programmatically, you would:" + }, + { + "breadcrumbs": [ + "Features", + "Dynamic vs Static nodes" + ], + "pageType": "guide", + "title": "Dynamic vs Static nodes", + "section": "See also", + "route": "/features/dynamic-vs-static-nodes", + "fragment": "see-also", + "content": "D3 Force" + }, + { + "breadcrumbs": [ + "Features", + "Default edges" + ], + "pageType": "guide", + "title": "Default edges", + "section": "Default edges", + "route": "/features/default-edges", + "fragment": "default-edges", + "content": "You can link nodes with edges. All you need to do is to create another Edge[] array and pass it to the vflow component. Each edge contains the id of the source and target nodes, and each edge must have its own id." + }, + { + "breadcrumbs": [ + "Features", + "Markers" + ], + "pageType": "guide", + "title": "Markers", + "section": "Markers", + "route": "/features/markers", + "fragment": "markers", + "content": "You can create markers for both edges and connections. Edges: Specify start and end markers for corresponding parts of the edge. Currently, markers are limited to two types: arrow and arrow-closed.Connections: You can specify an end marker using the marker property in ConnectionSettings." + }, + { + "breadcrumbs": [ + "Features", + "Labels" + ], + "pageType": "guide", + "title": "Labels", + "section": "Labels", + "route": "/features/labels", + "fragment": "labels", + "content": "You can attach labels to edges by providing the edgeLabels property to the needed Edges. There are three slots available for labels on an edge: start, center, end. The label is only of the html-template type, so you have to provide " + }, + { + "breadcrumbs": [ + "Features", + "Labels" + ], + "pageType": "guide", + "title": "Labels", + "section": "Labels", + "route": "/features/labels", + "fragment": "labels", + "content": " inside vflow." + }, + { + "breadcrumbs": [ + "Features", + "Labels" + ], + "pageType": "guide", + "title": "Labels", + "section": "Context", + "route": "/features/labels", + "fragment": "context", + "content": "You may access some data for label through let-ctx according to this interface." + }, + { + "breadcrumbs": [ + "Workshops", + "Delete selected" + ], + "pageType": "guide", + "title": "Delete selected", + "section": "Delete selected", + "route": "/workshops/delete-selected", + "fragment": "delete-selected", + "content": "This workshop will show you how to implement deletion of nodes and edges." }, { "breadcrumbs": [ @@ -1379,101 +1427,126 @@ "fragment": "fixed-size", "content": "vflow can take fixed space if you pass [view]=\"[600, 600]\" input, where first item of array is width (in pixels), and the second is height (in pixels)." }, + { + "breadcrumbs": [ + "Workshops", + "Drag and drop nodes" + ], + "pageType": "guide", + "title": "Drag and drop nodes", + "section": "Drag and drop nodes", + "route": "/workshops/drag-and-drop-nodes", + "fragment": "drag-and-drop-nodes", + "content": "This workshop will show you how to implement dynamic node creation with basic drag and drop implementation. This implementation uses documentPointToFlowPoint() method of VflowComponent that translates document coordinate to vflow coordinate." + }, { "breadcrumbs": [ "Features", - "Labels" + "Selecting" ], "pageType": "guide", - "title": "Labels", - "section": "Labels", - "route": "/features/labels", - "fragment": "labels", - "content": "You can attach labels to edges by providing the edgeLabels property to the needed Edges. There are three slots available for labels on an edge: start, center, end. The label is only of the html-template type, so you have to provide " + "title": "Selecting", + "section": "Selecting", + "route": "/features/selecting", + "fragment": "selecting", + "content": "Nodes and edges can be selected!" }, { "breadcrumbs": [ "Features", - "Labels" + "Selecting" ], "pageType": "guide", - "title": "Labels", - "section": "Labels", - "route": "/features/labels", - "fragment": "labels", - "content": " inside vflow." + "title": "Selecting", + "section": "Selecting", + "route": "/features/selecting", + "fragment": "selecting", + "content": "Default nodes and edges are selectable by default; just click and see that one is selected. Custom nodes and edges are not selectable by default, you need to mark the element that triggers selection with the " }, { "breadcrumbs": [ "Features", - "Labels" + "Selecting" ], "pageType": "guide", - "title": "Labels", - "section": "Context", - "route": "/features/labels", - "fragment": "context", - "content": "You may access some data for label through let-ctx according to this interface." + "title": "Selecting", + "section": "Selecting", + "route": "/features/selecting", + "fragment": "selecting", + "content": "selectable" }, { "breadcrumbs": [ - "Workshops", - "Delete selected" + "Features", + "Selecting" ], "pageType": "guide", - "title": "Delete selected", - "section": "Delete selected", - "route": "/workshops/delete-selected", - "fragment": "delete-selected", - "content": "This workshop will show you how to implement deletion of nodes and edges." + "title": "Selecting", + "section": "Selecting", + "route": "/features/selecting", + "fragment": "selecting", + "content": " directive." }, { "breadcrumbs": [ - "Getting Started", - "Principles" + "Features", + "Selecting" ], "pageType": "guide", - "title": "Principles", - "section": "Principles", - "route": "/getting-started/principles", - "fragment": "principles", - "content": "This page contains a list of general principles that impact feature implementation. No hidden mutations of your data. For example, the library does not modify any of the Node or Edge objects you pass in as inputs. Instead, it creates internal models around these entities and operates on them. Any changes to the passed entities can be observed through events.This principle also implies that you are responsible for managing invalid data. For instance, if you delete a node, the edges corresponding to this node will not be deleted automatically. However, the library will notify you about detached edges so that you can easily delete them." + "title": "Selecting", + "section": "Selecting", + "route": "/features/selecting", + "fragment": "selecting", + "content": "Both custom nodes and edges have the selected() signal in their template context for applying styles based on this state." }, { "breadcrumbs": [ - "Getting Started", - "What is ngx-vflow" + "Features", + "Selecting" ], "pageType": "guide", - "title": "What is ngx-vflow", - "section": "What is ngx-vflow", - "route": "/getting-started/what-is-ngx-vflow", - "fragment": "what-is-ngx-vflow", - "content": "ngx-vflow is an Angular library for creating node-based applications. It aims to assist you in building anything from a static diagram to a visual editor. You can utilize the default design or apply your own by customizing everything using familiar technologies." + "title": "Selecting", + "section": "Disable selecting", + "route": "/features/selecting", + "fragment": "disable-selecting", + "content": "You can pass [entitiesSelectable]=\"false\" to " }, { "breadcrumbs": [ - "Getting Started", - "What is ngx-vflow" + "Features", + "Selecting" ], "pageType": "guide", - "title": "What is ngx-vflow", - "section": "Main features", - "route": "/getting-started/what-is-ngx-vflow", - "fragment": "main-features", - "content": "Easy to use: Just describe your flow with a simple API; all of the heavy lifting, such as dragging, zooming, and curve math, is handled by the library for you. Customizable: There is a default design for basic usage, and you can also customize nodes with good old HTML and CSS. Other entities such as edges, connection lines, and handles are also customizable, but it will require a little SVG knowledge. Great performance: Angular signals are the heart and soul of ngx-vflow, which are performant by default, so you shouldn't worry about performance even with large flows. Zoneless: Does not require zone.js" + "title": "Selecting", + "section": "Disable selecting", + "route": "/features/selecting", + "fragment": "disable-selecting", + "content": " if you want disable selecting for whole flow." }, { "breadcrumbs": [ - "Getting Started", - "Roadmap" + "Features", + "Multiple connection points" ], "pageType": "guide", - "title": "Roadmap", - "section": "Roadmap", - "route": "/getting-started/roadmap", - "fragment": "roadmap", - "content": "This is a roadmap for ngx-vflow: subflowsmore customization to default nodesimprove consistency across browsers (mainly appeals to Safari)improve documentationmore curvesplugin systemminimapnode rotation/resizingUI controls for flowsupport for layout engines (Dagree, etc.)more complex background (patterns)more events for different actionsmodal system for context menuHTML-based renderer as alternative to current SVG-based rendererExperimental canvas/webgl renderer for insane performance" + "title": "Multiple connection points", + "section": "Multiple connection points", + "route": "/features/multiple-connection-points", + "fragment": "multiple-connection-points", + "content": "Custom components provide the ability to control handles and their positions. All you need to do is take HandleComponent from library and place it somewhere in your custom node. This component automatically computes its position based on parent element's position." + }, + { + "breadcrumbs": [ + "Workshops", + "Layout", + "D3 Force" + ], + "pageType": "guide", + "title": "D3 Force", + "section": "D3 Force", + "route": "/workshops/layout/force", + "fragment": "d3-force", + "content": "This is a simple example of using the d3-force layout package." }, { "breadcrumbs": [ @@ -1512,6 +1585,102 @@ "route": "/api/ngx-vflow/classes/VflowModule", "fragment": "vflowmodule" }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "isStaticNode" + ], + "pageType": "api", + "title": "isStaticNode", + "section": "isStaticNode", + "route": "/api/ngx-vflow/functions/isStaticNode", + "fragment": "isstaticnode" + }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "isDynamicNode" + ], + "pageType": "api", + "title": "isDynamicNode", + "section": "isDynamicNode", + "route": "/api/ngx-vflow/functions/isDynamicNode", + "fragment": "isdynamicnode" + }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "isComponentStaticNode" + ], + "pageType": "api", + "title": "isComponentStaticNode", + "section": "isComponentStaticNode", + "route": "/api/ngx-vflow/functions/isComponentStaticNode", + "fragment": "iscomponentstaticnode" + }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "isComponentDynamicNode" + ], + "pageType": "api", + "title": "isComponentDynamicNode", + "section": "isComponentDynamicNode", + "route": "/api/ngx-vflow/functions/isComponentDynamicNode", + "fragment": "iscomponentdynamicnode" + }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "isTemplateStaticNode" + ], + "pageType": "api", + "title": "isTemplateStaticNode", + "section": "isTemplateStaticNode", + "route": "/api/ngx-vflow/functions/isTemplateStaticNode", + "fragment": "istemplatestaticnode" + }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "isTemplateDynamicNode" + ], + "pageType": "api", + "title": "isTemplateDynamicNode", + "section": "isTemplateDynamicNode", + "route": "/api/ngx-vflow/functions/isTemplateDynamicNode", + "fragment": "istemplatedynamicnode" + }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "isDefaultStaticNode" + ], + "pageType": "api", + "title": "isDefaultStaticNode", + "section": "isDefaultStaticNode", + "route": "/api/ngx-vflow/functions/isDefaultStaticNode", + "fragment": "isdefaultstaticnode" + }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "isDefaultDynamicNode" + ], + "pageType": "api", + "title": "isDefaultDynamicNode", + "section": "isDefaultDynamicNode", + "route": "/api/ngx-vflow/functions/isDefaultDynamicNode", + "fragment": "isdefaultdynamicnode" + }, { "breadcrumbs": [ "API", @@ -1524,6 +1693,18 @@ "route": "/api/ngx-vflow/type-aliases/Node", "fragment": "node" }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "DynamicNode" + ], + "pageType": "api", + "title": "DynamicNode", + "section": "DynamicNode", + "route": "/api/ngx-vflow/type-aliases/DynamicNode", + "fragment": "dynamicnode" + }, { "breadcrumbs": [ "API", @@ -1536,6 +1717,18 @@ "route": "/api/ngx-vflow/interfaces/SharedNode", "fragment": "sharednode" }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "SharedDynamicNode" + ], + "pageType": "api", + "title": "SharedDynamicNode", + "section": "SharedDynamicNode", + "route": "/api/ngx-vflow/interfaces/SharedDynamicNode", + "fragment": "shareddynamicnode" + }, { "breadcrumbs": [ "API", @@ -1548,6 +1741,18 @@ "route": "/api/ngx-vflow/interfaces/DefaultNode", "fragment": "defaultnode" }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "DefaultDynamicNode" + ], + "pageType": "api", + "title": "DefaultDynamicNode", + "section": "DefaultDynamicNode", + "route": "/api/ngx-vflow/interfaces/DefaultDynamicNode", + "fragment": "defaultdynamicnode" + }, { "breadcrumbs": [ "API", @@ -1560,6 +1765,18 @@ "route": "/api/ngx-vflow/interfaces/HtmlTemplateNode", "fragment": "htmltemplatenode" }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "HtmlTemplateDynamicNode" + ], + "pageType": "api", + "title": "HtmlTemplateDynamicNode", + "section": "HtmlTemplateDynamicNode", + "route": "/api/ngx-vflow/interfaces/HtmlTemplateDynamicNode", + "fragment": "htmltemplatedynamicnode" + }, { "breadcrumbs": [ "API", @@ -1572,6 +1789,18 @@ "route": "/api/ngx-vflow/interfaces/ComponentNode", "fragment": "componentnode" }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "ComponentDynamicNode" + ], + "pageType": "api", + "title": "ComponentDynamicNode", + "section": "ComponentDynamicNode", + "route": "/api/ngx-vflow/interfaces/ComponentDynamicNode", + "fragment": "componentdynamicnode" + }, { "breadcrumbs": [ "API", @@ -2463,6 +2692,44 @@ "fragment": "properties", "content": "Signal with selected state of node" }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "CustomDynamicNodeComponent" + ], + "pageType": "api", + "title": "CustomDynamicNodeComponent", + "section": "CustomDynamicNodeComponent", + "route": "/api/ngx-vflow/classes/CustomDynamicNodeComponent", + "fragment": "customdynamicnodecomponent" + }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "CustomDynamicNodeComponent" + ], + "pageType": "api", + "title": "CustomDynamicNodeComponent", + "section": "Properties", + "route": "/api/ngx-vflow/classes/CustomDynamicNodeComponent", + "fragment": "properties", + "content": "Reference to node bound to this component" + }, + { + "breadcrumbs": [ + "API", + "ngx-vflow", + "CustomDynamicNodeComponent" + ], + "pageType": "api", + "title": "CustomDynamicNodeComponent", + "section": "Properties", + "route": "/api/ngx-vflow/classes/CustomDynamicNodeComponent", + "fragment": "properties", + "content": "Signal with selected state of node" + }, { "breadcrumbs": [ "API", diff --git a/assets/ng-doc/keywords.json b/assets/ng-doc/keywords.json index 3d3c2e0b..70724c4a 100644 --- a/assets/ng-doc/keywords.json +++ b/assets/ng-doc/keywords.json @@ -1 +1 @@ -{"ViewportState":{"title":"ViewportState","path":"/api/ngx-vflow/interfaces/ViewportState","type":"Interface","isCodeLink":true},"ViewportState#viewportstate":{"title":"ViewportState [ViewportState]","path":"/api/ngx-vflow/interfaces/ViewportState#viewportstate","type":"Interface","isCodeLink":true},"ViewportState#properties":{"title":"ViewportState [Properties]","path":"/api/ngx-vflow/interfaces/ViewportState#properties","type":"Interface","isCodeLink":true},"ViewportState.x":{"title":"ViewportState.x","path":"/api/ngx-vflow/interfaces/ViewportState#x","type":"Interface","isCodeLink":true},"ViewportState.y":{"title":"ViewportState.y","path":"/api/ngx-vflow/interfaces/ViewportState#y","type":"Interface","isCodeLink":true},"ViewportState.zoom":{"title":"ViewportState.zoom","path":"/api/ngx-vflow/interfaces/ViewportState#zoom","type":"Interface","isCodeLink":true},"VflowModule":{"title":"VflowModule","path":"/api/ngx-vflow/classes/VflowModule","type":"NgModule","isCodeLink":true},"VflowModule#vflowmodule":{"title":"VflowModule [VflowModule]","path":"/api/ngx-vflow/classes/VflowModule#vflowmodule","type":"NgModule","isCodeLink":true},"Node":{"title":"Node","path":"/api/ngx-vflow/type-aliases/Node","type":"TypeAlias","isCodeLink":true},"Node#node":{"title":"Node [Node]","path":"/api/ngx-vflow/type-aliases/Node#node","type":"TypeAlias","isCodeLink":true},"Node#presentation":{"title":"Node [Presentation]","path":"/api/ngx-vflow/type-aliases/Node#presentation","type":"TypeAlias","isCodeLink":true},"SharedNode":{"title":"SharedNode","path":"/api/ngx-vflow/interfaces/SharedNode","type":"Interface","isCodeLink":true},"SharedNode#sharednode":{"title":"SharedNode [SharedNode]","path":"/api/ngx-vflow/interfaces/SharedNode#sharednode","type":"Interface","isCodeLink":true},"SharedNode#properties":{"title":"SharedNode [Properties]","path":"/api/ngx-vflow/interfaces/SharedNode#properties","type":"Interface","isCodeLink":true},"SharedNode.draggable":{"title":"SharedNode.draggable","path":"/api/ngx-vflow/interfaces/SharedNode#draggable","type":"Interface","isCodeLink":true},"SharedNode.id":{"title":"SharedNode.id","path":"/api/ngx-vflow/interfaces/SharedNode#id","type":"Interface","isCodeLink":true},"SharedNode.point":{"title":"SharedNode.point","path":"/api/ngx-vflow/interfaces/SharedNode#point","type":"Interface","isCodeLink":true},"DefaultNode":{"title":"DefaultNode","path":"/api/ngx-vflow/interfaces/DefaultNode","type":"Interface","isCodeLink":true},"DefaultNode#defaultnode":{"title":"DefaultNode [DefaultNode]","path":"/api/ngx-vflow/interfaces/DefaultNode#defaultnode","type":"Interface","isCodeLink":true},"DefaultNode#properties":{"title":"DefaultNode [Properties]","path":"/api/ngx-vflow/interfaces/DefaultNode#properties","type":"Interface","isCodeLink":true},"DefaultNode.height":{"title":"DefaultNode.height","path":"/api/ngx-vflow/interfaces/DefaultNode#height","type":"Interface","isCodeLink":true},"DefaultNode.text":{"title":"DefaultNode.text","path":"/api/ngx-vflow/interfaces/DefaultNode#text","type":"Interface","isCodeLink":true},"DefaultNode.type":{"title":"DefaultNode.type","path":"/api/ngx-vflow/interfaces/DefaultNode#type","type":"Interface","isCodeLink":true},"DefaultNode.width":{"title":"DefaultNode.width","path":"/api/ngx-vflow/interfaces/DefaultNode#width","type":"Interface","isCodeLink":true},"HtmlTemplateNode":{"title":"HtmlTemplateNode","path":"/api/ngx-vflow/interfaces/HtmlTemplateNode","type":"Interface","isCodeLink":true},"HtmlTemplateNode#htmltemplatenode":{"title":"HtmlTemplateNode [HtmlTemplateNode]","path":"/api/ngx-vflow/interfaces/HtmlTemplateNode#htmltemplatenode","type":"Interface","isCodeLink":true},"HtmlTemplateNode#properties":{"title":"HtmlTemplateNode [Properties]","path":"/api/ngx-vflow/interfaces/HtmlTemplateNode#properties","type":"Interface","isCodeLink":true},"HtmlTemplateNode.data":{"title":"HtmlTemplateNode.data","path":"/api/ngx-vflow/interfaces/HtmlTemplateNode#data","type":"Interface","isCodeLink":true},"HtmlTemplateNode.type":{"title":"HtmlTemplateNode.type","path":"/api/ngx-vflow/interfaces/HtmlTemplateNode#type","type":"Interface","isCodeLink":true},"ComponentNode":{"title":"ComponentNode","path":"/api/ngx-vflow/interfaces/ComponentNode","type":"Interface","isCodeLink":true},"ComponentNode#componentnode":{"title":"ComponentNode [ComponentNode]","path":"/api/ngx-vflow/interfaces/ComponentNode#componentnode","type":"Interface","isCodeLink":true},"ComponentNode#properties":{"title":"ComponentNode [Properties]","path":"/api/ngx-vflow/interfaces/ComponentNode#properties","type":"Interface","isCodeLink":true},"ComponentNode.data":{"title":"ComponentNode.data","path":"/api/ngx-vflow/interfaces/ComponentNode#data","type":"Interface","isCodeLink":true},"ComponentNode.type":{"title":"ComponentNode.type","path":"/api/ngx-vflow/interfaces/ComponentNode#type","type":"Interface","isCodeLink":true},"Point":{"title":"Point","path":"/api/ngx-vflow/interfaces/Point","type":"Interface","isCodeLink":true},"Point#point":{"title":"Point [Point]","path":"/api/ngx-vflow/interfaces/Point#point","type":"Interface","isCodeLink":true},"Point#properties":{"title":"Point [Properties]","path":"/api/ngx-vflow/interfaces/Point#properties","type":"Interface","isCodeLink":true},"Point.x":{"title":"Point.x","path":"/api/ngx-vflow/interfaces/Point#x","type":"Interface","isCodeLink":true},"Point.y":{"title":"Point.y","path":"/api/ngx-vflow/interfaces/Point#y","type":"Interface","isCodeLink":true},"EdgeType":{"title":"EdgeType","path":"/api/ngx-vflow/type-aliases/EdgeType","type":"TypeAlias","isCodeLink":true},"EdgeType#edgetype":{"title":"EdgeType [EdgeType]","path":"/api/ngx-vflow/type-aliases/EdgeType#edgetype","type":"TypeAlias","isCodeLink":true},"EdgeType#presentation":{"title":"EdgeType [Presentation]","path":"/api/ngx-vflow/type-aliases/EdgeType#presentation","type":"TypeAlias","isCodeLink":true},"Curve":{"title":"Curve","path":"/api/ngx-vflow/type-aliases/Curve","type":"TypeAlias","isCodeLink":true},"Curve#curve":{"title":"Curve [Curve]","path":"/api/ngx-vflow/type-aliases/Curve#curve","type":"TypeAlias","isCodeLink":true},"Curve#presentation":{"title":"Curve [Presentation]","path":"/api/ngx-vflow/type-aliases/Curve#presentation","type":"TypeAlias","isCodeLink":true},"Edge":{"title":"Edge","path":"/api/ngx-vflow/interfaces/Edge","type":"Interface","isCodeLink":true},"Edge#edge":{"title":"Edge [Edge]","path":"/api/ngx-vflow/interfaces/Edge#edge","type":"Interface","isCodeLink":true},"Edge#properties":{"title":"Edge [Properties]","path":"/api/ngx-vflow/interfaces/Edge#properties","type":"Interface","isCodeLink":true},"Edge.curve":{"title":"Edge.curve","path":"/api/ngx-vflow/interfaces/Edge#curve","type":"Interface","isCodeLink":true},"Edge.data":{"title":"Edge.data","path":"/api/ngx-vflow/interfaces/Edge#data","type":"Interface","isCodeLink":true},"Edge.edgeLabels":{"title":"Edge.edgeLabels","path":"/api/ngx-vflow/interfaces/Edge#edgeLabels","type":"Interface","isCodeLink":true},"Edge.id":{"title":"Edge.id","path":"/api/ngx-vflow/interfaces/Edge#id","type":"Interface","isCodeLink":true},"Edge.markers":{"title":"Edge.markers","path":"/api/ngx-vflow/interfaces/Edge#markers","type":"Interface","isCodeLink":true},"Edge.source":{"title":"Edge.source","path":"/api/ngx-vflow/interfaces/Edge#source","type":"Interface","isCodeLink":true},"Edge.sourceHandle":{"title":"Edge.sourceHandle","path":"/api/ngx-vflow/interfaces/Edge#sourceHandle","type":"Interface","isCodeLink":true},"Edge.target":{"title":"Edge.target","path":"/api/ngx-vflow/interfaces/Edge#target","type":"Interface","isCodeLink":true},"Edge.targetHandle":{"title":"Edge.targetHandle","path":"/api/ngx-vflow/interfaces/Edge#targetHandle","type":"Interface","isCodeLink":true},"Edge.type":{"title":"Edge.type","path":"/api/ngx-vflow/interfaces/Edge#type","type":"Interface","isCodeLink":true},"EdgeLabelType":{"title":"EdgeLabelType","path":"/api/ngx-vflow/type-aliases/EdgeLabelType","type":"TypeAlias","isCodeLink":true},"EdgeLabelType#edgelabeltype":{"title":"EdgeLabelType [EdgeLabelType]","path":"/api/ngx-vflow/type-aliases/EdgeLabelType#edgelabeltype","type":"TypeAlias","isCodeLink":true},"EdgeLabelType#presentation":{"title":"EdgeLabelType [Presentation]","path":"/api/ngx-vflow/type-aliases/EdgeLabelType#presentation","type":"TypeAlias","isCodeLink":true},"EdgeLabelPosition":{"title":"EdgeLabelPosition","path":"/api/ngx-vflow/type-aliases/EdgeLabelPosition","type":"TypeAlias","isCodeLink":true},"EdgeLabelPosition#edgelabelposition":{"title":"EdgeLabelPosition [EdgeLabelPosition]","path":"/api/ngx-vflow/type-aliases/EdgeLabelPosition#edgelabelposition","type":"TypeAlias","isCodeLink":true},"EdgeLabelPosition#presentation":{"title":"EdgeLabelPosition [Presentation]","path":"/api/ngx-vflow/type-aliases/EdgeLabelPosition#presentation","type":"TypeAlias","isCodeLink":true},"EdgeLabel":{"title":"EdgeLabel","path":"/api/ngx-vflow/interfaces/EdgeLabel","type":"Interface","isCodeLink":true},"EdgeLabel#edgelabel":{"title":"EdgeLabel [EdgeLabel]","path":"/api/ngx-vflow/interfaces/EdgeLabel#edgelabel","type":"Interface","isCodeLink":true},"EdgeLabel#properties":{"title":"EdgeLabel [Properties]","path":"/api/ngx-vflow/interfaces/EdgeLabel#properties","type":"Interface","isCodeLink":true},"EdgeLabel.data":{"title":"EdgeLabel.data","path":"/api/ngx-vflow/interfaces/EdgeLabel#data","type":"Interface","isCodeLink":true},"EdgeLabel.type":{"title":"EdgeLabel.type","path":"/api/ngx-vflow/interfaces/EdgeLabel#type","type":"Interface","isCodeLink":true},"Connection":{"title":"Connection","path":"/api/ngx-vflow/interfaces/Connection","type":"Interface","isCodeLink":true},"Connection#connection":{"title":"Connection [Connection]","path":"/api/ngx-vflow/interfaces/Connection#connection","type":"Interface","isCodeLink":true},"Connection#properties":{"title":"Connection [Properties]","path":"/api/ngx-vflow/interfaces/Connection#properties","type":"Interface","isCodeLink":true},"Connection.source":{"title":"Connection.source","path":"/api/ngx-vflow/interfaces/Connection#source","type":"Interface","isCodeLink":true},"Connection.sourceHandle":{"title":"Connection.sourceHandle","path":"/api/ngx-vflow/interfaces/Connection#sourceHandle","type":"Interface","isCodeLink":true},"Connection.target":{"title":"Connection.target","path":"/api/ngx-vflow/interfaces/Connection#target","type":"Interface","isCodeLink":true},"Connection.targetHandle":{"title":"Connection.targetHandle","path":"/api/ngx-vflow/interfaces/Connection#targetHandle","type":"Interface","isCodeLink":true},"ConnectionValidatorFn":{"title":"ConnectionValidatorFn","path":"/api/ngx-vflow/type-aliases/ConnectionValidatorFn","type":"TypeAlias","isCodeLink":true},"ConnectionValidatorFn#connectionvalidatorfn":{"title":"ConnectionValidatorFn [ConnectionValidatorFn]","path":"/api/ngx-vflow/type-aliases/ConnectionValidatorFn#connectionvalidatorfn","type":"TypeAlias","isCodeLink":true},"ConnectionValidatorFn#presentation":{"title":"ConnectionValidatorFn [Presentation]","path":"/api/ngx-vflow/type-aliases/ConnectionValidatorFn#presentation","type":"TypeAlias","isCodeLink":true},"ConnectionSettings":{"title":"ConnectionSettings","path":"/api/ngx-vflow/interfaces/ConnectionSettings","type":"Interface","isCodeLink":true},"ConnectionSettings#connectionsettings":{"title":"ConnectionSettings [ConnectionSettings]","path":"/api/ngx-vflow/interfaces/ConnectionSettings#connectionsettings","type":"Interface","isCodeLink":true},"ConnectionSettings#properties":{"title":"ConnectionSettings [Properties]","path":"/api/ngx-vflow/interfaces/ConnectionSettings#properties","type":"Interface","isCodeLink":true},"ConnectionSettings.curve":{"title":"ConnectionSettings.curve","path":"/api/ngx-vflow/interfaces/ConnectionSettings#curve","type":"Interface","isCodeLink":true},"ConnectionSettings.marker":{"title":"ConnectionSettings.marker","path":"/api/ngx-vflow/interfaces/ConnectionSettings#marker","type":"Interface","isCodeLink":true},"ConnectionSettings.mode":{"title":"ConnectionSettings.mode","path":"/api/ngx-vflow/interfaces/ConnectionSettings#mode","type":"Interface","isCodeLink":true},"ConnectionSettings.type":{"title":"ConnectionSettings.type","path":"/api/ngx-vflow/interfaces/ConnectionSettings#type","type":"Interface","isCodeLink":true},"ConnectionSettings.validator":{"title":"ConnectionSettings.validator","path":"/api/ngx-vflow/interfaces/ConnectionSettings#validator","type":"Interface","isCodeLink":true},"HandlePositions":{"title":"HandlePositions","path":"/api/ngx-vflow/interfaces/HandlePositions","type":"Interface","isCodeLink":true},"HandlePositions#handlepositions":{"title":"HandlePositions [HandlePositions]","path":"/api/ngx-vflow/interfaces/HandlePositions#handlepositions","type":"Interface","isCodeLink":true},"HandlePositions#properties":{"title":"HandlePositions [Properties]","path":"/api/ngx-vflow/interfaces/HandlePositions#properties","type":"Interface","isCodeLink":true},"HandlePositions.source":{"title":"HandlePositions.source","path":"/api/ngx-vflow/interfaces/HandlePositions#source","type":"Interface","isCodeLink":true},"HandlePositions.target":{"title":"HandlePositions.target","path":"/api/ngx-vflow/interfaces/HandlePositions#target","type":"Interface","isCodeLink":true},"Marker":{"title":"Marker","path":"/api/ngx-vflow/interfaces/Marker","type":"Interface","isCodeLink":true},"Marker#marker":{"title":"Marker [Marker]","path":"/api/ngx-vflow/interfaces/Marker#marker","type":"Interface","isCodeLink":true},"Marker#properties":{"title":"Marker [Properties]","path":"/api/ngx-vflow/interfaces/Marker#properties","type":"Interface","isCodeLink":true},"Marker.color":{"title":"Marker.color","path":"/api/ngx-vflow/interfaces/Marker#color","type":"Interface","isCodeLink":true},"Marker.height":{"title":"Marker.height","path":"/api/ngx-vflow/interfaces/Marker#height","type":"Interface","isCodeLink":true},"Marker.markerUnits":{"title":"Marker.markerUnits","path":"/api/ngx-vflow/interfaces/Marker#markerUnits","type":"Interface","isCodeLink":true},"Marker.orient":{"title":"Marker.orient","path":"/api/ngx-vflow/interfaces/Marker#orient","type":"Interface","isCodeLink":true},"Marker.strokeWidth":{"title":"Marker.strokeWidth","path":"/api/ngx-vflow/interfaces/Marker#strokeWidth","type":"Interface","isCodeLink":true},"Marker.type":{"title":"Marker.type","path":"/api/ngx-vflow/interfaces/Marker#type","type":"Interface","isCodeLink":true},"Marker.width":{"title":"Marker.width","path":"/api/ngx-vflow/interfaces/Marker#width","type":"Interface","isCodeLink":true},"ComponentNodeEvent":{"title":"ComponentNodeEvent","path":"/api/ngx-vflow/type-aliases/ComponentNodeEvent","type":"TypeAlias","isCodeLink":true},"ComponentNodeEvent#componentnodeevent":{"title":"ComponentNodeEvent [ComponentNodeEvent]","path":"/api/ngx-vflow/type-aliases/ComponentNodeEvent#componentnodeevent","type":"TypeAlias","isCodeLink":true},"ComponentNodeEvent#presentation":{"title":"ComponentNodeEvent [Presentation]","path":"/api/ngx-vflow/type-aliases/ComponentNodeEvent#presentation","type":"TypeAlias","isCodeLink":true},"AnyComponentNodeEvent":{"title":"AnyComponentNodeEvent","path":"/api/ngx-vflow/type-aliases/AnyComponentNodeEvent","type":"TypeAlias","isCodeLink":true},"AnyComponentNodeEvent#anycomponentnodeevent":{"title":"AnyComponentNodeEvent [AnyComponentNodeEvent]","path":"/api/ngx-vflow/type-aliases/AnyComponentNodeEvent#anycomponentnodeevent","type":"TypeAlias","isCodeLink":true},"AnyComponentNodeEvent#presentation":{"title":"AnyComponentNodeEvent [Presentation]","path":"/api/ngx-vflow/type-aliases/AnyComponentNodeEvent#presentation","type":"TypeAlias","isCodeLink":true},"FitViewOptions":{"title":"FitViewOptions","path":"/api/ngx-vflow/interfaces/FitViewOptions","type":"Interface","isCodeLink":true},"FitViewOptions#fitviewoptions":{"title":"FitViewOptions [FitViewOptions]","path":"/api/ngx-vflow/interfaces/FitViewOptions#fitviewoptions","type":"Interface","isCodeLink":true},"FitViewOptions#properties":{"title":"FitViewOptions [Properties]","path":"/api/ngx-vflow/interfaces/FitViewOptions#properties","type":"Interface","isCodeLink":true},"FitViewOptions.duration":{"title":"FitViewOptions.duration","path":"/api/ngx-vflow/interfaces/FitViewOptions#duration","type":"Interface","isCodeLink":true},"FitViewOptions.nodes":{"title":"FitViewOptions.nodes","path":"/api/ngx-vflow/interfaces/FitViewOptions#nodes","type":"Interface","isCodeLink":true},"FitViewOptions.padding":{"title":"FitViewOptions.padding","path":"/api/ngx-vflow/interfaces/FitViewOptions#padding","type":"Interface","isCodeLink":true},"NodeChange":{"title":"NodeChange","path":"/api/ngx-vflow/type-aliases/NodeChange","type":"TypeAlias","isCodeLink":true},"NodeChange#nodechange":{"title":"NodeChange [NodeChange]","path":"/api/ngx-vflow/type-aliases/NodeChange#nodechange","type":"TypeAlias","isCodeLink":true},"NodeChange#presentation":{"title":"NodeChange [Presentation]","path":"/api/ngx-vflow/type-aliases/NodeChange#presentation","type":"TypeAlias","isCodeLink":true},"NodePositionChange":{"title":"NodePositionChange","path":"/api/ngx-vflow/interfaces/NodePositionChange","type":"Interface","isCodeLink":true},"NodePositionChange#nodepositionchange":{"title":"NodePositionChange [NodePositionChange]","path":"/api/ngx-vflow/interfaces/NodePositionChange#nodepositionchange","type":"Interface","isCodeLink":true},"NodePositionChange#properties":{"title":"NodePositionChange [Properties]","path":"/api/ngx-vflow/interfaces/NodePositionChange#properties","type":"Interface","isCodeLink":true},"NodePositionChange.id":{"title":"NodePositionChange.id","path":"/api/ngx-vflow/interfaces/NodePositionChange#id","type":"Interface","isCodeLink":true},"NodePositionChange.point":{"title":"NodePositionChange.point","path":"/api/ngx-vflow/interfaces/NodePositionChange#point","type":"Interface","isCodeLink":true},"NodePositionChange.type":{"title":"NodePositionChange.type","path":"/api/ngx-vflow/interfaces/NodePositionChange#type","type":"Interface","isCodeLink":true},"NodeAddChange":{"title":"NodeAddChange","path":"/api/ngx-vflow/interfaces/NodeAddChange","type":"Interface","isCodeLink":true},"NodeAddChange#nodeaddchange":{"title":"NodeAddChange [NodeAddChange]","path":"/api/ngx-vflow/interfaces/NodeAddChange#nodeaddchange","type":"Interface","isCodeLink":true},"NodeAddChange#properties":{"title":"NodeAddChange [Properties]","path":"/api/ngx-vflow/interfaces/NodeAddChange#properties","type":"Interface","isCodeLink":true},"NodeAddChange.id":{"title":"NodeAddChange.id","path":"/api/ngx-vflow/interfaces/NodeAddChange#id","type":"Interface","isCodeLink":true},"NodeAddChange.type":{"title":"NodeAddChange.type","path":"/api/ngx-vflow/interfaces/NodeAddChange#type","type":"Interface","isCodeLink":true},"NodeRemoveChange":{"title":"NodeRemoveChange","path":"/api/ngx-vflow/interfaces/NodeRemoveChange","type":"Interface","isCodeLink":true},"NodeRemoveChange#noderemovechange":{"title":"NodeRemoveChange [NodeRemoveChange]","path":"/api/ngx-vflow/interfaces/NodeRemoveChange#noderemovechange","type":"Interface","isCodeLink":true},"NodeRemoveChange#properties":{"title":"NodeRemoveChange [Properties]","path":"/api/ngx-vflow/interfaces/NodeRemoveChange#properties","type":"Interface","isCodeLink":true},"NodeRemoveChange.id":{"title":"NodeRemoveChange.id","path":"/api/ngx-vflow/interfaces/NodeRemoveChange#id","type":"Interface","isCodeLink":true},"NodeRemoveChange.type":{"title":"NodeRemoveChange.type","path":"/api/ngx-vflow/interfaces/NodeRemoveChange#type","type":"Interface","isCodeLink":true},"NodeSelectedChange":{"title":"NodeSelectedChange","path":"/api/ngx-vflow/interfaces/NodeSelectedChange","type":"Interface","isCodeLink":true},"NodeSelectedChange#nodeselectedchange":{"title":"NodeSelectedChange [NodeSelectedChange]","path":"/api/ngx-vflow/interfaces/NodeSelectedChange#nodeselectedchange","type":"Interface","isCodeLink":true},"NodeSelectedChange#properties":{"title":"NodeSelectedChange [Properties]","path":"/api/ngx-vflow/interfaces/NodeSelectedChange#properties","type":"Interface","isCodeLink":true},"NodeSelectedChange.id":{"title":"NodeSelectedChange.id","path":"/api/ngx-vflow/interfaces/NodeSelectedChange#id","type":"Interface","isCodeLink":true},"NodeSelectedChange.selected":{"title":"NodeSelectedChange.selected","path":"/api/ngx-vflow/interfaces/NodeSelectedChange#selected","type":"Interface","isCodeLink":true},"NodeSelectedChange.type":{"title":"NodeSelectedChange.type","path":"/api/ngx-vflow/interfaces/NodeSelectedChange#type","type":"Interface","isCodeLink":true},"EdgeChange":{"title":"EdgeChange","path":"/api/ngx-vflow/type-aliases/EdgeChange","type":"TypeAlias","isCodeLink":true},"EdgeChange#edgechange":{"title":"EdgeChange [EdgeChange]","path":"/api/ngx-vflow/type-aliases/EdgeChange#edgechange","type":"TypeAlias","isCodeLink":true},"EdgeChange#presentation":{"title":"EdgeChange [Presentation]","path":"/api/ngx-vflow/type-aliases/EdgeChange#presentation","type":"TypeAlias","isCodeLink":true},"EdgeDetachedChange":{"title":"EdgeDetachedChange","path":"/api/ngx-vflow/interfaces/EdgeDetachedChange","type":"Interface","isCodeLink":true},"EdgeDetachedChange#edgedetachedchange":{"title":"EdgeDetachedChange [EdgeDetachedChange]","path":"/api/ngx-vflow/interfaces/EdgeDetachedChange#edgedetachedchange","type":"Interface","isCodeLink":true},"EdgeDetachedChange#properties":{"title":"EdgeDetachedChange [Properties]","path":"/api/ngx-vflow/interfaces/EdgeDetachedChange#properties","type":"Interface","isCodeLink":true},"EdgeDetachedChange.id":{"title":"EdgeDetachedChange.id","path":"/api/ngx-vflow/interfaces/EdgeDetachedChange#id","type":"Interface","isCodeLink":true},"EdgeDetachedChange.type":{"title":"EdgeDetachedChange.type","path":"/api/ngx-vflow/interfaces/EdgeDetachedChange#type","type":"Interface","isCodeLink":true},"EdgeAddChange":{"title":"EdgeAddChange","path":"/api/ngx-vflow/interfaces/EdgeAddChange","type":"Interface","isCodeLink":true},"EdgeAddChange#edgeaddchange":{"title":"EdgeAddChange [EdgeAddChange]","path":"/api/ngx-vflow/interfaces/EdgeAddChange#edgeaddchange","type":"Interface","isCodeLink":true},"EdgeAddChange#properties":{"title":"EdgeAddChange [Properties]","path":"/api/ngx-vflow/interfaces/EdgeAddChange#properties","type":"Interface","isCodeLink":true},"EdgeAddChange.id":{"title":"EdgeAddChange.id","path":"/api/ngx-vflow/interfaces/EdgeAddChange#id","type":"Interface","isCodeLink":true},"EdgeAddChange.type":{"title":"EdgeAddChange.type","path":"/api/ngx-vflow/interfaces/EdgeAddChange#type","type":"Interface","isCodeLink":true},"EdgeRemoveChange":{"title":"EdgeRemoveChange","path":"/api/ngx-vflow/interfaces/EdgeRemoveChange","type":"Interface","isCodeLink":true},"EdgeRemoveChange#edgeremovechange":{"title":"EdgeRemoveChange [EdgeRemoveChange]","path":"/api/ngx-vflow/interfaces/EdgeRemoveChange#edgeremovechange","type":"Interface","isCodeLink":true},"EdgeRemoveChange#properties":{"title":"EdgeRemoveChange [Properties]","path":"/api/ngx-vflow/interfaces/EdgeRemoveChange#properties","type":"Interface","isCodeLink":true},"EdgeRemoveChange.id":{"title":"EdgeRemoveChange.id","path":"/api/ngx-vflow/interfaces/EdgeRemoveChange#id","type":"Interface","isCodeLink":true},"EdgeRemoveChange.type":{"title":"EdgeRemoveChange.type","path":"/api/ngx-vflow/interfaces/EdgeRemoveChange#type","type":"Interface","isCodeLink":true},"EdgeSelectChange":{"title":"EdgeSelectChange","path":"/api/ngx-vflow/interfaces/EdgeSelectChange","type":"Interface","isCodeLink":true},"EdgeSelectChange#edgeselectchange":{"title":"EdgeSelectChange [EdgeSelectChange]","path":"/api/ngx-vflow/interfaces/EdgeSelectChange#edgeselectchange","type":"Interface","isCodeLink":true},"EdgeSelectChange#properties":{"title":"EdgeSelectChange [Properties]","path":"/api/ngx-vflow/interfaces/EdgeSelectChange#properties","type":"Interface","isCodeLink":true},"EdgeSelectChange.id":{"title":"EdgeSelectChange.id","path":"/api/ngx-vflow/interfaces/EdgeSelectChange#id","type":"Interface","isCodeLink":true},"EdgeSelectChange.selected":{"title":"EdgeSelectChange.selected","path":"/api/ngx-vflow/interfaces/EdgeSelectChange#selected","type":"Interface","isCodeLink":true},"EdgeSelectChange.type":{"title":"EdgeSelectChange.type","path":"/api/ngx-vflow/interfaces/EdgeSelectChange#type","type":"Interface","isCodeLink":true},"Position":{"title":"Position","path":"/api/ngx-vflow/type-aliases/Position","type":"TypeAlias","isCodeLink":true},"Position#position":{"title":"Position [Position]","path":"/api/ngx-vflow/type-aliases/Position#position","type":"TypeAlias","isCodeLink":true},"Position#presentation":{"title":"Position [Presentation]","path":"/api/ngx-vflow/type-aliases/Position#presentation","type":"TypeAlias","isCodeLink":true},"Background":{"title":"Background","path":"/api/ngx-vflow/type-aliases/Background","type":"TypeAlias","isCodeLink":true},"Background#background":{"title":"Background [Background]","path":"/api/ngx-vflow/type-aliases/Background#background","type":"TypeAlias","isCodeLink":true},"Background#presentation":{"title":"Background [Presentation]","path":"/api/ngx-vflow/type-aliases/Background#presentation","type":"TypeAlias","isCodeLink":true},"ColorBackground":{"title":"ColorBackground","path":"/api/ngx-vflow/interfaces/ColorBackground","type":"Interface","isCodeLink":true},"ColorBackground#colorbackground":{"title":"ColorBackground [ColorBackground]","path":"/api/ngx-vflow/interfaces/ColorBackground#colorbackground","type":"Interface","isCodeLink":true},"ColorBackground#properties":{"title":"ColorBackground [Properties]","path":"/api/ngx-vflow/interfaces/ColorBackground#properties","type":"Interface","isCodeLink":true},"ColorBackground.color":{"title":"ColorBackground.color","path":"/api/ngx-vflow/interfaces/ColorBackground#color","type":"Interface","isCodeLink":true},"ColorBackground.type":{"title":"ColorBackground.type","path":"/api/ngx-vflow/interfaces/ColorBackground#type","type":"Interface","isCodeLink":true},"DotsBackground":{"title":"DotsBackground","path":"/api/ngx-vflow/interfaces/DotsBackground","type":"Interface","isCodeLink":true},"DotsBackground#dotsbackground":{"title":"DotsBackground [DotsBackground]","path":"/api/ngx-vflow/interfaces/DotsBackground#dotsbackground","type":"Interface","isCodeLink":true},"DotsBackground#properties":{"title":"DotsBackground [Properties]","path":"/api/ngx-vflow/interfaces/DotsBackground#properties","type":"Interface","isCodeLink":true},"DotsBackground.backgroundColor":{"title":"DotsBackground.backgroundColor","path":"/api/ngx-vflow/interfaces/DotsBackground#backgroundColor","type":"Interface","isCodeLink":true},"DotsBackground.color":{"title":"DotsBackground.color","path":"/api/ngx-vflow/interfaces/DotsBackground#color","type":"Interface","isCodeLink":true},"DotsBackground.gap":{"title":"DotsBackground.gap","path":"/api/ngx-vflow/interfaces/DotsBackground#gap","type":"Interface","isCodeLink":true},"DotsBackground.size":{"title":"DotsBackground.size","path":"/api/ngx-vflow/interfaces/DotsBackground#size","type":"Interface","isCodeLink":true},"DotsBackground.type":{"title":"DotsBackground.type","path":"/api/ngx-vflow/interfaces/DotsBackground#type","type":"Interface","isCodeLink":true},"ConnectionMode":{"title":"ConnectionMode","path":"/api/ngx-vflow/type-aliases/ConnectionMode","type":"TypeAlias","isCodeLink":true},"ConnectionMode#connectionmode":{"title":"ConnectionMode [ConnectionMode]","path":"/api/ngx-vflow/type-aliases/ConnectionMode#connectionmode","type":"TypeAlias","isCodeLink":true},"ConnectionMode#presentation":{"title":"ConnectionMode [Presentation]","path":"/api/ngx-vflow/type-aliases/ConnectionMode#presentation","type":"TypeAlias","isCodeLink":true},"VflowComponent":{"title":"VflowComponent","path":"/api/ngx-vflow/classes/VflowComponent","type":"Component","isCodeLink":true},"VflowComponent#vflowcomponent":{"title":"VflowComponent [VflowComponent]","path":"/api/ngx-vflow/classes/VflowComponent#vflowcomponent","type":"Component","isCodeLink":true},"VflowComponent#properties":{"title":"VflowComponent [Properties]","path":"/api/ngx-vflow/classes/VflowComponent#properties","type":"Component","isCodeLink":true},"VflowComponent.background":{"title":"VflowComponent.background","path":"/api/ngx-vflow/classes/VflowComponent#background","type":"Component","isCodeLink":true},"VflowComponent.connectionTemplateDirective":{"title":"VflowComponent.connectionTemplateDirective","path":"/api/ngx-vflow/classes/VflowComponent#connectionTemplateDirective","type":"Component","isCodeLink":true},"VflowComponent.edgeLabelHtmlDirective":{"title":"VflowComponent.edgeLabelHtmlDirective","path":"/api/ngx-vflow/classes/VflowComponent#edgeLabelHtmlDirective","type":"Component","isCodeLink":true},"VflowComponent.edgeModels":{"title":"VflowComponent.edgeModels","path":"/api/ngx-vflow/classes/VflowComponent#edgeModels","type":"Component","isCodeLink":true},"VflowComponent.edgesChange":{"title":"VflowComponent.edgesChange","path":"/api/ngx-vflow/classes/VflowComponent#edgesChange","type":"Component","isCodeLink":true},"VflowComponent.edgesChange$":{"title":"VflowComponent.edgesChange$","path":"/api/ngx-vflow/classes/VflowComponent#edgesChange$","type":"Component","isCodeLink":true},"VflowComponent.edgeTemplateDirective":{"title":"VflowComponent.edgeTemplateDirective","path":"/api/ngx-vflow/classes/VflowComponent#edgeTemplateDirective","type":"Component","isCodeLink":true},"VflowComponent.mapContext":{"title":"VflowComponent.mapContext","path":"/api/ngx-vflow/classes/VflowComponent#mapContext","type":"Component","isCodeLink":true},"VflowComponent.markers":{"title":"VflowComponent.markers","path":"/api/ngx-vflow/classes/VflowComponent#markers","type":"Component","isCodeLink":true},"VflowComponent.nodeHtmlDirective":{"title":"VflowComponent.nodeHtmlDirective","path":"/api/ngx-vflow/classes/VflowComponent#nodeHtmlDirective","type":"Component","isCodeLink":true},"VflowComponent.nodeModels":{"title":"VflowComponent.nodeModels","path":"/api/ngx-vflow/classes/VflowComponent#nodeModels","type":"Component","isCodeLink":true},"VflowComponent.nodesChange":{"title":"VflowComponent.nodesChange","path":"/api/ngx-vflow/classes/VflowComponent#nodesChange","type":"Component","isCodeLink":true},"VflowComponent.nodesChange$":{"title":"VflowComponent.nodesChange$","path":"/api/ngx-vflow/classes/VflowComponent#nodesChange$","type":"Component","isCodeLink":true},"VflowComponent.onComponentNodeEvent":{"title":"VflowComponent.onComponentNodeEvent","path":"/api/ngx-vflow/classes/VflowComponent#onComponentNodeEvent","type":"Component","isCodeLink":true},"VflowComponent.spacePointContext":{"title":"VflowComponent.spacePointContext","path":"/api/ngx-vflow/classes/VflowComponent#spacePointContext","type":"Component","isCodeLink":true},"VflowComponent.viewport":{"title":"VflowComponent.viewport","path":"/api/ngx-vflow/classes/VflowComponent#viewport","type":"Component","isCodeLink":true},"VflowComponent.viewportChange$":{"title":"VflowComponent.viewportChange$","path":"/api/ngx-vflow/classes/VflowComponent#viewportChange$","type":"Component","isCodeLink":true},"VflowComponent#accessors":{"title":"VflowComponent [Accessors]","path":"/api/ngx-vflow/classes/VflowComponent#accessors","type":"Component","isCodeLink":true},"VflowComponent.get-connection":{"title":"VflowComponent.connection","path":"/api/ngx-vflow/classes/VflowComponent#get-connection","type":"Component","isCodeLink":true},"VflowComponent.set-connection":{"title":"VflowComponent.connection","path":"/api/ngx-vflow/classes/VflowComponent#set-connection","type":"Component","isCodeLink":true},"VflowComponent.set-edges":{"title":"VflowComponent.edges","path":"/api/ngx-vflow/classes/VflowComponent#set-edges","type":"Component","isCodeLink":true},"VflowComponent.set-entitiesSelectable":{"title":"VflowComponent.entitiesSelectable","path":"/api/ngx-vflow/classes/VflowComponent#set-entitiesSelectable","type":"Component","isCodeLink":true},"VflowComponent.set-handlePositions":{"title":"VflowComponent.handlePositions","path":"/api/ngx-vflow/classes/VflowComponent#set-handlePositions","type":"Component","isCodeLink":true},"VflowComponent.set-maxZoom":{"title":"VflowComponent.maxZoom","path":"/api/ngx-vflow/classes/VflowComponent#set-maxZoom","type":"Component","isCodeLink":true},"VflowComponent.set-minZoom":{"title":"VflowComponent.minZoom","path":"/api/ngx-vflow/classes/VflowComponent#set-minZoom","type":"Component","isCodeLink":true},"VflowComponent.set-nodes":{"title":"VflowComponent.nodes","path":"/api/ngx-vflow/classes/VflowComponent#set-nodes","type":"Component","isCodeLink":true},"VflowComponent.set-view":{"title":"VflowComponent.view","path":"/api/ngx-vflow/classes/VflowComponent#set-view","type":"Component","isCodeLink":true},"VflowComponent#methods":{"title":"VflowComponent [Methods]","path":"/api/ngx-vflow/classes/VflowComponent#methods","type":"Component","isCodeLink":true},"VflowComponent.documentpointtoflowpoint":{"title":"VflowComponent.documentPointToFlowPoint()","path":"/api/ngx-vflow/classes/VflowComponent#documentpointtoflowpoint","type":"Component","isCodeLink":true},"VflowComponent.fitview":{"title":"VflowComponent.fitView()","path":"/api/ngx-vflow/classes/VflowComponent#fitview","type":"Component","isCodeLink":true},"VflowComponent.getdetachededges":{"title":"VflowComponent.getDetachedEdges()","path":"/api/ngx-vflow/classes/VflowComponent#getdetachededges","type":"Component","isCodeLink":true},"VflowComponent.getnode":{"title":"VflowComponent.getNode()","path":"/api/ngx-vflow/classes/VflowComponent#getnode","type":"Component","isCodeLink":true},"VflowComponent.panto":{"title":"VflowComponent.panTo()","path":"/api/ngx-vflow/classes/VflowComponent#panto","type":"Component","isCodeLink":true},"VflowComponent.trackedges":{"title":"VflowComponent.trackEdges()","path":"/api/ngx-vflow/classes/VflowComponent#trackedges","type":"Component","isCodeLink":true},"VflowComponent.tracknodes":{"title":"VflowComponent.trackNodes()","path":"/api/ngx-vflow/classes/VflowComponent#tracknodes","type":"Component","isCodeLink":true},"VflowComponent.viewportto":{"title":"VflowComponent.viewportTo()","path":"/api/ngx-vflow/classes/VflowComponent#viewportto","type":"Component","isCodeLink":true},"VflowComponent.zoomto":{"title":"VflowComponent.zoomTo()","path":"/api/ngx-vflow/classes/VflowComponent#zoomto","type":"Component","isCodeLink":true},"HandleComponent":{"title":"HandleComponent","path":"/api/ngx-vflow/classes/HandleComponent","type":"Component","isCodeLink":true},"HandleComponent#handlecomponent":{"title":"HandleComponent [HandleComponent]","path":"/api/ngx-vflow/classes/HandleComponent#handlecomponent","type":"Component","isCodeLink":true},"HandleComponent#properties":{"title":"HandleComponent [Properties]","path":"/api/ngx-vflow/classes/HandleComponent#properties","type":"Component","isCodeLink":true},"HandleComponent.id":{"title":"HandleComponent.id","path":"/api/ngx-vflow/classes/HandleComponent#id","type":"Component","isCodeLink":true},"HandleComponent.injector":{"title":"HandleComponent.injector","path":"/api/ngx-vflow/classes/HandleComponent#injector","type":"Component","isCodeLink":true},"HandleComponent.model":{"title":"HandleComponent.model","path":"/api/ngx-vflow/classes/HandleComponent#model","type":"Component","isCodeLink":true},"HandleComponent.position":{"title":"HandleComponent.position","path":"/api/ngx-vflow/classes/HandleComponent#position","type":"Component","isCodeLink":true},"HandleComponent.template":{"title":"HandleComponent.template","path":"/api/ngx-vflow/classes/HandleComponent#template","type":"Component","isCodeLink":true},"HandleComponent.type":{"title":"HandleComponent.type","path":"/api/ngx-vflow/classes/HandleComponent#type","type":"Component","isCodeLink":true},"HandleComponent#methods":{"title":"HandleComponent [Methods]","path":"/api/ngx-vflow/classes/HandleComponent#methods","type":"Component","isCodeLink":true},"HandleComponent.ngondestroy":{"title":"HandleComponent.ngOnDestroy()","path":"/api/ngx-vflow/classes/HandleComponent#ngondestroy","type":"Component","isCodeLink":true},"HandleComponent.ngoninit":{"title":"HandleComponent.ngOnInit()","path":"/api/ngx-vflow/classes/HandleComponent#ngoninit","type":"Component","isCodeLink":true},"CustomNodeComponent":{"title":"CustomNodeComponent","path":"/api/ngx-vflow/classes/CustomNodeComponent","type":"Directive","isCodeLink":true},"CustomNodeComponent#customnodecomponent":{"title":"CustomNodeComponent [CustomNodeComponent]","path":"/api/ngx-vflow/classes/CustomNodeComponent#customnodecomponent","type":"Directive","isCodeLink":true},"CustomNodeComponent#see-also":{"title":"CustomNodeComponent [See Also]","path":"/api/ngx-vflow/classes/CustomNodeComponent#see-also","type":"Directive","isCodeLink":true},"CustomNodeComponent#properties":{"title":"CustomNodeComponent [Properties]","path":"/api/ngx-vflow/classes/CustomNodeComponent#properties","type":"Directive","isCodeLink":true},"CustomNodeComponent.destroyRef":{"title":"CustomNodeComponent.destroyRef","path":"/api/ngx-vflow/classes/CustomNodeComponent#destroyRef","type":"Directive","isCodeLink":true},"CustomNodeComponent.node":{"title":"CustomNodeComponent.node","path":"/api/ngx-vflow/classes/CustomNodeComponent#node","type":"Directive","isCodeLink":true},"CustomNodeComponent.selected":{"title":"CustomNodeComponent.selected","path":"/api/ngx-vflow/classes/CustomNodeComponent#selected","type":"Directive","isCodeLink":true},"CustomNodeComponent#accessors":{"title":"CustomNodeComponent [Accessors]","path":"/api/ngx-vflow/classes/CustomNodeComponent#accessors","type":"Directive","isCodeLink":true},"CustomNodeComponent.set-_selected":{"title":"CustomNodeComponent._selected","path":"/api/ngx-vflow/classes/CustomNodeComponent#set-_selected","type":"Directive","isCodeLink":true},"CustomNodeComponent#methods":{"title":"CustomNodeComponent [Methods]","path":"/api/ngx-vflow/classes/CustomNodeComponent#methods","type":"Directive","isCodeLink":true},"CustomNodeComponent.ngoninit":{"title":"CustomNodeComponent.ngOnInit()","path":"/api/ngx-vflow/classes/CustomNodeComponent#ngoninit","type":"Directive","isCodeLink":true},"EdgeTemplateDirective":{"title":"EdgeTemplateDirective","path":"/api/ngx-vflow/classes/EdgeTemplateDirective","type":"Directive","isCodeLink":true},"EdgeTemplateDirective#edgetemplatedirective":{"title":"EdgeTemplateDirective [EdgeTemplateDirective]","path":"/api/ngx-vflow/classes/EdgeTemplateDirective#edgetemplatedirective","type":"Directive","isCodeLink":true},"EdgeTemplateDirective#properties":{"title":"EdgeTemplateDirective [Properties]","path":"/api/ngx-vflow/classes/EdgeTemplateDirective#properties","type":"Directive","isCodeLink":true},"EdgeTemplateDirective.templateRef":{"title":"EdgeTemplateDirective.templateRef","path":"/api/ngx-vflow/classes/EdgeTemplateDirective#templateRef","type":"Directive","isCodeLink":true},"ConnectionTemplateDirective":{"title":"ConnectionTemplateDirective","path":"/api/ngx-vflow/classes/ConnectionTemplateDirective","type":"Directive","isCodeLink":true},"ConnectionTemplateDirective#connectiontemplatedirective":{"title":"ConnectionTemplateDirective [ConnectionTemplateDirective]","path":"/api/ngx-vflow/classes/ConnectionTemplateDirective#connectiontemplatedirective","type":"Directive","isCodeLink":true},"ConnectionTemplateDirective#properties":{"title":"ConnectionTemplateDirective [Properties]","path":"/api/ngx-vflow/classes/ConnectionTemplateDirective#properties","type":"Directive","isCodeLink":true},"ConnectionTemplateDirective.templateRef":{"title":"ConnectionTemplateDirective.templateRef","path":"/api/ngx-vflow/classes/ConnectionTemplateDirective#templateRef","type":"Directive","isCodeLink":true},"EdgeLabelHtmlTemplateDirective":{"title":"EdgeLabelHtmlTemplateDirective","path":"/api/ngx-vflow/classes/EdgeLabelHtmlTemplateDirective","type":"Directive","isCodeLink":true},"EdgeLabelHtmlTemplateDirective#edgelabelhtmltemplatedirective":{"title":"EdgeLabelHtmlTemplateDirective [EdgeLabelHtmlTemplateDirective]","path":"/api/ngx-vflow/classes/EdgeLabelHtmlTemplateDirective#edgelabelhtmltemplatedirective","type":"Directive","isCodeLink":true},"EdgeLabelHtmlTemplateDirective#properties":{"title":"EdgeLabelHtmlTemplateDirective [Properties]","path":"/api/ngx-vflow/classes/EdgeLabelHtmlTemplateDirective#properties","type":"Directive","isCodeLink":true},"EdgeLabelHtmlTemplateDirective.templateRef":{"title":"EdgeLabelHtmlTemplateDirective.templateRef","path":"/api/ngx-vflow/classes/EdgeLabelHtmlTemplateDirective#templateRef","type":"Directive","isCodeLink":true},"NodeHtmlTemplateDirective":{"title":"NodeHtmlTemplateDirective","path":"/api/ngx-vflow/classes/NodeHtmlTemplateDirective","type":"Directive","isCodeLink":true},"NodeHtmlTemplateDirective#nodehtmltemplatedirective":{"title":"NodeHtmlTemplateDirective [NodeHtmlTemplateDirective]","path":"/api/ngx-vflow/classes/NodeHtmlTemplateDirective#nodehtmltemplatedirective","type":"Directive","isCodeLink":true},"NodeHtmlTemplateDirective#properties":{"title":"NodeHtmlTemplateDirective [Properties]","path":"/api/ngx-vflow/classes/NodeHtmlTemplateDirective#properties","type":"Directive","isCodeLink":true},"NodeHtmlTemplateDirective.templateRef":{"title":"NodeHtmlTemplateDirective.templateRef","path":"/api/ngx-vflow/classes/NodeHtmlTemplateDirective#templateRef","type":"Directive","isCodeLink":true},"HandleTemplateDirective":{"title":"HandleTemplateDirective","path":"/api/ngx-vflow/classes/HandleTemplateDirective","type":"Directive","isCodeLink":true},"HandleTemplateDirective#handletemplatedirective":{"title":"HandleTemplateDirective [HandleTemplateDirective]","path":"/api/ngx-vflow/classes/HandleTemplateDirective#handletemplatedirective","type":"Directive","isCodeLink":true},"HandleTemplateDirective#properties":{"title":"HandleTemplateDirective [Properties]","path":"/api/ngx-vflow/classes/HandleTemplateDirective#properties","type":"Directive","isCodeLink":true},"HandleTemplateDirective.templateRef":{"title":"HandleTemplateDirective.templateRef","path":"/api/ngx-vflow/classes/HandleTemplateDirective#templateRef","type":"Directive","isCodeLink":true},"ConnectionControllerDirective":{"title":"ConnectionControllerDirective","path":"/api/ngx-vflow/classes/ConnectionControllerDirective","type":"Directive","isCodeLink":true},"ConnectionControllerDirective#connectioncontrollerdirective":{"title":"ConnectionControllerDirective [ConnectionControllerDirective]","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#connectioncontrollerdirective","type":"Directive","isCodeLink":true},"ConnectionControllerDirective#properties":{"title":"ConnectionControllerDirective [Properties]","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#properties","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.connectEffect":{"title":"ConnectionControllerDirective.connectEffect","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#connectEffect","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.isStrictMode":{"title":"ConnectionControllerDirective.isStrictMode","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#isStrictMode","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.onConnect":{"title":"ConnectionControllerDirective.onConnect","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#onConnect","type":"Directive","isCodeLink":true},"ConnectionControllerDirective#methods":{"title":"ConnectionControllerDirective [Methods]","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#methods","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.endconnection":{"title":"ConnectionControllerDirective.endConnection()","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#endconnection","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.resetvalidateconnection":{"title":"ConnectionControllerDirective.resetValidateConnection()","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#resetvalidateconnection","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.startconnection":{"title":"ConnectionControllerDirective.startConnection()","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#startconnection","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.validateconnection":{"title":"ConnectionControllerDirective.validateConnection()","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#validateconnection","type":"Directive","isCodeLink":true},"ChangesControllerDirective":{"title":"ChangesControllerDirective","path":"/api/ngx-vflow/classes/ChangesControllerDirective","type":"Directive","isCodeLink":true},"ChangesControllerDirective#changescontrollerdirective":{"title":"ChangesControllerDirective [ChangesControllerDirective]","path":"/api/ngx-vflow/classes/ChangesControllerDirective#changescontrollerdirective","type":"Directive","isCodeLink":true},"ChangesControllerDirective#properties":{"title":"ChangesControllerDirective [Properties]","path":"/api/ngx-vflow/classes/ChangesControllerDirective#properties","type":"Directive","isCodeLink":true},"ChangesControllerDirective.edgesChangeService":{"title":"ChangesControllerDirective.edgesChangeService","path":"/api/ngx-vflow/classes/ChangesControllerDirective#edgesChangeService","type":"Directive","isCodeLink":true},"ChangesControllerDirective.nodesChangeService":{"title":"ChangesControllerDirective.nodesChangeService","path":"/api/ngx-vflow/classes/ChangesControllerDirective#nodesChangeService","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeAddMany":{"title":"ChangesControllerDirective.onEdgeChangeAddMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeAddMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeAddSingle":{"title":"ChangesControllerDirective.onEdgeChangeAddSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeAddSingle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeRemove":{"title":"ChangesControllerDirective.onEdgeChangeRemove","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeRemove","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeRemoveMany":{"title":"ChangesControllerDirective.onEdgeChangeRemoveMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeRemoveMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeRemoveSingle":{"title":"ChangesControllerDirective.onEdgeChangeRemoveSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeRemoveSingle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeSelect":{"title":"ChangesControllerDirective.onEdgeChangeSelect","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeSelect","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeSelectMany":{"title":"ChangesControllerDirective.onEdgeChangeSelectMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeSelectMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeSelectSingle":{"title":"ChangesControllerDirective.onEdgeChangeSelectSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeSelectSingle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgesChange":{"title":"ChangesControllerDirective.onEdgesChange","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgesChange","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgesChangeAdd":{"title":"ChangesControllerDirective.onEdgesChangeAdd","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgesChangeAdd","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChange":{"title":"ChangesControllerDirective.onNodesChange","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChange","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeAdd":{"title":"ChangesControllerDirective.onNodesChangeAdd","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeAdd","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeAddMany":{"title":"ChangesControllerDirective.onNodesChangeAddMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeAddMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeAddSingle":{"title":"ChangesControllerDirective.onNodesChangeAddSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeAddSingle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeDetached":{"title":"ChangesControllerDirective.onNodesChangeDetached","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeDetached","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeDetachedMany":{"title":"ChangesControllerDirective.onNodesChangeDetachedMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeDetachedMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeDetachedSingle":{"title":"ChangesControllerDirective.onNodesChangeDetachedSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeDetachedSingle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangePosition":{"title":"ChangesControllerDirective.onNodesChangePosition","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangePosition","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangePositionMany":{"title":"ChangesControllerDirective.onNodesChangePositionMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangePositionMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangePositionSignle":{"title":"ChangesControllerDirective.onNodesChangePositionSignle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangePositionSignle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeRemove":{"title":"ChangesControllerDirective.onNodesChangeRemove","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeRemove","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeRemoveMany":{"title":"ChangesControllerDirective.onNodesChangeRemoveMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeRemoveMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeRemoveSingle":{"title":"ChangesControllerDirective.onNodesChangeRemoveSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeRemoveSingle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeSelect":{"title":"ChangesControllerDirective.onNodesChangeSelect","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeSelect","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeSelectMany":{"title":"ChangesControllerDirective.onNodesChangeSelectMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeSelectMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeSelectSingle":{"title":"ChangesControllerDirective.onNodesChangeSelectSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeSelectSingle","type":"Directive","isCodeLink":true},"SelectableDirective":{"title":"SelectableDirective","path":"/api/ngx-vflow/classes/SelectableDirective","type":"Directive","isCodeLink":true},"SelectableDirective#selectabledirective":{"title":"SelectableDirective [SelectableDirective]","path":"/api/ngx-vflow/classes/SelectableDirective#selectabledirective","type":"Directive","isCodeLink":true},"SelectableDirective#methods":{"title":"SelectableDirective [Methods]","path":"/api/ngx-vflow/classes/SelectableDirective#methods","type":"Directive","isCodeLink":true},"SelectableDirective.onmousedown":{"title":"SelectableDirective.onMousedown()","path":"/api/ngx-vflow/classes/SelectableDirective#onmousedown","type":"Directive","isCodeLink":true}} \ No newline at end of file +{"*WorkshopsLayoutForce":{"title":"D3 Force","path":"/workshops/layout/force","type":"guide","isCodeLink":false},"*WorkshopsLayoutForce#d3-force":{"title":"D3 Force [D3 Force]","path":"/workshops/layout/force#d3-force","type":"guide","isCodeLink":false},"ViewportState":{"title":"ViewportState","path":"/api/ngx-vflow/interfaces/ViewportState","type":"Interface","isCodeLink":true},"ViewportState#viewportstate":{"title":"ViewportState [ViewportState]","path":"/api/ngx-vflow/interfaces/ViewportState#viewportstate","type":"Interface","isCodeLink":true},"ViewportState#properties":{"title":"ViewportState [Properties]","path":"/api/ngx-vflow/interfaces/ViewportState#properties","type":"Interface","isCodeLink":true},"ViewportState.x":{"title":"ViewportState.x","path":"/api/ngx-vflow/interfaces/ViewportState#x","type":"Interface","isCodeLink":true},"ViewportState.y":{"title":"ViewportState.y","path":"/api/ngx-vflow/interfaces/ViewportState#y","type":"Interface","isCodeLink":true},"ViewportState.zoom":{"title":"ViewportState.zoom","path":"/api/ngx-vflow/interfaces/ViewportState#zoom","type":"Interface","isCodeLink":true},"VflowModule":{"title":"VflowModule","path":"/api/ngx-vflow/classes/VflowModule","type":"NgModule","isCodeLink":true},"VflowModule#vflowmodule":{"title":"VflowModule [VflowModule]","path":"/api/ngx-vflow/classes/VflowModule#vflowmodule","type":"NgModule","isCodeLink":true},"isStaticNode":{"title":"isStaticNode","path":"/api/ngx-vflow/functions/isStaticNode","type":"Function","isCodeLink":true},"isStaticNode#isstaticnode":{"title":"isStaticNode [isStaticNode]","path":"/api/ngx-vflow/functions/isStaticNode#isstaticnode","type":"Function","isCodeLink":true},"isStaticNode#presentation":{"title":"isStaticNode [Presentation]","path":"/api/ngx-vflow/functions/isStaticNode#presentation","type":"Function","isCodeLink":true},"isStaticNode#parameters":{"title":"isStaticNode [Parameters]","path":"/api/ngx-vflow/functions/isStaticNode#parameters","type":"Function","isCodeLink":true},"isDynamicNode":{"title":"isDynamicNode","path":"/api/ngx-vflow/functions/isDynamicNode","type":"Function","isCodeLink":true},"isDynamicNode#isdynamicnode":{"title":"isDynamicNode [isDynamicNode]","path":"/api/ngx-vflow/functions/isDynamicNode#isdynamicnode","type":"Function","isCodeLink":true},"isDynamicNode#presentation":{"title":"isDynamicNode [Presentation]","path":"/api/ngx-vflow/functions/isDynamicNode#presentation","type":"Function","isCodeLink":true},"isDynamicNode#parameters":{"title":"isDynamicNode [Parameters]","path":"/api/ngx-vflow/functions/isDynamicNode#parameters","type":"Function","isCodeLink":true},"isComponentStaticNode":{"title":"isComponentStaticNode","path":"/api/ngx-vflow/functions/isComponentStaticNode","type":"Function","isCodeLink":true},"isComponentStaticNode#iscomponentstaticnode":{"title":"isComponentStaticNode [isComponentStaticNode]","path":"/api/ngx-vflow/functions/isComponentStaticNode#iscomponentstaticnode","type":"Function","isCodeLink":true},"isComponentStaticNode#presentation":{"title":"isComponentStaticNode [Presentation]","path":"/api/ngx-vflow/functions/isComponentStaticNode#presentation","type":"Function","isCodeLink":true},"isComponentStaticNode#parameters":{"title":"isComponentStaticNode [Parameters]","path":"/api/ngx-vflow/functions/isComponentStaticNode#parameters","type":"Function","isCodeLink":true},"isComponentDynamicNode":{"title":"isComponentDynamicNode","path":"/api/ngx-vflow/functions/isComponentDynamicNode","type":"Function","isCodeLink":true},"isComponentDynamicNode#iscomponentdynamicnode":{"title":"isComponentDynamicNode [isComponentDynamicNode]","path":"/api/ngx-vflow/functions/isComponentDynamicNode#iscomponentdynamicnode","type":"Function","isCodeLink":true},"isComponentDynamicNode#presentation":{"title":"isComponentDynamicNode [Presentation]","path":"/api/ngx-vflow/functions/isComponentDynamicNode#presentation","type":"Function","isCodeLink":true},"isComponentDynamicNode#parameters":{"title":"isComponentDynamicNode [Parameters]","path":"/api/ngx-vflow/functions/isComponentDynamicNode#parameters","type":"Function","isCodeLink":true},"isTemplateStaticNode":{"title":"isTemplateStaticNode","path":"/api/ngx-vflow/functions/isTemplateStaticNode","type":"Function","isCodeLink":true},"isTemplateStaticNode#istemplatestaticnode":{"title":"isTemplateStaticNode [isTemplateStaticNode]","path":"/api/ngx-vflow/functions/isTemplateStaticNode#istemplatestaticnode","type":"Function","isCodeLink":true},"isTemplateStaticNode#presentation":{"title":"isTemplateStaticNode [Presentation]","path":"/api/ngx-vflow/functions/isTemplateStaticNode#presentation","type":"Function","isCodeLink":true},"isTemplateStaticNode#parameters":{"title":"isTemplateStaticNode [Parameters]","path":"/api/ngx-vflow/functions/isTemplateStaticNode#parameters","type":"Function","isCodeLink":true},"isTemplateDynamicNode":{"title":"isTemplateDynamicNode","path":"/api/ngx-vflow/functions/isTemplateDynamicNode","type":"Function","isCodeLink":true},"isTemplateDynamicNode#istemplatedynamicnode":{"title":"isTemplateDynamicNode [isTemplateDynamicNode]","path":"/api/ngx-vflow/functions/isTemplateDynamicNode#istemplatedynamicnode","type":"Function","isCodeLink":true},"isTemplateDynamicNode#presentation":{"title":"isTemplateDynamicNode [Presentation]","path":"/api/ngx-vflow/functions/isTemplateDynamicNode#presentation","type":"Function","isCodeLink":true},"isTemplateDynamicNode#parameters":{"title":"isTemplateDynamicNode [Parameters]","path":"/api/ngx-vflow/functions/isTemplateDynamicNode#parameters","type":"Function","isCodeLink":true},"isDefaultStaticNode":{"title":"isDefaultStaticNode","path":"/api/ngx-vflow/functions/isDefaultStaticNode","type":"Function","isCodeLink":true},"isDefaultStaticNode#isdefaultstaticnode":{"title":"isDefaultStaticNode [isDefaultStaticNode]","path":"/api/ngx-vflow/functions/isDefaultStaticNode#isdefaultstaticnode","type":"Function","isCodeLink":true},"isDefaultStaticNode#presentation":{"title":"isDefaultStaticNode [Presentation]","path":"/api/ngx-vflow/functions/isDefaultStaticNode#presentation","type":"Function","isCodeLink":true},"isDefaultStaticNode#parameters":{"title":"isDefaultStaticNode [Parameters]","path":"/api/ngx-vflow/functions/isDefaultStaticNode#parameters","type":"Function","isCodeLink":true},"isDefaultDynamicNode":{"title":"isDefaultDynamicNode","path":"/api/ngx-vflow/functions/isDefaultDynamicNode","type":"Function","isCodeLink":true},"isDefaultDynamicNode#isdefaultdynamicnode":{"title":"isDefaultDynamicNode [isDefaultDynamicNode]","path":"/api/ngx-vflow/functions/isDefaultDynamicNode#isdefaultdynamicnode","type":"Function","isCodeLink":true},"isDefaultDynamicNode#presentation":{"title":"isDefaultDynamicNode [Presentation]","path":"/api/ngx-vflow/functions/isDefaultDynamicNode#presentation","type":"Function","isCodeLink":true},"isDefaultDynamicNode#parameters":{"title":"isDefaultDynamicNode [Parameters]","path":"/api/ngx-vflow/functions/isDefaultDynamicNode#parameters","type":"Function","isCodeLink":true},"Node":{"title":"Node","path":"/api/ngx-vflow/type-aliases/Node","type":"TypeAlias","isCodeLink":true},"Node#node":{"title":"Node [Node]","path":"/api/ngx-vflow/type-aliases/Node#node","type":"TypeAlias","isCodeLink":true},"Node#presentation":{"title":"Node [Presentation]","path":"/api/ngx-vflow/type-aliases/Node#presentation","type":"TypeAlias","isCodeLink":true},"DynamicNode":{"title":"DynamicNode","path":"/api/ngx-vflow/type-aliases/DynamicNode","type":"TypeAlias","isCodeLink":true},"DynamicNode#dynamicnode":{"title":"DynamicNode [DynamicNode]","path":"/api/ngx-vflow/type-aliases/DynamicNode#dynamicnode","type":"TypeAlias","isCodeLink":true},"DynamicNode#presentation":{"title":"DynamicNode [Presentation]","path":"/api/ngx-vflow/type-aliases/DynamicNode#presentation","type":"TypeAlias","isCodeLink":true},"SharedNode":{"title":"SharedNode","path":"/api/ngx-vflow/interfaces/SharedNode","type":"Interface","isCodeLink":true},"SharedNode#sharednode":{"title":"SharedNode [SharedNode]","path":"/api/ngx-vflow/interfaces/SharedNode#sharednode","type":"Interface","isCodeLink":true},"SharedNode#properties":{"title":"SharedNode [Properties]","path":"/api/ngx-vflow/interfaces/SharedNode#properties","type":"Interface","isCodeLink":true},"SharedNode.draggable":{"title":"SharedNode.draggable","path":"/api/ngx-vflow/interfaces/SharedNode#draggable","type":"Interface","isCodeLink":true},"SharedNode.id":{"title":"SharedNode.id","path":"/api/ngx-vflow/interfaces/SharedNode#id","type":"Interface","isCodeLink":true},"SharedNode.point":{"title":"SharedNode.point","path":"/api/ngx-vflow/interfaces/SharedNode#point","type":"Interface","isCodeLink":true},"SharedDynamicNode":{"title":"SharedDynamicNode","path":"/api/ngx-vflow/interfaces/SharedDynamicNode","type":"Interface","isCodeLink":true},"SharedDynamicNode#shareddynamicnode":{"title":"SharedDynamicNode [SharedDynamicNode]","path":"/api/ngx-vflow/interfaces/SharedDynamicNode#shareddynamicnode","type":"Interface","isCodeLink":true},"SharedDynamicNode#properties":{"title":"SharedDynamicNode [Properties]","path":"/api/ngx-vflow/interfaces/SharedDynamicNode#properties","type":"Interface","isCodeLink":true},"SharedDynamicNode.draggable":{"title":"SharedDynamicNode.draggable","path":"/api/ngx-vflow/interfaces/SharedDynamicNode#draggable","type":"Interface","isCodeLink":true},"SharedDynamicNode.id":{"title":"SharedDynamicNode.id","path":"/api/ngx-vflow/interfaces/SharedDynamicNode#id","type":"Interface","isCodeLink":true},"SharedDynamicNode.point":{"title":"SharedDynamicNode.point","path":"/api/ngx-vflow/interfaces/SharedDynamicNode#point","type":"Interface","isCodeLink":true},"DefaultNode":{"title":"DefaultNode","path":"/api/ngx-vflow/interfaces/DefaultNode","type":"Interface","isCodeLink":true},"DefaultNode#defaultnode":{"title":"DefaultNode [DefaultNode]","path":"/api/ngx-vflow/interfaces/DefaultNode#defaultnode","type":"Interface","isCodeLink":true},"DefaultNode#properties":{"title":"DefaultNode [Properties]","path":"/api/ngx-vflow/interfaces/DefaultNode#properties","type":"Interface","isCodeLink":true},"DefaultNode.draggable":{"title":"DefaultNode.draggable","path":"/api/ngx-vflow/interfaces/DefaultNode#draggable","type":"Interface","isCodeLink":true},"DefaultNode.height":{"title":"DefaultNode.height","path":"/api/ngx-vflow/interfaces/DefaultNode#height","type":"Interface","isCodeLink":true},"DefaultNode.id":{"title":"DefaultNode.id","path":"/api/ngx-vflow/interfaces/DefaultNode#id","type":"Interface","isCodeLink":true},"DefaultNode.point":{"title":"DefaultNode.point","path":"/api/ngx-vflow/interfaces/DefaultNode#point","type":"Interface","isCodeLink":true},"DefaultNode.text":{"title":"DefaultNode.text","path":"/api/ngx-vflow/interfaces/DefaultNode#text","type":"Interface","isCodeLink":true},"DefaultNode.type":{"title":"DefaultNode.type","path":"/api/ngx-vflow/interfaces/DefaultNode#type","type":"Interface","isCodeLink":true},"DefaultNode.width":{"title":"DefaultNode.width","path":"/api/ngx-vflow/interfaces/DefaultNode#width","type":"Interface","isCodeLink":true},"DefaultDynamicNode":{"title":"DefaultDynamicNode","path":"/api/ngx-vflow/interfaces/DefaultDynamicNode","type":"Interface","isCodeLink":true},"DefaultDynamicNode#defaultdynamicnode":{"title":"DefaultDynamicNode [DefaultDynamicNode]","path":"/api/ngx-vflow/interfaces/DefaultDynamicNode#defaultdynamicnode","type":"Interface","isCodeLink":true},"DefaultDynamicNode#properties":{"title":"DefaultDynamicNode [Properties]","path":"/api/ngx-vflow/interfaces/DefaultDynamicNode#properties","type":"Interface","isCodeLink":true},"DefaultDynamicNode.draggable":{"title":"DefaultDynamicNode.draggable","path":"/api/ngx-vflow/interfaces/DefaultDynamicNode#draggable","type":"Interface","isCodeLink":true},"DefaultDynamicNode.height":{"title":"DefaultDynamicNode.height","path":"/api/ngx-vflow/interfaces/DefaultDynamicNode#height","type":"Interface","isCodeLink":true},"DefaultDynamicNode.id":{"title":"DefaultDynamicNode.id","path":"/api/ngx-vflow/interfaces/DefaultDynamicNode#id","type":"Interface","isCodeLink":true},"DefaultDynamicNode.point":{"title":"DefaultDynamicNode.point","path":"/api/ngx-vflow/interfaces/DefaultDynamicNode#point","type":"Interface","isCodeLink":true},"DefaultDynamicNode.text":{"title":"DefaultDynamicNode.text","path":"/api/ngx-vflow/interfaces/DefaultDynamicNode#text","type":"Interface","isCodeLink":true},"DefaultDynamicNode.type":{"title":"DefaultDynamicNode.type","path":"/api/ngx-vflow/interfaces/DefaultDynamicNode#type","type":"Interface","isCodeLink":true},"DefaultDynamicNode.width":{"title":"DefaultDynamicNode.width","path":"/api/ngx-vflow/interfaces/DefaultDynamicNode#width","type":"Interface","isCodeLink":true},"HtmlTemplateNode":{"title":"HtmlTemplateNode","path":"/api/ngx-vflow/interfaces/HtmlTemplateNode","type":"Interface","isCodeLink":true},"HtmlTemplateNode#htmltemplatenode":{"title":"HtmlTemplateNode [HtmlTemplateNode]","path":"/api/ngx-vflow/interfaces/HtmlTemplateNode#htmltemplatenode","type":"Interface","isCodeLink":true},"HtmlTemplateNode#properties":{"title":"HtmlTemplateNode [Properties]","path":"/api/ngx-vflow/interfaces/HtmlTemplateNode#properties","type":"Interface","isCodeLink":true},"HtmlTemplateNode.data":{"title":"HtmlTemplateNode.data","path":"/api/ngx-vflow/interfaces/HtmlTemplateNode#data","type":"Interface","isCodeLink":true},"HtmlTemplateNode.draggable":{"title":"HtmlTemplateNode.draggable","path":"/api/ngx-vflow/interfaces/HtmlTemplateNode#draggable","type":"Interface","isCodeLink":true},"HtmlTemplateNode.id":{"title":"HtmlTemplateNode.id","path":"/api/ngx-vflow/interfaces/HtmlTemplateNode#id","type":"Interface","isCodeLink":true},"HtmlTemplateNode.point":{"title":"HtmlTemplateNode.point","path":"/api/ngx-vflow/interfaces/HtmlTemplateNode#point","type":"Interface","isCodeLink":true},"HtmlTemplateNode.type":{"title":"HtmlTemplateNode.type","path":"/api/ngx-vflow/interfaces/HtmlTemplateNode#type","type":"Interface","isCodeLink":true},"HtmlTemplateDynamicNode":{"title":"HtmlTemplateDynamicNode","path":"/api/ngx-vflow/interfaces/HtmlTemplateDynamicNode","type":"Interface","isCodeLink":true},"HtmlTemplateDynamicNode#htmltemplatedynamicnode":{"title":"HtmlTemplateDynamicNode [HtmlTemplateDynamicNode]","path":"/api/ngx-vflow/interfaces/HtmlTemplateDynamicNode#htmltemplatedynamicnode","type":"Interface","isCodeLink":true},"HtmlTemplateDynamicNode#properties":{"title":"HtmlTemplateDynamicNode [Properties]","path":"/api/ngx-vflow/interfaces/HtmlTemplateDynamicNode#properties","type":"Interface","isCodeLink":true},"HtmlTemplateDynamicNode.data":{"title":"HtmlTemplateDynamicNode.data","path":"/api/ngx-vflow/interfaces/HtmlTemplateDynamicNode#data","type":"Interface","isCodeLink":true},"HtmlTemplateDynamicNode.draggable":{"title":"HtmlTemplateDynamicNode.draggable","path":"/api/ngx-vflow/interfaces/HtmlTemplateDynamicNode#draggable","type":"Interface","isCodeLink":true},"HtmlTemplateDynamicNode.id":{"title":"HtmlTemplateDynamicNode.id","path":"/api/ngx-vflow/interfaces/HtmlTemplateDynamicNode#id","type":"Interface","isCodeLink":true},"HtmlTemplateDynamicNode.point":{"title":"HtmlTemplateDynamicNode.point","path":"/api/ngx-vflow/interfaces/HtmlTemplateDynamicNode#point","type":"Interface","isCodeLink":true},"HtmlTemplateDynamicNode.type":{"title":"HtmlTemplateDynamicNode.type","path":"/api/ngx-vflow/interfaces/HtmlTemplateDynamicNode#type","type":"Interface","isCodeLink":true},"ComponentNode":{"title":"ComponentNode","path":"/api/ngx-vflow/interfaces/ComponentNode","type":"Interface","isCodeLink":true},"ComponentNode#componentnode":{"title":"ComponentNode [ComponentNode]","path":"/api/ngx-vflow/interfaces/ComponentNode#componentnode","type":"Interface","isCodeLink":true},"ComponentNode#properties":{"title":"ComponentNode [Properties]","path":"/api/ngx-vflow/interfaces/ComponentNode#properties","type":"Interface","isCodeLink":true},"ComponentNode.data":{"title":"ComponentNode.data","path":"/api/ngx-vflow/interfaces/ComponentNode#data","type":"Interface","isCodeLink":true},"ComponentNode.draggable":{"title":"ComponentNode.draggable","path":"/api/ngx-vflow/interfaces/ComponentNode#draggable","type":"Interface","isCodeLink":true},"ComponentNode.id":{"title":"ComponentNode.id","path":"/api/ngx-vflow/interfaces/ComponentNode#id","type":"Interface","isCodeLink":true},"ComponentNode.point":{"title":"ComponentNode.point","path":"/api/ngx-vflow/interfaces/ComponentNode#point","type":"Interface","isCodeLink":true},"ComponentNode.type":{"title":"ComponentNode.type","path":"/api/ngx-vflow/interfaces/ComponentNode#type","type":"Interface","isCodeLink":true},"ComponentDynamicNode":{"title":"ComponentDynamicNode","path":"/api/ngx-vflow/interfaces/ComponentDynamicNode","type":"Interface","isCodeLink":true},"ComponentDynamicNode#componentdynamicnode":{"title":"ComponentDynamicNode [ComponentDynamicNode]","path":"/api/ngx-vflow/interfaces/ComponentDynamicNode#componentdynamicnode","type":"Interface","isCodeLink":true},"ComponentDynamicNode#properties":{"title":"ComponentDynamicNode [Properties]","path":"/api/ngx-vflow/interfaces/ComponentDynamicNode#properties","type":"Interface","isCodeLink":true},"ComponentDynamicNode.data":{"title":"ComponentDynamicNode.data","path":"/api/ngx-vflow/interfaces/ComponentDynamicNode#data","type":"Interface","isCodeLink":true},"ComponentDynamicNode.draggable":{"title":"ComponentDynamicNode.draggable","path":"/api/ngx-vflow/interfaces/ComponentDynamicNode#draggable","type":"Interface","isCodeLink":true},"ComponentDynamicNode.id":{"title":"ComponentDynamicNode.id","path":"/api/ngx-vflow/interfaces/ComponentDynamicNode#id","type":"Interface","isCodeLink":true},"ComponentDynamicNode.point":{"title":"ComponentDynamicNode.point","path":"/api/ngx-vflow/interfaces/ComponentDynamicNode#point","type":"Interface","isCodeLink":true},"ComponentDynamicNode.type":{"title":"ComponentDynamicNode.type","path":"/api/ngx-vflow/interfaces/ComponentDynamicNode#type","type":"Interface","isCodeLink":true},"Point":{"title":"Point","path":"/api/ngx-vflow/interfaces/Point","type":"Interface","isCodeLink":true},"Point#point":{"title":"Point [Point]","path":"/api/ngx-vflow/interfaces/Point#point","type":"Interface","isCodeLink":true},"Point#properties":{"title":"Point [Properties]","path":"/api/ngx-vflow/interfaces/Point#properties","type":"Interface","isCodeLink":true},"Point.x":{"title":"Point.x","path":"/api/ngx-vflow/interfaces/Point#x","type":"Interface","isCodeLink":true},"Point.y":{"title":"Point.y","path":"/api/ngx-vflow/interfaces/Point#y","type":"Interface","isCodeLink":true},"EdgeType":{"title":"EdgeType","path":"/api/ngx-vflow/type-aliases/EdgeType","type":"TypeAlias","isCodeLink":true},"EdgeType#edgetype":{"title":"EdgeType [EdgeType]","path":"/api/ngx-vflow/type-aliases/EdgeType#edgetype","type":"TypeAlias","isCodeLink":true},"EdgeType#presentation":{"title":"EdgeType [Presentation]","path":"/api/ngx-vflow/type-aliases/EdgeType#presentation","type":"TypeAlias","isCodeLink":true},"Curve":{"title":"Curve","path":"/api/ngx-vflow/type-aliases/Curve","type":"TypeAlias","isCodeLink":true},"Curve#curve":{"title":"Curve [Curve]","path":"/api/ngx-vflow/type-aliases/Curve#curve","type":"TypeAlias","isCodeLink":true},"Curve#presentation":{"title":"Curve [Presentation]","path":"/api/ngx-vflow/type-aliases/Curve#presentation","type":"TypeAlias","isCodeLink":true},"Edge":{"title":"Edge","path":"/api/ngx-vflow/interfaces/Edge","type":"Interface","isCodeLink":true},"Edge#edge":{"title":"Edge [Edge]","path":"/api/ngx-vflow/interfaces/Edge#edge","type":"Interface","isCodeLink":true},"Edge#properties":{"title":"Edge [Properties]","path":"/api/ngx-vflow/interfaces/Edge#properties","type":"Interface","isCodeLink":true},"Edge.curve":{"title":"Edge.curve","path":"/api/ngx-vflow/interfaces/Edge#curve","type":"Interface","isCodeLink":true},"Edge.data":{"title":"Edge.data","path":"/api/ngx-vflow/interfaces/Edge#data","type":"Interface","isCodeLink":true},"Edge.edgeLabels":{"title":"Edge.edgeLabels","path":"/api/ngx-vflow/interfaces/Edge#edgeLabels","type":"Interface","isCodeLink":true},"Edge.id":{"title":"Edge.id","path":"/api/ngx-vflow/interfaces/Edge#id","type":"Interface","isCodeLink":true},"Edge.markers":{"title":"Edge.markers","path":"/api/ngx-vflow/interfaces/Edge#markers","type":"Interface","isCodeLink":true},"Edge.source":{"title":"Edge.source","path":"/api/ngx-vflow/interfaces/Edge#source","type":"Interface","isCodeLink":true},"Edge.sourceHandle":{"title":"Edge.sourceHandle","path":"/api/ngx-vflow/interfaces/Edge#sourceHandle","type":"Interface","isCodeLink":true},"Edge.target":{"title":"Edge.target","path":"/api/ngx-vflow/interfaces/Edge#target","type":"Interface","isCodeLink":true},"Edge.targetHandle":{"title":"Edge.targetHandle","path":"/api/ngx-vflow/interfaces/Edge#targetHandle","type":"Interface","isCodeLink":true},"Edge.type":{"title":"Edge.type","path":"/api/ngx-vflow/interfaces/Edge#type","type":"Interface","isCodeLink":true},"EdgeLabelType":{"title":"EdgeLabelType","path":"/api/ngx-vflow/type-aliases/EdgeLabelType","type":"TypeAlias","isCodeLink":true},"EdgeLabelType#edgelabeltype":{"title":"EdgeLabelType [EdgeLabelType]","path":"/api/ngx-vflow/type-aliases/EdgeLabelType#edgelabeltype","type":"TypeAlias","isCodeLink":true},"EdgeLabelType#presentation":{"title":"EdgeLabelType [Presentation]","path":"/api/ngx-vflow/type-aliases/EdgeLabelType#presentation","type":"TypeAlias","isCodeLink":true},"EdgeLabelPosition":{"title":"EdgeLabelPosition","path":"/api/ngx-vflow/type-aliases/EdgeLabelPosition","type":"TypeAlias","isCodeLink":true},"EdgeLabelPosition#edgelabelposition":{"title":"EdgeLabelPosition [EdgeLabelPosition]","path":"/api/ngx-vflow/type-aliases/EdgeLabelPosition#edgelabelposition","type":"TypeAlias","isCodeLink":true},"EdgeLabelPosition#presentation":{"title":"EdgeLabelPosition [Presentation]","path":"/api/ngx-vflow/type-aliases/EdgeLabelPosition#presentation","type":"TypeAlias","isCodeLink":true},"EdgeLabel":{"title":"EdgeLabel","path":"/api/ngx-vflow/interfaces/EdgeLabel","type":"Interface","isCodeLink":true},"EdgeLabel#edgelabel":{"title":"EdgeLabel [EdgeLabel]","path":"/api/ngx-vflow/interfaces/EdgeLabel#edgelabel","type":"Interface","isCodeLink":true},"EdgeLabel#properties":{"title":"EdgeLabel [Properties]","path":"/api/ngx-vflow/interfaces/EdgeLabel#properties","type":"Interface","isCodeLink":true},"EdgeLabel.data":{"title":"EdgeLabel.data","path":"/api/ngx-vflow/interfaces/EdgeLabel#data","type":"Interface","isCodeLink":true},"EdgeLabel.type":{"title":"EdgeLabel.type","path":"/api/ngx-vflow/interfaces/EdgeLabel#type","type":"Interface","isCodeLink":true},"Connection":{"title":"Connection","path":"/api/ngx-vflow/interfaces/Connection","type":"Interface","isCodeLink":true},"Connection#connection":{"title":"Connection [Connection]","path":"/api/ngx-vflow/interfaces/Connection#connection","type":"Interface","isCodeLink":true},"Connection#properties":{"title":"Connection [Properties]","path":"/api/ngx-vflow/interfaces/Connection#properties","type":"Interface","isCodeLink":true},"Connection.source":{"title":"Connection.source","path":"/api/ngx-vflow/interfaces/Connection#source","type":"Interface","isCodeLink":true},"Connection.sourceHandle":{"title":"Connection.sourceHandle","path":"/api/ngx-vflow/interfaces/Connection#sourceHandle","type":"Interface","isCodeLink":true},"Connection.target":{"title":"Connection.target","path":"/api/ngx-vflow/interfaces/Connection#target","type":"Interface","isCodeLink":true},"Connection.targetHandle":{"title":"Connection.targetHandle","path":"/api/ngx-vflow/interfaces/Connection#targetHandle","type":"Interface","isCodeLink":true},"ConnectionValidatorFn":{"title":"ConnectionValidatorFn","path":"/api/ngx-vflow/type-aliases/ConnectionValidatorFn","type":"TypeAlias","isCodeLink":true},"ConnectionValidatorFn#connectionvalidatorfn":{"title":"ConnectionValidatorFn [ConnectionValidatorFn]","path":"/api/ngx-vflow/type-aliases/ConnectionValidatorFn#connectionvalidatorfn","type":"TypeAlias","isCodeLink":true},"ConnectionValidatorFn#presentation":{"title":"ConnectionValidatorFn [Presentation]","path":"/api/ngx-vflow/type-aliases/ConnectionValidatorFn#presentation","type":"TypeAlias","isCodeLink":true},"ConnectionSettings":{"title":"ConnectionSettings","path":"/api/ngx-vflow/interfaces/ConnectionSettings","type":"Interface","isCodeLink":true},"ConnectionSettings#connectionsettings":{"title":"ConnectionSettings [ConnectionSettings]","path":"/api/ngx-vflow/interfaces/ConnectionSettings#connectionsettings","type":"Interface","isCodeLink":true},"ConnectionSettings#properties":{"title":"ConnectionSettings [Properties]","path":"/api/ngx-vflow/interfaces/ConnectionSettings#properties","type":"Interface","isCodeLink":true},"ConnectionSettings.curve":{"title":"ConnectionSettings.curve","path":"/api/ngx-vflow/interfaces/ConnectionSettings#curve","type":"Interface","isCodeLink":true},"ConnectionSettings.marker":{"title":"ConnectionSettings.marker","path":"/api/ngx-vflow/interfaces/ConnectionSettings#marker","type":"Interface","isCodeLink":true},"ConnectionSettings.mode":{"title":"ConnectionSettings.mode","path":"/api/ngx-vflow/interfaces/ConnectionSettings#mode","type":"Interface","isCodeLink":true},"ConnectionSettings.type":{"title":"ConnectionSettings.type","path":"/api/ngx-vflow/interfaces/ConnectionSettings#type","type":"Interface","isCodeLink":true},"ConnectionSettings.validator":{"title":"ConnectionSettings.validator","path":"/api/ngx-vflow/interfaces/ConnectionSettings#validator","type":"Interface","isCodeLink":true},"HandlePositions":{"title":"HandlePositions","path":"/api/ngx-vflow/interfaces/HandlePositions","type":"Interface","isCodeLink":true},"HandlePositions#handlepositions":{"title":"HandlePositions [HandlePositions]","path":"/api/ngx-vflow/interfaces/HandlePositions#handlepositions","type":"Interface","isCodeLink":true},"HandlePositions#properties":{"title":"HandlePositions [Properties]","path":"/api/ngx-vflow/interfaces/HandlePositions#properties","type":"Interface","isCodeLink":true},"HandlePositions.source":{"title":"HandlePositions.source","path":"/api/ngx-vflow/interfaces/HandlePositions#source","type":"Interface","isCodeLink":true},"HandlePositions.target":{"title":"HandlePositions.target","path":"/api/ngx-vflow/interfaces/HandlePositions#target","type":"Interface","isCodeLink":true},"Marker":{"title":"Marker","path":"/api/ngx-vflow/interfaces/Marker","type":"Interface","isCodeLink":true},"Marker#marker":{"title":"Marker [Marker]","path":"/api/ngx-vflow/interfaces/Marker#marker","type":"Interface","isCodeLink":true},"Marker#properties":{"title":"Marker [Properties]","path":"/api/ngx-vflow/interfaces/Marker#properties","type":"Interface","isCodeLink":true},"Marker.color":{"title":"Marker.color","path":"/api/ngx-vflow/interfaces/Marker#color","type":"Interface","isCodeLink":true},"Marker.height":{"title":"Marker.height","path":"/api/ngx-vflow/interfaces/Marker#height","type":"Interface","isCodeLink":true},"Marker.markerUnits":{"title":"Marker.markerUnits","path":"/api/ngx-vflow/interfaces/Marker#markerUnits","type":"Interface","isCodeLink":true},"Marker.orient":{"title":"Marker.orient","path":"/api/ngx-vflow/interfaces/Marker#orient","type":"Interface","isCodeLink":true},"Marker.strokeWidth":{"title":"Marker.strokeWidth","path":"/api/ngx-vflow/interfaces/Marker#strokeWidth","type":"Interface","isCodeLink":true},"Marker.type":{"title":"Marker.type","path":"/api/ngx-vflow/interfaces/Marker#type","type":"Interface","isCodeLink":true},"Marker.width":{"title":"Marker.width","path":"/api/ngx-vflow/interfaces/Marker#width","type":"Interface","isCodeLink":true},"ComponentNodeEvent":{"title":"ComponentNodeEvent","path":"/api/ngx-vflow/type-aliases/ComponentNodeEvent","type":"TypeAlias","isCodeLink":true},"ComponentNodeEvent#componentnodeevent":{"title":"ComponentNodeEvent [ComponentNodeEvent]","path":"/api/ngx-vflow/type-aliases/ComponentNodeEvent#componentnodeevent","type":"TypeAlias","isCodeLink":true},"ComponentNodeEvent#presentation":{"title":"ComponentNodeEvent [Presentation]","path":"/api/ngx-vflow/type-aliases/ComponentNodeEvent#presentation","type":"TypeAlias","isCodeLink":true},"AnyComponentNodeEvent":{"title":"AnyComponentNodeEvent","path":"/api/ngx-vflow/type-aliases/AnyComponentNodeEvent","type":"TypeAlias","isCodeLink":true},"AnyComponentNodeEvent#anycomponentnodeevent":{"title":"AnyComponentNodeEvent [AnyComponentNodeEvent]","path":"/api/ngx-vflow/type-aliases/AnyComponentNodeEvent#anycomponentnodeevent","type":"TypeAlias","isCodeLink":true},"AnyComponentNodeEvent#presentation":{"title":"AnyComponentNodeEvent [Presentation]","path":"/api/ngx-vflow/type-aliases/AnyComponentNodeEvent#presentation","type":"TypeAlias","isCodeLink":true},"FitViewOptions":{"title":"FitViewOptions","path":"/api/ngx-vflow/interfaces/FitViewOptions","type":"Interface","isCodeLink":true},"FitViewOptions#fitviewoptions":{"title":"FitViewOptions [FitViewOptions]","path":"/api/ngx-vflow/interfaces/FitViewOptions#fitviewoptions","type":"Interface","isCodeLink":true},"FitViewOptions#properties":{"title":"FitViewOptions [Properties]","path":"/api/ngx-vflow/interfaces/FitViewOptions#properties","type":"Interface","isCodeLink":true},"FitViewOptions.duration":{"title":"FitViewOptions.duration","path":"/api/ngx-vflow/interfaces/FitViewOptions#duration","type":"Interface","isCodeLink":true},"FitViewOptions.nodes":{"title":"FitViewOptions.nodes","path":"/api/ngx-vflow/interfaces/FitViewOptions#nodes","type":"Interface","isCodeLink":true},"FitViewOptions.padding":{"title":"FitViewOptions.padding","path":"/api/ngx-vflow/interfaces/FitViewOptions#padding","type":"Interface","isCodeLink":true},"NodeChange":{"title":"NodeChange","path":"/api/ngx-vflow/type-aliases/NodeChange","type":"TypeAlias","isCodeLink":true},"NodeChange#nodechange":{"title":"NodeChange [NodeChange]","path":"/api/ngx-vflow/type-aliases/NodeChange#nodechange","type":"TypeAlias","isCodeLink":true},"NodeChange#presentation":{"title":"NodeChange [Presentation]","path":"/api/ngx-vflow/type-aliases/NodeChange#presentation","type":"TypeAlias","isCodeLink":true},"NodePositionChange":{"title":"NodePositionChange","path":"/api/ngx-vflow/interfaces/NodePositionChange","type":"Interface","isCodeLink":true},"NodePositionChange#nodepositionchange":{"title":"NodePositionChange [NodePositionChange]","path":"/api/ngx-vflow/interfaces/NodePositionChange#nodepositionchange","type":"Interface","isCodeLink":true},"NodePositionChange#properties":{"title":"NodePositionChange [Properties]","path":"/api/ngx-vflow/interfaces/NodePositionChange#properties","type":"Interface","isCodeLink":true},"NodePositionChange.id":{"title":"NodePositionChange.id","path":"/api/ngx-vflow/interfaces/NodePositionChange#id","type":"Interface","isCodeLink":true},"NodePositionChange.point":{"title":"NodePositionChange.point","path":"/api/ngx-vflow/interfaces/NodePositionChange#point","type":"Interface","isCodeLink":true},"NodePositionChange.type":{"title":"NodePositionChange.type","path":"/api/ngx-vflow/interfaces/NodePositionChange#type","type":"Interface","isCodeLink":true},"NodeAddChange":{"title":"NodeAddChange","path":"/api/ngx-vflow/interfaces/NodeAddChange","type":"Interface","isCodeLink":true},"NodeAddChange#nodeaddchange":{"title":"NodeAddChange [NodeAddChange]","path":"/api/ngx-vflow/interfaces/NodeAddChange#nodeaddchange","type":"Interface","isCodeLink":true},"NodeAddChange#properties":{"title":"NodeAddChange [Properties]","path":"/api/ngx-vflow/interfaces/NodeAddChange#properties","type":"Interface","isCodeLink":true},"NodeAddChange.id":{"title":"NodeAddChange.id","path":"/api/ngx-vflow/interfaces/NodeAddChange#id","type":"Interface","isCodeLink":true},"NodeAddChange.type":{"title":"NodeAddChange.type","path":"/api/ngx-vflow/interfaces/NodeAddChange#type","type":"Interface","isCodeLink":true},"NodeRemoveChange":{"title":"NodeRemoveChange","path":"/api/ngx-vflow/interfaces/NodeRemoveChange","type":"Interface","isCodeLink":true},"NodeRemoveChange#noderemovechange":{"title":"NodeRemoveChange [NodeRemoveChange]","path":"/api/ngx-vflow/interfaces/NodeRemoveChange#noderemovechange","type":"Interface","isCodeLink":true},"NodeRemoveChange#properties":{"title":"NodeRemoveChange [Properties]","path":"/api/ngx-vflow/interfaces/NodeRemoveChange#properties","type":"Interface","isCodeLink":true},"NodeRemoveChange.id":{"title":"NodeRemoveChange.id","path":"/api/ngx-vflow/interfaces/NodeRemoveChange#id","type":"Interface","isCodeLink":true},"NodeRemoveChange.type":{"title":"NodeRemoveChange.type","path":"/api/ngx-vflow/interfaces/NodeRemoveChange#type","type":"Interface","isCodeLink":true},"NodeSelectedChange":{"title":"NodeSelectedChange","path":"/api/ngx-vflow/interfaces/NodeSelectedChange","type":"Interface","isCodeLink":true},"NodeSelectedChange#nodeselectedchange":{"title":"NodeSelectedChange [NodeSelectedChange]","path":"/api/ngx-vflow/interfaces/NodeSelectedChange#nodeselectedchange","type":"Interface","isCodeLink":true},"NodeSelectedChange#properties":{"title":"NodeSelectedChange [Properties]","path":"/api/ngx-vflow/interfaces/NodeSelectedChange#properties","type":"Interface","isCodeLink":true},"NodeSelectedChange.id":{"title":"NodeSelectedChange.id","path":"/api/ngx-vflow/interfaces/NodeSelectedChange#id","type":"Interface","isCodeLink":true},"NodeSelectedChange.selected":{"title":"NodeSelectedChange.selected","path":"/api/ngx-vflow/interfaces/NodeSelectedChange#selected","type":"Interface","isCodeLink":true},"NodeSelectedChange.type":{"title":"NodeSelectedChange.type","path":"/api/ngx-vflow/interfaces/NodeSelectedChange#type","type":"Interface","isCodeLink":true},"EdgeChange":{"title":"EdgeChange","path":"/api/ngx-vflow/type-aliases/EdgeChange","type":"TypeAlias","isCodeLink":true},"EdgeChange#edgechange":{"title":"EdgeChange [EdgeChange]","path":"/api/ngx-vflow/type-aliases/EdgeChange#edgechange","type":"TypeAlias","isCodeLink":true},"EdgeChange#presentation":{"title":"EdgeChange [Presentation]","path":"/api/ngx-vflow/type-aliases/EdgeChange#presentation","type":"TypeAlias","isCodeLink":true},"EdgeDetachedChange":{"title":"EdgeDetachedChange","path":"/api/ngx-vflow/interfaces/EdgeDetachedChange","type":"Interface","isCodeLink":true},"EdgeDetachedChange#edgedetachedchange":{"title":"EdgeDetachedChange [EdgeDetachedChange]","path":"/api/ngx-vflow/interfaces/EdgeDetachedChange#edgedetachedchange","type":"Interface","isCodeLink":true},"EdgeDetachedChange#properties":{"title":"EdgeDetachedChange [Properties]","path":"/api/ngx-vflow/interfaces/EdgeDetachedChange#properties","type":"Interface","isCodeLink":true},"EdgeDetachedChange.id":{"title":"EdgeDetachedChange.id","path":"/api/ngx-vflow/interfaces/EdgeDetachedChange#id","type":"Interface","isCodeLink":true},"EdgeDetachedChange.type":{"title":"EdgeDetachedChange.type","path":"/api/ngx-vflow/interfaces/EdgeDetachedChange#type","type":"Interface","isCodeLink":true},"EdgeAddChange":{"title":"EdgeAddChange","path":"/api/ngx-vflow/interfaces/EdgeAddChange","type":"Interface","isCodeLink":true},"EdgeAddChange#edgeaddchange":{"title":"EdgeAddChange [EdgeAddChange]","path":"/api/ngx-vflow/interfaces/EdgeAddChange#edgeaddchange","type":"Interface","isCodeLink":true},"EdgeAddChange#properties":{"title":"EdgeAddChange [Properties]","path":"/api/ngx-vflow/interfaces/EdgeAddChange#properties","type":"Interface","isCodeLink":true},"EdgeAddChange.id":{"title":"EdgeAddChange.id","path":"/api/ngx-vflow/interfaces/EdgeAddChange#id","type":"Interface","isCodeLink":true},"EdgeAddChange.type":{"title":"EdgeAddChange.type","path":"/api/ngx-vflow/interfaces/EdgeAddChange#type","type":"Interface","isCodeLink":true},"EdgeRemoveChange":{"title":"EdgeRemoveChange","path":"/api/ngx-vflow/interfaces/EdgeRemoveChange","type":"Interface","isCodeLink":true},"EdgeRemoveChange#edgeremovechange":{"title":"EdgeRemoveChange [EdgeRemoveChange]","path":"/api/ngx-vflow/interfaces/EdgeRemoveChange#edgeremovechange","type":"Interface","isCodeLink":true},"EdgeRemoveChange#properties":{"title":"EdgeRemoveChange [Properties]","path":"/api/ngx-vflow/interfaces/EdgeRemoveChange#properties","type":"Interface","isCodeLink":true},"EdgeRemoveChange.id":{"title":"EdgeRemoveChange.id","path":"/api/ngx-vflow/interfaces/EdgeRemoveChange#id","type":"Interface","isCodeLink":true},"EdgeRemoveChange.type":{"title":"EdgeRemoveChange.type","path":"/api/ngx-vflow/interfaces/EdgeRemoveChange#type","type":"Interface","isCodeLink":true},"EdgeSelectChange":{"title":"EdgeSelectChange","path":"/api/ngx-vflow/interfaces/EdgeSelectChange","type":"Interface","isCodeLink":true},"EdgeSelectChange#edgeselectchange":{"title":"EdgeSelectChange [EdgeSelectChange]","path":"/api/ngx-vflow/interfaces/EdgeSelectChange#edgeselectchange","type":"Interface","isCodeLink":true},"EdgeSelectChange#properties":{"title":"EdgeSelectChange [Properties]","path":"/api/ngx-vflow/interfaces/EdgeSelectChange#properties","type":"Interface","isCodeLink":true},"EdgeSelectChange.id":{"title":"EdgeSelectChange.id","path":"/api/ngx-vflow/interfaces/EdgeSelectChange#id","type":"Interface","isCodeLink":true},"EdgeSelectChange.selected":{"title":"EdgeSelectChange.selected","path":"/api/ngx-vflow/interfaces/EdgeSelectChange#selected","type":"Interface","isCodeLink":true},"EdgeSelectChange.type":{"title":"EdgeSelectChange.type","path":"/api/ngx-vflow/interfaces/EdgeSelectChange#type","type":"Interface","isCodeLink":true},"Position":{"title":"Position","path":"/api/ngx-vflow/type-aliases/Position","type":"TypeAlias","isCodeLink":true},"Position#position":{"title":"Position [Position]","path":"/api/ngx-vflow/type-aliases/Position#position","type":"TypeAlias","isCodeLink":true},"Position#presentation":{"title":"Position [Presentation]","path":"/api/ngx-vflow/type-aliases/Position#presentation","type":"TypeAlias","isCodeLink":true},"Background":{"title":"Background","path":"/api/ngx-vflow/type-aliases/Background","type":"TypeAlias","isCodeLink":true},"Background#background":{"title":"Background [Background]","path":"/api/ngx-vflow/type-aliases/Background#background","type":"TypeAlias","isCodeLink":true},"Background#presentation":{"title":"Background [Presentation]","path":"/api/ngx-vflow/type-aliases/Background#presentation","type":"TypeAlias","isCodeLink":true},"ColorBackground":{"title":"ColorBackground","path":"/api/ngx-vflow/interfaces/ColorBackground","type":"Interface","isCodeLink":true},"ColorBackground#colorbackground":{"title":"ColorBackground [ColorBackground]","path":"/api/ngx-vflow/interfaces/ColorBackground#colorbackground","type":"Interface","isCodeLink":true},"ColorBackground#properties":{"title":"ColorBackground [Properties]","path":"/api/ngx-vflow/interfaces/ColorBackground#properties","type":"Interface","isCodeLink":true},"ColorBackground.color":{"title":"ColorBackground.color","path":"/api/ngx-vflow/interfaces/ColorBackground#color","type":"Interface","isCodeLink":true},"ColorBackground.type":{"title":"ColorBackground.type","path":"/api/ngx-vflow/interfaces/ColorBackground#type","type":"Interface","isCodeLink":true},"DotsBackground":{"title":"DotsBackground","path":"/api/ngx-vflow/interfaces/DotsBackground","type":"Interface","isCodeLink":true},"DotsBackground#dotsbackground":{"title":"DotsBackground [DotsBackground]","path":"/api/ngx-vflow/interfaces/DotsBackground#dotsbackground","type":"Interface","isCodeLink":true},"DotsBackground#properties":{"title":"DotsBackground [Properties]","path":"/api/ngx-vflow/interfaces/DotsBackground#properties","type":"Interface","isCodeLink":true},"DotsBackground.backgroundColor":{"title":"DotsBackground.backgroundColor","path":"/api/ngx-vflow/interfaces/DotsBackground#backgroundColor","type":"Interface","isCodeLink":true},"DotsBackground.color":{"title":"DotsBackground.color","path":"/api/ngx-vflow/interfaces/DotsBackground#color","type":"Interface","isCodeLink":true},"DotsBackground.gap":{"title":"DotsBackground.gap","path":"/api/ngx-vflow/interfaces/DotsBackground#gap","type":"Interface","isCodeLink":true},"DotsBackground.size":{"title":"DotsBackground.size","path":"/api/ngx-vflow/interfaces/DotsBackground#size","type":"Interface","isCodeLink":true},"DotsBackground.type":{"title":"DotsBackground.type","path":"/api/ngx-vflow/interfaces/DotsBackground#type","type":"Interface","isCodeLink":true},"ConnectionMode":{"title":"ConnectionMode","path":"/api/ngx-vflow/type-aliases/ConnectionMode","type":"TypeAlias","isCodeLink":true},"ConnectionMode#connectionmode":{"title":"ConnectionMode [ConnectionMode]","path":"/api/ngx-vflow/type-aliases/ConnectionMode#connectionmode","type":"TypeAlias","isCodeLink":true},"ConnectionMode#presentation":{"title":"ConnectionMode [Presentation]","path":"/api/ngx-vflow/type-aliases/ConnectionMode#presentation","type":"TypeAlias","isCodeLink":true},"VflowComponent":{"title":"VflowComponent","path":"/api/ngx-vflow/classes/VflowComponent","type":"Component","isCodeLink":true},"VflowComponent#vflowcomponent":{"title":"VflowComponent [VflowComponent]","path":"/api/ngx-vflow/classes/VflowComponent#vflowcomponent","type":"Component","isCodeLink":true},"VflowComponent#properties":{"title":"VflowComponent [Properties]","path":"/api/ngx-vflow/classes/VflowComponent#properties","type":"Component","isCodeLink":true},"VflowComponent.background":{"title":"VflowComponent.background","path":"/api/ngx-vflow/classes/VflowComponent#background","type":"Component","isCodeLink":true},"VflowComponent.connectionTemplateDirective":{"title":"VflowComponent.connectionTemplateDirective","path":"/api/ngx-vflow/classes/VflowComponent#connectionTemplateDirective","type":"Component","isCodeLink":true},"VflowComponent.edgeLabelHtmlDirective":{"title":"VflowComponent.edgeLabelHtmlDirective","path":"/api/ngx-vflow/classes/VflowComponent#edgeLabelHtmlDirective","type":"Component","isCodeLink":true},"VflowComponent.edgeModels":{"title":"VflowComponent.edgeModels","path":"/api/ngx-vflow/classes/VflowComponent#edgeModels","type":"Component","isCodeLink":true},"VflowComponent.edgesChange":{"title":"VflowComponent.edgesChange","path":"/api/ngx-vflow/classes/VflowComponent#edgesChange","type":"Component","isCodeLink":true},"VflowComponent.edgesChange$":{"title":"VflowComponent.edgesChange$","path":"/api/ngx-vflow/classes/VflowComponent#edgesChange$","type":"Component","isCodeLink":true},"VflowComponent.edgeTemplateDirective":{"title":"VflowComponent.edgeTemplateDirective","path":"/api/ngx-vflow/classes/VflowComponent#edgeTemplateDirective","type":"Component","isCodeLink":true},"VflowComponent.mapContext":{"title":"VflowComponent.mapContext","path":"/api/ngx-vflow/classes/VflowComponent#mapContext","type":"Component","isCodeLink":true},"VflowComponent.markers":{"title":"VflowComponent.markers","path":"/api/ngx-vflow/classes/VflowComponent#markers","type":"Component","isCodeLink":true},"VflowComponent.nodeHtmlDirective":{"title":"VflowComponent.nodeHtmlDirective","path":"/api/ngx-vflow/classes/VflowComponent#nodeHtmlDirective","type":"Component","isCodeLink":true},"VflowComponent.nodeModels":{"title":"VflowComponent.nodeModels","path":"/api/ngx-vflow/classes/VflowComponent#nodeModels","type":"Component","isCodeLink":true},"VflowComponent.nodesChange":{"title":"VflowComponent.nodesChange","path":"/api/ngx-vflow/classes/VflowComponent#nodesChange","type":"Component","isCodeLink":true},"VflowComponent.nodesChange$":{"title":"VflowComponent.nodesChange$","path":"/api/ngx-vflow/classes/VflowComponent#nodesChange$","type":"Component","isCodeLink":true},"VflowComponent.onComponentNodeEvent":{"title":"VflowComponent.onComponentNodeEvent","path":"/api/ngx-vflow/classes/VflowComponent#onComponentNodeEvent","type":"Component","isCodeLink":true},"VflowComponent.spacePointContext":{"title":"VflowComponent.spacePointContext","path":"/api/ngx-vflow/classes/VflowComponent#spacePointContext","type":"Component","isCodeLink":true},"VflowComponent.viewport":{"title":"VflowComponent.viewport","path":"/api/ngx-vflow/classes/VflowComponent#viewport","type":"Component","isCodeLink":true},"VflowComponent.viewportChange$":{"title":"VflowComponent.viewportChange$","path":"/api/ngx-vflow/classes/VflowComponent#viewportChange$","type":"Component","isCodeLink":true},"VflowComponent#accessors":{"title":"VflowComponent [Accessors]","path":"/api/ngx-vflow/classes/VflowComponent#accessors","type":"Component","isCodeLink":true},"VflowComponent.get-connection":{"title":"VflowComponent.connection","path":"/api/ngx-vflow/classes/VflowComponent#get-connection","type":"Component","isCodeLink":true},"VflowComponent.set-connection":{"title":"VflowComponent.connection","path":"/api/ngx-vflow/classes/VflowComponent#set-connection","type":"Component","isCodeLink":true},"VflowComponent.set-edges":{"title":"VflowComponent.edges","path":"/api/ngx-vflow/classes/VflowComponent#set-edges","type":"Component","isCodeLink":true},"VflowComponent.set-entitiesSelectable":{"title":"VflowComponent.entitiesSelectable","path":"/api/ngx-vflow/classes/VflowComponent#set-entitiesSelectable","type":"Component","isCodeLink":true},"VflowComponent.set-handlePositions":{"title":"VflowComponent.handlePositions","path":"/api/ngx-vflow/classes/VflowComponent#set-handlePositions","type":"Component","isCodeLink":true},"VflowComponent.set-maxZoom":{"title":"VflowComponent.maxZoom","path":"/api/ngx-vflow/classes/VflowComponent#set-maxZoom","type":"Component","isCodeLink":true},"VflowComponent.set-minZoom":{"title":"VflowComponent.minZoom","path":"/api/ngx-vflow/classes/VflowComponent#set-minZoom","type":"Component","isCodeLink":true},"VflowComponent.set-nodes":{"title":"VflowComponent.nodes","path":"/api/ngx-vflow/classes/VflowComponent#set-nodes","type":"Component","isCodeLink":true},"VflowComponent.set-view":{"title":"VflowComponent.view","path":"/api/ngx-vflow/classes/VflowComponent#set-view","type":"Component","isCodeLink":true},"VflowComponent#methods":{"title":"VflowComponent [Methods]","path":"/api/ngx-vflow/classes/VflowComponent#methods","type":"Component","isCodeLink":true},"VflowComponent.documentpointtoflowpoint":{"title":"VflowComponent.documentPointToFlowPoint()","path":"/api/ngx-vflow/classes/VflowComponent#documentpointtoflowpoint","type":"Component","isCodeLink":true},"VflowComponent.fitview":{"title":"VflowComponent.fitView()","path":"/api/ngx-vflow/classes/VflowComponent#fitview","type":"Component","isCodeLink":true},"VflowComponent.getdetachededges":{"title":"VflowComponent.getDetachedEdges()","path":"/api/ngx-vflow/classes/VflowComponent#getdetachededges","type":"Component","isCodeLink":true},"VflowComponent.getnode":{"title":"VflowComponent.getNode()","path":"/api/ngx-vflow/classes/VflowComponent#getnode","type":"Component","isCodeLink":true},"VflowComponent.panto":{"title":"VflowComponent.panTo()","path":"/api/ngx-vflow/classes/VflowComponent#panto","type":"Component","isCodeLink":true},"VflowComponent.trackedges":{"title":"VflowComponent.trackEdges()","path":"/api/ngx-vflow/classes/VflowComponent#trackedges","type":"Component","isCodeLink":true},"VflowComponent.tracknodes":{"title":"VflowComponent.trackNodes()","path":"/api/ngx-vflow/classes/VflowComponent#tracknodes","type":"Component","isCodeLink":true},"VflowComponent.viewportto":{"title":"VflowComponent.viewportTo()","path":"/api/ngx-vflow/classes/VflowComponent#viewportto","type":"Component","isCodeLink":true},"VflowComponent.zoomto":{"title":"VflowComponent.zoomTo()","path":"/api/ngx-vflow/classes/VflowComponent#zoomto","type":"Component","isCodeLink":true},"HandleComponent":{"title":"HandleComponent","path":"/api/ngx-vflow/classes/HandleComponent","type":"Component","isCodeLink":true},"HandleComponent#handlecomponent":{"title":"HandleComponent [HandleComponent]","path":"/api/ngx-vflow/classes/HandleComponent#handlecomponent","type":"Component","isCodeLink":true},"HandleComponent#properties":{"title":"HandleComponent [Properties]","path":"/api/ngx-vflow/classes/HandleComponent#properties","type":"Component","isCodeLink":true},"HandleComponent.id":{"title":"HandleComponent.id","path":"/api/ngx-vflow/classes/HandleComponent#id","type":"Component","isCodeLink":true},"HandleComponent.injector":{"title":"HandleComponent.injector","path":"/api/ngx-vflow/classes/HandleComponent#injector","type":"Component","isCodeLink":true},"HandleComponent.model":{"title":"HandleComponent.model","path":"/api/ngx-vflow/classes/HandleComponent#model","type":"Component","isCodeLink":true},"HandleComponent.position":{"title":"HandleComponent.position","path":"/api/ngx-vflow/classes/HandleComponent#position","type":"Component","isCodeLink":true},"HandleComponent.template":{"title":"HandleComponent.template","path":"/api/ngx-vflow/classes/HandleComponent#template","type":"Component","isCodeLink":true},"HandleComponent.type":{"title":"HandleComponent.type","path":"/api/ngx-vflow/classes/HandleComponent#type","type":"Component","isCodeLink":true},"HandleComponent#methods":{"title":"HandleComponent [Methods]","path":"/api/ngx-vflow/classes/HandleComponent#methods","type":"Component","isCodeLink":true},"HandleComponent.ngondestroy":{"title":"HandleComponent.ngOnDestroy()","path":"/api/ngx-vflow/classes/HandleComponent#ngondestroy","type":"Component","isCodeLink":true},"HandleComponent.ngoninit":{"title":"HandleComponent.ngOnInit()","path":"/api/ngx-vflow/classes/HandleComponent#ngoninit","type":"Component","isCodeLink":true},"CustomNodeComponent":{"title":"CustomNodeComponent","path":"/api/ngx-vflow/classes/CustomNodeComponent","type":"Directive","isCodeLink":true},"CustomNodeComponent#customnodecomponent":{"title":"CustomNodeComponent [CustomNodeComponent]","path":"/api/ngx-vflow/classes/CustomNodeComponent#customnodecomponent","type":"Directive","isCodeLink":true},"CustomNodeComponent#see-also":{"title":"CustomNodeComponent [See Also]","path":"/api/ngx-vflow/classes/CustomNodeComponent#see-also","type":"Directive","isCodeLink":true},"CustomNodeComponent#properties":{"title":"CustomNodeComponent [Properties]","path":"/api/ngx-vflow/classes/CustomNodeComponent#properties","type":"Directive","isCodeLink":true},"CustomNodeComponent.data":{"title":"CustomNodeComponent.data","path":"/api/ngx-vflow/classes/CustomNodeComponent#data","type":"Directive","isCodeLink":true},"CustomNodeComponent.destroyRef":{"title":"CustomNodeComponent.destroyRef","path":"/api/ngx-vflow/classes/CustomNodeComponent#destroyRef","type":"Directive","isCodeLink":true},"CustomNodeComponent.node":{"title":"CustomNodeComponent.node","path":"/api/ngx-vflow/classes/CustomNodeComponent#node","type":"Directive","isCodeLink":true},"CustomNodeComponent.selected":{"title":"CustomNodeComponent.selected","path":"/api/ngx-vflow/classes/CustomNodeComponent#selected","type":"Directive","isCodeLink":true},"CustomNodeComponent#accessors":{"title":"CustomNodeComponent [Accessors]","path":"/api/ngx-vflow/classes/CustomNodeComponent#accessors","type":"Directive","isCodeLink":true},"CustomNodeComponent.set-_selected":{"title":"CustomNodeComponent._selected","path":"/api/ngx-vflow/classes/CustomNodeComponent#set-_selected","type":"Directive","isCodeLink":true},"CustomNodeComponent#methods":{"title":"CustomNodeComponent [Methods]","path":"/api/ngx-vflow/classes/CustomNodeComponent#methods","type":"Directive","isCodeLink":true},"CustomNodeComponent.ngoninit":{"title":"CustomNodeComponent.ngOnInit()","path":"/api/ngx-vflow/classes/CustomNodeComponent#ngoninit","type":"Directive","isCodeLink":true},"CustomDynamicNodeComponent":{"title":"CustomDynamicNodeComponent","path":"/api/ngx-vflow/classes/CustomDynamicNodeComponent","type":"Directive","isCodeLink":true},"CustomDynamicNodeComponent#customdynamicnodecomponent":{"title":"CustomDynamicNodeComponent [CustomDynamicNodeComponent]","path":"/api/ngx-vflow/classes/CustomDynamicNodeComponent#customdynamicnodecomponent","type":"Directive","isCodeLink":true},"CustomDynamicNodeComponent#properties":{"title":"CustomDynamicNodeComponent [Properties]","path":"/api/ngx-vflow/classes/CustomDynamicNodeComponent#properties","type":"Directive","isCodeLink":true},"CustomDynamicNodeComponent.data":{"title":"CustomDynamicNodeComponent.data","path":"/api/ngx-vflow/classes/CustomDynamicNodeComponent#data","type":"Directive","isCodeLink":true},"CustomDynamicNodeComponent.destroyRef":{"title":"CustomDynamicNodeComponent.destroyRef","path":"/api/ngx-vflow/classes/CustomDynamicNodeComponent#destroyRef","type":"Directive","isCodeLink":true},"CustomDynamicNodeComponent.node":{"title":"CustomDynamicNodeComponent.node","path":"/api/ngx-vflow/classes/CustomDynamicNodeComponent#node","type":"Directive","isCodeLink":true},"CustomDynamicNodeComponent.selected":{"title":"CustomDynamicNodeComponent.selected","path":"/api/ngx-vflow/classes/CustomDynamicNodeComponent#selected","type":"Directive","isCodeLink":true},"CustomDynamicNodeComponent#accessors":{"title":"CustomDynamicNodeComponent [Accessors]","path":"/api/ngx-vflow/classes/CustomDynamicNodeComponent#accessors","type":"Directive","isCodeLink":true},"CustomDynamicNodeComponent.set-_selected":{"title":"CustomDynamicNodeComponent._selected","path":"/api/ngx-vflow/classes/CustomDynamicNodeComponent#set-_selected","type":"Directive","isCodeLink":true},"CustomDynamicNodeComponent#methods":{"title":"CustomDynamicNodeComponent [Methods]","path":"/api/ngx-vflow/classes/CustomDynamicNodeComponent#methods","type":"Directive","isCodeLink":true},"CustomDynamicNodeComponent.ngoninit":{"title":"CustomDynamicNodeComponent.ngOnInit()","path":"/api/ngx-vflow/classes/CustomDynamicNodeComponent#ngoninit","type":"Directive","isCodeLink":true},"EdgeTemplateDirective":{"title":"EdgeTemplateDirective","path":"/api/ngx-vflow/classes/EdgeTemplateDirective","type":"Directive","isCodeLink":true},"EdgeTemplateDirective#edgetemplatedirective":{"title":"EdgeTemplateDirective [EdgeTemplateDirective]","path":"/api/ngx-vflow/classes/EdgeTemplateDirective#edgetemplatedirective","type":"Directive","isCodeLink":true},"EdgeTemplateDirective#properties":{"title":"EdgeTemplateDirective [Properties]","path":"/api/ngx-vflow/classes/EdgeTemplateDirective#properties","type":"Directive","isCodeLink":true},"EdgeTemplateDirective.templateRef":{"title":"EdgeTemplateDirective.templateRef","path":"/api/ngx-vflow/classes/EdgeTemplateDirective#templateRef","type":"Directive","isCodeLink":true},"ConnectionTemplateDirective":{"title":"ConnectionTemplateDirective","path":"/api/ngx-vflow/classes/ConnectionTemplateDirective","type":"Directive","isCodeLink":true},"ConnectionTemplateDirective#connectiontemplatedirective":{"title":"ConnectionTemplateDirective [ConnectionTemplateDirective]","path":"/api/ngx-vflow/classes/ConnectionTemplateDirective#connectiontemplatedirective","type":"Directive","isCodeLink":true},"ConnectionTemplateDirective#properties":{"title":"ConnectionTemplateDirective [Properties]","path":"/api/ngx-vflow/classes/ConnectionTemplateDirective#properties","type":"Directive","isCodeLink":true},"ConnectionTemplateDirective.templateRef":{"title":"ConnectionTemplateDirective.templateRef","path":"/api/ngx-vflow/classes/ConnectionTemplateDirective#templateRef","type":"Directive","isCodeLink":true},"EdgeLabelHtmlTemplateDirective":{"title":"EdgeLabelHtmlTemplateDirective","path":"/api/ngx-vflow/classes/EdgeLabelHtmlTemplateDirective","type":"Directive","isCodeLink":true},"EdgeLabelHtmlTemplateDirective#edgelabelhtmltemplatedirective":{"title":"EdgeLabelHtmlTemplateDirective [EdgeLabelHtmlTemplateDirective]","path":"/api/ngx-vflow/classes/EdgeLabelHtmlTemplateDirective#edgelabelhtmltemplatedirective","type":"Directive","isCodeLink":true},"EdgeLabelHtmlTemplateDirective#properties":{"title":"EdgeLabelHtmlTemplateDirective [Properties]","path":"/api/ngx-vflow/classes/EdgeLabelHtmlTemplateDirective#properties","type":"Directive","isCodeLink":true},"EdgeLabelHtmlTemplateDirective.templateRef":{"title":"EdgeLabelHtmlTemplateDirective.templateRef","path":"/api/ngx-vflow/classes/EdgeLabelHtmlTemplateDirective#templateRef","type":"Directive","isCodeLink":true},"NodeHtmlTemplateDirective":{"title":"NodeHtmlTemplateDirective","path":"/api/ngx-vflow/classes/NodeHtmlTemplateDirective","type":"Directive","isCodeLink":true},"NodeHtmlTemplateDirective#nodehtmltemplatedirective":{"title":"NodeHtmlTemplateDirective [NodeHtmlTemplateDirective]","path":"/api/ngx-vflow/classes/NodeHtmlTemplateDirective#nodehtmltemplatedirective","type":"Directive","isCodeLink":true},"NodeHtmlTemplateDirective#properties":{"title":"NodeHtmlTemplateDirective [Properties]","path":"/api/ngx-vflow/classes/NodeHtmlTemplateDirective#properties","type":"Directive","isCodeLink":true},"NodeHtmlTemplateDirective.templateRef":{"title":"NodeHtmlTemplateDirective.templateRef","path":"/api/ngx-vflow/classes/NodeHtmlTemplateDirective#templateRef","type":"Directive","isCodeLink":true},"HandleTemplateDirective":{"title":"HandleTemplateDirective","path":"/api/ngx-vflow/classes/HandleTemplateDirective","type":"Directive","isCodeLink":true},"HandleTemplateDirective#handletemplatedirective":{"title":"HandleTemplateDirective [HandleTemplateDirective]","path":"/api/ngx-vflow/classes/HandleTemplateDirective#handletemplatedirective","type":"Directive","isCodeLink":true},"HandleTemplateDirective#properties":{"title":"HandleTemplateDirective [Properties]","path":"/api/ngx-vflow/classes/HandleTemplateDirective#properties","type":"Directive","isCodeLink":true},"HandleTemplateDirective.templateRef":{"title":"HandleTemplateDirective.templateRef","path":"/api/ngx-vflow/classes/HandleTemplateDirective#templateRef","type":"Directive","isCodeLink":true},"ConnectionControllerDirective":{"title":"ConnectionControllerDirective","path":"/api/ngx-vflow/classes/ConnectionControllerDirective","type":"Directive","isCodeLink":true},"ConnectionControllerDirective#connectioncontrollerdirective":{"title":"ConnectionControllerDirective [ConnectionControllerDirective]","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#connectioncontrollerdirective","type":"Directive","isCodeLink":true},"ConnectionControllerDirective#properties":{"title":"ConnectionControllerDirective [Properties]","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#properties","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.connectEffect":{"title":"ConnectionControllerDirective.connectEffect","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#connectEffect","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.isStrictMode":{"title":"ConnectionControllerDirective.isStrictMode","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#isStrictMode","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.onConnect":{"title":"ConnectionControllerDirective.onConnect","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#onConnect","type":"Directive","isCodeLink":true},"ConnectionControllerDirective#methods":{"title":"ConnectionControllerDirective [Methods]","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#methods","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.endconnection":{"title":"ConnectionControllerDirective.endConnection()","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#endconnection","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.resetvalidateconnection":{"title":"ConnectionControllerDirective.resetValidateConnection()","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#resetvalidateconnection","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.startconnection":{"title":"ConnectionControllerDirective.startConnection()","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#startconnection","type":"Directive","isCodeLink":true},"ConnectionControllerDirective.validateconnection":{"title":"ConnectionControllerDirective.validateConnection()","path":"/api/ngx-vflow/classes/ConnectionControllerDirective#validateconnection","type":"Directive","isCodeLink":true},"ChangesControllerDirective":{"title":"ChangesControllerDirective","path":"/api/ngx-vflow/classes/ChangesControllerDirective","type":"Directive","isCodeLink":true},"ChangesControllerDirective#changescontrollerdirective":{"title":"ChangesControllerDirective [ChangesControllerDirective]","path":"/api/ngx-vflow/classes/ChangesControllerDirective#changescontrollerdirective","type":"Directive","isCodeLink":true},"ChangesControllerDirective#properties":{"title":"ChangesControllerDirective [Properties]","path":"/api/ngx-vflow/classes/ChangesControllerDirective#properties","type":"Directive","isCodeLink":true},"ChangesControllerDirective.edgesChangeService":{"title":"ChangesControllerDirective.edgesChangeService","path":"/api/ngx-vflow/classes/ChangesControllerDirective#edgesChangeService","type":"Directive","isCodeLink":true},"ChangesControllerDirective.nodesChangeService":{"title":"ChangesControllerDirective.nodesChangeService","path":"/api/ngx-vflow/classes/ChangesControllerDirective#nodesChangeService","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeAddMany":{"title":"ChangesControllerDirective.onEdgeChangeAddMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeAddMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeAddSingle":{"title":"ChangesControllerDirective.onEdgeChangeAddSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeAddSingle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeRemove":{"title":"ChangesControllerDirective.onEdgeChangeRemove","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeRemove","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeRemoveMany":{"title":"ChangesControllerDirective.onEdgeChangeRemoveMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeRemoveMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeRemoveSingle":{"title":"ChangesControllerDirective.onEdgeChangeRemoveSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeRemoveSingle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeSelect":{"title":"ChangesControllerDirective.onEdgeChangeSelect","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeSelect","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeSelectMany":{"title":"ChangesControllerDirective.onEdgeChangeSelectMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeSelectMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgeChangeSelectSingle":{"title":"ChangesControllerDirective.onEdgeChangeSelectSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgeChangeSelectSingle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgesChange":{"title":"ChangesControllerDirective.onEdgesChange","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgesChange","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onEdgesChangeAdd":{"title":"ChangesControllerDirective.onEdgesChangeAdd","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onEdgesChangeAdd","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChange":{"title":"ChangesControllerDirective.onNodesChange","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChange","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeAdd":{"title":"ChangesControllerDirective.onNodesChangeAdd","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeAdd","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeAddMany":{"title":"ChangesControllerDirective.onNodesChangeAddMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeAddMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeAddSingle":{"title":"ChangesControllerDirective.onNodesChangeAddSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeAddSingle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeDetached":{"title":"ChangesControllerDirective.onNodesChangeDetached","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeDetached","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeDetachedMany":{"title":"ChangesControllerDirective.onNodesChangeDetachedMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeDetachedMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeDetachedSingle":{"title":"ChangesControllerDirective.onNodesChangeDetachedSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeDetachedSingle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangePosition":{"title":"ChangesControllerDirective.onNodesChangePosition","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangePosition","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangePositionMany":{"title":"ChangesControllerDirective.onNodesChangePositionMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangePositionMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangePositionSignle":{"title":"ChangesControllerDirective.onNodesChangePositionSignle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangePositionSignle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeRemove":{"title":"ChangesControllerDirective.onNodesChangeRemove","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeRemove","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeRemoveMany":{"title":"ChangesControllerDirective.onNodesChangeRemoveMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeRemoveMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeRemoveSingle":{"title":"ChangesControllerDirective.onNodesChangeRemoveSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeRemoveSingle","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeSelect":{"title":"ChangesControllerDirective.onNodesChangeSelect","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeSelect","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeSelectMany":{"title":"ChangesControllerDirective.onNodesChangeSelectMany","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeSelectMany","type":"Directive","isCodeLink":true},"ChangesControllerDirective.onNodesChangeSelectSingle":{"title":"ChangesControllerDirective.onNodesChangeSelectSingle","path":"/api/ngx-vflow/classes/ChangesControllerDirective#onNodesChangeSelectSingle","type":"Directive","isCodeLink":true},"SelectableDirective":{"title":"SelectableDirective","path":"/api/ngx-vflow/classes/SelectableDirective","type":"Directive","isCodeLink":true},"SelectableDirective#selectabledirective":{"title":"SelectableDirective [SelectableDirective]","path":"/api/ngx-vflow/classes/SelectableDirective#selectabledirective","type":"Directive","isCodeLink":true},"SelectableDirective#methods":{"title":"SelectableDirective [Methods]","path":"/api/ngx-vflow/classes/SelectableDirective#methods","type":"Directive","isCodeLink":true},"SelectableDirective.onmousedown":{"title":"SelectableDirective.onMousedown()","path":"/api/ngx-vflow/classes/SelectableDirective#onmousedown","type":"Directive","isCodeLink":true}} \ No newline at end of file diff --git a/common.6d077d65dad91648.js b/common.6d077d65dad91648.js deleted file mode 100644 index 73ed2e1e..00000000 --- a/common.6d077d65dad91648.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8592],{2936:(a,_,t)=>{t.d(_,{Z:()=>o});const o={title:"Features",order:2}},1480:(a,_,t)=>{t.d(_,{Z:()=>o});const o={title:"Getting Started",order:1}},1314:(a,_,t)=>{t.d(_,{Z:()=>o});const o={title:"Workshops",order:2}},8413:(a,_,t)=>{t.d(_,{Z:()=>P});var n=t(7582),o=t(5879),c=t(7022),d=t(4826),E=t(6245),l=t(1791),y=t(8645),D=t(4825),v=t(9397),g=t(4664);let P=(()=>{let r=class s{constructor(e){this.overlayService=e,this.notify$=new y.x,this.notify$.pipe((0,v.b)(()=>this.overlayRef?.close()),(0,v.b)(i=>this.openOverlay(i)),(0,g.w)(()=>(0,D.H)(2e3)),(0,l.t)(this)).subscribe(()=>this.overlayRef?.close())}notify(e){this.notify$.next(e)}openOverlay(e){this.overlayRef=this.overlayService.open(e,{overlayContainer:d.O,panelClass:"ng-doc-notify",positionStrategy:this.overlayService.globalPositionStrategy().bottom("10px").centerHorizontally(),openAnimation:c.WY,closeAnimation:c._N})}static#t=this.\u0275fac=function(i){return new(i||s)(o.LFG(E.m))};static#o=this.\u0275prov=o.Yz7({token:s,factory:s.\u0275fac,providedIn:"root"})};return r=(0,n.__decorate)([(0,l.c)(),(0,n.__metadata)("design:paramtypes",[E.m])],r),r})()}}]); \ No newline at end of file diff --git a/common.8a3adb2a4e9b3bfe.js b/common.8a3adb2a4e9b3bfe.js new file mode 100644 index 00000000..ebe95e74 --- /dev/null +++ b/common.8a3adb2a4e9b3bfe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[8592],{2936:(a,o,t)=>{t.d(o,{Z:()=>_});const _={title:"Features",order:2}},1480:(a,o,t)=>{t.d(o,{Z:()=>_});const _={title:"Getting Started",order:1}},9630:(a,o,t)=>{t.d(o,{Z:()=>s});const s={title:"Layout",order:2,category:t(1314).Z}},1314:(a,o,t)=>{t.d(o,{Z:()=>_});const _={title:"Workshops",order:2}},8413:(a,o,t)=>{t.d(o,{Z:()=>P});var e=t(7582),_=t(5879),s=t(7022),d=t(4826),c=t(6245),l=t(1791),v=t(8645),g=t(4825),y=t(9397),D=t(4664);let P=(()=>{let i=class r{constructor(n){this.overlayService=n,this.notify$=new v.x,this.notify$.pipe((0,y.b)(()=>this.overlayRef?.close()),(0,y.b)(E=>this.openOverlay(E)),(0,D.w)(()=>(0,g.H)(2e3)),(0,l.t)(this)).subscribe(()=>this.overlayRef?.close())}notify(n){this.notify$.next(n)}openOverlay(n){this.overlayRef=this.overlayService.open(n,{overlayContainer:d.O,panelClass:"ng-doc-notify",positionStrategy:this.overlayService.globalPositionStrategy().bottom("10px").centerHorizontally(),openAnimation:s.WY,closeAnimation:s._N})}static#t=this.\u0275fac=function(E){return new(E||r)(_.LFG(c.m))};static#o=this.\u0275prov=_.Yz7({token:r,factory:r.\u0275fac,providedIn:"root"})};return i=(0,e.__decorate)([(0,l.c)(),(0,e.__metadata)("design:paramtypes",[c.m])],i),i})()}}]); \ No newline at end of file diff --git a/index.html b/index.html index f18863e2..5f2be82b 100644 --- a/index.html +++ b/index.html @@ -9,5 +9,5 @@ - + diff --git a/main.d300c835fce93f59.js b/main.d300c835fce93f59.js deleted file mode 100644 index 91b93b9a..00000000 --- a/main.d300c835fce93f59.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[179],{7043:(ve,_,d)=>{"use strict";var s=d(6593),m=d(6814),o=d(5879);const N="ng-doc-theme-id",L={id:"ng-doc-night",path:"assets/ng-doc/app/themes/ng-doc-night.css"};var P=d(5861),R=d(7582);const O=a=>String(a);let x=(()=>{class a{set(i,u,f=O){return localStorage.setItem(i,f(u))}get(i,u){return u?u(localStorage.getItem(i)):localStorage.getItem(i)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();var D=d(5483),v=d(5592),F=d(2438),j=d(3020),V=d(7921),U=d(7398),G=d(3997),K=d(7081);const ce=new o.OlP("An abstraction over global window object",{factory:()=>{const{defaultView:a}=(0,o.f3M)(m.K0);if(!a)throw new Error("Window is not available");return a}}),Me=(new o.OlP("Shared Observable based on `window.requestAnimationFrame`",{factory:()=>{const{requestAnimationFrame:a,cancelAnimationFrame:l}=(0,o.f3M)(ce);return new v.y(u=>{let f=NaN;const M=Y=>{u.next(Y),f=a(M)};return f=a(M),()=>{l(f)}}).pipe((0,j.B)())}}),new o.OlP("An abstraction over window.caches object",{factory:()=>(0,o.f3M)(ce).caches}),new o.OlP("An abstraction over window.crypto object",{factory:()=>(0,o.f3M)(ce).crypto}),new o.OlP("An abstraction over window.CSS object",{factory:()=>(0,o.f3M)(ce).CSS||{escape:a=>a,supports:()=>!1}}),new o.OlP("An abstraction over window.history object",{factory:()=>(0,o.f3M)(ce).history}),new o.OlP("An abstraction over window.localStorage object",{factory:()=>(0,o.f3M)(ce).localStorage}),new o.OlP("An abstraction over window.location object",{factory:()=>(0,o.f3M)(ce).location}),new o.OlP("An abstraction over window.navigator object",{factory:()=>(0,o.f3M)(ce).navigator}));new o.OlP("An abstraction over window.navigator.mediaDevices object",{factory:()=>(0,o.f3M)(Me).mediaDevices}),new o.OlP("An abstraction over window.navigator.connection object",{factory:()=>(0,o.f3M)(Me).connection||null}),new o.OlP("Shared Observable based on `document visibility changed`",{factory:()=>{const a=(0,o.f3M)(m.K0);return(0,F.R)(a,"visibilitychange").pipe((0,V.O)(0),(0,U.U)(()=>"hidden"!==a.visibilityState),(0,G.x)(),(0,K.d)({refCount:!1,bufferSize:1}))}}),new o.OlP("An abstraction over window.performance object",{factory:()=>(0,o.f3M)(ce).performance}),new o.OlP("An abstraction over window.sessionStorage object",{factory:()=>(0,o.f3M)(ce).sessionStorage}),new o.OlP("An abstraction over SpeechRecognition class",{factory:()=>{const a=(0,o.f3M)(ce);return a.speechRecognition||a.webkitSpeechRecognition||null}}),new o.OlP("An abstraction over window.speechSynthesis object",{factory:()=>(0,o.f3M)(ce).speechSynthesis}),new o.OlP("An abstraction over window.navigator.userAgent object",{factory:()=>(0,o.f3M)(Me).userAgent});var je,Ie=d(1791),ye=d(8645);let Ge=je=class ig{static#e=this.autoThemeId="ng-doc-auto";constructor(l,i,u,f){this.window=l,this.document=i,this.themes=u,this.store=f,this.theme=void 0,this.theme$=new ye.x,this.autoTheme=void 0,(0,F.R)(this.window.matchMedia("(prefers-color-scheme: dark)"),"change").pipe((0,Ie.t)(this)).subscribe(()=>this.setAutoTheme())}get currentTheme(){return this.theme}get isAutoThemeEnabled(){return void 0!==this.autoTheme}enableAutoTheme(l,i){var u=this;return(0,P.Z)(function*(){return u.autoTheme=[l,i],u.setAutoTheme()})()}disableAutoTheme(){var l=this;return(0,P.Z)(function*(){return l.autoTheme=void 0,l.set(l.store.get(N)??void 0)})()}set(l,i=!0){var u=this;return(0,P.Z)(function*(){if(u.removeLink(),i&&(u.autoTheme=void 0),l&&"ng-doc-day"!==l){const f=u.themes.find(M=>M.id===l);if(!f)return void console.warn(`Theme with id "${l}" is not registered. Make sure that you registered it in the root of your application.`);if(u.createLinkIfNoExists(),u.linkElement)return u.linkElement.href=f.path,i&&u.store.set(N,f.id),u.theme=f,new Promise((M,Y)=>{u.linkElement&&(u.linkElement.onload=()=>{u.theme$.next(f),M()},u.linkElement.onerror=Y)})}return i&&u.store.set(N,"ng-doc-day"),u.theme$.next(void 0),Promise.resolve()})()}themeChanges(){return this.theme$.asObservable()}removeLink(){this.theme=void 0,this.linkElement?.remove(),this.linkElement=void 0}createLinkIfNoExists(){this.linkElement||(this.linkElement=this.document.createElement("link"),this.linkElement.setAttribute("rel","stylesheet"),this.linkElement.setAttribute("type","text/css"),this.document.getElementsByTagName("head")[0].appendChild(this.linkElement))}setAutoTheme(){var l=this;return(0,P.Z)(function*(){if(void 0!==l.autoTheme){const i=l.window.matchMedia("(prefers-color-scheme: dark)").matches,[u,f]=l.autoTheme;return l.store.set(N,je.autoThemeId),l.set(i?f?.id:u?.id,!1)}})()}static#t=this.\u0275fac=function(i){return new(i||ig)(o.LFG(ce),o.LFG(m.K0),o.LFG(D.dd),o.LFG(x))};static#n=this.\u0275prov=o.Yz7({token:ig,factory:ig.\u0275fac,providedIn:"root"})};Ge=je=(0,R.__decorate)([(0,Ie.c)(),(0,R.__metadata)("design:paramtypes",[Window,Document,Array,x])],Ge);var Le=d(9143),ct=d(9862),lt=d(7230),rt=d(9625);function De(a){return[{provide:rt.Sy,useValue:a?.assetsPath??"assets/ng-doc/ui-kit"},{provide:rt.DN,useValue:a?.customIconsPath??"assets/icons"},{provide:ct.TP,useClass:lt.G,multi:!0}]}function it(a){return[{provide:D.dd,useValue:L,multi:!0},...(0,Le.asArray)(a?.themes).map(l=>({provide:D.dd,useValue:l,multi:!0})),...(0,Le.asArray)(a?.defaultThemeId).map(l=>({provide:D.Rr,useValue:l})),{provide:o.ip1,useFactory:(l,i,u)=>()=>{const f=i.get(N);return"auto"===u&&!f||f===Ge.autoThemeId?l.enableAutoTheme(void 0,L):l.set(f??u,!1)},multi:!0,deps:[Ge,x,[new o.FiY,D.Rr]]},{provide:o.ip1,multi:!0,deps:[m.EM],useFactory:l=>()=>l.setOffset([0,64])},...De(a?.uiKit)]}class Ct{}function jt(a,...l){return{provide:Ct,useValue:new a(...l)}}var pt=d(7340),tn=d(7442);const _n={dutch:/[^A-Za-z\xe0\xe8\xe9\xec\xf2\xf3\xf90-9_'-]+/gim,english:/[^A-Za-z\xe0\xe8\xe9\xec\xf2\xf3\xf90-9_'-]+/gim,french:/[^a-z0-9\xe4\xe2\xe0\xe9\xe8\xeb\xea\xef\xee\xf6\xf4\xf9\xfc\xfb\u0153\xe7-]+/gim,italian:/[^A-Za-z\xe0\xe8\xe9\xec\xf2\xf3\xf90-9_'-]+/gim,norwegian:/[^a-z0-9_\xe6\xf8\xe5\xc6\xd8\xc5\xe4\xc4\xf6\xd6\xfc\xdc]+/gim,portuguese:/[^a-z0-9\xe0-\xfa\xc0-\xda]/gim,russian:/[^a-z0-9\u0430-\u044f\u0410-\u042f\u0451\u0401]+/gim,spanish:/[^a-z0-9A-Z\xe1-\xfa\xc1-\xda\xf1\xd1\xfc\xdc]+/gim,swedish:/[^a-z0-9_\xe5\xc5\xe4\xc4\xf6\xd6\xfc\xdc-]+/gim,german:/[^a-z0-9A-Z\xe4\xf6\xfc\xc4\xd6\xdc\xdf]+/gim,finnish:/[^a-z0-9\xe4\xf6\xc4\xd6]+/gim,danish:/[^a-z0-9\xe6\xf8\xe5\xc6\xd8\xc5]+/gim,hungarian:/[^a-z0-9\xe1\xe9\xed\xf3\xf6\u0151\xfa\xfc\u0171\xc1\xc9\xcd\xd3\xd6\u0150\xda\xdc\u0170]+/gim,romanian:/[^a-z0-9\u0103\xe2\xee\u0219\u021b\u0102\xc2\xce\u0218\u021a]+/gim,serbian:/[^a-z0-9\u010d\u0107\u017e\u0161\u0111\u010c\u0106\u017d\u0160\u0110]+/gim,turkish:/[^a-z0-9\xe7\xc7\u011f\u011e\u0131\u0130\xf6\xd6\u015f\u015e\xfc\xdc]+/gim,lithuanian:/[^a-z0-9\u0105\u010d\u0119\u0117\u012f\u0161\u0173\u016b\u017e\u0104\u010c\u0118\u0116\u012e\u0160\u0172\u016a\u017d]+/gim,arabic:/[^a-z0-9\u0623-\u064a]+/gim,nepali:/[^a-z0-9\u0905-\u0939]+/gim,irish:/[^a-z0-9\xe1\xe9\xed\xf3\xfa\xc1\xc9\xcd\xd3\xda]+/gim,indian:/[^a-z0-9\u0905-\u0939]+/gim,armenian:/[^a-z0-9\u0561-\u0586]+/gim,greek:/[^a-z0-9\u03b1-\u03c9\u03ac-\u03ce]+/gim,indonesian:/[^a-z0-9]+/gim,ukrainian:/[^a-z0-9\u0430-\u044f\u0410-\u042f\u0456\u0457\u0454\u0406\u0407\u0404]+/gim,slovenian:/[^a-z0-9\u010d\u017e\u0161\u010c\u017d\u0160]+/gim,bulgarian:/[^a-z0-9\u0430-\u044f\u0410-\u042f]+/gim},In=Object.keys({arabic:"ar",armenian:"am",bulgarian:"bg",danish:"dk",dutch:"nl",english:"en",finnish:"fi",french:"fr",german:"de",greek:"gr",hungarian:"hu",indian:"in",indonesian:"id",irish:"ie",italian:"it",lithuanian:"lt",nepali:"np",norwegian:"no",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"rs",slovenian:"ru",spanish:"es",swedish:"se",turkish:"tr",ukrainian:"uk"}),no=Date.now().toString().slice(5);let qn=0;const Un=BigInt(1e3),$n=BigInt(1e6),Ao=BigInt(1e9);function $(a){return ne.apply(this,arguments)}function ne(){return(ne=(0,P.Z)(function*(a){return"number"==typeof a&&(a=BigInt(a)),a\d+)\$)?(?-?\d*\.?\d*)(?[dfs])/g,function(...i){const u=i[i.length-1],{width:f,type:M,position:Y}=u,ee=Y?l[Number.parseInt(Y)-1]:l.shift(),le=""===f?0:Number.parseInt(f);switch(M){case"d":return ee.toString().padStart(le,"0");case"f":{let xe=ee;const[Ke,ut]=f.split(".").map(wt=>Number.parseFloat(wt));return"number"==typeof ut&&ut>=0&&(xe=xe.toFixed(ut)),"number"==typeof Ke&&Ke>=0?xe.toString().padStart(le,"0"):xe.toString()}case"s":return le<0?ee.toString().padEnd(-le," "):ee.toString().padStart(le," ");default:return ee}})}(Te[a]??`Unsupported Orama Error code: ${a}`,...l));return i.code=a,"captureStackTrace"in Error.prototype&&Error.captureStackTrace(i),i}function Pt(a){return gn.apply(this,arguments)}function gn(){return(gn=(0,P.Z)(function*(a){return{raw:Number(a),formatted:yield $(a)}})).apply(this,arguments)}function Xe(a){return He.apply(this,arguments)}function He(){return(He=(0,P.Z)(function*(a){if(a.id){if("string"!=typeof a.id)throw et("DOCUMENT_ID_MUST_BE_STRING",typeof a.id);return a.id}return yield qe()})).apply(this,arguments)}function de(a,l){return pe.apply(this,arguments)}function pe(){return(pe=(0,P.Z)(function*(a,l){for(const[i,u]of Object.entries(l)){const f=a[i],M=typeof f;if("undefined"===M)continue;const Y=typeof u;if("string"===Y&&Ht(u)){if(!Array.isArray(f))return i;const ee=on(u),le=f.length;for(let xe=0;xe"u"||(delete a.docs[l],a.count--,0))})).apply(this,arguments)}function Qe(a){return gt.apply(this,arguments)}function gt(){return(gt=(0,P.Z)(function*(a){return a.count})).apply(this,arguments)}function Bt(a){return $t.apply(this,arguments)}function $t(){return($t=(0,P.Z)(function*(a){return{docs:a.docs,count:a.count}})).apply(this,arguments)}function Gt(a){return Xt.apply(this,arguments)}function Xt(){return(Xt=(0,P.Z)(function*(a){return{docs:a.docs,count:a.count}})).apply(this,arguments)}function sn(){return(sn=(0,P.Z)(function*(){return{create:Fn,get:io,getMultiple:Ve,getAll:Ne,store:Mt,remove:we,count:Qe,load:Bt,save:Gt}})).apply(this,arguments)}const mt=["tokenizer","index","documentsStore","sorter"],Vt=["validateSchema","getDocumentIndexId","getDocumentProperties","formatElapsedTime"],dn=["beforeInsert","afterInsert","beforeRemove","afterRemove","beforeUpdate","afterUpdate","beforeMultipleInsert","afterMultipleInsert","beforeMultipleRemove","afterMultipleRemove","beforeMultipleUpdate","afterMultipleUpdate"];function cn(a,l,i,u){return Tn.apply(this,arguments)}function Tn(){return(Tn=(0,P.Z)(function*(a,l,i,u){for(let f=0;fl&&f(M.left),M.key>=l&&M.key<=i&&u.push(...M.value),M.key=l&&u.push(...M.value),!i&&M.key>l&&u.push(...M.value),f(M.left),f(M.right))}(a),u}function Hr(a,l,i=!1){if(!a)return[];const u=[];return function f(M){M&&(i&&M.key<=l&&u.push(...M.value),!i&&M.keyi.key))break;u=i,i=i.right}return u}function bn(a,l){let i=a;for(;i;)if(li.key))return i.value;i=i.right}return null}function Zt(){const{word:a,subWord:l,children:i,docs:u,end:f}=this;return{word:a,subWord:l,children:i,docs:u,end:f}}function Qt(a,l){a.parent=l.id,a.word=l.word+a.subWord}function Wt(a,l){a.docs.push(l)}function vn(a,l){const i=a.docs.indexOf(l);return-1!==i&&(a.docs.splice(i,1),!0)}function Bn(a,l,i,u,f){if(a.end){const{word:M,docs:Y}=a;if(u&&M!==i)return{};if(fn(l,M)||(f?Math.abs(i.length-M.length)<=f&&function kr(a,l,i){const u=function Xn(a,l,i){if(a===l)return 0;const u=a;a.length>l.length&&(a=l,l=u);let f=a.length,M=l.length;for(;f>0&&a.charCodeAt(~-f)===l.charCodeAt(~-M);)f--,M--;if(!f)return M>i?-1:M;let Y=0;for(;Yi?-1:M;const ee=M-f;if(i>M)i=M;else if(ee>i)return-1;let le=0;const xe=[],Ke=[];for(;leut?1:0,Rt+=Rti)return-1}return Kt<=i?Kt:-1}(a,l,i);return{distance:u,isBounded:u>=0}}(i,M,f).isBounded&&(l[M]=[]):l[M]=[]),fn(l,M)&&Y.length){const ee=new Set(l[M]),le=Y.length;for(let xe=0;xele[1]-ee[1]);if(1===i)return M;if(0===i){const ee=Math.min(...a.map(le=>le.length));return M.slice(0,ee)}const Y=Math.ceil(100*i*M.length/100);return M.slice(0,M.length+Y)}function zt(a,l,i,u,f,M){const{k:Y,b:ee,d:le}=M;return Math.log(1+(i-l+.5)/(l+.5))*(le+a*(Y+1))/(a+Y*(1-ee+ee*u/f))}function Mn(a,l,i,u,f){return Yn.apply(this,arguments)}function Yn(){return(Yn=(0,P.Z)(function*(a,l,i,u,f){a.avgFieldLength[l]=((a.avgFieldLength[l]??0)*(f-1)+u.length)/f,a.fieldLengths[l][i]=u.length,a.frequencies[l][i]={}})).apply(this,arguments)}function nr(a,l,i,u,f){return or.apply(this,arguments)}function or(){return(or=(0,P.Z)(function*(a,l,i,u,f){let M=0;for(const ee of u)ee===f&&M++;a.frequencies[l][i][f]=M/u.length,f in a.tokenOccurrencies[l]||(a.tokenOccurrencies[l][f]=0),a.tokenOccurrencies[l][f]=(a.tokenOccurrencies[l][f]??0)+1})).apply(this,arguments)}function Uo(a,l,i,u){return Cr.apply(this,arguments)}function Cr(){return(Cr=(0,P.Z)(function*(a,l,i,u){a.avgFieldLength[l]=(a.avgFieldLength[l]*u-a.fieldLengths[l][i])/(u-1),a.fieldLengths[l][i]=void 0,a.frequencies[l][i]=void 0})).apply(this,arguments)}function Co(a,l,i){return ar.apply(this,arguments)}function ar(){return(ar=(0,P.Z)(function*(a,l,i){a.tokenOccurrencies[l][i]--})).apply(this,arguments)}function Ur(a,l,i,u,f){return Dn.apply(this,arguments)}function Dn(){return(Dn=(0,P.Z)(function*(a,l,i,u,f){const M=Array.from(f),Y=l.avgFieldLength[i],ee=l.fieldLengths[i],le=l.tokenOccurrencies[i],xe=l.frequencies[i],Ke="number"==typeof le[u]?le[u]??0:0,ut=[],wt=M.length;for(let Rt=0;Rtf.key))return f.value=f.value.concat(i),a;f=f.right}const M=Qo(l,i);for(u?lu.right.key||(u.right=Lo(u.right)),u=Fo(u)),u==a)break;f=u,u=tr(a,f.key)}}(l.indexes[i],f,[u]);break;case"string":{const xe=yield ee.tokenize(f,Y,i);yield a.insertDocumentScoreParameters(l,i,u,xe,le);for(const Ke of xe)yield a.insertTokenScoreParameters(l,i,u,xe,Ke),ui(l.indexes[i],Ke,u);break}}})).apply(this,arguments)}function Mi(a,l,i,u,f,M,Y,ee,le){return $r.apply(this,arguments)}function $r(){return($r=(0,P.Z)(function*(a,l,i,u,f,M,Y,ee,le){if(!Ht(M))return gi(a,l,i,u,f,M,Y,ee,le);const xe=on(M),Ke=f,ut=Ke.length;for(let wt=0;wta.key))return a;a=a.right}return null}(a,i);1!==u.value.length?u.value.splice(u.value.indexOf(l),1):function Ii(a,l){let i=a,u=null;for(;i&&i.key!==l;)u=i,i=l({[ee]:[],...Y}),{});for(const Y of u){const ee=i[Y];if("boolean"==typeof ee){const Nt=l.indexes[Y][ee.toString()];f[Y].push(...Nt);continue}if("string"==typeof ee||Array.isArray(ee)){const wt=l.indexes[Y];for(const Nt of[ee].flat()){const Kt=di(wt,{term:(yield a.tokenizer.tokenize(Nt,a.language,Y))[0],exact:!0});f[Y].push(...Object.values(Kt).flat())}continue}const le=Object.keys(ee);if(le.length>1)throw et("INVALID_FILTER_OPERATION",le.length);const xe=le[0],Ke=ee[xe],ut=l.indexes[Y];switch(xe){case"gt":{const wt=Or(ut,Ke,!1);f[Y].push(...wt);break}case"gte":{const wt=Or(ut,Ke,!0);f[Y].push(...wt);break}case"lt":{const wt=Hr(ut,Ke,!1);f[Y].push(...wt);break}case"lte":{const wt=Hr(ut,Ke,!0);f[Y].push(...wt);break}case"eq":{const wt=bn(ut,Ke)??[];f[Y].push(...wt);break}case"between":{const[wt,Nt]=Ke,Rt=Di(ut,wt,Nt);f[Y].push(...Rt)}}}return function Oo(a){if(0===a.length)return[];if(1===a.length)return a[0];for(let i=1;i{const u=l.get(i);return void 0!==u&&l.set(i,0),u===a.length})}(Object.values(f))})).apply(this,arguments)}function os(a){return gr.apply(this,arguments)}function gr(){return(gr=(0,P.Z)(function*(a){return a.searchableProperties})).apply(this,arguments)}function Ri(a){return ur.apply(this,arguments)}function ur(){return(ur=(0,P.Z)(function*(a){return a.searchablePropertiesWithTypes})).apply(this,arguments)}function pi(a){return $o.apply(this,arguments)}function $o(){return($o=(0,P.Z)(function*(a){const{indexes:l,searchableProperties:i,searchablePropertiesWithTypes:u,frequencies:f,tokenOccurrencies:M,avgFieldLength:Y,fieldLengths:ee}=a;return{indexes:l,searchableProperties:i,searchablePropertiesWithTypes:u,frequencies:f,tokenOccurrencies:M,avgFieldLength:Y,fieldLengths:ee}})).apply(this,arguments)}function mi(a){return wo.apply(this,arguments)}function wo(){return(wo=(0,P.Z)(function*(a){const{indexes:l,searchableProperties:i,searchablePropertiesWithTypes:u,frequencies:f,tokenOccurrencies:M,avgFieldLength:Y,fieldLengths:ee}=a;return{indexes:l,searchableProperties:i,searchablePropertiesWithTypes:u,frequencies:f,tokenOccurrencies:M,avgFieldLength:Y,fieldLengths:ee}})).apply(this,arguments)}function Yo(){return(Yo=(0,P.Z)(function*(){return{create:dr,insert:Mi,remove:Gi,insertDocumentScoreParameters:Mn,insertTokenScoreParameters:nr,removeDocumentScoreParameters:Uo,removeTokenScoreParameters:Co,calculateResultScores:Ur,search:lr,searchByWhereClause:fr,getSearchableProperties:os,getSearchablePropertiesWithTypes:Ri,load:pi,save:mi}})).apply(this,arguments)}const oo=192,br=383,pr=[65,65,65,65,65,65,65,67,69,69,69,69,73,73,73,73,69,78,79,79,79,79,79,null,79,85,85,85,85,89,80,115,97,97,97,97,97,97,97,99,101,101,101,101,105,105,105,105,101,110,111,111,111,111,111,null,111,117,117,117,117,121,112,121,65,97,65,97,65,97,67,99,67,99,67,99,67,99,68,100,68,100,69,101,69,101,69,101,69,101,69,101,71,103,71,103,71,103,71,103,72,104,72,104,73,105,73,105,73,105,73,105,73,105,73,105,74,106,75,107,107,76,108,76,108,76,108,76,108,76,108,78,110,78,110,78,110,110,78,110,79,111,79,111,79,111,79,111,82,114,82,114,82,114,83,115,83,115,83,115,83,115,84,116,84,116,84,116,85,117,85,117,85,117,85,117,85,117,85,117,87,119,89,121,89,90,122,90,122,90,122,115];function Oi(a){return abr?a:pr[a-oo]||a}const k={english:["i","me","my","myself","we","us","our","ours","ourselves","you","your","yours","yourself","yourselves","he","him","his","himself","she","her","hers","herself","it","its","itself","they","them","their","theirs","themselves","what","which","who","whom","this","that","these","those","am","is","are","was","were","be","been","being","have","has","had","having","do","does","did","doing","will","would","shall","should","can","could","may","might","must","ought","i'm","you're","he's","she's","it's","we're","they're","i've","you've","we've","they've","i'd","you'd","he'd","she'd","we'd","they'd","i'll","you'll","he'll","she'll","we'll","they'll","isn't","aren't","wasn't","weren't","hasn't","haven't","hadn't","doesn't","don't","didn't","won't","wouldn't","shan't","shouldn't","can't","cannot","couldn't","mustn't","let's","that's","who's","what's","here's","there's","when's","where's","why's","how's","an","the","and","but","if","or","because","as","until","while","of","at","by","for","with","about","against","between","into","through","during","before","after","above","below","to","from","up","down","in","out","on","off","over","under","again","further","then","once","here","there","when","where","why","how","all","any","both","each","few","more","most","other","some","such","no","nor","not","only","own","same","so","than","too","very"],italian:["ad","al","allo","ai","agli","all","agl","alla","alle","con","col","coi","da","dal","dallo","dai","dagli","dall","dagl","dalla","dalle","di","del","dello","dei","degli","dell","degl","della","delle","in","nel","nello","nei","negli","nell","negl","nella","nelle","su","sul","sullo","sui","sugli","sull","sugl","sulla","sulle","per","tra","contro","io","tu","lui","lei","noi","voi","loro","mio","mia","miei","mie","tuo","tua","tuoi","tue","suo","sua","suoi","sue","nostro","nostra","nostri","nostre","vostro","vostra","vostri","vostre","mi","ti","ci","vi","lo","la","li","le","gli","ne","il","un","uno","una","ma","ed","se","perch\xe9","anche","come","dov","dove","che","chi","cui","non","pi\xf9","quale","quanto","quanti","quanta","quante","quello","quelli","quella","quelle","questo","questi","questa","queste","si","tutto","tutti","a","c","e","i","l","o","ho","hai","ha","abbiamo","avete","hanno","abbia","abbiate","abbiano","avr\xf2","avrai","avr\xe0","avremo","avrete","avranno","avrei","avresti","avrebbe","avremmo","avreste","avrebbero","avevo","avevi","aveva","avevamo","avevate","avevano","ebbi","avesti","ebbe","avemmo","aveste","ebbero","avessi","avesse","avessimo","avessero","avendo","avuto","avuta","avuti","avute","sono","sei","\xe8","siamo","siete","sia","siate","siano","sar\xf2","sarai","sar\xe0","saremo","sarete","saranno","sarei","saresti","sarebbe","saremmo","sareste","sarebbero","ero","eri","era","eravamo","eravate","erano","fui","fosti","fu","fummo","foste","furono","fossi","fosse","fossimo","fossero","essendo","faccio","fai","facciamo","fanno","faccia","facciate","facciano","far\xf2","farai","far\xe0","faremo","farete","faranno","farei","faresti","farebbe","faremmo","fareste","farebbero","facevo","facevi","faceva","facevamo","facevate","facevano","feci","facesti","fece","facemmo","faceste","fecero","facessi","facesse","facessimo","facessero","facendo","sto","stai","sta","stiamo","stanno","stia","stiate","stiano","star\xf2","starai","star\xe0","staremo","starete","staranno","starei","staresti","starebbe","staremmo","stareste","starebbero","stavo","stavi","stava","stavamo","stavate","stavano","stetti","stesti","stette","stemmo","steste","stettero","stessi","stesse","stessimo","stessero","stando"],french:["au","aux","avec","ce","ces","dans","de","des","du","elle","en","et","eux","il","je","la","le","leur","lui","ma","mais","me","m\xeame","mes","moi","mon","ne","nos","notre","nous","on","ou","par","pas","pour","qu","que","qui","sa","se","ses","son","sur","ta","te","tes","toi","ton","tu","un","une","vos","votre","vous","c","d","j","l","\xe0","m","n","s","t","y","","\xe9t\xe9","\xe9t\xe9e","\xe9t\xe9es","\xe9t\xe9s","\xe9tant","suis","es","est","sommes","\xeates","sont","serai","seras","sera","serons","serez","seront","serais","serait","serions","seriez","seraient","\xe9tais","\xe9tait","\xe9tions","\xe9tiez","\xe9taient","fus","fut","f\xfbmes","f\xfbtes","furent","sois","soit","soyons","soyez","soient","fusse","fusses","f\xfbt","fussions","fussiez","fussent","ayant","eu","eue","eues","eus","ai","as","avons","avez","ont","aurai","auras","aura","aurons","aurez","auront","aurais","aurait","aurions","auriez","auraient","avais","avait","avions","aviez","avaient","eut","e\xfbmes","e\xfbtes","eurent","aie","aies","ait","ayons","ayez","aient","eusse","eusses","e\xfbt","eussions","eussiez","eussent","ceci","cela","cel\xe0","cet","cette","ici","ils","les","leurs","quel","quels","quelle","quelles","sans","soi"],spanish:["de","la","que","el","en","y","a","los","del","se","las","por","un","para","con","no","una","su","al","lo","como","m\xe1s","pero","sus","le","ya","o","este","s\xed","porque","esta","entre","cuando","muy","sin","sobre","tambi\xe9n","me","hasta","hay","donde","quien","desde","todo","nos","durante","todos","uno","les","ni","contra","otros","ese","eso","ante","ellos","e","esto","m\xed","antes","algunos","qu\xe9","unos","yo","otro","otras","otra","\xe9l","tanto","esa","estos","mucho","quienes","nada","muchos","cual","poco","ella","estar","estas","algunas","algo","nosotros","mi","mis","t\xfa","te","ti","tu","tus","ellas","nosotras","vosotros","vosotras","os","m\xedo","m\xeda","m\xedos","m\xedas","tuyo","tuya","tuyos","tuyas","suyo","suya","suyos","suyas","nuestro","nuestra","nuestros","nuestras","vuestro","vuestra","vuestros","vuestras","esos","esas","estoy","est\xe1s","est\xe1","estamos","est\xe1is","est\xe1n","est\xe9","est\xe9s","estemos","est\xe9is","est\xe9n","estar\xe9","estar\xe1s","estar\xe1","estaremos","estar\xe9is","estar\xe1n","estar\xeda","estar\xedas","estar\xedamos","estar\xedais","estar\xedan","estaba","estabas","est\xe1bamos","estabais","estaban","estuve","estuviste","estuvo","estuvimos","estuvisteis","estuvieron","estuviera","estuvieras","estuvi\xe9ramos","estuvierais","estuvieran","estuviese","estuvieses","estuvi\xe9semos","estuvieseis","estuviesen","estando","estado","estada","estados","estadas","estad","he","has","ha","hemos","hab\xe9is","han","haya","hayas","hayamos","hay\xe1is","hayan","habr\xe9","habr\xe1s","habr\xe1","habremos","habr\xe9is","habr\xe1n","habr\xeda","habr\xedas","habr\xedamos","habr\xedais","habr\xedan","hab\xeda","hab\xedas","hab\xedamos","hab\xedais","hab\xedan","hube","hubiste","hubo","hubimos","hubisteis","hubieron","hubiera","hubieras","hubi\xe9ramos","hubierais","hubieran","hubiese","hubieses","hubi\xe9semos","hubieseis","hubiesen","habiendo","habido","habida","habidos","habidas","soy","eres","es","somos","sois","son","sea","seas","seamos","se\xe1is","sean","ser\xe9","ser\xe1s","ser\xe1","seremos","ser\xe9is","ser\xe1n","ser\xeda","ser\xedas","ser\xedamos","ser\xedais","ser\xedan","era","eras","\xe9ramos","erais","eran","fui","fuiste","fue","fuimos","fuisteis","fueron","fuera","fueras","fu\xe9ramos","fuerais","fueran","fuese","fueses","fu\xe9semos","fueseis","fuesen","siendo","sido","tengo","tienes","tiene","tenemos","ten\xe9is","tienen","tenga","tengas","tengamos","teng\xe1is","tengan","tendr\xe9","tendr\xe1s","tendr\xe1","tendremos","tendr\xe9is","tendr\xe1n","tendr\xeda","tendr\xedas","tendr\xedamos","tendr\xedais","tendr\xedan","ten\xeda","ten\xedas","ten\xedamos","ten\xedais","ten\xedan","tuve","tuviste","tuvo","tuvimos","tuvisteis","tuvieron","tuviera","tuvieras","tuvi\xe9ramos","tuvierais","tuvieran","tuviese","tuvieses","tuvi\xe9semos","tuvieseis","tuviesen","teniendo","tenido","tenida","tenidos","tenidas","tened"],portuguese:["de","a","o","que","e","do","da","em","um","para","com","n\xe3o","uma","os","no","se","na","por","mais","as","dos","como","mas","ao","ele","das","\xe0","seu","sua","ou","quando","muito","nos","j\xe1","eu","tamb\xe9m","s\xf3","pelo","pela","at\xe9","isso","ela","entre","depois","sem","mesmo","aos","seus","quem","nas","me","esse","eles","voc\xea","essa","num","nem","suas","meu","\xe0s","minha","numa","pelos","elas","qual","n\xf3s","lhe","deles","essas","esses","pelas","este","dele","tu","te","voc\xeas","vos","lhes","meus","minhas","teu","tua","teus","tuas","nosso","nossa","nossos","nossas","dela","delas","esta","estes","estas","aquele","aquela","aqueles","aquelas","isto","aquilo","estou","est\xe1","estamos","est\xe3o","estive","esteve","estivemos","estiveram","estava","est\xe1vamos","estavam","estivera","estiv\xe9ramos","esteja","estejamos","estejam","estivesse","estiv\xe9ssemos","estivessem","estiver","estivermos","estiverem","hei","h\xe1","havemos","h\xe3o","houve","houvemos","houveram","houvera","houv\xe9ramos","haja","hajamos","hajam","houvesse","houv\xe9ssemos","houvessem","houver","houvermos","houverem","houverei","houver\xe1","houveremos","houver\xe3o","houveria","houver\xedamos","houveriam","sou","somos","s\xe3o","era","\xe9ramos","eram","fui","foi","fomos","foram","fora","f\xf4ramos","seja","sejamos","sejam","fosse","f\xf4ssemos","fossem","for","formos","forem","serei","ser\xe1","seremos","ser\xe3o","seria","ser\xedamos","seriam","tenho","tem","temos","t\xe9m","tinha","t\xednhamos","tinham","tive","teve","tivemos","tiveram","tivera","tiv\xe9ramos","tenha","tenhamos","tenham","tivesse","tiv\xe9ssemos","tivessem","tiver","tivermos","tiverem","terei","ter\xe1","teremos","ter\xe3o","teria","ter\xedamos","teriam"],dutch:["de","en","van","ik","te","dat","die","in","een","hij","het","niet","zijn","is","was","op","aan","met","als","voor","had","er","maar","om","hem","dan","zou","of","wat","mijn","men","dit","zo","door","over","ze","zich","bij","ook","tot","je","mij","uit","der","daar","haar","naar","heb","hoe","heeft","hebben","deze","u","want","nog","zal","me","zij","nu","ge","geen","omdat","iets","worden","toch","al","waren","veel","meer","doen","toen","moet","ben","zonder","kan","hun","dus","alles","onder","ja","eens","hier","wie","werd","altijd","doch","wordt","wezen","kunnen","ons","zelf","tegen","na","reeds","wil","kon","niets","uw","iemand","geweest","andere"],swedish:["och","det","att","i","en","jag","hon","som","han","p\xe5","den","med","var","sig","f\xf6r","s\xe5","till","\xe4r","men","ett","om","hade","de","av","icke","mig","du","henne","d\xe5","sin","nu","har","inte","hans","honom","skulle","hennes","d\xe4r","min","man","ej","vid","kunde","n\xe5got","fr\xe5n","ut","n\xe4r","efter","upp","vi","dem","vara","vad","\xf6ver","\xe4n","dig","kan","sina","h\xe4r","ha","mot","alla","under","n\xe5gon","eller","allt","mycket","sedan","ju","denna","sj\xe4lv","detta","\xe5t","utan","varit","hur","ingen","mitt","ni","bli","blev","oss","din","dessa","n\xe5gra","deras","blir","mina","samma","vilken","er","s\xe5dan","v\xe5r","blivit","dess","inom","mellan","s\xe5dant","varf\xf6r","varje","vilka","ditt","vem","vilket","sitta","s\xe5dana","vart","dina","vars","v\xe5rt","v\xe5ra","ert","era","vilkas"],russian:["\u0438","\u0432","\u0432\u043e","\u043d\u0435","\u0447\u0442\u043e","\u043e\u043d","\u043d\u0430","\u044f","\u0441","\u0441\u043e","\u043a\u0430\u043a","\u0430","\u0442\u043e","\u0432\u0441\u0435","\u043e\u043d\u0430","\u0442\u0430\u043a","\u0435\u0433\u043e","\u043d\u043e","\u0434\u0430","\u0442\u044b","\u043a","\u0443","\u0436\u0435","\u0432\u044b","\u0437\u0430","\u0431\u044b","\u043f\u043e","\u0442\u043e\u043b\u044c\u043a\u043e","\u0435\u0435","\u043c\u043d\u0435","\u0431\u044b\u043b\u043e","\u0432\u043e\u0442","\u043e\u0442","\u043c\u0435\u043d\u044f","\u0435\u0449\u0435","\u043d\u0435\u0442","\u043e","\u0438\u0437","\u0435\u043c\u0443","\u0442\u0435\u043f\u0435\u0440\u044c","\u043a\u043e\u0433\u0434\u0430","\u0434\u0430\u0436\u0435","\u043d\u0443","\u0432\u0434\u0440\u0443\u0433","\u043b\u0438","\u0435\u0441\u043b\u0438","\u0443\u0436\u0435","\u0438\u043b\u0438","\u043d\u0438","\u0431\u044b\u0442\u044c","\u0431\u044b\u043b","\u043d\u0435\u0433\u043e","\u0434\u043e","\u0432\u0430\u0441","\u043d\u0438\u0431\u0443\u0434\u044c","\u043e\u043f\u044f\u0442\u044c","\u0443\u0436","\u0432\u0430\u043c","\u0441\u043a\u0430\u0437\u0430\u043b","\u0432\u0435\u0434\u044c","\u0442\u0430\u043c","\u043f\u043e\u0442\u043e\u043c","\u0441\u0435\u0431\u044f","\u043d\u0438\u0447\u0435\u0433\u043e","\u0435\u0439","\u043c\u043e\u0436\u0435\u0442","\u043e\u043d\u0438","\u0442\u0443\u0442","\u0433\u0434\u0435","\u0435\u0441\u0442\u044c","\u043d\u0430\u0434\u043e","\u043d\u0435\u0439","\u0434\u043b\u044f","\u043c\u044b","\u0442\u0435\u0431\u044f","\u0438\u0445","\u0447\u0435\u043c","\u0431\u044b\u043b\u0430","\u0441\u0430\u043c","\u0447\u0442\u043e\u0431","\u0431\u0435\u0437","\u0431\u0443\u0434\u0442\u043e","\u0447\u0435\u043b\u043e\u0432\u0435\u043a","\u0447\u0435\u0433\u043e","\u0440\u0430\u0437","\u0442\u043e\u0436\u0435","\u0441\u0435\u0431\u0435","\u043f\u043e\u0434","\u0436\u0438\u0437\u043d\u044c","\u0431\u0443\u0434\u0435\u0442","\u0436","\u0442\u043e\u0433\u0434\u0430","\u043a\u0442\u043e","\u044d\u0442\u043e\u0442","\u0433\u043e\u0432\u043e\u0440\u0438\u043b","\u0442\u043e\u0433\u043e","\u043f\u043e\u0442\u043e\u043c\u0443","\u044d\u0442\u043e\u0433\u043e","\u043a\u0430\u043a\u043e\u0439","\u0441\u043e\u0432\u0441\u0435\u043c","\u043d\u0438\u043c","\u0437\u0434\u0435\u0441\u044c","\u044d\u0442\u043e\u043c","\u043e\u0434\u0438\u043d","\u043f\u043e\u0447\u0442\u0438","\u043c\u043e\u0439","\u0442\u0435\u043c","\u0447\u0442\u043e\u0431\u044b","\u043d\u0435\u0435","\u043a\u0430\u0436\u0435\u0442\u0441\u044f","\u0441\u0435\u0439\u0447\u0430\u0441","\u0431\u044b\u043b\u0438","\u043a\u0443\u0434\u0430","\u0437\u0430\u0447\u0435\u043c","\u0441\u043a\u0430\u0437\u0430\u0442\u044c","\u0432\u0441\u0435\u0445","\u043d\u0438\u043a\u043e\u0433\u0434\u0430","\u0441\u0435\u0433\u043e\u0434\u043d\u044f","\u043c\u043e\u0436\u043d\u043e","\u043f\u0440\u0438","\u043d\u0430\u043a\u043e\u043d\u0435\u0446","\u0434\u0432\u0430","\u043e\u0431","\u0434\u0440\u0443\u0433\u043e\u0439","\u0445\u043e\u0442\u044c","\u043f\u043e\u0441\u043b\u0435","\u043d\u0430\u0434","\u0431\u043e\u043b\u044c\u0448\u0435","\u0442\u043e\u0442","\u0447\u0435\u0440\u0435\u0437","\u044d\u0442\u0438","\u043d\u0430\u0441","\u043f\u0440\u043e","\u0432\u0441\u0435\u0433\u043e","\u043d\u0438\u0445","\u043a\u0430\u043a\u0430\u044f","\u043c\u043d\u043e\u0433\u043e","\u0440\u0430\u0437\u0432\u0435","\u0441\u043a\u0430\u0437\u0430\u043b\u0430","\u0442\u0440\u0438","\u044d\u0442\u0443","\u043c\u043e\u044f","\u0432\u043f\u0440\u043e\u0447\u0435\u043c","\u0445\u043e\u0440\u043e\u0448\u043e","\u0441\u0432\u043e\u044e","\u044d\u0442\u043e\u0439","\u043f\u0435\u0440\u0435\u0434","\u0438\u043d\u043e\u0433\u0434\u0430","\u043b\u0443\u0447\u0448\u0435","\u0447\u0443\u0442\u044c","\u0442\u043e\u043c","\u043d\u0435\u043b\u044c\u0437\u044f","\u0442\u0430\u043a\u043e\u0439","\u0438\u043c","\u0431\u043e\u043b\u0435\u0435","\u0432\u0441\u0435\u0433\u0434\u0430","\u043a\u043e\u043d\u0435\u0447\u043d\u043e","\u0432\u0441\u044e","\u043c\u0435\u0436\u0434\u0443"],norwegian:["og","i","jeg","det","at","en","et","den","til","er","som","p\xe5","de","med","han","av","ikke","ikkje","der","s\xe5","var","meg","seg","men","ett","har","om","vi","min","mitt","ha","hadde","hun","n\xe5","over","da","ved","fra","du","ut","sin","dem","oss","opp","man","kan","hans","hvor","eller","hva","skal","selv","sj\xf8l","her","alle","vil","bli","ble","blei","blitt","kunne","inn","n\xe5r","v\xe6re","kom","noen","noe","ville","dere","som","deres","kun","ja","etter","ned","skulle","denne","for","deg","si","sine","sitt","mot","\xe5","meget","hvorfor","dette","disse","uten","hvordan","ingen","din","ditt","blir","samme","hvilken","hvilke","s\xe5nn","inni","mellom","v\xe5r","hver","hvem","vors","hvis","b\xe5de","bare","enn","fordi","f\xf8r","mange","ogs\xe5","slik","v\xe6rt","v\xe6re","b\xe5e","begge","siden","dykk","dykkar","dei","deira","deires","deim","di","d\xe5","eg","ein","eit","eitt","elles","honom","hj\xe5","ho","hoe","henne","hennar","hennes","hoss","hossen","ikkje","ingi","inkje","korleis","korso","kva","kvar","kvarhelst","kven","kvi","kvifor","me","medan","mi","mine","mykje","no","nokon","noka","nokor","noko","nokre","si","sia","sidan","so","somt","somme","um","upp","vere","vore","verte","vort","varte","vart"],german:["aber","alle","allem","allen","aller","alles","als","also","am","an","ander","andere","anderem","anderen","anderer","anderes","anderm","andern","anderr","anders","auch","auf","aus","bei","bin","bis","bist","da","damit","dann","der","den","des","dem","die","das","da\xdf","derselbe","derselben","denselben","desselben","demselben","dieselbe","dieselben","dasselbe","dazu","dein","deine","deinem","deinen","deiner","deines","denn","derer","dessen","dich","dir","du","dies","diese","diesem","diesen","dieser","dieses","doch","dort","durch","ein","eine","einem","einen","einer","eines","einig","einige","einigem","einigen","einiger","einiges","einmal","er","ihn","ihm","es","etwas","euer","eure","eurem","euren","eurer","eures","f\xfcr","gegen","gewesen","hab","habe","haben","hat","hatte","hatten","hier","hin","hinter","ich","mich","mir","ihr","ihre","ihrem","ihren","ihrer","ihres","euch","im","in","indem","ins","ist","jede","jedem","jeden","jeder","jedes","jene","jenem","jenen","jener","jenes","jetzt","kann","kein","keine","keinem","keinen","keiner","keines","k\xf6nnen","k\xf6nnte","machen","man","manche","manchem","manchen","mancher","manches","mein","meine","meinem","meinen","meiner","meines","mit","muss","musste","nach","nicht","nichts","noch","nun","nur","ob","oder","ohne","sehr","sein","seine","seinem","seinen","seiner","seines","selbst","sich","sie","ihnen","sind","so","solche","solchem","solchen","solcher","solches","soll","sollte","sondern","sonst","\xfcber","um","und","uns","unse","unsem","unsen","unser","unses","unter","viel","vom","von","vor","w\xe4hrend","war","waren","warst","was","weg","weil","weiter","welche","welchem","welchen","welcher","welches","wenn","werde","werden","wie","wieder","will","wir","wird","wirst","wo","wollen","wollte","w\xfcrde","w\xfcrden","zu","zum","zur","zwar","zwischen"],danish:["og","i","jeg","det","at","en","den","til","er","som","p\xe5","de","med","han","af","for","ikke","der","var","mig","sig","men","et","har","om","vi","min","havde","ham","hun","nu","over","da","fra","du","ud","sin","dem","os","op","man","hans","hvor","eller","hvad","skal","selv","her","alle","vil","blev","kunne","ind","n\xe5r","v\xe6re","dog","noget","ville","jo","deres","efter","ned","skulle","denne","end","dette","mit","ogs\xe5","under","have","dig","anden","hende","mine","alt","meget","sit","sine","vor","mod","disse","hvis","din","nogle","hos","blive","mange","ad","bliver","hendes","v\xe6ret","thi","jer","s\xe5dan"],finnish:["olla","olen","olet","on","olemme","olette","ovat","ole","oli","olisi","olisit","olisin","olisimme","olisitte","olisivat","olit","olin","olimme","olitte","olivat","ollut","olleet","en","et","ei","emme","ette","eiv\xe4t","min\xe4","minun","minut","minua","minussa","minusta","minuun","minulla","minulta","minulle","sin\xe4","sinun","sinut","sinua","sinussa","sinusta","sinuun","sinulla","sinulta","sinulle","h\xe4n","h\xe4nen","h\xe4net","h\xe4nt\xe4","h\xe4ness\xe4","h\xe4nest\xe4","h\xe4neen","h\xe4nell\xe4","h\xe4nelt\xe4","h\xe4nelle","me","meid\xe4n","meid\xe4t","meit\xe4","meiss\xe4","meist\xe4","meihin","meill\xe4","meilt\xe4","meille","te","teid\xe4n","teid\xe4t","teit\xe4","teiss\xe4","teist\xe4","teihin","teill\xe4","teilt\xe4","teille","he","heid\xe4n","heid\xe4t","heit\xe4","heiss\xe4","heist\xe4","heihin","heill\xe4","heilt\xe4","heille","t\xe4m\xe4","t\xe4m\xe4n","t\xe4t\xe4","t\xe4ss\xe4","t\xe4st\xe4","t\xe4h\xe4n","t\xe4ll\xe4","t\xe4lt\xe4","t\xe4lle","t\xe4n\xe4","t\xe4ksi","tuo","tuon","tuota","tuossa","tuosta","tuohon","tuolla","tuolta","tuolle","tuona","tuoksi","se","sen","sit\xe4","siin\xe4","siit\xe4","siihen","sill\xe4","silt\xe4","sille","sin\xe4","siksi","n\xe4m\xe4","n\xe4iden","n\xe4it\xe4","n\xe4iss\xe4","n\xe4ist\xe4","n\xe4ihin","n\xe4ill\xe4","n\xe4ilt\xe4","n\xe4ille","n\xe4in\xe4","n\xe4iksi","nuo","noiden","noita","noissa","noista","noihin","noilla","noilta","noille","noina","noiksi","ne","niiden","niit\xe4","niiss\xe4","niist\xe4","niihin","niill\xe4","niilt\xe4","niille","niin\xe4","niiksi","kuka","kenen","kenet","ket\xe4","keness\xe4","kenest\xe4","keneen","kenell\xe4","kenelt\xe4","kenelle","kenen\xe4","keneksi","ketk\xe4","keiden","ketk\xe4","keit\xe4","keiss\xe4","keist\xe4","keihin","keill\xe4","keilt\xe4","keille","kein\xe4","keiksi","mik\xe4","mink\xe4","mink\xe4","mit\xe4","miss\xe4","mist\xe4","mihin","mill\xe4","milt\xe4","mille","min\xe4","miksi","mitk\xe4","joka","jonka","jota","jossa","josta","johon","jolla","jolta","jolle","jona","joksi","jotka","joiden","joita","joissa","joista","joihin","joilla","joilta","joille","joina","joiksi","ett\xe4","ja","jos","koska","kuin","mutta","niin","sek\xe4","sill\xe4","tai","vaan","vai","vaikka","kanssa","mukaan","noin","poikki","yli","kun","niin","nyt","itse"]},w=(Object.keys(k),{ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"}),g={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},X="[aeiouy]",he="[^aeiou][^aeiouy]*",Ue=X+"[aeiou]*",ot="^("+he+")?"+Ue+he,Ze="^("+he+")?"+Ue+he+"("+Ue+")?$",yt="^("+he+")?"+Ue+he+Ue+he,Tt="^("+he+")?"+X;function xt(a){let l,i,u,f,M,Y;if(a.length<3)return a;const ee=a.substring(0,1);if("y"==ee&&(a=ee.toUpperCase()+a.substring(1)),u=/^(.+?)(ss|i)es$/,f=/^(.+?)([^s])s$/,u.test(a)?a=a.replace(u,"$1$2"):f.test(a)&&(a=a.replace(f,"$1$2")),u=/^(.+?)eed$/,f=/^(.+?)(ed|ing)$/,u.test(a)){const le=u.exec(a);u=new RegExp(ot),u.test(le[1])&&(u=/.$/,a=a.replace(u,""))}else f.test(a)&&(l=f.exec(a)[1],f=new RegExp(Tt),f.test(l)&&(a=l,f=/(at|bl|iz)$/,M=new RegExp("([^aeiouylsz])\\1$"),Y=new RegExp("^"+he+X+"[^aeiouwxy]$"),f.test(a)?a+="e":M.test(a)?(u=/.$/,a=a.replace(u,"")):Y.test(a)&&(a+="e")));if(u=/^(.+?)y$/,u.test(a)){const le=u.exec(a);l=le?.[1],u=new RegExp(Tt),l&&u.test(l)&&(a=l+"i")}if(u=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,u.test(a)){const le=u.exec(a);l=le?.[1],i=le?.[2],u=new RegExp(ot),l&&u.test(l)&&(a=l+w[i])}if(u=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,u.test(a)){const le=u.exec(a);l=le?.[1],i=le?.[2],u=new RegExp(ot),l&&u.test(l)&&(a=l+g[i])}if(u=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,f=/^(.+?)(s|t)(ion)$/,u.test(a)){const le=u.exec(a);l=le?.[1],u=new RegExp(yt),l&&u.test(l)&&(a=l)}else if(f.test(a)){const le=f.exec(a);l=le?.[1]??""+le?.[2]??"",f=new RegExp(yt),f.test(l)&&(a=l)}if(u=/^(.+?)e$/,u.test(a)){const le=u.exec(a);l=le?.[1],u=new RegExp(yt),f=new RegExp(Ze),M=new RegExp("^"+he+X+"[^aeiouwxy]$"),l&&(u.test(l)||f.test(l)&&!M.test(l))&&(a=l)}return u=/ll$/,f=new RegExp(yt),u.test(a)&&f.test(a)&&(u=/.$/,a=a.replace(u,"")),"y"==ee&&(a=ee.toLowerCase()+a.substring(1)),a}function Lt(a,l){var i;const u=`${this.language}:${a}:${l}`;return this.normalizationCache.has(u)?this.normalizationCache.get(u):null!==(i=this.stopWords)&&void 0!==i&&i.includes(l)?(this.normalizationCache.set(u,""),""):(this.stemmer&&!this.stemmerSkipProperties.has(a)&&(l=this.stemmer(l)),l=function Zo(a){const l=[];for(let i=0;i0}function ni(a,l){return l[1]>a}function yi(a,l){return l[1]}function oi(a,l,i,u,f,M){return rr.apply(this,arguments)}function rr(){return(rr=(0,P.Z)(function*(a,l,i,u,f,M){if(!a.enabled)return;const Y=a.sorts[l];let ee;switch(f){case"string":ee=ti.bind(null,u,M);break;case"number":ee=ni.bind(null,u);break;case"boolean":ee=yi.bind(null,u)}let le=Y.orderedDocs.findIndex(ee);-1===le?(le=Y.orderedDocs.length,Y.orderedDocs.push([i,u])):Y.orderedDocs.splice(le,0,[i,u]),Y.docs[i]=le;const xe=Y.orderedDocs.length;for(let Ke=le+1;Ke"u"&&ee++;let le=0;const xe=new Array(Y);for(let Ke=0;Ke"u"?(le++,wt=Y-le):f&&(wt=Y-ee-wt-1),xe[wt]=ut}return xe})).apply(this,arguments)}function ss(a){return ri.apply(this,arguments)}function ri(){return(ri=(0,P.Z)(function*(a){return a.enabled?a.sortableProperties:[]})).apply(this,arguments)}function js(a){return ft.apply(this,arguments)}function ft(){return(ft=(0,P.Z)(function*(a){return a.enabled?a.sortablePropertiesWithTypes:{}})).apply(this,arguments)}function hn(a){return Ft.apply(this,arguments)}function Ft(){return(Ft=(0,P.Z)(function*(a){return a.enabled?{sortableProperties:a.sortableProperties,sortablePropertiesWithTypes:a.sortablePropertiesWithTypes,sorts:a.sorts,enabled:!0}:{enabled:!1}})).apply(this,arguments)}function pn(a){return kn.apply(this,arguments)}function kn(){return(kn=(0,P.Z)(function*(a){return a.enabled?{sortableProperties:a.sortableProperties,sortablePropertiesWithTypes:a.sortablePropertiesWithTypes,sorts:a.sorts,enabled:a.enabled}:{enabled:!1}})).apply(this,arguments)}function Gn(){return(Gn=(0,P.Z)(function*(){return{create:Dr,insert:oi,remove:Ci,save:pn,load:hn,sortBy:gs,getSortableProperties:ss,getSortablePropertiesWithTypes:js}})).apply(this,arguments)}function Sr(){return Sr=(0,P.Z)(function*({schema:a,sort:l,language:i,components:u,id:f}){u||(u={}),f||(f=yield qe());let M=u.tokenizer,Y=u.index,ee=u.documentsStore,le=u.sorter;if(M?M.tokenize||(M=yield yn(M)):M=yield yn({language:i??"english"}),u.tokenizer&&i)throw et("NO_LANGUAGE_WITH_CUSTOM_TOKENIZER");Y||(Y=yield function rs(){return Yo.apply(this,arguments)}()),le||(le=yield function Wn(){return Gn.apply(this,arguments)}()),ee||(ee=yield function an(){return sn.apply(this,arguments)}()),function go(a){const l={formatElapsedTime:Pt,getDocumentIndexId:Xe,getDocumentProperties:Kn,validateSchema:de};for(const i of Vt){const u=i;if(a[u]){if("function"!=typeof a[u])throw et("COMPONENT_MUST_BE_FUNCTION",u)}else a[u]=l[u]}for(const i of dn){const u=i;a[u]?Array.isArray(a[u])||(a[u]=[a[u]]):a[u]=[];for(const f of a[u])if("function"!=typeof f)throw et("COMPONENT_MUST_BE_FUNCTION_OR_ARRAY_FUNCTIONS",u)}for(const i of Object.keys(a))if(!mt.includes(i)&&!Vt.includes(i)&&!dn.includes(i))throw et("UNSUPPORTED_COMPONENT",i)}(u);const{getDocumentProperties:xe,getDocumentIndexId:Ke,validateSchema:ut,beforeInsert:wt,afterInsert:Nt,beforeRemove:Rt,afterRemove:Kt,beforeUpdate:zn,afterUpdate:Do,beforeMultipleInsert:Zn,afterMultipleInsert:xn,beforeMultipleRemove:Mo,afterMultipleRemove:ai,beforeMultipleUpdate:Eo,afterMultipleUpdate:jo,formatElapsedTime:Wo}=u,Ho={data:{},caches:{},schema:a,tokenizer:M,index:Y,sorter:le,documentsStore:ee,getDocumentProperties:xe,getDocumentIndexId:Ke,validateSchema:ut,beforeInsert:wt,afterInsert:Nt,beforeRemove:Rt,afterRemove:Kt,beforeUpdate:zn,afterUpdate:Do,beforeMultipleInsert:Zn,afterMultipleInsert:xn,beforeMultipleRemove:Mo,afterMultipleRemove:ai,beforeMultipleUpdate:Eo,afterMultipleUpdate:jo,formatElapsedTime:Wo,id:f};return Ho.data={index:yield Ho.index.create(Ho,a),docs:yield Ho.documentsStore.create(Ho),sorting:yield Ho.sorter.create(Ho,a,l)},Ho}),Sr.apply(this,arguments)}const Bo=Symbol("orama.insertions");var ii;Symbol("orama.removals");const E=(null===(ii=globalThis.process)||void 0===ii?void 0:ii.emitWarning)??function(l,i){console.warn(`[WARNING] [${i.code}] ${l}`)};function Q(a,l,i,u){return Ce.apply(this,arguments)}function Ce(){return Ce=(0,P.Z)(function*(a,l,i,u){const f=yield a.validateSchema(l,a.schema);if(f)throw et("SCHEMA_VALIDATION_FAILURE",f);return function at(a,l,i,u){return bt.apply(this,arguments)}(a,l,i,u)}),Ce.apply(this,arguments)}function bt(){return(bt=(0,P.Z)(function*(a,l,i,u){const{index:f,docs:M}=a.data,Y=yield a.getDocumentIndexId(l);if("string"!=typeof Y)throw et("DOCUMENT_ID_MUST_BE_STRING",typeof Y);if(!(yield a.documentsStore.store(M,Y,l)))throw et("DOCUMENT_ALREADY_EXISTS",Y);const ee=yield a.documentsStore.count(M);u||(yield cn(a.beforeInsert,a,Y,l));const le=yield a.index.getSearchableProperties(f),xe=yield a.index.getSearchablePropertiesWithTypes(f),Ke=yield a.getDocumentProperties(l,le);for(const[Zn,xn]of Object.entries(Ke)){if(typeof xn>"u")continue;const Mo=typeof xn,ai=xe[Zn];if(!(Ht(ai)&&Array.isArray(xn)||Mo===ai))throw et("INVALID_DOCUMENT_PROPERTY",Zn,ai,Mo)}for(const Zn of le){var ut,wt,Nt,Rt;const xn=Ke[Zn];if(typeof xn>"u")continue;const Mo=xe[Zn];yield null===(wt=(ut=a.index).beforeInsert)||void 0===wt?void 0:wt.call(ut,a.data.index,Zn,Y,xn,Mo,i,a.tokenizer,ee),yield a.index.insert(a.index,a.data.index,Zn,Y,xn,Mo,i,a.tokenizer,ee),yield null===(Rt=(Nt=a.index).afterInsert)||void 0===Rt?void 0:Rt.call(Nt,a.data.index,Zn,Y,xn,Mo,i,a.tokenizer,ee)}const Kt=yield a.sorter.getSortableProperties(a.data.sorting),zn=yield a.sorter.getSortablePropertiesWithTypes(a.data.sorting),Do=yield a.getDocumentProperties(l,Kt);for(const Zn of Kt){const xn=Do[Zn];if(typeof xn>"u")continue;const Mo=zn[Zn];yield a.sorter.insert(a.data.sorting,Zn,Y,xn,Mo,i)}return u||(yield cn(a.afterInsert,a,Y,l)),function te(a){"number"!=typeof a[Bo]&&(queueMicrotask(()=>{a[Bo]=void 0}),a[Bo]=0),a[Bo]>1e3?(E("Orama's insert operation is synchronous. Please avoid inserting a large number of document in a single operation in order not to block the main thread or, in alternative, please use insertMultiple.",{code:"ORAMA0001"}),a[Bo]=-1):a[Bo]>=0&&a[Bo]++}(a),Y})).apply(this,arguments)}function po(){return po=(0,P.Z)(function*(a,l,i,u,f){f||(yield uo(a.beforeMultipleInsert,a,l));const M=l.length;for(let Y=0;Y{let le=0;function xe(){return Ke.apply(this,arguments)}function Ke(){return(Ke=(0,P.Z)(function*(){const ut=l.slice(le*i,(le+1)*i);if(le++,!ut.length)return Y();for(const wt of ut)try{const Nt=yield Q(a,wt,u,f);M.push(Nt)}catch(Nt){ee(Nt)}setTimeout(xe,0)})).apply(this,arguments)}setTimeout(xe,0)}),f||(yield uo(a.afterMultipleInsert,a,l)),M}),eo.apply(this,arguments)}function jn(a="desc",l,i){return"asc"===a.toLowerCase()?l[1]-i[1]:i[1]-l[1]}function bo(){return(bo=(0,P.Z)(function*(a,l,i){const u={},f=l.map(([xe])=>xe),M=yield a.documentsStore.getMultiple(a.data.docs,f),Y=Object.keys(i),ee=yield a.index.getSearchablePropertiesWithTypes(a.data.index);for(const xe of Y){let Ke={};if("number"===ee[xe]){const{ranges:ut}=i[xe],wt=[];for(const Nt of ut)wt.push([`${Nt.from}-${Nt.to}`,0]);Ke=Object.fromEntries(wt)}u[xe]={count:0,values:Ke}}const le=M.length;for(let xe=0;xejn(Ke.sort,ut,wt)).slice(Ke.offset??0,Ke.limit??10))}return u})).apply(this,arguments)}function ir(a,l,i,u){for(const f of a){const M=`${f.from}-${f.to}`;u&&u.has(M)||i>=f.from&&i<=f.to&&(void 0===l[M]?l[M]=1:(l[M]++,u&&u.add(M)))}}function Ti(a,l,i,u){const f=l?.toString()??("boolean"===i?"false":"");u&&u.has(f)||(a[f]=(a[f]??0)+1,u&&u.add(f))}const ps={k:1.2,b:.75,d:.5};function Zr(){return(Zr=(0,P.Z)(function*(a,l,i,u,f,M,Y,ee){const le={},xe={};for(const Ke of M){const ut={};for(const wt of Y)ut[wt]=[];le[Ke]=ut,xe[Ke]=[]}return{timeStart:yield fe(),tokenizer:a,index:l,documentsStore:i,language:u,params:f,docsCount:ee,uniqueDocsIDs:{},indexMap:le,docsIntersection:xe}})).apply(this,arguments)}function Fi(){return Fi=(0,P.Z)(function*(a,l,i){l.relevance=Object.assign(l.relevance??{},ps);const u=l.facets&&Object.keys(l.facets).length>0,{limit:f=10,offset:M=0,term:Y,properties:ee,threshold:le=1}=l,xe=!0===l.preflight,{index:Ke,docs:ut}=a.data,wt=yield a.tokenizer.tokenize(Y??"",i);let Nt=a.caches.propertiesToSearch;if(!Nt){const Eo=yield a.index.getSearchablePropertiesWithTypes(Ke);Nt=yield a.index.getSearchableProperties(Ke),Nt=Nt.filter(jo=>Eo[jo].startsWith("string")),a.caches.propertiesToSearch=Nt}if(ee&&"*"!==ee){for(const Eo of ee)if(!Nt.includes(Eo))throw et("UNKNOWN_INDEX",Eo,Nt.join(", "));Nt=Nt.filter(Eo=>ee.includes(Eo))}const Rt=yield function Yr(a,l,i,u,f,M,Y,ee){return Zr.apply(this,arguments)}(a.tokenizer,a.index,a.documentsStore,i,l,Nt,wt,yield a.documentsStore.count(ut)),Kt=Array.from({length:f}),zn=Object.keys(l.where??{}).length>0;let Do=[];if(zn&&(Do=yield a.index.searchByWhereClause(Rt,Ke,l.where)),wt.length){const Eo=Nt.length;for(let jo=0;jo[Eo,0]));let xn=Object.entries(Rt.uniqueDocsIDs);if(zn&&(xn=function Gr(a,l){const i=new Map,u=[];for(const f of a)i.set(f,!0);for(const[f,M]of l)i.has(f)&&(u.push([f,M]),i.delete(f));return u}(Do,xn)),l.sortBy)if("function"==typeof l.sortBy){const Eo=xn.map(([Ho])=>Ho),Wo=(yield a.documentsStore.getMultiple(a.data.docs,Eo)).map((Ho,Br)=>[xn[Br][0],xn[Br][1],Ho]);Wo.sort(l.sortBy),xn=Wo.map(([Ho,Br])=>[Ho,Br])}else xn=yield a.sorter.sortBy(a.data.sorting,xn,l.sortBy);else xn=xn.sort(wn);const Mo=new Set;if(!xe)for(let Eo=M;Eo"u")break;const[Wo,Ho]=jo;if(!Mo.has(Wo)){const Br=yield a.documentsStore.get(ut,Wo);Kt[Eo]={id:Wo,score:Ho,document:Br},Mo.add(Wo)}}const ai={elapsed:yield a.formatElapsedTime((yield fe())-Rt.timeStart),hits:[],count:xn.length};if(xe||(ai.hits=Kt.filter(Boolean)),u){const Eo=yield function Ko(a,l,i){return bo.apply(this,arguments)}(a,xn,l.facets);ai.facets=Eo}return ai}),Fi.apply(this,arguments)}function zc(a,l){return xo.apply(this,arguments)}function xo(){return(xo=(0,P.Z)(function*(a,l){"positions"in a.data||Object.assign(a.data,{positions:{}}),yield Tr(a,yield a.documentsStore.get(a.data.docs,l),l)})).apply(this,arguments)}const Qa=/[\p{L}0-9_'-]+/gimu;function Tr(a,l,i){return Lr.apply(this,arguments)}function Lr(){return(Lr=(0,P.Z)(function*(a,l,i,u="",f=a.schema){a.data.positions[i]=Object.create(null);for(const M of Object.keys(l)){const ee="object"==typeof f[M],le=`${u}${M}`;if("object"==typeof l[M]&&M in f&&ee&&Tr(a,l[M],i,le+".",f[M]),"string"!=typeof l[M]||!(M in f)||ee)continue;a.data.positions[i][le]=Object.create(null);const xe=l[M];let Ke;for(;null!==(Ke=Qa.exec(xe));){const ut=Ke[0].toLowerCase(),wt=`${a.tokenizer.language}:${ut}`;let Nt;a.tokenizer.normalizationCache.has(wt)?Nt=a.tokenizer.normalizationCache.get(wt):([Nt]=yield a.tokenizer.tokenize(ut),a.tokenizer.normalizationCache.set(wt,Nt)),Array.isArray(a.data.positions[i][le][Nt])||(a.data.positions[i][le][Nt]=[]),a.data.positions[i][le][Nt].push({start:Ke.index,length:Ke[0].length})}}})).apply(this,arguments)}function Os(){return Os=(0,P.Z)(function*(a,l,i){const u=yield function mr(a,l,i){return Fi.apply(this,arguments)}(a,l,i),f=yield a.tokenizer.tokenize(l.term??"",i),M=u.hits.map(Y=>Object.assign(Y,{positions:Object.fromEntries(Object.entries(a.data.positions[Y.id]).map(([ee,le])=>[ee,Object.fromEntries(Object.entries(le).filter(([xe])=>f.find(Ke=>xe.startsWith(Ke))))]))}));return u.hits=M,u}),Os.apply(this,arguments)}var as=d(9666),Er=d(4664);class Gc extends Ct{constructor(l){super(),this.options=l,this.db$=(0,as.D)(function zo(a){return Sr.apply(this,arguments)}({schema:{title:"string",section:"string",content:"string"},components:{afterInsert:[zc],tokenizer:{stemmer:l?.stemmer}}})).pipe((0,U.U)(i=>i),(0,Er.w)(i=>this.request("assets/ng-doc/indexes.json").pipe((0,Er.w)(u=>function ln(a,l,i,u,f){return po.apply(this,arguments)}(i,u)),(0,U.U)(()=>i))),(0,K.d)(1))}search(l){return this.db$.pipe((0,Er.w)(i=>function Wc(a,l,i){return Os.apply(this,arguments)}(i,{term:l,boost:{title:4,section:2},properties:["section","content"],tolerance:this.options?.tolerance,exact:this.options?.exact,limit:this.options?.limit??10})),(0,U.U)(i=>i.hits.map(u=>{const f=(0,tn.objectKeys)(u.positions);return{index:u.document,positions:f.reduce((M,Y)=>(M[Y]=[...(0,pt.asArray)(M[Y]),...Object.values(u.positions[Y]).flat()],M),{})}})))}request(l){return(0,as.D)(fetch(l)).pipe((0,Er.w)(i=>i.json()))}}function Rd(a){return[{provide:D.Nh,useValue:a}]}var Jo=d(776),Li=d(6286),Bi=d(7396),wr=d(2560),Kr=d(2919);function Xa(a,l){if(1&a&&(o.TgZ(0,"span",3)(1,"span",4),o._UZ(2,"ng-doc-icon",5),o._uU(3),o.qZA()()),2&a){const i=l.$implicit;o.xp6(3),o.hij(" ",i," ")}}const Zi=function(a){return[a]};let lu=(()=>{class a{constructor(){this.breadcrumbs=[],this.home=(0,o.f3M)(Li.a).routePrefix||"/"}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-breadcrumb"]],inputs:{breadcrumbs:"breadcrumbs"},standalone:!0,features:[o.jDz],decls:3,vars:4,consts:[["ng-doc-button-icon","",1,"ng-doc-breadcrumb",3,"routerLink"],["icon","home"],["class","ng-doc-breadcrumb",4,"ngFor","ngForOf"],[1,"ng-doc-breadcrumb"],["ng-doc-text",""],["icon","chevron-right"]],template:function(u,f){1&u&&(o.TgZ(0,"a",0),o._UZ(1,"ng-doc-icon",1),o.qZA(),o.YNc(2,Xa,4,1,"span",2)),2&u&&(o.Q6J("routerLink",o.VKq(2,Zi,f.home)),o.xp6(2),o.Q6J("ngForOf",f.breadcrumbs))},dependencies:[Bi.J,Jo.rH,wr.q,m.ax,Kr.Uy],styles:["[_nghost-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:calc(var(--ng-doc-base-gutter) * 2);opacity:.9}[_nghost-%COMP%] .ng-doc-breadcrumb[_ngcontent-%COMP%]:not(:first-child){margin-right:var(--ng-doc-base-gutter)}[_nghost-%COMP%] .ng-doc-breadcrumb[_ngcontent-%COMP%]:not(:first-child):not(:last-child){opacity:.6}"],changeDetection:0})}return a})();function Pn(a,l){if(1&a&&(o.TgZ(0,"a",3)(1,"div",4),o._UZ(2,"ng-doc-icon",5),o._uU(3," Previous "),o.qZA(),o.TgZ(4,"div",6),o._uU(5),o.qZA()()),2&a){const i=o.oxw();o.Q6J("routerLink",i.prevPage.route),o.xp6(5),o.Oqu(i.prevPage.title)}}function uu(a,l){if(1&a&&(o.TgZ(0,"a",7)(1,"div",4),o._uU(2," Next "),o._UZ(3,"ng-doc-icon",8),o.qZA(),o.TgZ(4,"div",6),o._uU(5),o.qZA()()),2&a){const i=o.oxw();o.Q6J("routerLink",i.nextPage.route),o.xp6(5),o.Oqu(i.nextPage.title)}}let kd=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-page-navigation"]],inputs:{prevPage:"prevPage",nextPage:"nextPage"},standalone:!0,features:[o.jDz],decls:3,vars:2,consts:[[1,"ng-doc-navigation-controls"],["class","ng-doc-prev-page",3,"routerLink",4,"ngIf"],["class","ng-doc-next-page",3,"routerLink",4,"ngIf"],[1,"ng-doc-prev-page",3,"routerLink"],["ng-doc-text","","size","small",1,"ng-doc-navigation-page-label"],["icon","arrow-left","ngDocTextLeft",""],["ng-doc-text","",1,"ng-doc-navigation-page-title"],[1,"ng-doc-next-page",3,"routerLink"],["icon","arrow-right","ngDocTextRight",""]],template:function(u,f){1&u&&(o.TgZ(0,"div",0),o.YNc(1,Pn,6,2,"a",1),o.YNc(2,uu,6,2,"a",2),o.qZA()),2&u&&(o.xp6(1),o.Q6J("ngIf",f.prevPage),o.xp6(1),o.Q6J("ngIf",f.nextPage))},dependencies:[m.ez,m.O5,wr.q,Kr.Uy,Kr.eo,Kr.EH,Jo.rH],styles:["[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%]{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-9);--ng-doc-icon-color: var(--ng-doc-text)}[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{opacity:.6}[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%] a.ng-doc-next-page[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%] a.ng-doc-prev-page[_ngcontent-%COMP%]{align-items:flex-start}[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%] a.ng-doc-next-page[_ngcontent-%COMP%]{align-items:flex-end}[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%] a[_ngcontent-%COMP%] .ng-doc-navigation-page-title[_ngcontent-%COMP%]{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}"],changeDetection:0})}return a})();var fa=d(5784),Ss=d(8201),ga=d(2495),ea=d(2572),Hs=d(5211),du=d(8180),Ja=d(836),pa=d(3620),ma=d(9773),Fd=d(2831);const to=new Set;let Ts,qa=(()=>{class a{constructor(i,u){this._platform=i,this._nonce=u,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):Yc}matchMedia(i){return(this._platform.WEBKIT||this._platform.BLINK)&&function xr(a,l){if(!to.has(a))try{Ts||(Ts=document.createElement("style"),l&&(Ts.nonce=l),Ts.setAttribute("type","text/css"),document.head.appendChild(Ts)),Ts.sheet&&(Ts.sheet.insertRule(`@media ${a} {body{ }}`,0),to.add(a))}catch(i){console.error(i)}}(i,this._nonce),this._matchMedia(i)}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(Fd.t4),o.LFG(o.Ojb,8))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();function Yc(a){return{matches:"all"===a||""===a,media:a,addListener:()=>{},removeListener:()=>{}}}let cs=(()=>{class a{constructor(i,u){this._mediaMatcher=i,this._zone=u,this._queries=new Map,this._destroySubject=new ye.x}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(i){return ji((0,ga.Eq)(i)).some(f=>this._registerQuery(f).mql.matches)}observe(i){const f=ji((0,ga.Eq)(i)).map(Y=>this._registerQuery(Y).observable);let M=(0,ea.a)(f);return M=(0,Hs.z)(M.pipe((0,du.q)(1)),M.pipe((0,Ja.T)(1),(0,pa.b)(0))),M.pipe((0,U.U)(Y=>{const ee={matches:!1,breakpoints:{}};return Y.forEach(({matches:le,query:xe})=>{ee.matches=ee.matches||le,ee.breakpoints[xe]=le}),ee}))}_registerQuery(i){if(this._queries.has(i))return this._queries.get(i);const u=this._mediaMatcher.matchMedia(i),M={observable:new v.y(Y=>{const ee=le=>this._zone.run(()=>Y.next(le));return u.addListener(ee),()=>{u.removeListener(ee)}}).pipe((0,V.O)(u),(0,U.U)(({matches:Y})=>({query:i,matches:Y})),(0,ma.R)(this._destroySubject)),mql:u};return this._queries.set(i,M),M}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(qa),o.LFG(o.R0b))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();function ji(a){return a.map(l=>l.split(",")).reduce((l,i)=>l.concat(i)).map(l=>l.trim())}const Vs={XSmall:"(max-width: 599.98px)",Small:"(min-width: 600px) and (max-width: 959.98px)",Medium:"(min-width: 960px) and (max-width: 1279.98px)",Large:"(min-width: 1280px) and (max-width: 1919.98px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599.98px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959.98px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"};function _a(...a){const l=a.length;if(0===l)throw new Error("list of properties cannot be empty.");return(0,U.U)(i=>{let u=i;for(let f=0;f{let a=class Om{constructor(i,u,f){this.templateRef=i,this.viewContainerRef=u,this.breakpointObserver=f,this.match=[],this.breakpoints=Vs,this.unsubscribe$=new ye.x}ngOnChanges(){this.unsubscribe$.next(),this.breakpointObserver.observe(this.match).pipe(_a("matches"),(0,G.x)(),(0,ma.R)(this.unsubscribe$),(0,Ie.t)(this)).subscribe(i=>{this.viewRef?.destroy(),this.viewRef=void 0,i&&(this.viewRef=this.viewContainerRef.createEmbeddedView(this.templateRef),this.viewRef.markForCheck())})}static#e=this.\u0275fac=function(u){return new(u||Om)(o.Y36(o.Rgc),o.Y36(o.s_b),o.Y36(cs))};static#t=this.\u0275dir=o.lG2({type:Om,selectors:[["","ngDocMediaQuery",""]],inputs:{match:["ngDocMediaQuery","match"]},exportAs:["ngDocMediaQuery"],standalone:!0,features:[o.TTD]})};return a=(0,R.__decorate)([(0,Ie.c)(),(0,R.__metadata)("design:paramtypes",[o.Rgc,o.s_b,cs])],a),a})();var ec=d(3019),Qr=d(2181);const Xr=["ng-doc-toc-element",""],ms=["*"],fu=["selection"];function ta(a,l){if(1&a&&(o.TgZ(0,"li",8),o._uU(1),o.qZA()),2&a){const i=l.$implicit,u=o.oxw(2);o.Q6J("href",i.path)("level",i.level)("selected",i===u.activeItem),o.xp6(1),o.hij(" ",i.title," ")}}function _s(a,l){if(1&a&&(o.TgZ(0,"div",2)(1,"div",3),o._UZ(2,"div",4,5),o.TgZ(4,"ul",6),o.YNc(5,ta,2,4,"li",7),o.qZA()()()),2&a){const i=o.oxw();o.xp6(5),o.Q6J("ngForOf",i.tableOfContent)}}const Ld=function(a,l){return[a,l]};let Zc=(()=>{class a{constructor(i){this.elementRef=i,this.href="",this.selected=!1,this.level=1}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["li","ng-doc-toc-element",""]],hostVars:2,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-selected",f.selected)("data-ng-doc-level",f.level)},inputs:{href:"href",selected:"selected",level:"level"},standalone:!0,features:[o.jDz],attrs:Xr,ngContentSelectors:ms,decls:2,vars:3,consts:[[3,"href"]],template:function(u,f){1&u&&(o.F$t(),o.TgZ(0,"a",0),o.Hsn(1),o.qZA()),2&u&&(o.Udp("padding-left","calc(var(--ng-doc-toc-indent) * "+f.level+")"),o.Q6J("href",f.href,o.LSH))},styles:['[_nghost-%COMP%]{display:flex;margin:0;color:var(--ng-doc-text)}[data-ng-doc-level="1"][_nghost-%COMP%] a{padding-left:var(--ng-doc-base-gutter)}[data-ng-doc-selected=true][_nghost-%COMP%]{color:var(--ng-doc-primary)}[_nghost-%COMP%]:hover{cursor:pointer;color:var(--ng-doc-primary)}[_nghost-%COMP%] a[_ngcontent-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);padding:calc(var(--ng-doc-base-gutter) / 2);color:inherit;width:100%;text-decoration:none;word-break:break-word;--ng-doc-font-size: 14px}'],changeDetection:0})}return a})();const T={breadcrumbs:lu,navigation:kd,toc:(()=>{let a=class Sm{constructor(){this.tableOfContent=[],this.elements=new o.n_E,this.document=(0,o.f3M)(m.K0),this.ngZone=(0,o.f3M)(o.R0b),this.changeDetectorRef=(0,o.f3M)(o.sBO),this.renderer=(0,o.f3M)(o.Qsj),this.router=(0,o.f3M)(Jo.F0)}ngAfterViewInit(){const i=(0,F.R)(this.document,"scroll").pipe((0,Qr.h)(()=>!!this.tableOfContent.length),(0,U.U)(M=>M.target.scrollingElement),(0,V.O)(this.document.scrollingElement),(0,U.U)(M=>{const ee=M.scrollTop+M.offsetHeight*(100*M.scrollTop/(M.scrollHeight-M.offsetHeight))/100;return this.tableOfContent.length?this.tableOfContent.reduce((le,xe)=>{const Ke=le.element.getBoundingClientRect().top+M.scrollTop,ut=xe.element.getBoundingClientRect().top+M.scrollTop;return Math.abs(ut-ee){if(M instanceof Jo.Xs){const Y=this.tableOfContent.find(ee=>ee.path.includes(M.routerEvent.url));if(Y)return Y}return null}),(0,Qr.h)(fa.isPresent),(0,pa.b)(20)),f=this.elements.changes.pipe((0,U.U)(()=>this.activeItem),(0,Qr.h)(fa.isPresent));(0,ec.T)((0,ec.T)(i,u).pipe((0,G.x)()),f).pipe((0,Ss.w1)(this.ngZone),(0,Ie.t)(this)).subscribe(this.select.bind(this))}select(i){const u=this.tableOfContent.indexOf(i);if(this.selection){const f=this.elements.toArray()[u]?.elementRef.nativeElement;f&&(this.renderer.setStyle(this.selection.nativeElement,"top",`${f.offsetTop}px`),this.renderer.setStyle(this.selection.nativeElement,"height",`${f.offsetHeight}px`),f.scrollIntoView({block:"nearest"}))}this.activeItem=i,this.changeDetectorRef.detectChanges()}static#e=this.\u0275fac=function(u){return new(u||Sm)};static#t=this.\u0275cmp=o.Xpm({type:Sm,selectors:[["ng-doc-toc"]],viewQuery:function(u,f){if(1&u&&(o.Gf(fu,5,o.SBq),o.Gf(Zc,5)),2&u){let M;o.iGM(M=o.CRH())&&(f.selection=M.first),o.iGM(M=o.CRH())&&(f.elements=M)}},inputs:{tableOfContent:"tableOfContent"},standalone:!0,features:[o.jDz],decls:2,vars:4,consts:[[3,"ngDocMediaQuery"],["mediaQuery","ngDocMediaQuery"],[1,"ng-doc-toc-wrapper"],[1,"ng-doc-toc-container"],[1,"ng-doc-toc-selection"],["selection",""],[1,"ng-doc-toc"],["ng-doc-toc-element","",3,"href","level","selected",4,"ngFor","ngForOf"],["ng-doc-toc-element","",3,"href","level","selected"]],template:function(u,f){if(1&u&&o.YNc(0,_s,6,1,"ng-template",0,1,o.W1O),2&u){const M=o.MAs(1);o.Q6J("ngDocMediaQuery",o.WLB(1,Ld,M.breakpoints.Large,M.breakpoints.XLarge))}},dependencies:[m.ax,Zc,hu],styles:["[_nghost-%COMP%] .ng-doc-toc-wrapper[_ngcontent-%COMP%]{position:relative;width:var(--ng-doc-toc-width)}[_nghost-%COMP%] .ng-doc-toc-wrapper[_ngcontent-%COMP%] .ng-doc-toc-container[_ngcontent-%COMP%]{position:fixed;overflow-y:auto;height:calc(100% - var(--ng-doc-navbar-height) - var(--ng-doc-base-gutter) * 5);width:var(--ng-doc-toc-width)}[_nghost-%COMP%] .ng-doc-toc-wrapper[_ngcontent-%COMP%] .ng-doc-toc-selection[_ngcontent-%COMP%]{position:absolute;transform:translate(-50%);width:calc(var(--ng-doc-base-gutter) / 2);border-radius:calc(var(--ng-doc-base-gutter) / 2);background-color:var(--ng-doc-primary);left:calc(var(--ng-doc-toc-margin) + 1px);transition:var(--ng-doc-transition)}[_nghost-%COMP%] .ng-doc-toc-wrapper[_ngcontent-%COMP%] .ng-doc-toc[_ngcontent-%COMP%]{list-style:none;margin:0 0 0 var(--ng-doc-toc-margin);border-left:1px solid var(--ng-doc-base-3);padding:0 0 0 var(--ng-doc-base-gutter)}"],changeDetection:0})};return a=(0,R.__decorate)([(0,Ie.c)()],a),a})()},y=["ng-doc-blockquote",""];function A(a,l){1&a&&o._UZ(0,"ng-doc-icon",6),2&a&&o.Q6J("size",24)}function z(a,l){1&a&&o._UZ(0,"ng-doc-icon",7),2&a&&o.Q6J("size",24)}function se(a,l){1&a&&o._UZ(0,"ng-doc-icon",8),2&a&&o.Q6J("size",24)}function be(a,l){if(1&a&&(o.TgZ(0,"div",1),o.ynx(1,2),o.YNc(2,A,1,1,"ng-doc-icon",3),o.YNc(3,z,1,1,"ng-doc-icon",4),o.YNc(4,se,1,1,"ng-doc-icon",5),o.BQk(),o.qZA()),2&a){const i=o.oxw();o.xp6(1),o.Q6J("ngSwitch",i.type),o.xp6(1),o.Q6J("ngSwitchCase","note"),o.xp6(1),o.Q6J("ngSwitchCase","warning"),o.xp6(1),o.Q6J("ngSwitchCase","alert")}}const st=["*"];let nt=(()=>{class a{constructor(){this.type="default"}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["blockquote","ng-doc-blockquote",""]],hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-type",f.type)},inputs:{type:"type"},standalone:!0,features:[o.jDz],attrs:y,ngContentSelectors:st,decls:3,vars:1,consts:[["class","ng-doc-blockquote-icon",4,"ngIf"],[1,"ng-doc-blockquote-icon"],[3,"ngSwitch"],["icon","info",3,"size",4,"ngSwitchCase"],["icon","alert-triangle",3,"size",4,"ngSwitchCase"],["icon","alert-circle",3,"size",4,"ngSwitchCase"],["icon","info",3,"size"],["icon","alert-triangle",3,"size"],["icon","alert-circle",3,"size"]],template:function(u,f){1&u&&(o.F$t(),o.YNc(0,be,5,4,"div",0),o.TgZ(1,"div"),o.Hsn(2),o.qZA()),2&u&&o.Q6J("ngIf","default"!==f.type)},dependencies:[m.O5,m.RF,m.n9,wr.q],styles:['[_nghost-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);position:relative;display:flex;padding:calc(var(--ng-doc-base-gutter) * 2);border-radius:var(--ng-doc-base-gutter);margin:var(--ng-doc-blockquote-margin);overflow:hidden;--ng-doc-code-margin: var(--ng-doc-base-gutter) 0}[_nghost-%COMP%]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-blockquote-background, var(--ng-doc-base-9));opacity:.1;border-radius:inherit;overflow:hidden;pointer-events:none}[_nghost-%COMP%]{position:relative}[_nghost-%COMP%]:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid var(--ng-doc-blockquote-border-color, var(--ng-doc-base-9));opacity:.2;border-radius:inherit;overflow:hidden;pointer-events:none}[data-ng-doc-type=note][_nghost-%COMP%]{--ng-doc-blockquote-background: var(--ng-doc-info);--ng-doc-blockquote-border-color: var(--ng-doc-info);--ng-doc-icon-color: var(--ng-doc-info)}[data-ng-doc-type=warning][_nghost-%COMP%]{--ng-doc-blockquote-background: var(--ng-doc-warning);--ng-doc-blockquote-border-color: var(--ng-doc-warning);--ng-doc-icon-color: var(--ng-doc-warning)}[data-ng-doc-type=alert][_nghost-%COMP%]{--ng-doc-blockquote-background: var(--ng-doc-alert);--ng-doc-blockquote-border-color: var(--ng-doc-alert);--ng-doc-icon-color: var(--ng-doc-alert)}[_nghost-%COMP%] .ng-doc-blockquote-icon[_ngcontent-%COMP%]{display:flex;margin-right:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] p{margin:0}'],changeDetection:0})}return a})();var Yt=d(5717);class Ln{constructor(l,i){this._document=i;const u=this._textarea=this._document.createElement("textarea"),f=u.style;f.position="fixed",f.top=f.opacity="0",f.left="-999em",u.setAttribute("aria-hidden","true"),u.value=l,u.readOnly=!0,(this._document.fullscreenElement||this._document.body).appendChild(u)}copy(){const l=this._textarea;let i=!1;try{if(l){const u=this._document.activeElement;l.select(),l.setSelectionRange(0,l.value.length),i=this._document.execCommand("copy"),u&&u.focus()}}catch{}return i}destroy(){const l=this._textarea;l&&(l.remove(),this._textarea=void 0)}}let Po=(()=>{class a{constructor(i){this._document=i}copy(i){const u=this.beginCopy(i),f=u.copy();return u.destroy(),f}beginCopy(i){return new Ln(i,this._document)}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(m.K0))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();var xs=d(9687),Pr=d(8671),At=d(6825);const qo=["*"];let ya=(()=>{class a{constructor(i){this.element=i,this.animateOpacity=!0,this.resizeAnimation={value:0,params:{startHeight:0,startWidth:0}}}ngOnChanges(){this.resizeAnimation={value:this.trigger,params:{startHeight:this.element.nativeElement.clientHeight,startWidth:this.element.nativeElement.clientWidth}}}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-smooth-resize"]],hostVars:1,hostBindings:function(u,f){2&u&&o.d8E("@resizeAnimation",f.resizeAnimation)},inputs:{trigger:"trigger",animateOpacity:"animateOpacity"},standalone:!0,features:[o.TTD,o.jDz],ngContentSelectors:qo,decls:1,vars:0,template:function(u,f){1&u&&(o.F$t(),o.Hsn(0))},styles:["[_nghost-%COMP%]{display:block;overflow:hidden;height:var(--ng-doc-smooth-resize-height);max-height:var(--ng-doc-smooth-resize-max-height)}"],data:{animation:[(0,At.X$)("resizeAnimation",[(0,At.eR)("void <=> *",[]),(0,At.eR)("* <=> *",[(0,At.oB)({height:"{{startHeight}}px",width:"{{startWidth}}px"}),(0,At.jt)(".225s ease-in-out")])])]},changeDetection:0})}return a})();function ag(a,l){if(1&a&&o._UZ(0,"ng-doc-icon",8),2&a){const i=o.oxw(2);o.Q6J("customIcon",i.icon)}}function Bd(a,l){if(1&a&&(o.TgZ(0,"div",5)(1,"span",6),o.YNc(2,ag,1,1,"ng-doc-icon",7),o._uU(3),o.qZA()()),2&a){const i=o.oxw();o.xp6(2),o.Q6J("ngIf",i.icon),o.xp6(1),o.hij(" ",i.name," ")}}function cg(a,l){if(1&a&&(o._UZ(0,"div",9),o.ALo(1,"ngDocSanitizeHtml")),2&a){const i=o.oxw();o.Q6J("innerHTML",o.lcZ(1,1,i.html),o.oJD)}}function jd(a,l){1&a&&(o.TgZ(0,"div",10),o.Hsn(1),o.qZA())}function Hd(a,l){if(1&a&&(o.TgZ(0,"ng-doc-smooth-resize",14),o._uU(1),o.qZA()),2&a){const i=o.oxw(2);o.Q6J("trigger",i.tooltipText),o.xp6(1),o.hij(" ",i.tooltipText," ")}}function Kc(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"button",11),o.NdJ("click",function(){o.CHM(i);const f=o.oxw();return f.copyCode(),o.KtG(f.tooltipText="Copied!")})("mouseenter",function(){o.CHM(i);const f=o.oxw();return o.KtG(f.tooltipText="Copy to clipboard")}),o.YNc(1,Hd,2,2,"ng-template",null,12,o.W1O),o._UZ(3,"ng-doc-icon",13),o.qZA()}if(2&a){const i=o.MAs(2);o.Q6J("ngDocTooltip",i)}}const Us=["*"];let Qc=(()=>{class a{constructor(i,u){this.elementRef=i,this.clipboard=u,this.html="",this.copyButton=!0,this.lineNumbers=!1,this.tooltipText=""}get hasHeader(){return!!this.name||!!this.icon}get codeElement(){return this.elementRef?.nativeElement.querySelector("code")??null}copyCode(){this.clipboard.copy(this.codeElement?.textContent??"")}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq),o.Y36(Po))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-code"]],hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-has-header",f.hasHeader)},inputs:{html:"html",copyButton:"copyButton",name:"name",icon:"icon",lineNumbers:"lineNumbers"},standalone:!0,features:[o.jDz],ngContentSelectors:Us,decls:5,vars:4,consts:[["class","ng-doc-code-header",4,"ngIf"],[1,"ng-doc-code-body"],["class","ng-doc-code-wrapper","ngDocPageProcessor","",3,"innerHTML",4,"ngIf"],["class","ng-doc-code-wrapper",4,"ngIf"],["class","ng-doc-copy-button","ng-doc-button-icon","",3,"ngDocTooltip","click","mouseenter",4,"ngIf"],[1,"ng-doc-code-header"],["ng-doc-text","",1,"ng-doc-code-file-name"],[3,"customIcon",4,"ngIf"],[3,"customIcon"],["ngDocPageProcessor","",1,"ng-doc-code-wrapper",3,"innerHTML"],[1,"ng-doc-code-wrapper"],["ng-doc-button-icon","",1,"ng-doc-copy-button",3,"ngDocTooltip","click","mouseenter"],["tooltipContent",""],["icon","copy"],[3,"trigger"]],template:function(u,f){1&u&&(o.F$t(),o.YNc(0,Bd,4,2,"div",0),o.TgZ(1,"div",1),o.YNc(2,cg,2,3,"div",2),o.YNc(3,jd,2,0,"div",3),o.YNc(4,Kc,4,1,"button",4),o.qZA()),2&u&&(o.Q6J("ngIf",f.hasHeader),o.xp6(2),o.Q6J("ngIf",f.html),o.xp6(1),o.Q6J("ngIf",!f.html),o.xp6(1),o.Q6J("ngIf",f.copyButton))},dependencies:[m.O5,Kr.Uy,Bi.J,Yt.A,ya,wr.q,xs.Y,Pr.$],styles:['[_nghost-%COMP%]{position:relative;display:block;margin:var(--ng-doc-code-margin)}[_nghost-%COMP%]:hover .ng-doc-copy-button[_ngcontent-%COMP%]{opacity:1}[data-ng-doc-has-header=true][_nghost-%COMP%]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}[_nghost-%COMP%] .ng-doc-code-wrapper[_ngcontent-%COMP%]{--ng-doc-code-margin: 0;--ng-doc-code-border: none}[_nghost-%COMP%] .ng-doc-code-header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0;border-top:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));border-left:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));border-right:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color))}[_nghost-%COMP%] .ng-doc-code-header[_ngcontent-%COMP%] .ng-doc-code-file-name[_ngcontent-%COMP%]{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 13px}[_nghost-%COMP%] .ng-doc-code-header[_ngcontent-%COMP%] .ng-doc-code-file-name[_ngcontent-%COMP%] ng-doc-icon[_ngcontent-%COMP%]{margin-right:calc(var(--ng-doc-base-gutter) / 2)}[_nghost-%COMP%] .ng-doc-code-body[_ngcontent-%COMP%]{position:relative;height:100%;border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));border:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color))}[_nghost-%COMP%] .ng-doc-copy-button[_ngcontent-%COMP%]{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);opacity:0;--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var( --ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2) );--ng-doc-button-active-background: var( --ng-doc-code-copy-button-active-background, var(--ng-doc-base-3) )}[_nghost-%COMP%] .ng-doc-code-wrapper[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));border:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));overflow:hidden;height:100%}[_nghost-%COMP%] pre code{display:block;padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}[_nghost-%COMP%] pre code.code-lines{display:grid;padding:calc(var(--ng-doc-base-gutter) * 2) 0}[_nghost-%COMP%] pre code .line{padding:0 calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] pre code .line.highlighted{position:relative}[_nghost-%COMP%] pre code .line.highlighted:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-code-highlight-color);opacity:.05;border-radius:inherit;overflow:hidden;pointer-events:none}[_nghost-%COMP%] pre code .line.highlighted:after{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--ng-doc-code-highlight-color);opacity:.8}'],changeDetection:0})}return a})();const Ca=d(6548);function tc(a){const l=a.regex,i=l.concat(/[A-Z_]/,l.optional(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),f={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},M={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},Y=a.inherit(M,{begin:/\(/,end:/\)/}),ee=a.inherit(a.APOS_STRING_MODE,{className:"string"}),le=a.inherit(a.QUOTE_STRING_MODE,{className:"string"}),xe={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin://,relevance:10,contains:[M,le,ee,Y,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[M,Y,le,ee]}]}]},a.COMMENT(//,{relevance:10}),{begin://,relevance:10},f,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[le]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[xe],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[xe],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:l.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:i,relevance:0,starts:xe}]},{className:"tag",begin:l.concat(/<\//,l.lookahead(l.concat(i,/>/))),contains:[{className:"name",begin:i,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}Ca.registerLanguage("html",tc),Ca.registerLanguage("xml",tc);let gu=(()=>{class a{constructor(i){this.elementRef=i,this.code="",this.html="",this.language="typescript",this.highlightJsClass=!0}ngOnChanges(){if(this.code){const i=Ca.highlight(this.code,{language:this.language});this.elementRef.nativeElement.innerHTML=i.value??this.html}else this.elementRef.nativeElement.innerHTML=this.html}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq))};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["code","ngDocCodeHighlighter",""]],hostVars:2,hostBindings:function(u,f){2&u&&o.ekj("hljs",f.highlightJsClass)},inputs:{code:["ngDocCodeHighlighter","code"],html:"html",language:"language"},standalone:!0,features:[o.TTD]})}return a})();var Jc=d(7022),_r=d(2549);function lg(a,l){if(1&a&&(o.ynx(0),o._uU(1),o.BQk()),2&a){const i=l.polymorpheusOutlet;o.xp6(1),o.Oqu(i)}}const ba=function(a,l){return{from:a,opacity:l}},nc=function(a,l){return{value:a,params:l}};function ug(a,l){if(1&a&&(o.TgZ(0,"div"),o.YNc(1,lg,2,1,"ng-container",1),o.qZA()),2&a){const i=o.oxw();o.Q6J("@expandCollapse",o.WLB(5,nc,i.expanded,o.WLB(2,ba,i.from+"px",i.from?1:0))),o.xp6(1),o.Q6J("polymorpheusOutlet",i.content)}}let dg=(()=>{class a{constructor(){this.expanded=!1,this.content="",this.from=0}toggle(){this.expanded=!this.expanded}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-expander"]],hostVars:1,hostBindings:function(u,f){2&u&&o.d8E("@preventInitialChild",f.preventInitialChild)},inputs:{expanded:"expanded",content:"content",from:"from"},standalone:!0,features:[o.jDz],decls:1,vars:1,consts:[[4,"ngIf"],[4,"polymorpheusOutlet"]],template:function(u,f){1&u&&o.YNc(0,ug,2,8,"div",0),2&u&&o.Q6J("ngIf",f.expanded||f.from)},dependencies:[m.O5,_r.wq,_r.Li],styles:["[_nghost-%COMP%]{display:block}"],data:{animation:[Jc.tI,Jc.Qr]},changeDetection:0})}return a})();function pu(a,l){1&a&&o.GkF(0)}function Wm(a,l){if(1&a&&(o.TgZ(0,"ng-doc-smooth-resize",15),o._uU(1),o.qZA()),2&a){const i=o.oxw(3);o.Q6J("trigger",i.copyTooltipText),o.xp6(1),o.hij(" ",i.copyTooltipText," ")}}function hg(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"button",13),o.NdJ("click",function(){o.CHM(i);const f=o.oxw(2);return f.copyCode(),o.KtG(f.copyTooltipText="Copied!")})("mouseenter",function(){o.CHM(i);const f=o.oxw(2);return o.KtG(f.copyTooltipText="Copy to clipboard")}),o.YNc(1,Wm,2,2,"ng-template",null,9,o.W1O),o._UZ(3,"ng-doc-icon",14),o.qZA()}if(2&a){const i=o.MAs(2);o.Q6J("ngDocTooltip",i)}}function fg(a,l){if(1&a&&(o.TgZ(0,"ng-doc-smooth-resize",15),o._uU(1),o.qZA()),2&a){const i=o.oxw(2);o.Q6J("trigger",i.expandTooltipText),o.xp6(1),o.hij(" ",i.expandTooltipText," ")}}function Gm(a,l){if(1&a&&(o.TgZ(0,"ng-doc-code",16)(1,"pre",17),o._uU(2,"\t\t\t\t\t"),o._UZ(3,"code",18),o._uU(4,"\n\t\t\t\t"),o.qZA()()),2&a){const i=o.oxw(2);o.Q6J("copyButton",!1),o.xp6(3),o.Q6J("ngDocCodeHighlighter",i.code)("language","html")}}function Ym(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"div",2)(1,"div",3)(2,"div",4),o.YNc(3,pu,1,0,"ng-container",5),o.qZA(),o.TgZ(4,"div",6),o.YNc(5,hg,4,1,"button",7),o.TgZ(6,"button",8),o.NdJ("click",function(){o.CHM(i);const f=o.oxw();return o.KtG(f.expanded=!f.expanded)}),o.YNc(7,fg,2,2,"ng-template",null,9,o.W1O),o._UZ(9,"ng-doc-icon",10),o.qZA()()(),o.TgZ(10,"ng-doc-expander",11),o.YNc(11,Gm,5,3,"ng-template",null,12,o.W1O),o.qZA()()}if(2&a){const i=o.MAs(8),u=o.MAs(12),f=o.oxw(),M=o.MAs(2);o.xp6(3),o.Q6J("ngTemplateOutlet",M),o.xp6(2),o.Q6J("ngIf",!f.codeContent),o.xp6(1),o.Q6J("ngDocTooltip",i),o.xp6(4),o.Q6J("content",f.codeContent?f.codeContent:u)("expanded",f.expanded)}}function mu(a,l){1&a&&o.Hsn(0)}const oc=["*"];let Vd=(()=>{class a{constructor(i){this.clipboard=i,this.codeContent="",this.code="",this.language="typescript",this.container=!0,this.border=!0,this.expanded=!1,this.copyTooltipText=""}get expandTooltipText(){return this.expanded?"Collapse":"Expand"}copyCode(){this.clipboard.copy(this.code)}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(Po))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-demo-displayer"]],hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-border",f.border)},inputs:{codeContent:"codeContent",code:"code",language:"language",container:"container",border:"border",expanded:"expanded"},standalone:!0,features:[o.jDz],ngContentSelectors:oc,decls:3,vars:2,consts:[["class","ng-doc-demo-wrapper",4,"ngIf","ngIfElse"],["demoTemplate",""],[1,"ng-doc-demo-wrapper"],[1,"ng-doc-demo-container"],[1,"ng-doc-demo"],[4,"ngTemplateOutlet"],[1,"ng-doc-demo-controls"],["class","ng-doc-copy-button","ng-doc-button-icon","",3,"ngDocTooltip","click","mouseenter",4,"ngIf"],["ng-doc-button-icon","",3,"ngDocTooltip","click"],["tooltipContent",""],["icon","code"],[3,"content","expanded"],["expanderContent",""],["ng-doc-button-icon","",1,"ng-doc-copy-button",3,"ngDocTooltip","click","mouseenter"],["icon","copy"],[3,"trigger"],[3,"copyButton"],[1,"hljs","ngde"],[1,"ngde",3,"ngDocCodeHighlighter","language"]],template:function(u,f){if(1&u&&(o.F$t(),o.YNc(0,Ym,13,5,"div",0),o.YNc(1,mu,1,0,"ng-template",null,1,o.W1O)),2&u){const M=o.MAs(2);o.Q6J("ngIf",f.container)("ngIfElse",M)}},dependencies:[m.O5,m.tP,Bi.J,Yt.A,ya,wr.q,dg,Qc,gu],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;overflow:hidden;--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none}[data-ng-doc-border=true][_nghost-%COMP%]{border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius)}[_nghost-%COMP%] .ng-doc-demo-wrapper[_ngcontent-%COMP%]{overflow:hidden}[_nghost-%COMP%] .ng-doc-demo-wrapper[_ngcontent-%COMP%] .ng-doc-demo-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;width:100%;padding:calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-demo-displayer-background, var(--ng-doc-base-0))}[_nghost-%COMP%] .ng-doc-demo-wrapper[_ngcontent-%COMP%] .ng-doc-demo-container[_ngcontent-%COMP%] .ng-doc-demo[_ngcontent-%COMP%]{overflow:hidden;width:100%}[_nghost-%COMP%] .ng-doc-demo-wrapper[_ngcontent-%COMP%] .ng-doc-demo-container[_ngcontent-%COMP%] .ng-doc-demo-controls[_ngcontent-%COMP%]{flex-shrink:0;margin-left:auto}[_nghost-%COMP%] ng-doc-code[_ngcontent-%COMP%]{border-top:1px solid var(--ng-doc-border-color)}"],changeDetection:0})}return a})();const rc=["ng-doc-button",""],_u=["*"];let ic=(()=>{class a{constructor(){this.size="small",this.color="primary",this.rounded=!1,this.number=123}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["button","ng-doc-button",""],["a","ng-doc-button",""],["button","ng-doc-button-flat",""],["a","ng-doc-button-flat",""],["button","ng-doc-button-text",""],["a","ng-doc-button-text",""]],hostVars:3,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-size",f.size)("data-ng-doc-color",f.color)("data-ng-doc-rounded",f.rounded)},inputs:{size:"size",color:"color",rounded:"rounded",number:"number"},standalone:!0,features:[o.jDz],attrs:rc,ngContentSelectors:_u,decls:1,vars:0,template:function(u,f){1&u&&(o.F$t(),o.Hsn(0))},styles:['[_nghost-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);position:relative;display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;border-radius:calc(var(--ng-doc-base-gutter) / 2);padding:var(--ng-doc-button-padding, var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2));text-decoration:none;background:var(--ng-doc-button-background);--ng-doc-text: var(--ng-doc-button-color);--ng-doc-font-size: calc(var(--ng-doc-base-gutter) * 2);--ng-doc-line-height: calc(var(--ng-doc-base-gutter) * 3);--ng-doc-icon-color: var(--ng-doc-button-color)}[_nghost-%COMP%]{position:relative}[_nghost-%COMP%]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-button-alpha-background);opacity:var(--ng-doc-button-background-opacity);border-radius:inherit;overflow:hidden;pointer-events:none}[data-ng-doc-rounded=true][_nghost-%COMP%]{border-radius:calc(var(--ng-doc-base-gutter) * 5)}[data-ng-doc-size=small][_nghost-%COMP%]{--ng-doc-font-size: 14px;--ng-doc-line-height: 16px}[data-ng-doc-size=small][data-ng-doc-rounded=true][_nghost-%COMP%]{border-radius:calc(var(--ng-doc-base-gutter) * 3)}[data-ng-doc-size=large][_nghost-%COMP%]{--ng-doc-font-size: 20px;--ng-doc-font-weight: 700;--ng-doc-line-height: 32px}[data-ng-doc-size=large][data-ng-doc-rounded=true][_nghost-%COMP%]{border-radius:calc(var(--ng-doc-base-gutter) * 5)}[_nghost-%COMP%]:hover{text-decoration:none;--ng-doc-button-background-opacity: var(--ng-doc-button-hover-background-opacity) !important;--ng-doc-button-color: var(--ng-doc-button-hover-color) !important}[_nghost-%COMP%]:active{--ng-doc-button-background-opacity: var(--ng-doc-button-active-background-opacity) !important;--ng-doc-button-color: var(--ng-doc-button-active-color) !important}[ng-doc-button][_nghost-%COMP%]{--ng-doc-button-background-opacity: .1;--ng-doc-button-hover-background-opacity: .2;--ng-doc-button-active-background-opacity: .3}[ng-doc-button][data-ng-doc-color=primary][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-primary);--ng-doc-button-color: var(--ng-doc-primary);--ng-doc-button-hover-color: var(--ng-doc-primary);--ng-doc-button-active-color: var(--ng-doc-primary)}[ng-doc-button][data-ng-doc-color=info][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-info);--ng-doc-button-color: var(--ng-doc-info);--ng-doc-button-hover-color: var(--ng-doc-info);--ng-doc-button-active-color: var(--ng-doc-info)}[ng-doc-button][data-ng-doc-color=warning][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-warning);--ng-doc-button-color: var(--ng-doc-warning);--ng-doc-button-hover-color: var(--ng-doc-warning);--ng-doc-button-active-color: var(--ng-doc-warning)}[ng-doc-button][data-ng-doc-color=alert][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-alert);--ng-doc-button-color: var(--ng-doc-alert);--ng-doc-button-hover-color: var(--ng-doc-alert);--ng-doc-button-active-color: var(--ng-doc-alert)}[ng-doc-button][data-ng-doc-color=link][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-link-color);--ng-doc-button-color: var(--ng-doc-link-color);--ng-doc-button-hover-color: var(--ng-doc-link-color);--ng-doc-button-active-color: var(--ng-doc-link-color)}[ng-doc-button-text][_nghost-%COMP%]{--ng-doc-button-hover-background-opacity: .1;--ng-doc-button-active-background-opacity: .2}[ng-doc-button-text][data-ng-doc-color=primary][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-primary);--ng-doc-button-color: var(--ng-doc-primary);--ng-doc-button-hover-color: var(--ng-doc-primary);--ng-doc-button-active-color: var(--ng-doc-primary)}[ng-doc-button-text][data-ng-doc-color=info][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-info);--ng-doc-button-color: var(--ng-doc-info);--ng-doc-button-hover-color: var(--ng-doc-info);--ng-doc-button-active-color: var(--ng-doc-info)}[ng-doc-button-text][data-ng-doc-color=warning][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-warning);--ng-doc-button-color: var(--ng-doc-warning);--ng-doc-button-hover-color: var(--ng-doc-warning);--ng-doc-button-active-color: var(--ng-doc-warning)}[ng-doc-button-text][data-ng-doc-color=alert][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-alert);--ng-doc-button-color: var(--ng-doc-alert);--ng-doc-button-hover-color: var(--ng-doc-alert);--ng-doc-button-active-color: var(--ng-doc-alert)}[ng-doc-button-text][data-ng-doc-color=link][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-link-color);--ng-doc-button-color: var(--ng-doc-link-color);--ng-doc-button-hover-color: var(--ng-doc-link-color);--ng-doc-button-active-color: var(--ng-doc-link-color)}[ng-doc-button-flat][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-white);--ng-doc-button-hover-background-opacity: .1;--ng-doc-button-active-background-opacity: .2}[ng-doc-button-flat][data-ng-doc-color=primary][_nghost-%COMP%]{--ng-doc-button-background: var(--ng-doc-primary);--ng-doc-button-color: var(--ng-doc-primary-text);--ng-doc-button-hover-color: var(--ng-doc-primary-text);--ng-doc-button-active-color: var(--ng-doc-primary-text)}[ng-doc-button-flat][data-ng-doc-color=info][_nghost-%COMP%]{--ng-doc-button-background: var(--ng-doc-info);--ng-doc-button-color: var(--ng-doc-info-text);--ng-doc-button-hover-color: var(--ng-doc-info-text);--ng-doc-button-active-color: var(--ng-doc-info-text)}[ng-doc-button-flat][data-ng-doc-color=warning][_nghost-%COMP%]{--ng-doc-button-background: var(--ng-doc-warning);--ng-doc-button-color: var(--ng-doc-warning-text);--ng-doc-button-hover-color: var(--ng-doc-warning-text);--ng-doc-button-active-color: var(--ng-doc-warning-text)}[ng-doc-button-flat][data-ng-doc-color=alert][_nghost-%COMP%]{--ng-doc-button-background: var(--ng-doc-alert);--ng-doc-button-color: var(--ng-doc-alert-text);--ng-doc-button-hover-color: var(--ng-doc-alert-text);--ng-doc-button-active-color: var(--ng-doc-alert-text)}[ng-doc-button-flat][data-ng-doc-color=link][_nghost-%COMP%]{--ng-doc-button-background: var(--ng-doc-link-color);--ng-doc-button-color: var(--ng-doc-primary-text);--ng-doc-button-hover-color: var(--ng-doc-primary-text);--ng-doc-button-active-color: var(--ng-doc-primary-text)}'],changeDetection:0})}return a})(),gg=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-fullscreen-button"]],inputs:{route:"route"},standalone:!0,features:[o.jDz],decls:4,vars:1,consts:[["ng-doc-button-text","","target","_blank",3,"routerLink"],["ng-doc-text",""],["icon","external-link","ngDocTextRight",""]],template:function(u,f){1&u&&(o.TgZ(0,"a",0)(1,"span",1),o._uU(2," Open demo in a new tab "),o._UZ(3,"ng-doc-icon",2),o.qZA()()),2&u&&o.Q6J("routerLink",f.route)},dependencies:[Jo.rH,Kr.Uy,wr.q,Kr.EH,ic],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:center;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 2)}"],changeDetection:0})}return a})();var Ud=d(7328);let sc=(()=>{class a{constructor(){this.origins=new Set,this.selectedChange=new Ud.t}get selectedChange$(){return this.selectedChange.pipe((0,G.x)())}addOrigin(i){this.origins.add(i)}removeOrigin(i){this.origins.delete(i),this.selected===i&&this.changeSelected(i,!1)}changeSelected(i,u){this.selected=this.selected===i||u?u?i:void 0:this.selected,this.selectedChange.next(this.selected?.elementRef?.nativeElement??void 0)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocSelectionHost",""]],standalone:!0})}return a})(),pg=(()=>{let a=class Tm{constructor(i,u){this.elementRef=i,this.selectionHost=u,this.align="bottom"}ngAfterViewInit(){this.selectionHost.selectedChange$.pipe((0,Ie.t)(this)).subscribe(i=>this.setStyles(i))}setStyles(i){if(this.elementRef.nativeElement.style.visibility="hidden",i){const u=this.getPosition(i);"left"===this.align||"right"===this.align?this.elementRef.nativeElement.style.top=u.top:this.elementRef.nativeElement.style.left=u.left,this.elementRef.nativeElement.style.height=u.height,this.elementRef.nativeElement.style.width=u.width,this.elementRef.nativeElement.style.visibility="visible"}}getPosition(i){return{top:i?`${i.offsetTop||0}px`:"0",left:i?`${i.offsetLeft||0}px`:"0",width:i?`${i.offsetWidth||0}px`:"0",height:i?`${i.offsetHeight||0}px`:"0"}}static#e=this.\u0275fac=function(u){return new(u||Tm)(o.Y36(o.SBq),o.Y36(sc))};static#t=this.\u0275cmp=o.Xpm({type:Tm,selectors:[["ng-doc-selection"]],hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-align",f.align)},inputs:{align:"align"},standalone:!0,features:[o.jDz],decls:0,vars:0,template:function(u,f){},styles:["[_nghost-%COMP%]{position:absolute;transition:var(--ng-doc-transition);pointer-events:none;background:var(--ng-doc-selection-background)}[data-ng-doc-align=left][_nghost-%COMP%]{left:0;border-left:var(--ng-doc-selection-border)}[data-ng-doc-align=right][_nghost-%COMP%]{right:0;border-right:var(--ng-doc-selection-border)}[data-ng-doc-align=bottom][_nghost-%COMP%]{bottom:0;border-bottom:var(--ng-doc-selection-border)}[data-ng-doc-align=top][_nghost-%COMP%]{top:0;border-top:var(--ng-doc-selection-border)}"],changeDetection:0})};return a=(0,R.__decorate)([(0,Ie.c)(),(0,R.__metadata)("design:paramtypes",[o.SBq,sc])],a),a})(),vs=(()=>{class a{constructor(i,u){this.elementRef=i,this.selectionHost=u,this.selected=!1,this.selectionHost.addOrigin(this)}ngOnChanges({selected:i}){i&&this.selectionHost.changeSelected(this,this.selected)}ngOnDestroy(){this.selectionHost.removeOrigin(this)}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq),o.Y36(sc))};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocSelectionOrigin",""]],inputs:{selected:["ngDocSelectionOrigin","selected"]},standalone:!0,features:[o.TTD]})}return a})();const mg=["headerTab"];function qc(a,l){if(1&a&&(o.ynx(0),o._uU(1),o.BQk()),2&a){const i=o.oxw().$implicit;o.xp6(1),o.Oqu(i.label)}}const el=function(){return{}};function $d(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"div",5,6),o.NdJ("click",function(){const M=o.CHM(i).$implicit,Y=o.oxw();return o.KtG(Y.selectTab(M))}),o.TgZ(2,"div",7),o.YNc(3,qc,2,1,"ng-container",4),o.qZA()()}if(2&a){const i=l.$implicit,u=o.oxw();o.ekj("selected",i===u.selectedTab),o.Q6J("ngDocSelectionOrigin",i===u.selectedTab),o.xp6(3),o.Q6J("polymorpheusOutlet",i.label)("polymorpheusOutletContext",o.DdM(5,el))}}function tl(a,l){if(1&a&&(o.TgZ(0,"div"),o._uU(1),o.qZA()),2&a){const i=l.polymorpheusOutlet;o.Q6J("@tabFadeAnimation",void 0),o.xp6(1),o.hij(" ",i," ")}}let Da=(()=>{class a{constructor(){this.label="",this.id=0,this.content=""}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-tab"]],inputs:{label:"label",id:"id",content:"content"},standalone:!0,features:[o.jDz],decls:0,vars:0,template:function(u,f){},changeDetection:0})}return a})(),vu=(()=>{let a=class xm{constructor(i){this.changeDetectorRef=i,this.tabElements=new o.n_E,this.tabs=new o.n_E}ngAfterContentInit(){this.tabs.changes.pipe((0,V.O)(this.tabs),(0,Ie.t)(this)).subscribe(()=>{const i=this.openedTab?this.tabs.find(u=>u.id===this.openedTab):this.tabs.get(0);i&&this.selectTab(i),this.changeDetectorRef.markForCheck()})}ngAfterViewInit(){this.tabElements.changes.pipe((0,V.O)(this.tabElements),(0,Ie.t)(this)).subscribe(()=>this.changeDetectorRef.detectChanges())}get selectedIndex(){return this.selectedTab?this.tabs.toArray().indexOf(this.selectedTab):-1}get selectedHeaderTab(){return this.selectedTab?this.tabElements.get(this.selectedIndex)??null:null}selectTab(i){this.selectedTab=i}static#e=this.\u0275fac=function(u){return new(u||xm)(o.Y36(o.sBO))};static#t=this.\u0275cmp=o.Xpm({type:xm,selectors:[["ng-doc-tab-group"]],contentQueries:function(u,f,M){if(1&u&&o.Suo(M,Da,4),2&u){let Y;o.iGM(Y=o.CRH())&&(f.tabs=Y)}},viewQuery:function(u,f){if(1&u&&o.Gf(mg,5),2&u){let M;o.iGM(M=o.CRH())&&(f.tabElements=M)}},inputs:{openedTab:"openedTab"},standalone:!0,features:[o.jDz],decls:6,vars:5,consts:[["ngDocSelectionHost","",1,"ng-doc-tabs-wrapper"],["class","ng-doc-tab",3,"selected","ngDocSelectionOrigin","click",4,"ngFor","ngForOf"],[1,"ng-doc-body-wrapper"],[3,"trigger"],[4,"polymorpheusOutlet","polymorpheusOutletContext"],[1,"ng-doc-tab",3,"ngDocSelectionOrigin","click"],["headerTab",""],[1,"ng-doc-tab-text"]],template:function(u,f){if(1&u&&(o.TgZ(0,"div",0),o._UZ(1,"ng-doc-selection"),o.YNc(2,$d,4,6,"div",1),o.qZA(),o.TgZ(3,"div",2)(4,"ng-doc-smooth-resize",3),o.YNc(5,tl,2,2,"div",4),o.qZA()()),2&u){let M,Y;o.xp6(2),o.Q6J("ngForOf",f.tabs),o.xp6(2),o.Q6J("trigger",null!==(M=null==f.selectedTab?null:f.selectedTab.content)&&void 0!==M?M:""),o.xp6(1),o.Q6J("polymorpheusOutlet",null!==(Y=null==f.selectedTab?null:f.selectedTab.content)&&void 0!==Y?Y:"")("polymorpheusOutletContext",o.DdM(4,el))}},dependencies:[sc,pg,m.ax,vs,_r.wq,_r.Li,ya],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;background:var(--ng-doc-tab-group-header-background, var(--ng-doc-tab-group-background));border-radius:var(--ng-doc-tab-group-border-radius);border:var(--ng-doc-tab-group-border);overflow:hidden}[_nghost-%COMP%] .ng-doc-tabs-wrapper[_ngcontent-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);position:relative;width:100%;display:inline-flex;overflow-x:auto;line-height:18px;font-size:14px;flex-shrink:0;background:var(--ng-doc-tab-group-tabs-background)}[_nghost-%COMP%] .ng-doc-tabs-wrapper[_ngcontent-%COMP%] .ng-doc-tab[_ngcontent-%COMP%]{position:relative;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);cursor:pointer;white-space:nowrap}[_nghost-%COMP%] .ng-doc-tabs-wrapper[_ngcontent-%COMP%] .ng-doc-tab[_ngcontent-%COMP%] .ng-doc-tab-text[_ngcontent-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);position:relative;--ng-doc-font-size: 13px;--ng-doc-font-weight: 600}[_nghost-%COMP%] .ng-doc-body-wrapper[_ngcontent-%COMP%]{position:relative;background-color:var(--ng-doc-tab-group-background);height:100%;overflow:hidden;border-top:1px solid var(--ng-doc-border-color)}"],data:{animation:[Jc.Uq]},changeDetection:0})};return a=(0,R.__decorate)([(0,Ie.c)(),(0,R.__metadata)("design:paramtypes",[o.sBO])],a),a})(),Ea=(()=>{class a{transform(i,...u){return i(...u)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275pipe=o.Yjl({name:"execute",type:a,pure:!0,standalone:!0})}return a})();function zd(a,l){1&a&&o.GkF(0)}function Wd(a,l){1&a&&o._UZ(0,"ng-doc-code",7),2&a&&o.Q6J("html",l.$implicit.code)}function Gd(a,l){if(1&a&&(o.ynx(0),o.YNc(1,Wd,1,1,"ng-doc-code",6),o.BQk()),2&a){const i=o.oxw(3);o.xp6(1),o.Q6J("ngForOf",i.assets)}}function _g(a,l){if(1&a&&o._UZ(0,"ng-doc-icon",14),2&a){const i=o.oxw(2).$implicit;o.Q6J("customIcon",i.icon)}}function nl(a,l){if(1&a&&(o.YNc(0,_g,1,1,"ng-doc-icon",13),o._uU(1)),2&a){const i=o.oxw().$implicit;o.Q6J("ngIf",i.icon),o.xp6(1),o.hij(" ",i.title," ")}}function na(a,l){if(1&a&&o._UZ(0,"ng-doc-code",7),2&a){const i=o.oxw().$implicit;o.Q6J("html",i.code)}}function vg(a,l){if(1&a&&(o.TgZ(0,"ng-doc-tab",10),o.YNc(1,nl,2,2,"ng-template",null,11,o.W1O),o.YNc(3,na,1,1,"ng-template",null,12,o.W1O),o.qZA()),2&a){const i=l.$implicit,u=o.MAs(2),f=o.MAs(4);o.Q6J("id",i.title)("label",u)("content",f)}}function Yd(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"ng-doc-tab-group",8),o.ALo(2,"execute"),o.YNc(3,vg,5,3,"ng-doc-tab",9),o.qZA(),o.BQk()),2&a){const i=o.oxw(3);let u;o.xp6(1),o.Q6J("openedTab",null!==(u=o.xi3(2,2,i.getOpenedAssetId,i.assets))&&void 0!==u?u:i.options.defaultTab),o.xp6(2),o.Q6J("ngForOf",i.assets)}}function Zd(a,l){if(1&a&&(o.YNc(0,Gd,2,1,"ng-container",5),o.YNc(1,Yd,4,5,"ng-container",5)),2&a){const i=o.oxw(2);o.Q6J("ngIf",1===i.assets.length),o.xp6(1),o.Q6J("ngIf",i.assets.length>1)}}function ac(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"ng-doc-demo-displayer",2),o.YNc(2,zd,1,0,"ng-container",3),o.YNc(3,Zd,2,2,"ng-template",null,4,o.W1O),o.qZA(),o.BQk()),2&a){const i=o.MAs(4),u=o.oxw(),f=o.MAs(2);o.xp6(1),o.Q6J("codeContent",i)("expanded",!!u.options.expanded),o.xp6(1),o.Q6J("ngTemplateOutlet",f)}}function yg(a,l){if(1&a&&o._UZ(0,"ng-doc-fullscreen-button",17),2&a){const i=o.oxw(2);o.Q6J("route",i.options.fullscreenRoute)}}function bi(a,l){1&a&&o.GkF(0)}const Cg=function(){return{}};function Kd(a,l){if(1&a&&(o.YNc(0,yg,1,1,"ng-template",null,15,o.W1O),o.YNc(2,bi,1,0,"ng-container",16)),2&a){const i=o.MAs(1),u=o.oxw();let f;o.xp6(2),o.Q6J("polymorpheusOutlet",u.options.fullscreenRoute?i:null!==(f=u.demo)&&void 0!==f?f:"")("polymorpheusOutletContext",o.DdM(2,Cg))}}let yu=(()=>{class a{constructor(i){this.rootPage=i,this.options={},this.assets=[]}get classes(){return this.options.class??""}ngOnInit(){this.demo=this.getDemo(),this.assets=this.getAssets()}getOpenedAssetId(i){return i.find(u=>u.opened)?.title}getDemo(){if(this.componentName){const i=this.rootPage.page?.demos&&this.rootPage.page.demos[this.componentName];return i?new _r.Al(i):void 0}}getAssets(){return this.componentName?((this.rootPage.demoAssets&&this.rootPage.demoAssets[this.componentName])??[]).filter(i=>!this.options.tabs?.length||(0,pt.asArray)(this.options.tabs).includes(i.title)):[]}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(Li.a))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-demo"]],hostVars:2,hostBindings:function(u,f){2&u&&o.Tol(f.classes)},inputs:{componentName:"componentName",options:"options"},standalone:!0,features:[o.jDz],decls:3,vars:2,consts:[[4,"ngIf","ngIfElse"],["demoTemplate",""],[3,"codeContent","expanded"],[4,"ngTemplateOutlet"],["codeContent",""],[4,"ngIf"],[3,"html",4,"ngFor","ngForOf"],[3,"html"],[3,"openedTab"],[3,"id","label","content",4,"ngFor","ngForOf"],[3,"id","label","content"],["label",""],["assetContent",""],[3,"customIcon",4,"ngIf"],[3,"customIcon"],["fullscreenButton",""],[4,"polymorpheusOutlet","polymorpheusOutletContext"],[3,"route"]],template:function(u,f){if(1&u&&(o.YNc(0,ac,5,3,"ng-container",0),o.YNc(1,Kd,3,3,"ng-template",null,1,o.W1O)),2&u){const M=o.MAs(2);let Y;o.Q6J("ngIf",null===(Y=f.options.container)||void 0===Y||Y)("ngIfElse",M)}},dependencies:[m.O5,Vd,m.tP,m.ax,Qc,vu,Da,_r.wq,_r.Li,wr.q,Ea,gg],styles:["[_nghost-%COMP%]{display:block;margin:var(--ng-doc-demo-margin);--ng-doc-tab-group-background: var(--ng-doc-code-background);--ng-doc-tab-group-tabs-background: var(--ng-doc-base-2);--ng-doc-tab-group-border-radius: 0;--ng-doc-tab-group-border: none;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none}[_nghost-%COMP%] .ng-doc-example[_ngcontent-%COMP%]{padding:calc(var(--ng-doc-base-gutter) * 3)}[_nghost-%COMP%] ng-doc-icon[_ngcontent-%COMP%]{margin-right:calc(var(--ng-doc-base-gutter) / 2)}[_nghost-%COMP%] ng-doc-tab-group[_ngcontent-%COMP%]{border-top:1px solid var(--ng-doc-border-color)}"],changeDetection:0})}return a})();var Qd=d(9397),Xd=d(9384);const Cu=["resizer"],wa=[[["","ngDocPaneBack",""]],[["","ngDocPaneFront",""]]],Ma=["[ngDocPaneBack]","[ngDocPaneFront]"];let Oa=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocPaneFront",""]],standalone:!0})}return a})(),Jd=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocPaneBack",""]],standalone:!0})}return a})(),bu=(()=>{let a=class Pm{constructor(i,u,f,M){this.document=i,this.changeDetectorRef=u,this.elementRef=f,this.ngZone=M,this.expanded=!1,this.width="0%",this.dragging=!1}ngOnInit(){if(this.resizer){const i=(0,F.R)(this.resizer.nativeElement,"mousedown").pipe((0,Qd.b)(()=>{this.dragging=!0,this.changeDetectorRef.markForCheck()})),u=(0,F.R)(this.document,"mouseup").pipe((0,Qd.b)(()=>{this.dragging=!1,this.changeDetectorRef.markForCheck()})),f=(0,F.R)(this.document,"mousemove").pipe((0,U.U)(M=>M.clientX),(0,Xd.G)(),(0,U.U)(([M,Y])=>Y-M));i.pipe((0,Er.w)(()=>{const M=f.pipe((0,ma.R)(u)),Y=u.pipe((0,U.U)(()=>null),(0,ma.R)(f),(0,du.q)(1));return(0,ec.T)(M,Y)}),(0,Qr.h)(M=>0!==M),(0,Ss.w1)(this.ngZone),(0,Ie.t)(this)).subscribe(M=>{null===M?this.toggle():this.addDelta(M)})}(0,F.R)(window,"resize").pipe((0,pa.b)(100),(0,Ie.t)(this),(0,Ss.w1)(this.ngZone)).subscribe(()=>this.addDelta(0)),this.addDelta(0)}ngOnChanges({expanded:i}){i&&this.addDelta(i.currentValue?this.elementRef.nativeElement.offsetWidth:-this.elementRef.nativeElement.offsetWidth)}toggle(){this.resizer&&this.addDelta(this.resizer.nativeElement.offsetLeft1)}}let Ar=(()=>{class a{constructor(i){this.rootPage=i,this.options={},this.assets=[]}get classes(){return this.options.class??""}ngOnInit(){this.demo=this.getDemo(),this.assets=this.getAssets()}getDemo(){if(this.componentName){const i=this.rootPage.page?.demos&&this.rootPage.page.demos[this.componentName];return i?new _r.Al(i):void 0}}getAssets(){return this.componentName?((this.rootPage.demoAssets&&this.rootPage.demoAssets[this.componentName])??[]).filter(i=>!this.options.tabs?.length||(0,pt.asArray)(this.options.tabs).includes(i.title)):[]}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(Li.a))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-demo-pane"]],hostVars:2,hostBindings:function(u,f){2&u&&o.Tol(f.classes)},inputs:{componentName:"componentName",options:"options"},standalone:!0,features:[o.jDz],decls:7,vars:3,consts:[[3,"expanded"],["ngDocPaneBack","",4,"ngTemplateOutlet"],["ngDocPaneFront","",4,"ngTemplateOutlet"],["demoTemplate",""],["codeContent",""],["ngDocPaneBack",""],["ngDocPaneFront",""],["fullscreenButton",""],[4,"polymorpheusOutlet","polymorpheusOutletContext"],[3,"route"],[4,"ngIf"],[3,"html",4,"ngFor","ngForOf"],[3,"html"],[3,"openedTab"],[3,"id","label","content",4,"ngFor","ngForOf"],[3,"id","label","content"],["assetContent",""]],template:function(u,f){if(1&u&&(o.TgZ(0,"ng-doc-pane",0),o.YNc(1,Sa,1,0,"ng-container",1),o.YNc(2,Zm,1,0,"ng-container",2),o.qZA(),o.YNc(3,Xm,3,3,"ng-template",null,3,o.W1O),o.YNc(5,Eg,2,2,"ng-template",null,4,o.W1O)),2&u){const M=o.MAs(4),Y=o.MAs(6);let ee;o.Q6J("expanded",null!==(ee=f.options.expanded)&&void 0!==ee&&ee),o.xp6(1),o.Q6J("ngTemplateOutlet",Y),o.xp6(1),o.Q6J("ngTemplateOutlet",M)}},dependencies:[bu,m.tP,Jd,Oa,_r.wq,_r.Li,m.O5,m.ax,Qc,vu,Da,gg],styles:["[_nghost-%COMP%]{display:block;height:var(--ng-doc-demo-pane-height);margin:var(--ng-doc-demo-pane-margin);--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none;--ng-doc-smooth-resize-height: var(--ng-doc-demo-pane-height);--ng-doc-smooth-resize-max-height: 100%;--ng-doc-tab-group-tabs-background: var(--ng-doc-base-2);--ng-doc-tab-group-border: none;--ng-doc-tab-group-border-radius: 0}[_nghost-%COMP%] ng-doc-tab-group[_ngcontent-%COMP%], [_nghost-%COMP%] ng-doc-code[_ngcontent-%COMP%], [_nghost-%COMP%] ng-doc-pane[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0})}return a})();function wg(a,l){1&a&&o.GkF(0)}function cc(a,l){if(1&a&&(o.TgZ(0,"a",3),o.YNc(1,wg,1,0,"ng-container",4),o.qZA()),2&a){const i=o.oxw(),u=o.MAs(3);o.Tol(i.classes),o.Q6J("routerLink",i.path)("fragment",i.fragment)("queryParams",i.queryParams),o.xp6(1),o.Q6J("ngTemplateOutlet",u)}}function Mg(a,l){1&a&&o.GkF(0)}function Qi(a,l){1&a&&o._UZ(0,"ng-doc-icon",7)}function xa(a,l){if(1&a&&(o.TgZ(0,"a",5),o.YNc(1,Mg,1,0,"ng-container",4),o.YNc(2,Qi,1,0,"ng-doc-icon",6),o.qZA()),2&a){const i=o.oxw(),u=o.MAs(3);o.Tol(i.classes),o.Q6J("href",i.path,o.LSH),o.xp6(1),o.Q6J("ngTemplateOutlet",u),o.xp6(1),o.Q6J("ngIf",!i.isInCode)}}function qd(a,l){1&a&&o.Hsn(0)}const ol=["*"];let lc=(()=>{class a{constructor(i){this.elementRef=i,this.href="",this.classes="",this.isInCode=!1}ngOnInit(){this.isInCode=null!==this.elementRef.nativeElement.closest("code")}ngOnChanges(){this.link=document.createElement("a"),this.link.href=this.href}get isExternalLink(){return this.href.startsWith("http")}get path(){return(this.isExternalLink?this.href:this.link?.pathname)??""}get fragment(){return this.link?.hash.replace(/^#/,"")||void 0}get queryParams(){return Object.fromEntries(new URLSearchParams(this.link?.search.replace(/^\?/,"")??"").entries())}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-page-link"]],inputs:{href:"href",classes:"classes"},standalone:!0,features:[o.TTD,o.jDz],ngContentSelectors:ol,decls:4,vars:2,consts:[[3,"class","routerLink","fragment","queryParams",4,"ngIf"],["target","_blank",3,"class","href",4,"ngIf"],["content",""],[3,"routerLink","fragment","queryParams"],[4,"ngTemplateOutlet"],["target","_blank",3,"href"],["icon","external-link",4,"ngIf"],["icon","external-link"]],template:function(u,f){1&u&&(o.F$t(),o.YNc(0,cc,2,6,"a",0),o.YNc(1,xa,3,5,"a",1),o.YNc(2,qd,1,0,"ng-template",null,2,o.W1O)),2&u&&(o.Q6J("ngIf",!f.isExternalLink),o.xp6(1),o.Q6J("ngIf",f.isExternalLink))},dependencies:[m.O5,Jo.rH,m.tP,wr.q],styles:["[_nghost-%COMP%]{white-space:nowrap}[_nghost-%COMP%] ng-doc-icon[_ngcontent-%COMP%]{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}"],changeDetection:0})}return a})();var $s=d(95);class t0{constructor(l){this.internalDirectiveInstance=l}get $implicit(){return this.internalDirectiveInstance.ngDocLet}get ngDocLet(){return this.internalDirectiveInstance.ngDocLet}}let rl=(()=>{class a{constructor(i,u){this.viewContainer=i,this.templateRef=u,this.viewContainer.createEmbeddedView(this.templateRef,new t0(this))}static ngTemplateContextGuard(i,u){return!0}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.s_b),o.Y36(o.Rgc))};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocLet",""]],inputs:{ngDocLet:"ngDocLet"},standalone:!0})}return a})();var n0=d(8584),Hi=d(23);let il=(()=>{class a{transform(i,u){return i.bind(u)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275pipe=o.Yjl({name:"bind",type:a,pure:!0,standalone:!0})}return a})(),Pa=(()=>{class a{transform(i){return(0,pt.asArray)(i)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275pipe=o.Yjl({name:"asArray",type:a,pure:!0,standalone:!0})}return a})();var Du=d(3354);const sl=new Map;var eh=d(1435),th=d(2096),nh=d(1794);const Sg=["demoOutlet"];function Eu(a,l){if(1&a&&(o.TgZ(0,"ng-doc-smooth-resize",1)(1,"ng-doc-demo-displayer",2),o.GkF(2,null,3),o.qZA()()),2&a){const i=l.ngDocLet,u=o.oxw();let f;o.Q6J("trigger",i),o.xp6(1),o.Q6J("code",null!==(f=i)&&void 0!==f?f:"")("border",!1)("expanded",u.expanded)}}const al=["propertyOutlet"];function Tg(a,l){if(1&a&&(o._UZ(0,"div",5),o.ALo(1,"ngDocSanitizeHtml")),2&a){const i=o.oxw(2);o.Q6J("innerHTML",o.lcZ(1,1,i.tooltipContent),o.oJD)}}const cl=function(){return["left-center","top-right","bottom-right"]};function xg(a,l){if(1&a&&(o.TgZ(0,"span",3),o._uU(1),o.qZA(),o.YNc(2,Tg,2,3,"ng-template",null,4,o.W1O)),2&a){const i=o.MAs(3),u=o.oxw();o.Q6J("ngDocTooltip",i)("canOpen",!!u.tooltipContent)("positions",o.DdM(4,cl)),o.xp6(1),o.Oqu(u.name)}}function ll(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"button",14),o.NdJ("click",function(){o.CHM(i);const f=o.oxw(3);return o.KtG(f.resetForm.emit())}),o._uU(1," Reset "),o.qZA()}}function Pg(a,l){if(1&a&&(o._UZ(0,"ng-doc-playground-property",17),o.ALo(1,"execute"),o.ALo(2,"bind")),2&a){const i=l.$implicit,u=o.oxw(4);o.Q6J("name",i.property.inputName)("property",i.property)("typeControl",i.typeControl)("defaultValue",u.defaultValues[i.propertyName])("control",o.Dn7(1,5,o.xi3(2,9,u.getFormControl,u),"properties",i.propertyName))}}function oh(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"h5",15),o._uU(2,"Settings"),o.qZA(),o.YNc(3,Pg,3,12,"ng-doc-playground-property",16),o.BQk()),2&a){const i=o.oxw(3);o.xp6(3),o.Q6J("ngForOf",i.propertyControls)}}function wu(a,l){if(1&a&&(o._UZ(0,"ng-doc-playground-property",19),o.ALo(1,"execute"),o.ALo(2,"bind")),2&a){const i=l.$implicit,u=o.oxw(4);o.Q6J("name",i.value.label)("property",i.value)("typeControl",u.contentTypeControl)("control",o.Dn7(1,4,o.xi3(2,8,u.getFormControl,u),"content",i.key))}}function ul(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"h5",15),o._uU(2,"Content"),o.qZA(),o.YNc(3,wu,3,11,"ng-doc-playground-property",18),o.ALo(4,"keyvalue"),o.BQk()),2&a){const i=o.oxw(3);o.xp6(3),o.Q6J("ngForOf",o.lcZ(4,1,i.dynamicContent))}}const rh=function(){return["bottom-right","left-center"]};function Ag(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"div",4)(1,"div",5)(2,"h4",6),o._uU(3,"Playground"),o.qZA(),o.YNc(4,ll,2,0,"button",7),o.qZA(),o.TgZ(5,"div",8)(6,"ng-doc-checkbox",9),o.NdJ("ngModelChange",function(f){o.CHM(i);const M=o.oxw(2);return o.KtG(M.recreateDemo=f)})("ngModelChange",function(f){o.CHM(i);const M=o.oxw(2);return o.KtG(M.recreateDemoChange.emit(f))}),o.TgZ(7,"span",10),o._uU(8," Recreate "),o._UZ(9,"ng-doc-icon",11),o.qZA()()(),o._UZ(10,"div",12),o.YNc(11,oh,4,1,"ng-container",13),o.YNc(12,ul,5,3,"ng-container",13),o.ALo(13,"keyvalue"),o.qZA()}if(2&a){const i=o.oxw(2);let u;o.xp6(4),o.Q6J("ngIf",i.showResetButton),o.xp6(2),o.Q6J("ngModel",i.recreateDemo),o.xp6(1),o.Q6J("ngDocTooltip","Recreates demo everytime\none of the input has changed")("positions",o.DdM(8,rh)),o.xp6(4),o.Q6J("ngIf",i.propertyControls.length),o.xp6(1),o.Q6J("ngIf",null==(u=o.lcZ(13,6,i.dynamicContent))?null:u.length)}}function Ig(a,l){if(1&a&&(o.TgZ(0,"div",1),o.ALo(1,"async"),o.TgZ(2,"div",2),o.Hsn(3),o.qZA(),o.YNc(4,Ag,14,9,"div",3),o.qZA()),2&a){const i=o.oxw();o.ekj("vertical",o.lcZ(1,3,i.observer)),o.xp6(4),o.Q6J("ngIf",!i.hideSidePanel)}}const Aa=["*"];function uc(a,l){if(1&a&&o._UZ(0,"ng-doc-playground-demo",4),2&a){const i=l.$implicit,u=o.oxw(2);let f;o.Q6J("id",u.id)("selector",i)("properties",u.properties)("configuration",u.configuration)("recreateDemo",u.recreateDemo)("form",u.formGroup)("expanded",null!==(f=u.configuration.expanded)&&void 0!==f&&f)}}function Ng(a,l){if(1&a&&o._UZ(0,"ng-doc-playground-demo",5),2&a){const i=o.oxw(2);o.Q6J("id",i.id)("pipeName",i.pipeName)("properties",i.properties)("configuration",i.configuration)("recreateDemo",i.recreateDemo)("form",i.formGroup)}}function r0(a,l){if(1&a){const i=o.EpF();o.ynx(0),o.TgZ(1,"ng-doc-playground-properties",1),o.NdJ("recreateDemoChange",function(f){o.CHM(i);const M=o.oxw();return o.KtG(M.recreateDemo=f)})("resetForm",function(){o.CHM(i);const f=o.oxw();return o.KtG(f.resetForm())}),o.YNc(2,uc,1,7,"ng-doc-playground-demo",2),o.ALo(3,"asArray"),o.YNc(4,Ng,1,6,"ng-doc-playground-demo",3),o.qZA(),o.BQk()}if(2&a){const i=o.oxw();let u,f;o.xp6(1),o.Q6J("form",i.formGroup)("properties",i.properties)("ignoreInputs",i.configuration.hiddenInputs)("dynamicContent",i.configuration.content)("hideSidePanel",null!==(u=i.configuration.hideSidePanel)&&void 0!==u&&u)("defaultValues",i.defaultValues)("showResetButton",!i.isDefaultState())("recreateDemo",i.recreateDemo),o.xp6(1),o.Q6J("ngForOf",o.lcZ(3,10,null!==(f=i.configuration.selectors)&&void 0!==f?f:i.selectors)),o.xp6(2),o.Q6J("ngIf",i.pipeName)}}let ih=(()=>{let a=class Am{constructor(i){this.injector=i,this.id="",this.pipeName="",this.selector="",this.recreateDemo=!1,this.expanded=!1,this.code=(0,th.of)(""),this.unsubscribe$=new ye.x}ngOnChanges({form:i,id:u}){if(i||u){this.unsubscribe$.next();const f=function Og(a){return sl.get(a)}(this.id);if(f){const M=this.injector.get(f,[]);this.playgroundDemo=M.find(Y=>Y.selector===this.selector||Y.selector===this.pipeName)}this.updateDemo(),this.form?.valueChanges.pipe((0,ma.R)(this.unsubscribe$),(0,Ie.t)(this),(0,V.O)(this.form?.value)).subscribe(M=>this.updateDemo(M))}}updateDemo(i){(this.recreateDemo||!this.demoRef)&&this.createDemo(),i&&(this.demoRef?.setInput("properties",i.properties??{}),this.demoRef?.setInput("content",i.content??{}),this.demoRef?.setInput("actionData",this.configuration?.data??{})),this.updateCodeView()}createDemo(){this.playgroundDemo&&(this.demoRef?.destroy(),this.demoRef=this.demoOutlet?.createComponent(this.playgroundDemo),this.demoRef?.changeDetectorRef.markForCheck())}updateCodeView(){const i=this.pipeName?(0,eh.buildPlaygroundDemoPipeTemplate)(this.configuration?.template??"",this.pipeName,this.getActiveContent(),this.getPipeActiveInputs()):(0,eh.buildPlaygroundDemoTemplate)(this.configuration?.template??"",this.selector,this.getActiveContent(),this.getActiveInputs());this.code=(0,as.D)((0,Du.Mg)(i))}getActiveContent(){const i=this.form?.controls.content.value??{};return(0,tn.objectKeys)(i).reduce((u,f)=>(u[f]=i[f]?this.configuration?.content?.[f].template??"":"",u),{})}getActiveInputs(){const i=this.form?.controls.properties.value??{};return(0,tn.objectKeys)(i).reduce((u,f)=>{const M=i[f];return this.demoRef?.instance?.defaultValues[f]!==M&&(u[f]=(0,Le.stringify)(M).replace(/"/g,"'")),u},{})}getPipeActiveInputs(){const i=this.form?.controls.properties.value??{};let u=-1;return(0,tn.objectKeys)(i).map((f,M)=>{const Y=i[f];return this.demoRef?.instance?.defaultValues[f]!==Y&&(u=M),f}).slice(0,u+1).reduce((f,M,Y)=>(f[M]=(0,Le.stringify)(i[M]).replace(/"/g,"'"),f),{})}ngOnDestroy(){this.unsubscribe$.next(),this.unsubscribe$.complete()}static#e=this.\u0275fac=function(u){return new(u||Am)(o.Y36(o.zs3))};static#t=this.\u0275cmp=o.Xpm({type:Am,selectors:[["ng-doc-playground-demo"]],viewQuery:function(u,f){if(1&u&&o.Gf(Sg,7,o.s_b),2&u){let M;o.iGM(M=o.CRH())&&(f.demoOutlet=M.first)}},inputs:{id:"id",pipeName:"pipeName",selector:"selector",configuration:"configuration",properties:"properties",recreateDemo:"recreateDemo",form:"form",expanded:"expanded"},standalone:!0,features:[o.TTD,o.jDz],decls:2,vars:3,consts:[[3,"trigger",4,"ngDocLet"],[3,"trigger"],["language","html",3,"code","border","expanded"],["demoOutlet",""]],template:function(u,f){1&u&&(o.YNc(0,Eu,4,4,"ng-doc-smooth-resize",0),o.ALo(1,"async")),2&u&&o.Q6J("ngDocLet",o.lcZ(1,1,f.code))},dependencies:[Vd,m.Ov,ya,rl],styles:["[_nghost-%COMP%]{display:block;border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius);overflow:hidden}[_nghost-%COMP%]:not(:last-child){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}[_nghost-%COMP%]:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}"],changeDetection:0})};return a=(0,R.__decorate)([(0,Ie.c)(),(0,R.__metadata)("design:paramtypes",[o.zs3])],a),a})(),Rg=(()=>{class a{constructor(){this.name=""}ngOnChanges({property:i,control:u,typeControl:f,defaultValue:M}){(i||u||f||M)&&this.property&&this.typeControl&&(this.propertyTypeControl?.destroy(),this.propertyTypeControl=void 0,this.typeControl&&this.propertyOutlet&&(this.propertyTypeControl=this.propertyOutlet.createComponent(this.typeControl.control),this.propertyTypeControl.instance.name=this.name,this.propertyTypeControl.instance.description=this.tooltipContent,this.propertyTypeControl.instance.options=(0,Du.rS)(this.property)?this.property.options:void 0,this.propertyTypeControl.instance.default=this.defaultValue,this.propertyTypeControl.instance.writeValue(this.control?.value),this.option=this.typeControl.options),this.control&&(this.control?.registerOnChange(Y=>this.propertyTypeControl?.instance?.writeValue(Y)),this.propertyTypeControl?.instance.registerOnChange(Y=>this.control?.setValue(Y)),this.propertyTypeControl?.instance.registerOnTouched(()=>this.control?.markAsTouched())))}get hasPropertyControl(){return!!this.propertyTypeControl}get tooltipContent(){return this.property&&(0,Du.rS)(this.property)?this.property.description??"":""}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-playground-property"]],viewQuery:function(u,f){if(1&u&&o.Gf(al,7,o.s_b),2&u){let M;o.iGM(M=o.CRH())&&(f.propertyOutlet=M.first)}},hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-has-property-control",f.hasPropertyControl)},inputs:{name:"name",property:"property",typeControl:"typeControl",control:"control",defaultValue:"defaultValue"},standalone:!0,features:[o.TTD,o.jDz],decls:5,vars:1,consts:[[3,"ng-doc-label"],["labelContent",""],["propertyOutlet",""],[3,"ngDocTooltip","canOpen","positions"],["tooltipTemplate",""],[3,"innerHTML"]],template:function(u,f){if(1&u&&(o.TgZ(0,"label",0),o.YNc(1,xg,4,5,"ng-template",null,1,o.W1O),o.GkF(3,null,2),o.qZA()),2&u){const M=o.MAs(2);o.Q6J("ng-doc-label",null!=f.option&&f.option.hideLabel?"":M)}},dependencies:[n0.J,Yt.A,xs.Y],styles:["[_nghost-%COMP%]{display:block}[data-has-property-control=false][_nghost-%COMP%]{display:none}"],changeDetection:0})}return a})(),s0=(()=>{class a{constructor(i,u){this.breakpointObserver=i,this.injector=u,this.ignoreInputs=[],this.hideSidePanel=!1,this.recreateDemo=!1,this.showResetButton=!1,this.recreateDemoChange=new o.vpe,this.resetForm=new o.vpe,this.breakpoints=[Vs.XSmall],this.propertyControls=[],this.contentTypeControl=this.getControlForType("boolean"),this.observer=this.breakpointObserver.observe(this.breakpoints).pipe((0,U.U)(f=>f.matches))}ngOnChanges({properties:i}){i&&this.properties&&(this.propertyControls=(0,Le.objectKeys)(this.properties).filter(u=>!0!==this.ignoreInputs?.includes(String(u))).map(u=>{if(this.properties){const f=this.properties[u],M=this.getTypeControl(f);if(M)return{propertyName:String(u),property:f,typeControl:M}}return null}).filter(Le.isPresent).sort((u,f)=>{const M=u.typeControl.options?.order,Y=f.typeControl.options?.order;return(0,Le.isPresent)(M)&&(0,Le.isPresent)(Y)?M-Y:(0,Le.isPresent)(M)?-1:(0,Le.isPresent)(Y)?1:u.property.inputName.localeCompare(f.property.inputName)}))}getFormControl(i,u){return this.form.get(i)?.get(u)}getTypeControl(i){const u=i.type,f=this.getControlForType(u)??this.getControlForTypeAlias((0,Du.rS)(i)?i.options:void 0);return!f&&(0,o.X6Q)()&&console.warn(`NgDocPlayground didn't find the control for the @Input "${i.inputName}", the type "${u}" was not recognized'`),f}getControlForType(i){const u=(0,nh.d)(i);return u?this.injector.get(u):void 0}getControlForTypeAlias(i){if(i&&i.length){let u=!0;try{i.forEach(f=>(0,Le.extractValueOrThrow)(f))}catch{u=!1}if(u){const f=(0,nh.d)("NgDocTypeAlias");return f?this.injector.get(f):void 0}}}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(cs),o.Y36(o.zs3))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-playground-properties"]],inputs:{form:"form",properties:"properties",ignoreInputs:"ignoreInputs",dynamicContent:"dynamicContent",defaultValues:"defaultValues",hideSidePanel:"hideSidePanel",recreateDemo:"recreateDemo",showResetButton:"showResetButton"},outputs:{recreateDemoChange:"recreateDemoChange",resetForm:"resetForm"},standalone:!0,features:[o.TTD,o.jDz],ngContentSelectors:Aa,decls:1,vars:1,consts:[["class","ng-doc-playground-properties-wrapper",3,"vertical",4,"ngIf"],[1,"ng-doc-playground-properties-wrapper"],[1,"ng-doc-playground-demos"],["class","ng-doc-playground-properties",4,"ngIf"],[1,"ng-doc-playground-properties"],[1,"ng-doc-playground-header"],["ng-doc-text",""],["ng-doc-button","","color","alert",3,"click",4,"ngIf"],[1,"ng-doc-playground-setting"],[3,"ngModel","ngModelChange"],["ng-doc-text","",3,"ngDocTooltip","positions"],["icon","info","ngDocTextRight",""],[1,"ng-doc-playground-divider"],[4,"ngIf"],["ng-doc-button","","color","alert",3,"click"],["ng-doc-text","",1,"ng-doc-title"],[3,"name","property","typeControl","defaultValue","control",4,"ngFor","ngForOf"],[3,"name","property","typeControl","defaultValue","control"],[3,"name","property","typeControl","control",4,"ngFor","ngForOf"],[3,"name","property","typeControl","control"]],template:function(u,f){1&u&&(o.F$t(),o.YNc(0,Ig,5,5,"div",0)),2&u&&o.Q6J("ngIf",f.defaultValues)},dependencies:[Kr.Uy,ic,Hi.Q,$s.u5,$s.JJ,$s.On,Yt.A,wr.q,Kr.EH,m.O5,m.ax,Rg,m.Ov,m.Nd,il,Ea],styles:["[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;grid-gap:calc(var(--ng-doc-base-gutter) * 2);gap:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper.vertical[_ngcontent-%COMP%]{flex-direction:column}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper.vertical[_ngcontent-%COMP%] .ng-doc-playground-demos[_ngcontent-%COMP%]{margin-right:0;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper.vertical[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-demos[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;overflow:hidden}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%]{flex-shrink:0;width:300px;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 3);background-color:var(--ng-doc-base-1);border-radius:var(--ng-doc-base-gutter);border:1px solid var(--ng-doc-border-color)}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%] ng-doc-playground-property[_ngcontent-%COMP%]:not(:last-child){margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%] .ng-doc-playground-controls[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%] .ng-doc-playground-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;height:40px;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%] .ng-doc-playground-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%] .ng-doc-playground-setting[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-title[_ngcontent-%COMP%]{margin-top:0;margin-bottom:calc(var(--ng-doc-base-gutter) + var(--ng-doc-base-gutter) / 2)}[_nghost-%COMP%] .ng-doc-playground-divider[_ngcontent-%COMP%]{margin:calc(var(--ng-doc-base-gutter) * 2) 0;height:1px;background-color:var(--ng-doc-base-2)}"],changeDetection:0})}return a})(),kg=(()=>{class a{constructor(i,u){this.rootPage=i,this.formBuilder=u,this.id="",this.pipeName="",this.selectors=[],this.options={},this.recreateDemo=!1,this.defaultProperties={},this.defaultContent={}}ngOnChanges({options:i}){i&&(this.configuration=Object.assign({},this.rootPage.page?.playgrounds?.[this.id],this.options))}ngAfterViewInit(){this.defaultProperties=this.getPropertiesFormValues(),this.defaultContent=this.getContentFormValues();const i=this.formBuilder.group(this.defaultProperties),u=this.formBuilder.group(this.defaultContent);this.formGroup=this.formBuilder.group({properties:i,content:u}),this.formGroup.patchValue({properties:Object.assign({},this.defaultProperties,this.configuration.inputs),content:this.defaultContent})}isDefaultState(){return!!this.formGroup&&(0,Le.isSameObject)(this.formGroup.value.properties??{},this.defaultValues??{})&&(0,Le.isSameObject)(this.formGroup.value.content??{},this.defaultContent??{})}getPropertiesFormValues(){const i=(0,tn.objectKeys)(this.properties??{}).reduce((u,f)=>(this.properties&&(u[f]=this.defaultValues?this.defaultValues[f]:void 0),u),{});return Object.assign({},i,this.configuration.defaults)}getContentFormValues(){return(0,tn.objectKeys)(this.configuration?.content??{}).reduce((i,u)=>(this.configuration?.content&&(i[u]=!1),i),{})}resetForm(){this.formGroup.reset({},{emitEvent:!1}),this.formGroup?.patchValue({properties:this.defaultProperties,content:this.defaultContent})}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(Li.a),o.Y36($s.qu))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-playground"]],inputs:{id:"id",pipeName:"pipeName",selectors:"selectors",properties:"properties",options:"options"},standalone:!0,features:[o.TTD,o.jDz],decls:1,vars:1,consts:[[4,"ngIf"],[3,"form","properties","ignoreInputs","dynamicContent","hideSidePanel","defaultValues","showResetButton","recreateDemo","recreateDemoChange","resetForm"],[3,"id","selector","properties","configuration","recreateDemo","form","expanded",4,"ngFor","ngForOf"],[3,"id","pipeName","properties","configuration","recreateDemo","form",4,"ngIf"],[3,"id","selector","properties","configuration","recreateDemo","form","expanded"],[3,"id","pipeName","properties","configuration","recreateDemo","form"]],template:function(u,f){1&u&&o.YNc(0,r0,5,12,"ng-container",0),2&u&&o.Q6J("ngIf",f.configuration)},dependencies:[m.O5,s0,m.ax,ih,Pa],styles:["[_nghost-%COMP%]{display:block;margin:var(--ng-doc-playground-margin)}"],changeDetection:0})}return a})();function Fg(a,l){if(1&a&&o._UZ(0,"ng-doc-icon",6),2&a){const i=o.oxw(2).$implicit;o.Q6J("customIcon",i.icon)}}function dl(a,l){if(1&a&&(o.YNc(0,Fg,1,1,"ng-doc-icon",5),o._uU(1)),2&a){const i=o.oxw().$implicit;o.Q6J("ngIf",i.icon),o.xp6(1),o.hij(" ",i.title," ")}}function sh(a,l){if(1&a&&(o.TgZ(0,"div",null,7),o._uU(2),o.ALo(3,"execute"),o.qZA()),2&a){const i=o.MAs(1),u=o.oxw().$implicit,f=o.oxw();o.xp6(2),o.hij(" ",o.Dn7(3,1,f.appendElement,u.content,i)," ")}}function Lg(a,l){if(1&a&&(o.TgZ(0,"ng-doc-tab",2),o.YNc(1,dl,2,2,"ng-template",null,3,o.W1O),o.YNc(3,sh,4,5,"ng-template",null,4,o.W1O),o.qZA()),2&a){const i=l.index,u=o.MAs(2),f=o.MAs(4);o.Q6J("label",u)("content",f)("id",i)}}let ah=(()=>{class a{constructor(){this.tabs=[]}getActiveIndex(i){return Math.max(i.findIndex(u=>u.active),0)}appendElement(i,u){u.appendChild(i)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-tabs"]],inputs:{tabs:"tabs"},standalone:!0,features:[o.jDz],decls:3,vars:5,consts:[[3,"openedTab"],[3,"label","content","id",4,"ngFor","ngForOf"],[3,"label","content","id"],["label",""],["content",""],[3,"customIcon",4,"ngIf"],[3,"customIcon"],["element",""]],template:function(u,f){1&u&&(o.TgZ(0,"ng-doc-tab-group",0),o.ALo(1,"execute"),o.YNc(2,Lg,5,3,"ng-doc-tab",1),o.qZA()),2&u&&(o.Q6J("openedTab",o.xi3(1,2,f.getActiveIndex,f.tabs)),o.xp6(2),o.Q6J("ngForOf",f.tabs))},dependencies:[m.ez,m.sg,m.O5,vu,Da,Ea,wr.q],styles:["[_nghost-%COMP%]{display:block;border-radius:var(--ng-doc-tabs-border-radius);border:var(--ng-doc-tabs-border);margin:var(--ng-doc-tabs-margin);overflow:hidden;--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none;--ng-doc-tab-group-header-background: var(--ng-doc-base-2)}[_nghost-%COMP%] ng-doc-icon[_ngcontent-%COMP%]{margin-right:calc(var(--ng-doc-base-gutter) / 2)}"],changeDetection:0})}return a})();const c0=["contentProjection"],ch=["*"],Bg={component:Qc,selector:"pre code",nodeToReplace:a=>a.closest("pre")??a,extractOptions:a=>({inputs:{copyButton:"false"!==a.getAttribute("copyButton"),name:a.getAttribute("name")||void 0,icon:a.getAttribute("icon")||void 0,lineNumbers:"false"!==a.getAttribute("lineNumbers")},content:[[a.closest("pre")??a]]})},jg={component:yu,selector:"ng-doc-demo",extractOptions:a=>({inputs:{componentName:a.getAttribute("componentName")||void 0,options:JSON.parse(a.querySelector("#options")?.textContent??"")||{}}})},Mu={component:Ar,selector:"ng-doc-demo-pane",extractOptions:a=>({inputs:{componentName:a.getAttribute("componentName")||void 0,options:JSON.parse(a.querySelector("#options")?.textContent??"")||{}}})},d0=[{component:nt,selector:"ng-doc-blockquote",extractOptions:a=>({content:[Array.from(a.childNodes)],inputs:{type:a.getAttribute("type")||"default"}})},{component:wr.q,selector:"ng-doc-icon",extractOptions:a=>({inputs:{icon:a.getAttribute("icon")??"",size:Number(a.getAttribute("size"))??16}})},{component:(()=>{class a{constructor(i){this.changeDetectorRef=i,this.tooltipElement=null}ngAfterViewInit(){if(this.contentProjection){const i=this.contentProjection.nativeElement.querySelector("[ngDocTooltip]");this.tooltipElement=i instanceof HTMLElement?i:null,this.changeDetectorRef.detectChanges()}}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.sBO))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-tooltip-wrapper"]],viewQuery:function(u,f){if(1&u&&o.Gf(c0,7,o.SBq),2&u){let M;o.iGM(M=o.CRH())&&(f.contentProjection=M.first)}},inputs:{content:"content"},standalone:!0,features:[o.jDz],ngContentSelectors:ch,decls:3,vars:3,consts:[[1,"content-projection",3,"ngDocTooltip","displayOrigin","pointerOrigin"],["contentProjection",""]],template:function(u,f){if(1&u&&(o.F$t(),o.TgZ(0,"div",0,1),o.Hsn(2),o.qZA()),2&u){const M=o.MAs(1);let Y,ee,le;o.Q6J("ngDocTooltip",null!==(Y=f.content)&&void 0!==Y?Y:"")("displayOrigin",null!==(ee=f.tooltipElement)&&void 0!==ee?ee:M)("pointerOrigin",null!==(le=f.tooltipElement)&&void 0!==le?le:M)}},dependencies:[Yt.A],styles:[".content-projection[_ngcontent-%COMP%]{display:unset}"],changeDetection:0})}return a})(),selector:"[ngDocTooltip]",extractOptions:a=>({inputs:{content:a.getAttribute("ngDocTooltip")??""},content:[[a.cloneNode(!0)]]})},{component:lc,selector:"a",extractOptions:a=>({inputs:{href:a.getAttribute("href")??"",classes:a.getAttribute("class")??""},content:[Array.from(a.childNodes)]})},Bg,jg,Mu,{component:kg,selector:"ng-doc-playground",extractOptions:a=>({inputs:{id:a.getAttribute("id")||void 0,properties:JSON.parse(a.querySelector("#data")?.textContent?.replace(/\n/g,"\\n")??"")||void 0,pipeName:a.querySelector("#pipeName")?.textContent||void 0,selectors:(a.querySelector("#selectors")?.textContent||"").split(",").map(l=>l.trim()).filter(Le.isPresent),options:JSON.parse(a.querySelector("#options")?.textContent??"")||{}}})},{component:ah,selector:"ng-doc-tab",nodeToReplace:a=>{const l=document.createElement("div");return a.parentNode?.insertBefore(l,a)??a},extractOptions:(a,l)=>{const i=a.getAttribute("group")??"",u=Array.from(l.querySelectorAll(`ng-doc-tab[group="${i}"]`)),f=u.map(M=>({title:M.getAttribute("name")??"",content:M,icon:M.getAttribute("icon")||void 0,active:M.hasAttribute("active")}));return u.forEach(M=>M.remove()),{inputs:{tabs:f}}}}];var h0=d(9473),uh=d(8290);let dc=(()=>{class a{constructor(i,u){this.document=i,this.viewportRuler=u,this.scrollStrategy=new uh.BS(this.viewportRuler,this.document)}block(){this.scrollStrategy.enable()}unblock(){this.scrollStrategy.disable()}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(m.K0),o.LFG(h0.rL))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();var hc=d(5619);let fc=(()=>{let a=class sg{constructor(i,u,f,M){this.document=i,this.breakpointObserver=u,this.router=f,this.scroll=M,this.breakpoints=[Vs.XSmall,Vs.Small],this.expanded=new hc.X(!0),this.observer=this.breakpointObserver.observe(this.breakpoints).pipe(_a("matches"),(0,G.x)(),(0,Ie.t)(this)),(0,ea.a)([this.router.events,this.isMobileMode()]).pipe((0,Qr.h)(([Y,ee])=>Y instanceof Jo.m2&&this.expanded.value&&ee),(0,pa.b)(10)).subscribe(()=>this.hide()),this.isMobileMode().pipe((0,Ie.t)(this)).subscribe(Y=>{Y?this.hide():(this.show(),this.scroll.unblock())})}isMobileMode(){return this.observer}isExpanded(){return this.expanded.asObservable()}show(){this.expanded.value||(this.expanded.next(!0),this.scroll.block())}hide(){this.expanded.value&&(this.expanded.next(!1),this.scroll.unblock())}toggle(){this.expanded.value?this.hide():this.show()}static#e=this.\u0275fac=function(u){return new(u||sg)(o.LFG(m.K0),o.LFG(cs),o.LFG(Jo.F0),o.LFG(dc))};static#t=this.\u0275prov=o.Yz7({token:sg,factory:sg.\u0275fac,providedIn:"root"})};return a=(0,R.__decorate)([(0,Ie.c)(),(0,R.__metadata)("design:paramtypes",[Document,cs,Jo.F0,dc])],a),a})();function dh(a,l){1&a&&o.GkF(0)}function hh(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"div",5),o.NdJ("click",function(){o.CHM(i);const f=o.oxw();return o.KtG(f.closeEvent.emit())}),o.qZA()}2&a&&o.Q6J("@backdropFade",void 0)}const Ia=["*"];let Ou=(()=>{class a{constructor(){this.sidebar="",this.align="left",this.over=!1,this.opened=!0,this.hasBackdrop=!0,this.openedChange=new o.vpe,this.closeEvent=new o.vpe,this.beforeOpen=new o.vpe,this.beforeClose=new o.vpe,this.afterOpen=new o.vpe,this.afterClose=new o.vpe}get backdrop(){return this.over&&this.opened&&this.hasBackdrop}animationStart(i){i.toState?this.beforeOpen.emit():this.beforeClose.emit()}animationDone(i){i.toState?this.afterOpen.emit():this.afterClose.emit()}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-sidenav"]],hostVars:3,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-align",f.align)("data-ng-doc-over",f.over)("data-ng-doc-opened",f.opened)},inputs:{sidebar:"sidebar",align:"align",over:"over",opened:"opened",hasBackdrop:"hasBackdrop"},outputs:{openedChange:"openedChange",closeEvent:"closeEvent",beforeOpen:"beforeOpen",beforeClose:"beforeClose",afterOpen:"afterOpen",afterClose:"afterClose"},standalone:!0,features:[o.jDz],ngContentSelectors:Ia,decls:6,vars:4,consts:[[1,"ng-doc-sidenav-wrapper"],[1,"ng-doc-sidenav"],[4,"polymorpheusOutlet"],[1,"ng-doc-sidenav-content"],["class","ng-doc-backdrop",3,"click",4,"ngIf"],[1,"ng-doc-backdrop",3,"click"]],template:function(u,f){1&u&&(o.F$t(),o.TgZ(0,"div",0)(1,"div",1),o.NdJ("@sidenavAnimation.start",function(Y){return f.animationStart(Y)})("@sidenavAnimation.done",function(Y){return f.animationDone(Y)}),o.YNc(2,dh,1,0,"ng-container",2),o.qZA(),o.TgZ(3,"div",3),o.YNc(4,hh,1,1,"div",4),o.Hsn(5),o.qZA()()),2&u&&(o.xp6(1),o.Q6J("@sidenavAnimation",!!f.opened&&f.align),o.xp6(1),o.Q6J("polymorpheusOutlet",f.sidebar),o.xp6(1),o.Q6J("@sidenavContentAnimation",!f.over&&f.opened),o.xp6(1),o.Q6J("ngIf",f.backdrop))},dependencies:[_r.wq,_r.Li,m.O5],styles:['[_nghost-%COMP%]{width:100%}[data-ng-doc-align=right][_nghost-%COMP%] .ng-doc-sidenav-wrapper[_ngcontent-%COMP%]{flex-direction:row-reverse}[data-ng-doc-over=true][_nghost-%COMP%] .ng-doc-sidenav-content[_ngcontent-%COMP%]{min-width:100%}[data-ng-doc-over=true][data-ng-doc-align=left][_nghost-%COMP%] .ng-doc-sidenav[_ngcontent-%COMP%]{--ng-doc-sidebar-shadow: var(--ng-doc-shadow-color) -5px 5px 20px -5px}[data-ng-doc-over=true][data-ng-doc-align=right][_nghost-%COMP%] .ng-doc-sidenav[_ngcontent-%COMP%]{--ng-doc-sidebar-shadow: var(--ng-doc-shadow-color) 0px 5px 20px -5px}[_nghost-%COMP%] .ng-doc-sidenav-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;width:100%}[_nghost-%COMP%] .ng-doc-sidenav[_ngcontent-%COMP%]{position:fixed;top:var(--ng-doc-sidenav-top, 0);width:var(--ng-doc-sidenav-width);flex-shrink:0;z-index:5;transition:box-shadow var(--ng-doc-transition)}[_nghost-%COMP%] .ng-doc-sidenav-content[_ngcontent-%COMP%]{width:100%;padding:var(--ng-doc-sidenav-content-padding)}[_nghost-%COMP%] .ng-doc-backdrop[_ngcontent-%COMP%]{position:fixed!important;left:0;top:0;width:100%;height:100%;z-index:1}[_nghost-%COMP%] .ng-doc-backdrop[_ngcontent-%COMP%]:not(nothing){-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}[_nghost-%COMP%] .ng-doc-backdrop[_ngcontent-%COMP%]:not(nothing){position:relative}[_nghost-%COMP%] .ng-doc-backdrop[_ngcontent-%COMP%]:not(nothing):before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0003;opacity:.6;border-radius:inherit;overflow:hidden;pointer-events:none}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){[_nghost-%COMP%] .ng-doc-backdrop[_ngcontent-%COMP%]{background-color:#0003}}[_nghost-%COMP%] .ng-doc-backdropnothing[_ngcontent-%COMP%]{background-color:#0003}'],data:{animation:[(0,At.X$)("sidenavAnimation",[(0,At.SB)("false",(0,At.oB)({display:"none"})),(0,At.eR)("left => false",[(0,At.oB)({transform:"translateX(0)",opacity:1}),(0,At.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,At.oB)({transform:"translateX(-100%)",opacity:0}))]),(0,At.eR)("false => left",[(0,At.oB)({transform:"translateX(-100%)",opacity:0,display:"block"}),(0,At.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,At.oB)({transform:"translateX(0)",opacity:1}))]),(0,At.eR)("right => false",[(0,At.oB)({transform:"translateX(0)",opacity:1}),(0,At.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,At.oB)({transform:"translateX(100%)",opacity:0}))]),(0,At.eR)("false => right",[(0,At.oB)({transform:"translateX(100%)",opacity:0,display:"block"}),(0,At.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,At.oB)({transform:"translateX(0)",opacity:1}))])]),(0,At.X$)("sidenavContentAnimation",[(0,At.SB)("true",(0,At.oB)({"margin-left":"var(--ng-doc-sidenav-width)",width:"calc(100% - var(--ng-doc-sidenav-width))"})),(0,At.SB)("false",(0,At.oB)({"margin-left":"0",width:"100%"})),(0,At.eR)("true => false",(0,At.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)")),(0,At.eR)("false => true",(0,At.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)"))]),(0,At.X$)("backdropFade",[(0,At.eR)(":enter",[(0,At.oB)({opacity:0}),(0,At.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,At.oB)({opacity:1}))])])]},changeDetection:0})}return a})();var Su=d(4366),gc=d(975),hl=d(6321),fl=d(9694),Hg=d(4825);function Ug(a,l){1&a&&(o.Hsn(0,3),o.Hsn(1,4))}function fh(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"ng-doc-sidenav",5),o.NdJ("closeEvent",function(){o.CHM(i);const f=o.oxw(3);return o.KtG(f.sidebarService.hide())}),o.YNc(1,Ug,2,0,"ng-template",null,6,o.W1O),o.Hsn(3,2),o.qZA()}if(2&a){const i=l.ngDocLet,u=o.MAs(2),f=o.oxw().ngDocLet;let M,Y,ee;o.Q6J("sidebar",u)("opened",f)("over",null!==(M=null==i?null:i.over)&&void 0!==M&&M)("align",null!==(Y=null==i?null:i.align)&&void 0!==Y?Y:"left")("hasBackdrop",null!==(ee=null==i?null:i.hasBackdrop)&&void 0!==ee&&ee)}}function Tu(a,l){if(1&a&&(o.TgZ(0,"main"),o.YNc(1,fh,4,5,"ng-doc-sidenav",4),o.ALo(2,"async"),o.qZA()),2&a){const i=o.oxw(2);o.xp6(1),o.Q6J("ngDocLet",o.lcZ(2,1,i.sidenavState$))}}function $g(a,l){if(1&a&&(o.ynx(0),o._uU(1),o.BQk()),2&a){const i=l.polymorpheusOutlet;o.xp6(1),o.hij(" ",i," ")}}function zg(a,l){if(1&a&&(o.TgZ(0,"footer"),o.YNc(1,$g,2,1,"ng-container",7),o.qZA()),2&a){const i=o.oxw(2);o.xp6(1),o.Q6J("polymorpheusOutlet",i.footerContent)}}function Wg(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"div",1)(2,"div",2),o.Hsn(3),o.Hsn(4,1),o.qZA(),o.YNc(5,Tu,3,3,"main",0),o.ALo(6,"async"),o.YNc(7,zg,2,1,"footer",3),o.qZA(),o.BQk()),2&a){const i=l.ngDocLet,u=o.oxw();o.xp6(1),o.ekj("collapsable",i),o.xp6(4),o.Q6J("ngDocLet",u.sidebar&&!!o.lcZ(6,4,u.sidebarService.isExpanded())),o.xp6(2),o.Q6J("ngIf",u.footerContent)}}const gh=[[["ng-doc-navbar"]],[["","ngDocCustomNavbar",""]],"*",[["ng-doc-sidebar"]],[["","ngDocCustomSidebar",""]]],Gg=["ng-doc-navbar","[ngDocCustomNavbar]","*","ng-doc-sidebar","[ngDocCustomSidebar]"];let gl=(()=>{let a=class Im{constructor(i){this.sidebarService=i,this.sidebar=!0,this.footerContent="",this.noWidthLimit=!1,this.sidenavState$=Su.C}ngAfterViewInit(){this.sidenavState$=(0,ea.a)([this.sidebarService.isMobileMode(),this.sidenav?(0,ec.T)(this.sidenav.beforeOpen.pipe((0,gc.h)(!0)),this.sidenav.afterClose.pipe((0,gc.h)(!1))).pipe((0,V.O)(!1)):(0,th.of)(!0)]).pipe((0,Qr.h)(([i,u])=>!u||u&&!i),(0,U.U)(([i])=>({over:i,align:i?"right":"left",hasBackdrop:i})),function Vg(a,l=hl.z){const i=(0,Hg.H)(a,l);return(0,fl.j)(()=>i)}(0))}static#e=this.\u0275fac=function(u){return new(u||Im)(o.Y36(fc))};static#t=this.\u0275cmp=o.Xpm({type:Im,selectors:[["ng-doc-root"]],viewQuery:function(u,f){if(1&u&&o.Gf(Ou,5),2&u){let M;o.iGM(M=o.CRH())&&(f.sidenav=M.first)}},hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-no-width-limit",f.noWidthLimit)},inputs:{sidebar:"sidebar",footerContent:"footerContent",noWidthLimit:"noWidthLimit"},standalone:!0,features:[o._Bn([]),o.jDz],ngContentSelectors:Gg,decls:2,vars:3,consts:[[4,"ngDocLet"],[1,"ng-doc-root-wrapper"],[1,"ng-doc-header"],[4,"ngIf"],[3,"sidebar","opened","over","align","hasBackdrop","closeEvent",4,"ngDocLet"],[3,"sidebar","opened","over","align","hasBackdrop","closeEvent"],["sidebarContent",""],[4,"polymorpheusOutlet"]],template:function(u,f){1&u&&(o.F$t(gh),o.YNc(0,Wg,8,6,"ng-container",0),o.ALo(1,"async")),2&u&&o.Q6J("ngDocLet",!!o.lcZ(1,1,f.sidebarService.isMobileMode()))},dependencies:[rl,Ou,m.O5,_r.wq,_r.Li,m.Ov],styles:["[data-ng-doc-no-width-limit=true][_nghost-%COMP%] .ng-doc-root-wrapper[_ngcontent-%COMP%] main[_ngcontent-%COMP%]{max-width:none}[_nghost-%COMP%] .ng-doc-root-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}[_nghost-%COMP%] .ng-doc-root-wrapper[_ngcontent-%COMP%] main[_ngcontent-%COMP%]{display:flex;width:100%;margin-left:auto;margin-right:auto;max-width:var(--ng-doc-app-max-width);padding:var(--ng-doc-main-padding);--ng-doc-sidenav-top: var(--ng-doc-navbar-height);--ng-doc-sidenav-width: var(--ng-doc-sidebar-width);--ng-doc-sidenav-content-padding: var(--ng-doc-page-padding)}[_nghost-%COMP%] .ng-doc-root-wrapper[_ngcontent-%COMP%] footer[_ngcontent-%COMP%]{margin-top:auto}[_nghost-%COMP%] .ng-doc-root-wrapper[_ngcontent-%COMP%] .ng-doc-header[_ngcontent-%COMP%]{position:fixed;top:0;height:var(--ng-doc-navbar-height);width:100%;z-index:10}"],changeDetection:0})};return a=(0,R.__decorate)([(0,Ie.c)(),(0,R.__metadata)("design:paramtypes",[fc])],a),a})();var ph=d(5426);let xu=(()=>{class a extends uh.xu{constructor(i){super(i),this.origin=i}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq))};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocDropdownOrigin",""]],exportAs:["ngDocDropdownOrigin"],standalone:!0,features:[o._Bn([{provide:ph.d,useExisting:a}]),o.qOj]})}return a})();var si=d(5338),pc=d(2949),mh=d(1586),_h=d(7041),Yg=d(1650),vh=d(8925);const Zg=(0,F.R)(document,"keyup").pipe((0,j.B)());let yh=(()=>{let a=class Nm{constructor(i){this.ngZone=i,this.callback=new o.vpe,Zg.pipe((0,Qr.h)(vh.isKeyboardEvent),(0,Qr.h)(u=>(0,tn.objectKeys)(this.hotkey??{}).every(f=>this.hotkey&&this.hotkey[f]===u[f])),(0,Qr.h)(u=>!(u.target instanceof HTMLElement&&["input","textarea","select"].includes(u.target.tagName.toLowerCase()))),(0,Ss.w1)(this.ngZone),(0,Ie.t)(this)).subscribe(u=>{u.preventDefault(),this.callback.emit()})}static#e=this.\u0275fac=function(u){return new(u||Nm)(o.Y36(o.R0b))};static#t=this.\u0275dir=o.lG2({type:Nm,selectors:[["","ngDocHotkey",""]],inputs:{hotkey:["ngDocHotkey","hotkey"]},outputs:{callback:"ngDocHotkey"},standalone:!0})};return a=(0,R.__decorate)([(0,Ie.c)(),(0,R.__metadata)("design:paramtypes",[o.R0b])],a),a})();const Kg=["*"];let Ch=(()=>{class a{constructor(){this.color="primary",this.size="medium",this.mod="default"}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-tag"]],hostVars:3,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-color",f.color)("data-ng-doc-size",f.size)("data-ng-doc-mod",f.mod)},inputs:{color:"color",size:"size",mod:"mod"},standalone:!0,features:[o.jDz],ngContentSelectors:Kg,decls:1,vars:0,template:function(u,f){1&u&&(o.F$t(),o.Hsn(0))},styles:['[_nghost-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);display:inline-block;padding:0 var(--ng-doc-base-gutter);border-radius:calc(var(--ng-doc-base-gutter) / 2);background-color:var(--ng-doc-tag-background);border:var(--ng-doc-tag-border);color:var(--ng-doc-tag-color);--ng-doc-icon-color: var(--ng-doc-tag-color);--ng-doc-font-size: 14px}[_nghost-%COMP%]{position:relative}[_nghost-%COMP%]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-tag-alpha-background);opacity:var(--ng-doc-tag-background-opacity);border-radius:inherit;overflow:hidden;pointer-events:none}[data-ng-doc-size=small][_nghost-%COMP%]{padding:0 calc(var(--ng-doc-base-gutter) / 2);border-radius:6px;--ng-doc-font-size: 10px;--ng-doc-line-height: calc(var(--ng-doc-base-gutter) * 2)}[data-ng-doc-color=info][_nghost-%COMP%]{--ng-doc-tag-background: var(--ng-doc-info);--ng-doc-tag-color: var(--ng-doc-info-text)}[data-ng-doc-color=warning][_nghost-%COMP%]{--ng-doc-tag-background: var(--ng-doc-warning);--ng-doc-tag-color: var(--ng-doc-warning-text)}[data-ng-doc-color=alert][_nghost-%COMP%]{--ng-doc-tag-background: var(--ng-doc-alert);--ng-doc-tag-color: var(--ng-doc-alert-text)}[data-ng-doc-color=link][_nghost-%COMP%]{--ng-doc-tag-background: var(--ng-doc-link-color);--ng-doc-tag-color: var(--ng-doc-primary-text)}[data-ng-doc-mod=light][_nghost-%COMP%]{--ng-doc-tag-background: trasparent;--ng-doc-tag-background-opacity: .15}[data-ng-doc-mod=light][data-ng-doc-color=primary][_nghost-%COMP%]{--ng-doc-tag-alpha-background: var(--ng-doc-primary);--ng-doc-tag-color: var(--ng-doc-primary)}[data-ng-doc-mod=light][data-ng-doc-color=info][_nghost-%COMP%]{--ng-doc-tag-alpha-background: var(--ng-doc-info);--ng-doc-tag-color: var(--ng-doc-info)}[data-ng-doc-mod=light][data-ng-doc-color=warning][_nghost-%COMP%]{--ng-doc-tag-alpha-background: var(--ng-doc-warning);--ng-doc-tag-color: var(--ng-doc-warning)}[data-ng-doc-mod=light][data-ng-doc-color=alert][_nghost-%COMP%]{--ng-doc-tag-alpha-background: var(--ng-doc-alert);--ng-doc-tag-color: var(--ng-doc-alert)}[data-ng-doc-mod=light][data-ng-doc-color=link][_nghost-%COMP%]{--ng-doc-tag-alpha-background: var(--ng-doc-link-color);--ng-doc-tag-color: var(--ng-doc-link-color)}'],changeDetection:0})}return a})();var Qg=d(7808),Xg=d(6307),mc=d(7457),Pu=d(8176);function Jg(a,l){if(1&a&&(o.ynx(0),o._uU(1),o.BQk()),2&a){const i=l.polymorpheusOutlet;o.xp6(1),o.hij(" ",i," ")}}function _c(a,l){if(1&a&&(o.TgZ(0,"ng-doc-option",3),o.YNc(1,Jg,2,1,"ng-container",4),o.qZA()),2&a){const i=l.$implicit,u=o.oxw(2);o.Q6J("value",u.defineValueFn(i))("disabled",u.itemDisabledFn(i)),o.xp6(1),o.Q6J("polymorpheusOutlet",u.itemContent)("polymorpheusOutletContext",u.getContext(i))}}function qg(a,l){if(1&a&&(o.ynx(0),o.YNc(1,_c,2,4,"ng-doc-option",2),o.BQk()),2&a){const i=o.oxw();o.xp6(1),o.Q6J("ngForOf",i.items)("ngForTrackBy",i.trackByFn)}}function ep(a,l){if(1&a&&(o.ynx(0),o._uU(1),o.BQk()),2&a){const i=l.polymorpheusOutlet;o.xp6(1),o.hij(" ",i," ")}}function bh(a,l){if(1&a&&(o.ynx(0),o.YNc(1,ep,2,1,"ng-container",7),o.BQk()),2&a){const i=o.oxw(2);o.xp6(1),o.Q6J("polymorpheusOutlet",i.emptyContent)}}function Dh(a,l){if(1&a&&(o.TgZ(0,"div",5),o.YNc(1,bh,2,1,"ng-container",6),o.qZA()),2&a){const i=o.oxw();o.xp6(1),o.Q6J("ngIf",i.emptyContent)}}let Eh=(()=>{class a{constructor(){this.autofocus=!0,this.items=[],this.itemContent=({$implicit:i})=>(0,mc.t9)(i),this.emptyContent="",this.itemDisabledFn=mc.Nk,this.defineValueFn=mc.gR,this.trackByFn=(i,u)=>u}getContext(i){return{$implicit:i}}getItems(){return(0,pt.asArray)(this.items)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-data-list"]],inputs:{autofocus:"autofocus",items:"items",itemContent:"itemContent",emptyContent:"emptyContent",itemDisabledFn:"itemDisabledFn",defineValueFn:"defineValueFn",trackByFn:"trackByFn"},standalone:!0,features:[o.jDz],decls:4,vars:2,consts:[[4,"ngIf","ngIfElse"],["emptyTemplate",""],[3,"value","disabled",4,"ngFor","ngForOf","ngForTrackBy"],[3,"value","disabled"],[4,"polymorpheusOutlet","polymorpheusOutletContext"],["ng-doc-text","",1,"ng-doc-empty-message"],[4,"ngIf"],[4,"polymorpheusOutlet"]],template:function(u,f){if(1&u&&(o.TgZ(0,"ng-doc-list"),o.YNc(1,qg,2,2,"ng-container",0),o.YNc(2,Dh,2,1,"ng-template",null,1,o.W1O),o.qZA()),2&u){const M=o.MAs(3);o.xp6(1),o.Q6J("ngIf",f.items&&f.items.length)("ngIfElse",M)}},dependencies:[Qg.k,m.O5,m.ax,Xg.e,_r.wq,_r.Li,Kr.Uy],styles:["[_nghost-%COMP%]{display:block;height:100%;overflow:auto;max-height:var(--ng-doc-list-size)}.ng-doc-empty-message[_ngcontent-%COMP%]{padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);--ng-doc-font-size: 13px;--ng-doc-line-height: 22px}ng-doc-checkbox[_ngcontent-%COMP%]{pointer-events:none}"],changeDetection:0})}return(0,R.__decorate)([Pu.g,(0,R.__metadata)("design:type",Function),(0,R.__metadata)("design:paramtypes",[Object]),(0,R.__metadata)("design:returntype",Object)],a.prototype,"getContext",null),a})(),Na=(()=>{class a{constructor(){this.size="medium"}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-spinner"]],hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-size",f.size)},inputs:{size:"size"},standalone:!0,features:[o.jDz],decls:2,vars:0,consts:[["viewBox","0 0 50 50",1,"ng-doc-spinner"],["cx","25","cy","25","r","20","fill","none","stroke-width","5",1,"ng-doc-spinner-path"]],template:function(u,f){1&u&&(o.O4$(),o.TgZ(0,"svg",0),o._UZ(1,"circle",1),o.qZA())},styles:["[_nghost-%COMP%]{display:inline-block}[data-ng-doc-size=small][_nghost-%COMP%]{width:calc(var(--ng-doc-base-gutter) * 3);height:calc(var(--ng-doc-base-gutter) * 3)}[data-ng-doc-size=medium][_nghost-%COMP%]{width:calc(var(--ng-doc-base-gutter) * 5);height:calc(var(--ng-doc-base-gutter) * 5)}[data-ng-doc-size=large][_nghost-%COMP%]{width:calc(var(--ng-doc-base-gutter) * 8);height:calc(var(--ng-doc-base-gutter) * 8)}[_nghost-%COMP%] .ng-doc-spinner[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_rotate 2s linear infinite}[_nghost-%COMP%] .ng-doc-spinner[_ngcontent-%COMP%] .ng-doc-spinner-path[_ngcontent-%COMP%]{stroke:var(--ng-doc-spinner-color, var(--ng-doc-primary));stroke-linecap:round;animation:_ngcontent-%COMP%_dash 1.5s ease-in-out infinite}@keyframes _ngcontent-%COMP%_rotate{to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}"],changeDetection:0})}return a})(),pl=(()=>{class a{transform(i,u){return u.sort((f,M)=>M.start-f.start).forEach(f=>{const{start:M,length:Y}=f,ee=M+Y;i=`${i.slice(0,M)}${i.slice(M,ee)}${i.slice(ee)}`}),i}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275pipe=o.Yjl({name:"ngDocHighlighterPipe",type:a,pure:!0,standalone:!0})}return a})();var wh=d(8226);const Au=["inputElement"];function ml(a,l){1&a&&o._UZ(0,"ng-doc-icon",15)}function tp(a,l){1&a&&o.GkF(0)}function np(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"div",9)(1,"ng-doc-input-wrapper",10),o.YNc(2,ml,1,0,"ng-template",null,11,o.W1O),o.TgZ(4,"input",12,13),o.NdJ("ngModelChange",function(f){o.CHM(i);const M=o.oxw(3);return o.KtG(M.searchTerm=f)})("ngModelChange",function(f){o.CHM(i);const M=o.oxw(3);return o.KtG(M.query$.next(f))}),o.qZA()(),o.YNc(6,tp,1,0,"ng-container",14),o.qZA()}if(2&a){const i=o.MAs(3);o.oxw(2);const u=o.MAs(5),f=o.oxw();o.xp6(1),o.Q6J("leftContent",i),o.xp6(3),o.Q6J("ngModel",f.searchTerm)("selectAll",!0),o.xp6(2),o.Q6J("ngTemplateOutlet",u)}}function op(a,l){if(1&a){const i=o.EpF();o.ynx(0),o.TgZ(1,"button",4),o.NdJ("click",function(){o.CHM(i);const f=o.MAs(4);return o.KtG(f.toggle())}),o._UZ(2,"ng-doc-icon",5),o.TgZ(3,"ng-doc-dropdown",6,7),o.YNc(5,np,7,4,"ng-template",null,8,o.W1O),o.qZA()(),o.BQk()}if(2&a){const i=o.MAs(6);o.xp6(2),o.Q6J("size",24),o.xp6(1),o.Q6J("content",i)}}function rp(a,l){1&a&&o._UZ(0,"ng-doc-icon",15)}function ip(a,l){1&a&&(o.TgZ(0,"ng-doc-tag",22),o._uU(1,"/"),o.qZA())}const sp=function(){return{ctrlKey:!1,altKey:!1,shiftKey:!1,code:"Slash"}};function Mh(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"ng-doc-input-wrapper",16,17),o.NdJ("focusEvent",function(){o.CHM(i);const f=o.MAs(5),M=o.MAs(9);return o.KtG(f.value?M.open():null)})("click",function(){o.CHM(i);const f=o.MAs(5),M=o.MAs(9);return o.KtG(f.value?M.open():null)}),o.YNc(2,rp,1,0,"ng-template",null,11,o.W1O),o.TgZ(4,"input",18,13),o.NdJ("ngModelChange",function(f){o.CHM(i);const M=o.oxw(2);return o.KtG(M.searchTerm=f)})("ngModelChange",function(f){o.CHM(i);const M=o.MAs(9);return o.oxw(2).query$.next(f),o.KtG(M.open())})("ngDocHotkey",function(){o.CHM(i);const f=o.MAs(5);return f.focus(),o.KtG(f.select())}),o.qZA(),o.YNc(6,ip,2,0,"ng-template",null,19,o.W1O),o.TgZ(8,"ng-doc-dropdown",20,21),o._uU(10," < "),o.qZA()()}if(2&a){const i=o.MAs(1),u=o.MAs(3),f=o.MAs(7);o.oxw();const M=o.MAs(5),Y=o.oxw();o.Q6J("leftContent",u)("rightContent",f),o.xp6(4),o.Q6J("ngModel",Y.searchTerm)("ngDocHotkey",o.DdM(6,sp)),o.xp6(4),o.Q6J("content",M)("width",i.elementRef.nativeElement.offsetWidth)}}function _l(a,l){1&a&&(o.TgZ(0,"span",35),o._uU(1,"/"),o.qZA())}function Iu(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"span"),o._uU(2),o.qZA(),o.YNc(3,_l,2,0,"span",34),o.BQk()),2&a){const i=l.$implicit,u=l.index,f=o.oxw().$implicit;o.xp6(2),o.Oqu(i),o.xp6(1),o.Q6J("ngIf",u!==f.index.breadcrumbs.length-1)}}function Nu(a,l){if(1&a&&(o._UZ(0,"div",36),o.ALo(1,"ngDocSanitizeHtml"),o.ALo(2,"ngDocHighlighterPipe"),o.ALo(3,"execute")),2&a){const i=o.oxw().$implicit,u=o.oxw(3);o.Q6J("innerHTML",o.lcZ(1,1,o.xi3(2,3,i.index.content,o.Dn7(3,6,u.getPositions,"content",i))),o.oJD)}}function ap(a,l){if(1&a&&(o.TgZ(0,"a",27)(1,"div",28)(2,"ng-doc-tag",29),o._uU(3),o.qZA(),o.TgZ(4,"span",30),o.YNc(5,Iu,4,2,"ng-container",31),o.qZA()(),o._UZ(6,"h5",32),o.ALo(7,"ngDocSanitizeHtml"),o.ALo(8,"ngDocHighlighterPipe"),o.ALo(9,"execute"),o.YNc(10,Nu,4,10,"div",33),o.qZA()),2&a){const i=l.$implicit,u=o.oxw(3);o.Q6J("routerLink",i.index.route)("fragment",i.index.fragment),o.xp6(2),o.uIk("data-ng-doc-page-type",i.index.pageType),o.xp6(1),o.hij(" ",i.index.pageType," "),o.xp6(2),o.Q6J("ngForOf",i.index.breadcrumbs),o.xp6(1),o.Q6J("innerHTML",o.lcZ(7,7,o.xi3(8,9,i.index.section,o.Dn7(9,12,u.getPositions,"section",i)))||i.index.title,o.oJD),o.xp6(4),o.Q6J("ngIf",i.index.content)}}function cp(a,l){1&a&&(o.ynx(0),o._uU(1,"Nothing found"),o.BQk())}function Ru(a,l){1&a&&(o.ynx(0),o._uU(1,"Please enter your search query "),o.BQk())}function Oh(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"div",38),o.YNc(2,cp,2,0,"ng-container",37),o.YNc(3,Ru,2,0,"ng-container",37),o.qZA(),o.BQk()),2&a){const i=o.oxw(4);o.xp6(2),o.Q6J("ngIf",i.query$.value.length),o.xp6(1),o.Q6J("ngIf",!i.query$.value.length)}}function oa(a,l){1&a&&(o.ynx(0),o.TgZ(1,"div",39),o._UZ(2,"ng-doc-spinner",29),o._uU(3," Searching... "),o.qZA(),o.BQk())}function Sh(a,l){if(1&a&&(o.YNc(0,Oh,4,2,"ng-container",37),o.YNc(1,oa,4,0,"ng-container",37)),2&a){const i=o.oxw(2).ngDocLet;o.Q6J("ngIf",!(null!=i&&i.pending)),o.xp6(1),o.Q6J("ngIf",null==i?null:i.pending)}}const Th=function(){return[]};function lp(a,l){if(1&a&&(o.TgZ(0,"div",23)(1,"ng-doc-data-list",24),o.YNc(2,ap,11,16,"ng-template",null,25,o.W1O),o.YNc(4,Sh,2,2,"ng-template",null,26,o.W1O),o.qZA()()),2&a){const i=o.MAs(3),u=o.MAs(5),f=o.oxw().ngDocLet,M=o.oxw();let Y;o.uIk("data-ng-doc-mod",M.mod),o.xp6(1),o.Q6J("items",null!==(Y=null==f?null:f.result)&&void 0!==Y?Y:o.DdM(4,Th))("itemContent",i)("emptyContent",u)}}function g0(a,l){if(1&a&&(o.ynx(0),o.YNc(1,op,7,2,"ng-container",1),o.YNc(2,Mh,11,7,"ng-template",null,2,o.W1O),o.YNc(4,lp,6,5,"ng-template",null,3,o.W1O),o.BQk()),2&a){const i=o.MAs(3),u=o.oxw();o.xp6(1),o.Q6J("ngIf","icon"===u.mod)("ngIfElse",i)}}var Ra;let ku=Ra=class Rm{constructor(l,i){if(this.elementRef=l,this.searchEngine=i,this.mod="input",this.searchTerm="",this.query$=new hc.X(""),!this.searchEngine)throw new Error("NgDoc: Search engine is not provided,\n\t\t\tplease check this article: https://ng-doc.com/getting-started/installation#importing-global-modules\n\t\t\tto learn how to provide it.");this.search$=this.query$.pipe((0,Ja.T)(1),(0,Er.w)(u=>this.searchEngine?.search(u).pipe((0,Ss.ao)())??Su.C),(0,Ie.t)(this))}get listHostOrigin(){return this.inputElement??this.elementRef}getPositions(l,i){return i.positions[l]??[]}static#e=this.\u0275fac=function(i){return new(i||Rm)(o.Y36(o.SBq),o.Y36(Ct,8))};static#t=this.\u0275cmp=o.Xpm({type:Rm,selectors:[["ng-doc-search"]],viewQuery:function(i,u){if(1&i&&o.Gf(Au,5),2&i){let f;o.iGM(f=o.CRH())&&(u.inputElement=f.first)}},hostVars:1,hostBindings:function(i,u){2&i&&o.uIk("data-ng-doc-mod",u.mod)},inputs:{mod:"mod"},standalone:!0,features:[o._Bn([{provide:wh.X,useExisting:(0,o.Gpc)(()=>Ra)}]),o.jDz],decls:2,vars:3,consts:[[4,"ngDocLet"],[4,"ngIf","ngIfElse"],["searchInput",""],["searchResults",""],["ng-doc-button-icon","","size","large","ngDocDropdownOrigin","",3,"click"],["icon","search",3,"size"],["panelClass","ng-doc-search-dropdown","width","100%","height","80vh",3,"content"],["inputDropdown",""],["dropdownContent",""],[1,"ng-doc-search-wrapper"],["ngDocDropdownOrigin","",3,"leftContent"],["leftContent",""],["ngDocInputString","","placeholder","Search...","ngDocAutofocus","",3,"ngModel","selectAll","ngModelChange"],["inputElement",""],[4,"ngTemplateOutlet"],["icon","search"],["ngDocDropdownOrigin","","ngDocFocusCatcher","",3,"leftContent","rightContent","focusEvent","click"],["input",""],["ngDocInputString","","placeholder","Search...",3,"ngModel","ngDocHotkey","ngModelChange"],["rightContent",""],["positions","bottom-right","maxHeight","calc(95vh - var(--ng-doc-navbar-height)",3,"content","width"],["dropdown",""],[1,"search-hotkey"],[1,"ng-doc-search-result-content"],[3,"items","itemContent","emptyContent"],["itemContent",""],["emptyContent",""],[1,"ng-doc-search-option",3,"routerLink","fragment"],[1,"ng-doc-search-option-header"],["size","small"],["ng-doc-text","",1,"ng-doc-search-option-breadcrumbs"],[4,"ngFor","ngForOf"],["ng-doc-text","",1,"ng-doc-search-section-title",3,"innerHTML"],["class","ng-doc-search-content","ng-doc-text","",3,"innerHTML",4,"ngIf"],["class","ng-doc-search-option-breadcrumb-divider",4,"ngIf"],[1,"ng-doc-search-option-breadcrumb-divider"],["ng-doc-text","",1,"ng-doc-search-content",3,"innerHTML"],[4,"ngIf"],[1,"ng-doc-search-empty"],[1,"ng-doc-search-progress"]],template:function(i,u){1&i&&(o.YNc(0,g0,6,2,"ng-container",0),o.ALo(1,"async")),2&i&&o.Q6J("ngDocLet",o.lcZ(1,1,u.search$))},dependencies:[rl,m.O5,Bi.J,xu,wr.q,si.V,pc.u,mh.v,$s.u5,$s.Fj,$s.JJ,$s.On,_h.o,m.tP,Yg.b,yh,Ch,Eh,Jo.rH,Kr.Uy,m.ax,Na,m.Ov,pl,Ea,xs.Y],styles:["[_nghost-%COMP%]{max-width:500px;--ng-doc-floated-border-radius: var(--ng-doc-base-gutter);--ng-doc-input-background-color: var(--ng-doc-base-1);--ng-doc-input-border: none;--ng-doc-input-border-hover: none;--ng-doc-icon-color: var(--ng-doc-base-7)}[data-ng-doc-mod=input][_nghost-%COMP%]{width:480px}.ng-doc-search-result-content[_ngcontent-%COMP%]{height:100%;overflow:auto;--ng-doc-option-padding: 0}.ng-doc-search-result-content[data-ng-doc-mod=icon][_ngcontent-%COMP%] .ng-doc-search-wrapper[_ngcontent-%COMP%]{padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-result-content[data-ng-doc-mod=icon][_ngcontent-%COMP%] .ng-doc-search-option[_ngcontent-%COMP%]{padding:12px 16px}.ng-doc-search-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-wrapper[_ngcontent-%COMP%] ng-doc-input-wrapper[_ngcontent-%COMP%]{padding:0 calc(var(--ng-doc-base-gutter) * 2)}.ng-doc-search-wrapper[_ngcontent-%COMP%] .ng-doc-search-result-content[_ngcontent-%COMP%]{padding:0;margin-top:calc(var(--ng-doc-base-gutter) * 3)}.search-hotkey[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:calc(var(--ng-doc-base-gutter) * 3);height:calc(var(--ng-doc-base-gutter) * 3);margin-right:var(--ng-doc-base-gutter);--ng-doc-tag-border: 1px solid var(--ng-doc-base-6);--ng-doc-tag-color: var(--ng-doc-base-6);--ng-doc-tag-background: transparent} .ng-doc-search-dropdown{--ng-doc-overlay-border-radius: 0px !important}.ng-doc-search-option[_ngcontent-%COMP%]{display:block;padding:12px 36px;text-decoration:none}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-option-header[_ngcontent-%COMP%]{display:flex;align-items:center;margin-bottom:calc(var(--ng-doc-base-gutter) / 2)}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-option-header[_ngcontent-%COMP%] ng-doc-tag[_ngcontent-%COMP%]{text-transform:uppercase;margin-right:var(--ng-doc-base-gutter);--ng-doc-font-weight: 900}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-option-header[_ngcontent-%COMP%] ng-doc-tag[data-ng-doc-page-type=guide][_ngcontent-%COMP%]{--ng-doc-tag-color: var(--ng-doc-guide-tag-color);--ng-doc-tag-background: var(--ng-doc-guide-tag-background)}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-option-header[_ngcontent-%COMP%] ng-doc-tag[data-ng-doc-page-type=api][_ngcontent-%COMP%]{--ng-doc-tag-color: var(--ng-doc-api-tag-color);--ng-doc-tag-background: var(--ng-doc-api-tag-background)}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-option-header[_ngcontent-%COMP%] .ng-doc-search-option-breadcrumbs[_ngcontent-%COMP%]{--ng-doc-text: var(--ng-doc-text-muted);--ng-doc-font-size: 12px;--ng-doc-line-height: 16px;--ng-doc-font-weight: 600}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-option-header[_ngcontent-%COMP%] .ng-doc-search-option-breadcrumbs[_ngcontent-%COMP%] .ng-doc-search-option-breadcrumb-divider[_ngcontent-%COMP%]{margin:0 6px}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-section-title[_ngcontent-%COMP%]{display:block;color:var(--ng-doc-search-result-header-color, var(--ng-doc-text));--ng-doc-line-height: 20px;margin:4px 0}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-content[_ngcontent-%COMP%]{display:block;color:var(--ng-doc-search-result-color, var(--ng-doc-text));--ng-doc-font-size: 14px;--ng-doc-line-height: 19px;--ng-doc-font-weight: 600}.ng-doc-search-empty[_ngcontent-%COMP%]{padding:0 22px}.ng-doc-search-progress[_ngcontent-%COMP%]{display:flex;align-items:center}.ng-doc-search-progress[_ngcontent-%COMP%] ng-doc-spinner[_ngcontent-%COMP%]{margin-right:var(--ng-doc-base-gutter)}"],changeDetection:0})};function xh(a,l){1&a&&o.GkF(0)}function Ph(a,l){1&a&&o.GkF(0)}function Ah(a,l){1&a&&o._UZ(0,"ng-doc-search")}function Fu(a,l){1&a&&o._UZ(0,"ng-doc-search",9)}function Ih(a,l){1&a&&o.GkF(0)}function vl(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"button",10),o.NdJ("click",function(){o.CHM(i);const f=o.oxw(2);return o.KtG(f.sidebarService.toggle())}),o._UZ(1,"ng-doc-icon",11),o.qZA()}2&a&&(o.xp6(1),o.Q6J("size",24))}function vc(a,l){if(1&a&&(o.TgZ(0,"div",1)(1,"div",2),o.YNc(2,xh,1,0,"ng-container",3),o.qZA(),o.TgZ(3,"div",4),o.YNc(4,Ph,1,0,"ng-container",3),o.YNc(5,Ah,1,0,"ng-doc-search",5),o.qZA(),o.TgZ(6,"div",6),o.YNc(7,Fu,1,0,"ng-doc-search",7),o.YNc(8,Ih,1,0,"ng-container",3),o.YNc(9,vl,2,1,"button",8),o.qZA()()),2&a){const i=l.ngDocLet,u=o.oxw();o.xp6(2),o.Q6J("polymorpheusOutlet",u.leftContent),o.xp6(2),o.Q6J("polymorpheusOutlet",u.centerContent),o.xp6(1),o.Q6J("ngIf",u.search&&!i),o.xp6(2),o.Q6J("ngIf",u.search&&i),o.xp6(1),o.Q6J("polymorpheusOutlet",u.rightContent),o.xp6(1),o.Q6J("ngIf",i&&u.hamburger)}}ku=Ra=(0,R.__decorate)([(0,Ie.c)(),(0,R.__metadata)("design:paramtypes",[o.SBq,Ct])],ku);let Lu=(()=>{let a=class km{constructor(i,u,f,M){this.window=i,this.ngZone=u,this.changeDetectorRef=f,this.sidebarService=M,this.leftContent="",this.centerContent="",this.rightContent="",this.search=!0,this.hamburger=!0,this.glassEffect=!0,this.hasShadow=!1,(0,ea.a)([(0,F.R)(this.window,"scroll").pipe((0,U.U)(Y=>(Y.target?.scrollingElement?.scrollTop??0)>0),(0,G.x)(),(0,V.O)(!1)),this.sidebarService.isMobileMode(),this.sidebarService.isExpanded()]).pipe((0,U.U)(([Y,ee,le])=>Y||ee&&le),(0,Ss.w1)(this.ngZone),(0,Ie.t)(this)).subscribe(Y=>{this.hasShadow=Y,this.changeDetectorRef.markForCheck()})}static#e=this.\u0275fac=function(u){return new(u||km)(o.Y36(ce),o.Y36(o.R0b),o.Y36(o.sBO),o.Y36(fc))};static#t=this.\u0275cmp=o.Xpm({type:km,selectors:[["ng-doc-navbar"]],hostVars:3,hostBindings:function(u,f){2&u&&(o.uIk("data-glass-effect",f.glassEffect),o.ekj("has-shadow",f.hasShadow))},inputs:{leftContent:"leftContent",centerContent:"centerContent",rightContent:"rightContent",search:"search",hamburger:"hamburger",glassEffect:"glassEffect"},standalone:!0,features:[o.jDz],decls:2,vars:3,consts:[["class","navbar-container",4,"ngDocLet"],[1,"navbar-container"],[1,"ng-doc-navbar-left"],[4,"polymorpheusOutlet"],[1,"ng-doc-navbar-center"],[4,"ngIf"],[1,"ng-doc-navbar-right"],["mod","icon",4,"ngIf"],["class","ng-doc-menu","ng-doc-button-icon","","size","large",3,"click",4,"ngIf"],["mod","icon"],["ng-doc-button-icon","","size","large",1,"ng-doc-menu",3,"click"],["icon","menu",3,"size"]],template:function(u,f){1&u&&(o.YNc(0,vc,10,6,"div",0),o.ALo(1,"async")),2&u&&o.Q6J("ngDocLet",o.lcZ(1,1,f.sidebarService.isMobileMode()))},dependencies:[rl,_r.wq,_r.Li,m.O5,ku,Bi.J,wr.q,m.Ov],styles:['[_nghost-%COMP%]{position:relative;display:flex;justify-content:center;height:100%;transition:var(--ng-doc-transition) box-shadow}[_nghost-%COMP%]:not([data-glass-effect=false]){-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}[_nghost-%COMP%]:not([data-glass-effect=false]){position:relative}[_nghost-%COMP%]:not([data-glass-effect=false]):before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-navbar-background);opacity:.6;border-radius:inherit;overflow:hidden;pointer-events:none}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){[_nghost-%COMP%]{background-color:var(--ng-doc-navbar-background)}}[data-glass-effect=false][_nghost-%COMP%]{background-color:var(--ng-doc-navbar-background)}.has-shadow[_nghost-%COMP%]{box-shadow:var(--ng-doc-shadow-color) 0 5px 20px -5px}[_nghost-%COMP%] .navbar-container[_ngcontent-%COMP%]{display:flex;height:100%;width:100%;padding:0 var(--ng-doc-navbar-horizontal-padding);z-index:10;max-width:var(--ng-doc-app-max-width)}[_nghost-%COMP%] .ng-doc-navbar-left[_ngcontent-%COMP%], [_nghost-%COMP%] .ng-doc-navbar-center[_ngcontent-%COMP%], [_nghost-%COMP%] .ng-doc-navbar-right[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .ng-doc-navbar-left[_ngcontent-%COMP%]{justify-content:flex-start;width:100%;max-width:var(--ng-doc-navbar-left-width)}[_nghost-%COMP%] .ng-doc-navbar-center[_ngcontent-%COMP%]{padding:0 var(--ng-doc-app-horizontal-padding);justify-content:flex-start;max-width:calc(100% - var(--ng-doc-toc-width))}[_nghost-%COMP%] .ng-doc-navbar-right[_ngcontent-%COMP%]{justify-content:flex-end;margin-left:auto}[_nghost-%COMP%] .ng-doc-menu[_ngcontent-%COMP%]{margin-left:calc(var(--ng-doc-base-gutter) * 2)}'],changeDetection:0})};return a=(0,R.__decorate)([(0,Ie.c)(),(0,R.__metadata)("design:paramtypes",[Window,o.R0b,o.sBO,fc])],a),a})(),yl=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-dot"]],hostVars:2,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-color",f.color)("data-ng-doc-size",f.size)},inputs:{color:"color",size:"size"},standalone:!0,features:[o.jDz],decls:0,vars:0,template:function(u,f){},styles:["[_nghost-%COMP%]{display:inline;width:var(--ng-doc-dot-size);height:var(--ng-doc-dot-size);border-radius:var(--ng-doc-dot-size);line-height:var(--ng-doc-line-height);background-color:var(--ng-doc-dot-background);transition:var(--ng-doc-transition)}[data-ng-doc-size=small][_nghost-%COMP%]{--ng-doc-dot-size: calc(var(--ng-doc-base-gutter) / 2)}[data-ng-doc-size=medium][_nghost-%COMP%]{--ng-doc-dot-size: var(--ng-doc-base-gutter)}[data-ng-doc-size=large][_nghost-%COMP%]{--ng-doc-dot-size: calc(var(--ng-doc-base-gutter) * 2)}"],changeDetection:0})}return a})(),Cl=(()=>{class a{constructor(i,u){this.elementRef=i,this.renderer=u,this.rotated=!1,this.from=0,this.to=90}ngOnChanges({rotated:i}){i&&this.rotate(this.rotated?this.to:this.from,!0)}ngOnInit(){this.rotate(this.rotated?this.to:this.from)}rotate(i,u){u&&this.renderer.setStyle(this.elementRef.nativeElement,"transition","var(--ng-doc-transition)"),this.renderer.setStyle(this.elementRef.nativeElement,"transform",`rotateZ(${i}deg`)}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq),o.Y36(o.Qsj))};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocRotator",""]],inputs:{rotated:["ngDocRotator","rotated"],from:"from",to:"to"},standalone:!0,features:[o.TTD]})}return a})(),Nh=(()=>{let a=class Fm{constructor(i,u,f){this.elementRef=i,this.router=u,this.renderer=f,this.link="",this.activeClass=[],this.matchOptions={fragment:"exact",paths:"subset",queryParams:"exact",matrixParams:"exact"},this.router.events.pipe((0,Qr.h)(M=>M instanceof Jo.m2),(0,U.U)(()=>this.router.isActive(this.link,this.matchOptions)),(0,G.x)(),(0,Ie.t)(this)).subscribe(M=>{M?(0,pt.asArray)(this.activeClass).forEach(Y=>this.renderer.addClass(this.elementRef.nativeElement,Y)):(0,pt.asArray)(this.activeClass).forEach(Y=>this.renderer.removeClass(this.elementRef.nativeElement,Y))})}static#e=this.\u0275fac=function(u){return new(u||Fm)(o.Y36(o.SBq),o.Y36(Jo.F0),o.Y36(o.Qsj))};static#t=this.\u0275dir=o.lG2({type:Fm,selectors:[["","ngDocRouteActive",""]],inputs:{link:["ngDocRouteActive","link"],activeClass:"activeClass",matchOptions:"matchOptions"},standalone:!0})};return a=(0,R.__decorate)([(0,Ie.c)(),(0,R.__metadata)("design:paramtypes",[o.SBq,Jo.F0,o.Qsj])],a),a})();function Bu(a,l){1&a&&o._UZ(0,"ng-doc-dot")}function yc(a,l){if(1&a&&o._UZ(0,"ng-doc-icon",8),2&a){const i=o.oxw();o.Q6J("ngDocRotator",i.expanded)}}function up(a,l){1&a&&o.GkF(0)}function Rh(a,l){if(1&a&&(o.TgZ(0,"div",9),o.Hsn(1),o.YNc(2,up,1,0,"ng-container",10),o.qZA()),2&a){const i=o.oxw();o.xp6(2),o.Q6J("polymorpheusOutlet",i.content)}}const dp=["*"],hp=function(a){return[a]};function fp(a,l){1&a&&o.GkF(0)}const kh=function(a){return{item:a,root:!0}};function Fh(a,l){if(1&a&&(o.ynx(0),o.YNc(1,fp,1,0,"ng-container",3),o.BQk()),2&a){const i=l.$implicit;o.oxw();const u=o.MAs(5);o.xp6(1),o.Q6J("ngTemplateOutlet",u)("ngTemplateOutletContext",o.VKq(2,kh,i))}}function bl(a,l){1&a&&o.GkF(0)}const ju=function(a){return{item:a,root:!1}};function ka(a,l){if(1&a&&(o.ynx(0),o.YNc(1,bl,1,0,"ng-container",3),o.BQk()),2&a){const i=l.$implicit;o.oxw(5);const u=o.MAs(5);o.xp6(1),o.Q6J("ngTemplateOutlet",u)("ngTemplateOutletContext",o.VKq(2,ju,i))}}function gp(a,l){if(1&a&&(o.YNc(0,ka,2,4,"ng-container",1),o.ALo(1,"execute"),o.ALo(2,"bind")),2&a){const i=o.oxw(3).item,u=o.oxw();o.Q6J("ngForOf",o.xi3(1,1,o.xi3(2,4,u.getNavigation,u),i))}}function pp(a,l){if(1&a&&(o.TgZ(0,"ng-doc-sidebar-category",7),o.YNc(1,gp,3,7,"ng-template",null,8,o.W1O),o.qZA()),2&a){const i=o.MAs(2),u=o.oxw(2),f=u.item,M=u.root;o.Q6J("category",f)("expandable",!(null==f||!f.expandable))("expanded",!(null==f||!f.expanded)||!(null!=f&&f.expandable))("isRoot",!!M)("content",i)}}function p0(a,l){if(1&a&&(o.ynx(0),o.YNc(1,pp,3,5,"ng-doc-sidebar-category",6),o.BQk()),2&a){const i=o.oxw().item;o.xp6(1),o.Q6J("ngIf",!i.hidden)}}function mp(a,l){if(1&a&&o._UZ(0,"ng-doc-sidebar-item",10),2&a){const i=o.oxw(2).item;o.Q6J("item",i)}}function Hu(a,l){if(1&a&&o.YNc(0,mp,1,1,"ng-doc-sidebar-item",9),2&a){const i=o.oxw().item;o.Q6J("ngIf",!i.hidden)}}function _p(a,l){if(1&a&&(o.YNc(0,p0,2,1,"ng-container",4),o.YNc(1,Hu,1,1,"ng-template",null,5,o.W1O)),2&a){const i=l.item,u=o.MAs(2);o.Q6J("ngIf",null==i.children?null:i.children.length)("ngIfElse",u)}}let Fa=(()=>{let a=class Lm{constructor(i,u){this.router=i,this.changeDetectorRef=u,this.isRoot=!1,this.content="",this.expandable=!0,this.expanded=!0}ngOnInit(){this.router.events.pipe((0,Qr.h)(i=>i instanceof Jo.m2),(0,V.O)(null),(0,Qr.h)(()=>this.router.url.includes(this.category?.route??"",0)),(0,Ie.t)(this)).subscribe(()=>this.expand())}toggle(){this.expanded?this.collapse():this.expand()}expand(){this.category?.expandable&&(this.expanded=!0,this.changeDetectorRef.markForCheck())}collapse(){this.category?.expandable&&(this.expanded=!1,this.changeDetectorRef.markForCheck())}static#e=this.\u0275fac=function(u){return new(u||Lm)(o.Y36(Jo.F0),o.Y36(o.sBO))};static#t=this.\u0275cmp=o.Xpm({type:Lm,selectors:[["ng-doc-sidebar-category"]],hostVars:2,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-is-root",f.isRoot)("data-ng-doc-expandable",f.expandable)},inputs:{category:"category",isRoot:"isRoot",content:"content",expandable:"expandable",expanded:"expanded"},standalone:!0,features:[o.jDz],ngContentSelectors:dp,decls:10,vars:7,consts:[[1,"ng-doc-sidebar-category-wrapper"],[1,"ng-doc-sidebar-category-button",3,"click"],["activeClass","active",1,"ng-doc-sidebar-category",3,"ngDocRouteActive"],[4,"ngIf"],["ng-doc-text","",3,"color"],["icon","chevron-right","ngDocTextLeft","",3,"ngDocRotator",4,"ngIf"],[3,"expanded","content"],["contentTemplate",""],["icon","chevron-right","ngDocTextLeft","",3,"ngDocRotator"],[1,"ng-doc-sidebar-category-children"],[4,"polymorpheusOutlet"]],template:function(u,f){if(1&u&&(o.F$t(),o.TgZ(0,"div",0)(1,"div",1),o.NdJ("click",function(){return f.toggle()}),o.TgZ(2,"div",2),o.YNc(3,Bu,1,0,"ng-doc-dot",3),o.TgZ(4,"span",4),o.YNc(5,yc,1,1,"ng-doc-icon",5),o._uU(6),o.qZA()()(),o.TgZ(7,"ng-doc-expander",6),o.YNc(8,Rh,3,1,"ng-template",null,7,o.W1O),o.qZA()()),2&u){const M=o.MAs(9);let Y;o.xp6(2),o.Q6J("ngDocRouteActive",null!==(Y=null==f.category?null:f.category.route)&&void 0!==Y?Y:""),o.xp6(1),o.Q6J("ngIf",!f.expandable),o.xp6(1),o.Q6J("color",f.expandable?"normal":"muted"),o.xp6(1),o.Q6J("ngIf",null==f.category?null:f.category.expandable),o.xp6(1),o.hij(" ",null==f.category?null:f.category.title," "),o.xp6(1),o.Q6J("expanded",f.expanded)("content",M)}},dependencies:[Nh,m.O5,yl,Kr.Uy,wr.q,Kr.eo,Cl,dg,_r.wq,_r.Li],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;--ng-doc-sidebar-category-indent: calc( var(--ng-doc-sidebar-item-indent) + calc(var(--ng-doc-base-gutter) * 2) );--ng-doc-icon-color: var(--ng-doc-text)}[data-ng-doc-expandable=false][_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%]{padding:var(--ng-doc-sidebar-vetical-padding) var(--ng-doc-base-gutter) var(--ng-doc-sidebar-vetical-padding) var(--ng-doc-sidebar-item-indent)}[data-ng-doc-expandable=false][_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%] .ng-doc-sidebar-category[_ngcontent-%COMP%]{--ng-doc-font-weight: 600}[data-ng-doc-expandable=true][_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%]{padding:var(--ng-doc-sidebar-vetical-padding) var(--ng-doc-base-gutter) var(--ng-doc-sidebar-vetical-padding) var(--ng-doc-sidebar-item-indent);cursor:pointer;border-radius:var(--ng-doc-base-gutter)}[data-ng-doc-expandable=true][_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%]:hover{background-color:var(--ng-doc-base-1)}[_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%] .ng-doc-sidebar-category[_ngcontent-%COMP%]{display:flex;align-items:center;--ng-doc-dot-background: var(--ng-doc-base-4);--ng-doc-font-weight: 600}[_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%] .ng-doc-sidebar-category[_ngcontent-%COMP%] ng-doc-dot[_ngcontent-%COMP%]{margin-right:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%] .ng-doc-sidebar-category.active[_ngcontent-%COMP%]{--ng-doc-font-weight: 700;--ng-doc-dot-background: var(--ng-doc-primary)}[_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%] span[ng-doc-text][_ngcontent-%COMP%]{flex-shrink:0;margin-right:var(--ng-doc-base-gutter)}[_nghost-%COMP%] .ng-doc-sidebar-category-children[_ngcontent-%COMP%]{padding-bottom:calc(var(--ng-doc-base-gutter) * 2);--ng-doc-sidebar-item-indent: var(--ng-doc-sidebar-category-indent)}"],changeDetection:0})};return a=(0,R.__decorate)([(0,Ie.c)(),(0,R.__metadata)("design:paramtypes",[Jo.F0,o.sBO])],a),a})(),Dl=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-sidebar-item"]],inputs:{item:"item"},standalone:!0,features:[o.jDz],decls:4,vars:5,consts:[["routerLinkActive","active",1,"ng-doc-sidebar-link",3,"routerLink"],["ng-doc-text","",3,"absoluteContent"]],template:function(u,f){if(1&u&&(o.TgZ(0,"a",0),o._UZ(1,"ng-doc-dot"),o.TgZ(2,"span",1),o._uU(3),o.qZA()()),2&u){let M;o.Q6J("routerLink",o.VKq(3,hp,null!==(M=null==f.item?null:f.item.route)&&void 0!==M?M:"")),o.xp6(2),o.Q6J("absoluteContent",!0),o.xp6(1),o.hij(" ",null==f.item?null:f.item.title," ")}},dependencies:[Jo.Od,Jo.rH,yl,Kr.Uy],styles:["[_nghost-%COMP%]{display:block}.ng-doc-sidebar-link[_ngcontent-%COMP%]{font-family:var(--ng-doc-heading-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);display:flex;align-items:center;padding:var(--ng-doc-sidebar-vetical-padding) var(--ng-doc-sidebar-horizontal-padding) var(--ng-doc-sidebar-vetical-padding) var(--ng-doc-sidebar-item-indent);text-decoration:inherit;cursor:pointer;--ng-doc-icon-color: var(--ng-doc-text);--ng-doc-dot-background: var(--ng-doc-base-4);--ng-doc-font-weight: 500}.ng-doc-sidebar-link[_ngcontent-%COMP%] ng-doc-dot[_ngcontent-%COMP%]{margin-right:calc(var(--ng-doc-base-gutter) * 2)}.ng-doc-sidebar-link[_ngcontent-%COMP%]:hover:not(.active){--ng-doc-text: var(--ng-doc-text-muted)}.ng-doc-sidebar-link.active[_ngcontent-%COMP%]{--ng-doc-font-weight: 800;--ng-doc-dot-background: var(--ng-doc-primary)}.ng-doc-sidebar-link.active[_ngcontent-%COMP%] ng-doc-dot[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animation .5s ease-out}@keyframes _ngcontent-%COMP%_animation{0%{transform:scale(1)}50%{transform:scale(2)}to{transform:scale(1)}}"],changeDetection:0})}return a})(),El=(()=>{class a{constructor(i){this.context=i}getNavigation(i){return i?i.children??[]:this.context.navigation}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(D.yt))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-sidebar"]],standalone:!0,features:[o.jDz],decls:6,vars:6,consts:[[1,"ng-doc-side-bar-wrapper"],[4,"ngFor","ngForOf"],["sidebarTemplate",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[4,"ngIf","ngIfElse"],["itemTemplate",""],[3,"category","expandable","expanded","isRoot","content",4,"ngIf"],[3,"category","expandable","expanded","isRoot","content"],["categoryContent",""],[3,"item",4,"ngIf"],[3,"item"]],template:function(u,f){1&u&&(o.TgZ(0,"div",0),o.YNc(1,Fh,2,4,"ng-container",1),o.ALo(2,"execute"),o.ALo(3,"bind"),o.YNc(4,_p,3,2,"ng-template",null,2,o.W1O),o.qZA()),2&u&&(o.xp6(1),o.Q6J("ngForOf",o.lcZ(2,1,o.xi3(3,3,f.getNavigation,f))))},dependencies:[m.ax,m.tP,m.O5,Fa,Dl,Ea,il],styles:["[_nghost-%COMP%]{display:block;height:calc(100vh - var(--ng-doc-navbar-height));width:100%;overflow:auto;padding:var(--ng-doc-sidebar-padding) 0;background:var(--ng-doc-sidebar-background);box-shadow:var(--ng-doc-sidebar-shadow);--ng-doc-sidebar-category-indent: var(--ng-doc-sidebar-horizontal-padding);--ng-doc-sidebar-item-indent: var(--ng-doc-sidebar-horizontal-padding)}[_nghost-%COMP%] .ng-doc-side-bar-wrapper[_ngcontent-%COMP%]{position:relative}"],changeDetection:0})}return a})();function Lh(a,l){if(1&a&&(o.TgZ(0,"ng-doc-smooth-resize",5),o._uU(1),o.qZA()),2&a){const i=o.oxw();o.Q6J("trigger",i.nextTheme.name),o.xp6(1),o.hij(' Set "',i.nextTheme.name,'" theme ')}}const wl=function(){return{from:"-100%",to:"100%"}},Ml=function(a){return{value:":enter",params:a}};function ra(a,l){1&a&&o._UZ(0,"ng-doc-icon",6),2&a&&o.Q6J("@switchIcon",o.VKq(3,Ml,o.DdM(2,wl)))("size",24)}function vp(a,l){1&a&&o._UZ(0,"ng-doc-icon",7),2&a&&o.Q6J("@switchIcon",o.VKq(3,Ml,o.DdM(2,wl)))("size",24)}function yp(a,l){1&a&&(o.TgZ(0,"div",8),o._uU(1," A "),o.qZA()),2&a&&o.Q6J("@switchIcon",o.VKq(2,Ml,o.DdM(1,wl)))}let Cp=(()=>{class a{constructor(i){this.themeService=i,this.themes=[{name:"Auto",theme:"auto"},{name:"Light",theme:void 0},{name:"Dark",theme:L}]}get currentTheme(){if(this.themeService.isAutoThemeEnabled)return this.themes[0];const i=this.themeService.currentTheme;return this.themes.find(({theme:u})=>u===i)??this.themes[0]}get nextTheme(){if(this.themeService.isAutoThemeEnabled)return this.themes[1];const i=this.themes.findIndex(({theme:u})=>u===this.themeService.currentTheme);return this.themes[(i+1)%this.themes.length]}toggleTheme(){const{theme:i}=this.nextTheme;"auto"===i?this.themeService.enableAutoTheme(void 0,L):this.themeService.set(i?.id)}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(Ge))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-theme-toggle"]],standalone:!0,features:[o.jDz],decls:6,vars:4,consts:[["ng-doc-button-icon","","size","large",3,"ngDocTooltip","click"],["tooltipContent",""],["icon","sun",3,"size",4,"ngIf"],["icon","moon",3,"size",4,"ngIf"],["class","letter",4,"ngIf"],[3,"trigger"],["icon","sun",3,"size"],["icon","moon",3,"size"],[1,"letter"]],template:function(u,f){if(1&u&&(o.TgZ(0,"button",0),o.NdJ("click",function(){return f.toggleTheme()}),o.YNc(1,Lh,2,2,"ng-template",null,1,o.W1O),o.YNc(3,ra,1,5,"ng-doc-icon",2),o.YNc(4,vp,1,5,"ng-doc-icon",3),o.YNc(5,yp,2,4,"div",4),o.qZA()),2&u){const M=o.MAs(2);o.Q6J("ngDocTooltip",M),o.xp6(3),o.Q6J("ngIf",f.nextTheme===f.themes[1]),o.xp6(1),o.Q6J("ngIf",f.nextTheme===f.themes[2]),o.xp6(1),o.Q6J("ngIf",f.nextTheme===f.themes[0])}},dependencies:[Bi.J,Yt.A,m.O5,wr.q,ya],styles:["[_nghost-%COMP%]{display:inline-block;height:40px;width:40px}[_nghost-%COMP%] .letter[_ngcontent-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);--ng-doc-font-size: 26px;--ng-doc-font-weight: 600}"],data:{animation:[(0,At.X$)("switchIcon",[(0,At.eR)(":enter",[(0,At.oB)({transform:"translateX({{from}})",position:"absolute",opacity:0}),(0,At.jt)("225ms cubic-bezier(0.4,0.0,0.2,1)",(0,At.oB)({transform:"translateX(0%)",position:"absolute",opacity:1}))],{params:{from:"-100%"}}),(0,At.eR)(":leave",[(0,At.oB)({transform:"translateX(0%)",position:"absolute",opacity:1}),(0,At.jt)("225ms cubic-bezier(0.4,0.0,0.2,1)",(0,At.oB)({transform:"translateX({{to}})",position:"absolute",opacity:0}))],{params:{to:"-100%"}})])]},changeDetection:0})}return a})();function bp(){return{provide:D.yt,useValue:{navigation:[{title:"Getting Started",route:"/getting-started",expandable:!0,expanded:!1,order:1,hidden:!1,children:[{title:"What is ngx-vflow",route:"/getting-started/what-is-ngx-vflow",order:1,hidden:!1},{title:"Principles",route:"/getting-started/principles",order:2,hidden:!1},{title:"Roadmap",route:"/getting-started/roadmap",order:3,hidden:!1}]},{title:"Features",route:"/features",expandable:!0,expanded:!1,order:2,hidden:!1,children:[{title:"Default nodes",route:"/features/default-nodes",order:1,hidden:!1},{title:"Custom handles",route:"/features/custom-handles",order:2,hidden:!1},{title:"Multiple connection points",route:"/features/multiple-connection-points",order:2,hidden:!1},{title:"Default edges",route:"/features/default-edges",order:2,hidden:!1},{title:"Selecting",route:"/features/selecting",order:2,hidden:!1},{title:"Custom nodes",route:"/features/custom-nodes",order:2,hidden:!1},{title:"View size",route:"/features/view-size",order:2,hidden:!1},{title:"Labels",route:"/features/labels",order:2,hidden:!1},{title:"Custom edges",route:"/features/custom-edges",order:3,hidden:!1},{title:"Connection",route:"/features/connection",order:3,hidden:!1},{title:"Handling changes",route:"/features/handling-changes",order:3,hidden:!1},{title:"Connection validation",route:"/features/connection-validation",order:4,hidden:!1},{title:"Markers",route:"/features/markers",order:5,hidden:!1},{title:"Choose direction",route:"/features/choose-direction",order:7,hidden:!1},{title:"Curves",route:"/features/curves",order:8,hidden:!1},{title:"Draggables",route:"/features/draggables",order:9,hidden:!1},{title:"Custom background",route:"/features/custom-background",order:11,hidden:!1}]},{title:"Workshops",route:"/workshops",expandable:!0,expanded:!1,order:2,hidden:!1,children:[{title:"Drag and drop nodes",route:"/workshops/drag-and-drop-nodes",order:2,hidden:!1},{title:"Delete selected",route:"/workshops/delete-selected",order:2,hidden:!1},{title:"Layout",route:"/workshops/layout",expandable:!0,expanded:!1,order:2,hidden:!1,children:[{title:"Vizdom layout",route:"/workshops/layout/vizdom-layout",order:2,hidden:!1}]}]},{title:"API",route:"/api",order:3,hidden:!1}]}}}const Dp=[{path:"api",loadChildren:()=>Promise.all([d.e(5535),d.e(9822)]).then(d.bind(d,9822))},{path:"features",loadChildren:()=>d.e(6112).then(d.bind(d,6112))},{path:"getting-started",loadChildren:()=>d.e(9826).then(d.bind(d,9826))},{path:"workshops",loadChildren:()=>d.e(9819).then(d.bind(d,9819))}];function ia(a){return new o.vHH(3e3,!1)}function Ws(a){switch(a.length){case 0:return new At.ZN;case 1:return a[0];default:return new At.ZE(a)}}function Tl(a,l,i=new Map,u=new Map){const f=[],M=[];let Y=-1,ee=null;if(l.forEach(le=>{const xe=le.get("offset"),Ke=xe==Y,ut=Ke&&ee||new Map;le.forEach((wt,Nt)=>{let Rt=Nt,Kt=wt;if("offset"!==Nt)switch(Rt=a.normalizePropertyName(Rt,f),Kt){case At.k1:Kt=i.get(Nt);break;case At.l3:Kt=u.get(Nt);break;default:Kt=a.normalizeStyleValue(Nt,Rt,Kt,f)}ut.set(Rt,Kt)}),Ke||M.push(ut),ee=ut,Y=xe}),f.length)throw function b0(a){return new o.vHH(3502,!1)}();return M}function xl(a,l,i,u){switch(l){case"start":a.onStart(()=>u(i&&zu(i,"start",a)));break;case"done":a.onDone(()=>u(i&&zu(i,"done",a)));break;case"destroy":a.onDestroy(()=>u(i&&zu(i,"destroy",a)))}}function zu(a,l,i){const M=Wu(a.element,a.triggerName,a.fromState,a.toState,l||a.phaseName,i.totalTime??a.totalTime,!!i.disabled),Y=a._data;return null!=Y&&(M._data=Y),M}function Wu(a,l,i,u,f="",M=0,Y){return{element:a,triggerName:l,fromState:i,toState:u,phaseName:f,totalTime:M,disabled:!!Y}}function Vi(a,l,i){let u=a.get(l);return u||a.set(l,u=i),u}function Gh(a){const l=a.indexOf(":");return[a.substring(1,l),a.slice(l+1)]}const Yh=(()=>typeof document>"u"?null:document.documentElement)();function Zh(a){const l=a.parentNode||a.host||null;return l===Yh?null:l}let ls=null,La=!1;function Pl(a,l){for(;l;){if(l===a)return!0;l=Zh(l)}return!1}function Qh(a,l,i){if(i)return Array.from(a.querySelectorAll(l));const u=a.querySelector(l);return u?[u]:[]}let Yu=(()=>{class a{validateStyleProperty(i){return function Kh(a){ls||(ls=function Gu(){return typeof document<"u"?document.body:null}()||{},La=!!ls.style&&"WebkitAppearance"in ls.style);let l=!0;return ls.style&&!function E0(a){return"ebkit"==a.substring(1,6)}(a)&&(l=a in ls.style,!l&&La&&(l="Webkit"+a.charAt(0).toUpperCase()+a.slice(1)in ls.style)),l}(i)}matchesElement(i,u){return!1}containsElement(i,u){return Pl(i,u)}getParentElement(i){return Zh(i)}query(i,u,f){return Qh(i,u,f)}computeStyle(i,u,f){return f||""}animate(i,u,f,M,Y,ee=[],le){return new At.ZN(f,M)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac})}return a})(),Ba=(()=>{class a{static#e=this.NOOP=new Yu}return a})();const w0=1e3,bc="ng-enter",Dc="ng-leave",Ec="ng-trigger",ys=".ng-trigger",Xh="ng-animating",wc=".ng-animating";function Xi(a){if("number"==typeof a)return a;const l=a.match(/^(-?[\.\d]+)(m?s)/);return!l||l.length<2?0:Zu(parseFloat(l[1]),l[2])}function Zu(a,l){return"s"===l?a*w0:a}function ja(a,l,i){return a.hasOwnProperty("duration")?a:function Il(a,l,i){let f,M=0,Y="";if("string"==typeof a){const ee=a.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===ee)return l.push(ia()),{duration:0,delay:0,easing:""};f=Zu(parseFloat(ee[1]),ee[2]);const le=ee[3];null!=le&&(M=Zu(parseFloat(le),ee[4]));const xe=ee[5];xe&&(Y=xe)}else f=a;if(!i){let ee=!1,le=l.length;f<0&&(l.push(function Ep(){return new o.vHH(3100,!1)}()),ee=!0),M<0&&(l.push(function wp(){return new o.vHH(3101,!1)}()),ee=!0),ee&&l.splice(le,0,ia())}return{duration:f,delay:M,easing:Y}}(a,l,i)}function Pi(a,l={}){return Object.keys(a).forEach(i=>{l[i]=a[i]}),l}function aa(a){const l=new Map;return Object.keys(a).forEach(i=>{l.set(i,a[i])}),l}function Gs(a,l=new Map,i){if(i)for(let[u,f]of i)l.set(u,f);for(let[u,f]of a)l.set(u,f);return l}function us(a,l,i){l.forEach((u,f)=>{const M=Oc(f);i&&!i.has(f)&&i.set(f,a.style[M]),a.style[M]=u})}function Ji(a,l){l.forEach((i,u)=>{const f=Oc(u);a.style[f]=""})}function Mc(a){return Array.isArray(a)?1==a.length?a[0]:(0,At.vP)(a):a}const Qu=new RegExp("{{\\s*(.+?)\\s*}}","g");function Nl(a){let l=[];if("string"==typeof a){let i;for(;i=Qu.exec(a);)l.push(i[1]);Qu.lastIndex=0}return l}function Ha(a,l,i){const u=a.toString(),f=u.replace(Qu,(M,Y)=>{let ee=l[Y];return null==ee&&(i.push(function Op(a){return new o.vHH(3003,!1)}()),ee=""),ee.toString()});return f==u?a:f}function Rl(a){const l=[];let i=a.next();for(;!i.done;)l.push(i.value),i=a.next();return l}const qh=/-+([a-z0-9])/g;function Oc(a){return a.replace(qh,(...l)=>l[1].toUpperCase())}function Ui(a,l,i){switch(l.type){case 7:return a.visitTrigger(l,i);case 0:return a.visitState(l,i);case 1:return a.visitTransition(l,i);case 2:return a.visitSequence(l,i);case 3:return a.visitGroup(l,i);case 4:return a.visitAnimate(l,i);case 5:return a.visitKeyframes(l,i);case 6:return a.visitStyle(l,i);case 8:return a.visitReference(l,i);case 9:return a.visitAnimateChild(l,i);case 10:return a.visitAnimateRef(l,i);case 11:return a.visitQuery(l,i);case 12:return a.visitStagger(l,i);default:throw function Sp(a){return new o.vHH(3004,!1)}()}}function Up(a,l){return window.getComputedStyle(a)[l]}const Va="*";function Ju(a,l){const i=[];return"string"==typeof a?a.split(/\s*,\s*/).forEach(u=>function Tc(a,l,i){if(":"==a[0]){const le=function kl(a,l){switch(a){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(i,u)=>parseFloat(u)>parseFloat(i);case":decrement":return(i,u)=>parseFloat(u) *"}}(a,i);if("function"==typeof le)return void l.push(le);a=le}const u=a.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==u||u.length<4)return i.push(function v0(a){return new o.vHH(3015,!1)}()),l;const f=u[1],M=u[2],Y=u[3];l.push(Fl(f,Y));"<"==M[0]&&!(f==Va&&Y==Va)&&l.push(Fl(Y,f))}(u,i,l)):i.push(a),i}const As=new Set(["true","1"]),Ua=new Set(["false","0"]);function Fl(a,l){const i=As.has(a)||Ua.has(a),u=As.has(l)||Ua.has(l);return(f,M)=>{let Y=a==Va||a==f,ee=l==Va||l==M;return!Y&&i&&"boolean"==typeof f&&(Y=f?As.has(a):Ua.has(a)),!ee&&u&&"boolean"==typeof M&&(ee=M?As.has(l):Ua.has(l)),Y&&ee}}const O0=new RegExp("s*:selfs*,?","g");function Pc(a,l,i,u){return new $p(a).build(l,i,u)}class $p{constructor(l){this._driver=l}build(l,i,u){const f=new Wp(i);return this._resetContextStyleTimingState(f),Ui(this,Mc(l),f)}_resetContextStyleTimingState(l){l.currentQuerySelector="",l.collectedStyles=new Map,l.collectedStyles.set("",new Map),l.currentTime=0}visitTrigger(l,i){let u=i.queryCount=0,f=i.depCount=0;const M=[],Y=[];return"@"==l.name.charAt(0)&&i.errors.push(function Bh(){return new o.vHH(3006,!1)}()),l.definitions.forEach(ee=>{if(this._resetContextStyleTimingState(i),0==ee.type){const le=ee,xe=le.name;xe.toString().split(/\s*,\s*/).forEach(Ke=>{le.name=Ke,M.push(this.visitState(le,i))}),le.name=xe}else if(1==ee.type){const le=this.visitTransition(ee,i);u+=le.queryCount,f+=le.depCount,Y.push(le)}else i.errors.push(function xp(){return new o.vHH(3007,!1)}())}),{type:7,name:l.name,states:M,transitions:Y,queryCount:u,depCount:f,options:null}}visitState(l,i){const u=this.visitStyle(l.styles,i),f=l.options&&l.options.params||null;if(u.containsDynamicStyles){const M=new Set,Y=f||{};u.styles.forEach(ee=>{ee instanceof Map&&ee.forEach(le=>{Nl(le).forEach(xe=>{Y.hasOwnProperty(xe)||M.add(xe)})})}),M.size&&(Rl(M.values()),i.errors.push(function Pp(a,l){return new o.vHH(3008,!1)}()))}return{type:0,name:l.name,style:u,options:f?{params:f}:null}}visitTransition(l,i){i.queryCount=0,i.depCount=0;const u=Ui(this,Mc(l.animation),i);return{type:1,matchers:Ju(l.expr,i.errors),animation:u,queryCount:i.queryCount,depCount:i.depCount,options:ca(l.options)}}visitSequence(l,i){return{type:2,steps:l.steps.map(u=>Ui(this,u,i)),options:ca(l.options)}}visitGroup(l,i){const u=i.currentTime;let f=0;const M=l.steps.map(Y=>{i.currentTime=u;const ee=Ui(this,Y,i);return f=Math.max(f,i.currentTime),ee});return i.currentTime=f,{type:3,steps:M,options:ca(l.options)}}visitAnimate(l,i){const u=function rf(a,l){if(a.hasOwnProperty("duration"))return a;if("number"==typeof a)return ed(ja(a,l).duration,0,"");const i=a;if(i.split(/\s+/).some(M=>"{"==M.charAt(0)&&"{"==M.charAt(1))){const M=ed(0,0,"");return M.dynamic=!0,M.strValue=i,M}const f=ja(i,l);return ed(f.duration,f.delay,f.easing)}(l.timings,i.errors);i.currentAnimateTimings=u;let f,M=l.styles?l.styles:(0,At.oB)({});if(5==M.type)f=this.visitKeyframes(M,i);else{let Y=l.styles,ee=!1;if(!Y){ee=!0;const xe={};u.easing&&(xe.easing=u.easing),Y=(0,At.oB)(xe)}i.currentTime+=u.duration+u.delay;const le=this.visitStyle(Y,i);le.isEmptyStep=ee,f=le}return i.currentAnimateTimings=null,{type:4,timings:u,style:f,options:null}}visitStyle(l,i){const u=this._makeStyleAst(l,i);return this._validateStyleAst(u,i),u}_makeStyleAst(l,i){const u=[],f=Array.isArray(l.styles)?l.styles:[l.styles];for(let ee of f)"string"==typeof ee?ee===At.l3?u.push(ee):i.errors.push(new o.vHH(3002,!1)):u.push(aa(ee));let M=!1,Y=null;return u.forEach(ee=>{if(ee instanceof Map&&(ee.has("easing")&&(Y=ee.get("easing"),ee.delete("easing")),!M))for(let le of ee.values())if(le.toString().indexOf("{{")>=0){M=!0;break}}),{type:6,styles:u,easing:Y,offset:l.offset,containsDynamicStyles:M,options:null}}_validateStyleAst(l,i){const u=i.currentAnimateTimings;let f=i.currentTime,M=i.currentTime;u&&M>0&&(M-=u.duration+u.delay),l.styles.forEach(Y=>{"string"!=typeof Y&&Y.forEach((ee,le)=>{const xe=i.collectedStyles.get(i.currentQuerySelector),Ke=xe.get(le);let ut=!0;Ke&&(M!=f&&M>=Ke.startTime&&f<=Ke.endTime&&(i.errors.push(function Ol(a,l,i,u,f){return new o.vHH(3010,!1)}()),ut=!1),M=Ke.startTime),ut&&xe.set(le,{startTime:M,endTime:f}),i.options&&function jp(a,l,i){const u=l.params||{},f=Nl(a);f.length&&f.forEach(M=>{u.hasOwnProperty(M)||i.push(function Mp(a){return new o.vHH(3001,!1)}())})}(ee,i.options,i.errors)})})}visitKeyframes(l,i){const u={type:5,styles:[],options:null};if(!i.currentAnimateTimings)return i.errors.push(function Ps(){return new o.vHH(3011,!1)}()),u;let M=0;const Y=[];let ee=!1,le=!1,xe=0;const Ke=l.steps.map(Do=>{const Zn=this._makeStyleAst(Do,i);let xn=null!=Zn.offset?Zn.offset:function qu(a){if("string"==typeof a)return null;let l=null;if(Array.isArray(a))a.forEach(i=>{if(i instanceof Map&&i.has("offset")){const u=i;l=parseFloat(u.get("offset")),u.delete("offset")}});else if(a instanceof Map&&a.has("offset")){const i=a;l=parseFloat(i.get("offset")),i.delete("offset")}return l}(Zn.styles),Mo=0;return null!=xn&&(M++,Mo=Zn.offset=xn),le=le||Mo<0||Mo>1,ee=ee||Mo0&&M{const xn=wt>0?Zn==Nt?1:wt*Zn:Y[Zn],Mo=xn*zn;i.currentTime=Rt+Kt.delay+Mo,Kt.duration=Mo,this._validateStyleAst(Do,i),Do.offset=xn,u.styles.push(Do)}),u}visitReference(l,i){return{type:8,animation:Ui(this,Mc(l.animation),i),options:ca(l.options)}}visitAnimateChild(l,i){return i.depCount++,{type:9,options:ca(l.options)}}visitAnimateRef(l,i){return{type:10,animation:this.visitReference(l.animation,i),options:ca(l.options)}}visitQuery(l,i){const u=i.currentQuerySelector,f=l.options||{};i.queryCount++,i.currentQuery=l;const[M,Y]=function nf(a){const l=!!a.split(/\s*,\s*/).find(i=>":self"==i);return l&&(a=a.replace(O0,"")),a=a.replace(/@\*/g,ys).replace(/@\w+/g,i=>ys+"-"+i.slice(1)).replace(/:animating/g,wc),[a,l]}(l.selector);i.currentQuerySelector=u.length?u+" "+M:M,Vi(i.collectedStyles,i.currentQuerySelector,new Map);const ee=Ui(this,Mc(l.animation),i);return i.currentQuery=null,i.currentQuerySelector=u,{type:11,selector:M,limit:f.limit||0,optional:!!f.optional,includeSelf:Y,animation:ee,originalSelector:l.selector,options:ca(l.options)}}visitStagger(l,i){i.currentQuery||i.errors.push(function Vh(){return new o.vHH(3013,!1)}());const u="full"===l.timings?{duration:0,delay:0,easing:"full"}:ja(l.timings,i.errors,!0);return{type:12,animation:Ui(this,Mc(l.animation),i),timings:u,options:null}}}class Wp{constructor(l){this.errors=l,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function ca(a){return a?(a=Pi(a)).params&&(a.params=function zp(a){return a?Pi(a):null}(a.params)):a={},a}function ed(a,l,i){return{duration:a,delay:l,easing:i}}function sf(a,l,i,u,f,M,Y=null,ee=!1){return{type:1,element:a,keyframes:l,preStyleProps:i,postStyleProps:u,duration:f,delay:M,totalTime:f+M,easing:Y,subTimeline:ee}}class Ll{constructor(){this._map=new Map}get(l){return this._map.get(l)||[]}append(l,i){let u=this._map.get(l);u||this._map.set(l,u=[]),u.push(...i)}has(l){return this._map.has(l)}clear(){this._map.clear()}}const Gp=new RegExp(":enter","g"),nd=new RegExp(":leave","g");function za(a,l,i,u,f,M=new Map,Y=new Map,ee,le,xe=[]){return(new Yp).buildKeyframes(a,l,i,u,f,M,Y,ee,le,xe)}class Yp{buildKeyframes(l,i,u,f,M,Y,ee,le,xe,Ke=[]){xe=xe||new Ll;const ut=new od(l,i,xe,f,M,Ke,[]);ut.options=le;const wt=le.delay?Xi(le.delay):0;ut.currentTimeline.delayNextStep(wt),ut.currentTimeline.setStyles([Y],null,ut.errors,le),Ui(this,u,ut);const Nt=ut.timelines.filter(Rt=>Rt.containsAnimation());if(Nt.length&&ee.size){let Rt;for(let Kt=Nt.length-1;Kt>=0;Kt--){const zn=Nt[Kt];if(zn.element===i){Rt=zn;break}}Rt&&!Rt.allowOnlyTimelineStyles()&&Rt.setStyles([ee],null,ut.errors,le)}return Nt.length?Nt.map(Rt=>Rt.buildKeyframes()):[sf(i,[],[],[],0,wt,"",!1)]}visitTrigger(l,i){}visitState(l,i){}visitTransition(l,i){}visitAnimateChild(l,i){const u=i.subInstructions.get(i.element);if(u){const f=i.createSubContext(l.options),M=i.currentTimeline.currentTime,Y=this._visitSubInstructions(u,f,f.options);M!=Y&&i.transformIntoNewTimeline(Y)}i.previousNode=l}visitAnimateRef(l,i){const u=i.createSubContext(l.options);u.transformIntoNewTimeline(),this._applyAnimationRefDelays([l.options,l.animation.options],i,u),this.visitReference(l.animation,u),i.transformIntoNewTimeline(u.currentTimeline.currentTime),i.previousNode=l}_applyAnimationRefDelays(l,i,u){for(const f of l){const M=f?.delay;if(M){const Y="number"==typeof M?M:Xi(Ha(M,f?.params??{},i.errors));u.delayNextStep(Y)}}}_visitSubInstructions(l,i,u){let M=i.currentTimeline.currentTime;const Y=null!=u.duration?Xi(u.duration):null,ee=null!=u.delay?Xi(u.delay):null;return 0!==Y&&l.forEach(le=>{const xe=i.appendInstructionToTimeline(le,Y,ee);M=Math.max(M,xe.duration+xe.delay)}),M}visitReference(l,i){i.updateOptions(l.options,!0),Ui(this,l.animation,i),i.previousNode=l}visitSequence(l,i){const u=i.subContextCount;let f=i;const M=l.options;if(M&&(M.params||M.delay)&&(f=i.createSubContext(M),f.transformIntoNewTimeline(),null!=M.delay)){6==f.previousNode.type&&(f.currentTimeline.snapshotCurrentStyles(),f.previousNode=Ac);const Y=Xi(M.delay);f.delayNextStep(Y)}l.steps.length&&(l.steps.forEach(Y=>Ui(this,Y,f)),f.currentTimeline.applyStylesToKeyframe(),f.subContextCount>u&&f.transformIntoNewTimeline()),i.previousNode=l}visitGroup(l,i){const u=[];let f=i.currentTimeline.currentTime;const M=l.options&&l.options.delay?Xi(l.options.delay):0;l.steps.forEach(Y=>{const ee=i.createSubContext(l.options);M&&ee.delayNextStep(M),Ui(this,Y,ee),f=Math.max(f,ee.currentTimeline.currentTime),u.push(ee.currentTimeline)}),u.forEach(Y=>i.currentTimeline.mergeTimelineCollectedStyles(Y)),i.transformIntoNewTimeline(f),i.previousNode=l}_visitTiming(l,i){if(l.dynamic){const u=l.strValue;return ja(i.params?Ha(u,i.params,i.errors):u,i.errors)}return{duration:l.duration,delay:l.delay,easing:l.easing}}visitAnimate(l,i){const u=i.currentAnimateTimings=this._visitTiming(l.timings,i),f=i.currentTimeline;u.delay&&(i.incrementTime(u.delay),f.snapshotCurrentStyles());const M=l.style;5==M.type?this.visitKeyframes(M,i):(i.incrementTime(u.duration),this.visitStyle(M,i),f.applyStylesToKeyframe()),i.currentAnimateTimings=null,i.previousNode=l}visitStyle(l,i){const u=i.currentTimeline,f=i.currentAnimateTimings;!f&&u.hasCurrentStyleProperties()&&u.forwardFrame();const M=f&&f.easing||l.easing;l.isEmptyStep?u.applyEmptyStep(M):u.setStyles(l.styles,M,i.errors,i.options),i.previousNode=l}visitKeyframes(l,i){const u=i.currentAnimateTimings,f=i.currentTimeline.duration,M=u.duration,ee=i.createSubContext().currentTimeline;ee.easing=u.easing,l.styles.forEach(le=>{ee.forwardTime((le.offset||0)*M),ee.setStyles(le.styles,le.easing,i.errors,i.options),ee.applyStylesToKeyframe()}),i.currentTimeline.mergeTimelineCollectedStyles(ee),i.transformIntoNewTimeline(f+M),i.previousNode=l}visitQuery(l,i){const u=i.currentTimeline.currentTime,f=l.options||{},M=f.delay?Xi(f.delay):0;M&&(6===i.previousNode.type||0==u&&i.currentTimeline.hasCurrentStyleProperties())&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=Ac);let Y=u;const ee=i.invokeQuery(l.selector,l.originalSelector,l.limit,l.includeSelf,!!f.optional,i.errors);i.currentQueryTotal=ee.length;let le=null;ee.forEach((xe,Ke)=>{i.currentQueryIndex=Ke;const ut=i.createSubContext(l.options,xe);M&&ut.delayNextStep(M),xe===i.element&&(le=ut.currentTimeline),Ui(this,l.animation,ut),ut.currentTimeline.applyStylesToKeyframe(),Y=Math.max(Y,ut.currentTimeline.currentTime)}),i.currentQueryIndex=0,i.currentQueryTotal=0,i.transformIntoNewTimeline(Y),le&&(i.currentTimeline.mergeTimelineCollectedStyles(le),i.currentTimeline.snapshotCurrentStyles()),i.previousNode=l}visitStagger(l,i){const u=i.parentContext,f=i.currentTimeline,M=l.timings,Y=Math.abs(M.duration),ee=Y*(i.currentQueryTotal-1);let le=Y*i.currentQueryIndex;switch(M.duration<0?"reverse":M.easing){case"reverse":le=ee-le;break;case"full":le=u.currentStaggerTime}const Ke=i.currentTimeline;le&&Ke.delayNextStep(le);const ut=Ke.currentTime;Ui(this,l.animation,i),i.previousNode=l,u.currentStaggerTime=f.currentTime-ut+(f.startTime-u.currentTimeline.startTime)}}const Ac={};class od{constructor(l,i,u,f,M,Y,ee,le){this._driver=l,this.element=i,this.subInstructions=u,this._enterClassName=f,this._leaveClassName=M,this.errors=Y,this.timelines=ee,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Ac,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=le||new Ic(this._driver,i,0),ee.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(l,i){if(!l)return;const u=l;let f=this.options;null!=u.duration&&(f.duration=Xi(u.duration)),null!=u.delay&&(f.delay=Xi(u.delay));const M=u.params;if(M){let Y=f.params;Y||(Y=this.options.params={}),Object.keys(M).forEach(ee=>{(!i||!Y.hasOwnProperty(ee))&&(Y[ee]=Ha(M[ee],Y,this.errors))})}}_copyOptions(){const l={};if(this.options){const i=this.options.params;if(i){const u=l.params={};Object.keys(i).forEach(f=>{u[f]=i[f]})}}return l}createSubContext(l=null,i,u){const f=i||this.element,M=new od(this._driver,f,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(f,u||0));return M.previousNode=this.previousNode,M.currentAnimateTimings=this.currentAnimateTimings,M.options=this._copyOptions(),M.updateOptions(l),M.currentQueryIndex=this.currentQueryIndex,M.currentQueryTotal=this.currentQueryTotal,M.parentContext=this,this.subContextCount++,M}transformIntoNewTimeline(l){return this.previousNode=Ac,this.currentTimeline=this.currentTimeline.fork(this.element,l),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(l,i,u){const f={duration:i??l.duration,delay:this.currentTimeline.currentTime+(u??0)+l.delay,easing:""},M=new S0(this._driver,l.element,l.keyframes,l.preStyleProps,l.postStyleProps,f,l.stretchStartingKeyframe);return this.timelines.push(M),f}incrementTime(l){this.currentTimeline.forwardTime(this.currentTimeline.duration+l)}delayNextStep(l){l>0&&this.currentTimeline.delayNextStep(l)}invokeQuery(l,i,u,f,M,Y){let ee=[];if(f&&ee.push(this.element),l.length>0){l=(l=l.replace(Gp,"."+this._enterClassName)).replace(nd,"."+this._leaveClassName);let xe=this._driver.query(this.element,l,1!=u);0!==u&&(xe=u<0?xe.slice(xe.length+u,xe.length):xe.slice(0,u)),ee.push(...xe)}return!M&&0==ee.length&&Y.push(function _0(a){return new o.vHH(3014,!1)}()),ee}}class Ic{constructor(l,i,u,f){this._driver=l,this.element=i,this.startTime=u,this._elementTimelineStylesLookup=f,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(i),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(i,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(l){const i=1===this._keyframes.size&&this._pendingStyles.size;this.duration||i?(this.forwardTime(this.currentTime+l),i&&this.snapshotCurrentStyles()):this.startTime+=l}fork(l,i){return this.applyStylesToKeyframe(),new Ic(this._driver,l,i||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(l){this.applyStylesToKeyframe(),this.duration=l,this._loadKeyframe()}_updateStyle(l,i){this._localTimelineStyles.set(l,i),this._globalTimelineStyles.set(l,i),this._styleSummary.set(l,{time:this.currentTime,value:i})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(l){l&&this._previousKeyframe.set("easing",l);for(let[i,u]of this._globalTimelineStyles)this._backFill.set(i,u||At.l3),this._currentKeyframe.set(i,At.l3);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(l,i,u,f){i&&this._previousKeyframe.set("easing",i);const M=f&&f.params||{},Y=function Nc(a,l){const i=new Map;let u;return a.forEach(f=>{if("*"===f){u=u||l.keys();for(let M of u)i.set(M,At.l3)}else Gs(f,i)}),i}(l,this._globalTimelineStyles);for(let[ee,le]of Y){const xe=Ha(le,M,u);this._pendingStyles.set(ee,xe),this._localTimelineStyles.has(ee)||this._backFill.set(ee,this._globalTimelineStyles.get(ee)??At.l3),this._updateStyle(ee,xe)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((l,i)=>{this._currentKeyframe.set(i,l)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((l,i)=>{this._currentKeyframe.has(i)||this._currentKeyframe.set(i,l)}))}snapshotCurrentStyles(){for(let[l,i]of this._localTimelineStyles)this._pendingStyles.set(l,i),this._updateStyle(l,i)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const l=[];for(let i in this._currentKeyframe)l.push(i);return l}mergeTimelineCollectedStyles(l){l._styleSummary.forEach((i,u)=>{const f=this._styleSummary.get(u);(!f||i.time>f.time)&&this._updateStyle(u,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const l=new Set,i=new Set,u=1===this._keyframes.size&&0===this.duration;let f=[];this._keyframes.forEach((ee,le)=>{const xe=Gs(ee,new Map,this._backFill);xe.forEach((Ke,ut)=>{Ke===At.k1?l.add(ut):Ke===At.l3&&i.add(ut)}),u||xe.set("offset",le/this.duration),f.push(xe)});const M=l.size?Rl(l.values()):[],Y=i.size?Rl(i.values()):[];if(u){const ee=f[0],le=new Map(ee);ee.set("offset",0),le.set("offset",1),f=[ee,le]}return sf(this.element,f,M,Y,this.duration,this.startTime,this.easing,!1)}}class S0 extends Ic{constructor(l,i,u,f,M,Y,ee=!1){super(l,i,Y.delay),this.keyframes=u,this.preStyleProps=f,this.postStyleProps=M,this._stretchStartingKeyframe=ee,this.timings={duration:Y.duration,delay:Y.delay,easing:Y.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let l=this.keyframes,{delay:i,duration:u,easing:f}=this.timings;if(this._stretchStartingKeyframe&&i){const M=[],Y=u+i,ee=i/Y,le=Gs(l[0]);le.set("offset",0),M.push(le);const xe=Gs(l[0]);xe.set("offset",cf(ee)),M.push(xe);const Ke=l.length-1;for(let ut=1;ut<=Ke;ut++){let wt=Gs(l[ut]);const Nt=wt.get("offset");wt.set("offset",cf((i+Nt*u)/Y)),M.push(wt)}u=Y,i=0,f="",l=M}return sf(this.element,l,this.preStyleProps,this.postStyleProps,u,i,f,!0)}}function cf(a,l=3){const i=Math.pow(10,l-1);return Math.round(a*i)/i}class Ys{}const Zp=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class lf extends Ys{normalizePropertyName(l,i){return Oc(l)}normalizeStyleValue(l,i,u,f){let M="";const Y=u.toString().trim();if(Zp.has(i)&&0!==u&&"0"!==u)if("number"==typeof u)M="px";else{const ee=u.match(/^[+-]?[\d\.]+([a-z]*)$/);ee&&0==ee[1].length&&f.push(function Tp(a,l){return new o.vHH(3005,!1)}())}return Y+M}}function uf(a,l,i,u,f,M,Y,ee,le,xe,Ke,ut,wt){return{type:0,element:a,triggerName:l,isRemovalTransition:f,fromState:i,fromStyles:M,toState:u,toStyles:Y,timelines:ee,queriedElements:le,preStyleProps:xe,postStyleProps:Ke,totalTime:ut,errors:wt}}const rd={};class df{constructor(l,i,u){this._triggerName=l,this.ast=i,this._stateStyles=u}match(l,i,u,f){return function Qp(a,l,i,u,f){return a.some(M=>M(l,i,u,f))}(this.ast.matchers,l,i,u,f)}buildStyles(l,i,u){let f=this._stateStyles.get("*");return void 0!==l&&(f=this._stateStyles.get(l?.toString())||f),f?f.buildStyles(i,u):new Map}build(l,i,u,f,M,Y,ee,le,xe,Ke){const ut=[],wt=this.ast.options&&this.ast.options.params||rd,Rt=this.buildStyles(u,ee&&ee.params||rd,ut),Kt=le&&le.params||rd,zn=this.buildStyles(f,Kt,ut),Do=new Set,Zn=new Map,xn=new Map,Mo="void"===f,ai={params:id(Kt,wt),delay:this.ast.options?.delay},Eo=Ke?[]:za(l,i,this.ast.animation,M,Y,Rt,zn,ai,xe,ut);let jo=0;if(Eo.forEach(Ho=>{jo=Math.max(Ho.duration+Ho.delay,jo)}),ut.length)return uf(i,this._triggerName,u,f,Mo,Rt,zn,[],[],Zn,xn,jo,ut);Eo.forEach(Ho=>{const Br=Ho.element,ci=Vi(Zn,Br,new Set);Ho.preStyleProps.forEach(Rs=>ci.add(Rs));const Zs=Vi(xn,Br,new Set);Ho.postStyleProps.forEach(Rs=>Zs.add(Rs)),Br!==i&&Do.add(Br)});const Wo=Rl(Do.values());return uf(i,this._triggerName,u,f,Mo,Rt,zn,Eo,Wo,Zn,xn,jo)}}function id(a,l){const i=Pi(l);for(const u in a)a.hasOwnProperty(u)&&null!=a[u]&&(i[u]=a[u]);return i}class Xp{constructor(l,i,u){this.styles=l,this.defaultParams=i,this.normalizer=u}buildStyles(l,i){const u=new Map,f=Pi(this.defaultParams);return Object.keys(l).forEach(M=>{const Y=l[M];null!==Y&&(f[M]=Y)}),this.styles.styles.forEach(M=>{"string"!=typeof M&&M.forEach((Y,ee)=>{Y&&(Y=Ha(Y,f,i));const le=this.normalizer.normalizePropertyName(ee,i);Y=this.normalizer.normalizeStyleValue(ee,le,Y,i),u.set(ee,Y)})}),u}}class hf{constructor(l,i,u){this.name=l,this.ast=i,this._normalizer=u,this.transitionFactories=[],this.states=new Map,i.states.forEach(f=>{this.states.set(f.name,new Xp(f.style,f.options&&f.options.params||{},u))}),ff(this.states,"true","1"),ff(this.states,"false","0"),i.transitions.forEach(f=>{this.transitionFactories.push(new df(l,f,this.states))}),this.fallbackTransition=function Jp(a,l,i){return new df(a,{type:1,animation:{type:2,steps:[],options:null},matchers:[(Y,ee)=>!0],options:null,queryCount:0,depCount:0},l)}(l,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(l,i,u,f){return this.transitionFactories.find(Y=>Y.match(l,i,u,f))||null}matchStyles(l,i,u){return this.fallbackTransition.buildStyles(l,i,u)}}function ff(a,l,i){a.has(l)?a.has(i)||a.set(i,a.get(l)):a.has(i)&&a.set(l,a.get(i))}const gf=new Ll;class qp{constructor(l,i,u){this.bodyNode=l,this._driver=i,this._normalizer=u,this._animations=new Map,this._playersById=new Map,this.players=[]}register(l,i){const u=[],M=Pc(this._driver,i,u,[]);if(u.length)throw function Uh(a){return new o.vHH(3503,!1)}();this._animations.set(l,M)}_buildPlayer(l,i,u){const f=l.element,M=Tl(this._normalizer,l.keyframes,i,u);return this._driver.animate(f,M,l.duration,l.delay,l.easing,[],!0)}create(l,i,u={}){const f=[],M=this._animations.get(l);let Y;const ee=new Map;if(M?(Y=za(this._driver,i,M,bc,Dc,new Map,new Map,u,gf,f),Y.forEach(Ke=>{const ut=Vi(ee,Ke.element,new Map);Ke.postStyleProps.forEach(wt=>ut.set(wt,null))})):(f.push(function Ip(){return new o.vHH(3300,!1)}()),Y=[]),f.length)throw function Np(a){return new o.vHH(3504,!1)}();ee.forEach((Ke,ut)=>{Ke.forEach((wt,Nt)=>{Ke.set(Nt,this._driver.computeStyle(ut,Nt,At.l3))})});const xe=Ws(Y.map(Ke=>{const ut=ee.get(Ke.element);return this._buildPlayer(Ke,new Map,ut)}));return this._playersById.set(l,xe),xe.onDestroy(()=>this.destroy(l)),this.players.push(xe),xe}destroy(l){const i=this._getPlayer(l);i.destroy(),this._playersById.delete(l);const u=this.players.indexOf(i);u>=0&&this.players.splice(u,1)}_getPlayer(l){const i=this._playersById.get(l);if(!i)throw function Rp(a){return new o.vHH(3301,!1)}();return i}listen(l,i,u,f){const M=Wu(i,"","","");return xl(this._getPlayer(l),u,M,f),()=>{}}command(l,i,u,f){if("register"==u)return void this.register(l,f[0]);if("create"==u)return void this.create(l,i,f[0]||{});const M=this._getPlayer(l);switch(u){case"play":M.play();break;case"pause":M.pause();break;case"reset":M.reset();break;case"restart":M.restart();break;case"finish":M.finish();break;case"init":M.init();break;case"setPosition":M.setPosition(parseFloat(f[0]));break;case"destroy":this.destroy(l)}}}const sd="ng-animate-queued",ad="ng-animate-disabled",ds=[],cd={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},P0={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},$i="__ng_removed";class Cs{get params(){return this.options.params}constructor(l,i=""){this.namespaceId=i;const u=l&&l.hasOwnProperty("value");if(this.value=function _f(a){return a??null}(u?l.value:l),u){const M=Pi(l);delete M.value,this.options=M}else this.options={};this.options.params||(this.options.params={})}absorbOptions(l){const i=l.params;if(i){const u=this.options.params;Object.keys(i).forEach(f=>{null==u[f]&&(u[f]=i[f])})}}}const Is="void",ld=new Cs(Is);class t1{constructor(l,i,u){this.id=l,this.hostElement=i,this._engine=u,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+l,qi(i,this._hostClassName)}listen(l,i,u,f){if(!this._triggers.has(i))throw function kp(a,l){return new o.vHH(3302,!1)}();if(null==u||0==u.length)throw function $h(a){return new o.vHH(3303,!1)}();if(!function A0(a){return"start"==a||"done"==a}(u))throw function Sl(a,l){return new o.vHH(3400,!1)}();const M=Vi(this._elementListeners,l,[]),Y={name:i,phase:u,callback:f};M.push(Y);const ee=Vi(this._engine.statesByElement,l,new Map);return ee.has(i)||(qi(l,Ec),qi(l,Ec+"-"+i),ee.set(i,ld)),()=>{this._engine.afterFlush(()=>{const le=M.indexOf(Y);le>=0&&M.splice(le,1),this._triggers.has(i)||ee.delete(i)})}}register(l,i){return!this._triggers.has(l)&&(this._triggers.set(l,i),!0)}_getTrigger(l){const i=this._triggers.get(l);if(!i)throw function zh(a){return new o.vHH(3401,!1)}();return i}trigger(l,i,u,f=!0){const M=this._getTrigger(i),Y=new Rc(this.id,i,l);let ee=this._engine.statesByElement.get(l);ee||(qi(l,Ec),qi(l,Ec+"-"+i),this._engine.statesByElement.set(l,ee=new Map));let le=ee.get(i);const xe=new Cs(u,this.id);if(!(u&&u.hasOwnProperty("value"))&&le&&xe.absorbOptions(le.options),ee.set(i,xe),le||(le=ld),xe.value!==Is&&le.value===xe.value){if(!function o1(a,l){const i=Object.keys(a),u=Object.keys(l);if(i.length!=u.length)return!1;for(let f=0;f{Ji(l,zn),us(l,Do)})}return}const wt=Vi(this._engine.playersByElement,l,[]);wt.forEach(Kt=>{Kt.namespaceId==this.id&&Kt.triggerName==i&&Kt.queued&&Kt.destroy()});let Nt=M.matchTransition(le.value,xe.value,l,xe.params),Rt=!1;if(!Nt){if(!f)return;Nt=M.fallbackTransition,Rt=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:l,triggerName:i,transition:Nt,fromState:le,toState:xe,player:Y,isFallbackTransition:Rt}),Rt||(qi(l,sd),Y.onStart(()=>{Wa(l,sd)})),Y.onDone(()=>{let Kt=this.players.indexOf(Y);Kt>=0&&this.players.splice(Kt,1);const zn=this._engine.playersByElement.get(l);if(zn){let Do=zn.indexOf(Y);Do>=0&&zn.splice(Do,1)}}),this.players.push(Y),wt.push(Y),Y}deregister(l){this._triggers.delete(l),this._engine.statesByElement.forEach(i=>i.delete(l)),this._elementListeners.forEach((i,u)=>{this._elementListeners.set(u,i.filter(f=>f.name!=l))})}clearElementCache(l){this._engine.statesByElement.delete(l),this._elementListeners.delete(l);const i=this._engine.playersByElement.get(l);i&&(i.forEach(u=>u.destroy()),this._engine.playersByElement.delete(l))}_signalRemovalForInnerTriggers(l,i){const u=this._engine.driver.query(l,ys,!0);u.forEach(f=>{if(f[$i])return;const M=this._engine.fetchNamespacesByElement(f);M.size?M.forEach(Y=>Y.triggerLeaveAnimation(f,i,!1,!0)):this.clearElementCache(f)}),this._engine.afterFlushAnimationsDone(()=>u.forEach(f=>this.clearElementCache(f)))}triggerLeaveAnimation(l,i,u,f){const M=this._engine.statesByElement.get(l),Y=new Map;if(M){const ee=[];if(M.forEach((le,xe)=>{if(Y.set(xe,le.value),this._triggers.has(xe)){const Ke=this.trigger(l,xe,Is,f);Ke&&ee.push(Ke)}}),ee.length)return this._engine.markElementAsRemoved(this.id,l,!0,i,Y),u&&Ws(ee).onDone(()=>this._engine.processLeaveNode(l)),!0}return!1}prepareLeaveAnimationListeners(l){const i=this._elementListeners.get(l),u=this._engine.statesByElement.get(l);if(i&&u){const f=new Set;i.forEach(M=>{const Y=M.name;if(f.has(Y))return;f.add(Y);const le=this._triggers.get(Y).fallbackTransition,xe=u.get(Y)||ld,Ke=new Cs(Is),ut=new Rc(this.id,Y,l);this._engine.totalQueuedPlayers++,this._queue.push({element:l,triggerName:Y,transition:le,fromState:xe,toState:Ke,player:ut,isFallbackTransition:!0})})}}removeNode(l,i){const u=this._engine;if(l.childElementCount&&this._signalRemovalForInnerTriggers(l,i),this.triggerLeaveAnimation(l,i,!0))return;let f=!1;if(u.totalAnimations){const M=u.players.length?u.playersByQueriedElement.get(l):[];if(M&&M.length)f=!0;else{let Y=l;for(;Y=Y.parentNode;)if(u.statesByElement.get(Y)){f=!0;break}}}if(this.prepareLeaveAnimationListeners(l),f)u.markElementAsRemoved(this.id,l,!1,i);else{const M=l[$i];(!M||M===cd)&&(u.afterFlush(()=>this.clearElementCache(l)),u.destroyInnerAnimations(l),u._onRemovalComplete(l,i))}}insertNode(l,i){qi(l,this._hostClassName)}drainQueuedTransitions(l){const i=[];return this._queue.forEach(u=>{const f=u.player;if(f.destroyed)return;const M=u.element,Y=this._elementListeners.get(M);Y&&Y.forEach(ee=>{if(ee.name==u.triggerName){const le=Wu(M,u.triggerName,u.fromState.value,u.toState.value);le._data=l,xl(u.player,ee.phase,le,ee.callback)}}),f.markedForDestroy?this._engine.afterFlush(()=>{f.destroy()}):i.push(u)}),this._queue=[],i.sort((u,f)=>{const M=u.transition.ast.depCount,Y=f.transition.ast.depCount;return 0==M||0==Y?M-Y:this._engine.driver.containsElement(u.element,f.element)?1:-1})}destroy(l){this.players.forEach(i=>i.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,l)}}class n1{_onRemovalComplete(l,i){this.onRemovalComplete(l,i)}constructor(l,i,u){this.bodyNode=l,this.driver=i,this._normalizer=u,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(f,M)=>{}}get queuedPlayers(){const l=[];return this._namespaceList.forEach(i=>{i.players.forEach(u=>{u.queued&&l.push(u)})}),l}createNamespace(l,i){const u=new t1(l,i,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,i)?this._balanceNamespaceList(u,i):(this.newHostElements.set(i,u),this.collectEnterElement(i)),this._namespaceLookup[l]=u}_balanceNamespaceList(l,i){const u=this._namespaceList,f=this.namespacesByHostElement;if(u.length-1>=0){let Y=!1,ee=this.driver.getParentElement(i);for(;ee;){const le=f.get(ee);if(le){const xe=u.indexOf(le);u.splice(xe+1,0,l),Y=!0;break}ee=this.driver.getParentElement(ee)}Y||u.unshift(l)}else u.push(l);return f.set(i,l),l}register(l,i){let u=this._namespaceLookup[l];return u||(u=this.createNamespace(l,i)),u}registerTrigger(l,i,u){let f=this._namespaceLookup[l];f&&f.register(i,u)&&this.totalAnimations++}destroy(l,i){l&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{const u=this._fetchNamespace(l);this.namespacesByHostElement.delete(u.hostElement);const f=this._namespaceList.indexOf(u);f>=0&&this._namespaceList.splice(f,1),u.destroy(i),delete this._namespaceLookup[l]}))}_fetchNamespace(l){return this._namespaceLookup[l]}fetchNamespacesByElement(l){const i=new Set,u=this.statesByElement.get(l);if(u)for(let f of u.values())if(f.namespaceId){const M=this._fetchNamespace(f.namespaceId);M&&i.add(M)}return i}trigger(l,i,u,f){if(Vl(i)){const M=this._fetchNamespace(l);if(M)return M.trigger(i,u,f),!0}return!1}insertNode(l,i,u,f){if(!Vl(i))return;const M=i[$i];if(M&&M.setForRemoval){M.setForRemoval=!1,M.setForMove=!0;const Y=this.collectedLeaveElements.indexOf(i);Y>=0&&this.collectedLeaveElements.splice(Y,1)}if(l){const Y=this._fetchNamespace(l);Y&&Y.insertNode(i,u)}f&&this.collectEnterElement(i)}collectEnterElement(l){this.collectedEnterElements.push(l)}markElementAsDisabled(l,i){i?this.disabledNodes.has(l)||(this.disabledNodes.add(l),qi(l,ad)):this.disabledNodes.has(l)&&(this.disabledNodes.delete(l),Wa(l,ad))}removeNode(l,i,u){if(Vl(i)){const f=l?this._fetchNamespace(l):null;f?f.removeNode(i,u):this.markElementAsRemoved(l,i,!1,u);const M=this.namespacesByHostElement.get(i);M&&M.id!==l&&M.removeNode(i,u)}else this._onRemovalComplete(i,u)}markElementAsRemoved(l,i,u,f,M){this.collectedLeaveElements.push(i),i[$i]={namespaceId:l,setForRemoval:f,hasAnimation:u,removedBeforeQueried:!1,previousTriggersValues:M}}listen(l,i,u,f,M){return Vl(i)?this._fetchNamespace(l).listen(i,u,f,M):()=>{}}_buildInstruction(l,i,u,f,M){return l.transition.build(this.driver,l.element,l.fromState.value,l.toState.value,u,f,l.fromState.options,l.toState.options,i,M)}destroyInnerAnimations(l){let i=this.driver.query(l,ys,!0);i.forEach(u=>this.destroyActiveAnimationsForElement(u)),0!=this.playersByQueriedElement.size&&(i=this.driver.query(l,wc,!0),i.forEach(u=>this.finishActiveQueriedAnimationOnElement(u)))}destroyActiveAnimationsForElement(l){const i=this.playersByElement.get(l);i&&i.forEach(u=>{u.queued?u.markedForDestroy=!0:u.destroy()})}finishActiveQueriedAnimationOnElement(l){const i=this.playersByQueriedElement.get(l);i&&i.forEach(u=>u.finish())}whenRenderingDone(){return new Promise(l=>{if(this.players.length)return Ws(this.players).onDone(()=>l());l()})}processLeaveNode(l){const i=l[$i];if(i&&i.setForRemoval){if(l[$i]=cd,i.namespaceId){this.destroyInnerAnimations(l);const u=this._fetchNamespace(i.namespaceId);u&&u.clearElementCache(l)}this._onRemovalComplete(l,i.setForRemoval)}l.classList?.contains(ad)&&this.markElementAsDisabled(l,!1),this.driver.query(l,".ng-animate-disabled",!0).forEach(u=>{this.markElementAsDisabled(u,!1)})}flush(l=-1){let i=[];if(this.newHostElements.size&&(this.newHostElements.forEach((u,f)=>this._balanceNamespaceList(u,f)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let u=0;uu()),this._flushFns=[],this._whenQuietFns.length){const u=this._whenQuietFns;this._whenQuietFns=[],i.length?Ws(i).onDone(()=>{u.forEach(f=>f())}):u.forEach(f=>f())}}reportError(l){throw function $u(a){return new o.vHH(3402,!1)}()}_flushAnimations(l,i){const u=new Ll,f=[],M=new Map,Y=[],ee=new Map,le=new Map,xe=new Map,Ke=new Set;this.disabledNodes.forEach(rn=>{Ke.add(rn);const En=this.driver.query(rn,".ng-animate-queued",!0);for(let An=0;An{const An=bc+Kt++;Rt.set(En,An),rn.forEach(yo=>qi(yo,An))});const zn=[],Do=new Set,Zn=new Set;for(let rn=0;rnDo.add(yo)):Zn.add(En))}const xn=new Map,Mo=Ul(wt,Array.from(Do));Mo.forEach((rn,En)=>{const An=Dc+Kt++;xn.set(En,An),rn.forEach(yo=>qi(yo,An))}),l.push(()=>{Nt.forEach((rn,En)=>{const An=Rt.get(En);rn.forEach(yo=>Wa(yo,An))}),Mo.forEach((rn,En)=>{const An=xn.get(En);rn.forEach(yo=>Wa(yo,An))}),zn.forEach(rn=>{this.processLeaveNode(rn)})});const ai=[],Eo=[];for(let rn=this._namespaceList.length-1;rn>=0;rn--)this._namespaceList[rn].drainQueuedTransitions(i).forEach(An=>{const yo=An.player,Nr=An.element;if(ai.push(yo),this.collectedEnterElements.length){const li=Nr[$i];if(li&&li.setForMove){if(li.previousTriggersValues&&li.previousTriggersValues.has(An.triggerName)){const ua=li.previousTriggersValues.get(An.triggerName),vr=this.statesByElement.get(An.element);if(vr&&vr.has(An.triggerName)){const Ya=vr.get(An.triggerName);Ya.value=ua,vr.set(An.triggerName,Ya)}}return void yo.destroy()}}const Ds=!ut||!this.driver.containsElement(ut,Nr),zi=xn.get(Nr),Es=Rt.get(Nr),sr=this._buildInstruction(An,u,Es,zi,Ds);if(sr.errors&&sr.errors.length)return void Eo.push(sr);if(Ds)return yo.onStart(()=>Ji(Nr,sr.fromStyles)),yo.onDestroy(()=>us(Nr,sr.toStyles)),void f.push(yo);if(An.isFallbackTransition)return yo.onStart(()=>Ji(Nr,sr.fromStyles)),yo.onDestroy(()=>us(Nr,sr.toStyles)),void f.push(yo);const Sf=[];sr.timelines.forEach(li=>{li.stretchStartingKeyframe=!0,this.disabledNodes.has(li.element)||Sf.push(li)}),sr.timelines=Sf,u.append(Nr,sr.timelines),Y.push({instruction:sr,player:yo,element:Nr}),sr.queriedElements.forEach(li=>Vi(ee,li,[]).push(yo)),sr.preStyleProps.forEach((li,ua)=>{if(li.size){let vr=le.get(ua);vr||le.set(ua,vr=new Set),li.forEach((Ya,pd)=>vr.add(pd))}}),sr.postStyleProps.forEach((li,ua)=>{let vr=xe.get(ua);vr||xe.set(ua,vr=new Set),li.forEach((Ya,pd)=>vr.add(pd))})});if(Eo.length){const rn=[];Eo.forEach(En=>{rn.push(function sa(a,l){return new o.vHH(3505,!1)}())}),ai.forEach(En=>En.destroy()),this.reportError(rn)}const jo=new Map,Wo=new Map;Y.forEach(rn=>{const En=rn.element;u.has(En)&&(Wo.set(En,En),this._beforeAnimationBuild(rn.player.namespaceId,rn.instruction,jo))}),f.forEach(rn=>{const En=rn.element;this._getPreviousPlayers(En,!1,rn.namespaceId,rn.triggerName,null).forEach(yo=>{Vi(jo,En,[]).push(yo),yo.destroy()})});const Ho=zn.filter(rn=>hd(rn,le,xe)),Br=new Map;vf(Br,this.driver,Zn,xe,At.l3).forEach(rn=>{hd(rn,le,xe)&&Ho.push(rn)});const Zs=new Map;Nt.forEach((rn,En)=>{vf(Zs,this.driver,new Set(rn),le,At.k1)}),Ho.forEach(rn=>{const En=Br.get(rn),An=Zs.get(rn);Br.set(rn,new Map([...En?.entries()??[],...An?.entries()??[]]))});const Rs=[],ks=[],hs={};Y.forEach(rn=>{const{element:En,player:An,instruction:yo}=rn;if(u.has(En)){if(Ke.has(En))return An.onDestroy(()=>us(En,yo.toStyles)),An.disabled=!0,An.overrideTotalTime(yo.totalTime),void f.push(An);let Nr=hs;if(Wo.size>1){let zi=En;const Es=[];for(;zi=zi.parentNode;){const sr=Wo.get(zi);if(sr){Nr=sr;break}Es.push(zi)}Es.forEach(sr=>Wo.set(sr,Nr))}const Ds=this._buildAnimation(An.namespaceId,yo,jo,M,Zs,Br);if(An.setRealPlayer(Ds),Nr===hs)Rs.push(An);else{const zi=this.playersByElement.get(Nr);zi&&zi.length&&(An.parentPlayer=Ws(zi)),f.push(An)}}else Ji(En,yo.fromStyles),An.onDestroy(()=>us(En,yo.toStyles)),ks.push(An),Ke.has(En)&&f.push(An)}),ks.forEach(rn=>{const En=M.get(rn.element);if(En&&En.length){const An=Ws(En);rn.setRealPlayer(An)}}),f.forEach(rn=>{rn.parentPlayer?rn.syncPlayerEvents(rn.parentPlayer):rn.destroy()});for(let rn=0;rn!Ds.destroyed);Nr.length?ud(this,En,Nr):this.processLeaveNode(En)}return zn.length=0,Rs.forEach(rn=>{this.players.push(rn),rn.onDone(()=>{rn.destroy();const En=this.players.indexOf(rn);this.players.splice(En,1)}),rn.play()}),Rs}afterFlush(l){this._flushFns.push(l)}afterFlushAnimationsDone(l){this._whenQuietFns.push(l)}_getPreviousPlayers(l,i,u,f,M){let Y=[];if(i){const ee=this.playersByQueriedElement.get(l);ee&&(Y=ee)}else{const ee=this.playersByElement.get(l);if(ee){const le=!M||M==Is;ee.forEach(xe=>{xe.queued||!le&&xe.triggerName!=f||Y.push(xe)})}}return(u||f)&&(Y=Y.filter(ee=>!(u&&u!=ee.namespaceId||f&&f!=ee.triggerName))),Y}_beforeAnimationBuild(l,i,u){const M=i.element,Y=i.isRemovalTransition?void 0:l,ee=i.isRemovalTransition?void 0:i.triggerName;for(const le of i.timelines){const xe=le.element,Ke=xe!==M,ut=Vi(u,xe,[]);this._getPreviousPlayers(xe,Ke,Y,ee,i.toState).forEach(Nt=>{const Rt=Nt.getRealPlayer();Rt.beforeDestroy&&Rt.beforeDestroy(),Nt.destroy(),ut.push(Nt)})}Ji(M,i.fromStyles)}_buildAnimation(l,i,u,f,M,Y){const ee=i.triggerName,le=i.element,xe=[],Ke=new Set,ut=new Set,wt=i.timelines.map(Rt=>{const Kt=Rt.element;Ke.add(Kt);const zn=Kt[$i];if(zn&&zn.removedBeforeQueried)return new At.ZN(Rt.duration,Rt.delay);const Do=Kt!==le,Zn=function yf(a){const l=[];return dd(a,l),l}((u.get(Kt)||ds).map(jo=>jo.getRealPlayer())).filter(jo=>!!jo.element&&jo.element===Kt),xn=M.get(Kt),Mo=Y.get(Kt),ai=Tl(this._normalizer,Rt.keyframes,xn,Mo),Eo=this._buildPlayer(Rt,ai,Zn);if(Rt.subTimeline&&f&&ut.add(Kt),Do){const jo=new Rc(l,ee,Kt);jo.setRealPlayer(Eo),xe.push(jo)}return Eo});xe.forEach(Rt=>{Vi(this.playersByQueriedElement,Rt.element,[]).push(Rt),Rt.onDone(()=>function bs(a,l,i){let u=a.get(l);if(u){if(u.length){const f=u.indexOf(i);u.splice(f,1)}0==u.length&&a.delete(l)}return u}(this.playersByQueriedElement,Rt.element,Rt))}),Ke.forEach(Rt=>qi(Rt,Xh));const Nt=Ws(wt);return Nt.onDestroy(()=>{Ke.forEach(Rt=>Wa(Rt,Xh)),us(le,i.toStyles)}),ut.forEach(Rt=>{Vi(f,Rt,[]).push(Nt)}),Nt}_buildPlayer(l,i,u){return i.length>0?this.driver.animate(l.element,i,l.duration,l.delay,l.easing,u):new At.ZN(l.duration,l.delay)}}class Rc{constructor(l,i,u){this.namespaceId=l,this.triggerName=i,this.element=u,this._player=new At.ZN,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(l){this._containsRealPlayer||(this._player=l,this._queuedCallbacks.forEach((i,u)=>{i.forEach(f=>xl(l,u,void 0,f))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(l.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(l){this.totalTime=l}syncPlayerEvents(l){const i=this._player;i.triggerCallback&&l.onStart(()=>i.triggerCallback("start")),l.onDone(()=>this.finish()),l.onDestroy(()=>this.destroy())}_queueEvent(l,i){Vi(this._queuedCallbacks,l,[]).push(i)}onDone(l){this.queued&&this._queueEvent("done",l),this._player.onDone(l)}onStart(l){this.queued&&this._queueEvent("start",l),this._player.onStart(l)}onDestroy(l){this.queued&&this._queueEvent("destroy",l),this._player.onDestroy(l)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(l){this.queued||this._player.setPosition(l)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(l){const i=this._player;i.triggerCallback&&i.triggerCallback(l)}}function Vl(a){return a&&1===a.nodeType}function Ir(a,l){const i=a.style.display;return a.style.display=l??"none",i}function vf(a,l,i,u,f){const M=[];i.forEach(le=>M.push(Ir(le)));const Y=[];u.forEach((le,xe)=>{const Ke=new Map;le.forEach(ut=>{const wt=l.computeStyle(xe,ut,f);Ke.set(ut,wt),(!wt||0==wt.length)&&(xe[$i]=P0,Y.push(xe))}),a.set(xe,Ke)});let ee=0;return i.forEach(le=>Ir(le,M[ee++])),Y}function Ul(a,l){const i=new Map;if(a.forEach(ee=>i.set(ee,[])),0==l.length)return i;const f=new Set(l),M=new Map;function Y(ee){if(!ee)return 1;let le=M.get(ee);if(le)return le;const xe=ee.parentNode;return le=i.has(xe)?xe:f.has(xe)?1:Y(xe),M.set(ee,le),le}return l.forEach(ee=>{const le=Y(ee);1!==le&&i.get(le).push(ee)}),i}function qi(a,l){a.classList?.add(l)}function Wa(a,l){a.classList?.remove(l)}function ud(a,l,i){Ws(i).onDone(()=>a.processLeaveNode(l))}function dd(a,l){for(let i=0;if.add(M)):l.set(a,u),i.delete(a),!0}class kc{constructor(l,i,u){this.bodyNode=l,this._driver=i,this._normalizer=u,this._triggerCache={},this.onRemovalComplete=(f,M)=>{},this._transitionEngine=new n1(l,i,u),this._timelineEngine=new qp(l,i,u),this._transitionEngine.onRemovalComplete=(f,M)=>this.onRemovalComplete(f,M)}registerTrigger(l,i,u,f,M){const Y=l+"-"+f;let ee=this._triggerCache[Y];if(!ee){const le=[],Ke=Pc(this._driver,M,le,[]);if(le.length)throw function C0(a,l){return new o.vHH(3404,!1)}();ee=function Hl(a,l,i){return new hf(a,l,i)}(f,Ke,this._normalizer),this._triggerCache[Y]=ee}this._transitionEngine.registerTrigger(i,f,ee)}register(l,i){this._transitionEngine.register(l,i)}destroy(l,i){this._transitionEngine.destroy(l,i)}onInsert(l,i,u,f){this._transitionEngine.insertNode(l,i,u,f)}onRemove(l,i,u){this._transitionEngine.removeNode(l,i,u)}disableAnimations(l,i){this._transitionEngine.markElementAsDisabled(l,i)}process(l,i,u,f){if("@"==u.charAt(0)){const[M,Y]=Gh(u);this._timelineEngine.command(M,i,Y,f)}else this._transitionEngine.trigger(l,i,u,f)}listen(l,i,u,f,M){if("@"==u.charAt(0)){const[Y,ee]=Gh(u);return this._timelineEngine.listen(Y,i,ee,M)}return this._transitionEngine.listen(l,i,u,f,M)}flush(l=-1){this._transitionEngine.flush(l)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(l){this._transitionEngine.afterFlushAnimationsDone(l)}}let s1=(()=>{class a{static#e=this.initialStylesByElement=new WeakMap;constructor(i,u,f){this._element=i,this._startStyles=u,this._endStyles=f,this._state=0;let M=a.initialStylesByElement.get(i);M||a.initialStylesByElement.set(i,M=new Map),this._initialStyles=M}start(){this._state<1&&(this._startStyles&&us(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(us(this._element,this._initialStyles),this._endStyles&&(us(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(a.initialStylesByElement.delete(this._element),this._startStyles&&(Ji(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Ji(this._element,this._endStyles),this._endStyles=null),us(this._element,this._initialStyles),this._state=3)}}return a})();function $l(a){let l=null;return a.forEach((i,u)=>{(function Cf(a){return"display"===a||"position"===a})(u)&&(l=l||new Map,l.set(u,i))}),l}class la{constructor(l,i,u,f){this.element=l,this.keyframes=i,this.options=u,this._specialStyles=f,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=u.duration,this._delay=u.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(l=>l()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const l=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,l,this.options),this._finalKeyframe=l.length?l[l.length-1]:new Map;const i=()=>this._onFinish();this.domPlayer.addEventListener("finish",i),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",i)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(l){const i=[];return l.forEach(u=>{i.push(Object.fromEntries(u))}),i}_triggerWebAnimation(l,i,u){return l.animate(this._convertKeyframesToObject(i),u)}onStart(l){this._originalOnStartFns.push(l),this._onStartFns.push(l)}onDone(l){this._originalOnDoneFns.push(l),this._onDoneFns.push(l)}onDestroy(l){this._onDestroyFns.push(l)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(l=>l()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(l=>l()),this._onDestroyFns=[])}setPosition(l){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=l*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const l=new Map;this.hasStarted()&&this._finalKeyframe.forEach((u,f)=>{"offset"!==f&&l.set(f,this._finished?u:Up(this.element,f))}),this.currentSnapshot=l}triggerCallback(l){const i="start"===l?this._onStartFns:this._onDoneFns;i.forEach(u=>u()),i.length=0}}class Ns{validateStyleProperty(l){return!0}validateAnimatableStyleProperty(l){return!0}matchesElement(l,i){return!1}containsElement(l,i){return Pl(l,i)}getParentElement(l){return Zh(l)}query(l,i,u){return Qh(l,i,u)}computeStyle(l,i,u){return window.getComputedStyle(l)[i]}animate(l,i,u,f,M,Y=[]){const le={duration:u,delay:f,fill:0==f?"both":"forwards"};M&&(le.easing=M);const xe=new Map,Ke=Y.filter(Nt=>Nt instanceof la);(function Hp(a,l){return 0===a||0===l})(u,f)&&Ke.forEach(Nt=>{Nt.currentSnapshot.forEach((Rt,Kt)=>xe.set(Kt,Rt))});let ut=function Ku(a){return a.length?a[0]instanceof Map?a:a.map(l=>aa(l)):[]}(i).map(Nt=>Gs(Nt));ut=function Vp(a,l,i){if(i.size&&l.length){let u=l[0],f=[];if(i.forEach((M,Y)=>{u.has(Y)||f.push(Y),u.set(Y,M)}),f.length)for(let M=1;MY.set(ee,Up(a,ee)))}}return l}(l,ut,xe);const wt=function r1(a,l){let i=null,u=null;return Array.isArray(l)&&l.length?(i=$l(l[0]),l.length>1&&(u=$l(l[l.length-1]))):l instanceof Map&&(i=$l(l)),i||u?new s1(a,i,u):null}(l,ut);return new la(l,ut,le,wt)}}let Ga=(()=>{class a extends At._j{constructor(i,u){super(),this._nextAnimationId=0,this._renderer=i.createRenderer(u.body,{id:"0",encapsulation:o.ifc.None,styles:[],data:{animation:[]}})}build(i){const u=this._nextAnimationId.toString();this._nextAnimationId++;const f=Array.isArray(i)?(0,At.vP)(i):i;return fd(this._renderer,null,u,"register",[f]),new a1(u,this._renderer)}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(o.FYo),o.LFG(m.K0))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac})}return a})();class a1 extends At.LC{constructor(l,i){super(),this._id=l,this._renderer=i}create(l,i){return new c1(this._id,l,i||{},this._renderer)}}class c1{constructor(l,i,u,f){this.id=l,this.element=i,this._renderer=f,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",u)}_listen(l,i){return this._renderer.listen(this.element,`@@${this.id}:${l}`,i)}_command(l,...i){return fd(this._renderer,this.element,this.id,l,i)}onDone(l){this._listen("done",l)}onStart(l){this._listen("start",l)}onDestroy(l){this._listen("destroy",l)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(l){this._command("setPosition",l)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function fd(a,l,i,u,f){return a.setProperty(l,`@@${i}:${u}`,f)}const zl="@.disabled";let Lc=(()=>{class a{constructor(i,u,f){this.delegate=i,this.engine=u,this._zone=f,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,u.onRemovalComplete=(M,Y)=>{const ee=Y?.parentNode(M);ee&&Y.removeChild(ee,M)}}createRenderer(i,u){const M=this.delegate.createRenderer(i,u);if(!(i&&u&&u.data&&u.data.animation)){let Ke=this._rendererCache.get(M);return Ke||(Ke=new Bc("",M,this.engine,()=>this._rendererCache.delete(M)),this._rendererCache.set(M,Ke)),Ke}const Y=u.id,ee=u.id+"-"+this._currentId;this._currentId++,this.engine.register(ee,i);const le=Ke=>{Array.isArray(Ke)?Ke.forEach(le):this.engine.registerTrigger(Y,ee,i,Ke.name,Ke)};return u.data.animation.forEach(le),new bf(this,ee,M,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(i,u,f){i>=0&&iu(f)):(0==this._animationCallbacksBuffer.length&&queueMicrotask(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(M=>{const[Y,ee]=M;Y(ee)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([u,f]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(o.FYo),o.LFG(kc),o.LFG(o.R0b))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac})}return a})();class Bc{constructor(l,i,u,f){this.namespaceId=l,this.delegate=i,this.engine=u,this._onDestroy=f}get data(){return this.delegate.data}destroyNode(l){this.delegate.destroyNode?.(l)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(l,i){return this.delegate.createElement(l,i)}createComment(l){return this.delegate.createComment(l)}createText(l){return this.delegate.createText(l)}appendChild(l,i){this.delegate.appendChild(l,i),this.engine.onInsert(this.namespaceId,i,l,!1)}insertBefore(l,i,u,f=!0){this.delegate.insertBefore(l,i,u),this.engine.onInsert(this.namespaceId,i,l,f)}removeChild(l,i,u){this.engine.onRemove(this.namespaceId,i,this.delegate)}selectRootElement(l,i){return this.delegate.selectRootElement(l,i)}parentNode(l){return this.delegate.parentNode(l)}nextSibling(l){return this.delegate.nextSibling(l)}setAttribute(l,i,u,f){this.delegate.setAttribute(l,i,u,f)}removeAttribute(l,i,u){this.delegate.removeAttribute(l,i,u)}addClass(l,i){this.delegate.addClass(l,i)}removeClass(l,i){this.delegate.removeClass(l,i)}setStyle(l,i,u,f){this.delegate.setStyle(l,i,u,f)}removeStyle(l,i,u){this.delegate.removeStyle(l,i,u)}setProperty(l,i,u){"@"==i.charAt(0)&&i==zl?this.disableAnimations(l,!!u):this.delegate.setProperty(l,i,u)}setValue(l,i){this.delegate.setValue(l,i)}listen(l,i,u){return this.delegate.listen(l,i,u)}disableAnimations(l,i){this.engine.disableAnimations(l,i)}}class bf extends Bc{constructor(l,i,u,f,M){super(i,u,f,M),this.factory=l,this.namespaceId=i}setProperty(l,i,u){"@"==i.charAt(0)?"."==i.charAt(1)&&i==zl?this.disableAnimations(l,u=void 0===u||!!u):this.engine.process(this.namespaceId,l,i.slice(1),u):this.delegate.setProperty(l,i,u)}listen(l,i,u){if("@"==i.charAt(0)){const f=function Df(a){switch(a){case"body":return document.body;case"document":return document;case"window":return window;default:return a}}(l);let M=i.slice(1),Y="";return"@"!=M.charAt(0)&&([M,Y]=function l1(a){const l=a.indexOf(".");return[a.substring(0,l),a.slice(l+1)]}(M)),this.engine.listen(this.namespaceId,f,M,Y,ee=>{this.factory.scheduleListenerCallback(ee._data||-1,u,ee)})}return this.delegate.listen(l,i,u)}}const gd=[{provide:At._j,useClass:Ga},{provide:Ys,useFactory:function d1(){return new lf}},{provide:kc,useClass:(()=>{class a extends kc{constructor(i,u,f,M){super(i.body,u,f)}ngOnDestroy(){this.flush()}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(m.K0),o.LFG(Ba),o.LFG(Ys),o.LFG(o.z2F))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac})}return a})()},{provide:o.FYo,useFactory:function h1(a,l,i){return new Lc(a,l,i)},deps:[s.se,kc,o.R0b]}],I0=[{provide:Ba,useFactory:()=>new Ns},{provide:o.QbO,useValue:"BrowserAnimations"},...gd];function N0(){return[...I0]}const R0=[];let Wl=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275mod=o.oAB({type:a});static#n=this.\u0275inj=o.cJS({imports:[Jo.Bz.forRoot(R0),Jo.Bz]})}return a})();const Ef=()=>(0,At.X$)("routingAnimation",[(0,At.eR)("* <=> *",[(0,At.oB)({position:"relative"}),(0,At.IO)(":enter, :leave",[(0,At.oB)({position:"absolute",top:0,left:0,width:"100%"})],{optional:!0}),(0,At.IO)(":enter",[(0,At.oB)({opacity:0})],{optional:!0}),(0,At.IO)(":leave",(0,At.pV)(),{optional:!0}),(0,At.ru)([(0,At.IO)(":leave",[(0,At.jt)("200ms ease-out",(0,At.oB)({opacity:0}))],{optional:!0}),(0,At.IO)(":enter",[(0,At.jt)("300ms ease-out",(0,At.oB)({opacity:1}))],{optional:!0}),(0,At.IO)("@*",(0,At.pV)(),{optional:!0})])])]);function wf(a,l){1&a&&(o.TgZ(0,"div",3)(1,"a",4),o._UZ(2,"img",5),o.qZA(),o.TgZ(3,"h3",6),o._uU(4,"ngx-vflow"),o.qZA()())}function m1(a,l){1&a&&(o.TgZ(0,"div",7)(1,"a",8),o._UZ(2,"ng-doc-icon",9),o.qZA()()),2&a&&(o.xp6(2),o.Q6J("size",24))}let Mf=(()=>{class a{constructor(){this.contexts=(0,o.f3M)(Jo.y6),this.themeService=(0,o.f3M)(Ge),this.themeService.set("vflow-theme-dark")}getRouteAnimationData(){return this.contexts.getContext("primary")?.route?.snapshot?.title}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["app-root"]],decls:9,vars:3,consts:[[3,"leftContent","rightContent"],["leftContent",""],["rightContent",""],[1,"logo-container"],["href","https://github.com/artem-mangilev/ngx-vflow"],["src","../assets/logo.svg",1,"logo-icon"],[1,"logo-text"],[1,"ng-doc-header-controls"],["href","https://github.com/artem-mangilev/ngx-vflow","ng-doc-button-icon","","ngDocTooltip","Repository on GitHub","size","large","target","_blank"],["customIcon","github",3,"size"]],template:function(u,f){if(1&u&&(o.TgZ(0,"ng-doc-root")(1,"ng-doc-navbar",0),o.YNc(2,wf,5,0,"ng-template",null,1,o.W1O),o.YNc(4,m1,3,1,"ng-template",null,2,o.W1O),o.qZA(),o._UZ(6,"ng-doc-sidebar"),o.TgZ(7,"div"),o._UZ(8,"router-outlet"),o.qZA()()),2&u){const M=o.MAs(3),Y=o.MAs(5);o.xp6(1),o.Q6J("leftContent",M)("rightContent",Y),o.xp6(6),o.Q6J("@routingAnimation",f.getRouteAnimationData())}},dependencies:[Jo.lC,gl,Lu,El,wr.q,Bi.J,Yt.A],styles:[".logo-container[_ngcontent-%COMP%]{display:flex;align-items:center}.logo-icon[_ngcontent-%COMP%]{width:40px;height:40px;border-radius:5px;border:2px solid #3282b8;margin-top:4px}.logo-text[_ngcontent-%COMP%]{margin-left:7px}"],data:{animation:[Ef()]},changeDetection:0})}return a})();var Of=d(2898);let Vn=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275mod=o.oAB({type:a,bootstrap:[Mf]});static#n=this.\u0275inj=o.cJS({providers:[it({themes:[{id:"vflow-theme-dark",path:"assets/themes/vflow-theme-dark.css"}]}),bp(),jt(Gc),Rd(T),(0,D.XB)(d0),N0(),(0,ct.h_)(),(0,Jo.bU)([...Dp,{path:"**",redirectTo:"getting-started/what-is-ngx-vflow",pathMatch:"full"}],(0,Jo.ZU)({scrollPositionRestoration:"enabled",anchorScrolling:"enabled"}))],imports:[s.b2,Wl,Of.p,gl,Lu,El,Cp,wr.q,Bi.J]})}return a})();s.q6().bootstrapModule(Vn).catch(a=>console.error(a))},494:(ve,_,d)=>{"use strict";d.d(_,{S:()=>F});var s=d(5879),m=d(2189),o=d(4356),L=d(6814);const P=["background",""];function R(V,U){if(1&V&&(s.ynx(0),s.O4$(),s.TgZ(1,"pattern",1),s._UZ(2,"circle"),s.qZA(),s._UZ(3,"rect",2),s.BQk()),2&V){const G=s.oxw();s.xp6(1),s.uIk("id",G.patternId)("x",G.x())("y",G.y())("width",G.scaledGap())("height",G.scaledGap()),s.xp6(1),s.uIk("cx",G.patternSize())("cy",G.patternSize())("r",G.patternSize())("fill",G.patternColor()),s.xp6(1),s.uIk("fill",G.patternUrl)}}const O="#fff";let F=(()=>{class V{set background(G){this.backgroundSignal.set(G)}constructor(){this.viewportService=(0,s.f3M)(m.v),this.rootSvg=(0,s.f3M)(o.$).element,this.backgroundSignal=(0,s.tdS)({type:"solid",color:O}),this.scaledGap=(0,s.Flj)(()=>{const G=this.backgroundSignal();return"dots"===G.type?this.viewportService.readableViewport().zoom*(G.gap??20):0}),this.x=(0,s.Flj)(()=>this.viewportService.readableViewport().x%this.scaledGap()),this.y=(0,s.Flj)(()=>this.viewportService.readableViewport().y%this.scaledGap()),this.patternColor=(0,s.Flj)(()=>this.backgroundSignal().color??"rgb(177, 177, 183)"),this.patternSize=(0,s.Flj)(()=>{const G=this.backgroundSignal();return"dots"===G.type?this.viewportService.readableViewport().zoom*(G.size??2)/2:0}),this.patternId=function N(){return String.fromCharCode(65+Math.floor(26*Math.random()))+Date.now()}(),this.patternUrl=`url(#${this.patternId})`,(0,s.cEC)(()=>{const G=this.backgroundSignal();"dots"===G.type&&(this.rootSvg.style.backgroundColor=G.backgroundColor??O),"solid"===G.type&&(this.rootSvg.style.backgroundColor=G.color)})}static#e=this.\u0275fac=function(K){return new(K||V)};static#t=this.\u0275cmp=s.Xpm({type:V,selectors:[["g","background",""]],inputs:{background:["background","background",j]},features:[s.Xq5],attrs:P,decls:1,vars:1,consts:[[4,"ngIf"],["patternUnits","userSpaceOnUse"],["x","0","y","0","width","100%","height","100%"]],template:function(K,ce){1&K&&s.YNc(0,R,4,10,"ng-container",0),2&K&&s.Q6J("ngIf","dots"===ce.backgroundSignal().type)},dependencies:[L.O5],encapsulation:2,changeDetection:0})}return V})();function j(V){return"string"==typeof V?{type:"solid",color:V}:V}},5085:(ve,_,d)=>{"use strict";d.d(_,{d:()=>j});var s=d(5879),m=d(1981),o=d(2034),N=d(3767),L=d(6094),P=d(2925),R=d(6814);const O=["connection",""];function x(U,G){if(1&U&&(s.O4$(),s._UZ(0,"path",2)),2&U){const K=G.ngIf,ce=s.oxw(2);s.uIk("d",K)("marker-end",ce.markerUrl())("stroke",ce.defaultColor)}}function D(U,G){if(1&U&&(s.ynx(0),s.YNc(1,x,1,3,"path",1),s.BQk()),2&U){const K=s.oxw();s.xp6(1),s.Q6J("ngIf",K.path())}}function v(U,G){1&U&&s.GkF(0)}function F(U,G){if(1&U&&(s.ynx(0),s.YNc(1,v,1,0,"ng-container",3),s.BQk()),2&U){const K=s.oxw();s.xp6(1),s.Q6J("ngTemplateOutlet",K.template)("ngTemplateOutletContext",K.getContext())}}let j=(()=>{class U{constructor(){this.flowStatusService=(0,s.f3M)(m.Q),this.spacePointContext=(0,s.f3M)(N.G),this.path=(0,s.Flj)(()=>{const K=this.flowStatusService.status();if("connection-start"===K.state){const ce=K.payload.sourceHandle,ae=ce.pointAbsolute(),oe=ce.rawHandle.position,Z=this.spacePointContext.svgCurrentSpacePoint(),J=V(ce.rawHandle.position);switch(this.model.curve){case"straight":return(0,o.V)(ae,Z).path;case"bezier":return(0,L.x)(ae,Z,oe,J).path}}if("connection-validation"===K.state){const ce=K.payload.sourceHandle,ae=ce.pointAbsolute(),oe=ce.rawHandle.position,Z=K.payload.targetHandle,J=K.payload.valid?Z.pointAbsolute():this.spacePointContext.svgCurrentSpacePoint(),q=K.payload.valid?Z.rawHandle.position:V(ce.rawHandle.position);switch(this.model.curve){case"straight":return(0,o.V)(ae,J).path;case"bezier":return(0,L.x)(ae,J,oe,q).path}}return null}),this.markerUrl=(0,s.Flj)(()=>{const K=this.model.settings.marker;return K?`url(#${(0,P.u)(JSON.stringify(K))})`:""}),this.defaultColor="rgb(177, 177, 183)"}getContext(){return{$implicit:{path:this.path,marker:this.markerUrl}}}static#e=this.\u0275fac=function(ce){return new(ce||U)};static#t=this.\u0275cmp=s.Xpm({type:U,selectors:[["g","connection",""]],inputs:{model:"model",template:"template"},attrs:O,decls:2,vars:2,consts:[[4,"ngIf"],["fill","none","stroke-width","2",4,"ngIf"],["fill","none","stroke-width","2"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ce,ae){1&ce&&(s.YNc(0,D,2,1,"ng-container",0),s.YNc(1,F,2,2,"ng-container",0)),2&ce&&(s.Q6J("ngIf","default"===ae.model.type),s.xp6(1),s.Q6J("ngIf","template"===ae.model.type&&ae.template))},dependencies:[R.O5,R.tP],encapsulation:2,changeDetection:0})}return U})();function V(U){switch(U){case"top":return"bottom";case"bottom":return"top";case"left":return"right";case"right":return"left"}}},5036:(ve,_,d)=>{"use strict";d.d(_,{N:()=>R});var s=d(5879),m=d(6814);const o=["flowDefs",""];function N(O,x){if(1&O&&(s.O4$(),s._UZ(0,"polyline",4)),2&O){const D=s.oxw().$implicit,v=s.oxw();let F,j,V;s.Udp("stroke",null!==(F=D.value.color)&&void 0!==F?F:v.defaultColor)("stroke-width",null!==(j=D.value.strokeWidth)&&void 0!==j?j:2)("fill",null!==(V=D.value.color)&&void 0!==V?V:v.defaultColor)}}function L(O,x){if(1&O&&(s.O4$(),s._UZ(0,"polyline",5)),2&O){const D=s.oxw().$implicit,v=s.oxw();let F,j;s.Udp("stroke",null!==(F=D.value.color)&&void 0!==F?F:v.defaultColor)("stroke-width",null!==(j=D.value.strokeWidth)&&void 0!==j?j:2)}}function P(O,x){if(1&O&&(s.O4$(),s.TgZ(0,"marker",1),s.YNc(1,N,1,6,"polyline",2),s.YNc(2,L,1,4,"polyline",3),s.qZA()),2&O){const D=x.$implicit;let v,F,j,V;s.uIk("id",D.key)("markerWidth",null!==(v=D.value.width)&&void 0!==v?v:16.5)("markerHeight",null!==(F=D.value.height)&&void 0!==F?F:16.5)("orient",null!==(j=D.value.orient)&&void 0!==j?j:"auto-start-reverse")("markerUnits",null!==(V=D.value.markerUnits)&&void 0!==V?V:"userSpaceOnUse"),s.xp6(1),s.Q6J("ngIf","arrow-closed"===D.value.type||!D.value.type),s.xp6(1),s.Q6J("ngIf","arrow"===D.value.type)}}let R=(()=>{class O{constructor(){this.markers=new Map,this.defaultColor="rgb(177, 177, 183)"}static#e=this.\u0275fac=function(v){return new(v||O)};static#t=this.\u0275cmp=s.Xpm({type:O,selectors:[["defs","flowDefs",""]],inputs:{markers:"markers"},attrs:o,decls:2,vars:3,consts:[["viewBox","-10 -10 20 20","refX","0","refY","0",4,"ngFor","ngForOf"],["viewBox","-10 -10 20 20","refX","0","refY","0"],["class","marker__arrow_closed","points","-5,-4 1,0 -5,4 -5,-4",3,"stroke","stroke-width","fill",4,"ngIf"],["class","marker__arrow_default","points","-5,-4 0,0 -5,4",3,"stroke","stroke-width",4,"ngIf"],["points","-5,-4 1,0 -5,4 -5,-4",1,"marker__arrow_closed"],["points","-5,-4 0,0 -5,4",1,"marker__arrow_default"]],template:function(v,F){1&v&&(s.YNc(0,P,3,7,"marker",0),s.ALo(1,"keyvalue")),2&v&&s.Q6J("ngForOf",s.lcZ(1,1,F.markers))},dependencies:[m.sg,m.O5,m.Nd],styles:[".marker__arrow_default[_ngcontent-%COMP%]{stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;fill:none}.marker__arrow_closed[_ngcontent-%COMP%]{stroke-linecap:round;stroke-linejoin:round}"],changeDetection:0})}return O})()},9461:(ve,_,d)=>{"use strict";d.d(_,{e:()=>x});var s=d(7582),m=d(5879),o=d(2539),N=d(6814);const L=["edgeLabelWrapper"],P=["edgeLabel",""];function R(D,v){1&D&&m.GkF(0)}function O(D,v){if(1&D&&(m.O4$(),m.TgZ(0,"foreignObject"),m.kcU(),m.TgZ(1,"div",1,2),m.YNc(3,R,1,0,"ng-container",3),m.qZA()()),2&D){const F=m.oxw();m.uIk("x",F.edgeLabelPoint().x)("y",F.edgeLabelPoint().y)("width",F.model.size().width)("height",F.model.size().height),m.xp6(3),m.Q6J("ngTemplateOutlet",F.htmlTemplate)("ngTemplateOutletContext",F.getLabelContext())}}let x=(()=>{class D{constructor(){this.edgeLabelPoint=(0,m.Flj)(()=>{const F=this.pointSignal(),{width:j,height:V}=this.model.size();return{x:F.x-j/2,y:F.y-V/2}}),this.pointSignal=(0,m.tdS)({x:0,y:0})}set point(F){this.pointSignal.set(F)}ngAfterViewInit(){this.model.size.set({width:this.edgeLabelWrapperRef.nativeElement.clientWidth+2,height:this.edgeLabelWrapperRef.nativeElement.clientHeight+2})}getLabelContext(){return{$implicit:{edge:this.edgeModel.edge,label:this.model.edgeLabel}}}static#e=this.\u0275fac=function(j){return new(j||D)};static#t=this.\u0275cmp=m.Xpm({type:D,selectors:[["g","edgeLabel",""]],viewQuery:function(j,V){if(1&j&&m.Gf(L,5),2&j){let U;m.iGM(U=m.CRH())&&(V.edgeLabelWrapperRef=U.first)}},inputs:{model:"model",edgeModel:"edgeModel",point:"point",htmlTemplate:"htmlTemplate"},attrs:P,decls:1,vars:1,consts:[[4,"ngIf"],[1,"edge-label-wrapper"],["edgeLabelWrapper",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(j,V){1&j&&m.YNc(0,O,4,6,"foreignObject",0),2&j&&m.Q6J("ngIf","html-template"===V.model.edgeLabel.type&&V.htmlTemplate)},dependencies:[N.O5,N.tP],styles:[".edge-label-wrapper[_ngcontent-%COMP%]{width:max-content;margin-top:1px;margin-left:1px}"],changeDetection:0})}return(0,s.__decorate)([o.C],D.prototype,"ngAfterViewInit",null),D})()},994:(ve,_,d)=>{"use strict";d.d(_,{p:()=>j});var s=d(5879),m=d(2925),o=d(9516),N=d(5023),L=d(6814),P=d(9461);const R=["edge",""];function O(V,U){if(1&V){const G=s.EpF();s.O4$(),s.TgZ(0,"path",2),s.NdJ("mousedown",function(){s.CHM(G);const ce=s.oxw();return s.KtG(ce.onEdgeMouseDown())}),s.qZA()}if(2&V){const G=s.oxw();s.ekj("edge_selected",G.model.selected()),s.uIk("d",G.model.path().path)("marker-start",G.markerStartUrl())("marker-end",G.markerEndUrl())}}function x(V,U){if(1&V&&(s.ynx(0),s.GkF(1,3),s.BQk()),2&V){const G=s.oxw();s.xp6(1),s.Q6J("ngTemplateOutlet",G.edgeTemplate)("ngTemplateOutletContext",G.edgeContext)("ngTemplateOutletInjector",G.injector)}}function D(V,U){if(1&V&&(s.ynx(0),s.O4$(),s._UZ(1,"g",4),s.BQk()),2&V){const G=U.ngIf,K=s.oxw();s.xp6(1),s.Q6J("model",G)("point",K.model.path().points.start)("edgeModel",K.model)("htmlTemplate",K.edgeLabelHtmlTemplate)}}function v(V,U){if(1&V&&(s.ynx(0),s.O4$(),s._UZ(1,"g",4),s.BQk()),2&V){const G=U.ngIf,K=s.oxw();s.xp6(1),s.Q6J("model",G)("point",K.model.path().points.center)("edgeModel",K.model)("htmlTemplate",K.edgeLabelHtmlTemplate)}}function F(V,U){if(1&V&&(s.ynx(0),s.O4$(),s._UZ(1,"g",4),s.BQk()),2&V){const G=U.ngIf,K=s.oxw();s.xp6(1),s.Q6J("model",G)("point",K.model.path().points.end)("edgeModel",K.model)("htmlTemplate",K.edgeLabelHtmlTemplate)}}let j=(()=>{class V{constructor(){this.injector=(0,s.f3M)(s.zs3),this.selectionService=(0,s.f3M)(o.z),this.flowSettingsService=(0,s.f3M)(N.g),this.markerStartUrl=(0,s.Flj)(()=>{const G=this.model.edge.markers?.start;return G?`url(#${(0,m.u)(JSON.stringify(G))})`:""}),this.markerEndUrl=(0,s.Flj)(()=>{const G=this.model.edge.markers?.end;return G?`url(#${(0,m.u)(JSON.stringify(G))})`:""})}ngOnInit(){this.edgeContext={$implicit:{edge:this.model.edge,path:(0,s.Flj)(()=>this.model.path().path),markerStart:this.markerStartUrl,markerEnd:this.markerEndUrl,selected:this.model.selected.asReadonly()}}}onEdgeMouseDown(){this.flowSettingsService.entitiesSelectable()&&this.selectionService.select(this.model)}static#e=this.\u0275fac=function(K){return new(K||V)};static#t=this.\u0275cmp=s.Xpm({type:V,selectors:[["g","edge",""]],hostAttrs:[1,"selectable"],inputs:{model:"model",edgeTemplate:"edgeTemplate",edgeLabelHtmlTemplate:"edgeLabelHtmlTemplate"},attrs:R,decls:5,vars:5,consts:[["class","edge",3,"edge_selected","mousedown",4,"ngIf"],[4,"ngIf"],[1,"edge",3,"mousedown"],[3,"ngTemplateOutlet","ngTemplateOutletContext","ngTemplateOutletInjector"],["edgeLabel","",3,"model","point","edgeModel","htmlTemplate"]],template:function(K,ce){1&K&&(s.YNc(0,O,1,5,"path",0),s.YNc(1,x,2,3,"ng-container",1),s.YNc(2,D,2,4,"ng-container",1),s.YNc(3,v,2,4,"ng-container",1),s.YNc(4,F,2,4,"ng-container",1)),2&K&&(s.Q6J("ngIf","default"===ce.model.type),s.xp6(1),s.Q6J("ngIf","template"===ce.model.type&&ce.edgeTemplate),s.xp6(1),s.Q6J("ngIf",null==ce.model.edgeLabels?null:ce.model.edgeLabels.start),s.xp6(1),s.Q6J("ngIf",null==ce.model.edgeLabels?null:ce.model.edgeLabels.center),s.xp6(1),s.Q6J("ngIf",null==ce.model.edgeLabels?null:ce.model.edgeLabels.end))},dependencies:[L.O5,L.tP,P.e],styles:[".edge[_ngcontent-%COMP%]{fill:none;stroke-width:2;stroke:#b1b1b7}.edge_selected[_ngcontent-%COMP%]{stroke-width:2.5;stroke:#0f4c75}"],changeDetection:0})}return V})()},2274:(ve,_,d)=>{"use strict";d.d(_,{M:()=>x});var s=d(7582),m=d(5879),o=d(3986),N=d(8645),L=d(7398),P=d(1993);class R{constructor(v,F){this.rawHandle=v,this.parentNode=F,this.strokeWidth=2,this.size=(0,m.tdS)({width:10+2*this.strokeWidth,height:10+2*this.strokeWidth}),this.offset=(0,m.Flj)(()=>{switch(this.rawHandle.position){case"left":return{x:0,y:this.parentPosition().y+this.parentSize().height/2};case"right":return{x:this.parentNode.size().width,y:this.parentPosition().y+this.parentSize().height/2};case"top":return{x:this.parentPosition().x+this.parentSize().width/2,y:0};case"bottom":return{x:this.parentPosition().x+this.parentSize().width/2,y:this.parentNode.size().height}}}),this.sizeOffset=(0,m.Flj)(()=>{switch(this.rawHandle.position){case"left":return{x:-this.size().width/2,y:0};case"right":return{x:this.size().width/2,y:0};case"top":return{x:0,y:-this.size().height/2};case"bottom":return{x:0,y:this.size().height/2}}}),this.pointAbsolute=(0,m.Flj)(()=>({x:this.parentNode.point().x+this.offset().x+this.sizeOffset().x,y:this.parentNode.point().y+this.offset().y+this.sizeOffset().y})),this.state=(0,m.tdS)("idle"),this.updateParentSizeAndPosition$=new N.x,this.parentSize=(0,P.O4)(this.updateParentSizeAndPosition$.pipe((0,L.U)(()=>({width:this.parentReference.offsetWidth,height:this.parentReference.offsetHeight}))),{initialValue:{width:0,height:0}}),this.parentPosition=(0,P.O4)(this.updateParentSizeAndPosition$.pipe((0,L.U)(()=>({x:this.parentReference.offsetLeft,y:this.parentReference.offsetTop}))),{initialValue:{x:0,y:0}}),this.parentReference=this.rawHandle.parentReference,this.template=this.rawHandle.template,this.templateContext={$implicit:{point:this.offset,state:this.state}}}updateParent(){this.updateParentSizeAndPosition$.next()}}var O=d(8634);let x=(()=>{class D{constructor(){this.injector=(0,m.f3M)(m.zs3),this.handleService=(0,m.f3M)(o.n),this.element=(0,m.f3M)(m.SBq).nativeElement}ngOnInit(){this.model=new R({position:this.position,type:this.type,id:this.id,parentReference:this.element.parentElement,template:this.template},this.handleService.node()),this.handleService.createHandle(this.model),requestAnimationFrame(()=>this.model.updateParent())}ngOnDestroy(){this.handleService.destroyHandle(this.model)}static#e=this.\u0275fac=function(j){return new(j||D)};static#t=this.\u0275cmp=m.Xpm({type:D,selectors:[["handle"]],inputs:{position:"position",type:"type",id:"id",template:"template"},decls:0,vars:0,template:function(j,V){},encapsulation:2,changeDetection:0})}return(0,s.__decorate)([O.B],D.prototype,"ngOnInit",null),D})()},8567:(ve,_,d)=>{"use strict";d.d(_,{R:()=>ye});var s=d(7582),m=d(5879),o=d(9672),N=d(3498),L=d(1981),P=d(3986),R=d(667),O=d(4664),x=d(7398),D=d(9397),v=d(7921),F=d(8634),j=d(2539),V=d(726),U=d(5023),G=d(9516),K=d(6823),ce=d(1993),ae=d(6814),oe=d(2274),Z=d(1848),J=d(637);const q=["nodeContent"],ie=["htmlWrapper"],ge=["node",""];function Me(je,Ge){if(1&je){const Le=m.EpF();m.O4$(),m.TgZ(0,"foreignObject",2,3),m.NdJ("mousedown",function(){m.CHM(Le);const lt=m.oxw();return lt.pullNode(),m.KtG(lt.selectNode())}),m.kcU(),m.TgZ(2,"div",4,5),m._UZ(4,"div",6)(5,"handle",7)(6,"handle",8),m.qZA()()}if(2&je){const Le=m.oxw();let ct;m.uIk("width",Le.nodeModel.size().width)("height",Le.nodeModel.size().height),m.xp6(2),m.Udp("width",Le.styleWidth())("height",Le.styleHeight())("max-width",Le.styleWidth())("max-height",Le.styleHeight()),m.ekj("default-node_selected",Le.nodeModel.selected()),m.xp6(2),m.Q6J("outerHTML",null!==(ct=Le.nodeModel.node.text)&&void 0!==ct?ct:"",m.oJD),m.xp6(1),m.Q6J("position",Le.nodeModel.sourcePosition()),m.xp6(1),m.Q6J("position",Le.nodeModel.targetPosition())}}const Se=function(je,Ge){return{node:je,selected:Ge}},Ae=function(je){return{$implicit:je}};function Fe(je,Ge){if(1&je){const Le=m.EpF();m.O4$(),m.TgZ(0,"foreignObject",2),m.NdJ("mousedown",function(){m.CHM(Le);const lt=m.oxw();return m.KtG(lt.pullNode())}),m.kcU(),m.TgZ(1,"div",9,5),m.GkF(3,10),m.qZA()()}if(2&je){const Le=m.oxw();m.uIk("width",Le.nodeModel.size().width)("height",Le.nodeModel.size().height),m.xp6(3),m.Q6J("ngTemplateOutlet",Le.nodeHtmlTemplate)("ngTemplateOutletContext",m.VKq(8,Ae,m.WLB(5,Se,Le.nodeModel.node,Le.nodeModel.selected)))("ngTemplateOutletInjector",Le.injector)}}function ze(je,Ge){if(1&je){const Le=m.EpF();m.O4$(),m.TgZ(0,"foreignObject",2),m.NdJ("mousedown",function(){m.CHM(Le);const lt=m.oxw();return m.KtG(lt.pullNode())}),m.kcU(),m.TgZ(1,"div",9,5),m.GkF(3,11),m.qZA()()}if(2&je){const Le=m.oxw();m.uIk("width",Le.nodeModel.size().width)("height",Le.nodeModel.size().height),m.xp6(3),m.Q6J("ngComponentOutlet",Le.nodeModel.node.type)("ngComponentOutletInputs",Le.nodeModel.componentTypeInputs())("ngComponentOutletInjector",Le.injector)}}function Je(je,Ge){if(1&je){const Le=m.EpF();m.O4$(),m.TgZ(0,"circle",15),m.NdJ("pointerStart",function(lt){m.CHM(Le);const rt=m.oxw().$implicit,De=m.oxw();return m.KtG(De.startConnection(lt,rt))})("pointerEnd",function(){m.CHM(Le);const lt=m.oxw().$implicit,rt=m.oxw();return m.KtG(rt.endConnection(lt))}),m.qZA()}if(2&je){const Le=m.oxw().$implicit;m.uIk("cx",Le.offset().x)("cy",Le.offset().y)("stroke-width",Le.strokeWidth)}}function tt(je,Ge){1&je&&(m.O4$(),m.GkF(0))}function _e(je,Ge){if(1&je){const Le=m.EpF();m.O4$(),m.TgZ(0,"g",16),m.NdJ("pointerStart",function(lt){m.CHM(Le);const rt=m.oxw().$implicit,De=m.oxw();return m.KtG(De.startConnection(lt,rt))})("pointerEnd",function(){m.CHM(Le);const lt=m.oxw().$implicit,rt=m.oxw();return m.KtG(rt.endConnection(lt))}),m.YNc(1,tt,1,0,"ng-container",17),m.qZA()}if(2&je){const Le=m.oxw().$implicit;m.Q6J("handleSizeController",Le),m.xp6(1),m.Q6J("ngTemplateOutlet",Le.template)("ngTemplateOutletContext",Le.templateContext)}}function Pe(je,Ge){if(1&je){const Le=m.EpF();m.O4$(),m.TgZ(0,"circle",18),m.NdJ("pointerEnd",function(){m.CHM(Le);const lt=m.oxw().$implicit,rt=m.oxw();return rt.endConnection(lt),m.KtG(rt.resetValidateConnection(lt))})("pointerOver",function(){m.CHM(Le);const lt=m.oxw().$implicit,rt=m.oxw();return m.KtG(rt.validateConnection(lt))})("pointerOut",function(){m.CHM(Le);const lt=m.oxw().$implicit,rt=m.oxw();return m.KtG(rt.resetValidateConnection(lt))}),m.qZA()}if(2&je){const Le=m.oxw().$implicit,ct=m.oxw();m.uIk("r",ct.nodeModel.magnetRadius)("cx",Le.offset().x)("cy",Le.offset().y)}}function Ie(je,Ge){if(1&je&&(m.ynx(0),m.YNc(1,Je,1,3,"circle",12),m.YNc(2,_e,2,3,"g",13),m.YNc(3,Pe,1,3,"circle",14),m.BQk()),2&je){const Le=Ge.$implicit,ct=m.oxw();m.xp6(1),m.Q6J("ngIf",!Le.template),m.xp6(1),m.Q6J("ngIf",Le.template),m.xp6(1),m.Q6J("ngIf",ct.showMagnet())}}let ye=(()=>{class je{constructor(){this.injector=(0,m.f3M)(m.zs3),this.handleService=(0,m.f3M)(P.n),this.draggableService=(0,m.f3M)(o.$),this.flowStatusService=(0,m.f3M)(L.Q),this.nodeRenderingService=(0,m.f3M)(V.W),this.flowSettingsService=(0,m.f3M)(U.g),this.selectionService=(0,m.f3M)(G.z),this.hostRef=(0,m.f3M)(m.SBq),this.connectionController=(0,m.f3M)(K.j),this.showMagnet=(0,m.Flj)(()=>"connection-start"===this.flowStatusService.status().state||"connection-validation"===this.flowStatusService.status().state),this.styleWidth=(0,m.Flj)(()=>`${this.nodeModel.size().width}px`),this.styleHeight=(0,m.Flj)(()=>`${this.nodeModel.size().height}px`)}ngOnInit(){this.handleService.node.set(this.nodeModel),this.draggableService.toggleDraggable(this.hostRef.nativeElement,this.nodeModel),this.nodeModel.handles$.pipe((0,O.w)(Le=>(0,R.$)(Le.map(ct=>ct.parentReference)).pipe((0,x.U)(()=>Le))),(0,D.b)(Le=>{Le.forEach(ct=>ct.updateParent())}),(0,ce.sL)()).subscribe()}ngAfterViewInit(){"default"===this.nodeModel.node.type&&this.nodeModel.size.set({width:this.nodeModel.node.width??N.X.defaultTypeSize.width,height:this.nodeModel.node.height??N.X.defaultTypeSize.height}),("html-template"===this.nodeModel.node.type||this.nodeModel.isComponentType)&&(0,R.$)([this.htmlWrapperRef.nativeElement]).pipe((0,v.O)(null),(0,D.b)(()=>{this.nodeModel.size.set({width:this.htmlWrapperRef.nativeElement.clientWidth,height:this.htmlWrapperRef.nativeElement.clientHeight})}),(0,ce.sL)()).subscribe()}ngOnDestroy(){this.draggableService.destroy(this.hostRef.nativeElement)}startConnection(Le,ct){Le.stopPropagation(),this.connectionController.startConnection(ct)}validateConnection(Le){this.connectionController.validateConnection(Le)}resetValidateConnection(Le){this.connectionController.resetValidateConnection(Le)}endConnection(Le){this.connectionController.endConnection(Le)}pullNode(){this.nodeRenderingService.pullNode(this.nodeModel)}selectNode(){this.flowSettingsService.entitiesSelectable()&&this.selectionService.select(this.nodeModel)}static#e=this.\u0275fac=function(ct){return new(ct||je)};static#t=this.\u0275cmp=m.Xpm({type:je,selectors:[["g","node",""]],viewQuery:function(ct,lt){if(1&ct&&(m.Gf(q,5),m.Gf(ie,5)),2&ct){let rt;m.iGM(rt=m.CRH())&&(lt.nodeContentRef=rt.first),m.iGM(rt=m.CRH())&&(lt.htmlWrapperRef=rt.first)}},inputs:{nodeModel:"nodeModel",nodeHtmlTemplate:"nodeHtmlTemplate"},features:[m._Bn([P.n])],attrs:ge,decls:4,vars:4,consts:[["class","selectable",3,"mousedown",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"selectable",3,"mousedown"],["nodeContent",""],[1,"default-node"],["htmlWrapper",""],[3,"outerHTML"],["type","source",3,"position"],["type","target",3,"position"],[1,"wrapper"],[3,"ngTemplateOutlet","ngTemplateOutletContext","ngTemplateOutletInjector"],[3,"ngComponentOutlet","ngComponentOutletInputs","ngComponentOutletInjector"],["class","default-handle","r","5",3,"pointerStart","pointerEnd",4,"ngIf"],[3,"handleSizeController","pointerStart","pointerEnd",4,"ngIf"],["class","magnet",3,"pointerEnd","pointerOver","pointerOut",4,"ngIf"],["r","5",1,"default-handle",3,"pointerStart","pointerEnd"],[3,"handleSizeController","pointerStart","pointerEnd"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"magnet",3,"pointerEnd","pointerOver","pointerOut"]],template:function(ct,lt){1&ct&&(m.YNc(0,Me,7,15,"foreignObject",0),m.YNc(1,Fe,4,10,"foreignObject",0),m.YNc(2,ze,4,5,"foreignObject",0),m.YNc(3,Ie,4,3,"ng-container",1)),2&ct&&(m.Q6J("ngIf","default"===lt.nodeModel.node.type),m.xp6(1),m.Q6J("ngIf","html-template"===lt.nodeModel.node.type&<.nodeHtmlTemplate),m.xp6(1),m.Q6J("ngIf",lt.nodeModel.isComponentType),m.xp6(1),m.Q6J("ngForOf",lt.nodeModel.handles()))},dependencies:[ae.$G,ae.sg,ae.O5,ae.tP,oe.M,Z.$,J.V],styles:[".wrapper[_ngcontent-%COMP%]{width:max-content}.magnet[_ngcontent-%COMP%]{opacity:0}.default-node[_ngcontent-%COMP%]{border:1.5px solid #1b262c;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#000;background-color:#fff}.default-node_selected[_ngcontent-%COMP%]{border-width:2px}.default-handle[_ngcontent-%COMP%]{stroke:#fff;fill:#1b262c}"],changeDetection:0})}return(0,s.__decorate)([F.B],je.prototype,"ngOnInit",null),(0,s.__decorate)([j.C,F.B],je.prototype,"ngAfterViewInit",null),je})()},7146:(ve,_,d)=>{"use strict";d.d(_,{t:()=>Re});var s=d(5879),m=d(5323),o=d(9672),N=d(2189),L=d(1993),P=d(8874);function R($e,Oe){const $=$e.reduce((ne,fe)=>(ne[fe.node.id]=fe,ne),{});Oe.forEach(ne=>{ne.source.set($[ne.edge.source]),ne.target.set($[ne.edge.target])})}var O=d(836),x=d(1981),D=d(6823),v=d(3258),F=d(1553),j=d(3498);class V{constructor(Oe){this.edgeLabel=Oe,this.size=(0,s.tdS)({width:0,height:0})}}var U=d(2034),G=d(6094);class K{constructor(Oe){this.edge=Oe,this.source=(0,s.tdS)(void 0),this.target=(0,s.tdS)(void 0),this.selected=(0,s.tdS)(!1),this.selected$=(0,L.Dx)(this.selected),this.detached=(0,s.Flj)(()=>{const $=this.source(),ne=this.target();if(!$||!ne)return!0;let fe=!1,Be=!1;return fe=this.edge.sourceHandle?!!$.handles().find(qe=>qe.rawHandle.id===this.edge.sourceHandle):!!$.handles().find(qe=>"source"===qe.rawHandle.type),Be=this.edge.targetHandle?!!ne.handles().find(qe=>qe.rawHandle.id===this.edge.targetHandle):!!ne.handles().find(qe=>"target"===qe.rawHandle.type),!fe||!Be}),this.detached$=(0,L.Dx)(this.detached),this.path=(0,s.Flj)(()=>{let $,ne;if($=this.edge.sourceHandle?this.source()?.handles().find(fe=>fe.rawHandle.id===this.edge.sourceHandle):this.source()?.handles().find(fe=>"source"===fe.rawHandle.type),ne=this.edge.targetHandle?this.target()?.handles().find(fe=>fe.rawHandle.id===this.edge.targetHandle):this.target()?.handles().find(fe=>"target"===fe.rawHandle.type),!$||!ne)return{path:"",points:{start:{x:0,y:0},center:{x:0,y:0},end:{x:0,y:0}}};switch(this.curve){case"straight":return(0,U.V)($.pointAbsolute(),ne.pointAbsolute(),this.usingPoints);case"bezier":return(0,G.x)($.pointAbsolute(),ne.pointAbsolute(),$.rawHandle.position,ne.rawHandle.position,this.usingPoints)}}),this.edgeLabels={},this.type=Oe.type??"default",this.curve=Oe.curve??"bezier",Oe.edgeLabels?.start&&(this.edgeLabels.start=new V(Oe.edgeLabels.start)),Oe.edgeLabels?.center&&(this.edgeLabels.center=new V(Oe.edgeLabels.center)),Oe.edgeLabels?.end&&(this.edgeLabels.end=new V(Oe.edgeLabels.end)),this.usingPoints=[!!this.edgeLabels.start,!!this.edgeLabels.center,!!this.edgeLabels.end]}}class ce{static nodes(Oe,$){const ne=new Map;return $.forEach(fe=>ne.set(fe.node,fe)),Oe.map(fe=>ne.has(fe)?ne.get(fe):new j.X(fe))}static edges(Oe,$){const ne=new Map;return $.forEach(fe=>ne.set(fe.edge,fe)),Oe.map(fe=>ne.has(fe)?ne.get(fe):new K(fe))}}var ae=d(4664),oe=d(3019),Z=d(7398),J=d(9384),q=d(2181),ie=d(3997),ge=d(3093),Me=d(6321);let Ae=(()=>{class $e{constructor(){this.entitiesService=(0,s.f3M)(v.q),this.nodesPositionChange$=(0,L.Dx)(this.entitiesService.nodes).pipe((0,ae.w)($=>(0,oe.T)(...$.map(ne=>ne.point$.pipe((0,O.T)(1),(0,Z.U)(()=>ne))))),(0,Z.U)($=>[{type:"position",id:$.node.id,point:$.point()}])),this.nodeAddChange$=(0,L.Dx)(this.entitiesService.nodes).pipe((0,J.G)(),(0,Z.U)(([$,ne])=>ne.filter(fe=>!$.includes(fe))),(0,q.h)($=>!!$.length),(0,Z.U)($=>$.map(ne=>({type:"add",id:ne.node.id})))),this.nodeRemoveChange$=(0,L.Dx)(this.entitiesService.nodes).pipe((0,J.G)(),(0,Z.U)(([$,ne])=>$.filter(fe=>!ne.includes(fe))),(0,q.h)($=>!!$.length),(0,Z.U)($=>$.map(ne=>({type:"remove",id:ne.node.id})))),this.nodeSelectedChange$=(0,L.Dx)(this.entitiesService.nodes).pipe((0,ae.w)($=>(0,oe.T)(...$.map(ne=>ne.selected$.pipe((0,ie.x)(),(0,O.T)(1),(0,Z.U)(()=>ne))))),(0,Z.U)($=>[{type:"select",id:$.node.id,selected:$.selected()}])),this.changes$=(0,oe.T)(this.nodesPositionChange$,this.nodeAddChange$,this.nodeRemoveChange$,this.nodeSelectedChange$).pipe((0,ge.Q)(Me.z,25))}static#e=this.\u0275fac=function(ne){return new(ne||$e)};static#t=this.\u0275prov=s.Yz7({token:$e,factory:$e.\u0275fac})}return $e})();var Fe=d(5592),ze=d(4829);const{isArray:Je}=Array;var _e=d(6232),Pe=d(8251),Ie=d(9940);const je=($e,Oe)=>$e.length===Oe.length&&[...new Set([...$e,...Oe])].every($=>$e.filter(ne=>ne===$).length===Oe.filter(ne=>ne===$).length);let Ge=(()=>{class $e{constructor(){this.entitiesService=(0,s.f3M)(v.q),this.edgeDetachedChange$=(0,oe.T)((0,L.Dx)((0,s.Flj)(()=>{const $=this.entitiesService.nodes();return(0,s.rg0)(this.entitiesService.edges).filter(({source:fe,target:Be})=>!$.includes(fe())||!$.includes(Be()))})),(0,L.Dx)(this.entitiesService.edges).pipe((0,ae.w)($=>function ye(...$e){const Oe=(0,Ie.jO)($e),$=function tt($e){return 1===$e.length&&Je($e[0])?$e[0]:$e}($e);return $.length?new Fe.y(ne=>{let fe=$.map(()=>[]),Be=$.map(()=>!1);ne.add(()=>{fe=Be=null});for(let qe=0;!ne.closed&&qe<$.length;qe++)(0,ze.Xf)($[qe]).subscribe((0,Pe.x)(ne,Dt=>{if(fe[qe].push(Dt),fe.every(_t=>_t.length)){const _t=fe.map(fn=>fn.shift());ne.next(Oe?Oe(..._t):_t),fe.some((fn,Ut)=>!fn.length&&Be[Ut])&&ne.complete()}},()=>{Be[qe]=!0,!fe[qe].length&&ne.complete()}));return()=>{fe=Be=null}}):_e.E}(...$.map(ne=>ne.detached$.pipe((0,Z.U)(()=>ne))))),(0,Z.U)($=>$.filter(ne=>ne.detached())),(0,O.T)(2))).pipe((0,ie.x)(je),(0,q.h)($=>!!$.length),(0,Z.U)($=>$.map(({edge:ne})=>({type:"detached",id:ne.id})))),this.edgeAddChange$=(0,L.Dx)(this.entitiesService.edges).pipe((0,J.G)(),(0,Z.U)(([$,ne])=>ne.filter(fe=>!$.includes(fe))),(0,q.h)($=>!!$.length),(0,Z.U)($=>$.map(({edge:ne})=>({type:"add",id:ne.id})))),this.edgeRemoveChange$=(0,L.Dx)(this.entitiesService.edges).pipe((0,J.G)(),(0,Z.U)(([$,ne])=>$.filter(fe=>!ne.includes(fe))),(0,q.h)($=>!!$.length),(0,Z.U)($=>$.map(({edge:ne})=>({type:"remove",id:ne.id})))),this.edgeSelectChange$=(0,L.Dx)(this.entitiesService.edges).pipe((0,ae.w)($=>(0,oe.T)(...$.map(ne=>ne.selected$.pipe((0,ie.x)(),(0,O.T)(1),(0,Z.U)(()=>ne))))),(0,Z.U)($=>[{type:"select",id:$.edge.id,selected:$.selected()}])),this.changes$=(0,oe.T)(this.edgeDetachedChange$,this.edgeAddChange$,this.edgeRemoveChange$,this.edgeSelectChange$).pipe((0,ge.Q)(Me.z))}static#e=this.\u0275fac=function(ne){return new(ne||$e)};static#t=this.\u0275prov=s.Yz7({token:$e,factory:$e.\u0275fac})}return $e})(),Le=(()=>{class $e{constructor(){this.nodesChangeService=(0,s.f3M)(Ae),this.edgesChangeService=(0,s.f3M)(Ge),this.onNodesChange=this.nodesChangeService.changes$,this.onNodesChangePosition=this.nodeChangesOfType("position"),this.onNodesChangePositionSignle=this.singleChange(this.nodeChangesOfType("position")),this.onNodesChangePositionMany=this.manyChanges(this.nodeChangesOfType("position")),this.onNodesChangeAdd=this.nodeChangesOfType("add"),this.onNodesChangeAddSingle=this.singleChange(this.nodeChangesOfType("add")),this.onNodesChangeAddMany=this.manyChanges(this.nodeChangesOfType("add")),this.onNodesChangeRemove=this.nodeChangesOfType("remove"),this.onNodesChangeRemoveSingle=this.singleChange(this.nodeChangesOfType("remove")),this.onNodesChangeRemoveMany=this.manyChanges(this.nodeChangesOfType("remove")),this.onNodesChangeSelect=this.nodeChangesOfType("select"),this.onNodesChangeSelectSingle=this.singleChange(this.nodeChangesOfType("select")),this.onNodesChangeSelectMany=this.manyChanges(this.nodeChangesOfType("select")),this.onEdgesChange=this.edgesChangeService.changes$,this.onNodesChangeDetached=this.edgeChangesOfType("detached"),this.onNodesChangeDetachedSingle=this.singleChange(this.edgeChangesOfType("detached")),this.onNodesChangeDetachedMany=this.manyChanges(this.edgeChangesOfType("detached")),this.onEdgesChangeAdd=this.edgeChangesOfType("add"),this.onEdgeChangeAddSingle=this.singleChange(this.edgeChangesOfType("add")),this.onEdgeChangeAddMany=this.manyChanges(this.edgeChangesOfType("add")),this.onEdgeChangeRemove=this.edgeChangesOfType("remove"),this.onEdgeChangeRemoveSingle=this.singleChange(this.edgeChangesOfType("remove")),this.onEdgeChangeRemoveMany=this.manyChanges(this.edgeChangesOfType("remove")),this.onEdgeChangeSelect=this.edgeChangesOfType("select"),this.onEdgeChangeSelectSingle=this.singleChange(this.edgeChangesOfType("select")),this.onEdgeChangeSelectMany=this.manyChanges(this.edgeChangesOfType("select"))}nodeChangesOfType($){return this.nodesChangeService.changes$.pipe((0,Z.U)(ne=>ne.filter(fe=>fe.type===$)),(0,q.h)(ne=>!!ne.length))}edgeChangesOfType($){return this.edgesChangeService.changes$.pipe((0,Z.U)(ne=>ne.filter(fe=>fe.type===$)),(0,q.h)(ne=>!!ne.length))}singleChange($){return $.pipe((0,q.h)(ne=>1===ne.length),(0,Z.U)(([ne])=>ne))}manyChanges($){return $.pipe((0,q.h)(ne=>ne.length>1))}static#e=this.\u0275fac=function(ne){return new(ne||$e)};static#t=this.\u0275dir=s.lG2({type:$e,selectors:[["","changesController",""]],outputs:{onNodesChange:"onNodesChange",onNodesChangePosition:"onNodesChange.position",onNodesChangePositionSignle:"onNodesChange.position.single",onNodesChangePositionMany:"onNodesChange.position.many",onNodesChangeAdd:"onNodesChange.add",onNodesChangeAddSingle:"onNodesChange.add.single",onNodesChangeAddMany:"onNodesChange.add.many",onNodesChangeRemove:"onNodesChange.remove",onNodesChangeRemoveSingle:"onNodesChange.remove.single",onNodesChangeRemoveMany:"onNodesChange.remove.many",onNodesChangeSelect:"onNodesChange.select",onNodesChangeSelectSingle:"onNodesChange.select.single",onNodesChangeSelectMany:"onNodesChange.select.many",onEdgesChange:"onEdgesChange",onNodesChangeDetached:"onEdgesChange.detached",onNodesChangeDetachedSingle:"onEdgesChange.detached.single",onNodesChangeDetachedMany:"onEdgesChange.detached.many",onEdgesChangeAdd:"onEdgesChange.add",onEdgeChangeAddSingle:"onEdgesChange.add.single",onEdgeChangeAddMany:"onEdgesChange.add.many",onEdgeChangeRemove:"onEdgesChange.remove",onEdgeChangeRemoveSingle:"onEdgesChange.remove.single",onEdgeChangeRemoveMany:"onEdgesChange.remove.many",onEdgeChangeSelect:"onEdgesChange.select",onEdgeChangeSelectSingle:"onEdgesChange.select.single",onEdgeChangeSelectMany:"onEdgesChange.select.many"},standalone:!0})}return $e})();var ct=d(726),lt=d(9516),rt=d(5023),De=d(5091),it=d(3767),Ct=d(6814),jt=d(8567),pt=d(994),tn=d(5085),qt=d(5036),_n=d(494),In=d(4356),no=d(4445),qn=d(948),ko=d(2712);function Un($e,Oe){if(1&$e&&(s.O4$(),s._UZ(0,"g",8)),2&$e){const $=Oe.$implicit,ne=s.oxw();s.Q6J("model",$)("edgeTemplate",null==ne.edgeTemplateDirective?null:ne.edgeTemplateDirective.templateRef)("edgeLabelHtmlTemplate",null==ne.edgeLabelHtmlDirective?null:ne.edgeLabelHtmlDirective.templateRef)}}function $n($e,Oe){if(1&$e&&(s.O4$(),s._UZ(0,"g",9)),2&$e){const $=Oe.$implicit,ne=s.oxw();s.Q6J("nodeModel",$)("nodeHtmlTemplate",null==ne.nodeHtmlDirective?null:ne.nodeHtmlDirective.templateRef),s.uIk("transform",$.pointTransform())}}let Re=(()=>{class $e{constructor(){this.viewportService=(0,s.f3M)(N.v),this.flowEntitiesService=(0,s.f3M)(v.q),this.nodesChangeService=(0,s.f3M)(Ae),this.edgesChangeService=(0,s.f3M)(Ge),this.nodeRenderingService=(0,s.f3M)(ct.W),this.flowSettingsService=(0,s.f3M)(rt.g),this.componentEventBusService=(0,s.f3M)(De.d),this.injector=(0,s.f3M)(s.zs3),this.background="#fff",this.nodeModels=(0,s.Flj)(()=>this.nodeRenderingService.nodes()),this.edgeModels=(0,s.Flj)(()=>this.flowEntitiesService.validEdges()),this.onComponentNodeEvent=this.componentEventBusService.event$,this.viewport=this.viewportService.readableViewport.asReadonly(),this.nodesChange=(0,L.O4)(this.nodesChangeService.changes$,{initialValue:[]}),this.edgesChange=(0,L.O4)(this.edgesChangeService.changes$,{initialValue:[]}),this.viewportChange$=(0,L.Dx)(this.viewportService.readableViewport).pipe((0,O.T)(1)),this.nodesChange$=this.nodesChangeService.changes$,this.edgesChange$=this.edgesChangeService.changes$,this.markers=this.flowEntitiesService.markers}set view($){this.flowSettingsService.view.set($)}set minZoom($){this.flowSettingsService.minZoom.set($)}set maxZoom($){this.flowSettingsService.maxZoom.set($)}set handlePositions($){this.flowSettingsService.handlePositions.set($)}set entitiesSelectable($){this.flowSettingsService.entitiesSelectable.set($)}set connection($){this.flowEntitiesService.connection.set($)}get connection(){return this.flowEntitiesService.connection()}set nodes($){const ne=(0,s.r_H)(this.injector,()=>ce.nodes($,this.flowEntitiesService.nodes()));R(ne,this.flowEntitiesService.edges()),this.flowEntitiesService.nodes.set(ne)}set edges($){const ne=(0,s.r_H)(this.injector,()=>ce.edges($,this.flowEntitiesService.edges()));R(this.nodeModels(),ne),this.flowEntitiesService.edges.set(ne)}viewportTo($){this.viewportService.writableViewport.set({changeType:"absolute",state:$,duration:0})}zoomTo($){this.viewportService.writableViewport.set({changeType:"absolute",state:{zoom:$},duration:0})}panTo($){this.viewportService.writableViewport.set({changeType:"absolute",state:$,duration:0})}fitView($){this.viewportService.fitView($)}getNode($){return this.flowEntitiesService.getNode($)?.node}getDetachedEdges(){return this.flowEntitiesService.getDetachedEdges().map($=>$.edge)}documentPointToFlowPoint($){return this.spacePointContext.documentPointToFlowPoint($)}trackNodes($,{node:ne}){return ne}trackEdges($,{edge:ne}){return ne}static#e=this.\u0275fac=function(ne){return new(ne||$e)};static#t=this.\u0275cmp=s.Xpm({type:$e,selectors:[["vflow"]],contentQueries:function(ne,fe,Be){if(1&ne&&(s.Suo(Be,P.QC,5),s.Suo(Be,P.o6,5),s.Suo(Be,P.B,5),s.Suo(Be,P.iS,5)),2&ne){let qe;s.iGM(qe=s.CRH())&&(fe.nodeHtmlDirective=qe.first),s.iGM(qe=s.CRH())&&(fe.edgeTemplateDirective=qe.first),s.iGM(qe=s.CRH())&&(fe.edgeLabelHtmlDirective=qe.first),s.iGM(qe=s.CRH())&&(fe.connectionTemplateDirective=qe.first)}},viewQuery:function(ne,fe){if(1&ne&&(s.Gf(m.b,5),s.Gf(it.G,5)),2&ne){let Be;s.iGM(Be=s.CRH())&&(fe.mapContext=Be.first),s.iGM(Be=s.CRH())&&(fe.spacePointContext=Be.first)}},inputs:{view:"view",minZoom:"minZoom",maxZoom:"maxZoom",handlePositions:"handlePositions",background:"background",entitiesSelectable:"entitiesSelectable",connection:["connection","connection",$=>new F.L($)],nodes:"nodes",edges:"edges"},outputs:{onComponentNodeEvent:"onComponentNodeEvent"},features:[s._Bn([o.$,N.v,x.Q,v.q,Ae,Ge,ct.W,lt.z,rt.g,De.d]),s.Xq5,s.zW0([{directive:D.j,outputs:["onConnect","onConnect"]},{directive:Le,outputs:["onNodesChange","onNodesChange","onNodesChange.position","onNodesChange.position","onNodesChange.position.single","onNodesChange.position.single","onNodesChange.position.many","onNodesChange.position.many","onNodesChange.add","onNodesChange.add","onNodesChange.add.single","onNodesChange.add.single","onNodesChange.add.many","onNodesChange.add.many","onNodesChange.remove","onNodesChange.remove","onNodesChange.remove.single","onNodesChange.remove.single","onNodesChange.remove.many","onNodesChange.remove.many","onNodesChange.select","onNodesChange.select","onNodesChange.select.single","onNodesChange.select.single","onNodesChange.select.many","onNodesChange.select.many","onEdgesChange","onEdgesChange","onEdgesChange.detached","onEdgesChange.detached","onEdgesChange.detached.single","onEdgesChange.detached.single","onEdgesChange.detached.many","onEdgesChange.detached.many","onEdgesChange.add","onEdgesChange.add","onEdgesChange.add.single","onEdgesChange.add.single","onEdgesChange.add.many","onEdgesChange.add.many","onEdgesChange.remove","onEdgesChange.remove","onEdgesChange.remove.single","onEdgesChange.remove.single","onEdgesChange.remove.many","onEdgesChange.remove.many","onEdgesChange.select","onEdgesChange.select","onEdgesChange.select.single","onEdgesChange.select.single","onEdgesChange.select.many","onEdgesChange.select.many"]}])],decls:8,vars:8,consts:[["rootSvgRef","","rootSvgContext","","rootPointer","","flowSizeController","",1,"root-svg"],["flow",""],["flowDefs","",3,"markers"],[3,"background"],["mapContext","","spacePointContext",""],["connection","",3,"model","template"],["edge","",3,"model","edgeTemplate","edgeLabelHtmlTemplate",4,"ngFor","ngForOf","ngForTrackBy"],["node","",3,"nodeModel","nodeHtmlTemplate",4,"ngFor","ngForOf","ngForTrackBy"],["edge","",3,"model","edgeTemplate","edgeLabelHtmlTemplate"],["node","",3,"nodeModel","nodeHtmlTemplate"]],template:function(ne,fe){1&ne&&(s.O4$(),s.TgZ(0,"svg",0,1),s._UZ(2,"defs",2)(3,"g",3),s.TgZ(4,"g",4),s._UZ(5,"g",5),s.YNc(6,Un,1,3,"g",6),s.YNc(7,$n,1,3,"g",7),s.qZA()()),2&ne&&(s.xp6(2),s.Q6J("markers",fe.markers()),s.xp6(1),s.Q6J("background",fe.background),s.xp6(2),s.Q6J("model",fe.connection)("template",null==fe.connectionTemplateDirective?null:fe.connectionTemplateDirective.templateRef),s.xp6(1),s.Q6J("ngForOf",fe.edgeModels())("ngForTrackBy",fe.trackEdges),s.xp6(1),s.Q6J("ngForOf",fe.nodeModels())("ngForTrackBy",fe.trackNodes))},dependencies:[Ct.sg,jt.R,pt.p,tn.d,qt.N,_n.S,it.G,m.b,In.$,no.C,qn.r,ko.w],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none}[_nghost-%COMP%] *{box-sizing:border-box}"],changeDetection:0})}return $e})()},2539:(ve,_,d)=>{"use strict";function s(m,o,N){const L=N.value;return N.value=function(...P){queueMicrotask(()=>{L?.apply(this,P)})},N}d.d(_,{C:()=>s})},8634:(ve,_,d)=>{"use strict";d.d(_,{B:()=>m});var s=d(5879);function m(N,L,P){const R=P.value;return P.value=function(...O){if(o(this))return(0,s.r_H)(this.injector,()=>R.apply(this,O));throw new Error("Class that contains decorated method must extends WithInjectorDirective class")},P}const o=N=>"injector"in N&&"get"in N.injector},6823:(ve,_,d)=>{"use strict";d.d(_,{j:()=>L});var s=d(5879),m=d(1981),o=d(3258);function N(P){const R={};return"source"===P.sourceHandle.rawHandle.type?(R.source=P.source,R.sourceHandle=P.sourceHandle):(R.source=P.target,R.sourceHandle=P.targetHandle),"target"===P.targetHandle.rawHandle.type?(R.target=P.target,R.targetHandle=P.targetHandle):(R.target=P.source,R.targetHandle=P.sourceHandle),R}let L=(()=>{class P{constructor(){this.onConnect=new s.vpe,this.statusService=(0,s.f3M)(m.Q),this.flowEntitiesService=(0,s.f3M)(o.q),this.connectEffect=(0,s.cEC)(()=>{const O=this.statusService.status();if("connection-end"===O.state){let x=O.payload.source,D=O.payload.target,v=O.payload.sourceHandle,F=O.payload.targetHandle;if(this.isStrictMode()){const ae=N({source:O.payload.source,sourceHandle:O.payload.sourceHandle,target:O.payload.target,targetHandle:O.payload.targetHandle});x=ae.source,D=ae.target,v=ae.sourceHandle,F=ae.targetHandle}const ce={source:x.node.id,target:D.node.id,sourceHandle:v.rawHandle.id,targetHandle:F.rawHandle.id};this.flowEntitiesService.connection().validator(ce)&&this.onConnect.emit(ce)}},{allowSignalWrites:!0}),this.isStrictMode=(0,s.Flj)(()=>"strict"===this.flowEntitiesService.connection().mode)}startConnection(O){this.statusService.setConnectionStartStatus(O.parentNode,O)}validateConnection(O){const x=this.statusService.status();if("connection-start"===x.state){let D=x.payload.source,v=O.parentNode,F=x.payload.sourceHandle,j=O;if(this.isStrictMode()){const U=N({source:x.payload.source,sourceHandle:x.payload.sourceHandle,target:O.parentNode,targetHandle:O});D=U.source,v=U.target,F=U.sourceHandle,j=U.targetHandle}const V=this.flowEntitiesService.connection().validator({source:D.node.id,target:v.node.id,sourceHandle:F.rawHandle.id,targetHandle:j.rawHandle.id});O.state.set(V?"valid":"invalid"),this.statusService.setConnectionValidationStatus(V,x.payload.source,O.parentNode,x.payload.sourceHandle,O)}}resetValidateConnection(O){O.state.set("idle");const x=this.statusService.status();"connection-validation"===x.state&&this.statusService.setConnectionStartStatus(x.payload.source,x.payload.sourceHandle)}endConnection(O){const x=this.statusService.status();if("connection-validation"===x.state){const D=x.payload.source,v=x.payload.sourceHandle,F=x.payload.target,j=x.payload.targetHandle;(0,m.a)(()=>this.statusService.setConnectionEndStatus(D,F,v,j),()=>this.statusService.setIdleStatus())}}static#e=this.\u0275fac=function(x){return new(x||P)};static#t=this.\u0275dir=s.lG2({type:P,selectors:[["","connectionController",""]],outputs:{onConnect:"onConnect"},standalone:!0})}return P})()},2712:(ve,_,d)=>{"use strict";d.d(_,{w:()=>P});var s=d(5879),m=d(667),o=d(9397),N=d(5023),L=d(1993);let P=(()=>{class R{constructor(){this.host=(0,s.f3M)(s.SBq),this.flowSettingsService=(0,s.f3M)(N.g),this.flowWidth=0,this.flowHeight=0,(0,s.cEC)(()=>{const x=this.flowSettingsService.view();this.flowWidth="auto"===x?"100%":x[0],this.flowHeight="auto"===x?"100%":x[1]}),(0,m.$)([this.host.nativeElement]).pipe((0,o.b)(([x])=>{this.flowSettingsService.computedFlowWidth.set(x.contentRect.width),this.flowSettingsService.computedFlowHeight.set(x.contentRect.height)}),(0,L.sL)()).subscribe()}static#e=this.\u0275fac=function(D){return new(D||R)};static#t=this.\u0275dir=s.lG2({type:R,selectors:[["svg","flowSizeController",""]],hostVars:2,hostBindings:function(D,v){2&D&&s.uIk("width",v.flowWidth)("height",v.flowHeight)}})}return R})()},1848:(ve,_,d)=>{"use strict";d.d(_,{$:()=>m});var s=d(5879);let m=(()=>{class N{constructor(){this.handleWrapper=(0,s.f3M)(s.SBq)}ngAfterViewInit(){const P=this.handleWrapper.nativeElement,R=P.getBBox(),O=function o(N){const L=N.firstElementChild;if(L){const P=getComputedStyle(L).strokeWidth,R=Number(P.replace("px",""));return isNaN(R)?0:R}return 0}(P);this.handleModel.size.set({width:R.width+O,height:R.height+O})}static#e=this.\u0275fac=function(R){return new(R||N)};static#t=this.\u0275dir=s.lG2({type:N,selectors:[["","handleSizeController",""]],inputs:{handleModel:["handleSizeController","handleModel"]}})}return N})()},5323:(ve,_,d)=>{"use strict";d.d(_,{b:()=>k});var s=d(5879),m=d(9567),o=d(8477),N=d(1551);function P(g){return((g=Math.exp(g))+1/g)/2}const x=function g(I,X,he){function Ue(ot,Ze){var Dr,Sn,yt=ot[0],Tt=ot[1],xt=ot[2],Jt=Ze[2],yn=Ze[0]-yt,ro=Ze[1]-Tt,co=yn*yn+ro*ro;if(co<1e-12)Sn=Math.log(Jt/xt)/I,Dr=function(Ci){return[yt+Ci*yn,Tt+Ci*ro,xt*Math.exp(I*Ci*Sn)]};else{var ti=Math.sqrt(co),ni=(Jt*Jt-xt*xt+he*co)/(2*xt*X*ti),yi=(Jt*Jt-xt*xt-he*co)/(2*Jt*X*ti),oi=Math.log(Math.sqrt(ni*ni+1)-ni),rr=Math.log(Math.sqrt(yi*yi+1)-yi);Sn=(rr-oi)/I,Dr=function(Ci){var Yi=Ci*Sn,gs=P(oi),Si=xt/(X*ti)*(gs*function O(g){return((g=Math.exp(2*g))-1)/(g+1)}(I*Yi+oi)-function R(g){return((g=Math.exp(g))-1/g)/2}(oi));return[yt+Si*yn,Tt+Si*ro,xt*gs/P(I*Yi+oi)]}}return Dr.duration=1e3*Sn*I/Math.SQRT2,Dr}return Ue.rho=function(ot){var Ze=Math.max(.001,+ot),yt=Ze*Ze;return g(Ze,yt,yt*yt)},Ue}(Math.SQRT2,2,4);var G,K,D=d(5045),v=d(8224),F=0,j=0,V=0,U=1e3,ce=0,ae=0,oe=0,Z="object"==typeof performance&&performance.now?performance:Date,J="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(g){setTimeout(g,17)};function q(){return ae||(J(ie),ae=Z.now()+oe)}function ie(){ae=0}function ge(){this._call=this._time=this._next=null}function Me(g,I,X){var he=new ge;return he.restart(g,I,X),he}function Ae(){ae=(ce=Z.now())+oe,F=j=0;try{!function Se(){q(),++F;for(var I,g=G;g;)(I=ae-g._time)>=0&&g._call.call(void 0,I),g=g._next;--F}()}finally{F=0,function ze(){for(var g,X,I=G,he=1/0;I;)I._call?(he>I._time&&(he=I._time),g=I,I=I._next):(X=I._next,I._next=null,I=g?g._next=X:G=X);K=g,Je(he)}(),ae=0}}function Fe(){var g=Z.now(),I=g-ce;I>U&&(oe-=I,ce=g)}function Je(g){F||(j&&(j=clearTimeout(j)),g-ae>24?(g<1/0&&(j=setTimeout(Ae,g-Z.now()-oe)),V&&(V=clearInterval(V))):(V||(ce=Z.now(),V=setInterval(Fe,U)),F=1,J(Ae)))}function tt(g,I,X){var he=new ge;return he.restart(Ue=>{he.stop(),g(Ue+I)},I=null==I?0:+I,X),he}ge.prototype=Me.prototype={constructor:ge,restart:function(g,I,X){if("function"!=typeof g)throw new TypeError("callback is not a function");X=(null==X?q():+X)+(null==I?0:+I),!this._next&&K!==this&&(K?K._next=this:G=this,K=this),this._call=g,this._time=X,Je()},stop:function(){this._call&&(this._call=null,this._time=1/0,Je())}};var _e=(0,o.Z)("start","end","cancel","interrupt"),Pe=[],Ie=0,Ge=3;function rt(g,I,X,he,Ue,ot){var Ze=g.__transition;if(Ze){if(X in Ze)return}else g.__transition={};!function jt(g,I,X){var Ue,he=g.__transition;function Ze(xt){var Lt,mn,Jt,yn;if(1!==X.state)return Tt();for(Lt in he)if((yn=he[Lt]).name===X.name){if(yn.state===Ge)return tt(Ze);4===yn.state?(yn.state=6,yn.timer.stop(),yn.on.call("interrupt",g,g.__data__,yn.index,yn.group),delete he[Lt]):+LtIe)throw new Error("too late; already scheduled");return X}function it(g,I){var X=Ct(g,I);if(X.state>Ge)throw new Error("too late; already running");return X}function Ct(g,I){var X=g.__transition;if(!X||!(X=X[I]))throw new Error("transition not found");return X}function pt(g,I){var he,Ue,Ze,X=g.__transition,ot=!0;if(X){for(Ze in I=null==I?null:I+"",X)(he=X[Ze]).name===I?(Ue=he.state>2&&he.state<5,he.state=6,he.timer.stop(),he.on.call(Ue?"interrupt":"cancel",g,g.__data__,he.index,he.group),delete X[Ze]):ot=!1;ot&&delete g.__transition}}function qt(g,I){return g=+g,I=+I,function(X){return g*(1-X)+I*X}}var qn,_n=180/Math.PI,In={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function no(g,I,X,he,Ue,ot){var Ze,yt,Tt;return(Ze=Math.sqrt(g*g+I*I))&&(g/=Ze,I/=Ze),(Tt=g*X+I*he)&&(X-=g*Tt,he-=I*Tt),(yt=Math.sqrt(X*X+he*he))&&(X/=yt,he/=yt,Tt/=yt),g*he180?Lt+=360:Lt-xt>180&&(xt+=360),Jt.push({i:mn.push(Ue(mn)+"rotate(",null,he)-2,x:qt(xt,Lt)})):Lt&&mn.push(Ue(mn)+"rotate("+Lt+he)}(xt.rotate,Lt.rotate,mn,Jt),function yt(xt,Lt,mn,Jt){xt!==Lt?Jt.push({i:mn.push(Ue(mn)+"skewX(",null,he)-2,x:qt(xt,Lt)}):Lt&&mn.push(Ue(mn)+"skewX("+Lt+he)}(xt.skewX,Lt.skewX,mn,Jt),function Tt(xt,Lt,mn,Jt,yn,ro){if(xt!==mn||Lt!==Jt){var co=yn.push(Ue(yn)+"scale(",null,",",null,")");ro.push({i:co-4,x:qt(xt,mn)},{i:co-2,x:qt(Lt,Jt)})}else(1!==mn||1!==Jt)&&yn.push(Ue(yn)+"scale("+mn+","+Jt+")")}(xt.scaleX,xt.scaleY,Lt.scaleX,Lt.scaleY,mn,Jt),xt=Lt=null,function(yn){for(var Dr,ro=-1,co=Jt.length;++ro>8&15|I>>4&240,I>>4&15|240&I,(15&I)<<4|15&I,1):8===X?de(I>>24&255,I>>16&255,I>>8&255,(255&I)/255):4===X?de(I>>12&15|I>>8&240,I>>8&15|I>>4&240,I>>4&15|240&I,((15&I)<<4|15&I)/255):null):(I=Oo.exec(g))?new Et(I[1],I[2],I[3],1):(I=Kn.exec(g))?new Et(255*I[1]/100,255*I[2]/100,255*I[3]/100,1):(I=Nn.exec(g))?de(I[1],I[2],I[3],I[4]):(I=Qn.exec(g))?de(255*I[1]/100,255*I[2]/100,255*I[3]/100,I[4]):(I=er.exec(g))?Ve(I[1],I[2]/100,I[3]/100,1):(I=Mr.exec(g))?Ve(I[1],I[2]/100,I[3]/100,I[4]):Vo.hasOwnProperty(g)?He(Vo[g]):"transparent"===g?new Et(NaN,NaN,NaN,0):null}function He(g){return new Et(g>>16&255,g>>8&255,255&g,1)}function de(g,I,X,he){return he<=0&&(g=I=X=NaN),new Et(g,I,X,he)}function We(g,I,X,he){return 1===arguments.length?function pe(g){return g instanceof qe||(g=Xe(g)),g?new Et((g=g.rgb()).r,g.g,g.b,g.opacity):new Et}(g):new Et(g,I,X,he??1)}function Et(g,I,X,he){this.r=+g,this.g=+I,this.b=+X,this.opacity=+he}function Ht(){return`#${so(this.r)}${so(this.g)}${so(this.b)}`}function Fn(){const g=un(this.opacity);return`${1===g?"rgb(":"rgba("}${io(this.r)}, ${io(this.g)}, ${io(this.b)}${1===g?")":`, ${g})`}`}function un(g){return isNaN(g)?1:Math.max(0,Math.min(1,g))}function io(g){return Math.max(0,Math.min(255,Math.round(g)||0))}function so(g){return((g=io(g))<16?"0":"")+g.toString(16)}function Ve(g,I,X,he){return he<=0?g=I=X=NaN:X<=0||X>=1?g=I=NaN:I<=0&&(g=NaN),new dt(g,I,X,he)}function Ee(g){if(g instanceof dt)return new dt(g.h,g.s,g.l,g.opacity);if(g instanceof qe||(g=Xe(g)),!g)return new dt;if(g instanceof dt)return g;var I=(g=g.rgb()).r/255,X=g.g/255,he=g.b/255,Ue=Math.min(I,X,he),ot=Math.max(I,X,he),Ze=NaN,yt=ot-Ue,Tt=(ot+Ue)/2;return yt?(Ze=I===ot?(X-he)/yt+6*(X0&&Tt<1?0:Ze,new dt(Ze,yt,Tt,g.opacity)}function dt(g,I,X,he){this.h=+g,this.s=+I,this.l=+X,this.opacity=+he}function Mt(g){return(g=(g||0)%360)<0?g+360:g}function ue(g){return Math.max(0,Math.min(1,g||0))}function we(g,I,X){return 255*(g<60?I+(X-I)*g/60:g<180?X:g<240?I+(X-I)*(240-g)/60:I)}function ht(g,I,X,he,Ue){var ot=g*g,Ze=ot*g;return((1-3*g+3*ot-Ze)*I+(4-6*ot+3*Ze)*X+(1+3*g+3*ot-3*Ze)*he+Ze*Ue)/6}fe(qe,Xe,{copy(g){return Object.assign(new this.constructor,this,g)},displayable(){return this.rgb().displayable()},hex:Te,formatHex:Te,formatHex8:function et(){return this.rgb().formatHex8()},formatHsl:function Pt(){return Ee(this).formatHsl()},formatRgb:gn,toString:gn}),fe(Et,We,Be(qe,{brighter(g){return g=null==g?_t:Math.pow(_t,g),new Et(this.r*g,this.g*g,this.b*g,this.opacity)},darker(g){return g=null==g?.7:Math.pow(.7,g),new Et(this.r*g,this.g*g,this.b*g,this.opacity)},rgb(){return this},clamp(){return new Et(io(this.r),io(this.g),io(this.b),un(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ht,formatHex:Ht,formatHex8:function on(){return`#${so(this.r)}${so(this.g)}${so(this.b)}${so(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Fn,toString:Fn})),fe(dt,function Ne(g,I,X,he){return 1===arguments.length?Ee(g):new dt(g,I,X,he??1)},Be(qe,{brighter(g){return g=null==g?_t:Math.pow(_t,g),new dt(this.h,this.s,this.l*g,this.opacity)},darker(g){return g=null==g?.7:Math.pow(.7,g),new dt(this.h,this.s,this.l*g,this.opacity)},rgb(){var g=this.h%360+360*(this.h<0),I=isNaN(g)||isNaN(this.s)?0:this.s,X=this.l,he=X+(X<.5?X:1-X)*I,Ue=2*X-he;return new Et(we(g>=240?g-240:g+120,Ue,he),we(g,Ue,he),we(g<120?g+240:g-120,Ue,he),this.opacity)},clamp(){return new dt(Mt(this.h),ue(this.s),ue(this.l),un(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const g=un(this.opacity);return`${1===g?"hsl(":"hsla("}${Mt(this.h)}, ${100*ue(this.s)}%, ${100*ue(this.l)}%${1===g?")":`, ${g})`}`}}));const Bt=g=>()=>g;function sn(g,I){var X=I-g;return X?function $t(g,I){return function(X){return g+X*I}}(g,X):Bt(isNaN(g)?I:g)}const mt=function g(I){var X=function an(g){return 1==(g=+g)?sn:function(I,X){return X-I?function Gt(g,I,X){return g=Math.pow(g,X),I=Math.pow(I,X)-g,X=1/X,function(he){return Math.pow(g+he*I,X)}}(I,X,g):Bt(isNaN(I)?X:I)}}(I);function he(Ue,ot){var Ze=X((Ue=We(Ue)).r,(ot=We(ot)).r),yt=X(Ue.g,ot.g),Tt=X(Ue.b,ot.b),xt=sn(Ue.opacity,ot.opacity);return function(Lt){return Ue.r=Ze(Lt),Ue.g=yt(Lt),Ue.b=Tt(Lt),Ue.opacity=xt(Lt),Ue+""}}return he.gamma=g,he}(1);function Vt(g){return function(I){var Ze,yt,X=I.length,he=new Array(X),Ue=new Array(X),ot=new Array(X);for(Ze=0;Ze=1?(X=1,I-1):Math.floor(X*I),Ue=g[he],ot=g[he+1];return ht((X-he/I)*I,he>0?g[he-1]:2*Ue-ot,Ue,ot,heX&&(ot=I.slice(X,ot),yt[Ze]?yt[Ze]+=ot:yt[++Ze]=ot),(he=he[0])===(Ue=Ue[0])?yt[Ze]?yt[Ze]+=Ue:yt[++Ze]=Ue:(yt[++Ze]=null,Tt.push({i:Ze,x:qt(he,Ue)})),X=uo.lastIndex;return X=0&&(I=I.slice(0,X)),!I||"start"===I})}(I)?De:it;return function(){var Ze=ot(this,g),yt=Ze.on;yt!==he&&(Ue=(he=yt).copy()).on(I,X),Ze.on=Ue}}(X,g,I))},attr:function Hr(g,I){var X=(0,Re.Z)(g),he="transform"===X?Io:Fo;return this.attrTween(g,"function"==typeof I?(X.local?Or:Di)(X,he,ne(this,"attr."+g,I)):null==I?(X.local?mo:Lo)(X):(X.local?jr:yr)(X,he,I))},attrTween:function bn(g,I){var X="attr."+g;if(arguments.length<2)return(X=this.tween(X))&&X._value;if(null==I)return this.tween(X,null);if("function"!=typeof I)throw new Error;var he=(0,Re.Z)(g);return this.tween(X,(he.local?fs:tr)(he,I))},style:function Dn(g,I,X){var he="transform"==(g+="")?Ao:Fo;return null==I?this.styleTween(g,function Uo(g,I){var X,he,Ue;return function(){var ot=(0,or.S)(this,g),Ze=(this.style.removeProperty(g),(0,or.S)(this,g));return ot===Ze?null:ot===X&&Ze===he?Ue:Ue=I(X=ot,he=Ze)}}(g,he)).on("end.style."+g,Cr(g)):"function"==typeof I?this.styleTween(g,function ar(g,I,X){var he,Ue,ot;return function(){var Ze=(0,or.S)(this,g),yt=X(this),Tt=yt+"";return null==yt&&(this.style.removeProperty(g),Tt=yt=(0,or.S)(this,g)),Ze===Tt?null:Ze===he&&Tt===Ue?ot:(Ue=Tt,ot=I(he=Ze,yt))}}(g,he,ne(this,"style."+g,I))).each(function Ur(g,I){var X,he,Ue,yt,ot="style."+I,Ze="end."+ot;return function(){var Tt=it(this,g),xt=Tt.on,Lt=null==Tt.value[ot]?yt||(yt=Cr(I)):void 0;(xt!==X||Ue!==Lt)&&(he=(X=xt).copy()).on(Ze,Ue=Lt),Tt.on=he}}(this._id,g)):this.styleTween(g,function Co(g,I,X){var he,ot,Ue=X+"";return function(){var Ze=(0,or.S)(this,g);return Ze===Ue?null:Ze===he?ot:ot=I(he=Ze,X)}}(g,he,I),X).on("end.style."+g,null)},styleTween:function gi(g,I,X){var he="style."+(g+="");if(arguments.length<2)return(he=this.tween(he))&&he._value;if(null==I)return this.tween(he,null);if("function"!=typeof I)throw new Error;return this.tween(he,function Ni(g,I,X){var he,Ue;function ot(){var Ze=I.apply(this,arguments);return Ze!==Ue&&(he=(Ue=Ze)&&function dr(g,I,X){return function(he){this.style.setProperty(g,I.call(this,he),X)}}(g,Ze,X)),he}return ot._value=I,ot}(g,I,X??""))},text:function $r(g){return this.tween("text","function"==typeof g?function Mi(g){return function(){var I=g(this);this.textContent=I??""}}(ne(this,"text",g)):function fo(g){return function(){this.textContent=g}}(null==g?"":g+""))},textTween:function Gi(g){var I="text";if(arguments.length<1)return(I=this.tween(I))&&I._value;if(null==g)return this.tween(I,null);if("function"!=typeof g)throw new Error;return this.tween(I,function zr(g){var I,X;function he(){var Ue=g.apply(this,arguments);return Ue!==X&&(I=(X=Ue)&&function cr(g){return function(I){this.textContent=g.call(this,I)}}(Ue)),I}return he._value=g,he}(g))},remove:function Vr(){return this.on("end.remove",function hi(g){return function(){var I=this.parentNode;for(var X in this.__transition)if(+X!==g)return;I&&I.removeChild(this)}}(this._id))},tween:function $(g,I){var X=this._id;if(g+="",arguments.length<2){for(var Ze,he=Ct(this.node(),X).tween,Ue=0,ot=he.length;Ue()=>g;function Yo(g,{sourceEvent:I,target:X,transform:he,dispatch:Ue}){Object.defineProperties(this,{type:{value:g,enumerable:!0,configurable:!0},sourceEvent:{value:I,enumerable:!0,configurable:!0},target:{value:X,enumerable:!0,configurable:!0},transform:{value:he,enumerable:!0,configurable:!0},_:{value:Ue}})}function oo(g,I,X){this.k=g,this.x=I,this.y=X}oo.prototype={constructor:oo,scale:function(g){return 1===g?this:new oo(this.k*g,this.x,this.y)},translate:function(g,I){return 0===g&0===I?this:new oo(this.k,this.x+this.k*g,this.y+this.k*I)},apply:function(g){return[g[0]*this.k+this.x,g[1]*this.k+this.y]},applyX:function(g){return g*this.k+this.x},applyY:function(g){return g*this.k+this.y},invert:function(g){return[(g[0]-this.x)/this.k,(g[1]-this.y)/this.k]},invertX:function(g){return(g-this.x)/this.k},invertY:function(g){return(g-this.y)/this.k},rescaleX:function(g){return g.copy().domain(g.range().map(this.invertX,this).map(g.invert,g))},rescaleY:function(g){return g.copy().domain(g.range().map(this.invertY,this).map(g.invert,g))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var br=new oo(1,0,0);function Oi(g){g.stopImmediatePropagation()}function Zo(g){g.preventDefault(),g.stopImmediatePropagation()}function qr(g){return!(g.ctrlKey&&"wheel"!==g.type||g.button)}function _i(){var g=this;return g instanceof SVGElement?(g=g.ownerSVGElement||g).hasAttribute("viewBox")?[[(g=g.viewBox.baseVal).x,g.y],[g.x+g.width,g.y+g.height]]:[[0,0],[g.width.baseVal.value,g.height.baseVal.value]]:[[0,0],[g.clientWidth,g.clientHeight]]}function is(){return this.__zoom||br}function Js(g){return-g.deltaY*(1===g.deltaMode?.05:g.deltaMode?1:.002)*(g.ctrlKey?10:1)}function ki(){return navigator.maxTouchPoints||"ontouchstart"in this}function ei(g,I,X){var he=g.invertX(I[0][0])-X[0][0],Ue=g.invertX(I[1][0])-X[1][0],ot=g.invertY(I[0][1])-X[0][1],Ze=g.invertY(I[1][1])-X[1][1];return g.translate(Ue>he?(he+Ue)/2:Math.min(0,he)||Math.max(0,Ue),Ze>ot?(ot+Ze)/2:Math.min(0,ot)||Math.max(0,Ze))}var qs=d(2189),vi=d(1567),Ro=d(4356),Bs=d(9516),It=d(5023);let k=(()=>{class g{constructor(){this.rootSvg=(0,s.f3M)(Ro.$).element,this.host=(0,s.f3M)(s.SBq).nativeElement,this.selectionService=(0,s.f3M)(Bs.z),this.viewportService=(0,s.f3M)(qs.v),this.flowSettingsService=(0,s.f3M)(It.g),this.rootSvgSelection=(0,m.Z)(this.rootSvg),this.zoomableSelection=(0,m.Z)(this.host),this.viewportForSelection={},this.manualViewportChangeEffect=(0,s.cEC)(()=>{const X=this.viewportService.writableViewport(),he=X.state;if("initial"!==X.changeType){if((0,vi.$)(he.zoom)&&!(0,vi.$)(he.x)&&!(0,vi.$)(he.y))return void this.rootSvgSelection.transition().duration(X.duration).call(this.zoomBehavior.scaleTo,he.zoom);if((0,vi.$)(he.x)&&(0,vi.$)(he.y)&&!(0,vi.$)(he.zoom)){const Ue=(0,s.rg0)(this.viewportService.readableViewport).zoom;return void this.rootSvgSelection.transition().duration(X.duration).call(this.zoomBehavior.transform,br.translate(he.x,he.y).scale(Ue))}if((0,vi.$)(he.x)&&(0,vi.$)(he.y)&&(0,vi.$)(he.zoom))return void this.rootSvgSelection.transition().duration(X.duration).call(this.zoomBehavior.transform,br.translate(he.x,he.y).scale(he.zoom))}},{allowSignalWrites:!0}),this.handleZoom=({transform:X})=>{this.viewportService.readableViewport.set(B(X)),this.zoomableSelection.attr("transform",X.toString())}}ngOnInit(){this.zoomBehavior=function Ms(){var Lt,mn,Jt,g=qr,I=_i,X=ei,he=Js,Ue=ki,ot=[0,1/0],Ze=[[-1/0,-1/0],[1/0,1/0]],yt=250,Tt=x,xt=(0,o.Z)("start","zoom","end"),yn=500,ro=150,co=0,Dr=10;function Sn(ft){ft.property("__zoom",is).on("wheel.zoom",Yi,{passive:!1}).on("mousedown.zoom",gs).on("dblclick.zoom",Si).filter(Ue).on("touchstart.zoom",ss).on("touchmove.zoom",ri).on("touchend.zoom touchcancel.zoom",js).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function ti(ft,hn){return(hn=Math.max(ot[0],Math.min(ot[1],hn)))===ft.k?ft:new oo(hn,ft.x,ft.y)}function ni(ft,hn,Ft){var pn=hn[0]-Ft[0]*ft.k,kn=hn[1]-Ft[1]*ft.k;return pn===ft.x&&kn===ft.y?ft:new oo(ft.k,pn,kn)}function yi(ft){return[(+ft[0][0]+ +ft[1][0])/2,(+ft[0][1]+ +ft[1][1])/2]}function oi(ft,hn,Ft,pn){ft.on("start.zoom",function(){rr(this,arguments).event(pn).start()}).on("interrupt.zoom end.zoom",function(){rr(this,arguments).event(pn).end()}).tween("zoom",function(){var kn=this,Wn=arguments,Gn=rr(kn,Wn).event(pn),go=I.apply(kn,Wn),zo=null==Ft?yi(go):"function"==typeof Ft?Ft.apply(kn,Wn):Ft,Sr=Math.max(go[1][0]-go[0][0],go[1][1]-go[0][1]),Bo=kn.__zoom,Fr="function"==typeof hn?hn.apply(kn,Wn):hn,ii=Tt(Bo.invert(zo).concat(Sr/Bo.k),Fr.invert(zo).concat(Sr/Fr.k));return function(E){if(1===E)E=Fr;else{var te=ii(E),H=Sr/te[2];E=new oo(H,zo[0]-te[0]*H,zo[1]-te[1]*H)}Gn.zoom(null,E)}})}function rr(ft,hn,Ft){return!Ft&&ft.__zooming||new Ci(ft,hn)}function Ci(ft,hn){this.that=ft,this.args=hn,this.active=0,this.sourceEvent=null,this.extent=I.apply(ft,hn),this.taps=0}function Yi(ft,...hn){if(g.apply(this,arguments)){var Ft=rr(this,hn).event(ft),pn=this.__zoom,kn=Math.max(ot[0],Math.min(ot[1],pn.k*Math.pow(2,he.apply(this,arguments)))),Wn=(0,D.Z)(ft);if(Ft.wheel)(Ft.mouse[0][0]!==Wn[0]||Ft.mouse[0][1]!==Wn[1])&&(Ft.mouse[1]=pn.invert(Ft.mouse[0]=Wn)),clearTimeout(Ft.wheel);else{if(pn.k===kn)return;Ft.mouse=[Wn,pn.invert(Wn)],pt(this),Ft.start()}Zo(ft),Ft.wheel=setTimeout(function Gn(){Ft.wheel=null,Ft.end()},ro),Ft.zoom("mouse",X(ni(ti(pn,kn),Ft.mouse[0],Ft.mouse[1]),Ft.extent,Ze))}}function gs(ft,...hn){if(!Jt&&g.apply(this,arguments)){var Ft=ft.currentTarget,pn=rr(this,hn,!0).event(ft),kn=(0,m.Z)(ft.view).on("mousemove.zoom",function zo(Bo){if(Zo(Bo),!pn.moved){var Fr=Bo.clientX-Gn,ii=Bo.clientY-go;pn.moved=Fr*Fr+ii*ii>co}pn.event(Bo).zoom("mouse",X(ni(pn.that.__zoom,pn.mouse[0]=(0,D.Z)(Bo,Ft),pn.mouse[1]),pn.extent,Ze))},!0).on("mouseup.zoom",function Sr(Bo){kn.on("mousemove.zoom mouseup.zoom",null),(0,N.D)(Bo.view,pn.moved),Zo(Bo),pn.event(Bo).end()},!0),Wn=(0,D.Z)(ft,Ft),Gn=ft.clientX,go=ft.clientY;(0,N.Z)(ft.view),Oi(ft),pn.mouse=[Wn,this.__zoom.invert(Wn)],pt(this),pn.start()}}function Si(ft,...hn){if(g.apply(this,arguments)){var Ft=this.__zoom,pn=(0,D.Z)(ft.changedTouches?ft.changedTouches[0]:ft,this),kn=Ft.invert(pn),Gn=X(ni(ti(Ft,Ft.k*(ft.shiftKey?.5:2)),pn,kn),I.apply(this,hn),Ze);Zo(ft),yt>0?(0,m.Z)(this).transition().duration(yt).call(oi,Gn,pn,ft):(0,m.Z)(this).call(Sn.transform,Gn,pn,ft)}}function ss(ft,...hn){if(g.apply(this,arguments)){var Wn,Gn,go,zo,Ft=ft.touches,pn=Ft.length,kn=rr(this,hn,ft.changedTouches.length===pn).event(ft);for(Oi(ft),Gn=0;Gnthis.onD3zoomStart(X)).on("zoom",X=>this.handleZoom(X)).on("end",X=>this.onD3zoomEnd(X)),this.rootSvgSelection.call(this.zoomBehavior).on("dblclick.zoom",null)}onD3zoomStart({transform:X}){this.viewportForSelection={start:B(X)}}onD3zoomEnd({transform:X,sourceEvent:he}){this.viewportForSelection={...this.viewportForSelection,end:B(X),target:w(he)},this.selectionService.setViewport(this.viewportForSelection)}static#e=this.\u0275fac=function(he){return new(he||g)};static#t=this.\u0275dir=s.lG2({type:g,selectors:[["g","mapContext",""]]})}return g})();const B=g=>({zoom:g.k,x:g.x,y:g.y}),w=g=>{if(g instanceof Event&&g.target instanceof Element)return g.target}},637:(ve,_,d)=>{"use strict";d.d(_,{V:()=>P});var s=d(5879),m=d(2181),o=d(9397),N=d(1993),L=d(948);let P=(()=>{class R{constructor(){this.hostElement=(0,s.f3M)(s.SBq).nativeElement,this.pointerMovementDirective=(0,s.f3M)(L.r),this.pointerOver=new s.vpe,this.pointerOut=new s.vpe,this.pointerStart=new s.vpe,this.pointerEnd=new s.vpe,this.wasPointerOver=!1,this.touchEnd=this.pointerMovementDirective.touchEnd$.pipe((0,m.h)(({target:x})=>x===this.hostElement),(0,o.b)(({originalEvent:x})=>this.pointerEnd.emit(x)),(0,N.sL)()).subscribe(),this.touchOverOut=this.pointerMovementDirective.touchMovement$.pipe((0,o.b)(({target:x,originalEvent:D})=>{this.handleTouchOverAndOut(x,D)}),(0,N.sL)()).subscribe()}onPointerStart(x){this.pointerStart.emit(x),x instanceof TouchEvent&&this.pointerMovementDirective.setInitialTouch(x)}onPointerEnd(x){this.pointerEnd.emit(x)}onMouseOver(x){this.pointerOver.emit(x)}onMouseOut(x){this.pointerOut.emit(x)}handleTouchOverAndOut(x,D){x===this.hostElement?(this.pointerOver.emit(D),this.wasPointerOver=!0):(this.wasPointerOver&&this.pointerOut.emit(D),this.wasPointerOver=!1)}static#e=this.\u0275fac=function(D){return new(D||R)};static#t=this.\u0275dir=s.lG2({type:R,selectors:[["","pointerStart",""],["","pointerEnd",""],["","pointerOver",""],["","pointerOut",""]],hostBindings:function(D,v){1&D&&s.NdJ("mousedown",function(j){return v.onPointerStart(j)})("touchstart",function(j){return v.onPointerStart(j)})("mouseup",function(j){return v.onPointerEnd(j)})("mouseover",function(j){return v.onMouseOver(j)})("mouseout",function(j){return v.onMouseOut(j)})},outputs:{pointerOver:"pointerOver",pointerOut:"pointerOut",pointerStart:"pointerStart",pointerEnd:"pointerEnd"}})}return R})()},4356:(ve,_,d)=>{"use strict";d.d(_,{$:()=>m});var s=d(5879);let m=(()=>{class o{constructor(){this.element=(0,s.f3M)(s.SBq).nativeElement}static#e=this.\u0275fac=function(P){return new(P||o)};static#t=this.\u0275dir=s.lG2({type:o,selectors:[["svg","rootSvgRef",""]]})}return o})()},948:(ve,_,d)=>{"use strict";d.d(_,{r:()=>D});var s=d(5879),m=d(8645),o=d(2438),N=d(7398),L=d(3093),P=d(927),R=d(3020),O=d(3019),x=d(9397);let D=(()=>{class v{constructor(){this.host=(0,s.f3M)(s.SBq).nativeElement,this.initialTouch$=new m.x,this.mouseMovement$=(0,o.R)(this.host,"mousemove").pipe((0,N.U)(j=>({x:j.clientX,y:j.clientY,originalEvent:j})),(0,L.Q)(P.Z),(0,R.B)()),this.touchMovement$=(0,O.T)(this.initialTouch$,(0,o.R)(this.host,"touchmove")).pipe((0,x.b)(j=>j.preventDefault()),(0,N.U)(j=>{const V=j.touches[0]?.clientX??0,U=j.touches[0]?.clientY??0;return{x:V,y:U,target:document.elementFromPoint(V,U),originalEvent:j}}),(0,L.Q)(P.Z),(0,R.B)()),this.touchEnd$=(0,o.R)(this.host,"touchend").pipe((0,N.U)(j=>{const V=j.changedTouches[0]?.clientX??0,U=j.changedTouches[0]?.clientY??0;return{x:V,y:U,target:document.elementFromPoint(V,U),originalEvent:j}}),(0,R.B)()),this.pointerMovement$=(0,O.T)(this.mouseMovement$,this.touchMovement$)}setInitialTouch(j){this.initialTouch$.next(j)}static#e=this.\u0275fac=function(V){return new(V||v)};static#t=this.\u0275dir=s.lG2({type:v,selectors:[["svg","rootPointer",""]]})}return v})()},4445:(ve,_,d)=>{"use strict";d.d(_,{C:()=>o});var s=d(5879),m=d(1981);let o=(()=>{class N{constructor(){this.flowStatusService=(0,s.f3M)(m.Q)}resetConnection(){"connection-start"===this.flowStatusService.status().state&&this.flowStatusService.setIdleStatus()}static#e=this.\u0275fac=function(R){return new(R||N)};static#t=this.\u0275dir=s.lG2({type:N,selectors:[["svg","rootSvgContext",""]],hostBindings:function(R,O){1&R&&s.NdJ("mouseup",function(){return O.resetConnection()},!1,s.evT)("touchend",function(){return O.resetConnection()},!1,s.evT)}})}return N})()},2757:(ve,_,d)=>{"use strict";d.d(_,{h:()=>P});var s=d(5879),m=d(9516),o=d(994),N=d(8567),L=d(5023);let P=(()=>{class R{constructor(){this.flowSettingsService=(0,s.f3M)(L.g),this.selectionService=(0,s.f3M)(m.z),this.parentEdge=(0,s.f3M)(o.p,{optional:!0}),this.parentNode=(0,s.f3M)(N.R,{optional:!0})}onMousedown(){const x=this.entity();x&&this.flowSettingsService.entitiesSelectable()&&this.selectionService.select(x)}entity(){return this.parentNode?this.parentNode.nodeModel:this.parentEdge?this.parentEdge.model:null}static#e=this.\u0275fac=function(D){return new(D||R)};static#t=this.\u0275dir=s.lG2({type:R,selectors:[["","selectable",""]],hostBindings:function(D,v){1&D&&s.NdJ("mousedown",function(){return v.onMousedown()})}})}return R})()},3767:(ve,_,d)=>{"use strict";d.d(_,{G:()=>L});var s=d(5879),m=d(1993),o=d(4356),N=d(948);let L=(()=>{class P{constructor(){this.pointerMovementDirective=(0,s.f3M)(N.r),this.rootSvg=(0,s.f3M)(o.$).element,this.host=(0,s.f3M)(s.SBq).nativeElement,this.svgCurrentSpacePoint=(0,s.Flj)(()=>{const O=this.pointerMovement();return O?this.documentPointToFlowPoint({x:O.x,y:O.y}):{x:0,y:0}}),this.pointerMovement=(0,m.O4)(this.pointerMovementDirective.pointerMovement$)}documentPointToFlowPoint(O){const x=this.rootSvg.createSVGPoint();return x.x=O.x,x.y=O.y,x.matrixTransform(this.host.getScreenCTM().inverse())}static#e=this.\u0275fac=function(x){return new(x||P)};static#t=this.\u0275dir=s.lG2({type:P,selectors:[["g","spacePointContext",""]]})}return P})()},8874:(ve,_,d)=>{"use strict";d.d(_,{B:()=>N,QC:()=>L,fn:()=>P,iS:()=>o,o6:()=>m});var s=d(5879);let m=(()=>{class R{constructor(){this.templateRef=(0,s.f3M)(s.Rgc)}static#e=this.\u0275fac=function(D){return new(D||R)};static#t=this.\u0275dir=s.lG2({type:R,selectors:[["ng-template","edge",""]]})}return R})(),o=(()=>{class R{constructor(){this.templateRef=(0,s.f3M)(s.Rgc)}static#e=this.\u0275fac=function(D){return new(D||R)};static#t=this.\u0275dir=s.lG2({type:R,selectors:[["ng-template","connection",""]]})}return R})(),N=(()=>{class R{constructor(){this.templateRef=(0,s.f3M)(s.Rgc)}static#e=this.\u0275fac=function(D){return new(D||R)};static#t=this.\u0275dir=s.lG2({type:R,selectors:[["ng-template","edgeLabelHtml",""]]})}return R})(),L=(()=>{class R{constructor(){this.templateRef=(0,s.f3M)(s.Rgc)}static#e=this.\u0275fac=function(D){return new(D||R)};static#t=this.\u0275dir=s.lG2({type:R,selectors:[["ng-template","nodeHtml",""]]})}return R})(),P=(()=>{class R{constructor(){this.templateRef=(0,s.f3M)(s.Rgc)}static#e=this.\u0275fac=function(D){return new(D||R)};static#t=this.\u0275dir=s.lG2({type:R,selectors:[["ng-template","handle",""]]})}return R})()},6094:(ve,_,d)=>{"use strict";d.d(_,{x:()=>o});var s=d(6371),m=d(125);function o(R,O,x,D,v=[!1,!1,!1]){const F=(0,s.ET)();F.moveTo(R.x,R.y);const j={x:R.x-O.x,y:R.y-O.y},V=N(R,x,j),U=N(O,D,j);return F.bezierCurveTo(V.x,V.y,U.x,U.y,O.x,O.y),function L(R,O,x,D,v,F){const[j,V,U]=F,G={x:0,y:0};return{path:R.toString(),points:{start:j?P(O,x,D,v,.1):G,center:V?P(O,x,D,v,.5):G,end:U?P(O,x,D,v,.9):G}}}(F,R,O,V,U,v)}function N(R,O,x){const D={x:0,y:0};switch(O){case"top":D.y=1;break;case"bottom":D.y=-1;break;case"right":D.x=1;break;case"left":D.x=-1}const v_x=x.x*Math.abs(D.x),v_y=x.y*Math.abs(D.y),j=6.25*Math.sqrt(Math.abs(v_x+v_y));return{x:R.x+D.x*j,y:R.y-D.y*j}}function P(R,O,x,D,v){const F=(0,m.e)(R,x,v),j=(0,m.e)(x,D,v),V=(0,m.e)(D,O,v);return(0,m.e)((0,m.e)(F,j,v),(0,m.e)(j,V,v),v)}},2034:(ve,_,d)=>{"use strict";d.d(_,{V:()=>o});var s=d(6371),m=d(125);function o(N,L,P=[!1,!1,!1]){const[R,O,x]=P,D={x:0,y:0},v=(0,s.ET)();return v.moveTo(N.x,N.y),v.lineTo(L.x,L.y),{path:v.toString(),points:{start:R?(0,m.e)(N,L,.15):D,center:O?(0,m.e)(N,L,.5):D,end:x?(0,m.e)(N,L,.85):D}}}},125:(ve,_,d)=>{"use strict";function s(m,o,N){return{x:(1-N)*m.x+N*o.x,y:(1-N)*m.y+N*o.y}}d.d(_,{e:()=>s})},1553:(ve,_,d)=>{"use strict";d.d(_,{L:()=>s});class s{constructor(L){this.settings=L,this.curve=L.curve??"bezier",this.type=L.type??"default",this.mode=L.mode??"strict";const P=this.getValidators(L);this.validator=R=>P.every(O=>O(R))}getValidators(L){const P=[];return P.push(m),"loose"===this.mode&&P.push(o),L.validator&&P.push(L.validator),P}}const m=N=>N.source!==N.target,o=N=>void 0!==N.sourceHandle&&void 0!==N.targetHandle},3498:(ve,_,d)=>{"use strict";d.d(_,{X:()=>x});var s=d(5879),m=d(1567),o=d(1993),N=d(5023),L=d(5619),P=d(3093),R=d(927),O=d(3870);let x=(()=>{class D{static#e=this.defaultTypeSize={width:100,height:50};constructor(F){this.node=F,this.flowSettingsService=(0,s.f3M)(N.g),this.internalPoint$=new L.X({x:0,y:0}),this.throttledPoint$=this.internalPoint$.pipe((0,P.Q)(R.Z)),this.point=(0,o.O4)(this.throttledPoint$,{initialValue:this.internalPoint$.getValue()}),this.point$=this.throttledPoint$,this.size=(0,s.tdS)({width:0,height:0}),this.renderOrder=(0,s.tdS)(0),this.selected=(0,s.tdS)(!1),this.selected$=(0,o.Dx)(this.selected),this.pointTransform=(0,s.Flj)(()=>`translate(${this.point().x}, ${this.point().y})`),this.sourcePosition=(0,s.Flj)(()=>this.flowSettingsService.handlePositions().source),this.targetPosition=(0,s.Flj)(()=>this.flowSettingsService.handlePositions().target),this.handles=(0,s.tdS)([]),this.handles$=(0,o.Dx)(this.handles),this.draggable=!0,this.magnetRadius=20,this.isComponentType=O.L.isPrototypeOf(this.node.type),this.componentTypeInputs=(0,s.Flj)(()=>({node:this.node,_selected:this.selected()})),this.setPoint(F.point),(0,m.$)(F.draggable)&&(this.draggable=F.draggable)}setPoint(F){this.internalPoint$.next(F)}}return D})()},3870:(ve,_,d)=>{"use strict";d.d(_,{L:()=>P});var s=d(5879),m=d(5091),o=d(3019),N=d(9397),L=d(1993);let P=(()=>{class R{constructor(){this.eventBus=(0,s.f3M)(m.d),this.destroyRef=(0,s.f3M)(s.ktI),this.selected=(0,s.tdS)(!1)}set _selected(x){this.selected.set(x)}ngOnInit(){this.trackEvents()}trackEvents(){const x=Object.getOwnPropertyNames(this),D=new Map;for(const v of x){const F=this[v];F instanceof s.vpe&&D.set(F,v)}(0,o.T)(...Array.from(D.keys()).map(v=>v.pipe((0,N.b)(F=>{this.eventBus.pushEvent({nodeId:this.node.id,eventName:D.get(v),eventPayload:F})})))).pipe((0,L.sL)(this.destroyRef)).subscribe()}static#e=this.\u0275fac=function(D){return new(D||R)};static#t=this.\u0275dir=s.lG2({type:R,inputs:{node:"node",_selected:"_selected"}})}return R})()},5091:(ve,_,d)=>{"use strict";d.d(_,{d:()=>o});var s=d(8645),m=d(5879);let o=(()=>{class N{constructor(){this._event$=new s.x,this.event$=this._event$.asObservable()}pushEvent(P){this._event$.next(P)}static#e=this.\u0275fac=function(R){return new(R||N)};static#t=this.\u0275prov=m.Yz7({token:N,factory:N.\u0275fac})}return N})()},9672:(ve,_,d)=>{"use strict";d.d(_,{$:()=>U});var s=d(9567),m=d(8477),o=d(5045),N=d(1551),L=d(4537);const P=G=>()=>G;function R(G,{sourceEvent:K,subject:ce,target:ae,identifier:oe,active:Z,x:J,y:q,dx:ie,dy:ge,dispatch:Me}){Object.defineProperties(this,{type:{value:G,enumerable:!0,configurable:!0},sourceEvent:{value:K,enumerable:!0,configurable:!0},subject:{value:ce,enumerable:!0,configurable:!0},target:{value:ae,enumerable:!0,configurable:!0},identifier:{value:oe,enumerable:!0,configurable:!0},active:{value:Z,enumerable:!0,configurable:!0},x:{value:J,enumerable:!0,configurable:!0},y:{value:q,enumerable:!0,configurable:!0},dx:{value:ie,enumerable:!0,configurable:!0},dy:{value:ge,enumerable:!0,configurable:!0},_:{value:Me}})}function O(G){return!G.ctrlKey&&!G.button}function x(){return this.parentNode}function D(G,K){return K??{x:G.x,y:G.y}}function v(){return navigator.maxTouchPoints||"ontouchstart"in this}function F(){var q,ie,ge,Me,G=O,K=x,ce=D,ae=v,oe={},Z=(0,m.Z)("start","drag","end"),J=0,Se=0;function Ae(ye){ye.on("mousedown.drag",Fe).filter(ae).on("touchstart.drag",tt).on("touchmove.drag",_e,L.Q7).on("touchend.drag touchcancel.drag",Pe).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function Fe(ye,je){if(!Me&&G.call(this,ye,je)){var Ge=Ie(this,K.call(this,ye,je),ye,je,"mouse");Ge&&((0,s.Z)(ye.view).on("mousemove.drag",ze,L.Dd).on("mouseup.drag",Je,L.Dd),(0,N.Z)(ye.view),(0,L.rG)(ye),ge=!1,q=ye.clientX,ie=ye.clientY,Ge("start",ye))}}function ze(ye){if((0,L.ZP)(ye),!ge){var je=ye.clientX-q,Ge=ye.clientY-ie;ge=je*je+Ge*Ge>Se}oe.mouse("drag",ye)}function Je(ye){(0,s.Z)(ye.view).on("mousemove.drag mouseup.drag",null),(0,N.D)(ye.view,ge),(0,L.ZP)(ye),oe.mouse("end",ye)}function tt(ye,je){if(G.call(this,ye,je)){var lt,rt,Ge=ye.changedTouches,Le=K.call(this,ye,je),ct=Ge.length;for(lt=0;ltMath.round(100*G)/100;var V=d(5879);let U=(()=>{class G{toggleDraggable(ce,ae){const oe=(0,s.Z)(ce),Z=ae.draggable?this.getDragBehavior(ae):this.getIgnoreDragBehavior();oe.call(Z)}destroy(ce){(0,s.Z)(ce).on(".drag",null)}getDragBehavior(ce){let ae,oe;return F().on("start",Z=>{ae=ce.point().x-Z.x,oe=ce.point().y-Z.y}).on("drag",Z=>{ce.setPoint({x:j(Z.x+ae),y:j(Z.y+oe)})})}getIgnoreDragBehavior(){return F().on("drag",ce=>{ce.sourceEvent.stopPropagation()})}static#e=this.\u0275fac=function(ae){return new(ae||G)};static#t=this.\u0275prov=V.Yz7({token:G,factory:G.\u0275fac})}return G})()},3258:(ve,_,d)=>{"use strict";d.d(_,{q:()=>N});var s=d(5879),m=d(1553),o=d(2925);let N=(()=>{class L{constructor(){this.nodes=(0,s.tdS)([],{equal:(R,O)=>!R.length&&!O.length||R===O}),this.edges=(0,s.tdS)([],{equal:(R,O)=>!R.length&&!O.length||R===O}),this.connection=(0,s.tdS)(new m.L({})),this.markers=(0,s.Flj)(()=>{const R=new Map;this.validEdges().forEach(x=>{if(x.edge.markers?.start){const D=(0,o.u)(JSON.stringify(x.edge.markers.start));R.set(D,x.edge.markers.start)}if(x.edge.markers?.end){const D=(0,o.u)(JSON.stringify(x.edge.markers.end));R.set(D,x.edge.markers.end)}});const O=this.connection().settings.marker;if(O){const x=(0,o.u)(JSON.stringify(O));R.set(x,O)}return R}),this.validEdges=(0,s.Flj)(()=>{const R=this.nodes();return this.edges().filter(O=>R.includes(O.source())&&R.includes(O.target()))}),this.entities=(0,s.Flj)(()=>[...this.nodes(),...this.edges()])}getNode(R){return this.nodes().find(({node:O})=>O.id===R)}getDetachedEdges(){return this.edges().filter(R=>R.detached())}static#e=this.\u0275fac=function(O){return new(O||L)};static#t=this.\u0275prov=s.Yz7({token:L,factory:L.\u0275fac})}return L})()},5023:(ve,_,d)=>{"use strict";d.d(_,{g:()=>m});var s=d(5879);let m=(()=>{class o{constructor(){this.entitiesSelectable=(0,s.tdS)(!0),this.handlePositions=(0,s.tdS)({source:"right",target:"left"}),this.view=(0,s.tdS)([400,400]),this.computedFlowWidth=(0,s.tdS)(0),this.computedFlowHeight=(0,s.tdS)(0),this.minZoom=(0,s.tdS)(.5),this.maxZoom=(0,s.tdS)(3)}static#e=this.\u0275fac=function(P){return new(P||o)};static#t=this.\u0275prov=s.Yz7({token:o,factory:o.\u0275fac})}return o})()},1981:(ve,_,d)=>{"use strict";d.d(_,{Q:()=>m,a:()=>o});var s=d(5879);let m=(()=>{class N{constructor(){this.status=(0,s.tdS)({state:"idle",payload:null})}setIdleStatus(){this.status.set({state:"idle",payload:null})}setConnectionStartStatus(P,R){this.status.set({state:"connection-start",payload:{source:P,sourceHandle:R}})}setConnectionValidationStatus(P,R,O,x,D){this.status.set({state:"connection-validation",payload:{source:R,target:O,sourceHandle:x,targetHandle:D,valid:P}})}setConnectionEndStatus(P,R,O,x){this.status.set({state:"connection-end",payload:{source:P,target:R,sourceHandle:O,targetHandle:x}})}static#e=this.\u0275fac=function(R){return new(R||N)};static#t=this.\u0275prov=s.Yz7({token:N,factory:N.\u0275fac})}return N})();function o(...N){if(N.length){const[L,...P]=N;L(),P.forEach(R=>setTimeout(()=>R()))}}},3986:(ve,_,d)=>{"use strict";d.d(_,{n:()=>m});var s=d(5879);let m=(()=>{class o{constructor(){this.node=(0,s.tdS)(null)}createHandle(L){const P=this.node();P&&P.handles.update(R=>[...R,L])}destroyHandle(L){const P=this.node();P&&P.handles.update(R=>R.filter(O=>O!==L))}static#e=this.\u0275fac=function(P){return new(P||o)};static#t=this.\u0275prov=s.Yz7({token:o,factory:o.\u0275fac})}return o})()},726:(ve,_,d)=>{"use strict";d.d(_,{W:()=>o});var s=d(5879),m=d(3258);let o=(()=>{class N{constructor(){this.flowEntitiesService=(0,s.f3M)(m.q),this.nodes=(0,s.Flj)(()=>this.flowEntitiesService.nodes().sort((P,R)=>P.renderOrder()-R.renderOrder()))}pullNode(P){const R=Math.max(...this.flowEntitiesService.nodes().map(O=>O.renderOrder()));P.renderOrder.set(R+1)}static#e=this.\u0275fac=function(R){return new(R||N)};static#t=this.\u0275prov=s.Yz7({token:N,factory:N.\u0275fac})}return N})()},9516:(ve,_,d)=>{"use strict";d.d(_,{z:()=>P});var s=d(5879),m=d(3258),o=d(8645),N=d(9397),L=d(1993);let P=(()=>{class R{constructor(){this.flowEntitiesService=(0,s.f3M)(m.q),this.viewport$=new o.x,this.resetSelection=this.viewport$.pipe((0,N.b)(({start:x,end:D,target:v})=>{if(x&&D&&v){const F=R.delta,j=Math.abs(D.x-x.x),V=Math.abs(D.y-x.y),U=jD.selected).forEach(D=>D.selected.set(!1)),x&&x.selected.set(!0)}static#t=this.\u0275fac=function(D){return new(D||R)};static#n=this.\u0275prov=s.Yz7({token:R,factory:R.\u0275fac})}return R})()},2189:(ve,_,d)=>{"use strict";d.d(_,{v:()=>D});var s=d(5879);var P=d(3258);var x=d(5023);let D=(()=>{class v{constructor(){this.entitiesService=(0,s.f3M)(P.q),this.flowSettingsService=(0,s.f3M)(x.g),this.writableViewport=(0,s.tdS)({changeType:"initial",state:v.getDefaultViewport(),duration:0}),this.readableViewport=(0,s.tdS)(v.getDefaultViewport())}static getDefaultViewport(){return{zoom:1,x:0,y:0}}fitView(j={padding:.1,duration:0,nodes:[]}){const U=function R(v,F,j,V,U,G){const oe=function O(v,F=0,j=1){return Math.min(Math.max(v,F),j)}(Math.min(F/(v.width*(1+G)),j/(v.height*(1+G))),V,U);return{x:F/2-(v.x+v.width/2)*oe,y:j/2-(v.y+v.height/2)*oe,zoom:oe}}(function m(v){if(0===v.length)return{x:0,y:0,width:0,height:0};let F={x:1/0,y:1/0,x2:-1/0,y2:-1/0};return v.forEach(j=>{const V=function o(v){return{x:v.point().x,y:v.point().y,x2:v.point().x+v.size().width,y2:v.point().y+v.size().height}}(j);F=function L(v,F){return{x:Math.min(v.x,F.x),y:Math.min(v.y,F.y),x2:Math.max(v.x2,F.x2),y2:Math.max(v.y2,F.y2)}}(F,V)}),function N({x:v,y:F,x2:j,y2:V}){return{x:v,y:F,width:j-v,height:V-F}}(F)}(this.getBoundsNodes(j.nodes??[])),this.flowSettingsService.computedFlowWidth(),this.flowSettingsService.computedFlowHeight(),this.flowSettingsService.minZoom(),this.flowSettingsService.maxZoom(),j.padding??.1);this.writableViewport.set({changeType:"absolute",state:U,duration:j.duration??0})}getBoundsNodes(j){return j?.length?j.map(V=>this.entitiesService.nodes().find(({node:U})=>U.id===V)).filter(V=>!!V):this.entitiesService.nodes()}static#e=this.\u0275fac=function(V){return new(V||v)};static#t=this.\u0275prov=s.Yz7({token:v,factory:v.\u0275fac})}return v})()},2925:(ve,_,d)=>{"use strict";function s(m){return m.split("").reduce((o,N)=>(o=(o<<5)-o+N.charCodeAt(0))&o,0)}d.d(_,{u:()=>s})},1567:(ve,_,d)=>{"use strict";function s(m){return void 0!==m}d.d(_,{$:()=>s})},667:(ve,_,d)=>{"use strict";d.d(_,{$:()=>m});var s=d(5592);function m(o){return new s.y(N=>{let L=new ResizeObserver(P=>{N.next(P)});return o.forEach(P=>L.observe(P)),()=>L.disconnect()})}},2898:(ve,_,d)=>{"use strict";d.d(_,{p:()=>ie});var s=d(6814),oe=(d(7146),d(8567),d(5323),d(994),d(9461),d(8874),d(5085),d(3767),d(4356),d(4445),d(5036),d(2274),d(1848),d(2757),d(637),d(948),d(494),d(2712),d(5879));let ie=(()=>{class ge{static#e=this.\u0275fac=function(Ae){return new(Ae||ge)};static#t=this.\u0275mod=oe.oAB({type:ge});static#n=this.\u0275inj=oe.cJS({imports:[s.ez]})}return ge})()},2549:(ve,_,d)=>{"use strict";d.d(_,{Al:()=>o,Li:()=>R,wq:()=>v});var s=d(5879);const m=new s.OlP("Context from *polymorpheusOutlet");class o{constructor(j,V){this.component=j,this.injector=V}createInjector(j,V){return s.zs3.create({parent:this.injector||j,providers:[{provide:m,useValue:V}]})}}let N=(()=>{class F{constructor(V,U){this.template=V,this.changeDetectorRef=U,this.polymorpheus=""}check(){this.changeDetectorRef.markForCheck()}static ngTemplateContextGuard(V,U){return!0}}return F.\u0275fac=function(V){return new(V||F)(s.Y36(s.Rgc,2),s.Y36(s.sBO))},F.\u0275dir=s.lG2({type:F,selectors:[["ng-template","polymorpheus",""]],inputs:{polymorpheus:"polymorpheus"},exportAs:["polymorpheus"]}),F})();class P{constructor(j){this.$implicit=j}get polymorpheusOutlet(){return this.$implicit}}let R=(()=>{class F{constructor(V,U,G){this.viewContainerRef=V,this.injector=U,this.templateRef=G,this.content=""}get template(){return O(this.content)?this.content.template:this.content instanceof s.Rgc?this.content:this.templateRef}ngOnChanges({content:V}){const U=this.getContext();if(this.viewRef&&(this.viewRef.context=U),this.componentRef&&this.componentRef.injector.get(s.sBO).markForCheck(),V)if(this.viewContainerRef.clear(),x(this.content)){const K=this.context&&new Proxy(this.context,{get:(oe,Z)=>{var J;return null===(J=this.context)||void 0===J?void 0:J[Z]}}),ce=this.content.createInjector(this.injector,K),ae=ce.get(s._Vd).resolveComponentFactory(this.content.component);this.componentRef=this.viewContainerRef.createComponent(ae,0,ce)}else null!=(U instanceof P&&U.$implicit)&&(this.viewRef=this.viewContainerRef.createEmbeddedView(this.template,U))}ngDoCheck(){O(this.content)&&this.content.check()}static ngTemplateContextGuard(V,U){return!0}getContext(){return function D(F){return O(F)||F instanceof s.Rgc}(this.content)||x(this.content)?this.context:new P("function"==typeof this.content?this.content(this.context):this.content)}}return F.\u0275fac=function(V){return new(V||F)(s.Y36(s.s_b),s.Y36(s.zs3),s.Y36(s.Rgc))},F.\u0275dir=s.lG2({type:F,selectors:[["","polymorpheusOutlet",""]],inputs:{content:["polymorpheusOutlet","content"],context:["polymorpheusOutletContext","context"]},features:[s.TTD]}),F})();function O(F){return F instanceof N}function x(F){return F instanceof o}let v=(()=>{class F{}return F.\u0275fac=function(V){return new(V||F)},F.\u0275mod=s.oAB({type:F}),F.\u0275inj=s.cJS({}),F})()},70:(ve,_,d)=>{"use strict";d.r(_),d.d(_,{AttributeAction:()=>o,IgnoreCaseMode:()=>m,SelectorType:()=>s,isTraversal:()=>O,parse:()=>V,stringify:()=>Z});var s=function(Se){return Se.Attribute="attribute",Se.Pseudo="pseudo",Se.PseudoElement="pseudo-element",Se.Tag="tag",Se.Universal="universal",Se.Adjacent="adjacent",Se.Child="child",Se.Descendant="descendant",Se.Parent="parent",Se.Sibling="sibling",Se.ColumnCombinator="column-combinator",Se}(s||{});const m={Unknown:null,QuirksMode:"quirks",IgnoreCase:!0,CaseSensitive:!1};var o=function(Se){return Se.Any="any",Se.Element="element",Se.End="end",Se.Equals="equals",Se.Exists="exists",Se.Hyphen="hyphen",Se.Not="not",Se.Start="start",Se}(o||{});const N=/^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,L=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,P=new Map([[126,o.Element],[94,o.Start],[36,o.End],[42,o.Any],[33,o.Not],[124,o.Hyphen]]),R=new Set(["has","not","matches","is","where","host","host-context"]);function O(Se){switch(Se.type){case s.Adjacent:case s.Child:case s.Descendant:case s.Parent:case s.Sibling:case s.ColumnCombinator:return!0;default:return!1}}const x=new Set(["contains","icontains"]);function D(Se,Ae,Fe){const ze=parseInt(Ae,16)-65536;return ze!=ze||Fe?Ae:ze<0?String.fromCharCode(ze+65536):String.fromCharCode(ze>>10|55296,1023&ze|56320)}function v(Se){return Se.replace(L,D)}function F(Se){return 39===Se||34===Se}function j(Se){return 32===Se||9===Se||10===Se||12===Se||13===Se}function V(Se){const Ae=[],Fe=U(Ae,`${Se}`,0);if(Fe0&&Fe0&&O(ze[ze.length-1]))throw new Error("Did not expect successive traversals.")}function ye(Le){ze.length>0&&ze[ze.length-1].type===s.Descendant?ze[ze.length-1].type=Le:(Ie(),ze.push({type:Le}))}function je(Le,ct){ze.push({type:s.Attribute,name:Le,action:ct,value:Je(1),namespace:null,ignoreCase:"quirks"})}function Ge(){if(ze.length&&ze[ze.length-1].type===s.Descendant&&ze.pop(),0===ze.length)throw new Error("Empty sub-selector");Se.push(ze)}if(tt(0),Ae.length===Fe)return Fe;e:for(;FeSe.charCodeAt(0))),ae=new Set(K.map(Se=>Se.charCodeAt(0))),oe=new Set([...K,"~","^","$","*","+","!","|",":","[","]"," ","."].map(Se=>Se.charCodeAt(0)));function Z(Se){return Se.map(Ae=>Ae.map(J).join("")).join(", ")}function J(Se,Ae,Fe){switch(Se.type){case s.Child:return 0===Ae?"> ":" > ";case s.Parent:return 0===Ae?"< ":" < ";case s.Sibling:return 0===Ae?"~ ":" ~ ";case s.Adjacent:return 0===Ae?"+ ":" + ";case s.Descendant:return" ";case s.ColumnCombinator:return 0===Ae?"|| ":" || ";case s.Universal:return"*"===Se.namespace&&Ae+10?ze+Se.slice(Fe):Se}},3218:(ve,_)=>{"use strict";var d,m;Object.defineProperty(_,"__esModule",{value:!0}),_.Doctype=_.CDATA=_.Tag=_.Style=_.Script=_.Comment=_.Directive=_.Text=_.Root=_.isTag=_.ElementType=void 0,(m=d=_.ElementType||(_.ElementType={})).Root="root",m.Text="text",m.Directive="directive",m.Comment="comment",m.Script="script",m.Style="style",m.Tag="tag",m.CDATA="cdata",m.Doctype="doctype",_.isTag=function s(m){return m.type===d.Tag||m.type===d.Script||m.type===d.Style},_.Root=d.Root,_.Text=d.Text,_.Directive=d.Directive,_.Comment=d.Comment,_.Script=d.Script,_.Style=d.Style,_.Tag=d.Tag,_.CDATA=d.CDATA,_.Doctype=d.Doctype},7212:ve=>{"use strict";function _(o,N){return!(!N||!m(o))||!!function s(o){return"[object String]"===Object.prototype.toString.call(o)}(o)&&(o=o.replace(/\s/g,"").replace(/\n|\r/,""),/^\{(.*?)\}$/.test(o)?/"(.*?)":(.*?)/g.test(o):!!/^\[(.*?)\]$/.test(o)&&o.replace(/^\[/,"").replace(/\]$/,"").replace(/},{/g,"}\n{").split(/\n/).map(function(L){return _(L)}).reduce(function(L,P){return!!P}))}function m(o){return"[object Object]"===Object.prototype.toString.call(o)}ve.exports=_,_.strict=function d(o){if(m(o))return!0;try{return JSON.parse(o)&&!0}catch{return!1}}},1761:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.a=class{constructor(s){this.source=s,this.lastPosition={line:1,column:1},this.lastIndex=0}getPosition(s){if(s{"use strict";Object.defineProperty(_,"__esModule",{value:!0});var s=d(1761),m=d(7030),o={lowerCaseTags:!1,lowerCaseAttributeNames:!1,decodeEntities:!1},N=[{name:"!doctype",start:"<",end:">"}],L=_.parser=(P,R={})=>{let O=new s.a(P),x=[],D=[],v=0,F={};function j(){return x[x.length-1]}function V(q,ie){return q.name instanceof RegExp?new RegExp(q.name.source,"i").test(ie):ie===q.name}let J=new m.Parser({onprocessinginstruction:function G(q,ie){var ge;let Me=N.concat(null!=(ge=R.directives)?ge:[]),Se=j();for(let Ae of Me){let Fe=Ae.start+ie+Ae.end;if(V(Ae,q.toLowerCase())){if(void 0===Se)return void D.push(Fe);"object"==typeof Se&&(void 0===Se.content&&(Se.content=[]),Array.isArray(Se.content)&&Se.content.push(Fe))}}},oncomment:function K(q){let ie=j(),ge=`\x3c!--${q}--\x3e`;void 0!==ie?"object"==typeof ie&&(void 0===ie.content&&(ie.content=[]),Array.isArray(ie.content)&&ie.content.push(ge)):D.push(ge)},onattribute:function ce(q,ie,ge){void 0===ge&&(F[q]=!0)},onopentag:function ae(q,ie){let ge={tag:q};R.sourceLocations&&(ge.location={start:O.getPosition(J.startIndex),end:O.getPosition(J.endIndex)},v=J.endIndex),Object.keys(ie).length>0&&(ge.attrs=function U(q){let ie={};return Object.keys(q).forEach(ge=>{let Me={};Me[ge]=String(q[ge]).replace(/"/g,'"'),R.recognizeNoValueAttribute&&F[ge]&&(Me[ge]=!0),Object.assign(ie,Me)}),ie}(ie)),F={},x.push(ge)},onclosetag:function oe(q,ie){let ge=x.pop();if(ge&&"object"==typeof ge&&ge.location&&null!==J.endIndex&&(ie?v0){let ge=ie.content[ie.content.length-1];if("string"==typeof ge&&!ge.startsWith("\x3c!--"))return void(ie.content[ie.content.length-1]=`${ge}${q}`)}void 0===ie.content&&(ie.content=[]),Array.isArray(ie.content)&&ie.content.push(q)}}else D.push(q)}},{...o,...R});return J.write(P),J.end(),D};_.parser=L},6863:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.attributeNames=_.elementNames=void 0,_.elementNames=new Map([["altglyph","altGlyph"],["altglyphdef","altGlyphDef"],["altglyphitem","altGlyphItem"],["animatecolor","animateColor"],["animatemotion","animateMotion"],["animatetransform","animateTransform"],["clippath","clipPath"],["feblend","feBlend"],["fecolormatrix","feColorMatrix"],["fecomponenttransfer","feComponentTransfer"],["fecomposite","feComposite"],["feconvolvematrix","feConvolveMatrix"],["fediffuselighting","feDiffuseLighting"],["fedisplacementmap","feDisplacementMap"],["fedistantlight","feDistantLight"],["fedropshadow","feDropShadow"],["feflood","feFlood"],["fefunca","feFuncA"],["fefuncb","feFuncB"],["fefuncg","feFuncG"],["fefuncr","feFuncR"],["fegaussianblur","feGaussianBlur"],["feimage","feImage"],["femerge","feMerge"],["femergenode","feMergeNode"],["femorphology","feMorphology"],["feoffset","feOffset"],["fepointlight","fePointLight"],["fespecularlighting","feSpecularLighting"],["fespotlight","feSpotLight"],["fetile","feTile"],["feturbulence","feTurbulence"],["foreignobject","foreignObject"],["glyphref","glyphRef"],["lineargradient","linearGradient"],["radialgradient","radialGradient"],["textpath","textPath"]]),_.attributeNames=new Map([["definitionurl","definitionURL"],["attributename","attributeName"],["attributetype","attributeType"],["basefrequency","baseFrequency"],["baseprofile","baseProfile"],["calcmode","calcMode"],["clippathunits","clipPathUnits"],["diffuseconstant","diffuseConstant"],["edgemode","edgeMode"],["filterunits","filterUnits"],["glyphref","glyphRef"],["gradienttransform","gradientTransform"],["gradientunits","gradientUnits"],["kernelmatrix","kernelMatrix"],["kernelunitlength","kernelUnitLength"],["keypoints","keyPoints"],["keysplines","keySplines"],["keytimes","keyTimes"],["lengthadjust","lengthAdjust"],["limitingconeangle","limitingConeAngle"],["markerheight","markerHeight"],["markerunits","markerUnits"],["markerwidth","markerWidth"],["maskcontentunits","maskContentUnits"],["maskunits","maskUnits"],["numoctaves","numOctaves"],["pathlength","pathLength"],["patterncontentunits","patternContentUnits"],["patterntransform","patternTransform"],["patternunits","patternUnits"],["pointsatx","pointsAtX"],["pointsaty","pointsAtY"],["pointsatz","pointsAtZ"],["preservealpha","preserveAlpha"],["preserveaspectratio","preserveAspectRatio"],["primitiveunits","primitiveUnits"],["refx","refX"],["refy","refY"],["repeatcount","repeatCount"],["repeatdur","repeatDur"],["requiredextensions","requiredExtensions"],["requiredfeatures","requiredFeatures"],["specularconstant","specularConstant"],["specularexponent","specularExponent"],["spreadmethod","spreadMethod"],["startoffset","startOffset"],["stddeviation","stdDeviation"],["stitchtiles","stitchTiles"],["surfacescale","surfaceScale"],["systemlanguage","systemLanguage"],["tablevalues","tableValues"],["targetx","targetX"],["targety","targetY"],["textlength","textLength"],["viewbox","viewBox"],["viewtarget","viewTarget"],["xchannelselector","xChannelSelector"],["ychannelselector","yChannelSelector"],["zoomandpan","zoomAndPan"]])},3758:function(ve,_,d){"use strict";var s=this&&this.__assign||function(){return s=Object.assign||function(oe){for(var Z,J=1,q=arguments.length;J"}(oe);case L.Comment:return function ae(oe){return"\x3c!--"+oe.data+"--\x3e"}(oe);case L.CDATA:return function ce(oe){return""}(oe);case L.Script:case L.Style:case L.Tag:return function U(oe,Z){var J;"foreign"===Z.xmlMode&&(oe.name=null!==(J=R.elementNames.get(oe.name))&&void 0!==J?J:oe.name,oe.parent&&j.has(oe.parent.name)&&(Z=s(s({},Z),{xmlMode:!1}))),!Z.xmlMode&&V.has(oe.name)&&(Z=s(s({},Z),{xmlMode:"foreign"}));var q="<"+oe.name,ie=function x(oe,Z){if(oe)return Object.keys(oe).map(function(J){var q,ie,ge=null!==(q=oe[J])&&void 0!==q?q:"";return"foreign"===Z.xmlMode&&(J=null!==(ie=R.attributeNames.get(J))&&void 0!==ie?ie:J),Z.emptyAttrs||Z.xmlMode||""!==ge?J+'="'+(!1!==Z.decodeEntities?P.encodeXML(ge):ge.replace(/"/g,"""))+'"':J}).join(" ")}(oe.attribs,Z);return ie&&(q+=" "+ie),0===oe.children.length&&(Z.xmlMode?!1!==Z.selfClosingTags:Z.selfClosingTags&&D.has(oe.name))?(Z.xmlMode||(q+=" "),q+="/>"):(q+=">",oe.children.length>0&&(q+=v(oe.children,Z)),(Z.xmlMode||!D.has(oe.name))&&(q+="")),q}(oe,Z);case L.Text:return function K(oe,Z){var J=oe.data||"";return!1!==Z.decodeEntities&&!(!Z.xmlMode&&oe.parent&&O.has(oe.parent.name))&&(J=P.encodeXML(J)),J}(oe,Z)}}_.default=v;var j=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),V=new Set(["svg","math"])},7272:function(ve,_,d){"use strict";var s=this&&this.__importDefault||function(D){return D&&D.__esModule?D:{default:D}};Object.defineProperty(_,"__esModule",{value:!0}),_.decodeHTML=_.decodeHTMLStrict=_.decodeXML=void 0;var m=s(d(3653)),o=s(d(4127)),N=s(d(148)),L=s(d(4452)),P=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;function R(D){var v=x(D);return function(F){return String(F).replace(P,v)}}_.decodeXML=R(N.default),_.decodeHTMLStrict=R(m.default);var O=function(D,v){return D65535&&(L-=65536,P+=String.fromCharCode(L>>>10&1023|55296),L=56320|1023&L),P+String.fromCharCode(L)};_.default=function N(L){return L>=55296&&L<=57343||L>1114111?"\ufffd":(L in m.default&&(L=m.default[L]),o(L))}},1557:function(ve,_,d){"use strict";var s=this&&this.__importDefault||function(ce){return ce&&ce.__esModule?ce:{default:ce}};Object.defineProperty(_,"__esModule",{value:!0}),_.escapeUTF8=_.escape=_.encodeNonAsciiHTML=_.encodeHTML=_.encodeXML=void 0;var o=O(s(d(148)).default),N=x(o);_.encodeXML=K(o);var P=O(s(d(3653)).default),R=x(P);function O(ce){return Object.keys(ce).sort().reduce(function(ae,oe){return ae[ce[oe]]="&"+oe+";",ae},{})}function x(ce){for(var ae=[],oe=[],Z=0,J=Object.keys(ce);Z1?v(ce):ce.charCodeAt(0)).toString(16).toUpperCase()+";"}var V=new RegExp(N.source+"|"+D.source,"g");function K(ce){return function(ae){return ae.replace(V,function(oe){return ce[oe]||F(oe)})}}_.escape=function U(ce){return ce.replace(V,F)},_.escapeUTF8=function G(ce){return ce.replace(N,F)}},6031:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.decodeXMLStrict=_.decodeHTML5Strict=_.decodeHTML4Strict=_.decodeHTML5=_.decodeHTML4=_.decodeHTMLStrict=_.decodeHTML=_.decodeXML=_.encodeHTML5=_.encodeHTML4=_.escapeUTF8=_.escape=_.encodeNonAsciiHTML=_.encodeHTML=_.encodeXML=_.encode=_.decodeStrict=_.decode=void 0;var s=d(7272),m=d(1557);_.decode=function o(O,x){return(!x||x<=0?s.decodeXML:s.decodeHTML)(O)},_.decodeStrict=function N(O,x){return(!x||x<=0?s.decodeXML:s.decodeHTMLStrict)(O)},_.encode=function L(O,x){return(!x||x<=0?m.encodeXML:m.encodeHTML)(O)};var P=d(1557);Object.defineProperty(_,"encodeXML",{enumerable:!0,get:function(){return P.encodeXML}}),Object.defineProperty(_,"encodeHTML",{enumerable:!0,get:function(){return P.encodeHTML}}),Object.defineProperty(_,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return P.encodeNonAsciiHTML}}),Object.defineProperty(_,"escape",{enumerable:!0,get:function(){return P.escape}}),Object.defineProperty(_,"escapeUTF8",{enumerable:!0,get:function(){return P.escapeUTF8}}),Object.defineProperty(_,"encodeHTML4",{enumerable:!0,get:function(){return P.encodeHTML}}),Object.defineProperty(_,"encodeHTML5",{enumerable:!0,get:function(){return P.encodeHTML}});var R=d(7272);Object.defineProperty(_,"decodeXML",{enumerable:!0,get:function(){return R.decodeXML}}),Object.defineProperty(_,"decodeHTML",{enumerable:!0,get:function(){return R.decodeHTML}}),Object.defineProperty(_,"decodeHTMLStrict",{enumerable:!0,get:function(){return R.decodeHTMLStrict}}),Object.defineProperty(_,"decodeHTML4",{enumerable:!0,get:function(){return R.decodeHTML}}),Object.defineProperty(_,"decodeHTML5",{enumerable:!0,get:function(){return R.decodeHTML}}),Object.defineProperty(_,"decodeHTML4Strict",{enumerable:!0,get:function(){return R.decodeHTMLStrict}}),Object.defineProperty(_,"decodeHTML5Strict",{enumerable:!0,get:function(){return R.decodeHTMLStrict}}),Object.defineProperty(_,"decodeXMLStrict",{enumerable:!0,get:function(){return R.decodeXML}})},9131:function(ve,_,d){"use strict";var s=this&&this.__createBinding||(Object.create?function(O,x,D,v){void 0===v&&(v=D);var F=Object.getOwnPropertyDescriptor(x,D);(!F||("get"in F?!x.__esModule:F.writable||F.configurable))&&(F={enumerable:!0,get:function(){return x[D]}}),Object.defineProperty(O,v,F)}:function(O,x,D,v){void 0===v&&(v=D),O[v]=x[D]}),m=this&&this.__exportStar||function(O,x){for(var D in O)"default"!==D&&!Object.prototype.hasOwnProperty.call(x,D)&&s(x,O,D)};Object.defineProperty(_,"__esModule",{value:!0}),_.DomHandler=void 0;var o=d(3218),N=d(7942);m(d(7942),_);var L=/\s+/g,P={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1,xmlMode:!1},R=function(){function O(x,D,v){this.dom=[],this.root=new N.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof D&&(v=D,D=P),"object"==typeof x&&(D=x,x=void 0),this.callback=x??null,this.options=D??P,this.elementCB=v??null}return O.prototype.onparserinit=function(x){this.parser=x},O.prototype.onreset=function(){this.dom=[],this.root=new N.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null},O.prototype.onend=function(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))},O.prototype.onerror=function(x){this.handleCallback(x)},O.prototype.onclosetag=function(){this.lastNode=null;var x=this.tagStack.pop();this.options.withEndIndices&&(x.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(x)},O.prototype.onopentag=function(x,D){var F=new N.Element(x,D,void 0,this.options.xmlMode?o.ElementType.Tag:void 0);this.addNode(F),this.tagStack.push(F)},O.prototype.ontext=function(x){var D=this.options.normalizeWhitespace,v=this.lastNode;if(v&&v.type===o.ElementType.Text)D?v.data=(v.data+x).replace(L," "):v.data+=x,this.options.withEndIndices&&(v.endIndex=this.parser.endIndex);else{D&&(x=x.replace(L," "));var F=new N.Text(x);this.addNode(F),this.lastNode=F}},O.prototype.oncomment=function(x){if(this.lastNode&&this.lastNode.type===o.ElementType.Comment)this.lastNode.data+=x;else{var D=new N.Comment(x);this.addNode(D),this.lastNode=D}},O.prototype.oncommentend=function(){this.lastNode=null},O.prototype.oncdatastart=function(){var x=new N.Text(""),D=new N.NodeWithChildren(o.ElementType.CDATA,[x]);this.addNode(D),x.parent=D,this.lastNode=x},O.prototype.oncdataend=function(){this.lastNode=null},O.prototype.onprocessinginstruction=function(x,D){var v=new N.ProcessingInstruction(x,D);this.addNode(v)},O.prototype.handleCallback=function(x){if("function"==typeof this.callback)this.callback(x,this.dom);else if(x)throw x},O.prototype.addNode=function(x){var D=this.tagStack[this.tagStack.length-1],v=D.children[D.children.length-1];this.options.withStartIndices&&(x.startIndex=this.parser.startIndex),this.options.withEndIndices&&(x.endIndex=this.parser.endIndex),D.children.push(x),v&&(x.prev=v,v.next=x),x.parent=D,this.lastNode=null},O}();_.DomHandler=R,_.default=R},7942:function(ve,_,d){"use strict";var J,s=this&&this.__extends||(J=function(q,ie){return(J=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(ge,Me){ge.__proto__=Me}||function(ge,Me){for(var Se in Me)Object.prototype.hasOwnProperty.call(Me,Se)&&(ge[Se]=Me[Se])})(q,ie)},function(q,ie){if("function"!=typeof ie&&null!==ie)throw new TypeError("Class extends value "+String(ie)+" is not a constructor or null");function ge(){this.constructor=q}J(q,ie),q.prototype=null===ie?Object.create(ie):(ge.prototype=ie.prototype,new ge)}),m=this&&this.__assign||function(){return m=Object.assign||function(J){for(var q,ie=1,ge=arguments.length;ie0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(q.prototype,"childNodes",{get:function(){return this.children},set:function(ie){this.children=ie},enumerable:!1,configurable:!0}),q}(L);_.NodeWithChildren=D;var v=function(J){function q(ie){return J.call(this,o.ElementType.Root,ie)||this}return s(q,J),q}(D);_.Document=v;var F=function(J){function q(ie,ge,Me,Se){void 0===Me&&(Me=[]),void 0===Se&&(Se="script"===ie?o.ElementType.Script:"style"===ie?o.ElementType.Style:o.ElementType.Tag);var Ae=J.call(this,Se,Me)||this;return Ae.name=ie,Ae.attribs=ge,Ae}return s(q,J),Object.defineProperty(q.prototype,"tagName",{get:function(){return this.name},set:function(ie){this.name=ie},enumerable:!1,configurable:!0}),Object.defineProperty(q.prototype,"attributes",{get:function(){var ie=this;return Object.keys(this.attribs).map(function(ge){var Me,Se;return{name:ge,value:ie.attribs[ge],namespace:null===(Me=ie["x-attribsNamespace"])||void 0===Me?void 0:Me[ge],prefix:null===(Se=ie["x-attribsPrefix"])||void 0===Se?void 0:Se[ge]}})},enumerable:!1,configurable:!0}),q}(D);function j(J){return(0,o.isTag)(J)}function V(J){return J.type===o.ElementType.CDATA}function U(J){return J.type===o.ElementType.Text}function G(J){return J.type===o.ElementType.Comment}function K(J){return J.type===o.ElementType.Directive}function ce(J){return J.type===o.ElementType.Root}function oe(J,q){var ie;if(void 0===q&&(q=!1),U(J))ie=new R(J.data);else if(G(J))ie=new O(J.data);else if(j(J)){var ge=q?Z(J.children):[],Me=new F(J.name,m({},J.attribs),ge);ge.forEach(function(ze){return ze.parent=Me}),null!=J.namespace&&(Me.namespace=J.namespace),J["x-attribsNamespace"]&&(Me["x-attribsNamespace"]=m({},J["x-attribsNamespace"])),J["x-attribsPrefix"]&&(Me["x-attribsPrefix"]=m({},J["x-attribsPrefix"])),ie=Me}else if(V(J)){ge=q?Z(J.children):[];var Se=new D(o.ElementType.CDATA,ge);ge.forEach(function(Je){return Je.parent=Se}),ie=Se}else if(ce(J)){ge=q?Z(J.children):[];var Ae=new v(ge);ge.forEach(function(Je){return Je.parent=Ae}),J["x-mode"]&&(Ae["x-mode"]=J["x-mode"]),ie=Ae}else{if(!K(J))throw new Error("Not implemented yet: ".concat(J.type));var Fe=new x(J.name,J.data);null!=J["x-name"]&&(Fe["x-name"]=J["x-name"],Fe["x-publicId"]=J["x-publicId"],Fe["x-systemId"]=J["x-systemId"]),ie=Fe}return ie.startIndex=J.startIndex,ie.endIndex=J.endIndex,null!=J.sourceCodeLocation&&(ie.sourceCodeLocation=J.sourceCodeLocation),ie}function Z(J){for(var q=J.map(function(ge){return oe(ge,!0)}),ie=1;ie{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.getFeed=void 0;var s=d(210),m=d(7710);_.getFeed=function o(j){var V=x(F,j);return V?"feed"===V.name?function N(j){var V,U=j.children,G={type:"atom",items:(0,m.getElementsByTagName)("entry",U).map(function(ae){var oe,Z=ae.children,J={media:O(Z)};v(J,"id","id",Z),v(J,"title","title",Z);var q=null===(oe=x("link",Z))||void 0===oe?void 0:oe.attribs.href;q&&(J.link=q);var ie=D("summary",Z)||D("content",Z);ie&&(J.description=ie);var ge=D("updated",Z);return ge&&(J.pubDate=new Date(ge)),J})};v(G,"id","id",U),v(G,"title","title",U);var K=null===(V=x("link",U))||void 0===V?void 0:V.attribs.href;K&&(G.link=K),v(G,"description","subtitle",U);var ce=D("updated",U);return ce&&(G.updated=new Date(ce)),v(G,"author","email",U,!0),G}(V):function L(j){var V,U,G=null!==(U=null===(V=x("channel",j.children))||void 0===V?void 0:V.children)&&void 0!==U?U:[],K={type:j.name.substr(0,3),id:"",items:(0,m.getElementsByTagName)("item",j.children).map(function(ae){var oe=ae.children,Z={media:O(oe)};v(Z,"id","guid",oe),v(Z,"title","title",oe),v(Z,"link","link",oe),v(Z,"description","description",oe);var J=D("pubDate",oe);return J&&(Z.pubDate=new Date(J)),Z})};v(K,"title","title",G),v(K,"link","link",G),v(K,"description","description",G);var ce=D("lastBuildDate",G);return ce&&(K.updated=new Date(ce)),v(K,"author","managingEditor",G,!0),K}(V):null};var P=["url","type","lang"],R=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function O(j){return(0,m.getElementsByTagName)("media:content",j).map(function(V){for(var U=V.attribs,G={medium:U.medium,isDefault:!!U.isDefault},K=0,ce=P;K{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.uniqueSort=_.compareDocumentPosition=_.removeSubsets=void 0;var s=d(9131);function o(L,P){var R=[],O=[];if(L===P)return 0;for(var x=(0,s.hasChildren)(L)?L:L.parent;x;)R.unshift(x),x=x.parent;for(x=(0,s.hasChildren)(P)?P:P.parent;x;)O.unshift(x),x=x.parent;for(var D=Math.min(R.length,O.length),v=0;vj.indexOf(U)?F===P?20:4:F===L?10:2}_.removeSubsets=function m(L){for(var P=L.length;--P>=0;){var R=L[P];if(P>0&&L.lastIndexOf(R,P-1)>=0)L.splice(P,1);else for(var O=R.parent;O;O=O.parent)if(L.includes(O)){L.splice(P,1);break}}return L},_.compareDocumentPosition=o,_.uniqueSort=function N(L){return(L=L.filter(function(P,R,O){return!O.includes(P,R+1)})).sort(function(P,R){var O=o(P,R);return 2&O?-1:4&O?1:0}),L}},5149:function(ve,_,d){"use strict";var s=this&&this.__createBinding||(Object.create?function(N,L,P,R){void 0===R&&(R=P),Object.defineProperty(N,R,{enumerable:!0,get:function(){return L[P]}})}:function(N,L,P,R){void 0===R&&(R=P),N[R]=L[P]}),m=this&&this.__exportStar||function(N,L){for(var P in N)"default"!==P&&!Object.prototype.hasOwnProperty.call(L,P)&&s(L,N,P)};Object.defineProperty(_,"__esModule",{value:!0}),_.hasChildren=_.isDocument=_.isComment=_.isText=_.isCDATA=_.isTag=void 0,m(d(210),_),m(d(7445),_),m(d(7192),_),m(d(3364),_),m(d(7710),_),m(d(6278),_),m(d(7932),_);var o=d(9131);Object.defineProperty(_,"isTag",{enumerable:!0,get:function(){return o.isTag}}),Object.defineProperty(_,"isCDATA",{enumerable:!0,get:function(){return o.isCDATA}}),Object.defineProperty(_,"isText",{enumerable:!0,get:function(){return o.isText}}),Object.defineProperty(_,"isComment",{enumerable:!0,get:function(){return o.isComment}}),Object.defineProperty(_,"isDocument",{enumerable:!0,get:function(){return o.isDocument}}),Object.defineProperty(_,"hasChildren",{enumerable:!0,get:function(){return o.hasChildren}})},7710:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.getElementsByTagType=_.getElementsByTagName=_.getElementById=_.getElements=_.testElement=void 0;var s=d(9131),m=d(3364),o={tag_name:function(F){return"function"==typeof F?function(j){return(0,s.isTag)(j)&&F(j.name)}:"*"===F?s.isTag:function(j){return(0,s.isTag)(j)&&j.name===F}},tag_type:function(F){return"function"==typeof F?function(j){return F(j.type)}:function(j){return j.type===F}},tag_contains:function(F){return"function"==typeof F?function(j){return(0,s.isText)(j)&&F(j.data)}:function(j){return(0,s.isText)(j)&&j.data===F}}};function N(F,j){return"function"==typeof j?function(V){return(0,s.isTag)(V)&&j(V.attribs[F])}:function(V){return(0,s.isTag)(V)&&V.attribs[F]===j}}function L(F,j){return function(V){return F(V)||j(V)}}function P(F){var j=Object.keys(F).map(function(V){var U=F[V];return Object.prototype.hasOwnProperty.call(o,V)?o[V](U):N(V,U)});return 0===j.length?null:j.reduce(L)}_.testElement=function R(F,j){var V=P(F);return!V||V(j)},_.getElements=function O(F,j,V,U){void 0===U&&(U=1/0);var G=P(F);return G?(0,m.filter)(G,j,V,U):[]},_.getElementById=function x(F,j,V){return void 0===V&&(V=!0),Array.isArray(j)||(j=[j]),(0,m.findOne)(N("id",F),j,V)},_.getElementsByTagName=function D(F,j,V,U){return void 0===V&&(V=!0),void 0===U&&(U=1/0),(0,m.filter)(o.tag_name(F),j,V,U)},_.getElementsByTagType=function v(F,j,V,U){return void 0===V&&(V=!0),void 0===U&&(U=1/0),(0,m.filter)(o.tag_type(F),j,V,U)}},7192:(ve,_)=>{"use strict";function d(P){if(P.prev&&(P.prev.next=P.next),P.next&&(P.next.prev=P.prev),P.parent){var R=P.parent.children;R.splice(R.lastIndexOf(P),1)}}Object.defineProperty(_,"__esModule",{value:!0}),_.prepend=_.prependChild=_.append=_.appendChild=_.replaceElement=_.removeElement=void 0,_.removeElement=d,_.replaceElement=function s(P,R){var O=R.prev=P.prev;O&&(O.next=R);var x=R.next=P.next;x&&(x.prev=R);var D=R.parent=P.parent;if(D){var v=D.children;v[v.lastIndexOf(P)]=R}},_.appendChild=function m(P,R){if(d(R),R.next=null,R.parent=P,P.children.push(R)>1){var O=P.children[P.children.length-2];O.next=R,R.prev=O}else R.prev=null},_.append=function o(P,R){d(R);var O=P.parent,x=P.next;if(R.next=x,R.prev=P,P.next=R,R.parent=O,x){if(x.prev=R,O){var D=O.children;D.splice(D.lastIndexOf(x),0,R)}}else O&&O.children.push(R)},_.prependChild=function N(P,R){if(d(R),R.parent=P,R.prev=null,1!==P.children.unshift(R)){var O=P.children[1];O.prev=R,R.next=O}else R.next=null},_.prepend=function L(P,R){d(R);var O=P.parent;if(O){var x=O.children;x.splice(x.indexOf(P),0,R)}P.prev&&(P.prev.next=R),R.parent=O,R.prev=P.prev,R.next=P,P.prev=R}},3364:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.findAll=_.existsOne=_.findOne=_.findOneChild=_.find=_.filter=void 0;var s=d(9131);function o(O,x,D,v){for(var F=[],j=0,V=x;j0){var G=o(O,U.children,D,v);if(F.push.apply(F,G),(v-=G.length)<=0)break}}return F}_.filter=function m(O,x,D,v){return void 0===D&&(D=!0),void 0===v&&(v=1/0),Array.isArray(x)||(x=[x]),o(O,x,D,v)},_.find=o,_.findOneChild=function N(O,x){return x.find(O)},_.findOne=function L(O,x,D){void 0===D&&(D=!0);for(var v=null,F=0;F0&&(v=L(O,j.children)))}return v},_.existsOne=function P(O,x){return x.some(function(D){return(0,s.isTag)(D)&&(O(D)||D.children.length>0&&P(O,D.children))})},_.findAll=function R(O,x){for(var D,j,v=[],F=x.filter(s.isTag);j=F.shift();){var V=null===(D=j.children)||void 0===D?void 0:D.filter(s.isTag);V&&V.length>0&&F.unshift.apply(F,V),O(j)&&v.push(j)}return v}},210:function(ve,_,d){"use strict";var s=this&&this.__importDefault||function(D){return D&&D.__esModule?D:{default:D}};Object.defineProperty(_,"__esModule",{value:!0}),_.innerText=_.textContent=_.getText=_.getInnerHTML=_.getOuterHTML=void 0;var m=d(9131),o=s(d(3758)),N=d(3218);function L(D,v){return(0,o.default)(D,v)}_.getOuterHTML=L,_.getInnerHTML=function P(D,v){return(0,m.hasChildren)(D)?D.children.map(function(F){return L(F,v)}).join(""):""},_.getText=function R(D){return Array.isArray(D)?D.map(R).join(""):(0,m.isTag)(D)?"br"===D.name?"\n":R(D.children):(0,m.isCDATA)(D)?R(D.children):(0,m.isText)(D)?D.data:""},_.textContent=function O(D){return Array.isArray(D)?D.map(O).join(""):(0,m.hasChildren)(D)&&!(0,m.isComment)(D)?O(D.children):(0,m.isText)(D)?D.data:""},_.innerText=function x(D){return Array.isArray(D)?D.map(x).join(""):(0,m.hasChildren)(D)&&(D.type===N.ElementType.Tag||(0,m.isCDATA)(D))?x(D.children):(0,m.isText)(D)?D.data:""}},7445:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.prevElementSibling=_.nextElementSibling=_.getName=_.hasAttrib=_.getAttributeValue=_.getSiblings=_.getParent=_.getChildren=void 0;var s=d(9131),m=[];function o(v){var F;return null!==(F=v.children)&&void 0!==F?F:m}function N(v){return v.parent||null}_.getChildren=o,_.getParent=N,_.getSiblings=function L(v){var V=N(v);if(null!=V)return o(V);for(var U=[v],G=v.prev,K=v.next;null!=G;)U.unshift(G),G=G.prev;for(;null!=K;)U.push(K),K=K.next;return U},_.getAttributeValue=function P(v,F){var j;return null===(j=v.attribs)||void 0===j?void 0:j[F]},_.hasAttrib=function R(v,F){return null!=v.attribs&&Object.prototype.hasOwnProperty.call(v.attribs,F)&&null!=v.attribs[F]},_.getName=function O(v){return v.name},_.nextElementSibling=function x(v){for(var j=v.next;null!==j&&!(0,s.isTag)(j);)j=j.next;return j},_.prevElementSibling=function D(v){for(var j=v.prev;null!==j&&!(0,s.isTag)(j);)j=j.prev;return j}},356:function(ve,_,d){"use strict";var s=this&&this.__importDefault||function(j){return j&&j.__esModule?j:{default:j}};Object.defineProperty(_,"__esModule",{value:!0}),_.decodeXML=_.decodeHTMLStrict=_.decodeHTML=_.determineBranch=_.JUMP_OFFSET_BASE=_.BinTrieFlags=_.xmlDecodeTree=_.htmlDecodeTree=void 0;var m=s(d(8891));_.htmlDecodeTree=m.default;var o=s(d(6381));_.xmlDecodeTree=o.default;var L,j,N=s(d(396));function P(j){return function(U,G){for(var K="",ce=0,ae=0;(ae=U.indexOf("&",ae))>=0;)if(K+=U.slice(ce,ae),ce=ae,35!==U.charCodeAt(ae+=1)){for(var ge=null,Me=1,Se=0,Ae=j[Se];ae=48&&J<=57||16===Z&&(32|J)>=97&&(32|J)<=102;);if(oe!==ae){var q=U.substring(oe,ae),ie=parseInt(q,Z);if(59===U.charCodeAt(ae))ae+=1;else if(G)continue;K+=N.default(ie),ce=ae}}return K+U.slice(ce)}}function R(j,V,U,G){if(V<=128)return G===V?U:-1;var K=(V&L.BRANCH_LENGTH)>>8;if(0===K)return-1;if(1===K)return G===j[U]?U+1:-1;var ce=V&L.JUMP_TABLE;if(ce){var ae=G-_.JUMP_OFFSET_BASE-ce;return ae<0||ae>K?-1:j[U+ae]-1}for(var oe=U,Z=oe+K-1;oe<=Z;){var J=oe+Z>>>1,q=j[J];if(qG))return j[J+K];Z=J-1}}return-1}(j=L=_.BinTrieFlags||(_.BinTrieFlags={}))[j.HAS_VALUE=32768]="HAS_VALUE",j[j.BRANCH_LENGTH=32512]="BRANCH_LENGTH",j[j.MULTI_BYTE=128]="MULTI_BYTE",j[j.JUMP_TABLE=127]="JUMP_TABLE",_.JUMP_OFFSET_BASE=47,_.determineBranch=R;var O=P(m.default),x=P(o.default);_.decodeHTML=function D(j){return O(j,!1)},_.decodeHTMLStrict=function v(j){return O(j,!0)},_.decodeXML=function F(j){return x(j,!0)}},396:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});var d=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),s=String.fromCodePoint||function(o){var N="";return o>65535&&(o-=65536,N+=String.fromCharCode(o>>>10&1023|55296),o=56320|1023&o),N+String.fromCharCode(o)};_.default=function m(o){var N;return o>=55296&&o<=57343||o>1114111?"\ufffd":s(null!==(N=d.get(o))&&void 0!==N?N:o)}},8891:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.default=new Uint16Array([14866,60,237,340,721,1312,1562,1654,1838,1957,2183,2239,2301,2958,3037,3893,4123,4298,4330,4801,5191,5395,5752,5903,5943,5972,6050,0,0,0,0,0,0,6135,6565,7422,8183,8738,9242,9503,9938,10189,10573,10637,10715,11950,12246,13539,13950,14445,14533,15364,16514,16980,17390,17763,17849,18036,18125,4096,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,92,100,106,115,122,137,142,151,157,163,167,182,196,204,220,229,108,105,103,33024,198,59,32768,198,80,33024,38,59,32768,38,99,117,116,101,33024,193,59,32768,193,114,101,118,101,59,32768,258,512,105,121,127,134,114,99,33024,194,59,32768,194,59,32768,1040,114,59,32896,55349,56580,114,97,118,101,33024,192,59,32768,192,112,104,97,59,32768,913,97,99,114,59,32768,256,100,59,32768,10835,512,103,112,172,177,111,110,59,32768,260,102,59,32896,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,32768,8289,105,110,103,33024,197,59,32768,197,512,99,115,209,214,114,59,32896,55349,56476,105,103,110,59,32768,8788,105,108,100,101,33024,195,59,32768,195,109,108,33024,196,59,32768,196,2048,97,99,101,102,111,114,115,117,253,278,282,310,315,321,327,332,512,99,114,258,267,107,115,108,97,115,104,59,32768,8726,583,271,274,59,32768,10983,101,100,59,32768,8966,121,59,32768,1041,768,99,114,116,289,296,306,97,117,115,101,59,32768,8757,110,111,117,108,108,105,115,59,32768,8492,97,59,32768,914,114,59,32896,55349,56581,112,102,59,32896,55349,56633,101,118,101,59,32768,728,99,114,59,32768,8492,109,112,101,113,59,32768,8782,3584,72,79,97,99,100,101,102,104,105,108,111,114,115,117,368,373,380,426,461,466,487,491,495,533,593,695,701,707,99,121,59,32768,1063,80,89,33024,169,59,32768,169,768,99,112,121,387,393,419,117,116,101,59,32768,262,512,59,105,398,400,32768,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,32768,8517,108,101,121,115,59,32768,8493,1024,97,101,105,111,435,441,449,454,114,111,110,59,32768,268,100,105,108,33024,199,59,32768,199,114,99,59,32768,264,110,105,110,116,59,32768,8752,111,116,59,32768,266,512,100,110,471,478,105,108,108,97,59,32768,184,116,101,114,68,111,116,59,32768,183,114,59,32768,8493,105,59,32768,935,114,99,108,101,1024,68,77,80,84,508,513,520,526,111,116,59,32768,8857,105,110,117,115,59,32768,8854,108,117,115,59,32768,8853,105,109,101,115,59,32768,8855,111,512,99,115,539,562,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,32768,8754,101,67,117,114,108,121,512,68,81,573,586,111,117,98,108,101,81,117,111,116,101,59,32768,8221,117,111,116,101,59,32768,8217,1024,108,110,112,117,602,614,648,664,111,110,512,59,101,609,611,32768,8759,59,32768,10868,768,103,105,116,621,629,634,114,117,101,110,116,59,32768,8801,110,116,59,32768,8751,111,117,114,73,110,116,101,103,114,97,108,59,32768,8750,512,102,114,653,656,59,32768,8450,111,100,117,99,116,59,32768,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,32768,8755,111,115,115,59,32768,10799,99,114,59,32896,55349,56478,112,512,59,67,713,715,32768,8915,97,112,59,32768,8781,2816,68,74,83,90,97,99,101,102,105,111,115,743,758,763,768,773,795,809,821,826,910,1295,512,59,111,748,750,32768,8517,116,114,97,104,100,59,32768,10513,99,121,59,32768,1026,99,121,59,32768,1029,99,121,59,32768,1039,768,103,114,115,780,786,790,103,101,114,59,32768,8225,114,59,32768,8609,104,118,59,32768,10980,512,97,121,800,806,114,111,110,59,32768,270,59,32768,1044,108,512,59,116,815,817,32768,8711,97,59,32768,916,114,59,32896,55349,56583,512,97,102,831,897,512,99,109,836,891,114,105,116,105,99,97,108,1024,65,68,71,84,852,859,877,884,99,117,116,101,59,32768,180,111,581,864,867,59,32768,729,98,108,101,65,99,117,116,101,59,32768,733,114,97,118,101,59,32768,96,105,108,100,101,59,32768,732,111,110,100,59,32768,8900,102,101,114,101,110,116,105,97,108,68,59,32768,8518,2113,920,0,0,0,925,946,0,1139,102,59,32896,55349,56635,768,59,68,69,931,933,938,32768,168,111,116,59,32768,8412,113,117,97,108,59,32768,8784,98,108,101,1536,67,68,76,82,85,86,961,978,996,1080,1101,1125,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,32768,8751,111,1093,985,0,0,988,59,32768,168,110,65,114,114,111,119,59,32768,8659,512,101,111,1001,1034,102,116,768,65,82,84,1010,1017,1029,114,114,111,119,59,32768,8656,105,103,104,116,65,114,114,111,119,59,32768,8660,101,101,59,32768,10980,110,103,512,76,82,1041,1068,101,102,116,512,65,82,1049,1056,114,114,111,119,59,32768,10232,105,103,104,116,65,114,114,111,119,59,32768,10234,105,103,104,116,65,114,114,111,119,59,32768,10233,105,103,104,116,512,65,84,1089,1096,114,114,111,119,59,32768,8658,101,101,59,32768,8872,112,1042,1108,0,0,1115,114,114,111,119,59,32768,8657,111,119,110,65,114,114,111,119,59,32768,8661,101,114,116,105,99,97,108,66,97,114,59,32768,8741,110,1536,65,66,76,82,84,97,1152,1179,1186,1236,1272,1288,114,114,111,119,768,59,66,85,1163,1165,1170,32768,8595,97,114,59,32768,10515,112,65,114,114,111,119,59,32768,8693,114,101,118,101,59,32768,785,101,102,116,1315,1196,0,1209,0,1220,105,103,104,116,86,101,99,116,111,114,59,32768,10576,101,101,86,101,99,116,111,114,59,32768,10590,101,99,116,111,114,512,59,66,1229,1231,32768,8637,97,114,59,32768,10582,105,103,104,116,805,1245,0,1256,101,101,86,101,99,116,111,114,59,32768,10591,101,99,116,111,114,512,59,66,1265,1267,32768,8641,97,114,59,32768,10583,101,101,512,59,65,1279,1281,32768,8868,114,114,111,119,59,32768,8615,114,114,111,119,59,32768,8659,512,99,116,1300,1305,114,59,32896,55349,56479,114,111,107,59,32768,272,4096,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1344,1348,1354,1363,1386,1391,1396,1405,1413,1460,1475,1483,1514,1527,1531,1538,71,59,32768,330,72,33024,208,59,32768,208,99,117,116,101,33024,201,59,32768,201,768,97,105,121,1370,1376,1383,114,111,110,59,32768,282,114,99,33024,202,59,32768,202,59,32768,1069,111,116,59,32768,278,114,59,32896,55349,56584,114,97,118,101,33024,200,59,32768,200,101,109,101,110,116,59,32768,8712,512,97,112,1418,1423,99,114,59,32768,274,116,121,1060,1431,0,0,1444,109,97,108,108,83,113,117,97,114,101,59,32768,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,32768,9643,512,103,112,1465,1470,111,110,59,32768,280,102,59,32896,55349,56636,115,105,108,111,110,59,32768,917,117,512,97,105,1489,1504,108,512,59,84,1495,1497,32768,10869,105,108,100,101,59,32768,8770,108,105,98,114,105,117,109,59,32768,8652,512,99,105,1519,1523,114,59,32768,8496,109,59,32768,10867,97,59,32768,919,109,108,33024,203,59,32768,203,512,105,112,1543,1549,115,116,115,59,32768,8707,111,110,101,110,116,105,97,108,69,59,32768,8519,1280,99,102,105,111,115,1572,1576,1581,1620,1648,121,59,32768,1060,114,59,32896,55349,56585,108,108,101,100,1060,1591,0,0,1604,109,97,108,108,83,113,117,97,114,101,59,32768,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,32768,9642,1601,1628,0,1633,0,0,1639,102,59,32896,55349,56637,65,108,108,59,32768,8704,114,105,101,114,116,114,102,59,32768,8497,99,114,59,32768,8497,3072,74,84,97,98,99,100,102,103,111,114,115,116,1678,1683,1688,1701,1708,1729,1734,1739,1742,1748,1828,1834,99,121,59,32768,1027,33024,62,59,32768,62,109,109,97,512,59,100,1696,1698,32768,915,59,32768,988,114,101,118,101,59,32768,286,768,101,105,121,1715,1721,1726,100,105,108,59,32768,290,114,99,59,32768,284,59,32768,1043,111,116,59,32768,288,114,59,32896,55349,56586,59,32768,8921,112,102,59,32896,55349,56638,101,97,116,101,114,1536,69,70,71,76,83,84,1766,1783,1794,1803,1809,1821,113,117,97,108,512,59,76,1775,1777,32768,8805,101,115,115,59,32768,8923,117,108,108,69,113,117,97,108,59,32768,8807,114,101,97,116,101,114,59,32768,10914,101,115,115,59,32768,8823,108,97,110,116,69,113,117,97,108,59,32768,10878,105,108,100,101,59,32768,8819,99,114,59,32896,55349,56482,59,32768,8811,2048,65,97,99,102,105,111,115,117,1854,1861,1874,1880,1884,1897,1919,1934,82,68,99,121,59,32768,1066,512,99,116,1866,1871,101,107,59,32768,711,59,32768,94,105,114,99,59,32768,292,114,59,32768,8460,108,98,101,114,116,83,112,97,99,101,59,32768,8459,833,1902,0,1906,102,59,32768,8461,105,122,111,110,116,97,108,76,105,110,101,59,32768,9472,512,99,116,1924,1928,114,59,32768,8459,114,111,107,59,32768,294,109,112,533,1940,1950,111,119,110,72,117,109,112,59,32768,8782,113,117,97,108,59,32768,8783,3584,69,74,79,97,99,100,102,103,109,110,111,115,116,117,1985,1990,1996,2001,2010,2025,2030,2034,2043,2077,2134,2155,2160,2167,99,121,59,32768,1045,108,105,103,59,32768,306,99,121,59,32768,1025,99,117,116,101,33024,205,59,32768,205,512,105,121,2015,2022,114,99,33024,206,59,32768,206,59,32768,1048,111,116,59,32768,304,114,59,32768,8465,114,97,118,101,33024,204,59,32768,204,768,59,97,112,2050,2052,2070,32768,8465,512,99,103,2057,2061,114,59,32768,298,105,110,97,114,121,73,59,32768,8520,108,105,101,115,59,32768,8658,837,2082,0,2110,512,59,101,2086,2088,32768,8748,512,103,114,2093,2099,114,97,108,59,32768,8747,115,101,99,116,105,111,110,59,32768,8898,105,115,105,98,108,101,512,67,84,2120,2127,111,109,109,97,59,32768,8291,105,109,101,115,59,32768,8290,768,103,112,116,2141,2146,2151,111,110,59,32768,302,102,59,32896,55349,56640,97,59,32768,921,99,114,59,32768,8464,105,108,100,101,59,32768,296,828,2172,0,2177,99,121,59,32768,1030,108,33024,207,59,32768,207,1280,99,102,111,115,117,2193,2206,2211,2217,2232,512,105,121,2198,2203,114,99,59,32768,308,59,32768,1049,114,59,32896,55349,56589,112,102,59,32896,55349,56641,820,2222,0,2227,114,59,32896,55349,56485,114,99,121,59,32768,1032,107,99,121,59,32768,1028,1792,72,74,97,99,102,111,115,2253,2258,2263,2269,2283,2288,2294,99,121,59,32768,1061,99,121,59,32768,1036,112,112,97,59,32768,922,512,101,121,2274,2280,100,105,108,59,32768,310,59,32768,1050,114,59,32896,55349,56590,112,102,59,32896,55349,56642,99,114,59,32896,55349,56486,2816,74,84,97,99,101,102,108,109,111,115,116,2323,2328,2333,2374,2396,2775,2780,2797,2804,2934,2954,99,121,59,32768,1033,33024,60,59,32768,60,1280,99,109,110,112,114,2344,2350,2356,2360,2370,117,116,101,59,32768,313,98,100,97,59,32768,923,103,59,32768,10218,108,97,99,101,116,114,102,59,32768,8466,114,59,32768,8606,768,97,101,121,2381,2387,2393,114,111,110,59,32768,317,100,105,108,59,32768,315,59,32768,1051,512,102,115,2401,2702,116,2560,65,67,68,70,82,84,85,86,97,114,2423,2470,2479,2530,2537,2561,2618,2666,2683,2690,512,110,114,2428,2441,103,108,101,66,114,97,99,107,101,116,59,32768,10216,114,111,119,768,59,66,82,2451,2453,2458,32768,8592,97,114,59,32768,8676,105,103,104,116,65,114,114,111,119,59,32768,8646,101,105,108,105,110,103,59,32768,8968,111,838,2485,0,2498,98,108,101,66,114,97,99,107,101,116,59,32768,10214,110,805,2503,0,2514,101,101,86,101,99,116,111,114,59,32768,10593,101,99,116,111,114,512,59,66,2523,2525,32768,8643,97,114,59,32768,10585,108,111,111,114,59,32768,8970,105,103,104,116,512,65,86,2546,2553,114,114,111,119,59,32768,8596,101,99,116,111,114,59,32768,10574,512,101,114,2566,2591,101,768,59,65,86,2574,2576,2583,32768,8867,114,114,111,119,59,32768,8612,101,99,116,111,114,59,32768,10586,105,97,110,103,108,101,768,59,66,69,2604,2606,2611,32768,8882,97,114,59,32768,10703,113,117,97,108,59,32768,8884,112,768,68,84,86,2626,2638,2649,111,119,110,86,101,99,116,111,114,59,32768,10577,101,101,86,101,99,116,111,114,59,32768,10592,101,99,116,111,114,512,59,66,2659,2661,32768,8639,97,114,59,32768,10584,101,99,116,111,114,512,59,66,2676,2678,32768,8636,97,114,59,32768,10578,114,114,111,119,59,32768,8656,105,103,104,116,97,114,114,111,119,59,32768,8660,115,1536,69,70,71,76,83,84,2716,2730,2741,2750,2756,2768,113,117,97,108,71,114,101,97,116,101,114,59,32768,8922,117,108,108,69,113,117,97,108,59,32768,8806,114,101,97,116,101,114,59,32768,8822,101,115,115,59,32768,10913,108,97,110,116,69,113,117,97,108,59,32768,10877,105,108,100,101,59,32768,8818,114,59,32896,55349,56591,512,59,101,2785,2787,32768,8920,102,116,97,114,114,111,119,59,32768,8666,105,100,111,116,59,32768,319,768,110,112,119,2811,2899,2904,103,1024,76,82,108,114,2821,2848,2860,2887,101,102,116,512,65,82,2829,2836,114,114,111,119,59,32768,10229,105,103,104,116,65,114,114,111,119,59,32768,10231,105,103,104,116,65,114,114,111,119,59,32768,10230,101,102,116,512,97,114,2868,2875,114,114,111,119,59,32768,10232,105,103,104,116,97,114,114,111,119,59,32768,10234,105,103,104,116,97,114,114,111,119,59,32768,10233,102,59,32896,55349,56643,101,114,512,76,82,2911,2922,101,102,116,65,114,114,111,119,59,32768,8601,105,103,104,116,65,114,114,111,119,59,32768,8600,768,99,104,116,2941,2945,2948,114,59,32768,8466,59,32768,8624,114,111,107,59,32768,321,59,32768,8810,2048,97,99,101,102,105,111,115,117,2974,2978,2982,3007,3012,3022,3028,3033,112,59,32768,10501,121,59,32768,1052,512,100,108,2987,2998,105,117,109,83,112,97,99,101,59,32768,8287,108,105,110,116,114,102,59,32768,8499,114,59,32896,55349,56592,110,117,115,80,108,117,115,59,32768,8723,112,102,59,32896,55349,56644,99,114,59,32768,8499,59,32768,924,2304,74,97,99,101,102,111,115,116,117,3055,3060,3067,3089,3201,3206,3874,3880,3889,99,121,59,32768,1034,99,117,116,101,59,32768,323,768,97,101,121,3074,3080,3086,114,111,110,59,32768,327,100,105,108,59,32768,325,59,32768,1053,768,103,115,119,3096,3160,3194,97,116,105,118,101,768,77,84,86,3108,3121,3145,101,100,105,117,109,83,112,97,99,101,59,32768,8203,104,105,512,99,110,3128,3137,107,83,112,97,99,101,59,32768,8203,83,112,97,99,101,59,32768,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,32768,8203,116,101,100,512,71,76,3168,3184,114,101,97,116,101,114,71,114,101,97,116,101,114,59,32768,8811,101,115,115,76,101,115,115,59,32768,8810,76,105,110,101,59,32768,10,114,59,32896,55349,56593,1024,66,110,112,116,3215,3222,3238,3242,114,101,97,107,59,32768,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,32768,160,102,59,32768,8469,3328,59,67,68,69,71,72,76,78,80,82,83,84,86,3269,3271,3293,3312,3352,3430,3455,3551,3589,3625,3678,3821,3861,32768,10988,512,111,117,3276,3286,110,103,114,117,101,110,116,59,32768,8802,112,67,97,112,59,32768,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,32768,8742,768,108,113,120,3319,3327,3345,101,109,101,110,116,59,32768,8713,117,97,108,512,59,84,3335,3337,32768,8800,105,108,100,101,59,32896,8770,824,105,115,116,115,59,32768,8708,114,101,97,116,101,114,1792,59,69,70,71,76,83,84,3373,3375,3382,3394,3404,3410,3423,32768,8815,113,117,97,108,59,32768,8817,117,108,108,69,113,117,97,108,59,32896,8807,824,114,101,97,116,101,114,59,32896,8811,824,101,115,115,59,32768,8825,108,97,110,116,69,113,117,97,108,59,32896,10878,824,105,108,100,101,59,32768,8821,117,109,112,533,3437,3448,111,119,110,72,117,109,112,59,32896,8782,824,113,117,97,108,59,32896,8783,824,101,512,102,115,3461,3492,116,84,114,105,97,110,103,108,101,768,59,66,69,3477,3479,3485,32768,8938,97,114,59,32896,10703,824,113,117,97,108,59,32768,8940,115,1536,59,69,71,76,83,84,3506,3508,3515,3524,3531,3544,32768,8814,113,117,97,108,59,32768,8816,114,101,97,116,101,114,59,32768,8824,101,115,115,59,32896,8810,824,108,97,110,116,69,113,117,97,108,59,32896,10877,824,105,108,100,101,59,32768,8820,101,115,116,101,100,512,71,76,3561,3578,114,101,97,116,101,114,71,114,101,97,116,101,114,59,32896,10914,824,101,115,115,76,101,115,115,59,32896,10913,824,114,101,99,101,100,101,115,768,59,69,83,3603,3605,3613,32768,8832,113,117,97,108,59,32896,10927,824,108,97,110,116,69,113,117,97,108,59,32768,8928,512,101,105,3630,3645,118,101,114,115,101,69,108,101,109,101,110,116,59,32768,8716,103,104,116,84,114,105,97,110,103,108,101,768,59,66,69,3663,3665,3671,32768,8939,97,114,59,32896,10704,824,113,117,97,108,59,32768,8941,512,113,117,3683,3732,117,97,114,101,83,117,512,98,112,3694,3712,115,101,116,512,59,69,3702,3705,32896,8847,824,113,117,97,108,59,32768,8930,101,114,115,101,116,512,59,69,3722,3725,32896,8848,824,113,117,97,108,59,32768,8931,768,98,99,112,3739,3757,3801,115,101,116,512,59,69,3747,3750,32896,8834,8402,113,117,97,108,59,32768,8840,99,101,101,100,115,1024,59,69,83,84,3771,3773,3781,3793,32768,8833,113,117,97,108,59,32896,10928,824,108,97,110,116,69,113,117,97,108,59,32768,8929,105,108,100,101,59,32896,8831,824,101,114,115,101,116,512,59,69,3811,3814,32896,8835,8402,113,117,97,108,59,32768,8841,105,108,100,101,1024,59,69,70,84,3834,3836,3843,3854,32768,8769,113,117,97,108,59,32768,8772,117,108,108,69,113,117,97,108,59,32768,8775,105,108,100,101,59,32768,8777,101,114,116,105,99,97,108,66,97,114,59,32768,8740,99,114,59,32896,55349,56489,105,108,100,101,33024,209,59,32768,209,59,32768,925,3584,69,97,99,100,102,103,109,111,112,114,115,116,117,118,3921,3927,3936,3951,3958,3963,3972,3996,4002,4034,4037,4055,4071,4078,108,105,103,59,32768,338,99,117,116,101,33024,211,59,32768,211,512,105,121,3941,3948,114,99,33024,212,59,32768,212,59,32768,1054,98,108,97,99,59,32768,336,114,59,32896,55349,56594,114,97,118,101,33024,210,59,32768,210,768,97,101,105,3979,3984,3989,99,114,59,32768,332,103,97,59,32768,937,99,114,111,110,59,32768,927,112,102,59,32896,55349,56646,101,110,67,117,114,108,121,512,68,81,4014,4027,111,117,98,108,101,81,117,111,116,101,59,32768,8220,117,111,116,101,59,32768,8216,59,32768,10836,512,99,108,4042,4047,114,59,32896,55349,56490,97,115,104,33024,216,59,32768,216,105,573,4060,4067,100,101,33024,213,59,32768,213,101,115,59,32768,10807,109,108,33024,214,59,32768,214,101,114,512,66,80,4085,4109,512,97,114,4090,4094,114,59,32768,8254,97,99,512,101,107,4101,4104,59,32768,9182,101,116,59,32768,9140,97,114,101,110,116,104,101,115,105,115,59,32768,9180,2304,97,99,102,104,105,108,111,114,115,4141,4150,4154,4159,4163,4166,4176,4198,4284,114,116,105,97,108,68,59,32768,8706,121,59,32768,1055,114,59,32896,55349,56595,105,59,32768,934,59,32768,928,117,115,77,105,110,117,115,59,32768,177,512,105,112,4181,4194,110,99,97,114,101,112,108,97,110,101,59,32768,8460,102,59,32768,8473,1024,59,101,105,111,4207,4209,4251,4256,32768,10939,99,101,100,101,115,1024,59,69,83,84,4223,4225,4232,4244,32768,8826,113,117,97,108,59,32768,10927,108,97,110,116,69,113,117,97,108,59,32768,8828,105,108,100,101,59,32768,8830,109,101,59,32768,8243,512,100,112,4261,4267,117,99,116,59,32768,8719,111,114,116,105,111,110,512,59,97,4278,4280,32768,8759,108,59,32768,8733,512,99,105,4289,4294,114,59,32896,55349,56491,59,32768,936,1024,85,102,111,115,4306,4313,4318,4323,79,84,33024,34,59,32768,34,114,59,32896,55349,56596,112,102,59,32768,8474,99,114,59,32896,55349,56492,3072,66,69,97,99,101,102,104,105,111,114,115,117,4354,4360,4366,4395,4417,4473,4477,4481,4743,4764,4776,4788,97,114,114,59,32768,10512,71,33024,174,59,32768,174,768,99,110,114,4373,4379,4383,117,116,101,59,32768,340,103,59,32768,10219,114,512,59,116,4389,4391,32768,8608,108,59,32768,10518,768,97,101,121,4402,4408,4414,114,111,110,59,32768,344,100,105,108,59,32768,342,59,32768,1056,512,59,118,4422,4424,32768,8476,101,114,115,101,512,69,85,4433,4458,512,108,113,4438,4446,101,109,101,110,116,59,32768,8715,117,105,108,105,98,114,105,117,109,59,32768,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,32768,10607,114,59,32768,8476,111,59,32768,929,103,104,116,2048,65,67,68,70,84,85,86,97,4501,4547,4556,4607,4614,4671,4719,4736,512,110,114,4506,4519,103,108,101,66,114,97,99,107,101,116,59,32768,10217,114,111,119,768,59,66,76,4529,4531,4536,32768,8594,97,114,59,32768,8677,101,102,116,65,114,114,111,119,59,32768,8644,101,105,108,105,110,103,59,32768,8969,111,838,4562,0,4575,98,108,101,66,114,97,99,107,101,116,59,32768,10215,110,805,4580,0,4591,101,101,86,101,99,116,111,114,59,32768,10589,101,99,116,111,114,512,59,66,4600,4602,32768,8642,97,114,59,32768,10581,108,111,111,114,59,32768,8971,512,101,114,4619,4644,101,768,59,65,86,4627,4629,4636,32768,8866,114,114,111,119,59,32768,8614,101,99,116,111,114,59,32768,10587,105,97,110,103,108,101,768,59,66,69,4657,4659,4664,32768,8883,97,114,59,32768,10704,113,117,97,108,59,32768,8885,112,768,68,84,86,4679,4691,4702,111,119,110,86,101,99,116,111,114,59,32768,10575,101,101,86,101,99,116,111,114,59,32768,10588,101,99,116,111,114,512,59,66,4712,4714,32768,8638,97,114,59,32768,10580,101,99,116,111,114,512,59,66,4729,4731,32768,8640,97,114,59,32768,10579,114,114,111,119,59,32768,8658,512,112,117,4748,4752,102,59,32768,8477,110,100,73,109,112,108,105,101,115,59,32768,10608,105,103,104,116,97,114,114,111,119,59,32768,8667,512,99,104,4781,4785,114,59,32768,8475,59,32768,8625,108,101,68,101,108,97,121,101,100,59,32768,10740,3328,72,79,97,99,102,104,105,109,111,113,115,116,117,4827,4842,4849,4856,4889,4894,4949,4955,4967,4973,5059,5065,5070,512,67,99,4832,4838,72,99,121,59,32768,1065,121,59,32768,1064,70,84,99,121,59,32768,1068,99,117,116,101,59,32768,346,1280,59,97,101,105,121,4867,4869,4875,4881,4886,32768,10940,114,111,110,59,32768,352,100,105,108,59,32768,350,114,99,59,32768,348,59,32768,1057,114,59,32896,55349,56598,111,114,116,1024,68,76,82,85,4906,4917,4928,4940,111,119,110,65,114,114,111,119,59,32768,8595,101,102,116,65,114,114,111,119,59,32768,8592,105,103,104,116,65,114,114,111,119,59,32768,8594,112,65,114,114,111,119,59,32768,8593,103,109,97,59,32768,931,97,108,108,67,105,114,99,108,101,59,32768,8728,112,102,59,32896,55349,56650,1091,4979,0,0,4983,116,59,32768,8730,97,114,101,1024,59,73,83,85,4994,4996,5010,5052,32768,9633,110,116,101,114,115,101,99,116,105,111,110,59,32768,8851,117,512,98,112,5016,5033,115,101,116,512,59,69,5024,5026,32768,8847,113,117,97,108,59,32768,8849,101,114,115,101,116,512,59,69,5043,5045,32768,8848,113,117,97,108,59,32768,8850,110,105,111,110,59,32768,8852,99,114,59,32896,55349,56494,97,114,59,32768,8902,1024,98,99,109,112,5079,5102,5155,5158,512,59,115,5084,5086,32768,8912,101,116,512,59,69,5093,5095,32768,8912,113,117,97,108,59,32768,8838,512,99,104,5107,5148,101,101,100,115,1024,59,69,83,84,5120,5122,5129,5141,32768,8827,113,117,97,108,59,32768,10928,108,97,110,116,69,113,117,97,108,59,32768,8829,105,108,100,101,59,32768,8831,84,104,97,116,59,32768,8715,59,32768,8721,768,59,101,115,5165,5167,5185,32768,8913,114,115,101,116,512,59,69,5176,5178,32768,8835,113,117,97,108,59,32768,8839,101,116,59,32768,8913,2816,72,82,83,97,99,102,104,105,111,114,115,5213,5221,5227,5241,5252,5274,5279,5323,5362,5368,5378,79,82,78,33024,222,59,32768,222,65,68,69,59,32768,8482,512,72,99,5232,5237,99,121,59,32768,1035,121,59,32768,1062,512,98,117,5246,5249,59,32768,9,59,32768,932,768,97,101,121,5259,5265,5271,114,111,110,59,32768,356,100,105,108,59,32768,354,59,32768,1058,114,59,32896,55349,56599,512,101,105,5284,5300,835,5289,0,5297,101,102,111,114,101,59,32768,8756,97,59,32768,920,512,99,110,5305,5315,107,83,112,97,99,101,59,32896,8287,8202,83,112,97,99,101,59,32768,8201,108,100,101,1024,59,69,70,84,5335,5337,5344,5355,32768,8764,113,117,97,108,59,32768,8771,117,108,108,69,113,117,97,108,59,32768,8773,105,108,100,101,59,32768,8776,112,102,59,32896,55349,56651,105,112,108,101,68,111,116,59,32768,8411,512,99,116,5383,5388,114,59,32896,55349,56495,114,111,107,59,32768,358,5426,5417,5444,5458,5473,0,5480,5485,0,0,0,0,0,5494,5500,5564,5579,0,5726,5732,5738,5745,512,99,114,5421,5429,117,116,101,33024,218,59,32768,218,114,512,59,111,5435,5437,32768,8607,99,105,114,59,32768,10569,114,820,5449,0,5453,121,59,32768,1038,118,101,59,32768,364,512,105,121,5462,5469,114,99,33024,219,59,32768,219,59,32768,1059,98,108,97,99,59,32768,368,114,59,32896,55349,56600,114,97,118,101,33024,217,59,32768,217,97,99,114,59,32768,362,512,100,105,5504,5548,101,114,512,66,80,5511,5535,512,97,114,5516,5520,114,59,32768,95,97,99,512,101,107,5527,5530,59,32768,9183,101,116,59,32768,9141,97,114,101,110,116,104,101,115,105,115,59,32768,9181,111,110,512,59,80,5555,5557,32768,8899,108,117,115,59,32768,8846,512,103,112,5568,5573,111,110,59,32768,370,102,59,32896,55349,56652,2048,65,68,69,84,97,100,112,115,5595,5624,5635,5648,5664,5671,5682,5712,114,114,111,119,768,59,66,68,5606,5608,5613,32768,8593,97,114,59,32768,10514,111,119,110,65,114,114,111,119,59,32768,8645,111,119,110,65,114,114,111,119,59,32768,8597,113,117,105,108,105,98,114,105,117,109,59,32768,10606,101,101,512,59,65,5655,5657,32768,8869,114,114,111,119,59,32768,8613,114,114,111,119,59,32768,8657,111,119,110,97,114,114,111,119,59,32768,8661,101,114,512,76,82,5689,5700,101,102,116,65,114,114,111,119,59,32768,8598,105,103,104,116,65,114,114,111,119,59,32768,8599,105,512,59,108,5718,5720,32768,978,111,110,59,32768,933,105,110,103,59,32768,366,99,114,59,32896,55349,56496,105,108,100,101,59,32768,360,109,108,33024,220,59,32768,220,2304,68,98,99,100,101,102,111,115,118,5770,5776,5781,5785,5798,5878,5883,5889,5895,97,115,104,59,32768,8875,97,114,59,32768,10987,121,59,32768,1042,97,115,104,512,59,108,5793,5795,32768,8873,59,32768,10982,512,101,114,5803,5806,59,32768,8897,768,98,116,121,5813,5818,5866,97,114,59,32768,8214,512,59,105,5823,5825,32768,8214,99,97,108,1024,66,76,83,84,5837,5842,5848,5859,97,114,59,32768,8739,105,110,101,59,32768,124,101,112,97,114,97,116,111,114,59,32768,10072,105,108,100,101,59,32768,8768,84,104,105,110,83,112,97,99,101,59,32768,8202,114,59,32896,55349,56601,112,102,59,32896,55349,56653,99,114,59,32896,55349,56497,100,97,115,104,59,32768,8874,1280,99,101,102,111,115,5913,5919,5925,5930,5936,105,114,99,59,32768,372,100,103,101,59,32768,8896,114,59,32896,55349,56602,112,102,59,32896,55349,56654,99,114,59,32896,55349,56498,1024,102,105,111,115,5951,5956,5959,5965,114,59,32896,55349,56603,59,32768,926,112,102,59,32896,55349,56655,99,114,59,32896,55349,56499,2304,65,73,85,97,99,102,111,115,117,5990,5995,6e3,6005,6014,6027,6032,6038,6044,99,121,59,32768,1071,99,121,59,32768,1031,99,121,59,32768,1070,99,117,116,101,33024,221,59,32768,221,512,105,121,6019,6024,114,99,59,32768,374,59,32768,1067,114,59,32896,55349,56604,112,102,59,32896,55349,56656,99,114,59,32896,55349,56500,109,108,59,32768,376,2048,72,97,99,100,101,102,111,115,6066,6071,6078,6092,6097,6119,6123,6128,99,121,59,32768,1046,99,117,116,101,59,32768,377,512,97,121,6083,6089,114,111,110,59,32768,381,59,32768,1047,111,116,59,32768,379,835,6102,0,6116,111,87,105,100,116,104,83,112,97,99,101,59,32768,8203,97,59,32768,918,114,59,32768,8488,112,102,59,32768,8484,99,114,59,32896,55349,56501,5938,6159,6168,6175,0,6214,6222,6233,0,0,0,0,6242,6267,6290,6429,6444,0,6495,6503,6531,6540,0,6547,99,117,116,101,33024,225,59,32768,225,114,101,118,101,59,32768,259,1536,59,69,100,105,117,121,6187,6189,6193,6196,6203,6210,32768,8766,59,32896,8766,819,59,32768,8767,114,99,33024,226,59,32768,226,116,101,33024,180,59,32768,180,59,32768,1072,108,105,103,33024,230,59,32768,230,512,59,114,6226,6228,32768,8289,59,32896,55349,56606,114,97,118,101,33024,224,59,32768,224,512,101,112,6246,6261,512,102,112,6251,6257,115,121,109,59,32768,8501,104,59,32768,8501,104,97,59,32768,945,512,97,112,6271,6284,512,99,108,6276,6280,114,59,32768,257,103,59,32768,10815,33024,38,59,32768,38,1077,6295,0,0,6326,1280,59,97,100,115,118,6305,6307,6312,6315,6322,32768,8743,110,100,59,32768,10837,59,32768,10844,108,111,112,101,59,32768,10840,59,32768,10842,1792,59,101,108,109,114,115,122,6340,6342,6345,6349,6391,6410,6422,32768,8736,59,32768,10660,101,59,32768,8736,115,100,512,59,97,6356,6358,32768,8737,2098,6368,6371,6374,6377,6380,6383,6386,6389,59,32768,10664,59,32768,10665,59,32768,10666,59,32768,10667,59,32768,10668,59,32768,10669,59,32768,10670,59,32768,10671,116,512,59,118,6397,6399,32768,8735,98,512,59,100,6405,6407,32768,8894,59,32768,10653,512,112,116,6415,6419,104,59,32768,8738,59,32768,197,97,114,114,59,32768,9084,512,103,112,6433,6438,111,110,59,32768,261,102,59,32896,55349,56658,1792,59,69,97,101,105,111,112,6458,6460,6463,6469,6472,6476,6480,32768,8776,59,32768,10864,99,105,114,59,32768,10863,59,32768,8778,100,59,32768,8779,115,59,32768,39,114,111,120,512,59,101,6488,6490,32768,8776,113,59,32768,8778,105,110,103,33024,229,59,32768,229,768,99,116,121,6509,6514,6517,114,59,32896,55349,56502,59,32768,42,109,112,512,59,101,6524,6526,32768,8776,113,59,32768,8781,105,108,100,101,33024,227,59,32768,227,109,108,33024,228,59,32768,228,512,99,105,6551,6559,111,110,105,110,116,59,32768,8755,110,116,59,32768,10769,4096,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,6597,6602,6673,6688,6701,6707,6768,6773,6891,6898,6999,7023,7309,7316,7334,7383,111,116,59,32768,10989,512,99,114,6607,6652,107,1024,99,101,112,115,6617,6623,6632,6639,111,110,103,59,32768,8780,112,115,105,108,111,110,59,32768,1014,114,105,109,101,59,32768,8245,105,109,512,59,101,6646,6648,32768,8765,113,59,32768,8909,583,6656,6661,101,101,59,32768,8893,101,100,512,59,103,6667,6669,32768,8965,101,59,32768,8965,114,107,512,59,116,6680,6682,32768,9141,98,114,107,59,32768,9142,512,111,121,6693,6698,110,103,59,32768,8780,59,32768,1073,113,117,111,59,32768,8222,1280,99,109,112,114,116,6718,6731,6738,6743,6749,97,117,115,512,59,101,6726,6728,32768,8757,59,32768,8757,112,116,121,118,59,32768,10672,115,105,59,32768,1014,110,111,117,59,32768,8492,768,97,104,119,6756,6759,6762,59,32768,946,59,32768,8502,101,101,110,59,32768,8812,114,59,32896,55349,56607,103,1792,99,111,115,116,117,118,119,6789,6809,6834,6850,6872,6879,6884,768,97,105,117,6796,6800,6805,112,59,32768,8898,114,99,59,32768,9711,112,59,32768,8899,768,100,112,116,6816,6821,6827,111,116,59,32768,10752,108,117,115,59,32768,10753,105,109,101,115,59,32768,10754,1090,6840,0,0,6846,99,117,112,59,32768,10758,97,114,59,32768,9733,114,105,97,110,103,108,101,512,100,117,6862,6868,111,119,110,59,32768,9661,112,59,32768,9651,112,108,117,115,59,32768,10756,101,101,59,32768,8897,101,100,103,101,59,32768,8896,97,114,111,119,59,32768,10509,768,97,107,111,6905,6976,6994,512,99,110,6910,6972,107,768,108,115,116,6918,6927,6935,111,122,101,110,103,101,59,32768,10731,113,117,97,114,101,59,32768,9642,114,105,97,110,103,108,101,1024,59,100,108,114,6951,6953,6959,6965,32768,9652,111,119,110,59,32768,9662,101,102,116,59,32768,9666,105,103,104,116,59,32768,9656,107,59,32768,9251,770,6981,0,6991,771,6985,0,6988,59,32768,9618,59,32768,9617,52,59,32768,9619,99,107,59,32768,9608,512,101,111,7004,7019,512,59,113,7009,7012,32896,61,8421,117,105,118,59,32896,8801,8421,116,59,32768,8976,1024,112,116,119,120,7032,7037,7049,7055,102,59,32896,55349,56659,512,59,116,7042,7044,32768,8869,111,109,59,32768,8869,116,105,101,59,32768,8904,3072,68,72,85,86,98,100,104,109,112,116,117,118,7080,7101,7126,7147,7182,7187,7208,7233,7240,7246,7253,7274,1024,76,82,108,114,7089,7092,7095,7098,59,32768,9559,59,32768,9556,59,32768,9558,59,32768,9555,1280,59,68,85,100,117,7112,7114,7117,7120,7123,32768,9552,59,32768,9574,59,32768,9577,59,32768,9572,59,32768,9575,1024,76,82,108,114,7135,7138,7141,7144,59,32768,9565,59,32768,9562,59,32768,9564,59,32768,9561,1792,59,72,76,82,104,108,114,7162,7164,7167,7170,7173,7176,7179,32768,9553,59,32768,9580,59,32768,9571,59,32768,9568,59,32768,9579,59,32768,9570,59,32768,9567,111,120,59,32768,10697,1024,76,82,108,114,7196,7199,7202,7205,59,32768,9557,59,32768,9554,59,32768,9488,59,32768,9484,1280,59,68,85,100,117,7219,7221,7224,7227,7230,32768,9472,59,32768,9573,59,32768,9576,59,32768,9516,59,32768,9524,105,110,117,115,59,32768,8863,108,117,115,59,32768,8862,105,109,101,115,59,32768,8864,1024,76,82,108,114,7262,7265,7268,7271,59,32768,9563,59,32768,9560,59,32768,9496,59,32768,9492,1792,59,72,76,82,104,108,114,7289,7291,7294,7297,7300,7303,7306,32768,9474,59,32768,9578,59,32768,9569,59,32768,9566,59,32768,9532,59,32768,9508,59,32768,9500,114,105,109,101,59,32768,8245,512,101,118,7321,7326,118,101,59,32768,728,98,97,114,33024,166,59,32768,166,1024,99,101,105,111,7343,7348,7353,7364,114,59,32896,55349,56503,109,105,59,32768,8271,109,512,59,101,7359,7361,32768,8765,59,32768,8909,108,768,59,98,104,7372,7374,7377,32768,92,59,32768,10693,115,117,98,59,32768,10184,573,7387,7399,108,512,59,101,7392,7394,32768,8226,116,59,32768,8226,112,768,59,69,101,7406,7408,7411,32768,8782,59,32768,10926,512,59,113,7416,7418,32768,8783,59,32768,8783,6450,7448,0,7523,7571,7576,7613,0,7618,7647,0,0,7764,0,0,7779,0,0,7899,7914,7949,7955,0,8158,0,8176,768,99,112,114,7454,7460,7509,117,116,101,59,32768,263,1536,59,97,98,99,100,115,7473,7475,7480,7487,7500,7505,32768,8745,110,100,59,32768,10820,114,99,117,112,59,32768,10825,512,97,117,7492,7496,112,59,32768,10827,112,59,32768,10823,111,116,59,32768,10816,59,32896,8745,65024,512,101,111,7514,7518,116,59,32768,8257,110,59,32768,711,1024,97,101,105,117,7531,7544,7552,7557,833,7536,0,7540,115,59,32768,10829,111,110,59,32768,269,100,105,108,33024,231,59,32768,231,114,99,59,32768,265,112,115,512,59,115,7564,7566,32768,10828,109,59,32768,10832,111,116,59,32768,267,768,100,109,110,7582,7589,7596,105,108,33024,184,59,32768,184,112,116,121,118,59,32768,10674,116,33280,162,59,101,7603,7605,32768,162,114,100,111,116,59,32768,183,114,59,32896,55349,56608,768,99,101,105,7624,7628,7643,121,59,32768,1095,99,107,512,59,109,7635,7637,32768,10003,97,114,107,59,32768,10003,59,32768,967,114,1792,59,69,99,101,102,109,115,7662,7664,7667,7742,7745,7752,7757,32768,9675,59,32768,10691,768,59,101,108,7674,7676,7680,32768,710,113,59,32768,8791,101,1074,7687,0,0,7709,114,114,111,119,512,108,114,7695,7701,101,102,116,59,32768,8634,105,103,104,116,59,32768,8635,1280,82,83,97,99,100,7719,7722,7725,7730,7736,59,32768,174,59,32768,9416,115,116,59,32768,8859,105,114,99,59,32768,8858,97,115,104,59,32768,8861,59,32768,8791,110,105,110,116,59,32768,10768,105,100,59,32768,10991,99,105,114,59,32768,10690,117,98,115,512,59,117,7771,7773,32768,9827,105,116,59,32768,9827,1341,7785,7804,7850,0,7871,111,110,512,59,101,7791,7793,32768,58,512,59,113,7798,7800,32768,8788,59,32768,8788,1086,7809,0,0,7820,97,512,59,116,7814,7816,32768,44,59,32768,64,768,59,102,108,7826,7828,7832,32768,8705,110,59,32768,8728,101,512,109,120,7838,7844,101,110,116,59,32768,8705,101,115,59,32768,8450,824,7854,0,7866,512,59,100,7858,7860,32768,8773,111,116,59,32768,10861,110,116,59,32768,8750,768,102,114,121,7877,7881,7886,59,32896,55349,56660,111,100,59,32768,8720,33280,169,59,115,7892,7894,32768,169,114,59,32768,8471,512,97,111,7903,7908,114,114,59,32768,8629,115,115,59,32768,10007,512,99,117,7918,7923,114,59,32896,55349,56504,512,98,112,7928,7938,512,59,101,7933,7935,32768,10959,59,32768,10961,512,59,101,7943,7945,32768,10960,59,32768,10962,100,111,116,59,32768,8943,1792,100,101,108,112,114,118,119,7969,7983,7996,8009,8057,8147,8152,97,114,114,512,108,114,7977,7980,59,32768,10552,59,32768,10549,1089,7989,0,0,7993,114,59,32768,8926,99,59,32768,8927,97,114,114,512,59,112,8004,8006,32768,8630,59,32768,10557,1536,59,98,99,100,111,115,8022,8024,8031,8044,8049,8053,32768,8746,114,99,97,112,59,32768,10824,512,97,117,8036,8040,112,59,32768,10822,112,59,32768,10826,111,116,59,32768,8845,114,59,32768,10821,59,32896,8746,65024,1024,97,108,114,118,8066,8078,8116,8123,114,114,512,59,109,8073,8075,32768,8631,59,32768,10556,121,768,101,118,119,8086,8104,8109,113,1089,8093,0,0,8099,114,101,99,59,32768,8926,117,99,99,59,32768,8927,101,101,59,32768,8910,101,100,103,101,59,32768,8911,101,110,33024,164,59,32768,164,101,97,114,114,111,119,512,108,114,8134,8140,101,102,116,59,32768,8630,105,103,104,116,59,32768,8631,101,101,59,32768,8910,101,100,59,32768,8911,512,99,105,8162,8170,111,110,105,110,116,59,32768,8754,110,116,59,32768,8753,108,99,116,121,59,32768,9005,4864,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8221,8226,8231,8267,8282,8296,8327,8351,8366,8379,8466,8471,8487,8621,8647,8676,8697,8712,8720,114,114,59,32768,8659,97,114,59,32768,10597,1024,103,108,114,115,8240,8246,8252,8256,103,101,114,59,32768,8224,101,116,104,59,32768,8504,114,59,32768,8595,104,512,59,118,8262,8264,32768,8208,59,32768,8867,572,8271,8278,97,114,111,119,59,32768,10511,97,99,59,32768,733,512,97,121,8287,8293,114,111,110,59,32768,271,59,32768,1076,768,59,97,111,8303,8305,8320,32768,8518,512,103,114,8310,8316,103,101,114,59,32768,8225,114,59,32768,8650,116,115,101,113,59,32768,10871,768,103,108,109,8334,8339,8344,33024,176,59,32768,176,116,97,59,32768,948,112,116,121,118,59,32768,10673,512,105,114,8356,8362,115,104,116,59,32768,10623,59,32896,55349,56609,97,114,512,108,114,8373,8376,59,32768,8643,59,32768,8642,1280,97,101,103,115,118,8390,8418,8421,8428,8433,109,768,59,111,115,8398,8400,8415,32768,8900,110,100,512,59,115,8407,8409,32768,8900,117,105,116,59,32768,9830,59,32768,9830,59,32768,168,97,109,109,97,59,32768,989,105,110,59,32768,8946,768,59,105,111,8440,8442,8461,32768,247,100,101,33280,247,59,111,8450,8452,32768,247,110,116,105,109,101,115,59,32768,8903,110,120,59,32768,8903,99,121,59,32768,1106,99,1088,8478,0,0,8483,114,110,59,32768,8990,111,112,59,32768,8973,1280,108,112,116,117,119,8498,8504,8509,8556,8570,108,97,114,59,32768,36,102,59,32896,55349,56661,1280,59,101,109,112,115,8520,8522,8535,8542,8548,32768,729,113,512,59,100,8528,8530,32768,8784,111,116,59,32768,8785,105,110,117,115,59,32768,8760,108,117,115,59,32768,8724,113,117,97,114,101,59,32768,8865,98,108,101,98,97,114,119,101,100,103,101,59,32768,8966,110,768,97,100,104,8578,8585,8597,114,114,111,119,59,32768,8595,111,119,110,97,114,114,111,119,115,59,32768,8650,97,114,112,111,111,110,512,108,114,8608,8614,101,102,116,59,32768,8643,105,103,104,116,59,32768,8642,563,8625,8633,107,97,114,111,119,59,32768,10512,1088,8638,0,0,8643,114,110,59,32768,8991,111,112,59,32768,8972,768,99,111,116,8654,8666,8670,512,114,121,8659,8663,59,32896,55349,56505,59,32768,1109,108,59,32768,10742,114,111,107,59,32768,273,512,100,114,8681,8686,111,116,59,32768,8945,105,512,59,102,8692,8694,32768,9663,59,32768,9662,512,97,104,8702,8707,114,114,59,32768,8693,97,114,59,32768,10607,97,110,103,108,101,59,32768,10662,512,99,105,8725,8729,121,59,32768,1119,103,114,97,114,114,59,32768,10239,4608,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,8774,8788,8807,8844,8849,8852,8866,8895,8929,8977,8989,9004,9046,9136,9151,9171,9184,9199,512,68,111,8779,8784,111,116,59,32768,10871,116,59,32768,8785,512,99,115,8793,8801,117,116,101,33024,233,59,32768,233,116,101,114,59,32768,10862,1024,97,105,111,121,8816,8822,8835,8841,114,111,110,59,32768,283,114,512,59,99,8828,8830,32768,8790,33024,234,59,32768,234,108,111,110,59,32768,8789,59,32768,1101,111,116,59,32768,279,59,32768,8519,512,68,114,8857,8862,111,116,59,32768,8786,59,32896,55349,56610,768,59,114,115,8873,8875,8883,32768,10906,97,118,101,33024,232,59,32768,232,512,59,100,8888,8890,32768,10902,111,116,59,32768,10904,1024,59,105,108,115,8904,8906,8914,8917,32768,10905,110,116,101,114,115,59,32768,9191,59,32768,8467,512,59,100,8922,8924,32768,10901,111,116,59,32768,10903,768,97,112,115,8936,8941,8960,99,114,59,32768,275,116,121,768,59,115,118,8950,8952,8957,32768,8709,101,116,59,32768,8709,59,32768,8709,112,512,49,59,8966,8975,516,8970,8973,59,32768,8196,59,32768,8197,32768,8195,512,103,115,8982,8985,59,32768,331,112,59,32768,8194,512,103,112,8994,8999,111,110,59,32768,281,102,59,32896,55349,56662,768,97,108,115,9011,9023,9028,114,512,59,115,9017,9019,32768,8917,108,59,32768,10723,117,115,59,32768,10865,105,768,59,108,118,9036,9038,9043,32768,949,111,110,59,32768,949,59,32768,1013,1024,99,115,117,118,9055,9071,9099,9128,512,105,111,9060,9065,114,99,59,32768,8790,108,111,110,59,32768,8789,1082,9077,0,0,9081,109,59,32768,8770,97,110,116,512,103,108,9088,9093,116,114,59,32768,10902,101,115,115,59,32768,10901,768,97,101,105,9106,9111,9116,108,115,59,32768,61,115,116,59,32768,8799,118,512,59,68,9122,9124,32768,8801,68,59,32768,10872,112,97,114,115,108,59,32768,10725,512,68,97,9141,9146,111,116,59,32768,8787,114,114,59,32768,10609,768,99,100,105,9158,9162,9167,114,59,32768,8495,111,116,59,32768,8784,109,59,32768,8770,512,97,104,9176,9179,59,32768,951,33024,240,59,32768,240,512,109,114,9189,9195,108,33024,235,59,32768,235,111,59,32768,8364,768,99,105,112,9206,9210,9215,108,59,32768,33,115,116,59,32768,8707,512,101,111,9220,9230,99,116,97,116,105,111,110,59,32768,8496,110,101,110,116,105,97,108,101,59,32768,8519,4914,9262,0,9276,0,9280,9287,0,0,9318,9324,0,9331,0,9352,9357,9386,0,9395,9497,108,108,105,110,103,100,111,116,115,101,113,59,32768,8786,121,59,32768,1092,109,97,108,101,59,32768,9792,768,105,108,114,9293,9299,9313,108,105,103,59,32768,64259,1082,9305,0,0,9309,103,59,32768,64256,105,103,59,32768,64260,59,32896,55349,56611,108,105,103,59,32768,64257,108,105,103,59,32896,102,106,768,97,108,116,9337,9341,9346,116,59,32768,9837,105,103,59,32768,64258,110,115,59,32768,9649,111,102,59,32768,402,833,9361,0,9366,102,59,32896,55349,56663,512,97,107,9370,9375,108,108,59,32768,8704,512,59,118,9380,9382,32768,8916,59,32768,10969,97,114,116,105,110,116,59,32768,10765,512,97,111,9399,9491,512,99,115,9404,9487,1794,9413,9443,9453,9470,9474,0,9484,1795,9421,9426,9429,9434,9437,0,9440,33024,189,59,32768,189,59,32768,8531,33024,188,59,32768,188,59,32768,8533,59,32768,8537,59,32768,8539,772,9447,0,9450,59,32768,8532,59,32768,8534,1285,9459,9464,0,0,9467,33024,190,59,32768,190,59,32768,8535,59,32768,8540,53,59,32768,8536,775,9478,0,9481,59,32768,8538,59,32768,8541,56,59,32768,8542,108,59,32768,8260,119,110,59,32768,8994,99,114,59,32896,55349,56507,4352,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,9537,9547,9575,9582,9595,9600,9679,9684,9694,9700,9705,9725,9773,9779,9785,9810,9917,512,59,108,9542,9544,32768,8807,59,32768,10892,768,99,109,112,9554,9560,9572,117,116,101,59,32768,501,109,97,512,59,100,9567,9569,32768,947,59,32768,989,59,32768,10886,114,101,118,101,59,32768,287,512,105,121,9587,9592,114,99,59,32768,285,59,32768,1075,111,116,59,32768,289,1024,59,108,113,115,9609,9611,9614,9633,32768,8805,59,32768,8923,768,59,113,115,9621,9623,9626,32768,8805,59,32768,8807,108,97,110,116,59,32768,10878,1024,59,99,100,108,9642,9644,9648,9667,32768,10878,99,59,32768,10921,111,116,512,59,111,9655,9657,32768,10880,512,59,108,9662,9664,32768,10882,59,32768,10884,512,59,101,9672,9675,32896,8923,65024,115,59,32768,10900,114,59,32896,55349,56612,512,59,103,9689,9691,32768,8811,59,32768,8921,109,101,108,59,32768,8503,99,121,59,32768,1107,1024,59,69,97,106,9714,9716,9719,9722,32768,8823,59,32768,10898,59,32768,10917,59,32768,10916,1024,69,97,101,115,9734,9737,9751,9768,59,32768,8809,112,512,59,112,9743,9745,32768,10890,114,111,120,59,32768,10890,512,59,113,9756,9758,32768,10888,512,59,113,9763,9765,32768,10888,59,32768,8809,105,109,59,32768,8935,112,102,59,32896,55349,56664,97,118,101,59,32768,96,512,99,105,9790,9794,114,59,32768,8458,109,768,59,101,108,9802,9804,9807,32768,8819,59,32768,10894,59,32768,10896,34304,62,59,99,100,108,113,114,9824,9826,9838,9843,9849,9856,32768,62,512,99,105,9831,9834,59,32768,10919,114,59,32768,10874,111,116,59,32768,8919,80,97,114,59,32768,10645,117,101,115,116,59,32768,10876,1280,97,100,101,108,115,9867,9882,9887,9906,9912,833,9872,0,9879,112,114,111,120,59,32768,10886,114,59,32768,10616,111,116,59,32768,8919,113,512,108,113,9893,9899,101,115,115,59,32768,8923,108,101,115,115,59,32768,10892,101,115,115,59,32768,8823,105,109,59,32768,8819,512,101,110,9922,9932,114,116,110,101,113,113,59,32896,8809,65024,69,59,32896,8809,65024,2560,65,97,98,99,101,102,107,111,115,121,9958,9963,10015,10020,10026,10060,10065,10085,10147,10171,114,114,59,32768,8660,1024,105,108,109,114,9972,9978,9982,9988,114,115,112,59,32768,8202,102,59,32768,189,105,108,116,59,32768,8459,512,100,114,9993,9998,99,121,59,32768,1098,768,59,99,119,10005,10007,10012,32768,8596,105,114,59,32768,10568,59,32768,8621,97,114,59,32768,8463,105,114,99,59,32768,293,768,97,108,114,10033,10048,10054,114,116,115,512,59,117,10041,10043,32768,9829,105,116,59,32768,9829,108,105,112,59,32768,8230,99,111,110,59,32768,8889,114,59,32896,55349,56613,115,512,101,119,10071,10078,97,114,111,119,59,32768,10533,97,114,111,119,59,32768,10534,1280,97,109,111,112,114,10096,10101,10107,10136,10141,114,114,59,32768,8703,116,104,116,59,32768,8763,107,512,108,114,10113,10124,101,102,116,97,114,114,111,119,59,32768,8617,105,103,104,116,97,114,114,111,119,59,32768,8618,102,59,32896,55349,56665,98,97,114,59,32768,8213,768,99,108,116,10154,10159,10165,114,59,32896,55349,56509,97,115,104,59,32768,8463,114,111,107,59,32768,295,512,98,112,10176,10182,117,108,108,59,32768,8259,104,101,110,59,32768,8208,5426,10211,0,10220,0,10239,10255,10267,0,10276,10312,0,0,10318,10371,10458,10485,10491,0,10500,10545,10558,99,117,116,101,33024,237,59,32768,237,768,59,105,121,10226,10228,10235,32768,8291,114,99,33024,238,59,32768,238,59,32768,1080,512,99,120,10243,10247,121,59,32768,1077,99,108,33024,161,59,32768,161,512,102,114,10259,10262,59,32768,8660,59,32896,55349,56614,114,97,118,101,33024,236,59,32768,236,1024,59,105,110,111,10284,10286,10300,10306,32768,8520,512,105,110,10291,10296,110,116,59,32768,10764,116,59,32768,8749,102,105,110,59,32768,10716,116,97,59,32768,8489,108,105,103,59,32768,307,768,97,111,112,10324,10361,10365,768,99,103,116,10331,10335,10357,114,59,32768,299,768,101,108,112,10342,10345,10351,59,32768,8465,105,110,101,59,32768,8464,97,114,116,59,32768,8465,104,59,32768,305,102,59,32768,8887,101,100,59,32768,437,1280,59,99,102,111,116,10381,10383,10389,10403,10409,32768,8712,97,114,101,59,32768,8453,105,110,512,59,116,10396,10398,32768,8734,105,101,59,32768,10717,100,111,116,59,32768,305,1280,59,99,101,108,112,10420,10422,10427,10444,10451,32768,8747,97,108,59,32768,8890,512,103,114,10432,10438,101,114,115,59,32768,8484,99,97,108,59,32768,8890,97,114,104,107,59,32768,10775,114,111,100,59,32768,10812,1024,99,103,112,116,10466,10470,10475,10480,121,59,32768,1105,111,110,59,32768,303,102,59,32896,55349,56666,97,59,32768,953,114,111,100,59,32768,10812,117,101,115,116,33024,191,59,32768,191,512,99,105,10504,10509,114,59,32896,55349,56510,110,1280,59,69,100,115,118,10521,10523,10526,10531,10541,32768,8712,59,32768,8953,111,116,59,32768,8949,512,59,118,10536,10538,32768,8948,59,32768,8947,59,32768,8712,512,59,105,10549,10551,32768,8290,108,100,101,59,32768,297,828,10562,0,10567,99,121,59,32768,1110,108,33024,239,59,32768,239,1536,99,102,109,111,115,117,10585,10598,10603,10609,10615,10630,512,105,121,10590,10595,114,99,59,32768,309,59,32768,1081,114,59,32896,55349,56615,97,116,104,59,32768,567,112,102,59,32896,55349,56667,820,10620,0,10625,114,59,32896,55349,56511,114,99,121,59,32768,1112,107,99,121,59,32768,1108,2048,97,99,102,103,104,106,111,115,10653,10666,10680,10685,10692,10697,10702,10708,112,112,97,512,59,118,10661,10663,32768,954,59,32768,1008,512,101,121,10671,10677,100,105,108,59,32768,311,59,32768,1082,114,59,32896,55349,56616,114,101,101,110,59,32768,312,99,121,59,32768,1093,99,121,59,32768,1116,112,102,59,32896,55349,56668,99,114,59,32896,55349,56512,5888,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,10761,10783,10789,10799,10804,10957,11011,11047,11094,11349,11372,11382,11409,11414,11451,11478,11526,11698,11711,11755,11823,11910,11929,768,97,114,116,10768,10773,10777,114,114,59,32768,8666,114,59,32768,8656,97,105,108,59,32768,10523,97,114,114,59,32768,10510,512,59,103,10794,10796,32768,8806,59,32768,10891,97,114,59,32768,10594,4660,10824,0,10830,0,10838,0,0,0,0,0,10844,10850,0,10867,10870,10877,0,10933,117,116,101,59,32768,314,109,112,116,121,118,59,32768,10676,114,97,110,59,32768,8466,98,100,97,59,32768,955,103,768,59,100,108,10857,10859,10862,32768,10216,59,32768,10641,101,59,32768,10216,59,32768,10885,117,111,33024,171,59,32768,171,114,2048,59,98,102,104,108,112,115,116,10894,10896,10907,10911,10915,10919,10923,10928,32768,8592,512,59,102,10901,10903,32768,8676,115,59,32768,10527,115,59,32768,10525,107,59,32768,8617,112,59,32768,8619,108,59,32768,10553,105,109,59,32768,10611,108,59,32768,8610,768,59,97,101,10939,10941,10946,32768,10923,105,108,59,32768,10521,512,59,115,10951,10953,32768,10925,59,32896,10925,65024,768,97,98,114,10964,10969,10974,114,114,59,32768,10508,114,107,59,32768,10098,512,97,107,10979,10991,99,512,101,107,10985,10988,59,32768,123,59,32768,91,512,101,115,10996,10999,59,32768,10635,108,512,100,117,11005,11008,59,32768,10639,59,32768,10637,1024,97,101,117,121,11020,11026,11040,11044,114,111,110,59,32768,318,512,100,105,11031,11036,105,108,59,32768,316,108,59,32768,8968,98,59,32768,123,59,32768,1083,1024,99,113,114,115,11056,11060,11072,11090,97,59,32768,10550,117,111,512,59,114,11067,11069,32768,8220,59,32768,8222,512,100,117,11077,11083,104,97,114,59,32768,10599,115,104,97,114,59,32768,10571,104,59,32768,8626,1280,59,102,103,113,115,11105,11107,11228,11231,11250,32768,8804,116,1280,97,104,108,114,116,11119,11136,11157,11169,11216,114,114,111,119,512,59,116,11128,11130,32768,8592,97,105,108,59,32768,8610,97,114,112,111,111,110,512,100,117,11147,11153,111,119,110,59,32768,8637,112,59,32768,8636,101,102,116,97,114,114,111,119,115,59,32768,8647,105,103,104,116,768,97,104,115,11180,11194,11204,114,114,111,119,512,59,115,11189,11191,32768,8596,59,32768,8646,97,114,112,111,111,110,115,59,32768,8651,113,117,105,103,97,114,114,111,119,59,32768,8621,104,114,101,101,116,105,109,101,115,59,32768,8907,59,32768,8922,768,59,113,115,11238,11240,11243,32768,8804,59,32768,8806,108,97,110,116,59,32768,10877,1280,59,99,100,103,115,11261,11263,11267,11286,11298,32768,10877,99,59,32768,10920,111,116,512,59,111,11274,11276,32768,10879,512,59,114,11281,11283,32768,10881,59,32768,10883,512,59,101,11291,11294,32896,8922,65024,115,59,32768,10899,1280,97,100,101,103,115,11309,11317,11322,11339,11344,112,112,114,111,120,59,32768,10885,111,116,59,32768,8918,113,512,103,113,11328,11333,116,114,59,32768,8922,103,116,114,59,32768,10891,116,114,59,32768,8822,105,109,59,32768,8818,768,105,108,114,11356,11362,11368,115,104,116,59,32768,10620,111,111,114,59,32768,8970,59,32896,55349,56617,512,59,69,11377,11379,32768,8822,59,32768,10897,562,11386,11405,114,512,100,117,11391,11394,59,32768,8637,512,59,108,11399,11401,32768,8636,59,32768,10602,108,107,59,32768,9604,99,121,59,32768,1113,1280,59,97,99,104,116,11425,11427,11432,11440,11446,32768,8810,114,114,59,32768,8647,111,114,110,101,114,59,32768,8990,97,114,100,59,32768,10603,114,105,59,32768,9722,512,105,111,11456,11462,100,111,116,59,32768,320,117,115,116,512,59,97,11470,11472,32768,9136,99,104,101,59,32768,9136,1024,69,97,101,115,11487,11490,11504,11521,59,32768,8808,112,512,59,112,11496,11498,32768,10889,114,111,120,59,32768,10889,512,59,113,11509,11511,32768,10887,512,59,113,11516,11518,32768,10887,59,32768,8808,105,109,59,32768,8934,2048,97,98,110,111,112,116,119,122,11543,11556,11561,11616,11640,11660,11667,11680,512,110,114,11548,11552,103,59,32768,10220,114,59,32768,8701,114,107,59,32768,10214,103,768,108,109,114,11569,11596,11604,101,102,116,512,97,114,11577,11584,114,114,111,119,59,32768,10229,105,103,104,116,97,114,114,111,119,59,32768,10231,97,112,115,116,111,59,32768,10236,105,103,104,116,97,114,114,111,119,59,32768,10230,112,97,114,114,111,119,512,108,114,11627,11633,101,102,116,59,32768,8619,105,103,104,116,59,32768,8620,768,97,102,108,11647,11651,11655,114,59,32768,10629,59,32896,55349,56669,117,115,59,32768,10797,105,109,101,115,59,32768,10804,562,11671,11676,115,116,59,32768,8727,97,114,59,32768,95,768,59,101,102,11687,11689,11695,32768,9674,110,103,101,59,32768,9674,59,32768,10731,97,114,512,59,108,11705,11707,32768,40,116,59,32768,10643,1280,97,99,104,109,116,11722,11727,11735,11747,11750,114,114,59,32768,8646,111,114,110,101,114,59,32768,8991,97,114,512,59,100,11742,11744,32768,8651,59,32768,10605,59,32768,8206,114,105,59,32768,8895,1536,97,99,104,105,113,116,11768,11774,11779,11782,11798,11817,113,117,111,59,32768,8249,114,59,32896,55349,56513,59,32768,8624,109,768,59,101,103,11790,11792,11795,32768,8818,59,32768,10893,59,32768,10895,512,98,117,11803,11806,59,32768,91,111,512,59,114,11812,11814,32768,8216,59,32768,8218,114,111,107,59,32768,322,34816,60,59,99,100,104,105,108,113,114,11841,11843,11855,11860,11866,11872,11878,11885,32768,60,512,99,105,11848,11851,59,32768,10918,114,59,32768,10873,111,116,59,32768,8918,114,101,101,59,32768,8907,109,101,115,59,32768,8905,97,114,114,59,32768,10614,117,101,115,116,59,32768,10875,512,80,105,11890,11895,97,114,59,32768,10646,768,59,101,102,11902,11904,11907,32768,9667,59,32768,8884,59,32768,9666,114,512,100,117,11916,11923,115,104,97,114,59,32768,10570,104,97,114,59,32768,10598,512,101,110,11934,11944,114,116,110,101,113,113,59,32896,8808,65024,69,59,32896,8808,65024,3584,68,97,99,100,101,102,104,105,108,110,111,112,115,117,11978,11984,12061,12075,12081,12095,12100,12104,12170,12181,12188,12204,12207,12223,68,111,116,59,32768,8762,1024,99,108,112,114,11993,11999,12019,12055,114,33024,175,59,32768,175,512,101,116,12004,12007,59,32768,9794,512,59,101,12012,12014,32768,10016,115,101,59,32768,10016,512,59,115,12024,12026,32768,8614,116,111,1024,59,100,108,117,12037,12039,12045,12051,32768,8614,111,119,110,59,32768,8615,101,102,116,59,32768,8612,112,59,32768,8613,107,101,114,59,32768,9646,512,111,121,12066,12072,109,109,97,59,32768,10793,59,32768,1084,97,115,104,59,32768,8212,97,115,117,114,101,100,97,110,103,108,101,59,32768,8737,114,59,32896,55349,56618,111,59,32768,8487,768,99,100,110,12111,12118,12146,114,111,33024,181,59,32768,181,1024,59,97,99,100,12127,12129,12134,12139,32768,8739,115,116,59,32768,42,105,114,59,32768,10992,111,116,33024,183,59,32768,183,117,115,768,59,98,100,12155,12157,12160,32768,8722,59,32768,8863,512,59,117,12165,12167,32768,8760,59,32768,10794,564,12174,12178,112,59,32768,10971,114,59,32768,8230,112,108,117,115,59,32768,8723,512,100,112,12193,12199,101,108,115,59,32768,8871,102,59,32896,55349,56670,59,32768,8723,512,99,116,12212,12217,114,59,32896,55349,56514,112,111,115,59,32768,8766,768,59,108,109,12230,12232,12240,32768,956,116,105,109,97,112,59,32768,8888,97,112,59,32768,8888,6144,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,12294,12315,12364,12376,12393,12472,12496,12547,12553,12636,12641,12703,12725,12747,12752,12876,12881,12957,13033,13089,13294,13359,13384,13499,512,103,116,12299,12303,59,32896,8921,824,512,59,118,12308,12311,32896,8811,8402,59,32896,8811,824,768,101,108,116,12322,12348,12352,102,116,512,97,114,12329,12336,114,114,111,119,59,32768,8653,105,103,104,116,97,114,114,111,119,59,32768,8654,59,32896,8920,824,512,59,118,12357,12360,32896,8810,8402,59,32896,8810,824,105,103,104,116,97,114,114,111,119,59,32768,8655,512,68,100,12381,12387,97,115,104,59,32768,8879,97,115,104,59,32768,8878,1280,98,99,110,112,116,12404,12409,12415,12420,12452,108,97,59,32768,8711,117,116,101,59,32768,324,103,59,32896,8736,8402,1280,59,69,105,111,112,12431,12433,12437,12442,12446,32768,8777,59,32896,10864,824,100,59,32896,8779,824,115,59,32768,329,114,111,120,59,32768,8777,117,114,512,59,97,12459,12461,32768,9838,108,512,59,115,12467,12469,32768,9838,59,32768,8469,836,12477,0,12483,112,33024,160,59,32768,160,109,112,512,59,101,12489,12492,32896,8782,824,59,32896,8783,824,1280,97,101,111,117,121,12507,12519,12525,12540,12544,833,12512,0,12515,59,32768,10819,111,110,59,32768,328,100,105,108,59,32768,326,110,103,512,59,100,12532,12534,32768,8775,111,116,59,32896,10861,824,112,59,32768,10818,59,32768,1085,97,115,104,59,32768,8211,1792,59,65,97,100,113,115,120,12568,12570,12575,12596,12602,12608,12623,32768,8800,114,114,59,32768,8663,114,512,104,114,12581,12585,107,59,32768,10532,512,59,111,12590,12592,32768,8599,119,59,32768,8599,111,116,59,32896,8784,824,117,105,118,59,32768,8802,512,101,105,12613,12618,97,114,59,32768,10536,109,59,32896,8770,824,105,115,116,512,59,115,12631,12633,32768,8708,59,32768,8708,114,59,32896,55349,56619,1024,69,101,115,116,12650,12654,12688,12693,59,32896,8807,824,768,59,113,115,12661,12663,12684,32768,8817,768,59,113,115,12670,12672,12676,32768,8817,59,32896,8807,824,108,97,110,116,59,32896,10878,824,59,32896,10878,824,105,109,59,32768,8821,512,59,114,12698,12700,32768,8815,59,32768,8815,768,65,97,112,12710,12715,12720,114,114,59,32768,8654,114,114,59,32768,8622,97,114,59,32768,10994,768,59,115,118,12732,12734,12744,32768,8715,512,59,100,12739,12741,32768,8956,59,32768,8954,59,32768,8715,99,121,59,32768,1114,1792,65,69,97,100,101,115,116,12767,12772,12776,12781,12785,12853,12858,114,114,59,32768,8653,59,32896,8806,824,114,114,59,32768,8602,114,59,32768,8229,1024,59,102,113,115,12794,12796,12821,12842,32768,8816,116,512,97,114,12802,12809,114,114,111,119,59,32768,8602,105,103,104,116,97,114,114,111,119,59,32768,8622,768,59,113,115,12828,12830,12834,32768,8816,59,32896,8806,824,108,97,110,116,59,32896,10877,824,512,59,115,12847,12850,32896,10877,824,59,32768,8814,105,109,59,32768,8820,512,59,114,12863,12865,32768,8814,105,512,59,101,12871,12873,32768,8938,59,32768,8940,105,100,59,32768,8740,512,112,116,12886,12891,102,59,32896,55349,56671,33536,172,59,105,110,12899,12901,12936,32768,172,110,1024,59,69,100,118,12911,12913,12917,12923,32768,8713,59,32896,8953,824,111,116,59,32896,8949,824,818,12928,12931,12934,59,32768,8713,59,32768,8951,59,32768,8950,105,512,59,118,12942,12944,32768,8716,818,12949,12952,12955,59,32768,8716,59,32768,8958,59,32768,8957,768,97,111,114,12964,12992,12999,114,1024,59,97,115,116,12974,12976,12983,12988,32768,8742,108,108,101,108,59,32768,8742,108,59,32896,11005,8421,59,32896,8706,824,108,105,110,116,59,32768,10772,768,59,99,101,13006,13008,13013,32768,8832,117,101,59,32768,8928,512,59,99,13018,13021,32896,10927,824,512,59,101,13026,13028,32768,8832,113,59,32896,10927,824,1024,65,97,105,116,13042,13047,13066,13077,114,114,59,32768,8655,114,114,768,59,99,119,13056,13058,13062,32768,8603,59,32896,10547,824,59,32896,8605,824,103,104,116,97,114,114,111,119,59,32768,8603,114,105,512,59,101,13084,13086,32768,8939,59,32768,8941,1792,99,104,105,109,112,113,117,13104,13128,13151,13169,13174,13179,13194,1024,59,99,101,114,13113,13115,13120,13124,32768,8833,117,101,59,32768,8929,59,32896,10928,824,59,32896,55349,56515,111,114,116,1086,13137,0,0,13142,105,100,59,32768,8740,97,114,97,108,108,101,108,59,32768,8742,109,512,59,101,13157,13159,32768,8769,512,59,113,13164,13166,32768,8772,59,32768,8772,105,100,59,32768,8740,97,114,59,32768,8742,115,117,512,98,112,13186,13190,101,59,32768,8930,101,59,32768,8931,768,98,99,112,13201,13241,13254,1024,59,69,101,115,13210,13212,13216,13219,32768,8836,59,32896,10949,824,59,32768,8840,101,116,512,59,101,13226,13229,32896,8834,8402,113,512,59,113,13235,13237,32768,8840,59,32896,10949,824,99,512,59,101,13247,13249,32768,8833,113,59,32896,10928,824,1024,59,69,101,115,13263,13265,13269,13272,32768,8837,59,32896,10950,824,59,32768,8841,101,116,512,59,101,13279,13282,32896,8835,8402,113,512,59,113,13288,13290,32768,8841,59,32896,10950,824,1024,103,105,108,114,13303,13307,13315,13319,108,59,32768,8825,108,100,101,33024,241,59,32768,241,103,59,32768,8824,105,97,110,103,108,101,512,108,114,13330,13344,101,102,116,512,59,101,13338,13340,32768,8938,113,59,32768,8940,105,103,104,116,512,59,101,13353,13355,32768,8939,113,59,32768,8941,512,59,109,13364,13366,32768,957,768,59,101,115,13373,13375,13380,32768,35,114,111,59,32768,8470,112,59,32768,8199,2304,68,72,97,100,103,105,108,114,115,13403,13409,13415,13420,13426,13439,13446,13476,13493,97,115,104,59,32768,8877,97,114,114,59,32768,10500,112,59,32896,8781,8402,97,115,104,59,32768,8876,512,101,116,13431,13435,59,32896,8805,8402,59,32896,62,8402,110,102,105,110,59,32768,10718,768,65,101,116,13453,13458,13462,114,114,59,32768,10498,59,32896,8804,8402,512,59,114,13467,13470,32896,60,8402,105,101,59,32896,8884,8402,512,65,116,13481,13486,114,114,59,32768,10499,114,105,101,59,32896,8885,8402,105,109,59,32896,8764,8402,768,65,97,110,13506,13511,13532,114,114,59,32768,8662,114,512,104,114,13517,13521,107,59,32768,10531,512,59,111,13526,13528,32768,8598,119,59,32768,8598,101,97,114,59,32768,10535,9252,13576,0,0,0,0,0,0,0,0,0,0,0,0,0,13579,0,13596,13617,13653,13659,13673,13695,13708,0,0,13713,13750,0,13788,13794,0,13815,13890,13913,13937,13944,59,32768,9416,512,99,115,13583,13591,117,116,101,33024,243,59,32768,243,116,59,32768,8859,512,105,121,13600,13613,114,512,59,99,13606,13608,32768,8858,33024,244,59,32768,244,59,32768,1086,1280,97,98,105,111,115,13627,13632,13638,13642,13646,115,104,59,32768,8861,108,97,99,59,32768,337,118,59,32768,10808,116,59,32768,8857,111,108,100,59,32768,10684,108,105,103,59,32768,339,512,99,114,13663,13668,105,114,59,32768,10687,59,32896,55349,56620,1600,13680,0,0,13684,0,13692,110,59,32768,731,97,118,101,33024,242,59,32768,242,59,32768,10689,512,98,109,13699,13704,97,114,59,32768,10677,59,32768,937,110,116,59,32768,8750,1024,97,99,105,116,13721,13726,13741,13746,114,114,59,32768,8634,512,105,114,13731,13735,114,59,32768,10686,111,115,115,59,32768,10683,110,101,59,32768,8254,59,32768,10688,768,97,101,105,13756,13761,13766,99,114,59,32768,333,103,97,59,32768,969,768,99,100,110,13773,13779,13782,114,111,110,59,32768,959,59,32768,10678,117,115,59,32768,8854,112,102,59,32896,55349,56672,768,97,101,108,13800,13804,13809,114,59,32768,10679,114,112,59,32768,10681,117,115,59,32768,8853,1792,59,97,100,105,111,115,118,13829,13831,13836,13869,13875,13879,13886,32768,8744,114,114,59,32768,8635,1024,59,101,102,109,13845,13847,13859,13864,32768,10845,114,512,59,111,13853,13855,32768,8500,102,59,32768,8500,33024,170,59,32768,170,33024,186,59,32768,186,103,111,102,59,32768,8886,114,59,32768,10838,108,111,112,101,59,32768,10839,59,32768,10843,768,99,108,111,13896,13900,13908,114,59,32768,8500,97,115,104,33024,248,59,32768,248,108,59,32768,8856,105,573,13917,13924,100,101,33024,245,59,32768,245,101,115,512,59,97,13930,13932,32768,8855,115,59,32768,10806,109,108,33024,246,59,32768,246,98,97,114,59,32768,9021,5426,13972,0,14013,0,14017,14053,0,14058,14086,0,0,14107,14199,0,14202,0,0,14229,14425,0,14438,114,1024,59,97,115,116,13981,13983,13997,14009,32768,8741,33280,182,59,108,13989,13991,32768,182,108,101,108,59,32768,8741,1082,14003,0,0,14007,109,59,32768,10995,59,32768,11005,59,32768,8706,121,59,32768,1087,114,1280,99,105,109,112,116,14028,14033,14038,14043,14046,110,116,59,32768,37,111,100,59,32768,46,105,108,59,32768,8240,59,32768,8869,101,110,107,59,32768,8241,114,59,32896,55349,56621,768,105,109,111,14064,14074,14080,512,59,118,14069,14071,32768,966,59,32768,981,109,97,116,59,32768,8499,110,101,59,32768,9742,768,59,116,118,14092,14094,14103,32768,960,99,104,102,111,114,107,59,32768,8916,59,32768,982,512,97,117,14111,14132,110,512,99,107,14117,14128,107,512,59,104,14123,14125,32768,8463,59,32768,8462,118,59,32768,8463,115,2304,59,97,98,99,100,101,109,115,116,14152,14154,14160,14163,14168,14179,14182,14188,14193,32768,43,99,105,114,59,32768,10787,59,32768,8862,105,114,59,32768,10786,512,111,117,14173,14176,59,32768,8724,59,32768,10789,59,32768,10866,110,33024,177,59,32768,177,105,109,59,32768,10790,119,111,59,32768,10791,59,32768,177,768,105,112,117,14208,14216,14221,110,116,105,110,116,59,32768,10773,102,59,32896,55349,56673,110,100,33024,163,59,32768,163,2560,59,69,97,99,101,105,110,111,115,117,14249,14251,14254,14258,14263,14336,14348,14367,14413,14418,32768,8826,59,32768,10931,112,59,32768,10935,117,101,59,32768,8828,512,59,99,14268,14270,32768,10927,1536,59,97,99,101,110,115,14283,14285,14293,14302,14306,14331,32768,8826,112,112,114,111,120,59,32768,10935,117,114,108,121,101,113,59,32768,8828,113,59,32768,10927,768,97,101,115,14313,14321,14326,112,112,114,111,120,59,32768,10937,113,113,59,32768,10933,105,109,59,32768,8936,105,109,59,32768,8830,109,101,512,59,115,14343,14345,32768,8242,59,32768,8473,768,69,97,115,14355,14358,14362,59,32768,10933,112,59,32768,10937,105,109,59,32768,8936,768,100,102,112,14374,14377,14402,59,32768,8719,768,97,108,115,14384,14390,14396,108,97,114,59,32768,9006,105,110,101,59,32768,8978,117,114,102,59,32768,8979,512,59,116,14407,14409,32768,8733,111,59,32768,8733,105,109,59,32768,8830,114,101,108,59,32768,8880,512,99,105,14429,14434,114,59,32896,55349,56517,59,32768,968,110,99,115,112,59,32768,8200,1536,102,105,111,112,115,117,14457,14462,14467,14473,14480,14486,114,59,32896,55349,56622,110,116,59,32768,10764,112,102,59,32896,55349,56674,114,105,109,101,59,32768,8279,99,114,59,32896,55349,56518,768,97,101,111,14493,14513,14526,116,512,101,105,14499,14508,114,110,105,111,110,115,59,32768,8461,110,116,59,32768,10774,115,116,512,59,101,14520,14522,32768,63,113,59,32768,8799,116,33024,34,59,32768,34,5376,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,14575,14597,14603,14608,14775,14829,14865,14901,14943,14966,15e3,15139,15159,15176,15182,15236,15261,15267,15309,15352,15360,768,97,114,116,14582,14587,14591,114,114,59,32768,8667,114,59,32768,8658,97,105,108,59,32768,10524,97,114,114,59,32768,10511,97,114,59,32768,10596,1792,99,100,101,110,113,114,116,14623,14637,14642,14650,14672,14679,14751,512,101,117,14628,14632,59,32896,8765,817,116,101,59,32768,341,105,99,59,32768,8730,109,112,116,121,118,59,32768,10675,103,1024,59,100,101,108,14660,14662,14665,14668,32768,10217,59,32768,10642,59,32768,10661,101,59,32768,10217,117,111,33024,187,59,32768,187,114,2816,59,97,98,99,102,104,108,112,115,116,119,14703,14705,14709,14720,14723,14727,14731,14735,14739,14744,14748,32768,8594,112,59,32768,10613,512,59,102,14714,14716,32768,8677,115,59,32768,10528,59,32768,10547,115,59,32768,10526,107,59,32768,8618,112,59,32768,8620,108,59,32768,10565,105,109,59,32768,10612,108,59,32768,8611,59,32768,8605,512,97,105,14756,14761,105,108,59,32768,10522,111,512,59,110,14767,14769,32768,8758,97,108,115,59,32768,8474,768,97,98,114,14782,14787,14792,114,114,59,32768,10509,114,107,59,32768,10099,512,97,107,14797,14809,99,512,101,107,14803,14806,59,32768,125,59,32768,93,512,101,115,14814,14817,59,32768,10636,108,512,100,117,14823,14826,59,32768,10638,59,32768,10640,1024,97,101,117,121,14838,14844,14858,14862,114,111,110,59,32768,345,512,100,105,14849,14854,105,108,59,32768,343,108,59,32768,8969,98,59,32768,125,59,32768,1088,1024,99,108,113,115,14874,14878,14885,14897,97,59,32768,10551,100,104,97,114,59,32768,10601,117,111,512,59,114,14892,14894,32768,8221,59,32768,8221,104,59,32768,8627,768,97,99,103,14908,14934,14938,108,1024,59,105,112,115,14918,14920,14925,14931,32768,8476,110,101,59,32768,8475,97,114,116,59,32768,8476,59,32768,8477,116,59,32768,9645,33024,174,59,32768,174,768,105,108,114,14950,14956,14962,115,104,116,59,32768,10621,111,111,114,59,32768,8971,59,32896,55349,56623,512,97,111,14971,14990,114,512,100,117,14977,14980,59,32768,8641,512,59,108,14985,14987,32768,8640,59,32768,10604,512,59,118,14995,14997,32768,961,59,32768,1009,768,103,110,115,15007,15123,15127,104,116,1536,97,104,108,114,115,116,15022,15039,15060,15086,15099,15111,114,114,111,119,512,59,116,15031,15033,32768,8594,97,105,108,59,32768,8611,97,114,112,111,111,110,512,100,117,15050,15056,111,119,110,59,32768,8641,112,59,32768,8640,101,102,116,512,97,104,15068,15076,114,114,111,119,115,59,32768,8644,97,114,112,111,111,110,115,59,32768,8652,105,103,104,116,97,114,114,111,119,115,59,32768,8649,113,117,105,103,97,114,114,111,119,59,32768,8605,104,114,101,101,116,105,109,101,115,59,32768,8908,103,59,32768,730,105,110,103,100,111,116,115,101,113,59,32768,8787,768,97,104,109,15146,15151,15156,114,114,59,32768,8644,97,114,59,32768,8652,59,32768,8207,111,117,115,116,512,59,97,15168,15170,32768,9137,99,104,101,59,32768,9137,109,105,100,59,32768,10990,1024,97,98,112,116,15191,15204,15209,15229,512,110,114,15196,15200,103,59,32768,10221,114,59,32768,8702,114,107,59,32768,10215,768,97,102,108,15216,15220,15224,114,59,32768,10630,59,32896,55349,56675,117,115,59,32768,10798,105,109,101,115,59,32768,10805,512,97,112,15241,15253,114,512,59,103,15247,15249,32768,41,116,59,32768,10644,111,108,105,110,116,59,32768,10770,97,114,114,59,32768,8649,1024,97,99,104,113,15276,15282,15287,15290,113,117,111,59,32768,8250,114,59,32896,55349,56519,59,32768,8625,512,98,117,15295,15298,59,32768,93,111,512,59,114,15304,15306,32768,8217,59,32768,8217,768,104,105,114,15316,15322,15328,114,101,101,59,32768,8908,109,101,115,59,32768,8906,105,1024,59,101,102,108,15338,15340,15343,15346,32768,9657,59,32768,8885,59,32768,9656,116,114,105,59,32768,10702,108,117,104,97,114,59,32768,10600,59,32768,8478,6706,15391,15398,15404,15499,15516,15592,0,15606,15660,0,0,15752,15758,0,15827,15863,15886,16e3,16006,16038,16086,0,16467,0,0,16506,99,117,116,101,59,32768,347,113,117,111,59,32768,8218,2560,59,69,97,99,101,105,110,112,115,121,15424,15426,15429,15441,15446,15458,15463,15482,15490,15495,32768,8827,59,32768,10932,833,15434,0,15437,59,32768,10936,111,110,59,32768,353,117,101,59,32768,8829,512,59,100,15451,15453,32768,10928,105,108,59,32768,351,114,99,59,32768,349,768,69,97,115,15470,15473,15477,59,32768,10934,112,59,32768,10938,105,109,59,32768,8937,111,108,105,110,116,59,32768,10771,105,109,59,32768,8831,59,32768,1089,111,116,768,59,98,101,15507,15509,15512,32768,8901,59,32768,8865,59,32768,10854,1792,65,97,99,109,115,116,120,15530,15535,15556,15562,15566,15572,15587,114,114,59,32768,8664,114,512,104,114,15541,15545,107,59,32768,10533,512,59,111,15550,15552,32768,8600,119,59,32768,8600,116,33024,167,59,32768,167,105,59,32768,59,119,97,114,59,32768,10537,109,512,105,110,15578,15584,110,117,115,59,32768,8726,59,32768,8726,116,59,32768,10038,114,512,59,111,15597,15600,32896,55349,56624,119,110,59,32768,8994,1024,97,99,111,121,15614,15619,15632,15654,114,112,59,32768,9839,512,104,121,15624,15629,99,121,59,32768,1097,59,32768,1096,114,116,1086,15640,0,0,15645,105,100,59,32768,8739,97,114,97,108,108,101,108,59,32768,8741,33024,173,59,32768,173,512,103,109,15664,15681,109,97,768,59,102,118,15673,15675,15678,32768,963,59,32768,962,59,32768,962,2048,59,100,101,103,108,110,112,114,15698,15700,15705,15715,15725,15735,15739,15745,32768,8764,111,116,59,32768,10858,512,59,113,15710,15712,32768,8771,59,32768,8771,512,59,69,15720,15722,32768,10910,59,32768,10912,512,59,69,15730,15732,32768,10909,59,32768,10911,101,59,32768,8774,108,117,115,59,32768,10788,97,114,114,59,32768,10610,97,114,114,59,32768,8592,1024,97,101,105,116,15766,15788,15796,15808,512,108,115,15771,15783,108,115,101,116,109,105,110,117,115,59,32768,8726,104,112,59,32768,10803,112,97,114,115,108,59,32768,10724,512,100,108,15801,15804,59,32768,8739,101,59,32768,8995,512,59,101,15813,15815,32768,10922,512,59,115,15820,15822,32768,10924,59,32896,10924,65024,768,102,108,112,15833,15839,15857,116,99,121,59,32768,1100,512,59,98,15844,15846,32768,47,512,59,97,15851,15853,32768,10692,114,59,32768,9023,102,59,32896,55349,56676,97,512,100,114,15868,15882,101,115,512,59,117,15875,15877,32768,9824,105,116,59,32768,9824,59,32768,8741,768,99,115,117,15892,15921,15977,512,97,117,15897,15909,112,512,59,115,15903,15905,32768,8851,59,32896,8851,65024,112,512,59,115,15915,15917,32768,8852,59,32896,8852,65024,117,512,98,112,15927,15952,768,59,101,115,15934,15936,15939,32768,8847,59,32768,8849,101,116,512,59,101,15946,15948,32768,8847,113,59,32768,8849,768,59,101,115,15959,15961,15964,32768,8848,59,32768,8850,101,116,512,59,101,15971,15973,32768,8848,113,59,32768,8850,768,59,97,102,15984,15986,15996,32768,9633,114,566,15991,15994,59,32768,9633,59,32768,9642,59,32768,9642,97,114,114,59,32768,8594,1024,99,101,109,116,16014,16019,16025,16031,114,59,32896,55349,56520,116,109,110,59,32768,8726,105,108,101,59,32768,8995,97,114,102,59,32768,8902,512,97,114,16042,16053,114,512,59,102,16048,16050,32768,9734,59,32768,9733,512,97,110,16058,16081,105,103,104,116,512,101,112,16067,16076,112,115,105,108,111,110,59,32768,1013,104,105,59,32768,981,115,59,32768,175,1280,98,99,109,110,112,16096,16221,16288,16291,16295,2304,59,69,100,101,109,110,112,114,115,16115,16117,16120,16125,16137,16143,16154,16160,16166,32768,8834,59,32768,10949,111,116,59,32768,10941,512,59,100,16130,16132,32768,8838,111,116,59,32768,10947,117,108,116,59,32768,10945,512,69,101,16148,16151,59,32768,10955,59,32768,8842,108,117,115,59,32768,10943,97,114,114,59,32768,10617,768,101,105,117,16173,16206,16210,116,768,59,101,110,16181,16183,16194,32768,8834,113,512,59,113,16189,16191,32768,8838,59,32768,10949,101,113,512,59,113,16201,16203,32768,8842,59,32768,10955,109,59,32768,10951,512,98,112,16215,16218,59,32768,10965,59,32768,10963,99,1536,59,97,99,101,110,115,16235,16237,16245,16254,16258,16283,32768,8827,112,112,114,111,120,59,32768,10936,117,114,108,121,101,113,59,32768,8829,113,59,32768,10928,768,97,101,115,16265,16273,16278,112,112,114,111,120,59,32768,10938,113,113,59,32768,10934,105,109,59,32768,8937,105,109,59,32768,8831,59,32768,8721,103,59,32768,9834,3328,49,50,51,59,69,100,101,104,108,109,110,112,115,16322,16327,16332,16337,16339,16342,16356,16368,16382,16388,16394,16405,16411,33024,185,59,32768,185,33024,178,59,32768,178,33024,179,59,32768,179,32768,8835,59,32768,10950,512,111,115,16347,16351,116,59,32768,10942,117,98,59,32768,10968,512,59,100,16361,16363,32768,8839,111,116,59,32768,10948,115,512,111,117,16374,16378,108,59,32768,10185,98,59,32768,10967,97,114,114,59,32768,10619,117,108,116,59,32768,10946,512,69,101,16399,16402,59,32768,10956,59,32768,8843,108,117,115,59,32768,10944,768,101,105,117,16418,16451,16455,116,768,59,101,110,16426,16428,16439,32768,8835,113,512,59,113,16434,16436,32768,8839,59,32768,10950,101,113,512,59,113,16446,16448,32768,8843,59,32768,10956,109,59,32768,10952,512,98,112,16460,16463,59,32768,10964,59,32768,10966,768,65,97,110,16473,16478,16499,114,114,59,32768,8665,114,512,104,114,16484,16488,107,59,32768,10534,512,59,111,16493,16495,32768,8601,119,59,32768,8601,119,97,114,59,32768,10538,108,105,103,33024,223,59,32768,223,5938,16538,16552,16557,16579,16584,16591,0,16596,16692,0,0,0,0,0,16731,16780,0,16787,16908,0,0,0,16938,1091,16543,0,0,16549,103,101,116,59,32768,8982,59,32768,964,114,107,59,32768,9140,768,97,101,121,16563,16569,16575,114,111,110,59,32768,357,100,105,108,59,32768,355,59,32768,1090,111,116,59,32768,8411,108,114,101,99,59,32768,8981,114,59,32896,55349,56625,1024,101,105,107,111,16604,16641,16670,16684,835,16609,0,16624,101,512,52,102,16614,16617,59,32768,8756,111,114,101,59,32768,8756,97,768,59,115,118,16631,16633,16638,32768,952,121,109,59,32768,977,59,32768,977,512,99,110,16646,16665,107,512,97,115,16652,16660,112,112,114,111,120,59,32768,8776,105,109,59,32768,8764,115,112,59,32768,8201,512,97,115,16675,16679,112,59,32768,8776,105,109,59,32768,8764,114,110,33024,254,59,32768,254,829,16696,16701,16727,100,101,59,32768,732,101,115,33536,215,59,98,100,16710,16712,16723,32768,215,512,59,97,16717,16719,32768,8864,114,59,32768,10801,59,32768,10800,116,59,32768,8749,768,101,112,115,16737,16741,16775,97,59,32768,10536,1024,59,98,99,102,16750,16752,16757,16762,32768,8868,111,116,59,32768,9014,105,114,59,32768,10993,512,59,111,16767,16770,32896,55349,56677,114,107,59,32768,10970,97,59,32768,10537,114,105,109,101,59,32768,8244,768,97,105,112,16793,16798,16899,100,101,59,32768,8482,1792,97,100,101,109,112,115,116,16813,16868,16873,16876,16883,16889,16893,110,103,108,101,1280,59,100,108,113,114,16828,16830,16836,16850,16853,32768,9653,111,119,110,59,32768,9663,101,102,116,512,59,101,16844,16846,32768,9667,113,59,32768,8884,59,32768,8796,105,103,104,116,512,59,101,16862,16864,32768,9657,113,59,32768,8885,111,116,59,32768,9708,59,32768,8796,105,110,117,115,59,32768,10810,108,117,115,59,32768,10809,98,59,32768,10701,105,109,101,59,32768,10811,101,122,105,117,109,59,32768,9186,768,99,104,116,16914,16926,16931,512,114,121,16919,16923,59,32896,55349,56521,59,32768,1094,99,121,59,32768,1115,114,111,107,59,32768,359,512,105,111,16942,16947,120,116,59,32768,8812,104,101,97,100,512,108,114,16956,16967,101,102,116,97,114,114,111,119,59,32768,8606,105,103,104,116,97,114,114,111,119,59,32768,8608,4608,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,17016,17021,17026,17043,17057,17072,17095,17110,17119,17139,17172,17187,17202,17290,17330,17336,17365,17381,114,114,59,32768,8657,97,114,59,32768,10595,512,99,114,17031,17039,117,116,101,33024,250,59,32768,250,114,59,32768,8593,114,820,17049,0,17053,121,59,32768,1118,118,101,59,32768,365,512,105,121,17062,17069,114,99,33024,251,59,32768,251,59,32768,1091,768,97,98,104,17079,17084,17090,114,114,59,32768,8645,108,97,99,59,32768,369,97,114,59,32768,10606,512,105,114,17100,17106,115,104,116,59,32768,10622,59,32896,55349,56626,114,97,118,101,33024,249,59,32768,249,562,17123,17135,114,512,108,114,17128,17131,59,32768,8639,59,32768,8638,108,107,59,32768,9600,512,99,116,17144,17167,1088,17150,0,0,17163,114,110,512,59,101,17156,17158,32768,8988,114,59,32768,8988,111,112,59,32768,8975,114,105,59,32768,9720,512,97,108,17177,17182,99,114,59,32768,363,33024,168,59,32768,168,512,103,112,17192,17197,111,110,59,32768,371,102,59,32896,55349,56678,1536,97,100,104,108,115,117,17215,17222,17233,17257,17262,17280,114,114,111,119,59,32768,8593,111,119,110,97,114,114,111,119,59,32768,8597,97,114,112,111,111,110,512,108,114,17244,17250,101,102,116,59,32768,8639,105,103,104,116,59,32768,8638,117,115,59,32768,8846,105,768,59,104,108,17270,17272,17275,32768,965,59,32768,978,111,110,59,32768,965,112,97,114,114,111,119,115,59,32768,8648,768,99,105,116,17297,17320,17325,1088,17303,0,0,17316,114,110,512,59,101,17309,17311,32768,8989,114,59,32768,8989,111,112,59,32768,8974,110,103,59,32768,367,114,105,59,32768,9721,99,114,59,32896,55349,56522,768,100,105,114,17343,17348,17354,111,116,59,32768,8944,108,100,101,59,32768,361,105,512,59,102,17360,17362,32768,9653,59,32768,9652,512,97,109,17370,17375,114,114,59,32768,8648,108,33024,252,59,32768,252,97,110,103,108,101,59,32768,10663,3840,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,17420,17425,17437,17443,17613,17617,17623,17667,17672,17678,17693,17699,17705,17711,17754,114,114,59,32768,8661,97,114,512,59,118,17432,17434,32768,10984,59,32768,10985,97,115,104,59,32768,8872,512,110,114,17448,17454,103,114,116,59,32768,10652,1792,101,107,110,112,114,115,116,17469,17478,17485,17494,17515,17526,17578,112,115,105,108,111,110,59,32768,1013,97,112,112,97,59,32768,1008,111,116,104,105,110,103,59,32768,8709,768,104,105,114,17501,17505,17508,105,59,32768,981,59,32768,982,111,112,116,111,59,32768,8733,512,59,104,17520,17522,32768,8597,111,59,32768,1009,512,105,117,17531,17537,103,109,97,59,32768,962,512,98,112,17542,17560,115,101,116,110,101,113,512,59,113,17553,17556,32896,8842,65024,59,32896,10955,65024,115,101,116,110,101,113,512,59,113,17571,17574,32896,8843,65024,59,32896,10956,65024,512,104,114,17583,17589,101,116,97,59,32768,977,105,97,110,103,108,101,512,108,114,17600,17606,101,102,116,59,32768,8882,105,103,104,116,59,32768,8883,121,59,32768,1074,97,115,104,59,32768,8866,768,101,108,114,17630,17648,17654,768,59,98,101,17637,17639,17644,32768,8744,97,114,59,32768,8891,113,59,32768,8794,108,105,112,59,32768,8942,512,98,116,17659,17664,97,114,59,32768,124,59,32768,124,114,59,32896,55349,56627,116,114,105,59,32768,8882,115,117,512,98,112,17685,17689,59,32896,8834,8402,59,32896,8835,8402,112,102,59,32896,55349,56679,114,111,112,59,32768,8733,116,114,105,59,32768,8883,512,99,117,17716,17721,114,59,32896,55349,56523,512,98,112,17726,17740,110,512,69,101,17732,17736,59,32896,10955,65024,59,32896,8842,65024,110,512,69,101,17746,17750,59,32896,10956,65024,59,32896,8843,65024,105,103,122,97,103,59,32768,10650,1792,99,101,102,111,112,114,115,17777,17783,17815,17820,17826,17829,17842,105,114,99,59,32768,373,512,100,105,17788,17809,512,98,103,17793,17798,97,114,59,32768,10847,101,512,59,113,17804,17806,32768,8743,59,32768,8793,101,114,112,59,32768,8472,114,59,32896,55349,56628,112,102,59,32896,55349,56680,59,32768,8472,512,59,101,17834,17836,32768,8768,97,116,104,59,32768,8768,99,114,59,32896,55349,56524,5428,17871,17891,0,17897,0,17902,17917,0,0,17920,17935,17940,17945,0,0,17977,17992,0,18008,18024,18029,768,97,105,117,17877,17881,17886,112,59,32768,8898,114,99,59,32768,9711,112,59,32768,8899,116,114,105,59,32768,9661,114,59,32896,55349,56629,512,65,97,17906,17911,114,114,59,32768,10234,114,114,59,32768,10231,59,32768,958,512,65,97,17924,17929,114,114,59,32768,10232,114,114,59,32768,10229,97,112,59,32768,10236,105,115,59,32768,8955,768,100,112,116,17951,17956,17970,111,116,59,32768,10752,512,102,108,17961,17965,59,32896,55349,56681,117,115,59,32768,10753,105,109,101,59,32768,10754,512,65,97,17981,17986,114,114,59,32768,10233,114,114,59,32768,10230,512,99,113,17996,18001,114,59,32896,55349,56525,99,117,112,59,32768,10758,512,112,116,18012,18018,108,117,115,59,32768,10756,114,105,59,32768,9651,101,101,59,32768,8897,101,100,103,101,59,32768,8896,2048,97,99,101,102,105,111,115,117,18052,18068,18081,18087,18092,18097,18103,18109,99,512,117,121,18058,18065,116,101,33024,253,59,32768,253,59,32768,1103,512,105,121,18073,18078,114,99,59,32768,375,59,32768,1099,110,33024,165,59,32768,165,114,59,32896,55349,56630,99,121,59,32768,1111,112,102,59,32896,55349,56682,99,114,59,32896,55349,56526,512,99,109,18114,18118,121,59,32768,1102,108,33024,255,59,32768,255,2560,97,99,100,101,102,104,105,111,115,119,18145,18152,18166,18171,18186,18191,18196,18204,18210,18216,99,117,116,101,59,32768,378,512,97,121,18157,18163,114,111,110,59,32768,382,59,32768,1079,111,116,59,32768,380,512,101,116,18176,18182,116,114,102,59,32768,8488,97,59,32768,950,114,59,32896,55349,56631,99,121,59,32768,1078,103,114,97,114,114,59,32768,8669,112,102,59,32896,55349,56683,99,114,59,32896,55349,56527,512,106,110,18221,18224,59,32768,8205,106,59,32768,8204])},6381:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.default=new Uint16Array([1024,97,103,108,113,9,23,27,31,1086,15,0,0,19,112,59,32768,38,111,115,59,32768,39,116,59,32768,62,116,59,32768,60,117,111,116,59,32768,34])},825:function(ve,_,d){"use strict";var O,s=this&&this.__extends||(O=function(x,D){return(O=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,F){v.__proto__=F}||function(v,F){for(var j in F)Object.prototype.hasOwnProperty.call(F,j)&&(v[j]=F[j])})(x,D)},function(x,D){if("function"!=typeof D&&null!==D)throw new TypeError("Class extends value "+String(D)+" is not a constructor or null");function v(){this.constructor=x}O(x,D),x.prototype=null===D?Object.create(D):(v.prototype=D.prototype,new v)}),m=this&&this.__importDefault||function(O){return O&&O.__esModule?O:{default:O}};Object.defineProperty(_,"__esModule",{value:!0}),_.parseFeed=_.FeedHandler=_.getFeed=void 0;var o=m(d(9131)),N=d(5149);Object.defineProperty(_,"getFeed",{enumerable:!0,get:function(){return N.getFeed}});var L=d(2100),P=function(O){function x(D,v){return"object"==typeof D&&(v=D=void 0),O.call(this,D,v)||this}return s(x,O),x.prototype.onend=function(){var D=(0,N.getFeed)(this.dom);D?(this.feed=D,this.handleCallback(null)):this.handleCallback(new Error("couldn't find root of feed"))},x}(o.default);_.FeedHandler=P,_.parseFeed=function R(O,x){void 0===x&&(x={xmlMode:!0});var D=new o.default(null,x);return new L.Parser(D,x).end(O),(0,N.getFeed)(D.dom)}},2100:function(ve,_,d){"use strict";var s=this&&this.__importDefault||function(V){return V&&V.__esModule?V:{default:V}};Object.defineProperty(_,"__esModule",{value:!0}),_.Parser=void 0;var m=s(d(6122)),o=new Set(["input","option","optgroup","select","button","datalist","textarea"]),N=new Set(["p"]),L=new Set(["thead","tbody"]),P=new Set(["dd","dt"]),R=new Set(["rt","rp"]),O=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",N],["h1",N],["h2",N],["h3",N],["h4",N],["h5",N],["h6",N],["select",o],["input",o],["output",o],["button",o],["datalist",o],["textarea",o],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",P],["dt",P],["address",N],["article",N],["aside",N],["blockquote",N],["details",N],["div",N],["dl",N],["fieldset",N],["figcaption",N],["figure",N],["footer",N],["form",N],["header",N],["hr",N],["main",N],["nav",N],["ol",N],["pre",N],["section",N],["table",N],["ul",N],["rt",R],["rp",R],["tbody",L],["tfoot",L]]),x=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),D=new Set(["math","svg"]),v=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),F=/\s|\//,j=function(){function V(U,G){var K,ce,ae,oe,Z;void 0===G&&(G={}),this.options=G,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.cbs=U??{},this.lowerCaseTagNames=null!==(K=G.lowerCaseTags)&&void 0!==K?K:!G.xmlMode,this.lowerCaseAttributeNames=null!==(ce=G.lowerCaseAttributeNames)&&void 0!==ce?ce:!G.xmlMode,this.tokenizer=new(null!==(ae=G.Tokenizer)&&void 0!==ae?ae:m.default)(this.options,this),null===(Z=(oe=this.cbs).onparserinit)||void 0===Z||Z.call(oe,this)}return V.prototype.ontext=function(U){var G,K,ce=this.tokenizer.getAbsoluteIndex();this.endIndex=ce-1,null===(K=(G=this.cbs).ontext)||void 0===K||K.call(G,U),this.startIndex=ce},V.prototype.isVoidElement=function(U){return!this.options.xmlMode&&x.has(U)},V.prototype.onopentagname=function(U){this.endIndex=this.tokenizer.getAbsoluteIndex(),this.lowerCaseTagNames&&(U=U.toLowerCase()),this.emitOpenTag(U)},V.prototype.emitOpenTag=function(U){var G,K,ce,ae;this.openTagStart=this.startIndex,this.tagname=U;var oe=!this.options.xmlMode&&O.get(U);if(oe)for(;this.stack.length>0&&oe.has(this.stack[this.stack.length-1]);){var Z=this.stack.pop();null===(K=(G=this.cbs).onclosetag)||void 0===K||K.call(G,Z,!0)}this.isVoidElement(U)||(this.stack.push(U),D.has(U)?this.foreignContext.push(!0):v.has(U)&&this.foreignContext.push(!1)),null===(ae=(ce=this.cbs).onopentagname)||void 0===ae||ae.call(ce,U),this.cbs.onopentag&&(this.attribs={})},V.prototype.endOpenTag=function(U){var G,K;this.startIndex=this.openTagStart,this.endIndex=this.tokenizer.getAbsoluteIndex(),this.attribs&&(null===(K=(G=this.cbs).onopentag)||void 0===K||K.call(G,this.tagname,this.attribs,U),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""},V.prototype.onopentagend=function(){this.endOpenTag(!1),this.startIndex=this.endIndex+1},V.prototype.onclosetag=function(U){var G,K,ce,ae,oe,Z;if(this.endIndex=this.tokenizer.getAbsoluteIndex(),this.lowerCaseTagNames&&(U=U.toLowerCase()),(D.has(U)||v.has(U))&&this.foreignContext.pop(),this.isVoidElement(U))!this.options.xmlMode&&"br"===U&&(null===(K=(G=this.cbs).onopentagname)||void 0===K||K.call(G,U),null===(ae=(ce=this.cbs).onopentag)||void 0===ae||ae.call(ce,U,{},!0),null===(Z=(oe=this.cbs).onclosetag)||void 0===Z||Z.call(oe,U,!1));else{var J=this.stack.lastIndexOf(U);if(-1!==J)if(this.cbs.onclosetag)for(var q=this.stack.length-J;q--;)this.cbs.onclosetag(this.stack.pop(),0!==q);else this.stack.length=J;else!this.options.xmlMode&&"p"===U&&(this.emitOpenTag(U),this.closeCurrentTag(!0))}this.startIndex=this.endIndex+1},V.prototype.onselfclosingtag=function(){this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=this.endIndex+1):this.onopentagend()},V.prototype.closeCurrentTag=function(U){var G,K,ce=this.tagname;this.endOpenTag(U),this.stack[this.stack.length-1]===ce&&(null===(K=(G=this.cbs).onclosetag)||void 0===K||K.call(G,ce,!U),this.stack.pop())},V.prototype.onattribname=function(U){this.startIndex=this.tokenizer.getAbsoluteSectionStart(),this.lowerCaseAttributeNames&&(U=U.toLowerCase()),this.attribname=U},V.prototype.onattribdata=function(U){this.attribvalue+=U},V.prototype.onattribend=function(U){var G,K;this.endIndex=this.tokenizer.getAbsoluteIndex(),null===(K=(G=this.cbs).onattribute)||void 0===K||K.call(G,this.attribname,this.attribvalue,U),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribname="",this.attribvalue=""},V.prototype.getInstructionName=function(U){var G=U.search(F),K=G<0?U:U.substr(0,G);return this.lowerCaseTagNames&&(K=K.toLowerCase()),K},V.prototype.ondeclaration=function(U){if(this.endIndex=this.tokenizer.getAbsoluteIndex(),this.cbs.onprocessinginstruction){var G=this.getInstructionName(U);this.cbs.onprocessinginstruction("!"+G,"!"+U)}this.startIndex=this.endIndex+1},V.prototype.onprocessinginstruction=function(U){if(this.endIndex=this.tokenizer.getAbsoluteIndex(),this.cbs.onprocessinginstruction){var G=this.getInstructionName(U);this.cbs.onprocessinginstruction("?"+G,"?"+U)}this.startIndex=this.endIndex+1},V.prototype.oncomment=function(U){var G,K,ce,ae;this.endIndex=this.tokenizer.getAbsoluteIndex(),null===(K=(G=this.cbs).oncomment)||void 0===K||K.call(G,U),null===(ae=(ce=this.cbs).oncommentend)||void 0===ae||ae.call(ce),this.startIndex=this.endIndex+1},V.prototype.oncdata=function(U){var G,K,ce,ae,oe,Z,J,q,ie,ge;this.endIndex=this.tokenizer.getAbsoluteIndex(),this.options.xmlMode||this.options.recognizeCDATA?(null===(K=(G=this.cbs).oncdatastart)||void 0===K||K.call(G),null===(ae=(ce=this.cbs).ontext)||void 0===ae||ae.call(ce,U),null===(Z=(oe=this.cbs).oncdataend)||void 0===Z||Z.call(oe)):(null===(q=(J=this.cbs).oncomment)||void 0===q||q.call(J,"[CDATA["+U+"]]"),null===(ge=(ie=this.cbs).oncommentend)||void 0===ge||ge.call(ie)),this.startIndex=this.endIndex+1},V.prototype.onerror=function(U){var G,K;null===(K=(G=this.cbs).onerror)||void 0===K||K.call(G,U)},V.prototype.onend=function(){var U,G;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(var K=this.stack.length;K>0;this.cbs.onclosetag(this.stack[--K],!0));}null===(G=(U=this.cbs).onend)||void 0===G||G.call(U)},V.prototype.reset=function(){var U,G,K,ce;null===(G=(U=this.cbs).onreset)||void 0===G||G.call(U),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack=[],this.startIndex=0,this.endIndex=0,null===(ce=(K=this.cbs).onparserinit)||void 0===ce||ce.call(K,this)},V.prototype.parseComplete=function(U){this.reset(),this.end(U)},V.prototype.write=function(U){this.tokenizer.write(U)},V.prototype.end=function(U){this.tokenizer.end(U)},V.prototype.pause=function(){this.tokenizer.pause()},V.prototype.resume=function(){this.tokenizer.resume()},V.prototype.parseChunk=function(U){this.write(U)},V.prototype.done=function(U){this.end(U)},V}();_.Parser=j},6122:function(ve,_,d){"use strict";var s=this&&this.__importDefault||function(D){return D&&D.__esModule?D:{default:D}};Object.defineProperty(_,"__esModule",{value:!0});var m=s(d(396)),o=d(356);function N(D){return 32===D||10===D||9===D||12===D||13===D}function L(D){return 47===D||62===D||N(D)}function P(D){return D>=48&&D<=57}var O={Cdata:new Uint16Array([67,68,65,84,65,91]),CdataEnd:new Uint16Array([93,93,62]),CommentEnd:new Uint16Array([45,45,62]),ScriptEnd:new Uint16Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint16Array([60,47,115,116,121,108,101]),TitleEnd:new Uint16Array([60,47,116,105,116,108,101])},x=function(){function D(v,F){var j=v.xmlMode,V=void 0!==j&&j,U=v.decodeEntities,G=void 0===U||U;this.cbs=F,this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.isSpecial=!1,this.running=!0,this.ended=!1,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.trieResult=null,this.entityExcess=0,this.xmlMode=V,this.decodeEntities=G,this.entityTrie=V?o.xmlDecodeTree:o.htmlDecodeTree}return D.prototype.reset=function(){this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.currentSequence=void 0,this.running=!0,this.ended=!1},D.prototype.write=function(v){if(this.ended)return this.cbs.onerror(Error(".write() after done!"));this.buffer+=v,this.parse()},D.prototype.end=function(v){if(this.ended)return this.cbs.onerror(Error(".end() after done!"));v&&this.write(v),this.ended=!0,this.running&&this.finish()},D.prototype.pause=function(){this.running=!1},D.prototype.resume=function(){this.running=!0,this._indexthis.sectionStart&&this.cbs.ontext(this.getSection()),this._state=2,this.sectionStart=this._index):this.decodeEntities&&38===v&&(this._state=25)},D.prototype.stateSpecialStartSequence=function(v){var F=this.sequenceIndex===this.currentSequence.length;if(F?L(v):(32|v)===this.currentSequence[this.sequenceIndex]){if(!F)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this._state=3,this.stateInTagName(v)},D.prototype.stateInSpecialTag=function(v){if(this.sequenceIndex===this.currentSequence.length){if(62===v||N(v)){var F=this._index-this.currentSequence.length;if(this.sectionStart=97&&D<=122||D>=65&&D<=90}(v)},D.prototype.startSpecial=function(v,F){this.isSpecial=!0,this.currentSequence=v,this.sequenceIndex=F,this._state=23},D.prototype.stateBeforeTagName=function(v){if(33===v)this._state=15,this.sectionStart=this._index+1;else if(63===v)this._state=17,this.sectionStart=this._index+1;else if(this.isTagStartChar(v)){var F=32|v;this.sectionStart=this._index,this.xmlMode||F!==O.TitleEnd[2]?this._state=this.xmlMode||F!==O.ScriptEnd[2]?3:22:this.startSpecial(O.TitleEnd,3)}else 47===v?this._state=5:(this._state=1,this.stateText(v))},D.prototype.stateInTagName=function(v){L(v)&&(this.cbs.onopentagname(this.getSection()),this.sectionStart=-1,this._state=8,this.stateBeforeAttributeName(v))},D.prototype.stateBeforeClosingTagName=function(v){N(v)||(62===v?this._state=1:(this._state=this.isTagStartChar(v)?6:20,this.sectionStart=this._index))},D.prototype.stateInClosingTagName=function(v){(62===v||N(v))&&(this.cbs.onclosetag(this.getSection()),this.sectionStart=-1,this._state=7,this.stateAfterClosingTagName(v))},D.prototype.stateAfterClosingTagName=function(v){(62===v||this.fastForwardTo(62))&&(this._state=1,this.sectionStart=this._index+1)},D.prototype.stateBeforeAttributeName=function(v){62===v?(this.cbs.onopentagend(),this.isSpecial?(this._state=24,this.sequenceIndex=0):this._state=1,this.baseState=this._state,this.sectionStart=this._index+1):47===v?this._state=4:N(v)||(this._state=9,this.sectionStart=this._index)},D.prototype.stateInSelfClosingTag=function(v){62===v?(this.cbs.onselfclosingtag(),this._state=1,this.baseState=1,this.sectionStart=this._index+1,this.isSpecial=!1):N(v)||(this._state=8,this.stateBeforeAttributeName(v))},D.prototype.stateInAttributeName=function(v){(61===v||L(v))&&(this.cbs.onattribname(this.getSection()),this.sectionStart=-1,this._state=10,this.stateAfterAttributeName(v))},D.prototype.stateAfterAttributeName=function(v){61===v?this._state=11:47===v||62===v?(this.cbs.onattribend(void 0),this._state=8,this.stateBeforeAttributeName(v)):N(v)||(this.cbs.onattribend(void 0),this._state=9,this.sectionStart=this._index)},D.prototype.stateBeforeAttributeValue=function(v){34===v?(this._state=12,this.sectionStart=this._index+1):39===v?(this._state=13,this.sectionStart=this._index+1):N(v)||(this.sectionStart=this._index,this._state=14,this.stateInAttributeValueNoQuotes(v))},D.prototype.handleInAttributeValue=function(v,F){v===F||!this.decodeEntities&&this.fastForwardTo(F)?(this.cbs.onattribdata(this.getSection()),this.sectionStart=-1,this.cbs.onattribend(String.fromCharCode(F)),this._state=8):this.decodeEntities&&38===v&&(this.baseState=this._state,this._state=25)},D.prototype.stateInAttributeValueDoubleQuotes=function(v){this.handleInAttributeValue(v,34)},D.prototype.stateInAttributeValueSingleQuotes=function(v){this.handleInAttributeValue(v,39)},D.prototype.stateInAttributeValueNoQuotes=function(v){N(v)||62===v?(this.cbs.onattribdata(this.getSection()),this.sectionStart=-1,this.cbs.onattribend(null),this._state=8,this.stateBeforeAttributeName(v)):this.decodeEntities&&38===v&&(this.baseState=this._state,this._state=25)},D.prototype.stateBeforeDeclaration=function(v){91===v?(this._state=19,this.sequenceIndex=0):this._state=45===v?18:16},D.prototype.stateInDeclaration=function(v){(62===v||this.fastForwardTo(62))&&(this.cbs.ondeclaration(this.getSection()),this._state=1,this.sectionStart=this._index+1)},D.prototype.stateInProcessingInstruction=function(v){(62===v||this.fastForwardTo(62))&&(this.cbs.onprocessinginstruction(this.getSection()),this._state=1,this.sectionStart=this._index+1)},D.prototype.stateBeforeComment=function(v){45===v?(this._state=21,this.currentSequence=O.CommentEnd,this.sequenceIndex=2,this.sectionStart=this._index+1):this._state=16},D.prototype.stateInSpecialComment=function(v){(62===v||this.fastForwardTo(62))&&(this.cbs.oncomment(this.getSection()),this._state=1,this.sectionStart=this._index+1)},D.prototype.stateBeforeSpecialS=function(v){var F=32|v;F===O.ScriptEnd[3]?this.startSpecial(O.ScriptEnd,4):F===O.StyleEnd[3]?this.startSpecial(O.StyleEnd,4):(this._state=3,this.stateInTagName(v))},D.prototype.stateBeforeEntity=function(v){this.entityExcess=1,35===v?this._state=26:38===v||(this.trieIndex=0,this.trieCurrent=this.entityTrie[0],this.trieResult=null,this._state=27,this.stateInNamedEntity(v))},D.prototype.stateInNamedEntity=function(v){if(this.entityExcess+=1,this.trieIndex=(0,o.determineBranch)(this.entityTrie,this.trieCurrent,this.trieIndex+1,v),this.trieIndex<0)return this.emitNamedEntity(),void this._index--;if(this.trieCurrent=this.entityTrie[this.trieIndex],this.trieCurrent&o.BinTrieFlags.HAS_VALUE)if(this.allowLegacyEntity()||59===v){var F=this._index-this.entityExcess+1;F>this.sectionStart&&this.emitPartial(this.buffer.substring(this.sectionStart,F)),this.trieResult=this.trieCurrent&o.BinTrieFlags.MULTI_BYTE?String.fromCharCode(this.entityTrie[++this.trieIndex],this.entityTrie[++this.trieIndex]):String.fromCharCode(this.entityTrie[++this.trieIndex]),this.entityExcess=0,this.sectionStart=this._index+1}else this.trieIndex+=1},D.prototype.emitNamedEntity=function(){this.trieResult&&this.emitPartial(this.trieResult),this._state=this.baseState},D.prototype.stateBeforeNumericEntity=function(v){120==(32|v)?(this.entityExcess++,this._state=29):(this._state=28,this.stateInNumericEntity(v))},D.prototype.decodeNumericEntity=function(v,F){var j=this._index-this.entityExcess-1,V=j+2+(v>>4);if(V!==this._index){j>this.sectionStart&&this.emitPartial(this.buffer.substring(this.sectionStart,j));var U=this.buffer.substring(V,this._index),G=parseInt(U,v);this.emitPartial((0,m.default)(G)),this.sectionStart=this._index+Number(F)}this._state=this.baseState},D.prototype.stateInNumericEntity=function(v){59===v?this.decodeNumericEntity(10,!0):P(v)?this.entityExcess++:(this.allowLegacyEntity()?this.decodeNumericEntity(10,!1):this._state=this.baseState,this._index--)},D.prototype.stateInHexEntity=function(v){59===v?this.decodeNumericEntity(16,!0):(v<97||v>102)&&(v<65||v>70)&&!P(v)?(this.allowLegacyEntity()?this.decodeNumericEntity(16,!1):this._state=this.baseState,this._index--):this.entityExcess++},D.prototype.allowLegacyEntity=function(){return!this.xmlMode&&(1===this.baseState||24===this.baseState)},D.prototype.cleanup=function(){this.running&&this.sectionStart!==this._index&&(1===this._state||24===this._state&&0===this.sequenceIndex)&&(this.cbs.ontext(this.buffer.substr(this.sectionStart)),this.sectionStart=this._index);var v=this.sectionStart<0?this._index:this.sectionStart;this.buffer=v===this.buffer.length?"":this.buffer.substr(v),this._index-=v,this.bufferOffset+=v,this.sectionStart>0&&(this.sectionStart=0)},D.prototype.shouldContinue=function(){return this._index{"use strict";Object.defineProperty(_,"__esModule",{value:!0});var j,oe,V,U,m=Object.defineProperty,o=Object.defineProperties,N=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable,O=(oe,Z,J)=>Z in oe?m(oe,Z,{enumerable:!0,configurable:!0,writable:!0,value:J}):oe[Z]=J,x=(oe,Z)=>{for(var J in Z||(Z={}))P.call(Z,J)&&O(oe,J,Z[J]);if(L)for(var J of L(Z))R.call(Z,J)&&O(oe,J,Z[J]);return oe},F=function s(oe){return oe&&oe.__esModule?oe:{default:oe}}(d(7212));(oe=j||(j=_.quoteStyleEnum={}))[oe.Smart=0]="Smart",oe[oe.Single=1]="Single",oe[oe.Double=2]="Double",function(oe){oe.tag="tag",oe.slash="slash",oe.default="default",oe.closeAs="closeAs"}(V||(V=_.closingSingleTagOptionEnum={})),function(oe){oe.tag="tag",oe.slash="slash",oe.default="default"}(U||(U=_.closingSingleTagTypeEnum={}));var G=["area","base","br","col","command","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],K=/[\t\n\f\r "'`=<>]/,ce={closingSingleTag:void 0,quoteAllAttributes:!0,replaceQuote:!0,quoteStyle:2};_.closingSingleTagOptionEnum=V,_.closingSingleTagTypeEnum=U,_.quoteStyleEnum=j,_.render=function ae(oe,Z={}){var J;let q=G;Z.singleTags&&(q=[...new Set([...G,...Z.singleTags])]),Z=((oe,Z)=>o(oe,N(Z)))(x(x({},ce),Z),{singleTags:q});let{singleTags:ie,closingSingleTag:ge,quoteAllAttributes:Me,replaceQuote:Se,quoteStyle:Ae}=Z,Fe=null!=(J=ie?.filter(Pe=>Pe instanceof RegExp))?J:[];return Array.isArray(oe)||(oe||(oe=""),oe=[oe]),function ze(Pe){let Ie="";for(let ye of Pe){if(!1===ye||null==ye||"string"==typeof ye&&0===ye.length||Number.isNaN(ye))continue;if(Array.isArray(ye)){if(0===ye.length)continue;Ie+=ze(ye);continue}if("string"==typeof ye||"number"==typeof ye){Ie+=ye;continue}if(Array.isArray(ye.content)||(ye.content||(ye.content=""),ye.content=[ye.content]),!1===ye.tag){Ie+=ze(ye.content);continue}let je="string"==typeof ye.tag?ye.tag:"div";Ie+=`<${je}`,ye.attrs&&(Ie+=tt(ye.attrs));let Ge={[U.tag]:`>`,[U.slash]:" />",[U.default]:">"};if(Je(je)){switch(ge){case V.tag:Ie+=Ge[U.tag];break;case V.slash:Ie+=Ge[U.slash];break;case V.closeAs:Ie+=Ge[ye.closeAs?U[ye.closeAs]:U.default];break;default:Ie+=Ge[U.default]}ye.content&&(Ie+=ze(ye.content))}else Ie+=ge===V.closeAs&&ye.closeAs?`${Ge[ye.closeAs?U[ye.closeAs]:U.default]}${ze(ye.content)}`:`>${ze(ye.content)}`}return Ie}(oe);function Je(Pe){return Fe.length>0?Fe.some(Ie=>Ie.test(Pe)):!!ie?.includes(Pe.toLowerCase())}function tt(Pe){let Ie="";for(let[ye,je]of Object.entries(Pe))if("string"==typeof je)if(F.default.call(void 0,je))Ie+=_e(ye,je);else if(Me||K.test(je)){let Ge=je;Se&&(Ge=je.replace(/"/g,""")),Ie+=_e(ye,Ge,Ae)}else Ie+=""===je?` ${ye}`:` ${ye}=${je}`;else!0===je?Ie+=` ${ye}`:"number"==typeof je&&(Ie+=_e(ye,je,Ae));return Ie}function _e(Pe,Ie,ye=1){return 1===ye?` ${Pe}='${Ie}'`:2===ye?` ${Pe}="${Ie}"`:"string"==typeof Ie&&Ie.includes('"')?` ${Pe}='${Ie}'`:` ${Pe}="${Ie}"`}}},5619:(ve,_,d)=>{"use strict";d.d(_,{X:()=>m});var s=d(8645);class m extends s.x{constructor(N){super(),this._value=N}get value(){return this.getValue()}_subscribe(N){const L=super._subscribe(N);return!L.closed&&N.next(this._value),L}getValue(){const{hasError:N,thrownError:L,_value:P}=this;if(N)throw L;return this._throwIfClosed(),P}next(N){super.next(this._value=N)}}},5592:(ve,_,d)=>{"use strict";d.d(_,{y:()=>O});var s=d(305),m=d(7394),o=d(4850),N=d(8407),L=d(2653),P=d(4674),R=d(1441);let O=(()=>{class F{constructor(V){V&&(this._subscribe=V)}lift(V){const U=new F;return U.source=this,U.operator=V,U}subscribe(V,U,G){const K=function v(F){return F&&F instanceof s.Lv||function D(F){return F&&(0,P.m)(F.next)&&(0,P.m)(F.error)&&(0,P.m)(F.complete)}(F)&&(0,m.Nn)(F)}(V)?V:new s.Hp(V,U,G);return(0,R.x)(()=>{const{operator:ce,source:ae}=this;K.add(ce?ce.call(K,ae):ae?this._subscribe(K):this._trySubscribe(K))}),K}_trySubscribe(V){try{return this._subscribe(V)}catch(U){V.error(U)}}forEach(V,U){return new(U=x(U))((G,K)=>{const ce=new s.Hp({next:ae=>{try{V(ae)}catch(oe){K(oe),ce.unsubscribe()}},error:K,complete:G});this.subscribe(ce)})}_subscribe(V){var U;return null===(U=this.source)||void 0===U?void 0:U.subscribe(V)}[o.L](){return this}pipe(...V){return(0,N.U)(V)(this)}toPromise(V){return new(V=x(V))((U,G)=>{let K;this.subscribe(ce=>K=ce,ce=>G(ce),()=>U(K))})}}return F.create=j=>new F(j),F})();function x(F){var j;return null!==(j=F??L.config.Promise)&&void 0!==j?j:Promise}},7328:(ve,_,d)=>{"use strict";d.d(_,{t:()=>o});var s=d(8645),m=d(4552);class o extends s.x{constructor(L=1/0,P=1/0,R=m.l){super(),this._bufferSize=L,this._windowTime=P,this._timestampProvider=R,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=P===1/0,this._bufferSize=Math.max(1,L),this._windowTime=Math.max(1,P)}next(L){const{isStopped:P,_buffer:R,_infiniteTimeWindow:O,_timestampProvider:x,_windowTime:D}=this;P||(R.push(L),!O&&R.push(x.now()+D)),this._trimBuffer(),super.next(L)}_subscribe(L){this._throwIfClosed(),this._trimBuffer();const P=this._innerSubscribe(L),{_infiniteTimeWindow:R,_buffer:O}=this,x=O.slice();for(let D=0;D{"use strict";d.d(_,{x:()=>R});var s=d(5592),m=d(7394);const N=(0,d(2306).d)(x=>function(){x(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var L=d(9039),P=d(1441);let R=(()=>{class x extends s.y{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(v){const F=new O(this,this);return F.operator=v,F}_throwIfClosed(){if(this.closed)throw new N}next(v){(0,P.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const F of this.currentObservers)F.next(v)}})}error(v){(0,P.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=v;const{observers:F}=this;for(;F.length;)F.shift().error(v)}})}complete(){(0,P.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:v}=this;for(;v.length;)v.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var v;return(null===(v=this.observers)||void 0===v?void 0:v.length)>0}_trySubscribe(v){return this._throwIfClosed(),super._trySubscribe(v)}_subscribe(v){return this._throwIfClosed(),this._checkFinalizedStatuses(v),this._innerSubscribe(v)}_innerSubscribe(v){const{hasError:F,isStopped:j,observers:V}=this;return F||j?m.Lc:(this.currentObservers=null,V.push(v),new m.w0(()=>{this.currentObservers=null,(0,L.P)(V,v)}))}_checkFinalizedStatuses(v){const{hasError:F,thrownError:j,isStopped:V}=this;F?v.error(j):V&&v.complete()}asObservable(){const v=new s.y;return v.source=this,v}}return x.create=(D,v)=>new O(D,v),x})();class O extends R{constructor(D,v){super(),this.destination=D,this.source=v}next(D){var v,F;null===(F=null===(v=this.destination)||void 0===v?void 0:v.next)||void 0===F||F.call(v,D)}error(D){var v,F;null===(F=null===(v=this.destination)||void 0===v?void 0:v.error)||void 0===F||F.call(v,D)}complete(){var D,v;null===(v=null===(D=this.destination)||void 0===D?void 0:D.complete)||void 0===v||v.call(D)}_subscribe(D){var v,F;return null!==(F=null===(v=this.source)||void 0===v?void 0:v.subscribe(D))&&void 0!==F?F:m.Lc}}},305:(ve,_,d)=>{"use strict";d.d(_,{Hp:()=>G,Lv:()=>F});var s=d(4674),m=d(7394),o=d(2653),N=d(3894),L=d(2420);const P=x("C",void 0,void 0);function x(Z,J,q){return{kind:Z,value:J,error:q}}var D=d(7599),v=d(1441);class F extends m.w0{constructor(J){super(),this.isStopped=!1,J?(this.destination=J,(0,m.Nn)(J)&&J.add(this)):this.destination=oe}static create(J,q,ie){return new G(J,q,ie)}next(J){this.isStopped?ae(function O(Z){return x("N",Z,void 0)}(J),this):this._next(J)}error(J){this.isStopped?ae(function R(Z){return x("E",void 0,Z)}(J),this):(this.isStopped=!0,this._error(J))}complete(){this.isStopped?ae(P,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(J){this.destination.next(J)}_error(J){try{this.destination.error(J)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const j=Function.prototype.bind;function V(Z,J){return j.call(Z,J)}class U{constructor(J){this.partialObserver=J}next(J){const{partialObserver:q}=this;if(q.next)try{q.next(J)}catch(ie){K(ie)}}error(J){const{partialObserver:q}=this;if(q.error)try{q.error(J)}catch(ie){K(ie)}else K(J)}complete(){const{partialObserver:J}=this;if(J.complete)try{J.complete()}catch(q){K(q)}}}class G extends F{constructor(J,q,ie){let ge;if(super(),(0,s.m)(J)||!J)ge={next:J??void 0,error:q??void 0,complete:ie??void 0};else{let Me;this&&o.config.useDeprecatedNextContext?(Me=Object.create(J),Me.unsubscribe=()=>this.unsubscribe(),ge={next:J.next&&V(J.next,Me),error:J.error&&V(J.error,Me),complete:J.complete&&V(J.complete,Me)}):ge=J}this.destination=new U(ge)}}function K(Z){o.config.useDeprecatedSynchronousErrorHandling?(0,v.O)(Z):(0,N.h)(Z)}function ae(Z,J){const{onStoppedNotification:q}=o.config;q&&D.z.setTimeout(()=>q(Z,J))}const oe={closed:!0,next:L.Z,error:function ce(Z){throw Z},complete:L.Z}},7394:(ve,_,d)=>{"use strict";d.d(_,{Lc:()=>P,w0:()=>L,Nn:()=>R});var s=d(4674);const o=(0,d(2306).d)(x=>function(v){x(this),this.message=v?`${v.length} errors occurred during unsubscription:\n${v.map((F,j)=>`${j+1}) ${F.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=v});var N=d(9039);class L{constructor(D){this.initialTeardown=D,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let D;if(!this.closed){this.closed=!0;const{_parentage:v}=this;if(v)if(this._parentage=null,Array.isArray(v))for(const V of v)V.remove(this);else v.remove(this);const{initialTeardown:F}=this;if((0,s.m)(F))try{F()}catch(V){D=V instanceof o?V.errors:[V]}const{_finalizers:j}=this;if(j){this._finalizers=null;for(const V of j)try{O(V)}catch(U){D=D??[],U instanceof o?D=[...D,...U.errors]:D.push(U)}}if(D)throw new o(D)}}add(D){var v;if(D&&D!==this)if(this.closed)O(D);else{if(D instanceof L){if(D.closed||D._hasParent(this))return;D._addParent(this)}(this._finalizers=null!==(v=this._finalizers)&&void 0!==v?v:[]).push(D)}}_hasParent(D){const{_parentage:v}=this;return v===D||Array.isArray(v)&&v.includes(D)}_addParent(D){const{_parentage:v}=this;this._parentage=Array.isArray(v)?(v.push(D),v):v?[v,D]:D}_removeParent(D){const{_parentage:v}=this;v===D?this._parentage=null:Array.isArray(v)&&(0,N.P)(v,D)}remove(D){const{_finalizers:v}=this;v&&(0,N.P)(v,D),D instanceof L&&D._removeParent(this)}}L.EMPTY=(()=>{const x=new L;return x.closed=!0,x})();const P=L.EMPTY;function R(x){return x instanceof L||x&&"closed"in x&&(0,s.m)(x.remove)&&(0,s.m)(x.add)&&(0,s.m)(x.unsubscribe)}function O(x){(0,s.m)(x)?x():x.unsubscribe()}},2653:(ve,_,d)=>{"use strict";d.d(_,{config:()=>s});const s={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}},2572:(ve,_,d)=>{"use strict";d.d(_,{a:()=>D});var s=d(5592),m=d(7453),o=d(9666),N=d(2737),L=d(7400),P=d(9940),R=d(2714),O=d(8251),x=d(7103);function D(...j){const V=(0,P.yG)(j),U=(0,P.jO)(j),{args:G,keys:K}=(0,m.D)(j);if(0===G.length)return(0,o.D)([],V);const ce=new s.y(function v(j,V,U=N.y){return G=>{F(V,()=>{const{length:K}=j,ce=new Array(K);let ae=K,oe=K;for(let Z=0;Z{const J=(0,o.D)(j[Z],V);let q=!1;J.subscribe((0,O.x)(G,ie=>{ce[Z]=ie,q||(q=!0,oe--),oe||G.next(U(ce.slice()))},()=>{--ae||G.complete()}))},G)},G)}}(G,V,K?ae=>(0,R.n)(K,ae):N.y));return U?ce.pipe((0,L.Z)(U)):ce}function F(j,V,U){j?(0,x.f)(U,j,V):V()}},5211:(ve,_,d)=>{"use strict";d.d(_,{z:()=>L});var s=d(7537),o=d(9940),N=d(9666);function L(...P){return function m(){return(0,s.J)(1)}()((0,N.D)(P,(0,o.yG)(P)))}},6232:(ve,_,d)=>{"use strict";d.d(_,{E:()=>m});const m=new(d(5592).y)(L=>L.complete())},9666:(ve,_,d)=>{"use strict";d.d(_,{D:()=>q});var s=d(4829),m=d(3093),o=d(9360);function N(ie,ge=0){return(0,o.e)((Me,Se)=>{Se.add(ie.schedule(()=>Me.subscribe(Se),ge))})}var R=d(5592),x=d(4971),D=d(4674),v=d(7103);function j(ie,ge){if(!ie)throw new Error("Iterable cannot be null");return new R.y(Me=>{(0,v.f)(Me,ge,()=>{const Se=ie[Symbol.asyncIterator]();(0,v.f)(Me,ge,()=>{Se.next().then(Ae=>{Ae.done?Me.complete():Me.next(Ae.value)})},0,!0)})})}var V=d(8382),U=d(4026),G=d(4266),K=d(3664),ce=d(5726),ae=d(9853),oe=d(541);function q(ie,ge){return ge?function J(ie,ge){if(null!=ie){if((0,V.c)(ie))return function L(ie,ge){return(0,s.Xf)(ie).pipe(N(ge),(0,m.Q)(ge))}(ie,ge);if((0,G.z)(ie))return function O(ie,ge){return new R.y(Me=>{let Se=0;return ge.schedule(function(){Se===ie.length?Me.complete():(Me.next(ie[Se++]),Me.closed||this.schedule())})})}(ie,ge);if((0,U.t)(ie))return function P(ie,ge){return(0,s.Xf)(ie).pipe(N(ge),(0,m.Q)(ge))}(ie,ge);if((0,ce.D)(ie))return j(ie,ge);if((0,K.T)(ie))return function F(ie,ge){return new R.y(Me=>{let Se;return(0,v.f)(Me,ge,()=>{Se=ie[x.h](),(0,v.f)(Me,ge,()=>{let Ae,Fe;try{({value:Ae,done:Fe}=Se.next())}catch(ze){return void Me.error(ze)}Fe?Me.complete():Me.next(Ae)},0,!0)}),()=>(0,D.m)(Se?.return)&&Se.return()})}(ie,ge);if((0,oe.L)(ie))return function Z(ie,ge){return j((0,oe.Q)(ie),ge)}(ie,ge)}throw(0,ae.z)(ie)}(ie,ge):(0,s.Xf)(ie)}},2438:(ve,_,d)=>{"use strict";d.d(_,{R:()=>D});var s=d(4829),m=d(5592),o=d(1631),N=d(4266),L=d(4674),P=d(7400);const R=["addListener","removeListener"],O=["addEventListener","removeEventListener"],x=["on","off"];function D(U,G,K,ce){if((0,L.m)(K)&&(ce=K,K=void 0),ce)return D(U,G,K).pipe((0,P.Z)(ce));const[ae,oe]=function V(U){return(0,L.m)(U.addEventListener)&&(0,L.m)(U.removeEventListener)}(U)?O.map(Z=>J=>U[Z](G,J,K)):function F(U){return(0,L.m)(U.addListener)&&(0,L.m)(U.removeListener)}(U)?R.map(v(U,G)):function j(U){return(0,L.m)(U.on)&&(0,L.m)(U.off)}(U)?x.map(v(U,G)):[];if(!ae&&(0,N.z)(U))return(0,o.z)(Z=>D(Z,G,K))((0,s.Xf)(U));if(!ae)throw new TypeError("Invalid event target");return new m.y(Z=>{const J=(...q)=>Z.next(1oe(J)})}function v(U,G){return K=>ce=>U[K](G,ce)}},4829:(ve,_,d)=>{"use strict";d.d(_,{Xf:()=>j});var s=d(7582),m=d(4266),o=d(4026),N=d(5592),L=d(8382),P=d(5726),R=d(9853),O=d(3664),x=d(541),D=d(4674),v=d(3894),F=d(4850);function j(Z){if(Z instanceof N.y)return Z;if(null!=Z){if((0,L.c)(Z))return function V(Z){return new N.y(J=>{const q=Z[F.L]();if((0,D.m)(q.subscribe))return q.subscribe(J);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(Z);if((0,m.z)(Z))return function U(Z){return new N.y(J=>{for(let q=0;q{Z.then(q=>{J.closed||(J.next(q),J.complete())},q=>J.error(q)).then(null,v.h)})}(Z);if((0,P.D)(Z))return ce(Z);if((0,O.T)(Z))return function K(Z){return new N.y(J=>{for(const q of Z)if(J.next(q),J.closed)return;J.complete()})}(Z);if((0,x.L)(Z))return function ae(Z){return ce((0,x.Q)(Z))}(Z)}throw(0,R.z)(Z)}function ce(Z){return new N.y(J=>{(function oe(Z,J){var q,ie,ge,Me;return(0,s.__awaiter)(this,void 0,void 0,function*(){try{for(q=(0,s.__asyncValues)(Z);!(ie=yield q.next()).done;)if(J.next(ie.value),J.closed)return}catch(Se){ge={error:Se}}finally{try{ie&&!ie.done&&(Me=q.return)&&(yield Me.call(q))}finally{if(ge)throw ge.error}}J.complete()})})(Z,J).catch(q=>J.error(q))})}},3019:(ve,_,d)=>{"use strict";d.d(_,{T:()=>P});var s=d(7537),m=d(4829),o=d(6232),N=d(9940),L=d(9666);function P(...R){const O=(0,N.yG)(R),x=(0,N._6)(R,1/0),D=R;return D.length?1===D.length?(0,m.Xf)(D[0]):(0,s.J)(x)((0,L.D)(D,O)):o.E}},4366:(ve,_,d)=>{"use strict";d.d(_,{C:()=>o});var s=d(5592),m=d(2420);const o=new s.y(m.Z)},2096:(ve,_,d)=>{"use strict";d.d(_,{of:()=>o});var s=d(9940),m=d(9666);function o(...N){const L=(0,s.yG)(N);return(0,m.D)(N,L)}},4825:(ve,_,d)=>{"use strict";d.d(_,{H:()=>L});var s=d(5592),m=d(6321),o=d(671);function L(P=0,R,O=m.P){let x=-1;return null!=R&&((0,o.K)(R)?O=R:x=R),new s.y(D=>{let v=function N(P){return P instanceof Date&&!isNaN(P)}(P)?+P-O.now():P;v<0&&(v=0);let F=0;return O.schedule(function(){D.closed||(D.next(F++),0<=x?this.schedule(void 0,x):D.complete())},v)})}},8251:(ve,_,d)=>{"use strict";d.d(_,{x:()=>m});var s=d(305);function m(N,L,P,R,O){return new o(N,L,P,R,O)}class o extends s.Lv{constructor(L,P,R,O,x,D){super(L),this.onFinalize=x,this.shouldUnsubscribe=D,this._next=P?function(v){try{P(v)}catch(F){L.error(F)}}:super._next,this._error=O?function(v){try{O(v)}catch(F){L.error(F)}finally{this.unsubscribe()}}:super._error,this._complete=R?function(){try{R()}catch(v){L.error(v)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var L;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:P}=this;super.unsubscribe(),!P&&(null===(L=this.onFinalize)||void 0===L||L.call(this))}}}},6306:(ve,_,d)=>{"use strict";d.d(_,{K:()=>N});var s=d(4829),m=d(8251),o=d(9360);function N(L){return(0,o.e)((P,R)=>{let D,O=null,x=!1;O=P.subscribe((0,m.x)(R,void 0,void 0,v=>{D=(0,s.Xf)(L(v,N(L)(P))),O?(O.unsubscribe(),O=null,D.subscribe(R)):x=!0})),x&&(O.unsubscribe(),O=null,D.subscribe(R))})}},6328:(ve,_,d)=>{"use strict";d.d(_,{b:()=>o});var s=d(1631),m=d(4674);function o(N,L){return(0,m.m)(L)?(0,s.z)(N,L,1):(0,s.z)(N,1)}},3620:(ve,_,d)=>{"use strict";d.d(_,{b:()=>N});var s=d(6321),m=d(9360),o=d(8251);function N(L,P=s.z){return(0,m.e)((R,O)=>{let x=null,D=null,v=null;const F=()=>{if(x){x.unsubscribe(),x=null;const V=D;D=null,O.next(V)}};function j(){const V=v+L,U=P.now();if(U{D=V,v=P.now(),x||(x=P.schedule(j,L),O.add(x))},()=>{F(),O.complete()},void 0,()=>{D=x=null}))})}},9694:(ve,_,d)=>{"use strict";d.d(_,{j:()=>D});var s=d(5211),m=d(8180),o=d(9360),N=d(8251),L=d(2420),R=d(975),O=d(1631),x=d(4829);function D(v,F){return F?j=>(0,s.z)(F.pipe((0,m.q)(1),function P(){return(0,o.e)((v,F)=>{v.subscribe((0,N.x)(F,L.Z))})}()),j.pipe(D(v))):(0,O.z)((j,V)=>(0,x.Xf)(v(j,V)).pipe((0,m.q)(1),(0,R.h)(j)))}},3997:(ve,_,d)=>{"use strict";d.d(_,{x:()=>N});var s=d(2737),m=d(9360),o=d(8251);function N(P,R=s.y){return P=P??L,(0,m.e)((O,x)=>{let D,v=!0;O.subscribe((0,o.x)(x,F=>{const j=R(F);(v||!P(D,j))&&(v=!1,D=j,x.next(F))}))})}function L(P,R){return P===R}},2181:(ve,_,d)=>{"use strict";d.d(_,{h:()=>o});var s=d(9360),m=d(8251);function o(N,L){return(0,s.e)((P,R)=>{let O=0;P.subscribe((0,m.x)(R,x=>N.call(L,x,O++)&&R.next(x)))})}},4716:(ve,_,d)=>{"use strict";d.d(_,{x:()=>m});var s=d(9360);function m(o){return(0,s.e)((N,L)=>{try{N.subscribe(L)}finally{L.add(o)}})}},7398:(ve,_,d)=>{"use strict";d.d(_,{U:()=>o});var s=d(9360),m=d(8251);function o(N,L){return(0,s.e)((P,R)=>{let O=0;P.subscribe((0,m.x)(R,x=>{R.next(N.call(L,x,O++))}))})}},975:(ve,_,d)=>{"use strict";d.d(_,{h:()=>m});var s=d(7398);function m(o){return(0,s.U)(()=>o)}},7537:(ve,_,d)=>{"use strict";d.d(_,{J:()=>o});var s=d(1631),m=d(2737);function o(N=1/0){return(0,s.z)(m.y,N)}},1631:(ve,_,d)=>{"use strict";d.d(_,{z:()=>O});var s=d(7398),m=d(4829),o=d(9360),N=d(7103),L=d(8251),R=d(4674);function O(x,D,v=1/0){return(0,R.m)(D)?O((F,j)=>(0,s.U)((V,U)=>D(F,V,j,U))((0,m.Xf)(x(F,j))),v):("number"==typeof D&&(v=D),(0,o.e)((F,j)=>function P(x,D,v,F,j,V,U,G){const K=[];let ce=0,ae=0,oe=!1;const Z=()=>{oe&&!K.length&&!ce&&D.complete()},J=ie=>ce{V&&D.next(ie),ce++;let ge=!1;(0,m.Xf)(v(ie,ae++)).subscribe((0,L.x)(D,Me=>{j?.(Me),V?J(Me):D.next(Me)},()=>{ge=!0},void 0,()=>{if(ge)try{for(ce--;K.length&&ceq(Me)):q(Me)}Z()}catch(Me){D.error(Me)}}))};return x.subscribe((0,L.x)(D,J,()=>{oe=!0,Z()})),()=>{G?.()}}(F,j,x,v)))}},3093:(ve,_,d)=>{"use strict";d.d(_,{Q:()=>N});var s=d(7103),m=d(9360),o=d(8251);function N(L,P=0){return(0,m.e)((R,O)=>{R.subscribe((0,o.x)(O,x=>(0,s.f)(O,L,()=>O.next(x),P),()=>(0,s.f)(O,L,()=>O.complete(),P),x=>(0,s.f)(O,L,()=>O.error(x),P)))})}},9384:(ve,_,d)=>{"use strict";d.d(_,{G:()=>o});var s=d(9360),m=d(8251);function o(){return(0,s.e)((N,L)=>{let P,R=!1;N.subscribe((0,m.x)(L,O=>{const x=P;P=O,R&&L.next([x,O]),R=!0}))})}},3020:(ve,_,d)=>{"use strict";d.d(_,{B:()=>L});var s=d(4829),m=d(8645),o=d(305),N=d(9360);function L(R={}){const{connector:O=(()=>new m.x),resetOnError:x=!0,resetOnComplete:D=!0,resetOnRefCountZero:v=!0}=R;return F=>{let j,V,U,G=0,K=!1,ce=!1;const ae=()=>{V?.unsubscribe(),V=void 0},oe=()=>{ae(),j=U=void 0,K=ce=!1},Z=()=>{const J=j;oe(),J?.unsubscribe()};return(0,N.e)((J,q)=>{G++,!ce&&!K&&ae();const ie=U=U??O();q.add(()=>{G--,0===G&&!ce&&!K&&(V=P(Z,v))}),ie.subscribe(q),!j&&G>0&&(j=new o.Hp({next:ge=>ie.next(ge),error:ge=>{ce=!0,ae(),V=P(oe,x,ge),ie.error(ge)},complete:()=>{K=!0,ae(),V=P(oe,D),ie.complete()}}),(0,s.Xf)(J).subscribe(j))})(F)}}function P(R,O,...x){if(!0===O)return void R();if(!1===O)return;const D=new o.Hp({next:()=>{D.unsubscribe(),R()}});return(0,s.Xf)(O(...x)).subscribe(D)}},7081:(ve,_,d)=>{"use strict";d.d(_,{d:()=>o});var s=d(7328),m=d(3020);function o(N,L,P){let R,O=!1;return N&&"object"==typeof N?({bufferSize:R=1/0,windowTime:L=1/0,refCount:O=!1,scheduler:P}=N):R=N??1/0,(0,m.B)({connector:()=>new s.t(R,L,P),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:O})}},836:(ve,_,d)=>{"use strict";d.d(_,{T:()=>m});var s=d(2181);function m(o){return(0,s.h)((N,L)=>o<=L)}},7921:(ve,_,d)=>{"use strict";d.d(_,{O:()=>N});var s=d(5211),m=d(9940),o=d(9360);function N(...L){const P=(0,m.yG)(L);return(0,o.e)((R,O)=>{(P?(0,s.z)(L,R,P):(0,s.z)(L,R)).subscribe(O)})}},4664:(ve,_,d)=>{"use strict";d.d(_,{w:()=>N});var s=d(4829),m=d(9360),o=d(8251);function N(L,P){return(0,m.e)((R,O)=>{let x=null,D=0,v=!1;const F=()=>v&&!x&&O.complete();R.subscribe((0,o.x)(O,j=>{x?.unsubscribe();let V=0;const U=D++;(0,s.Xf)(L(j,U)).subscribe(x=(0,o.x)(O,G=>O.next(P?P(j,G,U,V++):G),()=>{x=null,F()}))},()=>{v=!0,F()}))})}},8180:(ve,_,d)=>{"use strict";d.d(_,{q:()=>N});var s=d(6232),m=d(9360),o=d(8251);function N(L){return L<=0?()=>s.E:(0,m.e)((P,R)=>{let O=0;P.subscribe((0,o.x)(R,x=>{++O<=L&&(R.next(x),L<=O&&R.complete())}))})}},9773:(ve,_,d)=>{"use strict";d.d(_,{R:()=>L});var s=d(9360),m=d(8251),o=d(4829),N=d(2420);function L(P){return(0,s.e)((R,O)=>{(0,o.Xf)(P).subscribe((0,m.x)(O,()=>O.complete(),N.Z)),!O.closed&&R.subscribe(O)})}},9397:(ve,_,d)=>{"use strict";d.d(_,{b:()=>L});var s=d(4674),m=d(9360),o=d(8251),N=d(2737);function L(P,R,O){const x=(0,s.m)(P)||R||O?{next:P,error:R,complete:O}:P;return x?(0,m.e)((D,v)=>{var F;null===(F=x.subscribe)||void 0===F||F.call(x);let j=!0;D.subscribe((0,o.x)(v,V=>{var U;null===(U=x.next)||void 0===U||U.call(x,V),v.next(V)},()=>{var V;j=!1,null===(V=x.complete)||void 0===V||V.call(x),v.complete()},V=>{var U;j=!1,null===(U=x.error)||void 0===U||U.call(x,V),v.error(V)},()=>{var V,U;j&&(null===(V=x.unsubscribe)||void 0===V||V.call(x)),null===(U=x.finalize)||void 0===U||U.call(x)}))}):N.y}},1954:(ve,_,d)=>{"use strict";d.d(_,{o:()=>L});var s=d(7394);class m extends s.w0{constructor(R,O){super()}schedule(R,O=0){return this}}const o={setInterval(P,R,...O){const{delegate:x}=o;return x?.setInterval?x.setInterval(P,R,...O):setInterval(P,R,...O)},clearInterval(P){const{delegate:R}=o;return(R?.clearInterval||clearInterval)(P)},delegate:void 0};var N=d(9039);class L extends m{constructor(R,O){super(R,O),this.scheduler=R,this.work=O,this.pending=!1}schedule(R,O=0){var x;if(this.closed)return this;this.state=R;const D=this.id,v=this.scheduler;return null!=D&&(this.id=this.recycleAsyncId(v,D,O)),this.pending=!0,this.delay=O,this.id=null!==(x=this.id)&&void 0!==x?x:this.requestAsyncId(v,this.id,O),this}requestAsyncId(R,O,x=0){return o.setInterval(R.flush.bind(R,this),x)}recycleAsyncId(R,O,x=0){if(null!=x&&this.delay===x&&!1===this.pending)return O;null!=O&&o.clearInterval(O)}execute(R,O){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const x=this._execute(R,O);if(x)return x;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(R,O){let D,x=!1;try{this.work(R)}catch(v){x=!0,D=v||new Error("Scheduled action threw falsy error")}if(x)return this.unsubscribe(),D}unsubscribe(){if(!this.closed){const{id:R,scheduler:O}=this,{actions:x}=O;this.work=this.state=this.scheduler=null,this.pending=!1,(0,N.P)(x,this),null!=R&&(this.id=this.recycleAsyncId(O,R,null)),this.delay=null,super.unsubscribe()}}}},2631:(ve,_,d)=>{"use strict";d.d(_,{v:()=>o});var s=d(4552);class m{constructor(L,P=m.now){this.schedulerActionCtor=L,this.now=P}schedule(L,P=0,R){return new this.schedulerActionCtor(this,L).schedule(R,P)}}m.now=s.l.now;class o extends m{constructor(L,P=m.now){super(L,P),this.actions=[],this._active=!1}flush(L){const{actions:P}=this;if(this._active)return void P.push(L);let R;this._active=!0;do{if(R=L.execute(L.state,L.delay))break}while(L=P.shift());if(this._active=!1,R){for(;L=P.shift();)L.unsubscribe();throw R}}}},927:(ve,_,d)=>{"use strict";d.d(_,{Z:()=>R});var s=d(1954),m=d(7394);const o={schedule(x){let D=requestAnimationFrame,v=cancelAnimationFrame;const{delegate:F}=o;F&&(D=F.requestAnimationFrame,v=F.cancelAnimationFrame);const j=D(V=>{v=void 0,x(V)});return new m.w0(()=>v?.(j))},requestAnimationFrame(...x){const{delegate:D}=o;return(D?.requestAnimationFrame||requestAnimationFrame)(...x)},cancelAnimationFrame(...x){const{delegate:D}=o;return(D?.cancelAnimationFrame||cancelAnimationFrame)(...x)},delegate:void 0};var L=d(2631);const R=new class P extends L.v{flush(D){this._active=!0;const v=this._scheduled;this._scheduled=void 0;const{actions:F}=this;let j;D=D||F.shift();do{if(j=D.execute(D.state,D.delay))break}while((D=F[0])&&D.id===v&&F.shift());if(this._active=!1,j){for(;(D=F[0])&&D.id===v&&F.shift();)D.unsubscribe();throw j}}}(class N extends s.o{constructor(D,v){super(D,v),this.scheduler=D,this.work=v}requestAsyncId(D,v,F=0){return null!==F&&F>0?super.requestAsyncId(D,v,F):(D.actions.push(this),D._scheduled||(D._scheduled=o.requestAnimationFrame(()=>D.flush(void 0))))}recycleAsyncId(D,v,F=0){var j;if(null!=F?F>0:this.delay>0)return super.recycleAsyncId(D,v,F);const{actions:V}=D;null!=v&&(null===(j=V[V.length-1])||void 0===j?void 0:j.id)!==v&&(o.cancelAnimationFrame(v),D._scheduled=void 0)}})},6410:(ve,_,d)=>{"use strict";d.d(_,{E:()=>V});var s=d(1954);let o,m=1;const N={};function L(G){return G in N&&(delete N[G],!0)}const P={setImmediate(G){const K=m++;return N[K]=!0,o||(o=Promise.resolve()),o.then(()=>L(K)&&G()),K},clearImmediate(G){L(G)}},{setImmediate:O,clearImmediate:x}=P,D={setImmediate(...G){const{delegate:K}=D;return(K?.setImmediate||O)(...G)},clearImmediate(G){const{delegate:K}=D;return(K?.clearImmediate||x)(G)},delegate:void 0};var F=d(2631);const V=new class j extends F.v{flush(K){this._active=!0;const ce=this._scheduled;this._scheduled=void 0;const{actions:ae}=this;let oe;K=K||ae.shift();do{if(oe=K.execute(K.state,K.delay))break}while((K=ae[0])&&K.id===ce&&ae.shift());if(this._active=!1,oe){for(;(K=ae[0])&&K.id===ce&&ae.shift();)K.unsubscribe();throw oe}}}(class v extends s.o{constructor(K,ce){super(K,ce),this.scheduler=K,this.work=ce}requestAsyncId(K,ce,ae=0){return null!==ae&&ae>0?super.requestAsyncId(K,ce,ae):(K.actions.push(this),K._scheduled||(K._scheduled=D.setImmediate(K.flush.bind(K,void 0))))}recycleAsyncId(K,ce,ae=0){var oe;if(null!=ae?ae>0:this.delay>0)return super.recycleAsyncId(K,ce,ae);const{actions:Z}=K;null!=ce&&(null===(oe=Z[Z.length-1])||void 0===oe?void 0:oe.id)!==ce&&(D.clearImmediate(ce),K._scheduled===ce&&(K._scheduled=void 0))}})},6321:(ve,_,d)=>{"use strict";d.d(_,{P:()=>N,z:()=>o});var s=d(1954);const o=new(d(2631).v)(s.o),N=o},4552:(ve,_,d)=>{"use strict";d.d(_,{l:()=>s});const s={now:()=>(s.delegate||Date).now(),delegate:void 0}},7599:(ve,_,d)=>{"use strict";d.d(_,{z:()=>s});const s={setTimeout(m,o,...N){const{delegate:L}=s;return L?.setTimeout?L.setTimeout(m,o,...N):setTimeout(m,o,...N)},clearTimeout(m){const{delegate:o}=s;return(o?.clearTimeout||clearTimeout)(m)},delegate:void 0}},4971:(ve,_,d)=>{"use strict";d.d(_,{h:()=>m});const m=function s(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}()},4850:(ve,_,d)=>{"use strict";d.d(_,{L:()=>s});const s="function"==typeof Symbol&&Symbol.observable||"@@observable"},9940:(ve,_,d)=>{"use strict";d.d(_,{_6:()=>P,jO:()=>N,yG:()=>L});var s=d(4674),m=d(671);function o(R){return R[R.length-1]}function N(R){return(0,s.m)(o(R))?R.pop():void 0}function L(R){return(0,m.K)(o(R))?R.pop():void 0}function P(R,O){return"number"==typeof o(R)?R.pop():O}},7453:(ve,_,d)=>{"use strict";d.d(_,{D:()=>L});const{isArray:s}=Array,{getPrototypeOf:m,prototype:o,keys:N}=Object;function L(R){if(1===R.length){const O=R[0];if(s(O))return{args:O,keys:null};if(function P(R){return R&&"object"==typeof R&&m(R)===o}(O)){const x=N(O);return{args:x.map(D=>O[D]),keys:x}}}return{args:R,keys:null}}},9039:(ve,_,d)=>{"use strict";function s(m,o){if(m){const N=m.indexOf(o);0<=N&&m.splice(N,1)}}d.d(_,{P:()=>s})},2306:(ve,_,d)=>{"use strict";function s(m){const N=m(L=>{Error.call(L),L.stack=(new Error).stack});return N.prototype=Object.create(Error.prototype),N.prototype.constructor=N,N}d.d(_,{d:()=>s})},2714:(ve,_,d)=>{"use strict";function s(m,o){return m.reduce((N,L,P)=>(N[L]=o[P],N),{})}d.d(_,{n:()=>s})},1441:(ve,_,d)=>{"use strict";d.d(_,{O:()=>N,x:()=>o});var s=d(2653);let m=null;function o(L){if(s.config.useDeprecatedSynchronousErrorHandling){const P=!m;if(P&&(m={errorThrown:!1,error:null}),L(),P){const{errorThrown:R,error:O}=m;if(m=null,R)throw O}}else L()}function N(L){s.config.useDeprecatedSynchronousErrorHandling&&m&&(m.errorThrown=!0,m.error=L)}},7103:(ve,_,d)=>{"use strict";function s(m,o,N,L=0,P=!1){const R=o.schedule(function(){N(),P?m.add(this.schedule(null,L)):this.unsubscribe()},L);if(m.add(R),!P)return R}d.d(_,{f:()=>s})},2737:(ve,_,d)=>{"use strict";function s(m){return m}d.d(_,{y:()=>s})},4266:(ve,_,d)=>{"use strict";d.d(_,{z:()=>s});const s=m=>m&&"number"==typeof m.length&&"function"!=typeof m},5726:(ve,_,d)=>{"use strict";d.d(_,{D:()=>m});var s=d(4674);function m(o){return Symbol.asyncIterator&&(0,s.m)(o?.[Symbol.asyncIterator])}},4674:(ve,_,d)=>{"use strict";function s(m){return"function"==typeof m}d.d(_,{m:()=>s})},8382:(ve,_,d)=>{"use strict";d.d(_,{c:()=>o});var s=d(4850),m=d(4674);function o(N){return(0,m.m)(N[s.L])}},3664:(ve,_,d)=>{"use strict";d.d(_,{T:()=>o});var s=d(4971),m=d(4674);function o(N){return(0,m.m)(N?.[s.h])}},4026:(ve,_,d)=>{"use strict";d.d(_,{t:()=>m});var s=d(4674);function m(o){return(0,s.m)(o?.then)}},541:(ve,_,d)=>{"use strict";d.d(_,{L:()=>N,Q:()=>o});var s=d(7582),m=d(4674);function o(L){return(0,s.__asyncGenerator)(this,arguments,function*(){const R=L.getReader();try{for(;;){const{value:O,done:x}=yield(0,s.__await)(R.read());if(x)return yield(0,s.__await)(void 0);yield yield(0,s.__await)(O)}}finally{R.releaseLock()}})}function N(L){return(0,m.m)(L?.getReader)}},671:(ve,_,d)=>{"use strict";d.d(_,{K:()=>m});var s=d(4674);function m(o){return o&&(0,s.m)(o.schedule)}},9360:(ve,_,d)=>{"use strict";d.d(_,{A:()=>m,e:()=>o});var s=d(4674);function m(N){return(0,s.m)(N?.lift)}function o(N){return L=>{if(m(L))return L.lift(function(P){try{return N(P,this)}catch(R){this.error(R)}});throw new TypeError("Unable to lift unknown Observable type")}}},7400:(ve,_,d)=>{"use strict";d.d(_,{Z:()=>N});var s=d(7398);const{isArray:m}=Array;function N(L){return(0,s.U)(P=>function o(L,P){return m(P)?L(...P):L(P)}(L,P))}},2420:(ve,_,d)=>{"use strict";function s(){}d.d(_,{Z:()=>s})},8407:(ve,_,d)=>{"use strict";d.d(_,{U:()=>o,z:()=>m});var s=d(2737);function m(...N){return o(N)}function o(N){return 0===N.length?s.y:1===N.length?N[0]:function(P){return N.reduce((R,O)=>O(R),P)}}},3894:(ve,_,d)=>{"use strict";d.d(_,{h:()=>o});var s=d(2653),m=d(7599);function o(N){m.z.setTimeout(()=>{const{onUnhandledError:L}=s.config;if(!L)throw N;L(N)})}},9853:(ve,_,d)=>{"use strict";function s(m){return new TypeError(`You provided ${null!==m&&"object"==typeof m?"an invalid object":`'${m}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}d.d(_,{z:()=>s})},2183:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.NgDocHtmlParser=void 0;const s=d(70),m=d(70),o=d(1175),N=d(5464),L=d(360);_.NgDocHtmlParser=class P{constructor(O){this.html=O,this.parsedHTML=(0,o.parser)(this.html)}find(O){const x=s.parse(O)[0],D=x.filter(j=>j.type===m.SelectorType.Tag),v=x.filter(j=>j.type===m.SelectorType.Attribute),F=[...this.parsedHTML];for(;F.length;){const j=F.shift(),V=(0,L.isPresent)(j)&&(0,L.isNodeTag)(j)?j:void 0;if(D.every(U=>U.name.toLowerCase()===String(V?.tag).toLowerCase())&&v.every(U=>{const G=V&&V.attrs&&V?.attrs[U.name];return Object.keys(V?.attrs??{}).includes(U.name)&&G===U.value}))return V;F.push(...(0,L.asArray)(V?.content).flat())}}removeAttribute(O,x){(0,L.isNodeTag)(O)&&Object.keys(O?.attrs??{}).includes(x)&&O.attrs&&delete O.attrs[x],(0,L.isNodeTag)(O)&&Object.keys(O?.attrs??{}).includes(`[${x}]`)&&O.attrs&&delete O.attrs[`[${x}]`]}setAttribute(O,x,D){(0,L.isNodeTag)(O)&&(O.attrs||(O.attrs={}),O.attrs[x]=D??"")}setAttributesFromSelectors(O,x){x.forEach(D=>{"attribute"===D.type&&this.setAttribute(O,D.name,D.value)})}fillAngularAttributes(O,x){(0,L.objectKeys)(x).forEach(D=>{this.removeAttribute(O,String(D)),this.setAttribute(O,`[${String(D)}]`,x[D])})}serialize(){return(0,N.render)(this.parsedHTML)}}},7195:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),d(7582).__exportStar(d(2183),_)},9030:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.NgDocAngularEntities=void 0,_.NgDocAngularEntities=["Component","Directive","Pipe","Injectable","NgModule"]},3337:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.NgDocDeclarations=void 0,_.NgDocDeclarations=["Class","Interface","Enum","Function","TypeAlias","Variable"]},7997:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.NG_DOC_ELEMENT=void 0,_.NG_DOC_ELEMENT="ngde"},2550:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.NG_DOC_DYNAMIC_SELECTOR=void 0,_.NG_DOC_DYNAMIC_SELECTOR="ng-doc-selector"},7355:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.EMPTY_FUNCTION=_.EMPTY_MAP=_.EMPTY_ARRAY=void 0,_.EMPTY_ARRAY=[],_.EMPTY_MAP=new Map,_.EMPTY_FUNCTION=()=>{}},4466:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});const s=d(7582);s.__exportStar(d(9030),_),s.__exportStar(d(3337),_),s.__exportStar(d(7997),_),s.__exportStar(d(2550),_),s.__exportStar(d(7355),_)},7340:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.asArray=void 0;const s=d(5052),m=d(5784);_.asArray=function o(...N){return N.map(L=>(0,m.isPresent)(L)?Array.isArray(L)?L:(0,s.isIterable)(L)?Array.from(L):[L]:[]).flat()}},1435:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.buildPlaygroundDemoPipeTemplate=_.buildPlaygroundDemoTemplate=void 0;const s=d(70),m=d(70),o=d(7195),N=d(4466),L=d(7442);function P(x,D,v,F,j=!0){const V=new o.NgDocHtmlParser(x),U=s.parse(D)[0];if(U){const G=V.find(N.NG_DOC_DYNAMIC_SELECTOR)??V.find(D);G&&(V.setAttributesFromSelectors(G,U),String(G.tag).toLowerCase()===N.NG_DOC_DYNAMIC_SELECTOR.toLowerCase()&&(G.tag=U.find(K=>K.type===m.SelectorType.Tag)?.name??"div"),F&&V.fillAngularAttributes(G,F))}return function O(x,D,v){return(0,L.objectKeys)(D).forEach(F=>{const j=v?D[F]:`\n\t\t\t\t\n\t\t\t\t\t${D[F]}\n\t\t\t\t`.trim();x=x.replace(new RegExp(`{{\\s*content.${F}\\s*}}`,"gm"),j?`\n${j}\n`:"")}),x}(V.serialize(),v??{},j).replace(/=""/g,"").replace(/^\s*\n/gm,"")}_.buildPlaygroundDemoTemplate=P,_.buildPlaygroundDemoPipeTemplate=function R(x,D,v,F,j=!0){const V=P(x,"",v,F,j),U=(0,L.objectKeys)(F??{}).map(G=>`:${F?.[G]}`).join("").trim();return V.replace(new RegExp(`\\| ${D}`,"gm"),`| ${D}${U}`)}},207:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.capitalize=void 0,_.capitalize=function d(s){return s.charAt(0).toUpperCase()+s.slice(1)}},6038:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.escapeHtml=void 0,_.escapeHtml=function d(s){return s.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}},6190:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.escapeRegexp=void 0,_.escapeRegexp=function d(s){return s.replace(/[[\]/{}()*+?.\\^$|]/g,"\\$&")}},4132:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.extractFunctionDefaults=void 0;const s=d(1986);_.extractFunctionDefaults=function m(o){const N=o.name||"function";return o.toString().match(new RegExp(`^${N}\\s*[^\\(]*\\(\\s*([^\\)]*)\\)`,"m"))?.[1].replace(/(\/\*[\s\S]*?\*\/)/gm,"").split(",").map(L=>{const P=L.match(/([_$a-zA-Z][^=]*)(?:=([^=]+))?/);if(P)return(0,s.extractValue)(P[2])})??[]}},1986:(ve,_)=>{"use strict";function s(m){return new Function(`return ${m}`)()}Object.defineProperty(_,"__esModule",{value:!0}),_.extractValueOrThrow=_.extractValue=void 0,_.extractValue=function d(m){try{return s(m)}catch{return""}},_.extractValueOrThrow=s},360:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});const s=d(7582);s.__exportStar(d(7340),_),s.__exportStar(d(1435),_),s.__exportStar(d(207),_),s.__exportStar(d(6038),_),s.__exportStar(d(6190),_),s.__exportStar(d(4132),_),s.__exportStar(d(1986),_),s.__exportStar(d(5052),_),s.__exportStar(d(8925),_),s.__exportStar(d(6113),_),s.__exportStar(d(5784),_),s.__exportStar(d(2043),_),s.__exportStar(d(8703),_),s.__exportStar(d(3451),_),s.__exportStar(d(7442),_),s.__exportStar(d(2996),_),s.__exportStar(d(49),_)},5052:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.isIterable=void 0,_.isIterable=function d(s){return null!==s&&"function"==typeof s[Symbol.iterator]&&"string"!=typeof s}},8925:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.isKeyboardEvent=void 0,_.isKeyboardEvent=function d(s){return s instanceof KeyboardEvent}},6113:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.isNodeTag=void 0,_.isNodeTag=function d(s){return"string"!=typeof s&&"number"!=typeof s}},5784:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.isPresent=void 0,_.isPresent=function d(s){return null!=s&&("string"!=typeof s||""!==s)}},2043:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.isRoute=void 0;const s=d(5784);_.isRoute=function m(o){return(0,s.isPresent)(o)&&"string"!=typeof o}},8703:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.isSameObject=void 0,_.isSameObject=function d(s,m){return Object.keys(s).every(o=>"object"==typeof s[o]&&"object"==typeof m[o]?d(s[o],m[o]):s[o]===m[o])}},3451:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.kebabCase=void 0,_.kebabCase=function d(s){return s.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map(m=>m.toLowerCase())?.join("-")??""}},7442:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.objectKeys=void 0,_.objectKeys=function d(s){return Object.keys(s)}},2996:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.stringify=void 0,_.stringify=function d(s){return void 0===s?"undefined":JSON.stringify(s,null,2)}},49:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.unique=void 0;const s=d(7340);_.unique=function m(...o){return(0,s.asArray)(new Set(o.flat()))}},9143:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});const s=d(7582);s.__exportStar(d(4466),_),s.__exportStar(d(360),_),s.__exportStar(d(959),_),s.__exportStar(d(5572),_)},4644:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},7751:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},864:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},6722:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},5566:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},7277:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},2681:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},7508:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},959:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});const s=d(7582);s.__exportStar(d(6722),_),s.__exportStar(d(7751),_),s.__exportStar(d(4644),_),s.__exportStar(d(864),_),s.__exportStar(d(5566),_),s.__exportStar(d(7277),_),s.__exportStar(d(2681),_),s.__exportStar(d(7508),_),s.__exportStar(d(6870),_),s.__exportStar(d(1264),_),s.__exportStar(d(5634),_),s.__exportStar(d(5382),_),s.__exportStar(d(9254),_),s.__exportStar(d(3281),_),s.__exportStar(d(5159),_),s.__exportStar(d(4219),_)},6870:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},5634:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},1264:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},5382:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},9254:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},3281:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},5159:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},4219:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},2526:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},7842:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},1005:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},9815:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},3650:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},2282:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},5572:(ve,_,d)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});const s=d(7582);s.__exportStar(d(2526),_),s.__exportStar(d(7842),_),s.__exportStar(d(1005),_),s.__exportStar(d(9815),_),s.__exportStar(d(3650),_),s.__exportStar(d(2282),_),s.__exportStar(d(4831),_),s.__exportStar(d(8178),_),s.__exportStar(d(4343),_),s.__exportStar(d(2078),_)},4831:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},8178:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},4343:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},2078:(ve,_)=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0})},6548:ve=>{var _={exports:{}};function d(Te){return Te instanceof Map?Te.clear=Te.delete=Te.set=function(){throw new Error("map is read-only")}:Te instanceof Set&&(Te.add=Te.clear=Te.delete=function(){throw new Error("set is read-only")}),Object.freeze(Te),Object.getOwnPropertyNames(Te).forEach(function(et){var Pt=Te[et];"object"==typeof Pt&&!Object.isFrozen(Pt)&&d(Pt)}),Te}_.exports=d,_.exports.default=d;var s=_.exports;class m{constructor(et){void 0===et.data&&(et.data={}),this.data=et.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function o(Te){return Te.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function N(Te,...et){const Pt=Object.create(null);for(const gn in Te)Pt[gn]=Te[gn];return et.forEach(function(gn){for(const Xe in gn)Pt[Xe]=gn[Xe]}),Pt}const P=Te=>!!Te.kind;class O{constructor(et,Pt){this.buffer="",this.classPrefix=Pt.classPrefix,et.walk(this)}addText(et){this.buffer+=o(et)}openNode(et){if(!P(et))return;let Pt=et.kind;Pt=et.sublanguage?`language-${Pt}`:((Te,{prefix:et})=>{if(Te.includes(".")){const Pt=Te.split(".");return[`${et}${Pt.shift()}`,...Pt.map((gn,Xe)=>`${gn}${"_".repeat(Xe+1)}`)].join(" ")}return`${et}${Te}`})(Pt,{prefix:this.classPrefix}),this.span(Pt)}closeNode(et){P(et)&&(this.buffer+="")}value(){return this.buffer}span(et){this.buffer+=``}}class x{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(et){this.top.children.push(et)}openNode(et){const Pt={kind:et,children:[]};this.add(Pt),this.stack.push(Pt)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(et){return this.constructor._walk(et,this.rootNode)}static _walk(et,Pt){return"string"==typeof Pt?et.addText(Pt):Pt.children&&(et.openNode(Pt),Pt.children.forEach(gn=>this._walk(et,gn)),et.closeNode(Pt)),et}static _collapse(et){"string"!=typeof et&&et.children&&(et.children.every(Pt=>"string"==typeof Pt)?et.children=[et.children.join("")]:et.children.forEach(Pt=>{x._collapse(Pt)}))}}class D extends x{constructor(et){super(),this.options=et}addKeyword(et,Pt){""!==et&&(this.openNode(Pt),this.addText(et),this.closeNode())}addText(et){""!==et&&this.add(et)}addSublanguage(et,Pt){const gn=et.root;gn.kind=Pt,gn.sublanguage=!0,this.add(gn)}toHTML(){return new O(this,this.options).value()}finalize(){return!0}}function v(Te){return Te?"string"==typeof Te?Te:Te.source:null}function F(Te){return U("(?=",Te,")")}function j(Te){return U("(?:",Te,")*")}function V(Te){return U("(?:",Te,")?")}function U(...Te){return Te.map(Pt=>v(Pt)).join("")}function K(...Te){return"("+(function G(Te){const et=Te[Te.length-1];return"object"==typeof et&&et.constructor===Object?(Te.splice(Te.length-1,1),et):{}}(Te).capture?"":"?:")+Te.map(gn=>v(gn)).join("|")+")"}function ce(Te){return new RegExp(Te.toString()+"|").exec("").length-1}const oe=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Z(Te,{joinWith:et}){let Pt=0;return Te.map(gn=>{Pt+=1;const Xe=Pt;let He=v(gn),de="";for(;He.length>0;){const pe=oe.exec(He);if(!pe){de+=He;break}de+=He.substring(0,pe.index),He=He.substring(pe.index+pe[0].length),"\\"===pe[0][0]&&pe[1]?de+="\\"+String(Number(pe[1])+Xe):(de+=pe[0],"("===pe[0]&&Pt++)}return de}).map(gn=>`(${gn})`).join(et)}const q="[a-zA-Z]\\w*",ie="[a-zA-Z_]\\w*",ge="\\b\\d+(\\.\\d+)?",Me="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Se="\\b(0b[01]+)",ze={begin:"\\\\[\\s\\S]",relevance:0},Je={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[ze]},tt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[ze]},Pe=function(Te,et,Pt={}){const gn=N({scope:"comment",begin:Te,end:et,contains:[]},Pt);gn.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const Xe=K("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return gn.contains.push({begin:U(/[ ]+/,"(",Xe,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),gn},Ie=Pe("//","$"),ye=Pe("/\\*","\\*/"),je=Pe("#","$");var jt=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:q,UNDERSCORE_IDENT_RE:ie,NUMBER_RE:ge,C_NUMBER_RE:Me,BINARY_NUMBER_RE:Se,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(Te={})=>{const et=/^#![ ]*\//;return Te.binary&&(Te.begin=U(et,/.*\b/,Te.binary,/\b.*/)),N({scope:"meta",begin:et,end:/$/,relevance:0,"on:begin":(Pt,gn)=>{0!==Pt.index&&gn.ignoreMatch()}},Te)},BACKSLASH_ESCAPE:ze,APOS_STRING_MODE:Je,QUOTE_STRING_MODE:tt,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT:Pe,C_LINE_COMMENT_MODE:Ie,C_BLOCK_COMMENT_MODE:ye,HASH_COMMENT_MODE:je,NUMBER_MODE:{scope:"number",begin:ge,relevance:0},C_NUMBER_MODE:{scope:"number",begin:Me,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:Se,relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[ze,{begin:/\[/,end:/\]/,relevance:0,contains:[ze]}]}]},TITLE_MODE:{scope:"title",begin:q,relevance:0},UNDERSCORE_TITLE_MODE:{scope:"title",begin:ie,relevance:0},METHOD_GUARD:{begin:"\\.\\s*"+ie,relevance:0},END_SAME_AS_BEGIN:function(Te){return Object.assign(Te,{"on:begin":(et,Pt)=>{Pt.data._beginMatch=et[1]},"on:end":(et,Pt)=>{Pt.data._beginMatch!==et[1]&&Pt.ignoreMatch()}})}});function pt(Te,et){"."===Te.input[Te.index-1]&&et.ignoreMatch()}function tn(Te,et){void 0!==Te.className&&(Te.scope=Te.className,delete Te.className)}function qt(Te,et){et&&Te.beginKeywords&&(Te.begin="\\b("+Te.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",Te.__beforeBegin=pt,Te.keywords=Te.keywords||Te.beginKeywords,delete Te.beginKeywords,void 0===Te.relevance&&(Te.relevance=0))}function _n(Te,et){Array.isArray(Te.illegal)&&(Te.illegal=K(...Te.illegal))}function In(Te,et){if(Te.match){if(Te.begin||Te.end)throw new Error("begin & end are not supported with match");Te.begin=Te.match,delete Te.match}}function no(Te,et){void 0===Te.relevance&&(Te.relevance=1)}const qn=(Te,et)=>{if(!Te.beforeMatch)return;if(Te.starts)throw new Error("beforeMatch cannot be used with starts");const Pt=Object.assign({},Te);Object.keys(Te).forEach(gn=>{delete Te[gn]}),Te.keywords=Pt.keywords,Te.begin=U(Pt.beforeMatch,F(Pt.begin)),Te.starts={relevance:0,contains:[Object.assign(Pt,{endsParent:!0})]},Te.relevance=0,delete Pt.beforeMatch},ko=["of","and","for","in","not","or","if","then","parent","list","value"],Un="keyword";function $n(Te,et,Pt=Un){const gn=Object.create(null);return"string"==typeof Te?Xe(Pt,Te.split(" ")):Array.isArray(Te)?Xe(Pt,Te):Object.keys(Te).forEach(function(He){Object.assign(gn,$n(Te[He],et,He))}),gn;function Xe(He,de){et&&(de=de.map(pe=>pe.toLowerCase())),de.forEach(function(pe){const We=pe.split("|");gn[We[0]]=[He,Ao(We[0],We[1])]})}}function Ao(Te,et){return et?Number(et):function Io(Te){return ko.includes(Te.toLowerCase())}(Te)?0:1}const Re={},$e=Te=>{console.error(Te)},Oe=(Te,...et)=>{console.log(`WARN: ${Te}`,...et)},$=(Te,et)=>{Re[`${Te}/${et}`]||(console.log(`Deprecated as of ${Te}. ${et}`),Re[`${Te}/${et}`]=!0)},ne=new Error;function fe(Te,et,{key:Pt}){let gn=0;const Xe=Te[Pt],He={},de={};for(let pe=1;pe<=et.length;pe++)de[pe+gn]=Xe[pe],He[pe+gn]=!0,gn+=ce(et[pe-1]);Te[Pt]=de,Te[Pt]._emit=He,Te[Pt]._multi=!0}function _t(Te){(function Dt(Te){Te.scope&&"object"==typeof Te.scope&&null!==Te.scope&&(Te.beginScope=Te.scope,delete Te.scope)})(Te),"string"==typeof Te.beginScope&&(Te.beginScope={_wrap:Te.beginScope}),"string"==typeof Te.endScope&&(Te.endScope={_wrap:Te.endScope}),function Be(Te){if(Array.isArray(Te.begin)){if(Te.skip||Te.excludeBegin||Te.returnBegin)throw $e("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),ne;if("object"!=typeof Te.beginScope||null===Te.beginScope)throw $e("beginScope must be object"),ne;fe(Te,Te.begin,{key:"beginScope"}),Te.begin=Z(Te.begin,{joinWith:""})}}(Te),function qe(Te){if(Array.isArray(Te.end)){if(Te.skip||Te.excludeEnd||Te.returnEnd)throw $e("skip, excludeEnd, returnEnd not compatible with endScope: {}"),ne;if("object"!=typeof Te.endScope||null===Te.endScope)throw $e("endScope must be object"),ne;fe(Te,Te.end,{key:"endScope"}),Te.end=Z(Te.end,{joinWith:""})}}(Te)}function fn(Te){function et(de,pe){return new RegExp(v(de),"m"+(Te.case_insensitive?"i":"")+(Te.unicodeRegex?"u":"")+(pe?"g":""))}class Pt{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(pe,We){We.position=this.position++,this.matchIndexes[this.matchAt]=We,this.regexes.push([We,pe]),this.matchAt+=ce(pe)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const pe=this.regexes.map(We=>We[1]);this.matcherRe=et(Z(pe,{joinWith:"|"}),!0),this.lastIndex=0}exec(pe){this.matcherRe.lastIndex=this.lastIndex;const We=this.matcherRe.exec(pe);if(!We)return null;const Et=We.findIndex((on,Fn)=>Fn>0&&void 0!==on),Ht=this.matchIndexes[Et];return We.splice(0,Et),Object.assign(We,Ht)}}class gn{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(pe){if(this.multiRegexes[pe])return this.multiRegexes[pe];const We=new Pt;return this.rules.slice(pe).forEach(([Et,Ht])=>We.addRule(Et,Ht)),We.compile(),this.multiRegexes[pe]=We,We}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(pe,We){this.rules.push([pe,We]),"begin"===We.type&&this.count++}exec(pe){const We=this.getMatcher(this.regexIndex);We.lastIndex=this.lastIndex;let Et=We.exec(pe);if(this.resumingScanAtSamePosition()&&(!Et||Et.index!==this.lastIndex)){const Ht=this.getMatcher(0);Ht.lastIndex=this.lastIndex+1,Et=Ht.exec(pe)}return Et&&(this.regexIndex+=Et.position+1,this.regexIndex===this.count&&this.considerAll()),Et}}if(Te.compilerExtensions||(Te.compilerExtensions=[]),Te.contains&&Te.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return Te.classNameAliases=N(Te.classNameAliases||{}),function He(de,pe){const We=de;if(de.isCompiled)return We;[tn,In,_t,qn].forEach(Ht=>Ht(de,pe)),Te.compilerExtensions.forEach(Ht=>Ht(de,pe)),de.__beforeBegin=null,[qt,_n,no].forEach(Ht=>Ht(de,pe)),de.isCompiled=!0;let Et=null;return"object"==typeof de.keywords&&de.keywords.$pattern&&(de.keywords=Object.assign({},de.keywords),Et=de.keywords.$pattern,delete de.keywords.$pattern),Et=Et||/\w+/,de.keywords&&(de.keywords=$n(de.keywords,Te.case_insensitive)),We.keywordPatternRe=et(Et,!0),pe&&(de.begin||(de.begin=/\B|\b/),We.beginRe=et(We.begin),!de.end&&!de.endsWithParent&&(de.end=/\B|\b/),de.end&&(We.endRe=et(We.end)),We.terminatorEnd=v(We.end)||"",de.endsWithParent&&pe.terminatorEnd&&(We.terminatorEnd+=(de.end?"|":"")+pe.terminatorEnd)),de.illegal&&(We.illegalRe=et(de.illegal)),de.contains||(de.contains=[]),de.contains=[].concat(...de.contains.map(function(Ht){return function nn(Te){return Te.variants&&!Te.cachedVariants&&(Te.cachedVariants=Te.variants.map(function(et){return N(Te,{variants:null},et)})),Te.cachedVariants?Te.cachedVariants:Ut(Te)?N(Te,{starts:Te.starts?N(Te.starts):null}):Object.isFrozen(Te)?N(Te):Te}("self"===Ht?de:Ht)})),de.contains.forEach(function(Ht){He(Ht,We)}),de.starts&&He(de.starts,pe),We.matcher=function Xe(de){const pe=new gn;return de.contains.forEach(We=>pe.addRule(We.begin,{rule:We,type:"begin"})),de.terminatorEnd&&pe.addRule(de.terminatorEnd,{type:"end"}),de.illegal&&pe.addRule(de.illegal,{type:"illegal"}),pe}(We),We}(Te)}function Ut(Te){return!!Te&&(Te.endsWithParent||Ut(Te.starts))}class Oo extends Error{constructor(et,Pt){super(et),this.name="HTMLInjectionError",this.html=Pt}}const Kn=o,Nn=N,Qn=Symbol("nomatch");var Vo=function(Te){const et=Object.create(null),Pt=Object.create(null),gn=[];let Xe=!0;const He="Could not find the language '{}', did you forget to load/include a language module?",de={disableAutodetect:!0,name:"Plain text",contains:[]};let pe={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:D};function We(mt){return pe.noHighlightRe.test(mt)}function Ht(mt,Vt,dn){let cn="",Tn="";"object"==typeof Vt?(cn=mt,dn=Vt.ignoreIllegals,Tn=Vt.language):($("10.7.0","highlight(lang, code, ...args) has been deprecated."),$("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),Tn=mt,cn=Vt),void 0===dn&&(dn=!0);const uo={code:cn,language:Tn};an("before:highlight",uo);const No=uo.result?uo.result:on(uo.language,uo.code,dn);return No.code=uo.code,an("after:highlight",No),No}function on(mt,Vt,dn,cn){const Tn=Object.create(null);function uo(Zt,Qt){return Zt.keywords[Qt]}function No(){if(!bn.keywords)return void To.addText(Xn);let Zt=0;bn.keywordPatternRe.lastIndex=0;let Qt=bn.keywordPatternRe.exec(Xn),Wt="";for(;Qt;){Wt+=Xn.substring(Zt,Qt.index);const vn=Qo.case_insensitive?Qt[0].toLowerCase():Qt[0],Bn=uo(bn,vn);if(Bn){const[ao,ho]=Bn;To.addText(Wt),Wt="",Tn[vn]=(Tn[vn]||0)+1,Tn[vn]<=7&&(Rr+=ho),ao.startsWith("_")?Wt+=Qt[0]:To.addKeyword(Qt[0],Qo.classNameAliases[ao]||ao)}else Wt+=Qt[0];Zt=bn.keywordPatternRe.lastIndex,Qt=bn.keywordPatternRe.exec(Xn)}Wt+=Xn.substr(Zt),To.addText(Wt)}function On(){null!=bn.subLanguage?function So(){if(""===Xn)return;let Zt=null;if("string"==typeof bn.subLanguage){if(!et[bn.subLanguage])return void To.addText(Xn);Zt=on(bn.subLanguage,Xn,!0,Ii[bn.subLanguage]),Ii[bn.subLanguage]=Zt._top}else Zt=un(Xn,bn.subLanguage.length?bn.subLanguage:null);bn.relevance>0&&(Rr+=Zt.relevance),To.addSublanguage(Zt._emitter,Zt.language)}():No(),Xn=""}function Fo(Zt,Qt){let Wt=1;const vn=Qt.length-1;for(;Wt<=vn;){if(!Zt._emit[Wt]){Wt++;continue}const Bn=Qo.classNameAliases[Zt[Wt]]||Zt[Wt],ao=Qt[Wt];Bn?To.addKeyword(ao,Bn):(Xn=ao,No(),Xn=""),Wt++}}function Lo(Zt,Qt){return Zt.scope&&"string"==typeof Zt.scope&&To.openNode(Qo.classNameAliases[Zt.scope]||Zt.scope),Zt.beginScope&&(Zt.beginScope._wrap?(To.addKeyword(Xn,Qo.classNameAliases[Zt.beginScope._wrap]||Zt.beginScope._wrap),Xn=""):Zt.beginScope._multi&&(Fo(Zt.beginScope,Qt),Xn="")),bn=Object.create(Zt,{parent:{value:bn}}),bn}function mo(Zt,Qt,Wt){let vn=function ae(Te,et){const Pt=Te&&Te.exec(et);return Pt&&0===Pt.index}(Zt.endRe,Wt);if(vn){if(Zt["on:end"]){const Bn=new m(Zt);Zt["on:end"](Qt,Bn),Bn.isMatchIgnored&&(vn=!1)}if(vn){for(;Zt.endsParent&&Zt.parent;)Zt=Zt.parent;return Zt}}if(Zt.endsWithParent)return mo(Zt.parent,Qt,Wt)}function yr(Zt){return 0===bn.matcher.regexIndex?(Xn+=Zt[0],1):(wi=!0,0)}function Di(Zt){const Qt=Zt[0],Wt=Vt.substr(Zt.index),vn=mo(bn,Zt,Wt);if(!vn)return Qn;const Bn=bn;bn.endScope&&bn.endScope._wrap?(On(),To.addKeyword(Qt,bn.endScope._wrap)):bn.endScope&&bn.endScope._multi?(On(),Fo(bn.endScope,Zt)):Bn.skip?Xn+=Qt:(Bn.returnEnd||Bn.excludeEnd||(Xn+=Qt),On(),Bn.excludeEnd&&(Xn=Qt));do{bn.scope&&To.closeNode(),!bn.skip&&!bn.subLanguage&&(Rr+=bn.relevance),bn=bn.parent}while(bn!==vn.parent);return vn.starts&&Lo(vn.starts,Zt),Bn.returnEnd?0:Qt.length}let Hr={};function Ei(Zt,Qt){const Wt=Qt&&Qt[0];if(Xn+=Zt,null==Wt)return On(),0;if("begin"===Hr.type&&"end"===Qt.type&&Hr.index===Qt.index&&""===Wt){if(Xn+=Vt.slice(Qt.index,Qt.index+1),!Xe){const vn=new Error(`0 width match regex (${mt})`);throw vn.languageName=mt,vn.badRule=Hr.rule,vn}return 1}if(Hr=Qt,"begin"===Qt.type)return function jr(Zt){const Qt=Zt[0],Wt=Zt.rule,vn=new m(Wt),Bn=[Wt.__beforeBegin,Wt["on:begin"]];for(const ao of Bn)if(ao&&(ao(Zt,vn),vn.isMatchIgnored))return yr(Qt);return Wt.skip?Xn+=Qt:(Wt.excludeBegin&&(Xn+=Qt),On(),!Wt.returnBegin&&!Wt.excludeBegin&&(Xn=Qt)),Lo(Wt,Zt),Wt.returnBegin?0:Qt.length}(Qt);if("illegal"===Qt.type&&!dn){const vn=new Error('Illegal lexeme "'+Wt+'" for mode "'+(bn.scope||"")+'"');throw vn.mode=bn,vn}if("end"===Qt.type){const vn=Di(Qt);if(vn!==Qn)return vn}if("illegal"===Qt.type&&""===Wt)return 1;if(kr>1e5&&kr>3*Qt.index)throw new Error("potential infinite loop, way more iterations than matches");return Xn+=Wt,Wt.length}const Qo=gt(mt);if(!Qo)throw $e(He.replace("{}",mt)),new Error('Unknown language: "'+mt+'"');const fs=fn(Qo);let tr="",bn=cn||fs;const Ii={},To=new pe.__emitter(pe);!function Or(){const Zt=[];for(let Qt=bn;Qt!==Qo;Qt=Qt.parent)Qt.scope&&Zt.unshift(Qt.scope);Zt.forEach(Qt=>To.openNode(Qt))}();let Xn="",Rr=0,Xo=0,kr=0,wi=!1;try{for(bn.matcher.considerAll();;){kr++,wi?wi=!1:bn.matcher.considerAll(),bn.matcher.lastIndex=Xo;const Zt=bn.matcher.exec(Vt);if(!Zt)break;const Wt=Ei(Vt.substring(Xo,Zt.index),Zt);Xo=Zt.index+Wt}return Ei(Vt.substr(Xo)),To.closeAllNodes(),To.finalize(),tr=To.toHTML(),{language:mt,value:tr,relevance:Rr,illegal:!1,_emitter:To,_top:bn}}catch(Zt){if(Zt.message&&Zt.message.includes("Illegal"))return{language:mt,value:Kn(Vt),illegal:!0,relevance:0,_illegalBy:{message:Zt.message,index:Xo,context:Vt.slice(Xo-100,Xo+100),mode:Zt.mode,resultSoFar:tr},_emitter:To};if(Xe)return{language:mt,value:Kn(Vt),illegal:!1,relevance:0,errorRaised:Zt,_emitter:To,_top:bn};throw Zt}}function un(mt,Vt){Vt=Vt||pe.languages||Object.keys(et);const dn=function Fn(mt){const Vt={value:Kn(mt),illegal:!1,relevance:0,_top:de,_emitter:new pe.__emitter(pe)};return Vt._emitter.addText(mt),Vt}(mt),cn=Vt.filter(gt).filter($t).map(On=>on(On,mt,!1));cn.unshift(dn);const Tn=cn.sort((On,Fo)=>{if(On.relevance!==Fo.relevance)return Fo.relevance-On.relevance;if(On.language&&Fo.language){if(gt(On.language).supersetOf===Fo.language)return 1;if(gt(Fo.language).supersetOf===On.language)return-1}return 0}),[uo,No]=Tn,So=uo;return So.secondBest=No,So}function so(mt){let Vt=null;const dn=function Et(mt){let Vt=mt.className+" ";Vt+=mt.parentNode?mt.parentNode.className:"";const dn=pe.languageDetectRe.exec(Vt);if(dn){const cn=gt(dn[1]);return cn||(Oe(He.replace("{}",dn[1])),Oe("Falling back to no-highlight mode for this block.",mt)),cn?dn[1]:"no-highlight"}return Vt.split(/\s+/).find(cn=>We(cn)||gt(cn))}(mt);if(We(dn))return;if(an("before:highlightElement",{el:mt,language:dn}),mt.children.length>0&&(pe.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(mt)),pe.throwUnescapedHTML))throw new Oo("One of your code blocks includes unescaped HTML.",mt.innerHTML);Vt=mt;const cn=Vt.textContent,Tn=dn?Ht(cn,{language:dn,ignoreIllegals:!0}):un(cn);mt.innerHTML=Tn.value,function io(mt,Vt,dn){const cn=Vt&&Pt[Vt]||dn;mt.classList.add("hljs"),mt.classList.add(`language-${cn}`)}(mt,dn,Tn.language),mt.result={language:Tn.language,re:Tn.relevance,relevance:Tn.relevance},Tn.secondBest&&(mt.secondBest={language:Tn.secondBest.language,relevance:Tn.secondBest.relevance}),an("after:highlightElement",{el:mt,result:Tn,text:cn})}let dt=!1;function Mt(){"loading"!==document.readyState?document.querySelectorAll(pe.cssSelector).forEach(so):dt=!0}function gt(mt){return mt=(mt||"").toLowerCase(),et[mt]||et[Pt[mt]]}function Bt(mt,{languageName:Vt}){"string"==typeof mt&&(mt=[mt]),mt.forEach(dn=>{Pt[dn.toLowerCase()]=Vt})}function $t(mt){const Vt=gt(mt);return Vt&&!Vt.disableAutodetect}function an(mt,Vt){const dn=mt;gn.forEach(function(cn){cn[dn]&&cn[dn](Vt)})}typeof window<"u"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",function ue(){dt&&Mt()},!1),Object.assign(Te,{highlight:Ht,highlightAuto:un,highlightAll:Mt,highlightElement:so,highlightBlock:function sn(mt){return $("10.7.0","highlightBlock will be removed entirely in v12.0"),$("10.7.0","Please use highlightElement now."),so(mt)},configure:function Ve(mt){pe=Nn(pe,mt)},initHighlighting:()=>{Mt(),$("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function Ne(){Mt(),$("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function we(mt,Vt){let dn=null;try{dn=Vt(Te)}catch(cn){if($e("Language definition for '{}' could not be registered.".replace("{}",mt)),!Xe)throw cn;$e(cn),dn=de}dn.name||(dn.name=mt),et[mt]=dn,dn.rawDefinition=Vt.bind(null,Te),dn.aliases&&Bt(dn.aliases,{languageName:mt})},unregisterLanguage:function ht(mt){delete et[mt];for(const Vt of Object.keys(Pt))Pt[Vt]===mt&&delete Pt[Vt]},listLanguages:function Qe(){return Object.keys(et)},getLanguage:gt,registerAliases:Bt,autoDetection:$t,inherit:Nn,addPlugin:function Xt(mt){(function Gt(mt){mt["before:highlightBlock"]&&!mt["before:highlightElement"]&&(mt["before:highlightElement"]=Vt=>{mt["before:highlightBlock"](Object.assign({block:Vt.el},Vt))}),mt["after:highlightBlock"]&&!mt["after:highlightElement"]&&(mt["after:highlightElement"]=Vt=>{mt["after:highlightBlock"](Object.assign({block:Vt.el},Vt))})})(mt),gn.push(mt)}}),Te.debugMode=function(){Xe=!1},Te.safeMode=function(){Xe=!0},Te.versionString="11.5.1",Te.regex={concat:U,lookahead:F,either:K,optional:V,anyNumberOfTimes:j};for(const mt in jt)"object"==typeof jt[mt]&&s(jt[mt]);return Object.assign(Te,jt),Te}({});ve.exports=Vo,Vo.HighlightJS=Vo,Vo.default=Vo},6825:(ve,_,d)=>{"use strict";d.d(_,{IO:()=>U,LC:()=>m,SB:()=>x,X$:()=>N,ZE:()=>ce,ZN:()=>K,_j:()=>s,eR:()=>v,jt:()=>L,k1:()=>ae,l3:()=>o,oB:()=>O,pV:()=>j,ru:()=>P,vP:()=>R});class s{}class m{}const o="*";function N(oe,Z){return{type:7,name:oe,definitions:Z,options:{}}}function L(oe,Z=null){return{type:4,styles:Z,timings:oe}}function P(oe,Z=null){return{type:3,steps:oe,options:Z}}function R(oe,Z=null){return{type:2,steps:oe,options:Z}}function O(oe){return{type:6,styles:oe,offset:null}}function x(oe,Z,J){return{type:0,name:oe,styles:Z,options:J}}function v(oe,Z,J=null){return{type:1,expr:oe,animation:Z,options:J}}function j(oe=null){return{type:9,options:oe}}function U(oe,Z,J=null){return{type:11,selector:oe,animation:Z,options:J}}class K{constructor(Z=0,J=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=Z+J}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(Z=>Z()),this._onDoneFns=[])}onStart(Z){this._originalOnStartFns.push(Z),this._onStartFns.push(Z)}onDone(Z){this._originalOnDoneFns.push(Z),this._onDoneFns.push(Z)}onDestroy(Z){this._onDestroyFns.push(Z)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(Z=>Z()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(Z=>Z()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(Z){this._position=this.totalTime?Z*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(Z){const J="start"==Z?this._onStartFns:this._onDoneFns;J.forEach(q=>q()),J.length=0}}class ce{constructor(Z){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=Z;let J=0,q=0,ie=0;const ge=this.players.length;0==ge?queueMicrotask(()=>this._onFinish()):this.players.forEach(Me=>{Me.onDone(()=>{++J==ge&&this._onFinish()}),Me.onDestroy(()=>{++q==ge&&this._onDestroy()}),Me.onStart(()=>{++ie==ge&&this._onStart()})}),this.totalTime=this.players.reduce((Me,Se)=>Math.max(Me,Se.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(Z=>Z()),this._onDoneFns=[])}init(){this.players.forEach(Z=>Z.init())}onStart(Z){this._onStartFns.push(Z)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(Z=>Z()),this._onStartFns=[])}onDone(Z){this._onDoneFns.push(Z)}onDestroy(Z){this._onDestroyFns.push(Z)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(Z=>Z.play())}pause(){this.players.forEach(Z=>Z.pause())}restart(){this.players.forEach(Z=>Z.restart())}finish(){this._onFinish(),this.players.forEach(Z=>Z.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(Z=>Z.destroy()),this._onDestroyFns.forEach(Z=>Z()),this._onDestroyFns=[])}reset(){this.players.forEach(Z=>Z.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(Z){const J=Z*this.totalTime;this.players.forEach(q=>{const ie=q.totalTime?Math.min(1,J/q.totalTime):1;q.setPosition(ie)})}getPosition(){const Z=this.players.reduce((J,q)=>null===J||q.totalTime>J.totalTime?q:J,null);return null!=Z?Z.getPosition():0}beforeDestroy(){this.players.forEach(Z=>{Z.beforeDestroy&&Z.beforeDestroy()})}triggerCallback(Z){const J="start"==Z?this._onStartFns:this._onDoneFns;J.forEach(q=>q()),J.length=0}}const ae="!"},2495:(ve,_,d)=>{"use strict";d.d(_,{Eq:()=>L,HM:()=>P,fI:()=>R});var s=d(5879);function L(x){return Array.isArray(x)?x:[x]}function P(x){return null==x?"":"string"==typeof x?x:`${x}px`}function R(x){return x instanceof s.SBq?x.nativeElement:x}},8290:(ve,_,d)=>{"use strict";d.d(_,{BS:()=>Z,xu:()=>Un,_G:()=>rt,aV:()=>no});var s=d(9473),m=d(6814),o=d(5879),N=d(2495),L=d(2831),P=d(2181),R=d(8180),O=d(9773);const x=new o.OlP("cdk-dir-doc",{providedIn:"root",factory:function D(){return(0,o.f3M)(m.K0)}}),v=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let j=(()=>{class Oe{constructor(ne){this.value="ltr",this.change=new o.vpe,ne&&(this.value=function F(Oe){const $=Oe?.toLowerCase()||"";return"auto"===$&&typeof navigator<"u"&&navigator?.language?v.test(navigator.language)?"rtl":"ltr":"rtl"===$?"rtl":"ltr"}((ne.body?ne.body.dir:null)||(ne.documentElement?ne.documentElement.dir:null)||"ltr"))}ngOnDestroy(){this.change.complete()}static#e=this.\u0275fac=function(fe){return new(fe||Oe)(o.LFG(x,8))};static#t=this.\u0275prov=o.Yz7({token:Oe,factory:Oe.\u0275fac,providedIn:"root"})}return Oe})();var G=d(8484),K=d(8645),ce=d(7394),ae=d(3019);const oe=(0,L.Mq)();class Z{constructor($,ne){this._viewportRuler=$,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=ne}attach(){}enable(){if(this._canBeEnabled()){const $=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=$.style.left||"",this._previousHTMLStyles.top=$.style.top||"",$.style.left=(0,N.HM)(-this._previousScrollPosition.left),$.style.top=(0,N.HM)(-this._previousScrollPosition.top),$.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const $=this._document.documentElement,fe=$.style,Be=this._document.body.style,qe=fe.scrollBehavior||"",Dt=Be.scrollBehavior||"";this._isEnabled=!1,fe.left=this._previousHTMLStyles.left,fe.top=this._previousHTMLStyles.top,$.classList.remove("cdk-global-scrollblock"),oe&&(fe.scrollBehavior=Be.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),oe&&(fe.scrollBehavior=qe,Be.scrollBehavior=Dt)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const ne=this._document.body,fe=this._viewportRuler.getViewportSize();return ne.scrollHeight>fe.height||ne.scrollWidth>fe.width}}class q{constructor($,ne,fe,Be){this._scrollDispatcher=$,this._ngZone=ne,this._viewportRuler=fe,this._config=Be,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach($){this._overlayRef=$}enable(){if(this._scrollSubscription)return;const $=this._scrollDispatcher.scrolled(0).pipe((0,P.h)(ne=>!ne||!this._overlayRef.overlayElement.contains(ne.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=$.subscribe(()=>{const ne=this._viewportRuler.getViewportScrollPosition().top;Math.abs(ne-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=$.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ie{enable(){}disable(){}attach(){}}function ge(Oe,$){return $.some(ne=>Oe.bottomne.bottom||Oe.rightne.right)}function Me(Oe,$){return $.some(ne=>Oe.topne.bottom||Oe.leftne.right)}class Se{constructor($,ne,fe,Be){this._scrollDispatcher=$,this._viewportRuler=ne,this._ngZone=fe,this._config=Be,this._scrollSubscription=null}attach($){this._overlayRef=$}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const ne=this._overlayRef.overlayElement.getBoundingClientRect(),{width:fe,height:Be}=this._viewportRuler.getViewportSize();ge(ne,[{width:fe,height:Be,bottom:Be,right:fe,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let Ae=(()=>{class Oe{constructor(ne,fe,Be,qe){this._scrollDispatcher=ne,this._viewportRuler=fe,this._ngZone=Be,this.noop=()=>new ie,this.close=Dt=>new q(this._scrollDispatcher,this._ngZone,this._viewportRuler,Dt),this.block=()=>new Z(this._viewportRuler,this._document),this.reposition=Dt=>new Se(this._scrollDispatcher,this._viewportRuler,this._ngZone,Dt),this._document=qe}static#e=this.\u0275fac=function(fe){return new(fe||Oe)(o.LFG(s.mF),o.LFG(s.rL),o.LFG(o.R0b),o.LFG(m.K0))};static#t=this.\u0275prov=o.Yz7({token:Oe,factory:Oe.\u0275fac,providedIn:"root"})}return Oe})();class Fe{constructor($){if(this.scrollStrategy=new ie,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,$){const ne=Object.keys($);for(const fe of ne)void 0!==$[fe]&&(this[fe]=$[fe])}}}class tt{constructor($,ne){this.connectionPair=$,this.scrollableViewProperties=ne}}let Ie=(()=>{class Oe{constructor(ne){this._attachedOverlays=[],this._document=ne}ngOnDestroy(){this.detach()}add(ne){this.remove(ne),this._attachedOverlays.push(ne)}remove(ne){const fe=this._attachedOverlays.indexOf(ne);fe>-1&&this._attachedOverlays.splice(fe,1),0===this._attachedOverlays.length&&this.detach()}static#e=this.\u0275fac=function(fe){return new(fe||Oe)(o.LFG(m.K0))};static#t=this.\u0275prov=o.Yz7({token:Oe,factory:Oe.\u0275fac,providedIn:"root"})}return Oe})(),ye=(()=>{class Oe extends Ie{constructor(ne,fe){super(ne),this._ngZone=fe,this._keydownListener=Be=>{const qe=this._attachedOverlays;for(let Dt=qe.length-1;Dt>-1;Dt--)if(qe[Dt]._keydownEvents.observers.length>0){const _t=qe[Dt]._keydownEvents;this._ngZone?this._ngZone.run(()=>_t.next(Be)):_t.next(Be);break}}}add(ne){super.add(ne),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}static#e=this.\u0275fac=function(fe){return new(fe||Oe)(o.LFG(m.K0),o.LFG(o.R0b,8))};static#t=this.\u0275prov=o.Yz7({token:Oe,factory:Oe.\u0275fac,providedIn:"root"})}return Oe})(),je=(()=>{class Oe extends Ie{constructor(ne,fe,Be){super(ne),this._platform=fe,this._ngZone=Be,this._cursorStyleIsSet=!1,this._pointerDownListener=qe=>{this._pointerDownEventTarget=(0,L.sA)(qe)},this._clickListener=qe=>{const Dt=(0,L.sA)(qe),_t="click"===qe.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:Dt;this._pointerDownEventTarget=null;const fn=this._attachedOverlays.slice();for(let Ut=fn.length-1;Ut>-1;Ut--){const nn=fn[Ut];if(nn._outsidePointerEvents.observers.length<1||!nn.hasAttached())continue;if(nn.overlayElement.contains(Dt)||nn.overlayElement.contains(_t))break;const wn=nn._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>wn.next(qe)):wn.next(qe)}}}add(ne){if(super.add(ne),!this._isAttached){const fe=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(fe)):this._addEventListeners(fe),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=fe.style.cursor,fe.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const ne=this._document.body;ne.removeEventListener("pointerdown",this._pointerDownListener,!0),ne.removeEventListener("click",this._clickListener,!0),ne.removeEventListener("auxclick",this._clickListener,!0),ne.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(ne.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(ne){ne.addEventListener("pointerdown",this._pointerDownListener,!0),ne.addEventListener("click",this._clickListener,!0),ne.addEventListener("auxclick",this._clickListener,!0),ne.addEventListener("contextmenu",this._clickListener,!0)}static#e=this.\u0275fac=function(fe){return new(fe||Oe)(o.LFG(m.K0),o.LFG(L.t4),o.LFG(o.R0b,8))};static#t=this.\u0275prov=o.Yz7({token:Oe,factory:Oe.\u0275fac,providedIn:"root"})}return Oe})(),Ge=(()=>{class Oe{constructor(ne,fe){this._platform=fe,this._document=ne}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const ne="cdk-overlay-container";if(this._platform.isBrowser||(0,L.Oy)()){const Be=this._document.querySelectorAll(`.${ne}[platform="server"], .${ne}[platform="test"]`);for(let qe=0;qethis._backdropClick.next(wn),this._backdropTransitionendHandler=wn=>{this._disposeBackdrop(wn.target)},this._keydownEvents=new K.x,this._outsidePointerEvents=new K.x,Be.scrollStrategy&&(this._scrollStrategy=Be.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=Be.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach($){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const ne=this._portalOutlet.attach($);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe((0,R.q)(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),"function"==typeof ne?.onDestroy&&ne.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),ne}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const $=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),$}dispose(){const $=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,$&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy($){$!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=$,this.hasAttached()&&($.attach(this),this.updatePosition()))}updateSize($){this._config={...this._config,...$},this._updateElementSize()}setDirection($){this._config={...this._config,direction:$},this._updateElementDirection()}addPanelClass($){this._pane&&this._toggleClasses(this._pane,$,!0)}removePanelClass($){this._pane&&this._toggleClasses(this._pane,$,!1)}getDirection(){const $=this._config.direction;return $?"string"==typeof $?$:$.value:"ltr"}updateScrollStrategy($){$!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=$,this.hasAttached()&&($.attach(this),$.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const $=this._pane.style;$.width=(0,N.HM)(this._config.width),$.height=(0,N.HM)(this._config.height),$.minWidth=(0,N.HM)(this._config.minWidth),$.minHeight=(0,N.HM)(this._config.minHeight),$.maxWidth=(0,N.HM)(this._config.maxWidth),$.maxHeight=(0,N.HM)(this._config.maxHeight)}_togglePointerEvents($){this._pane.style.pointerEvents=$?"":"none"}_attachBackdrop(){const $="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add($)})}):this._backdropElement.classList.add($)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const $=this._backdropElement;if($){if(this._animationsDisabled)return void this._disposeBackdrop($);$.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{$.addEventListener("transitionend",this._backdropTransitionendHandler)}),$.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop($)},500))}}_toggleClasses($,ne,fe){const Be=(0,N.Eq)(ne||[]).filter(qe=>!!qe);Be.length&&(fe?$.classList.add(...Be):$.classList.remove(...Be))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const $=this._ngZone.onStable.pipe((0,O.R)((0,ae.T)(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),$.unsubscribe())})})}_disposeScrollStrategy(){const $=this._scrollStrategy;$&&($.disable(),$.detach&&$.detach())}_disposeBackdrop($){$&&($.removeEventListener("click",this._backdropClickHandler),$.removeEventListener("transitionend",this._backdropTransitionendHandler),$.remove(),this._backdropElement===$&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}const ct="cdk-overlay-connected-position-bounding-box",lt=/([A-Za-z%]+)$/;class rt{get positions(){return this._preferredPositions}constructor($,ne,fe,Be,qe){this._viewportRuler=ne,this._document=fe,this._platform=Be,this._overlayContainer=qe,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new K.x,this._resizeSubscription=ce.w0.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin($)}attach($){this._validatePositions(),$.hostElement.classList.add(ct),this._overlayRef=$,this._boundingBox=$.hostElement,this._pane=$.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const $=this._originRect,ne=this._overlayRect,fe=this._viewportRect,Be=this._containerRect,qe=[];let Dt;for(let _t of this._preferredPositions){let fn=this._getOriginPoint($,Be,_t),Ut=this._getOverlayPoint(fn,ne,_t),nn=this._getOverlayFit(Ut,ne,fe,_t);if(nn.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(_t,fn);this._canFitWithFlexibleDimensions(nn,Ut,fe)?qe.push({position:_t,origin:fn,overlayRect:ne,boundingBoxRect:this._calculateBoundingBoxRect(fn,_t)}):(!Dt||Dt.overlayFit.visibleAreafn&&(fn=nn,_t=Ut)}return this._isPushed=!1,void this._applyPosition(_t.position,_t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(Dt.position,Dt.originPoint);this._applyPosition(Dt.position,Dt.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&De(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(ct),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const $=this._lastPosition;if($){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const ne=this._getOriginPoint(this._originRect,this._containerRect,$);this._applyPosition($,ne)}else this.apply()}withScrollableContainers($){return this._scrollables=$,this}withPositions($){return this._preferredPositions=$,-1===$.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin($){return this._viewportMargin=$,this}withFlexibleDimensions($=!0){return this._hasFlexibleDimensions=$,this}withGrowAfterOpen($=!0){return this._growAfterOpen=$,this}withPush($=!0){return this._canPush=$,this}withLockedPosition($=!0){return this._positionLocked=$,this}setOrigin($){return this._origin=$,this}withDefaultOffsetX($){return this._offsetX=$,this}withDefaultOffsetY($){return this._offsetY=$,this}withTransformOriginOn($){return this._transformOriginSelector=$,this}_getOriginPoint($,ne,fe){let Be,qe;if("center"==fe.originX)Be=$.left+$.width/2;else{const Dt=this._isRtl()?$.right:$.left,_t=this._isRtl()?$.left:$.right;Be="start"==fe.originX?Dt:_t}return ne.left<0&&(Be-=ne.left),qe="center"==fe.originY?$.top+$.height/2:"top"==fe.originY?$.top:$.bottom,ne.top<0&&(qe-=ne.top),{x:Be,y:qe}}_getOverlayPoint($,ne,fe){let Be,qe;return Be="center"==fe.overlayX?-ne.width/2:"start"===fe.overlayX?this._isRtl()?-ne.width:0:this._isRtl()?0:-ne.width,qe="center"==fe.overlayY?-ne.height/2:"top"==fe.overlayY?0:-ne.height,{x:$.x+Be,y:$.y+qe}}_getOverlayFit($,ne,fe,Be){const qe=Ct(ne);let{x:Dt,y:_t}=$,fn=this._getOffset(Be,"x"),Ut=this._getOffset(Be,"y");fn&&(Dt+=fn),Ut&&(_t+=Ut);let Oo=0-_t,Kn=_t+qe.height-fe.height,Nn=this._subtractOverflows(qe.width,0-Dt,Dt+qe.width-fe.width),Qn=this._subtractOverflows(qe.height,Oo,Kn),er=Nn*Qn;return{visibleArea:er,isCompletelyWithinViewport:qe.width*qe.height===er,fitsInViewportVertically:Qn===qe.height,fitsInViewportHorizontally:Nn==qe.width}}_canFitWithFlexibleDimensions($,ne,fe){if(this._hasFlexibleDimensions){const Be=fe.bottom-ne.y,qe=fe.right-ne.x,Dt=it(this._overlayRef.getConfig().minHeight),_t=it(this._overlayRef.getConfig().minWidth);return($.fitsInViewportVertically||null!=Dt&&Dt<=Be)&&($.fitsInViewportHorizontally||null!=_t&&_t<=qe)}return!1}_pushOverlayOnScreen($,ne,fe){if(this._previousPushAmount&&this._positionLocked)return{x:$.x+this._previousPushAmount.x,y:$.y+this._previousPushAmount.y};const Be=Ct(ne),qe=this._viewportRect,Dt=Math.max($.x+Be.width-qe.width,0),_t=Math.max($.y+Be.height-qe.height,0),fn=Math.max(qe.top-fe.top-$.y,0),Ut=Math.max(qe.left-fe.left-$.x,0);let nn=0,wn=0;return nn=Be.width<=qe.width?Ut||-Dt:$.xNn&&!this._isInitialRender&&!this._growAfterOpen&&(Dt=$.y-Nn/2)}if("end"===ne.overlayX&&!Be||"start"===ne.overlayX&&Be)Oo=fe.width-$.x+this._viewportMargin,nn=$.x-this._viewportMargin;else if("start"===ne.overlayX&&!Be||"end"===ne.overlayX&&Be)wn=$.x,nn=fe.right-$.x;else{const Kn=Math.min(fe.right-$.x+fe.left,$.x),Nn=this._lastBoundingBoxSize.width;nn=2*Kn,wn=$.x-Kn,nn>Nn&&!this._isInitialRender&&!this._growAfterOpen&&(wn=$.x-Nn/2)}return{top:Dt,left:wn,bottom:_t,right:Oo,width:nn,height:qe}}_setBoundingBoxStyles($,ne){const fe=this._calculateBoundingBoxRect($,ne);!this._isInitialRender&&!this._growAfterOpen&&(fe.height=Math.min(fe.height,this._lastBoundingBoxSize.height),fe.width=Math.min(fe.width,this._lastBoundingBoxSize.width));const Be={};if(this._hasExactPosition())Be.top=Be.left="0",Be.bottom=Be.right=Be.maxHeight=Be.maxWidth="",Be.width=Be.height="100%";else{const qe=this._overlayRef.getConfig().maxHeight,Dt=this._overlayRef.getConfig().maxWidth;Be.height=(0,N.HM)(fe.height),Be.top=(0,N.HM)(fe.top),Be.bottom=(0,N.HM)(fe.bottom),Be.width=(0,N.HM)(fe.width),Be.left=(0,N.HM)(fe.left),Be.right=(0,N.HM)(fe.right),Be.alignItems="center"===ne.overlayX?"center":"end"===ne.overlayX?"flex-end":"flex-start",Be.justifyContent="center"===ne.overlayY?"center":"bottom"===ne.overlayY?"flex-end":"flex-start",qe&&(Be.maxHeight=(0,N.HM)(qe)),Dt&&(Be.maxWidth=(0,N.HM)(Dt))}this._lastBoundingBoxSize=fe,De(this._boundingBox.style,Be)}_resetBoundingBoxStyles(){De(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){De(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles($,ne){const fe={},Be=this._hasExactPosition(),qe=this._hasFlexibleDimensions,Dt=this._overlayRef.getConfig();if(Be){const nn=this._viewportRuler.getViewportScrollPosition();De(fe,this._getExactOverlayY(ne,$,nn)),De(fe,this._getExactOverlayX(ne,$,nn))}else fe.position="static";let _t="",fn=this._getOffset(ne,"x"),Ut=this._getOffset(ne,"y");fn&&(_t+=`translateX(${fn}px) `),Ut&&(_t+=`translateY(${Ut}px)`),fe.transform=_t.trim(),Dt.maxHeight&&(Be?fe.maxHeight=(0,N.HM)(Dt.maxHeight):qe&&(fe.maxHeight="")),Dt.maxWidth&&(Be?fe.maxWidth=(0,N.HM)(Dt.maxWidth):qe&&(fe.maxWidth="")),De(this._pane.style,fe)}_getExactOverlayY($,ne,fe){let Be={top:"",bottom:""},qe=this._getOverlayPoint(ne,this._overlayRect,$);return this._isPushed&&(qe=this._pushOverlayOnScreen(qe,this._overlayRect,fe)),"bottom"===$.overlayY?Be.bottom=this._document.documentElement.clientHeight-(qe.y+this._overlayRect.height)+"px":Be.top=(0,N.HM)(qe.y),Be}_getExactOverlayX($,ne,fe){let Dt,Be={left:"",right:""},qe=this._getOverlayPoint(ne,this._overlayRect,$);return this._isPushed&&(qe=this._pushOverlayOnScreen(qe,this._overlayRect,fe)),Dt=this._isRtl()?"end"===$.overlayX?"left":"right":"end"===$.overlayX?"right":"left","right"===Dt?Be.right=this._document.documentElement.clientWidth-(qe.x+this._overlayRect.width)+"px":Be.left=(0,N.HM)(qe.x),Be}_getScrollVisibility(){const $=this._getOriginRect(),ne=this._pane.getBoundingClientRect(),fe=this._scrollables.map(Be=>Be.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Me($,fe),isOriginOutsideView:ge($,fe),isOverlayClipped:Me(ne,fe),isOverlayOutsideView:ge(ne,fe)}}_subtractOverflows($,...ne){return ne.reduce((fe,Be)=>fe-Math.max(Be,0),$)}_getNarrowedViewportRect(){const $=this._document.documentElement.clientWidth,ne=this._document.documentElement.clientHeight,fe=this._viewportRuler.getViewportScrollPosition();return{top:fe.top+this._viewportMargin,left:fe.left+this._viewportMargin,right:fe.left+$-this._viewportMargin,bottom:fe.top+ne-this._viewportMargin,width:$-2*this._viewportMargin,height:ne-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset($,ne){return"x"===ne?null==$.offsetX?this._offsetX:$.offsetX:null==$.offsetY?this._offsetY:$.offsetY}_validatePositions(){}_addPanelClasses($){this._pane&&(0,N.Eq)($).forEach(ne=>{""!==ne&&-1===this._appliedPanelClasses.indexOf(ne)&&(this._appliedPanelClasses.push(ne),this._pane.classList.add(ne))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach($=>{this._pane.classList.remove($)}),this._appliedPanelClasses=[])}_getOriginRect(){const $=this._origin;if($ instanceof o.SBq)return $.nativeElement.getBoundingClientRect();if($ instanceof Element)return $.getBoundingClientRect();const ne=$.width||0,fe=$.height||0;return{top:$.y,bottom:$.y+fe,left:$.x,right:$.x+ne,height:fe,width:ne}}}function De(Oe,$){for(let ne in $)$.hasOwnProperty(ne)&&(Oe[ne]=$[ne]);return Oe}function it(Oe){if("number"!=typeof Oe&&null!=Oe){const[$,ne]=Oe.split(lt);return ne&&"px"!==ne?null:parseFloat($)}return Oe||null}function Ct(Oe){return{top:Math.floor(Oe.top),right:Math.floor(Oe.right),bottom:Math.floor(Oe.bottom),left:Math.floor(Oe.left),width:Math.floor(Oe.width),height:Math.floor(Oe.height)}}const tn="cdk-global-overlay-wrapper";class qt{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach($){const ne=$.getConfig();this._overlayRef=$,this._width&&!ne.width&&$.updateSize({width:this._width}),this._height&&!ne.height&&$.updateSize({height:this._height}),$.hostElement.classList.add(tn),this._isDisposed=!1}top($=""){return this._bottomOffset="",this._topOffset=$,this._alignItems="flex-start",this}left($=""){return this._xOffset=$,this._xPosition="left",this}bottom($=""){return this._topOffset="",this._bottomOffset=$,this._alignItems="flex-end",this}right($=""){return this._xOffset=$,this._xPosition="right",this}start($=""){return this._xOffset=$,this._xPosition="start",this}end($=""){return this._xOffset=$,this._xPosition="end",this}width($=""){return this._overlayRef?this._overlayRef.updateSize({width:$}):this._width=$,this}height($=""){return this._overlayRef?this._overlayRef.updateSize({height:$}):this._height=$,this}centerHorizontally($=""){return this.left($),this._xPosition="center",this}centerVertically($=""){return this.top($),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const $=this._overlayRef.overlayElement.style,ne=this._overlayRef.hostElement.style,fe=this._overlayRef.getConfig(),{width:Be,height:qe,maxWidth:Dt,maxHeight:_t}=fe,fn=!("100%"!==Be&&"100vw"!==Be||Dt&&"100%"!==Dt&&"100vw"!==Dt),Ut=!("100%"!==qe&&"100vh"!==qe||_t&&"100%"!==_t&&"100vh"!==_t),nn=this._xPosition,wn=this._xOffset,Oo="rtl"===this._overlayRef.getConfig().direction;let Kn="",Nn="",Qn="";fn?Qn="flex-start":"center"===nn?(Qn="center",Oo?Nn=wn:Kn=wn):Oo?"left"===nn||"end"===nn?(Qn="flex-end",Kn=wn):("right"===nn||"start"===nn)&&(Qn="flex-start",Nn=wn):"left"===nn||"start"===nn?(Qn="flex-start",Kn=wn):("right"===nn||"end"===nn)&&(Qn="flex-end",Nn=wn),$.position=this._cssPosition,$.marginLeft=fn?"0":Kn,$.marginTop=Ut?"0":this._topOffset,$.marginBottom=this._bottomOffset,$.marginRight=fn?"0":Nn,ne.justifyContent=Qn,ne.alignItems=Ut?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const $=this._overlayRef.overlayElement.style,ne=this._overlayRef.hostElement,fe=ne.style;ne.classList.remove(tn),fe.justifyContent=fe.alignItems=$.marginTop=$.marginBottom=$.marginLeft=$.marginRight=$.position="",this._overlayRef=null,this._isDisposed=!0}}let _n=(()=>{class Oe{constructor(ne,fe,Be,qe){this._viewportRuler=ne,this._document=fe,this._platform=Be,this._overlayContainer=qe}global(){return new qt}flexibleConnectedTo(ne){return new rt(ne,this._viewportRuler,this._document,this._platform,this._overlayContainer)}static#e=this.\u0275fac=function(fe){return new(fe||Oe)(o.LFG(s.rL),o.LFG(m.K0),o.LFG(L.t4),o.LFG(Ge))};static#t=this.\u0275prov=o.Yz7({token:Oe,factory:Oe.\u0275fac,providedIn:"root"})}return Oe})(),In=0,no=(()=>{class Oe{constructor(ne,fe,Be,qe,Dt,_t,fn,Ut,nn,wn,Oo,Kn){this.scrollStrategies=ne,this._overlayContainer=fe,this._componentFactoryResolver=Be,this._positionBuilder=qe,this._keyboardDispatcher=Dt,this._injector=_t,this._ngZone=fn,this._document=Ut,this._directionality=nn,this._location=wn,this._outsideClickDispatcher=Oo,this._animationsModuleType=Kn}create(ne){const fe=this._createHostElement(),Be=this._createPaneElement(fe),qe=this._createPortalOutlet(Be),Dt=new Fe(ne);return Dt.direction=Dt.direction||this._directionality.value,new Le(qe,fe,Be,Dt,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType)}position(){return this._positionBuilder}_createPaneElement(ne){const fe=this._document.createElement("div");return fe.id="cdk-overlay-"+In++,fe.classList.add("cdk-overlay-pane"),ne.appendChild(fe),fe}_createHostElement(){const ne=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(ne),ne}_createPortalOutlet(ne){return this._appRef||(this._appRef=this._injector.get(o.z2F)),new G.u0(ne,this._componentFactoryResolver,this._appRef,this._injector,this._document)}static#e=this.\u0275fac=function(fe){return new(fe||Oe)(o.LFG(Ae),o.LFG(Ge),o.LFG(o._Vd),o.LFG(_n),o.LFG(ye),o.LFG(o.zs3),o.LFG(o.R0b),o.LFG(m.K0),o.LFG(j),o.LFG(m.Ye),o.LFG(je),o.LFG(o.QbO,8))};static#t=this.\u0275prov=o.Yz7({token:Oe,factory:Oe.\u0275fac,providedIn:"root"})}return Oe})(),Un=(()=>{class Oe{constructor(ne){this.elementRef=ne}static#e=this.\u0275fac=function(fe){return new(fe||Oe)(o.Y36(o.SBq))};static#t=this.\u0275dir=o.lG2({type:Oe,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"],standalone:!0})}return Oe})()},2831:(ve,_,d)=>{"use strict";d.d(_,{Mq:()=>V,Oy:()=>Z,i$:()=>v,sA:()=>oe,t4:()=>N});var s=d(5879),m=d(6814);let o;try{o=typeof Intl<"u"&&Intl.v8BreakIterator}catch{o=!1}let x,j,N=(()=>{class J{constructor(ie){this._platformId=ie,this.isBrowser=this._platformId?(0,m.NF)(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!o)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}static#e=this.\u0275fac=function(ge){return new(ge||J)(s.LFG(s.Lbi))};static#t=this.\u0275prov=s.Yz7({token:J,factory:J.\u0275fac,providedIn:"root"})}return J})();function v(J){return function D(){if(null==x&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>x=!0}))}finally{x=x||!1}return x}()?J:!!J.capture}function V(){if(null==j){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return j=!1,j;if("scrollBehavior"in document.documentElement.style)j=!0;else{const J=Element.prototype.scrollTo;j=!!J&&!/\{\s*\[native code\]\s*\}/.test(J.toString())}}return j}function oe(J){return J.composedPath?J.composedPath()[0]:J.target}function Z(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}},8484:(ve,_,d)=>{"use strict";d.d(_,{C5:()=>x,u0:()=>V});var s=d(5879);class O{attach(q){return this._attachedHost=q,q.attach(this)}detach(){let q=this._attachedHost;null!=q&&(this._attachedHost=null,q.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(q){this._attachedHost=q}}class x extends O{constructor(q,ie,ge,Me,Se){super(),this.component=q,this.viewContainerRef=ie,this.injector=ge,this.componentFactoryResolver=Me,this.projectableNodes=Se}}class D extends O{constructor(q,ie,ge,Me){super(),this.templateRef=q,this.viewContainerRef=ie,this.context=ge,this.injector=Me}get origin(){return this.templateRef.elementRef}attach(q,ie=this.context){return this.context=ie,super.attach(q)}detach(){return this.context=void 0,super.detach()}}class v extends O{constructor(q){super(),this.element=q instanceof s.SBq?q.nativeElement:q}}class F{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(q){return q instanceof x?(this._attachedPortal=q,this.attachComponentPortal(q)):q instanceof D?(this._attachedPortal=q,this.attachTemplatePortal(q)):this.attachDomPortal&&q instanceof v?(this._attachedPortal=q,this.attachDomPortal(q)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(q){this._disposeFn=q}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class V extends F{constructor(q,ie,ge,Me,Se){super(),this.outletElement=q,this._componentFactoryResolver=ie,this._appRef=ge,this._defaultInjector=Me,this.attachDomPortal=Ae=>{const Fe=Ae.element,ze=this._document.createComment("dom-portal");Fe.parentNode.insertBefore(ze,Fe),this.outletElement.appendChild(Fe),this._attachedPortal=Ae,super.setDisposeFn(()=>{ze.parentNode&&ze.parentNode.replaceChild(Fe,ze)})},this._document=Se}attachComponentPortal(q){const ge=(q.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(q.component);let Me;return q.viewContainerRef?(Me=q.viewContainerRef.createComponent(ge,q.viewContainerRef.length,q.injector||q.viewContainerRef.injector,q.projectableNodes||void 0),this.setDisposeFn(()=>Me.destroy())):(Me=ge.create(q.injector||this._defaultInjector||s.zs3.NULL),this._appRef.attachView(Me.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(Me.hostView),Me.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(Me)),this._attachedPortal=q,Me}attachTemplatePortal(q){let ie=q.viewContainerRef,ge=ie.createEmbeddedView(q.templateRef,q.context,{injector:q.injector});return ge.rootNodes.forEach(Me=>this.outletElement.appendChild(Me)),ge.detectChanges(),this.setDisposeFn(()=>{let Me=ie.indexOf(ge);-1!==Me&&ie.remove(Me)}),this._attachedPortal=q,ge}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(q){return q.hostView.rootNodes[0]}}},9473:(ve,_,d)=>{"use strict";d.d(_,{mF:()=>Me,rL:()=>Fe});var s=d(2495),m=d(5879),o=d(8645),N=d(2096),L=d(5592),P=d(2438),x=(d(927),d(6410),d(6321)),D=d(9360),v=d(4829),F=d(8251),V=d(4825);function U(lt,rt=x.z){return function j(lt){return(0,D.e)((rt,De)=>{let it=!1,Ct=null,jt=null,pt=!1;const tn=()=>{if(jt?.unsubscribe(),jt=null,it){it=!1;const _n=Ct;Ct=null,De.next(_n)}pt&&De.complete()},qt=()=>{jt=null,pt&&De.complete()};rt.subscribe((0,F.x)(De,_n=>{it=!0,Ct=_n,jt||(0,v.Xf)(lt(_n)).subscribe(jt=(0,F.x)(De,tn,qt))},()=>{pt=!0,(!it||!jt||jt.closed)&&De.complete()}))})}(()=>(0,V.H)(lt,rt))}var G=d(2181),K=d(2831),ce=d(6814);let Me=(()=>{class lt{constructor(De,it,Ct){this._ngZone=De,this._platform=it,this._scrolled=new o.x,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=Ct}register(De){this.scrollContainers.has(De)||this.scrollContainers.set(De,De.elementScrolled().subscribe(()=>this._scrolled.next(De)))}deregister(De){const it=this.scrollContainers.get(De);it&&(it.unsubscribe(),this.scrollContainers.delete(De))}scrolled(De=20){return this._platform.isBrowser?new L.y(it=>{this._globalSubscription||this._addGlobalListener();const Ct=De>0?this._scrolled.pipe(U(De)).subscribe(it):this._scrolled.subscribe(it);return this._scrolledCount++,()=>{Ct.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):(0,N.of)()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((De,it)=>this.deregister(it)),this._scrolled.complete()}ancestorScrolled(De,it){const Ct=this.getAncestorScrollContainers(De);return this.scrolled(it).pipe((0,G.h)(jt=>!jt||Ct.indexOf(jt)>-1))}getAncestorScrollContainers(De){const it=[];return this.scrollContainers.forEach((Ct,jt)=>{this._scrollableContainsElement(jt,De)&&it.push(jt)}),it}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(De,it){let Ct=(0,s.fI)(it),jt=De.getElementRef().nativeElement;do{if(Ct==jt)return!0}while(Ct=Ct.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>{const De=this._getWindow();return(0,P.R)(De.document,"scroll").subscribe(()=>this._scrolled.next())})}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}static#e=this.\u0275fac=function(it){return new(it||lt)(m.LFG(m.R0b),m.LFG(K.t4),m.LFG(ce.K0,8))};static#t=this.\u0275prov=m.Yz7({token:lt,factory:lt.\u0275fac,providedIn:"root"})}return lt})(),Fe=(()=>{class lt{constructor(De,it,Ct){this._platform=De,this._change=new o.x,this._changeListener=jt=>{this._change.next(jt)},this._document=Ct,it.runOutsideAngular(()=>{if(De.isBrowser){const jt=this._getWindow();jt.addEventListener("resize",this._changeListener),jt.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const De=this._getWindow();De.removeEventListener("resize",this._changeListener),De.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const De={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),De}getViewportRect(){const De=this.getViewportScrollPosition(),{width:it,height:Ct}=this.getViewportSize();return{top:De.top,left:De.left,bottom:De.top+Ct,right:De.left+it,height:Ct,width:it}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const De=this._document,it=this._getWindow(),Ct=De.documentElement,jt=Ct.getBoundingClientRect();return{top:-jt.top||De.body.scrollTop||it.scrollY||Ct.scrollTop||0,left:-jt.left||De.body.scrollLeft||it.scrollX||Ct.scrollLeft||0}}change(De=20){return De>0?this._change.pipe(U(De)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const De=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:De.innerWidth,height:De.innerHeight}:{width:0,height:0}}static#e=this.\u0275fac=function(it){return new(it||lt)(m.LFG(K.t4),m.LFG(m.R0b),m.LFG(ce.K0,8))};static#t=this.\u0275prov=m.Yz7({token:lt,factory:lt.\u0275fac,providedIn:"root"})}return lt})()},6814:(ve,_,d)=>{"use strict";d.d(_,{$G:()=>Vt,Do:()=>G,EM:()=>$r,HT:()=>N,JF:()=>hr,K0:()=>P,Mx:()=>Xt,NF:()=>dr,Nd:()=>Vr,O5:()=>So,Ov:()=>Rr,PM:()=>Ni,RF:()=>mo,S$:()=>j,V_:()=>O,Ye:()=>K,ax:()=>Tn,b0:()=>U,bD:()=>Co,ez:()=>Cr,n9:()=>yr,q:()=>o,sg:()=>Tn,tP:()=>Qo,w_:()=>L});var s=d(5879);let m=null;function o(){return m}function N(E){m||(m=E)}class L{}const P=new s.OlP("DocumentToken");let R=(()=>{class E{historyGo(H){throw new Error("Not implemented")}static#e=this.\u0275fac=function(Q){return new(Q||E)};static#t=this.\u0275prov=s.Yz7({token:E,factory:function(){return(0,s.f3M)(x)},providedIn:"platform"})}return E})();const O=new s.OlP("Location Initialized");let x=(()=>{class E extends R{constructor(){super(),this._doc=(0,s.f3M)(P),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return o().getBaseHref(this._doc)}onPopState(H){const Q=o().getGlobalEventTarget(this._doc,"window");return Q.addEventListener("popstate",H,!1),()=>Q.removeEventListener("popstate",H)}onHashChange(H){const Q=o().getGlobalEventTarget(this._doc,"window");return Q.addEventListener("hashchange",H,!1),()=>Q.removeEventListener("hashchange",H)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(H){this._location.pathname=H}pushState(H,Q,Ce){this._history.pushState(H,Q,Ce)}replaceState(H,Q,Ce){this._history.replaceState(H,Q,Ce)}forward(){this._history.forward()}back(){this._history.back()}historyGo(H=0){this._history.go(H)}getState(){return this._history.state}static#e=this.\u0275fac=function(Q){return new(Q||E)};static#t=this.\u0275prov=s.Yz7({token:E,factory:function(){return new E},providedIn:"platform"})}return E})();function D(E,te){if(0==E.length)return te;if(0==te.length)return E;let H=0;return E.endsWith("/")&&H++,te.startsWith("/")&&H++,2==H?E+te.substring(1):1==H?E+te:E+"/"+te}function v(E){const te=E.match(/#|\?|$/),H=te&&te.index||E.length;return E.slice(0,H-("/"===E[H-1]?1:0))+E.slice(H)}function F(E){return E&&"?"!==E[0]?"?"+E:E}let j=(()=>{class E{historyGo(H){throw new Error("Not implemented")}static#e=this.\u0275fac=function(Q){return new(Q||E)};static#t=this.\u0275prov=s.Yz7({token:E,factory:function(){return(0,s.f3M)(U)},providedIn:"root"})}return E})();const V=new s.OlP("appBaseHref");let U=(()=>{class E extends j{constructor(H,Q){super(),this._platformLocation=H,this._removeListenerFns=[],this._baseHref=Q??this._platformLocation.getBaseHrefFromDOM()??(0,s.f3M)(P).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(H){this._removeListenerFns.push(this._platformLocation.onPopState(H),this._platformLocation.onHashChange(H))}getBaseHref(){return this._baseHref}prepareExternalUrl(H){return D(this._baseHref,H)}path(H=!1){const Q=this._platformLocation.pathname+F(this._platformLocation.search),Ce=this._platformLocation.hash;return Ce&&H?`${Q}${Ce}`:Q}pushState(H,Q,Ce,at){const bt=this.prepareExternalUrl(Ce+F(at));this._platformLocation.pushState(H,Q,bt)}replaceState(H,Q,Ce,at){const bt=this.prepareExternalUrl(Ce+F(at));this._platformLocation.replaceState(H,Q,bt)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(H=0){this._platformLocation.historyGo?.(H)}static#e=this.\u0275fac=function(Q){return new(Q||E)(s.LFG(R),s.LFG(V,8))};static#t=this.\u0275prov=s.Yz7({token:E,factory:E.\u0275fac,providedIn:"root"})}return E})(),G=(()=>{class E extends j{constructor(H,Q){super(),this._platformLocation=H,this._baseHref="",this._removeListenerFns=[],null!=Q&&(this._baseHref=Q)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(H){this._removeListenerFns.push(this._platformLocation.onPopState(H),this._platformLocation.onHashChange(H))}getBaseHref(){return this._baseHref}path(H=!1){let Q=this._platformLocation.hash;return null==Q&&(Q="#"),Q.length>0?Q.substring(1):Q}prepareExternalUrl(H){const Q=D(this._baseHref,H);return Q.length>0?"#"+Q:Q}pushState(H,Q,Ce,at){let bt=this.prepareExternalUrl(Ce+F(at));0==bt.length&&(bt=this._platformLocation.pathname),this._platformLocation.pushState(H,Q,bt)}replaceState(H,Q,Ce,at){let bt=this.prepareExternalUrl(Ce+F(at));0==bt.length&&(bt=this._platformLocation.pathname),this._platformLocation.replaceState(H,Q,bt)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(H=0){this._platformLocation.historyGo?.(H)}static#e=this.\u0275fac=function(Q){return new(Q||E)(s.LFG(R),s.LFG(V,8))};static#t=this.\u0275prov=s.Yz7({token:E,factory:E.\u0275fac})}return E})(),K=(()=>{class E{constructor(H){this._subject=new s.vpe,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=H;const Q=this._locationStrategy.getBaseHref();this._basePath=function Z(E){if(new RegExp("^(https?:)?//").test(E)){const[,H]=E.split(/\/\/[^\/]+/);return H}return E}(v(oe(Q))),this._locationStrategy.onPopState(Ce=>{this._subject.emit({url:this.path(!0),pop:!0,state:Ce.state,type:Ce.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(H=!1){return this.normalize(this._locationStrategy.path(H))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(H,Q=""){return this.path()==this.normalize(H+F(Q))}normalize(H){return E.stripTrailingSlash(function ae(E,te){if(!E||!te.startsWith(E))return te;const H=te.substring(E.length);return""===H||["/",";","?","#"].includes(H[0])?H:te}(this._basePath,oe(H)))}prepareExternalUrl(H){return H&&"/"!==H[0]&&(H="/"+H),this._locationStrategy.prepareExternalUrl(H)}go(H,Q="",Ce=null){this._locationStrategy.pushState(Ce,"",H,Q),this._notifyUrlChangeListeners(this.prepareExternalUrl(H+F(Q)),Ce)}replaceState(H,Q="",Ce=null){this._locationStrategy.replaceState(Ce,"",H,Q),this._notifyUrlChangeListeners(this.prepareExternalUrl(H+F(Q)),Ce)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(H=0){this._locationStrategy.historyGo?.(H)}onUrlChange(H){return this._urlChangeListeners.push(H),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(Q=>{this._notifyUrlChangeListeners(Q.url,Q.state)})),()=>{const Q=this._urlChangeListeners.indexOf(H);this._urlChangeListeners.splice(Q,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(H="",Q){this._urlChangeListeners.forEach(Ce=>Ce(H,Q))}subscribe(H,Q,Ce){return this._subject.subscribe({next:H,error:Q,complete:Ce})}static#e=this.normalizeQueryParams=F;static#t=this.joinWithSlash=D;static#n=this.stripTrailingSlash=v;static#o=this.\u0275fac=function(Q){return new(Q||E)(s.LFG(j))};static#r=this.\u0275prov=s.Yz7({token:E,factory:function(){return function ce(){return new K((0,s.LFG)(j))}()},providedIn:"root"})}return E})();function oe(E){return E.replace(/\/index.html$/,"")}function Xt(E,te){te=encodeURIComponent(te);for(const H of E.split(";")){const Q=H.indexOf("="),[Ce,at]=-1==Q?[H,""]:[H.slice(0,Q),H.slice(Q+1)];if(Ce.trim()===te)return decodeURIComponent(at)}return null}let Vt=(()=>{class E{constructor(H){this._viewContainerRef=H,this.ngComponentOutlet=null,this._inputsUsed=new Map}_needToReCreateNgModuleInstance(H){return void 0!==H.ngComponentOutletNgModule||void 0!==H.ngComponentOutletNgModuleFactory}_needToReCreateComponentInstance(H){return void 0!==H.ngComponentOutlet||void 0!==H.ngComponentOutletContent||void 0!==H.ngComponentOutletInjector||this._needToReCreateNgModuleInstance(H)}ngOnChanges(H){if(this._needToReCreateComponentInstance(H)&&(this._viewContainerRef.clear(),this._inputsUsed.clear(),this._componentRef=void 0,this.ngComponentOutlet)){const Q=this.ngComponentOutletInjector||this._viewContainerRef.parentInjector;this._needToReCreateNgModuleInstance(H)&&(this._moduleRef?.destroy(),this._moduleRef=this.ngComponentOutletNgModule?(0,s.Lck)(this.ngComponentOutletNgModule,dn(Q)):this.ngComponentOutletNgModuleFactory?this.ngComponentOutletNgModuleFactory.create(dn(Q)):void 0),this._componentRef=this._viewContainerRef.createComponent(this.ngComponentOutlet,{injector:Q,ngModuleRef:this._moduleRef,projectableNodes:this.ngComponentOutletContent})}}ngDoCheck(){if(this._componentRef){if(this.ngComponentOutletInputs)for(const H of Object.keys(this.ngComponentOutletInputs))this._inputsUsed.set(H,!0);this._applyInputStateDiff(this._componentRef)}}ngOnDestroy(){this._moduleRef?.destroy()}_applyInputStateDiff(H){for(const[Q,Ce]of this._inputsUsed)Ce?(H.setInput(Q,this.ngComponentOutletInputs[Q]),this._inputsUsed.set(Q,!1)):(H.setInput(Q,void 0),this._inputsUsed.delete(Q))}static#e=this.\u0275fac=function(Q){return new(Q||E)(s.Y36(s.s_b))};static#t=this.\u0275dir=s.lG2({type:E,selectors:[["","ngComponentOutlet",""]],inputs:{ngComponentOutlet:"ngComponentOutlet",ngComponentOutletInputs:"ngComponentOutletInputs",ngComponentOutletInjector:"ngComponentOutletInjector",ngComponentOutletContent:"ngComponentOutletContent",ngComponentOutletNgModule:"ngComponentOutletNgModule",ngComponentOutletNgModuleFactory:"ngComponentOutletNgModuleFactory"},standalone:!0,features:[s.TTD]})}return E})();function dn(E){return E.get(s.h0i).injector}class cn{constructor(te,H,Q,Ce){this.$implicit=te,this.ngForOf=H,this.index=Q,this.count=Ce}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 Tn=(()=>{class E{set ngForOf(H){this._ngForOf=H,this._ngForOfDirty=!0}set ngForTrackBy(H){this._trackByFn=H}get ngForTrackBy(){return this._trackByFn}constructor(H,Q,Ce){this._viewContainer=H,this._template=Q,this._differs=Ce,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(H){H&&(this._template=H)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const H=this._ngForOf;!this._differ&&H&&(this._differ=this._differs.find(H).create(this.ngForTrackBy))}if(this._differ){const H=this._differ.diff(this._ngForOf);H&&this._applyChanges(H)}}_applyChanges(H){const Q=this._viewContainer;H.forEachOperation((Ce,at,bt)=>{if(null==Ce.previousIndex)Q.createEmbeddedView(this._template,new cn(Ce.item,this._ngForOf,-1,-1),null===bt?void 0:bt);else if(null==bt)Q.remove(null===at?void 0:at);else if(null!==at){const ln=Q.get(at);Q.move(ln,bt),uo(ln,Ce)}});for(let Ce=0,at=Q.length;Ce{uo(Q.get(Ce.currentIndex),Ce)})}static ngTemplateContextGuard(H,Q){return!0}static#e=this.\u0275fac=function(Q){return new(Q||E)(s.Y36(s.s_b),s.Y36(s.Rgc),s.Y36(s.ZZ4))};static#t=this.\u0275dir=s.lG2({type:E,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return E})();function uo(E,te){E.context.$implicit=te.item}let So=(()=>{class E{constructor(H,Q){this._viewContainer=H,this._context=new On,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=Q}set ngIf(H){this._context.$implicit=this._context.ngIf=H,this._updateView()}set ngIfThen(H){Fo("ngIfThen",H),this._thenTemplateRef=H,this._thenViewRef=null,this._updateView()}set ngIfElse(H){Fo("ngIfElse",H),this._elseTemplateRef=H,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(H,Q){return!0}static#e=this.\u0275fac=function(Q){return new(Q||E)(s.Y36(s.s_b),s.Y36(s.Rgc))};static#t=this.\u0275dir=s.lG2({type:E,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return E})();class On{constructor(){this.$implicit=null,this.ngIf=null}}function Fo(E,te){if(te&&!te.createEmbeddedView)throw new Error(`${E} must be a TemplateRef, but received '${(0,s.AaK)(te)}'.`)}class Lo{constructor(te,H){this._viewContainerRef=te,this._templateRef=H,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(te){te&&!this._created?this.create():!te&&this._created&&this.destroy()}}let mo=(()=>{class E{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(H){this._ngSwitch=H,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(H){this._defaultViews.push(H)}_matchCase(H){const Q=H==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||Q,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),Q}_updateDefaultCases(H){if(this._defaultViews.length>0&&H!==this._defaultUsed){this._defaultUsed=H;for(const Q of this._defaultViews)Q.enforceState(H)}}static#e=this.\u0275fac=function(Q){return new(Q||E)};static#t=this.\u0275dir=s.lG2({type:E,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0})}return E})(),yr=(()=>{class E{constructor(H,Q,Ce){this.ngSwitch=Ce,Ce._addCase(),this._view=new Lo(H,Q)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}static#e=this.\u0275fac=function(Q){return new(Q||E)(s.Y36(s.s_b),s.Y36(s.Rgc),s.Y36(mo,9))};static#t=this.\u0275dir=s.lG2({type:E,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0})}return E})(),Qo=(()=>{class E{constructor(H){this._viewContainerRef=H,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(H){if(H.ngTemplateOutlet||H.ngTemplateOutletInjector){const Q=this._viewContainerRef;if(this._viewRef&&Q.remove(Q.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:Ce,ngTemplateOutletContext:at,ngTemplateOutletInjector:bt}=this;this._viewRef=Q.createEmbeddedView(Ce,at,bt?{injector:bt}:void 0)}else this._viewRef=null}else this._viewRef&&H.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}static#e=this.\u0275fac=function(Q){return new(Q||E)(s.Y36(s.s_b))};static#t=this.\u0275dir=s.lG2({type:E,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[s.TTD]})}return E})();class bn{createSubscription(te,H){return(0,s.rg0)(()=>te.subscribe({next:H,error:Q=>{throw Q}}))}dispose(te){(0,s.rg0)(()=>te.unsubscribe())}}class Ii{createSubscription(te,H){return te.then(H,Q=>{throw Q})}dispose(te){}}const To=new Ii,Xn=new bn;let Rr=(()=>{class E{constructor(H){this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null,this._ref=H}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(H){return this._obj?H!==this._obj?(this._dispose(),this.transform(H)):this._latestValue:(H&&this._subscribe(H),this._latestValue)}_subscribe(H){this._obj=H,this._strategy=this._selectStrategy(H),this._subscription=this._strategy.createSubscription(H,Q=>this._updateLatestValue(H,Q))}_selectStrategy(H){if((0,s.QGY)(H))return To;if((0,s.F4k)(H))return Xn;throw function tr(E,te){return new s.vHH(2100,!1)}()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(H,Q){H===this._obj&&(this._latestValue=Q,this._ref.markForCheck())}static#e=this.\u0275fac=function(Q){return new(Q||E)(s.Y36(s.sBO,16))};static#t=this.\u0275pipe=s.Yjl({name:"async",type:E,pure:!1,standalone:!0})}return E})(),Vr=(()=>{class E{constructor(H){this.differs=H,this.keyValues=[],this.compareFn=fi}transform(H,Q=fi){if(!H||!(H instanceof Map)&&"object"!=typeof H)return null;this.differ||(this.differ=this.differs.find(H).create());const Ce=this.differ.diff(H),at=Q!==this.compareFn;return Ce&&(this.keyValues=[],Ce.forEachItem(bt=>{this.keyValues.push(function hi(E,te){return{key:E,value:te}}(bt.key,bt.currentValue))})),(Ce||at)&&(this.keyValues.sort(Q),this.compareFn=Q),this.keyValues}static#e=this.\u0275fac=function(Q){return new(Q||E)(s.Y36(s.aQg,16))};static#t=this.\u0275pipe=s.Yjl({name:"keyvalue",type:E,pure:!1,standalone:!0})}return E})();function fi(E,te){const H=E.key,Q=te.key;if(H===Q)return 0;if(void 0===H)return 1;if(void 0===Q)return-1;if(null===H)return 1;if(null===Q)return-1;if("string"==typeof H&&"string"==typeof Q)return H{class E{static#e=this.\u0275fac=function(Q){return new(Q||E)};static#t=this.\u0275mod=s.oAB({type:E});static#n=this.\u0275inj=s.cJS({})}return E})();const Co="browser",ar="server";function dr(E){return E===Co}function Ni(E){return E===ar}let $r=(()=>{class E{static#e=this.\u0275prov=(0,s.Yz7)({token:E,providedIn:"root",factory:()=>new cr((0,s.LFG)(P),window)})}return E})();class cr{constructor(te,H){this.document=te,this.window=H,this.offset=()=>[0,0]}setOffset(te){this.offset=Array.isArray(te)?()=>te:te}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(te){this.supportsScrolling()&&this.window.scrollTo(te[0],te[1])}scrollToAnchor(te){if(!this.supportsScrolling())return;const H=function zr(E,te){const H=E.getElementById(te)||E.getElementsByName(te)[0];if(H)return H;if("function"==typeof E.createTreeWalker&&E.body&&"function"==typeof E.body.attachShadow){const Q=E.createTreeWalker(E.body,NodeFilter.SHOW_ELEMENT);let Ce=Q.currentNode;for(;Ce;){const at=Ce.shadowRoot;if(at){const bt=at.getElementById(te)||at.querySelector(`[name="${te}"]`);if(bt)return bt}Ce=Q.nextNode()}}return null}(this.document,te);H&&(this.scrollToElement(H),H.focus())}setHistoryScrollRestoration(te){this.supportsScrolling()&&(this.window.history.scrollRestoration=te)}scrollToElement(te){const H=te.getBoundingClientRect(),Q=H.left+this.window.pageXOffset,Ce=H.top+this.window.pageYOffset,at=this.offset();this.window.scrollTo(Q-at[0],Ce-at[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class hr{}},9862:(ve,_,d)=>{"use strict";d.d(_,{TP:()=>pt,Zn:()=>_e,eN:()=>ye,h_:()=>er});var s=d(5879),m=d(2096),o=d(9666),N=d(5592),L=d(6328),P=d(2181),R=d(7398),O=d(4716),x=d(4664),D=d(6814);class v{}class F{}class j{constructor(Ee){this.normalizedNames=new Map,this.lazyUpdate=null,Ee?"string"==typeof Ee?this.lazyInit=()=>{this.headers=new Map,Ee.split("\n").forEach(Ne=>{const dt=Ne.indexOf(":");if(dt>0){const Mt=Ne.slice(0,dt),ue=Mt.toLowerCase(),we=Ne.slice(dt+1).trim();this.maybeSetNormalizedName(Mt,ue),this.headers.has(ue)?this.headers.get(ue).push(we):this.headers.set(ue,[we])}})}:typeof Headers<"u"&&Ee instanceof Headers?(this.headers=new Map,Ee.forEach((Ne,dt)=>{this.setHeaderEntries(dt,Ne)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(Ee).forEach(([Ne,dt])=>{this.setHeaderEntries(Ne,dt)})}:this.headers=new Map}has(Ee){return this.init(),this.headers.has(Ee.toLowerCase())}get(Ee){this.init();const Ne=this.headers.get(Ee.toLowerCase());return Ne&&Ne.length>0?Ne[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(Ee){return this.init(),this.headers.get(Ee.toLowerCase())||null}append(Ee,Ne){return this.clone({name:Ee,value:Ne,op:"a"})}set(Ee,Ne){return this.clone({name:Ee,value:Ne,op:"s"})}delete(Ee,Ne){return this.clone({name:Ee,value:Ne,op:"d"})}maybeSetNormalizedName(Ee,Ne){this.normalizedNames.has(Ne)||this.normalizedNames.set(Ne,Ee)}init(){this.lazyInit&&(this.lazyInit instanceof j?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(Ee=>this.applyUpdate(Ee)),this.lazyUpdate=null))}copyFrom(Ee){Ee.init(),Array.from(Ee.headers.keys()).forEach(Ne=>{this.headers.set(Ne,Ee.headers.get(Ne)),this.normalizedNames.set(Ne,Ee.normalizedNames.get(Ne))})}clone(Ee){const Ne=new j;return Ne.lazyInit=this.lazyInit&&this.lazyInit instanceof j?this.lazyInit:this,Ne.lazyUpdate=(this.lazyUpdate||[]).concat([Ee]),Ne}applyUpdate(Ee){const Ne=Ee.name.toLowerCase();switch(Ee.op){case"a":case"s":let dt=Ee.value;if("string"==typeof dt&&(dt=[dt]),0===dt.length)return;this.maybeSetNormalizedName(Ee.name,Ne);const Mt=("a"===Ee.op?this.headers.get(Ne):void 0)||[];Mt.push(...dt),this.headers.set(Ne,Mt);break;case"d":const ue=Ee.value;if(ue){let we=this.headers.get(Ne);if(!we)return;we=we.filter(ht=>-1===ue.indexOf(ht)),0===we.length?(this.headers.delete(Ne),this.normalizedNames.delete(Ne)):this.headers.set(Ne,we)}else this.headers.delete(Ne),this.normalizedNames.delete(Ne)}}setHeaderEntries(Ee,Ne){const dt=(Array.isArray(Ne)?Ne:[Ne]).map(ue=>ue.toString()),Mt=Ee.toLowerCase();this.headers.set(Mt,dt),this.maybeSetNormalizedName(Ee,Mt)}forEach(Ee){this.init(),Array.from(this.normalizedNames.keys()).forEach(Ne=>Ee(this.normalizedNames.get(Ne),this.headers.get(Ne)))}}class U{encodeKey(Ee){return ae(Ee)}encodeValue(Ee){return ae(Ee)}decodeKey(Ee){return decodeURIComponent(Ee)}decodeValue(Ee){return decodeURIComponent(Ee)}}const K=/%(\d[a-f0-9])/gi,ce={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function ae(Ve){return encodeURIComponent(Ve).replace(K,(Ee,Ne)=>ce[Ne]??Ee)}function oe(Ve){return`${Ve}`}class Z{constructor(Ee={}){if(this.updates=null,this.cloneFrom=null,this.encoder=Ee.encoder||new U,Ee.fromString){if(Ee.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function G(Ve,Ee){const Ne=new Map;return Ve.length>0&&Ve.replace(/^\?/,"").split("&").forEach(Mt=>{const ue=Mt.indexOf("="),[we,ht]=-1==ue?[Ee.decodeKey(Mt),""]:[Ee.decodeKey(Mt.slice(0,ue)),Ee.decodeValue(Mt.slice(ue+1))],Qe=Ne.get(we)||[];Qe.push(ht),Ne.set(we,Qe)}),Ne}(Ee.fromString,this.encoder)}else Ee.fromObject?(this.map=new Map,Object.keys(Ee.fromObject).forEach(Ne=>{const dt=Ee.fromObject[Ne],Mt=Array.isArray(dt)?dt.map(oe):[oe(dt)];this.map.set(Ne,Mt)})):this.map=null}has(Ee){return this.init(),this.map.has(Ee)}get(Ee){this.init();const Ne=this.map.get(Ee);return Ne?Ne[0]:null}getAll(Ee){return this.init(),this.map.get(Ee)||null}keys(){return this.init(),Array.from(this.map.keys())}append(Ee,Ne){return this.clone({param:Ee,value:Ne,op:"a"})}appendAll(Ee){const Ne=[];return Object.keys(Ee).forEach(dt=>{const Mt=Ee[dt];Array.isArray(Mt)?Mt.forEach(ue=>{Ne.push({param:dt,value:ue,op:"a"})}):Ne.push({param:dt,value:Mt,op:"a"})}),this.clone(Ne)}set(Ee,Ne){return this.clone({param:Ee,value:Ne,op:"s"})}delete(Ee,Ne){return this.clone({param:Ee,value:Ne,op:"d"})}toString(){return this.init(),this.keys().map(Ee=>{const Ne=this.encoder.encodeKey(Ee);return this.map.get(Ee).map(dt=>Ne+"="+this.encoder.encodeValue(dt)).join("&")}).filter(Ee=>""!==Ee).join("&")}clone(Ee){const Ne=new Z({encoder:this.encoder});return Ne.cloneFrom=this.cloneFrom||this,Ne.updates=(this.updates||[]).concat(Ee),Ne}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(Ee=>this.map.set(Ee,this.cloneFrom.map.get(Ee))),this.updates.forEach(Ee=>{switch(Ee.op){case"a":case"s":const Ne=("a"===Ee.op?this.map.get(Ee.param):void 0)||[];Ne.push(oe(Ee.value)),this.map.set(Ee.param,Ne);break;case"d":if(void 0===Ee.value){this.map.delete(Ee.param);break}{let dt=this.map.get(Ee.param)||[];const Mt=dt.indexOf(oe(Ee.value));-1!==Mt&&dt.splice(Mt,1),dt.length>0?this.map.set(Ee.param,dt):this.map.delete(Ee.param)}}}),this.cloneFrom=this.updates=null)}}class q{constructor(){this.map=new Map}set(Ee,Ne){return this.map.set(Ee,Ne),this}get(Ee){return this.map.has(Ee)||this.map.set(Ee,Ee.defaultValue()),this.map.get(Ee)}delete(Ee){return this.map.delete(Ee),this}has(Ee){return this.map.has(Ee)}keys(){return this.map.keys()}}function ge(Ve){return typeof ArrayBuffer<"u"&&Ve instanceof ArrayBuffer}function Me(Ve){return typeof Blob<"u"&&Ve instanceof Blob}function Se(Ve){return typeof FormData<"u"&&Ve instanceof FormData}class Fe{constructor(Ee,Ne,dt,Mt){let ue;if(this.url=Ne,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=Ee.toUpperCase(),function ie(Ve){switch(Ve){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||Mt?(this.body=void 0!==dt?dt:null,ue=Mt):ue=dt,ue&&(this.reportProgress=!!ue.reportProgress,this.withCredentials=!!ue.withCredentials,ue.responseType&&(this.responseType=ue.responseType),ue.headers&&(this.headers=ue.headers),ue.context&&(this.context=ue.context),ue.params&&(this.params=ue.params)),this.headers||(this.headers=new j),this.context||(this.context=new q),this.params){const we=this.params.toString();if(0===we.length)this.urlWithParams=Ne;else{const ht=Ne.indexOf("?");this.urlWithParams=Ne+(-1===ht?"?":ht$t.set(Gt,Ee.setHeaders[Gt]),Qe)),Ee.setParams&&(gt=Object.keys(Ee.setParams).reduce(($t,Gt)=>$t.set(Gt,Ee.setParams[Gt]),gt)),new Fe(Ne,dt,ue,{params:gt,headers:Qe,context:Bt,reportProgress:ht,responseType:Mt,withCredentials:we})}}var ze=function(Ve){return Ve[Ve.Sent=0]="Sent",Ve[Ve.UploadProgress=1]="UploadProgress",Ve[Ve.ResponseHeader=2]="ResponseHeader",Ve[Ve.DownloadProgress=3]="DownloadProgress",Ve[Ve.Response=4]="Response",Ve[Ve.User=5]="User",Ve}(ze||{});class Je{constructor(Ee,Ne=200,dt="OK"){this.headers=Ee.headers||new j,this.status=void 0!==Ee.status?Ee.status:Ne,this.statusText=Ee.statusText||dt,this.url=Ee.url||null,this.ok=this.status>=200&&this.status<300}}class tt extends Je{constructor(Ee={}){super(Ee),this.type=ze.ResponseHeader}clone(Ee={}){return new tt({headers:Ee.headers||this.headers,status:void 0!==Ee.status?Ee.status:this.status,statusText:Ee.statusText||this.statusText,url:Ee.url||this.url||void 0})}}class _e extends Je{constructor(Ee={}){super(Ee),this.type=ze.Response,this.body=void 0!==Ee.body?Ee.body:null}clone(Ee={}){return new _e({body:void 0!==Ee.body?Ee.body:this.body,headers:Ee.headers||this.headers,status:void 0!==Ee.status?Ee.status:this.status,statusText:Ee.statusText||this.statusText,url:Ee.url||this.url||void 0})}}class Pe extends Je{constructor(Ee){super(Ee,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${Ee.url||"(unknown url)"}`:`Http failure response for ${Ee.url||"(unknown url)"}: ${Ee.status} ${Ee.statusText}`,this.error=Ee.error||null}}function Ie(Ve,Ee){return{body:Ee,headers:Ve.headers,context:Ve.context,observe:Ve.observe,params:Ve.params,reportProgress:Ve.reportProgress,responseType:Ve.responseType,withCredentials:Ve.withCredentials}}let ye=(()=>{class Ve{constructor(Ne){this.handler=Ne}request(Ne,dt,Mt={}){let ue;if(Ne instanceof Fe)ue=Ne;else{let Qe,gt;Qe=Mt.headers instanceof j?Mt.headers:new j(Mt.headers),Mt.params&&(gt=Mt.params instanceof Z?Mt.params:new Z({fromObject:Mt.params})),ue=new Fe(Ne,dt,void 0!==Mt.body?Mt.body:null,{headers:Qe,context:Mt.context,params:gt,reportProgress:Mt.reportProgress,responseType:Mt.responseType||"json",withCredentials:Mt.withCredentials})}const we=(0,m.of)(ue).pipe((0,L.b)(Qe=>this.handler.handle(Qe)));if(Ne instanceof Fe||"events"===Mt.observe)return we;const ht=we.pipe((0,P.h)(Qe=>Qe instanceof _e));switch(Mt.observe||"body"){case"body":switch(ue.responseType){case"arraybuffer":return ht.pipe((0,R.U)(Qe=>{if(null!==Qe.body&&!(Qe.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return Qe.body}));case"blob":return ht.pipe((0,R.U)(Qe=>{if(null!==Qe.body&&!(Qe.body instanceof Blob))throw new Error("Response is not a Blob.");return Qe.body}));case"text":return ht.pipe((0,R.U)(Qe=>{if(null!==Qe.body&&"string"!=typeof Qe.body)throw new Error("Response is not a string.");return Qe.body}));default:return ht.pipe((0,R.U)(Qe=>Qe.body))}case"response":return ht;default:throw new Error(`Unreachable: unhandled observe type ${Mt.observe}}`)}}delete(Ne,dt={}){return this.request("DELETE",Ne,dt)}get(Ne,dt={}){return this.request("GET",Ne,dt)}head(Ne,dt={}){return this.request("HEAD",Ne,dt)}jsonp(Ne,dt){return this.request("JSONP",Ne,{params:(new Z).append(dt,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(Ne,dt={}){return this.request("OPTIONS",Ne,dt)}patch(Ne,dt,Mt={}){return this.request("PATCH",Ne,Ie(Mt,dt))}post(Ne,dt,Mt={}){return this.request("POST",Ne,Ie(Mt,dt))}put(Ne,dt,Mt={}){return this.request("PUT",Ne,Ie(Mt,dt))}static#e=this.\u0275fac=function(dt){return new(dt||Ve)(s.LFG(v))};static#t=this.\u0275prov=s.Yz7({token:Ve,factory:Ve.\u0275fac})}return Ve})();function it(Ve,Ee){return Ee(Ve)}const pt=new s.OlP(""),tn=new s.OlP(""),qt=new s.OlP("");let In=(()=>{class Ve extends v{constructor(Ne,dt){super(),this.backend=Ne,this.injector=dt,this.chain=null,this.pendingTasks=(0,s.f3M)(s.HDt)}handle(Ne){if(null===this.chain){const Mt=Array.from(new Set([...this.injector.get(tn),...this.injector.get(qt,[])]));this.chain=Mt.reduceRight((ue,we)=>function jt(Ve,Ee,Ne){return(dt,Mt)=>Ne.runInContext(()=>Ee(dt,ue=>Ve(ue,Mt)))}(ue,we,this.injector),it)}const dt=this.pendingTasks.add();return this.chain(Ne,Mt=>this.backend.handle(Mt)).pipe((0,O.x)(()=>this.pendingTasks.remove(dt)))}static#e=this.\u0275fac=function(dt){return new(dt||Ve)(s.LFG(F),s.LFG(s.lqb))};static#t=this.\u0275prov=s.Yz7({token:Ve,factory:Ve.\u0275fac})}return Ve})();const ne=/^\)\]\}',?\n/;let Be=(()=>{class Ve{constructor(Ne){this.xhrFactory=Ne}handle(Ne){if("JSONP"===Ne.method)throw new s.vHH(-2800,!1);const dt=this.xhrFactory;return(dt.\u0275loadImpl?(0,o.D)(dt.\u0275loadImpl()):(0,m.of)(null)).pipe((0,x.w)(()=>new N.y(ue=>{const we=dt.build();if(we.open(Ne.method,Ne.urlWithParams),Ne.withCredentials&&(we.withCredentials=!0),Ne.headers.forEach((sn,mt)=>we.setRequestHeader(sn,mt.join(","))),Ne.headers.has("Accept")||we.setRequestHeader("Accept","application/json, text/plain, */*"),!Ne.headers.has("Content-Type")){const sn=Ne.detectContentTypeHeader();null!==sn&&we.setRequestHeader("Content-Type",sn)}if(Ne.responseType){const sn=Ne.responseType.toLowerCase();we.responseType="json"!==sn?sn:"text"}const ht=Ne.serializeBody();let Qe=null;const gt=()=>{if(null!==Qe)return Qe;const sn=we.statusText||"OK",mt=new j(we.getAllResponseHeaders()),Vt=function fe(Ve){return"responseURL"in Ve&&Ve.responseURL?Ve.responseURL:/^X-Request-URL:/m.test(Ve.getAllResponseHeaders())?Ve.getResponseHeader("X-Request-URL"):null}(we)||Ne.url;return Qe=new tt({headers:mt,status:we.status,statusText:sn,url:Vt}),Qe},Bt=()=>{let{headers:sn,status:mt,statusText:Vt,url:dn}=gt(),cn=null;204!==mt&&(cn=typeof we.response>"u"?we.responseText:we.response),0===mt&&(mt=cn?200:0);let Tn=mt>=200&&mt<300;if("json"===Ne.responseType&&"string"==typeof cn){const uo=cn;cn=cn.replace(ne,"");try{cn=""!==cn?JSON.parse(cn):null}catch(No){cn=uo,Tn&&(Tn=!1,cn={error:No,text:cn})}}Tn?(ue.next(new _e({body:cn,headers:sn,status:mt,statusText:Vt,url:dn||void 0})),ue.complete()):ue.error(new Pe({error:cn,headers:sn,status:mt,statusText:Vt,url:dn||void 0}))},$t=sn=>{const{url:mt}=gt(),Vt=new Pe({error:sn,status:we.status||0,statusText:we.statusText||"Unknown Error",url:mt||void 0});ue.error(Vt)};let Gt=!1;const Xt=sn=>{Gt||(ue.next(gt()),Gt=!0);let mt={type:ze.DownloadProgress,loaded:sn.loaded};sn.lengthComputable&&(mt.total=sn.total),"text"===Ne.responseType&&we.responseText&&(mt.partialText=we.responseText),ue.next(mt)},an=sn=>{let mt={type:ze.UploadProgress,loaded:sn.loaded};sn.lengthComputable&&(mt.total=sn.total),ue.next(mt)};return we.addEventListener("load",Bt),we.addEventListener("error",$t),we.addEventListener("timeout",$t),we.addEventListener("abort",$t),Ne.reportProgress&&(we.addEventListener("progress",Xt),null!==ht&&we.upload&&we.upload.addEventListener("progress",an)),we.send(ht),ue.next({type:ze.Sent}),()=>{we.removeEventListener("error",$t),we.removeEventListener("abort",$t),we.removeEventListener("load",Bt),we.removeEventListener("timeout",$t),Ne.reportProgress&&(we.removeEventListener("progress",Xt),null!==ht&&we.upload&&we.upload.removeEventListener("progress",an)),we.readyState!==we.DONE&&we.abort()}})))}static#e=this.\u0275fac=function(dt){return new(dt||Ve)(s.LFG(D.JF))};static#t=this.\u0275prov=s.Yz7({token:Ve,factory:Ve.\u0275fac})}return Ve})();const qe=new s.OlP("XSRF_ENABLED"),_t=new s.OlP("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),Ut=new s.OlP("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class nn{}let wn=(()=>{class Ve{constructor(Ne,dt,Mt){this.doc=Ne,this.platform=dt,this.cookieName=Mt,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const Ne=this.doc.cookie||"";return Ne!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,D.Mx)(Ne,this.cookieName),this.lastCookieString=Ne),this.lastToken}static#e=this.\u0275fac=function(dt){return new(dt||Ve)(s.LFG(D.K0),s.LFG(s.Lbi),s.LFG(_t))};static#t=this.\u0275prov=s.Yz7({token:Ve,factory:Ve.\u0275fac})}return Ve})();function Oo(Ve,Ee){const Ne=Ve.url.toLowerCase();if(!(0,s.f3M)(qe)||"GET"===Ve.method||"HEAD"===Ve.method||Ne.startsWith("http://")||Ne.startsWith("https://"))return Ee(Ve);const dt=(0,s.f3M)(nn).getToken(),Mt=(0,s.f3M)(Ut);return null!=dt&&!Ve.headers.has(Mt)&&(Ve=Ve.clone({headers:Ve.headers.set(Mt,dt)})),Ee(Ve)}function er(...Ve){const Ee=[ye,Be,In,{provide:v,useExisting:In},{provide:F,useExisting:Be},{provide:tn,useValue:Oo,multi:!0},{provide:qe,useValue:!0},{provide:nn,useClass:wn}];for(const Ne of Ve)Ee.push(...Ne.\u0275providers);return(0,s.MR2)(Ee)}},5879:(ve,_,d)=>{"use strict";d.d(_,{$8M:()=>Cu,$WT:()=>ao,$Z:()=>u,AFp:()=>Ha,ALo:()=>hy,AaK:()=>F,BQk:()=>Hf,CHM:()=>Ts,CRH:()=>Py,DdM:()=>ry,Dn7:()=>py,EEQ:()=>xi,EJc:()=>zD,EiD:()=>zh,EpF:()=>b_,F$t:()=>T_,F4k:()=>D_,FYo:()=>lf,FiY:()=>cl,Flj:()=>ft,Gf:()=>Ty,GfV:()=>Kp,GkF:()=>I1,Gpc:()=>U,GuJ:()=>$t,HDt:()=>qy,Hsn:()=>x_,JOm:()=>fl,JVY:()=>wp,JZr:()=>oe,KtG:()=>qa,L6k:()=>Mp,LAX:()=>Sp,LFG:()=>on,LSH:()=>Tl,Lbi:()=>Oc,Lck:()=>R8,MAs:()=>v_,MMx:()=>Qv,MR2:()=>Pl,NdJ:()=>R1,O4$:()=>ya,Ojb:()=>Vp,OlP:()=>_t,Oqu:()=>U1,P3R:()=>Yh,PXZ:()=>y9,Q6J:()=>x1,QGY:()=>N1,QbO:()=>Hp,Qsj:()=>uf,R0b:()=>Ir,RDi:()=>_p,Rgc:()=>Ad,SBq:()=>jl,Sil:()=>YD,Suo:()=>xy,TTD:()=>jn,TgZ:()=>Lf,Tol:()=>G_,Udp:()=>j1,VKq:()=>iy,VuI:()=>t6,W1O:()=>Ry,WLB:()=>sy,X6Q:()=>S9,XFs:()=>Re,Xpm:()=>Ii,Xq5:()=>n_,Xts:()=>La,Y36:()=>i,YKP:()=>Zv,YNc:()=>p_,Yjl:()=>Qt,Yz7:()=>pt,Z0I:()=>In,ZZ4:()=>Dm,_Bn:()=>Yv,_UZ:()=>A1,_Vd:()=>Nc,_c5:()=>$9,_uU:()=>q_,aQg:()=>Em,c2e:()=>Jy,cEC:()=>$0,cJS:()=>qt,cg1:()=>z1,d8E:()=>$1,dDg:()=>p9,dqk:()=>Be,eBb:()=>Op,eFA:()=>u2,eJc:()=>sm,ekj:()=>H1,eoX:()=>s2,evT:()=>$l,f3M:()=>un,g9A:()=>qh,gHi:()=>Hl,h0i:()=>Uc,hGG:()=>z9,hij:()=>$f,iGM:()=>Sy,ifc:()=>we,ip1:()=>Xy,jDz:()=>Xv,kL8:()=>yv,kcU:()=>Bd,ktI:()=>Is,lG2:()=>Zt,lcZ:()=>fy,lqb:()=>Pi,lri:()=>o2,mCW:()=>Ol,n5z:()=>Kd,n_E:()=>Zf,oAB:()=>Xo,oJD:()=>Wh,oxw:()=>S_,pB0:()=>Tp,q3G:()=>sa,qFp:()=>o6,qLn:()=>Cs,qOj:()=>b1,qZA:()=>Bf,qzn:()=>ia,rWj:()=>r2,r_H:()=>Xp,rg0:()=>at,sBO:()=>T9,s_b:()=>Xf,soG:()=>qf,tb:()=>mm,tdS:()=>Bo,tp0:()=>ll,uIk:()=>E1,vHH:()=>Z,vpe:()=>bs,wAp:()=>ou,xi3:()=>gy,xp6:()=>a,ynx:()=>jf,z2F:()=>au,z3N:()=>zs,zSh:()=>wc,zW0:()=>J0,zs3:()=>ds});var s=d(8645),m=d(7394),o=d(5592),N=d(3019),L=d(5619),P=d(2096),R=d(3020),O=d(4664),x=d(3997);function D(e){for(let t in e)if(e[t]===D)return t;throw Error("Could not find renamed property on target object.")}function v(e,t){for(const n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function F(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(F).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 n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function j(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const V=D({__forward_ref__:D});function U(e){return e.__forward_ref__=U,e.toString=function(){return F(this())},e}function G(e){return K(e)?e():e}function K(e){return"function"==typeof e&&e.hasOwnProperty(V)&&e.__forward_ref__===U}function ce(e){return e&&!!e.\u0275providers}const oe="https://g.co/ng/security#xss";class Z extends Error{constructor(t,n){super(function J(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,n)),this.code=t}}function q(e){return"string"==typeof e?e:null==e?"":String(e)}function Ae(e,t){throw new Z(-201,!1)}function rt(e,t){null==e&&function De(e,t,n,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${n} ${r} ${t} <=Actual]`))}(t,e,null,"!=")}function pt(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function qt(e){return{providers:e.providers||[],imports:e.imports||[]}}function _n(e){return no(e,Un)||no(e,Ao)}function In(e){return null!==_n(e)}function no(e,t){return e.hasOwnProperty(t)?e[t]:null}function ko(e){return e&&(e.hasOwnProperty($n)||e.hasOwnProperty(Io))?e[$n]:null}const Un=D({\u0275prov:D}),$n=D({\u0275inj:D}),Ao=D({ngInjectableDef:D}),Io=D({ngInjectorDef:D});var Re=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}(Re||{});let $e;function Oe(){return $e}function $(e){const t=$e;return $e=e,t}function ne(e,t,n){const r=_n(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:n&Re.Optional?null:void 0!==t?t:void Ae(F(e))}const Be=globalThis;class _t{constructor(t,n){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof n?this.__NG_ELEMENT_ID__=n:void 0!==n&&(this.\u0275prov=pt({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Te={},et="__NG_DI_FLAG__",Pt="ngTempTokenPath",Xe=/\n/gm,de="__source";let pe;function Et(e){const t=pe;return pe=e,t}function Ht(e,t=Re.Default){if(void 0===pe)throw new Z(-203,!1);return null===pe?ne(e,void 0,t):pe.get(e,t&Re.Optional?null:void 0,t)}function on(e,t=Re.Default){return(Oe()||Ht)(G(e),t)}function un(e,t=Re.Default){return on(e,io(t))}function io(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function so(e){const t=[];for(let n=0;nt){p=h-1;break}}}for(;hh?"":c[me+1].toLowerCase();const Ye=8&r?ke:null;if(Ye&&-1!==mt(Ye,W,0)||2&r&&W!==ke){if(mo(r))return!1;p=!0}}}}else{if(!p&&!mo(r)&&!mo(S))return!1;if(p&&mo(S))continue;p=!1,r=S|1&r}}return mo(r)||p}function mo(e){return 0==(1&e)}function yr(e,t,n,r){if(null===t)return-1;let c=0;if(r||!n){let h=!1;for(;c-1)for(n++;n0?'="'+C+'"':"")+"]"}else 8&r?c+="."+p:4&r&&(c+=" "+p);else""!==c&&!mo(p)&&(t+=Qo(h,c),c=""),r=p,h=h||!mo(r);n++}return""!==c&&(t+=Qo(h,c)),t}function Ii(e){return Mt(()=>{const t=ui(e),n={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===ue.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||we.Emulated,styles:e.styles||Qe,_:null,schemas:e.schemas||null,tView:null,id:""};di(n);const r=e.dependencies;return n.directiveDefs=hi(r,!1),n.pipeDefs=hi(r,!0),n.id=function fi(e){let t=0;const n=[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 c of n)t=Math.imul(31,t)+c.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(n),n})}function Xn(e){return Wt(e)||vn(e)}function Rr(e){return null!==e}function Xo(e){return Mt(()=>({type:e.type,bootstrap:e.bootstrap||Qe,declarations:e.declarations||Qe,imports:e.imports||Qe,exports:e.exports||Qe,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function wi(e,t){if(null==e)return ht;const n={};for(const r in e)if(e.hasOwnProperty(r)){let c=e[r],h=c;Array.isArray(c)&&(h=c[1],c=c[0]),n[c]=r,t&&(t[c]=h)}return n}function Zt(e){return Mt(()=>{const t=ui(e);return di(t),t})}function Qt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function Wt(e){return e[gt]||null}function vn(e){return e[Bt]||null}function Bn(e){return e[$t]||null}function ao(e){const t=Wt(e)||vn(e)||Bn(e);return null!==t&&t.standalone}function ho(e,t){const n=e[Gt]||null;if(!n&&!0===t)throw new Error(`Type ${F(e)} does not have '\u0275mod' property.`);return n}function ui(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||ht,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Qe,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:wi(e.inputs,t),outputs:wi(e.outputs)}}function di(e){e.features?.forEach(t=>t(e))}function hi(e,t){if(!e)return null;const n=t?Bn:Xn;return()=>("function"==typeof e?e():e).map(r=>n(r)).filter(Rr)}const _o=0,zt=1,Mn=2,Yn=3,nr=4,or=5,Uo=6,Cr=7,Co=8,ar=9,Ur=10,Dn=11,dr=12,Ni=13,gi=14,fo=15,Mi=16,$r=17,cr=18,zr=19,Gi=20,hr=21,lr=22,Wr=23,fr=24,Rn=25,gr=1,Ri=2,ur=7,$o=9,wo=11;function Yo(e){return Array.isArray(e)&&"object"==typeof e[gr]}function oo(e){return Array.isArray(e)&&!0===e[gr]}function br(e){return 0!=(4&e.flags)}function pr(e){return e.componentOffset>-1}function Oi(e){return 1==(1&e.flags)}function Zo(e){return!!e.template}function qr(e){return 0!=(512&e[Mn])}function Tt(e,t){return e.hasOwnProperty(Xt)?e[Xt]:null}const xt=Symbol("SIGNAL");function mn(e,t){return(null===e||"object"!=typeof e)&&Object.is(e,t)}let Jt=null,yn=!1;function ro(e){const t=Jt;return Jt=e,t}const co={version:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{}};function Dr(e){if(yn)throw new Error("");if(null===Jt)return;const t=Jt.nextProducerIndex++;ri(Jt),te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function Ci(e){ri(e);for(let t=0;t0}function ri(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}function js(e){e.liveConsumerNode??=[],e.liveConsumerIndexOfThis??=[]}function ft(e,t){const n=Object.create(kn);n.computation=e,t?.equal&&(n.equal=t.equal);const r=()=>{if(Sn(n),Dr(n),n.value===pn)throw n.error;return n.value};return r[xt]=n,r}const hn=Symbol("UNSET"),Ft=Symbol("COMPUTING"),pn=Symbol("ERRORED"),kn=(()=>({...co,value:hn,dirty:!0,error:null,equal:mn,producerMustRecompute:e=>e.value===hn||e.value===Ft,producerRecomputeValue(e){if(e.value===Ft)throw new Error("Detected cycle in computations.");const t=e.value;e.value=Ft;const n=oi(e);let r;try{r=e.computation()}catch(c){r=pn,e.error=c}finally{rr(e,n)}t!==hn&&t!==pn&&r!==pn&&e.equal(t,r)?e.value=t:(e.value=r,e.version++)}}))();let Gn=function Wn(){throw new Error};function go(){Gn()}let Sr=null;function Bo(e,t){const n=Object.create(ii);function r(){return Dr(n),n.value}return n.value=e,t?.equal&&(n.equal=t.equal),r.set=te,r.update=H,r.mutate=Q,r.asReadonly=Ce,r[xt]=n,r}const ii=(()=>({...co,equal:mn,readonlyFn:void 0}))();function E(e){e.version++,ti(e),Sr?.()}function te(e){const t=this[xt];ni()||go(),t.equal(t.value,e)||(t.value=e,E(t))}function H(e){ni()||go(),te.call(this,e(this[xt].value))}function Q(e){const t=this[xt];ni()||go(),e(t.value),E(t)}function Ce(){const e=this[xt];if(void 0===e.readonlyFn){const t=()=>this();t[xt]=e,e.readonlyFn=t}return e.readonlyFn}function at(e){const t=ro(null);try{return e()}finally{ro(t)}}const ln=()=>{},po=(()=>({...co,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:ln}))();class eo{constructor(t,n,r){this.previousValue=t,this.currentValue=n,this.firstChange=r}isFirstChange(){return this.firstChange}}function jn(){return Ko}function Ko(e){return e.type.prototype.ngOnChanges&&(e.setInput=ir),bo}function bo(){const e=Gr(this),t=e?.current;if(t){const n=e.previous;if(n===ht)e.previous=t;else for(let r in t)n[r]=t[r];e.current=null,this.ngOnChanges(t)}}function ir(e,t,n,r){const c=this.declaredInputs[n],h=Gr(e)||function ps(e,t){return e[Ti]=t}(e,{previous:ht,current:null}),p=h.current||(h.current={}),C=h.previous,S=C[c];p[c]=new eo(S&&S.currentValue,t,C===ht),e[r]=t}jn.ngInherit=!0;const Ti="__ngSimpleChanges__";function Gr(e){return e[Ti]||null}const mr=function(e,t,n){},Fi="svg";function xo(e){for(;Array.isArray(e);)e=e[_o];return e}function Tr(e,t){return xo(t[e])}function Lr(e,t){return xo(t[e.index])}function Os(e,t){return e.data[t]}function as(e,t){return e[t]}function Er(e,t){const n=t[e];return Yo(n)?n:n[_o]}function Li(e,t){return null==t?null:e[t]}function Bi(e){e[$r]=0}function wr(e){1024&e[Mn]||(e[Mn]|=1024,Xa(e,1))}function Kr(e){1024&e[Mn]&&(e[Mn]&=-1025,Xa(e,-1))}function Xa(e,t){let n=e[Yn];if(null===n)return;n[or]+=t;let r=n;for(n=n[Yn];null!==n&&(1===t&&1===r[or]||-1===t&&0===r[or]);)n[or]+=t,r=n,n=n[Yn]}function Zi(e,t){if(256==(256&e[Mn]))throw new Z(911,!1);null===e[hr]&&(e[hr]=[]),e[hr].push(t)}const Pn={lFrame:Ln(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function ea(){return Pn.bindingsEnabled}function Hs(){return null!==Pn.skipHydrationRootTNode}function Ot(){return Pn.lFrame.lView}function to(){return Pn.lFrame.tView}function Ts(e){return Pn.lFrame.contextLView=e,e[Co]}function qa(e){return Pn.lFrame.contextLView=null,e}function xr(){let e=Yc();for(;null!==e&&64===e.type;)e=e.parent;return e}function Yc(){return Pn.lFrame.currentTNode}function ji(e,t){const n=Pn.lFrame;n.currentTNode=e,n.isParent=t}function Vs(){return Pn.lFrame.isParent}function _a(){Pn.lFrame.isParent=!1}function Xr(){const e=Pn.lFrame;let t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function ta(){return Pn.lFrame.bindingIndex++}function _s(e){const t=Pn.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function b(e,t){const n=Pn.lFrame;n.bindingIndex=n.bindingRootIndex=e,y(t)}function y(e){Pn.lFrame.currentDirectiveIndex=e}function A(e){const t=Pn.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}function z(){return Pn.lFrame.currentQueryIndex}function se(e){Pn.lFrame.currentQueryIndex=e}function be(e){const t=e[zt];return 2===t.type?t.declTNode:1===t.type?e[Uo]:null}function st(e,t,n){if(n&Re.SkipSelf){let c=t,h=e;for(;!(c=c.parent,null!==c||n&Re.Host||(c=be(h),null===c||(h=h[gi],10&c.type))););if(null===c)return!1;t=c,e=h}const r=Pn.lFrame=Yt();return r.currentTNode=t,r.lView=e,!0}function nt(e){const t=Yt(),n=e[zt];Pn.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function Yt(){const e=Pn.lFrame,t=null===e?null:e.child;return null===t?Ln(e):t}function Ln(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 Po(){const e=Pn.lFrame;return Pn.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const lo=Po;function Ki(){const e=Po();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 Pr(){return Pn.lFrame.selectedIndex}function At(e){Pn.lFrame.selectedIndex=e}function qo(){const e=Pn.lFrame;return Os(e.tView,e.selectedIndex)}function ya(){Pn.lFrame.currentNamespace=Fi}function Bd(){!function cg(){Pn.lFrame.currentNamespace=null}()}let Hd=!0;function Kc(){return Hd}function Us(e){Hd=e}function Xc(e,t){for(let n=t.directiveStart,r=t.directiveEnd;n=r)break}else t[S]<0&&(e[$r]+=65536),(C>13>16&&(3&e[Mn])===t&&(e[Mn]+=8192,_r(C,h)):_r(C,h)}const ba=-1;class nc{constructor(t,n,r){this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=r}}function mu(e){return e!==ba}function oc(e){return 32767&e}function rc(e,t){let n=function Vd(e){return e>>16}(e),r=t;for(;n>0;)r=r[gi],n--;return r}let _u=!0;function ic(e){const t=_u;return _u=e,t}const Ud=255,sc=5;let pg=0;const vs={};function qc(e,t){const n=$d(e,t);if(-1!==n)return n;const r=t[zt];r.firstCreatePass&&(e.injectorIndex=t.length,el(r.data,e),el(t,null),el(r.blueprint,null));const c=tl(e,t),h=e.injectorIndex;if(mu(c)){const p=oc(c),C=rc(c,t),S=C[zt].data;for(let W=0;W<8;W++)t[h+W]=C[p+W]|S[p+W]}return t[h+8]=c,h}function el(e,t){e.push(0,0,0,0,0,0,0,0,t)}function $d(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function tl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let n=0,r=null,c=t;for(;null!==c;){if(r=Xd(c),null===r)return ba;if(n++,c=c[gi],-1!==r.injectorIndex)return r.injectorIndex|n<<16}return ba}function Da(e,t,n){!function mg(e,t,n){let r;"string"==typeof n?r=n.charCodeAt(0)||0:n.hasOwnProperty(an)&&(r=n[an]),null==r&&(r=n[an]=pg++);const c=r&Ud;t.data[e+(c>>sc)]|=1<=0?t&Ud:Cg:t}(n);if("function"==typeof h){if(!st(t,e,r))return r&Re.Host?Ea(c,0,r):zd(t,n,r,c);try{let p;if(p=h(r),null!=p||r&Re.Optional)return p;Ae()}finally{lo()}}else if("number"==typeof h){let p=null,C=$d(e,t),S=ba,W=r&Re.Host?t[fo][Uo]:null;for((-1===C||r&Re.SkipSelf)&&(S=-1===C?tl(e,t):t[C+8],S!==ba&&Zd(r,!1)?(p=t[zt],C=oc(S),t=rc(S,t)):C=-1);-1!==C;){const re=t[zt];if(Yd(h,C,re.data)){const me=_g(C,t,n,p,r,W);if(me!==vs)return me}S=t[C+8],S!==ba&&Zd(r,t[zt].data[C+8]===W)&&Yd(h,C,t)?(p=re,C=oc(S),t=rc(S,t)):C=-1}}return c}function _g(e,t,n,r,c,h){const p=t[zt],C=p.data[e+8],re=nl(C,p,n,null==r?pr(C)&&_u:r!=p&&0!=(3&C.type),c&Re.Host&&h===C);return null!==re?na(t,p,re,C):vs}function nl(e,t,n,r,c){const h=e.providerIndexes,p=t.data,C=1048575&h,S=e.directiveStart,re=h>>20,ke=c?C+re:e.directiveEnd;for(let Ye=r?C:C+re;Ye=S&&vt.type===n)return Ye}if(c){const Ye=p[S];if(Ye&&Zo(Ye)&&Ye.type===n)return S}return null}function na(e,t,n,r){let c=e[n];const h=t.data;if(function ug(e){return e instanceof nc}(c)){const p=c;p.resolving&&function ge(e,t){const n=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new Z(-200,`Circular dependency in DI detected for ${e}${n}`)}(function ie(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():q(e)}(h[n]));const C=ic(p.canSeeViewProviders);p.resolving=!0;const W=p.injectImpl?$(p.injectImpl):null;st(e,r,Re.Default);try{c=e[n]=p.factory(void 0,h,e,r),t.firstCreatePass&&n>=r.directiveStart&&function Qc(e,t,n){const{ngOnChanges:r,ngOnInit:c,ngDoCheck:h}=t.type.prototype;if(r){const p=Ko(t);(n.preOrderHooks??=[]).push(e,p),(n.preOrderCheckHooks??=[]).push(e,p)}c&&(n.preOrderHooks??=[]).push(0-e,c),h&&((n.preOrderHooks??=[]).push(e,h),(n.preOrderCheckHooks??=[]).push(e,h))}(n,h[n],t)}finally{null!==W&&$(W),ic(C),p.resolving=!1,lo()}}return c}function Yd(e,t,n){return!!(n[t+(e>>sc)]&1<{const t=e.prototype.constructor,n=t[Xt]||yu(t),r=Object.prototype;let c=Object.getPrototypeOf(e.prototype).constructor;for(;c&&c!==r;){const h=c[Xt]||yu(c);if(h&&h!==n)return h;c=Object.getPrototypeOf(c)}return h=>new h})}function yu(e){return K(e)?()=>{const t=yu(G(e));return t&&t()}:Tt(e)}function Xd(e){const t=e[zt],n=t.type;return 2===n?t.declTNode:1===n?e[Uo]:null}function Cu(e){return function vu(e,t){if("class"===t)return e.classes;if("style"===t)return e.styles;const n=e.attrs;if(n){const r=n.length;let c=0;for(;c{const r=function bu(e){return function(...n){if(e){const r=e(...n);for(const c in r)this[c]=r[c]}}}(t);function c(...h){if(this instanceof c)return r.apply(this,h),this;const p=new c(...h);return C.annotation=p,C;function C(S,W,re){const me=S.hasOwnProperty(Ma)?S[Ma]:Object.defineProperty(S,Ma,{value:[]})[Ma];for(;me.length<=re;)me.push(null);return(me[re]=me[re]||[]).push(p),S}}return n&&(c.prototype=Object.create(n.prototype)),c.prototype.ngMetadataName=e,c.annotationCls=c,c})}function xa(e,t){e.forEach(n=>Array.isArray(n)?xa(n,t):t(n))}function qd(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function ol(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function lc(e,t){const n=[];for(let r=0;r=0?e[1|r]=n:(r=~r,function rl(e,t,n,r){let c=e.length;if(c==t)e.push(n,r);else if(1===c)e.push(r,e[0]),e[0]=n;else{for(c--,e.push(e[c-1],e[c]);c>t;)e[c]=e[c-2],c--;e[t]=n,e[t+1]=r}}(e,r,t,n)),r}function il(e,t){const n=Pa(e,t);if(n>=0)return e[1|n]}function Pa(e,t){return function sl(e,t,n){let r=0,c=e.length>>n;for(;c!==r;){const h=r+(c-r>>1),p=e[h<t?c=h:r=h+1}return~(c<|^->||--!>|)/g,Ug="\u200b$1\u200b";const Tu=new Map;let $g=0;function gh(e){return Tu.get(e)||null}class f0{get lView(){return gh(this.lViewId)}constructor(t,n,r){this.lViewId=t,this.nodeIndex=n,this.native=r}}function xi(e){let t=pc(e);if(t){if(Yo(t)){const n=t;let r,c,h;if(_h(e)){if(r=function yh(e,t){const n=e[zt].components;if(n)for(let r=0;r=0){const C=xo(h[p]),S=gl(h,p,C);si(C,S),t=S;break}}}}return t||null}function gl(e,t,n){return new f0(e[zr],t,n)}const xu="__ngContext__";function si(e,t){Yo(t)?(e[xu]=t[zr],function Wg(e){Tu.set(e[zr],e)}(t)):e[xu]=t}function pc(e){const t=e[xu];return"number"==typeof t?gh(t):t||null}function _h(e){return e&&e.constructor&&e.constructor.\u0275cmp}function vh(e,t){const n=e[zt];for(let r=Rn;rt.replace(Vg,Ug))}(t))}function ml(e,t,n){return e.createElement(t,n)}function Mh(e,t){const n=e[$o],r=n.indexOf(t);Kr(t),n.splice(r,1)}function _l(e,t){if(e.length<=wo)return;const n=wo+t,r=e[n];if(r){const c=r[Mi];null!==c&&c!==e&&Mh(c,r),t>0&&(e[n-1][nr]=r[nr]);const h=ol(e,wo+t);!function tp(e,t){yc(e,t,t[Dn],2,null,null),t[_o]=null,t[Uo]=null}(r[zt],r);const p=h[cr];null!==p&&p.detachView(h[zt]),r[Yn]=null,r[nr]=null,r[Mn]&=-129}return r}function Iu(e,t){if(!(256&t[Mn])){const n=t[Dn];t[Wr]&&Yi(t[Wr]),t[fr]&&Yi(t[fr]),n.destroyNode&&yc(e,t,n,3,null,null),function rp(e){let t=e[dr];if(!t)return Nu(e[zt],e);for(;t;){let n=null;if(Yo(t))n=t[dr];else{const r=t[wo];r&&(n=r)}if(!n){for(;t&&!t[nr]&&t!==e;)Yo(t)&&Nu(t[zt],t),t=t[Yn];null===t&&(t=e),Yo(t)&&Nu(t[zt],t),n=t&&t[nr]}t=n}}(t)}}function Nu(e,t){if(!(256&t[Mn])){t[Mn]&=-129,t[Mn]|=256,function cp(e,t){let n;if(null!=e&&null!=(n=e.destroyHooks))for(let r=0;r=0?r[p]():r[-p].unsubscribe(),h+=2}else n[h].call(r[n[h+1]]);null!==r&&(t[Cr]=null);const c=t[hr];if(null!==c){t[hr]=null;for(let h=0;h-1){const{encapsulation:h}=e.data[r.directiveStart+c];if(h===we.None||h===we.Emulated)return null}return Lr(r,n)}}(e,t.parent,n)}function oa(e,t,n,r,c){e.insertBefore(t,n,r,c)}function Sh(e,t,n){e.appendChild(t,n)}function Th(e,t,n,r,c){null!==r?oa(e,t,n,r,c):Sh(e,t,n)}function Ra(e,t){return e.parentNode(t)}function xh(e,t,n){return Ah(e,t,n)}let Fu,bl,Hu,Dl,Ah=function Ph(e,t,n){return 40&e.type?Lr(e,n):null};function vl(e,t,n,r){const c=Ru(e,r,t),h=t[Dn],C=xh(r.parent||t[Uo],r,t);if(null!=c)if(Array.isArray(n))for(let S=0;Se,createScript:e=>e,createScriptURL:e=>e})}catch{}return bl}()?.createHTML(e)||e}function _p(e){Hu=e}function Fa(){if(void 0!==Hu)return Hu;if(typeof document<"u")return document;throw new Z(210,!1)}function El(){if(void 0===Dl&&(Dl=null,Be.trustedTypes))try{Dl=Be.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Dl}function Lh(e){return El()?.createHTML(e)||e}function Ml(e){return El()?.createScriptURL(e)||e}class ra{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${oe})`}}class vp extends ra{getTypeName(){return"HTML"}}class yp extends ra{getTypeName(){return"Style"}}class Cp extends ra{getTypeName(){return"Script"}}class bp extends ra{getTypeName(){return"URL"}}class Dp extends ra{getTypeName(){return"ResourceURL"}}function zs(e){return e instanceof ra?e.changingThisBreaksApplicationSecurity:e}function ia(e,t){const n=function Ep(e){return e instanceof ra&&e.getTypeName()||null}(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${n} (see ${oe})`)}return n===t}function wp(e){return new vp(e)}function Mp(e){return new yp(e)}function Op(e){return new Cp(e)}function Sp(e){return new bp(e)}function Tp(e){return new Dp(e)}class xp{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const n=(new window.DOMParser).parseFromString(ka(t),"text/html").body;return null===n?this.inertDocumentHelper.getInertBodyElement(t):(n.removeChild(n.firstChild),n)}catch{return null}}}class Pp{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const n=this.inertDocument.createElement("template");return n.innerHTML=ka(t),n}}const m0=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Ol(e){return(e=String(e)).match(m0)?e:"unsafe:"+e}function Ps(e){const t={};for(const n of e.split(","))t[n]=!0;return t}function Cc(...e){const t={};for(const n of e)for(const r in n)n.hasOwnProperty(r)&&(t[r]=!0);return t}const jh=Ps("area,br,col,hr,img,wbr"),Hh=Ps("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Vh=Ps("rp,rt"),Vu=Cc(jh,Cc(Hh,Ps("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")),Cc(Vh,Ps("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")),Cc(Vh,Hh)),Uu=Ps("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Uh=Cc(Uu,Ps("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"),Ps("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")),Ip=Ps("script,style,template");class Np{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let n=t.firstChild,r=!0;for(;n;)if(n.nodeType===Node.ELEMENT_NODE?r=this.startElement(n):n.nodeType===Node.TEXT_NODE?this.chars(n.nodeValue):this.sanitizedSomething=!0,r&&n.firstChild)n=n.firstChild;else for(;n;){n.nodeType===Node.ELEMENT_NODE&&this.endElement(n);let c=this.checkClobberedElement(n,n.nextSibling);if(c){n=c;break}n=this.checkClobberedElement(n,n.parentNode)}return this.buf.join("")}startElement(t){const n=t.nodeName.toLowerCase();if(!Vu.hasOwnProperty(n))return this.sanitizedSomething=!0,!Ip.hasOwnProperty(n);this.buf.push("<"),this.buf.push(n);const r=t.attributes;for(let c=0;c"),!0}endElement(t){const n=t.nodeName.toLowerCase();Vu.hasOwnProperty(n)&&!jh.hasOwnProperty(n)&&(this.buf.push(""))}chars(t){this.buf.push($h(t))}checkClobberedElement(t,n){if(n&&(t.compareDocumentPosition(n)&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 n}}const Rp=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,kp=/([^\#-~ |!])/g;function $h(e){return e.replace(/&/g,"&").replace(Rp,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(kp,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Sl;function zh(e,t){let n=null;try{Sl=Sl||function Bh(e){const t=new Pp(e);return function Ap(){try{return!!(new window.DOMParser).parseFromString(ka(""),"text/html")}catch{return!1}}()?new xp(t):t}(e);let r=t?String(t):"";n=Sl.getInertBodyElement(r);let c=5,h=r;do{if(0===c)throw new Error("Failed to sanitize html because the input is unstable");c--,r=h,h=n.innerHTML,n=Sl.getInertBodyElement(r)}while(r!==h);return ka((new Np).sanitizeChildren($u(n)||n))}finally{if(n){const r=$u(n)||n;for(;r.firstChild;)r.removeChild(r.firstChild)}}}function $u(e){return"content"in e&&function D0(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var sa=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}(sa||{});function Wh(e){const t=ls();return t?Lh(t.sanitize(sa.HTML,e)||""):ia(e,"HTML")?Lh(zs(e)):zh(Fa(),q(e))}function Tl(e){const t=ls();return t?t.sanitize(sa.URL,e)||"":ia(e,"URL")?zs(e):Ol(q(e))}function xl(e){const t=ls();if(t)return Ml(t.sanitize(sa.RESOURCE_URL,e)||"");if(ia(e,"ResourceURL"))return Ml(zs(e));throw new Z(904,!1)}function Yh(e,t,n){return function Gh(e,t){return"src"===t&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===t&&("base"===e||"link"===e)?xl:Tl}(t,n)(e)}function ls(){const e=Ot();return e&&e[Ur].sanitizer}const La=new _t("ENVIRONMENT_INITIALIZER"),Kh=new _t("INJECTOR",-1),Fp=new _t("INJECTOR_DEF_TYPES");class Gu{get(t,n=Te){if(n===Te){const r=new Error(`NullInjectorError: No provider for ${F(t)}!`);throw r.name="NullInjectorError",r}return n}}function Pl(e){return{\u0275providers:e}}function Qh(...e){return{\u0275providers:Lp(0,e),\u0275fromNgModule:!0}}function Lp(e,...t){const n=[],r=new Set;let c;const h=p=>{n.push(p)};return xa(t,p=>{const C=p;Ba(C,h,[],r)&&(c||=[],c.push(C))}),void 0!==c&&Yu(c,h),n}function Yu(e,t){for(let n=0;n{t(h,r)})}}function Ba(e,t,n,r){if(!(e=G(e)))return!1;let c=null,h=ko(e);const p=!h&&Wt(e);if(h||p){if(p&&!p.standalone)return!1;c=e}else{const S=e.ngModule;if(h=ko(S),!h)return!1;c=S}const C=r.has(c);if(p){if(C)return!1;if(r.add(c),p.dependencies){const S="function"==typeof p.dependencies?p.dependencies():p.dependencies;for(const W of S)Ba(W,t,n,r)}}else{if(!h)return!1;{if(null!=h.imports&&!C){let W;r.add(c);try{xa(h.imports,re=>{Ba(re,t,n,r)&&(W||=[],W.push(re))})}finally{}void 0!==W&&Yu(W,t)}if(!C){const W=Tt(c)||(()=>new c);t({provide:c,useFactory:W,deps:Qe},c),t({provide:Fp,useValue:c,multi:!0},c),t({provide:La,useValue:()=>on(c),multi:!0},c)}const S=h.providers;if(null!=S&&!C){const W=e;Al(S,re=>{t(re,W)})}}}return c!==e&&void 0!==e.providers}function Al(e,t){for(let n of e)ce(n)&&(n=n.\u0275providers),Array.isArray(n)?Al(n,t):t(n)}const Bp=D({provide:String,useValue:D});function bc(e){return null!==e&&"object"==typeof e&&Bp in e}function ys(e){return"function"==typeof e}const wc=new _t("Set Injector scope."),Xi={},Zu={};let ja;function Il(){return void 0===ja&&(ja=new Gu),ja}class Pi{}class aa extends Pi{get destroyed(){return this._destroyed}constructor(t,n,r,c){super(),this.parent=n,this.source=r,this.scopes=c,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Nl(t,p=>this.processProvider(p)),this.records.set(Kh,Ji(void 0,this)),c.has("environment")&&this.records.set(Pi,Ji(void 0,this));const h=this.records.get(wc);null!=h&&"string"==typeof h.value&&this.scopes.add(h.value),this.injectorDefTypes=new Set(this.get(Fp.multi,Qe,Re.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const n of this._ngOnDestroyHooks)n.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const n of t)n()}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 n=Et(this),r=$(void 0);try{return t()}finally{Et(n),$(r)}}get(t,n=Te,r=Re.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(sn))return t[sn](this);r=io(r);const h=Et(this),p=$(void 0);try{if(!(r&Re.SkipSelf)){let S=this.records.get(t);if(void 0===S){const W=function Qu(e){return"function"==typeof e||"object"==typeof e&&e instanceof _t}(t)&&_n(t);S=W&&this.injectableDefInScope(W)?Ji(Ku(t),Xi):null,this.records.set(t,S)}if(null!=S)return this.hydrate(t,S)}return(r&Re.Self?Il():this.parent).get(t,n=r&Re.Optional&&n===Te?null:n)}catch(C){if("NullInjectorError"===C.name){if((C[Pt]=C[Pt]||[]).unshift(F(t)),h)throw C;return function Ne(e,t,n,r){const c=e[Pt];throw t[de]&&c.unshift(t[de]),e.message=function dt(e,t,n,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let c=F(t);if(Array.isArray(t))c=t.map(F).join(" -> ");else if("object"==typeof t){let h=[];for(let p in t)if(t.hasOwnProperty(p)){let C=t[p];h.push(p+":"+("string"==typeof C?JSON.stringify(C):F(C)))}c=`{${h.join(", ")}}`}return`${n}${r?"("+r+")":""}[${c}]: ${e.replace(Xe,"\n ")}`}("\n"+e.message,c,n,r),e.ngTokenPath=c,e[Pt]=null,e}(C,t,"R3InjectorError",this.source)}throw C}finally{$(p),Et(h)}}resolveInjectorInitializers(){const t=Et(this),n=$(void 0);try{const c=this.get(La.multi,Qe,Re.Self);for(const h of c)h()}finally{Et(t),$(n)}}toString(){const t=[],n=this.records;for(const r of n.keys())t.push(F(r));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Z(205,!1)}processProvider(t){let n=ys(t=G(t))?t:G(t&&t.provide);const r=function Gs(e){return bc(e)?Ji(void 0,e.useValue):Ji(us(e),Xi)}(t);if(ys(t)||!0!==t.multi)this.records.get(n);else{let c=this.records.get(n);c||(c=Ji(void 0,Xi,!0),c.factory=()=>so(c.multi),this.records.set(n,c)),n=t,c.multi.push(t)}this.records.set(n,r)}hydrate(t,n){return n.value===Xi&&(n.value=Zu,n.value=n.factory()),"object"==typeof n.value&&n.value&&function jp(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}injectableDefInScope(t){if(!t.providedIn)return!1;const n=G(t.providedIn);return"string"==typeof n?"any"===n||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(t){const n=this._onDestroyHooks.indexOf(t);-1!==n&&this._onDestroyHooks.splice(n,1)}}function Ku(e){const t=_n(e),n=null!==t?t.factory:Tt(e);if(null!==n)return n;if(e instanceof _t)throw new Z(204,!1);if(e instanceof Function)return function Jh(e){const t=e.length;if(t>0)throw lc(t,"?"),new Z(204,!1);const n=function qn(e){return e&&(e[Un]||e[Ao])||null}(e);return null!==n?()=>n.factory(e):()=>new e}(e);throw new Z(204,!1)}function us(e,t,n){let r;if(ys(e)){const c=G(e);return Tt(c)||Ku(c)}if(bc(e))r=()=>G(e.useValue);else if(function Ec(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...so(e.deps||[]));else if(function Dc(e){return!(!e||!e.useExisting)}(e))r=()=>on(G(e.useExisting));else{const c=G(e&&(e.useClass||e.provide));if(!function Mc(e){return!!e.deps}(e))return Tt(c)||Ku(c);r=()=>new c(...so(e.deps))}return r}function Ji(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function Nl(e,t){for(const n of e)Array.isArray(n)?Nl(n,t):n&&ce(n)?Nl(n.\u0275providers,t):t(n)}const Ha=new _t("AppId",{providedIn:"root",factory:()=>Rl}),Rl="ng",qh=new _t("Platform Initializer"),Oc=new _t("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Hp=new _t("AnimationModuleType"),Vp=new _t("CSP nonce",{providedIn:"root",factory:()=>Fa().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let nf=(e,t,n)=>null;function qu(e,t,n=!1){return nf(e,t,n)}class Yp{}class Ac{}class cf{resolveComponentFactory(t){throw function od(e){const t=Error(`No component factory found for ${F(e)}.`);return t.ngComponent=e,t}(t)}}let Nc=(()=>{class e{static#e=this.NULL=new cf}return e})();function T0(){return Ys(xr(),Ot())}function Ys(e,t){return new jl(Lr(e,t))}let jl=(()=>{class e{constructor(n){this.nativeElement=n}static#e=this.__NG_ELEMENT_ID__=T0}return e})();function Zp(e){return e instanceof jl?e.nativeElement:e}class lf{}let uf=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function rd(){const e=Ot(),n=Er(xr().index,e);return(Yo(n)?n:e)[Dn]}()}return e})(),df=(()=>{class e{static#e=this.\u0275prov=pt({token:e,providedIn:"root",factory:()=>null})}return e})();class Kp{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const Qp=new Kp("16.2.12"),id={};function Xp(e,t){e instanceof aa&&e.assertNotDestroyed();const r=Et(e),c=$(void 0);try{return t()}finally{Et(r),$(c)}}function Hl(e){if(!Oe()&&!function We(){return pe}())throw new Z(-203,!1)}function pf(e,t=null,n=null,r){const c=mf(e,t,n,r);return c.resolveInjectorInitializers(),c}function mf(e,t=null,n=null,r,c=new Set){const h=[n||Qe,Qh(e)];return r=r||("object"==typeof e?void 0:F(e)),new aa(h,t||Il(),r||null,c)}let ds=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Te;static#t=this.NULL=new Gu;static create(n,r){if(Array.isArray(n))return pf({name:""},r,n,"");{const c=n.name??"";return pf({name:c},n.parent,n.providers,c)}}static#n=this.\u0275prov=pt({token:e,providedIn:"any",factory:()=>on(Kh)});static#o=this.__NG_ELEMENT_ID__=-1}return e})();function $i(e){return e.ngOriginalError}class Cs{constructor(){this._console=console}handleError(t){const n=this._findOriginalError(t);this._console.error("ERROR",t),n&&this._console.error("ORIGINAL ERROR",n)}_findOriginalError(t){let n=t&&$i(t);for(;n&&$i(n);)n=$i(n);return n||null}}let Is=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=t1;static#t=this.__NG_ENV_ID__=n=>n}return e})();class ld extends Is{constructor(t){super(),this._lView=t}onDestroy(t){return Zi(this._lView,t),()=>function lu(e,t){if(null===e[hr])return;const n=e[hr].indexOf(t);-1!==n&&e[hr].splice(n,1)}(this._lView,t)}}function t1(){return new ld(Ot())}function Rc(e){return t=>{setTimeout(e,void 0,t)}}const bs=class n1 extends s.x{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,n,r){let c=t,h=n||(()=>null),p=r;if(t&&"object"==typeof t){const S=t;c=S.next?.bind(S),h=S.error?.bind(S),p=S.complete?.bind(S)}this.__isAsync&&(h=Rc(h),c&&(c=Rc(c)),p&&(p=Rc(p)));const C=super.subscribe({next:c,error:h,complete:p});return t instanceof m.w0&&t.add(C),C}};function _f(...e){}class Ir{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new bs(!1),this.onMicrotaskEmpty=new bs(!1),this.onStable=new bs(!1),this.onError=new bs(!1),typeof Zone>"u")throw new Z(908,!1);Zone.assertZonePatched();const c=this;c._nesting=0,c._outer=c._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(c._inner=c._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(c._inner=c._inner.fork(Zone.longStackTraceZoneSpec)),c.shouldCoalesceEventChangeDetection=!r&&n,c.shouldCoalesceRunChangeDetection=r,c.lastRequestAnimationFrameId=-1,c.nativeRequestAnimationFrame=function Vl(){const e="function"==typeof Be.requestAnimationFrame;let t=Be[e?"requestAnimationFrame":"setTimeout"],n=Be[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&n){const r=t[Zone.__symbol__("OriginalDelegate")];r&&(t=r);const c=n[Zone.__symbol__("OriginalDelegate")];c&&(n=c)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:n}}().nativeRequestAnimationFrame,function Wa(e){const t=()=>{!function qi(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Be,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,ud(e),e.isCheckStableRunning=!0,Ul(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),ud(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,r,c,h,p,C)=>{if(function r1(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(C))return n.invokeTask(c,h,p,C);try{return yf(e),n.invokeTask(c,h,p,C)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===h.type||e.shouldCoalesceRunChangeDetection)&&t(),dd(e)}},onInvoke:(n,r,c,h,p,C,S)=>{try{return yf(e),n.invoke(c,h,p,C,S)}finally{e.shouldCoalesceRunChangeDetection&&t(),dd(e)}},onHasTask:(n,r,c,h)=>{n.hasTask(c,h),r===c&&("microTask"==h.change?(e._hasPendingMicrotasks=h.microTask,ud(e),Ul(e)):"macroTask"==h.change&&(e.hasPendingMacrotasks=h.macroTask))},onHandleError:(n,r,c,h)=>(n.handleError(c,h),e.runOutsideAngular(()=>e.onError.emit(h)),!1)})}(c)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Ir.isInAngularZone())throw new Z(909,!1)}static assertNotInAngularZone(){if(Ir.isInAngularZone())throw new Z(909,!1)}run(t,n,r){return this._inner.run(t,n,r)}runTask(t,n,r,c){const h=this._inner,p=h.scheduleEventTask("NgZoneEvent: "+c,t,vf,_f,_f);try{return h.runTask(p,n,r)}finally{h.cancelTask(p)}}runGuarded(t,n,r){return this._inner.runGuarded(t,n,r)}runOutsideAngular(t){return this._outer.run(t)}}const vf={};function Ul(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 ud(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function yf(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function dd(e){e._nesting--,Ul(e)}class o1{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new bs,this.onMicrotaskEmpty=new bs,this.onStable=new bs,this.onError=new bs}run(t,n,r){return t.apply(n,r)}runGuarded(t,n,r){return t.apply(n,r)}runOutsideAngular(t){return t()}runTask(t,n,r,c){return t.apply(n,r)}}const hd=new _t("",{providedIn:"root",factory:kc});function kc(){const e=un(Ir);let t=!0;const n=new o.y(c=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{c.next(t),c.complete()})}),r=new o.y(c=>{let h;e.runOutsideAngular(()=>{h=e.onStable.subscribe(()=>{Ir.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,c.next(!0))})})});const p=e.onUnstable.subscribe(()=>{Ir.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{c.next(!1)}))});return()=>{h.unsubscribe(),p.unsubscribe()}});return(0,N.T)(n,r.pipe((0,R.B)()))}function $l(e){return e.ownerDocument}function Ns(e){return e instanceof Function?e():e}let zl=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static#e=this.\u0275prov=pt({token:e,providedIn:"root",factory:()=>new e})}return e})();function Lc(e){for(;e;){e[Mn]|=64;const t=_c(e);if(qr(e)&&!t)return e;e=t}return null}const Df=new _t("",{providedIn:"root",factory:()=>!1});let Wl=null;function Ef(e,t){return e[t]??Of()}function wf(e,t){const n=Of();n.producerNode?.length&&(e[t]=Wl,n.lView=e,Wl=Mf())}const m1={...co,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{Lc(e.lView)},lView:null};function Mf(){return Object.create(m1)}function Of(){return Wl??=Mf(),Wl}const Vn={};function a(e){l(to(),Ot(),Pr()+e,!1)}function l(e,t,n,r){if(!r)if(3==(3&t[Mn])){const h=e.preOrderCheckHooks;null!==h&&Ca(t,h,n)}else{const h=e.preOrderHooks;null!==h&&tc(t,h,0,n)}At(n)}function i(e,t=Re.Default){const n=Ot();return null===n?on(e,t):Wd(xr(),n,G(e),t)}function u(){throw new Error("invalid")}function M(e,t,n,r,c,h,p,C,S,W,re){const me=t.blueprint.slice();return me[_o]=c,me[Mn]=140|r,(null!==W||e&&2048&e[Mn])&&(me[Mn]|=2048),Bi(me),me[Yn]=me[gi]=e,me[Co]=n,me[Ur]=p||e&&e[Ur],me[Dn]=C||e&&e[Dn],me[ar]=S||e&&e[ar]||null,me[Uo]=h,me[zr]=function zg(){return $g++}(),me[lr]=re,me[Gi]=W,me[fo]=2==t.type?e[fo]:me,me}function Y(e,t,n,r,c){let h=e.data[t];if(null===h)h=function ee(e,t,n,r,c){const h=Yc(),p=Vs(),S=e.data[t]=function Eo(e,t,n,r,c,h){let p=t?t.injectorIndex:-1,C=0;return Hs()&&(C|=128),{type:n,index:r,insertBeforeIndex:null,injectorIndex:p,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:C,providerIndexes:0,value:c,attrs:h,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,p?h:h&&h.parent,n,t,r,c);return null===e.firstChild&&(e.firstChild=S),null!==h&&(p?null==h.child&&null!==S.parent&&(h.child=S):null===h.next&&(h.next=S,S.prev=h)),S}(e,t,n,r,c),function Ld(){return Pn.lFrame.inI18n}()&&(h.flags|=32);else if(64&h.type){h.type=n,h.value=r,h.attrs=c;const p=function cs(){const e=Pn.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();h.injectorIndex=null===p?-1:p.injectorIndex}return ji(h,!0),h}function le(e,t,n,r){if(0===n)return-1;const c=t.length;for(let h=0;hRn&&l(e,t,Rn,!1),mr(C?2:0,c);const W=C?h:null,re=oi(W);try{null!==W&&(W.dirty=!1),n(r,c)}finally{rr(W,re)}}finally{C&&null===t[Wr]&&wf(t,Wr),At(p),mr(C?3:1,c)}}function Ke(e,t,n){if(br(t)){const r=ro(null);try{const h=t.directiveEnd;for(let p=t.directiveStart;pnull;function jo(e,t,n,r){for(let c in e)if(e.hasOwnProperty(c)){n=null===n?{}:n;const h=e[c];null===r?Wo(n,t,c,h):r.hasOwnProperty(c)&&Wo(n,t,r[c],h)}return n}function Wo(e,t,n,r){e.hasOwnProperty(n)?e[n].push(t,r):e[n]=[t,r]}function ci(e,t,n,r,c,h,p,C){const S=Lr(t,n);let re,W=t.inputs;!C&&null!=W&&(re=W[r])?(y1(e,n,re,r,c),pr(t)&&function Zs(e,t){const n=Er(t,e);16&n[Mn]||(n[Mn]|=64)}(n,t.index)):3&t.type&&(r=function Br(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),c=null!=p?p(c,t.value||"",r):c,h.setProperty(S,r,c))}function hs(e,t,n,r){if(ea()){const c=null===r?null:{"":-1},h=function zi(e,t){const n=e.directiveRegistry;let r=null,c=null;if(n)for(let h=0;h0;){const n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(p)!=C&&p.push(C),p.push(n,r,h)}}(e,t,r,le(e,n,c.hostVars,Vn),c)}function vr(e,t,n,r,c,h){const p=Lr(e,t);!function Ya(e,t,n,r,c,h,p){if(null==h)e.removeAttribute(t,c,n);else{const C=null==p?q(h):p(h,r||"",c);e.setAttribute(t,c,C,n)}}(t[Dn],p,h,e.value,n,r,c)}function pd(e,t,n,r,c,h){const p=h[t];if(null!==p)for(let C=0;C{class e{constructor(){this.all=new Set,this.queue=new Map}create(n,r,c){const h=typeof Zone>"u"?null:Zone.current,p=function bt(e,t,n){const r=Object.create(po);n&&(r.consumerAllowSignalWrites=!0),r.fn=e,r.schedule=t;const c=p=>{r.cleanupFn=p};return r.ref={notify:()=>yi(r),run:()=>{if(r.dirty=!1,r.hasRun&&!Ci(r))return;r.hasRun=!0;const p=oi(r);try{r.cleanupFn(),r.cleanupFn=ln,r.fn(c)}finally{rr(r,p)}},cleanup:()=>r.cleanupFn()},r.ref}(n,W=>{this.all.has(W)&&this.queue.set(W,h)},c);let C;this.all.add(p),p.notify();const S=()=>{p.cleanup(),C?.(),this.all.delete(p),this.queue.delete(p)};return C=r?.onDestroy(S),{destroy:S}}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}static#e=this.\u0275prov=pt({token:e,providedIn:"root",factory:()=>new e})}return e})();function $0(e,t){!t?.injector&&Hl();const n=t?.injector??un(ds),r=n.get(U0),c=!0!==t?.manualCleanup?n.get(Is):null;return r.create(e,c,!!t?.allowSignalWrites)}function xf(e,t,n){let r=n?e.styles:null,c=n?e.classes:null,h=0;if(null!==t)for(let p=0;p0){G0(e,1);const c=n.components;null!==c&&Z0(e,c,1)}}function Z0(e,t,n){for(let r=0;r-1&&(_l(t,r),ol(n,r))}this._attachedToViewContainer=!1}Iu(this._lView[zt],this._lView)}onDestroy(t){Zi(this._lView,t)}markForCheck(){Lc(this._cdRefInjectingView||this._lView)}detach(){this._lView[Mn]&=-129}reattach(){this._lView[Mn]|=128}detectChanges(){Pf(this._lView[zt],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Z(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function op(e,t){yc(e,t,t[Dn],2,null,null)}(this._lView[zt],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Z(902,!1);this._appRef=t}}class Q2 extends _d{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;Pf(t[zt],t,t[Co],!1)}checkNoChanges(){}get context(){return null}}class K0 extends Nc{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const n=Wt(t);return new vd(n,this.ngModule)}}function Q0(e){const t=[];for(let n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}class J2{constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,r){r=io(r);const c=this.injector.get(t,id,r);return c!==id||n===id?c:this.parentInjector.get(t,n,r)}}class vd extends Ac{get inputs(){const t=this.componentDef,n=t.inputTransforms,r=Q0(t.inputs);if(null!==n)for(const c of r)n.hasOwnProperty(c.propName)&&(c.transform=n[c.propName]);return r}get outputs(){return Q0(this.componentDef.outputs)}constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=function tr(e){return e.map(fs).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!n}create(t,n,r,c){let h=(c=c||this.ngModule)instanceof Pi?c:c?.injector;h&&null!==this.componentDef.getStandaloneInjector&&(h=this.componentDef.getStandaloneInjector(h)||h);const p=h?new J2(t,h):t,C=p.get(lf,null);if(null===C)throw new Z(407,!1);const me={rendererFactory:C,sanitizer:p.get(df,null),effectManager:p.get(U0,null),afterRenderEventManager:p.get(zl,null)},ke=C.createRenderer(null,this.componentDef),Ye=this.componentDef.selectors[0][0]||"div",vt=r?function zn(e,t,n,r){const h=r.get(Df,!1)||n===we.ShadowDom,p=e.selectRootElement(t,h);return function Do(e){Zn(e)}(p),p}(ke,r,this.componentDef.encapsulation,p):ml(ke,Ye,function X2(e){const t=e.toLowerCase();return"svg"===t?Fi:"math"===t?"math":null}(Ye)),Cn=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let St=null;null!==vt&&(St=qu(vt,p,!0));const Hn=Rt(0,null,null,1,0,null,null,null,null,null,null),Jn=M(null,Hn,null,Cn,null,null,me,ke,p,null,St);let Go,ns;nt(Jn);try{const ha=this.componentDef;let cu,Mm=null;ha.findHostDirectiveDefs?(cu=[],Mm=new Map,ha.findHostDirectiveDefs(ha,cu,Mm),cu.push(ha)):cu=[ha];const r6=function eC(e,t){const n=e[zt],r=Rn;return e[r]=t,Y(n,r,2,"#host",null)}(Jn,vt),i6=function tC(e,t,n,r,c,h,p){const C=c[zt];!function nC(e,t,n,r){for(const c of e)t.mergedAttrs=Tn(t.mergedAttrs,c.hostAttrs);null!==t.mergedAttrs&&(xf(t,t.mergedAttrs,!0),null!==n&&Fh(r,n,t))}(r,e,t,p);let S=null;null!==t&&(S=qu(t,c[ar]));const W=h.rendererFactory.createRenderer(t,n);let re=16;n.signals?re=4096:n.onPush&&(re=64);const me=M(c,Nt(n),null,re,c[e.index],e,h,W,null,null,S);return C.firstCreatePass&&Es(C,e,r.length-1),Tf(c,me),c[e.index]=me}(r6,vt,ha,cu,Jn,me,ke);ns=Os(Hn,Rn),vt&&function rC(e,t,n,r){if(r)Vt(e,n,["ng-version",Qp.full]);else{const{attrs:c,classes:h}=function bn(e){const t=[],n=[];let r=1,c=2;for(;r0&&kh(e,n,h.join(" "))}}(ke,ha,vt,r),void 0!==n&&function iC(e,t,n){const r=e.projection=[];for(let c=0;c=0;r--){const c=e[r];c.hostVars=t+=c.hostVars,c.hostAttrs=Tn(c.hostAttrs,n=Tn(n,c.hostAttrs))}}(r)}function Af(e){return e===ht?{}:e===Qe?[]:e}function cC(e,t){const n=e.viewQuery;e.viewQuery=n?(r,c)=>{t(r,c),n(r,c)}:t}function lC(e,t){const n=e.contentQueries;e.contentQueries=n?(r,c,h)=>{t(r,c,h),n(r,c,h)}:t}function uC(e,t){const n=e.hostBindings;e.hostBindings=n?(r,c)=>{t(r,c),n(r,c)}:t}function J0(e){return t=>{t.findHostDirectiveDefs=q0,t.hostDirectives=(Array.isArray(e)?e:e()).map(n=>"function"==typeof n?{directive:G(n),inputs:ht,outputs:ht}:{directive:G(n.directive),inputs:e_(n.inputs),outputs:e_(n.outputs)})}}function q0(e,t,n){if(null!==e.hostDirectives)for(const r of e.hostDirectives){const c=vn(r.directive);gC(c.declaredInputs,r.inputs),q0(c,t,n),n.set(c,r),t.push(c)}}function e_(e){if(void 0===e||0===e.length)return ht;const t={};for(let n=0;n(Us(!0),ml(r,c,function jd(){return Pn.lFrame.currentNamespace}()));function jf(e,t,n){const r=Ot(),c=to(),h=e+Rn,p=c.firstCreatePass?function VC(e,t,n,r,c){const h=t.consts,p=Li(h,r),C=Y(t,e,8,"ng-container",p);return null!==p&&xf(C,p,!0),hs(t,n,C,Li(h,c)),null!==t.queries&&t.queries.elementStart(t,C),C}(h,c,r,t,n):c.data[h];ji(p,!0);const C=C_(c,r,p,e);return r[h]=C,Kc()&&vl(c,r,C,p),si(C,r),Oi(p)&&(ut(c,r,p),Ke(c,p,r)),null!=n&&wt(r,p),jf}function Hf(){let e=xr();const t=to();return Vs()?_a():(e=e.parent,ji(e,!1)),t.firstCreatePass&&(Xc(t,e),br(e)&&t.queries.elementEnd(e)),Hf}function I1(e,t,n){return jf(e,t,n),Hf(),I1}let C_=(e,t,n,r)=>(Us(!0),Au(t[Dn],""));function b_(){return Ot()}function N1(e){return!!e&&"function"==typeof e.then}function D_(e){return!!e&&"function"==typeof e.subscribe}function R1(e,t,n,r){const c=Ot(),h=to(),p=xr();return function w_(e,t,n,r,c,h,p){const C=Oi(r),W=e.firstCreatePass&&j0(e),re=t[Co],me=B0(t);let ke=!0;if(3&r.type||p){const kt=Lr(r,t),en=p?p(kt):kt,Cn=me.length,St=p?Jn=>p(xo(Jn[r.index])):r.index;let Hn=null;if(!p&&C&&(Hn=function zC(e,t,n,r){const c=e.cleanup;if(null!=c)for(let h=0;hS?C[S]:null}"string"==typeof p&&(h+=2)}return null}(e,t,c,r.index)),null!==Hn)(Hn.__ngLastListenerFn__||Hn).__ngNextListenerFn__=h,Hn.__ngLastListenerFn__=h,ke=!1;else{h=O_(r,t,re,h,!1);const Jn=n.listen(en,c,h);me.push(h,Jn),W&&W.push(c,St,Cn,Cn+1)}}else h=O_(r,t,re,h,!1);const Ye=r.outputs;let vt;if(ke&&null!==Ye&&(vt=Ye[c])){const kt=vt.length;if(kt)for(let en=0;en-1?Er(e.index,t):t);let S=M_(t,n,r,p),W=h.__ngNextListenerFn__;for(;W;)S=M_(t,n,W,p)&&S,W=W.__ngNextListenerFn__;return c&&!1===S&&p.preventDefault(),S}}function S_(e=1){return function va(e){return(Pn.lFrame.contextLView=function xs(e,t){for(;e>0;)t=t[gi],e--;return t}(e,Pn.lFrame.contextLView))[Co]}(e)}function WC(e,t){let n=null;const r=function Di(e){const t=e.attrs;if(null!=t){const n=t.indexOf(5);if(!(1&n))return t[n+1]}return null}(e);for(let c=0;c>17&32767}function F1(e){return 2|e}function Hc(e){return(131068&e)>>2}function L1(e,t){return-131069&e|t<<2}function B1(e){return 1|e}function j_(e,t,n,r,c){const h=e[n+1],p=null===t;let C=r?Za(h):Hc(h),S=!1;for(;0!==C&&(!1===S||p);){const re=e[C+1];XC(e[C],t)&&(S=!0,e[C+1]=r?B1(re):F1(re)),C=r?Za(re):Hc(re)}S&&(e[n+1]=r?F1(h):B1(h))}function XC(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Pa(e,t)>=0}const Jr={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function H_(e){return e.substring(Jr.key,Jr.keyEnd)}function V_(e,t){const n=Jr.textEnd;return n===t?-1:(t=Jr.keyEnd=function tb(e,t,n){for(;t32;)t++;return t}(e,Jr.key=t,n),tu(e,t,n))}function tu(e,t,n){for(;t=0;n=V_(t,n))Hi(e,H_(t),!0)}function Fs(e,t,n,r){const c=Ot(),h=to(),p=_s(2);h.firstUpdatePass&&Z_(h,e,p,r),t!==Vn&&Ai(c,p,t)&&Q_(h,h.data[Pr()],c,c[Dn],e,c[p+1]=function hb(e,t){return null==e||""===e||("string"==typeof t?e+=t:"object"==typeof e&&(e=F(zs(e)))),e}(t,n),r,p)}function Y_(e,t){return t>=e.expandoStartIndex}function Z_(e,t,n,r){const c=e.data;if(null===c[n+1]){const h=c[Pr()],p=Y_(e,n);J_(h,r)&&null===t&&!p&&(t=!1),t=function ib(e,t,n,r){const c=A(e);let h=r?t.residualClasses:t.residualStyles;if(null===c)0===(r?t.classBindings:t.styleBindings)&&(n=Ed(n=V1(null,e,t,n,r),t.attrs,r),h=null);else{const p=t.directiveStylingLast;if(-1===p||e[p]!==c)if(n=V1(c,e,t,n,r),null===h){let S=function sb(e,t,n){const r=n?t.classBindings:t.styleBindings;if(0!==Hc(r))return e[Za(r)]}(e,t,r);void 0!==S&&Array.isArray(S)&&(S=V1(null,e,t,S[1],r),S=Ed(S,t.attrs,r),function ab(e,t,n,r){e[Za(n?t.classBindings:t.styleBindings)]=r}(e,t,r,S))}else h=function cb(e,t,n){let r;const c=t.directiveEnd;for(let h=1+t.directiveStylingLast;h0)&&(W=!0)):re=n,c)if(0!==S){const ke=Za(e[C+1]);e[r+1]=Vf(ke,C),0!==ke&&(e[ke+1]=L1(e[ke+1],r)),e[C+1]=function YC(e,t){return 131071&e|t<<17}(e[C+1],r)}else e[r+1]=Vf(C,0),0!==C&&(e[C+1]=L1(e[C+1],r)),C=r;else e[r+1]=Vf(S,0),0===C?C=r:e[S+1]=L1(e[S+1],r),S=r;W&&(e[r+1]=F1(e[r+1])),j_(e,re,r,!0),j_(e,re,r,!1),function QC(e,t,n,r,c){const h=c?e.residualClasses:e.residualStyles;null!=h&&"string"==typeof t&&Pa(h,t)>=0&&(n[r+1]=B1(n[r+1]))}(t,re,e,r,h),p=Vf(C,S),h?t.classBindings=p:t.styleBindings=p}(c,h,t,n,p,r)}}function V1(e,t,n,r,c){let h=null;const p=n.directiveEnd;let C=n.directiveStylingLast;for(-1===C?C=n.directiveStart:C++;C0;){const S=e[c],W=Array.isArray(S),re=W?S[1]:S,me=null===re;let ke=n[c+1];ke===Vn&&(ke=me?Qe:void 0);let Ye=me?il(ke,r):re===r?ke:void 0;if(W&&!Uf(Ye)&&(Ye=il(S,r)),Uf(Ye)&&(C=Ye,p))return C;const vt=e[c+1];c=p?Za(vt):Hc(vt)}if(null!==t){let S=h?t.residualClasses:t.residualStyles;null!=S&&(C=il(S,r))}return C}function Uf(e){return void 0!==e}function J_(e,t){return 0!=(e.flags&(t?8:16))}function q_(e,t=""){const n=Ot(),r=to(),c=e+Rn,h=r.firstCreatePass?Y(r,c,1,t,null):r.data[c],p=ev(r,n,h,t,e);n[c]=p,Kc()&&vl(r,n,p,h),ji(h,!1)}let ev=(e,t,n,r,c)=>(Us(!0),function pl(e,t){return e.createText(t)}(t[Dn],r));function U1(e){return $f("",e,""),U1}function $f(e,t,n){const r=Ot(),c=function Yl(e,t,n,r){return Ai(e,ta(),n)?t+q(n)+r:Vn}(r,e,t,n);return c!==Vn&&function da(e,t,n){const r=Tr(t,e);!function wh(e,t,n){e.setValue(t,n)}(e[Dn],r,n)}(r,Pr(),c),$f}function $1(e,t,n){const r=Ot();if(Ai(r,ta(),t)){const h=to(),p=qo();ci(h,p,r,e,t,H0(A(h.data),p,r),n,!0)}return $1}const Vc=void 0;var Rb=["en",[["a","p"],["AM","PM"],Vc],[["AM","PM"],Vc,Vc],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Vc,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Vc,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Vc,"{1} 'at' {0}",Vc],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function Nb(e){const n=Math.floor(Math.abs(e)),r=e.toString().replace(/^[^.]*\.?/,"").length;return 1===n&&0===r?1:5}];let nu={};function z1(e){const t=function kb(e){return e.toLowerCase().replace(/_/g,"-")}(e);let n=Cv(t);if(n)return n;const r=t.split("-")[0];if(n=Cv(r),n)return n;if("en"===r)return Rb;throw new Z(701,!1)}function yv(e){return z1(e)[ou.PluralCase]}function Cv(e){return e in nu||(nu[e]=Be.ng&&Be.ng.common&&Be.ng.common.locales&&Be.ng.common.locales[e]),nu[e]}var ou=function(e){return e[e.LocaleId=0]="LocaleId",e[e.DayPeriodsFormat=1]="DayPeriodsFormat",e[e.DayPeriodsStandalone=2]="DayPeriodsStandalone",e[e.DaysFormat=3]="DaysFormat",e[e.DaysStandalone=4]="DaysStandalone",e[e.MonthsFormat=5]="MonthsFormat",e[e.MonthsStandalone=6]="MonthsStandalone",e[e.Eras=7]="Eras",e[e.FirstDayOfWeek=8]="FirstDayOfWeek",e[e.WeekendRange=9]="WeekendRange",e[e.DateFormat=10]="DateFormat",e[e.TimeFormat=11]="TimeFormat",e[e.DateTimeFormat=12]="DateTimeFormat",e[e.NumberSymbols=13]="NumberSymbols",e[e.NumberFormats=14]="NumberFormats",e[e.CurrencyCode=15]="CurrencyCode",e[e.CurrencySymbol=16]="CurrencySymbol",e[e.CurrencyName=17]="CurrencyName",e[e.Currencies=18]="Currencies",e[e.Directionality=19]="Directionality",e[e.PluralCase=20]="PluralCase",e[e.ExtraData=21]="ExtraData",e}(ou||{});const ru="en-US";let bv=ru;function Y1(e,t,n,r,c){if(e=G(e),Array.isArray(e))for(let h=0;h>20;if(ys(e)||!e.multi){const Ye=new nc(W,c,i),vt=K1(S,t,c?re:re+ke,me);-1===vt?(Da(qc(C,p),h,S),Z1(h,e,t.length),t.push(S),C.directiveStart++,C.directiveEnd++,c&&(C.providerIndexes+=1048576),n.push(Ye),p.push(Ye)):(n[vt]=Ye,p[vt]=Ye)}else{const Ye=K1(S,t,re+ke,me),vt=K1(S,t,re,re+ke),en=vt>=0&&n[vt];if(c&&!en||!c&&!(Ye>=0&&n[Ye])){Da(qc(C,p),h,S);const Cn=function N8(e,t,n,r,c){const h=new nc(e,n,i);return h.multi=[],h.index=t,h.componentProviders=0,Gv(h,c,r&&!n),h}(c?I8:A8,n.length,c,r,W);!c&&en&&(n[vt].providerFactory=Cn),Z1(h,e,t.length,0),t.push(S),C.directiveStart++,C.directiveEnd++,c&&(C.providerIndexes+=1048576),n.push(Cn),p.push(Cn)}else Z1(h,e,Ye>-1?Ye:vt,Gv(n[c?vt:Ye],W,!c&&r));!c&&r&&en&&n[vt].componentProviders++}}}function Z1(e,t,n,r){const c=ys(t),h=function Xh(e){return!!e.useClass}(t);if(c||h){const S=(h?G(t.useClass):t).prototype.ngOnDestroy;if(S){const W=e.destroyHooks||(e.destroyHooks=[]);if(!c&&t.multi){const re=W.indexOf(n);-1===re?W.push(n,[r,S]):W[re+1].push(r,S)}else W.push(n,S)}}}function Gv(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function K1(e,t,n,r){for(let c=n;c{n.providersResolver=(r,c)=>function P8(e,t,n){const r=to();if(r.firstCreatePass){const c=Zo(e);Y1(n,r.data,r.blueprint,c,!0),Y1(t,r.data,r.blueprint,c,!1)}}(r,c?c(e):e,t)}}class Uc{}class Zv{}function R8(e,t){return new X1(e,t??null,[])}class X1 extends Uc{constructor(t,n,r){super(),this._parent=n,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new K0(this);const c=ho(t);this._bootstrapComponents=Ns(c.bootstrap),this._r3Injector=mf(t,n,[{provide:Uc,useValue:this},{provide:Nc,useValue:this.componentFactoryResolver},...r],F(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(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class J1 extends Zv{constructor(t){super(),this.moduleType=t}create(t){return new X1(this.moduleType,t,[])}}class Kv extends Uc{constructor(t){super(),this.componentFactoryResolver=new K0(this),this.instance=null;const n=new aa([...t.providers,{provide:Uc,useValue:this},{provide:Nc,useValue:this.componentFactoryResolver}],t.parent||Il(),t.debugName,new Set(["environment"]));this.injector=n,t.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function Qv(e,t,n=null){return new Kv({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}let F8=(()=>{class e{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Lp(0,n.type),c=r.length>0?Qv([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,c)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=pt({token:e,providedIn:"environment",factory:()=>new e(on(Pi))})}return e})();function Xv(e){e.getStandaloneInjector=t=>t.get(F8).getOrCreateStandaloneInjector(e)}function ry(e,t,n){const r=Xr()+e,c=Ot();return c[r]===Vn?Ks(c,r,n?t.call(n):t()):function yd(e,t){return e[t]}(c,r)}function iy(e,t,n,r){return ay(Ot(),Xr(),e,t,n,r)}function sy(e,t,n,r,c){return cy(Ot(),Xr(),e,t,n,r,c)}function xd(e,t){const n=e[t];return n===Vn?void 0:n}function ay(e,t,n,r,c,h){const p=t+n;return Ai(e,p,c)?Ks(e,p+1,h?r.call(h,c):r(c)):xd(e,p+1)}function cy(e,t,n,r,c,h,p){const C=t+n;return jc(e,C,c,h)?Ks(e,C+2,p?r.call(p,c,h):r(c,h)):xd(e,C+2)}function ly(e,t,n,r,c,h,p,C){const S=t+n;return function Nf(e,t,n,r,c){const h=jc(e,t,n,r);return Ai(e,t+2,c)||h}(e,S,c,h,p)?Ks(e,S+3,C?r.call(C,c,h,p):r(c,h,p)):xd(e,S+3)}function hy(e,t){const n=to();let r;const c=e+Rn;n.firstCreatePass?(r=function J8(e,t){if(t)for(let n=t.length-1;n>=0;n--){const r=t[n];if(e===r.name)return r}}(t,n.pipeRegistry),n.data[c]=r,r.onDestroy&&(n.destroyHooks??=[]).push(c,r.onDestroy)):r=n.data[c];const h=r.factory||(r.factory=Tt(r.type)),C=$(i);try{const S=ic(!1),W=h();return ic(S),function LC(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}(n,Ot(),c,W),W}finally{$(C)}}function fy(e,t,n){const r=e+Rn,c=Ot(),h=as(c,r);return Pd(c,r)?ay(c,Xr(),t,h.transform,n,h):h.transform(n)}function gy(e,t,n,r){const c=e+Rn,h=Ot(),p=as(h,c);return Pd(h,c)?cy(h,Xr(),t,p.transform,n,r,p):p.transform(n,r)}function py(e,t,n,r,c){const h=e+Rn,p=Ot(),C=as(p,h);return Pd(p,h)?ly(p,Xr(),t,C.transform,n,r,c,C):C.transform(n,r,c)}function Pd(e,t){return e[zt].data[t].pure}function tD(){return this._results[Symbol.iterator]()}class Zf{static#e=Symbol.iterator;get changes(){return this._changes||(this._changes=new bs)}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 n=Zf.prototype;n[Symbol.iterator]||(n[Symbol.iterator]=tD)}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,n){return this._results.reduce(t,n)}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,n){const r=this;r.dirty=!1;const c=function Qi(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function Mg(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r0&&(n[c-1][nr]=t),r{class e{static#e=this.__NG_ELEMENT_ID__=sD}return e})();const rD=Ad,iD=class extends rD{constructor(t,n,r){super(),this._declarationLView=t,this._declarationTContainer=n,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,n){return this.createEmbeddedViewImpl(t,n)}createEmbeddedViewImpl(t,n,r){const c=function nD(e,t,n,r){const c=t.tView,C=M(e,c,n,4096&e[Mn]?4096:16,null,t,null,null,null,r?.injector??null,r?.hydrationInfo??null);C[Mi]=e[t.index];const W=e[cr];return null!==W&&(C[cr]=W.createEmbeddedView(c)),C1(c,C,n),C}(this._declarationLView,this._declarationTContainer,t,{injector:n,hydrationInfo:r});return new _d(c)}};function sD(){return Kf(xr(),Ot())}function Kf(e,t){return 4&e.type?new iD(t,e,Ys(e,t)):null}let Xf=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=hD}return e})();function hD(){return Dy(xr(),Ot())}const fD=Xf,Cy=class extends fD{constructor(t,n,r){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=r}get element(){return Ys(this._hostTNode,this._hostLView)}get injector(){return new bi(this._hostTNode,this._hostLView)}get parentInjector(){const t=tl(this._hostTNode,this._hostLView);if(mu(t)){const n=rc(t,this._hostLView),r=oc(t);return new bi(n[zt].data[r+8],n)}return new bi(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const n=by(this._lContainer);return null!==n&&n[t]||null}get length(){return this._lContainer.length-wo}createEmbeddedView(t,n,r){let c,h;"number"==typeof r?c=r:null!=r&&(c=r.index,h=r.injector);const C=t.createEmbeddedViewImpl(n||{},h,null);return this.insertImpl(C,c,false),C}createComponent(t,n,r,c,h){const p=t&&!function cc(e){return"function"==typeof e}(t);let C;if(p)C=n;else{const kt=n||{};C=kt.index,r=kt.injector,c=kt.projectableNodes,h=kt.environmentInjector||kt.ngModuleRef}const S=p?t:new vd(Wt(t)),W=r||this.parentInjector;if(!h&&null==S.ngModule){const en=(p?W:this.parentInjector).get(Pi,null);en&&(h=en)}Wt(S.componentType??{});const Ye=S.create(W,c,null,h);return this.insertImpl(Ye.hostView,C,false),Ye}insert(t,n){return this.insertImpl(t,n,!1)}insertImpl(t,n,r){const c=t._lView;if(function Jo(e){return oo(e[Yn])}(c)){const S=this.indexOf(t);if(-1!==S)this.detach(S);else{const W=c[Yn],re=new Cy(W,W[Uo],W[Yn]);re.detach(re.indexOf(t))}}const p=this._adjustIndex(n),C=this._lContainer;return oD(C,c,p,!r),t.attachToViewContainerRef(),qd(em(C),p,t),t}move(t,n){return this.insert(t,n)}indexOf(t){const n=by(this._lContainer);return null!==n?n.indexOf(t):-1}remove(t){const n=this._adjustIndex(t,-1),r=_l(this._lContainer,n);r&&(ol(em(this._lContainer),n),Iu(r[zt],r))}detach(t){const n=this._adjustIndex(t,-1),r=_l(this._lContainer,n);return r&&null!=ol(em(this._lContainer),n)?new _d(r):null}_adjustIndex(t,n=0){return t??this.length+n}};function by(e){return e[8]}function em(e){return e[8]||(e[8]=[])}function Dy(e,t){let n;const r=t[e.index];return oo(r)?n=r:(n=F0(r,t,null,e),t[e.index]=n,Tf(t,n)),Ey(n,t,e,r),new Cy(n,e,t)}let Ey=function wy(e,t,n,r){if(e[ur])return;let c;c=8&n.type?xo(r):function gD(e,t){const n=e[Dn],r=n.createComment(""),c=Lr(t,e);return oa(n,Ra(n,c),r,function ku(e,t){return e.nextSibling(t)}(n,c),!1),r}(t,n),e[ur]=c};class tm{constructor(t){this.queryList=t,this.matches=null}clone(){return new tm(this.queryList)}setDirty(){this.queryList.setDirty()}}class nm{constructor(t=[]){this.queries=t}createEmbeddedView(t){const n=t.queries;if(null!==n){const r=null!==t.contentQueries?t.contentQueries[0]:n.length,c=[];for(let h=0;h0)r.push(p[C/2]);else{const W=h[C+1],re=t[-S];for(let me=wo;me{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=un(Xy,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const c of this.appInits){const h=c();if(N1(h))n.push(h);else if(D_(h)){const p=new Promise((C,S)=>{h.subscribe({complete:C,error:S})});n.push(p)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(c=>{this.reject(c)}),0===n.length&&r(),this.initialized=!0}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=pt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Jy=(()=>{class e{log(n){console.log(n)}warn(n){console.warn(n)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=pt({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const qf=new _t("LocaleId",{providedIn:"root",factory:()=>un(qf,Re.Optional|Re.SkipSelf)||function $D(){return typeof $localize<"u"&&$localize.locale||ru}()}),zD=new _t("DefaultCurrencyCode",{providedIn:"root",factory:()=>"USD"});let qy=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new L.X(!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)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=pt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class GD{constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}}let YD=(()=>{class e{compileModuleSync(n){return new J1(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){const r=this.compileModuleSync(n),h=Ns(ho(n).declarations).reduce((p,C)=>{const S=Wt(C);return S&&p.push(new vd(S)),p},[]);return new GD(r,h)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=pt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const o2=new _t(""),r2=new _t("");let gm,p9=(()=>{class e{constructor(n,r,c){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,gm||(function m9(e){gm=e}(c),c.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:()=>{Ir.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,c){let h=-1;r&&r>0&&(h=setTimeout(()=>{this._callbacks=this._callbacks.filter(p=>p.timeoutId!==h),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:h,updateCb:c})}whenStable(n,r,c){if(c&&!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,c),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,c){return[]}static#e=this.\u0275fac=function(r){return new(r||e)(on(Ir),on(s2),on(r2))};static#t=this.\u0275prov=pt({token:e,factory:e.\u0275fac})}return e})(),s2=(()=>{class e{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 gm?.findTestabilityInTree(this,n,r)??null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=pt({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),Ka=null;const a2=new _t("AllowMultipleToken"),pm=new _t("PlatformDestroyListeners"),mm=new _t("appBootstrapListener");class y9{constructor(t,n){this.name=t,this.token=n}}function u2(e,t,n=[]){const r=`Platform: ${t}`,c=new _t(r);return(h=[])=>{let p=_m();if(!p||p.injector.get(a2,!1)){const C=[...n,...h,{provide:c,useValue:!0}];e?e(C):function C9(e){if(Ka&&!Ka.get(a2,!1))throw new Z(400,!1);(function c2(){!function zo(e){Gn=e}(()=>{throw new Z(600,!1)})})(),Ka=e;const t=e.get(h2);(function l2(e){e.get(qh,null)?.forEach(n=>n())})(e)}(function d2(e=[],t){return ds.create({name:t,providers:[{provide:wc,useValue:"platform"},{provide:pm,useValue:new Set([()=>Ka=null])},...e]})}(C,r))}return function D9(e){const t=_m();if(!t)throw new Z(401,!1);return t}()}}function _m(){return Ka?.get(h2)??null}let h2=(()=>{class e{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const c=function E9(e="zone.js",t){return"noop"===e?new o1:"zone.js"===e?new Ir(t):e}(r?.ngZone,function f2(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return c.run(()=>{const h=function k8(e,t,n){return new X1(e,t,n)}(n.moduleType,this.injector,function v2(e){return[{provide:Ir,useFactory:e},{provide:La,multi:!0,useFactory:()=>{const t=un(M9,{optional:!0});return()=>t.initialize()}},{provide:_2,useFactory:w9},{provide:hd,useFactory:kc}]}(()=>c)),p=h.injector.get(Cs,null);return c.runOutsideAngular(()=>{const C=c.onError.subscribe({next:S=>{p.handleError(S)}});h.onDestroy(()=>{tg(this._modules,h),C.unsubscribe()})}),function g2(e,t,n){try{const r=n();return N1(r)?r.catch(c=>{throw t.runOutsideAngular(()=>e.handleError(c)),c}):r}catch(r){throw t.runOutsideAngular(()=>e.handleError(r)),r}}(p,c,()=>{const C=h.injector.get(dm);return C.runInitializers(),C.donePromise.then(()=>(function Dv(e){rt(e,"Expected localeId to be defined"),"string"==typeof e&&(bv=e.toLowerCase().replace(/_/g,"-"))}(h.injector.get(qf,ru)||ru),this._moduleDoBootstrap(h),h))})})}bootstrapModule(n,r=[]){const c=p2({},r);return function _9(e,t,n){const r=new J1(n);return Promise.resolve(r)}(0,0,n).then(h=>this.bootstrapModuleFactory(h,c))}_moduleDoBootstrap(n){const r=n.injector.get(au);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(c=>r.bootstrap(c));else{if(!n.instance.ngDoBootstrap)throw new Z(-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 Z(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(pm,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(r){return new(r||e)(on(ds))};static#t=this.\u0275prov=pt({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function p2(e,t){return Array.isArray(t)?t.reduce(p2,e):{...e,...t}}let au=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=un(_2),this.zoneIsStable=un(hd),this.componentTypes=[],this.components=[],this.isStable=un(qy).hasPendingTasks.pipe((0,O.w)(n=>n?(0,P.of)(!1):this.zoneIsStable),(0,x.x)(),(0,R.B)()),this._injector=un(Pi)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const c=n instanceof Ac;if(!this._injector.get(dm).done)throw!c&&ao(n),new Z(405,!1);let p;p=c?n:this._injector.get(Nc).resolveComponentFactory(n),this.componentTypes.push(p.componentType);const C=function v9(e){return e.isBoundToModule}(p)?void 0:this._injector.get(Uc),W=p.create(ds.NULL,[],r||p.selector,C),re=W.location.nativeElement,me=W.injector.get(o2,null);return me?.registerApplication(re),W.onDestroy(()=>{this.detachView(W.hostView),tg(this.components,W),me?.unregisterApplication(re)}),this._loadComponent(W),W}tick(){if(this._runningTick)throw new Z(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;tg(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(mm,[]);r.push(...this._bootstrapListeners),r.forEach(c=>c(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),()=>tg(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new Z(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=pt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function tg(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const _2=new _t("",{providedIn:"root",factory:()=>un(Cs).handleError.bind(void 0)});function w9(){const e=un(Ir),t=un(Cs);return n=>e.runOutsideAngular(()=>t.handleError(n))}let M9=(()=>{class e{constructor(){this.zone=un(Ir),this.applicationRef=un(au)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=pt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function S9(){return!1}let T9=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=x9}return e})();function x9(e){return function P9(e,t,n){if(pr(e)&&!n){const r=Er(e.index,t);return new _d(r,r)}return 47&e.type?new _d(t[fo],t):null}(xr(),Ot(),16==(16&e))}class D2{constructor(){}supports(t){return If(t)}create(t){return new F9(t)}}const k9=(e,t)=>t;class F9{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||k9}forEachItem(t){let n;for(n=this._itHead;null!==n;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,r=this._removalsHead,c=0,h=null;for(;n||r;){const p=!r||n&&n.currentIndex{p=this._trackByFn(c,C),null!==n&&Object.is(n.trackById,p)?(r&&(n=this._verifyReinsertion(n,C,p,c)),Object.is(n.item,C)||this._addIdentityChange(n,C)):(n=this._mismatch(n,C,p,c),r=!0),n=n._next,c++}),this.length=c;return this._truncate(n),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,n,r,c){let h;return null===t?h=this._itTail:(h=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,h,c)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(r,c))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,h,c)):t=this._addAfter(new L9(n,r),h,c),t}_verifyReinsertion(t,n,r,c){let h=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==h?t=this._reinsertAfter(h,t._prev,c):t.currentIndex!=c&&(t.currentIndex=c,this._addToMoves(t,c)),t}_truncate(t){for(;null!==t;){const n=t._next;this._addToRemovals(this._unlink(t)),t=n}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,n,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const c=t._prevRemoved,h=t._nextRemoved;return null===c?this._removalsHead=h:c._nextRemoved=h,null===h?this._removalsTail=c:h._prevRemoved=c,this._insertAfter(t,n,r),this._addToMoves(t,r),t}_moveAfter(t,n,r){return this._unlink(t),this._insertAfter(t,n,r),this._addToMoves(t,r),t}_addAfter(t,n,r){return this._insertAfter(t,n,r),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,n,r){const c=null===n?this._itHead:n._next;return t._next=c,t._prev=n,null===c?this._itTail=t:c._prev=t,null===n?this._itHead=t:n._next=t,null===this._linkedRecords&&(this._linkedRecords=new E2),this._linkedRecords.put(t),t.currentIndex=r,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const n=t._prev,r=t._next;return null===n?this._itHead=r:n._next=r,null===r?this._itTail=n:r._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new E2),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,n){return t.item=n,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class L9{constructor(t,n){this.item=t,this.trackById=n,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 B9{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,n){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===n||n<=r.currentIndex)&&Object.is(r.trackById,t))return r;return null}remove(t){const n=t._prevDup,r=t._nextDup;return null===n?this._head=r:n._nextDup=r,null===r?this._tail=n:r._prevDup=n,null===this._head}}class E2{constructor(){this.map=new Map}put(t){const n=t.trackById;let r=this.map.get(n);r||(r=new B9,this.map.set(n,r)),r.add(t)}get(t,n){const c=this.map.get(t);return c?c.get(t,n):null}remove(t){const n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function w2(e,t,n){const r=e.previousIndex;if(null===r)return r;let c=0;return n&&r{if(n&&n.key===c)this._maybeAddToChanges(n,r),this._appendAfter=n,n=n._next;else{const h=this._getOrCreateRecordForKey(c,r);n=this._insertBeforeOrAppend(n,h)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let r=n;null!==r;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,n){if(t){const r=t._prev;return n._next=t,n._prev=r,t._prev=n,r&&(r._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){const c=this._records.get(t);this._maybeAddToChanges(c,n);const h=c._prev,p=c._next;return h&&(h._next=p),p&&(p._prev=h),c._next=null,c._prev=null,c}const r=new H9(t);return this._records.set(t,r),r.currentValue=n,this._addToAdditions(r),r}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(r=>n(t[r],r))}}class H9{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function O2(){return new Dm([new D2])}let Dm=(()=>{class e{static#e=this.\u0275prov=pt({token:e,providedIn:"root",factory:O2});constructor(n){this.factories=n}static create(n,r){if(null!=r){const c=r.factories.slice();n=n.concat(c)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||O2()),deps:[[e,new ll,new cl]]}}find(n){const r=this.factories.find(c=>c.supports(n));if(null!=r)return r;throw new Z(901,!1)}}return e})();function S2(){return new Em([new M2])}let Em=(()=>{class e{static#e=this.\u0275prov=pt({token:e,providedIn:"root",factory:S2});constructor(n){this.factories=n}static create(n,r){if(r){const c=r.factories.slice();n=n.concat(c)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||S2()),deps:[[e,new ll,new cl]]}}find(n){const r=this.factories.find(c=>c.supports(n));if(r)return r;throw new Z(901,!1)}}return e})();const $9=u2(null,"core",[]);let z9=(()=>{class e{constructor(n){}static#e=this.\u0275fac=function(r){return new(r||e)(on(au))};static#t=this.\u0275mod=Xo({type:e});static#n=this.\u0275inj=qt({})}return e})();function t6(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}function o6(e){const t=Wt(e);if(!t)return null;const n=new vd(t);return{get selector(){return n.selector},get type(){return n.componentType},get inputs(){return n.inputs},get outputs(){return n.outputs},get ngContentSelectors(){return n.ngContentSelectors},get isStandalone(){return t.standalone},get isSignal(){return t.signals}}}},1993:(ve,_,d)=>{"use strict";d.d(_,{Dx:()=>P,O4:()=>Io,sL:()=>L});var s=d(5879),m=d(5592),o=d(7328),N=d(9773);function L(Re){Re||((0,s.gHi)(L),Re=(0,s.f3M)(s.ktI));const $e=new m.y(Oe=>Re.onDestroy(Oe.next.bind(Oe)));return Oe=>Oe.pipe((0,N.R)($e))}function P(Re,$e){!$e?.injector&&(0,s.gHi)(P);const Oe=$e?.injector??(0,s.f3M)(s.zs3),$=new o.t(1),ne=(0,s.cEC)(()=>{let fe;try{fe=Re()}catch(Be){return void(0,s.rg0)(()=>$.error(Be))}(0,s.rg0)(()=>$.next(fe))},{injector:Oe,manualCleanup:!0});return Oe.get(s.ktI).onDestroy(()=>{ne.destroy(),$.complete()}),$.asObservable()}class x extends Error{constructor($e,Oe){super(function D(Re,$e){return`NG0${Math.abs(Re)}${$e?": "+$e:""}`}($e,Oe)),this.code=$e}}let K=null;function ae(Re){const $e=K;return K=Re,$e}function Io(Re,$e){const Oe=!$e?.manualCleanup;Oe&&!$e?.injector&&(0,s.gHi)(Io);const $=Oe?$e?.injector?.get(s.ktI)??(0,s.f3M)(s.ktI):null;let ne;return ne=(0,s.tdS)($e?.requireSync?{kind:0}:{kind:1,value:$e?.initialValue}),function qn(Re){const $e=ae(null);try{return Re()}finally{ae($e)}}(()=>{const fe=Re.subscribe({next:Be=>ne.set({kind:1,value:Be}),error:Be=>ne.set({kind:2,error:Be})});$?.onDestroy(fe.unsubscribe.bind(fe))}),(0,s.Flj)(()=>{const fe=ne();switch(fe.kind){case 1:return fe.value;case 2:throw fe.error;case 0:throw new x(601,"`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.")}})}},95:(ve,_,d)=>{"use strict";d.d(_,{Fj:()=>Z,qu:()=>Ms,oH:()=>fi,sg:()=>zt,u5:()=>Bs,a5:()=>$n,JJ:()=>$e,JL:()=>Oe,On:()=>kr,wV:()=>Qt,UX:()=>It,_Y:()=>wi});var s=d(5879),m=d(6814),o=d(9666),N=d(5592),L=d(7453),P=d(4829),R=d(9940),O=d(8251),x=d(7400),D=d(2714),F=d(7398);let j=(()=>{class k{constructor(w,g){this._renderer=w,this._elementRef=g,this.onChange=I=>{},this.onTouched=()=>{}}setProperty(w,g){this._renderer.setProperty(this._elementRef.nativeElement,w,g)}registerOnTouched(w){this.onTouched=w}registerOnChange(w){this.onChange=w}setDisabledState(w){this.setProperty("disabled",w)}static#e=this.\u0275fac=function(g){return new(g||k)(s.Y36(s.Qsj),s.Y36(s.SBq))};static#t=this.\u0275dir=s.lG2({type:k})}return k})(),V=(()=>{class k extends j{static#e=this.\u0275fac=function(){let w;return function(I){return(w||(w=s.n5z(k)))(I||k)}}();static#t=this.\u0275dir=s.lG2({type:k,features:[s.qOj]})}return k})();const U=new s.OlP("NgValueAccessor"),ce={provide:U,useExisting:(0,s.Gpc)(()=>Z),multi:!0},oe=new s.OlP("CompositionEventMode");let Z=(()=>{class k extends j{constructor(w,g,I){super(w,g),this._compositionMode=I,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function ae(){const k=(0,m.q)()?(0,m.q)().getUserAgent():"";return/android (\d+)/.test(k.toLowerCase())}())}writeValue(w){this.setProperty("value",w??"")}_handleInput(w){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(w)}_compositionStart(){this._composing=!0}_compositionEnd(w){this._composing=!1,this._compositionMode&&this.onChange(w)}static#e=this.\u0275fac=function(g){return new(g||k)(s.Y36(s.Qsj),s.Y36(s.SBq),s.Y36(oe,8))};static#t=this.\u0275dir=s.lG2({type:k,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(g,I){1&g&&s.NdJ("input",function(he){return I._handleInput(he.target.value)})("blur",function(){return I.onTouched()})("compositionstart",function(){return I._compositionStart()})("compositionend",function(he){return I._compositionEnd(he.target.value)})},features:[s._Bn([ce]),s.qOj]})}return k})();const ie=new s.OlP("NgValidators"),ge=new s.OlP("NgAsyncValidators");function je(k){return null!=k}function Ge(k){return(0,s.QGY)(k)?(0,o.D)(k):k}function Le(k){let B={};return k.forEach(w=>{B=null!=w?{...B,...w}:B}),0===Object.keys(B).length?null:B}function ct(k,B){return B.map(w=>w(k))}function rt(k){return k.map(B=>function lt(k){return!k.validate}(B)?B:w=>B.validate(w))}function it(k){return null!=k?function De(k){if(!k)return null;const B=k.filter(je);return 0==B.length?null:function(w){return Le(ct(w,B))}}(rt(k)):null}function jt(k){return null!=k?function Ct(k){if(!k)return null;const B=k.filter(je);return 0==B.length?null:function(w){return function v(...k){const B=(0,R.jO)(k),{args:w,keys:g}=(0,L.D)(k),I=new N.y(X=>{const{length:he}=w;if(!he)return void X.complete();const Ue=new Array(he);let ot=he,Ze=he;for(let yt=0;yt{Tt||(Tt=!0,Ze--),Ue[yt]=xt},()=>ot--,void 0,()=>{(!ot||!Tt)&&(Ze||X.next(g?(0,D.n)(g,Ue):Ue),X.complete())}))}});return B?I.pipe((0,x.Z)(B)):I}(ct(w,B).map(Ge)).pipe((0,F.U)(Le))}}(rt(k)):null}function pt(k,B){return null===k?[B]:Array.isArray(k)?[...k,B]:[k,B]}function tn(k){return k._rawValidators}function qt(k){return k._rawAsyncValidators}function _n(k){return k?Array.isArray(k)?k:[k]:[]}function In(k,B){return Array.isArray(k)?k.includes(B):k===B}function no(k,B){const w=_n(B);return _n(k).forEach(I=>{In(w,I)||w.push(I)}),w}function qn(k,B){return _n(B).filter(w=>!In(k,w))}class ko{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(B){this._rawValidators=B||[],this._composedValidatorFn=it(this._rawValidators)}_setAsyncValidators(B){this._rawAsyncValidators=B||[],this._composedAsyncValidatorFn=jt(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(B){this._onDestroyCallbacks.push(B)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(B=>B()),this._onDestroyCallbacks=[]}reset(B=void 0){this.control&&this.control.reset(B)}hasError(B,w){return!!this.control&&this.control.hasError(B,w)}getError(B,w){return this.control?this.control.getError(B,w):null}}class Un extends ko{get formDirective(){return null}get path(){return null}}class $n extends ko{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Ao{constructor(B){this._cd=B}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 $e=(()=>{class k extends Ao{constructor(w){super(w)}static#e=this.\u0275fac=function(g){return new(g||k)(s.Y36($n,2))};static#t=this.\u0275dir=s.lG2({type:k,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(g,I){2&g&&s.ekj("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:[s.qOj]})}return k})(),Oe=(()=>{class k extends Ao{constructor(w){super(w)}static#e=this.\u0275fac=function(g){return new(g||k)(s.Y36(Un,10))};static#t=this.\u0275dir=s.lG2({type:k,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(g,I){2&g&&s.ekj("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:[s.qOj]})}return k})();const Vo="VALID",Te="INVALID",et="PENDING",Pt="DISABLED";function gn(k){return(pe(k)?k.validators:k)||null}function He(k,B){return(pe(B)?B.asyncValidators:k)||null}function pe(k){return null!=k&&!Array.isArray(k)&&"object"==typeof k}function We(k,B,w){const g=k.controls;if(!(B?Object.keys(g):g).length)throw new s.vHH(1e3,"");if(!g[w])throw new s.vHH(1001,"")}function Et(k,B,w){k._forEachChild((g,I)=>{if(void 0===w[I])throw new s.vHH(1002,"")})}class Ht{constructor(B,w){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(B),this._assignAsyncValidators(w)}get validator(){return this._composedValidatorFn}set validator(B){this._rawValidators=this._composedValidatorFn=B}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(B){this._rawAsyncValidators=this._composedAsyncValidatorFn=B}get parent(){return this._parent}get valid(){return this.status===Vo}get invalid(){return this.status===Te}get pending(){return this.status==et}get disabled(){return this.status===Pt}get enabled(){return this.status!==Pt}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(B){this._assignValidators(B)}setAsyncValidators(B){this._assignAsyncValidators(B)}addValidators(B){this.setValidators(no(B,this._rawValidators))}addAsyncValidators(B){this.setAsyncValidators(no(B,this._rawAsyncValidators))}removeValidators(B){this.setValidators(qn(B,this._rawValidators))}removeAsyncValidators(B){this.setAsyncValidators(qn(B,this._rawAsyncValidators))}hasValidator(B){return In(this._rawValidators,B)}hasAsyncValidator(B){return In(this._rawAsyncValidators,B)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(B={}){this.touched=!0,this._parent&&!B.onlySelf&&this._parent.markAsTouched(B)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(B=>B.markAllAsTouched())}markAsUntouched(B={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(w=>{w.markAsUntouched({onlySelf:!0})}),this._parent&&!B.onlySelf&&this._parent._updateTouched(B)}markAsDirty(B={}){this.pristine=!1,this._parent&&!B.onlySelf&&this._parent.markAsDirty(B)}markAsPristine(B={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(w=>{w.markAsPristine({onlySelf:!0})}),this._parent&&!B.onlySelf&&this._parent._updatePristine(B)}markAsPending(B={}){this.status=et,!1!==B.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!B.onlySelf&&this._parent.markAsPending(B)}disable(B={}){const w=this._parentMarkedDirty(B.onlySelf);this.status=Pt,this.errors=null,this._forEachChild(g=>{g.disable({...B,onlySelf:!0})}),this._updateValue(),!1!==B.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...B,skipPristineCheck:w}),this._onDisabledChange.forEach(g=>g(!0))}enable(B={}){const w=this._parentMarkedDirty(B.onlySelf);this.status=Vo,this._forEachChild(g=>{g.enable({...B,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:B.emitEvent}),this._updateAncestors({...B,skipPristineCheck:w}),this._onDisabledChange.forEach(g=>g(!1))}_updateAncestors(B){this._parent&&!B.onlySelf&&(this._parent.updateValueAndValidity(B),B.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(B){this._parent=B}getRawValue(){return this.value}updateValueAndValidity(B={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Vo||this.status===et)&&this._runAsyncValidator(B.emitEvent)),!1!==B.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!B.onlySelf&&this._parent.updateValueAndValidity(B)}_updateTreeValidity(B={emitEvent:!0}){this._forEachChild(w=>w._updateTreeValidity(B)),this.updateValueAndValidity({onlySelf:!0,emitEvent:B.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Pt:Vo}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(B){if(this.asyncValidator){this.status=et,this._hasOwnPendingAsyncValidator=!0;const w=Ge(this.asyncValidator(this));this._asyncValidationSubscription=w.subscribe(g=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(g,{emitEvent:B})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(B,w={}){this.errors=B,this._updateControlsErrors(!1!==w.emitEvent)}get(B){let w=B;return null==w||(Array.isArray(w)||(w=w.split(".")),0===w.length)?null:w.reduce((g,I)=>g&&g._find(I),this)}getError(B,w){const g=w?this.get(w):this;return g&&g.errors?g.errors[B]:null}hasError(B,w){return!!this.getError(B,w)}get root(){let B=this;for(;B._parent;)B=B._parent;return B}_updateControlsErrors(B){this.status=this._calculateStatus(),B&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(B)}_initObservables(){this.valueChanges=new s.vpe,this.statusChanges=new s.vpe}_calculateStatus(){return this._allControlsDisabled()?Pt:this.errors?Te:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(et)?et:this._anyControlsHaveStatus(Te)?Te:Vo}_anyControlsHaveStatus(B){return this._anyControls(w=>w.status===B)}_anyControlsDirty(){return this._anyControls(B=>B.dirty)}_anyControlsTouched(){return this._anyControls(B=>B.touched)}_updatePristine(B={}){this.pristine=!this._anyControlsDirty(),this._parent&&!B.onlySelf&&this._parent._updatePristine(B)}_updateTouched(B={}){this.touched=this._anyControlsTouched(),this._parent&&!B.onlySelf&&this._parent._updateTouched(B)}_registerOnCollectionChange(B){this._onCollectionChange=B}_setUpdateStrategy(B){pe(B)&&null!=B.updateOn&&(this._updateOn=B.updateOn)}_parentMarkedDirty(B){return!B&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(B){return null}_assignValidators(B){this._rawValidators=Array.isArray(B)?B.slice():B,this._composedValidatorFn=function Xe(k){return Array.isArray(k)?it(k):k||null}(this._rawValidators)}_assignAsyncValidators(B){this._rawAsyncValidators=Array.isArray(B)?B.slice():B,this._composedAsyncValidatorFn=function de(k){return Array.isArray(k)?jt(k):k||null}(this._rawAsyncValidators)}}class on extends Ht{constructor(B,w,g){super(gn(w),He(g,w)),this.controls=B,this._initObservables(),this._setUpdateStrategy(w),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(B,w){return this.controls[B]?this.controls[B]:(this.controls[B]=w,w.setParent(this),w._registerOnCollectionChange(this._onCollectionChange),w)}addControl(B,w,g={}){this.registerControl(B,w),this.updateValueAndValidity({emitEvent:g.emitEvent}),this._onCollectionChange()}removeControl(B,w={}){this.controls[B]&&this.controls[B]._registerOnCollectionChange(()=>{}),delete this.controls[B],this.updateValueAndValidity({emitEvent:w.emitEvent}),this._onCollectionChange()}setControl(B,w,g={}){this.controls[B]&&this.controls[B]._registerOnCollectionChange(()=>{}),delete this.controls[B],w&&this.registerControl(B,w),this.updateValueAndValidity({emitEvent:g.emitEvent}),this._onCollectionChange()}contains(B){return this.controls.hasOwnProperty(B)&&this.controls[B].enabled}setValue(B,w={}){Et(this,0,B),Object.keys(B).forEach(g=>{We(this,!0,g),this.controls[g].setValue(B[g],{onlySelf:!0,emitEvent:w.emitEvent})}),this.updateValueAndValidity(w)}patchValue(B,w={}){null!=B&&(Object.keys(B).forEach(g=>{const I=this.controls[g];I&&I.patchValue(B[g],{onlySelf:!0,emitEvent:w.emitEvent})}),this.updateValueAndValidity(w))}reset(B={},w={}){this._forEachChild((g,I)=>{g.reset(B?B[I]:null,{onlySelf:!0,emitEvent:w.emitEvent})}),this._updatePristine(w),this._updateTouched(w),this.updateValueAndValidity(w)}getRawValue(){return this._reduceChildren({},(B,w,g)=>(B[g]=w.getRawValue(),B))}_syncPendingControls(){let B=this._reduceChildren(!1,(w,g)=>!!g._syncPendingControls()||w);return B&&this.updateValueAndValidity({onlySelf:!0}),B}_forEachChild(B){Object.keys(this.controls).forEach(w=>{const g=this.controls[w];g&&B(g,w)})}_setUpControls(){this._forEachChild(B=>{B.setParent(this),B._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(B){for(const[w,g]of Object.entries(this.controls))if(this.contains(w)&&B(g))return!0;return!1}_reduceValue(){return this._reduceChildren({},(w,g,I)=>((g.enabled||this.disabled)&&(w[I]=g.value),w))}_reduceChildren(B,w){let g=B;return this._forEachChild((I,X)=>{g=w(g,I,X)}),g}_allControlsDisabled(){for(const B of Object.keys(this.controls))if(this.controls[B].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(B){return this.controls.hasOwnProperty(B)?this.controls[B]:null}}class io extends on{}const Ve=new s.OlP("CallSetDisabledState",{providedIn:"root",factory:()=>Ee}),Ee="always";function dt(k,B,w=Ee){ht(k,B),B.valueAccessor.writeValue(k.value),(k.disabled||"always"===w)&&B.valueAccessor.setDisabledState?.(k.disabled),function gt(k,B){B.valueAccessor.registerOnChange(w=>{k._pendingValue=w,k._pendingChange=!0,k._pendingDirty=!0,"change"===k.updateOn&&$t(k,B)})}(k,B),function Gt(k,B){const w=(g,I)=>{B.valueAccessor.writeValue(g),I&&B.viewToModelUpdate(g)};k.registerOnChange(w),B._registerOnDestroy(()=>{k._unregisterOnChange(w)})}(k,B),function Bt(k,B){B.valueAccessor.registerOnTouched(()=>{k._pendingTouched=!0,"blur"===k.updateOn&&k._pendingChange&&$t(k,B),"submit"!==k.updateOn&&k.markAsTouched()})}(k,B),function we(k,B){if(B.valueAccessor.setDisabledState){const w=g=>{B.valueAccessor.setDisabledState(g)};k.registerOnDisabledChange(w),B._registerOnDestroy(()=>{k._unregisterOnDisabledChange(w)})}}(k,B)}function Mt(k,B,w=!0){const g=()=>{};B.valueAccessor&&(B.valueAccessor.registerOnChange(g),B.valueAccessor.registerOnTouched(g)),Qe(k,B),k&&(B._invokeOnDestroyCallbacks(),k._registerOnCollectionChange(()=>{}))}function ue(k,B){k.forEach(w=>{w.registerOnValidatorChange&&w.registerOnValidatorChange(B)})}function ht(k,B){const w=tn(k);null!==B.validator?k.setValidators(pt(w,B.validator)):"function"==typeof w&&k.setValidators([w]);const g=qt(k);null!==B.asyncValidator?k.setAsyncValidators(pt(g,B.asyncValidator)):"function"==typeof g&&k.setAsyncValidators([g]);const I=()=>k.updateValueAndValidity();ue(B._rawValidators,I),ue(B._rawAsyncValidators,I)}function Qe(k,B){let w=!1;if(null!==k){if(null!==B.validator){const I=tn(k);if(Array.isArray(I)&&I.length>0){const X=I.filter(he=>he!==B.validator);X.length!==I.length&&(w=!0,k.setValidators(X))}}if(null!==B.asyncValidator){const I=qt(k);if(Array.isArray(I)&&I.length>0){const X=I.filter(he=>he!==B.asyncValidator);X.length!==I.length&&(w=!0,k.setAsyncValidators(X))}}}const g=()=>{};return ue(B._rawValidators,g),ue(B._rawAsyncValidators,g),w}function $t(k,B){k._pendingDirty&&k.markAsDirty(),k.setValue(k._pendingValue,{emitModelToViewChange:!1}),B.viewToModelUpdate(k._pendingValue),k._pendingChange=!1}function Tn(k,B){if(!k.hasOwnProperty("model"))return!1;const w=k.model;return!!w.isFirstChange()||!Object.is(B,w.currentValue)}function So(k,B){if(!B)return null;let w,g,I;return Array.isArray(B),B.forEach(X=>{X.constructor===Z?w=X:function uo(k){return Object.getPrototypeOf(k.constructor)===V}(X)?g=X:I=X}),I||g||w||null}function jr(k,B){const w=k.indexOf(B);w>-1&&k.splice(w,1)}function Di(k){return"object"==typeof k&&null!==k&&2===Object.keys(k).length&&"value"in k&&"disabled"in k}const Or=class extends Ht{constructor(B=null,w,g){super(gn(w),He(g,w)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(B),this._setUpdateStrategy(w),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),pe(w)&&(w.nonNullable||w.initialValueIsDefault)&&(this.defaultValue=Di(B)?B.value:B)}setValue(B,w={}){this.value=this._pendingValue=B,this._onChange.length&&!1!==w.emitModelToViewChange&&this._onChange.forEach(g=>g(this.value,!1!==w.emitViewToModelChange)),this.updateValueAndValidity(w)}patchValue(B,w={}){this.setValue(B,w)}reset(B=this.defaultValue,w={}){this._applyFormState(B),this.markAsPristine(w),this.markAsUntouched(w),this.setValue(this.value,w),this._pendingChange=!1}_updateValue(){}_anyControls(B){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(B){this._onChange.push(B)}_unregisterOnChange(B){jr(this._onChange,B)}registerOnDisabledChange(B){this._onDisabledChange.push(B)}_unregisterOnDisabledChange(B){jr(this._onDisabledChange,B)}_forEachChild(B){}_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(B){Di(B)?(this.value=this._pendingValue=B.value,B.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=B}},Rr={provide:$n,useExisting:(0,s.Gpc)(()=>kr)},Xo=(()=>Promise.resolve())();let kr=(()=>{class k extends $n{constructor(w,g,I,X,he,Ue){super(),this._changeDetectorRef=he,this.callSetDisabledState=Ue,this.control=new Or,this._registered=!1,this.name="",this.update=new s.vpe,this._parent=w,this._setValidators(g),this._setAsyncValidators(I),this.valueAccessor=So(0,X)}ngOnChanges(w){if(this._checkForErrors(),!this._registered||"name"in w){if(this._registered&&(this._checkName(),this.formDirective)){const g=w.name.previousValue;this.formDirective.removeControl({name:g,path:this._getPath(g)})}this._setUpControl()}"isDisabled"in w&&this._updateDisabled(w),Tn(w,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(w){this.viewModel=w,this.update.emit(w)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){dt(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(w){Xo.then(()=>{this.control.setValue(w,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(w){const g=w.isDisabled.currentValue,I=0!==g&&(0,s.VuI)(g);Xo.then(()=>{I&&!this.control.disabled?this.control.disable():!I&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(w){return this._parent?function Ne(k,B){return[...B.path,k]}(w,this._parent):[w]}static#e=this.\u0275fac=function(g){return new(g||k)(s.Y36(Un,9),s.Y36(ie,10),s.Y36(ge,10),s.Y36(U,10),s.Y36(s.sBO,8),s.Y36(Ve,8))};static#t=this.\u0275dir=s.lG2({type:k,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[s._Bn([Rr]),s.qOj,s.TTD]})}return k})(),wi=(()=>{class k{static#e=this.\u0275fac=function(g){return new(g||k)};static#t=this.\u0275dir=s.lG2({type:k,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return k})();const Zt={provide:U,useExisting:(0,s.Gpc)(()=>Qt),multi:!0};let Qt=(()=>{class k extends V{writeValue(w){this.setProperty("value",w??"")}registerOnChange(w){this.onChange=g=>{w(""==g?null:parseFloat(g))}}static#e=this.\u0275fac=function(){let w;return function(I){return(w||(w=s.n5z(k)))(I||k)}}();static#t=this.\u0275dir=s.lG2({type:k,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(g,I){1&g&&s.NdJ("input",function(he){return I.onChange(he.target.value)})("blur",function(){return I.onTouched()})},features:[s._Bn([Zt]),s.qOj]})}return k})(),Bn=(()=>{class k{static#e=this.\u0275fac=function(g){return new(g||k)};static#t=this.\u0275mod=s.oAB({type:k});static#n=this.\u0275inj=s.cJS({})}return k})();const hi=new s.OlP("NgModelWithFormControlWarning"),Vr={provide:$n,useExisting:(0,s.Gpc)(()=>fi)};let fi=(()=>{class k extends $n{set isDisabled(w){}static#e=this._ngModelWarningSentOnce=!1;constructor(w,g,I,X,he){super(),this._ngModelWarningConfig=X,this.callSetDisabledState=he,this.update=new s.vpe,this._ngModelWarningSent=!1,this._setValidators(w),this._setAsyncValidators(g),this.valueAccessor=So(0,I)}ngOnChanges(w){if(this._isControlChanged(w)){const g=w.form.previousValue;g&&Mt(g,this,!1),dt(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}Tn(w,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&Mt(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(w){this.viewModel=w,this.update.emit(w)}_isControlChanged(w){return w.hasOwnProperty("form")}static#t=this.\u0275fac=function(g){return new(g||k)(s.Y36(ie,10),s.Y36(ge,10),s.Y36(U,10),s.Y36(hi,8),s.Y36(Ve,8))};static#n=this.\u0275dir=s.lG2({type:k,selectors:[["","formControl",""]],inputs:{form:["formControl","form"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[s._Bn([Vr]),s.qOj,s.TTD]})}return k})();const _o={provide:Un,useExisting:(0,s.Gpc)(()=>zt)};let zt=(()=>{class k extends Un{constructor(w,g,I){super(),this.callSetDisabledState=I,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new s.vpe,this._setValidators(w),this._setAsyncValidators(g)}ngOnChanges(w){this._checkFormPresent(),w.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Qe(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(w){const g=this.form.get(w.path);return dt(g,w,this.callSetDisabledState),g.updateValueAndValidity({emitEvent:!1}),this.directives.push(w),g}getControl(w){return this.form.get(w.path)}removeControl(w){Mt(w.control||null,w,!1),function On(k,B){const w=k.indexOf(B);w>-1&&k.splice(w,1)}(this.directives,w)}addFormGroup(w){this._setUpFormContainer(w)}removeFormGroup(w){this._cleanUpFormContainer(w)}getFormGroup(w){return this.form.get(w.path)}addFormArray(w){this._setUpFormContainer(w)}removeFormArray(w){this._cleanUpFormContainer(w)}getFormArray(w){return this.form.get(w.path)}updateModel(w,g){this.form.get(w.path).setValue(g)}onSubmit(w){return this.submitted=!0,function No(k,B){k._syncPendingControls(),B.forEach(w=>{const g=w.control;"submit"===g.updateOn&&g._pendingChange&&(w.viewToModelUpdate(g._pendingValue),g._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(w),"dialog"===w?.target?.method}onReset(){this.resetForm()}resetForm(w=void 0){this.form.reset(w),this.submitted=!1}_updateDomValue(){this.directives.forEach(w=>{const g=w.control,I=this.form.get(w.path);g!==I&&(Mt(g||null,w),(k=>k instanceof Or)(I)&&(dt(I,w,this.callSetDisabledState),w.control=I))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(w){const g=this.form.get(w.path);(function Xt(k,B){ht(k,B)})(g,w),g.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(w){if(this.form){const g=this.form.get(w.path);g&&function an(k,B){return Qe(k,B)}(g,w)&&g.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){ht(this.form,this),this._oldForm&&Qe(this._oldForm,this)}_checkFormPresent(){}static#e=this.\u0275fac=function(g){return new(g||k)(s.Y36(ie,10),s.Y36(ge,10),s.Y36(Ve,8))};static#t=this.\u0275dir=s.lG2({type:k,selectors:[["","formGroup",""]],hostBindings:function(g,I){1&g&&s.NdJ("submit",function(he){return I.onSubmit(he)})("reset",function(){return I.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[s._Bn([_o]),s.qOj,s.TTD]})}return k})(),_i=(()=>{class k{static#e=this.\u0275fac=function(g){return new(g||k)};static#t=this.\u0275mod=s.oAB({type:k});static#n=this.\u0275inj=s.cJS({imports:[Bn]})}return k})();class is extends Ht{constructor(B,w,g){super(gn(w),He(g,w)),this.controls=B,this._initObservables(),this._setUpdateStrategy(w),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(B){return this.controls[this._adjustIndex(B)]}push(B,w={}){this.controls.push(B),this._registerControl(B),this.updateValueAndValidity({emitEvent:w.emitEvent}),this._onCollectionChange()}insert(B,w,g={}){this.controls.splice(B,0,w),this._registerControl(w),this.updateValueAndValidity({emitEvent:g.emitEvent})}removeAt(B,w={}){let g=this._adjustIndex(B);g<0&&(g=0),this.controls[g]&&this.controls[g]._registerOnCollectionChange(()=>{}),this.controls.splice(g,1),this.updateValueAndValidity({emitEvent:w.emitEvent})}setControl(B,w,g={}){let I=this._adjustIndex(B);I<0&&(I=0),this.controls[I]&&this.controls[I]._registerOnCollectionChange(()=>{}),this.controls.splice(I,1),w&&(this.controls.splice(I,0,w),this._registerControl(w)),this.updateValueAndValidity({emitEvent:g.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(B,w={}){Et(this,0,B),B.forEach((g,I)=>{We(this,!1,I),this.at(I).setValue(g,{onlySelf:!0,emitEvent:w.emitEvent})}),this.updateValueAndValidity(w)}patchValue(B,w={}){null!=B&&(B.forEach((g,I)=>{this.at(I)&&this.at(I).patchValue(g,{onlySelf:!0,emitEvent:w.emitEvent})}),this.updateValueAndValidity(w))}reset(B=[],w={}){this._forEachChild((g,I)=>{g.reset(B[I],{onlySelf:!0,emitEvent:w.emitEvent})}),this._updatePristine(w),this._updateTouched(w),this.updateValueAndValidity(w)}getRawValue(){return this.controls.map(B=>B.getRawValue())}clear(B={}){this.controls.length<1||(this._forEachChild(w=>w._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:B.emitEvent}))}_adjustIndex(B){return B<0?B+this.length:B}_syncPendingControls(){let B=this.controls.reduce((w,g)=>!!g._syncPendingControls()||w,!1);return B&&this.updateValueAndValidity({onlySelf:!0}),B}_forEachChild(B){this.controls.forEach((w,g)=>{B(w,g)})}_updateValue(){this.value=this.controls.filter(B=>B.enabled||this.disabled).map(B=>B.value)}_anyControls(B){return this.controls.some(w=>w.enabled&&B(w))}_setUpControls(){this._forEachChild(B=>this._registerControl(B))}_allControlsDisabled(){for(const B of this.controls)if(B.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(B){B.setParent(this),B._registerOnCollectionChange(this._onCollectionChange)}_find(B){return this.at(B)??null}}function ei(k){return!!k&&(void 0!==k.asyncValidators||void 0!==k.validators||void 0!==k.updateOn)}let Ms=(()=>{class k{constructor(){this.useNonNullable=!1}get nonNullable(){const w=new k;return w.useNonNullable=!0,w}group(w,g=null){const I=this._reduceControls(w);let X={};return ei(g)?X=g:null!==g&&(X.validators=g.validator,X.asyncValidators=g.asyncValidator),new on(I,X)}record(w,g=null){const I=this._reduceControls(w);return new io(I,g)}control(w,g,I){let X={};return this.useNonNullable?(ei(g)?X=g:(X.validators=g,X.asyncValidators=I),new Or(w,{...X,nonNullable:!0})):new Or(w,g,I)}array(w,g,I){const X=w.map(he=>this._createControl(he));return new is(X,g,I)}_reduceControls(w){const g={};return Object.keys(w).forEach(I=>{g[I]=this._createControl(w[I])}),g}_createControl(w){return w instanceof Or||w instanceof Ht?w:Array.isArray(w)?this.control(w[0],w.length>1?w[1]:null,w.length>2?w[2]:null):this.control(w)}static#e=this.\u0275fac=function(g){return new(g||k)};static#t=this.\u0275prov=s.Yz7({token:k,factory:k.\u0275fac,providedIn:"root"})}return k})(),Bs=(()=>{class k{static withConfig(w){return{ngModule:k,providers:[{provide:Ve,useValue:w.callSetDisabledState??Ee}]}}static#e=this.\u0275fac=function(g){return new(g||k)};static#t=this.\u0275mod=s.oAB({type:k});static#n=this.\u0275inj=s.cJS({imports:[_i]})}return k})(),It=(()=>{class k{static withConfig(w){return{ngModule:k,providers:[{provide:hi,useValue:w.warnOnNgModelWithFormControl??"always"},{provide:Ve,useValue:w.callSetDisabledState??Ee}]}}static#e=this.\u0275fac=function(g){return new(g||k)};static#t=this.\u0275mod=s.oAB({type:k});static#n=this.\u0275inj=s.cJS({imports:[_i]})}return k})()},6593:(ve,_,d)=>{"use strict";d.d(_,{Dx:()=>$n,H7:()=>Oo,b2:()=>In,q6:()=>pt,se:()=>Me});var s=d(5879),m=d(6814);class o extends m.w_{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class N extends o{static makeCurrent(){(0,m.HT)(new N)}onAndCancel(He,de,pe){return He.addEventListener(de,pe),()=>{He.removeEventListener(de,pe)}}dispatchEvent(He,de){He.dispatchEvent(de)}remove(He){He.parentNode&&He.parentNode.removeChild(He)}createElement(He,de){return(de=de||this.getDefaultDocument()).createElement(He)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(He){return He.nodeType===Node.ELEMENT_NODE}isShadowRoot(He){return He instanceof DocumentFragment}getGlobalEventTarget(He,de){return"window"===de?window:"document"===de?He:"body"===de?He.body:null}getBaseHref(He){const de=function P(){return L=L||document.querySelector("base"),L?L.getAttribute("href"):null}();return null==de?null:function O(Xe){R=R||document.createElement("a"),R.setAttribute("href",Xe);const He=R.pathname;return"/"===He.charAt(0)?He:`/${He}`}(de)}resetBaseElement(){L=null}getUserAgent(){return window.navigator.userAgent}getCookie(He){return(0,m.Mx)(document.cookie,He)}}let R,L=null,D=(()=>{class Xe{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(pe){return new(pe||Xe)};static#t=this.\u0275prov=s.Yz7({token:Xe,factory:Xe.\u0275fac})}return Xe})();const v=new s.OlP("EventManagerPlugins");let F=(()=>{class Xe{constructor(de,pe){this._zone=pe,this._eventNameToPlugin=new Map,de.forEach(We=>{We.manager=this}),this._plugins=de.slice().reverse()}addEventListener(de,pe,We){return this._findPluginFor(pe).addEventListener(de,pe,We)}getZone(){return this._zone}_findPluginFor(de){let pe=this._eventNameToPlugin.get(de);if(pe)return pe;if(pe=this._plugins.find(Et=>Et.supports(de)),!pe)throw new s.vHH(5101,!1);return this._eventNameToPlugin.set(de,pe),pe}static#e=this.\u0275fac=function(pe){return new(pe||Xe)(s.LFG(v),s.LFG(s.R0b))};static#t=this.\u0275prov=s.Yz7({token:Xe,factory:Xe.\u0275fac})}return Xe})();class j{constructor(He){this._doc=He}}const V="ng-app-id";let U=(()=>{class Xe{constructor(de,pe,We,Et={}){this.doc=de,this.appId=pe,this.nonce=We,this.platformId=Et,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=(0,m.PM)(Et),this.resetHostNodes()}addStyles(de){for(const pe of de)1===this.changeUsageCount(pe,1)&&this.onStyleAdded(pe)}removeStyles(de){for(const pe of de)this.changeUsageCount(pe,-1)<=0&&this.onStyleRemoved(pe)}ngOnDestroy(){const de=this.styleNodesInDOM;de&&(de.forEach(pe=>pe.remove()),de.clear());for(const pe of this.getAllStyles())this.onStyleRemoved(pe);this.resetHostNodes()}addHost(de){this.hostNodes.add(de);for(const pe of this.getAllStyles())this.addStyleToHost(de,pe)}removeHost(de){this.hostNodes.delete(de)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(de){for(const pe of this.hostNodes)this.addStyleToHost(pe,de)}onStyleRemoved(de){const pe=this.styleRef;pe.get(de)?.elements?.forEach(We=>We.remove()),pe.delete(de)}collectServerRenderedStyles(){const de=this.doc.head?.querySelectorAll(`style[${V}="${this.appId}"]`);if(de?.length){const pe=new Map;return de.forEach(We=>{null!=We.textContent&&pe.set(We.textContent,We)}),pe}return null}changeUsageCount(de,pe){const We=this.styleRef;if(We.has(de)){const Et=We.get(de);return Et.usage+=pe,Et.usage}return We.set(de,{usage:pe,elements:[]}),pe}getStyleElement(de,pe){const We=this.styleNodesInDOM,Et=We?.get(pe);if(Et?.parentNode===de)return We.delete(pe),Et.removeAttribute(V),Et;{const Ht=this.doc.createElement("style");return this.nonce&&Ht.setAttribute("nonce",this.nonce),Ht.textContent=pe,this.platformIsServer&&Ht.setAttribute(V,this.appId),Ht}}addStyleToHost(de,pe){const We=this.getStyleElement(de,pe);de.appendChild(We);const Et=this.styleRef,Ht=Et.get(pe)?.elements;Ht?Ht.push(We):Et.set(pe,{elements:[We],usage:1})}resetHostNodes(){const de=this.hostNodes;de.clear(),de.add(this.doc.head)}static#e=this.\u0275fac=function(pe){return new(pe||Xe)(s.LFG(m.K0),s.LFG(s.AFp),s.LFG(s.Ojb,8),s.LFG(s.Lbi))};static#t=this.\u0275prov=s.Yz7({token:Xe,factory:Xe.\u0275fac})}return Xe})();const G={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/"},K=/%COMP%/g,J=new s.OlP("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function ge(Xe,He){return He.map(de=>de.replace(K,Xe))}let Me=(()=>{class Xe{constructor(de,pe,We,Et,Ht,on,Fn,un=null){this.eventManager=de,this.sharedStylesHost=pe,this.appId=We,this.removeStylesOnCompDestroy=Et,this.doc=Ht,this.platformId=on,this.ngZone=Fn,this.nonce=un,this.rendererByCompId=new Map,this.platformIsServer=(0,m.PM)(on),this.defaultRenderer=new Se(de,Ht,Fn,this.platformIsServer)}createRenderer(de,pe){if(!de||!pe)return this.defaultRenderer;this.platformIsServer&&pe.encapsulation===s.ifc.ShadowDom&&(pe={...pe,encapsulation:s.ifc.Emulated});const We=this.getOrCreateRenderer(de,pe);return We instanceof _e?We.applyToHost(de):We instanceof tt&&We.applyStyles(),We}getOrCreateRenderer(de,pe){const We=this.rendererByCompId;let Et=We.get(pe.id);if(!Et){const Ht=this.doc,on=this.ngZone,Fn=this.eventManager,un=this.sharedStylesHost,io=this.removeStylesOnCompDestroy,so=this.platformIsServer;switch(pe.encapsulation){case s.ifc.Emulated:Et=new _e(Fn,un,pe,this.appId,io,Ht,on,so);break;case s.ifc.ShadowDom:return new Je(Fn,un,de,pe,Ht,on,this.nonce,so);default:Et=new tt(Fn,un,pe,io,Ht,on,so)}We.set(pe.id,Et)}return Et}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(pe){return new(pe||Xe)(s.LFG(F),s.LFG(U),s.LFG(s.AFp),s.LFG(J),s.LFG(m.K0),s.LFG(s.Lbi),s.LFG(s.R0b),s.LFG(s.Ojb))};static#t=this.\u0275prov=s.Yz7({token:Xe,factory:Xe.\u0275fac})}return Xe})();class Se{constructor(He,de,pe,We){this.eventManager=He,this.doc=de,this.ngZone=pe,this.platformIsServer=We,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(He,de){return de?this.doc.createElementNS(G[de]||de,He):this.doc.createElement(He)}createComment(He){return this.doc.createComment(He)}createText(He){return this.doc.createTextNode(He)}appendChild(He,de){(ze(He)?He.content:He).appendChild(de)}insertBefore(He,de,pe){He&&(ze(He)?He.content:He).insertBefore(de,pe)}removeChild(He,de){He&&He.removeChild(de)}selectRootElement(He,de){let pe="string"==typeof He?this.doc.querySelector(He):He;if(!pe)throw new s.vHH(-5104,!1);return de||(pe.textContent=""),pe}parentNode(He){return He.parentNode}nextSibling(He){return He.nextSibling}setAttribute(He,de,pe,We){if(We){de=We+":"+de;const Et=G[We];Et?He.setAttributeNS(Et,de,pe):He.setAttribute(de,pe)}else He.setAttribute(de,pe)}removeAttribute(He,de,pe){if(pe){const We=G[pe];We?He.removeAttributeNS(We,de):He.removeAttribute(`${pe}:${de}`)}else He.removeAttribute(de)}addClass(He,de){He.classList.add(de)}removeClass(He,de){He.classList.remove(de)}setStyle(He,de,pe,We){We&(s.JOm.DashCase|s.JOm.Important)?He.style.setProperty(de,pe,We&s.JOm.Important?"important":""):He.style[de]=pe}removeStyle(He,de,pe){pe&s.JOm.DashCase?He.style.removeProperty(de):He.style[de]=""}setProperty(He,de,pe){He[de]=pe}setValue(He,de){He.nodeValue=de}listen(He,de,pe){if("string"==typeof He&&!(He=(0,m.q)().getGlobalEventTarget(this.doc,He)))throw new Error(`Unsupported event target ${He} for event ${de}`);return this.eventManager.addEventListener(He,de,this.decoratePreventDefault(pe))}decoratePreventDefault(He){return de=>{if("__ngUnwrap__"===de)return He;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>He(de)):He(de))&&de.preventDefault()}}}function ze(Xe){return"TEMPLATE"===Xe.tagName&&void 0!==Xe.content}class Je extends Se{constructor(He,de,pe,We,Et,Ht,on,Fn){super(He,Et,Ht,Fn),this.sharedStylesHost=de,this.hostEl=pe,this.shadowRoot=pe.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const un=ge(We.id,We.styles);for(const io of un){const so=document.createElement("style");on&&so.setAttribute("nonce",on),so.textContent=io,this.shadowRoot.appendChild(so)}}nodeOrShadowRoot(He){return He===this.hostEl?this.shadowRoot:He}appendChild(He,de){return super.appendChild(this.nodeOrShadowRoot(He),de)}insertBefore(He,de,pe){return super.insertBefore(this.nodeOrShadowRoot(He),de,pe)}removeChild(He,de){return super.removeChild(this.nodeOrShadowRoot(He),de)}parentNode(He){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(He)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class tt extends Se{constructor(He,de,pe,We,Et,Ht,on,Fn){super(He,Et,Ht,on),this.sharedStylesHost=de,this.removeStylesOnCompDestroy=We,this.styles=Fn?ge(Fn,pe.styles):pe.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class _e extends tt{constructor(He,de,pe,We,Et,Ht,on,Fn){const un=We+"-"+pe.id;super(He,de,pe,Et,Ht,on,Fn,un),this.contentAttr=function q(Xe){return"_ngcontent-%COMP%".replace(K,Xe)}(un),this.hostAttr=function ie(Xe){return"_nghost-%COMP%".replace(K,Xe)}(un)}applyToHost(He){this.applyStyles(),this.setAttribute(He,this.hostAttr,"")}createElement(He,de){const pe=super.createElement(He,de);return super.setAttribute(pe,this.contentAttr,""),pe}}let Pe=(()=>{class Xe extends j{constructor(de){super(de)}supports(de){return!0}addEventListener(de,pe,We){return de.addEventListener(pe,We,!1),()=>this.removeEventListener(de,pe,We)}removeEventListener(de,pe,We){return de.removeEventListener(pe,We)}static#e=this.\u0275fac=function(pe){return new(pe||Xe)(s.LFG(m.K0))};static#t=this.\u0275prov=s.Yz7({token:Xe,factory:Xe.\u0275fac})}return Xe})();const Ie=["alt","control","meta","shift"],ye={"\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"},je={alt:Xe=>Xe.altKey,control:Xe=>Xe.ctrlKey,meta:Xe=>Xe.metaKey,shift:Xe=>Xe.shiftKey};let Ge=(()=>{class Xe extends j{constructor(de){super(de)}supports(de){return null!=Xe.parseEventName(de)}addEventListener(de,pe,We){const Et=Xe.parseEventName(pe),Ht=Xe.eventCallback(Et.fullKey,We,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,m.q)().onAndCancel(de,Et.domEventName,Ht))}static parseEventName(de){const pe=de.toLowerCase().split("."),We=pe.shift();if(0===pe.length||"keydown"!==We&&"keyup"!==We)return null;const Et=Xe._normalizeKey(pe.pop());let Ht="",on=pe.indexOf("code");if(on>-1&&(pe.splice(on,1),Ht="code."),Ie.forEach(un=>{const io=pe.indexOf(un);io>-1&&(pe.splice(io,1),Ht+=un+".")}),Ht+=Et,0!=pe.length||0===Et.length)return null;const Fn={};return Fn.domEventName=We,Fn.fullKey=Ht,Fn}static matchEventFullKeyCode(de,pe){let We=ye[de.key]||de.key,Et="";return pe.indexOf("code.")>-1&&(We=de.code,Et="code."),!(null==We||!We)&&(We=We.toLowerCase()," "===We?We="space":"."===We&&(We="dot"),Ie.forEach(Ht=>{Ht!==We&&(0,je[Ht])(de)&&(Et+=Ht+".")}),Et+=We,Et===pe)}static eventCallback(de,pe,We){return Et=>{Xe.matchEventFullKeyCode(Et,de)&&We.runGuarded(()=>pe(Et))}}static _normalizeKey(de){return"esc"===de?"escape":de}static#e=this.\u0275fac=function(pe){return new(pe||Xe)(s.LFG(m.K0))};static#t=this.\u0275prov=s.Yz7({token:Xe,factory:Xe.\u0275fac})}return Xe})();const pt=(0,s.eFA)(s._c5,"browser",[{provide:s.Lbi,useValue:m.bD},{provide:s.g9A,useValue:function De(){N.makeCurrent()},multi:!0},{provide:m.K0,useFactory:function Ct(){return(0,s.RDi)(document),document},deps:[]}]),tn=new s.OlP(""),qt=[{provide:s.rWj,useClass:class x{addToWindow(He){s.dqk.getAngularTestability=(pe,We=!0)=>{const Et=He.findTestabilityInTree(pe,We);if(null==Et)throw new s.vHH(5103,!1);return Et},s.dqk.getAllAngularTestabilities=()=>He.getAllTestabilities(),s.dqk.getAllAngularRootElements=()=>He.getAllRootElements(),s.dqk.frameworkStabilizers||(s.dqk.frameworkStabilizers=[]),s.dqk.frameworkStabilizers.push(pe=>{const We=s.dqk.getAllAngularTestabilities();let Et=We.length,Ht=!1;const on=function(Fn){Ht=Ht||Fn,Et--,0==Et&&pe(Ht)};We.forEach(Fn=>{Fn.whenStable(on)})})}findTestabilityInTree(He,de,pe){return null==de?null:He.getTestability(de)??(pe?(0,m.q)().isShadowRoot(de)?this.findTestabilityInTree(He,de.host,!0):this.findTestabilityInTree(He,de.parentElement,!0):null)}},deps:[]},{provide:s.lri,useClass:s.dDg,deps:[s.R0b,s.eoX,s.rWj]},{provide:s.dDg,useClass:s.dDg,deps:[s.R0b,s.eoX,s.rWj]}],_n=[{provide:s.zSh,useValue:"root"},{provide:s.qLn,useFactory:function it(){return new s.qLn},deps:[]},{provide:v,useClass:Pe,multi:!0,deps:[m.K0,s.R0b,s.Lbi]},{provide:v,useClass:Ge,multi:!0,deps:[m.K0]},Me,U,F,{provide:s.FYo,useExisting:Me},{provide:m.JF,useClass:D,deps:[]},[]];let In=(()=>{class Xe{constructor(de){}static withServerTransition(de){return{ngModule:Xe,providers:[{provide:s.AFp,useValue:de.appId}]}}static#e=this.\u0275fac=function(pe){return new(pe||Xe)(s.LFG(tn,12))};static#t=this.\u0275mod=s.oAB({type:Xe});static#n=this.\u0275inj=s.cJS({providers:[..._n,...qt],imports:[m.ez,s.hGG]})}return Xe})(),$n=(()=>{class Xe{constructor(de){this._doc=de}getTitle(){return this._doc.title}setTitle(de){this._doc.title=de||""}static#e=this.\u0275fac=function(pe){return new(pe||Xe)(s.LFG(m.K0))};static#t=this.\u0275prov=s.Yz7({token:Xe,factory:function(pe){let We=null;return We=pe?new pe:function Un(){return new $n((0,s.LFG)(m.K0))}(),We},providedIn:"root"})}return Xe})();typeof window<"u"&&window;let Oo=(()=>{class Xe{static#e=this.\u0275fac=function(pe){return new(pe||Xe)};static#t=this.\u0275prov=s.Yz7({token:Xe,factory:function(pe){let We=null;return We=pe?new(pe||Xe):s.LFG(Nn),We},providedIn:"root"})}return Xe})(),Nn=(()=>{class Xe extends Oo{constructor(de){super(),this._doc=de}sanitize(de,pe){if(null==pe)return null;switch(de){case s.q3G.NONE:return pe;case s.q3G.HTML:return(0,s.qzn)(pe,"HTML")?(0,s.z3N)(pe):(0,s.EiD)(this._doc,String(pe)).toString();case s.q3G.STYLE:return(0,s.qzn)(pe,"Style")?(0,s.z3N)(pe):pe;case s.q3G.SCRIPT:if((0,s.qzn)(pe,"Script"))return(0,s.z3N)(pe);throw new s.vHH(5200,!1);case s.q3G.URL:return(0,s.qzn)(pe,"URL")?(0,s.z3N)(pe):(0,s.mCW)(String(pe));case s.q3G.RESOURCE_URL:if((0,s.qzn)(pe,"ResourceURL"))return(0,s.z3N)(pe);throw new s.vHH(5201,!1);default:throw new s.vHH(5202,!1)}}bypassSecurityTrustHtml(de){return(0,s.JVY)(de)}bypassSecurityTrustStyle(de){return(0,s.L6k)(de)}bypassSecurityTrustScript(de){return(0,s.eBb)(de)}bypassSecurityTrustUrl(de){return(0,s.LAX)(de)}bypassSecurityTrustResourceUrl(de){return(0,s.pB0)(de)}static#e=this.\u0275fac=function(pe){return new(pe||Xe)(s.LFG(m.K0))};static#t=this.\u0275prov=s.Yz7({token:Xe,factory:function(pe){let We=null;return We=pe?new pe:function Kn(Xe){return new Nn(Xe.get(m.K0))}(s.LFG(s.zs3)),We},providedIn:"root"})}return Xe})()},776:(ve,_,d)=>{"use strict";d.d(_,{gz:()=>Vr,y6:()=>Qt,m2:()=>Lo,F0:()=>Tr,rH:()=>Os,Od:()=>as,Bz:()=>cs,lC:()=>Cr,Xs:()=>Rr,bU:()=>Kr,ZU:()=>kd});var s=d(5879),m=d(5592),o=d(4674),L=d(9666),P=d(2096),R=d(5619),O=d(2572);const D=(0,d(2306).d)(b=>function(){b(this),this.name="EmptyError",this.message="no elements in sequence"});var v=d(5211),F=d(4829);function j(b){return new m.y(T=>{(0,F.Xf)(b()).subscribe(T)})}var V=d(8407);function U(b,T){const y=(0,o.m)(b)?b:()=>b,A=z=>z.error(y());return new m.y(T?z=>T.schedule(A,0,z):A)}var G=d(6232),K=d(7394),ce=d(9360),ae=d(8251);function oe(){return(0,ce.e)((b,T)=>{let y=null;b._refCount++;const A=(0,ae.x)(T,void 0,void 0,void 0,()=>{if(!b||b._refCount<=0||0<--b._refCount)return void(y=null);const z=b._connection,se=y;y=null,z&&(!se||z===se)&&z.unsubscribe(),T.unsubscribe()});b.subscribe(A),A.closed||(y=b.connect())})}class Z extends m.y{constructor(T,y){super(),this.source=T,this.subjectFactory=y,this._subject=null,this._refCount=0,this._connection=null,(0,ce.A)(T)&&(this.lift=T.lift)}_subscribe(T){return this.getSubject().subscribe(T)}getSubject(){const T=this._subject;return(!T||T.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:T}=this;this._subject=this._connection=null,T?.unsubscribe()}connect(){let T=this._connection;if(!T){T=this._connection=new K.w0;const y=this.getSubject();T.add(this.source.subscribe((0,ae.x)(y,void 0,()=>{this._teardown(),y.complete()},A=>{this._teardown(),y.error(A)},()=>this._teardown()))),T.closed&&(this._connection=null,T=K.w0.EMPTY)}return T}refCount(){return oe()(this)}}var J=d(8645),q=d(6814),ie=d(7398),ge=d(4664),Me=d(8180),Se=d(7921),Ae=d(2181),Fe=d(1631);function ze(b){return(0,ce.e)((T,y)=>{let A=!1;T.subscribe((0,ae.x)(y,z=>{A=!0,y.next(z)},()=>{A||y.next(b),y.complete()}))})}function Je(b=tt){return(0,ce.e)((T,y)=>{let A=!1;T.subscribe((0,ae.x)(y,z=>{A=!0,y.next(z)},()=>A?y.complete():y.error(b())))})}function tt(){return new D}var _e=d(2737);function Pe(b,T){const y=arguments.length>=2;return A=>A.pipe(b?(0,Ae.h)((z,se)=>b(z,se,A)):_e.y,(0,Me.q)(1),y?ze(T):Je(()=>new D))}var Ie=d(6328),ye=d(9397),je=d(6306);function ct(b){return b<=0?()=>G.E:(0,ce.e)((T,y)=>{let A=[];T.subscribe((0,ae.x)(y,z=>{A.push(z),b{for(const z of A)y.next(z);y.complete()},void 0,()=>{A=null}))})}var rt=d(975),De=d(4716),it=d(9773),Ct=d(7537),jt=d(6593);const pt="primary",tn=Symbol("RouteTitle");class qt{constructor(T){this.params=T||{}}has(T){return Object.prototype.hasOwnProperty.call(this.params,T)}get(T){if(this.has(T)){const y=this.params[T];return Array.isArray(y)?y[0]:y}return null}getAll(T){if(this.has(T)){const y=this.params[T];return Array.isArray(y)?y:[y]}return[]}get keys(){return Object.keys(this.params)}}function _n(b){return new qt(b)}function In(b,T,y){const A=y.path.split("/");if(A.length>b.length||"full"===y.pathMatch&&(T.hasChildren()||A.lengthA[se]===z)}return b===T}function Un(b){return b.length>0?b[b.length-1]:null}function $n(b){return function N(b){return!!b&&(b instanceof m.y||(0,o.m)(b.lift)&&(0,o.m)(b.subscribe))}(b)?b:(0,s.QGY)(b)?(0,L.D)(Promise.resolve(b)):(0,P.of)(b)}const Ao={exact:function Oe(b,T,y){if(!Ut(b.segments,T.segments)||!Be(b.segments,T.segments,y)||b.numberOfChildren!==T.numberOfChildren)return!1;for(const A in T.children)if(!b.children[A]||!Oe(b.children[A],T.children[A],y))return!1;return!0},subset:ne},Io={exact:function $e(b,T){return qn(b,T)},subset:function $(b,T){return Object.keys(T).length<=Object.keys(b).length&&Object.keys(T).every(y=>ko(b[y],T[y]))},ignored:()=>!0};function Re(b,T,y){return Ao[y.paths](b.root,T.root,y.matrixParams)&&Io[y.queryParams](b.queryParams,T.queryParams)&&!("exact"===y.fragment&&b.fragment!==T.fragment)}function ne(b,T,y){return fe(b,T,T.segments,y)}function fe(b,T,y,A){if(b.segments.length>y.length){const z=b.segments.slice(0,y.length);return!(!Ut(z,y)||T.hasChildren()||!Be(z,y,A))}if(b.segments.length===y.length){if(!Ut(b.segments,y)||!Be(b.segments,y,A))return!1;for(const z in T.children)if(!b.children[z]||!ne(b.children[z],T.children[z],A))return!1;return!0}{const z=y.slice(0,b.segments.length),se=y.slice(b.segments.length);return!!(Ut(b.segments,z)&&Be(b.segments,z,A)&&b.children[pt])&&fe(b.children[pt],T,se,A)}}function Be(b,T,y){return T.every((A,z)=>Io[y](b[z].parameters,A.parameters))}class qe{constructor(T=new Dt([],{}),y={},A=null){this.root=T,this.queryParams=y,this.fragment=A}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=_n(this.queryParams)),this._queryParamMap}toString(){return Kn.serialize(this)}}class Dt{constructor(T,y){this.segments=T,this.children=y,this.parent=null,Object.values(y).forEach(A=>A.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Nn(this)}}class _t{constructor(T,y){this.path=T,this.parameters=y}get parameterMap(){return this._parameterMap||(this._parameterMap=_n(this.parameters)),this._parameterMap}toString(){return gn(this)}}function Ut(b,T){return b.length===T.length&&b.every((y,A)=>y.path===T[A].path)}let wn=(()=>{class b{static#e=this.\u0275fac=function(A){return new(A||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:function(){return new Oo},providedIn:"root"})}return b})();class Oo{parse(T){const y=new io(T);return new qe(y.parseRootSegment(),y.parseQueryParams(),y.parseFragment())}serialize(T){const y=`/${Qn(T.root,!0)}`,A=function He(b){const T=Object.keys(b).map(y=>{const A=b[y];return Array.isArray(A)?A.map(z=>`${Mr(y)}=${Mr(z)}`).join("&"):`${Mr(y)}=${Mr(A)}`}).filter(y=>!!y);return T.length?`?${T.join("&")}`:""}(T.queryParams);return`${y}${A}${"string"==typeof T.fragment?`#${function Vo(b){return encodeURI(b)}(T.fragment)}`:""}`}}const Kn=new Oo;function Nn(b){return b.segments.map(T=>gn(T)).join("/")}function Qn(b,T){if(!b.hasChildren())return Nn(b);if(T){const y=b.children[pt]?Qn(b.children[pt],!1):"",A=[];return Object.entries(b.children).forEach(([z,se])=>{z!==pt&&A.push(`${z}:${Qn(se,!1)}`)}),A.length>0?`${y}(${A.join("//")})`:y}{const y=function nn(b,T){let y=[];return Object.entries(b.children).forEach(([A,z])=>{A===pt&&(y=y.concat(T(z,A)))}),Object.entries(b.children).forEach(([A,z])=>{A!==pt&&(y=y.concat(T(z,A)))}),y}(b,(A,z)=>z===pt?[Qn(b.children[pt],!1)]:[`${z}:${Qn(A,!1)}`]);return 1===Object.keys(b.children).length&&null!=b.children[pt]?`${Nn(b)}/${y[0]}`:`${Nn(b)}/(${y.join("//")})`}}function er(b){return encodeURIComponent(b).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Mr(b){return er(b).replace(/%3B/gi,";")}function Te(b){return er(b).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function et(b){return decodeURIComponent(b)}function Pt(b){return et(b.replace(/\+/g,"%20"))}function gn(b){return`${Te(b.path)}${function Xe(b){return Object.keys(b).map(T=>`;${Te(T)}=${Te(b[T])}`).join("")}(b.parameters)}`}const de=/^[^\/()?;#]+/;function pe(b){const T=b.match(de);return T?T[0]:""}const We=/^[^\/()?;=#]+/,Ht=/^[^=?&#]+/,Fn=/^[^&#]+/;class io{constructor(T){this.url=T,this.remaining=T}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Dt([],{}):new Dt([],this.parseChildren())}parseQueryParams(){const T={};if(this.consumeOptional("?"))do{this.parseQueryParam(T)}while(this.consumeOptional("&"));return T}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const T=[];for(this.peekStartsWith("(")||T.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),T.push(this.parseSegment());let y={};this.peekStartsWith("/(")&&(this.capture("/"),y=this.parseParens(!0));let A={};return this.peekStartsWith("(")&&(A=this.parseParens(!1)),(T.length>0||Object.keys(y).length>0)&&(A[pt]=new Dt(T,y)),A}parseSegment(){const T=pe(this.remaining);if(""===T&&this.peekStartsWith(";"))throw new s.vHH(4009,!1);return this.capture(T),new _t(et(T),this.parseMatrixParams())}parseMatrixParams(){const T={};for(;this.consumeOptional(";");)this.parseParam(T);return T}parseParam(T){const y=function Et(b){const T=b.match(We);return T?T[0]:""}(this.remaining);if(!y)return;this.capture(y);let A="";if(this.consumeOptional("=")){const z=pe(this.remaining);z&&(A=z,this.capture(A))}T[et(y)]=et(A)}parseQueryParam(T){const y=function on(b){const T=b.match(Ht);return T?T[0]:""}(this.remaining);if(!y)return;this.capture(y);let A="";if(this.consumeOptional("=")){const be=function un(b){const T=b.match(Fn);return T?T[0]:""}(this.remaining);be&&(A=be,this.capture(A))}const z=Pt(y),se=Pt(A);if(T.hasOwnProperty(z)){let be=T[z];Array.isArray(be)||(be=[be],T[z]=be),be.push(se)}else T[z]=se}parseParens(T){const y={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const A=pe(this.remaining),z=this.remaining[A.length];if("/"!==z&&")"!==z&&";"!==z)throw new s.vHH(4010,!1);let se;A.indexOf(":")>-1?(se=A.slice(0,A.indexOf(":")),this.capture(se),this.capture(":")):T&&(se=pt);const be=this.parseChildren();y[se]=1===Object.keys(be).length?be[pt]:new Dt([],be),this.consumeOptional("//")}return y}peekStartsWith(T){return this.remaining.startsWith(T)}consumeOptional(T){return!!this.peekStartsWith(T)&&(this.remaining=this.remaining.substring(T.length),!0)}capture(T){if(!this.consumeOptional(T))throw new s.vHH(4011,!1)}}function so(b){return b.segments.length>0?new Dt([],{[pt]:b}):b}function Ve(b){const T={};for(const A of Object.keys(b.children)){const se=Ve(b.children[A]);if(A===pt&&0===se.segments.length&&se.hasChildren())for(const[be,st]of Object.entries(se.children))T[be]=st;else(se.segments.length>0||se.hasChildren())&&(T[A]=se)}return function Ee(b){if(1===b.numberOfChildren&&b.children[pt]){const T=b.children[pt];return new Dt(b.segments.concat(T.segments),T.children)}return b}(new Dt(b.segments,T))}function Ne(b){return b instanceof qe}function Mt(b){let T;const z=so(function y(se){const be={};for(const nt of se.children){const Yt=y(nt);be[nt.outlet]=Yt}const st=new Dt(se.url,be);return se===b&&(T=st),st}(b.root));return T??z}function ue(b,T,y,A){let z=b;for(;z.parent;)z=z.parent;if(0===T.length)return Qe(z,z,z,y,A);const se=function $t(b){if("string"==typeof b[0]&&1===b.length&&"/"===b[0])return new Bt(!0,0,b);let T=0,y=!1;const A=b.reduce((z,se,be)=>{if("object"==typeof se&&null!=se){if(se.outlets){const st={};return Object.entries(se.outlets).forEach(([nt,Yt])=>{st[nt]="string"==typeof Yt?Yt.split("/"):Yt}),[...z,{outlets:st}]}if(se.segmentPath)return[...z,se.segmentPath]}return"string"!=typeof se?[...z,se]:0===be?(se.split("/").forEach((st,nt)=>{0==nt&&"."===st||(0==nt&&""===st?y=!0:".."===st?T++:""!=st&&z.push(st))}),z):[...z,se]},[]);return new Bt(y,T,A)}(T);if(se.toRoot())return Qe(z,z,new Dt([],{}),y,A);const be=function Xt(b,T,y){if(b.isAbsolute)return new Gt(T,!0,0);if(!y)return new Gt(T,!1,NaN);if(null===y.parent)return new Gt(y,!0,0);const A=we(b.commands[0])?0:1;return function an(b,T,y){let A=b,z=T,se=y;for(;se>z;){if(se-=z,A=A.parent,!A)throw new s.vHH(4005,!1);z=A.segments.length}return new Gt(A,!1,z-se)}(y,y.segments.length-1+A,b.numberOfDoubleDots)}(se,z,b),st=be.processChildren?Vt(be.segmentGroup,be.index,se.commands):mt(be.segmentGroup,be.index,se.commands);return Qe(z,be.segmentGroup,st,y,A)}function we(b){return"object"==typeof b&&null!=b&&!b.outlets&&!b.segmentPath}function ht(b){return"object"==typeof b&&null!=b&&b.outlets}function Qe(b,T,y,A,z){let be,se={};A&&Object.entries(A).forEach(([nt,Yt])=>{se[nt]=Array.isArray(Yt)?Yt.map(Ln=>`${Ln}`):`${Yt}`}),be=b===T?y:gt(b,T,y);const st=so(Ve(be));return new qe(st,se,z)}function gt(b,T,y){const A={};return Object.entries(b.children).forEach(([z,se])=>{A[z]=se===T?y:gt(se,T,y)}),new Dt(b.segments,A)}class Bt{constructor(T,y,A){if(this.isAbsolute=T,this.numberOfDoubleDots=y,this.commands=A,T&&A.length>0&&we(A[0]))throw new s.vHH(4003,!1);const z=A.find(ht);if(z&&z!==Un(A))throw new s.vHH(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Gt{constructor(T,y,A){this.segmentGroup=T,this.processChildren=y,this.index=A}}function mt(b,T,y){if(b||(b=new Dt([],{})),0===b.segments.length&&b.hasChildren())return Vt(b,T,y);const A=function dn(b,T,y){let A=0,z=T;const se={match:!1,pathIndex:0,commandIndex:0};for(;z=y.length)return se;const be=b.segments[z],st=y[A];if(ht(st))break;const nt=`${st}`,Yt=A0&&void 0===nt)break;if(nt&&Yt&&"object"==typeof Yt&&void 0===Yt.outlets){if(!No(nt,Yt,be))return se;A+=2}else{if(!No(nt,{},be))return se;A++}z++}return{match:!0,pathIndex:z,commandIndex:A}}(b,T,y),z=y.slice(A.commandIndex);if(A.match&&A.pathIndexse!==pt)&&b.children[pt]&&1===b.numberOfChildren&&0===b.children[pt].segments.length){const se=Vt(b.children[pt],T,y);return new Dt(b.segments,se.children)}return Object.entries(A).forEach(([se,be])=>{"string"==typeof be&&(be=[be]),null!==be&&(z[se]=mt(b.children[se],T,be))}),Object.entries(b.children).forEach(([se,be])=>{void 0===A[se]&&(z[se]=be)}),new Dt(b.segments,z)}}function cn(b,T,y){const A=b.segments.slice(0,T);let z=0;for(;z{"string"==typeof A&&(A=[A]),null!==A&&(T[y]=cn(new Dt([],{}),0,A))}),T}function uo(b){const T={};return Object.entries(b).forEach(([y,A])=>T[y]=`${A}`),T}function No(b,T,y){return b==y.path&&qn(T,y.parameters)}const So="imperative";class On{constructor(T,y){this.id=T,this.url=y}}class Fo extends On{constructor(T,y,A="imperative",z=null){super(T,y),this.type=0,this.navigationTrigger=A,this.restoredState=z}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Lo extends On{constructor(T,y,A){super(T,y),this.urlAfterRedirects=A,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class mo extends On{constructor(T,y,A,z){super(T,y),this.reason=A,this.code=z,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class yr extends On{constructor(T,y,A,z){super(T,y),this.reason=A,this.code=z,this.type=16}}class jr extends On{constructor(T,y,A,z){super(T,y),this.error=A,this.target=z,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class Di extends On{constructor(T,y,A,z){super(T,y),this.urlAfterRedirects=A,this.state=z,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Or extends On{constructor(T,y,A,z){super(T,y),this.urlAfterRedirects=A,this.state=z,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Hr extends On{constructor(T,y,A,z,se){super(T,y),this.urlAfterRedirects=A,this.state=z,this.shouldActivate=se,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class Ei extends On{constructor(T,y,A,z){super(T,y),this.urlAfterRedirects=A,this.state=z,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Qo extends On{constructor(T,y,A,z){super(T,y),this.urlAfterRedirects=A,this.state=z,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class fs{constructor(T){this.route=T,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class tr{constructor(T){this.route=T,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class bn{constructor(T){this.snapshot=T,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Ii{constructor(T){this.snapshot=T,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class To{constructor(T){this.snapshot=T,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Xn{constructor(T){this.snapshot=T,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Rr{constructor(T,y,A){this.routerEvent=T,this.position=y,this.anchor=A,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class Xo{}class kr{constructor(T){this.url=T}}class Zt{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new Qt,this.attachRef=null}}let Qt=(()=>{class b{constructor(){this.contexts=new Map}onChildOutletCreated(y,A){const z=this.getOrCreateContext(y);z.outlet=A,this.contexts.set(y,z)}onChildOutletDestroyed(y){const A=this.getContext(y);A&&(A.outlet=null,A.attachRef=null)}onOutletDeactivated(){const y=this.contexts;return this.contexts=new Map,y}onOutletReAttached(y){this.contexts=y}getOrCreateContext(y){let A=this.getContext(y);return A||(A=new Zt,this.contexts.set(y,A)),A}getContext(y){return this.contexts.get(y)||null}static#e=this.\u0275fac=function(A){return new(A||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();class Wt{constructor(T){this._root=T}get root(){return this._root.value}parent(T){const y=this.pathFromRoot(T);return y.length>1?y[y.length-2]:null}children(T){const y=vn(T,this._root);return y?y.children.map(A=>A.value):[]}firstChild(T){const y=vn(T,this._root);return y&&y.children.length>0?y.children[0].value:null}siblings(T){const y=Bn(T,this._root);return y.length<2?[]:y[y.length-2].children.map(z=>z.value).filter(z=>z!==T)}pathFromRoot(T){return Bn(T,this._root).map(y=>y.value)}}function vn(b,T){if(b===T.value)return T;for(const y of T.children){const A=vn(b,y);if(A)return A}return null}function Bn(b,T){if(b===T.value)return[T];for(const y of T.children){const A=Bn(b,y);if(A.length)return A.unshift(T),A}return[]}class ao{constructor(T,y){this.value=T,this.children=y}toString(){return`TreeNode(${this.value})`}}function ho(b){const T={};return b&&b.children.forEach(y=>T[y.value.outlet]=y),T}class ui extends Wt{constructor(T,y){super(T),this.snapshot=y,Yn(this,T)}toString(){return this.snapshot.toString()}}function di(b,T){const y=function hi(b,T){const be=new zt([],{},{},"",{},pt,T,null,{});return new Mn("",new ao(be,[]))}(0,T),A=new R.X([new _t("",{})]),z=new R.X({}),se=new R.X({}),be=new R.X({}),st=new R.X(""),nt=new Vr(A,z,be,st,se,pt,T,y.root);return nt.snapshot=y.root,new ui(new ao(nt,[]),y)}class Vr{constructor(T,y,A,z,se,be,st,nt){this.urlSubject=T,this.paramsSubject=y,this.queryParamsSubject=A,this.fragmentSubject=z,this.dataSubject=se,this.outlet=be,this.component=st,this._futureSnapshot=nt,this.title=this.dataSubject?.pipe((0,ie.U)(Yt=>Yt[tn]))??(0,P.of)(void 0),this.url=T,this.params=y,this.queryParams=A,this.fragment=z,this.data=se}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe((0,ie.U)(T=>_n(T)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe((0,ie.U)(T=>_n(T)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function fi(b,T="emptyOnly"){const y=b.pathFromRoot;let A=0;if("always"!==T)for(A=y.length-1;A>=1;){const z=y[A],se=y[A-1];if(z.routeConfig&&""===z.routeConfig.path)A--;else{if(se.component)break;A--}}return function _o(b){return b.reduce((T,y)=>({params:{...T.params,...y.params},data:{...T.data,...y.data},resolve:{...y.data,...T.resolve,...y.routeConfig?.data,...y._resolvedData}}),{params:{},data:{},resolve:{}})}(y.slice(A))}class zt{get title(){return this.data?.[tn]}constructor(T,y,A,z,se,be,st,nt,Yt){this.url=T,this.params=y,this.queryParams=A,this.fragment=z,this.data=se,this.outlet=be,this.component=st,this.routeConfig=nt,this._resolve=Yt}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=_n(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=_n(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(A=>A.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Mn extends Wt{constructor(T,y){super(y),this.url=T,Yn(this,y)}toString(){return nr(this._root)}}function Yn(b,T){T.value._routerState=b,T.children.forEach(y=>Yn(b,y))}function nr(b){const T=b.children.length>0?` { ${b.children.map(nr).join(", ")} } `:"";return`${b.value}${T}`}function or(b){if(b.snapshot){const T=b.snapshot,y=b._futureSnapshot;b.snapshot=y,qn(T.queryParams,y.queryParams)||b.queryParamsSubject.next(y.queryParams),T.fragment!==y.fragment&&b.fragmentSubject.next(y.fragment),qn(T.params,y.params)||b.paramsSubject.next(y.params),function no(b,T){if(b.length!==T.length)return!1;for(let y=0;yqn(y.parameters,T[A].parameters))}(b.url,T.url);return y&&!(!b.parent!=!T.parent)&&(!b.parent||Uo(b.parent,T.parent))}let Cr=(()=>{class b{constructor(){this.activated=null,this._activatedRoute=null,this.name=pt,this.activateEvents=new s.vpe,this.deactivateEvents=new s.vpe,this.attachEvents=new s.vpe,this.detachEvents=new s.vpe,this.parentContexts=(0,s.f3M)(Qt),this.location=(0,s.f3M)(s.s_b),this.changeDetector=(0,s.f3M)(s.sBO),this.environmentInjector=(0,s.f3M)(s.lqb),this.inputBinder=(0,s.f3M)(ar,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(y){if(y.name){const{firstChange:A,previousValue:z}=y.name;if(A)return;this.isTrackedInParentContexts(z)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(z)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(y){return this.parentContexts.getContext(y)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const y=this.parentContexts.getContext(this.name);y?.route&&(y.attachRef?this.attach(y.attachRef,y.route):this.activateWith(y.route,y.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new s.vHH(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new s.vHH(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new s.vHH(4012,!1);this.location.detach();const y=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(y.instance),y}attach(y,A){this.activated=y,this._activatedRoute=A,this.location.insert(y.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(y.instance)}deactivate(){if(this.activated){const y=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(y)}}activateWith(y,A){if(this.isActivated)throw new s.vHH(4013,!1);this._activatedRoute=y;const z=this.location,be=y.snapshot.component,st=this.parentContexts.getOrCreateContext(this.name).children,nt=new Co(y,st,z.injector);this.activated=z.createComponent(be,{index:z.length,injector:nt,environmentInjector:A??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(A){return new(A||b)};static#t=this.\u0275dir=s.lG2({type:b,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[s.TTD]})}return b})();class Co{constructor(T,y,A){this.route=T,this.childContexts=y,this.parent=A}get(T,y){return T===Vr?this.route:T===Qt?this.childContexts:this.parent.get(T,y)}}const ar=new s.OlP("");let Ur=(()=>{class b{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(y){this.unsubscribeFromRouteData(y),this.subscribeToRouteData(y)}unsubscribeFromRouteData(y){this.outletDataSubscriptions.get(y)?.unsubscribe(),this.outletDataSubscriptions.delete(y)}subscribeToRouteData(y){const{activatedRoute:A}=y,z=(0,O.a)([A.queryParams,A.params,A.data]).pipe((0,ge.w)(([se,be,st],nt)=>(st={...se,...be,...st},0===nt?(0,P.of)(st):Promise.resolve(st)))).subscribe(se=>{if(!y.isActivated||!y.activatedComponentRef||y.activatedRoute!==A||null===A.component)return void this.unsubscribeFromRouteData(y);const be=(0,s.qFp)(A.component);if(be)for(const{templateName:st}of be.inputs)y.activatedComponentRef.setInput(st,se[st]);else this.unsubscribeFromRouteData(y)});this.outletDataSubscriptions.set(y,z)}static#e=this.\u0275fac=function(A){return new(A||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac})}return b})();function dr(b,T,y){if(y&&b.shouldReuseRoute(T.value,y.value.snapshot)){const A=y.value;A._futureSnapshot=T.value;const z=function Ni(b,T,y){return T.children.map(A=>{for(const z of y.children)if(b.shouldReuseRoute(A.value,z.value.snapshot))return dr(b,A,z);return dr(b,A)})}(b,T,y);return new ao(A,z)}{if(b.shouldAttach(T.value)){const se=b.retrieve(T.value);if(null!==se){const be=se.route;return be.value._futureSnapshot=T.value,be.children=T.children.map(st=>dr(b,st)),be}}const A=function gi(b){return new Vr(new R.X(b.url),new R.X(b.params),new R.X(b.queryParams),new R.X(b.fragment),new R.X(b.data),b.outlet,b.component,b)}(T.value),z=T.children.map(se=>dr(b,se));return new ao(A,z)}}const fo="ngNavigationCancelingError";function Mi(b,T){const{redirectTo:y,navigationBehaviorOptions:A}=Ne(T)?{redirectTo:T,navigationBehaviorOptions:void 0}:T,z=$r(!1,0,T);return z.url=y,z.navigationBehaviorOptions=A,z}function $r(b,T,y){const A=new Error("NavigationCancelingError: "+(b||""));return A[fo]=!0,A.cancellationCode=T,y&&(A.url=y),A}function zr(b){return b&&b[fo]}let Gi=(()=>{class b{static#e=this.\u0275fac=function(A){return new(A||b)};static#t=this.\u0275cmp=s.Xpm({type:b,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:0,template:function(A,z){1&A&&s._UZ(0,"router-outlet")},dependencies:[Cr],encapsulation:2})}return b})();function pi(b){const T=b.children&&b.children.map(pi),y=T?{...b,children:T}:{...b};return!y.component&&!y.loadComponent&&(T||y.loadChildren)&&y.outlet&&y.outlet!==pt&&(y.component=Gi),y}function $o(b){return b.outlet||pt}function wo(b){if(!b)return null;if(b.routeConfig?._injector)return b.routeConfig._injector;for(let T=b.parent;T;T=T.parent){const y=T.routeConfig;if(y?._loadedInjector)return y._loadedInjector;if(y?._injector)return y._injector}return null}class oo{constructor(T,y,A,z,se){this.routeReuseStrategy=T,this.futureState=y,this.currState=A,this.forwardEvent=z,this.inputBindingEnabled=se}activate(T){const y=this.futureState._root,A=this.currState?this.currState._root:null;this.deactivateChildRoutes(y,A,T),or(this.futureState.root),this.activateChildRoutes(y,A,T)}deactivateChildRoutes(T,y,A){const z=ho(y);T.children.forEach(se=>{const be=se.value.outlet;this.deactivateRoutes(se,z[be],A),delete z[be]}),Object.values(z).forEach(se=>{this.deactivateRouteAndItsChildren(se,A)})}deactivateRoutes(T,y,A){const z=T.value,se=y?y.value:null;if(z===se)if(z.component){const be=A.getContext(z.outlet);be&&this.deactivateChildRoutes(T,y,be.children)}else this.deactivateChildRoutes(T,y,A);else se&&this.deactivateRouteAndItsChildren(y,A)}deactivateRouteAndItsChildren(T,y){T.value.component&&this.routeReuseStrategy.shouldDetach(T.value.snapshot)?this.detachAndStoreRouteSubtree(T,y):this.deactivateRouteAndOutlet(T,y)}detachAndStoreRouteSubtree(T,y){const A=y.getContext(T.value.outlet),z=A&&T.value.component?A.children:y,se=ho(T);for(const be of Object.keys(se))this.deactivateRouteAndItsChildren(se[be],z);if(A&&A.outlet){const be=A.outlet.detach(),st=A.children.onOutletDeactivated();this.routeReuseStrategy.store(T.value.snapshot,{componentRef:be,route:T,contexts:st})}}deactivateRouteAndOutlet(T,y){const A=y.getContext(T.value.outlet),z=A&&T.value.component?A.children:y,se=ho(T);for(const be of Object.keys(se))this.deactivateRouteAndItsChildren(se[be],z);A&&(A.outlet&&(A.outlet.deactivate(),A.children.onOutletDeactivated()),A.attachRef=null,A.route=null)}activateChildRoutes(T,y,A){const z=ho(y);T.children.forEach(se=>{this.activateRoutes(se,z[se.value.outlet],A),this.forwardEvent(new Xn(se.value.snapshot))}),T.children.length&&this.forwardEvent(new Ii(T.value.snapshot))}activateRoutes(T,y,A){const z=T.value,se=y?y.value:null;if(or(z),z===se)if(z.component){const be=A.getOrCreateContext(z.outlet);this.activateChildRoutes(T,y,be.children)}else this.activateChildRoutes(T,y,A);else if(z.component){const be=A.getOrCreateContext(z.outlet);if(this.routeReuseStrategy.shouldAttach(z.snapshot)){const st=this.routeReuseStrategy.retrieve(z.snapshot);this.routeReuseStrategy.store(z.snapshot,null),be.children.onOutletReAttached(st.contexts),be.attachRef=st.componentRef,be.route=st.route.value,be.outlet&&be.outlet.attach(st.componentRef,st.route.value),or(st.route.value),this.activateChildRoutes(T,null,be.children)}else{const st=wo(z.snapshot);be.attachRef=null,be.route=z,be.injector=st,be.outlet&&be.outlet.activateWith(z,be.injector),this.activateChildRoutes(T,null,be.children)}}else this.activateChildRoutes(T,null,A)}}class br{constructor(T){this.path=T,this.route=this.path[this.path.length-1]}}class pr{constructor(T,y){this.component=T,this.route=y}}function Oi(b,T,y){const A=b._root;return _i(A,T?T._root:null,y,[A.value])}function qr(b,T){const y=Symbol(),A=T.get(b,y);return A===y?"function"!=typeof b||(0,s.Z0I)(b)?T.get(b):b:A}function _i(b,T,y,A,z={canDeactivateChecks:[],canActivateChecks:[]}){const se=ho(T);return b.children.forEach(be=>{(function is(b,T,y,A,z={canDeactivateChecks:[],canActivateChecks:[]}){const se=b.value,be=T?T.value:null,st=y?y.getContext(b.value.outlet):null;if(be&&se.routeConfig===be.routeConfig){const nt=function Js(b,T,y){if("function"==typeof y)return y(b,T);switch(y){case"pathParamsChange":return!Ut(b.url,T.url);case"pathParamsOrQueryParamsChange":return!Ut(b.url,T.url)||!qn(b.queryParams,T.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Uo(b,T)||!qn(b.queryParams,T.queryParams);default:return!Uo(b,T)}}(be,se,se.routeConfig.runGuardsAndResolvers);nt?z.canActivateChecks.push(new br(A)):(se.data=be.data,se._resolvedData=be._resolvedData),_i(b,T,se.component?st?st.children:null:y,A,z),nt&&st&&st.outlet&&st.outlet.isActivated&&z.canDeactivateChecks.push(new pr(st.outlet.component,be))}else be&&ki(T,st,z),z.canActivateChecks.push(new br(A)),_i(b,null,se.component?st?st.children:null:y,A,z)})(be,se[be.value.outlet],y,A.concat([be.value]),z),delete se[be.value.outlet]}),Object.entries(se).forEach(([be,st])=>ki(st,y.getContext(be),z)),z}function ki(b,T,y){const A=ho(b),z=b.value;Object.entries(A).forEach(([se,be])=>{ki(be,z.component?T?T.children.getContext(se):null:T,y)}),y.canDeactivateChecks.push(new pr(z.component&&T&&T.outlet&&T.outlet.isActivated?T.outlet.component:null,z))}function ei(b){return"function"==typeof b}function w(b){return b instanceof D||"EmptyError"===b?.name}const g=Symbol("INITIAL_VALUE");function I(){return(0,ge.w)(b=>(0,O.a)(b.map(T=>T.pipe((0,Me.q)(1),(0,Se.O)(g)))).pipe((0,ie.U)(T=>{for(const y of T)if(!0!==y){if(y===g)return g;if(!1===y||y instanceof qe)return y}return!0}),(0,Ae.h)(T=>T!==g),(0,Me.q)(1)))}function mn(b){return(0,V.z)((0,ye.b)(T=>{if(Ne(T))throw Mi(0,T)}),(0,ie.U)(T=>!0===T))}class yn{constructor(T){this.segmentGroup=T||null}}class ro{constructor(T){this.urlTree=T}}function co(b){return U(new yn(b))}function Dr(b){return U(new ro(b))}class ni{constructor(T,y){this.urlSerializer=T,this.urlTree=y}noMatchError(T){return new s.vHH(4002,!1)}lineralizeSegments(T,y){let A=[],z=y.root;for(;;){if(A=A.concat(z.segments),0===z.numberOfChildren)return(0,P.of)(A);if(z.numberOfChildren>1||!z.children[pt])return U(new s.vHH(4e3,!1));z=z.children[pt]}}applyRedirectCommands(T,y,A){return this.applyRedirectCreateUrlTree(y,this.urlSerializer.parse(y),T,A)}applyRedirectCreateUrlTree(T,y,A,z){const se=this.createSegmentGroup(T,y.root,A,z);return new qe(se,this.createQueryParams(y.queryParams,this.urlTree.queryParams),y.fragment)}createQueryParams(T,y){const A={};return Object.entries(T).forEach(([z,se])=>{if("string"==typeof se&&se.startsWith(":")){const st=se.substring(1);A[z]=y[st]}else A[z]=se}),A}createSegmentGroup(T,y,A,z){const se=this.createSegments(T,y.segments,A,z);let be={};return Object.entries(y.children).forEach(([st,nt])=>{be[st]=this.createSegmentGroup(T,nt,A,z)}),new Dt(se,be)}createSegments(T,y,A,z){return y.map(se=>se.path.startsWith(":")?this.findPosParam(T,se,z):this.findOrReturn(se,A))}findPosParam(T,y,A){const z=A[y.path.substring(1)];if(!z)throw new s.vHH(4001,!1);return z}findOrReturn(T,y){let A=0;for(const z of y){if(z.path===T.path)return y.splice(A),z;A++}return T}}const yi={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function oi(b,T,y,A,z){const se=rr(b,T,y);return se.matched?(A=function hr(b,T){return b.providers&&!b._injector&&(b._injector=(0,s.MMx)(b.providers,T,`Route: ${b.path}`)),b._injector??T}(T,A),function Jt(b,T,y,A){const z=T.canMatch;if(!z||0===z.length)return(0,P.of)(!0);const se=z.map(be=>{const st=qr(be,b);return $n(function It(b){return b&&ei(b.canMatch)}(st)?st.canMatch(T,y):b.runInContext(()=>st(T,y)))});return(0,P.of)(se).pipe(I(),mn())}(A,T,y).pipe((0,ie.U)(be=>!0===be?se:{...yi}))):(0,P.of)(se)}function rr(b,T,y){if(""===T.path)return"full"===T.pathMatch&&(b.hasChildren()||y.length>0)?{...yi}:{matched:!0,consumedSegments:[],remainingSegments:y,parameters:{},positionalParamSegments:{}};const z=(T.matcher||In)(y,b,T);if(!z)return{...yi};const se={};Object.entries(z.posParams??{}).forEach(([st,nt])=>{se[st]=nt.path});const be=z.consumed.length>0?{...se,...z.consumed[z.consumed.length-1].parameters}:se;return{matched:!0,consumedSegments:z.consumed,remainingSegments:y.slice(z.consumed.length),parameters:be,positionalParamSegments:z.posParams??{}}}function Ci(b,T,y,A){return y.length>0&&function Si(b,T,y){return y.some(A=>ri(b,T,A)&&$o(A)!==pt)}(b,y,A)?{segmentGroup:new Dt(T,gs(A,new Dt(y,b.children))),slicedSegments:[]}:0===y.length&&function ss(b,T,y){return y.some(A=>ri(b,T,A))}(b,y,A)?{segmentGroup:new Dt(b.segments,Yi(b,0,y,A,b.children)),slicedSegments:y}:{segmentGroup:new Dt(b.segments,b.children),slicedSegments:y}}function Yi(b,T,y,A,z){const se={};for(const be of A)if(ri(b,y,be)&&!z[$o(be)]){const st=new Dt([],{});se[$o(be)]=st}return{...z,...se}}function gs(b,T){const y={};y[pt]=T;for(const A of b)if(""===A.path&&$o(A)!==pt){const z=new Dt([],{});y[$o(A)]=z}return y}function ri(b,T,y){return(!(b.hasChildren()||T.length>0)||"full"!==y.pathMatch)&&""===y.path}class Ft{constructor(T,y,A,z,se,be,st){this.injector=T,this.configLoader=y,this.rootComponentType=A,this.config=z,this.urlTree=se,this.paramsInheritanceStrategy=be,this.urlSerializer=st,this.allowRedirects=!0,this.applyRedirects=new ni(this.urlSerializer,this.urlTree)}noMatchError(T){return new s.vHH(4002,!1)}recognize(){const T=Ci(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,T,pt).pipe((0,je.K)(y=>{if(y instanceof ro)return this.allowRedirects=!1,this.urlTree=y.urlTree,this.match(y.urlTree);throw y instanceof yn?this.noMatchError(y):y}),(0,ie.U)(y=>{const A=new zt([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},pt,this.rootComponentType,null,{}),z=new ao(A,y),se=new Mn("",z),be=function dt(b,T,y=null,A=null){return ue(Mt(b),T,y,A)}(A,[],this.urlTree.queryParams,this.urlTree.fragment);return be.queryParams=this.urlTree.queryParams,se.url=this.urlSerializer.serialize(be),this.inheritParamsAndData(se._root),{state:se,tree:be}}))}match(T){return this.processSegmentGroup(this.injector,this.config,T.root,pt).pipe((0,je.K)(A=>{throw A instanceof yn?this.noMatchError(A):A}))}inheritParamsAndData(T){const y=T.value,A=fi(y,this.paramsInheritanceStrategy);y.params=Object.freeze(A.params),y.data=Object.freeze(A.data),T.children.forEach(z=>this.inheritParamsAndData(z))}processSegmentGroup(T,y,A,z){return 0===A.segments.length&&A.hasChildren()?this.processChildren(T,y,A):this.processSegment(T,y,A,A.segments,z,!0)}processChildren(T,y,A){const z=[];for(const se of Object.keys(A.children))"primary"===se?z.unshift(se):z.push(se);return(0,L.D)(z).pipe((0,Ie.b)(se=>{const be=A.children[se],st=function mi(b,T){const y=b.filter(A=>$o(A)===T);return y.push(...b.filter(A=>$o(A)!==T)),y}(y,se);return this.processSegmentGroup(T,st,be,se)}),function Le(b,T){return(0,ce.e)(function Ge(b,T,y,A,z){return(se,be)=>{let st=y,nt=T,Yt=0;se.subscribe((0,ae.x)(be,Ln=>{const Po=Yt++;nt=st?b(nt,Ln,Po):(st=!0,Ln),A&&be.next(nt)},z&&(()=>{st&&be.next(nt),be.complete()})))}}(b,T,arguments.length>=2,!0))}((se,be)=>(se.push(...be),se)),ze(null),function lt(b,T){const y=arguments.length>=2;return A=>A.pipe(b?(0,Ae.h)((z,se)=>b(z,se,A)):_e.y,ct(1),y?ze(T):Je(()=>new D))}(),(0,Fe.z)(se=>{if(null===se)return co(A);const be=Wn(se);return function pn(b){b.sort((T,y)=>T.value.outlet===pt?-1:y.value.outlet===pt?1:T.value.outlet.localeCompare(y.value.outlet))}(be),(0,P.of)(be)}))}processSegment(T,y,A,z,se,be){return(0,L.D)(y).pipe((0,Ie.b)(st=>this.processSegmentAgainstRoute(st._injector??T,y,st,A,z,se,be).pipe((0,je.K)(nt=>{if(nt instanceof yn)return(0,P.of)(null);throw nt}))),Pe(st=>!!st),(0,je.K)(st=>{if(w(st))return function ft(b,T,y){return 0===T.length&&!b.children[y]}(A,z,se)?(0,P.of)([]):co(A);throw st}))}processSegmentAgainstRoute(T,y,A,z,se,be,st){return function js(b,T,y,A){return!!($o(b)===A||A!==pt&&ri(T,y,b))&&("**"===b.path||rr(T,b,y).matched)}(A,z,se,be)?void 0===A.redirectTo?this.matchSegmentAgainstRoute(T,z,A,se,be,st):st&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(T,z,y,A,se,be):co(z):co(z)}expandSegmentAgainstRouteUsingRedirect(T,y,A,z,se,be){return"**"===z.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(T,A,z,be):this.expandRegularSegmentAgainstRouteUsingRedirect(T,y,A,z,se,be)}expandWildCardWithParamsAgainstRouteUsingRedirect(T,y,A,z){const se=this.applyRedirects.applyRedirectCommands([],A.redirectTo,{});return A.redirectTo.startsWith("/")?Dr(se):this.applyRedirects.lineralizeSegments(A,se).pipe((0,Fe.z)(be=>{const st=new Dt(be,{});return this.processSegment(T,y,st,be,z,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(T,y,A,z,se,be){const{matched:st,consumedSegments:nt,remainingSegments:Yt,positionalParamSegments:Ln}=rr(y,z,se);if(!st)return co(y);const Po=this.applyRedirects.applyRedirectCommands(nt,z.redirectTo,Ln);return z.redirectTo.startsWith("/")?Dr(Po):this.applyRedirects.lineralizeSegments(z,Po).pipe((0,Fe.z)(lo=>this.processSegment(T,A,y,lo.concat(Yt),be,!1)))}matchSegmentAgainstRoute(T,y,A,z,se,be){let st;if("**"===A.path){const nt=z.length>0?Un(z).parameters:{},Yt=new zt(z,nt,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,go(A),$o(A),A.component??A._loadedComponent??null,A,zo(A));st=(0,P.of)({snapshot:Yt,consumedSegments:[],remainingSegments:[]}),y.children={}}else st=oi(y,A,z,T).pipe((0,ie.U)(({matched:nt,consumedSegments:Yt,remainingSegments:Ln,parameters:Po})=>nt?{snapshot:new zt(Yt,Po,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,go(A),$o(A),A.component??A._loadedComponent??null,A,zo(A)),consumedSegments:Yt,remainingSegments:Ln}:null));return st.pipe((0,ge.w)(nt=>null===nt?co(y):this.getChildConfig(T=A._injector??T,A,z).pipe((0,ge.w)(({routes:Yt})=>{const Ln=A._loadedInjector??T,{snapshot:Po,consumedSegments:lo,remainingSegments:Ki}=nt,{segmentGroup:va,slicedSegments:xs}=Ci(y,lo,Ki,Yt);if(0===xs.length&&va.hasChildren())return this.processChildren(Ln,Yt,va).pipe((0,ie.U)(At=>null===At?null:[new ao(Po,At)]));if(0===Yt.length&&0===xs.length)return(0,P.of)([new ao(Po,[])]);const Pr=$o(A)===se;return this.processSegment(Ln,Yt,va,xs,Pr?pt:se,!0).pipe((0,ie.U)(At=>[new ao(Po,At)]))}))))}getChildConfig(T,y,A){return y.children?(0,P.of)({routes:y.children,injector:T}):y.loadChildren?void 0!==y._loadedRoutes?(0,P.of)({routes:y._loadedRoutes,injector:y._loadedInjector}):function Lt(b,T,y,A){const z=T.canLoad;if(void 0===z||0===z.length)return(0,P.of)(!0);const se=z.map(be=>{const st=qr(be,b);return $n(function qs(b){return b&&ei(b.canLoad)}(st)?st.canLoad(T,y):b.runInContext(()=>st(T,y)))});return(0,P.of)(se).pipe(I(),mn())}(T,y,A).pipe((0,Fe.z)(z=>z?this.configLoader.loadChildren(T,y).pipe((0,ye.b)(se=>{y._loadedRoutes=se.routes,y._loadedInjector=se.injector})):function ti(b){return U($r(!1,3))}())):(0,P.of)({routes:[],injector:T})}}function kn(b){const T=b.value.routeConfig;return T&&""===T.path}function Wn(b){const T=[],y=new Set;for(const A of b){if(!kn(A)){T.push(A);continue}const z=T.find(se=>A.value.routeConfig===se.value.routeConfig);void 0!==z?(z.children.push(...A.children),y.add(z)):T.push(A)}for(const A of y){const z=Wn(A.children);T.push(new ao(A.value,z))}return T.filter(A=>!y.has(A))}function go(b){return b.data||{}}function zo(b){return b.resolve||{}}function H(b){return"string"==typeof b.title||null===b.title}function Q(b){return(0,ge.w)(T=>{const y=b(T);return y?(0,L.D)(y).pipe((0,ie.U)(()=>T)):(0,P.of)(T)})}const Ce=new s.OlP("ROUTES");let at=(()=>{class b{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=(0,s.f3M)(s.Sil)}loadComponent(y){if(this.componentLoaders.get(y))return this.componentLoaders.get(y);if(y._loadedComponent)return(0,P.of)(y._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(y);const A=$n(y.loadComponent()).pipe((0,ie.U)(po),(0,ye.b)(se=>{this.onLoadEndListener&&this.onLoadEndListener(y),y._loadedComponent=se}),(0,De.x)(()=>{this.componentLoaders.delete(y)})),z=new Z(A,()=>new J.x).pipe(oe());return this.componentLoaders.set(y,z),z}loadChildren(y,A){if(this.childrenLoaders.get(A))return this.childrenLoaders.get(A);if(A._loadedRoutes)return(0,P.of)({routes:A._loadedRoutes,injector:A._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(A);const se=function bt(b,T,y,A){return $n(b.loadChildren()).pipe((0,ie.U)(po),(0,Fe.z)(z=>z instanceof s.YKP||Array.isArray(z)?(0,P.of)(z):(0,L.D)(T.compileModuleAsync(z))),(0,ie.U)(z=>{A&&A(b);let se,be,st=!1;return Array.isArray(z)?(be=z,!0):(se=z.create(y).injector,be=se.get(Ce,[],{optional:!0,self:!0}).flat()),{routes:be.map(pi),injector:se}}))}(A,this.compiler,y,this.onLoadEndListener).pipe((0,De.x)(()=>{this.childrenLoaders.delete(A)})),be=new Z(se,()=>new J.x).pipe(oe());return this.childrenLoaders.set(A,be),be}static#e=this.\u0275fac=function(A){return new(A||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();function po(b){return function ln(b){return b&&"object"==typeof b&&"default"in b}(b)?b.default:b}let vo=(()=>{class b{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new J.x,this.transitionAbortSubject=new J.x,this.configLoader=(0,s.f3M)(at),this.environmentInjector=(0,s.f3M)(s.lqb),this.urlSerializer=(0,s.f3M)(wn),this.rootContexts=(0,s.f3M)(Qt),this.inputBindingEnabled=null!==(0,s.f3M)(ar,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>(0,P.of)(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=z=>this.events.next(new tr(z)),this.configLoader.onLoadStartListener=z=>this.events.next(new fs(z))}complete(){this.transitions?.complete()}handleNavigationRequest(y){const A=++this.navigationId;this.transitions?.next({...this.transitions.value,...y,id:A})}setupNavigations(y,A,z){return this.transitions=new R.X({id:0,currentUrlTree:A,currentRawUrl:A,currentBrowserUrl:A,extractedUrl:y.urlHandlingStrategy.extract(A),urlAfterRedirects:y.urlHandlingStrategy.extract(A),rawUrl:A,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:So,restoredState:null,currentSnapshot:z.snapshot,targetSnapshot:null,currentRouterState:z,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe((0,Ae.h)(se=>0!==se.id),(0,ie.U)(se=>({...se,extractedUrl:y.urlHandlingStrategy.extract(se.rawUrl)})),(0,ge.w)(se=>{this.currentTransition=se;let be=!1,st=!1;return(0,P.of)(se).pipe((0,ye.b)(nt=>{this.currentNavigation={id:nt.id,initialUrl:nt.rawUrl,extractedUrl:nt.extractedUrl,trigger:nt.source,extras:nt.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),(0,ge.w)(nt=>{const Yt=nt.currentBrowserUrl.toString(),Ln=!y.navigated||nt.extractedUrl.toString()!==Yt||Yt!==nt.currentUrlTree.toString();if(!Ln&&"reload"!==(nt.extras.onSameUrlNavigation??y.onSameUrlNavigation)){const lo="";return this.events.next(new yr(nt.id,this.urlSerializer.serialize(nt.rawUrl),lo,0)),nt.resolve(null),G.E}if(y.urlHandlingStrategy.shouldProcessUrl(nt.rawUrl))return(0,P.of)(nt).pipe((0,ge.w)(lo=>{const Ki=this.transitions?.getValue();return this.events.next(new Fo(lo.id,this.urlSerializer.serialize(lo.extractedUrl),lo.source,lo.restoredState)),Ki!==this.transitions?.getValue()?G.E:Promise.resolve(lo)}),function Sr(b,T,y,A,z,se){return(0,Fe.z)(be=>function hn(b,T,y,A,z,se,be="emptyOnly"){return new Ft(b,T,y,A,z,be,se).recognize()}(b,T,y,A,be.extractedUrl,z,se).pipe((0,ie.U)(({state:st,tree:nt})=>({...be,targetSnapshot:st,urlAfterRedirects:nt}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,y.config,this.urlSerializer,y.paramsInheritanceStrategy),(0,ye.b)(lo=>{se.targetSnapshot=lo.targetSnapshot,se.urlAfterRedirects=lo.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:lo.urlAfterRedirects};const Ki=new Di(lo.id,this.urlSerializer.serialize(lo.extractedUrl),this.urlSerializer.serialize(lo.urlAfterRedirects),lo.targetSnapshot);this.events.next(Ki)}));if(Ln&&y.urlHandlingStrategy.shouldProcessUrl(nt.currentRawUrl)){const{id:lo,extractedUrl:Ki,source:va,restoredState:xs,extras:Pr}=nt,At=new Fo(lo,this.urlSerializer.serialize(Ki),va,xs);this.events.next(At);const qo=di(0,this.rootComponentType).snapshot;return this.currentTransition=se={...nt,targetSnapshot:qo,urlAfterRedirects:Ki,extras:{...Pr,skipLocationChange:!1,replaceUrl:!1}},(0,P.of)(se)}{const lo="";return this.events.next(new yr(nt.id,this.urlSerializer.serialize(nt.extractedUrl),lo,1)),nt.resolve(null),G.E}}),(0,ye.b)(nt=>{const Yt=new Or(nt.id,this.urlSerializer.serialize(nt.extractedUrl),this.urlSerializer.serialize(nt.urlAfterRedirects),nt.targetSnapshot);this.events.next(Yt)}),(0,ie.U)(nt=>(this.currentTransition=se={...nt,guards:Oi(nt.targetSnapshot,nt.currentSnapshot,this.rootContexts)},se)),function X(b,T){return(0,Fe.z)(y=>{const{targetSnapshot:A,currentSnapshot:z,guards:{canActivateChecks:se,canDeactivateChecks:be}}=y;return 0===be.length&&0===se.length?(0,P.of)({...y,guardsResult:!0}):function he(b,T,y,A){return(0,L.D)(b).pipe((0,Fe.z)(z=>function xt(b,T,y,A,z){const se=T&&T.routeConfig?T.routeConfig.canDeactivate:null;if(!se||0===se.length)return(0,P.of)(!0);const be=se.map(st=>{const nt=wo(T)??z,Yt=qr(st,nt);return $n(function Bs(b){return b&&ei(b.canDeactivate)}(Yt)?Yt.canDeactivate(b,T,y,A):nt.runInContext(()=>Yt(b,T,y,A))).pipe(Pe())});return(0,P.of)(be).pipe(I())}(z.component,z.route,y,T,A)),Pe(z=>!0!==z,!0))}(be,A,z,b).pipe((0,Fe.z)(st=>st&&function Ms(b){return"boolean"==typeof b}(st)?function Ue(b,T,y,A){return(0,L.D)(T).pipe((0,Ie.b)(z=>(0,v.z)(function Ze(b,T){return null!==b&&T&&T(new bn(b)),(0,P.of)(!0)}(z.route.parent,A),function ot(b,T){return null!==b&&T&&T(new To(b)),(0,P.of)(!0)}(z.route,A),function Tt(b,T,y){const A=T[T.length-1],se=T.slice(0,T.length-1).reverse().map(be=>function Zo(b){const T=b.routeConfig?b.routeConfig.canActivateChild:null;return T&&0!==T.length?{node:b,guards:T}:null}(be)).filter(be=>null!==be).map(be=>j(()=>{const st=be.guards.map(nt=>{const Yt=wo(be.node)??y,Ln=qr(nt,Yt);return $n(function Ro(b){return b&&ei(b.canActivateChild)}(Ln)?Ln.canActivateChild(A,b):Yt.runInContext(()=>Ln(A,b))).pipe(Pe())});return(0,P.of)(st).pipe(I())}));return(0,P.of)(se).pipe(I())}(b,z.path,y),function yt(b,T,y){const A=T.routeConfig?T.routeConfig.canActivate:null;if(!A||0===A.length)return(0,P.of)(!0);const z=A.map(se=>j(()=>{const be=wo(T)??y,st=qr(se,be);return $n(function vi(b){return b&&ei(b.canActivate)}(st)?st.canActivate(T,b):be.runInContext(()=>st(T,b))).pipe(Pe())}));return(0,P.of)(z).pipe(I())}(b,z.route,y))),Pe(z=>!0!==z,!0))}(A,se,b,T):(0,P.of)(st)),(0,ie.U)(st=>({...y,guardsResult:st})))})}(this.environmentInjector,nt=>this.events.next(nt)),(0,ye.b)(nt=>{if(se.guardsResult=nt.guardsResult,Ne(nt.guardsResult))throw Mi(0,nt.guardsResult);const Yt=new Hr(nt.id,this.urlSerializer.serialize(nt.extractedUrl),this.urlSerializer.serialize(nt.urlAfterRedirects),nt.targetSnapshot,!!nt.guardsResult);this.events.next(Yt)}),(0,Ae.h)(nt=>!!nt.guardsResult||(this.cancelNavigationTransition(nt,"",3),!1)),Q(nt=>{if(nt.guards.canActivateChecks.length)return(0,P.of)(nt).pipe((0,ye.b)(Yt=>{const Ln=new Ei(Yt.id,this.urlSerializer.serialize(Yt.extractedUrl),this.urlSerializer.serialize(Yt.urlAfterRedirects),Yt.targetSnapshot);this.events.next(Ln)}),(0,ge.w)(Yt=>{let Ln=!1;return(0,P.of)(Yt).pipe(function Bo(b,T){return(0,Fe.z)(y=>{const{targetSnapshot:A,guards:{canActivateChecks:z}}=y;if(!z.length)return(0,P.of)(y);let se=0;return(0,L.D)(z).pipe((0,Ie.b)(be=>function Fr(b,T,y,A){const z=b.routeConfig,se=b._resolve;return void 0!==z?.title&&!H(z)&&(se[tn]=z.title),function ii(b,T,y,A){const z=function E(b){return[...Object.keys(b),...Object.getOwnPropertySymbols(b)]}(b);if(0===z.length)return(0,P.of)({});const se={};return(0,L.D)(z).pipe((0,Fe.z)(be=>function te(b,T,y,A){const z=wo(T)??A,se=qr(b,z);return $n(se.resolve?se.resolve(T,y):z.runInContext(()=>se(T,y)))}(b[be],T,y,A).pipe(Pe(),(0,ye.b)(st=>{se[be]=st}))),ct(1),(0,rt.h)(se),(0,je.K)(be=>w(be)?G.E:U(be)))}(se,b,T,A).pipe((0,ie.U)(be=>(b._resolvedData=be,b.data=fi(b,y).resolve,z&&H(z)&&(b.data[tn]=z.title),null)))}(be.route,A,b,T)),(0,ye.b)(()=>se++),ct(1),(0,Fe.z)(be=>se===z.length?(0,P.of)(y):G.E))})}(y.paramsInheritanceStrategy,this.environmentInjector),(0,ye.b)({next:()=>Ln=!0,complete:()=>{Ln||this.cancelNavigationTransition(Yt,"",2)}}))}),(0,ye.b)(Yt=>{const Ln=new Qo(Yt.id,this.urlSerializer.serialize(Yt.extractedUrl),this.urlSerializer.serialize(Yt.urlAfterRedirects),Yt.targetSnapshot);this.events.next(Ln)}))}),Q(nt=>{const Yt=Ln=>{const Po=[];Ln.routeConfig?.loadComponent&&!Ln.routeConfig._loadedComponent&&Po.push(this.configLoader.loadComponent(Ln.routeConfig).pipe((0,ye.b)(lo=>{Ln.component=lo}),(0,ie.U)(()=>{})));for(const lo of Ln.children)Po.push(...Yt(lo));return Po};return(0,O.a)(Yt(nt.targetSnapshot.root)).pipe(ze(),(0,Me.q)(1))}),Q(()=>this.afterPreactivation()),(0,ie.U)(nt=>{const Yt=function Dn(b,T,y){const A=dr(b,T._root,y?y._root:void 0);return new ui(A,T)}(y.routeReuseStrategy,nt.targetSnapshot,nt.currentRouterState);return this.currentTransition=se={...nt,targetRouterState:Yt},se}),(0,ye.b)(()=>{this.events.next(new Xo)}),((b,T,y,A)=>(0,ie.U)(z=>(new oo(T,z.targetRouterState,z.currentRouterState,y,A).activate(b),z)))(this.rootContexts,y.routeReuseStrategy,nt=>this.events.next(nt),this.inputBindingEnabled),(0,Me.q)(1),(0,ye.b)({next:nt=>{be=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Lo(nt.id,this.urlSerializer.serialize(nt.extractedUrl),this.urlSerializer.serialize(nt.urlAfterRedirects))),y.titleStrategy?.updateTitle(nt.targetRouterState.snapshot),nt.resolve(!0)},complete:()=>{be=!0}}),(0,it.R)(this.transitionAbortSubject.pipe((0,ye.b)(nt=>{throw nt}))),(0,De.x)(()=>{be||st||this.cancelNavigationTransition(se,"",1),this.currentNavigation?.id===se.id&&(this.currentNavigation=null)}),(0,je.K)(nt=>{if(st=!0,zr(nt))this.events.next(new mo(se.id,this.urlSerializer.serialize(se.extractedUrl),nt.message,nt.cancellationCode)),function cr(b){return zr(b)&&Ne(b.url)}(nt)?this.events.next(new kr(nt.url)):se.resolve(!1);else{this.events.next(new jr(se.id,this.urlSerializer.serialize(se.extractedUrl),nt,se.targetSnapshot??void 0));try{se.resolve(y.errorHandler(nt))}catch(Yt){se.reject(Yt)}}return G.E}))}))}cancelNavigationTransition(y,A,z){const se=new mo(y.id,this.urlSerializer.serialize(y.extractedUrl),A,z);this.events.next(se),y.resolve(!1)}static#e=this.\u0275fac=function(A){return new(A||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();function eo(b){return b!==So}let jn=(()=>{class b{buildTitle(y){let A,z=y.root;for(;void 0!==z;)A=this.getResolvedTitleForRoute(z)??A,z=z.children.find(se=>se.outlet===pt);return A}getResolvedTitleForRoute(y){return y.data[tn]}static#e=this.\u0275fac=function(A){return new(A||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:function(){return(0,s.f3M)(Ko)},providedIn:"root"})}return b})(),Ko=(()=>{class b extends jn{constructor(y){super(),this.title=y}updateTitle(y){const A=this.buildTitle(y);void 0!==A&&this.title.setTitle(A)}static#e=this.\u0275fac=function(A){return new(A||b)(s.LFG(jt.Dx))};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})(),bo=(()=>{class b{static#e=this.\u0275fac=function(A){return new(A||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:function(){return(0,s.f3M)(Ti)},providedIn:"root"})}return b})();class ir{shouldDetach(T){return!1}store(T,y){}shouldAttach(T){return!1}retrieve(T){return null}shouldReuseRoute(T,y){return T.routeConfig===y.routeConfig}}let Ti=(()=>{class b extends ir{static#e=this.\u0275fac=function(){let y;return function(z){return(y||(y=s.n5z(b)))(z||b)}}();static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();const Gr=new s.OlP("",{providedIn:"root",factory:()=>({})});let ps=(()=>{class b{static#e=this.\u0275fac=function(A){return new(A||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:function(){return(0,s.f3M)(Yr)},providedIn:"root"})}return b})(),Yr=(()=>{class b{shouldProcessUrl(y){return!0}extract(y){return y}merge(y,A){return y}static#e=this.\u0275fac=function(A){return new(A||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();var Zr=function(b){return b[b.COMPLETE=0]="COMPLETE",b[b.FAILED=1]="FAILED",b[b.REDIRECTING=2]="REDIRECTING",b}(Zr||{});function mr(b,T){b.events.pipe((0,Ae.h)(y=>y instanceof Lo||y instanceof mo||y instanceof jr||y instanceof yr),(0,ie.U)(y=>y instanceof Lo||y instanceof yr?Zr.COMPLETE:y instanceof mo&&(0===y.code||1===y.code)?Zr.REDIRECTING:Zr.FAILED),(0,Ae.h)(y=>y!==Zr.REDIRECTING),(0,Me.q)(1)).subscribe(()=>{T()})}function Fi(b){throw b}function zc(b,T,y){return T.parse("/")}const xo={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Qa={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Tr=(()=>{class b{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=(0,s.f3M)(s.c2e),this.isNgZoneEnabled=!1,this._events=new J.x,this.options=(0,s.f3M)(Gr,{optional:!0})||{},this.pendingTasks=(0,s.f3M)(s.HDt),this.errorHandler=this.options.errorHandler||Fi,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||zc,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=(0,s.f3M)(ps),this.routeReuseStrategy=(0,s.f3M)(bo),this.titleStrategy=(0,s.f3M)(jn),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=(0,s.f3M)(Ce,{optional:!0})?.flat()??[],this.navigationTransitions=(0,s.f3M)(vo),this.urlSerializer=(0,s.f3M)(wn),this.location=(0,s.f3M)(q.Ye),this.componentInputBindingEnabled=!!(0,s.f3M)(ar,{optional:!0}),this.eventsSubscription=new K.w0,this.isNgZoneEnabled=(0,s.f3M)(s.R0b)instanceof s.R0b&&s.R0b.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new qe,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=di(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(y=>{this.lastSuccessfulId=y.id,this.currentPageId=this.browserPageId},y=>{this.console.warn(`Unhandled Navigation Error: ${y}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const y=this.navigationTransitions.events.subscribe(A=>{try{const{currentTransition:z}=this.navigationTransitions;if(null===z)return void(Wc(A)&&this._events.next(A));if(A instanceof Fo)eo(z.source)&&(this.browserUrlTree=z.extractedUrl);else if(A instanceof yr)this.rawUrlTree=z.rawUrl;else if(A instanceof Di){if("eager"===this.urlUpdateStrategy){if(!z.extras.skipLocationChange){const se=this.urlHandlingStrategy.merge(z.urlAfterRedirects,z.rawUrl);this.setBrowserUrl(se,z)}this.browserUrlTree=z.urlAfterRedirects}}else if(A instanceof Xo)this.currentUrlTree=z.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(z.urlAfterRedirects,z.rawUrl),this.routerState=z.targetRouterState,"deferred"===this.urlUpdateStrategy&&(z.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,z),this.browserUrlTree=z.urlAfterRedirects);else if(A instanceof mo)0!==A.code&&1!==A.code&&(this.navigated=!0),(3===A.code||2===A.code)&&this.restoreHistory(z);else if(A instanceof kr){const se=this.urlHandlingStrategy.merge(A.url,z.currentRawUrl),be={skipLocationChange:z.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||eo(z.source)};this.scheduleNavigation(se,So,null,be,{resolve:z.resolve,reject:z.reject,promise:z.promise})}A instanceof jr&&this.restoreHistory(z,!0),A instanceof Lo&&(this.navigated=!0),Wc(A)&&this._events.next(A)}catch(z){this.navigationTransitions.transitionAbortSubject.next(z)}});this.eventsSubscription.add(y)}resetRootComponentType(y){this.routerState.root.component=y,this.navigationTransitions.rootComponentType=y}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const y=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),So,y)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(y=>{const A="popstate"===y.type?"popstate":"hashchange";"popstate"===A&&setTimeout(()=>{this.navigateToSyncWithBrowser(y.url,A,y.state)},0)}))}navigateToSyncWithBrowser(y,A,z){const se={replaceUrl:!0},be=z?.navigationId?z:null;if(z){const nt={...z};delete nt.navigationId,delete nt.\u0275routerPageId,0!==Object.keys(nt).length&&(se.state=nt)}const st=this.parseUrl(y);this.scheduleNavigation(st,A,be,se)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(y){this.config=y.map(pi),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(y,A={}){const{relativeTo:z,queryParams:se,fragment:be,queryParamsHandling:st,preserveFragment:nt}=A,Yt=nt?this.currentUrlTree.fragment:be;let Po,Ln=null;switch(st){case"merge":Ln={...this.currentUrlTree.queryParams,...se};break;case"preserve":Ln=this.currentUrlTree.queryParams;break;default:Ln=se||null}null!==Ln&&(Ln=this.removeEmptyProps(Ln));try{Po=Mt(z?z.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof y[0]||!y[0].startsWith("/"))&&(y=[]),Po=this.currentUrlTree.root}return ue(Po,y,Ln,Yt??null)}navigateByUrl(y,A={skipLocationChange:!1}){const z=Ne(y)?y:this.parseUrl(y),se=this.urlHandlingStrategy.merge(z,this.rawUrlTree);return this.scheduleNavigation(se,So,null,A)}navigate(y,A={skipLocationChange:!1}){return function Lr(b){for(let T=0;T{const se=y[z];return null!=se&&(A[z]=se),A},{})}scheduleNavigation(y,A,z,se,be){if(this.disposed)return Promise.resolve(!1);let st,nt,Yt;be?(st=be.resolve,nt=be.reject,Yt=be.promise):Yt=new Promise((Po,lo)=>{st=Po,nt=lo});const Ln=this.pendingTasks.add();return mr(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(Ln))}),this.navigationTransitions.handleNavigationRequest({source:A,restoredState:z,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:y,extras:se,resolve:st,reject:nt,promise:Yt,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),Yt.catch(Po=>Promise.reject(Po))}setBrowserUrl(y,A){const z=this.urlSerializer.serialize(y);if(this.location.isCurrentPathEqualTo(z)||A.extras.replaceUrl){const be={...A.extras.state,...this.generateNgRouterState(A.id,this.browserPageId)};this.location.replaceState(z,"",be)}else{const se={...A.extras.state,...this.generateNgRouterState(A.id,this.browserPageId+1)};this.location.go(z,"",se)}}restoreHistory(y,A=!1){if("computed"===this.canceledNavigationResolution){const se=this.currentPageId-this.browserPageId;0!==se?this.location.historyGo(se):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===se&&(this.resetState(y),this.browserUrlTree=y.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(A&&this.resetState(y),this.resetUrlToCurrentUrlTree())}resetState(y){this.routerState=y.currentRouterState,this.currentUrlTree=y.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,y.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(y,A){return"computed"===this.canceledNavigationResolution?{navigationId:y,\u0275routerPageId:A}:{navigationId:y}}static#e=this.\u0275fac=function(A){return new(A||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();function Wc(b){return!(b instanceof Xo||b instanceof kr)}let Os=(()=>{class b{constructor(y,A,z,se,be,st){this.router=y,this.route=A,this.tabIndexAttribute=z,this.renderer=se,this.el=be,this.locationStrategy=st,this.href=null,this.commands=null,this.onChanges=new J.x,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const nt=be.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===nt||"area"===nt,this.isAnchorElement?this.subscription=y.events.subscribe(Yt=>{Yt instanceof Lo&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(y){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",y)}ngOnChanges(y){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(y){null!=y?(this.commands=Array.isArray(y)?y:[y],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(y,A,z,se,be){return!!(null===this.urlTree||this.isAnchorElement&&(0!==y||A||z||se||be||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(this.urlTree,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const y=null===this.href?null:(0,s.P3R)(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",y)}applyAttributeValue(y,A){const z=this.renderer,se=this.el.nativeElement;null!==A?z.setAttribute(se,y,A):z.removeAttribute(se,y)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(A){return new(A||b)(s.Y36(Tr),s.Y36(Vr),s.$8M("tabindex"),s.Y36(s.Qsj),s.Y36(s.SBq),s.Y36(q.S$))};static#t=this.\u0275dir=s.lG2({type:b,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(A,z){1&A&&s.NdJ("click",function(be){return z.onClick(be.button,be.ctrlKey,be.shiftKey,be.altKey,be.metaKey)}),2&A&&s.uIk("target",z.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",relativeTo:"relativeTo",preserveFragment:["preserveFragment","preserveFragment",s.VuI],skipLocationChange:["skipLocationChange","skipLocationChange",s.VuI],replaceUrl:["replaceUrl","replaceUrl",s.VuI],routerLink:"routerLink"},standalone:!0,features:[s.Xq5,s.TTD]})}return b})(),as=(()=>{class b{get isActive(){return this._isActive}constructor(y,A,z,se,be){this.router=y,this.element=A,this.renderer=z,this.cdr=se,this.link=be,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new s.vpe,this.routerEventsSubscription=y.events.subscribe(st=>{st instanceof Lo&&this.update()})}ngAfterContentInit(){(0,P.of)(this.links.changes,(0,P.of)(null)).pipe((0,Ct.J)()).subscribe(y=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const y=[...this.links.toArray(),this.link].filter(A=>!!A).map(A=>A.onChanges);this.linkInputChangesSubscription=(0,L.D)(y).pipe((0,Ct.J)()).subscribe(A=>{this._isActive!==this.isLinkActive(this.router)(A)&&this.update()})}set routerLinkActive(y){const A=Array.isArray(y)?y:y.split(" ");this.classes=A.filter(z=>!!z)}ngOnChanges(y){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const y=this.hasActiveLinks();this._isActive!==y&&(this._isActive=y,this.cdr.markForCheck(),this.classes.forEach(A=>{y?this.renderer.addClass(this.element.nativeElement,A):this.renderer.removeClass(this.element.nativeElement,A)}),y&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(y))})}isLinkActive(y){const A=function Er(b){return!!b.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return z=>!!z.urlTree&&y.isActive(z.urlTree,A)}hasActiveLinks(){const y=this.isLinkActive(this.router);return this.link&&y(this.link)||this.links.some(y)}static#e=this.\u0275fac=function(A){return new(A||b)(s.Y36(Tr),s.Y36(s.SBq),s.Y36(s.Qsj),s.Y36(s.sBO),s.Y36(Os,8))};static#t=this.\u0275dir=s.lG2({type:b,selectors:[["","routerLinkActive",""]],contentQueries:function(A,z,se){if(1&A&&s.Suo(se,Os,5),2&A){let be;s.iGM(be=s.CRH())&&(z.links=be)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[s.TTD]})}return b})();class Gc{}let Li=(()=>{class b{constructor(y,A,z,se,be){this.router=y,this.injector=z,this.preloadingStrategy=se,this.loader=be}setUpPreloading(){this.subscription=this.router.events.pipe((0,Ae.h)(y=>y instanceof Lo),(0,Ie.b)(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(y,A){const z=[];for(const se of A){se.providers&&!se._injector&&(se._injector=(0,s.MMx)(se.providers,y,`Route: ${se.path}`));const be=se._injector??y,st=se._loadedInjector??be;(se.loadChildren&&!se._loadedRoutes&&void 0===se.canLoad||se.loadComponent&&!se._loadedComponent)&&z.push(this.preloadConfig(be,se)),(se.children||se._loadedRoutes)&&z.push(this.processRoutes(st,se.children??se._loadedRoutes))}return(0,L.D)(z).pipe((0,Ct.J)())}preloadConfig(y,A){return this.preloadingStrategy.preload(A,()=>{let z;z=A.loadChildren&&void 0===A.canLoad?this.loader.loadChildren(y,A):(0,P.of)(null);const se=z.pipe((0,Fe.z)(be=>null===be?(0,P.of)(void 0):(A._loadedRoutes=be.routes,A._loadedInjector=be.injector,this.processRoutes(be.injector??y,be.routes))));if(A.loadComponent&&!A._loadedComponent){const be=this.loader.loadComponent(A);return(0,L.D)([se,be]).pipe((0,Ct.J)())}return se})}static#e=this.\u0275fac=function(A){return new(A||b)(s.LFG(Tr),s.LFG(s.Sil),s.LFG(s.lqb),s.LFG(Gc),s.LFG(at))};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();const Bi=new s.OlP("");let wr=(()=>{class b{constructor(y,A,z,se,be={}){this.urlSerializer=y,this.transitions=A,this.viewportScroller=z,this.zone=se,this.options=be,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},be.scrollPositionRestoration=be.scrollPositionRestoration||"disabled",be.anchorScrolling=be.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(y=>{y instanceof Fo?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=y.navigationTrigger,this.restoredId=y.restoredState?y.restoredState.navigationId:0):y instanceof Lo?(this.lastId=y.id,this.scheduleScrollEvent(y,this.urlSerializer.parse(y.urlAfterRedirects).fragment)):y instanceof yr&&0===y.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(y,this.urlSerializer.parse(y.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(y=>{y instanceof Rr&&(y.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(y.position):y.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(y.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(y,A){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new Rr(y,"popstate"===this.lastSource?this.store[this.restoredId]:null,A))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(A){s.$Z()};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac})}return b})();function Kr(b,...T){return(0,s.MR2)([{provide:Ce,multi:!0,useValue:b},[],{provide:Vr,useFactory:Xa,deps:[Tr]},{provide:s.tb,multi:!0,useFactory:fa},T.map(y=>y.\u0275providers)])}function Xa(b){return b.routerState.root}function Zi(b,T){return{\u0275kind:b,\u0275providers:T}}function kd(b={}){return Zi(4,[{provide:Bi,useFactory:()=>{const y=(0,s.f3M)(q.EM),A=(0,s.f3M)(s.R0b),z=(0,s.f3M)(vo),se=(0,s.f3M)(wn);return new wr(se,z,y,A,b)}}])}function fa(){const b=(0,s.f3M)(s.zs3);return T=>{const y=b.get(s.z2F);if(T!==y.components[0])return;const A=b.get(Tr),z=b.get(Ss);1===b.get(ga)&&A.initialNavigation(),b.get(Ja,null,s.XFs.Optional)?.setUpPreloading(),b.get(Bi,null,s.XFs.Optional)?.init(),A.resetRootComponentType(y.componentTypes[0]),z.closed||(z.next(),z.complete(),z.unsubscribe())}}const Ss=new s.OlP("",{factory:()=>new J.x}),ga=new s.OlP("",{providedIn:"root",factory:()=>1}),Ja=new s.OlP("");function pa(b){return Zi(0,[{provide:Ja,useExisting:Li},{provide:Gc,useExisting:b}])}const qa=new s.OlP("ROUTER_FORROOT_GUARD"),xr=[q.Ye,{provide:wn,useClass:Oo},Tr,Qt,{provide:Vr,useFactory:Xa,deps:[Tr]},at,[]];function Yc(){return new s.PXZ("Router",Tr)}let cs=(()=>{class b{constructor(y){}static forRoot(y,A){return{ngModule:b,providers:[xr,[],{provide:Ce,multi:!0,useValue:y},{provide:qa,useFactory:hu,deps:[[Tr,new s.FiY,new s.tp0]]},{provide:Gr,useValue:A||{}},A?.useHash?{provide:q.S$,useClass:q.Do}:{provide:q.S$,useClass:q.b0},{provide:Bi,useFactory:()=>{const b=(0,s.f3M)(q.EM),T=(0,s.f3M)(s.R0b),y=(0,s.f3M)(Gr),A=(0,s.f3M)(vo),z=(0,s.f3M)(wn);return y.scrollOffset&&b.setOffset(y.scrollOffset),new wr(z,A,b,T,y)}},A?.preloadingStrategy?pa(A.preloadingStrategy).\u0275providers:[],{provide:s.PXZ,multi:!0,useFactory:Yc},A?.initialNavigation?ec(A):[],A?.bindToComponentInputs?Zi(8,[Ur,{provide:ar,useExisting:Ur}]).\u0275providers:[],[{provide:Qr,useFactory:fa},{provide:s.tb,multi:!0,useExisting:Qr}]]}}static forChild(y){return{ngModule:b,providers:[{provide:Ce,multi:!0,useValue:y}]}}static#e=this.\u0275fac=function(A){return new(A||b)(s.LFG(qa,8))};static#t=this.\u0275mod=s.oAB({type:b});static#n=this.\u0275inj=s.cJS({})}return b})();function hu(b){return"guarded"}function ec(b){return["disabled"===b.initialNavigation?Zi(3,[{provide:s.ip1,multi:!0,useFactory:()=>{const T=(0,s.f3M)(Tr);return()=>{T.setUpLocationChangeListener()}}},{provide:ga,useValue:2}]).\u0275providers:[],"enabledBlocking"===b.initialNavigation?Zi(2,[{provide:ga,useValue:0},{provide:s.ip1,multi:!0,deps:[s.zs3],useFactory:T=>{const y=T.get(q.V_,Promise.resolve());return()=>y.then(()=>new Promise(A=>{const z=T.get(Tr),se=T.get(Ss);mr(z,()=>{A(!0)}),T.get(vo).afterPreactivation=()=>(A(!0),se.closed?(0,P.of)(void 0):se),z.initialNavigation()}))}}]).\u0275providers:[]]}const Qr=new s.OlP("")},6286:(ve,_,d)=>{"use strict";d.d(_,{a:()=>s});class s{}},3354:(ve,_,d)=>{"use strict";d.d(_,{LM:()=>L,Mg:()=>P,Zb:()=>O,rS:()=>F});var s=d(5861),m=d(7340),o=d(7442);function L(j,V,U){const G=j.createComponent(V);U&&Object.entries(U).forEach(([K,ce])=>{G.setInput(K,ce)}),G.changeDetectorRef.detectChanges()}function P(j){return R.apply(this,arguments)}function R(){return(R=(0,s.Z)(function*(j){return(yield d.e(3476).then(d.bind(d,3476))).default.html(j.trim(),{wrap:50,markup:{forceIndent:!0}})})).apply(this,arguments)}function O(j){const U=Array.from(j.querySelectorAll(["h1","h2","h3","h4","h5","h6"].join(", "))).filter(K=>K.id),G=(0,m.asArray)(new Set(U.map(x).sort()));return U.reduce((K,ce)=>{const ae=x(ce),oe=ce.querySelector("a.ng-doc-header-link");return oe&&K.push({title:ce.textContent?.trim()??"",element:ce,path:oe.pathname+oe.hash,level:G.indexOf(ae)+1}),K},[])}function x(j){return Number(j.tagName.toLowerCase().replace(/[a-z]*/g,"")||1)}function F(j){return(0,o.objectKeys)(j).includes("type")}},9687:(ve,_,d)=>{"use strict";d.d(_,{Y:()=>o});var s=d(5879),m=d(6593);let o=(()=>{class N{constructor(P){this.sanitizer=P}transform(P){return this.sanitizer.bypassSecurityTrustHtml(P)}static#e=this.\u0275fac=function(R){return new(R||N)(s.Y36(m.H7,16))};static#t=this.\u0275pipe=s.Yjl({name:"ngDocSanitizeHtml",type:N,pure:!0,standalone:!0})}return N})()},8671:(ve,_,d)=>{"use strict";d.d(_,{$:()=>N});var s=d(5879),m=d(5483),o=d(9143);let N=(()=>{class L{constructor(R,O){this.elementRef=R,this.viewContainerRef=O,this.processors=(0,s.f3M)(m.c$,{optional:!0})??[],this.customProcessors=(0,s.f3M)(m.LL,{optional:!0})??[],this.injector=(0,s.f3M)(s.zs3)}ngOnInit(){(0,o.asArray)(this.processors,this.customProcessors).forEach(this.process.bind(this))}process(R){this.elementRef.nativeElement.querySelectorAll(R.selector).forEach(O=>{if(O.parentNode){const x=(R.nodeToReplace&&R.nodeToReplace(O))??O,D=R.extractOptions(O,this.elementRef.nativeElement),v=this.viewContainerRef.createComponent(R.component,{projectableNodes:D.content,injector:this.injector});D.inputs&&(0,o.objectKeys)(D.inputs).forEach(F=>D.inputs&&v.setInput(F,D.inputs[F])),x.parentNode?.replaceChild(v.location.nativeElement,x),v.changeDetectorRef.markForCheck()}})}static#e=this.\u0275fac=function(O){return new(O||L)(s.Y36(s.SBq),s.Y36(s.s_b))};static#t=this.\u0275dir=s.lG2({type:L,selectors:[["","ngDocPageProcessor",""]],standalone:!0})}return L})()},1794:(ve,_,d)=>{"use strict";d.d(_,{d:()=>N,z:()=>o});var s=d(5879);const m=new Map;function o(L,P,R){const O=new s.OlP(`NG_DOC_TYPE_CONTROL_${L}`,{providedIn:"root",factory:()=>({control:P,options:R})});return m.set(L,O),{provide:"nothing",useValue:null}}function N(L){return m.get(L)}},5483:(ve,_,d)=>{"use strict";d.d(_,{LL:()=>P,Nh:()=>x,Pt:()=>o,Rr:()=>v,XB:()=>R,c$:()=>L,dd:()=>D,yt:()=>N});var s=d(5879),m=d(9143);const o=new s.OlP("API_LIST_TOKEN"),N=new s.OlP("NG_DOC_CONTEXT"),L=new s.OlP("NG_DOC_PAGE_PROCESSOR"),P=new s.OlP("NG_DOC_PAGE_CUSTOM_PROCESSOR");function R(j){return(0,m.asArray)(j).map(V=>({provide:L,useValue:V,multi:!0}))}const x=new s.OlP("NG_DOC_PAGE_SKELETON"),D=new s.OlP("NG_DOC_THEME"),v=new s.OlP("NG_DOC_DEFAULT_THEME");new s.OlP("NG_DOC_TYPE_CONTROL")},7022:(ve,_,d)=>{"use strict";d.d(_,{Qr:()=>m,Uq:()=>v,WY:()=>O,YN:()=>P,_N:()=>x,ni:()=>R,tI:()=>D,ye:()=>N});var s=d(6825);const m=(0,s.X$)("expandCollapse",[(0,s.eR)(":enter",[(0,s.oB)({opacity:"{{opacity}}",height:"{{from}}"}),(0,s.jt)("225ms cubic-bezier(0.4,0.0,0.2,1)",(0,s.oB)({opacity:1,height:"*"}))],{params:{from:0,opacity:0}}),(0,s.eR)(":leave",[(0,s.oB)({opacity:1,height:"*"}),(0,s.jt)("225ms cubic-bezier(0.4,0.0,0.2,1)",(0,s.oB)({opacity:"{{opacity}}",height:"{{from}}"}))],{params:{from:0,opacity:0}}),(0,s.SB)("true",(0,s.oB)({opacity:1,height:"*"})),(0,s.SB)("false",(0,s.oB)({opacity:"{{opacity}}",height:"{{from}}"}),{params:{from:0,opacity:0}}),(0,s.eR)("* => true",[(0,s.jt)("225ms cubic-bezier(0.4,0.0,0.2,1)")]),(0,s.eR)("* => false",[(0,s.jt)("225ms cubic-bezier(0.4,0.0,0.2,1)")])]),N=((0,s.X$)("fadeAnimation",[(0,s.eR)(":enter",[(0,s.oB)({opacity:0}),(0,s.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({opacity:1}))]),(0,s.eR)(":leave",[(0,s.oB)({opacity:1}),(0,s.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({opacity:0}))])]),[(0,s.oB)({transform:"scale(0.9)",opacity:0}),(0,s.jt)("120ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({transform:"scale(1)",opacity:1}))]),P=((0,s.oB)({transform:"scaleY(1)",opacity:1}),(0,s.jt)("120ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({transform:"scaleY(0.9)",opacity:0})),[(0,s.oB)({transform:"scale(0.8)",opacity:0}),(0,s.jt)("120ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({transform:"scale(1)",opacity:1}))]),R=[(0,s.oB)({transform:"scale(1)",opacity:1}),(0,s.jt)("120ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({transform:"scale(0.8)",opacity:0}))],O=[(0,s.oB)({transform:"scale(0.7)",opacity:0}),(0,s.jt)("120ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({transform:"scale(1)",opacity:1}))],x=[(0,s.oB)({transform:"scale(1)",opacity:1}),(0,s.jt)("120ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({transform:"scale(0.7)",opacity:0}))],D=(0,s.X$)("preventInitialChild",[(0,s.eR)(":enter",[])]),v=(0,s.X$)("tabFadeAnimation",[(0,s.eR)(":enter",[(0,s.oB)({opacity:0}),(0,s.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({opacity:1}))]),(0,s.eR)(":leave",[(0,s.oB)({opacity:1}),(0,s.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({opacity:0}))])])},187:(ve,_,d)=>{"use strict";d.d(_,{f:()=>N});var s=d(5879),m=d(8923),o=d(386);let N=(()=>{class L extends m.Km{constructor(){super((0,s.f3M)(o.K,{optional:!0})||void 0),this.elementRef=(0,s.f3M)(s.SBq),this.renderer=(0,s.f3M)(s.Qsj)}get hostClasses(){return"ng-doc-input"}get placeholder(){return this.elementRef.nativeElement.placeholder||""}get isFocused(){return document.activeElement===this.elementRef.nativeElement}get isReadonly(){return this.elementRef.nativeElement.readOnly}get value(){return this.elementRef.nativeElement.value}focus(){this.elementRef.nativeElement.focus()}blink(){this.renderer.removeClass(this.elementRef.nativeElement,"-blink"),this.renderer.addClass(this.elementRef.nativeElement,"-blink")}static#e=this.\u0275fac=function(O){return new(O||L)};static#t=this.\u0275dir=s.lG2({type:L,hostVars:2,hostBindings:function(O,x){2&O&&s.Tol(x.hostClasses)},features:[s.qOj]})}return L})()},2659:(ve,_,d)=>{"use strict";d.d(_,{E:()=>s});class s{}},8226:(ve,_,d)=>{"use strict";d.d(_,{X:()=>s});class s{}},5426:(ve,_,d)=>{"use strict";d.d(_,{d:()=>s});class s{}},7396:(ve,_,d)=>{"use strict";d.d(_,{J:()=>N});var s=d(5879);const m=["ng-doc-button-icon",""],o=["*"];let N=(()=>{class L{constructor(){this.size="medium",this.rounded=!0}static#e=this.\u0275fac=function(O){return new(O||L)};static#t=this.\u0275cmp=s.Xpm({type:L,selectors:[["button","ng-doc-button-icon",""],["a","ng-doc-button-icon",""]],hostVars:2,hostBindings:function(O,x){2&O&&s.uIk("data-ng-doc-size",x.size)("data-ng-doc-rounded",x.rounded)},inputs:{size:"size",rounded:"rounded"},standalone:!0,features:[s.jDz],attrs:m,ngContentSelectors:o,decls:1,vars:0,template:function(O,x){1&O&&(s.F$t(),s.Hsn(0))},styles:["[_nghost-%COMP%]{position:relative;display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;border-radius:50%;width:calc(var(--ng-doc-base-gutter) * 4);height:calc(var(--ng-doc-base-gutter) * 4);background-color:var(--ng-doc-button-background);color:var(--ng-doc-button-color);overflow:hidden;--ng-doc-icon-color: var(--ng-doc-button-color)}[data-ng-doc-size=small][_nghost-%COMP%]{width:calc(var(--ng-doc-base-gutter) * 3);height:calc(var(--ng-doc-base-gutter) * 3)}[data-ng-doc-size=large][_nghost-%COMP%]{width:calc(var(--ng-doc-base-gutter) * 5);height:calc(var(--ng-doc-base-gutter) * 5)}[_nghost-%COMP%]:hover{background-color:var(--ng-doc-button-hover-background);color:var(--ng-doc-button-hover-color);--ng-doc-icon-color: var(--ng-doc-button-hover-color)}[_nghost-%COMP%]:active{background-color:var(--ng-doc-button-active-background);color:var(--ng-doc-button-active-color);--ng-doc-icon-color: var(--ng-doc-button-active-color)}[data-ng-doc-rounded=false][_nghost-%COMP%]{--ng-doc-button-color: var(--ng-doc-base-6);--ng-doc-button-hover-color: var(--ng-doc-base-8);--ng-doc-button-active-color: var(--ng-doc-base-10);--ng-doc-button-hover-background: transparent;--ng-doc-button-active-background: transparent}"],changeDetection:0})}return L})()},23:(ve,_,d)=>{"use strict";d.d(_,{Q:()=>j});var s=d(6814),m=d(5879),o=d(2560);let N=(()=>{class V{set ngDocChecked(G){this.updateProperty("checked",G||!1),this.updateProperty("indeterminate",null===G)}constructor(G,K){this.element=G,this.renderer=K,this.ngDocCheckedChange=new m.vpe,this.updateProperty("checked",!1)}onChange({checked:G}){this.updateProperty("indeterminate",!1),this.ngDocCheckedChange.emit(G)}updateProperty(G,K){this.renderer.setProperty(this.element.nativeElement,G,K)}static#e=this.\u0275fac=function(K){return new(K||V)(m.Y36(m.SBq),m.Y36(m.Qsj))};static#t=this.\u0275dir=m.lG2({type:V,selectors:[["input","ngDocChecked",""],["input","ngDocCheckedChange",""]],hostBindings:function(K,ce){1&K&&m.NdJ("change",function(oe){return ce.onChange(oe.target)})},inputs:{ngDocChecked:"ngDocChecked"},outputs:{ngDocCheckedChange:"ngDocCheckedChange"},standalone:!0})}return V})();var L=d(9863),P=d(8923),R=d(8440),O=d(386);function x(V,U){1&V&&m._UZ(0,"ng-doc-icon",8)}function D(V,U){1&V&&m._UZ(0,"ng-doc-icon",9)}const v=[[["ng-doc-icon"]],"*"],F=["ng-doc-icon","*"];let j=(()=>{class V extends P.ri{constructor(G,K){super(G,K),this.compareHost=G,this.host=K,this.color="primary"}static#e=this.\u0275fac=function(K){return new(K||V)(m.Y36(R.d,8),m.Y36(O.K,8))};static#t=this.\u0275cmp=m.Xpm({type:V,selectors:[["ng-doc-checkbox"]],hostVars:1,hostBindings:function(K,ce){2&K&&m.uIk("data-lu-color",ce.color)},inputs:{color:"color"},standalone:!0,features:[m.qOj,m.jDz],ngContentSelectors:F,decls:10,vars:5,consts:[[1,"ng-doc-checkbox-wrapper"],[1,"ng-doc-checkbox"],["type","checkbox",3,"disabled","ngDocChecked","ngDocFocusable","ngDocCheckedChange","blur"],["icon","minus",4,"ngIf"],["icon","check",4,"ngIf"],[1,"ng-doc-checkbox-content"],[1,"ng-doc-checkbox-icons"],[1,"ng-doc-checkbox-text"],["icon","minus"],["icon","check"]],template:function(K,ce){1&K&&(m.F$t(v),m.TgZ(0,"label",0)(1,"div",1)(2,"input",2),m.NdJ("ngDocCheckedChange",function(){return ce.toggle(),ce.onTouched()})("blur",function(){return ce.onTouched()}),m.qZA(),m.YNc(3,x,1,0,"ng-doc-icon",3),m.YNc(4,D,1,0,"ng-doc-icon",4),m.qZA(),m.TgZ(5,"div",5)(6,"span",6),m.Hsn(7),m.qZA(),m.TgZ(8,"div",7),m.Hsn(9,1),m.qZA()()()),2&K&&(m.xp6(2),m.Q6J("disabled",ce.disabled)("ngDocChecked",ce.checked)("ngDocFocusable",!1),m.xp6(1),m.Q6J("ngIf",ce.isIntermediate),m.xp6(1),m.Q6J("ngIf",ce.checked))},dependencies:[N,L.O,s.O5,o.q],styles:["[_nghost-%COMP%]{display:inline-flex;align-items:flex-start;flex-direction:column;font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight)}[_nghost-%COMP%]:not(:last-of-type){margin-bottom:var(--ng-doc-list-element-vertical-space);margin-right:var(--ng-doc-list-element-horizontal-space)}[_nghost-%COMP%]:hover:not([data-checked=true]) .ng-doc-checkbox[_ngcontent-%COMP%]{border:var(--ng-doc-checkbox-border-hover)}[_nghost-%COMP%]:not([data-disabled=true]) .ng-doc-checkbox-wrapper[_ngcontent-%COMP%]{cursor:pointer}[data-checked=true][_nghost-%COMP%] .ng-doc-checkbox[_ngcontent-%COMP%]{background-color:var(--ng-doc-checkbox-color);--ng-doc-checkbox-border: var(--ng-doc-checkbox-color);--ng-doc-checkbox-border-hover: var(--ng-doc-checkbox-color);--ng-doc-icon-color: var(--ng-doc-checkbox-color-text)}input[_ngcontent-%COMP%]{position:absolute;bottom:0;left:50%;border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;outline:0}.ng-doc-checkbox-wrapper[_ngcontent-%COMP%]{display:flex}.ng-doc-checkbox[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center;width:calc(var(--ng-doc-base-gutter) * 2 + var(--ng-doc-base-gutter) / 2);height:calc(var(--ng-doc-base-gutter) * 2 + var(--ng-doc-base-gutter) / 2);border:var(--ng-doc-checkbox-border);flex:0 0 calc(var(--ng-doc-base-gutter) * 2 + var(--ng-doc-base-gutter) / 2);background-color:var(--ng-doc-base-0);transition:background-color var(--ng-doc-transition);box-sizing:border-box;border-radius:calc(var(--ng-doc-base-gutter) / 2)}.ng-doc-checkbox-content[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.ng-doc-checkbox-icons[_ngcontent-%COMP%]{display:flex;margin-left:var(--ng-doc-base-gutter);margin-top:calc(var(--ng-doc-base-gutter) / 2)}.ng-doc-checkbox-icons[_ngcontent-%COMP%]:empty{display:none}.ng-doc-checkbox-text[_ngcontent-%COMP%]{margin-left:var(--ng-doc-base-gutter);line-height:calc(var(--ng-doc-base-gutter) * 2 + var(--ng-doc-base-gutter) / 2)}.ng-doc-checkbox-text[_ngcontent-%COMP%]:empty{display:none}"],changeDetection:0})}return V})()},5338:(ve,_,d)=>{"use strict";d.d(_,{V:()=>j});var s=d(7582),m=d(8290),o=d(5879),N=d(7340),L=d(7022),P=d(5426),R=d(4826),O=d(9850),x=d(8201),D=d(6245),v=d(8897),F=d(1791);let j=(()=>{let V=class Bm{constructor(G,K,ce,ae,oe){this.changeDetectorRef=G,this.overlayService=K,this.viewContainerRef=ce,this.ngZone=ae,this.overlayHost=oe,this.content="",this.origin=null,this.closeIfOutsideClick=!0,this.closeIfInnerClick=!1,this.withArrow=!1,this.borderOffset=-8,this.panelClass=[],this.contactBorder=!0,this.hasBackdrop=!1,this.positions=["bottom-center","top-center","right-center","left-center"],this.minHeight="",this.maxHeight="",this.height="",this.minWidth="",this.maxWidth="",this.width="",this.beforeOpen=new o.vpe,this.afterOpen=new o.vpe,this.beforeClose=new o.vpe,this.afterClose=new o.vpe,this.overlay=null,this.overlayProperties=this.getOverlayProperties()}ngOnChanges({origin:G}){if(G&&G.currentValue!==G.previousValue&&(G.currentValue||(this.origin=G.previousValue),this.overlay)){const K=this.overlay.overlayRef.getConfig().positionStrategy;K instanceof m._G&&this.currentOrigin&&this.overlay.overlayRef.updatePositionStrategy(K.setOrigin(this.currentOrigin))}this.updateOverlayPosition()}get tabIndex(){return this.isOpened?0:-1}focus(){this.overlay?.focus()}get isFocused(){return!!this.overlay?.isFocused}open(){if(!this.overlay?.hasAttached){const G=this.getConfig();this.overlay=this.overlayService.open(this.content,G),this.beforeOpen.emit(),this.overlay?.afterOpen().pipe((0,x.Lf)(this.ngZone)).subscribe(()=>this.afterOpen.emit()),this.overlay?.beforeClose().pipe((0,x.Lf)(this.ngZone)).subscribe(()=>this.beforeClose.emit()),this.overlay?.afterClose().pipe((0,x.Lf)(this.ngZone)).subscribe(()=>this.afterClose.emit()),this.overlay.beforeClose().subscribe(()=>this.close()),this.changeDetectorRef.markForCheck()}}close(){this.isOpened&&(this.overlay?.close(),this.changeDetectorRef.markForCheck())}toggle(){this.isOpened?this.close():this.open()}get isOpened(){return!0===this.overlay?.isOpened}updateOverlayPosition(){this.overlay&&this.overlay.hasAttached&&(this.overlay.overlayRef.updateSize(this.getConfig()),this.overlay.overlayRef.updatePosition())}get currentOrigin(){return this.origin instanceof m.xu?this.origin.elementRef.nativeElement:this.origin||this.overlayHost?.origin||null}getPositions(G,K){const ce=(0,O.N)(this.currentOrigin);return ce instanceof HTMLElement?v.WW.getConnectedPosition(G&&(0,N.asArray)(G).length?G:["bottom-center","top-center","right-center","left-center"],ce,-1*K,this.withArrow):G&&(0,N.asArray)(G).length?(0,N.asArray)(G):["bottom-center","top-center","right-center","left-center"]}getConfig(){const G=(0,O.e)(this.overlayProperties,this.getOverlayProperties(),this.overlayHost);if(!this.currentOrigin)throw new Error("Origin for the dropdown was not provided.");return{overlayContainer:R.O,positionStrategy:this.overlayService.connectedPositionStrategy(this.currentOrigin,this.getPositions(G.positions||[],G.borderOffset||0)),scrollStrategy:this.overlayService.scrollStrategy().reposition(),viewContainerRef:this.viewContainerRef,openAnimation:L.ye,hasBackdrop:this.hasBackdrop,...G,panelClass:["ng-doc-dropdown",...(0,N.asArray)(this.panelClass),...(0,N.asArray)(this.overlayHost?.panelClass)]}}getOverlayProperties(){return{origin:this.currentOrigin||void 0,positions:this.positions,closeIfOutsideClick:this.closeIfOutsideClick,closeIfInnerClick:this.closeIfInnerClick,withPointer:this.withArrow,contactBorder:this.contactBorder,borderOffset:this.borderOffset,panelClass:this.panelClass,width:this.width,height:this.height,minWidth:this.minWidth,minHeight:this.minHeight,maxWidth:this.maxWidth,maxHeight:this.maxHeight,disposeOnNavigation:!0,disposeOnRouteNavigation:!0}}ngOnDestroy(){this.overlay&&this.overlay.overlayRef.dispose()}static#e=this.\u0275fac=function(K){return new(K||Bm)(o.Y36(o.sBO),o.Y36(D.m),o.Y36(o.s_b),o.Y36(o.R0b),o.Y36(P.d,8))};static#t=this.\u0275cmp=o.Xpm({type:Bm,selectors:[["ng-doc-dropdown"]],hostVars:1,hostBindings:function(K,ce){1&K&&o.NdJ("focus",function(){return ce.focus()}),2&K&&o.uIk("tabIndex",ce.tabIndex)},inputs:{content:"content",origin:"origin",closeIfOutsideClick:"closeIfOutsideClick",closeIfInnerClick:"closeIfInnerClick",withArrow:"withArrow",borderOffset:"borderOffset",panelClass:"panelClass",contactBorder:"contactBorder",hasBackdrop:"hasBackdrop",positions:"positions",minHeight:"minHeight",maxHeight:"maxHeight",height:"height",minWidth:"minWidth",maxWidth:"maxWidth",width:"width"},outputs:{beforeOpen:"beforeOpen",afterOpen:"afterOpen",beforeClose:"beforeClose",afterClose:"afterClose"},standalone:!0,features:[o._Bn([D.m]),o.TTD,o.jDz],decls:0,vars:0,template:function(K,ce){},styles:[".ng-doc-dropdown{--ng-doc-overlay-background: var(--ng-doc-background);--ng-doc-overlay-border: var(--ng-doc-base-2);--ng-doc-overlay-border-radius: var(--ng-doc-base-gutter);--ng-doc-overlay-shadow: 0px 12px 16px -4px rgba(16, 24, 40, .08), 0px 4px 6px -2px rgba(16, 24, 40, .03)}"],changeDetection:0})};return V=(0,s.__decorate)([(0,F.c)(),(0,s.__metadata)("design:paramtypes",[o.sBO,D.m,o.s_b,o.R0b,P.d])],V),V})()},2560:(ve,_,d)=>{"use strict";d.d(_,{q:()=>D});var s=d(9862),m=d(5879),o=d(7230),N=d(9625),L=d(8645),P=d(2096),R=d(7921),O=d(4664),x=d(6306);let D=(()=>{class v{constructor(j,V){this.elementRef=j,this.httpClient=V,this.icon="",this.customIcon="",this.size=16,this.reload$=new L.x,this.assetsPath=(0,m.f3M)(N.Sy,{optional:!0})??"",this.customIconsPath=(0,m.f3M)(N.DN,{optional:!0})??""}ngOnChanges(){this.reload$.next()}ngOnInit(){this.reload$.pipe((0,R.O)(null),(0,O.w)(()=>this.httpClient.get(this.href,{responseType:"text",params:{[o.G.TOKEN]:"true"}}).pipe((0,x.K)(j=>(console.error(j),(0,P.of)("")))))).subscribe(j=>this.elementRef.nativeElement.innerHTML=j)}get href(){return this.customIcon?`${this.customIconsPath}/${this.customIcon}.svg#${this.customIcon}`:`${this.assetsPath}/icons/${this.size}/${this.icon}.svg#${this.icon}`}static#e=this.\u0275fac=function(V){return new(V||v)(m.Y36(m.SBq),m.Y36(s.eN))};static#t=this.\u0275cmp=m.Xpm({type:v,selectors:[["ng-doc-icon"]],hostVars:3,hostBindings:function(V,U){2&V&&m.uIk("data-ng-doc-icon",U.icon)("data-ng-doc-custom-icon",U.customIcon)("data-ng-doc-size",U.size)},inputs:{icon:"icon",customIcon:"customIcon",size:"size"},standalone:!0,features:[m.TTD,m.jDz],decls:0,vars:0,template:function(V,U){},styles:['[_nghost-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:var(--ng-doc-icon-width, 16px);height:var(--ng-doc-icon-height, 16px);color:var(--ng-doc-icon-color, var(--ng-doc-text));vertical-align:sub}[_nghost-%COMP%] svg[_ngcontent-%COMP%]{vertical-align:top}[data-ng-doc-size="24"][_nghost-%COMP%]{width:var(--ng-doc-icon-width, 24px);height:var(--ng-dpc-icon-height, 24px)}'],changeDetection:0})}return v})()},2949:(ve,_,d)=>{"use strict";d.d(_,{u:()=>Ae});var s=d(7582),m=d(6814),o=d(5879),N=d(187),L=d(2659);const P=["*"];let R=(()=>{class Fe{static#e=this.\u0275fac=function(tt){return new(tt||Fe)};static#t=this.\u0275cmp=o.Xpm({type:Fe,selectors:[["ng-doc-floated-border"]],standalone:!0,features:[o.jDz],ngContentSelectors:P,decls:1,vars:0,template:function(tt,_e){1&tt&&(o.F$t(),o.Hsn(0))},styles:['[_nghost-%COMP%]{position:relative;display:block}[_nghost-%COMP%]:after{position:absolute;content:"";top:0;left:0;z-index:3;width:100%;height:100%;pointer-events:none;border:var(--ng-doc-floated-border);border-color:var(--ng-doc-floated-border-color);border-radius:var(--ng-doc-floated-border-radius);box-shadow:0 1px 2px #1018280d,0 0 0 4px var(--ng-doc-floated-border-shadow-color);transition:var(--ng-doc-transition)}'],changeDetection:0})}return Fe})();var O=d(8176),x=d(9850);const D=["ng-doc-floated-content",""],v=["*"];let F=(()=>{class Fe{constructor(Je,tt,_e){this.elementRef=Je,this.renderer=tt,this.ngZone=_e,this.propertyName="",this.alignTo="left"}ngAfterViewChecked(){this.bindTo&&this.alignTo&&this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.setPadding(this.elementRef.nativeElement.offsetWidth)))}setPadding(Je){this.bindTo&&this.propertyName&&this.renderer.setStyle((0,x.N)(this.bindTo),this.propertyName,Je?`${Je}px`:null,2)}static#e=this.\u0275fac=function(tt){return new(tt||Fe)(o.Y36(o.SBq),o.Y36(o.Qsj),o.Y36(o.R0b))};static#t=this.\u0275cmp=o.Xpm({type:Fe,selectors:[["","ng-doc-floated-content",""]],hostVars:1,hostBindings:function(tt,_e){2&tt&&o.uIk("data-ng-doc-align",_e.alignTo)},inputs:{bindTo:"bindTo",propertyName:"propertyName",alignTo:"alignTo"},standalone:!0,features:[o.jDz],attrs:D,ngContentSelectors:v,decls:1,vars:0,template:function(tt,_e){1&tt&&(o.F$t(),o.Hsn(0))},styles:["[_nghost-%COMP%]{position:absolute;display:flex;top:0;align-items:center;height:100%;pointer-events:none}[data-ng-doc-align=left][_nghost-%COMP%]{left:0}[data-ng-doc-align=right][_nghost-%COMP%]{right:0}[_nghost-%COMP%] >*{pointer-events:auto}"],changeDetection:0})}return(0,s.__decorate)([O.g,(0,s.__metadata)("design:type",Function),(0,s.__metadata)("design:paramtypes",[Number]),(0,s.__metadata)("design:returntype",void 0)],Fe.prototype,"setPadding",null),Fe})();const j=["*"];let V=(()=>{class Fe{static#e=this.\u0275fac=function(tt){return new(tt||Fe)};static#t=this.\u0275cmp=o.Xpm({type:Fe,selectors:[["ng-doc-wrapper"]],standalone:!0,features:[o.jDz],ngContentSelectors:j,decls:1,vars:0,template:function(tt,_e){1&tt&&(o.F$t(),o.Hsn(0))},styles:["[data-ng-doc-focused=true][_nghost-%COMP%]{--ng-doc-floated-border-color: var(--ng-doc-floated-focus-border-color, var(--ng-doc-primary))}"],changeDetection:0})}return Fe})();var U=d(1650),G=d(1791),K=d(2549),ce=d(386),ae=d(8923);function oe(Fe,ze){if(1&Fe&&(o.ynx(0),o._uU(1),o.BQk()),2&Fe){const Je=ze.polymorpheusOutlet;o.xp6(1),o.hij(" ",Je," ")}}function Z(Fe,ze){if(1&Fe&&(o.TgZ(0,"div",7)(1,"div",8),o.YNc(2,oe,2,1,"ng-container",9),o.qZA()()),2&Fe){const Je=o.oxw();o.xp6(2),o.Q6J("polymorpheusOutlet",Je.blurContent)("polymorpheusOutletContext",Je.getBlurContext(Je.blurContext))}}function J(Fe,ze){if(1&Fe&&(o.ynx(0),o._uU(1),o.BQk()),2&Fe){const Je=ze.polymorpheusOutlet;o.xp6(1),o.Oqu(Je)}}function q(Fe,ze){if(1&Fe&&(o.TgZ(0,"span",10),o.YNc(1,J,2,1,"ng-container",11),o.qZA()),2&Fe){const Je=o.oxw();o.xp6(1),o.Q6J("polymorpheusOutlet",Je.leftContent)}}function ie(Fe,ze){if(1&Fe&&(o.ynx(0),o._uU(1),o.BQk()),2&Fe){const Je=ze.polymorpheusOutlet;o.xp6(1),o.Oqu(Je)}}function ge(Fe,ze){if(1&Fe&&(o.TgZ(0,"span",10),o.YNc(1,ie,2,1,"ng-container",11),o.qZA()),2&Fe){const Je=o.oxw();o.xp6(1),o.Q6J("polymorpheusOutlet",Je.rightContent)}}const Me=["*"];var Se;let Ae=Se=class jm{constructor(ze,Je,tt){this.elementRef=ze,this.changeDetectorRef=Je,this.controlHost=tt,this.blurContent="",this.blurContext=null,this.leftContent="",this.rightContent="",this.align="left"}ngAfterViewChecked(){this.changeDetectorRef.markForCheck()}getBlurContext(ze){return{$implicit:ze}}get disabled(){return!!this.inputControl?.disabled}inputHasValue(){return!!this.inputControl?.hasValue}get blurContentIsVisible(){return!!this.blurContent&&(!this.input?.isFocused||this.input?.isReadonly)}emptyEvent(){}static#e=this.\u0275fac=function(Je){return new(Je||jm)(o.Y36(o.SBq),o.Y36(o.sBO),o.Y36(ce.K,8))};static#t=this.\u0275cmp=o.Xpm({type:jm,selectors:[["ng-doc-input-wrapper"]],contentQueries:function(Je,tt,_e){if(1&Je&&(o.Suo(_e,N.f,5),o.Suo(_e,N.f,5)),2&Je){let Pe;o.iGM(Pe=o.CRH())&&(tt.input=Pe.first),o.iGM(Pe=o.CRH())&&(tt.inputControl=Pe.first)}},viewQuery:function(Je,tt){if(1&Je&&o.Gf(U.b,7),2&Je){let _e;o.iGM(_e=o.CRH())&&(tt.focusCatcher=_e.first)}},hostVars:2,hostBindings:function(Je,tt){2&Je&&o.uIk("data-ng-doc-align",tt.align)("data-ng-doc-input-disabled",tt.disabled)},inputs:{blurContent:"blurContent",blurContext:"blurContext",leftContent:"leftContent",rightContent:"rightContent",align:"align"},standalone:!0,features:[o._Bn([{provide:L.E,useExisting:Se}]),o.jDz],ngContentSelectors:Me,decls:10,vars:7,consts:[["ngDocFocusCatcher",""],[1,"ng-doc-input-container",3,"focusin","focusout"],["inputContainer",""],["class","ng-doc-blur-container ng-doc-input",4,"ngIf"],["ng-doc-floated-content","","propertyName","--ng-doc-input-padding-left","alignTo","left",1,"ng-doc-floated-content",3,"bindTo"],["class","ng-doc-content",4,"ngIf"],["ng-doc-floated-content","","propertyName","--ng-doc-input-padding-right","alignTo","right",1,"ng-doc-floated-content",3,"bindTo"],[1,"ng-doc-blur-container","ng-doc-input"],[1,"ng-doc-blur-content"],[4,"polymorpheusOutlet","polymorpheusOutletContext"],[1,"ng-doc-content"],[4,"polymorpheusOutlet"]],template:function(Je,tt){if(1&Je&&(o.F$t(),o.TgZ(0,"ng-doc-wrapper",0)(1,"ng-doc-floated-border")(2,"div",1,2),o.NdJ("focusin",function(){return tt.emptyEvent()})("focusout",function(){return tt.emptyEvent()}),o.Hsn(4),o.YNc(5,Z,3,2,"div",3),o.qZA(),o.TgZ(6,"div",4),o.YNc(7,q,2,1,"span",5),o.qZA(),o.TgZ(8,"div",6),o.YNc(9,ge,2,1,"span",5),o.qZA()()()),2&Je){const _e=o.MAs(3);o.xp6(2),o.ekj("-input-hidden",tt.blurContentIsVisible),o.xp6(3),o.Q6J("ngIf",tt.blurContentIsVisible),o.xp6(1),o.Q6J("bindTo",_e),o.xp6(1),o.Q6J("ngIf",tt.leftContent),o.xp6(1),o.Q6J("bindTo",_e),o.xp6(1),o.Q6J("ngIf",tt.rightContent)}},dependencies:[V,U.b,R,m.O5,K.wq,K.Li,F],styles:['[_nghost-%COMP%]{position:relative;display:block;width:var(--ng-doc-input-width);height:var(--ng-doc-input-height)}[_nghost-%COMP%]:hover:not([data-ng-doc-input-disabled=true]){--ng-doc-input-border: var(--ng-doc-input-border-hover)}[_nghost-%COMP%]:not([data-ng-doc-input-disabled=true]) .ng-doc-input:read-only{--ng-doc-input-cursor: pointer}[data-ng-doc-align=left][_nghost-%COMP%]{--ng-doc-input-text-align: left}[data-ng-doc-align=center][_nghost-%COMP%]{--ng-doc-input-text-align: center}[data-ng-doc-align=right][_nghost-%COMP%]{--ng-doc-input-text-align: right}[_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);position:relative;box-sizing:border-box;width:var(--ng-doc-input-width);height:var(--ng-doc-input-height);background-color:var(--ng-doc-input-background-color);border-radius:var(--ng-doc-floated-border-radius);--ng-doc-line-height: 22px}[_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%]:after{position:absolute;content:"";left:0;top:0;z-index:2;width:100%;height:100%;border:var(--ng-doc-input-border);border-radius:var(--ng-doc-floated-border-radius);pointer-events:none}[_nghost-%COMP%] .ng-doc-input-container.-input-hidden[_ngcontent-%COMP%] input{opacity:0}[_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input[_ngcontent-%COMP%], [_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input{width:100%;height:100%;overflow:hidden;padding:var(--ng-doc-base-gutter) var(--ng-doc-input-padding-right) var(--ng-doc-base-gutter) var(--ng-doc-input-padding-left);box-sizing:border-box;outline:none;text-align:var(--ng-doc-input-text-align);border:0;border-radius:var(--ng-doc-floated-border-radius);background-color:transparent;cursor:var(--ng-doc-input-cursor);color:var(--ng-doc-input-color, var(--ng-doc-text));font-family:var(--ng-doc-input-font-family, var(--ng-doc-font-family));font-size:var(--ng-doc-input-font-size, var(--ng-doc-font-size));font-weight:var(--ng-doc-input-font-weight, var(--ng-doc-font-weight))}[_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input[_ngcontent-%COMP%]::placeholder, [_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input::placeholder{color:var(--ng-doc-text-muted)}[_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input.-blink[_ngcontent-%COMP%], [_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input.-blink{animation:_ngcontent-%COMP%_blink-animation .3s}@keyframes _ngcontent-%COMP%_blink-animation{0%{background-color:rgba(var(--ng-doc-primary-rgb),.1)}to{background-color:initial}}[_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input[type=number][_ngcontent-%COMP%]::-webkit-inner-spin-button, [_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input[type=number][_ngcontent-%COMP%]::-webkit-outer-spin-button, [_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input[type=number]::-webkit-inner-spin-button, [_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}[_nghost-%COMP%] .ng-doc-content[_ngcontent-%COMP%]{--ng-doc-icon-width: 40px;--ng-doc-icon-height: 40px}ng-doc-floated-border[_ngcontent-%COMP%]{width:var(--ng-doc-input-width);height:var(--ng-doc-input-height)}.ng-doc-floated-content[_ngcontent-%COMP%]{min-width:calc(var(--ng-doc-base-gutter) * 2)}.ng-doc-button-content[_ngcontent-%COMP%]{display:flex}.ng-doc-blur-container[_ngcontent-%COMP%]{position:absolute;left:0;top:0;display:flex;align-items:center;pointer-events:none}.ng-doc-blur-container[_ngcontent-%COMP%] .ng-doc-blur-content[_ngcontent-%COMP%]{width:100%;white-space:nowrap;overflow:hidden}'],changeDetection:0})};(0,s.__decorate)([O.g,(0,s.__metadata)("design:type",Function),(0,s.__metadata)("design:paramtypes",[Object]),(0,s.__metadata)("design:returntype",Object)],Ae.prototype,"getBlurContext",null),Ae=Se=(0,s.__decorate)([(0,G.c)(),(0,s.__metadata)("design:paramtypes",[o.SBq,o.sBO,ae.dK])],Ae)},8584:(ve,_,d)=>{"use strict";d.d(_,{J:()=>O});var s=d(6814),m=d(5879),o=d(2549);const N=["ng-doc-label",""];function L(x,D){if(1&x&&(m.ynx(0),m._uU(1),m.BQk()),2&x){const v=D.polymorpheusOutlet;m.xp6(1),m.Oqu(v)}}function P(x,D){if(1&x&&(m.TgZ(0,"span",2),m.YNc(1,L,2,1,"ng-container",3),m.qZA()),2&x){const v=m.oxw();m.xp6(1),m.Q6J("polymorpheusOutlet",v.label)}}const R=["*"];let O=(()=>{class x{constructor(){this.label="",this.align="left"}static#e=this.\u0275fac=function(F){return new(F||x)};static#t=this.\u0275cmp=m.Xpm({type:x,selectors:[["label","ng-doc-label",""]],hostVars:1,hostBindings:function(F,j){2&F&&m.uIk("data-ng-doc-align",j.align)},inputs:{label:["ng-doc-label","label"],align:"align"},standalone:!0,features:[m.jDz],attrs:N,ngContentSelectors:R,decls:3,vars:1,consts:[["class","ng-doc-label",4,"ngIf"],[1,"ng-doc-content"],[1,"ng-doc-label"],[4,"polymorpheusOutlet"]],template:function(F,j){1&F&&(m.F$t(),m.YNc(0,P,2,1,"span",0),m.TgZ(1,"span",1),m.Hsn(2),m.qZA()),2&F&&m.Q6J("ngIf",j.label)},dependencies:[s.O5,o.wq,o.Li],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;pointer-events:none}[data-ng-doc-align=right][_nghost-%COMP%] .ng-doc-label[_ngcontent-%COMP%]{align-self:flex-end;text-align:end}.ng-doc-label[_ngcontent-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);display:flex;flex-direction:row;pointer-events:auto;margin-bottom:calc(var(--ng-doc-base-gutter) / 2)}.ng-doc-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;width:var(--ng-doc-label-content-width, 100%)}.ng-doc-content[_ngcontent-%COMP%] > *[_ngcontent-%COMP%], .ng-doc-content[_ngcontent-%COMP%] >*{pointer-events:auto}"],changeDetection:0})}return x})()},7808:(ve,_,d)=>{"use strict";d.d(_,{k:()=>Bs});var s=d(7582),m=d(5879),N=(d(2831),d(8645)),L=d(7394),Di=d(9397),Or=d(3620),Hr=d(2181),Ei=d(7398);class Zt{constructor(k){this._items=k,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new N.x,this._typeaheadSubscription=L.w0.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=B=>B.disabled,this._pressedLetters=[],this.tabOut=new N.x,this.change=new N.x,k instanceof m.n_E&&(this._itemChangesSubscription=k.changes.subscribe(B=>{if(this._activeItem){const g=B.toArray().indexOf(this._activeItem);g>-1&&g!==this._activeItemIndex&&(this._activeItemIndex=g)}}))}skipPredicate(k){return this._skipPredicateFn=k,this}withWrap(k=!0){return this._wrap=k,this}withVerticalOrientation(k=!0){return this._vertical=k,this}withHorizontalOrientation(k){return this._horizontal=k,this}withAllowedModifierKeys(k){return this._allowedModifierKeys=k,this}withTypeAhead(k=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe((0,Di.b)(B=>this._pressedLetters.push(B)),(0,Or.b)(k),(0,Hr.h)(()=>this._pressedLetters.length>0),(0,Ei.U)(()=>this._pressedLetters.join(""))).subscribe(B=>{const w=this._getItemsArray();for(let g=1;g!k[I]||this._allowedModifierKeys.indexOf(I)>-1);switch(B){case 9:return void this.tabOut.next();case 40:if(this._vertical&&g){this.setNextItemActive();break}return;case 38:if(this._vertical&&g){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&g){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&g){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&g){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&g){this.setLastItemActive();break}return;case 33:if(this._pageUpAndDown.enabled&&g){const I=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(I>0?I:0,1);break}return;case 34:if(this._pageUpAndDown.enabled&&g){const I=this._activeItemIndex+this._pageUpAndDown.delta,X=this._getItemsArray().length;this._setActiveItemByIndex(IIt[B]):It.altKey||It.shiftKey||It.ctrlKey||It.metaKey}(k,"shiftKey"))&&(k.key&&1===k.key.length?this._letterKeyStream.next(k.key.toLocaleUpperCase()):(B>=65&&B<=90||B>=48&&B<=57)&&this._letterKeyStream.next(String.fromCharCode(B))))}this._pressedLetters=[],k.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(k){const B=this._getItemsArray(),w="number"==typeof k?k:B.indexOf(k);this._activeItem=B[w]??null,this._activeItemIndex=w}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(k){this._wrap?this._setActiveInWrapMode(k):this._setActiveInDefaultMode(k)}_setActiveInWrapMode(k){const B=this._getItemsArray();for(let w=1;w<=B.length;w++){const g=(this._activeItemIndex+k*w+B.length)%B.length;if(!this._skipPredicateFn(B[g]))return void this.setActiveItem(g)}}_setActiveInDefaultMode(k){this._setActiveItemByIndex(this._activeItemIndex+k,k)}_setActiveItemByIndex(k,B){const w=this._getItemsArray();if(w[k]){for(;this._skipPredicateFn(w[k]);)if(!w[k+=B])return;this.setActiveItem(k)}}_getItemsArray(){return this._items instanceof m.n_E?this._items.toArray():this._items}}var Yo=d(7340),oo=d(8226),br=d(9850),pr=d(1791),Oi=d(3019),Zo=d(2438),qr=d(4366),_i=d(9773),is=d(9694),Js=d(6232),ki=d(9360),ei=d(8251),Ms=d(4829),qs=d(4825);const Ro=["*"];let Bs=(()=>{let It=class Hm{constructor(B,w,g){this.elementRef=B,this.ngZone=w,this.listHost=g,this.keyManager=null,this.items=new Set;const I=this.listHost?.listHostOrigin?(0,br.N)(this.listHost?.listHostOrigin):null,X=(0,br.N)(this.elementRef);(0,Oi.T)((0,Zo.R)(X,"keydown"),I?(0,Zo.R)(I,"keydown").pipe((0,_i.R)((0,Zo.R)(X,"keydown")),(0,is.j)(()=>this.ngZone.onStable),function vi(It){let B,k=1/0;return null!=It&&("object"==typeof It?({count:k=1/0,delay:B}=It):k=It),k<=0?()=>Js.E:(0,ki.e)((w,g)=>{let X,I=0;const he=()=>{if(X?.unsubscribe(),X=null,null!=B){const ot="number"==typeof B?(0,qs.H)(B):(0,Ms.Xf)(B(I)),Ze=(0,ei.x)(g,()=>{Ze.unsubscribe(),Ue()});ot.subscribe(Ze)}else Ue()},Ue=()=>{let ot=!1;X=w.subscribe((0,ei.x)(g,void 0,()=>{++I!he.defaultPrevented),(0,pr.t)(this)).subscribe(he=>{const Ue=he;"Enter"===Ue.key&&(this.keyManager?.activeItem?.selectByUser(),Ue.preventDefault()),this.keyManager?.activeItem?.setInactiveStyles(),this.keyManager?.onKeydown(Ue),this.keyManager?.activeItem?.setActiveStyles(),this.keyManager?.activeItem&&(0,br.N)(this.keyManager?.activeItem.elementRef).scrollIntoView({block:"nearest"})})}registerItem(B){this.items.add(B),this.keyManager?.activeItem?.setInactiveStyles(),this.keyManager=new Zt((0,Yo.asArray)(this.items)).withVerticalOrientation(!0)}unregisterItem(B){this.items.delete(B)}static#e=this.\u0275fac=function(w){return new(w||Hm)(m.Y36(m.SBq),m.Y36(m.R0b),m.Y36(oo.X,8))};static#t=this.\u0275cmp=m.Xpm({type:Hm,selectors:[["ng-doc-list"]],standalone:!0,features:[m.jDz],ngContentSelectors:Ro,decls:1,vars:0,template:function(w,g){1&w&&(m.F$t(),m.Hsn(0))},styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})};return It=(0,s.__decorate)([(0,pr.c)(),(0,s.__metadata)("design:paramtypes",[m.SBq,m.R0b,oo.X])],It),It})()},6307:(ve,_,d)=>{"use strict";d.d(_,{e:()=>O});var s=d(5879);class m{}var o=d(7808),N=d(8923),L=d(8440),P=d(386);const R=["*"];let O=(()=>{class x extends N.ri{constructor(v,F,j,V,U){super(V,U),this.elementRef=v,this.changeDetectorRef=F,this.list=j,this.compareHost=V,this.host=U,this.hovered=!1,this.list?.registerItem(this)}clickEvent(){this.select()}selectByUser(){const v=this.elementRef.nativeElement.querySelector("a");v?v.click():this.select()}setActiveStyles(){this.hovered=!0,this.changeDetectorRef.markForCheck()}setInactiveStyles(){this.hovered=!1,this.changeDetectorRef.markForCheck()}ngOnDestroy(){super.ngOnDestroy(),this.list?.unregisterItem(this)}static#e=this.\u0275fac=function(F){return new(F||x)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36(o.k,8),s.Y36(L.d,8),s.Y36(P.K,8))};static#t=this.\u0275cmp=s.Xpm({type:x,selectors:[["ng-doc-option"]],hostVars:1,hostBindings:function(F,j){1&F&&s.NdJ("click",function(){return j.clickEvent()}),2&F&&s.uIk("data-ng-doc-hover",j.hovered)},standalone:!0,features:[s._Bn([{provide:m,useExisting:x}]),s.qOj,s.jDz],ngContentSelectors:R,decls:1,vars:0,template:function(F,j){1&F&&(s.F$t(),s.Hsn(0))},styles:["[_nghost-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);display:block;padding:var(--ng-doc-option-padding, var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2))}[_nghost-%COMP%]:hover:not([data-disabled=true]), [data-ng-doc-hover=true][_nghost-%COMP%]:not([data-disabled=true]){background:var(--ng-doc-hover-background);cursor:pointer}[data-checked=true][_nghost-%COMP%]{background-color:rgba(var(--ng-doc-primary-rgb),.2)}"],changeDetection:0})}return x})()},4826:(ve,_,d)=>{"use strict";d.d(_,{O:()=>Se});var s=d(6825),m=d(8290),o=d(6814),N=d(5879),L=d(9863),P=d(8897);const R=["*"];let O=(()=>{class Ae{constructor(ze){this.documentRef=ze,this.focusHost=null}focusPrev(){this.focusHost&&P.fF.focusClosestElement(this.focusHost,this.documentRef.body,!1)}focusNext(){this.focusHost&&P.fF.focusClosestElement(this.focusHost,this.documentRef.body)}static#e=this.\u0275fac=function(Je){return new(Je||Ae)(N.Y36(o.K0))};static#t=this.\u0275cmp=N.Xpm({type:Ae,selectors:[["ng-doc-focus-control"]],inputs:{focusHost:"focusHost"},standalone:!0,features:[N.jDz],ngContentSelectors:R,decls:3,vars:2,consts:[["data-ng-doc-focus-trap","true",3,"ngDocFocusable","focus"]],template:function(Je,tt){1&Je&&(N.F$t(),N.TgZ(0,"div",0),N.NdJ("focus",function(){return tt.focusPrev()}),N.qZA(),N.Hsn(1),N.TgZ(2,"div",0),N.NdJ("focus",function(){return tt.focusNext()}),N.qZA()),2&Je&&(N.Q6J("ngDocFocusable",!0),N.xp6(2),N.Q6J("ngDocFocusable",!0))},dependencies:[L.O],styles:["[_nghost-%COMP%]{width:100%}"],changeDetection:0})}return Ae})();function x(Ae,Fe){1&Ae&&(N.TgZ(0,"div",3),N._UZ(1,"div",4),N.qZA())}const D=["*"];let v=(()=>{class Ae{constructor(){this.overlayPosition=null,this.overlayAlign=null,this.withPointer=!0}static#e=this.\u0275fac=function(Je){return new(Je||Ae)};static#t=this.\u0275cmp=N.Xpm({type:Ae,selectors:[["ng-doc-overlay-pointer"]],hostVars:2,hostBindings:function(Je,tt){2&Je&&N.uIk("data-ng-doc-overlay-position",tt.overlayPosition)("data-ng-doc-overlay-align",tt.overlayAlign)},inputs:{overlayPosition:"overlayPosition",overlayAlign:"overlayAlign",withPointer:"withPointer"},standalone:!0,features:[N.jDz],ngContentSelectors:D,decls:4,vars:1,consts:[[1,"ng-doc-overlay-pointer-wrapper"],["class","ng-doc-overlay-pointer",4,"ngIf"],[1,"ng-doc-overlay-pointer-content"],[1,"ng-doc-overlay-pointer"],[1,"ng-doc-pointer"]],template:function(Je,tt){1&Je&&(N.F$t(),N.TgZ(0,"div",0),N.YNc(1,x,2,0,"div",1),N.TgZ(2,"div",2),N.Hsn(3),N.qZA()()),2&Je&&(N.xp6(1),N.Q6J("ngIf",tt.withPointer))},dependencies:[o.O5],styles:['[_nghost-%COMP%]{display:block;height:100%}.ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{display:flex}.ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{position:relative}.ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:before{position:relative;display:block;content:"";width:0;height:0;border:8px solid transparent}.ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:after{position:absolute;display:block;content:"";width:0;height:0;border:7px solid transparent}.ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%] .ng-doc-overlay-pointer-content[_ngcontent-%COMP%]{display:flex;flex:1;height:100%}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%], [data-ng-doc-overlay-position=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%]{min-width:calc(var(--ng-doc-base-gutter) * 4)}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%], [data-ng-doc-overlay-position=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{justify-content:center}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%], [data-ng-doc-overlay-position=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{top:1px}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:before, [data-ng-doc-overlay-position=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:before{border-bottom:8px solid;border-bottom-color:var(--ng-doc-overlay-border)}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:after, [data-ng-doc-overlay-position=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:after{top:2px;right:1px;border-bottom:7px solid;border-bottom-color:var(--ng-doc-overlay-background)}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%]{flex-direction:column-reverse}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{transform:rotate(180deg) scaleX(-1)}[data-ng-doc-overlay-align=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{justify-content:flex-start}[data-ng-doc-overlay-align=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{margin-left:calc(var(--ng-doc-base-gutter) * 2)}[data-ng-doc-overlay-align=right][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{justify-content:flex-end}[data-ng-doc-overlay-align=right][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{margin-right:calc(var(--ng-doc-base-gutter) * 2)}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%], [data-ng-doc-overlay-position=right][_nghost-%COMP%] .ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%]{flex-direction:row;min-height:calc(var(--ng-doc-base-gutter) * 4)}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%], [data-ng-doc-overlay-position=right][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{align-items:center}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%], [data-ng-doc-overlay-position=right][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{left:1px}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:before, [data-ng-doc-overlay-position=right][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:before{border-right:8px solid var(--ng-doc-overlay-border)}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:after, [data-ng-doc-overlay-position=right][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:after{top:1px;right:0;border-right:7px solid var(--ng-doc-overlay-background)}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%]{flex-direction:row-reverse}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{transform:rotate(180deg) scaleY(-1)}[data-ng-doc-overlay-align=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{align-items:flex-start}[data-ng-doc-overlay-align=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{margin-top:calc(var(--ng-doc-base-gutter) * 2)}[data-ng-doc-overlay-align=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{align-items:flex-end}[data-ng-doc-overlay-align=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}'],changeDetection:0})}return Ae})();var F=d(7582),j=d(7340),V=d(9850),U=d(8201),G=d(1791),K=d(3019),ce=d(2438);let ae=(()=>{let Ae=class Vm{constructor(ze,Je){this.elementRef=ze,this.ngZone=Je,this.switchTo=null,this.events=[]}ngOnInit(){(0,K.T)(...(0,j.asArray)(this.events).map(ze=>(0,ce.R)(this.elementRef.nativeElement,ze))).pipe((0,U.Lf)(this.ngZone),(0,G.t)(this)).subscribe(ze=>{this.switchTo&&!ze.defaultPrevented&&ze.bubbles&&(ze.stopPropagation(),this.makeEvent(ze,(0,V.N)(this.switchTo)))})}makeEvent(ze,Je){Je.dispatchEvent(new(0,ze.constructor)(ze.type,ze))}static#e=this.\u0275fac=function(Je){return new(Je||Vm)(N.Y36(N.SBq),N.Y36(N.R0b))};static#t=this.\u0275dir=N.lG2({type:Vm,selectors:[["","ngDocEventSwitcher",""]],inputs:{switchTo:["ngDocEventSwitcher","switchTo"],events:"events"},standalone:!0})};return Ae=(0,F.__decorate)([(0,G.c)(),(0,F.__metadata)("design:paramtypes",[N.SBq,N.R0b])],Ae),Ae})();var oe=d(1650),Z=d(2549),J=d(8645),q=d(3997);const ie=["contentContainer"];function ge(Ae,Fe){if(1&Ae&&(N.ynx(0),N._uU(1),N.BQk()),2&Ae){const ze=Fe.polymorpheusOutlet;N.xp6(1),N.Oqu(ze)}}const Me=function(){return["focusin","focusout","keydown","scroll"]};let Se=(()=>{class Ae{constructor(ze,Je,tt,_e,Pe){this.elementRef=ze,this.documentRef=Je,this.changeDetectorRef=tt,this.ngZone=_e,this.animationBuilder=Pe,this.relativePosition=null,this.content="",this.animationEvent$=new J.x,this.isOpened=!0}ngOnInit(){this.runAnimation(this.config?.openAnimation||[]),this.config?.positionStrategy instanceof m._G&&this.config.positionStrategy.positionChanges.pipe((0,q.x)((ze,Je)=>ze.connectionPair===Je.connectionPair),(0,U.w1)(this.ngZone)).subscribe(ze=>{this.currentPosition=P.WW.getOverlayPosition(ze.connectionPair),this.relativePosition=P.WW.getRelativePosition(this.currentPosition),this.changeDetectorRef.markForCheck()})}get contactBorder(){return!!this.config?.contactBorder}get isFocused(){return!!this.focusCatcher?.focused}get animationEvent(){return this.animationEvent$.asObservable()}get overlayAlign(){return this.currentPosition?P.WW.getPositionAlign(P.WW.toConnectedPosition(this.currentPosition)):null}close(){this.isOpened&&(this.runAnimation(this.config?.closeAnimation||[],!0),this.isOpened=!1,this.changeDetectorRef.markForCheck())}focus(){this.contentContainer&&P.fF.focusClosestElement((0,V.N)(this.contentContainer),(0,V.N)(this.contentContainer))}markForCheck(){this.changeDetectorRef.markForCheck()}runAnimation(ze,Je=!1){const tt=this.animationBuilder.build(ze).create(this.elementRef.nativeElement);tt.onStart(()=>this.animationEvent$.next(Je?"beforeClose":"beforeOpen")),tt.onDone(()=>this.animationEvent$.next(Je?"afterClose":"afterOpen")),tt.play()}ngOnDestroy(){this.isFocused&&this.config&&this.config.viewContainerRef&&P.fF.focusClosestElement(this.config.viewContainerRef.element.nativeElement,this.documentRef.body,!1)}static#e=this.\u0275fac=function(Je){return new(Je||Ae)(N.Y36(N.SBq),N.Y36(o.K0),N.Y36(N.sBO),N.Y36(N.R0b),N.Y36(s._j))};static#t=this.\u0275cmp=N.Xpm({type:Ae,selectors:[["ng-doc-overlay-container"]],viewQuery:function(Je,tt){if(1&Je&&(N.Gf(ie,7,N.SBq),N.Gf(oe.b,5),N.Gf(Z.Li,7)),2&Je){let _e;N.iGM(_e=N.CRH())&&(tt.contentContainer=_e.first),N.iGM(_e=N.CRH())&&(tt.focusCatcher=_e.first),N.iGM(_e=N.CRH())&&(tt.outlet=_e.first)}},hostVars:2,hostBindings:function(Je,tt){2&Je&&N.uIk("data-ng-doc-overlay-position",tt.relativePosition)("data-ng-doc-overlay-with-contact-border",tt.contactBorder)},standalone:!0,features:[N.jDz],decls:5,vars:9,consts:[[3,"overlayPosition","overlayAlign","withPointer","ngDocEventSwitcher","events"],["ngDocFocusCatcher","",3,"focusHost"],[1,"ng-doc-overlay-content",3,"tabIndex"],["contentContainer",""],[4,"polymorpheusOutlet"]],template:function(Je,tt){if(1&Je&&(N.TgZ(0,"ng-doc-overlay-pointer",0)(1,"ng-doc-focus-control",1)(2,"div",2,3),N.YNc(4,ge,2,1,"ng-container",4),N.qZA()()()),2&Je){let _e,Pe;N.Q6J("overlayPosition",tt.relativePosition)("overlayAlign",tt.overlayAlign)("withPointer",!(null==tt.config||!tt.config.withPointer))("ngDocEventSwitcher",null!==(_e=null==tt.config||null==tt.config.viewContainerRef||null==tt.config.viewContainerRef.element?null:tt.config.viewContainerRef.element.nativeElement)&&void 0!==_e?_e:null)("events",N.DdM(8,Me)),N.xp6(1),N.Q6J("focusHost",null!==(Pe=null==tt.config||null==tt.config.viewContainerRef||null==tt.config.viewContainerRef.element?null:tt.config.viewContainerRef.element.nativeElement)&&void 0!==Pe?Pe:null),N.xp6(1),N.Q6J("tabIndex",-1),N.xp6(2),N.Q6J("polymorpheusOutlet",tt.content)}},dependencies:[v,ae,O,oe.b,Z.wq,Z.Li],styles:["[_nghost-%COMP%]{display:block;height:auto;width:100%}.ng-doc-overlay-content[_ngcontent-%COMP%]{width:100%;height:100%;background-color:var(--ng-doc-overlay-background);border:1px solid var(--ng-doc-overlay-border);border-radius:var(--ng-doc-overlay-border-radius);box-shadow:var(--ng-doc-overlay-shadow);overflow:auto}[data-ng-doc-overlay-position=top][_nghost-%COMP%]{transform-origin:bottom}[data-ng-doc-overlay-position=top][data-ng-doc-overlay-with-contact-border=false][_nghost-%COMP%] .ng-doc-overlay-content[_ngcontent-%COMP%]{border-bottom:none}[data-ng-doc-overlay-position=bottom][_nghost-%COMP%]{transform-origin:top}[data-ng-doc-overlay-position=bottom][data-ng-doc-overlay-with-contact-border=false][_nghost-%COMP%] .ng-doc-overlay-content[_ngcontent-%COMP%]{border-top:none}[data-ng-doc-overlay-position=left][_nghost-%COMP%]{transform-origin:right}[data-ng-doc-overlay-position=left][data-ng-doc-overlay-with-contact-border=false][_nghost-%COMP%] .ng-doc-overlay-content[_ngcontent-%COMP%]{border-right:none}[data-ng-doc-overlay-position=right][_nghost-%COMP%]{transform-origin:left}[data-ng-doc-overlay-position=right][data-ng-doc-overlay-with-contact-border=false][_nghost-%COMP%] .ng-doc-overlay-content[_ngcontent-%COMP%]{border-left:none}"],changeDetection:0})}return Ae})()},2919:(ve,_,d)=>{"use strict";d.d(_,{EH:()=>x,Uy:()=>D,eo:()=>O});var s=d(6814),m=d(5879);const o=["ng-doc-text",""];function N(v,F){1&v&&(m.TgZ(0,"span",3),m.Hsn(1,1),m.qZA())}function L(v,F){1&v&&(m.TgZ(0,"span",4),m.Hsn(1,2),m.qZA())}const P=["*",[["","ngDocTextLeft",""]],[["","ngDocTextRight",""]]],R=["*","[ngDocTextLeft]","[ngDocTextRight]"];let O=(()=>{class v{static#e=this.\u0275fac=function(V){return new(V||v)};static#t=this.\u0275dir=m.lG2({type:v,selectors:[["","ngDocTextLeft",""]],standalone:!0})}return v})(),x=(()=>{class v{static#e=this.\u0275fac=function(V){return new(V||v)};static#t=this.\u0275dir=m.lG2({type:v,selectors:[["","ngDocTextRight",""]],standalone:!0})}return v})(),D=(()=>{class v{constructor(j){this.changeDetectorRef=j,this.size="medium",this.color="normal",this.align="left",this.absoluteContent=!1,this.ngDocElement=!0}ngAfterContentChecked(){this.changeDetectorRef.detectChanges()}static#e=this.\u0275fac=function(V){return new(V||v)(m.Y36(m.sBO))};static#t=this.\u0275cmp=m.Xpm({type:v,selectors:[["","ng-doc-text",""]],contentQueries:function(V,U,G){if(1&V&&(m.Suo(G,O,5),m.Suo(G,x,5)),2&V){let K;m.iGM(K=m.CRH())&&(U.leftContent=K.first),m.iGM(K=m.CRH())&&(U.rightContent=K.first)}},hostVars:6,hostBindings:function(V,U){2&V&&(m.uIk("data-ng-doc-text-size",U.size)("data-ng-doc-text-color",U.color)("data-ng-doc-text-align",U.align)("data-ng-doc-text-absolute",U.absoluteContent),m.ekj("ngde",U.ngDocElement))},inputs:{size:"size",color:"color",align:"align",absoluteContent:"absoluteContent"},standalone:!0,features:[m.jDz],attrs:o,ngContentSelectors:R,decls:4,vars:2,consts:[["class","ng-doc-text-left",4,"ngIf"],[1,"ng-doc-text"],["class","ng-doc-text-right",4,"ngIf"],[1,"ng-doc-text-left"],[1,"ng-doc-text-right"]],template:function(V,U){1&V&&(m.F$t(P),m.YNc(0,N,2,0,"span",0),m.TgZ(1,"span",1),m.Hsn(2),m.qZA(),m.YNc(3,L,2,0,"span",2)),2&V&&(m.Q6J("ngIf",U.leftContent),m.xp6(3),m.Q6J("ngIf",U.rightContent))},dependencies:[s.O5],styles:[":root{--ng-doc-text-left-width: auto;--ng-doc-text-right-width: auto}[_nghost-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);position:relative;display:flex;align-items:flex-start}[data-ng-doc-text-size=small][_nghost-%COMP%]{--ng-doc-font-size: 14px;--ng-doc-line-height: 18px}[data-ng-doc-text-color=muted][_nghost-%COMP%]{--ng-doc-text: var(--ng-doc-text-muted)}[data-ng-doc-text-align=center][_nghost-%COMP%] .ng-doc-text[_ngcontent-%COMP%]{text-align:center}[data-ng-doc-text-align=right][_nghost-%COMP%] .ng-doc-text[_ngcontent-%COMP%]{text-align:right}[data-ng-doc-text-absolute=true][_nghost-%COMP%] .ng-doc-text-left[_ngcontent-%COMP%]{position:absolute;transform:translate(calc(-100% - var(--ng-doc-base-gutter)))}[data-ng-doc-text-absolute=true][_nghost-%COMP%] .ng-doc-text-right[_ngcontent-%COMP%]{position:absolute;right:0;transform:translate(calc(100% + var(--ng-doc-base-gutter)))}span[_nghost-%COMP%]{display:inline-flex}span[_nghost-%COMP%] .ng-doc-text[_ngcontent-%COMP%]{width:auto}[_nghost-%COMP%] .ng-doc-text-left[_ngcontent-%COMP%], [_nghost-%COMP%] .ng-doc-text-right[_ngcontent-%COMP%]{display:flex;justify-content:center;flex-shrink:0;min-height:var(--ng-doc-line-height);align-items:center}[_nghost-%COMP%] .ng-doc-text-left[_ngcontent-%COMP%] >ng-doc-svg-icon, [_nghost-%COMP%] .ng-doc-text-right[_ngcontent-%COMP%] >ng-doc-svg-icon{display:flex;min-height:var(--ng-doc-line-height)}[_nghost-%COMP%] .ng-doc-text[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .ng-doc-text[_ngcontent-%COMP%]:empty{display:none}[data-ng-doc-text-absolute=false][_nghost-%COMP%] .ng-doc-text-left[_ngcontent-%COMP%]:not(:empty){width:var(--ng-doc-text-left-width)}[data-ng-doc-text-absolute=false][_nghost-%COMP%] .ng-doc-text-left[_ngcontent-%COMP%]:not(:empty) ~ .ng-doc-text[_ngcontent-%COMP%]{margin-left:var(--ng-doc-base-gutter)}[data-ng-doc-text-absolute=false][_nghost-%COMP%] .ng-doc-text-right[_ngcontent-%COMP%]:not(:empty){width:var(--ng-doc-text-right-width);margin-left:var(--ng-doc-base-gutter)}"],changeDetection:0})}return v})()},7457:(ve,_,d)=>{"use strict";d.d(_,{N4:()=>s,Nk:()=>o,fJ:()=>m,gR:()=>N,t9:()=>L});const s="focusin",m="focusout",o=()=>!1,N=P=>P,L=P=>String(P)},8176:(ve,_,d)=>{"use strict";function s(m,o,{get:N,enumerable:L,value:P}){if(N)return{enumerable:L,get(){const O=N.call(this);return Object.defineProperty(this,o,{enumerable:L,value:O}),O}};if("function"!=typeof P)throw new Error("ngDocMakePure can only be used with functions or getters");const R=P;return{enumerable:L,get(){let x,O=[];const D=(...v)=>(O.length===v.length&&v.every((F,j)=>F===O[j])||(O=v,x=R.apply(this,v)),x);return Object.defineProperty(this,o,{value:D}),D}}}d.d(_,{g:()=>s})},7041:(ve,_,d)=>{"use strict";d.d(_,{o:()=>o});var s=d(5879),m=d(8897);let o=(()=>{class N{constructor(P){this.elementRef=P,this.selectAll=!1}ngOnInit(){const P=this.elementRef.nativeElement;m.fF.isNativeKeyboardFocusable(P)&&P.focus(),this.selectAll&&P instanceof HTMLInputElement&&Promise.resolve().then(()=>P.select())}static#e=this.\u0275fac=function(R){return new(R||N)(s.Y36(s.SBq))};static#t=this.\u0275dir=s.lG2({type:N,selectors:[["","ngDocAutofocus",""]],inputs:{selectAll:"selectAll"},standalone:!0})}return N})()},1650:(ve,_,d)=>{"use strict";d.d(_,{b:()=>F});var v,s=d(7582),m=d(5879),o=d(7457),N=d(9850),L=d(8201),P=d(1791),R=d(3019),O=d(2438),x=d(3620),D=d(3997);let F=v=class Um{constructor(V,U,G){this.elementRef=V,this.ngZone=U,this.changeDetectorRef=G,this.focusEvent=new m.vpe,this.blurEvent=new m.vpe,this.focused=!1,v.observeFocus((0,N.N)(this.elementRef)).pipe((0,L.w1)(this.ngZone),(0,P.t)(this)).subscribe(K=>{this.focused=K.type===o.N4,this.focused?this.focusEvent.emit(K):this.blurEvent.emit(K),this.changeDetectorRef.markForCheck()})}static observeFocus(V){return(0,R.T)((0,O.R)(V,o.N4),(0,O.R)(V,o.fJ)).pipe((0,x.b)(0),(0,D.x)((U,G)=>U.type===G.type))}static#e=this.\u0275fac=function(U){return new(U||Um)(m.Y36(m.SBq),m.Y36(m.R0b),m.Y36(m.sBO))};static#t=this.\u0275dir=m.lG2({type:Um,selectors:[["","ngDocFocusCatcher",""]],hostVars:1,hostBindings:function(U,G){2&U&&m.uIk("data-ng-doc-focused",G.focused)},outputs:{focusEvent:"focusEvent",blurEvent:"blurEvent"},exportAs:["ngDocFocusCatcher"],standalone:!0})};F=v=(0,s.__decorate)([(0,P.c)(),(0,s.__metadata)("design:paramtypes",[m.SBq,m.R0b,m.sBO])],F)},9863:(ve,_,d)=>{"use strict";d.d(_,{O:()=>m});var s=d(5879);let m=(()=>{class o{constructor(){this.focusable=!0}get tabIndex(){return this.focusable?0:-1}static#e=this.\u0275fac=function(P){return new(P||o)};static#t=this.\u0275dir=s.lG2({type:o,selectors:[["","ngDocFocusable",""]],hostVars:1,hostBindings:function(P,R){2&P&&s.uIk("tabIndex",R.tabIndex)},inputs:{focusable:["ngDocFocusable","focusable"]},exportAs:["ngDocFocusable"],standalone:!0})}return o})()},1586:(ve,_,d)=>{"use strict";d.d(_,{v:()=>O});var R,s=d(7582),m=d(5879),o=d(5784),N=d(187),L=d(9850),P=d(1791);let O=R=class $m extends N.f{constructor(D){super(),this.elementRef=D}blurEvent(){this.onTouched()}inputEvent(){this.updateModel(this.elementRef.nativeElement.value)}incomingUpdate(D){(0,L.N)(this.elementRef).value=(0,o.isPresent)(D)?String(D):""}static#e=this.\u0275fac=function(v){return new(v||$m)(m.Y36(m.SBq))};static#t=this.\u0275dir=m.lG2({type:$m,selectors:[["input","ngDocInputString",""]],hostBindings:function(v,F){1&v&&m.NdJ("blur",function(){return F.blurEvent()})("input",function(){return F.inputEvent()})},standalone:!0,features:[m._Bn([{provide:N.f,useExisting:(0,m.Gpc)(()=>R)}]),m.qOj]})};O=R=(0,s.__decorate)([(0,P.c)(),(0,s.__metadata)("design:paramtypes",[m.SBq])],O)},5717:(ve,_,d)=>{"use strict";d.d(_,{A:()=>Fe});var s=d(7582),m=d(5879),o=d(7340),N=d(5784),L=d(7022),P=d(4826),R=d(9850),O=d(8201),x=d(6245),D=d(6814),v=d(8645),F=d(2438),j=d(6321),V=d(9360),U=d(8251),G=d(4829),ce=d(4825);var oe=d(7398),Z=d(2181),J=d(9773);let q=(()=>{class ze{constructor(tt,_e){this.documentRef=tt,this.ngZone=_e,this.overlayRef=null,this.destroy$=new v.x}attach(tt){this.overlayRef=tt}enable(){(0,F.R)(this.documentRef,"scroll",{capture:!0}).pipe((0,O.Lf)(this.ngZone),function ae(ze,Je=j.z,tt){const _e=(0,ce.H)(ze,Je);return function K(ze,Je){return(0,V.e)((tt,_e)=>{const{leading:Pe=!0,trailing:Ie=!1}=Je??{};let ye=!1,je=null,Ge=null,Le=!1;const ct=()=>{Ge?.unsubscribe(),Ge=null,Ie&&(De(),Le&&_e.complete())},lt=()=>{Ge=null,Le&&_e.complete()},rt=it=>Ge=(0,G.Xf)(ze(it)).subscribe((0,U.x)(_e,ct,lt)),De=()=>{if(ye){ye=!1;const it=je;je=null,_e.next(it),!Le&&rt(it)}};tt.subscribe((0,U.x)(_e,it=>{ye=!0,je=it,(!Ge||Ge.closed)&&(Pe?De():rt(it))},()=>{Le=!0,(!(Ie&&ye&&Ge)||Ge.closed)&&_e.complete()}))})}(()=>_e,tt)}(10),(0,oe.U)(tt=>tt.target instanceof Document?tt.target.scrollingElement:tt.target),(0,Z.h)(tt=>tt instanceof Node&&(tt.contains(this.origin)||!this.origin)),(0,J.R)(this.destroy$)).subscribe(()=>this.detach())}get origin(){const tt=this.overlayRef?.getConfig();return tt?.viewContainerRef?(0,R.N)(tt.viewContainerRef.element):null}disable(){this.destroy$.next()}detach(){this.disable(),this.overlayRef?.hasAttached()&&this.ngZone.run(()=>{this.overlayRef?.detach()})}static#e=this.\u0275fac=function(_e){return new(_e||ze)(m.LFG(D.K0),m.LFG(m.R0b))};static#t=this.\u0275prov=m.Yz7({token:ze,factory:ze.\u0275fac,providedIn:"root"})}return ze})();var ie=d(8897),ge=d(1791),Me=d(3019),Se=d(6232),Ae=d(4664);let Fe=(()=>{let ze=class zm{constructor(tt,_e,Pe,Ie,ye,je){this.elementRef=tt,this.changeDetectorRef=_e,this.viewContainerRef=Pe,this.overlayService=Ie,this.ngZone=ye,this.scrollStrategy=je,this.content="",this.delay=1e3,this.positions=["top-center","bottom-center","right-center","left-center"],this.canOpen=!0,this.panelClass="",this.minHeight="",this.maxHeight="",this.height="",this.minWidth="",this.maxWidth="",this.width="",this.beforeOpen=new m.vpe,this.afterOpen=new m.vpe,this.beforeClose=new m.vpe,this.afterClose=new m.vpe,this.overlayRef=null}ngAfterViewInit(){(0,F.R)(this.pointerOriginElement,"mouseenter").pipe((0,Z.h)(()=>this.canOpen&&!this.isOpened),(0,Ae.w)(()=>(0,ce.H)(this.delay).pipe((0,J.R)((0,F.R)(this.pointerOriginElement,"mouseleave")))),(0,O.w1)(this.ngZone),(0,ge.t)(this)).subscribe(()=>this.show()),(0,Me.T)((0,F.R)(this.pointerOriginElement,"mouseleave"),this.beforeOpen.pipe((0,Ae.w)(()=>(0,N.isPresent)(this.overlayRef)?(0,F.R)(this.overlayRef.overlayRef.overlayElement,"mouseleave"):Se.E))).pipe((0,Z.h)(()=>this.isOpened),(0,Ae.w)(()=>(0,ce.H)(50).pipe((0,J.R)((0,F.R)(this.pointerOriginElement,"mouseenter")),(0,J.R)((0,N.isPresent)(this.overlayRef)?(0,F.R)(this.overlayRef.overlayRef.overlayElement,"mouseenter"):Se.E))),(0,ge.t)(this),(0,O.w1)(this.ngZone)).subscribe(()=>this.hide())}show(){this.isOpened||(this.overlayRef=this.overlayService.open(this.content,{origin:this.displayOriginElement,overlayContainer:P.O,positionStrategy:this.overlayService.connectedPositionStrategy(this.displayOriginElement,this.getPositions(this.positions)),viewContainerRef:this.viewContainerRef,withPointer:!0,contactBorder:!0,panelClass:["ng-doc-tooltip",...(0,o.asArray)(this.panelClass)],height:this.height,width:this.width,minHeight:this.minHeight,minWidth:this.minWidth,maxHeight:this.maxHeight,maxWidth:this.maxWidth,scrollStrategy:this.scrollStrategy,disposeOnRouteNavigation:!0,openAnimation:L.YN,closeAnimation:L.ni}),this.beforeOpen.emit(),this.overlayRef?.afterOpen().pipe((0,O.Lf)(this.ngZone)).subscribe(()=>this.afterOpen.emit()),this.overlayRef?.beforeClose().pipe((0,O.Lf)(this.ngZone)).subscribe(()=>this.beforeClose.emit()),this.overlayRef?.afterClose().pipe((0,O.Lf)(this.ngZone)).subscribe(()=>this.afterClose.emit()),this.overlayRef?.beforeClose().subscribe(()=>this.hide()),this.changeDetectorRef.markForCheck())}hide(){this.isOpened&&(this.overlayRef?.close(),this.overlayRef=null,this.changeDetectorRef.markForCheck())}get isOpened(){return!!this.overlayRef}ngOnDestroy(){this.overlayRef&&this.overlayRef.overlayRef.dispose()}get pointerOriginElement(){return(0,N.isPresent)(this.pointerOrigin)?(0,R.N)(this.pointerOrigin):(0,R.N)(this.elementRef)}get displayOriginElement(){return(0,N.isPresent)(this.displayOrigin)?(0,R.N)(this.displayOrigin):(0,R.N)(this.elementRef)}getPositions(tt){return ie.WW.getConnectedPosition(tt&&(0,o.asArray)(tt).length?tt:["bottom-center","top-center","right-center","left-center"],this.displayOriginElement,0,!0)}static#e=this.\u0275fac=function(_e){return new(_e||zm)(m.Y36(m.SBq),m.Y36(m.sBO),m.Y36(m.s_b),m.Y36(x.m),m.Y36(m.R0b),m.Y36(q))};static#t=this.\u0275dir=m.lG2({type:zm,selectors:[["","ngDocTooltip",""]],inputs:{content:["ngDocTooltip","content"],delay:"delay",displayOrigin:"displayOrigin",pointerOrigin:"pointerOrigin",positions:"positions",canOpen:"canOpen",panelClass:"panelClass",minHeight:"minHeight",maxHeight:"maxHeight",height:"height",minWidth:"minWidth",maxWidth:"maxWidth",width:"width"},outputs:{beforeOpen:"beforeOpen",afterOpen:"afterOpen",beforeClose:"beforeClose",afterClose:"afterClose"},exportAs:["ngDocTooltip"],standalone:!0})};return ze=(0,s.__decorate)([(0,ge.c)(),(0,s.__metadata)("design:paramtypes",[m.SBq,m.sBO,m.s_b,x.m,m.R0b,q])],ze),ze})()},9850:(ve,_,d)=>{"use strict";d.d(_,{N:()=>N,e:()=>o});var s=d(5784),m=d(5879);function o(L,P,R={}){const O=Object.keys({...L,...P}),x={};for(const D of O)x[D]=L[D]!==P[D]&&(0,s.isPresent)(P[D])?P[D]:(R&&R[D])??L[D];return x}function N(L){return L instanceof m.SBq?L.nativeElement:L}},7230:(ve,_,d)=>{"use strict";d.d(_,{G:()=>L});var s=d(9862),m=d(5879),o=d(9397),N=d(7081);class L{constructor(){this.cache=new Map}static#e=this.TOKEN=Math.random().toString(36).slice(-8);intercept(R,O){if("GET"!==R.method||!R.params.has(L.TOKEN))return O.handle(R);const x=this.cache.get(R.url);if(x)return x;const D=R.clone({params:R.params.delete(L.TOKEN)}),v=O.handle(D).pipe((0,o.b)({error:F=>{F instanceof s.Zn&&this.cache.delete(F.url||"")}}),(0,N.d)(1));return this.cache.set(R.url,v),v}static#t=this.\u0275fac=function(O){return new(O||L)};static#n=this.\u0275prov=m.Yz7({token:L,factory:L.\u0275fac})}},8201:(ve,_,d)=>{"use strict";d.d(_,{Lf:()=>U,ao:()=>D,mN:()=>x,w1:()=>G});var s=d(5592),m=d(2096),o=d(8407),N=d(7921),L=d(4664),P=d(7398),R=d(6306),O=d(9397);function x(K){return new s.y(ce=>{const ae=K.subscribe(oe=>ce.next(oe),oe=>ce.error(oe),()=>ce.complete());return()=>ae.unsubscribe()})}function D(K){return ce=>{let ae={result:null,error:null,pending:!1};return(K?K.pipe((0,N.O)(null)):(0,m.of)(null)).pipe((0,L.w)(()=>ce.pipe((0,P.U)(oe=>({result:oe,pending:!1})),(0,R.K)(oe=>(0,m.of)({result:null,error:oe,pending:!1})),(0,N.O)({error:null,pending:!0}),(0,O.b)(oe=>ae={...ae,...oe}),(0,P.U)(()=>ae))))}}class v{constructor(ce){this.ngZone=ce}call(ce,ae){return this.ngZone.runOutsideAngular(()=>ae.subscribe(ce))}}function F(K){return ce=>ce.lift(new v(K))}function j(K){return ce=>new s.y(ae=>ce.subscribe({next:oe=>K.runOutsideAngular(()=>ae.next(oe)),error:oe=>K.runOutsideAngular(()=>ae.error(oe)),complete:()=>K.runOutsideAngular(()=>ae.complete())}))}function U(K){return(0,o.z)(j(K),F(K))}function G(K){return(0,o.z)(j(K),F(K),function V(K){return ce=>new s.y(ae=>ce.subscribe({next:oe=>K.run(()=>ae.next(oe)),error:oe=>K.run(()=>ae.error(oe)),complete:()=>K.run(()=>ae.complete())}))}(K))}},6245:(ve,_,d)=>{"use strict";d.d(_,{m:()=>J});var s=d(8290),m=d(8484),o=d(5879),N=d(776),L=d(7340),P=d(5784),R=d(9850),O=d(8201),x=d(2438),D=d(3019),v=d(4366),F=d(4664),j=d(2181),V=d(9773),U=d(8180),G=d(3620),K=d(7398),ce=d(9384);class ae{constructor(ie,ge,Me,Se,Ae,Fe){this.overlayRef=ie,this.overlayConfig=ge,this.overlayContainer=Me,this.ngZone=Se,this.router=Ae,this.location=Fe,this.overlayResult=null,this.opened=!0,this.afterOpen().pipe((0,F.w)(()=>this.ngZone.runOutsideAngular(()=>this.overlayRef.outsidePointerEvents())),(0,j.h)(Je=>!!this.overlayConfig.closeIfOutsideClick&&this.outsideClickChecker(Je)),(0,O.w1)(this.ngZone)).subscribe(()=>this.close()),(0,x.R)(this.overlayRef.overlayElement,"click").pipe((0,j.h)(()=>!!this.overlayConfig.closeIfInnerClick),(0,V.R)(this.overlayRef.detachments()),(0,O.w1)(this.ngZone)).subscribe(()=>this.close()),this.router&&this.overlayConfig.disposeOnRouteNavigation&&this.router.events.pipe((0,j.h)(Je=>Je instanceof N.m2),(0,O.w1)(this.ngZone),(0,V.R)(this.overlayRef.detachments())).subscribe(()=>this.close()),this.location&&this.overlayConfig.disposeOnNavigation&&(0,O.mN)(this.location).pipe((0,V.R)(this.overlayRef.detachments())).subscribe(()=>this.close()),this.overlayConfig.disableClose||(0,D.T)(this.overlayRef.backdropClick(),this.overlayRef.keydownEvents().pipe((0,j.h)(Je=>"Escape"===Je.code))).pipe((0,U.q)(1),(0,V.R)(this.overlayRef.detachments())).subscribe(()=>this.close());const ze=(0,R.N)(this.overlayConfig.origin);ze instanceof HTMLElement&&this.ngZone.onStable.pipe((0,G.b)(10),(0,K.U)(()=>ze.getBoundingClientRect()),(0,ce.G)(),(0,j.h)(([Je,tt])=>(0,P.isPresent)(Je)&&(0,P.isPresent)(tt)&&(Je.x!==tt.x||Je.y!==tt.y||Je.width!==tt.width||Je.height!==tt.height)),(0,O.Lf)(this.ngZone),(0,V.R)(this.overlayRef.detachments())).subscribe(()=>this.overlayRef.updatePosition())}focus(){this.overlayContainer.focus()}get isFocused(){return this.overlayContainer.isFocused}get isOpened(){return this.opened}get hasAttached(){return this.overlayRef.hasAttached()}close(ie){this.overlayResult=(0,P.isPresent)(ie)?ie:null,this.afterClose().subscribe(()=>{this.overlayRef.detach()}),this.overlayContainer.close(),this.overlayRef.detachBackdrop(),this.opened=!1}beforeOpen(){return this.overlayContainer.animationEvent.pipe((0,j.h)(ie=>"beforeOpen"===ie),(0,U.q)(1),(0,K.U)(()=>{}))}afterOpen(){return this.overlayContainer.animationEvent.pipe((0,j.h)(ie=>"afterOpen"===ie),(0,U.q)(1),(0,K.U)(()=>{}))}beforeClose(){return(0,D.T)(this.overlayContainer.animationEvent.pipe((0,j.h)(ie=>"beforeClose"===ie)),this.overlayRef.detachments()).pipe((0,U.q)(1),(0,K.U)(()=>this.overlayResult))}afterClose(){return(0,D.T)(this.overlayContainer.animationEvent.pipe((0,j.h)(ie=>"afterClose"===ie)),this.overlayRef.detachments()).pipe((0,U.q)(1),(0,K.U)(()=>this.overlayResult))}positionChanges(){return this.overlayConfig.positionStrategy instanceof s._G?this.overlayConfig.positionStrategy.positionChanges:v.C}outsideClickChecker(ie){const ge=ie.target;if(ge instanceof Element){const Me=(0,R.N)(this.overlayConfig.origin);if(Me instanceof HTMLElement)return!Me.contains(ge)}return!0}}var oe=d(8897),Z=d(2549);let J=(()=>{class q{constructor(ge,Me,Se,Ae){this.overlay=ge,this.ngZone=Me,this.injector=Se,this.router=Ae}open(ge,Me,Se=[]){const Ae=this.createOverlay(Me);return this.attachTooltipContainer(ge,Ae,Me,Se)}attachTooltipContainer(ge,Me,Se,Ae){const Fe=new m.C5(Se.overlayContainer,Se.viewContainerRef,Se.viewContainerRef?.injector),ze=Me.attach(Fe),Je=new ae(Me,Se,ze.instance,this.ngZone,this.router);return ge instanceof Z.Al&&(ge=new Z.Al(ge.component,this.createInjector(Je,Ae,Se.viewContainerRef?.injector))),ze.instance.config=Se,ze.instance.content=ge,ze.instance.markForCheck(),Je}createOverlay(ge){const Me=this.overlay.create(ge);return Me.detachments().pipe((0,U.q)(1)).subscribe(()=>{Me.hasAttached()&&Me.detach()}),Me}connectedPositionStrategy(ge,Me){return this.overlay.position().flexibleConnectedTo(ge).withPositions(oe.WW.toConnectedPositions((0,L.asArray)(Me))).withPush(!0)}globalPositionStrategy(){return this.overlay.position().global()}scrollStrategy(){return this.overlay.scrollStrategies}createInjector(ge,Me,Se){return o.zs3.create({providers:[...Me,{provide:ae,useValue:ge}],parent:Se||this.injector})}static#e=this.\u0275fac=function(Me){return new(Me||q)(o.LFG(s.aV),o.LFG(o.R0b),o.LFG(o.zs3),o.LFG(N.F0,8))};static#t=this.\u0275prov=o.Yz7({token:q,factory:q.\u0275fac,providedIn:"root"})}return q})()},9625:(ve,_,d)=>{"use strict";d.d(_,{DN:()=>N,Sy:()=>m});var s=d(5879);const m=new s.OlP("NG_DOC_ASSETS_PATH"),N=(new s.OlP("NG_DOC_COMPONENT_CONTEXT"),new s.OlP("NG_DOC_CUSTOM_ICONS_PATH"))},8897:(ve,_,d)=>{"use strict";d.d(_,{WW:()=>L,fF:()=>m});var s=d(7340);class m{static isNativeKeyboardFocusable(O){if(O.hasAttribute("disabled")||"-1"===O.getAttribute("tabIndex"))return!1;if(O instanceof HTMLElement&&O.isContentEditable||"0"===O.getAttribute("tabIndex"))return!0;switch(O.tagName){case"BUTTON":case"SELECT":case"TEXTAREA":return!0;case"VIDEO":case"AUDIO":return O.hasAttribute("controls");case"INPUT":return"hidden"!==O.getAttribute("type");case"A":case"LINK":return O.hasAttribute("href");default:return!1}}static getClosestKeyboardFocusable(O,x,D=!0){if(!x.ownerDocument)return null;const F=x.ownerDocument.createTreeWalker(x,NodeFilter.SHOW_ELEMENT,j=>"ownerSVGElement"in j?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT);for(F.currentNode=O;D?F.nextNode():F.previousNode();)if(F.currentNode instanceof HTMLElement&&(O=F.currentNode),m.isNativeKeyboardFocusable(O))return O;return null}static focusClosestElement(O,x,D=!0){const v=m.getClosestKeyboardFocusable(O,x,D);v&&v.focus()}}const N={"top-left":{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},"top-center":{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom"},"top-right":{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},"bottom-left":{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},"bottom-center":{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top"},"bottom-right":{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},"left-top":{originX:"start",originY:"top",overlayX:"end",overlayY:"top"},"left-center":{originX:"start",originY:"center",overlayX:"end",overlayY:"center"},"left-bottom":{originX:"start",originY:"bottom",overlayX:"end",overlayY:"bottom"},"right-top":{originX:"end",originY:"top",overlayX:"start",overlayY:"top"},"right-center":{originX:"end",originY:"center",overlayX:"start",overlayY:"center"},"right-bottom":{originX:"end",originY:"bottom",overlayX:"start",overlayY:"bottom"}};class L{static getConnectedPosition(O,x,D=0,v=!1){return(0,s.asArray)(O).map(F=>{const j=L.toConnectedPosition(F),V=L.getMarginMultiplier(j),U=L.isVerticalPosition(j)?0:D*V,G=L.isVerticalPosition(j)?D*V:0;return j.offsetX=j.offsetX||0,j.offsetY=j.offsetY||0,j.offsetX+=(v?L.getOffsetX(x,j):0)+U,j.offsetY+=(v?L.getOffsetY(x,j):0)+G,j})}static toConnectedPosition(O){return"string"==typeof O?{...N[O]}:{...O}}static toConnectedPositions(O){return O.map(L.toConnectedPosition)}static getOffsetX(O,x){const D=L.isVerticalPosition(x),v=L.getOffsetMultiplier(x),F=L.isCenterPosition(x),j="center"===x.originX&&"center"!==x.overlayX||L.overlayIsOutByX(x)?8:O.offsetWidth;return(D&&!F?Math.max(32-j,0):0)*v}static getOffsetY(O,x){const D=L.isVerticalPosition(x),v=L.getOffsetMultiplier(x),F=L.isCenterPosition(x),j="center"===x.originY&&"center"!==x.overlayY||L.overlayIsOutByY(x)?8:O.offsetHeight;return(D||F?0:Math.max(32-j,0))*v}static overlayIsOutByX(O){return"start"===O.originX&&"end"===O.overlayX||"end"===O.originX&&"start"===O.overlayX}static overlayIsOutByY(O){return"top"===O.originY&&"bottom"===O.overlayY||"bottom"===O.originY&&"top"===O.overlayY}static getOffsetMultiplier(O){return L.isVerticalPosition(O)&&"end"===O.overlayX||!L.isVerticalPosition(O)&&"bottom"===O.overlayY?1:-1}static getMarginMultiplier(O){return["right","bottom"].includes(L.getRelativePosition(O)||"")?1:-1}static isVerticalPosition(O){return["bottom","top"].includes(L.getRelativePosition(O)||"")}static isCenterPosition(O){return"center"===O.overlayX||"center"===O.overlayY}static getPositionAlign(O){return L.isVerticalPosition(O)?"start"===O.overlayX?"left":"end"===O.overlayX?"right":null:"top"===O.originY?"top":"bottom"===O.originY?"bottom":null}static getRelativePosition(O){const x=L.toConnectedPosition(O);return"bottom"===x.originY&&"top"===x.overlayY?"bottom":"top"===x.originY&&"bottom"===x.overlayY?"top":"start"===x.originX&&"end"===x.overlayX?"left":"end"===x.originX&&"start"===x.overlayX?"right":null}static getOverlayPosition(O){return Object.keys(N).find(D=>{const v=N[D];return O.originX===v.originX&&O.originY===v.originY&&O.overlayX===v.overlayX&&O.overlayY===v.overlayY})||O}}},1791:(ve,_,d)=>{"use strict";d.d(_,{c:()=>ie,t:()=>Je});var s=d(8645),m=d(7394),P=(d(9666),d(6232),d(6410),d(5879)),D=(d(1631),d(3093),d(6306),d(9773));const v=P.GuJ,j=Symbol("__destroy"),V=Symbol("__decoratorApplied");function U(_e){return"string"==typeof _e?Symbol(`__destroy__${_e}`):j}function K(_e,Pe){_e[Pe]||(_e[Pe]=new s.x)}function ce(_e,Pe){_e[Pe]&&(_e[Pe].next(),_e[Pe].complete(),_e[Pe]=null)}function ae(_e){_e instanceof m.w0&&_e.unsubscribe()}function Z(_e,Pe){return function(){if(_e&&_e.call(this),ce(this,U()),Pe.arrayName&&function oe(_e){Array.isArray(_e)&&_e.forEach(ae)}(this[Pe.arrayName]),Pe.checkProperties)for(const Ie in this)Pe.blackList?.includes(Ie)||ae(this[Ie])}}function ie(_e={}){return Pe=>{!function F(_e){return!!_e[v]}(Pe)?function J(_e,Pe){_e.prototype.ngOnDestroy=Z(_e.prototype.ngOnDestroy,Pe)}(Pe,_e):function q(_e,Pe){const Ie=_e.\u0275pipe;Ie.onDestroy=Z(Ie.onDestroy,Pe)}(Pe,_e),function G(_e){_e.prototype[V]=!0}(Pe)}}function Je(_e,Pe){return Ie=>{const ye=U(Pe);return"string"==typeof Pe?function ze(_e,Pe,Ie){const ye=_e[Pe];K(_e,Ie),_e[Pe]=function(){ye.apply(this,arguments),ce(this,Ie),_e[Pe]=ye}}(_e,Pe,ye):K(_e,ye),Ie.pipe((0,D.R)(_e[ye]))}}Symbol("CheckerHasBeenSet")},8477:(ve,_,d)=>{"use strict";d.d(_,{Z:()=>R});var s={value:()=>{}};function m(){for(var v,O=0,x=arguments.length,D={};O=0&&(v=D.slice(F+1),D=D.slice(0,F)),D&&!x.hasOwnProperty(D))throw new Error("unknown type: "+D);return{type:D,name:v}})}(O+"",D),j=-1,V=v.length;if(!(arguments.length<2)){if(null!=x&&"function"!=typeof x)throw new Error("invalid callback: "+x);for(;++j0)for(var F,j,D=new Array(F),v=0;v{"use strict";d.d(_,{D:()=>N,Z:()=>o});var s=d(9567),m=d(4537);function o(L){var P=L.document.documentElement,R=(0,s.Z)(L).on("dragstart.drag",m.ZP,m.Dd);"onselectstart"in P?R.on("selectstart.drag",m.ZP,m.Dd):(P.__noselect=P.style.MozUserSelect,P.style.MozUserSelect="none")}function N(L,P){var R=L.document.documentElement,O=(0,s.Z)(L).on("dragstart.drag",null);P&&(O.on("click.drag",m.ZP,m.Dd),setTimeout(function(){O.on("click.drag",null)},0)),"onselectstart"in R?O.on("selectstart.drag",null):(R.style.MozUserSelect=R.__noselect,delete R.__noselect)}},4537:(ve,_,d)=>{"use strict";d.d(_,{Dd:()=>m,Q7:()=>s,ZP:()=>N,rG:()=>o});const s={passive:!1},m={capture:!0,passive:!1};function o(L){L.stopImmediatePropagation()}function N(L){L.preventDefault(),L.stopImmediatePropagation()}},6371:(ve,_,d)=>{"use strict";d.d(_,{ET:()=>O});const s=Math.PI,m=2*s,o=1e-6,N=m-o;function L(D){this._+=D[0];for(let v=1,F=D.length;v=0))throw new Error(`invalid digits: ${D}`);if(v>15)return L;const F=10**v;return function(j){this._+=j[0];for(let V=1,U=j.length;Vo)if(Math.abs(Z*ce-ae*oe)>o&&U){let q=j-G,ie=V-K,ge=ce*ce+ae*ae,Me=q*q+ie*ie,Se=Math.sqrt(ge),Ae=Math.sqrt(J),Fe=U*Math.tan((s-Math.acos((ge+J-Me)/(2*Se*Ae)))/2),ze=Fe/Ae,Je=Fe/Se;Math.abs(ze-1)>o&&this._append`L${v+ze*oe},${F+ze*Z}`,this._append`A${U},${U},0,0,${+(Z*q>oe*ie)},${this._x1=v+Je*ce},${this._y1=F+Je*ae}`}else this._append`L${this._x1=v},${this._y1=F}`}arc(v,F,j,V,U,G){if(v=+v,F=+F,G=!!G,(j=+j)<0)throw new Error(`negative radius: ${j}`);let K=j*Math.cos(V),ce=j*Math.sin(V),ae=v+K,oe=F+ce,Z=1^G,J=G?V-U:U-V;null===this._x1?this._append`M${ae},${oe}`:(Math.abs(this._x1-ae)>o||Math.abs(this._y1-oe)>o)&&this._append`L${ae},${oe}`,j&&(J<0&&(J=J%m+m),J>N?this._append`A${j},${j},0,1,${Z},${v-K},${F-ce}A${j},${j},0,1,${Z},${this._x1=ae},${this._y1=oe}`:J>o&&this._append`A${j},${j},0,${+(J>=s)},${Z},${this._x1=v+j*Math.cos(U)},${this._y1=F+j*Math.sin(U)}`)}rect(v,F,j,V){this._append`M${this._x0=this._x1=+v},${this._y0=this._y1=+F}h${j=+j}v${+V}h${-j}Z`}toString(){return this._}}function O(){return new R}O.prototype=R.prototype},9775:(ve,_,d)=>{"use strict";function s(o){return function(){return this.matches(o)}}function m(o){return function(N){return N.matches(o)}}d.d(_,{P:()=>m,Z:()=>s})},6006:(ve,_,d)=>{"use strict";d.d(_,{Z:()=>m});var s=d(3316);function m(o){var N=o+="",L=N.indexOf(":");return L>=0&&"xmlns"!==(N=o.slice(0,L))&&(o=o.slice(L+1)),s.Z.hasOwnProperty(N)?{space:s.Z[N],local:o}:o}},3316:(ve,_,d)=>{"use strict";d.d(_,{P:()=>s,Z:()=>m});var s="http://www.w3.org/1999/xhtml";const m={svg:"http://www.w3.org/2000/svg",xhtml:s,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}},5045:(ve,_,d)=>{"use strict";function m(o,N){if(o=function s(o){let N;for(;N=o.sourceEvent;)o=N;return o}(o),void 0===N&&(N=o.currentTarget),N){var L=N.ownerSVGElement||N;if(L.createSVGPoint){var P=L.createSVGPoint();return P.x=o.clientX,P.y=o.clientY,[(P=P.matrixTransform(N.getScreenCTM().inverse())).x,P.y]}if(N.getBoundingClientRect){var R=N.getBoundingClientRect();return[o.clientX-R.left-N.clientLeft,o.clientY-R.top-N.clientTop]}}return[o.pageX,o.pageY]}d.d(_,{Z:()=>m})},9567:(ve,_,d)=>{"use strict";d.d(_,{Z:()=>m});var s=d(8224);function m(o){return"string"==typeof o?new s.Y1([[document.querySelector(o)]],[document.documentElement]):new s.Y1([[o]],s.Jz)}},8224:(ve,_,d)=>{"use strict";d.d(_,{Y1:()=>Ee,ZP:()=>Mt,Jz:()=>Ve});var s=d(8692),N=d(2111);var R=d(9775),O=Array.prototype.find;function D(){return this.firstElementChild}var F=Array.prototype.filter;function j(){return Array.from(this.children)}function K(ue){return new Array(ue.length)}function ae(ue,we){this.ownerDocument=ue.ownerDocument,this.namespaceURI=ue.namespaceURI,this._next=null,this._parent=ue,this.__data__=we}function Z(ue,we,ht,Qe,gt,Bt){for(var Gt,$t=0,Xt=we.length,an=Bt.length;$twe?1:ue>=we?0:NaN}ae.prototype={constructor:ae,appendChild:function(ue){return this._parent.insertBefore(ue,this._next)},insertBefore:function(ue,we){return this._parent.insertBefore(ue,we)},querySelector:function(ue){return this._parent.querySelector(ue)},querySelectorAll:function(ue){return this._parent.querySelectorAll(ue)}};var Ge=d(6006);function Le(ue){return function(){this.removeAttribute(ue)}}function ct(ue){return function(){this.removeAttributeNS(ue.space,ue.local)}}function lt(ue,we){return function(){this.setAttribute(ue,we)}}function rt(ue,we){return function(){this.setAttributeNS(ue.space,ue.local,we)}}function De(ue,we){return function(){var ht=we.apply(this,arguments);null==ht?this.removeAttribute(ue):this.setAttribute(ue,ht)}}function it(ue,we){return function(){var ht=we.apply(this,arguments);null==ht?this.removeAttributeNS(ue.space,ue.local):this.setAttributeNS(ue.space,ue.local,ht)}}var jt=d(8995);function pt(ue){return function(){delete this[ue]}}function tn(ue,we){return function(){this[ue]=we}}function qt(ue,we){return function(){var ht=we.apply(this,arguments);null==ht?delete this[ue]:this[ue]=ht}}function In(ue){return ue.trim().split(/^|\s+/)}function no(ue){return ue.classList||new qn(ue)}function qn(ue){this._node=ue,this._names=In(ue.getAttribute("class")||"")}function ko(ue,we){for(var ht=no(ue),Qe=-1,gt=we.length;++Qe=0&&(this._names.splice(we,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(ue){return this._names.indexOf(ue)>=0}};var wn=d(3316);function Oo(ue){return function(){var we=this.ownerDocument,ht=this.namespaceURI;return ht===wn.P&&we.documentElement.namespaceURI===wn.P?we.createElement(ue):we.createElementNS(ht,ue)}}function Kn(ue){return function(){return this.ownerDocument.createElementNS(ue.space,ue.local)}}function Nn(ue){var we=(0,Ge.Z)(ue);return(we.local?Kn:Oo)(we)}function er(){return null}function Vo(){var ue=this.parentNode;ue&&ue.removeChild(this)}function et(){var ue=this.cloneNode(!1),we=this.parentNode;return we?we.insertBefore(ue,this.nextSibling):ue}function Pt(){var ue=this.cloneNode(!0),we=this.parentNode;return we?we.insertBefore(ue,this.nextSibling):ue}function pe(ue){return function(){var we=this.__on;if(we){for(var Bt,ht=0,Qe=-1,gt=we.length;ht=On&&(On=So+1);!(Lo=uo[On])&&++On=0;)($t=Qe[gt])&&(Bt&&4^$t.compareDocumentPosition(Bt)&&Bt.parentNode.insertBefore($t,Bt),Bt=$t);return this},sort:function ze(ue){function we(mt,Vt){return mt&&Vt?ue(mt.__data__,Vt.__data__):!mt-!Vt}ue||(ue=Je);for(var ht=this._groups,Qe=ht.length,gt=new Array(Qe),Bt=0;Bt1?this.each((null==we?pt:"function"==typeof we?qt:tn)(ue,we)):this.node()[ue]},classed:function Re(ue,we){var ht=In(ue+"");if(arguments.length<2){for(var Qe=no(this.node()),gt=-1,Bt=ht.length;++gt=0&&(ht=we.slice(Qe+1),we=we.slice(0,Qe)),{type:we,name:ht}})}(ue+""),Bt=Qe.length;if(!(arguments.length<2)){for(Gt=we?We:pe,gt=0;gt{"use strict";d.d(_,{S:()=>P,Z:()=>L});var s=d(7416);function m(R){return function(){this.style.removeProperty(R)}}function o(R,O,x){return function(){this.style.setProperty(R,O,x)}}function N(R,O,x){return function(){var D=O.apply(this,arguments);null==D?this.style.removeProperty(R):this.style.setProperty(R,D,x)}}function L(R,O,x){return arguments.length>1?this.each((null==O?m:"function"==typeof O?N:o)(R,O,x??"")):P(this.node(),R)}function P(R,O){return R.style.getPropertyValue(O)||(0,s.Z)(R).getComputedStyle(R,null).getPropertyValue(O)}},8692:(ve,_,d)=>{"use strict";function s(){}function m(o){return null==o?s:function(){return this.querySelector(o)}}d.d(_,{Z:()=>m})},2111:(ve,_,d)=>{"use strict";function s(){return[]}function m(o){return null==o?s:function(){return this.querySelectorAll(o)}}d.d(_,{Z:()=>m})},7416:(ve,_,d)=>{"use strict";function s(m){return m.ownerDocument&&m.ownerDocument.defaultView||m.document&&m||m.defaultView}d.d(_,{Z:()=>s})},8440:(ve,_,d)=>{"use strict";d.d(_,{d:()=>o}),d(2257),Symbol;class o{}},2257:(ve,_,d)=>{"use strict";d.d(_,{U:()=>m,i:()=>s});const s=()=>{},m=(o,N)=>o===N},8923:(ve,_,d)=>{"use strict";d.d(_,{Km:()=>F,dK:()=>j,ri:()=>V});var s=d(5879),m=d(8645),o=d(95),N=d(2257),R=d(7398),O=d(2181),x=d(7582);function D(K,ce,{get:ae,enumerable:oe,value:Z}){if(ae)return{enumerable:oe,get(){const q=ae.call(this);return Object.defineProperty(this,ce,{enumerable:oe,value:q}),q}};if("function"!=typeof Z)throw new Error("flPure can only be used with functions or getters");const J=Z;return{enumerable:oe,get(){let ie,q=[];const ge=(...Me)=>(q.length===Me.length&&Me.every((Se,Ae)=>Se===q[Ae])||(q=Me,ie=J.apply(this,Me)),ie);return Object.defineProperty(this,ce,{value:ge}),ge}}}let v=(()=>{class K{model=null;isDisabled=!1;onTouched=N.i;onChange=N.i;ngControl;changeDetectorRef;constructor(){this.ngControl=(0,s.f3M)(o.a5,{optional:!0,self:!0}),this.changeDetectorRef=(0,s.f3M)(s.sBO),this.ngControl&&(this.ngControl.valueAccessor=this)}get hasValue(){return function P(K){return function L(K){return null!=K&&("string"!=typeof K||""!==K)}(K)&&(Array.isArray(K)&&!!K.length||"string"==typeof K&&!!K.length||!["string"].includes(typeof K)&&!Array.isArray(K))}(this.model)}get disabled(){return this.computeDisabled()}set disabled(ae){this.setDisabledState(ae)}get nativeDisabled(){return!!this.disabled||null}computeDisabled(){return this.isDisabled}registerOnChange(ae){this.onChange=ae}registerOnTouched(ae){this.onTouched=ae}writeValue(ae){this.model!==ae&&this.update(ae)}writeValueFromHost(ae){this.model!==ae&&(this.update(ae),this.onChange(ae))}updateModel(ae){this.disabled||(this.model=ae,this.onChange(this.model),this.changeDetectorRef.markForCheck())}incomingUpdate(ae){}setDisabledState(ae){this.isDisabled=ae,this.changeDetectorRef.markForCheck()}update(ae){this.model=ae,this.incomingUpdate&&this.incomingUpdate(ae),this.changeDetectorRef.markForCheck()}static \u0275fac=function(oe){return new(oe||K)};static \u0275dir=s.lG2({type:K,hostVars:2,hostBindings:function(oe,Z){2&oe&&s.uIk("data-disabled",Z.disabled)("disabled",Z.nativeDisabled)},inputs:{disabled:"disabled"}})}return K})(),F=(()=>{class K extends v{host;requestUpdate=N.i;onControlChange=N.i;valueChange$=new m.x;constructor(ae){super(),this.host=ae}ngOnInit(){Promise.resolve().then(()=>this.host?.registerControl(this))}computeDisabled(){return super.computeDisabled()||!!this.host?.disabled}registerOnControlChange(ae){this.onControlChange=oe=>{ae(oe),this.valueChange$.next(oe)}}registerRequestUpdate(ae){this.requestUpdate=ae}get valueChange(){return this.valueChange$.asObservable()}updateModel(ae){this.disabled||(super.updateModel(ae),this.onControlChange(ae))}writeValue(ae){this.model!==ae&&(super.writeValue(ae),this.onControlChange(ae))}ngOnDestroy(){this.host?.unregisterControl(this)}static \u0275fac=function(oe){s.$Z()};static \u0275dir=s.lG2({type:K,features:[s.qOj]})}return K})(),j=(()=>{class K extends F{host;controls=new Set;updatesFrom=null;controlChange$=new m.x;constructor(ae){super(ae),this.host=ae}registerControl(ae){this.controls.add(ae),Promise.resolve().then(()=>{ae.writeValueFromHost(this.model)}),ae.registerOnControlChange(oe=>{this.model!==oe&&(this.updatesFrom=ae,this.updateModel(oe),this.incomingUpdate(oe),this.controlChange$.next([ae,oe]))}),ae.registerRequestUpdate(()=>{ae.writeValueFromHost(this.model)})}unregisterControl(ae){this.controls.delete(ae)}get controlChange(){return this.controlChange$.pipe((0,R.U)(([,ae])=>ae))}typedControlChange(ae){return this.controlChange$.pipe((0,O.h)(([oe])=>oe instanceof ae),(0,R.U)(([,oe])=>oe))}updateModel(ae){super.updateModel(ae),this.updateControls(this.model)}incomingUpdate(ae){this.updateControls(ae)}updateControls(ae){this.controls.forEach(oe=>{oe!==this.updatesFrom&&oe.writeValueFromHost(ae)}),this.updatesFrom=null}static \u0275fac=function(oe){s.$Z()};static \u0275dir=s.lG2({type:K,features:[s.qOj]})}return K})(),V=(()=>{class K extends F{compareHost;host;hasIntermediate;value=!0;constructor(ae,oe,Z){super(oe),this.compareHost=ae,this.host=oe,this.hasIntermediate=Z}ngOnChanges({value:ae}){ae&&this.requestUpdate()}select(){this.updateModel(this.value)}deselect(){this.updateModel(!1)}intermediate(){this.updateModel(null)}toggle(){this.updateModel(!1===this.checked&&this.value)}get isIntermediate(){return null===this.model&&!!this.hasIntermediate}get checked(){return!!this.compare(this.value,this.model)||!!this.isIntermediate&&null}compare(ae,oe){return this.compareHost?.compareFn(ae,oe)??(0,N.U)(ae,oe)}static \u0275fac=function(oe){s.$Z()};static \u0275dir=s.lG2({type:K,hostVars:2,hostBindings:function(oe,Z){2&oe&&s.uIk("data-intermediate",Z.isIntermediate)("data-checked",Z.checked)},inputs:{value:"value"},features:[s.qOj,s.TTD]})}return(0,x.__decorate)([D,(0,x.__metadata)("design:type",Function),(0,x.__metadata)("design:paramtypes",[Object,Object]),(0,x.__metadata)("design:returntype",Boolean)],K.prototype,"compare",null),K})()},386:(ve,_,d)=>{"use strict";d.d(_,{K:()=>m,N:()=>o});const m=new(d(5879).OlP)("FL_CONTROL_HOST");function o(N){return{provide:m,useExisting:N}}},5861:(ve,_,d)=>{"use strict";function s(o,N,L,P,R,O,x){try{var D=o[O](x),v=D.value}catch(F){return void L(F)}D.done?N(v):Promise.resolve(v).then(P,R)}function m(o){return function(){var N=this,L=arguments;return new Promise(function(P,R){var O=o.apply(N,L);function x(v){s(O,P,R,x,D,"next",v)}function D(v){s(O,P,R,x,D,"throw",v)}x(void 0)})}}d.d(_,{Z:()=>m})},7582:(ve,_,d)=>{"use strict";d.r(_),d.d(_,{__assign:()=>o,__asyncDelegator:()=>q,__asyncGenerator:()=>J,__asyncValues:()=>ie,__await:()=>Z,__awaiter:()=>F,__classPrivateFieldGet:()=>Fe,__classPrivateFieldIn:()=>Je,__classPrivateFieldSet:()=>ze,__createBinding:()=>V,__decorate:()=>L,__esDecorate:()=>R,__exportStar:()=>U,__extends:()=>m,__generator:()=>j,__importDefault:()=>Ae,__importStar:()=>Se,__makeTemplateObject:()=>ge,__metadata:()=>v,__param:()=>P,__propKey:()=>x,__read:()=>K,__rest:()=>N,__runInitializers:()=>O,__setFunctionName:()=>D,__spread:()=>ce,__spreadArray:()=>oe,__spreadArrays:()=>ae,__values:()=>G,default:()=>tt});var s=function(_e,Pe){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Ie,ye){Ie.__proto__=ye}||function(Ie,ye){for(var je in ye)Object.prototype.hasOwnProperty.call(ye,je)&&(Ie[je]=ye[je])})(_e,Pe)};function m(_e,Pe){if("function"!=typeof Pe&&null!==Pe)throw new TypeError("Class extends value "+String(Pe)+" is not a constructor or null");function Ie(){this.constructor=_e}s(_e,Pe),_e.prototype=null===Pe?Object.create(Pe):(Ie.prototype=Pe.prototype,new Ie)}var o=function(){return o=Object.assign||function(Pe){for(var Ie,ye=1,je=arguments.length;ye=0;ct--)(Le=_e[ct])&&(Ge=(je<3?Le(Ge):je>3?Le(Pe,Ie,Ge):Le(Pe,Ie))||Ge);return je>3&&Ge&&Object.defineProperty(Pe,Ie,Ge),Ge}function P(_e,Pe){return function(Ie,ye){Pe(Ie,ye,_e)}}function R(_e,Pe,Ie,ye,je,Ge){function Le(_n){if(void 0!==_n&&"function"!=typeof _n)throw new TypeError("Function expected");return _n}for(var it,ct=ye.kind,lt="getter"===ct?"get":"setter"===ct?"set":"value",rt=!Pe&&_e?ye.static?_e:_e.prototype:null,De=Pe||(rt?Object.getOwnPropertyDescriptor(rt,ye.name):{}),Ct=!1,jt=Ie.length-1;jt>=0;jt--){var pt={};for(var tn in ye)pt[tn]="access"===tn?{}:ye[tn];for(var tn in ye.access)pt.access[tn]=ye.access[tn];pt.addInitializer=function(_n){if(Ct)throw new TypeError("Cannot add initializers after decoration has completed");Ge.push(Le(_n||null))};var qt=(0,Ie[jt])("accessor"===ct?{get:De.get,set:De.set}:De[lt],pt);if("accessor"===ct){if(void 0===qt)continue;if(null===qt||"object"!=typeof qt)throw new TypeError("Object expected");(it=Le(qt.get))&&(De.get=it),(it=Le(qt.set))&&(De.set=it),(it=Le(qt.init))&&je.unshift(it)}else(it=Le(qt))&&("field"===ct?je.unshift(it):De[lt]=it)}rt&&Object.defineProperty(rt,ye.name,De),Ct=!0}function O(_e,Pe,Ie){for(var ye=arguments.length>2,je=0;je0&&Ge[Ge.length-1])&&(6===rt[0]||2===rt[0])){Ie=0;continue}if(3===rt[0]&&(!Ge||rt[1]>Ge[0]&&rt[1]=_e.length&&(_e=void 0),{value:_e&&_e[ye++],done:!_e}}};throw new TypeError(Pe?"Object is not iterable.":"Symbol.iterator is not defined.")}function K(_e,Pe){var Ie="function"==typeof Symbol&&_e[Symbol.iterator];if(!Ie)return _e;var je,Le,ye=Ie.call(_e),Ge=[];try{for(;(void 0===Pe||Pe-- >0)&&!(je=ye.next()).done;)Ge.push(je.value)}catch(ct){Le={error:ct}}finally{try{je&&!je.done&&(Ie=ye.return)&&Ie.call(ye)}finally{if(Le)throw Le.error}}return Ge}function ce(){for(var _e=[],Pe=0;Pe1||ct(Ct,jt)})})}function ct(Ct,jt){try{!function lt(Ct){Ct.value instanceof Z?Promise.resolve(Ct.value.v).then(rt,De):it(Ge[0][2],Ct)}(ye[Ct](jt))}catch(pt){it(Ge[0][3],pt)}}function rt(Ct){ct("next",Ct)}function De(Ct){ct("throw",Ct)}function it(Ct,jt){Ct(jt),Ge.shift(),Ge.length&&ct(Ge[0][0],Ge[0][1])}}function q(_e){var Pe,Ie;return Pe={},ye("next"),ye("throw",function(je){throw je}),ye("return"),Pe[Symbol.iterator]=function(){return this},Pe;function ye(je,Ge){Pe[je]=_e[je]?function(Le){return(Ie=!Ie)?{value:Z(_e[je](Le)),done:!1}:Ge?Ge(Le):Le}:Ge}}function ie(_e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var Ie,Pe=_e[Symbol.asyncIterator];return Pe?Pe.call(_e):(_e=G(_e),Ie={},ye("next"),ye("throw"),ye("return"),Ie[Symbol.asyncIterator]=function(){return this},Ie);function ye(Ge){Ie[Ge]=_e[Ge]&&function(Le){return new Promise(function(ct,lt){!function je(Ge,Le,ct,lt){Promise.resolve(lt).then(function(rt){Ge({value:rt,done:ct})},Le)}(ct,lt,(Le=_e[Ge](Le)).done,Le.value)})}}}function ge(_e,Pe){return Object.defineProperty?Object.defineProperty(_e,"raw",{value:Pe}):_e.raw=Pe,_e}var Me=Object.create?function(_e,Pe){Object.defineProperty(_e,"default",{enumerable:!0,value:Pe})}:function(_e,Pe){_e.default=Pe};function Se(_e){if(_e&&_e.__esModule)return _e;var Pe={};if(null!=_e)for(var Ie in _e)"default"!==Ie&&Object.prototype.hasOwnProperty.call(_e,Ie)&&V(Pe,_e,Ie);return Me(Pe,_e),Pe}function Ae(_e){return _e&&_e.__esModule?_e:{default:_e}}function Fe(_e,Pe,Ie,ye){if("a"===Ie&&!ye)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof Pe?_e!==Pe||!ye:!Pe.has(_e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===Ie?ye:"a"===Ie?ye.call(_e):ye?ye.value:Pe.get(_e)}function ze(_e,Pe,Ie,ye,je){if("m"===ye)throw new TypeError("Private method is not writable");if("a"===ye&&!je)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof Pe?_e!==Pe||!je:!Pe.has(_e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===ye?je.call(_e,Ie):je?je.value=Ie:Pe.set(_e,Ie),Ie}function Je(_e,Pe){if(null===Pe||"object"!=typeof Pe&&"function"!=typeof Pe)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof _e?Pe===_e:_e.has(Pe)}const tt={__extends:m,__assign:o,__rest:N,__decorate:L,__param:P,__metadata:v,__awaiter:F,__generator:j,__createBinding:V,__exportStar:U,__values:G,__read:K,__spread:ce,__spreadArrays:ae,__spreadArray:oe,__await:Z,__asyncGenerator:J,__asyncDelegator:q,__asyncValues:ie,__makeTemplateObject:ge,__importStar:Se,__importDefault:Ae,__classPrivateFieldGet:Fe,__classPrivateFieldSet:ze,__classPrivateFieldIn:Je}},1677:ve=>{"use strict";ve.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},3653:ve=>{"use strict";ve.exports=JSON.parse('{"Aacute":"\xc1","aacute":"\xe1","Abreve":"\u0102","abreve":"\u0103","ac":"\u223e","acd":"\u223f","acE":"\u223e\u0333","Acirc":"\xc2","acirc":"\xe2","acute":"\xb4","Acy":"\u0410","acy":"\u0430","AElig":"\xc6","aelig":"\xe6","af":"\u2061","Afr":"\u{1d504}","afr":"\u{1d51e}","Agrave":"\xc0","agrave":"\xe0","alefsym":"\u2135","aleph":"\u2135","Alpha":"\u0391","alpha":"\u03b1","Amacr":"\u0100","amacr":"\u0101","amalg":"\u2a3f","amp":"&","AMP":"&","andand":"\u2a55","And":"\u2a53","and":"\u2227","andd":"\u2a5c","andslope":"\u2a58","andv":"\u2a5a","ang":"\u2220","ange":"\u29a4","angle":"\u2220","angmsdaa":"\u29a8","angmsdab":"\u29a9","angmsdac":"\u29aa","angmsdad":"\u29ab","angmsdae":"\u29ac","angmsdaf":"\u29ad","angmsdag":"\u29ae","angmsdah":"\u29af","angmsd":"\u2221","angrt":"\u221f","angrtvb":"\u22be","angrtvbd":"\u299d","angsph":"\u2222","angst":"\xc5","angzarr":"\u237c","Aogon":"\u0104","aogon":"\u0105","Aopf":"\u{1d538}","aopf":"\u{1d552}","apacir":"\u2a6f","ap":"\u2248","apE":"\u2a70","ape":"\u224a","apid":"\u224b","apos":"\'","ApplyFunction":"\u2061","approx":"\u2248","approxeq":"\u224a","Aring":"\xc5","aring":"\xe5","Ascr":"\u{1d49c}","ascr":"\u{1d4b6}","Assign":"\u2254","ast":"*","asymp":"\u2248","asympeq":"\u224d","Atilde":"\xc3","atilde":"\xe3","Auml":"\xc4","auml":"\xe4","awconint":"\u2233","awint":"\u2a11","backcong":"\u224c","backepsilon":"\u03f6","backprime":"\u2035","backsim":"\u223d","backsimeq":"\u22cd","Backslash":"\u2216","Barv":"\u2ae7","barvee":"\u22bd","barwed":"\u2305","Barwed":"\u2306","barwedge":"\u2305","bbrk":"\u23b5","bbrktbrk":"\u23b6","bcong":"\u224c","Bcy":"\u0411","bcy":"\u0431","bdquo":"\u201e","becaus":"\u2235","because":"\u2235","Because":"\u2235","bemptyv":"\u29b0","bepsi":"\u03f6","bernou":"\u212c","Bernoullis":"\u212c","Beta":"\u0392","beta":"\u03b2","beth":"\u2136","between":"\u226c","Bfr":"\u{1d505}","bfr":"\u{1d51f}","bigcap":"\u22c2","bigcirc":"\u25ef","bigcup":"\u22c3","bigodot":"\u2a00","bigoplus":"\u2a01","bigotimes":"\u2a02","bigsqcup":"\u2a06","bigstar":"\u2605","bigtriangledown":"\u25bd","bigtriangleup":"\u25b3","biguplus":"\u2a04","bigvee":"\u22c1","bigwedge":"\u22c0","bkarow":"\u290d","blacklozenge":"\u29eb","blacksquare":"\u25aa","blacktriangle":"\u25b4","blacktriangledown":"\u25be","blacktriangleleft":"\u25c2","blacktriangleright":"\u25b8","blank":"\u2423","blk12":"\u2592","blk14":"\u2591","blk34":"\u2593","block":"\u2588","bne":"=\u20e5","bnequiv":"\u2261\u20e5","bNot":"\u2aed","bnot":"\u2310","Bopf":"\u{1d539}","bopf":"\u{1d553}","bot":"\u22a5","bottom":"\u22a5","bowtie":"\u22c8","boxbox":"\u29c9","boxdl":"\u2510","boxdL":"\u2555","boxDl":"\u2556","boxDL":"\u2557","boxdr":"\u250c","boxdR":"\u2552","boxDr":"\u2553","boxDR":"\u2554","boxh":"\u2500","boxH":"\u2550","boxhd":"\u252c","boxHd":"\u2564","boxhD":"\u2565","boxHD":"\u2566","boxhu":"\u2534","boxHu":"\u2567","boxhU":"\u2568","boxHU":"\u2569","boxminus":"\u229f","boxplus":"\u229e","boxtimes":"\u22a0","boxul":"\u2518","boxuL":"\u255b","boxUl":"\u255c","boxUL":"\u255d","boxur":"\u2514","boxuR":"\u2558","boxUr":"\u2559","boxUR":"\u255a","boxv":"\u2502","boxV":"\u2551","boxvh":"\u253c","boxvH":"\u256a","boxVh":"\u256b","boxVH":"\u256c","boxvl":"\u2524","boxvL":"\u2561","boxVl":"\u2562","boxVL":"\u2563","boxvr":"\u251c","boxvR":"\u255e","boxVr":"\u255f","boxVR":"\u2560","bprime":"\u2035","breve":"\u02d8","Breve":"\u02d8","brvbar":"\xa6","bscr":"\u{1d4b7}","Bscr":"\u212c","bsemi":"\u204f","bsim":"\u223d","bsime":"\u22cd","bsolb":"\u29c5","bsol":"\\\\","bsolhsub":"\u27c8","bull":"\u2022","bullet":"\u2022","bump":"\u224e","bumpE":"\u2aae","bumpe":"\u224f","Bumpeq":"\u224e","bumpeq":"\u224f","Cacute":"\u0106","cacute":"\u0107","capand":"\u2a44","capbrcup":"\u2a49","capcap":"\u2a4b","cap":"\u2229","Cap":"\u22d2","capcup":"\u2a47","capdot":"\u2a40","CapitalDifferentialD":"\u2145","caps":"\u2229\ufe00","caret":"\u2041","caron":"\u02c7","Cayleys":"\u212d","ccaps":"\u2a4d","Ccaron":"\u010c","ccaron":"\u010d","Ccedil":"\xc7","ccedil":"\xe7","Ccirc":"\u0108","ccirc":"\u0109","Cconint":"\u2230","ccups":"\u2a4c","ccupssm":"\u2a50","Cdot":"\u010a","cdot":"\u010b","cedil":"\xb8","Cedilla":"\xb8","cemptyv":"\u29b2","cent":"\xa2","centerdot":"\xb7","CenterDot":"\xb7","cfr":"\u{1d520}","Cfr":"\u212d","CHcy":"\u0427","chcy":"\u0447","check":"\u2713","checkmark":"\u2713","Chi":"\u03a7","chi":"\u03c7","circ":"\u02c6","circeq":"\u2257","circlearrowleft":"\u21ba","circlearrowright":"\u21bb","circledast":"\u229b","circledcirc":"\u229a","circleddash":"\u229d","CircleDot":"\u2299","circledR":"\xae","circledS":"\u24c8","CircleMinus":"\u2296","CirclePlus":"\u2295","CircleTimes":"\u2297","cir":"\u25cb","cirE":"\u29c3","cire":"\u2257","cirfnint":"\u2a10","cirmid":"\u2aef","cirscir":"\u29c2","ClockwiseContourIntegral":"\u2232","CloseCurlyDoubleQuote":"\u201d","CloseCurlyQuote":"\u2019","clubs":"\u2663","clubsuit":"\u2663","colon":":","Colon":"\u2237","Colone":"\u2a74","colone":"\u2254","coloneq":"\u2254","comma":",","commat":"@","comp":"\u2201","compfn":"\u2218","complement":"\u2201","complexes":"\u2102","cong":"\u2245","congdot":"\u2a6d","Congruent":"\u2261","conint":"\u222e","Conint":"\u222f","ContourIntegral":"\u222e","copf":"\u{1d554}","Copf":"\u2102","coprod":"\u2210","Coproduct":"\u2210","copy":"\xa9","COPY":"\xa9","copysr":"\u2117","CounterClockwiseContourIntegral":"\u2233","crarr":"\u21b5","cross":"\u2717","Cross":"\u2a2f","Cscr":"\u{1d49e}","cscr":"\u{1d4b8}","csub":"\u2acf","csube":"\u2ad1","csup":"\u2ad0","csupe":"\u2ad2","ctdot":"\u22ef","cudarrl":"\u2938","cudarrr":"\u2935","cuepr":"\u22de","cuesc":"\u22df","cularr":"\u21b6","cularrp":"\u293d","cupbrcap":"\u2a48","cupcap":"\u2a46","CupCap":"\u224d","cup":"\u222a","Cup":"\u22d3","cupcup":"\u2a4a","cupdot":"\u228d","cupor":"\u2a45","cups":"\u222a\ufe00","curarr":"\u21b7","curarrm":"\u293c","curlyeqprec":"\u22de","curlyeqsucc":"\u22df","curlyvee":"\u22ce","curlywedge":"\u22cf","curren":"\xa4","curvearrowleft":"\u21b6","curvearrowright":"\u21b7","cuvee":"\u22ce","cuwed":"\u22cf","cwconint":"\u2232","cwint":"\u2231","cylcty":"\u232d","dagger":"\u2020","Dagger":"\u2021","daleth":"\u2138","darr":"\u2193","Darr":"\u21a1","dArr":"\u21d3","dash":"\u2010","Dashv":"\u2ae4","dashv":"\u22a3","dbkarow":"\u290f","dblac":"\u02dd","Dcaron":"\u010e","dcaron":"\u010f","Dcy":"\u0414","dcy":"\u0434","ddagger":"\u2021","ddarr":"\u21ca","DD":"\u2145","dd":"\u2146","DDotrahd":"\u2911","ddotseq":"\u2a77","deg":"\xb0","Del":"\u2207","Delta":"\u0394","delta":"\u03b4","demptyv":"\u29b1","dfisht":"\u297f","Dfr":"\u{1d507}","dfr":"\u{1d521}","dHar":"\u2965","dharl":"\u21c3","dharr":"\u21c2","DiacriticalAcute":"\xb4","DiacriticalDot":"\u02d9","DiacriticalDoubleAcute":"\u02dd","DiacriticalGrave":"`","DiacriticalTilde":"\u02dc","diam":"\u22c4","diamond":"\u22c4","Diamond":"\u22c4","diamondsuit":"\u2666","diams":"\u2666","die":"\xa8","DifferentialD":"\u2146","digamma":"\u03dd","disin":"\u22f2","div":"\xf7","divide":"\xf7","divideontimes":"\u22c7","divonx":"\u22c7","DJcy":"\u0402","djcy":"\u0452","dlcorn":"\u231e","dlcrop":"\u230d","dollar":"$","Dopf":"\u{1d53b}","dopf":"\u{1d555}","Dot":"\xa8","dot":"\u02d9","DotDot":"\u20dc","doteq":"\u2250","doteqdot":"\u2251","DotEqual":"\u2250","dotminus":"\u2238","dotplus":"\u2214","dotsquare":"\u22a1","doublebarwedge":"\u2306","DoubleContourIntegral":"\u222f","DoubleDot":"\xa8","DoubleDownArrow":"\u21d3","DoubleLeftArrow":"\u21d0","DoubleLeftRightArrow":"\u21d4","DoubleLeftTee":"\u2ae4","DoubleLongLeftArrow":"\u27f8","DoubleLongLeftRightArrow":"\u27fa","DoubleLongRightArrow":"\u27f9","DoubleRightArrow":"\u21d2","DoubleRightTee":"\u22a8","DoubleUpArrow":"\u21d1","DoubleUpDownArrow":"\u21d5","DoubleVerticalBar":"\u2225","DownArrowBar":"\u2913","downarrow":"\u2193","DownArrow":"\u2193","Downarrow":"\u21d3","DownArrowUpArrow":"\u21f5","DownBreve":"\u0311","downdownarrows":"\u21ca","downharpoonleft":"\u21c3","downharpoonright":"\u21c2","DownLeftRightVector":"\u2950","DownLeftTeeVector":"\u295e","DownLeftVectorBar":"\u2956","DownLeftVector":"\u21bd","DownRightTeeVector":"\u295f","DownRightVectorBar":"\u2957","DownRightVector":"\u21c1","DownTeeArrow":"\u21a7","DownTee":"\u22a4","drbkarow":"\u2910","drcorn":"\u231f","drcrop":"\u230c","Dscr":"\u{1d49f}","dscr":"\u{1d4b9}","DScy":"\u0405","dscy":"\u0455","dsol":"\u29f6","Dstrok":"\u0110","dstrok":"\u0111","dtdot":"\u22f1","dtri":"\u25bf","dtrif":"\u25be","duarr":"\u21f5","duhar":"\u296f","dwangle":"\u29a6","DZcy":"\u040f","dzcy":"\u045f","dzigrarr":"\u27ff","Eacute":"\xc9","eacute":"\xe9","easter":"\u2a6e","Ecaron":"\u011a","ecaron":"\u011b","Ecirc":"\xca","ecirc":"\xea","ecir":"\u2256","ecolon":"\u2255","Ecy":"\u042d","ecy":"\u044d","eDDot":"\u2a77","Edot":"\u0116","edot":"\u0117","eDot":"\u2251","ee":"\u2147","efDot":"\u2252","Efr":"\u{1d508}","efr":"\u{1d522}","eg":"\u2a9a","Egrave":"\xc8","egrave":"\xe8","egs":"\u2a96","egsdot":"\u2a98","el":"\u2a99","Element":"\u2208","elinters":"\u23e7","ell":"\u2113","els":"\u2a95","elsdot":"\u2a97","Emacr":"\u0112","emacr":"\u0113","empty":"\u2205","emptyset":"\u2205","EmptySmallSquare":"\u25fb","emptyv":"\u2205","EmptyVerySmallSquare":"\u25ab","emsp13":"\u2004","emsp14":"\u2005","emsp":"\u2003","ENG":"\u014a","eng":"\u014b","ensp":"\u2002","Eogon":"\u0118","eogon":"\u0119","Eopf":"\u{1d53c}","eopf":"\u{1d556}","epar":"\u22d5","eparsl":"\u29e3","eplus":"\u2a71","epsi":"\u03b5","Epsilon":"\u0395","epsilon":"\u03b5","epsiv":"\u03f5","eqcirc":"\u2256","eqcolon":"\u2255","eqsim":"\u2242","eqslantgtr":"\u2a96","eqslantless":"\u2a95","Equal":"\u2a75","equals":"=","EqualTilde":"\u2242","equest":"\u225f","Equilibrium":"\u21cc","equiv":"\u2261","equivDD":"\u2a78","eqvparsl":"\u29e5","erarr":"\u2971","erDot":"\u2253","escr":"\u212f","Escr":"\u2130","esdot":"\u2250","Esim":"\u2a73","esim":"\u2242","Eta":"\u0397","eta":"\u03b7","ETH":"\xd0","eth":"\xf0","Euml":"\xcb","euml":"\xeb","euro":"\u20ac","excl":"!","exist":"\u2203","Exists":"\u2203","expectation":"\u2130","exponentiale":"\u2147","ExponentialE":"\u2147","fallingdotseq":"\u2252","Fcy":"\u0424","fcy":"\u0444","female":"\u2640","ffilig":"\ufb03","fflig":"\ufb00","ffllig":"\ufb04","Ffr":"\u{1d509}","ffr":"\u{1d523}","filig":"\ufb01","FilledSmallSquare":"\u25fc","FilledVerySmallSquare":"\u25aa","fjlig":"fj","flat":"\u266d","fllig":"\ufb02","fltns":"\u25b1","fnof":"\u0192","Fopf":"\u{1d53d}","fopf":"\u{1d557}","forall":"\u2200","ForAll":"\u2200","fork":"\u22d4","forkv":"\u2ad9","Fouriertrf":"\u2131","fpartint":"\u2a0d","frac12":"\xbd","frac13":"\u2153","frac14":"\xbc","frac15":"\u2155","frac16":"\u2159","frac18":"\u215b","frac23":"\u2154","frac25":"\u2156","frac34":"\xbe","frac35":"\u2157","frac38":"\u215c","frac45":"\u2158","frac56":"\u215a","frac58":"\u215d","frac78":"\u215e","frasl":"\u2044","frown":"\u2322","fscr":"\u{1d4bb}","Fscr":"\u2131","gacute":"\u01f5","Gamma":"\u0393","gamma":"\u03b3","Gammad":"\u03dc","gammad":"\u03dd","gap":"\u2a86","Gbreve":"\u011e","gbreve":"\u011f","Gcedil":"\u0122","Gcirc":"\u011c","gcirc":"\u011d","Gcy":"\u0413","gcy":"\u0433","Gdot":"\u0120","gdot":"\u0121","ge":"\u2265","gE":"\u2267","gEl":"\u2a8c","gel":"\u22db","geq":"\u2265","geqq":"\u2267","geqslant":"\u2a7e","gescc":"\u2aa9","ges":"\u2a7e","gesdot":"\u2a80","gesdoto":"\u2a82","gesdotol":"\u2a84","gesl":"\u22db\ufe00","gesles":"\u2a94","Gfr":"\u{1d50a}","gfr":"\u{1d524}","gg":"\u226b","Gg":"\u22d9","ggg":"\u22d9","gimel":"\u2137","GJcy":"\u0403","gjcy":"\u0453","gla":"\u2aa5","gl":"\u2277","glE":"\u2a92","glj":"\u2aa4","gnap":"\u2a8a","gnapprox":"\u2a8a","gne":"\u2a88","gnE":"\u2269","gneq":"\u2a88","gneqq":"\u2269","gnsim":"\u22e7","Gopf":"\u{1d53e}","gopf":"\u{1d558}","grave":"`","GreaterEqual":"\u2265","GreaterEqualLess":"\u22db","GreaterFullEqual":"\u2267","GreaterGreater":"\u2aa2","GreaterLess":"\u2277","GreaterSlantEqual":"\u2a7e","GreaterTilde":"\u2273","Gscr":"\u{1d4a2}","gscr":"\u210a","gsim":"\u2273","gsime":"\u2a8e","gsiml":"\u2a90","gtcc":"\u2aa7","gtcir":"\u2a7a","gt":">","GT":">","Gt":"\u226b","gtdot":"\u22d7","gtlPar":"\u2995","gtquest":"\u2a7c","gtrapprox":"\u2a86","gtrarr":"\u2978","gtrdot":"\u22d7","gtreqless":"\u22db","gtreqqless":"\u2a8c","gtrless":"\u2277","gtrsim":"\u2273","gvertneqq":"\u2269\ufe00","gvnE":"\u2269\ufe00","Hacek":"\u02c7","hairsp":"\u200a","half":"\xbd","hamilt":"\u210b","HARDcy":"\u042a","hardcy":"\u044a","harrcir":"\u2948","harr":"\u2194","hArr":"\u21d4","harrw":"\u21ad","Hat":"^","hbar":"\u210f","Hcirc":"\u0124","hcirc":"\u0125","hearts":"\u2665","heartsuit":"\u2665","hellip":"\u2026","hercon":"\u22b9","hfr":"\u{1d525}","Hfr":"\u210c","HilbertSpace":"\u210b","hksearow":"\u2925","hkswarow":"\u2926","hoarr":"\u21ff","homtht":"\u223b","hookleftarrow":"\u21a9","hookrightarrow":"\u21aa","hopf":"\u{1d559}","Hopf":"\u210d","horbar":"\u2015","HorizontalLine":"\u2500","hscr":"\u{1d4bd}","Hscr":"\u210b","hslash":"\u210f","Hstrok":"\u0126","hstrok":"\u0127","HumpDownHump":"\u224e","HumpEqual":"\u224f","hybull":"\u2043","hyphen":"\u2010","Iacute":"\xcd","iacute":"\xed","ic":"\u2063","Icirc":"\xce","icirc":"\xee","Icy":"\u0418","icy":"\u0438","Idot":"\u0130","IEcy":"\u0415","iecy":"\u0435","iexcl":"\xa1","iff":"\u21d4","ifr":"\u{1d526}","Ifr":"\u2111","Igrave":"\xcc","igrave":"\xec","ii":"\u2148","iiiint":"\u2a0c","iiint":"\u222d","iinfin":"\u29dc","iiota":"\u2129","IJlig":"\u0132","ijlig":"\u0133","Imacr":"\u012a","imacr":"\u012b","image":"\u2111","ImaginaryI":"\u2148","imagline":"\u2110","imagpart":"\u2111","imath":"\u0131","Im":"\u2111","imof":"\u22b7","imped":"\u01b5","Implies":"\u21d2","incare":"\u2105","in":"\u2208","infin":"\u221e","infintie":"\u29dd","inodot":"\u0131","intcal":"\u22ba","int":"\u222b","Int":"\u222c","integers":"\u2124","Integral":"\u222b","intercal":"\u22ba","Intersection":"\u22c2","intlarhk":"\u2a17","intprod":"\u2a3c","InvisibleComma":"\u2063","InvisibleTimes":"\u2062","IOcy":"\u0401","iocy":"\u0451","Iogon":"\u012e","iogon":"\u012f","Iopf":"\u{1d540}","iopf":"\u{1d55a}","Iota":"\u0399","iota":"\u03b9","iprod":"\u2a3c","iquest":"\xbf","iscr":"\u{1d4be}","Iscr":"\u2110","isin":"\u2208","isindot":"\u22f5","isinE":"\u22f9","isins":"\u22f4","isinsv":"\u22f3","isinv":"\u2208","it":"\u2062","Itilde":"\u0128","itilde":"\u0129","Iukcy":"\u0406","iukcy":"\u0456","Iuml":"\xcf","iuml":"\xef","Jcirc":"\u0134","jcirc":"\u0135","Jcy":"\u0419","jcy":"\u0439","Jfr":"\u{1d50d}","jfr":"\u{1d527}","jmath":"\u0237","Jopf":"\u{1d541}","jopf":"\u{1d55b}","Jscr":"\u{1d4a5}","jscr":"\u{1d4bf}","Jsercy":"\u0408","jsercy":"\u0458","Jukcy":"\u0404","jukcy":"\u0454","Kappa":"\u039a","kappa":"\u03ba","kappav":"\u03f0","Kcedil":"\u0136","kcedil":"\u0137","Kcy":"\u041a","kcy":"\u043a","Kfr":"\u{1d50e}","kfr":"\u{1d528}","kgreen":"\u0138","KHcy":"\u0425","khcy":"\u0445","KJcy":"\u040c","kjcy":"\u045c","Kopf":"\u{1d542}","kopf":"\u{1d55c}","Kscr":"\u{1d4a6}","kscr":"\u{1d4c0}","lAarr":"\u21da","Lacute":"\u0139","lacute":"\u013a","laemptyv":"\u29b4","lagran":"\u2112","Lambda":"\u039b","lambda":"\u03bb","lang":"\u27e8","Lang":"\u27ea","langd":"\u2991","langle":"\u27e8","lap":"\u2a85","Laplacetrf":"\u2112","laquo":"\xab","larrb":"\u21e4","larrbfs":"\u291f","larr":"\u2190","Larr":"\u219e","lArr":"\u21d0","larrfs":"\u291d","larrhk":"\u21a9","larrlp":"\u21ab","larrpl":"\u2939","larrsim":"\u2973","larrtl":"\u21a2","latail":"\u2919","lAtail":"\u291b","lat":"\u2aab","late":"\u2aad","lates":"\u2aad\ufe00","lbarr":"\u290c","lBarr":"\u290e","lbbrk":"\u2772","lbrace":"{","lbrack":"[","lbrke":"\u298b","lbrksld":"\u298f","lbrkslu":"\u298d","Lcaron":"\u013d","lcaron":"\u013e","Lcedil":"\u013b","lcedil":"\u013c","lceil":"\u2308","lcub":"{","Lcy":"\u041b","lcy":"\u043b","ldca":"\u2936","ldquo":"\u201c","ldquor":"\u201e","ldrdhar":"\u2967","ldrushar":"\u294b","ldsh":"\u21b2","le":"\u2264","lE":"\u2266","LeftAngleBracket":"\u27e8","LeftArrowBar":"\u21e4","leftarrow":"\u2190","LeftArrow":"\u2190","Leftarrow":"\u21d0","LeftArrowRightArrow":"\u21c6","leftarrowtail":"\u21a2","LeftCeiling":"\u2308","LeftDoubleBracket":"\u27e6","LeftDownTeeVector":"\u2961","LeftDownVectorBar":"\u2959","LeftDownVector":"\u21c3","LeftFloor":"\u230a","leftharpoondown":"\u21bd","leftharpoonup":"\u21bc","leftleftarrows":"\u21c7","leftrightarrow":"\u2194","LeftRightArrow":"\u2194","Leftrightarrow":"\u21d4","leftrightarrows":"\u21c6","leftrightharpoons":"\u21cb","leftrightsquigarrow":"\u21ad","LeftRightVector":"\u294e","LeftTeeArrow":"\u21a4","LeftTee":"\u22a3","LeftTeeVector":"\u295a","leftthreetimes":"\u22cb","LeftTriangleBar":"\u29cf","LeftTriangle":"\u22b2","LeftTriangleEqual":"\u22b4","LeftUpDownVector":"\u2951","LeftUpTeeVector":"\u2960","LeftUpVectorBar":"\u2958","LeftUpVector":"\u21bf","LeftVectorBar":"\u2952","LeftVector":"\u21bc","lEg":"\u2a8b","leg":"\u22da","leq":"\u2264","leqq":"\u2266","leqslant":"\u2a7d","lescc":"\u2aa8","les":"\u2a7d","lesdot":"\u2a7f","lesdoto":"\u2a81","lesdotor":"\u2a83","lesg":"\u22da\ufe00","lesges":"\u2a93","lessapprox":"\u2a85","lessdot":"\u22d6","lesseqgtr":"\u22da","lesseqqgtr":"\u2a8b","LessEqualGreater":"\u22da","LessFullEqual":"\u2266","LessGreater":"\u2276","lessgtr":"\u2276","LessLess":"\u2aa1","lesssim":"\u2272","LessSlantEqual":"\u2a7d","LessTilde":"\u2272","lfisht":"\u297c","lfloor":"\u230a","Lfr":"\u{1d50f}","lfr":"\u{1d529}","lg":"\u2276","lgE":"\u2a91","lHar":"\u2962","lhard":"\u21bd","lharu":"\u21bc","lharul":"\u296a","lhblk":"\u2584","LJcy":"\u0409","ljcy":"\u0459","llarr":"\u21c7","ll":"\u226a","Ll":"\u22d8","llcorner":"\u231e","Lleftarrow":"\u21da","llhard":"\u296b","lltri":"\u25fa","Lmidot":"\u013f","lmidot":"\u0140","lmoustache":"\u23b0","lmoust":"\u23b0","lnap":"\u2a89","lnapprox":"\u2a89","lne":"\u2a87","lnE":"\u2268","lneq":"\u2a87","lneqq":"\u2268","lnsim":"\u22e6","loang":"\u27ec","loarr":"\u21fd","lobrk":"\u27e6","longleftarrow":"\u27f5","LongLeftArrow":"\u27f5","Longleftarrow":"\u27f8","longleftrightarrow":"\u27f7","LongLeftRightArrow":"\u27f7","Longleftrightarrow":"\u27fa","longmapsto":"\u27fc","longrightarrow":"\u27f6","LongRightArrow":"\u27f6","Longrightarrow":"\u27f9","looparrowleft":"\u21ab","looparrowright":"\u21ac","lopar":"\u2985","Lopf":"\u{1d543}","lopf":"\u{1d55d}","loplus":"\u2a2d","lotimes":"\u2a34","lowast":"\u2217","lowbar":"_","LowerLeftArrow":"\u2199","LowerRightArrow":"\u2198","loz":"\u25ca","lozenge":"\u25ca","lozf":"\u29eb","lpar":"(","lparlt":"\u2993","lrarr":"\u21c6","lrcorner":"\u231f","lrhar":"\u21cb","lrhard":"\u296d","lrm":"\u200e","lrtri":"\u22bf","lsaquo":"\u2039","lscr":"\u{1d4c1}","Lscr":"\u2112","lsh":"\u21b0","Lsh":"\u21b0","lsim":"\u2272","lsime":"\u2a8d","lsimg":"\u2a8f","lsqb":"[","lsquo":"\u2018","lsquor":"\u201a","Lstrok":"\u0141","lstrok":"\u0142","ltcc":"\u2aa6","ltcir":"\u2a79","lt":"<","LT":"<","Lt":"\u226a","ltdot":"\u22d6","lthree":"\u22cb","ltimes":"\u22c9","ltlarr":"\u2976","ltquest":"\u2a7b","ltri":"\u25c3","ltrie":"\u22b4","ltrif":"\u25c2","ltrPar":"\u2996","lurdshar":"\u294a","luruhar":"\u2966","lvertneqq":"\u2268\ufe00","lvnE":"\u2268\ufe00","macr":"\xaf","male":"\u2642","malt":"\u2720","maltese":"\u2720","Map":"\u2905","map":"\u21a6","mapsto":"\u21a6","mapstodown":"\u21a7","mapstoleft":"\u21a4","mapstoup":"\u21a5","marker":"\u25ae","mcomma":"\u2a29","Mcy":"\u041c","mcy":"\u043c","mdash":"\u2014","mDDot":"\u223a","measuredangle":"\u2221","MediumSpace":"\u205f","Mellintrf":"\u2133","Mfr":"\u{1d510}","mfr":"\u{1d52a}","mho":"\u2127","micro":"\xb5","midast":"*","midcir":"\u2af0","mid":"\u2223","middot":"\xb7","minusb":"\u229f","minus":"\u2212","minusd":"\u2238","minusdu":"\u2a2a","MinusPlus":"\u2213","mlcp":"\u2adb","mldr":"\u2026","mnplus":"\u2213","models":"\u22a7","Mopf":"\u{1d544}","mopf":"\u{1d55e}","mp":"\u2213","mscr":"\u{1d4c2}","Mscr":"\u2133","mstpos":"\u223e","Mu":"\u039c","mu":"\u03bc","multimap":"\u22b8","mumap":"\u22b8","nabla":"\u2207","Nacute":"\u0143","nacute":"\u0144","nang":"\u2220\u20d2","nap":"\u2249","napE":"\u2a70\u0338","napid":"\u224b\u0338","napos":"\u0149","napprox":"\u2249","natural":"\u266e","naturals":"\u2115","natur":"\u266e","nbsp":"\xa0","nbump":"\u224e\u0338","nbumpe":"\u224f\u0338","ncap":"\u2a43","Ncaron":"\u0147","ncaron":"\u0148","Ncedil":"\u0145","ncedil":"\u0146","ncong":"\u2247","ncongdot":"\u2a6d\u0338","ncup":"\u2a42","Ncy":"\u041d","ncy":"\u043d","ndash":"\u2013","nearhk":"\u2924","nearr":"\u2197","neArr":"\u21d7","nearrow":"\u2197","ne":"\u2260","nedot":"\u2250\u0338","NegativeMediumSpace":"\u200b","NegativeThickSpace":"\u200b","NegativeThinSpace":"\u200b","NegativeVeryThinSpace":"\u200b","nequiv":"\u2262","nesear":"\u2928","nesim":"\u2242\u0338","NestedGreaterGreater":"\u226b","NestedLessLess":"\u226a","NewLine":"\\n","nexist":"\u2204","nexists":"\u2204","Nfr":"\u{1d511}","nfr":"\u{1d52b}","ngE":"\u2267\u0338","nge":"\u2271","ngeq":"\u2271","ngeqq":"\u2267\u0338","ngeqslant":"\u2a7e\u0338","nges":"\u2a7e\u0338","nGg":"\u22d9\u0338","ngsim":"\u2275","nGt":"\u226b\u20d2","ngt":"\u226f","ngtr":"\u226f","nGtv":"\u226b\u0338","nharr":"\u21ae","nhArr":"\u21ce","nhpar":"\u2af2","ni":"\u220b","nis":"\u22fc","nisd":"\u22fa","niv":"\u220b","NJcy":"\u040a","njcy":"\u045a","nlarr":"\u219a","nlArr":"\u21cd","nldr":"\u2025","nlE":"\u2266\u0338","nle":"\u2270","nleftarrow":"\u219a","nLeftarrow":"\u21cd","nleftrightarrow":"\u21ae","nLeftrightarrow":"\u21ce","nleq":"\u2270","nleqq":"\u2266\u0338","nleqslant":"\u2a7d\u0338","nles":"\u2a7d\u0338","nless":"\u226e","nLl":"\u22d8\u0338","nlsim":"\u2274","nLt":"\u226a\u20d2","nlt":"\u226e","nltri":"\u22ea","nltrie":"\u22ec","nLtv":"\u226a\u0338","nmid":"\u2224","NoBreak":"\u2060","NonBreakingSpace":"\xa0","nopf":"\u{1d55f}","Nopf":"\u2115","Not":"\u2aec","not":"\xac","NotCongruent":"\u2262","NotCupCap":"\u226d","NotDoubleVerticalBar":"\u2226","NotElement":"\u2209","NotEqual":"\u2260","NotEqualTilde":"\u2242\u0338","NotExists":"\u2204","NotGreater":"\u226f","NotGreaterEqual":"\u2271","NotGreaterFullEqual":"\u2267\u0338","NotGreaterGreater":"\u226b\u0338","NotGreaterLess":"\u2279","NotGreaterSlantEqual":"\u2a7e\u0338","NotGreaterTilde":"\u2275","NotHumpDownHump":"\u224e\u0338","NotHumpEqual":"\u224f\u0338","notin":"\u2209","notindot":"\u22f5\u0338","notinE":"\u22f9\u0338","notinva":"\u2209","notinvb":"\u22f7","notinvc":"\u22f6","NotLeftTriangleBar":"\u29cf\u0338","NotLeftTriangle":"\u22ea","NotLeftTriangleEqual":"\u22ec","NotLess":"\u226e","NotLessEqual":"\u2270","NotLessGreater":"\u2278","NotLessLess":"\u226a\u0338","NotLessSlantEqual":"\u2a7d\u0338","NotLessTilde":"\u2274","NotNestedGreaterGreater":"\u2aa2\u0338","NotNestedLessLess":"\u2aa1\u0338","notni":"\u220c","notniva":"\u220c","notnivb":"\u22fe","notnivc":"\u22fd","NotPrecedes":"\u2280","NotPrecedesEqual":"\u2aaf\u0338","NotPrecedesSlantEqual":"\u22e0","NotReverseElement":"\u220c","NotRightTriangleBar":"\u29d0\u0338","NotRightTriangle":"\u22eb","NotRightTriangleEqual":"\u22ed","NotSquareSubset":"\u228f\u0338","NotSquareSubsetEqual":"\u22e2","NotSquareSuperset":"\u2290\u0338","NotSquareSupersetEqual":"\u22e3","NotSubset":"\u2282\u20d2","NotSubsetEqual":"\u2288","NotSucceeds":"\u2281","NotSucceedsEqual":"\u2ab0\u0338","NotSucceedsSlantEqual":"\u22e1","NotSucceedsTilde":"\u227f\u0338","NotSuperset":"\u2283\u20d2","NotSupersetEqual":"\u2289","NotTilde":"\u2241","NotTildeEqual":"\u2244","NotTildeFullEqual":"\u2247","NotTildeTilde":"\u2249","NotVerticalBar":"\u2224","nparallel":"\u2226","npar":"\u2226","nparsl":"\u2afd\u20e5","npart":"\u2202\u0338","npolint":"\u2a14","npr":"\u2280","nprcue":"\u22e0","nprec":"\u2280","npreceq":"\u2aaf\u0338","npre":"\u2aaf\u0338","nrarrc":"\u2933\u0338","nrarr":"\u219b","nrArr":"\u21cf","nrarrw":"\u219d\u0338","nrightarrow":"\u219b","nRightarrow":"\u21cf","nrtri":"\u22eb","nrtrie":"\u22ed","nsc":"\u2281","nsccue":"\u22e1","nsce":"\u2ab0\u0338","Nscr":"\u{1d4a9}","nscr":"\u{1d4c3}","nshortmid":"\u2224","nshortparallel":"\u2226","nsim":"\u2241","nsime":"\u2244","nsimeq":"\u2244","nsmid":"\u2224","nspar":"\u2226","nsqsube":"\u22e2","nsqsupe":"\u22e3","nsub":"\u2284","nsubE":"\u2ac5\u0338","nsube":"\u2288","nsubset":"\u2282\u20d2","nsubseteq":"\u2288","nsubseteqq":"\u2ac5\u0338","nsucc":"\u2281","nsucceq":"\u2ab0\u0338","nsup":"\u2285","nsupE":"\u2ac6\u0338","nsupe":"\u2289","nsupset":"\u2283\u20d2","nsupseteq":"\u2289","nsupseteqq":"\u2ac6\u0338","ntgl":"\u2279","Ntilde":"\xd1","ntilde":"\xf1","ntlg":"\u2278","ntriangleleft":"\u22ea","ntrianglelefteq":"\u22ec","ntriangleright":"\u22eb","ntrianglerighteq":"\u22ed","Nu":"\u039d","nu":"\u03bd","num":"#","numero":"\u2116","numsp":"\u2007","nvap":"\u224d\u20d2","nvdash":"\u22ac","nvDash":"\u22ad","nVdash":"\u22ae","nVDash":"\u22af","nvge":"\u2265\u20d2","nvgt":">\u20d2","nvHarr":"\u2904","nvinfin":"\u29de","nvlArr":"\u2902","nvle":"\u2264\u20d2","nvlt":"<\u20d2","nvltrie":"\u22b4\u20d2","nvrArr":"\u2903","nvrtrie":"\u22b5\u20d2","nvsim":"\u223c\u20d2","nwarhk":"\u2923","nwarr":"\u2196","nwArr":"\u21d6","nwarrow":"\u2196","nwnear":"\u2927","Oacute":"\xd3","oacute":"\xf3","oast":"\u229b","Ocirc":"\xd4","ocirc":"\xf4","ocir":"\u229a","Ocy":"\u041e","ocy":"\u043e","odash":"\u229d","Odblac":"\u0150","odblac":"\u0151","odiv":"\u2a38","odot":"\u2299","odsold":"\u29bc","OElig":"\u0152","oelig":"\u0153","ofcir":"\u29bf","Ofr":"\u{1d512}","ofr":"\u{1d52c}","ogon":"\u02db","Ograve":"\xd2","ograve":"\xf2","ogt":"\u29c1","ohbar":"\u29b5","ohm":"\u03a9","oint":"\u222e","olarr":"\u21ba","olcir":"\u29be","olcross":"\u29bb","oline":"\u203e","olt":"\u29c0","Omacr":"\u014c","omacr":"\u014d","Omega":"\u03a9","omega":"\u03c9","Omicron":"\u039f","omicron":"\u03bf","omid":"\u29b6","ominus":"\u2296","Oopf":"\u{1d546}","oopf":"\u{1d560}","opar":"\u29b7","OpenCurlyDoubleQuote":"\u201c","OpenCurlyQuote":"\u2018","operp":"\u29b9","oplus":"\u2295","orarr":"\u21bb","Or":"\u2a54","or":"\u2228","ord":"\u2a5d","order":"\u2134","orderof":"\u2134","ordf":"\xaa","ordm":"\xba","origof":"\u22b6","oror":"\u2a56","orslope":"\u2a57","orv":"\u2a5b","oS":"\u24c8","Oscr":"\u{1d4aa}","oscr":"\u2134","Oslash":"\xd8","oslash":"\xf8","osol":"\u2298","Otilde":"\xd5","otilde":"\xf5","otimesas":"\u2a36","Otimes":"\u2a37","otimes":"\u2297","Ouml":"\xd6","ouml":"\xf6","ovbar":"\u233d","OverBar":"\u203e","OverBrace":"\u23de","OverBracket":"\u23b4","OverParenthesis":"\u23dc","para":"\xb6","parallel":"\u2225","par":"\u2225","parsim":"\u2af3","parsl":"\u2afd","part":"\u2202","PartialD":"\u2202","Pcy":"\u041f","pcy":"\u043f","percnt":"%","period":".","permil":"\u2030","perp":"\u22a5","pertenk":"\u2031","Pfr":"\u{1d513}","pfr":"\u{1d52d}","Phi":"\u03a6","phi":"\u03c6","phiv":"\u03d5","phmmat":"\u2133","phone":"\u260e","Pi":"\u03a0","pi":"\u03c0","pitchfork":"\u22d4","piv":"\u03d6","planck":"\u210f","planckh":"\u210e","plankv":"\u210f","plusacir":"\u2a23","plusb":"\u229e","pluscir":"\u2a22","plus":"+","plusdo":"\u2214","plusdu":"\u2a25","pluse":"\u2a72","PlusMinus":"\xb1","plusmn":"\xb1","plussim":"\u2a26","plustwo":"\u2a27","pm":"\xb1","Poincareplane":"\u210c","pointint":"\u2a15","popf":"\u{1d561}","Popf":"\u2119","pound":"\xa3","prap":"\u2ab7","Pr":"\u2abb","pr":"\u227a","prcue":"\u227c","precapprox":"\u2ab7","prec":"\u227a","preccurlyeq":"\u227c","Precedes":"\u227a","PrecedesEqual":"\u2aaf","PrecedesSlantEqual":"\u227c","PrecedesTilde":"\u227e","preceq":"\u2aaf","precnapprox":"\u2ab9","precneqq":"\u2ab5","precnsim":"\u22e8","pre":"\u2aaf","prE":"\u2ab3","precsim":"\u227e","prime":"\u2032","Prime":"\u2033","primes":"\u2119","prnap":"\u2ab9","prnE":"\u2ab5","prnsim":"\u22e8","prod":"\u220f","Product":"\u220f","profalar":"\u232e","profline":"\u2312","profsurf":"\u2313","prop":"\u221d","Proportional":"\u221d","Proportion":"\u2237","propto":"\u221d","prsim":"\u227e","prurel":"\u22b0","Pscr":"\u{1d4ab}","pscr":"\u{1d4c5}","Psi":"\u03a8","psi":"\u03c8","puncsp":"\u2008","Qfr":"\u{1d514}","qfr":"\u{1d52e}","qint":"\u2a0c","qopf":"\u{1d562}","Qopf":"\u211a","qprime":"\u2057","Qscr":"\u{1d4ac}","qscr":"\u{1d4c6}","quaternions":"\u210d","quatint":"\u2a16","quest":"?","questeq":"\u225f","quot":"\\"","QUOT":"\\"","rAarr":"\u21db","race":"\u223d\u0331","Racute":"\u0154","racute":"\u0155","radic":"\u221a","raemptyv":"\u29b3","rang":"\u27e9","Rang":"\u27eb","rangd":"\u2992","range":"\u29a5","rangle":"\u27e9","raquo":"\xbb","rarrap":"\u2975","rarrb":"\u21e5","rarrbfs":"\u2920","rarrc":"\u2933","rarr":"\u2192","Rarr":"\u21a0","rArr":"\u21d2","rarrfs":"\u291e","rarrhk":"\u21aa","rarrlp":"\u21ac","rarrpl":"\u2945","rarrsim":"\u2974","Rarrtl":"\u2916","rarrtl":"\u21a3","rarrw":"\u219d","ratail":"\u291a","rAtail":"\u291c","ratio":"\u2236","rationals":"\u211a","rbarr":"\u290d","rBarr":"\u290f","RBarr":"\u2910","rbbrk":"\u2773","rbrace":"}","rbrack":"]","rbrke":"\u298c","rbrksld":"\u298e","rbrkslu":"\u2990","Rcaron":"\u0158","rcaron":"\u0159","Rcedil":"\u0156","rcedil":"\u0157","rceil":"\u2309","rcub":"}","Rcy":"\u0420","rcy":"\u0440","rdca":"\u2937","rdldhar":"\u2969","rdquo":"\u201d","rdquor":"\u201d","rdsh":"\u21b3","real":"\u211c","realine":"\u211b","realpart":"\u211c","reals":"\u211d","Re":"\u211c","rect":"\u25ad","reg":"\xae","REG":"\xae","ReverseElement":"\u220b","ReverseEquilibrium":"\u21cb","ReverseUpEquilibrium":"\u296f","rfisht":"\u297d","rfloor":"\u230b","rfr":"\u{1d52f}","Rfr":"\u211c","rHar":"\u2964","rhard":"\u21c1","rharu":"\u21c0","rharul":"\u296c","Rho":"\u03a1","rho":"\u03c1","rhov":"\u03f1","RightAngleBracket":"\u27e9","RightArrowBar":"\u21e5","rightarrow":"\u2192","RightArrow":"\u2192","Rightarrow":"\u21d2","RightArrowLeftArrow":"\u21c4","rightarrowtail":"\u21a3","RightCeiling":"\u2309","RightDoubleBracket":"\u27e7","RightDownTeeVector":"\u295d","RightDownVectorBar":"\u2955","RightDownVector":"\u21c2","RightFloor":"\u230b","rightharpoondown":"\u21c1","rightharpoonup":"\u21c0","rightleftarrows":"\u21c4","rightleftharpoons":"\u21cc","rightrightarrows":"\u21c9","rightsquigarrow":"\u219d","RightTeeArrow":"\u21a6","RightTee":"\u22a2","RightTeeVector":"\u295b","rightthreetimes":"\u22cc","RightTriangleBar":"\u29d0","RightTriangle":"\u22b3","RightTriangleEqual":"\u22b5","RightUpDownVector":"\u294f","RightUpTeeVector":"\u295c","RightUpVectorBar":"\u2954","RightUpVector":"\u21be","RightVectorBar":"\u2953","RightVector":"\u21c0","ring":"\u02da","risingdotseq":"\u2253","rlarr":"\u21c4","rlhar":"\u21cc","rlm":"\u200f","rmoustache":"\u23b1","rmoust":"\u23b1","rnmid":"\u2aee","roang":"\u27ed","roarr":"\u21fe","robrk":"\u27e7","ropar":"\u2986","ropf":"\u{1d563}","Ropf":"\u211d","roplus":"\u2a2e","rotimes":"\u2a35","RoundImplies":"\u2970","rpar":")","rpargt":"\u2994","rppolint":"\u2a12","rrarr":"\u21c9","Rrightarrow":"\u21db","rsaquo":"\u203a","rscr":"\u{1d4c7}","Rscr":"\u211b","rsh":"\u21b1","Rsh":"\u21b1","rsqb":"]","rsquo":"\u2019","rsquor":"\u2019","rthree":"\u22cc","rtimes":"\u22ca","rtri":"\u25b9","rtrie":"\u22b5","rtrif":"\u25b8","rtriltri":"\u29ce","RuleDelayed":"\u29f4","ruluhar":"\u2968","rx":"\u211e","Sacute":"\u015a","sacute":"\u015b","sbquo":"\u201a","scap":"\u2ab8","Scaron":"\u0160","scaron":"\u0161","Sc":"\u2abc","sc":"\u227b","sccue":"\u227d","sce":"\u2ab0","scE":"\u2ab4","Scedil":"\u015e","scedil":"\u015f","Scirc":"\u015c","scirc":"\u015d","scnap":"\u2aba","scnE":"\u2ab6","scnsim":"\u22e9","scpolint":"\u2a13","scsim":"\u227f","Scy":"\u0421","scy":"\u0441","sdotb":"\u22a1","sdot":"\u22c5","sdote":"\u2a66","searhk":"\u2925","searr":"\u2198","seArr":"\u21d8","searrow":"\u2198","sect":"\xa7","semi":";","seswar":"\u2929","setminus":"\u2216","setmn":"\u2216","sext":"\u2736","Sfr":"\u{1d516}","sfr":"\u{1d530}","sfrown":"\u2322","sharp":"\u266f","SHCHcy":"\u0429","shchcy":"\u0449","SHcy":"\u0428","shcy":"\u0448","ShortDownArrow":"\u2193","ShortLeftArrow":"\u2190","shortmid":"\u2223","shortparallel":"\u2225","ShortRightArrow":"\u2192","ShortUpArrow":"\u2191","shy":"\xad","Sigma":"\u03a3","sigma":"\u03c3","sigmaf":"\u03c2","sigmav":"\u03c2","sim":"\u223c","simdot":"\u2a6a","sime":"\u2243","simeq":"\u2243","simg":"\u2a9e","simgE":"\u2aa0","siml":"\u2a9d","simlE":"\u2a9f","simne":"\u2246","simplus":"\u2a24","simrarr":"\u2972","slarr":"\u2190","SmallCircle":"\u2218","smallsetminus":"\u2216","smashp":"\u2a33","smeparsl":"\u29e4","smid":"\u2223","smile":"\u2323","smt":"\u2aaa","smte":"\u2aac","smtes":"\u2aac\ufe00","SOFTcy":"\u042c","softcy":"\u044c","solbar":"\u233f","solb":"\u29c4","sol":"/","Sopf":"\u{1d54a}","sopf":"\u{1d564}","spades":"\u2660","spadesuit":"\u2660","spar":"\u2225","sqcap":"\u2293","sqcaps":"\u2293\ufe00","sqcup":"\u2294","sqcups":"\u2294\ufe00","Sqrt":"\u221a","sqsub":"\u228f","sqsube":"\u2291","sqsubset":"\u228f","sqsubseteq":"\u2291","sqsup":"\u2290","sqsupe":"\u2292","sqsupset":"\u2290","sqsupseteq":"\u2292","square":"\u25a1","Square":"\u25a1","SquareIntersection":"\u2293","SquareSubset":"\u228f","SquareSubsetEqual":"\u2291","SquareSuperset":"\u2290","SquareSupersetEqual":"\u2292","SquareUnion":"\u2294","squarf":"\u25aa","squ":"\u25a1","squf":"\u25aa","srarr":"\u2192","Sscr":"\u{1d4ae}","sscr":"\u{1d4c8}","ssetmn":"\u2216","ssmile":"\u2323","sstarf":"\u22c6","Star":"\u22c6","star":"\u2606","starf":"\u2605","straightepsilon":"\u03f5","straightphi":"\u03d5","strns":"\xaf","sub":"\u2282","Sub":"\u22d0","subdot":"\u2abd","subE":"\u2ac5","sube":"\u2286","subedot":"\u2ac3","submult":"\u2ac1","subnE":"\u2acb","subne":"\u228a","subplus":"\u2abf","subrarr":"\u2979","subset":"\u2282","Subset":"\u22d0","subseteq":"\u2286","subseteqq":"\u2ac5","SubsetEqual":"\u2286","subsetneq":"\u228a","subsetneqq":"\u2acb","subsim":"\u2ac7","subsub":"\u2ad5","subsup":"\u2ad3","succapprox":"\u2ab8","succ":"\u227b","succcurlyeq":"\u227d","Succeeds":"\u227b","SucceedsEqual":"\u2ab0","SucceedsSlantEqual":"\u227d","SucceedsTilde":"\u227f","succeq":"\u2ab0","succnapprox":"\u2aba","succneqq":"\u2ab6","succnsim":"\u22e9","succsim":"\u227f","SuchThat":"\u220b","sum":"\u2211","Sum":"\u2211","sung":"\u266a","sup1":"\xb9","sup2":"\xb2","sup3":"\xb3","sup":"\u2283","Sup":"\u22d1","supdot":"\u2abe","supdsub":"\u2ad8","supE":"\u2ac6","supe":"\u2287","supedot":"\u2ac4","Superset":"\u2283","SupersetEqual":"\u2287","suphsol":"\u27c9","suphsub":"\u2ad7","suplarr":"\u297b","supmult":"\u2ac2","supnE":"\u2acc","supne":"\u228b","supplus":"\u2ac0","supset":"\u2283","Supset":"\u22d1","supseteq":"\u2287","supseteqq":"\u2ac6","supsetneq":"\u228b","supsetneqq":"\u2acc","supsim":"\u2ac8","supsub":"\u2ad4","supsup":"\u2ad6","swarhk":"\u2926","swarr":"\u2199","swArr":"\u21d9","swarrow":"\u2199","swnwar":"\u292a","szlig":"\xdf","Tab":"\\t","target":"\u2316","Tau":"\u03a4","tau":"\u03c4","tbrk":"\u23b4","Tcaron":"\u0164","tcaron":"\u0165","Tcedil":"\u0162","tcedil":"\u0163","Tcy":"\u0422","tcy":"\u0442","tdot":"\u20db","telrec":"\u2315","Tfr":"\u{1d517}","tfr":"\u{1d531}","there4":"\u2234","therefore":"\u2234","Therefore":"\u2234","Theta":"\u0398","theta":"\u03b8","thetasym":"\u03d1","thetav":"\u03d1","thickapprox":"\u2248","thicksim":"\u223c","ThickSpace":"\u205f\u200a","ThinSpace":"\u2009","thinsp":"\u2009","thkap":"\u2248","thksim":"\u223c","THORN":"\xde","thorn":"\xfe","tilde":"\u02dc","Tilde":"\u223c","TildeEqual":"\u2243","TildeFullEqual":"\u2245","TildeTilde":"\u2248","timesbar":"\u2a31","timesb":"\u22a0","times":"\xd7","timesd":"\u2a30","tint":"\u222d","toea":"\u2928","topbot":"\u2336","topcir":"\u2af1","top":"\u22a4","Topf":"\u{1d54b}","topf":"\u{1d565}","topfork":"\u2ada","tosa":"\u2929","tprime":"\u2034","trade":"\u2122","TRADE":"\u2122","triangle":"\u25b5","triangledown":"\u25bf","triangleleft":"\u25c3","trianglelefteq":"\u22b4","triangleq":"\u225c","triangleright":"\u25b9","trianglerighteq":"\u22b5","tridot":"\u25ec","trie":"\u225c","triminus":"\u2a3a","TripleDot":"\u20db","triplus":"\u2a39","trisb":"\u29cd","tritime":"\u2a3b","trpezium":"\u23e2","Tscr":"\u{1d4af}","tscr":"\u{1d4c9}","TScy":"\u0426","tscy":"\u0446","TSHcy":"\u040b","tshcy":"\u045b","Tstrok":"\u0166","tstrok":"\u0167","twixt":"\u226c","twoheadleftarrow":"\u219e","twoheadrightarrow":"\u21a0","Uacute":"\xda","uacute":"\xfa","uarr":"\u2191","Uarr":"\u219f","uArr":"\u21d1","Uarrocir":"\u2949","Ubrcy":"\u040e","ubrcy":"\u045e","Ubreve":"\u016c","ubreve":"\u016d","Ucirc":"\xdb","ucirc":"\xfb","Ucy":"\u0423","ucy":"\u0443","udarr":"\u21c5","Udblac":"\u0170","udblac":"\u0171","udhar":"\u296e","ufisht":"\u297e","Ufr":"\u{1d518}","ufr":"\u{1d532}","Ugrave":"\xd9","ugrave":"\xf9","uHar":"\u2963","uharl":"\u21bf","uharr":"\u21be","uhblk":"\u2580","ulcorn":"\u231c","ulcorner":"\u231c","ulcrop":"\u230f","ultri":"\u25f8","Umacr":"\u016a","umacr":"\u016b","uml":"\xa8","UnderBar":"_","UnderBrace":"\u23df","UnderBracket":"\u23b5","UnderParenthesis":"\u23dd","Union":"\u22c3","UnionPlus":"\u228e","Uogon":"\u0172","uogon":"\u0173","Uopf":"\u{1d54c}","uopf":"\u{1d566}","UpArrowBar":"\u2912","uparrow":"\u2191","UpArrow":"\u2191","Uparrow":"\u21d1","UpArrowDownArrow":"\u21c5","updownarrow":"\u2195","UpDownArrow":"\u2195","Updownarrow":"\u21d5","UpEquilibrium":"\u296e","upharpoonleft":"\u21bf","upharpoonright":"\u21be","uplus":"\u228e","UpperLeftArrow":"\u2196","UpperRightArrow":"\u2197","upsi":"\u03c5","Upsi":"\u03d2","upsih":"\u03d2","Upsilon":"\u03a5","upsilon":"\u03c5","UpTeeArrow":"\u21a5","UpTee":"\u22a5","upuparrows":"\u21c8","urcorn":"\u231d","urcorner":"\u231d","urcrop":"\u230e","Uring":"\u016e","uring":"\u016f","urtri":"\u25f9","Uscr":"\u{1d4b0}","uscr":"\u{1d4ca}","utdot":"\u22f0","Utilde":"\u0168","utilde":"\u0169","utri":"\u25b5","utrif":"\u25b4","uuarr":"\u21c8","Uuml":"\xdc","uuml":"\xfc","uwangle":"\u29a7","vangrt":"\u299c","varepsilon":"\u03f5","varkappa":"\u03f0","varnothing":"\u2205","varphi":"\u03d5","varpi":"\u03d6","varpropto":"\u221d","varr":"\u2195","vArr":"\u21d5","varrho":"\u03f1","varsigma":"\u03c2","varsubsetneq":"\u228a\ufe00","varsubsetneqq":"\u2acb\ufe00","varsupsetneq":"\u228b\ufe00","varsupsetneqq":"\u2acc\ufe00","vartheta":"\u03d1","vartriangleleft":"\u22b2","vartriangleright":"\u22b3","vBar":"\u2ae8","Vbar":"\u2aeb","vBarv":"\u2ae9","Vcy":"\u0412","vcy":"\u0432","vdash":"\u22a2","vDash":"\u22a8","Vdash":"\u22a9","VDash":"\u22ab","Vdashl":"\u2ae6","veebar":"\u22bb","vee":"\u2228","Vee":"\u22c1","veeeq":"\u225a","vellip":"\u22ee","verbar":"|","Verbar":"\u2016","vert":"|","Vert":"\u2016","VerticalBar":"\u2223","VerticalLine":"|","VerticalSeparator":"\u2758","VerticalTilde":"\u2240","VeryThinSpace":"\u200a","Vfr":"\u{1d519}","vfr":"\u{1d533}","vltri":"\u22b2","vnsub":"\u2282\u20d2","vnsup":"\u2283\u20d2","Vopf":"\u{1d54d}","vopf":"\u{1d567}","vprop":"\u221d","vrtri":"\u22b3","Vscr":"\u{1d4b1}","vscr":"\u{1d4cb}","vsubnE":"\u2acb\ufe00","vsubne":"\u228a\ufe00","vsupnE":"\u2acc\ufe00","vsupne":"\u228b\ufe00","Vvdash":"\u22aa","vzigzag":"\u299a","Wcirc":"\u0174","wcirc":"\u0175","wedbar":"\u2a5f","wedge":"\u2227","Wedge":"\u22c0","wedgeq":"\u2259","weierp":"\u2118","Wfr":"\u{1d51a}","wfr":"\u{1d534}","Wopf":"\u{1d54e}","wopf":"\u{1d568}","wp":"\u2118","wr":"\u2240","wreath":"\u2240","Wscr":"\u{1d4b2}","wscr":"\u{1d4cc}","xcap":"\u22c2","xcirc":"\u25ef","xcup":"\u22c3","xdtri":"\u25bd","Xfr":"\u{1d51b}","xfr":"\u{1d535}","xharr":"\u27f7","xhArr":"\u27fa","Xi":"\u039e","xi":"\u03be","xlarr":"\u27f5","xlArr":"\u27f8","xmap":"\u27fc","xnis":"\u22fb","xodot":"\u2a00","Xopf":"\u{1d54f}","xopf":"\u{1d569}","xoplus":"\u2a01","xotime":"\u2a02","xrarr":"\u27f6","xrArr":"\u27f9","Xscr":"\u{1d4b3}","xscr":"\u{1d4cd}","xsqcup":"\u2a06","xuplus":"\u2a04","xutri":"\u25b3","xvee":"\u22c1","xwedge":"\u22c0","Yacute":"\xdd","yacute":"\xfd","YAcy":"\u042f","yacy":"\u044f","Ycirc":"\u0176","ycirc":"\u0177","Ycy":"\u042b","ycy":"\u044b","yen":"\xa5","Yfr":"\u{1d51c}","yfr":"\u{1d536}","YIcy":"\u0407","yicy":"\u0457","Yopf":"\u{1d550}","yopf":"\u{1d56a}","Yscr":"\u{1d4b4}","yscr":"\u{1d4ce}","YUcy":"\u042e","yucy":"\u044e","yuml":"\xff","Yuml":"\u0178","Zacute":"\u0179","zacute":"\u017a","Zcaron":"\u017d","zcaron":"\u017e","Zcy":"\u0417","zcy":"\u0437","Zdot":"\u017b","zdot":"\u017c","zeetrf":"\u2128","ZeroWidthSpace":"\u200b","Zeta":"\u0396","zeta":"\u03b6","zfr":"\u{1d537}","Zfr":"\u2128","ZHcy":"\u0416","zhcy":"\u0436","zigrarr":"\u21dd","zopf":"\u{1d56b}","Zopf":"\u2124","Zscr":"\u{1d4b5}","zscr":"\u{1d4cf}","zwj":"\u200d","zwnj":"\u200c"}')},4127:ve=>{"use strict";ve.exports=JSON.parse('{"Aacute":"\xc1","aacute":"\xe1","Acirc":"\xc2","acirc":"\xe2","acute":"\xb4","AElig":"\xc6","aelig":"\xe6","Agrave":"\xc0","agrave":"\xe0","amp":"&","AMP":"&","Aring":"\xc5","aring":"\xe5","Atilde":"\xc3","atilde":"\xe3","Auml":"\xc4","auml":"\xe4","brvbar":"\xa6","Ccedil":"\xc7","ccedil":"\xe7","cedil":"\xb8","cent":"\xa2","copy":"\xa9","COPY":"\xa9","curren":"\xa4","deg":"\xb0","divide":"\xf7","Eacute":"\xc9","eacute":"\xe9","Ecirc":"\xca","ecirc":"\xea","Egrave":"\xc8","egrave":"\xe8","ETH":"\xd0","eth":"\xf0","Euml":"\xcb","euml":"\xeb","frac12":"\xbd","frac14":"\xbc","frac34":"\xbe","gt":">","GT":">","Iacute":"\xcd","iacute":"\xed","Icirc":"\xce","icirc":"\xee","iexcl":"\xa1","Igrave":"\xcc","igrave":"\xec","iquest":"\xbf","Iuml":"\xcf","iuml":"\xef","laquo":"\xab","lt":"<","LT":"<","macr":"\xaf","micro":"\xb5","middot":"\xb7","nbsp":"\xa0","not":"\xac","Ntilde":"\xd1","ntilde":"\xf1","Oacute":"\xd3","oacute":"\xf3","Ocirc":"\xd4","ocirc":"\xf4","Ograve":"\xd2","ograve":"\xf2","ordf":"\xaa","ordm":"\xba","Oslash":"\xd8","oslash":"\xf8","Otilde":"\xd5","otilde":"\xf5","Ouml":"\xd6","ouml":"\xf6","para":"\xb6","plusmn":"\xb1","pound":"\xa3","quot":"\\"","QUOT":"\\"","raquo":"\xbb","reg":"\xae","REG":"\xae","sect":"\xa7","shy":"\xad","sup1":"\xb9","sup2":"\xb2","sup3":"\xb3","szlig":"\xdf","THORN":"\xde","thorn":"\xfe","times":"\xd7","Uacute":"\xda","uacute":"\xfa","Ucirc":"\xdb","ucirc":"\xfb","Ugrave":"\xd9","ugrave":"\xf9","uml":"\xa8","Uuml":"\xdc","uuml":"\xfc","Yacute":"\xdd","yacute":"\xfd","yen":"\xa5","yuml":"\xff"}')},148:ve=>{"use strict";ve.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')}},ve=>{ve(ve.s=7043)}]); \ No newline at end of file diff --git a/main.ed0059179e6b9aa7.js b/main.ed0059179e6b9aa7.js new file mode 100644 index 00000000..4b253ca9 --- /dev/null +++ b/main.ed0059179e6b9aa7.js @@ -0,0 +1 @@ +(self.webpackChunkngx_vflow_demo=self.webpackChunkngx_vflow_demo||[]).push([[179],{7043:(ve,m,d)=>{"use strict";var s=d(6593),p=d(6814),o=d(5879);const I="ng-doc-theme-id",k={id:"ng-doc-night",path:"assets/ng-doc/app/themes/ng-doc-night.css"};var T=d(5861),N=d(7582);const M=a=>String(a);let S=(()=>{class a{set(i,u,f=M){return localStorage.setItem(i,f(u))}get(i,u){return u?u(localStorage.getItem(i)):localStorage.getItem(i)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();var C=d(5483),_=d(5592),F=d(2438),L=d(3020),H=d(7921),V=d(7398),$=d(3997),Y=d(7081);const ae=new o.OlP("An abstraction over global window object",{factory:()=>{const{defaultView:a}=(0,o.f3M)(p.K0);if(!a)throw new Error("Window is not available");return a}}),Ee=(new o.OlP("Shared Observable based on `window.requestAnimationFrame`",{factory:()=>{const{requestAnimationFrame:a,cancelAnimationFrame:l}=(0,o.f3M)(ae);return new _.y(u=>{let f=NaN;const w=W=>{u.next(W),f=a(w)};return f=a(w),()=>{l(f)}}).pipe((0,L.B)())}}),new o.OlP("An abstraction over window.caches object",{factory:()=>(0,o.f3M)(ae).caches}),new o.OlP("An abstraction over window.crypto object",{factory:()=>(0,o.f3M)(ae).crypto}),new o.OlP("An abstraction over window.CSS object",{factory:()=>(0,o.f3M)(ae).CSS||{escape:a=>a,supports:()=>!1}}),new o.OlP("An abstraction over window.history object",{factory:()=>(0,o.f3M)(ae).history}),new o.OlP("An abstraction over window.localStorage object",{factory:()=>(0,o.f3M)(ae).localStorage}),new o.OlP("An abstraction over window.location object",{factory:()=>(0,o.f3M)(ae).location}),new o.OlP("An abstraction over window.navigator object",{factory:()=>(0,o.f3M)(ae).navigator}));new o.OlP("An abstraction over window.navigator.mediaDevices object",{factory:()=>(0,o.f3M)(Ee).mediaDevices}),new o.OlP("An abstraction over window.navigator.connection object",{factory:()=>(0,o.f3M)(Ee).connection||null}),new o.OlP("Shared Observable based on `document visibility changed`",{factory:()=>{const a=(0,o.f3M)(p.K0);return(0,F.R)(a,"visibilitychange").pipe((0,H.O)(0),(0,V.U)(()=>"hidden"!==a.visibilityState),(0,$.x)(),(0,Y.d)({refCount:!1,bufferSize:1}))}}),new o.OlP("An abstraction over window.performance object",{factory:()=>(0,o.f3M)(ae).performance}),new o.OlP("An abstraction over window.sessionStorage object",{factory:()=>(0,o.f3M)(ae).sessionStorage}),new o.OlP("An abstraction over SpeechRecognition class",{factory:()=>{const a=(0,o.f3M)(ae);return a.speechRecognition||a.webkitSpeechRecognition||null}}),new o.OlP("An abstraction over window.speechSynthesis object",{factory:()=>(0,o.f3M)(ae).speechSynthesis}),new o.OlP("An abstraction over window.navigator.userAgent object",{factory:()=>(0,o.f3M)(Ee).userAgent});var Ke,ke=d(1791),he=d(8645);let Pe=Ke=class ig{static#e=this.autoThemeId="ng-doc-auto";constructor(l,i,u,f){this.window=l,this.document=i,this.themes=u,this.store=f,this.theme=void 0,this.theme$=new he.x,this.autoTheme=void 0,(0,F.R)(this.window.matchMedia("(prefers-color-scheme: dark)"),"change").pipe((0,ke.t)(this)).subscribe(()=>this.setAutoTheme())}get currentTheme(){return this.theme}get isAutoThemeEnabled(){return void 0!==this.autoTheme}enableAutoTheme(l,i){var u=this;return(0,T.Z)(function*(){return u.autoTheme=[l,i],u.setAutoTheme()})()}disableAutoTheme(){var l=this;return(0,T.Z)(function*(){return l.autoTheme=void 0,l.set(l.store.get(I)??void 0)})()}set(l,i=!0){var u=this;return(0,T.Z)(function*(){if(u.removeLink(),i&&(u.autoTheme=void 0),l&&"ng-doc-day"!==l){const f=u.themes.find(w=>w.id===l);if(!f)return void console.warn(`Theme with id "${l}" is not registered. Make sure that you registered it in the root of your application.`);if(u.createLinkIfNoExists(),u.linkElement)return u.linkElement.href=f.path,i&&u.store.set(I,f.id),u.theme=f,new Promise((w,W)=>{u.linkElement&&(u.linkElement.onload=()=>{u.theme$.next(f),w()},u.linkElement.onerror=W)})}return i&&u.store.set(I,"ng-doc-day"),u.theme$.next(void 0),Promise.resolve()})()}themeChanges(){return this.theme$.asObservable()}removeLink(){this.theme=void 0,this.linkElement?.remove(),this.linkElement=void 0}createLinkIfNoExists(){this.linkElement||(this.linkElement=this.document.createElement("link"),this.linkElement.setAttribute("rel","stylesheet"),this.linkElement.setAttribute("type","text/css"),this.document.getElementsByTagName("head")[0].appendChild(this.linkElement))}setAutoTheme(){var l=this;return(0,T.Z)(function*(){if(void 0!==l.autoTheme){const i=l.window.matchMedia("(prefers-color-scheme: dark)").matches,[u,f]=l.autoTheme;return l.store.set(I,Ke.autoThemeId),l.set(i?f?.id:u?.id,!1)}})()}static#t=this.\u0275fac=function(i){return new(i||ig)(o.LFG(ae),o.LFG(p.K0),o.LFG(C.dd),o.LFG(S))};static#n=this.\u0275prov=o.Yz7({token:ig,factory:ig.\u0275fac,providedIn:"root"})};Pe=Ke=(0,N.__decorate)([(0,ke.c)(),(0,N.__metadata)("design:paramtypes",[Window,Document,Array,S])],Pe);var st=d(9143),dt=d(9862),bt=d(7230),pt=d(9625);function Me(a){return[{provide:pt.Sy,useValue:a?.assetsPath??"assets/ng-doc/ui-kit"},{provide:pt.DN,useValue:a?.customIconsPath??"assets/icons"},{provide:dt.TP,useClass:bt.G,multi:!0}]}function ht(a){return[{provide:C.dd,useValue:k,multi:!0},...(0,st.asArray)(a?.themes).map(l=>({provide:C.dd,useValue:l,multi:!0})),...(0,st.asArray)(a?.defaultThemeId).map(l=>({provide:C.Rr,useValue:l})),{provide:o.ip1,useFactory:(l,i,u)=>()=>{const f=i.get(I);return"auto"===u&&!f||f===Pe.autoThemeId?l.enableAutoTheme(void 0,k):l.set(f??u,!1)},multi:!0,deps:[Pe,S,[new o.FiY,C.Rr]]},{provide:o.ip1,multi:!0,deps:[p.EM],useFactory:l=>()=>l.setOffset([0,64])},...Me(a?.uiKit)]}class Tt{}function zt(a,...l){return{provide:Tt,useValue:new a(...l)}}var _t=d(7340),an=d(7442);const yn={dutch:/[^A-Za-z\xe0\xe8\xe9\xec\xf2\xf3\xf90-9_'-]+/gim,english:/[^A-Za-z\xe0\xe8\xe9\xec\xf2\xf3\xf90-9_'-]+/gim,french:/[^a-z0-9\xe4\xe2\xe0\xe9\xe8\xeb\xea\xef\xee\xf6\xf4\xf9\xfc\xfb\u0153\xe7-]+/gim,italian:/[^A-Za-z\xe0\xe8\xe9\xec\xf2\xf3\xf90-9_'-]+/gim,norwegian:/[^a-z0-9_\xe6\xf8\xe5\xc6\xd8\xc5\xe4\xc4\xf6\xd6\xfc\xdc]+/gim,portuguese:/[^a-z0-9\xe0-\xfa\xc0-\xda]/gim,russian:/[^a-z0-9\u0430-\u044f\u0410-\u042f\u0451\u0401]+/gim,spanish:/[^a-z0-9A-Z\xe1-\xfa\xc1-\xda\xf1\xd1\xfc\xdc]+/gim,swedish:/[^a-z0-9_\xe5\xc5\xe4\xc4\xf6\xd6\xfc\xdc-]+/gim,german:/[^a-z0-9A-Z\xe4\xf6\xfc\xc4\xd6\xdc\xdf]+/gim,finnish:/[^a-z0-9\xe4\xf6\xc4\xd6]+/gim,danish:/[^a-z0-9\xe6\xf8\xe5\xc6\xd8\xc5]+/gim,hungarian:/[^a-z0-9\xe1\xe9\xed\xf3\xf6\u0151\xfa\xfc\u0171\xc1\xc9\xcd\xd3\xd6\u0150\xda\xdc\u0170]+/gim,romanian:/[^a-z0-9\u0103\xe2\xee\u0219\u021b\u0102\xc2\xce\u0218\u021a]+/gim,serbian:/[^a-z0-9\u010d\u0107\u017e\u0161\u0111\u010c\u0106\u017d\u0160\u0110]+/gim,turkish:/[^a-z0-9\xe7\xc7\u011f\u011e\u0131\u0130\xf6\xd6\u015f\u015e\xfc\xdc]+/gim,lithuanian:/[^a-z0-9\u0105\u010d\u0119\u0117\u012f\u0161\u0173\u016b\u017e\u0104\u010c\u0118\u0116\u012e\u0160\u0172\u016a\u017d]+/gim,arabic:/[^a-z0-9\u0623-\u064a]+/gim,nepali:/[^a-z0-9\u0905-\u0939]+/gim,irish:/[^a-z0-9\xe1\xe9\xed\xf3\xfa\xc1\xc9\xcd\xd3\xda]+/gim,indian:/[^a-z0-9\u0905-\u0939]+/gim,armenian:/[^a-z0-9\u0561-\u0586]+/gim,greek:/[^a-z0-9\u03b1-\u03c9\u03ac-\u03ce]+/gim,indonesian:/[^a-z0-9]+/gim,ukrainian:/[^a-z0-9\u0430-\u044f\u0410-\u042f\u0456\u0457\u0454\u0406\u0407\u0404]+/gim,slovenian:/[^a-z0-9\u010d\u017e\u0161\u010c\u017d\u0160]+/gim,bulgarian:/[^a-z0-9\u0430-\u044f\u0410-\u042f]+/gim},Rn=Object.keys({arabic:"ar",armenian:"am",bulgarian:"bg",danish:"dk",dutch:"nl",english:"en",finnish:"fi",french:"fr",german:"de",greek:"gr",hungarian:"hu",indian:"in",indonesian:"id",irish:"ie",italian:"it",lithuanian:"lt",nepali:"np",norwegian:"no",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"rs",slovenian:"ru",spanish:"es",swedish:"se",turkish:"tr",ukrainian:"uk"}),Gn=Date.now().toString().slice(5);let uo=0;const Kn=BigInt(1e3),Jn=BigInt(1e6),Oo=BigInt(1e9);function q(a){return Ce.apply(this,arguments)}function Ce(){return(Ce=(0,T.Z)(function*(a){return"number"==typeof a&&(a=BigInt(a)),a\d+)\$)?(?-?\d*\.?\d*)(?[dfs])/g,function(...i){const u=i[i.length-1],{width:f,type:w,position:W}=u,J=W?l[Number.parseInt(W)-1]:l.shift(),le=""===f?0:Number.parseInt(f);switch(w){case"d":return J.toString().padStart(le,"0");case"f":{let Ae=J;const[Qe,ft]=f.split(".").map(Ot=>Number.parseFloat(Ot));return"number"==typeof ft&&ft>=0&&(Ae=Ae.toFixed(ft)),"number"==typeof Qe&&Qe>=0?Ae.toString().padStart(le,"0"):Ae.toString()}case"s":return le<0?J.toString().padEnd(-le," "):J.toString().padStart(le," ");default:return J}})}(Te[a]??`Unsupported Orama Error code: ${a}`,...l));return i.code=a,"captureStackTrace"in Error.prototype&&Error.captureStackTrace(i),i}function Nt(a){return bn.apply(this,arguments)}function bn(){return(bn=(0,T.Z)(function*(a){return{raw:Number(a),formatted:yield q(a)}})).apply(this,arguments)}function rt(a){return ze.apply(this,arguments)}function ze(){return(ze=(0,T.Z)(function*(a){if(a.id){if("string"!=typeof a.id)throw ot("DOCUMENT_ID_MUST_BE_STRING",typeof a.id);return a.id}return yield Ve()})).apply(this,arguments)}function de(a,l){return ge.apply(this,arguments)}function ge(){return(ge=(0,T.Z)(function*(a,l){for(const[i,u]of Object.entries(l)){const f=a[i],w=typeof f;if("undefined"===w)continue;const W=typeof u;if("string"===W&&Wt(u)){if(!Array.isArray(f))return i;const J=hn(u),le=f.length;for(let Ae=0;Ae"u"||(delete a.docs[l],a.count--,0))})).apply(this,arguments)}function Je(a){return vt.apply(this,arguments)}function vt(){return(vt=(0,T.Z)(function*(a){return a.count})).apply(this,arguments)}function $t(a){return Yt.apply(this,arguments)}function Yt(){return(Yt=(0,T.Z)(function*(a){return{docs:a.docs,count:a.count}})).apply(this,arguments)}function Xt(a){return sn.apply(this,arguments)}function sn(){return(sn=(0,T.Z)(function*(a){return{docs:a.docs,count:a.count}})).apply(this,arguments)}function mn(){return(mn=(0,T.Z)(function*(){return{create:Vn,get:To,getMultiple:$e,getAll:Fe,store:Pt,remove:Se,count:Je,load:$t,save:Xt}})).apply(this,arguments)}const Dt=["tokenizer","index","documentsStore","sorter"],Gt=["validateSchema","getDocumentIndexId","getDocumentProperties","formatElapsedTime"],vn=["beforeInsert","afterInsert","beforeRemove","afterRemove","beforeUpdate","afterUpdate","beforeMultipleInsert","afterMultipleInsert","beforeMultipleRemove","afterMultipleRemove","beforeMultipleUpdate","afterMultipleUpdate"];function gn(a,l,i,u){return jn.apply(this,arguments)}function jn(){return(jn=(0,T.Z)(function*(a,l,i,u){for(let f=0;fl&&f(w.left),w.key>=l&&w.key<=i&&u.push(...w.value),w.key=l&&u.push(...w.value),!i&&w.key>l&&u.push(...w.value),f(w.left),f(w.right))}(a),u}function Ur(a,l,i=!1){if(!a)return[];const u=[];return function f(w){w&&(i&&w.key<=l&&u.push(...w.value),!i&&w.keyi.key))break;u=i,i=i.right}return u}function Sn(a,l){let i=a;for(;i;)if(li.key))return i.value;i=i.right}return null}function Jt(){const{word:a,subWord:l,children:i,docs:u,end:f}=this;return{word:a,subWord:l,children:i,docs:u,end:f}}function on(a,l){a.parent=l.id,a.word=l.word+a.subWord}function Kt(a,l){a.docs.push(l)}function Mn(a,l){const i=a.docs.indexOf(l);return-1!==i&&(a.docs.splice(i,1),!0)}function zn(a,l,i,u,f){if(a.end){const{word:w,docs:W}=a;if(u&&w!==i)return{};if(Ye(l,w)||(f?Math.abs(i.length-w.length)<=f&&function fr(a,l,i){const u=function oo(a,l,i){if(a===l)return 0;const u=a;a.length>l.length&&(a=l,l=u);let f=a.length,w=l.length;for(;f>0&&a.charCodeAt(~-f)===l.charCodeAt(~-w);)f--,w--;if(!f)return w>i?-1:w;let W=0;for(;Wi?-1:w;const J=w-f;if(i>w)i=w;else if(J>i)return-1;let le=0;const Ae=[],Qe=[];for(;left?1:0,Ht+=Hti)return-1}return tn<=i?tn:-1}(a,l,i);return{distance:u,isBounded:u>=0}}(i,w,f).isBounded&&(l[w]=[]):l[w]=[]),Ye(l,w)&&W.length){const J=new Set(l[w]),le=W.length;for(let Ae=0;Aele[1]-J[1]);if(1===i)return w;if(0===i){const J=Math.min(...a.map(le=>le.length));return w.slice(0,J)}const W=Math.ceil(100*i*w.length/100);return w.slice(0,w.length+W)}function Zt(a,l,i,u,f,w){const{k:W,b:J,d:le}=w;return Math.log(1+(i-l+.5)/(l+.5))*(le+a*(W+1))/(a+W*(1-J+J*u/f))}function An(a,l,i,u,f){return eo.apply(this,arguments)}function eo(){return(eo=(0,T.Z)(function*(a,l,i,u,f){a.avgFieldLength[l]=((a.avgFieldLength[l]??0)*(f-1)+u.length)/f,a.fieldLengths[l][i]=u.length,a.frequencies[l][i]={}})).apply(this,arguments)}function ar(a,l,i,u,f){return zo.apply(this,arguments)}function zo(){return(zo=(0,T.Z)(function*(a,l,i,u,f){let w=0;for(const J of u)J===f&&w++;a.frequencies[l][i][f]=w/u.length,f in a.tokenOccurrencies[l]||(a.tokenOccurrencies[l][f]=0),a.tokenOccurrencies[l][f]=(a.tokenOccurrencies[l][f]??0)+1})).apply(this,arguments)}function $o(a,l,i,u){return Er.apply(this,arguments)}function Er(){return(Er=(0,T.Z)(function*(a,l,i,u){a.avgFieldLength[l]=(a.avgFieldLength[l]*u-a.fieldLengths[l][i])/(u-1),a.fieldLengths[l][i]=void 0,a.frequencies[l][i]=void 0})).apply(this,arguments)}function no(a,l,i){return mr.apply(this,arguments)}function mr(){return(mr=(0,T.Z)(function*(a,l,i){a.tokenOccurrencies[l][i]--})).apply(this,arguments)}function ei(a,l,i,u,f){return Tn.apply(this,arguments)}function Tn(){return(Tn=(0,T.Z)(function*(a,l,i,u,f){const w=Array.from(f),W=l.avgFieldLength[i],J=l.fieldLengths[i],le=l.tokenOccurrencies[i],Ae=l.frequencies[i],Qe="number"==typeof le[u]?le[u]??0:0,ft=[],Ot=w.length;for(let Ht=0;Htf.key))return f.value=f.value.concat(i),a;f=f.right}const w=Xo(l,i);for(u?lu.right.key||(u.right=Fo(u.right)),u=Uo(u)),u==a)break;f=u,u=sr(a,f.key)}}(l.indexes[i],f,[u]);break;case"string":{const Ae=yield J.tokenize(f,W,i);yield a.insertDocumentScoreParameters(l,i,u,Ae,le);for(const Qe of Ae)yield a.insertTokenScoreParameters(l,i,u,Ae,Qe),si(l.indexes[i],Qe,u);break}}})).apply(this,arguments)}function _i(a,l,i,u,f,w,W,J,le){return qo.apply(this,arguments)}function qo(){return(qo=(0,T.Z)(function*(a,l,i,u,f,w,W,J,le){if(!Wt(w))return ui(a,l,i,u,f,w,W,J,le);const Ae=hn(w),Qe=f,ft=Qe.length;for(let Ot=0;Ota.key))return a;a=a.right}return null}(a,i);1!==u.value.length?u.value.splice(u.value.indexOf(l),1):function Oi(a,l){let i=a,u=null;for(;i&&i.key!==l;)u=i,i=l({[J]:[],...W}),{});for(const W of u){const J=i[W];if("boolean"==typeof J){const Lt=l.indexes[W][J.toString()];f[W].push(...Lt);continue}if("string"==typeof J||Array.isArray(J)){const Ot=l.indexes[W];for(const Lt of[J].flat()){const tn=ai(Ot,{term:(yield a.tokenizer.tokenize(Lt,a.language,W))[0],exact:!0});f[W].push(...Object.values(tn).flat())}continue}const le=Object.keys(J);if(le.length>1)throw ot("INVALID_FILTER_OPERATION",le.length);const Ae=le[0],Qe=J[Ae],ft=l.indexes[W];switch(Ae){case"gt":{const Ot=Sr(ft,Qe,!1);f[W].push(...Ot);break}case"gte":{const Ot=Sr(ft,Qe,!0);f[W].push(...Ot);break}case"lt":{const Ot=Ur(ft,Qe,!1);f[W].push(...Ot);break}case"lte":{const Ot=Ur(ft,Qe,!0);f[W].push(...Ot);break}case"eq":{const Ot=Sn(ft,Qe)??[];f[W].push(...Ot);break}case"between":{const[Ot,Lt]=Qe,Ht=gi(ft,Ot,Lt);f[W].push(...Ht)}}}return function po(a){if(0===a.length)return[];if(1===a.length)return a[0];for(let i=1;i{const u=l.get(i);return void 0!==u&&l.set(i,0),u===a.length})}(Object.values(f))})).apply(this,arguments)}function os(a){return Ti.apply(this,arguments)}function Ti(){return(Ti=(0,T.Z)(function*(a){return a.searchableProperties})).apply(this,arguments)}function Ci(a){return cr.apply(this,arguments)}function cr(){return(cr=(0,T.Z)(function*(a){return a.searchablePropertiesWithTypes})).apply(this,arguments)}function lr(a){return Wo.apply(this,arguments)}function Wo(){return(Wo=(0,T.Z)(function*(a){const{indexes:l,searchableProperties:i,searchablePropertiesWithTypes:u,frequencies:f,tokenOccurrencies:w,avgFieldLength:W,fieldLengths:J}=a;return{indexes:l,searchableProperties:i,searchablePropertiesWithTypes:u,frequencies:f,tokenOccurrencies:w,avgFieldLength:W,fieldLengths:J}})).apply(this,arguments)}function di(a){return wo.apply(this,arguments)}function wo(){return(wo=(0,T.Z)(function*(a){const{indexes:l,searchableProperties:i,searchablePropertiesWithTypes:u,frequencies:f,tokenOccurrencies:w,avgFieldLength:W,fieldLengths:J}=a;return{indexes:l,searchableProperties:i,searchablePropertiesWithTypes:u,frequencies:f,tokenOccurrencies:w,avgFieldLength:W,fieldLengths:J}})).apply(this,arguments)}function Lo(){return(Lo=(0,T.Z)(function*(){return{create:_r,insert:_i,remove:vi,insertDocumentScoreParameters:An,insertTokenScoreParameters:ar,removeDocumentScoreParameters:$o,removeTokenScoreParameters:no,calculateResultScores:ei,search:gr,searchByWhereClause:yi,getSearchableProperties:os,getSearchablePropertiesWithTypes:Ci,load:lr,save:di}})).apply(this,arguments)}const Bo=192,j=383,oe=[65,65,65,65,65,65,65,67,69,69,69,69,73,73,73,73,69,78,79,79,79,79,79,null,79,85,85,85,85,89,80,115,97,97,97,97,97,97,97,99,101,101,101,101,105,105,105,105,101,110,111,111,111,111,111,null,111,117,117,117,117,121,112,121,65,97,65,97,65,97,67,99,67,99,67,99,67,99,68,100,68,100,69,101,69,101,69,101,69,101,69,101,71,103,71,103,71,103,71,103,72,104,72,104,73,105,73,105,73,105,73,105,73,105,73,105,74,106,75,107,107,76,108,76,108,76,108,76,108,76,108,78,110,78,110,78,110,110,78,110,79,111,79,111,79,111,79,111,82,114,82,114,82,114,83,115,83,115,83,115,83,115,84,116,84,116,84,116,85,117,85,117,85,117,85,117,85,117,85,117,87,119,89,121,89,90,122,90,122,90,122,115];function ce(a){return aj?a:oe[a-Bo]||a}const A={english:["i","me","my","myself","we","us","our","ours","ourselves","you","your","yours","yourself","yourselves","he","him","his","himself","she","her","hers","herself","it","its","itself","they","them","their","theirs","themselves","what","which","who","whom","this","that","these","those","am","is","are","was","were","be","been","being","have","has","had","having","do","does","did","doing","will","would","shall","should","can","could","may","might","must","ought","i'm","you're","he's","she's","it's","we're","they're","i've","you've","we've","they've","i'd","you'd","he'd","she'd","we'd","they'd","i'll","you'll","he'll","she'll","we'll","they'll","isn't","aren't","wasn't","weren't","hasn't","haven't","hadn't","doesn't","don't","didn't","won't","wouldn't","shan't","shouldn't","can't","cannot","couldn't","mustn't","let's","that's","who's","what's","here's","there's","when's","where's","why's","how's","an","the","and","but","if","or","because","as","until","while","of","at","by","for","with","about","against","between","into","through","during","before","after","above","below","to","from","up","down","in","out","on","off","over","under","again","further","then","once","here","there","when","where","why","how","all","any","both","each","few","more","most","other","some","such","no","nor","not","only","own","same","so","than","too","very"],italian:["ad","al","allo","ai","agli","all","agl","alla","alle","con","col","coi","da","dal","dallo","dai","dagli","dall","dagl","dalla","dalle","di","del","dello","dei","degli","dell","degl","della","delle","in","nel","nello","nei","negli","nell","negl","nella","nelle","su","sul","sullo","sui","sugli","sull","sugl","sulla","sulle","per","tra","contro","io","tu","lui","lei","noi","voi","loro","mio","mia","miei","mie","tuo","tua","tuoi","tue","suo","sua","suoi","sue","nostro","nostra","nostri","nostre","vostro","vostra","vostri","vostre","mi","ti","ci","vi","lo","la","li","le","gli","ne","il","un","uno","una","ma","ed","se","perch\xe9","anche","come","dov","dove","che","chi","cui","non","pi\xf9","quale","quanto","quanti","quanta","quante","quello","quelli","quella","quelle","questo","questi","questa","queste","si","tutto","tutti","a","c","e","i","l","o","ho","hai","ha","abbiamo","avete","hanno","abbia","abbiate","abbiano","avr\xf2","avrai","avr\xe0","avremo","avrete","avranno","avrei","avresti","avrebbe","avremmo","avreste","avrebbero","avevo","avevi","aveva","avevamo","avevate","avevano","ebbi","avesti","ebbe","avemmo","aveste","ebbero","avessi","avesse","avessimo","avessero","avendo","avuto","avuta","avuti","avute","sono","sei","\xe8","siamo","siete","sia","siate","siano","sar\xf2","sarai","sar\xe0","saremo","sarete","saranno","sarei","saresti","sarebbe","saremmo","sareste","sarebbero","ero","eri","era","eravamo","eravate","erano","fui","fosti","fu","fummo","foste","furono","fossi","fosse","fossimo","fossero","essendo","faccio","fai","facciamo","fanno","faccia","facciate","facciano","far\xf2","farai","far\xe0","faremo","farete","faranno","farei","faresti","farebbe","faremmo","fareste","farebbero","facevo","facevi","faceva","facevamo","facevate","facevano","feci","facesti","fece","facemmo","faceste","fecero","facessi","facesse","facessimo","facessero","facendo","sto","stai","sta","stiamo","stanno","stia","stiate","stiano","star\xf2","starai","star\xe0","staremo","starete","staranno","starei","staresti","starebbe","staremmo","stareste","starebbero","stavo","stavi","stava","stavamo","stavate","stavano","stetti","stesti","stette","stemmo","steste","stettero","stessi","stesse","stessimo","stessero","stando"],french:["au","aux","avec","ce","ces","dans","de","des","du","elle","en","et","eux","il","je","la","le","leur","lui","ma","mais","me","m\xeame","mes","moi","mon","ne","nos","notre","nous","on","ou","par","pas","pour","qu","que","qui","sa","se","ses","son","sur","ta","te","tes","toi","ton","tu","un","une","vos","votre","vous","c","d","j","l","\xe0","m","n","s","t","y","","\xe9t\xe9","\xe9t\xe9e","\xe9t\xe9es","\xe9t\xe9s","\xe9tant","suis","es","est","sommes","\xeates","sont","serai","seras","sera","serons","serez","seront","serais","serait","serions","seriez","seraient","\xe9tais","\xe9tait","\xe9tions","\xe9tiez","\xe9taient","fus","fut","f\xfbmes","f\xfbtes","furent","sois","soit","soyons","soyez","soient","fusse","fusses","f\xfbt","fussions","fussiez","fussent","ayant","eu","eue","eues","eus","ai","as","avons","avez","ont","aurai","auras","aura","aurons","aurez","auront","aurais","aurait","aurions","auriez","auraient","avais","avait","avions","aviez","avaient","eut","e\xfbmes","e\xfbtes","eurent","aie","aies","ait","ayons","ayez","aient","eusse","eusses","e\xfbt","eussions","eussiez","eussent","ceci","cela","cel\xe0","cet","cette","ici","ils","les","leurs","quel","quels","quelle","quelles","sans","soi"],spanish:["de","la","que","el","en","y","a","los","del","se","las","por","un","para","con","no","una","su","al","lo","como","m\xe1s","pero","sus","le","ya","o","este","s\xed","porque","esta","entre","cuando","muy","sin","sobre","tambi\xe9n","me","hasta","hay","donde","quien","desde","todo","nos","durante","todos","uno","les","ni","contra","otros","ese","eso","ante","ellos","e","esto","m\xed","antes","algunos","qu\xe9","unos","yo","otro","otras","otra","\xe9l","tanto","esa","estos","mucho","quienes","nada","muchos","cual","poco","ella","estar","estas","algunas","algo","nosotros","mi","mis","t\xfa","te","ti","tu","tus","ellas","nosotras","vosotros","vosotras","os","m\xedo","m\xeda","m\xedos","m\xedas","tuyo","tuya","tuyos","tuyas","suyo","suya","suyos","suyas","nuestro","nuestra","nuestros","nuestras","vuestro","vuestra","vuestros","vuestras","esos","esas","estoy","est\xe1s","est\xe1","estamos","est\xe1is","est\xe1n","est\xe9","est\xe9s","estemos","est\xe9is","est\xe9n","estar\xe9","estar\xe1s","estar\xe1","estaremos","estar\xe9is","estar\xe1n","estar\xeda","estar\xedas","estar\xedamos","estar\xedais","estar\xedan","estaba","estabas","est\xe1bamos","estabais","estaban","estuve","estuviste","estuvo","estuvimos","estuvisteis","estuvieron","estuviera","estuvieras","estuvi\xe9ramos","estuvierais","estuvieran","estuviese","estuvieses","estuvi\xe9semos","estuvieseis","estuviesen","estando","estado","estada","estados","estadas","estad","he","has","ha","hemos","hab\xe9is","han","haya","hayas","hayamos","hay\xe1is","hayan","habr\xe9","habr\xe1s","habr\xe1","habremos","habr\xe9is","habr\xe1n","habr\xeda","habr\xedas","habr\xedamos","habr\xedais","habr\xedan","hab\xeda","hab\xedas","hab\xedamos","hab\xedais","hab\xedan","hube","hubiste","hubo","hubimos","hubisteis","hubieron","hubiera","hubieras","hubi\xe9ramos","hubierais","hubieran","hubiese","hubieses","hubi\xe9semos","hubieseis","hubiesen","habiendo","habido","habida","habidos","habidas","soy","eres","es","somos","sois","son","sea","seas","seamos","se\xe1is","sean","ser\xe9","ser\xe1s","ser\xe1","seremos","ser\xe9is","ser\xe1n","ser\xeda","ser\xedas","ser\xedamos","ser\xedais","ser\xedan","era","eras","\xe9ramos","erais","eran","fui","fuiste","fue","fuimos","fuisteis","fueron","fuera","fueras","fu\xe9ramos","fuerais","fueran","fuese","fueses","fu\xe9semos","fueseis","fuesen","siendo","sido","tengo","tienes","tiene","tenemos","ten\xe9is","tienen","tenga","tengas","tengamos","teng\xe1is","tengan","tendr\xe9","tendr\xe1s","tendr\xe1","tendremos","tendr\xe9is","tendr\xe1n","tendr\xeda","tendr\xedas","tendr\xedamos","tendr\xedais","tendr\xedan","ten\xeda","ten\xedas","ten\xedamos","ten\xedais","ten\xedan","tuve","tuviste","tuvo","tuvimos","tuvisteis","tuvieron","tuviera","tuvieras","tuvi\xe9ramos","tuvierais","tuvieran","tuviese","tuvieses","tuvi\xe9semos","tuvieseis","tuviesen","teniendo","tenido","tenida","tenidos","tenidas","tened"],portuguese:["de","a","o","que","e","do","da","em","um","para","com","n\xe3o","uma","os","no","se","na","por","mais","as","dos","como","mas","ao","ele","das","\xe0","seu","sua","ou","quando","muito","nos","j\xe1","eu","tamb\xe9m","s\xf3","pelo","pela","at\xe9","isso","ela","entre","depois","sem","mesmo","aos","seus","quem","nas","me","esse","eles","voc\xea","essa","num","nem","suas","meu","\xe0s","minha","numa","pelos","elas","qual","n\xf3s","lhe","deles","essas","esses","pelas","este","dele","tu","te","voc\xeas","vos","lhes","meus","minhas","teu","tua","teus","tuas","nosso","nossa","nossos","nossas","dela","delas","esta","estes","estas","aquele","aquela","aqueles","aquelas","isto","aquilo","estou","est\xe1","estamos","est\xe3o","estive","esteve","estivemos","estiveram","estava","est\xe1vamos","estavam","estivera","estiv\xe9ramos","esteja","estejamos","estejam","estivesse","estiv\xe9ssemos","estivessem","estiver","estivermos","estiverem","hei","h\xe1","havemos","h\xe3o","houve","houvemos","houveram","houvera","houv\xe9ramos","haja","hajamos","hajam","houvesse","houv\xe9ssemos","houvessem","houver","houvermos","houverem","houverei","houver\xe1","houveremos","houver\xe3o","houveria","houver\xedamos","houveriam","sou","somos","s\xe3o","era","\xe9ramos","eram","fui","foi","fomos","foram","fora","f\xf4ramos","seja","sejamos","sejam","fosse","f\xf4ssemos","fossem","for","formos","forem","serei","ser\xe1","seremos","ser\xe3o","seria","ser\xedamos","seriam","tenho","tem","temos","t\xe9m","tinha","t\xednhamos","tinham","tive","teve","tivemos","tiveram","tivera","tiv\xe9ramos","tenha","tenhamos","tenham","tivesse","tiv\xe9ssemos","tivessem","tiver","tivermos","tiverem","terei","ter\xe1","teremos","ter\xe3o","teria","ter\xedamos","teriam"],dutch:["de","en","van","ik","te","dat","die","in","een","hij","het","niet","zijn","is","was","op","aan","met","als","voor","had","er","maar","om","hem","dan","zou","of","wat","mijn","men","dit","zo","door","over","ze","zich","bij","ook","tot","je","mij","uit","der","daar","haar","naar","heb","hoe","heeft","hebben","deze","u","want","nog","zal","me","zij","nu","ge","geen","omdat","iets","worden","toch","al","waren","veel","meer","doen","toen","moet","ben","zonder","kan","hun","dus","alles","onder","ja","eens","hier","wie","werd","altijd","doch","wordt","wezen","kunnen","ons","zelf","tegen","na","reeds","wil","kon","niets","uw","iemand","geweest","andere"],swedish:["och","det","att","i","en","jag","hon","som","han","p\xe5","den","med","var","sig","f\xf6r","s\xe5","till","\xe4r","men","ett","om","hade","de","av","icke","mig","du","henne","d\xe5","sin","nu","har","inte","hans","honom","skulle","hennes","d\xe4r","min","man","ej","vid","kunde","n\xe5got","fr\xe5n","ut","n\xe4r","efter","upp","vi","dem","vara","vad","\xf6ver","\xe4n","dig","kan","sina","h\xe4r","ha","mot","alla","under","n\xe5gon","eller","allt","mycket","sedan","ju","denna","sj\xe4lv","detta","\xe5t","utan","varit","hur","ingen","mitt","ni","bli","blev","oss","din","dessa","n\xe5gra","deras","blir","mina","samma","vilken","er","s\xe5dan","v\xe5r","blivit","dess","inom","mellan","s\xe5dant","varf\xf6r","varje","vilka","ditt","vem","vilket","sitta","s\xe5dana","vart","dina","vars","v\xe5rt","v\xe5ra","ert","era","vilkas"],russian:["\u0438","\u0432","\u0432\u043e","\u043d\u0435","\u0447\u0442\u043e","\u043e\u043d","\u043d\u0430","\u044f","\u0441","\u0441\u043e","\u043a\u0430\u043a","\u0430","\u0442\u043e","\u0432\u0441\u0435","\u043e\u043d\u0430","\u0442\u0430\u043a","\u0435\u0433\u043e","\u043d\u043e","\u0434\u0430","\u0442\u044b","\u043a","\u0443","\u0436\u0435","\u0432\u044b","\u0437\u0430","\u0431\u044b","\u043f\u043e","\u0442\u043e\u043b\u044c\u043a\u043e","\u0435\u0435","\u043c\u043d\u0435","\u0431\u044b\u043b\u043e","\u0432\u043e\u0442","\u043e\u0442","\u043c\u0435\u043d\u044f","\u0435\u0449\u0435","\u043d\u0435\u0442","\u043e","\u0438\u0437","\u0435\u043c\u0443","\u0442\u0435\u043f\u0435\u0440\u044c","\u043a\u043e\u0433\u0434\u0430","\u0434\u0430\u0436\u0435","\u043d\u0443","\u0432\u0434\u0440\u0443\u0433","\u043b\u0438","\u0435\u0441\u043b\u0438","\u0443\u0436\u0435","\u0438\u043b\u0438","\u043d\u0438","\u0431\u044b\u0442\u044c","\u0431\u044b\u043b","\u043d\u0435\u0433\u043e","\u0434\u043e","\u0432\u0430\u0441","\u043d\u0438\u0431\u0443\u0434\u044c","\u043e\u043f\u044f\u0442\u044c","\u0443\u0436","\u0432\u0430\u043c","\u0441\u043a\u0430\u0437\u0430\u043b","\u0432\u0435\u0434\u044c","\u0442\u0430\u043c","\u043f\u043e\u0442\u043e\u043c","\u0441\u0435\u0431\u044f","\u043d\u0438\u0447\u0435\u0433\u043e","\u0435\u0439","\u043c\u043e\u0436\u0435\u0442","\u043e\u043d\u0438","\u0442\u0443\u0442","\u0433\u0434\u0435","\u0435\u0441\u0442\u044c","\u043d\u0430\u0434\u043e","\u043d\u0435\u0439","\u0434\u043b\u044f","\u043c\u044b","\u0442\u0435\u0431\u044f","\u0438\u0445","\u0447\u0435\u043c","\u0431\u044b\u043b\u0430","\u0441\u0430\u043c","\u0447\u0442\u043e\u0431","\u0431\u0435\u0437","\u0431\u0443\u0434\u0442\u043e","\u0447\u0435\u043b\u043e\u0432\u0435\u043a","\u0447\u0435\u0433\u043e","\u0440\u0430\u0437","\u0442\u043e\u0436\u0435","\u0441\u0435\u0431\u0435","\u043f\u043e\u0434","\u0436\u0438\u0437\u043d\u044c","\u0431\u0443\u0434\u0435\u0442","\u0436","\u0442\u043e\u0433\u0434\u0430","\u043a\u0442\u043e","\u044d\u0442\u043e\u0442","\u0433\u043e\u0432\u043e\u0440\u0438\u043b","\u0442\u043e\u0433\u043e","\u043f\u043e\u0442\u043e\u043c\u0443","\u044d\u0442\u043e\u0433\u043e","\u043a\u0430\u043a\u043e\u0439","\u0441\u043e\u0432\u0441\u0435\u043c","\u043d\u0438\u043c","\u0437\u0434\u0435\u0441\u044c","\u044d\u0442\u043e\u043c","\u043e\u0434\u0438\u043d","\u043f\u043e\u0447\u0442\u0438","\u043c\u043e\u0439","\u0442\u0435\u043c","\u0447\u0442\u043e\u0431\u044b","\u043d\u0435\u0435","\u043a\u0430\u0436\u0435\u0442\u0441\u044f","\u0441\u0435\u0439\u0447\u0430\u0441","\u0431\u044b\u043b\u0438","\u043a\u0443\u0434\u0430","\u0437\u0430\u0447\u0435\u043c","\u0441\u043a\u0430\u0437\u0430\u0442\u044c","\u0432\u0441\u0435\u0445","\u043d\u0438\u043a\u043e\u0433\u0434\u0430","\u0441\u0435\u0433\u043e\u0434\u043d\u044f","\u043c\u043e\u0436\u043d\u043e","\u043f\u0440\u0438","\u043d\u0430\u043a\u043e\u043d\u0435\u0446","\u0434\u0432\u0430","\u043e\u0431","\u0434\u0440\u0443\u0433\u043e\u0439","\u0445\u043e\u0442\u044c","\u043f\u043e\u0441\u043b\u0435","\u043d\u0430\u0434","\u0431\u043e\u043b\u044c\u0448\u0435","\u0442\u043e\u0442","\u0447\u0435\u0440\u0435\u0437","\u044d\u0442\u0438","\u043d\u0430\u0441","\u043f\u0440\u043e","\u0432\u0441\u0435\u0433\u043e","\u043d\u0438\u0445","\u043a\u0430\u043a\u0430\u044f","\u043c\u043d\u043e\u0433\u043e","\u0440\u0430\u0437\u0432\u0435","\u0441\u043a\u0430\u0437\u0430\u043b\u0430","\u0442\u0440\u0438","\u044d\u0442\u0443","\u043c\u043e\u044f","\u0432\u043f\u0440\u043e\u0447\u0435\u043c","\u0445\u043e\u0440\u043e\u0448\u043e","\u0441\u0432\u043e\u044e","\u044d\u0442\u043e\u0439","\u043f\u0435\u0440\u0435\u0434","\u0438\u043d\u043e\u0433\u0434\u0430","\u043b\u0443\u0447\u0448\u0435","\u0447\u0443\u0442\u044c","\u0442\u043e\u043c","\u043d\u0435\u043b\u044c\u0437\u044f","\u0442\u0430\u043a\u043e\u0439","\u0438\u043c","\u0431\u043e\u043b\u0435\u0435","\u0432\u0441\u0435\u0433\u0434\u0430","\u043a\u043e\u043d\u0435\u0447\u043d\u043e","\u0432\u0441\u044e","\u043c\u0435\u0436\u0434\u0443"],norwegian:["og","i","jeg","det","at","en","et","den","til","er","som","p\xe5","de","med","han","av","ikke","ikkje","der","s\xe5","var","meg","seg","men","ett","har","om","vi","min","mitt","ha","hadde","hun","n\xe5","over","da","ved","fra","du","ut","sin","dem","oss","opp","man","kan","hans","hvor","eller","hva","skal","selv","sj\xf8l","her","alle","vil","bli","ble","blei","blitt","kunne","inn","n\xe5r","v\xe6re","kom","noen","noe","ville","dere","som","deres","kun","ja","etter","ned","skulle","denne","for","deg","si","sine","sitt","mot","\xe5","meget","hvorfor","dette","disse","uten","hvordan","ingen","din","ditt","blir","samme","hvilken","hvilke","s\xe5nn","inni","mellom","v\xe5r","hver","hvem","vors","hvis","b\xe5de","bare","enn","fordi","f\xf8r","mange","ogs\xe5","slik","v\xe6rt","v\xe6re","b\xe5e","begge","siden","dykk","dykkar","dei","deira","deires","deim","di","d\xe5","eg","ein","eit","eitt","elles","honom","hj\xe5","ho","hoe","henne","hennar","hennes","hoss","hossen","ikkje","ingi","inkje","korleis","korso","kva","kvar","kvarhelst","kven","kvi","kvifor","me","medan","mi","mine","mykje","no","nokon","noka","nokor","noko","nokre","si","sia","sidan","so","somt","somme","um","upp","vere","vore","verte","vort","varte","vart"],german:["aber","alle","allem","allen","aller","alles","als","also","am","an","ander","andere","anderem","anderen","anderer","anderes","anderm","andern","anderr","anders","auch","auf","aus","bei","bin","bis","bist","da","damit","dann","der","den","des","dem","die","das","da\xdf","derselbe","derselben","denselben","desselben","demselben","dieselbe","dieselben","dasselbe","dazu","dein","deine","deinem","deinen","deiner","deines","denn","derer","dessen","dich","dir","du","dies","diese","diesem","diesen","dieser","dieses","doch","dort","durch","ein","eine","einem","einen","einer","eines","einig","einige","einigem","einigen","einiger","einiges","einmal","er","ihn","ihm","es","etwas","euer","eure","eurem","euren","eurer","eures","f\xfcr","gegen","gewesen","hab","habe","haben","hat","hatte","hatten","hier","hin","hinter","ich","mich","mir","ihr","ihre","ihrem","ihren","ihrer","ihres","euch","im","in","indem","ins","ist","jede","jedem","jeden","jeder","jedes","jene","jenem","jenen","jener","jenes","jetzt","kann","kein","keine","keinem","keinen","keiner","keines","k\xf6nnen","k\xf6nnte","machen","man","manche","manchem","manchen","mancher","manches","mein","meine","meinem","meinen","meiner","meines","mit","muss","musste","nach","nicht","nichts","noch","nun","nur","ob","oder","ohne","sehr","sein","seine","seinem","seinen","seiner","seines","selbst","sich","sie","ihnen","sind","so","solche","solchem","solchen","solcher","solches","soll","sollte","sondern","sonst","\xfcber","um","und","uns","unse","unsem","unsen","unser","unses","unter","viel","vom","von","vor","w\xe4hrend","war","waren","warst","was","weg","weil","weiter","welche","welchem","welchen","welcher","welches","wenn","werde","werden","wie","wieder","will","wir","wird","wirst","wo","wollen","wollte","w\xfcrde","w\xfcrden","zu","zum","zur","zwar","zwischen"],danish:["og","i","jeg","det","at","en","den","til","er","som","p\xe5","de","med","han","af","for","ikke","der","var","mig","sig","men","et","har","om","vi","min","havde","ham","hun","nu","over","da","fra","du","ud","sin","dem","os","op","man","hans","hvor","eller","hvad","skal","selv","her","alle","vil","blev","kunne","ind","n\xe5r","v\xe6re","dog","noget","ville","jo","deres","efter","ned","skulle","denne","end","dette","mit","ogs\xe5","under","have","dig","anden","hende","mine","alt","meget","sit","sine","vor","mod","disse","hvis","din","nogle","hos","blive","mange","ad","bliver","hendes","v\xe6ret","thi","jer","s\xe5dan"],finnish:["olla","olen","olet","on","olemme","olette","ovat","ole","oli","olisi","olisit","olisin","olisimme","olisitte","olisivat","olit","olin","olimme","olitte","olivat","ollut","olleet","en","et","ei","emme","ette","eiv\xe4t","min\xe4","minun","minut","minua","minussa","minusta","minuun","minulla","minulta","minulle","sin\xe4","sinun","sinut","sinua","sinussa","sinusta","sinuun","sinulla","sinulta","sinulle","h\xe4n","h\xe4nen","h\xe4net","h\xe4nt\xe4","h\xe4ness\xe4","h\xe4nest\xe4","h\xe4neen","h\xe4nell\xe4","h\xe4nelt\xe4","h\xe4nelle","me","meid\xe4n","meid\xe4t","meit\xe4","meiss\xe4","meist\xe4","meihin","meill\xe4","meilt\xe4","meille","te","teid\xe4n","teid\xe4t","teit\xe4","teiss\xe4","teist\xe4","teihin","teill\xe4","teilt\xe4","teille","he","heid\xe4n","heid\xe4t","heit\xe4","heiss\xe4","heist\xe4","heihin","heill\xe4","heilt\xe4","heille","t\xe4m\xe4","t\xe4m\xe4n","t\xe4t\xe4","t\xe4ss\xe4","t\xe4st\xe4","t\xe4h\xe4n","t\xe4ll\xe4","t\xe4lt\xe4","t\xe4lle","t\xe4n\xe4","t\xe4ksi","tuo","tuon","tuota","tuossa","tuosta","tuohon","tuolla","tuolta","tuolle","tuona","tuoksi","se","sen","sit\xe4","siin\xe4","siit\xe4","siihen","sill\xe4","silt\xe4","sille","sin\xe4","siksi","n\xe4m\xe4","n\xe4iden","n\xe4it\xe4","n\xe4iss\xe4","n\xe4ist\xe4","n\xe4ihin","n\xe4ill\xe4","n\xe4ilt\xe4","n\xe4ille","n\xe4in\xe4","n\xe4iksi","nuo","noiden","noita","noissa","noista","noihin","noilla","noilta","noille","noina","noiksi","ne","niiden","niit\xe4","niiss\xe4","niist\xe4","niihin","niill\xe4","niilt\xe4","niille","niin\xe4","niiksi","kuka","kenen","kenet","ket\xe4","keness\xe4","kenest\xe4","keneen","kenell\xe4","kenelt\xe4","kenelle","kenen\xe4","keneksi","ketk\xe4","keiden","ketk\xe4","keit\xe4","keiss\xe4","keist\xe4","keihin","keill\xe4","keilt\xe4","keille","kein\xe4","keiksi","mik\xe4","mink\xe4","mink\xe4","mit\xe4","miss\xe4","mist\xe4","mihin","mill\xe4","milt\xe4","mille","min\xe4","miksi","mitk\xe4","joka","jonka","jota","jossa","josta","johon","jolla","jolta","jolle","jona","joksi","jotka","joiden","joita","joissa","joista","joihin","joilla","joilta","joille","joina","joiksi","ett\xe4","ja","jos","koska","kuin","mutta","niin","sek\xe4","sill\xe4","tai","vaan","vai","vaikka","kanssa","mukaan","noin","poikki","yli","kun","niin","nyt","itse"]},E=(Object.keys(A),{ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"}),K={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},xt="[aeiouy]",Qt="[^aeiou][^aeiouy]*",qn=xt+"[aeiou]*",ir="^("+Qt+")?"+qn+Qt,wr="^("+Qt+")?"+qn+Qt+"("+qn+")?$",Gr="^("+Qt+")?"+qn+Qt+qn+Qt,Fr="^("+Qt+")?"+xt;function Lr(a){let l,i,u,f,w,W;if(a.length<3)return a;const J=a.substring(0,1);if("y"==J&&(a=J.toUpperCase()+a.substring(1)),u=/^(.+?)(ss|i)es$/,f=/^(.+?)([^s])s$/,u.test(a)?a=a.replace(u,"$1$2"):f.test(a)&&(a=a.replace(f,"$1$2")),u=/^(.+?)eed$/,f=/^(.+?)(ed|ing)$/,u.test(a)){const le=u.exec(a);u=new RegExp(ir),u.test(le[1])&&(u=/.$/,a=a.replace(u,""))}else f.test(a)&&(l=f.exec(a)[1],f=new RegExp(Fr),f.test(l)&&(a=l,f=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),W=new RegExp("^"+Qt+xt+"[^aeiouwxy]$"),f.test(a)?a+="e":w.test(a)?(u=/.$/,a=a.replace(u,"")):W.test(a)&&(a+="e")));if(u=/^(.+?)y$/,u.test(a)){const le=u.exec(a);l=le?.[1],u=new RegExp(Fr),l&&u.test(l)&&(a=l+"i")}if(u=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,u.test(a)){const le=u.exec(a);l=le?.[1],i=le?.[2],u=new RegExp(ir),l&&u.test(l)&&(a=l+E[i])}if(u=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,u.test(a)){const le=u.exec(a);l=le?.[1],i=le?.[2],u=new RegExp(ir),l&&u.test(l)&&(a=l+K[i])}if(u=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,f=/^(.+?)(s|t)(ion)$/,u.test(a)){const le=u.exec(a);l=le?.[1],u=new RegExp(Gr),l&&u.test(l)&&(a=l)}else if(f.test(a)){const le=f.exec(a);l=le?.[1]??""+le?.[2]??"",f=new RegExp(Gr),f.test(l)&&(a=l)}if(u=/^(.+?)e$/,u.test(a)){const le=u.exec(a);l=le?.[1],u=new RegExp(Gr),f=new RegExp(wr),w=new RegExp("^"+Qt+xt+"[^aeiouwxy]$"),l&&(u.test(l)||f.test(l)&&!w.test(l))&&(a=l)}return u=/ll$/,f=new RegExp(Gr),u.test(a)&&f.test(a)&&(u=/.$/,a=a.replace(u,"")),"y"==J&&(a=J.toLowerCase()+a.substring(1)),a}function Ki(a,l){var i;const u=`${this.language}:${a}:${l}`;return this.normalizationCache.has(u)?this.normalizationCache.get(u):null!==(i=this.stopWords)&&void 0!==i&&i.includes(l)?(this.normalizationCache.set(u,""),""):(this.stemmer&&!this.stemmerSkipProperties.has(a)&&(l=this.stemmer(l)),l=function Oe(a){const l=[];for(let i=0;i0}function jo(a,l){return l[1]>a}function Br(a,l){return l[1]}function tr(a,l,i,u,f,w){return ur.apply(this,arguments)}function ur(){return(ur=(0,T.Z)(function*(a,l,i,u,f,w){if(!a.enabled)return;const W=a.sorts[l];let J;switch(f){case"string":J=fo.bind(null,u,w);break;case"number":J=jo.bind(null,u);break;case"boolean":J=Br.bind(null,u)}let le=W.orderedDocs.findIndex(J);-1===le?(le=W.orderedDocs.length,W.orderedDocs.push([i,u])):W.orderedDocs.splice(le,0,[i,u]),W.docs[i]=le;const Ae=W.orderedDocs.length;for(let Qe=le+1;Qe"u"&&J++;let le=0;const Ae=new Array(W);for(let Qe=0;Qe"u"?(le++,Ot=W-le):f&&(Ot=W-J-Ot-1),Ae[Ot]=ft}return Ae})).apply(this,arguments)}function ps(a){return bi.apply(this,arguments)}function bi(){return(bi=(0,T.Z)(function*(a){return a.enabled?a.sortableProperties:[]})).apply(this,arguments)}function ia(a){return zs.apply(this,arguments)}function zs(){return(zs=(0,T.Z)(function*(a){return a.enabled?a.sortablePropertiesWithTypes:{}})).apply(this,arguments)}function sa(a){return xs.apply(this,arguments)}function xs(){return(xs=(0,T.Z)(function*(a){return a.enabled?{sortableProperties:a.sortableProperties,sortablePropertiesWithTypes:a.sortablePropertiesWithTypes,sorts:a.sorts,enabled:!0}:{enabled:!1}})).apply(this,arguments)}function $s(a){return aa.apply(this,arguments)}function aa(){return(aa=(0,T.Z)(function*(a){return a.enabled?{sortableProperties:a.sortableProperties,sortablePropertiesWithTypes:a.sortablePropertiesWithTypes,sorts:a.sorts,enabled:a.enabled}:{enabled:!1}})).apply(this,arguments)}function ca(){return(ca=(0,T.Z)(function*(){return{create:Qn,insert:tr,remove:ti,save:$s,load:sa,sortBy:hi,getSortableProperties:ps,getSortablePropertiesWithTypes:ia}})).apply(this,arguments)}function Ps(){return Ps=(0,T.Z)(function*({schema:a,sort:l,language:i,components:u,id:f}){u||(u={}),f||(f=yield Ve());let w=u.tokenizer,W=u.index,J=u.documentsStore,le=u.sorter;if(w?w.tokenize||(w=yield jt(w)):w=yield jt({language:i??"english"}),u.tokenizer&&i)throw ot("NO_LANGUAGE_WITH_CUSTOM_TOKENIZER");W||(W=yield function Ts(){return Lo.apply(this,arguments)}()),le||(le=yield function Za(){return ca.apply(this,arguments)}()),J||(J=yield function pn(){return mn.apply(this,arguments)}()),function Ws(a){const l={formatElapsedTime:Nt,getDocumentIndexId:rt,getDocumentProperties:Ln,validateSchema:de};for(const i of Gt){const u=i;if(a[u]){if("function"!=typeof a[u])throw ot("COMPONENT_MUST_BE_FUNCTION",u)}else a[u]=l[u]}for(const i of vn){const u=i;a[u]?Array.isArray(a[u])||(a[u]=[a[u]]):a[u]=[];for(const f of a[u])if("function"!=typeof f)throw ot("COMPONENT_MUST_BE_FUNCTION_OR_ARRAY_FUNCTIONS",u)}for(const i of Object.keys(a))if(!Dt.includes(i)&&!Gt.includes(i)&&!vn.includes(i))throw ot("UNSUPPORTED_COMPONENT",i)}(u);const{getDocumentProperties:Ae,getDocumentIndexId:Qe,validateSchema:ft,beforeInsert:Ot,afterInsert:Lt,beforeRemove:Ht,afterRemove:tn,beforeUpdate:Xn,afterUpdate:Do,beforeMultipleInsert:to,afterMultipleInsert:Nn,beforeMultipleRemove:Mo,afterMultipleRemove:oi,beforeMultipleUpdate:Eo,afterMultipleUpdate:Ho,formatElapsedTime:Go}=u,Vo={data:{},caches:{},schema:a,tokenizer:w,index:W,sorter:le,documentsStore:J,getDocumentProperties:Ae,getDocumentIndexId:Qe,validateSchema:ft,beforeInsert:Ot,afterInsert:Lt,beforeRemove:Ht,afterRemove:tn,beforeUpdate:Xn,afterUpdate:Do,beforeMultipleInsert:to,afterMultipleInsert:Nn,beforeMultipleRemove:Mo,afterMultipleRemove:oi,beforeMultipleUpdate:Eo,afterMultipleUpdate:Ho,formatElapsedTime:Go,id:f};return Vo.data={index:yield Vo.index.create(Vo,a),docs:yield Vo.documentsStore.create(Vo),sorting:yield Vo.sorter.create(Vo,a,l)},Vo}),Ps.apply(this,arguments)}const rs=Symbol("orama.insertions");var ua;Symbol("orama.removals");const D=(null===(ua=globalThis.process)||void 0===ua?void 0:ua.emitWarning)??function(l,i){console.warn(`[WARNING] [${i.code}] ${l}`)};function Q(a,l,i,u){return be.apply(this,arguments)}function be(){return be=(0,T.Z)(function*(a,l,i,u){const f=yield a.validateSchema(l,a.schema);if(f)throw ot("SCHEMA_VALIDATION_FAILURE",f);return function lt(a,l,i,u){return Mt.apply(this,arguments)}(a,l,i,u)}),be.apply(this,arguments)}function Mt(){return(Mt=(0,T.Z)(function*(a,l,i,u){const{index:f,docs:w}=a.data,W=yield a.getDocumentIndexId(l);if("string"!=typeof W)throw ot("DOCUMENT_ID_MUST_BE_STRING",typeof W);if(!(yield a.documentsStore.store(w,W,l)))throw ot("DOCUMENT_ALREADY_EXISTS",W);const J=yield a.documentsStore.count(w);u||(yield gn(a.beforeInsert,a,W,l));const le=yield a.index.getSearchableProperties(f),Ae=yield a.index.getSearchablePropertiesWithTypes(f),Qe=yield a.getDocumentProperties(l,le);for(const[to,Nn]of Object.entries(Qe)){if(typeof Nn>"u")continue;const Mo=typeof Nn,oi=Ae[to];if(!(Wt(oi)&&Array.isArray(Nn)||Mo===oi))throw ot("INVALID_DOCUMENT_PROPERTY",to,oi,Mo)}for(const to of le){var ft,Ot,Lt,Ht;const Nn=Qe[to];if(typeof Nn>"u")continue;const Mo=Ae[to];yield null===(Ot=(ft=a.index).beforeInsert)||void 0===Ot?void 0:Ot.call(ft,a.data.index,to,W,Nn,Mo,i,a.tokenizer,J),yield a.index.insert(a.index,a.data.index,to,W,Nn,Mo,i,a.tokenizer,J),yield null===(Ht=(Lt=a.index).afterInsert)||void 0===Ht?void 0:Ht.call(Lt,a.data.index,to,W,Nn,Mo,i,a.tokenizer,J)}const tn=yield a.sorter.getSortableProperties(a.data.sorting),Xn=yield a.sorter.getSortablePropertiesWithTypes(a.data.sorting),Do=yield a.getDocumentProperties(l,tn);for(const to of tn){const Nn=Do[to];if(typeof Nn>"u")continue;const Mo=Xn[to];yield a.sorter.insert(a.data.sorting,to,W,Nn,Mo,i)}return u||(yield gn(a.afterInsert,a,W,l)),function ee(a){"number"!=typeof a[rs]&&(queueMicrotask(()=>{a[rs]=void 0}),a[rs]=0),a[rs]>1e3?(D("Orama's insert operation is synchronous. Please avoid inserting a large number of document in a single operation in order not to block the main thread or, in alternative, please use insertMultiple.",{code:"ORAMA0001"}),a[rs]=-1):a[rs]>=0&&a[rs]++}(a),W})).apply(this,arguments)}function go(){return go=(0,T.Z)(function*(a,l,i,u,f){f||(yield Co(a.beforeMultipleInsert,a,l));const w=l.length;for(let W=0;W{let le=0;function Ae(){return Qe.apply(this,arguments)}function Qe(){return(Qe=(0,T.Z)(function*(){const ft=l.slice(le*i,(le+1)*i);if(le++,!ft.length)return W();for(const Ot of ft)try{const Lt=yield Q(a,Ot,u,f);w.push(Lt)}catch(Lt){J(Lt)}setTimeout(Ae,0)})).apply(this,arguments)}setTimeout(Ae,0)}),f||(yield Co(a.afterMultipleInsert,a,l)),w}),so.apply(this,arguments)}function $n(a="desc",l,i){return"asc"===a.toLowerCase()?l[1]-i[1]:i[1]-l[1]}function bo(){return(bo=(0,T.Z)(function*(a,l,i){const u={},f=l.map(([Ae])=>Ae),w=yield a.documentsStore.getMultiple(a.data.docs,f),W=Object.keys(i),J=yield a.index.getSearchablePropertiesWithTypes(a.data.index);for(const Ae of W){let Qe={};if("number"===J[Ae]){const{ranges:ft}=i[Ae],Ot=[];for(const Lt of ft)Ot.push([`${Lt.from}-${Lt.to}`,0]);Qe=Object.fromEntries(Ot)}u[Ae]={count:0,values:Qe}}const le=w.length;for(let Ae=0;Ae$n(Qe.sort,ft,Ot)).slice(Qe.offset??0,Qe.limit??10))}return u})).apply(this,arguments)}function dr(a,l,i,u){for(const f of a){const w=`${f.from}-${f.to}`;u&&u.has(w)||i>=f.from&&i<=f.to&&(void 0===l[w]?l[w]=1:(l[w]++,u&&u.add(w)))}}function Di(a,l,i,u){const f=l?.toString()??("boolean"===i?"false":"");u&&u.has(f)||(a[f]=(a[f]??0)+1,u&&u.add(f))}const is={k:1.2,b:.75,d:.5};function Kr(){return(Kr=(0,T.Z)(function*(a,l,i,u,f,w,W,J){const le={},Ae={};for(const Qe of w){const ft={};for(const Ot of W)ft[Ot]=[];le[Qe]=ft,Ae[Qe]=[]}return{timeStart:yield Re(),tokenizer:a,index:l,documentsStore:i,language:u,params:f,docsCount:J,uniqueDocsIDs:{},indexMap:le,docsIntersection:Ae}})).apply(this,arguments)}function Pi(){return Pi=(0,T.Z)(function*(a,l,i){l.relevance=Object.assign(l.relevance??{},is);const u=l.facets&&Object.keys(l.facets).length>0,{limit:f=10,offset:w=0,term:W,properties:J,threshold:le=1}=l,Ae=!0===l.preflight,{index:Qe,docs:ft}=a.data,Ot=yield a.tokenizer.tokenize(W??"",i);let Lt=a.caches.propertiesToSearch;if(!Lt){const Eo=yield a.index.getSearchablePropertiesWithTypes(Qe);Lt=yield a.index.getSearchableProperties(Qe),Lt=Lt.filter(Ho=>Eo[Ho].startsWith("string")),a.caches.propertiesToSearch=Lt}if(J&&"*"!==J){for(const Eo of J)if(!Lt.includes(Eo))throw ot("UNKNOWN_INDEX",Eo,Lt.join(", "));Lt=Lt.filter(Eo=>J.includes(Eo))}const Ht=yield function Zr(a,l,i,u,f,w,W,J){return Kr.apply(this,arguments)}(a.tokenizer,a.index,a.documentsStore,i,l,Lt,Ot,yield a.documentsStore.count(ft)),tn=Array.from({length:f}),Xn=Object.keys(l.where??{}).length>0;let Do=[];if(Xn&&(Do=yield a.index.searchByWhereClause(Ht,Qe,l.where)),Ot.length){const Eo=Lt.length;for(let Ho=0;Ho[Eo,0]));let Nn=Object.entries(Ht.uniqueDocsIDs);if(Xn&&(Nn=function Yr(a,l){const i=new Map,u=[];for(const f of a)i.set(f,!0);for(const[f,w]of l)i.has(f)&&(u.push([f,w]),i.delete(f));return u}(Do,Nn)),l.sortBy)if("function"==typeof l.sortBy){const Eo=Nn.map(([Vo])=>Vo),Go=(yield a.documentsStore.getMultiple(a.data.docs,Eo)).map((Vo,Hr)=>[Nn[Hr][0],Nn[Hr][1],Vo]);Go.sort(l.sortBy),Nn=Go.map(([Vo,Hr])=>[Vo,Hr])}else Nn=yield a.sorter.sortBy(a.data.sorting,Nn,l.sortBy);else Nn=Nn.sort(nn);const Mo=new Set;if(!Ae)for(let Eo=w;Eo"u")break;const[Go,Vo]=Ho;if(!Mo.has(Go)){const Hr=yield a.documentsStore.get(ft,Go);tn[Eo]={id:Go,score:Vo,document:Hr},Mo.add(Go)}}const oi={elapsed:yield a.formatElapsedTime((yield Re())-Ht.timeStart),hits:[],count:Nn.length};if(Ae||(oi.hits=tn.filter(Boolean)),u){const Eo=yield function Qo(a,l,i){return bo.apply(this,arguments)}(a,Nn,l.facets);oi.facets=Eo}return oi}),Pi.apply(this,arguments)}function $c(a,l){return Ao.apply(this,arguments)}function Ao(){return(Ao=(0,T.Z)(function*(a,l){"positions"in a.data||Object.assign(a.data,{positions:{}}),yield xr(a,yield a.documentsStore.get(a.data.docs,l),l)})).apply(this,arguments)}const Qa=/[\p{L}0-9_'-]+/gimu;function xr(a,l,i){return jr.apply(this,arguments)}function jr(){return(jr=(0,T.Z)(function*(a,l,i,u="",f=a.schema){a.data.positions[i]=Object.create(null);for(const w of Object.keys(l)){const J="object"==typeof f[w],le=`${u}${w}`;if("object"==typeof l[w]&&w in f&&J&&xr(a,l[w],i,le+".",f[w]),"string"!=typeof l[w]||!(w in f)||J)continue;a.data.positions[i][le]=Object.create(null);const Ae=l[w];let Qe;for(;null!==(Qe=Qa.exec(Ae));){const ft=Qe[0].toLowerCase(),Ot=`${a.tokenizer.language}:${ft}`;let Lt;a.tokenizer.normalizationCache.has(Ot)?Lt=a.tokenizer.normalizationCache.get(Ot):([Lt]=yield a.tokenizer.tokenize(ft),a.tokenizer.normalizationCache.set(Ot,Lt)),Array.isArray(a.data.positions[i][le][Lt])||(a.data.positions[i][le][Lt]=[]),a.data.positions[i][le][Lt].push({start:Qe.index,length:Qe[0].length})}}})).apply(this,arguments)}function ms(){return ms=(0,T.Z)(function*(a,l,i){const u=yield function vr(a,l,i){return Pi.apply(this,arguments)}(a,l,i),f=yield a.tokenizer.tokenize(l.term??"",i),w=u.hits.map(W=>Object.assign(W,{positions:Object.fromEntries(Object.entries(a.data.positions[W.id]).map(([J,le])=>[J,Object.fromEntries(Object.entries(le).filter(([Ae])=>f.find(Qe=>Ae.startsWith(Qe))))]))}));return u.hits=w,u}),ms.apply(this,arguments)}var Qi=d(9666),Mr=d(4664);class Gc extends Tt{constructor(l){super(),this.options=l,this.db$=(0,Qi.D)(function Ka(a){return Ps.apply(this,arguments)}({schema:{title:"string",section:"string",content:"string"},components:{afterInsert:[$c],tokenizer:{stemmer:l?.stemmer}}})).pipe((0,V.U)(i=>i),(0,Mr.w)(i=>this.request("assets/ng-doc/indexes.json").pipe((0,Mr.w)(u=>function _n(a,l,i,u,f){return go.apply(this,arguments)}(i,u)),(0,V.U)(()=>i))),(0,Y.d)(1))}search(l){return this.db$.pipe((0,Mr.w)(i=>function Wc(a,l,i){return ms.apply(this,arguments)}(i,{term:l,boost:{title:4,section:2},properties:["section","content"],tolerance:this.options?.tolerance,exact:this.options?.exact,limit:this.options?.limit??10})),(0,V.U)(i=>i.hits.map(u=>{const f=(0,an.objectKeys)(u.positions);return{index:u.document,positions:f.reduce((w,W)=>(w[W]=[...(0,_t.asArray)(w[W]),...Object.values(u.positions[W]).flat()],w),{})}})))}request(l){return(0,Qi.D)(fetch(l)).pipe((0,Mr.w)(i=>i.json()))}}function Rd(a){return[{provide:C.Nh,useValue:a}]}var nr=d(776),Ai=d(6286),Ii=d(7396),Or=d(2560),Qr=d(2919);function Xa(a,l){if(1&a&&(o.TgZ(0,"span",3)(1,"span",4),o._UZ(2,"ng-doc-icon",5),o._uU(3),o.qZA()()),2&a){const i=l.$implicit;o.xp6(3),o.hij(" ",i," ")}}const Hi=function(a){return[a]};let lu=(()=>{class a{constructor(){this.breadcrumbs=[],this.home=(0,o.f3M)(Ai.a).routePrefix||"/"}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-breadcrumb"]],inputs:{breadcrumbs:"breadcrumbs"},standalone:!0,features:[o.jDz],decls:3,vars:4,consts:[["ng-doc-button-icon","",1,"ng-doc-breadcrumb",3,"routerLink"],["icon","home"],["class","ng-doc-breadcrumb",4,"ngFor","ngForOf"],[1,"ng-doc-breadcrumb"],["ng-doc-text",""],["icon","chevron-right"]],template:function(u,f){1&u&&(o.TgZ(0,"a",0),o._UZ(1,"ng-doc-icon",1),o.qZA(),o.YNc(2,Xa,4,1,"span",2)),2&u&&(o.Q6J("routerLink",o.VKq(2,Hi,f.home)),o.xp6(2),o.Q6J("ngForOf",f.breadcrumbs))},dependencies:[Ii.J,nr.rH,Or.q,p.ax,Qr.Uy],styles:["[_nghost-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:calc(var(--ng-doc-base-gutter) * 2);opacity:.9}[_nghost-%COMP%] .ng-doc-breadcrumb[_ngcontent-%COMP%]:not(:first-child){margin-right:var(--ng-doc-base-gutter)}[_nghost-%COMP%] .ng-doc-breadcrumb[_ngcontent-%COMP%]:not(:first-child):not(:last-child){opacity:.6}"],changeDetection:0})}return a})();function kn(a,l){if(1&a&&(o.TgZ(0,"a",3)(1,"div",4),o._UZ(2,"ng-doc-icon",5),o._uU(3," Previous "),o.qZA(),o.TgZ(4,"div",6),o._uU(5),o.qZA()()),2&a){const i=o.oxw();o.Q6J("routerLink",i.prevPage.route),o.xp6(5),o.Oqu(i.prevPage.title)}}function uu(a,l){if(1&a&&(o.TgZ(0,"a",7)(1,"div",4),o._uU(2," Next "),o._UZ(3,"ng-doc-icon",8),o.qZA(),o.TgZ(4,"div",6),o._uU(5),o.qZA()()),2&a){const i=o.oxw();o.Q6J("routerLink",i.nextPage.route),o.xp6(5),o.Oqu(i.nextPage.title)}}let kd=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-page-navigation"]],inputs:{prevPage:"prevPage",nextPage:"nextPage"},standalone:!0,features:[o.jDz],decls:3,vars:2,consts:[[1,"ng-doc-navigation-controls"],["class","ng-doc-prev-page",3,"routerLink",4,"ngIf"],["class","ng-doc-next-page",3,"routerLink",4,"ngIf"],[1,"ng-doc-prev-page",3,"routerLink"],["ng-doc-text","","size","small",1,"ng-doc-navigation-page-label"],["icon","arrow-left","ngDocTextLeft",""],["ng-doc-text","",1,"ng-doc-navigation-page-title"],[1,"ng-doc-next-page",3,"routerLink"],["icon","arrow-right","ngDocTextRight",""]],template:function(u,f){1&u&&(o.TgZ(0,"div",0),o.YNc(1,kn,6,2,"a",1),o.YNc(2,uu,6,2,"a",2),o.qZA()),2&u&&(o.xp6(1),o.Q6J("ngIf",f.prevPage),o.xp6(1),o.Q6J("ngIf",f.nextPage))},dependencies:[p.ez,p.O5,Or.q,Qr.Uy,Qr.eo,Qr.EH,nr.rH],styles:["[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%]{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-9);--ng-doc-icon-color: var(--ng-doc-text)}[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{opacity:.6}[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%] a.ng-doc-next-page[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%] a.ng-doc-prev-page[_ngcontent-%COMP%]{align-items:flex-start}[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%] a.ng-doc-next-page[_ngcontent-%COMP%]{align-items:flex-end}[_nghost-%COMP%] .ng-doc-navigation-controls[_ngcontent-%COMP%] a[_ngcontent-%COMP%] .ng-doc-navigation-page-title[_ngcontent-%COMP%]{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}"],changeDetection:0})}return a})();var da=d(5784),_s=d(8201),ha=d(2495),Gs=d(2572),As=d(5211),du=d(8180),Ja=d(836),fa=d(3620),ga=d(9773),Fd=d(2831);const ao=new Set;let vs,qa=(()=>{class a{constructor(i,u){this._platform=i,this._nonce=u,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):Yc}matchMedia(i){return(this._platform.WEBKIT||this._platform.BLINK)&&function Pr(a,l){if(!ao.has(a))try{vs||(vs=document.createElement("style"),l&&(vs.nonce=l),vs.setAttribute("type","text/css"),document.head.appendChild(vs)),vs.sheet&&(vs.sheet.insertRule(`@media ${a} {body{ }}`,0),ao.add(a))}catch(i){console.error(i)}}(i,this._nonce),this._matchMedia(i)}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(Fd.t4),o.LFG(o.Ojb,8))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();function Yc(a){return{matches:"all"===a||""===a,media:a,addListener:()=>{},removeListener:()=>{}}}let Xi=(()=>{class a{constructor(i,u){this._mediaMatcher=i,this._zone=u,this._queries=new Map,this._destroySubject=new he.x}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(i){return Ni((0,ha.Eq)(i)).some(f=>this._registerQuery(f).mql.matches)}observe(i){const f=Ni((0,ha.Eq)(i)).map(W=>this._registerQuery(W).observable);let w=(0,Gs.a)(f);return w=(0,As.z)(w.pipe((0,du.q)(1)),w.pipe((0,Ja.T)(1),(0,fa.b)(0))),w.pipe((0,V.U)(W=>{const J={matches:!1,breakpoints:{}};return W.forEach(({matches:le,query:Ae})=>{J.matches=J.matches||le,J.breakpoints[Ae]=le}),J}))}_registerQuery(i){if(this._queries.has(i))return this._queries.get(i);const u=this._mediaMatcher.matchMedia(i),w={observable:new _.y(W=>{const J=le=>this._zone.run(()=>W.next(le));return u.addListener(J),()=>{u.removeListener(J)}}).pipe((0,H.O)(u),(0,V.U)(({matches:W})=>({query:i,matches:W})),(0,ga.R)(this._destroySubject)),mql:u};return this._queries.set(i,w),w}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(qa),o.LFG(o.R0b))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();function Ni(a){return a.map(l=>l.split(",")).reduce((l,i)=>l.concat(i)).map(l=>l.trim())}const Is={XSmall:"(max-width: 599.98px)",Small:"(min-width: 600px) and (max-width: 959.98px)",Medium:"(min-width: 960px) and (max-width: 1279.98px)",Large:"(min-width: 1280px) and (max-width: 1919.98px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599.98px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959.98px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"};function pa(...a){const l=a.length;if(0===l)throw new Error("list of properties cannot be empty.");return(0,V.U)(i=>{let u=i;for(let f=0;f{let a=class Om{constructor(i,u,f){this.templateRef=i,this.viewContainerRef=u,this.breakpointObserver=f,this.match=[],this.breakpoints=Is,this.unsubscribe$=new he.x}ngOnChanges(){this.unsubscribe$.next(),this.breakpointObserver.observe(this.match).pipe(pa("matches"),(0,$.x)(),(0,ga.R)(this.unsubscribe$),(0,ke.t)(this)).subscribe(i=>{this.viewRef?.destroy(),this.viewRef=void 0,i&&(this.viewRef=this.viewContainerRef.createEmbeddedView(this.templateRef),this.viewRef.markForCheck())})}static#e=this.\u0275fac=function(u){return new(u||Om)(o.Y36(o.Rgc),o.Y36(o.s_b),o.Y36(Xi))};static#t=this.\u0275dir=o.lG2({type:Om,selectors:[["","ngDocMediaQuery",""]],inputs:{match:["ngDocMediaQuery","match"]},exportAs:["ngDocMediaQuery"],standalone:!0,features:[o.TTD]})};return a=(0,N.__decorate)([(0,ke.c)(),(0,N.__metadata)("design:paramtypes",[o.Rgc,o.s_b,Xi])],a),a})();var ec=d(3019),Xr=d(2181);const Jr=["ng-doc-toc-element",""],ss=["*"],fu=["selection"];function Ys(a,l){if(1&a&&(o.TgZ(0,"li",8),o._uU(1),o.qZA()),2&a){const i=l.$implicit,u=o.oxw(2);o.Q6J("href",i.path)("level",i.level)("selected",i===u.activeItem),o.xp6(1),o.hij(" ",i.title," ")}}function as(a,l){if(1&a&&(o.TgZ(0,"div",2)(1,"div",3),o._UZ(2,"div",4,5),o.TgZ(4,"ul",6),o.YNc(5,Ys,2,4,"li",7),o.qZA()()()),2&a){const i=o.oxw();o.xp6(5),o.Q6J("ngForOf",i.tableOfContent)}}const Ld=function(a,l){return[a,l]};let Zc=(()=>{class a{constructor(i){this.elementRef=i,this.href="",this.selected=!1,this.level=1}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["li","ng-doc-toc-element",""]],hostVars:2,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-selected",f.selected)("data-ng-doc-level",f.level)},inputs:{href:"href",selected:"selected",level:"level"},standalone:!0,features:[o.jDz],attrs:Jr,ngContentSelectors:ss,decls:2,vars:3,consts:[[3,"href"]],template:function(u,f){1&u&&(o.F$t(),o.TgZ(0,"a",0),o.Hsn(1),o.qZA()),2&u&&(o.Udp("padding-left","calc(var(--ng-doc-toc-indent) * "+f.level+")"),o.Q6J("href",f.href,o.LSH))},styles:['[_nghost-%COMP%]{display:flex;margin:0;color:var(--ng-doc-text)}[data-ng-doc-level="1"][_nghost-%COMP%] a{padding-left:var(--ng-doc-base-gutter)}[data-ng-doc-selected=true][_nghost-%COMP%]{color:var(--ng-doc-primary)}[_nghost-%COMP%]:hover{cursor:pointer;color:var(--ng-doc-primary)}[_nghost-%COMP%] a[_ngcontent-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);padding:calc(var(--ng-doc-base-gutter) / 2);color:inherit;width:100%;text-decoration:none;word-break:break-word;--ng-doc-font-size: 14px}'],changeDetection:0})}return a})();const x={breadcrumbs:lu,navigation:kd,toc:(()=>{let a=class Sm{constructor(){this.tableOfContent=[],this.elements=new o.n_E,this.document=(0,o.f3M)(p.K0),this.ngZone=(0,o.f3M)(o.R0b),this.changeDetectorRef=(0,o.f3M)(o.sBO),this.renderer=(0,o.f3M)(o.Qsj),this.router=(0,o.f3M)(nr.F0)}ngAfterViewInit(){const i=(0,F.R)(this.document,"scroll").pipe((0,Xr.h)(()=>!!this.tableOfContent.length),(0,V.U)(w=>w.target.scrollingElement),(0,H.O)(this.document.scrollingElement),(0,V.U)(w=>{const J=w.scrollTop+w.offsetHeight*(100*w.scrollTop/(w.scrollHeight-w.offsetHeight))/100;return this.tableOfContent.length?this.tableOfContent.reduce((le,Ae)=>{const Qe=le.element.getBoundingClientRect().top+w.scrollTop,ft=Ae.element.getBoundingClientRect().top+w.scrollTop;return Math.abs(ft-J){if(w instanceof nr.Xs){const W=this.tableOfContent.find(J=>J.path.includes(w.routerEvent.url));if(W)return W}return null}),(0,Xr.h)(da.isPresent),(0,fa.b)(20)),f=this.elements.changes.pipe((0,V.U)(()=>this.activeItem),(0,Xr.h)(da.isPresent));(0,ec.T)((0,ec.T)(i,u).pipe((0,$.x)()),f).pipe((0,_s.w1)(this.ngZone),(0,ke.t)(this)).subscribe(this.select.bind(this))}select(i){const u=this.tableOfContent.indexOf(i);if(this.selection){const f=this.elements.toArray()[u]?.elementRef.nativeElement;f&&(this.renderer.setStyle(this.selection.nativeElement,"top",`${f.offsetTop}px`),this.renderer.setStyle(this.selection.nativeElement,"height",`${f.offsetHeight}px`),f.scrollIntoView({block:"nearest"}))}this.activeItem=i,this.changeDetectorRef.detectChanges()}static#e=this.\u0275fac=function(u){return new(u||Sm)};static#t=this.\u0275cmp=o.Xpm({type:Sm,selectors:[["ng-doc-toc"]],viewQuery:function(u,f){if(1&u&&(o.Gf(fu,5,o.SBq),o.Gf(Zc,5)),2&u){let w;o.iGM(w=o.CRH())&&(f.selection=w.first),o.iGM(w=o.CRH())&&(f.elements=w)}},inputs:{tableOfContent:"tableOfContent"},standalone:!0,features:[o.jDz],decls:2,vars:4,consts:[[3,"ngDocMediaQuery"],["mediaQuery","ngDocMediaQuery"],[1,"ng-doc-toc-wrapper"],[1,"ng-doc-toc-container"],[1,"ng-doc-toc-selection"],["selection",""],[1,"ng-doc-toc"],["ng-doc-toc-element","",3,"href","level","selected",4,"ngFor","ngForOf"],["ng-doc-toc-element","",3,"href","level","selected"]],template:function(u,f){if(1&u&&o.YNc(0,as,6,1,"ng-template",0,1,o.W1O),2&u){const w=o.MAs(1);o.Q6J("ngDocMediaQuery",o.WLB(1,Ld,w.breakpoints.Large,w.breakpoints.XLarge))}},dependencies:[p.ax,Zc,hu],styles:["[_nghost-%COMP%] .ng-doc-toc-wrapper[_ngcontent-%COMP%]{position:relative;width:var(--ng-doc-toc-width)}[_nghost-%COMP%] .ng-doc-toc-wrapper[_ngcontent-%COMP%] .ng-doc-toc-container[_ngcontent-%COMP%]{position:fixed;overflow-y:auto;height:calc(100% - var(--ng-doc-navbar-height) - var(--ng-doc-base-gutter) * 5);width:var(--ng-doc-toc-width)}[_nghost-%COMP%] .ng-doc-toc-wrapper[_ngcontent-%COMP%] .ng-doc-toc-selection[_ngcontent-%COMP%]{position:absolute;transform:translate(-50%);width:calc(var(--ng-doc-base-gutter) / 2);border-radius:calc(var(--ng-doc-base-gutter) / 2);background-color:var(--ng-doc-primary);left:calc(var(--ng-doc-toc-margin) + 1px);transition:var(--ng-doc-transition)}[_nghost-%COMP%] .ng-doc-toc-wrapper[_ngcontent-%COMP%] .ng-doc-toc[_ngcontent-%COMP%]{list-style:none;margin:0 0 0 var(--ng-doc-toc-margin);border-left:1px solid var(--ng-doc-base-3);padding:0 0 0 var(--ng-doc-base-gutter)}"],changeDetection:0})};return a=(0,N.__decorate)([(0,ke.c)()],a),a})()},v=["ng-doc-blockquote",""];function P(a,l){1&a&&o._UZ(0,"ng-doc-icon",6),2&a&&o.Q6J("size",24)}function U(a,l){1&a&&o._UZ(0,"ng-doc-icon",7),2&a&&o.Q6J("size",24)}function ie(a,l){1&a&&o._UZ(0,"ng-doc-icon",8),2&a&&o.Q6J("size",24)}function De(a,l){if(1&a&&(o.TgZ(0,"div",1),o.ynx(1,2),o.YNc(2,P,1,1,"ng-doc-icon",3),o.YNc(3,U,1,1,"ng-doc-icon",4),o.YNc(4,ie,1,1,"ng-doc-icon",5),o.BQk(),o.qZA()),2&a){const i=o.oxw();o.xp6(1),o.Q6J("ngSwitch",i.type),o.xp6(1),o.Q6J("ngSwitchCase","note"),o.xp6(1),o.Q6J("ngSwitchCase","warning"),o.xp6(1),o.Q6J("ngSwitchCase","alert")}}const at=["*"];let it=(()=>{class a{constructor(){this.type="default"}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["blockquote","ng-doc-blockquote",""]],hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-type",f.type)},inputs:{type:"type"},standalone:!0,features:[o.jDz],attrs:v,ngContentSelectors:at,decls:3,vars:1,consts:[["class","ng-doc-blockquote-icon",4,"ngIf"],[1,"ng-doc-blockquote-icon"],[3,"ngSwitch"],["icon","info",3,"size",4,"ngSwitchCase"],["icon","alert-triangle",3,"size",4,"ngSwitchCase"],["icon","alert-circle",3,"size",4,"ngSwitchCase"],["icon","info",3,"size"],["icon","alert-triangle",3,"size"],["icon","alert-circle",3,"size"]],template:function(u,f){1&u&&(o.F$t(),o.YNc(0,De,5,4,"div",0),o.TgZ(1,"div"),o.Hsn(2),o.qZA()),2&u&&o.Q6J("ngIf","default"!==f.type)},dependencies:[p.O5,p.RF,p.n9,Or.q],styles:['[_nghost-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);position:relative;display:flex;padding:calc(var(--ng-doc-base-gutter) * 2);border-radius:var(--ng-doc-base-gutter);margin:var(--ng-doc-blockquote-margin);overflow:hidden;--ng-doc-code-margin: var(--ng-doc-base-gutter) 0}[_nghost-%COMP%]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-blockquote-background, var(--ng-doc-base-9));opacity:.1;border-radius:inherit;overflow:hidden;pointer-events:none}[_nghost-%COMP%]{position:relative}[_nghost-%COMP%]:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid var(--ng-doc-blockquote-border-color, var(--ng-doc-base-9));opacity:.2;border-radius:inherit;overflow:hidden;pointer-events:none}[data-ng-doc-type=note][_nghost-%COMP%]{--ng-doc-blockquote-background: var(--ng-doc-info);--ng-doc-blockquote-border-color: var(--ng-doc-info);--ng-doc-icon-color: var(--ng-doc-info)}[data-ng-doc-type=warning][_nghost-%COMP%]{--ng-doc-blockquote-background: var(--ng-doc-warning);--ng-doc-blockquote-border-color: var(--ng-doc-warning);--ng-doc-icon-color: var(--ng-doc-warning)}[data-ng-doc-type=alert][_nghost-%COMP%]{--ng-doc-blockquote-background: var(--ng-doc-alert);--ng-doc-blockquote-border-color: var(--ng-doc-alert);--ng-doc-icon-color: var(--ng-doc-alert)}[_nghost-%COMP%] .ng-doc-blockquote-icon[_ngcontent-%COMP%]{display:flex;margin-right:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] p{margin:0}'],changeDetection:0})}return a})();var qt=d(5717);class Un{constructor(l,i){this._document=i;const u=this._textarea=this._document.createElement("textarea"),f=u.style;f.position="fixed",f.top=f.opacity="0",f.left="-999em",u.setAttribute("aria-hidden","true"),u.value=l,u.readOnly=!0,(this._document.fullscreenElement||this._document.body).appendChild(u)}copy(){const l=this._textarea;let i=!1;try{if(l){const u=this._document.activeElement;l.select(),l.setSelectionRange(0,l.value.length),i=this._document.execCommand("copy"),u&&u.focus()}}catch{}return i}destroy(){const l=this._textarea;l&&(l.remove(),this._textarea=void 0)}}let Io=(()=>{class a{constructor(i){this._document=i}copy(i){const u=this.beginCopy(i),f=u.copy();return u.destroy(),f}beginCopy(i){return new Un(i,this._document)}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(p.K0))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();var ys=d(9687),Ar=d(8671),kt=d(6825);const or=["*"];let _a=(()=>{class a{constructor(i){this.element=i,this.animateOpacity=!0,this.resizeAnimation={value:0,params:{startHeight:0,startWidth:0}}}ngOnChanges(){this.resizeAnimation={value:this.trigger,params:{startHeight:this.element.nativeElement.clientHeight,startWidth:this.element.nativeElement.clientWidth}}}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-smooth-resize"]],hostVars:1,hostBindings:function(u,f){2&u&&o.d8E("@resizeAnimation",f.resizeAnimation)},inputs:{trigger:"trigger",animateOpacity:"animateOpacity"},standalone:!0,features:[o.TTD,o.jDz],ngContentSelectors:or,decls:1,vars:0,template:function(u,f){1&u&&(o.F$t(),o.Hsn(0))},styles:["[_nghost-%COMP%]{display:block;overflow:hidden;height:var(--ng-doc-smooth-resize-height);max-height:var(--ng-doc-smooth-resize-max-height)}"],data:{animation:[(0,kt.X$)("resizeAnimation",[(0,kt.eR)("void <=> *",[]),(0,kt.eR)("* <=> *",[(0,kt.oB)({height:"{{startHeight}}px",width:"{{startWidth}}px"}),(0,kt.jt)(".225s ease-in-out")])])]},changeDetection:0})}return a})();function ag(a,l){if(1&a&&o._UZ(0,"ng-doc-icon",8),2&a){const i=o.oxw(2);o.Q6J("customIcon",i.icon)}}function Bd(a,l){if(1&a&&(o.TgZ(0,"div",5)(1,"span",6),o.YNc(2,ag,1,1,"ng-doc-icon",7),o._uU(3),o.qZA()()),2&a){const i=o.oxw();o.xp6(2),o.Q6J("ngIf",i.icon),o.xp6(1),o.hij(" ",i.name," ")}}function cg(a,l){if(1&a&&(o._UZ(0,"div",9),o.ALo(1,"ngDocSanitizeHtml")),2&a){const i=o.oxw();o.Q6J("innerHTML",o.lcZ(1,1,i.html),o.oJD)}}function jd(a,l){1&a&&(o.TgZ(0,"div",10),o.Hsn(1),o.qZA())}function Hd(a,l){if(1&a&&(o.TgZ(0,"ng-doc-smooth-resize",14),o._uU(1),o.qZA()),2&a){const i=o.oxw(2);o.Q6J("trigger",i.tooltipText),o.xp6(1),o.hij(" ",i.tooltipText," ")}}function Kc(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"button",11),o.NdJ("click",function(){o.CHM(i);const f=o.oxw();return f.copyCode(),o.KtG(f.tooltipText="Copied!")})("mouseenter",function(){o.CHM(i);const f=o.oxw();return o.KtG(f.tooltipText="Copy to clipboard")}),o.YNc(1,Hd,2,2,"ng-template",null,12,o.W1O),o._UZ(3,"ng-doc-icon",13),o.qZA()}if(2&a){const i=o.MAs(2);o.Q6J("ngDocTooltip",i)}}const Ns=["*"];let Qc=(()=>{class a{constructor(i,u){this.elementRef=i,this.clipboard=u,this.html="",this.copyButton=!0,this.lineNumbers=!1,this.tooltipText=""}get hasHeader(){return!!this.name||!!this.icon}get codeElement(){return this.elementRef?.nativeElement.querySelector("code")??null}copyCode(){this.clipboard.copy(this.codeElement?.textContent??"")}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq),o.Y36(Io))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-code"]],hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-has-header",f.hasHeader)},inputs:{html:"html",copyButton:"copyButton",name:"name",icon:"icon",lineNumbers:"lineNumbers"},standalone:!0,features:[o.jDz],ngContentSelectors:Ns,decls:5,vars:4,consts:[["class","ng-doc-code-header",4,"ngIf"],[1,"ng-doc-code-body"],["class","ng-doc-code-wrapper","ngDocPageProcessor","",3,"innerHTML",4,"ngIf"],["class","ng-doc-code-wrapper",4,"ngIf"],["class","ng-doc-copy-button","ng-doc-button-icon","",3,"ngDocTooltip","click","mouseenter",4,"ngIf"],[1,"ng-doc-code-header"],["ng-doc-text","",1,"ng-doc-code-file-name"],[3,"customIcon",4,"ngIf"],[3,"customIcon"],["ngDocPageProcessor","",1,"ng-doc-code-wrapper",3,"innerHTML"],[1,"ng-doc-code-wrapper"],["ng-doc-button-icon","",1,"ng-doc-copy-button",3,"ngDocTooltip","click","mouseenter"],["tooltipContent",""],["icon","copy"],[3,"trigger"]],template:function(u,f){1&u&&(o.F$t(),o.YNc(0,Bd,4,2,"div",0),o.TgZ(1,"div",1),o.YNc(2,cg,2,3,"div",2),o.YNc(3,jd,2,0,"div",3),o.YNc(4,Kc,4,1,"button",4),o.qZA()),2&u&&(o.Q6J("ngIf",f.hasHeader),o.xp6(2),o.Q6J("ngIf",f.html),o.xp6(1),o.Q6J("ngIf",!f.html),o.xp6(1),o.Q6J("ngIf",f.copyButton))},dependencies:[p.O5,Qr.Uy,Ii.J,qt.A,_a,Or.q,ys.Y,Ar.$],styles:['[_nghost-%COMP%]{position:relative;display:block;margin:var(--ng-doc-code-margin)}[_nghost-%COMP%]:hover .ng-doc-copy-button[_ngcontent-%COMP%]{opacity:1}[data-ng-doc-has-header=true][_nghost-%COMP%]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}[_nghost-%COMP%] .ng-doc-code-wrapper[_ngcontent-%COMP%]{--ng-doc-code-margin: 0;--ng-doc-code-border: none}[_nghost-%COMP%] .ng-doc-code-header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0;border-top:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));border-left:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));border-right:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color))}[_nghost-%COMP%] .ng-doc-code-header[_ngcontent-%COMP%] .ng-doc-code-file-name[_ngcontent-%COMP%]{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 13px}[_nghost-%COMP%] .ng-doc-code-header[_ngcontent-%COMP%] .ng-doc-code-file-name[_ngcontent-%COMP%] ng-doc-icon[_ngcontent-%COMP%]{margin-right:calc(var(--ng-doc-base-gutter) / 2)}[_nghost-%COMP%] .ng-doc-code-body[_ngcontent-%COMP%]{position:relative;height:100%;border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));border:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color))}[_nghost-%COMP%] .ng-doc-copy-button[_ngcontent-%COMP%]{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);opacity:0;--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var( --ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2) );--ng-doc-button-active-background: var( --ng-doc-code-copy-button-active-background, var(--ng-doc-base-3) )}[_nghost-%COMP%] .ng-doc-code-wrapper[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));border:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));overflow:hidden;height:100%}[_nghost-%COMP%] pre code{display:block;padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}[_nghost-%COMP%] pre code.code-lines{display:grid;padding:calc(var(--ng-doc-base-gutter) * 2) 0}[_nghost-%COMP%] pre code .line{padding:0 calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] pre code .line.highlighted{position:relative}[_nghost-%COMP%] pre code .line.highlighted:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-code-highlight-color);opacity:.05;border-radius:inherit;overflow:hidden;pointer-events:none}[_nghost-%COMP%] pre code .line.highlighted:after{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--ng-doc-code-highlight-color);opacity:.8}'],changeDetection:0})}return a})();const va=d(6548);function tc(a){const l=a.regex,i=l.concat(/[A-Z_]/,l.optional(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),f={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},w={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},W=a.inherit(w,{begin:/\(/,end:/\)/}),J=a.inherit(a.APOS_STRING_MODE,{className:"string"}),le=a.inherit(a.QUOTE_STRING_MODE,{className:"string"}),Ae={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin://,relevance:10,contains:[w,le,J,W,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[w,W,le,J]}]}]},a.COMMENT(//,{relevance:10}),{begin://,relevance:10},f,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[le]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[Ae],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[Ae],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:l.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:i,relevance:0,starts:Ae}]},{className:"tag",begin:l.concat(/<\//,l.lookahead(l.concat(i,/>/))),contains:[{className:"name",begin:i,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}va.registerLanguage("html",tc),va.registerLanguage("xml",tc);let gu=(()=>{class a{constructor(i){this.elementRef=i,this.code="",this.html="",this.language="typescript",this.highlightJsClass=!0}ngOnChanges(){if(this.code){const i=va.highlight(this.code,{language:this.language});this.elementRef.nativeElement.innerHTML=i.value??this.html}else this.elementRef.nativeElement.innerHTML=this.html}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq))};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["code","ngDocCodeHighlighter",""]],hostVars:2,hostBindings:function(u,f){2&u&&o.ekj("hljs",f.highlightJsClass)},inputs:{code:["ngDocCodeHighlighter","code"],html:"html",language:"language"},standalone:!0,features:[o.TTD]})}return a})();var Jc=d(7022),yr=d(2549);function lg(a,l){if(1&a&&(o.ynx(0),o._uU(1),o.BQk()),2&a){const i=l.polymorpheusOutlet;o.xp6(1),o.Oqu(i)}}const ya=function(a,l){return{from:a,opacity:l}},nc=function(a,l){return{value:a,params:l}};function ug(a,l){if(1&a&&(o.TgZ(0,"div"),o.YNc(1,lg,2,1,"ng-container",1),o.qZA()),2&a){const i=o.oxw();o.Q6J("@expandCollapse",o.WLB(5,nc,i.expanded,o.WLB(2,ya,i.from+"px",i.from?1:0))),o.xp6(1),o.Q6J("polymorpheusOutlet",i.content)}}let dg=(()=>{class a{constructor(){this.expanded=!1,this.content="",this.from=0}toggle(){this.expanded=!this.expanded}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-expander"]],hostVars:1,hostBindings:function(u,f){2&u&&o.d8E("@preventInitialChild",f.preventInitialChild)},inputs:{expanded:"expanded",content:"content",from:"from"},standalone:!0,features:[o.jDz],decls:1,vars:1,consts:[[4,"ngIf"],[4,"polymorpheusOutlet"]],template:function(u,f){1&u&&o.YNc(0,ug,2,8,"div",0),2&u&&o.Q6J("ngIf",f.expanded||f.from)},dependencies:[p.O5,yr.wq,yr.Li],styles:["[_nghost-%COMP%]{display:block}"],data:{animation:[Jc.tI,Jc.Qr]},changeDetection:0})}return a})();function pu(a,l){1&a&&o.GkF(0)}function Wm(a,l){if(1&a&&(o.TgZ(0,"ng-doc-smooth-resize",15),o._uU(1),o.qZA()),2&a){const i=o.oxw(3);o.Q6J("trigger",i.copyTooltipText),o.xp6(1),o.hij(" ",i.copyTooltipText," ")}}function hg(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"button",13),o.NdJ("click",function(){o.CHM(i);const f=o.oxw(2);return f.copyCode(),o.KtG(f.copyTooltipText="Copied!")})("mouseenter",function(){o.CHM(i);const f=o.oxw(2);return o.KtG(f.copyTooltipText="Copy to clipboard")}),o.YNc(1,Wm,2,2,"ng-template",null,9,o.W1O),o._UZ(3,"ng-doc-icon",14),o.qZA()}if(2&a){const i=o.MAs(2);o.Q6J("ngDocTooltip",i)}}function fg(a,l){if(1&a&&(o.TgZ(0,"ng-doc-smooth-resize",15),o._uU(1),o.qZA()),2&a){const i=o.oxw(2);o.Q6J("trigger",i.expandTooltipText),o.xp6(1),o.hij(" ",i.expandTooltipText," ")}}function Gm(a,l){if(1&a&&(o.TgZ(0,"ng-doc-code",16)(1,"pre",17),o._uU(2,"\t\t\t\t\t"),o._UZ(3,"code",18),o._uU(4,"\n\t\t\t\t"),o.qZA()()),2&a){const i=o.oxw(2);o.Q6J("copyButton",!1),o.xp6(3),o.Q6J("ngDocCodeHighlighter",i.code)("language","html")}}function Ym(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"div",2)(1,"div",3)(2,"div",4),o.YNc(3,pu,1,0,"ng-container",5),o.qZA(),o.TgZ(4,"div",6),o.YNc(5,hg,4,1,"button",7),o.TgZ(6,"button",8),o.NdJ("click",function(){o.CHM(i);const f=o.oxw();return o.KtG(f.expanded=!f.expanded)}),o.YNc(7,fg,2,2,"ng-template",null,9,o.W1O),o._UZ(9,"ng-doc-icon",10),o.qZA()()(),o.TgZ(10,"ng-doc-expander",11),o.YNc(11,Gm,5,3,"ng-template",null,12,o.W1O),o.qZA()()}if(2&a){const i=o.MAs(8),u=o.MAs(12),f=o.oxw(),w=o.MAs(2);o.xp6(3),o.Q6J("ngTemplateOutlet",w),o.xp6(2),o.Q6J("ngIf",!f.codeContent),o.xp6(1),o.Q6J("ngDocTooltip",i),o.xp6(4),o.Q6J("content",f.codeContent?f.codeContent:u)("expanded",f.expanded)}}function mu(a,l){1&a&&o.Hsn(0)}const oc=["*"];let Vd=(()=>{class a{constructor(i){this.clipboard=i,this.codeContent="",this.code="",this.language="typescript",this.container=!0,this.border=!0,this.expanded=!1,this.copyTooltipText=""}get expandTooltipText(){return this.expanded?"Collapse":"Expand"}copyCode(){this.clipboard.copy(this.code)}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(Io))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-demo-displayer"]],hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-border",f.border)},inputs:{codeContent:"codeContent",code:"code",language:"language",container:"container",border:"border",expanded:"expanded"},standalone:!0,features:[o.jDz],ngContentSelectors:oc,decls:3,vars:2,consts:[["class","ng-doc-demo-wrapper",4,"ngIf","ngIfElse"],["demoTemplate",""],[1,"ng-doc-demo-wrapper"],[1,"ng-doc-demo-container"],[1,"ng-doc-demo"],[4,"ngTemplateOutlet"],[1,"ng-doc-demo-controls"],["class","ng-doc-copy-button","ng-doc-button-icon","",3,"ngDocTooltip","click","mouseenter",4,"ngIf"],["ng-doc-button-icon","",3,"ngDocTooltip","click"],["tooltipContent",""],["icon","code"],[3,"content","expanded"],["expanderContent",""],["ng-doc-button-icon","",1,"ng-doc-copy-button",3,"ngDocTooltip","click","mouseenter"],["icon","copy"],[3,"trigger"],[3,"copyButton"],[1,"hljs","ngde"],[1,"ngde",3,"ngDocCodeHighlighter","language"]],template:function(u,f){if(1&u&&(o.F$t(),o.YNc(0,Ym,13,5,"div",0),o.YNc(1,mu,1,0,"ng-template",null,1,o.W1O)),2&u){const w=o.MAs(2);o.Q6J("ngIf",f.container)("ngIfElse",w)}},dependencies:[p.O5,p.tP,Ii.J,qt.A,_a,Or.q,dg,Qc,gu],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;overflow:hidden;--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none}[data-ng-doc-border=true][_nghost-%COMP%]{border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius)}[_nghost-%COMP%] .ng-doc-demo-wrapper[_ngcontent-%COMP%]{overflow:hidden}[_nghost-%COMP%] .ng-doc-demo-wrapper[_ngcontent-%COMP%] .ng-doc-demo-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;width:100%;padding:calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-demo-displayer-background, var(--ng-doc-base-0))}[_nghost-%COMP%] .ng-doc-demo-wrapper[_ngcontent-%COMP%] .ng-doc-demo-container[_ngcontent-%COMP%] .ng-doc-demo[_ngcontent-%COMP%]{overflow:hidden;width:100%}[_nghost-%COMP%] .ng-doc-demo-wrapper[_ngcontent-%COMP%] .ng-doc-demo-container[_ngcontent-%COMP%] .ng-doc-demo-controls[_ngcontent-%COMP%]{flex-shrink:0;margin-left:auto}[_nghost-%COMP%] ng-doc-code[_ngcontent-%COMP%]{border-top:1px solid var(--ng-doc-border-color)}"],changeDetection:0})}return a})();const rc=["ng-doc-button",""],_u=["*"];let ic=(()=>{class a{constructor(){this.size="small",this.color="primary",this.rounded=!1,this.number=123}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["button","ng-doc-button",""],["a","ng-doc-button",""],["button","ng-doc-button-flat",""],["a","ng-doc-button-flat",""],["button","ng-doc-button-text",""],["a","ng-doc-button-text",""]],hostVars:3,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-size",f.size)("data-ng-doc-color",f.color)("data-ng-doc-rounded",f.rounded)},inputs:{size:"size",color:"color",rounded:"rounded",number:"number"},standalone:!0,features:[o.jDz],attrs:rc,ngContentSelectors:_u,decls:1,vars:0,template:function(u,f){1&u&&(o.F$t(),o.Hsn(0))},styles:['[_nghost-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);position:relative;display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;border-radius:calc(var(--ng-doc-base-gutter) / 2);padding:var(--ng-doc-button-padding, var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2));text-decoration:none;background:var(--ng-doc-button-background);--ng-doc-text: var(--ng-doc-button-color);--ng-doc-font-size: calc(var(--ng-doc-base-gutter) * 2);--ng-doc-line-height: calc(var(--ng-doc-base-gutter) * 3);--ng-doc-icon-color: var(--ng-doc-button-color)}[_nghost-%COMP%]{position:relative}[_nghost-%COMP%]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-button-alpha-background);opacity:var(--ng-doc-button-background-opacity);border-radius:inherit;overflow:hidden;pointer-events:none}[data-ng-doc-rounded=true][_nghost-%COMP%]{border-radius:calc(var(--ng-doc-base-gutter) * 5)}[data-ng-doc-size=small][_nghost-%COMP%]{--ng-doc-font-size: 14px;--ng-doc-line-height: 16px}[data-ng-doc-size=small][data-ng-doc-rounded=true][_nghost-%COMP%]{border-radius:calc(var(--ng-doc-base-gutter) * 3)}[data-ng-doc-size=large][_nghost-%COMP%]{--ng-doc-font-size: 20px;--ng-doc-font-weight: 700;--ng-doc-line-height: 32px}[data-ng-doc-size=large][data-ng-doc-rounded=true][_nghost-%COMP%]{border-radius:calc(var(--ng-doc-base-gutter) * 5)}[_nghost-%COMP%]:hover{text-decoration:none;--ng-doc-button-background-opacity: var(--ng-doc-button-hover-background-opacity) !important;--ng-doc-button-color: var(--ng-doc-button-hover-color) !important}[_nghost-%COMP%]:active{--ng-doc-button-background-opacity: var(--ng-doc-button-active-background-opacity) !important;--ng-doc-button-color: var(--ng-doc-button-active-color) !important}[ng-doc-button][_nghost-%COMP%]{--ng-doc-button-background-opacity: .1;--ng-doc-button-hover-background-opacity: .2;--ng-doc-button-active-background-opacity: .3}[ng-doc-button][data-ng-doc-color=primary][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-primary);--ng-doc-button-color: var(--ng-doc-primary);--ng-doc-button-hover-color: var(--ng-doc-primary);--ng-doc-button-active-color: var(--ng-doc-primary)}[ng-doc-button][data-ng-doc-color=info][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-info);--ng-doc-button-color: var(--ng-doc-info);--ng-doc-button-hover-color: var(--ng-doc-info);--ng-doc-button-active-color: var(--ng-doc-info)}[ng-doc-button][data-ng-doc-color=warning][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-warning);--ng-doc-button-color: var(--ng-doc-warning);--ng-doc-button-hover-color: var(--ng-doc-warning);--ng-doc-button-active-color: var(--ng-doc-warning)}[ng-doc-button][data-ng-doc-color=alert][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-alert);--ng-doc-button-color: var(--ng-doc-alert);--ng-doc-button-hover-color: var(--ng-doc-alert);--ng-doc-button-active-color: var(--ng-doc-alert)}[ng-doc-button][data-ng-doc-color=link][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-link-color);--ng-doc-button-color: var(--ng-doc-link-color);--ng-doc-button-hover-color: var(--ng-doc-link-color);--ng-doc-button-active-color: var(--ng-doc-link-color)}[ng-doc-button-text][_nghost-%COMP%]{--ng-doc-button-hover-background-opacity: .1;--ng-doc-button-active-background-opacity: .2}[ng-doc-button-text][data-ng-doc-color=primary][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-primary);--ng-doc-button-color: var(--ng-doc-primary);--ng-doc-button-hover-color: var(--ng-doc-primary);--ng-doc-button-active-color: var(--ng-doc-primary)}[ng-doc-button-text][data-ng-doc-color=info][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-info);--ng-doc-button-color: var(--ng-doc-info);--ng-doc-button-hover-color: var(--ng-doc-info);--ng-doc-button-active-color: var(--ng-doc-info)}[ng-doc-button-text][data-ng-doc-color=warning][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-warning);--ng-doc-button-color: var(--ng-doc-warning);--ng-doc-button-hover-color: var(--ng-doc-warning);--ng-doc-button-active-color: var(--ng-doc-warning)}[ng-doc-button-text][data-ng-doc-color=alert][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-alert);--ng-doc-button-color: var(--ng-doc-alert);--ng-doc-button-hover-color: var(--ng-doc-alert);--ng-doc-button-active-color: var(--ng-doc-alert)}[ng-doc-button-text][data-ng-doc-color=link][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-link-color);--ng-doc-button-color: var(--ng-doc-link-color);--ng-doc-button-hover-color: var(--ng-doc-link-color);--ng-doc-button-active-color: var(--ng-doc-link-color)}[ng-doc-button-flat][_nghost-%COMP%]{--ng-doc-button-alpha-background: var(--ng-doc-white);--ng-doc-button-hover-background-opacity: .1;--ng-doc-button-active-background-opacity: .2}[ng-doc-button-flat][data-ng-doc-color=primary][_nghost-%COMP%]{--ng-doc-button-background: var(--ng-doc-primary);--ng-doc-button-color: var(--ng-doc-primary-text);--ng-doc-button-hover-color: var(--ng-doc-primary-text);--ng-doc-button-active-color: var(--ng-doc-primary-text)}[ng-doc-button-flat][data-ng-doc-color=info][_nghost-%COMP%]{--ng-doc-button-background: var(--ng-doc-info);--ng-doc-button-color: var(--ng-doc-info-text);--ng-doc-button-hover-color: var(--ng-doc-info-text);--ng-doc-button-active-color: var(--ng-doc-info-text)}[ng-doc-button-flat][data-ng-doc-color=warning][_nghost-%COMP%]{--ng-doc-button-background: var(--ng-doc-warning);--ng-doc-button-color: var(--ng-doc-warning-text);--ng-doc-button-hover-color: var(--ng-doc-warning-text);--ng-doc-button-active-color: var(--ng-doc-warning-text)}[ng-doc-button-flat][data-ng-doc-color=alert][_nghost-%COMP%]{--ng-doc-button-background: var(--ng-doc-alert);--ng-doc-button-color: var(--ng-doc-alert-text);--ng-doc-button-hover-color: var(--ng-doc-alert-text);--ng-doc-button-active-color: var(--ng-doc-alert-text)}[ng-doc-button-flat][data-ng-doc-color=link][_nghost-%COMP%]{--ng-doc-button-background: var(--ng-doc-link-color);--ng-doc-button-color: var(--ng-doc-primary-text);--ng-doc-button-hover-color: var(--ng-doc-primary-text);--ng-doc-button-active-color: var(--ng-doc-primary-text)}'],changeDetection:0})}return a})(),gg=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-fullscreen-button"]],inputs:{route:"route"},standalone:!0,features:[o.jDz],decls:4,vars:1,consts:[["ng-doc-button-text","","target","_blank",3,"routerLink"],["ng-doc-text",""],["icon","external-link","ngDocTextRight",""]],template:function(u,f){1&u&&(o.TgZ(0,"a",0)(1,"span",1),o._uU(2," Open demo in a new tab "),o._UZ(3,"ng-doc-icon",2),o.qZA()()),2&u&&o.Q6J("routerLink",f.route)},dependencies:[nr.rH,Qr.Uy,Or.q,Qr.EH,ic],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:center;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 2)}"],changeDetection:0})}return a})();var Ud=d(7328);let sc=(()=>{class a{constructor(){this.origins=new Set,this.selectedChange=new Ud.t}get selectedChange$(){return this.selectedChange.pipe((0,$.x)())}addOrigin(i){this.origins.add(i)}removeOrigin(i){this.origins.delete(i),this.selected===i&&this.changeSelected(i,!1)}changeSelected(i,u){this.selected=this.selected===i||u?u?i:void 0:this.selected,this.selectedChange.next(this.selected?.elementRef?.nativeElement??void 0)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocSelectionHost",""]],standalone:!0})}return a})(),pg=(()=>{let a=class Tm{constructor(i,u){this.elementRef=i,this.selectionHost=u,this.align="bottom"}ngAfterViewInit(){this.selectionHost.selectedChange$.pipe((0,ke.t)(this)).subscribe(i=>this.setStyles(i))}setStyles(i){if(this.elementRef.nativeElement.style.visibility="hidden",i){const u=this.getPosition(i);"left"===this.align||"right"===this.align?this.elementRef.nativeElement.style.top=u.top:this.elementRef.nativeElement.style.left=u.left,this.elementRef.nativeElement.style.height=u.height,this.elementRef.nativeElement.style.width=u.width,this.elementRef.nativeElement.style.visibility="visible"}}getPosition(i){return{top:i?`${i.offsetTop||0}px`:"0",left:i?`${i.offsetLeft||0}px`:"0",width:i?`${i.offsetWidth||0}px`:"0",height:i?`${i.offsetHeight||0}px`:"0"}}static#e=this.\u0275fac=function(u){return new(u||Tm)(o.Y36(o.SBq),o.Y36(sc))};static#t=this.\u0275cmp=o.Xpm({type:Tm,selectors:[["ng-doc-selection"]],hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-align",f.align)},inputs:{align:"align"},standalone:!0,features:[o.jDz],decls:0,vars:0,template:function(u,f){},styles:["[_nghost-%COMP%]{position:absolute;transition:var(--ng-doc-transition);pointer-events:none;background:var(--ng-doc-selection-background)}[data-ng-doc-align=left][_nghost-%COMP%]{left:0;border-left:var(--ng-doc-selection-border)}[data-ng-doc-align=right][_nghost-%COMP%]{right:0;border-right:var(--ng-doc-selection-border)}[data-ng-doc-align=bottom][_nghost-%COMP%]{bottom:0;border-bottom:var(--ng-doc-selection-border)}[data-ng-doc-align=top][_nghost-%COMP%]{top:0;border-top:var(--ng-doc-selection-border)}"],changeDetection:0})};return a=(0,N.__decorate)([(0,ke.c)(),(0,N.__metadata)("design:paramtypes",[o.SBq,sc])],a),a})(),cs=(()=>{class a{constructor(i,u){this.elementRef=i,this.selectionHost=u,this.selected=!1,this.selectionHost.addOrigin(this)}ngOnChanges({selected:i}){i&&this.selectionHost.changeSelected(this,this.selected)}ngOnDestroy(){this.selectionHost.removeOrigin(this)}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq),o.Y36(sc))};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocSelectionOrigin",""]],inputs:{selected:["ngDocSelectionOrigin","selected"]},standalone:!0,features:[o.TTD]})}return a})();const mg=["headerTab"];function qc(a,l){if(1&a&&(o.ynx(0),o._uU(1),o.BQk()),2&a){const i=o.oxw().$implicit;o.xp6(1),o.Oqu(i.label)}}const el=function(){return{}};function zd(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"div",5,6),o.NdJ("click",function(){const w=o.CHM(i).$implicit,W=o.oxw();return o.KtG(W.selectTab(w))}),o.TgZ(2,"div",7),o.YNc(3,qc,2,1,"ng-container",4),o.qZA()()}if(2&a){const i=l.$implicit,u=o.oxw();o.ekj("selected",i===u.selectedTab),o.Q6J("ngDocSelectionOrigin",i===u.selectedTab),o.xp6(3),o.Q6J("polymorpheusOutlet",i.label)("polymorpheusOutletContext",o.DdM(5,el))}}function tl(a,l){if(1&a&&(o.TgZ(0,"div"),o._uU(1),o.qZA()),2&a){const i=l.polymorpheusOutlet;o.Q6J("@tabFadeAnimation",void 0),o.xp6(1),o.hij(" ",i," ")}}let Ca=(()=>{class a{constructor(){this.label="",this.id=0,this.content=""}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-tab"]],inputs:{label:"label",id:"id",content:"content"},standalone:!0,features:[o.jDz],decls:0,vars:0,template:function(u,f){},changeDetection:0})}return a})(),vu=(()=>{let a=class xm{constructor(i){this.changeDetectorRef=i,this.tabElements=new o.n_E,this.tabs=new o.n_E}ngAfterContentInit(){this.tabs.changes.pipe((0,H.O)(this.tabs),(0,ke.t)(this)).subscribe(()=>{const i=this.openedTab?this.tabs.find(u=>u.id===this.openedTab):this.tabs.get(0);i&&this.selectTab(i),this.changeDetectorRef.markForCheck()})}ngAfterViewInit(){this.tabElements.changes.pipe((0,H.O)(this.tabElements),(0,ke.t)(this)).subscribe(()=>this.changeDetectorRef.detectChanges())}get selectedIndex(){return this.selectedTab?this.tabs.toArray().indexOf(this.selectedTab):-1}get selectedHeaderTab(){return this.selectedTab?this.tabElements.get(this.selectedIndex)??null:null}selectTab(i){this.selectedTab=i}static#e=this.\u0275fac=function(u){return new(u||xm)(o.Y36(o.sBO))};static#t=this.\u0275cmp=o.Xpm({type:xm,selectors:[["ng-doc-tab-group"]],contentQueries:function(u,f,w){if(1&u&&o.Suo(w,Ca,4),2&u){let W;o.iGM(W=o.CRH())&&(f.tabs=W)}},viewQuery:function(u,f){if(1&u&&o.Gf(mg,5),2&u){let w;o.iGM(w=o.CRH())&&(f.tabElements=w)}},inputs:{openedTab:"openedTab"},standalone:!0,features:[o.jDz],decls:6,vars:5,consts:[["ngDocSelectionHost","",1,"ng-doc-tabs-wrapper"],["class","ng-doc-tab",3,"selected","ngDocSelectionOrigin","click",4,"ngFor","ngForOf"],[1,"ng-doc-body-wrapper"],[3,"trigger"],[4,"polymorpheusOutlet","polymorpheusOutletContext"],[1,"ng-doc-tab",3,"ngDocSelectionOrigin","click"],["headerTab",""],[1,"ng-doc-tab-text"]],template:function(u,f){if(1&u&&(o.TgZ(0,"div",0),o._UZ(1,"ng-doc-selection"),o.YNc(2,zd,4,6,"div",1),o.qZA(),o.TgZ(3,"div",2)(4,"ng-doc-smooth-resize",3),o.YNc(5,tl,2,2,"div",4),o.qZA()()),2&u){let w,W;o.xp6(2),o.Q6J("ngForOf",f.tabs),o.xp6(2),o.Q6J("trigger",null!==(w=null==f.selectedTab?null:f.selectedTab.content)&&void 0!==w?w:""),o.xp6(1),o.Q6J("polymorpheusOutlet",null!==(W=null==f.selectedTab?null:f.selectedTab.content)&&void 0!==W?W:"")("polymorpheusOutletContext",o.DdM(4,el))}},dependencies:[sc,pg,p.ax,cs,yr.wq,yr.Li,_a],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;background:var(--ng-doc-tab-group-header-background, var(--ng-doc-tab-group-background));border-radius:var(--ng-doc-tab-group-border-radius);border:var(--ng-doc-tab-group-border);overflow:hidden}[_nghost-%COMP%] .ng-doc-tabs-wrapper[_ngcontent-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);position:relative;width:100%;display:inline-flex;overflow-x:auto;line-height:18px;font-size:14px;flex-shrink:0;background:var(--ng-doc-tab-group-tabs-background)}[_nghost-%COMP%] .ng-doc-tabs-wrapper[_ngcontent-%COMP%] .ng-doc-tab[_ngcontent-%COMP%]{position:relative;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);cursor:pointer;white-space:nowrap}[_nghost-%COMP%] .ng-doc-tabs-wrapper[_ngcontent-%COMP%] .ng-doc-tab[_ngcontent-%COMP%] .ng-doc-tab-text[_ngcontent-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);position:relative;--ng-doc-font-size: 13px;--ng-doc-font-weight: 600}[_nghost-%COMP%] .ng-doc-body-wrapper[_ngcontent-%COMP%]{position:relative;background-color:var(--ng-doc-tab-group-background);height:100%;overflow:hidden;border-top:1px solid var(--ng-doc-border-color)}"],data:{animation:[Jc.Uq]},changeDetection:0})};return a=(0,N.__decorate)([(0,ke.c)(),(0,N.__metadata)("design:paramtypes",[o.sBO])],a),a})(),ba=(()=>{class a{transform(i,...u){return i(...u)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275pipe=o.Yjl({name:"execute",type:a,pure:!0,standalone:!0})}return a})();function $d(a,l){1&a&&o.GkF(0)}function Wd(a,l){1&a&&o._UZ(0,"ng-doc-code",7),2&a&&o.Q6J("html",l.$implicit.code)}function Gd(a,l){if(1&a&&(o.ynx(0),o.YNc(1,Wd,1,1,"ng-doc-code",6),o.BQk()),2&a){const i=o.oxw(3);o.xp6(1),o.Q6J("ngForOf",i.assets)}}function _g(a,l){if(1&a&&o._UZ(0,"ng-doc-icon",14),2&a){const i=o.oxw(2).$implicit;o.Q6J("customIcon",i.icon)}}function nl(a,l){if(1&a&&(o.YNc(0,_g,1,1,"ng-doc-icon",13),o._uU(1)),2&a){const i=o.oxw().$implicit;o.Q6J("ngIf",i.icon),o.xp6(1),o.hij(" ",i.title," ")}}function Zs(a,l){if(1&a&&o._UZ(0,"ng-doc-code",7),2&a){const i=o.oxw().$implicit;o.Q6J("html",i.code)}}function vg(a,l){if(1&a&&(o.TgZ(0,"ng-doc-tab",10),o.YNc(1,nl,2,2,"ng-template",null,11,o.W1O),o.YNc(3,Zs,1,1,"ng-template",null,12,o.W1O),o.qZA()),2&a){const i=l.$implicit,u=o.MAs(2),f=o.MAs(4);o.Q6J("id",i.title)("label",u)("content",f)}}function Yd(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"ng-doc-tab-group",8),o.ALo(2,"execute"),o.YNc(3,vg,5,3,"ng-doc-tab",9),o.qZA(),o.BQk()),2&a){const i=o.oxw(3);let u;o.xp6(1),o.Q6J("openedTab",null!==(u=o.xi3(2,2,i.getOpenedAssetId,i.assets))&&void 0!==u?u:i.options.defaultTab),o.xp6(2),o.Q6J("ngForOf",i.assets)}}function Zd(a,l){if(1&a&&(o.YNc(0,Gd,2,1,"ng-container",5),o.YNc(1,Yd,4,5,"ng-container",5)),2&a){const i=o.oxw(2);o.Q6J("ngIf",1===i.assets.length),o.xp6(1),o.Q6J("ngIf",i.assets.length>1)}}function ac(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"ng-doc-demo-displayer",2),o.YNc(2,$d,1,0,"ng-container",3),o.YNc(3,Zd,2,2,"ng-template",null,4,o.W1O),o.qZA(),o.BQk()),2&a){const i=o.MAs(4),u=o.oxw(),f=o.MAs(2);o.xp6(1),o.Q6J("codeContent",i)("expanded",!!u.options.expanded),o.xp6(1),o.Q6J("ngTemplateOutlet",f)}}function yg(a,l){if(1&a&&o._UZ(0,"ng-doc-fullscreen-button",17),2&a){const i=o.oxw(2);o.Q6J("route",i.options.fullscreenRoute)}}function fi(a,l){1&a&&o.GkF(0)}const Cg=function(){return{}};function Kd(a,l){if(1&a&&(o.YNc(0,yg,1,1,"ng-template",null,15,o.W1O),o.YNc(2,fi,1,0,"ng-container",16)),2&a){const i=o.MAs(1),u=o.oxw();let f;o.xp6(2),o.Q6J("polymorpheusOutlet",u.options.fullscreenRoute?i:null!==(f=u.demo)&&void 0!==f?f:"")("polymorpheusOutletContext",o.DdM(2,Cg))}}let yu=(()=>{class a{constructor(i){this.rootPage=i,this.options={},this.assets=[]}get classes(){return this.options.class??""}ngOnInit(){this.demo=this.getDemo(),this.assets=this.getAssets()}getOpenedAssetId(i){return i.find(u=>u.opened)?.title}getDemo(){if(this.componentName){const i=this.rootPage.page?.demos&&this.rootPage.page.demos[this.componentName];return i?new yr.Al(i):void 0}}getAssets(){return this.componentName?((this.rootPage.demoAssets&&this.rootPage.demoAssets[this.componentName])??[]).filter(i=>!this.options.tabs?.length||(0,_t.asArray)(this.options.tabs).includes(i.title)):[]}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(Ai.a))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-demo"]],hostVars:2,hostBindings:function(u,f){2&u&&o.Tol(f.classes)},inputs:{componentName:"componentName",options:"options"},standalone:!0,features:[o.jDz],decls:3,vars:2,consts:[[4,"ngIf","ngIfElse"],["demoTemplate",""],[3,"codeContent","expanded"],[4,"ngTemplateOutlet"],["codeContent",""],[4,"ngIf"],[3,"html",4,"ngFor","ngForOf"],[3,"html"],[3,"openedTab"],[3,"id","label","content",4,"ngFor","ngForOf"],[3,"id","label","content"],["label",""],["assetContent",""],[3,"customIcon",4,"ngIf"],[3,"customIcon"],["fullscreenButton",""],[4,"polymorpheusOutlet","polymorpheusOutletContext"],[3,"route"]],template:function(u,f){if(1&u&&(o.YNc(0,ac,5,3,"ng-container",0),o.YNc(1,Kd,3,3,"ng-template",null,1,o.W1O)),2&u){const w=o.MAs(2);let W;o.Q6J("ngIf",null===(W=f.options.container)||void 0===W||W)("ngIfElse",w)}},dependencies:[p.O5,Vd,p.tP,p.ax,Qc,vu,Ca,yr.wq,yr.Li,Or.q,ba,gg],styles:["[_nghost-%COMP%]{display:block;margin:var(--ng-doc-demo-margin);--ng-doc-tab-group-background: var(--ng-doc-code-background);--ng-doc-tab-group-tabs-background: var(--ng-doc-base-2);--ng-doc-tab-group-border-radius: 0;--ng-doc-tab-group-border: none;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none}[_nghost-%COMP%] .ng-doc-example[_ngcontent-%COMP%]{padding:calc(var(--ng-doc-base-gutter) * 3)}[_nghost-%COMP%] ng-doc-icon[_ngcontent-%COMP%]{margin-right:calc(var(--ng-doc-base-gutter) / 2)}[_nghost-%COMP%] ng-doc-tab-group[_ngcontent-%COMP%]{border-top:1px solid var(--ng-doc-border-color)}"],changeDetection:0})}return a})();var Qd=d(9397),Xd=d(9384);const Cu=["resizer"],Da=[[["","ngDocPaneBack",""]],[["","ngDocPaneFront",""]]],Ea=["[ngDocPaneBack]","[ngDocPaneFront]"];let wa=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocPaneFront",""]],standalone:!0})}return a})(),Jd=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocPaneBack",""]],standalone:!0})}return a})(),bu=(()=>{let a=class Pm{constructor(i,u,f,w){this.document=i,this.changeDetectorRef=u,this.elementRef=f,this.ngZone=w,this.expanded=!1,this.width="0%",this.dragging=!1}ngOnInit(){if(this.resizer){const i=(0,F.R)(this.resizer.nativeElement,"mousedown").pipe((0,Qd.b)(()=>{this.dragging=!0,this.changeDetectorRef.markForCheck()})),u=(0,F.R)(this.document,"mouseup").pipe((0,Qd.b)(()=>{this.dragging=!1,this.changeDetectorRef.markForCheck()})),f=(0,F.R)(this.document,"mousemove").pipe((0,V.U)(w=>w.clientX),(0,Xd.G)(),(0,V.U)(([w,W])=>W-w));i.pipe((0,Mr.w)(()=>{const w=f.pipe((0,ga.R)(u)),W=u.pipe((0,V.U)(()=>null),(0,ga.R)(f),(0,du.q)(1));return(0,ec.T)(w,W)}),(0,Xr.h)(w=>0!==w),(0,_s.w1)(this.ngZone),(0,ke.t)(this)).subscribe(w=>{null===w?this.toggle():this.addDelta(w)})}(0,F.R)(window,"resize").pipe((0,fa.b)(100),(0,ke.t)(this),(0,_s.w1)(this.ngZone)).subscribe(()=>this.addDelta(0)),this.addDelta(0)}ngOnChanges({expanded:i}){i&&this.addDelta(i.currentValue?this.elementRef.nativeElement.offsetWidth:-this.elementRef.nativeElement.offsetWidth)}toggle(){this.resizer&&this.addDelta(this.resizer.nativeElement.offsetLeft1)}}let Ir=(()=>{class a{constructor(i){this.rootPage=i,this.options={},this.assets=[]}get classes(){return this.options.class??""}ngOnInit(){this.demo=this.getDemo(),this.assets=this.getAssets()}getDemo(){if(this.componentName){const i=this.rootPage.page?.demos&&this.rootPage.page.demos[this.componentName];return i?new yr.Al(i):void 0}}getAssets(){return this.componentName?((this.rootPage.demoAssets&&this.rootPage.demoAssets[this.componentName])??[]).filter(i=>!this.options.tabs?.length||(0,_t.asArray)(this.options.tabs).includes(i.title)):[]}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(Ai.a))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-demo-pane"]],hostVars:2,hostBindings:function(u,f){2&u&&o.Tol(f.classes)},inputs:{componentName:"componentName",options:"options"},standalone:!0,features:[o.jDz],decls:7,vars:3,consts:[[3,"expanded"],["ngDocPaneBack","",4,"ngTemplateOutlet"],["ngDocPaneFront","",4,"ngTemplateOutlet"],["demoTemplate",""],["codeContent",""],["ngDocPaneBack",""],["ngDocPaneFront",""],["fullscreenButton",""],[4,"polymorpheusOutlet","polymorpheusOutletContext"],[3,"route"],[4,"ngIf"],[3,"html",4,"ngFor","ngForOf"],[3,"html"],[3,"openedTab"],[3,"id","label","content",4,"ngFor","ngForOf"],[3,"id","label","content"],["assetContent",""]],template:function(u,f){if(1&u&&(o.TgZ(0,"ng-doc-pane",0),o.YNc(1,Ma,1,0,"ng-container",1),o.YNc(2,Zm,1,0,"ng-container",2),o.qZA(),o.YNc(3,Xm,3,3,"ng-template",null,3,o.W1O),o.YNc(5,Eg,2,2,"ng-template",null,4,o.W1O)),2&u){const w=o.MAs(4),W=o.MAs(6);let J;o.Q6J("expanded",null!==(J=f.options.expanded)&&void 0!==J&&J),o.xp6(1),o.Q6J("ngTemplateOutlet",W),o.xp6(1),o.Q6J("ngTemplateOutlet",w)}},dependencies:[bu,p.tP,Jd,wa,yr.wq,yr.Li,p.O5,p.ax,Qc,vu,Ca,gg],styles:["[_nghost-%COMP%]{display:block;height:var(--ng-doc-demo-pane-height);margin:var(--ng-doc-demo-pane-margin);--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none;--ng-doc-smooth-resize-height: var(--ng-doc-demo-pane-height);--ng-doc-smooth-resize-max-height: 100%;--ng-doc-tab-group-tabs-background: var(--ng-doc-base-2);--ng-doc-tab-group-border: none;--ng-doc-tab-group-border-radius: 0}[_nghost-%COMP%] ng-doc-tab-group[_ngcontent-%COMP%], [_nghost-%COMP%] ng-doc-code[_ngcontent-%COMP%], [_nghost-%COMP%] ng-doc-pane[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0})}return a})();function wg(a,l){1&a&&o.GkF(0)}function cc(a,l){if(1&a&&(o.TgZ(0,"a",3),o.YNc(1,wg,1,0,"ng-container",4),o.qZA()),2&a){const i=o.oxw(),u=o.MAs(3);o.Tol(i.classes),o.Q6J("routerLink",i.path)("fragment",i.fragment)("queryParams",i.queryParams),o.xp6(1),o.Q6J("ngTemplateOutlet",u)}}function Mg(a,l){1&a&&o.GkF(0)}function Ui(a,l){1&a&&o._UZ(0,"ng-doc-icon",7)}function Sa(a,l){if(1&a&&(o.TgZ(0,"a",5),o.YNc(1,Mg,1,0,"ng-container",4),o.YNc(2,Ui,1,0,"ng-doc-icon",6),o.qZA()),2&a){const i=o.oxw(),u=o.MAs(3);o.Tol(i.classes),o.Q6J("href",i.path,o.LSH),o.xp6(1),o.Q6J("ngTemplateOutlet",u),o.xp6(1),o.Q6J("ngIf",!i.isInCode)}}function qd(a,l){1&a&&o.Hsn(0)}const ol=["*"];let lc=(()=>{class a{constructor(i){this.elementRef=i,this.href="",this.classes="",this.isInCode=!1}ngOnInit(){this.isInCode=null!==this.elementRef.nativeElement.closest("code")}ngOnChanges(){this.link=document.createElement("a"),this.link.href=this.href}get isExternalLink(){return this.href.startsWith("http")}get path(){return(this.isExternalLink?this.href:this.link?.pathname)??""}get fragment(){return this.link?.hash.replace(/^#/,"")||void 0}get queryParams(){return Object.fromEntries(new URLSearchParams(this.link?.search.replace(/^\?/,"")??"").entries())}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-page-link"]],inputs:{href:"href",classes:"classes"},standalone:!0,features:[o.TTD,o.jDz],ngContentSelectors:ol,decls:4,vars:2,consts:[[3,"class","routerLink","fragment","queryParams",4,"ngIf"],["target","_blank",3,"class","href",4,"ngIf"],["content",""],[3,"routerLink","fragment","queryParams"],[4,"ngTemplateOutlet"],["target","_blank",3,"href"],["icon","external-link",4,"ngIf"],["icon","external-link"]],template:function(u,f){1&u&&(o.F$t(),o.YNc(0,cc,2,6,"a",0),o.YNc(1,Sa,3,5,"a",1),o.YNc(2,qd,1,0,"ng-template",null,2,o.W1O)),2&u&&(o.Q6J("ngIf",!f.isExternalLink),o.xp6(1),o.Q6J("ngIf",f.isExternalLink))},dependencies:[p.O5,nr.rH,p.tP,Or.q],styles:["[_nghost-%COMP%]{white-space:nowrap}[_nghost-%COMP%] ng-doc-icon[_ngcontent-%COMP%]{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}"],changeDetection:0})}return a})();var Rs=d(95);class t0{constructor(l){this.internalDirectiveInstance=l}get $implicit(){return this.internalDirectiveInstance.ngDocLet}get ngDocLet(){return this.internalDirectiveInstance.ngDocLet}}let rl=(()=>{class a{constructor(i,u){this.viewContainer=i,this.templateRef=u,this.viewContainer.createEmbeddedView(this.templateRef,new t0(this))}static ngTemplateContextGuard(i,u){return!0}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.s_b),o.Y36(o.Rgc))};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocLet",""]],inputs:{ngDocLet:"ngDocLet"},standalone:!0})}return a})();var n0=d(8584),Ri=d(23);let il=(()=>{class a{transform(i,u){return i.bind(u)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275pipe=o.Yjl({name:"bind",type:a,pure:!0,standalone:!0})}return a})(),Ta=(()=>{class a{transform(i){return(0,_t.asArray)(i)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275pipe=o.Yjl({name:"asArray",type:a,pure:!0,standalone:!0})}return a})();var Du=d(3354);const sl=new Map;var eh=d(1435),th=d(2096),nh=d(1794);const Sg=["demoOutlet"];function Eu(a,l){if(1&a&&(o.TgZ(0,"ng-doc-smooth-resize",1)(1,"ng-doc-demo-displayer",2),o.GkF(2,null,3),o.qZA()()),2&a){const i=l.ngDocLet,u=o.oxw();let f;o.Q6J("trigger",i),o.xp6(1),o.Q6J("code",null!==(f=i)&&void 0!==f?f:"")("border",!1)("expanded",u.expanded)}}const al=["propertyOutlet"];function Tg(a,l){if(1&a&&(o._UZ(0,"div",5),o.ALo(1,"ngDocSanitizeHtml")),2&a){const i=o.oxw(2);o.Q6J("innerHTML",o.lcZ(1,1,i.tooltipContent),o.oJD)}}const cl=function(){return["left-center","top-right","bottom-right"]};function xg(a,l){if(1&a&&(o.TgZ(0,"span",3),o._uU(1),o.qZA(),o.YNc(2,Tg,2,3,"ng-template",null,4,o.W1O)),2&a){const i=o.MAs(3),u=o.oxw();o.Q6J("ngDocTooltip",i)("canOpen",!!u.tooltipContent)("positions",o.DdM(4,cl)),o.xp6(1),o.Oqu(u.name)}}function ll(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"button",14),o.NdJ("click",function(){o.CHM(i);const f=o.oxw(3);return o.KtG(f.resetForm.emit())}),o._uU(1," Reset "),o.qZA()}}function Pg(a,l){if(1&a&&(o._UZ(0,"ng-doc-playground-property",17),o.ALo(1,"execute"),o.ALo(2,"bind")),2&a){const i=l.$implicit,u=o.oxw(4);o.Q6J("name",i.property.inputName)("property",i.property)("typeControl",i.typeControl)("defaultValue",u.defaultValues[i.propertyName])("control",o.Dn7(1,5,o.xi3(2,9,u.getFormControl,u),"properties",i.propertyName))}}function oh(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"h5",15),o._uU(2,"Settings"),o.qZA(),o.YNc(3,Pg,3,12,"ng-doc-playground-property",16),o.BQk()),2&a){const i=o.oxw(3);o.xp6(3),o.Q6J("ngForOf",i.propertyControls)}}function wu(a,l){if(1&a&&(o._UZ(0,"ng-doc-playground-property",19),o.ALo(1,"execute"),o.ALo(2,"bind")),2&a){const i=l.$implicit,u=o.oxw(4);o.Q6J("name",i.value.label)("property",i.value)("typeControl",u.contentTypeControl)("control",o.Dn7(1,4,o.xi3(2,8,u.getFormControl,u),"content",i.key))}}function ul(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"h5",15),o._uU(2,"Content"),o.qZA(),o.YNc(3,wu,3,11,"ng-doc-playground-property",18),o.ALo(4,"keyvalue"),o.BQk()),2&a){const i=o.oxw(3);o.xp6(3),o.Q6J("ngForOf",o.lcZ(4,1,i.dynamicContent))}}const rh=function(){return["bottom-right","left-center"]};function Ag(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"div",4)(1,"div",5)(2,"h4",6),o._uU(3,"Playground"),o.qZA(),o.YNc(4,ll,2,0,"button",7),o.qZA(),o.TgZ(5,"div",8)(6,"ng-doc-checkbox",9),o.NdJ("ngModelChange",function(f){o.CHM(i);const w=o.oxw(2);return o.KtG(w.recreateDemo=f)})("ngModelChange",function(f){o.CHM(i);const w=o.oxw(2);return o.KtG(w.recreateDemoChange.emit(f))}),o.TgZ(7,"span",10),o._uU(8," Recreate "),o._UZ(9,"ng-doc-icon",11),o.qZA()()(),o._UZ(10,"div",12),o.YNc(11,oh,4,1,"ng-container",13),o.YNc(12,ul,5,3,"ng-container",13),o.ALo(13,"keyvalue"),o.qZA()}if(2&a){const i=o.oxw(2);let u;o.xp6(4),o.Q6J("ngIf",i.showResetButton),o.xp6(2),o.Q6J("ngModel",i.recreateDemo),o.xp6(1),o.Q6J("ngDocTooltip","Recreates demo everytime\none of the input has changed")("positions",o.DdM(8,rh)),o.xp6(4),o.Q6J("ngIf",i.propertyControls.length),o.xp6(1),o.Q6J("ngIf",null==(u=o.lcZ(13,6,i.dynamicContent))?null:u.length)}}function Ig(a,l){if(1&a&&(o.TgZ(0,"div",1),o.ALo(1,"async"),o.TgZ(2,"div",2),o.Hsn(3),o.qZA(),o.YNc(4,Ag,14,9,"div",3),o.qZA()),2&a){const i=o.oxw();o.ekj("vertical",o.lcZ(1,3,i.observer)),o.xp6(4),o.Q6J("ngIf",!i.hideSidePanel)}}const xa=["*"];function uc(a,l){if(1&a&&o._UZ(0,"ng-doc-playground-demo",4),2&a){const i=l.$implicit,u=o.oxw(2);let f;o.Q6J("id",u.id)("selector",i)("properties",u.properties)("configuration",u.configuration)("recreateDemo",u.recreateDemo)("form",u.formGroup)("expanded",null!==(f=u.configuration.expanded)&&void 0!==f&&f)}}function Ng(a,l){if(1&a&&o._UZ(0,"ng-doc-playground-demo",5),2&a){const i=o.oxw(2);o.Q6J("id",i.id)("pipeName",i.pipeName)("properties",i.properties)("configuration",i.configuration)("recreateDemo",i.recreateDemo)("form",i.formGroup)}}function r0(a,l){if(1&a){const i=o.EpF();o.ynx(0),o.TgZ(1,"ng-doc-playground-properties",1),o.NdJ("recreateDemoChange",function(f){o.CHM(i);const w=o.oxw();return o.KtG(w.recreateDemo=f)})("resetForm",function(){o.CHM(i);const f=o.oxw();return o.KtG(f.resetForm())}),o.YNc(2,uc,1,7,"ng-doc-playground-demo",2),o.ALo(3,"asArray"),o.YNc(4,Ng,1,6,"ng-doc-playground-demo",3),o.qZA(),o.BQk()}if(2&a){const i=o.oxw();let u,f;o.xp6(1),o.Q6J("form",i.formGroup)("properties",i.properties)("ignoreInputs",i.configuration.hiddenInputs)("dynamicContent",i.configuration.content)("hideSidePanel",null!==(u=i.configuration.hideSidePanel)&&void 0!==u&&u)("defaultValues",i.defaultValues)("showResetButton",!i.isDefaultState())("recreateDemo",i.recreateDemo),o.xp6(1),o.Q6J("ngForOf",o.lcZ(3,10,null!==(f=i.configuration.selectors)&&void 0!==f?f:i.selectors)),o.xp6(2),o.Q6J("ngIf",i.pipeName)}}let ih=(()=>{let a=class Am{constructor(i){this.injector=i,this.id="",this.pipeName="",this.selector="",this.recreateDemo=!1,this.expanded=!1,this.code=(0,th.of)(""),this.unsubscribe$=new he.x}ngOnChanges({form:i,id:u}){if(i||u){this.unsubscribe$.next();const f=function Og(a){return sl.get(a)}(this.id);if(f){const w=this.injector.get(f,[]);this.playgroundDemo=w.find(W=>W.selector===this.selector||W.selector===this.pipeName)}this.updateDemo(),this.form?.valueChanges.pipe((0,ga.R)(this.unsubscribe$),(0,ke.t)(this),(0,H.O)(this.form?.value)).subscribe(w=>this.updateDemo(w))}}updateDemo(i){(this.recreateDemo||!this.demoRef)&&this.createDemo(),i&&(this.demoRef?.setInput("properties",i.properties??{}),this.demoRef?.setInput("content",i.content??{}),this.demoRef?.setInput("actionData",this.configuration?.data??{})),this.updateCodeView()}createDemo(){this.playgroundDemo&&(this.demoRef?.destroy(),this.demoRef=this.demoOutlet?.createComponent(this.playgroundDemo),this.demoRef?.changeDetectorRef.markForCheck())}updateCodeView(){const i=this.pipeName?(0,eh.buildPlaygroundDemoPipeTemplate)(this.configuration?.template??"",this.pipeName,this.getActiveContent(),this.getPipeActiveInputs()):(0,eh.buildPlaygroundDemoTemplate)(this.configuration?.template??"",this.selector,this.getActiveContent(),this.getActiveInputs());this.code=(0,Qi.D)((0,Du.Mg)(i))}getActiveContent(){const i=this.form?.controls.content.value??{};return(0,an.objectKeys)(i).reduce((u,f)=>(u[f]=i[f]?this.configuration?.content?.[f].template??"":"",u),{})}getActiveInputs(){const i=this.form?.controls.properties.value??{};return(0,an.objectKeys)(i).reduce((u,f)=>{const w=i[f];return this.demoRef?.instance?.defaultValues[f]!==w&&(u[f]=(0,st.stringify)(w).replace(/"/g,"'")),u},{})}getPipeActiveInputs(){const i=this.form?.controls.properties.value??{};let u=-1;return(0,an.objectKeys)(i).map((f,w)=>{const W=i[f];return this.demoRef?.instance?.defaultValues[f]!==W&&(u=w),f}).slice(0,u+1).reduce((f,w,W)=>(f[w]=(0,st.stringify)(i[w]).replace(/"/g,"'"),f),{})}ngOnDestroy(){this.unsubscribe$.next(),this.unsubscribe$.complete()}static#e=this.\u0275fac=function(u){return new(u||Am)(o.Y36(o.zs3))};static#t=this.\u0275cmp=o.Xpm({type:Am,selectors:[["ng-doc-playground-demo"]],viewQuery:function(u,f){if(1&u&&o.Gf(Sg,7,o.s_b),2&u){let w;o.iGM(w=o.CRH())&&(f.demoOutlet=w.first)}},inputs:{id:"id",pipeName:"pipeName",selector:"selector",configuration:"configuration",properties:"properties",recreateDemo:"recreateDemo",form:"form",expanded:"expanded"},standalone:!0,features:[o.TTD,o.jDz],decls:2,vars:3,consts:[[3,"trigger",4,"ngDocLet"],[3,"trigger"],["language","html",3,"code","border","expanded"],["demoOutlet",""]],template:function(u,f){1&u&&(o.YNc(0,Eu,4,4,"ng-doc-smooth-resize",0),o.ALo(1,"async")),2&u&&o.Q6J("ngDocLet",o.lcZ(1,1,f.code))},dependencies:[Vd,p.Ov,_a,rl],styles:["[_nghost-%COMP%]{display:block;border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius);overflow:hidden}[_nghost-%COMP%]:not(:last-child){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}[_nghost-%COMP%]:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}"],changeDetection:0})};return a=(0,N.__decorate)([(0,ke.c)(),(0,N.__metadata)("design:paramtypes",[o.zs3])],a),a})(),Rg=(()=>{class a{constructor(){this.name=""}ngOnChanges({property:i,control:u,typeControl:f,defaultValue:w}){(i||u||f||w)&&this.property&&this.typeControl&&(this.propertyTypeControl?.destroy(),this.propertyTypeControl=void 0,this.typeControl&&this.propertyOutlet&&(this.propertyTypeControl=this.propertyOutlet.createComponent(this.typeControl.control),this.propertyTypeControl.instance.name=this.name,this.propertyTypeControl.instance.description=this.tooltipContent,this.propertyTypeControl.instance.options=(0,Du.rS)(this.property)?this.property.options:void 0,this.propertyTypeControl.instance.default=this.defaultValue,this.propertyTypeControl.instance.writeValue(this.control?.value),this.option=this.typeControl.options),this.control&&(this.control?.registerOnChange(W=>this.propertyTypeControl?.instance?.writeValue(W)),this.propertyTypeControl?.instance.registerOnChange(W=>this.control?.setValue(W)),this.propertyTypeControl?.instance.registerOnTouched(()=>this.control?.markAsTouched())))}get hasPropertyControl(){return!!this.propertyTypeControl}get tooltipContent(){return this.property&&(0,Du.rS)(this.property)?this.property.description??"":""}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-playground-property"]],viewQuery:function(u,f){if(1&u&&o.Gf(al,7,o.s_b),2&u){let w;o.iGM(w=o.CRH())&&(f.propertyOutlet=w.first)}},hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-has-property-control",f.hasPropertyControl)},inputs:{name:"name",property:"property",typeControl:"typeControl",control:"control",defaultValue:"defaultValue"},standalone:!0,features:[o.TTD,o.jDz],decls:5,vars:1,consts:[[3,"ng-doc-label"],["labelContent",""],["propertyOutlet",""],[3,"ngDocTooltip","canOpen","positions"],["tooltipTemplate",""],[3,"innerHTML"]],template:function(u,f){if(1&u&&(o.TgZ(0,"label",0),o.YNc(1,xg,4,5,"ng-template",null,1,o.W1O),o.GkF(3,null,2),o.qZA()),2&u){const w=o.MAs(2);o.Q6J("ng-doc-label",null!=f.option&&f.option.hideLabel?"":w)}},dependencies:[n0.J,qt.A,ys.Y],styles:["[_nghost-%COMP%]{display:block}[data-has-property-control=false][_nghost-%COMP%]{display:none}"],changeDetection:0})}return a})(),s0=(()=>{class a{constructor(i,u){this.breakpointObserver=i,this.injector=u,this.ignoreInputs=[],this.hideSidePanel=!1,this.recreateDemo=!1,this.showResetButton=!1,this.recreateDemoChange=new o.vpe,this.resetForm=new o.vpe,this.breakpoints=[Is.XSmall],this.propertyControls=[],this.contentTypeControl=this.getControlForType("boolean"),this.observer=this.breakpointObserver.observe(this.breakpoints).pipe((0,V.U)(f=>f.matches))}ngOnChanges({properties:i}){i&&this.properties&&(this.propertyControls=(0,st.objectKeys)(this.properties).filter(u=>!0!==this.ignoreInputs?.includes(String(u))).map(u=>{if(this.properties){const f=this.properties[u],w=this.getTypeControl(f);if(w)return{propertyName:String(u),property:f,typeControl:w}}return null}).filter(st.isPresent).sort((u,f)=>{const w=u.typeControl.options?.order,W=f.typeControl.options?.order;return(0,st.isPresent)(w)&&(0,st.isPresent)(W)?w-W:(0,st.isPresent)(w)?-1:(0,st.isPresent)(W)?1:u.property.inputName.localeCompare(f.property.inputName)}))}getFormControl(i,u){return this.form.get(i)?.get(u)}getTypeControl(i){const u=i.type,f=this.getControlForType(u)??this.getControlForTypeAlias((0,Du.rS)(i)?i.options:void 0);return!f&&(0,o.X6Q)()&&console.warn(`NgDocPlayground didn't find the control for the @Input "${i.inputName}", the type "${u}" was not recognized'`),f}getControlForType(i){const u=(0,nh.d)(i);return u?this.injector.get(u):void 0}getControlForTypeAlias(i){if(i&&i.length){let u=!0;try{i.forEach(f=>(0,st.extractValueOrThrow)(f))}catch{u=!1}if(u){const f=(0,nh.d)("NgDocTypeAlias");return f?this.injector.get(f):void 0}}}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(Xi),o.Y36(o.zs3))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-playground-properties"]],inputs:{form:"form",properties:"properties",ignoreInputs:"ignoreInputs",dynamicContent:"dynamicContent",defaultValues:"defaultValues",hideSidePanel:"hideSidePanel",recreateDemo:"recreateDemo",showResetButton:"showResetButton"},outputs:{recreateDemoChange:"recreateDemoChange",resetForm:"resetForm"},standalone:!0,features:[o.TTD,o.jDz],ngContentSelectors:xa,decls:1,vars:1,consts:[["class","ng-doc-playground-properties-wrapper",3,"vertical",4,"ngIf"],[1,"ng-doc-playground-properties-wrapper"],[1,"ng-doc-playground-demos"],["class","ng-doc-playground-properties",4,"ngIf"],[1,"ng-doc-playground-properties"],[1,"ng-doc-playground-header"],["ng-doc-text",""],["ng-doc-button","","color","alert",3,"click",4,"ngIf"],[1,"ng-doc-playground-setting"],[3,"ngModel","ngModelChange"],["ng-doc-text","",3,"ngDocTooltip","positions"],["icon","info","ngDocTextRight",""],[1,"ng-doc-playground-divider"],[4,"ngIf"],["ng-doc-button","","color","alert",3,"click"],["ng-doc-text","",1,"ng-doc-title"],[3,"name","property","typeControl","defaultValue","control",4,"ngFor","ngForOf"],[3,"name","property","typeControl","defaultValue","control"],[3,"name","property","typeControl","control",4,"ngFor","ngForOf"],[3,"name","property","typeControl","control"]],template:function(u,f){1&u&&(o.F$t(),o.YNc(0,Ig,5,5,"div",0)),2&u&&o.Q6J("ngIf",f.defaultValues)},dependencies:[Qr.Uy,ic,Ri.Q,Rs.u5,Rs.JJ,Rs.On,qt.A,Or.q,Qr.EH,p.O5,p.ax,Rg,p.Ov,p.Nd,il,ba],styles:["[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;grid-gap:calc(var(--ng-doc-base-gutter) * 2);gap:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper.vertical[_ngcontent-%COMP%]{flex-direction:column}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper.vertical[_ngcontent-%COMP%] .ng-doc-playground-demos[_ngcontent-%COMP%]{margin-right:0;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper.vertical[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-demos[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;overflow:hidden}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%]{flex-shrink:0;width:300px;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 3);background-color:var(--ng-doc-base-1);border-radius:var(--ng-doc-base-gutter);border:1px solid var(--ng-doc-border-color)}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%] ng-doc-playground-property[_ngcontent-%COMP%]:not(:last-child){margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%] .ng-doc-playground-controls[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%] .ng-doc-playground-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;height:40px;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%] .ng-doc-playground-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-playground-properties[_ngcontent-%COMP%] .ng-doc-playground-setting[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .ng-doc-playground-properties-wrapper[_ngcontent-%COMP%] .ng-doc-title[_ngcontent-%COMP%]{margin-top:0;margin-bottom:calc(var(--ng-doc-base-gutter) + var(--ng-doc-base-gutter) / 2)}[_nghost-%COMP%] .ng-doc-playground-divider[_ngcontent-%COMP%]{margin:calc(var(--ng-doc-base-gutter) * 2) 0;height:1px;background-color:var(--ng-doc-base-2)}"],changeDetection:0})}return a})(),kg=(()=>{class a{constructor(i,u){this.rootPage=i,this.formBuilder=u,this.id="",this.pipeName="",this.selectors=[],this.options={},this.recreateDemo=!1,this.defaultProperties={},this.defaultContent={}}ngOnChanges({options:i}){i&&(this.configuration=Object.assign({},this.rootPage.page?.playgrounds?.[this.id],this.options))}ngAfterViewInit(){this.defaultProperties=this.getPropertiesFormValues(),this.defaultContent=this.getContentFormValues();const i=this.formBuilder.group(this.defaultProperties),u=this.formBuilder.group(this.defaultContent);this.formGroup=this.formBuilder.group({properties:i,content:u}),this.formGroup.patchValue({properties:Object.assign({},this.defaultProperties,this.configuration.inputs),content:this.defaultContent})}isDefaultState(){return!!this.formGroup&&(0,st.isSameObject)(this.formGroup.value.properties??{},this.defaultValues??{})&&(0,st.isSameObject)(this.formGroup.value.content??{},this.defaultContent??{})}getPropertiesFormValues(){const i=(0,an.objectKeys)(this.properties??{}).reduce((u,f)=>(this.properties&&(u[f]=this.defaultValues?this.defaultValues[f]:void 0),u),{});return Object.assign({},i,this.configuration.defaults)}getContentFormValues(){return(0,an.objectKeys)(this.configuration?.content??{}).reduce((i,u)=>(this.configuration?.content&&(i[u]=!1),i),{})}resetForm(){this.formGroup.reset({},{emitEvent:!1}),this.formGroup?.patchValue({properties:this.defaultProperties,content:this.defaultContent})}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(Ai.a),o.Y36(Rs.qu))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-playground"]],inputs:{id:"id",pipeName:"pipeName",selectors:"selectors",properties:"properties",options:"options"},standalone:!0,features:[o.TTD,o.jDz],decls:1,vars:1,consts:[[4,"ngIf"],[3,"form","properties","ignoreInputs","dynamicContent","hideSidePanel","defaultValues","showResetButton","recreateDemo","recreateDemoChange","resetForm"],[3,"id","selector","properties","configuration","recreateDemo","form","expanded",4,"ngFor","ngForOf"],[3,"id","pipeName","properties","configuration","recreateDemo","form",4,"ngIf"],[3,"id","selector","properties","configuration","recreateDemo","form","expanded"],[3,"id","pipeName","properties","configuration","recreateDemo","form"]],template:function(u,f){1&u&&o.YNc(0,r0,5,12,"ng-container",0),2&u&&o.Q6J("ngIf",f.configuration)},dependencies:[p.O5,s0,p.ax,ih,Ta],styles:["[_nghost-%COMP%]{display:block;margin:var(--ng-doc-playground-margin)}"],changeDetection:0})}return a})();function Fg(a,l){if(1&a&&o._UZ(0,"ng-doc-icon",6),2&a){const i=o.oxw(2).$implicit;o.Q6J("customIcon",i.icon)}}function dl(a,l){if(1&a&&(o.YNc(0,Fg,1,1,"ng-doc-icon",5),o._uU(1)),2&a){const i=o.oxw().$implicit;o.Q6J("ngIf",i.icon),o.xp6(1),o.hij(" ",i.title," ")}}function sh(a,l){if(1&a&&(o.TgZ(0,"div",null,7),o._uU(2),o.ALo(3,"execute"),o.qZA()),2&a){const i=o.MAs(1),u=o.oxw().$implicit,f=o.oxw();o.xp6(2),o.hij(" ",o.Dn7(3,1,f.appendElement,u.content,i)," ")}}function Lg(a,l){if(1&a&&(o.TgZ(0,"ng-doc-tab",2),o.YNc(1,dl,2,2,"ng-template",null,3,o.W1O),o.YNc(3,sh,4,5,"ng-template",null,4,o.W1O),o.qZA()),2&a){const i=l.index,u=o.MAs(2),f=o.MAs(4);o.Q6J("label",u)("content",f)("id",i)}}let ah=(()=>{class a{constructor(){this.tabs=[]}getActiveIndex(i){return Math.max(i.findIndex(u=>u.active),0)}appendElement(i,u){u.appendChild(i)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-tabs"]],inputs:{tabs:"tabs"},standalone:!0,features:[o.jDz],decls:3,vars:5,consts:[[3,"openedTab"],[3,"label","content","id",4,"ngFor","ngForOf"],[3,"label","content","id"],["label",""],["content",""],[3,"customIcon",4,"ngIf"],[3,"customIcon"],["element",""]],template:function(u,f){1&u&&(o.TgZ(0,"ng-doc-tab-group",0),o.ALo(1,"execute"),o.YNc(2,Lg,5,3,"ng-doc-tab",1),o.qZA()),2&u&&(o.Q6J("openedTab",o.xi3(1,2,f.getActiveIndex,f.tabs)),o.xp6(2),o.Q6J("ngForOf",f.tabs))},dependencies:[p.ez,p.sg,p.O5,vu,Ca,ba,Or.q],styles:["[_nghost-%COMP%]{display:block;border-radius:var(--ng-doc-tabs-border-radius);border:var(--ng-doc-tabs-border);margin:var(--ng-doc-tabs-margin);overflow:hidden;--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none;--ng-doc-tab-group-header-background: var(--ng-doc-base-2)}[_nghost-%COMP%] ng-doc-icon[_ngcontent-%COMP%]{margin-right:calc(var(--ng-doc-base-gutter) / 2)}"],changeDetection:0})}return a})();const c0=["contentProjection"],ch=["*"],Bg={component:Qc,selector:"pre code",nodeToReplace:a=>a.closest("pre")??a,extractOptions:a=>({inputs:{copyButton:"false"!==a.getAttribute("copyButton"),name:a.getAttribute("name")||void 0,icon:a.getAttribute("icon")||void 0,lineNumbers:"false"!==a.getAttribute("lineNumbers")},content:[[a.closest("pre")??a]]})},jg={component:yu,selector:"ng-doc-demo",extractOptions:a=>({inputs:{componentName:a.getAttribute("componentName")||void 0,options:JSON.parse(a.querySelector("#options")?.textContent??"")||{}}})},Mu={component:Ir,selector:"ng-doc-demo-pane",extractOptions:a=>({inputs:{componentName:a.getAttribute("componentName")||void 0,options:JSON.parse(a.querySelector("#options")?.textContent??"")||{}}})},d0=[{component:it,selector:"ng-doc-blockquote",extractOptions:a=>({content:[Array.from(a.childNodes)],inputs:{type:a.getAttribute("type")||"default"}})},{component:Or.q,selector:"ng-doc-icon",extractOptions:a=>({inputs:{icon:a.getAttribute("icon")??"",size:Number(a.getAttribute("size"))??16}})},{component:(()=>{class a{constructor(i){this.changeDetectorRef=i,this.tooltipElement=null}ngAfterViewInit(){if(this.contentProjection){const i=this.contentProjection.nativeElement.querySelector("[ngDocTooltip]");this.tooltipElement=i instanceof HTMLElement?i:null,this.changeDetectorRef.detectChanges()}}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.sBO))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-tooltip-wrapper"]],viewQuery:function(u,f){if(1&u&&o.Gf(c0,7,o.SBq),2&u){let w;o.iGM(w=o.CRH())&&(f.contentProjection=w.first)}},inputs:{content:"content"},standalone:!0,features:[o.jDz],ngContentSelectors:ch,decls:3,vars:3,consts:[[1,"content-projection",3,"ngDocTooltip","displayOrigin","pointerOrigin"],["contentProjection",""]],template:function(u,f){if(1&u&&(o.F$t(),o.TgZ(0,"div",0,1),o.Hsn(2),o.qZA()),2&u){const w=o.MAs(1);let W,J,le;o.Q6J("ngDocTooltip",null!==(W=f.content)&&void 0!==W?W:"")("displayOrigin",null!==(J=f.tooltipElement)&&void 0!==J?J:w)("pointerOrigin",null!==(le=f.tooltipElement)&&void 0!==le?le:w)}},dependencies:[qt.A],styles:[".content-projection[_ngcontent-%COMP%]{display:unset}"],changeDetection:0})}return a})(),selector:"[ngDocTooltip]",extractOptions:a=>({inputs:{content:a.getAttribute("ngDocTooltip")??""},content:[[a.cloneNode(!0)]]})},{component:lc,selector:"a",extractOptions:a=>({inputs:{href:a.getAttribute("href")??"",classes:a.getAttribute("class")??""},content:[Array.from(a.childNodes)]})},Bg,jg,Mu,{component:kg,selector:"ng-doc-playground",extractOptions:a=>({inputs:{id:a.getAttribute("id")||void 0,properties:JSON.parse(a.querySelector("#data")?.textContent?.replace(/\n/g,"\\n")??"")||void 0,pipeName:a.querySelector("#pipeName")?.textContent||void 0,selectors:(a.querySelector("#selectors")?.textContent||"").split(",").map(l=>l.trim()).filter(st.isPresent),options:JSON.parse(a.querySelector("#options")?.textContent??"")||{}}})},{component:ah,selector:"ng-doc-tab",nodeToReplace:a=>{const l=document.createElement("div");return a.parentNode?.insertBefore(l,a)??a},extractOptions:(a,l)=>{const i=a.getAttribute("group")??"",u=Array.from(l.querySelectorAll(`ng-doc-tab[group="${i}"]`)),f=u.map(w=>({title:w.getAttribute("name")??"",content:w,icon:w.getAttribute("icon")||void 0,active:w.hasAttribute("active")}));return u.forEach(w=>w.remove()),{inputs:{tabs:f}}}}];var h0=d(9473),uh=d(8290);let dc=(()=>{class a{constructor(i,u){this.document=i,this.viewportRuler=u,this.scrollStrategy=new uh.BS(this.viewportRuler,this.document)}block(){this.scrollStrategy.enable()}unblock(){this.scrollStrategy.disable()}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(p.K0),o.LFG(h0.rL))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();var hc=d(5619);let fc=(()=>{let a=class sg{constructor(i,u,f,w){this.document=i,this.breakpointObserver=u,this.router=f,this.scroll=w,this.breakpoints=[Is.XSmall,Is.Small],this.expanded=new hc.X(!0),this.observer=this.breakpointObserver.observe(this.breakpoints).pipe(pa("matches"),(0,$.x)(),(0,ke.t)(this)),(0,Gs.a)([this.router.events,this.isMobileMode()]).pipe((0,Xr.h)(([W,J])=>W instanceof nr.m2&&this.expanded.value&&J),(0,fa.b)(10)).subscribe(()=>this.hide()),this.isMobileMode().pipe((0,ke.t)(this)).subscribe(W=>{W?this.hide():(this.show(),this.scroll.unblock())})}isMobileMode(){return this.observer}isExpanded(){return this.expanded.asObservable()}show(){this.expanded.value||(this.expanded.next(!0),this.scroll.block())}hide(){this.expanded.value&&(this.expanded.next(!1),this.scroll.unblock())}toggle(){this.expanded.value?this.hide():this.show()}static#e=this.\u0275fac=function(u){return new(u||sg)(o.LFG(p.K0),o.LFG(Xi),o.LFG(nr.F0),o.LFG(dc))};static#t=this.\u0275prov=o.Yz7({token:sg,factory:sg.\u0275fac,providedIn:"root"})};return a=(0,N.__decorate)([(0,ke.c)(),(0,N.__metadata)("design:paramtypes",[Document,Xi,nr.F0,dc])],a),a})();function dh(a,l){1&a&&o.GkF(0)}function hh(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"div",5),o.NdJ("click",function(){o.CHM(i);const f=o.oxw();return o.KtG(f.closeEvent.emit())}),o.qZA()}2&a&&o.Q6J("@backdropFade",void 0)}const Pa=["*"];let Ou=(()=>{class a{constructor(){this.sidebar="",this.align="left",this.over=!1,this.opened=!0,this.hasBackdrop=!0,this.openedChange=new o.vpe,this.closeEvent=new o.vpe,this.beforeOpen=new o.vpe,this.beforeClose=new o.vpe,this.afterOpen=new o.vpe,this.afterClose=new o.vpe}get backdrop(){return this.over&&this.opened&&this.hasBackdrop}animationStart(i){i.toState?this.beforeOpen.emit():this.beforeClose.emit()}animationDone(i){i.toState?this.afterOpen.emit():this.afterClose.emit()}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-sidenav"]],hostVars:3,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-align",f.align)("data-ng-doc-over",f.over)("data-ng-doc-opened",f.opened)},inputs:{sidebar:"sidebar",align:"align",over:"over",opened:"opened",hasBackdrop:"hasBackdrop"},outputs:{openedChange:"openedChange",closeEvent:"closeEvent",beforeOpen:"beforeOpen",beforeClose:"beforeClose",afterOpen:"afterOpen",afterClose:"afterClose"},standalone:!0,features:[o.jDz],ngContentSelectors:Pa,decls:6,vars:4,consts:[[1,"ng-doc-sidenav-wrapper"],[1,"ng-doc-sidenav"],[4,"polymorpheusOutlet"],[1,"ng-doc-sidenav-content"],["class","ng-doc-backdrop",3,"click",4,"ngIf"],[1,"ng-doc-backdrop",3,"click"]],template:function(u,f){1&u&&(o.F$t(),o.TgZ(0,"div",0)(1,"div",1),o.NdJ("@sidenavAnimation.start",function(W){return f.animationStart(W)})("@sidenavAnimation.done",function(W){return f.animationDone(W)}),o.YNc(2,dh,1,0,"ng-container",2),o.qZA(),o.TgZ(3,"div",3),o.YNc(4,hh,1,1,"div",4),o.Hsn(5),o.qZA()()),2&u&&(o.xp6(1),o.Q6J("@sidenavAnimation",!!f.opened&&f.align),o.xp6(1),o.Q6J("polymorpheusOutlet",f.sidebar),o.xp6(1),o.Q6J("@sidenavContentAnimation",!f.over&&f.opened),o.xp6(1),o.Q6J("ngIf",f.backdrop))},dependencies:[yr.wq,yr.Li,p.O5],styles:['[_nghost-%COMP%]{width:100%}[data-ng-doc-align=right][_nghost-%COMP%] .ng-doc-sidenav-wrapper[_ngcontent-%COMP%]{flex-direction:row-reverse}[data-ng-doc-over=true][_nghost-%COMP%] .ng-doc-sidenav-content[_ngcontent-%COMP%]{min-width:100%}[data-ng-doc-over=true][data-ng-doc-align=left][_nghost-%COMP%] .ng-doc-sidenav[_ngcontent-%COMP%]{--ng-doc-sidebar-shadow: var(--ng-doc-shadow-color) -5px 5px 20px -5px}[data-ng-doc-over=true][data-ng-doc-align=right][_nghost-%COMP%] .ng-doc-sidenav[_ngcontent-%COMP%]{--ng-doc-sidebar-shadow: var(--ng-doc-shadow-color) 0px 5px 20px -5px}[_nghost-%COMP%] .ng-doc-sidenav-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;width:100%}[_nghost-%COMP%] .ng-doc-sidenav[_ngcontent-%COMP%]{position:fixed;top:var(--ng-doc-sidenav-top, 0);width:var(--ng-doc-sidenav-width);flex-shrink:0;z-index:5;transition:box-shadow var(--ng-doc-transition)}[_nghost-%COMP%] .ng-doc-sidenav-content[_ngcontent-%COMP%]{width:100%;padding:var(--ng-doc-sidenav-content-padding)}[_nghost-%COMP%] .ng-doc-backdrop[_ngcontent-%COMP%]{position:fixed!important;left:0;top:0;width:100%;height:100%;z-index:1}[_nghost-%COMP%] .ng-doc-backdrop[_ngcontent-%COMP%]:not(nothing){-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}[_nghost-%COMP%] .ng-doc-backdrop[_ngcontent-%COMP%]:not(nothing){position:relative}[_nghost-%COMP%] .ng-doc-backdrop[_ngcontent-%COMP%]:not(nothing):before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0003;opacity:.6;border-radius:inherit;overflow:hidden;pointer-events:none}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){[_nghost-%COMP%] .ng-doc-backdrop[_ngcontent-%COMP%]{background-color:#0003}}[_nghost-%COMP%] .ng-doc-backdropnothing[_ngcontent-%COMP%]{background-color:#0003}'],data:{animation:[(0,kt.X$)("sidenavAnimation",[(0,kt.SB)("false",(0,kt.oB)({display:"none"})),(0,kt.eR)("left => false",[(0,kt.oB)({transform:"translateX(0)",opacity:1}),(0,kt.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,kt.oB)({transform:"translateX(-100%)",opacity:0}))]),(0,kt.eR)("false => left",[(0,kt.oB)({transform:"translateX(-100%)",opacity:0,display:"block"}),(0,kt.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,kt.oB)({transform:"translateX(0)",opacity:1}))]),(0,kt.eR)("right => false",[(0,kt.oB)({transform:"translateX(0)",opacity:1}),(0,kt.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,kt.oB)({transform:"translateX(100%)",opacity:0}))]),(0,kt.eR)("false => right",[(0,kt.oB)({transform:"translateX(100%)",opacity:0,display:"block"}),(0,kt.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,kt.oB)({transform:"translateX(0)",opacity:1}))])]),(0,kt.X$)("sidenavContentAnimation",[(0,kt.SB)("true",(0,kt.oB)({"margin-left":"var(--ng-doc-sidenav-width)",width:"calc(100% - var(--ng-doc-sidenav-width))"})),(0,kt.SB)("false",(0,kt.oB)({"margin-left":"0",width:"100%"})),(0,kt.eR)("true => false",(0,kt.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)")),(0,kt.eR)("false => true",(0,kt.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)"))]),(0,kt.X$)("backdropFade",[(0,kt.eR)(":enter",[(0,kt.oB)({opacity:0}),(0,kt.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,kt.oB)({opacity:1}))])])]},changeDetection:0})}return a})();var Su=d(4366),gc=d(975),hl=d(6321),fl=d(9694),Hg=d(4825);function Ug(a,l){1&a&&(o.Hsn(0,3),o.Hsn(1,4))}function fh(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"ng-doc-sidenav",5),o.NdJ("closeEvent",function(){o.CHM(i);const f=o.oxw(3);return o.KtG(f.sidebarService.hide())}),o.YNc(1,Ug,2,0,"ng-template",null,6,o.W1O),o.Hsn(3,2),o.qZA()}if(2&a){const i=l.ngDocLet,u=o.MAs(2),f=o.oxw().ngDocLet;let w,W,J;o.Q6J("sidebar",u)("opened",f)("over",null!==(w=null==i?null:i.over)&&void 0!==w&&w)("align",null!==(W=null==i?null:i.align)&&void 0!==W?W:"left")("hasBackdrop",null!==(J=null==i?null:i.hasBackdrop)&&void 0!==J&&J)}}function Tu(a,l){if(1&a&&(o.TgZ(0,"main"),o.YNc(1,fh,4,5,"ng-doc-sidenav",4),o.ALo(2,"async"),o.qZA()),2&a){const i=o.oxw(2);o.xp6(1),o.Q6J("ngDocLet",o.lcZ(2,1,i.sidenavState$))}}function zg(a,l){if(1&a&&(o.ynx(0),o._uU(1),o.BQk()),2&a){const i=l.polymorpheusOutlet;o.xp6(1),o.hij(" ",i," ")}}function $g(a,l){if(1&a&&(o.TgZ(0,"footer"),o.YNc(1,zg,2,1,"ng-container",7),o.qZA()),2&a){const i=o.oxw(2);o.xp6(1),o.Q6J("polymorpheusOutlet",i.footerContent)}}function Wg(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"div",1)(2,"div",2),o.Hsn(3),o.Hsn(4,1),o.qZA(),o.YNc(5,Tu,3,3,"main",0),o.ALo(6,"async"),o.YNc(7,$g,2,1,"footer",3),o.qZA(),o.BQk()),2&a){const i=l.ngDocLet,u=o.oxw();o.xp6(1),o.ekj("collapsable",i),o.xp6(4),o.Q6J("ngDocLet",u.sidebar&&!!o.lcZ(6,4,u.sidebarService.isExpanded())),o.xp6(2),o.Q6J("ngIf",u.footerContent)}}const gh=[[["ng-doc-navbar"]],[["","ngDocCustomNavbar",""]],"*",[["ng-doc-sidebar"]],[["","ngDocCustomSidebar",""]]],Gg=["ng-doc-navbar","[ngDocCustomNavbar]","*","ng-doc-sidebar","[ngDocCustomSidebar]"];let gl=(()=>{let a=class Im{constructor(i){this.sidebarService=i,this.sidebar=!0,this.footerContent="",this.noWidthLimit=!1,this.sidenavState$=Su.C}ngAfterViewInit(){this.sidenavState$=(0,Gs.a)([this.sidebarService.isMobileMode(),this.sidenav?(0,ec.T)(this.sidenav.beforeOpen.pipe((0,gc.h)(!0)),this.sidenav.afterClose.pipe((0,gc.h)(!1))).pipe((0,H.O)(!1)):(0,th.of)(!0)]).pipe((0,Xr.h)(([i,u])=>!u||u&&!i),(0,V.U)(([i])=>({over:i,align:i?"right":"left",hasBackdrop:i})),function Vg(a,l=hl.z){const i=(0,Hg.H)(a,l);return(0,fl.j)(()=>i)}(0))}static#e=this.\u0275fac=function(u){return new(u||Im)(o.Y36(fc))};static#t=this.\u0275cmp=o.Xpm({type:Im,selectors:[["ng-doc-root"]],viewQuery:function(u,f){if(1&u&&o.Gf(Ou,5),2&u){let w;o.iGM(w=o.CRH())&&(f.sidenav=w.first)}},hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-no-width-limit",f.noWidthLimit)},inputs:{sidebar:"sidebar",footerContent:"footerContent",noWidthLimit:"noWidthLimit"},standalone:!0,features:[o._Bn([]),o.jDz],ngContentSelectors:Gg,decls:2,vars:3,consts:[[4,"ngDocLet"],[1,"ng-doc-root-wrapper"],[1,"ng-doc-header"],[4,"ngIf"],[3,"sidebar","opened","over","align","hasBackdrop","closeEvent",4,"ngDocLet"],[3,"sidebar","opened","over","align","hasBackdrop","closeEvent"],["sidebarContent",""],[4,"polymorpheusOutlet"]],template:function(u,f){1&u&&(o.F$t(gh),o.YNc(0,Wg,8,6,"ng-container",0),o.ALo(1,"async")),2&u&&o.Q6J("ngDocLet",!!o.lcZ(1,1,f.sidebarService.isMobileMode()))},dependencies:[rl,Ou,p.O5,yr.wq,yr.Li,p.Ov],styles:["[data-ng-doc-no-width-limit=true][_nghost-%COMP%] .ng-doc-root-wrapper[_ngcontent-%COMP%] main[_ngcontent-%COMP%]{max-width:none}[_nghost-%COMP%] .ng-doc-root-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}[_nghost-%COMP%] .ng-doc-root-wrapper[_ngcontent-%COMP%] main[_ngcontent-%COMP%]{display:flex;width:100%;margin-left:auto;margin-right:auto;max-width:var(--ng-doc-app-max-width);padding:var(--ng-doc-main-padding);--ng-doc-sidenav-top: var(--ng-doc-navbar-height);--ng-doc-sidenav-width: var(--ng-doc-sidebar-width);--ng-doc-sidenav-content-padding: var(--ng-doc-page-padding)}[_nghost-%COMP%] .ng-doc-root-wrapper[_ngcontent-%COMP%] footer[_ngcontent-%COMP%]{margin-top:auto}[_nghost-%COMP%] .ng-doc-root-wrapper[_ngcontent-%COMP%] .ng-doc-header[_ngcontent-%COMP%]{position:fixed;top:0;height:var(--ng-doc-navbar-height);width:100%;z-index:10}"],changeDetection:0})};return a=(0,N.__decorate)([(0,ke.c)(),(0,N.__metadata)("design:paramtypes",[fc])],a),a})();var ph=d(5426);let xu=(()=>{class a extends uh.xu{constructor(i){super(i),this.origin=i}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq))};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocDropdownOrigin",""]],exportAs:["ngDocDropdownOrigin"],standalone:!0,features:[o._Bn([{provide:ph.d,useExisting:a}]),o.qOj]})}return a})();var ni=d(5338),pc=d(2949),mh=d(1586),_h=d(7041),Yg=d(1650),vh=d(8925);const Zg=(0,F.R)(document,"keyup").pipe((0,L.B)());let yh=(()=>{let a=class Nm{constructor(i){this.ngZone=i,this.callback=new o.vpe,Zg.pipe((0,Xr.h)(vh.isKeyboardEvent),(0,Xr.h)(u=>(0,an.objectKeys)(this.hotkey??{}).every(f=>this.hotkey&&this.hotkey[f]===u[f])),(0,Xr.h)(u=>!(u.target instanceof HTMLElement&&["input","textarea","select"].includes(u.target.tagName.toLowerCase()))),(0,_s.w1)(this.ngZone),(0,ke.t)(this)).subscribe(u=>{u.preventDefault(),this.callback.emit()})}static#e=this.\u0275fac=function(u){return new(u||Nm)(o.Y36(o.R0b))};static#t=this.\u0275dir=o.lG2({type:Nm,selectors:[["","ngDocHotkey",""]],inputs:{hotkey:["ngDocHotkey","hotkey"]},outputs:{callback:"ngDocHotkey"},standalone:!0})};return a=(0,N.__decorate)([(0,ke.c)(),(0,N.__metadata)("design:paramtypes",[o.R0b])],a),a})();const Kg=["*"];let Ch=(()=>{class a{constructor(){this.color="primary",this.size="medium",this.mod="default"}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-tag"]],hostVars:3,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-color",f.color)("data-ng-doc-size",f.size)("data-ng-doc-mod",f.mod)},inputs:{color:"color",size:"size",mod:"mod"},standalone:!0,features:[o.jDz],ngContentSelectors:Kg,decls:1,vars:0,template:function(u,f){1&u&&(o.F$t(),o.Hsn(0))},styles:['[_nghost-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);display:inline-block;padding:0 var(--ng-doc-base-gutter);border-radius:calc(var(--ng-doc-base-gutter) / 2);background-color:var(--ng-doc-tag-background);border:var(--ng-doc-tag-border);color:var(--ng-doc-tag-color);--ng-doc-icon-color: var(--ng-doc-tag-color);--ng-doc-font-size: 14px}[_nghost-%COMP%]{position:relative}[_nghost-%COMP%]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-tag-alpha-background);opacity:var(--ng-doc-tag-background-opacity);border-radius:inherit;overflow:hidden;pointer-events:none}[data-ng-doc-size=small][_nghost-%COMP%]{padding:0 calc(var(--ng-doc-base-gutter) / 2);border-radius:6px;--ng-doc-font-size: 10px;--ng-doc-line-height: calc(var(--ng-doc-base-gutter) * 2)}[data-ng-doc-color=info][_nghost-%COMP%]{--ng-doc-tag-background: var(--ng-doc-info);--ng-doc-tag-color: var(--ng-doc-info-text)}[data-ng-doc-color=warning][_nghost-%COMP%]{--ng-doc-tag-background: var(--ng-doc-warning);--ng-doc-tag-color: var(--ng-doc-warning-text)}[data-ng-doc-color=alert][_nghost-%COMP%]{--ng-doc-tag-background: var(--ng-doc-alert);--ng-doc-tag-color: var(--ng-doc-alert-text)}[data-ng-doc-color=link][_nghost-%COMP%]{--ng-doc-tag-background: var(--ng-doc-link-color);--ng-doc-tag-color: var(--ng-doc-primary-text)}[data-ng-doc-mod=light][_nghost-%COMP%]{--ng-doc-tag-background: trasparent;--ng-doc-tag-background-opacity: .15}[data-ng-doc-mod=light][data-ng-doc-color=primary][_nghost-%COMP%]{--ng-doc-tag-alpha-background: var(--ng-doc-primary);--ng-doc-tag-color: var(--ng-doc-primary)}[data-ng-doc-mod=light][data-ng-doc-color=info][_nghost-%COMP%]{--ng-doc-tag-alpha-background: var(--ng-doc-info);--ng-doc-tag-color: var(--ng-doc-info)}[data-ng-doc-mod=light][data-ng-doc-color=warning][_nghost-%COMP%]{--ng-doc-tag-alpha-background: var(--ng-doc-warning);--ng-doc-tag-color: var(--ng-doc-warning)}[data-ng-doc-mod=light][data-ng-doc-color=alert][_nghost-%COMP%]{--ng-doc-tag-alpha-background: var(--ng-doc-alert);--ng-doc-tag-color: var(--ng-doc-alert)}[data-ng-doc-mod=light][data-ng-doc-color=link][_nghost-%COMP%]{--ng-doc-tag-alpha-background: var(--ng-doc-link-color);--ng-doc-tag-color: var(--ng-doc-link-color)}'],changeDetection:0})}return a})();var Qg=d(7808),Xg=d(6307),mc=d(7457),Pu=d(8176);function Jg(a,l){if(1&a&&(o.ynx(0),o._uU(1),o.BQk()),2&a){const i=l.polymorpheusOutlet;o.xp6(1),o.hij(" ",i," ")}}function _c(a,l){if(1&a&&(o.TgZ(0,"ng-doc-option",3),o.YNc(1,Jg,2,1,"ng-container",4),o.qZA()),2&a){const i=l.$implicit,u=o.oxw(2);o.Q6J("value",u.defineValueFn(i))("disabled",u.itemDisabledFn(i)),o.xp6(1),o.Q6J("polymorpheusOutlet",u.itemContent)("polymorpheusOutletContext",u.getContext(i))}}function qg(a,l){if(1&a&&(o.ynx(0),o.YNc(1,_c,2,4,"ng-doc-option",2),o.BQk()),2&a){const i=o.oxw();o.xp6(1),o.Q6J("ngForOf",i.items)("ngForTrackBy",i.trackByFn)}}function ep(a,l){if(1&a&&(o.ynx(0),o._uU(1),o.BQk()),2&a){const i=l.polymorpheusOutlet;o.xp6(1),o.hij(" ",i," ")}}function bh(a,l){if(1&a&&(o.ynx(0),o.YNc(1,ep,2,1,"ng-container",7),o.BQk()),2&a){const i=o.oxw(2);o.xp6(1),o.Q6J("polymorpheusOutlet",i.emptyContent)}}function Dh(a,l){if(1&a&&(o.TgZ(0,"div",5),o.YNc(1,bh,2,1,"ng-container",6),o.qZA()),2&a){const i=o.oxw();o.xp6(1),o.Q6J("ngIf",i.emptyContent)}}let Eh=(()=>{class a{constructor(){this.autofocus=!0,this.items=[],this.itemContent=({$implicit:i})=>(0,mc.t9)(i),this.emptyContent="",this.itemDisabledFn=mc.Nk,this.defineValueFn=mc.gR,this.trackByFn=(i,u)=>u}getContext(i){return{$implicit:i}}getItems(){return(0,_t.asArray)(this.items)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-data-list"]],inputs:{autofocus:"autofocus",items:"items",itemContent:"itemContent",emptyContent:"emptyContent",itemDisabledFn:"itemDisabledFn",defineValueFn:"defineValueFn",trackByFn:"trackByFn"},standalone:!0,features:[o.jDz],decls:4,vars:2,consts:[[4,"ngIf","ngIfElse"],["emptyTemplate",""],[3,"value","disabled",4,"ngFor","ngForOf","ngForTrackBy"],[3,"value","disabled"],[4,"polymorpheusOutlet","polymorpheusOutletContext"],["ng-doc-text","",1,"ng-doc-empty-message"],[4,"ngIf"],[4,"polymorpheusOutlet"]],template:function(u,f){if(1&u&&(o.TgZ(0,"ng-doc-list"),o.YNc(1,qg,2,2,"ng-container",0),o.YNc(2,Dh,2,1,"ng-template",null,1,o.W1O),o.qZA()),2&u){const w=o.MAs(3);o.xp6(1),o.Q6J("ngIf",f.items&&f.items.length)("ngIfElse",w)}},dependencies:[Qg.k,p.O5,p.ax,Xg.e,yr.wq,yr.Li,Qr.Uy],styles:["[_nghost-%COMP%]{display:block;height:100%;overflow:auto;max-height:var(--ng-doc-list-size)}.ng-doc-empty-message[_ngcontent-%COMP%]{padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);--ng-doc-font-size: 13px;--ng-doc-line-height: 22px}ng-doc-checkbox[_ngcontent-%COMP%]{pointer-events:none}"],changeDetection:0})}return(0,N.__decorate)([Pu.g,(0,N.__metadata)("design:type",Function),(0,N.__metadata)("design:paramtypes",[Object]),(0,N.__metadata)("design:returntype",Object)],a.prototype,"getContext",null),a})(),Aa=(()=>{class a{constructor(){this.size="medium"}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-spinner"]],hostVars:1,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-size",f.size)},inputs:{size:"size"},standalone:!0,features:[o.jDz],decls:2,vars:0,consts:[["viewBox","0 0 50 50",1,"ng-doc-spinner"],["cx","25","cy","25","r","20","fill","none","stroke-width","5",1,"ng-doc-spinner-path"]],template:function(u,f){1&u&&(o.O4$(),o.TgZ(0,"svg",0),o._UZ(1,"circle",1),o.qZA())},styles:["[_nghost-%COMP%]{display:inline-block}[data-ng-doc-size=small][_nghost-%COMP%]{width:calc(var(--ng-doc-base-gutter) * 3);height:calc(var(--ng-doc-base-gutter) * 3)}[data-ng-doc-size=medium][_nghost-%COMP%]{width:calc(var(--ng-doc-base-gutter) * 5);height:calc(var(--ng-doc-base-gutter) * 5)}[data-ng-doc-size=large][_nghost-%COMP%]{width:calc(var(--ng-doc-base-gutter) * 8);height:calc(var(--ng-doc-base-gutter) * 8)}[_nghost-%COMP%] .ng-doc-spinner[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_rotate 2s linear infinite}[_nghost-%COMP%] .ng-doc-spinner[_ngcontent-%COMP%] .ng-doc-spinner-path[_ngcontent-%COMP%]{stroke:var(--ng-doc-spinner-color, var(--ng-doc-primary));stroke-linecap:round;animation:_ngcontent-%COMP%_dash 1.5s ease-in-out infinite}@keyframes _ngcontent-%COMP%_rotate{to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}"],changeDetection:0})}return a})(),pl=(()=>{class a{transform(i,u){return u.sort((f,w)=>w.start-f.start).forEach(f=>{const{start:w,length:W}=f,J=w+W;i=`${i.slice(0,w)}${i.slice(w,J)}${i.slice(J)}`}),i}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275pipe=o.Yjl({name:"ngDocHighlighterPipe",type:a,pure:!0,standalone:!0})}return a})();var wh=d(8226);const Au=["inputElement"];function ml(a,l){1&a&&o._UZ(0,"ng-doc-icon",15)}function tp(a,l){1&a&&o.GkF(0)}function np(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"div",9)(1,"ng-doc-input-wrapper",10),o.YNc(2,ml,1,0,"ng-template",null,11,o.W1O),o.TgZ(4,"input",12,13),o.NdJ("ngModelChange",function(f){o.CHM(i);const w=o.oxw(3);return o.KtG(w.searchTerm=f)})("ngModelChange",function(f){o.CHM(i);const w=o.oxw(3);return o.KtG(w.query$.next(f))}),o.qZA()(),o.YNc(6,tp,1,0,"ng-container",14),o.qZA()}if(2&a){const i=o.MAs(3);o.oxw(2);const u=o.MAs(5),f=o.oxw();o.xp6(1),o.Q6J("leftContent",i),o.xp6(3),o.Q6J("ngModel",f.searchTerm)("selectAll",!0),o.xp6(2),o.Q6J("ngTemplateOutlet",u)}}function op(a,l){if(1&a){const i=o.EpF();o.ynx(0),o.TgZ(1,"button",4),o.NdJ("click",function(){o.CHM(i);const f=o.MAs(4);return o.KtG(f.toggle())}),o._UZ(2,"ng-doc-icon",5),o.TgZ(3,"ng-doc-dropdown",6,7),o.YNc(5,np,7,4,"ng-template",null,8,o.W1O),o.qZA()(),o.BQk()}if(2&a){const i=o.MAs(6);o.xp6(2),o.Q6J("size",24),o.xp6(1),o.Q6J("content",i)}}function rp(a,l){1&a&&o._UZ(0,"ng-doc-icon",15)}function ip(a,l){1&a&&(o.TgZ(0,"ng-doc-tag",22),o._uU(1,"/"),o.qZA())}const sp=function(){return{ctrlKey:!1,altKey:!1,shiftKey:!1,code:"Slash"}};function Mh(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"ng-doc-input-wrapper",16,17),o.NdJ("focusEvent",function(){o.CHM(i);const f=o.MAs(5),w=o.MAs(9);return o.KtG(f.value?w.open():null)})("click",function(){o.CHM(i);const f=o.MAs(5),w=o.MAs(9);return o.KtG(f.value?w.open():null)}),o.YNc(2,rp,1,0,"ng-template",null,11,o.W1O),o.TgZ(4,"input",18,13),o.NdJ("ngModelChange",function(f){o.CHM(i);const w=o.oxw(2);return o.KtG(w.searchTerm=f)})("ngModelChange",function(f){o.CHM(i);const w=o.MAs(9);return o.oxw(2).query$.next(f),o.KtG(w.open())})("ngDocHotkey",function(){o.CHM(i);const f=o.MAs(5);return f.focus(),o.KtG(f.select())}),o.qZA(),o.YNc(6,ip,2,0,"ng-template",null,19,o.W1O),o.TgZ(8,"ng-doc-dropdown",20,21),o._uU(10," < "),o.qZA()()}if(2&a){const i=o.MAs(1),u=o.MAs(3),f=o.MAs(7);o.oxw();const w=o.MAs(5),W=o.oxw();o.Q6J("leftContent",u)("rightContent",f),o.xp6(4),o.Q6J("ngModel",W.searchTerm)("ngDocHotkey",o.DdM(6,sp)),o.xp6(4),o.Q6J("content",w)("width",i.elementRef.nativeElement.offsetWidth)}}function _l(a,l){1&a&&(o.TgZ(0,"span",35),o._uU(1,"/"),o.qZA())}function Iu(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"span"),o._uU(2),o.qZA(),o.YNc(3,_l,2,0,"span",34),o.BQk()),2&a){const i=l.$implicit,u=l.index,f=o.oxw().$implicit;o.xp6(2),o.Oqu(i),o.xp6(1),o.Q6J("ngIf",u!==f.index.breadcrumbs.length-1)}}function Nu(a,l){if(1&a&&(o._UZ(0,"div",36),o.ALo(1,"ngDocSanitizeHtml"),o.ALo(2,"ngDocHighlighterPipe"),o.ALo(3,"execute")),2&a){const i=o.oxw().$implicit,u=o.oxw(3);o.Q6J("innerHTML",o.lcZ(1,1,o.xi3(2,3,i.index.content,o.Dn7(3,6,u.getPositions,"content",i))),o.oJD)}}function ap(a,l){if(1&a&&(o.TgZ(0,"a",27)(1,"div",28)(2,"ng-doc-tag",29),o._uU(3),o.qZA(),o.TgZ(4,"span",30),o.YNc(5,Iu,4,2,"ng-container",31),o.qZA()(),o._UZ(6,"h5",32),o.ALo(7,"ngDocSanitizeHtml"),o.ALo(8,"ngDocHighlighterPipe"),o.ALo(9,"execute"),o.YNc(10,Nu,4,10,"div",33),o.qZA()),2&a){const i=l.$implicit,u=o.oxw(3);o.Q6J("routerLink",i.index.route)("fragment",i.index.fragment),o.xp6(2),o.uIk("data-ng-doc-page-type",i.index.pageType),o.xp6(1),o.hij(" ",i.index.pageType," "),o.xp6(2),o.Q6J("ngForOf",i.index.breadcrumbs),o.xp6(1),o.Q6J("innerHTML",o.lcZ(7,7,o.xi3(8,9,i.index.section,o.Dn7(9,12,u.getPositions,"section",i)))||i.index.title,o.oJD),o.xp6(4),o.Q6J("ngIf",i.index.content)}}function cp(a,l){1&a&&(o.ynx(0),o._uU(1,"Nothing found"),o.BQk())}function Ru(a,l){1&a&&(o.ynx(0),o._uU(1,"Please enter your search query "),o.BQk())}function Oh(a,l){if(1&a&&(o.ynx(0),o.TgZ(1,"div",38),o.YNc(2,cp,2,0,"ng-container",37),o.YNc(3,Ru,2,0,"ng-container",37),o.qZA(),o.BQk()),2&a){const i=o.oxw(4);o.xp6(2),o.Q6J("ngIf",i.query$.value.length),o.xp6(1),o.Q6J("ngIf",!i.query$.value.length)}}function Ks(a,l){1&a&&(o.ynx(0),o.TgZ(1,"div",39),o._UZ(2,"ng-doc-spinner",29),o._uU(3," Searching... "),o.qZA(),o.BQk())}function Sh(a,l){if(1&a&&(o.YNc(0,Oh,4,2,"ng-container",37),o.YNc(1,Ks,4,0,"ng-container",37)),2&a){const i=o.oxw(2).ngDocLet;o.Q6J("ngIf",!(null!=i&&i.pending)),o.xp6(1),o.Q6J("ngIf",null==i?null:i.pending)}}const Th=function(){return[]};function lp(a,l){if(1&a&&(o.TgZ(0,"div",23)(1,"ng-doc-data-list",24),o.YNc(2,ap,11,16,"ng-template",null,25,o.W1O),o.YNc(4,Sh,2,2,"ng-template",null,26,o.W1O),o.qZA()()),2&a){const i=o.MAs(3),u=o.MAs(5),f=o.oxw().ngDocLet,w=o.oxw();let W;o.uIk("data-ng-doc-mod",w.mod),o.xp6(1),o.Q6J("items",null!==(W=null==f?null:f.result)&&void 0!==W?W:o.DdM(4,Th))("itemContent",i)("emptyContent",u)}}function g0(a,l){if(1&a&&(o.ynx(0),o.YNc(1,op,7,2,"ng-container",1),o.YNc(2,Mh,11,7,"ng-template",null,2,o.W1O),o.YNc(4,lp,6,5,"ng-template",null,3,o.W1O),o.BQk()),2&a){const i=o.MAs(3),u=o.oxw();o.xp6(1),o.Q6J("ngIf","icon"===u.mod)("ngIfElse",i)}}var Ia;let ku=Ia=class Rm{constructor(l,i){if(this.elementRef=l,this.searchEngine=i,this.mod="input",this.searchTerm="",this.query$=new hc.X(""),!this.searchEngine)throw new Error("NgDoc: Search engine is not provided,\n\t\t\tplease check this article: https://ng-doc.com/getting-started/installation#importing-global-modules\n\t\t\tto learn how to provide it.");this.search$=this.query$.pipe((0,Ja.T)(1),(0,Mr.w)(u=>this.searchEngine?.search(u).pipe((0,_s.ao)())??Su.C),(0,ke.t)(this))}get listHostOrigin(){return this.inputElement??this.elementRef}getPositions(l,i){return i.positions[l]??[]}static#e=this.\u0275fac=function(i){return new(i||Rm)(o.Y36(o.SBq),o.Y36(Tt,8))};static#t=this.\u0275cmp=o.Xpm({type:Rm,selectors:[["ng-doc-search"]],viewQuery:function(i,u){if(1&i&&o.Gf(Au,5),2&i){let f;o.iGM(f=o.CRH())&&(u.inputElement=f.first)}},hostVars:1,hostBindings:function(i,u){2&i&&o.uIk("data-ng-doc-mod",u.mod)},inputs:{mod:"mod"},standalone:!0,features:[o._Bn([{provide:wh.X,useExisting:(0,o.Gpc)(()=>Ia)}]),o.jDz],decls:2,vars:3,consts:[[4,"ngDocLet"],[4,"ngIf","ngIfElse"],["searchInput",""],["searchResults",""],["ng-doc-button-icon","","size","large","ngDocDropdownOrigin","",3,"click"],["icon","search",3,"size"],["panelClass","ng-doc-search-dropdown","width","100%","height","80vh",3,"content"],["inputDropdown",""],["dropdownContent",""],[1,"ng-doc-search-wrapper"],["ngDocDropdownOrigin","",3,"leftContent"],["leftContent",""],["ngDocInputString","","placeholder","Search...","ngDocAutofocus","",3,"ngModel","selectAll","ngModelChange"],["inputElement",""],[4,"ngTemplateOutlet"],["icon","search"],["ngDocDropdownOrigin","","ngDocFocusCatcher","",3,"leftContent","rightContent","focusEvent","click"],["input",""],["ngDocInputString","","placeholder","Search...",3,"ngModel","ngDocHotkey","ngModelChange"],["rightContent",""],["positions","bottom-right","maxHeight","calc(95vh - var(--ng-doc-navbar-height)",3,"content","width"],["dropdown",""],[1,"search-hotkey"],[1,"ng-doc-search-result-content"],[3,"items","itemContent","emptyContent"],["itemContent",""],["emptyContent",""],[1,"ng-doc-search-option",3,"routerLink","fragment"],[1,"ng-doc-search-option-header"],["size","small"],["ng-doc-text","",1,"ng-doc-search-option-breadcrumbs"],[4,"ngFor","ngForOf"],["ng-doc-text","",1,"ng-doc-search-section-title",3,"innerHTML"],["class","ng-doc-search-content","ng-doc-text","",3,"innerHTML",4,"ngIf"],["class","ng-doc-search-option-breadcrumb-divider",4,"ngIf"],[1,"ng-doc-search-option-breadcrumb-divider"],["ng-doc-text","",1,"ng-doc-search-content",3,"innerHTML"],[4,"ngIf"],[1,"ng-doc-search-empty"],[1,"ng-doc-search-progress"]],template:function(i,u){1&i&&(o.YNc(0,g0,6,2,"ng-container",0),o.ALo(1,"async")),2&i&&o.Q6J("ngDocLet",o.lcZ(1,1,u.search$))},dependencies:[rl,p.O5,Ii.J,xu,Or.q,ni.V,pc.u,mh.v,Rs.u5,Rs.Fj,Rs.JJ,Rs.On,_h.o,p.tP,Yg.b,yh,Ch,Eh,nr.rH,Qr.Uy,p.ax,Aa,p.Ov,pl,ba,ys.Y],styles:["[_nghost-%COMP%]{max-width:500px;--ng-doc-floated-border-radius: var(--ng-doc-base-gutter);--ng-doc-input-background-color: var(--ng-doc-base-1);--ng-doc-input-border: none;--ng-doc-input-border-hover: none;--ng-doc-icon-color: var(--ng-doc-base-7)}[data-ng-doc-mod=input][_nghost-%COMP%]{width:480px}.ng-doc-search-result-content[_ngcontent-%COMP%]{height:100%;overflow:auto;--ng-doc-option-padding: 0}.ng-doc-search-result-content[data-ng-doc-mod=icon][_ngcontent-%COMP%] .ng-doc-search-wrapper[_ngcontent-%COMP%]{padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-result-content[data-ng-doc-mod=icon][_ngcontent-%COMP%] .ng-doc-search-option[_ngcontent-%COMP%]{padding:12px 16px}.ng-doc-search-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-wrapper[_ngcontent-%COMP%] ng-doc-input-wrapper[_ngcontent-%COMP%]{padding:0 calc(var(--ng-doc-base-gutter) * 2)}.ng-doc-search-wrapper[_ngcontent-%COMP%] .ng-doc-search-result-content[_ngcontent-%COMP%]{padding:0;margin-top:calc(var(--ng-doc-base-gutter) * 3)}.search-hotkey[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:calc(var(--ng-doc-base-gutter) * 3);height:calc(var(--ng-doc-base-gutter) * 3);margin-right:var(--ng-doc-base-gutter);--ng-doc-tag-border: 1px solid var(--ng-doc-base-6);--ng-doc-tag-color: var(--ng-doc-base-6);--ng-doc-tag-background: transparent} .ng-doc-search-dropdown{--ng-doc-overlay-border-radius: 0px !important}.ng-doc-search-option[_ngcontent-%COMP%]{display:block;padding:12px 36px;text-decoration:none}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-option-header[_ngcontent-%COMP%]{display:flex;align-items:center;margin-bottom:calc(var(--ng-doc-base-gutter) / 2)}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-option-header[_ngcontent-%COMP%] ng-doc-tag[_ngcontent-%COMP%]{text-transform:uppercase;margin-right:var(--ng-doc-base-gutter);--ng-doc-font-weight: 900}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-option-header[_ngcontent-%COMP%] ng-doc-tag[data-ng-doc-page-type=guide][_ngcontent-%COMP%]{--ng-doc-tag-color: var(--ng-doc-guide-tag-color);--ng-doc-tag-background: var(--ng-doc-guide-tag-background)}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-option-header[_ngcontent-%COMP%] ng-doc-tag[data-ng-doc-page-type=api][_ngcontent-%COMP%]{--ng-doc-tag-color: var(--ng-doc-api-tag-color);--ng-doc-tag-background: var(--ng-doc-api-tag-background)}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-option-header[_ngcontent-%COMP%] .ng-doc-search-option-breadcrumbs[_ngcontent-%COMP%]{--ng-doc-text: var(--ng-doc-text-muted);--ng-doc-font-size: 12px;--ng-doc-line-height: 16px;--ng-doc-font-weight: 600}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-option-header[_ngcontent-%COMP%] .ng-doc-search-option-breadcrumbs[_ngcontent-%COMP%] .ng-doc-search-option-breadcrumb-divider[_ngcontent-%COMP%]{margin:0 6px}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-section-title[_ngcontent-%COMP%]{display:block;color:var(--ng-doc-search-result-header-color, var(--ng-doc-text));--ng-doc-line-height: 20px;margin:4px 0}.ng-doc-search-option[_ngcontent-%COMP%] .ng-doc-search-content[_ngcontent-%COMP%]{display:block;color:var(--ng-doc-search-result-color, var(--ng-doc-text));--ng-doc-font-size: 14px;--ng-doc-line-height: 19px;--ng-doc-font-weight: 600}.ng-doc-search-empty[_ngcontent-%COMP%]{padding:0 22px}.ng-doc-search-progress[_ngcontent-%COMP%]{display:flex;align-items:center}.ng-doc-search-progress[_ngcontent-%COMP%] ng-doc-spinner[_ngcontent-%COMP%]{margin-right:var(--ng-doc-base-gutter)}"],changeDetection:0})};function xh(a,l){1&a&&o.GkF(0)}function Ph(a,l){1&a&&o.GkF(0)}function Ah(a,l){1&a&&o._UZ(0,"ng-doc-search")}function Fu(a,l){1&a&&o._UZ(0,"ng-doc-search",9)}function Ih(a,l){1&a&&o.GkF(0)}function vl(a,l){if(1&a){const i=o.EpF();o.TgZ(0,"button",10),o.NdJ("click",function(){o.CHM(i);const f=o.oxw(2);return o.KtG(f.sidebarService.toggle())}),o._UZ(1,"ng-doc-icon",11),o.qZA()}2&a&&(o.xp6(1),o.Q6J("size",24))}function vc(a,l){if(1&a&&(o.TgZ(0,"div",1)(1,"div",2),o.YNc(2,xh,1,0,"ng-container",3),o.qZA(),o.TgZ(3,"div",4),o.YNc(4,Ph,1,0,"ng-container",3),o.YNc(5,Ah,1,0,"ng-doc-search",5),o.qZA(),o.TgZ(6,"div",6),o.YNc(7,Fu,1,0,"ng-doc-search",7),o.YNc(8,Ih,1,0,"ng-container",3),o.YNc(9,vl,2,1,"button",8),o.qZA()()),2&a){const i=l.ngDocLet,u=o.oxw();o.xp6(2),o.Q6J("polymorpheusOutlet",u.leftContent),o.xp6(2),o.Q6J("polymorpheusOutlet",u.centerContent),o.xp6(1),o.Q6J("ngIf",u.search&&!i),o.xp6(2),o.Q6J("ngIf",u.search&&i),o.xp6(1),o.Q6J("polymorpheusOutlet",u.rightContent),o.xp6(1),o.Q6J("ngIf",i&&u.hamburger)}}ku=Ia=(0,N.__decorate)([(0,ke.c)(),(0,N.__metadata)("design:paramtypes",[o.SBq,Tt])],ku);let Lu=(()=>{let a=class km{constructor(i,u,f,w){this.window=i,this.ngZone=u,this.changeDetectorRef=f,this.sidebarService=w,this.leftContent="",this.centerContent="",this.rightContent="",this.search=!0,this.hamburger=!0,this.glassEffect=!0,this.hasShadow=!1,(0,Gs.a)([(0,F.R)(this.window,"scroll").pipe((0,V.U)(W=>(W.target?.scrollingElement?.scrollTop??0)>0),(0,$.x)(),(0,H.O)(!1)),this.sidebarService.isMobileMode(),this.sidebarService.isExpanded()]).pipe((0,V.U)(([W,J,le])=>W||J&&le),(0,_s.w1)(this.ngZone),(0,ke.t)(this)).subscribe(W=>{this.hasShadow=W,this.changeDetectorRef.markForCheck()})}static#e=this.\u0275fac=function(u){return new(u||km)(o.Y36(ae),o.Y36(o.R0b),o.Y36(o.sBO),o.Y36(fc))};static#t=this.\u0275cmp=o.Xpm({type:km,selectors:[["ng-doc-navbar"]],hostVars:3,hostBindings:function(u,f){2&u&&(o.uIk("data-glass-effect",f.glassEffect),o.ekj("has-shadow",f.hasShadow))},inputs:{leftContent:"leftContent",centerContent:"centerContent",rightContent:"rightContent",search:"search",hamburger:"hamburger",glassEffect:"glassEffect"},standalone:!0,features:[o.jDz],decls:2,vars:3,consts:[["class","navbar-container",4,"ngDocLet"],[1,"navbar-container"],[1,"ng-doc-navbar-left"],[4,"polymorpheusOutlet"],[1,"ng-doc-navbar-center"],[4,"ngIf"],[1,"ng-doc-navbar-right"],["mod","icon",4,"ngIf"],["class","ng-doc-menu","ng-doc-button-icon","","size","large",3,"click",4,"ngIf"],["mod","icon"],["ng-doc-button-icon","","size","large",1,"ng-doc-menu",3,"click"],["icon","menu",3,"size"]],template:function(u,f){1&u&&(o.YNc(0,vc,10,6,"div",0),o.ALo(1,"async")),2&u&&o.Q6J("ngDocLet",o.lcZ(1,1,f.sidebarService.isMobileMode()))},dependencies:[rl,yr.wq,yr.Li,p.O5,ku,Ii.J,Or.q,p.Ov],styles:['[_nghost-%COMP%]{position:relative;display:flex;justify-content:center;height:100%;transition:var(--ng-doc-transition) box-shadow}[_nghost-%COMP%]:not([data-glass-effect=false]){-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}[_nghost-%COMP%]:not([data-glass-effect=false]){position:relative}[_nghost-%COMP%]:not([data-glass-effect=false]):before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-navbar-background);opacity:.6;border-radius:inherit;overflow:hidden;pointer-events:none}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){[_nghost-%COMP%]{background-color:var(--ng-doc-navbar-background)}}[data-glass-effect=false][_nghost-%COMP%]{background-color:var(--ng-doc-navbar-background)}.has-shadow[_nghost-%COMP%]{box-shadow:var(--ng-doc-shadow-color) 0 5px 20px -5px}[_nghost-%COMP%] .navbar-container[_ngcontent-%COMP%]{display:flex;height:100%;width:100%;padding:0 var(--ng-doc-navbar-horizontal-padding);z-index:10;max-width:var(--ng-doc-app-max-width)}[_nghost-%COMP%] .ng-doc-navbar-left[_ngcontent-%COMP%], [_nghost-%COMP%] .ng-doc-navbar-center[_ngcontent-%COMP%], [_nghost-%COMP%] .ng-doc-navbar-right[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .ng-doc-navbar-left[_ngcontent-%COMP%]{justify-content:flex-start;width:100%;max-width:var(--ng-doc-navbar-left-width)}[_nghost-%COMP%] .ng-doc-navbar-center[_ngcontent-%COMP%]{padding:0 var(--ng-doc-app-horizontal-padding);justify-content:flex-start;max-width:calc(100% - var(--ng-doc-toc-width))}[_nghost-%COMP%] .ng-doc-navbar-right[_ngcontent-%COMP%]{justify-content:flex-end;margin-left:auto}[_nghost-%COMP%] .ng-doc-menu[_ngcontent-%COMP%]{margin-left:calc(var(--ng-doc-base-gutter) * 2)}'],changeDetection:0})};return a=(0,N.__decorate)([(0,ke.c)(),(0,N.__metadata)("design:paramtypes",[Window,o.R0b,o.sBO,fc])],a),a})(),yl=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-dot"]],hostVars:2,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-color",f.color)("data-ng-doc-size",f.size)},inputs:{color:"color",size:"size"},standalone:!0,features:[o.jDz],decls:0,vars:0,template:function(u,f){},styles:["[_nghost-%COMP%]{display:inline;width:var(--ng-doc-dot-size);height:var(--ng-doc-dot-size);border-radius:var(--ng-doc-dot-size);line-height:var(--ng-doc-line-height);background-color:var(--ng-doc-dot-background);transition:var(--ng-doc-transition)}[data-ng-doc-size=small][_nghost-%COMP%]{--ng-doc-dot-size: calc(var(--ng-doc-base-gutter) / 2)}[data-ng-doc-size=medium][_nghost-%COMP%]{--ng-doc-dot-size: var(--ng-doc-base-gutter)}[data-ng-doc-size=large][_nghost-%COMP%]{--ng-doc-dot-size: calc(var(--ng-doc-base-gutter) * 2)}"],changeDetection:0})}return a})(),Cl=(()=>{class a{constructor(i,u){this.elementRef=i,this.renderer=u,this.rotated=!1,this.from=0,this.to=90}ngOnChanges({rotated:i}){i&&this.rotate(this.rotated?this.to:this.from,!0)}ngOnInit(){this.rotate(this.rotated?this.to:this.from)}rotate(i,u){u&&this.renderer.setStyle(this.elementRef.nativeElement,"transition","var(--ng-doc-transition)"),this.renderer.setStyle(this.elementRef.nativeElement,"transform",`rotateZ(${i}deg`)}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(o.SBq),o.Y36(o.Qsj))};static#t=this.\u0275dir=o.lG2({type:a,selectors:[["","ngDocRotator",""]],inputs:{rotated:["ngDocRotator","rotated"],from:"from",to:"to"},standalone:!0,features:[o.TTD]})}return a})(),Nh=(()=>{let a=class Fm{constructor(i,u,f){this.elementRef=i,this.router=u,this.renderer=f,this.link="",this.activeClass=[],this.matchOptions={fragment:"exact",paths:"subset",queryParams:"exact",matrixParams:"exact"},this.router.events.pipe((0,Xr.h)(w=>w instanceof nr.m2),(0,V.U)(()=>this.router.isActive(this.link,this.matchOptions)),(0,$.x)(),(0,ke.t)(this)).subscribe(w=>{w?(0,_t.asArray)(this.activeClass).forEach(W=>this.renderer.addClass(this.elementRef.nativeElement,W)):(0,_t.asArray)(this.activeClass).forEach(W=>this.renderer.removeClass(this.elementRef.nativeElement,W))})}static#e=this.\u0275fac=function(u){return new(u||Fm)(o.Y36(o.SBq),o.Y36(nr.F0),o.Y36(o.Qsj))};static#t=this.\u0275dir=o.lG2({type:Fm,selectors:[["","ngDocRouteActive",""]],inputs:{link:["ngDocRouteActive","link"],activeClass:"activeClass",matchOptions:"matchOptions"},standalone:!0})};return a=(0,N.__decorate)([(0,ke.c)(),(0,N.__metadata)("design:paramtypes",[o.SBq,nr.F0,o.Qsj])],a),a})();function Bu(a,l){1&a&&o._UZ(0,"ng-doc-dot")}function yc(a,l){if(1&a&&o._UZ(0,"ng-doc-icon",8),2&a){const i=o.oxw();o.Q6J("ngDocRotator",i.expanded)}}function up(a,l){1&a&&o.GkF(0)}function Rh(a,l){if(1&a&&(o.TgZ(0,"div",9),o.Hsn(1),o.YNc(2,up,1,0,"ng-container",10),o.qZA()),2&a){const i=o.oxw();o.xp6(2),o.Q6J("polymorpheusOutlet",i.content)}}const dp=["*"],hp=function(a){return[a]};function fp(a,l){1&a&&o.GkF(0)}const kh=function(a){return{item:a,root:!0}};function Fh(a,l){if(1&a&&(o.ynx(0),o.YNc(1,fp,1,0,"ng-container",3),o.BQk()),2&a){const i=l.$implicit;o.oxw();const u=o.MAs(5);o.xp6(1),o.Q6J("ngTemplateOutlet",u)("ngTemplateOutletContext",o.VKq(2,kh,i))}}function bl(a,l){1&a&&o.GkF(0)}const ju=function(a){return{item:a,root:!1}};function Na(a,l){if(1&a&&(o.ynx(0),o.YNc(1,bl,1,0,"ng-container",3),o.BQk()),2&a){const i=l.$implicit;o.oxw(5);const u=o.MAs(5);o.xp6(1),o.Q6J("ngTemplateOutlet",u)("ngTemplateOutletContext",o.VKq(2,ju,i))}}function gp(a,l){if(1&a&&(o.YNc(0,Na,2,4,"ng-container",1),o.ALo(1,"execute"),o.ALo(2,"bind")),2&a){const i=o.oxw(3).item,u=o.oxw();o.Q6J("ngForOf",o.xi3(1,1,o.xi3(2,4,u.getNavigation,u),i))}}function pp(a,l){if(1&a&&(o.TgZ(0,"ng-doc-sidebar-category",7),o.YNc(1,gp,3,7,"ng-template",null,8,o.W1O),o.qZA()),2&a){const i=o.MAs(2),u=o.oxw(2),f=u.item,w=u.root;o.Q6J("category",f)("expandable",!(null==f||!f.expandable))("expanded",!(null==f||!f.expanded)||!(null!=f&&f.expandable))("isRoot",!!w)("content",i)}}function p0(a,l){if(1&a&&(o.ynx(0),o.YNc(1,pp,3,5,"ng-doc-sidebar-category",6),o.BQk()),2&a){const i=o.oxw().item;o.xp6(1),o.Q6J("ngIf",!i.hidden)}}function mp(a,l){if(1&a&&o._UZ(0,"ng-doc-sidebar-item",10),2&a){const i=o.oxw(2).item;o.Q6J("item",i)}}function Hu(a,l){if(1&a&&o.YNc(0,mp,1,1,"ng-doc-sidebar-item",9),2&a){const i=o.oxw().item;o.Q6J("ngIf",!i.hidden)}}function _p(a,l){if(1&a&&(o.YNc(0,p0,2,1,"ng-container",4),o.YNc(1,Hu,1,1,"ng-template",null,5,o.W1O)),2&a){const i=l.item,u=o.MAs(2);o.Q6J("ngIf",null==i.children?null:i.children.length)("ngIfElse",u)}}let Ra=(()=>{let a=class Lm{constructor(i,u){this.router=i,this.changeDetectorRef=u,this.isRoot=!1,this.content="",this.expandable=!0,this.expanded=!0}ngOnInit(){this.router.events.pipe((0,Xr.h)(i=>i instanceof nr.m2),(0,H.O)(null),(0,Xr.h)(()=>this.router.url.includes(this.category?.route??"",0)),(0,ke.t)(this)).subscribe(()=>this.expand())}toggle(){this.expanded?this.collapse():this.expand()}expand(){this.category?.expandable&&(this.expanded=!0,this.changeDetectorRef.markForCheck())}collapse(){this.category?.expandable&&(this.expanded=!1,this.changeDetectorRef.markForCheck())}static#e=this.\u0275fac=function(u){return new(u||Lm)(o.Y36(nr.F0),o.Y36(o.sBO))};static#t=this.\u0275cmp=o.Xpm({type:Lm,selectors:[["ng-doc-sidebar-category"]],hostVars:2,hostBindings:function(u,f){2&u&&o.uIk("data-ng-doc-is-root",f.isRoot)("data-ng-doc-expandable",f.expandable)},inputs:{category:"category",isRoot:"isRoot",content:"content",expandable:"expandable",expanded:"expanded"},standalone:!0,features:[o.jDz],ngContentSelectors:dp,decls:10,vars:7,consts:[[1,"ng-doc-sidebar-category-wrapper"],[1,"ng-doc-sidebar-category-button",3,"click"],["activeClass","active",1,"ng-doc-sidebar-category",3,"ngDocRouteActive"],[4,"ngIf"],["ng-doc-text","",3,"color"],["icon","chevron-right","ngDocTextLeft","",3,"ngDocRotator",4,"ngIf"],[3,"expanded","content"],["contentTemplate",""],["icon","chevron-right","ngDocTextLeft","",3,"ngDocRotator"],[1,"ng-doc-sidebar-category-children"],[4,"polymorpheusOutlet"]],template:function(u,f){if(1&u&&(o.F$t(),o.TgZ(0,"div",0)(1,"div",1),o.NdJ("click",function(){return f.toggle()}),o.TgZ(2,"div",2),o.YNc(3,Bu,1,0,"ng-doc-dot",3),o.TgZ(4,"span",4),o.YNc(5,yc,1,1,"ng-doc-icon",5),o._uU(6),o.qZA()()(),o.TgZ(7,"ng-doc-expander",6),o.YNc(8,Rh,3,1,"ng-template",null,7,o.W1O),o.qZA()()),2&u){const w=o.MAs(9);let W;o.xp6(2),o.Q6J("ngDocRouteActive",null!==(W=null==f.category?null:f.category.route)&&void 0!==W?W:""),o.xp6(1),o.Q6J("ngIf",!f.expandable),o.xp6(1),o.Q6J("color",f.expandable?"normal":"muted"),o.xp6(1),o.Q6J("ngIf",null==f.category?null:f.category.expandable),o.xp6(1),o.hij(" ",null==f.category?null:f.category.title," "),o.xp6(1),o.Q6J("expanded",f.expanded)("content",w)}},dependencies:[Nh,p.O5,yl,Qr.Uy,Or.q,Qr.eo,Cl,dg,yr.wq,yr.Li],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;--ng-doc-sidebar-category-indent: calc( var(--ng-doc-sidebar-item-indent) + calc(var(--ng-doc-base-gutter) * 2) );--ng-doc-icon-color: var(--ng-doc-text)}[data-ng-doc-expandable=false][_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%]{padding:var(--ng-doc-sidebar-vetical-padding) var(--ng-doc-base-gutter) var(--ng-doc-sidebar-vetical-padding) var(--ng-doc-sidebar-item-indent)}[data-ng-doc-expandable=false][_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%] .ng-doc-sidebar-category[_ngcontent-%COMP%]{--ng-doc-font-weight: 600}[data-ng-doc-expandable=true][_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%]{padding:var(--ng-doc-sidebar-vetical-padding) var(--ng-doc-base-gutter) var(--ng-doc-sidebar-vetical-padding) var(--ng-doc-sidebar-item-indent);cursor:pointer;border-radius:var(--ng-doc-base-gutter)}[data-ng-doc-expandable=true][_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%]:hover{background-color:var(--ng-doc-base-1)}[_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%] .ng-doc-sidebar-category[_ngcontent-%COMP%]{display:flex;align-items:center;--ng-doc-dot-background: var(--ng-doc-base-4);--ng-doc-font-weight: 600}[_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%] .ng-doc-sidebar-category[_ngcontent-%COMP%] ng-doc-dot[_ngcontent-%COMP%]{margin-right:calc(var(--ng-doc-base-gutter) * 2)}[_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%] .ng-doc-sidebar-category.active[_ngcontent-%COMP%]{--ng-doc-font-weight: 700;--ng-doc-dot-background: var(--ng-doc-primary)}[_nghost-%COMP%] .ng-doc-sidebar-category-button[_ngcontent-%COMP%] span[ng-doc-text][_ngcontent-%COMP%]{flex-shrink:0;margin-right:var(--ng-doc-base-gutter)}[_nghost-%COMP%] .ng-doc-sidebar-category-children[_ngcontent-%COMP%]{padding-bottom:calc(var(--ng-doc-base-gutter) * 2);--ng-doc-sidebar-item-indent: var(--ng-doc-sidebar-category-indent)}"],changeDetection:0})};return a=(0,N.__decorate)([(0,ke.c)(),(0,N.__metadata)("design:paramtypes",[nr.F0,o.sBO])],a),a})(),Dl=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-sidebar-item"]],inputs:{item:"item"},standalone:!0,features:[o.jDz],decls:4,vars:5,consts:[["routerLinkActive","active",1,"ng-doc-sidebar-link",3,"routerLink"],["ng-doc-text","",3,"absoluteContent"]],template:function(u,f){if(1&u&&(o.TgZ(0,"a",0),o._UZ(1,"ng-doc-dot"),o.TgZ(2,"span",1),o._uU(3),o.qZA()()),2&u){let w;o.Q6J("routerLink",o.VKq(3,hp,null!==(w=null==f.item?null:f.item.route)&&void 0!==w?w:"")),o.xp6(2),o.Q6J("absoluteContent",!0),o.xp6(1),o.hij(" ",null==f.item?null:f.item.title," ")}},dependencies:[nr.Od,nr.rH,yl,Qr.Uy],styles:["[_nghost-%COMP%]{display:block}.ng-doc-sidebar-link[_ngcontent-%COMP%]{font-family:var(--ng-doc-heading-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);display:flex;align-items:center;padding:var(--ng-doc-sidebar-vetical-padding) var(--ng-doc-sidebar-horizontal-padding) var(--ng-doc-sidebar-vetical-padding) var(--ng-doc-sidebar-item-indent);text-decoration:inherit;cursor:pointer;--ng-doc-icon-color: var(--ng-doc-text);--ng-doc-dot-background: var(--ng-doc-base-4);--ng-doc-font-weight: 500}.ng-doc-sidebar-link[_ngcontent-%COMP%] ng-doc-dot[_ngcontent-%COMP%]{margin-right:calc(var(--ng-doc-base-gutter) * 2)}.ng-doc-sidebar-link[_ngcontent-%COMP%]:hover:not(.active){--ng-doc-text: var(--ng-doc-text-muted)}.ng-doc-sidebar-link.active[_ngcontent-%COMP%]{--ng-doc-font-weight: 800;--ng-doc-dot-background: var(--ng-doc-primary)}.ng-doc-sidebar-link.active[_ngcontent-%COMP%] ng-doc-dot[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animation .5s ease-out}@keyframes _ngcontent-%COMP%_animation{0%{transform:scale(1)}50%{transform:scale(2)}to{transform:scale(1)}}"],changeDetection:0})}return a})(),El=(()=>{class a{constructor(i){this.context=i}getNavigation(i){return i?i.children??[]:this.context.navigation}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(C.yt))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-sidebar"]],standalone:!0,features:[o.jDz],decls:6,vars:6,consts:[[1,"ng-doc-side-bar-wrapper"],[4,"ngFor","ngForOf"],["sidebarTemplate",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[4,"ngIf","ngIfElse"],["itemTemplate",""],[3,"category","expandable","expanded","isRoot","content",4,"ngIf"],[3,"category","expandable","expanded","isRoot","content"],["categoryContent",""],[3,"item",4,"ngIf"],[3,"item"]],template:function(u,f){1&u&&(o.TgZ(0,"div",0),o.YNc(1,Fh,2,4,"ng-container",1),o.ALo(2,"execute"),o.ALo(3,"bind"),o.YNc(4,_p,3,2,"ng-template",null,2,o.W1O),o.qZA()),2&u&&(o.xp6(1),o.Q6J("ngForOf",o.lcZ(2,1,o.xi3(3,3,f.getNavigation,f))))},dependencies:[p.ax,p.tP,p.O5,Ra,Dl,ba,il],styles:["[_nghost-%COMP%]{display:block;height:calc(100vh - var(--ng-doc-navbar-height));width:100%;overflow:auto;padding:var(--ng-doc-sidebar-padding) 0;background:var(--ng-doc-sidebar-background);box-shadow:var(--ng-doc-sidebar-shadow);--ng-doc-sidebar-category-indent: var(--ng-doc-sidebar-horizontal-padding);--ng-doc-sidebar-item-indent: var(--ng-doc-sidebar-horizontal-padding)}[_nghost-%COMP%] .ng-doc-side-bar-wrapper[_ngcontent-%COMP%]{position:relative}"],changeDetection:0})}return a})();function Lh(a,l){if(1&a&&(o.TgZ(0,"ng-doc-smooth-resize",5),o._uU(1),o.qZA()),2&a){const i=o.oxw();o.Q6J("trigger",i.nextTheme.name),o.xp6(1),o.hij(' Set "',i.nextTheme.name,'" theme ')}}const wl=function(){return{from:"-100%",to:"100%"}},Ml=function(a){return{value:":enter",params:a}};function Qs(a,l){1&a&&o._UZ(0,"ng-doc-icon",6),2&a&&o.Q6J("@switchIcon",o.VKq(3,Ml,o.DdM(2,wl)))("size",24)}function vp(a,l){1&a&&o._UZ(0,"ng-doc-icon",7),2&a&&o.Q6J("@switchIcon",o.VKq(3,Ml,o.DdM(2,wl)))("size",24)}function yp(a,l){1&a&&(o.TgZ(0,"div",8),o._uU(1," A "),o.qZA()),2&a&&o.Q6J("@switchIcon",o.VKq(2,Ml,o.DdM(1,wl)))}let Cp=(()=>{class a{constructor(i){this.themeService=i,this.themes=[{name:"Auto",theme:"auto"},{name:"Light",theme:void 0},{name:"Dark",theme:k}]}get currentTheme(){if(this.themeService.isAutoThemeEnabled)return this.themes[0];const i=this.themeService.currentTheme;return this.themes.find(({theme:u})=>u===i)??this.themes[0]}get nextTheme(){if(this.themeService.isAutoThemeEnabled)return this.themes[1];const i=this.themes.findIndex(({theme:u})=>u===this.themeService.currentTheme);return this.themes[(i+1)%this.themes.length]}toggleTheme(){const{theme:i}=this.nextTheme;"auto"===i?this.themeService.enableAutoTheme(void 0,k):this.themeService.set(i?.id)}static#e=this.\u0275fac=function(u){return new(u||a)(o.Y36(Pe))};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["ng-doc-theme-toggle"]],standalone:!0,features:[o.jDz],decls:6,vars:4,consts:[["ng-doc-button-icon","","size","large",3,"ngDocTooltip","click"],["tooltipContent",""],["icon","sun",3,"size",4,"ngIf"],["icon","moon",3,"size",4,"ngIf"],["class","letter",4,"ngIf"],[3,"trigger"],["icon","sun",3,"size"],["icon","moon",3,"size"],[1,"letter"]],template:function(u,f){if(1&u&&(o.TgZ(0,"button",0),o.NdJ("click",function(){return f.toggleTheme()}),o.YNc(1,Lh,2,2,"ng-template",null,1,o.W1O),o.YNc(3,Qs,1,5,"ng-doc-icon",2),o.YNc(4,vp,1,5,"ng-doc-icon",3),o.YNc(5,yp,2,4,"div",4),o.qZA()),2&u){const w=o.MAs(2);o.Q6J("ngDocTooltip",w),o.xp6(3),o.Q6J("ngIf",f.nextTheme===f.themes[1]),o.xp6(1),o.Q6J("ngIf",f.nextTheme===f.themes[2]),o.xp6(1),o.Q6J("ngIf",f.nextTheme===f.themes[0])}},dependencies:[Ii.J,qt.A,p.O5,Or.q,_a],styles:["[_nghost-%COMP%]{display:inline-block;height:40px;width:40px}[_nghost-%COMP%] .letter[_ngcontent-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);--ng-doc-font-size: 26px;--ng-doc-font-weight: 600}"],data:{animation:[(0,kt.X$)("switchIcon",[(0,kt.eR)(":enter",[(0,kt.oB)({transform:"translateX({{from}})",position:"absolute",opacity:0}),(0,kt.jt)("225ms cubic-bezier(0.4,0.0,0.2,1)",(0,kt.oB)({transform:"translateX(0%)",position:"absolute",opacity:1}))],{params:{from:"-100%"}}),(0,kt.eR)(":leave",[(0,kt.oB)({transform:"translateX(0%)",position:"absolute",opacity:1}),(0,kt.jt)("225ms cubic-bezier(0.4,0.0,0.2,1)",(0,kt.oB)({transform:"translateX({{to}})",position:"absolute",opacity:0}))],{params:{to:"-100%"}})])]},changeDetection:0})}return a})();function bp(){return{provide:C.yt,useValue:{navigation:[{title:"Getting Started",route:"/getting-started",expandable:!0,expanded:!1,order:1,hidden:!1,children:[{title:"What is ngx-vflow",route:"/getting-started/what-is-ngx-vflow",order:1,hidden:!1},{title:"Principles",route:"/getting-started/principles",order:2,hidden:!1},{title:"Roadmap",route:"/getting-started/roadmap",order:3,hidden:!1}]},{title:"Workshops",route:"/workshops",expandable:!0,expanded:!1,order:2,hidden:!1,children:[{title:"Layout",route:"/workshops/layout",expandable:!0,expanded:!1,order:2,hidden:!1,children:[{title:"D3 Force",route:"/workshops/layout/force",order:2,hidden:!1},{title:"Vizdom layout",route:"/workshops/layout/vizdom-layout",order:2,hidden:!1}]},{title:"Delete selected",route:"/workshops/delete-selected",order:2,hidden:!1},{title:"Drag and drop nodes",route:"/workshops/drag-and-drop-nodes",order:2,hidden:!1}]},{title:"Features",route:"/features",expandable:!0,expanded:!1,order:2,hidden:!1,children:[{title:"Default nodes",route:"/features/default-nodes",order:1,hidden:!1},{title:"Custom handles",route:"/features/custom-handles",order:2,hidden:!1},{title:"Custom nodes",route:"/features/custom-nodes",order:2,hidden:!1},{title:"Dynamic vs Static nodes",route:"/features/dynamic-vs-static-nodes",order:2,hidden:!1},{title:"Default edges",route:"/features/default-edges",order:2,hidden:!1},{title:"Labels",route:"/features/labels",order:2,hidden:!1},{title:"View size",route:"/features/view-size",order:2,hidden:!1},{title:"Selecting",route:"/features/selecting",order:2,hidden:!1},{title:"Multiple connection points",route:"/features/multiple-connection-points",order:2,hidden:!1},{title:"Custom edges",route:"/features/custom-edges",order:3,hidden:!1},{title:"Handling changes",route:"/features/handling-changes",order:3,hidden:!1},{title:"Connection",route:"/features/connection",order:3,hidden:!1},{title:"Connection validation",route:"/features/connection-validation",order:4,hidden:!1},{title:"Markers",route:"/features/markers",order:5,hidden:!1},{title:"Choose direction",route:"/features/choose-direction",order:7,hidden:!1},{title:"Curves",route:"/features/curves",order:8,hidden:!1},{title:"Draggables",route:"/features/draggables",order:9,hidden:!1},{title:"Custom background",route:"/features/custom-background",order:11,hidden:!1}]},{title:"API",route:"/api",order:3,hidden:!1}]}}}const Dp=[{path:"api",loadChildren:()=>Promise.all([d.e(5535),d.e(9822)]).then(d.bind(d,9822))},{path:"workshops",loadChildren:()=>d.e(9819).then(d.bind(d,9819))},{path:"features",loadChildren:()=>d.e(6112).then(d.bind(d,6112))},{path:"getting-started",loadChildren:()=>d.e(9826).then(d.bind(d,9826))}];function Xs(a){return new o.vHH(3e3,!1)}function Fs(a){switch(a.length){case 0:return new kt.ZN;case 1:return a[0];default:return new kt.ZE(a)}}function Tl(a,l,i=new Map,u=new Map){const f=[],w=[];let W=-1,J=null;if(l.forEach(le=>{const Ae=le.get("offset"),Qe=Ae==W,ft=Qe&&J||new Map;le.forEach((Ot,Lt)=>{let Ht=Lt,tn=Ot;if("offset"!==Lt)switch(Ht=a.normalizePropertyName(Ht,f),tn){case kt.k1:tn=i.get(Lt);break;case kt.l3:tn=u.get(Lt);break;default:tn=a.normalizeStyleValue(Lt,Ht,tn,f)}ft.set(Ht,tn)}),Qe||w.push(ft),J=ft,W=Ae}),f.length)throw function b0(a){return new o.vHH(3502,!1)}();return w}function xl(a,l,i,u){switch(l){case"start":a.onStart(()=>u(i&&$u(i,"start",a)));break;case"done":a.onDone(()=>u(i&&$u(i,"done",a)));break;case"destroy":a.onDestroy(()=>u(i&&$u(i,"destroy",a)))}}function $u(a,l,i){const w=Wu(a.element,a.triggerName,a.fromState,a.toState,l||a.phaseName,i.totalTime??a.totalTime,!!i.disabled),W=a._data;return null!=W&&(w._data=W),w}function Wu(a,l,i,u,f="",w=0,W){return{element:a,triggerName:l,fromState:i,toState:u,phaseName:f,totalTime:w,disabled:!!W}}function ki(a,l,i){let u=a.get(l);return u||a.set(l,u=i),u}function Gh(a){const l=a.indexOf(":");return[a.substring(1,l),a.slice(l+1)]}const Yh=(()=>typeof document>"u"?null:document.documentElement)();function Zh(a){const l=a.parentNode||a.host||null;return l===Yh?null:l}let Ji=null,ka=!1;function Pl(a,l){for(;l;){if(l===a)return!0;l=Zh(l)}return!1}function Qh(a,l,i){if(i)return Array.from(a.querySelectorAll(l));const u=a.querySelector(l);return u?[u]:[]}let Yu=(()=>{class a{validateStyleProperty(i){return function Kh(a){Ji||(Ji=function Gu(){return typeof document<"u"?document.body:null}()||{},ka=!!Ji.style&&"WebkitAppearance"in Ji.style);let l=!0;return Ji.style&&!function E0(a){return"ebkit"==a.substring(1,6)}(a)&&(l=a in Ji.style,!l&&ka&&(l="Webkit"+a.charAt(0).toUpperCase()+a.slice(1)in Ji.style)),l}(i)}matchesElement(i,u){return!1}containsElement(i,u){return Pl(i,u)}getParentElement(i){return Zh(i)}query(i,u,f){return Qh(i,u,f)}computeStyle(i,u,f){return f||""}animate(i,u,f,w,W,J=[],le){return new kt.ZN(f,w)}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac})}return a})(),Fa=(()=>{class a{static#e=this.NOOP=new Yu}return a})();const w0=1e3,bc="ng-enter",Dc="ng-leave",Ec="ng-trigger",ls=".ng-trigger",Xh="ng-animating",wc=".ng-animating";function zi(a){if("number"==typeof a)return a;const l=a.match(/^(-?[\.\d]+)(m?s)/);return!l||l.length<2?0:Zu(parseFloat(l[1]),l[2])}function Zu(a,l){return"s"===l?a*w0:a}function La(a,l,i){return a.hasOwnProperty("duration")?a:function Il(a,l,i){let f,w=0,W="";if("string"==typeof a){const J=a.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===J)return l.push(Xs()),{duration:0,delay:0,easing:""};f=Zu(parseFloat(J[1]),J[2]);const le=J[3];null!=le&&(w=Zu(parseFloat(le),J[4]));const Ae=J[5];Ae&&(W=Ae)}else f=a;if(!i){let J=!1,le=l.length;f<0&&(l.push(function Ep(){return new o.vHH(3100,!1)}()),J=!0),w<0&&(l.push(function wp(){return new o.vHH(3101,!1)}()),J=!0),J&&l.splice(le,0,Xs())}return{duration:f,delay:w,easing:W}}(a,l,i)}function wi(a,l={}){return Object.keys(a).forEach(i=>{l[i]=a[i]}),l}function qs(a){const l=new Map;return Object.keys(a).forEach(i=>{l.set(i,a[i])}),l}function Ls(a,l=new Map,i){if(i)for(let[u,f]of i)l.set(u,f);for(let[u,f]of a)l.set(u,f);return l}function qi(a,l,i){l.forEach((u,f)=>{const w=Oc(f);i&&!i.has(f)&&i.set(f,a.style[w]),a.style[w]=u})}function $i(a,l){l.forEach((i,u)=>{const f=Oc(u);a.style[f]=""})}function Mc(a){return Array.isArray(a)?1==a.length?a[0]:(0,kt.vP)(a):a}const Qu=new RegExp("{{\\s*(.+?)\\s*}}","g");function Nl(a){let l=[];if("string"==typeof a){let i;for(;i=Qu.exec(a);)l.push(i[1]);Qu.lastIndex=0}return l}function Ba(a,l,i){const u=a.toString(),f=u.replace(Qu,(w,W)=>{let J=l[W];return null==J&&(i.push(function Op(a){return new o.vHH(3003,!1)}()),J=""),J.toString()});return f==u?a:f}function Rl(a){const l=[];let i=a.next();for(;!i.done;)l.push(i.value),i=a.next();return l}const qh=/-+([a-z0-9])/g;function Oc(a){return a.replace(qh,(...l)=>l[1].toUpperCase())}function Fi(a,l,i){switch(l.type){case 7:return a.visitTrigger(l,i);case 0:return a.visitState(l,i);case 1:return a.visitTransition(l,i);case 2:return a.visitSequence(l,i);case 3:return a.visitGroup(l,i);case 4:return a.visitAnimate(l,i);case 5:return a.visitKeyframes(l,i);case 6:return a.visitStyle(l,i);case 8:return a.visitReference(l,i);case 9:return a.visitAnimateChild(l,i);case 10:return a.visitAnimateRef(l,i);case 11:return a.visitQuery(l,i);case 12:return a.visitStagger(l,i);default:throw function Sp(a){return new o.vHH(3004,!1)}()}}function Up(a,l){return window.getComputedStyle(a)[l]}const ja="*";function Ju(a,l){const i=[];return"string"==typeof a?a.split(/\s*,\s*/).forEach(u=>function Tc(a,l,i){if(":"==a[0]){const le=function kl(a,l){switch(a){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(i,u)=>parseFloat(u)>parseFloat(i);case":decrement":return(i,u)=>parseFloat(u) *"}}(a,i);if("function"==typeof le)return void l.push(le);a=le}const u=a.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==u||u.length<4)return i.push(function v0(a){return new o.vHH(3015,!1)}()),l;const f=u[1],w=u[2],W=u[3];l.push(Fl(f,W));"<"==w[0]&&!(f==ja&&W==ja)&&l.push(Fl(W,f))}(u,i,l)):i.push(a),i}const bs=new Set(["true","1"]),Ha=new Set(["false","0"]);function Fl(a,l){const i=bs.has(a)||Ha.has(a),u=bs.has(l)||Ha.has(l);return(f,w)=>{let W=a==ja||a==f,J=l==ja||l==w;return!W&&i&&"boolean"==typeof f&&(W=f?bs.has(a):Ha.has(a)),!J&&u&&"boolean"==typeof w&&(J=w?bs.has(l):Ha.has(l)),W&&J}}const O0=new RegExp("s*:selfs*,?","g");function Pc(a,l,i,u){return new zp(a).build(l,i,u)}class zp{constructor(l){this._driver=l}build(l,i,u){const f=new Wp(i);return this._resetContextStyleTimingState(f),Fi(this,Mc(l),f)}_resetContextStyleTimingState(l){l.currentQuerySelector="",l.collectedStyles=new Map,l.collectedStyles.set("",new Map),l.currentTime=0}visitTrigger(l,i){let u=i.queryCount=0,f=i.depCount=0;const w=[],W=[];return"@"==l.name.charAt(0)&&i.errors.push(function Bh(){return new o.vHH(3006,!1)}()),l.definitions.forEach(J=>{if(this._resetContextStyleTimingState(i),0==J.type){const le=J,Ae=le.name;Ae.toString().split(/\s*,\s*/).forEach(Qe=>{le.name=Qe,w.push(this.visitState(le,i))}),le.name=Ae}else if(1==J.type){const le=this.visitTransition(J,i);u+=le.queryCount,f+=le.depCount,W.push(le)}else i.errors.push(function xp(){return new o.vHH(3007,!1)}())}),{type:7,name:l.name,states:w,transitions:W,queryCount:u,depCount:f,options:null}}visitState(l,i){const u=this.visitStyle(l.styles,i),f=l.options&&l.options.params||null;if(u.containsDynamicStyles){const w=new Set,W=f||{};u.styles.forEach(J=>{J instanceof Map&&J.forEach(le=>{Nl(le).forEach(Ae=>{W.hasOwnProperty(Ae)||w.add(Ae)})})}),w.size&&(Rl(w.values()),i.errors.push(function Pp(a,l){return new o.vHH(3008,!1)}()))}return{type:0,name:l.name,style:u,options:f?{params:f}:null}}visitTransition(l,i){i.queryCount=0,i.depCount=0;const u=Fi(this,Mc(l.animation),i);return{type:1,matchers:Ju(l.expr,i.errors),animation:u,queryCount:i.queryCount,depCount:i.depCount,options:ea(l.options)}}visitSequence(l,i){return{type:2,steps:l.steps.map(u=>Fi(this,u,i)),options:ea(l.options)}}visitGroup(l,i){const u=i.currentTime;let f=0;const w=l.steps.map(W=>{i.currentTime=u;const J=Fi(this,W,i);return f=Math.max(f,i.currentTime),J});return i.currentTime=f,{type:3,steps:w,options:ea(l.options)}}visitAnimate(l,i){const u=function rf(a,l){if(a.hasOwnProperty("duration"))return a;if("number"==typeof a)return ed(La(a,l).duration,0,"");const i=a;if(i.split(/\s+/).some(w=>"{"==w.charAt(0)&&"{"==w.charAt(1))){const w=ed(0,0,"");return w.dynamic=!0,w.strValue=i,w}const f=La(i,l);return ed(f.duration,f.delay,f.easing)}(l.timings,i.errors);i.currentAnimateTimings=u;let f,w=l.styles?l.styles:(0,kt.oB)({});if(5==w.type)f=this.visitKeyframes(w,i);else{let W=l.styles,J=!1;if(!W){J=!0;const Ae={};u.easing&&(Ae.easing=u.easing),W=(0,kt.oB)(Ae)}i.currentTime+=u.duration+u.delay;const le=this.visitStyle(W,i);le.isEmptyStep=J,f=le}return i.currentAnimateTimings=null,{type:4,timings:u,style:f,options:null}}visitStyle(l,i){const u=this._makeStyleAst(l,i);return this._validateStyleAst(u,i),u}_makeStyleAst(l,i){const u=[],f=Array.isArray(l.styles)?l.styles:[l.styles];for(let J of f)"string"==typeof J?J===kt.l3?u.push(J):i.errors.push(new o.vHH(3002,!1)):u.push(qs(J));let w=!1,W=null;return u.forEach(J=>{if(J instanceof Map&&(J.has("easing")&&(W=J.get("easing"),J.delete("easing")),!w))for(let le of J.values())if(le.toString().indexOf("{{")>=0){w=!0;break}}),{type:6,styles:u,easing:W,offset:l.offset,containsDynamicStyles:w,options:null}}_validateStyleAst(l,i){const u=i.currentAnimateTimings;let f=i.currentTime,w=i.currentTime;u&&w>0&&(w-=u.duration+u.delay),l.styles.forEach(W=>{"string"!=typeof W&&W.forEach((J,le)=>{const Ae=i.collectedStyles.get(i.currentQuerySelector),Qe=Ae.get(le);let ft=!0;Qe&&(w!=f&&w>=Qe.startTime&&f<=Qe.endTime&&(i.errors.push(function Ol(a,l,i,u,f){return new o.vHH(3010,!1)}()),ft=!1),w=Qe.startTime),ft&&Ae.set(le,{startTime:w,endTime:f}),i.options&&function jp(a,l,i){const u=l.params||{},f=Nl(a);f.length&&f.forEach(w=>{u.hasOwnProperty(w)||i.push(function Mp(a){return new o.vHH(3001,!1)}())})}(J,i.options,i.errors)})})}visitKeyframes(l,i){const u={type:5,styles:[],options:null};if(!i.currentAnimateTimings)return i.errors.push(function Cs(){return new o.vHH(3011,!1)}()),u;let w=0;const W=[];let J=!1,le=!1,Ae=0;const Qe=l.steps.map(Do=>{const to=this._makeStyleAst(Do,i);let Nn=null!=to.offset?to.offset:function qu(a){if("string"==typeof a)return null;let l=null;if(Array.isArray(a))a.forEach(i=>{if(i instanceof Map&&i.has("offset")){const u=i;l=parseFloat(u.get("offset")),u.delete("offset")}});else if(a instanceof Map&&a.has("offset")){const i=a;l=parseFloat(i.get("offset")),i.delete("offset")}return l}(to.styles),Mo=0;return null!=Nn&&(w++,Mo=to.offset=Nn),le=le||Mo<0||Mo>1,J=J||Mo0&&w{const Nn=Ot>0?to==Lt?1:Ot*to:W[to],Mo=Nn*Xn;i.currentTime=Ht+tn.delay+Mo,tn.duration=Mo,this._validateStyleAst(Do,i),Do.offset=Nn,u.styles.push(Do)}),u}visitReference(l,i){return{type:8,animation:Fi(this,Mc(l.animation),i),options:ea(l.options)}}visitAnimateChild(l,i){return i.depCount++,{type:9,options:ea(l.options)}}visitAnimateRef(l,i){return{type:10,animation:this.visitReference(l.animation,i),options:ea(l.options)}}visitQuery(l,i){const u=i.currentQuerySelector,f=l.options||{};i.queryCount++,i.currentQuery=l;const[w,W]=function nf(a){const l=!!a.split(/\s*,\s*/).find(i=>":self"==i);return l&&(a=a.replace(O0,"")),a=a.replace(/@\*/g,ls).replace(/@\w+/g,i=>ls+"-"+i.slice(1)).replace(/:animating/g,wc),[a,l]}(l.selector);i.currentQuerySelector=u.length?u+" "+w:w,ki(i.collectedStyles,i.currentQuerySelector,new Map);const J=Fi(this,Mc(l.animation),i);return i.currentQuery=null,i.currentQuerySelector=u,{type:11,selector:w,limit:f.limit||0,optional:!!f.optional,includeSelf:W,animation:J,originalSelector:l.selector,options:ea(l.options)}}visitStagger(l,i){i.currentQuery||i.errors.push(function Vh(){return new o.vHH(3013,!1)}());const u="full"===l.timings?{duration:0,delay:0,easing:"full"}:La(l.timings,i.errors,!0);return{type:12,animation:Fi(this,Mc(l.animation),i),timings:u,options:null}}}class Wp{constructor(l){this.errors=l,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function ea(a){return a?(a=wi(a)).params&&(a.params=function $p(a){return a?wi(a):null}(a.params)):a={},a}function ed(a,l,i){return{duration:a,delay:l,easing:i}}function sf(a,l,i,u,f,w,W=null,J=!1){return{type:1,element:a,keyframes:l,preStyleProps:i,postStyleProps:u,duration:f,delay:w,totalTime:f+w,easing:W,subTimeline:J}}class Ll{constructor(){this._map=new Map}get(l){return this._map.get(l)||[]}append(l,i){let u=this._map.get(l);u||this._map.set(l,u=[]),u.push(...i)}has(l){return this._map.has(l)}clear(){this._map.clear()}}const Gp=new RegExp(":enter","g"),nd=new RegExp(":leave","g");function Ua(a,l,i,u,f,w=new Map,W=new Map,J,le,Ae=[]){return(new Yp).buildKeyframes(a,l,i,u,f,w,W,J,le,Ae)}class Yp{buildKeyframes(l,i,u,f,w,W,J,le,Ae,Qe=[]){Ae=Ae||new Ll;const ft=new od(l,i,Ae,f,w,Qe,[]);ft.options=le;const Ot=le.delay?zi(le.delay):0;ft.currentTimeline.delayNextStep(Ot),ft.currentTimeline.setStyles([W],null,ft.errors,le),Fi(this,u,ft);const Lt=ft.timelines.filter(Ht=>Ht.containsAnimation());if(Lt.length&&J.size){let Ht;for(let tn=Lt.length-1;tn>=0;tn--){const Xn=Lt[tn];if(Xn.element===i){Ht=Xn;break}}Ht&&!Ht.allowOnlyTimelineStyles()&&Ht.setStyles([J],null,ft.errors,le)}return Lt.length?Lt.map(Ht=>Ht.buildKeyframes()):[sf(i,[],[],[],0,Ot,"",!1)]}visitTrigger(l,i){}visitState(l,i){}visitTransition(l,i){}visitAnimateChild(l,i){const u=i.subInstructions.get(i.element);if(u){const f=i.createSubContext(l.options),w=i.currentTimeline.currentTime,W=this._visitSubInstructions(u,f,f.options);w!=W&&i.transformIntoNewTimeline(W)}i.previousNode=l}visitAnimateRef(l,i){const u=i.createSubContext(l.options);u.transformIntoNewTimeline(),this._applyAnimationRefDelays([l.options,l.animation.options],i,u),this.visitReference(l.animation,u),i.transformIntoNewTimeline(u.currentTimeline.currentTime),i.previousNode=l}_applyAnimationRefDelays(l,i,u){for(const f of l){const w=f?.delay;if(w){const W="number"==typeof w?w:zi(Ba(w,f?.params??{},i.errors));u.delayNextStep(W)}}}_visitSubInstructions(l,i,u){let w=i.currentTimeline.currentTime;const W=null!=u.duration?zi(u.duration):null,J=null!=u.delay?zi(u.delay):null;return 0!==W&&l.forEach(le=>{const Ae=i.appendInstructionToTimeline(le,W,J);w=Math.max(w,Ae.duration+Ae.delay)}),w}visitReference(l,i){i.updateOptions(l.options,!0),Fi(this,l.animation,i),i.previousNode=l}visitSequence(l,i){const u=i.subContextCount;let f=i;const w=l.options;if(w&&(w.params||w.delay)&&(f=i.createSubContext(w),f.transformIntoNewTimeline(),null!=w.delay)){6==f.previousNode.type&&(f.currentTimeline.snapshotCurrentStyles(),f.previousNode=Ac);const W=zi(w.delay);f.delayNextStep(W)}l.steps.length&&(l.steps.forEach(W=>Fi(this,W,f)),f.currentTimeline.applyStylesToKeyframe(),f.subContextCount>u&&f.transformIntoNewTimeline()),i.previousNode=l}visitGroup(l,i){const u=[];let f=i.currentTimeline.currentTime;const w=l.options&&l.options.delay?zi(l.options.delay):0;l.steps.forEach(W=>{const J=i.createSubContext(l.options);w&&J.delayNextStep(w),Fi(this,W,J),f=Math.max(f,J.currentTimeline.currentTime),u.push(J.currentTimeline)}),u.forEach(W=>i.currentTimeline.mergeTimelineCollectedStyles(W)),i.transformIntoNewTimeline(f),i.previousNode=l}_visitTiming(l,i){if(l.dynamic){const u=l.strValue;return La(i.params?Ba(u,i.params,i.errors):u,i.errors)}return{duration:l.duration,delay:l.delay,easing:l.easing}}visitAnimate(l,i){const u=i.currentAnimateTimings=this._visitTiming(l.timings,i),f=i.currentTimeline;u.delay&&(i.incrementTime(u.delay),f.snapshotCurrentStyles());const w=l.style;5==w.type?this.visitKeyframes(w,i):(i.incrementTime(u.duration),this.visitStyle(w,i),f.applyStylesToKeyframe()),i.currentAnimateTimings=null,i.previousNode=l}visitStyle(l,i){const u=i.currentTimeline,f=i.currentAnimateTimings;!f&&u.hasCurrentStyleProperties()&&u.forwardFrame();const w=f&&f.easing||l.easing;l.isEmptyStep?u.applyEmptyStep(w):u.setStyles(l.styles,w,i.errors,i.options),i.previousNode=l}visitKeyframes(l,i){const u=i.currentAnimateTimings,f=i.currentTimeline.duration,w=u.duration,J=i.createSubContext().currentTimeline;J.easing=u.easing,l.styles.forEach(le=>{J.forwardTime((le.offset||0)*w),J.setStyles(le.styles,le.easing,i.errors,i.options),J.applyStylesToKeyframe()}),i.currentTimeline.mergeTimelineCollectedStyles(J),i.transformIntoNewTimeline(f+w),i.previousNode=l}visitQuery(l,i){const u=i.currentTimeline.currentTime,f=l.options||{},w=f.delay?zi(f.delay):0;w&&(6===i.previousNode.type||0==u&&i.currentTimeline.hasCurrentStyleProperties())&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=Ac);let W=u;const J=i.invokeQuery(l.selector,l.originalSelector,l.limit,l.includeSelf,!!f.optional,i.errors);i.currentQueryTotal=J.length;let le=null;J.forEach((Ae,Qe)=>{i.currentQueryIndex=Qe;const ft=i.createSubContext(l.options,Ae);w&&ft.delayNextStep(w),Ae===i.element&&(le=ft.currentTimeline),Fi(this,l.animation,ft),ft.currentTimeline.applyStylesToKeyframe(),W=Math.max(W,ft.currentTimeline.currentTime)}),i.currentQueryIndex=0,i.currentQueryTotal=0,i.transformIntoNewTimeline(W),le&&(i.currentTimeline.mergeTimelineCollectedStyles(le),i.currentTimeline.snapshotCurrentStyles()),i.previousNode=l}visitStagger(l,i){const u=i.parentContext,f=i.currentTimeline,w=l.timings,W=Math.abs(w.duration),J=W*(i.currentQueryTotal-1);let le=W*i.currentQueryIndex;switch(w.duration<0?"reverse":w.easing){case"reverse":le=J-le;break;case"full":le=u.currentStaggerTime}const Qe=i.currentTimeline;le&&Qe.delayNextStep(le);const ft=Qe.currentTime;Fi(this,l.animation,i),i.previousNode=l,u.currentStaggerTime=f.currentTime-ft+(f.startTime-u.currentTimeline.startTime)}}const Ac={};class od{constructor(l,i,u,f,w,W,J,le){this._driver=l,this.element=i,this.subInstructions=u,this._enterClassName=f,this._leaveClassName=w,this.errors=W,this.timelines=J,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Ac,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=le||new Ic(this._driver,i,0),J.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(l,i){if(!l)return;const u=l;let f=this.options;null!=u.duration&&(f.duration=zi(u.duration)),null!=u.delay&&(f.delay=zi(u.delay));const w=u.params;if(w){let W=f.params;W||(W=this.options.params={}),Object.keys(w).forEach(J=>{(!i||!W.hasOwnProperty(J))&&(W[J]=Ba(w[J],W,this.errors))})}}_copyOptions(){const l={};if(this.options){const i=this.options.params;if(i){const u=l.params={};Object.keys(i).forEach(f=>{u[f]=i[f]})}}return l}createSubContext(l=null,i,u){const f=i||this.element,w=new od(this._driver,f,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(f,u||0));return w.previousNode=this.previousNode,w.currentAnimateTimings=this.currentAnimateTimings,w.options=this._copyOptions(),w.updateOptions(l),w.currentQueryIndex=this.currentQueryIndex,w.currentQueryTotal=this.currentQueryTotal,w.parentContext=this,this.subContextCount++,w}transformIntoNewTimeline(l){return this.previousNode=Ac,this.currentTimeline=this.currentTimeline.fork(this.element,l),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(l,i,u){const f={duration:i??l.duration,delay:this.currentTimeline.currentTime+(u??0)+l.delay,easing:""},w=new S0(this._driver,l.element,l.keyframes,l.preStyleProps,l.postStyleProps,f,l.stretchStartingKeyframe);return this.timelines.push(w),f}incrementTime(l){this.currentTimeline.forwardTime(this.currentTimeline.duration+l)}delayNextStep(l){l>0&&this.currentTimeline.delayNextStep(l)}invokeQuery(l,i,u,f,w,W){let J=[];if(f&&J.push(this.element),l.length>0){l=(l=l.replace(Gp,"."+this._enterClassName)).replace(nd,"."+this._leaveClassName);let Ae=this._driver.query(this.element,l,1!=u);0!==u&&(Ae=u<0?Ae.slice(Ae.length+u,Ae.length):Ae.slice(0,u)),J.push(...Ae)}return!w&&0==J.length&&W.push(function _0(a){return new o.vHH(3014,!1)}()),J}}class Ic{constructor(l,i,u,f){this._driver=l,this.element=i,this.startTime=u,this._elementTimelineStylesLookup=f,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(i),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(i,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(l){const i=1===this._keyframes.size&&this._pendingStyles.size;this.duration||i?(this.forwardTime(this.currentTime+l),i&&this.snapshotCurrentStyles()):this.startTime+=l}fork(l,i){return this.applyStylesToKeyframe(),new Ic(this._driver,l,i||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(l){this.applyStylesToKeyframe(),this.duration=l,this._loadKeyframe()}_updateStyle(l,i){this._localTimelineStyles.set(l,i),this._globalTimelineStyles.set(l,i),this._styleSummary.set(l,{time:this.currentTime,value:i})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(l){l&&this._previousKeyframe.set("easing",l);for(let[i,u]of this._globalTimelineStyles)this._backFill.set(i,u||kt.l3),this._currentKeyframe.set(i,kt.l3);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(l,i,u,f){i&&this._previousKeyframe.set("easing",i);const w=f&&f.params||{},W=function Nc(a,l){const i=new Map;let u;return a.forEach(f=>{if("*"===f){u=u||l.keys();for(let w of u)i.set(w,kt.l3)}else Ls(f,i)}),i}(l,this._globalTimelineStyles);for(let[J,le]of W){const Ae=Ba(le,w,u);this._pendingStyles.set(J,Ae),this._localTimelineStyles.has(J)||this._backFill.set(J,this._globalTimelineStyles.get(J)??kt.l3),this._updateStyle(J,Ae)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((l,i)=>{this._currentKeyframe.set(i,l)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((l,i)=>{this._currentKeyframe.has(i)||this._currentKeyframe.set(i,l)}))}snapshotCurrentStyles(){for(let[l,i]of this._localTimelineStyles)this._pendingStyles.set(l,i),this._updateStyle(l,i)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const l=[];for(let i in this._currentKeyframe)l.push(i);return l}mergeTimelineCollectedStyles(l){l._styleSummary.forEach((i,u)=>{const f=this._styleSummary.get(u);(!f||i.time>f.time)&&this._updateStyle(u,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const l=new Set,i=new Set,u=1===this._keyframes.size&&0===this.duration;let f=[];this._keyframes.forEach((J,le)=>{const Ae=Ls(J,new Map,this._backFill);Ae.forEach((Qe,ft)=>{Qe===kt.k1?l.add(ft):Qe===kt.l3&&i.add(ft)}),u||Ae.set("offset",le/this.duration),f.push(Ae)});const w=l.size?Rl(l.values()):[],W=i.size?Rl(i.values()):[];if(u){const J=f[0],le=new Map(J);J.set("offset",0),le.set("offset",1),f=[J,le]}return sf(this.element,f,w,W,this.duration,this.startTime,this.easing,!1)}}class S0 extends Ic{constructor(l,i,u,f,w,W,J=!1){super(l,i,W.delay),this.keyframes=u,this.preStyleProps=f,this.postStyleProps=w,this._stretchStartingKeyframe=J,this.timings={duration:W.duration,delay:W.delay,easing:W.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let l=this.keyframes,{delay:i,duration:u,easing:f}=this.timings;if(this._stretchStartingKeyframe&&i){const w=[],W=u+i,J=i/W,le=Ls(l[0]);le.set("offset",0),w.push(le);const Ae=Ls(l[0]);Ae.set("offset",cf(J)),w.push(Ae);const Qe=l.length-1;for(let ft=1;ft<=Qe;ft++){let Ot=Ls(l[ft]);const Lt=Ot.get("offset");Ot.set("offset",cf((i+Lt*u)/W)),w.push(Ot)}u=W,i=0,f="",l=w}return sf(this.element,l,this.preStyleProps,this.postStyleProps,u,i,f,!0)}}function cf(a,l=3){const i=Math.pow(10,l-1);return Math.round(a*i)/i}class Bs{}const Zp=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class lf extends Bs{normalizePropertyName(l,i){return Oc(l)}normalizeStyleValue(l,i,u,f){let w="";const W=u.toString().trim();if(Zp.has(i)&&0!==u&&"0"!==u)if("number"==typeof u)w="px";else{const J=u.match(/^[+-]?[\d\.]+([a-z]*)$/);J&&0==J[1].length&&f.push(function Tp(a,l){return new o.vHH(3005,!1)}())}return W+w}}function uf(a,l,i,u,f,w,W,J,le,Ae,Qe,ft,Ot){return{type:0,element:a,triggerName:l,isRemovalTransition:f,fromState:i,fromStyles:w,toState:u,toStyles:W,timelines:J,queriedElements:le,preStyleProps:Ae,postStyleProps:Qe,totalTime:ft,errors:Ot}}const rd={};class df{constructor(l,i,u){this._triggerName=l,this.ast=i,this._stateStyles=u}match(l,i,u,f){return function Qp(a,l,i,u,f){return a.some(w=>w(l,i,u,f))}(this.ast.matchers,l,i,u,f)}buildStyles(l,i,u){let f=this._stateStyles.get("*");return void 0!==l&&(f=this._stateStyles.get(l?.toString())||f),f?f.buildStyles(i,u):new Map}build(l,i,u,f,w,W,J,le,Ae,Qe){const ft=[],Ot=this.ast.options&&this.ast.options.params||rd,Ht=this.buildStyles(u,J&&J.params||rd,ft),tn=le&&le.params||rd,Xn=this.buildStyles(f,tn,ft),Do=new Set,to=new Map,Nn=new Map,Mo="void"===f,oi={params:id(tn,Ot),delay:this.ast.options?.delay},Eo=Qe?[]:Ua(l,i,this.ast.animation,w,W,Ht,Xn,oi,Ae,ft);let Ho=0;if(Eo.forEach(Vo=>{Ho=Math.max(Vo.duration+Vo.delay,Ho)}),ft.length)return uf(i,this._triggerName,u,f,Mo,Ht,Xn,[],[],to,Nn,Ho,ft);Eo.forEach(Vo=>{const Hr=Vo.element,ri=ki(to,Hr,new Set);Vo.preStyleProps.forEach(ws=>ri.add(ws));const js=ki(Nn,Hr,new Set);Vo.postStyleProps.forEach(ws=>js.add(ws)),Hr!==i&&Do.add(Hr)});const Go=Rl(Do.values());return uf(i,this._triggerName,u,f,Mo,Ht,Xn,Eo,Go,to,Nn,Ho)}}function id(a,l){const i=wi(l);for(const u in a)a.hasOwnProperty(u)&&null!=a[u]&&(i[u]=a[u]);return i}class Xp{constructor(l,i,u){this.styles=l,this.defaultParams=i,this.normalizer=u}buildStyles(l,i){const u=new Map,f=wi(this.defaultParams);return Object.keys(l).forEach(w=>{const W=l[w];null!==W&&(f[w]=W)}),this.styles.styles.forEach(w=>{"string"!=typeof w&&w.forEach((W,J)=>{W&&(W=Ba(W,f,i));const le=this.normalizer.normalizePropertyName(J,i);W=this.normalizer.normalizeStyleValue(J,le,W,i),u.set(J,W)})}),u}}class hf{constructor(l,i,u){this.name=l,this.ast=i,this._normalizer=u,this.transitionFactories=[],this.states=new Map,i.states.forEach(f=>{this.states.set(f.name,new Xp(f.style,f.options&&f.options.params||{},u))}),ff(this.states,"true","1"),ff(this.states,"false","0"),i.transitions.forEach(f=>{this.transitionFactories.push(new df(l,f,this.states))}),this.fallbackTransition=function Jp(a,l,i){return new df(a,{type:1,animation:{type:2,steps:[],options:null},matchers:[(W,J)=>!0],options:null,queryCount:0,depCount:0},l)}(l,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(l,i,u,f){return this.transitionFactories.find(W=>W.match(l,i,u,f))||null}matchStyles(l,i,u){return this.fallbackTransition.buildStyles(l,i,u)}}function ff(a,l,i){a.has(l)?a.has(i)||a.set(i,a.get(l)):a.has(i)&&a.set(l,a.get(i))}const gf=new Ll;class qp{constructor(l,i,u){this.bodyNode=l,this._driver=i,this._normalizer=u,this._animations=new Map,this._playersById=new Map,this.players=[]}register(l,i){const u=[],w=Pc(this._driver,i,u,[]);if(u.length)throw function Uh(a){return new o.vHH(3503,!1)}();this._animations.set(l,w)}_buildPlayer(l,i,u){const f=l.element,w=Tl(this._normalizer,l.keyframes,i,u);return this._driver.animate(f,w,l.duration,l.delay,l.easing,[],!0)}create(l,i,u={}){const f=[],w=this._animations.get(l);let W;const J=new Map;if(w?(W=Ua(this._driver,i,w,bc,Dc,new Map,new Map,u,gf,f),W.forEach(Qe=>{const ft=ki(J,Qe.element,new Map);Qe.postStyleProps.forEach(Ot=>ft.set(Ot,null))})):(f.push(function Ip(){return new o.vHH(3300,!1)}()),W=[]),f.length)throw function Np(a){return new o.vHH(3504,!1)}();J.forEach((Qe,ft)=>{Qe.forEach((Ot,Lt)=>{Qe.set(Lt,this._driver.computeStyle(ft,Lt,kt.l3))})});const Ae=Fs(W.map(Qe=>{const ft=J.get(Qe.element);return this._buildPlayer(Qe,new Map,ft)}));return this._playersById.set(l,Ae),Ae.onDestroy(()=>this.destroy(l)),this.players.push(Ae),Ae}destroy(l){const i=this._getPlayer(l);i.destroy(),this._playersById.delete(l);const u=this.players.indexOf(i);u>=0&&this.players.splice(u,1)}_getPlayer(l){const i=this._playersById.get(l);if(!i)throw function Rp(a){return new o.vHH(3301,!1)}();return i}listen(l,i,u,f){const w=Wu(i,"","","");return xl(this._getPlayer(l),u,w,f),()=>{}}command(l,i,u,f){if("register"==u)return void this.register(l,f[0]);if("create"==u)return void this.create(l,i,f[0]||{});const w=this._getPlayer(l);switch(u){case"play":w.play();break;case"pause":w.pause();break;case"reset":w.reset();break;case"restart":w.restart();break;case"finish":w.finish();break;case"init":w.init();break;case"setPosition":w.setPosition(parseFloat(f[0]));break;case"destroy":this.destroy(l)}}}const sd="ng-animate-queued",ad="ng-animate-disabled",es=[],cd={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},P0={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Li="__ng_removed";class us{get params(){return this.options.params}constructor(l,i=""){this.namespaceId=i;const u=l&&l.hasOwnProperty("value");if(this.value=function _f(a){return a??null}(u?l.value:l),u){const w=wi(l);delete w.value,this.options=w}else this.options={};this.options.params||(this.options.params={})}absorbOptions(l){const i=l.params;if(i){const u=this.options.params;Object.keys(i).forEach(f=>{null==u[f]&&(u[f]=i[f])})}}}const Ds="void",ld=new us(Ds);class t1{constructor(l,i,u){this.id=l,this.hostElement=i,this._engine=u,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+l,Wi(i,this._hostClassName)}listen(l,i,u,f){if(!this._triggers.has(i))throw function kp(a,l){return new o.vHH(3302,!1)}();if(null==u||0==u.length)throw function zh(a){return new o.vHH(3303,!1)}();if(!function A0(a){return"start"==a||"done"==a}(u))throw function Sl(a,l){return new o.vHH(3400,!1)}();const w=ki(this._elementListeners,l,[]),W={name:i,phase:u,callback:f};w.push(W);const J=ki(this._engine.statesByElement,l,new Map);return J.has(i)||(Wi(l,Ec),Wi(l,Ec+"-"+i),J.set(i,ld)),()=>{this._engine.afterFlush(()=>{const le=w.indexOf(W);le>=0&&w.splice(le,1),this._triggers.has(i)||J.delete(i)})}}register(l,i){return!this._triggers.has(l)&&(this._triggers.set(l,i),!0)}_getTrigger(l){const i=this._triggers.get(l);if(!i)throw function $h(a){return new o.vHH(3401,!1)}();return i}trigger(l,i,u,f=!0){const w=this._getTrigger(i),W=new Rc(this.id,i,l);let J=this._engine.statesByElement.get(l);J||(Wi(l,Ec),Wi(l,Ec+"-"+i),this._engine.statesByElement.set(l,J=new Map));let le=J.get(i);const Ae=new us(u,this.id);if(!(u&&u.hasOwnProperty("value"))&&le&&Ae.absorbOptions(le.options),J.set(i,Ae),le||(le=ld),Ae.value!==Ds&&le.value===Ae.value){if(!function o1(a,l){const i=Object.keys(a),u=Object.keys(l);if(i.length!=u.length)return!1;for(let f=0;f{$i(l,Xn),qi(l,Do)})}return}const Ot=ki(this._engine.playersByElement,l,[]);Ot.forEach(tn=>{tn.namespaceId==this.id&&tn.triggerName==i&&tn.queued&&tn.destroy()});let Lt=w.matchTransition(le.value,Ae.value,l,Ae.params),Ht=!1;if(!Lt){if(!f)return;Lt=w.fallbackTransition,Ht=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:l,triggerName:i,transition:Lt,fromState:le,toState:Ae,player:W,isFallbackTransition:Ht}),Ht||(Wi(l,sd),W.onStart(()=>{za(l,sd)})),W.onDone(()=>{let tn=this.players.indexOf(W);tn>=0&&this.players.splice(tn,1);const Xn=this._engine.playersByElement.get(l);if(Xn){let Do=Xn.indexOf(W);Do>=0&&Xn.splice(Do,1)}}),this.players.push(W),Ot.push(W),W}deregister(l){this._triggers.delete(l),this._engine.statesByElement.forEach(i=>i.delete(l)),this._elementListeners.forEach((i,u)=>{this._elementListeners.set(u,i.filter(f=>f.name!=l))})}clearElementCache(l){this._engine.statesByElement.delete(l),this._elementListeners.delete(l);const i=this._engine.playersByElement.get(l);i&&(i.forEach(u=>u.destroy()),this._engine.playersByElement.delete(l))}_signalRemovalForInnerTriggers(l,i){const u=this._engine.driver.query(l,ls,!0);u.forEach(f=>{if(f[Li])return;const w=this._engine.fetchNamespacesByElement(f);w.size?w.forEach(W=>W.triggerLeaveAnimation(f,i,!1,!0)):this.clearElementCache(f)}),this._engine.afterFlushAnimationsDone(()=>u.forEach(f=>this.clearElementCache(f)))}triggerLeaveAnimation(l,i,u,f){const w=this._engine.statesByElement.get(l),W=new Map;if(w){const J=[];if(w.forEach((le,Ae)=>{if(W.set(Ae,le.value),this._triggers.has(Ae)){const Qe=this.trigger(l,Ae,Ds,f);Qe&&J.push(Qe)}}),J.length)return this._engine.markElementAsRemoved(this.id,l,!0,i,W),u&&Fs(J).onDone(()=>this._engine.processLeaveNode(l)),!0}return!1}prepareLeaveAnimationListeners(l){const i=this._elementListeners.get(l),u=this._engine.statesByElement.get(l);if(i&&u){const f=new Set;i.forEach(w=>{const W=w.name;if(f.has(W))return;f.add(W);const le=this._triggers.get(W).fallbackTransition,Ae=u.get(W)||ld,Qe=new us(Ds),ft=new Rc(this.id,W,l);this._engine.totalQueuedPlayers++,this._queue.push({element:l,triggerName:W,transition:le,fromState:Ae,toState:Qe,player:ft,isFallbackTransition:!0})})}}removeNode(l,i){const u=this._engine;if(l.childElementCount&&this._signalRemovalForInnerTriggers(l,i),this.triggerLeaveAnimation(l,i,!0))return;let f=!1;if(u.totalAnimations){const w=u.players.length?u.playersByQueriedElement.get(l):[];if(w&&w.length)f=!0;else{let W=l;for(;W=W.parentNode;)if(u.statesByElement.get(W)){f=!0;break}}}if(this.prepareLeaveAnimationListeners(l),f)u.markElementAsRemoved(this.id,l,!1,i);else{const w=l[Li];(!w||w===cd)&&(u.afterFlush(()=>this.clearElementCache(l)),u.destroyInnerAnimations(l),u._onRemovalComplete(l,i))}}insertNode(l,i){Wi(l,this._hostClassName)}drainQueuedTransitions(l){const i=[];return this._queue.forEach(u=>{const f=u.player;if(f.destroyed)return;const w=u.element,W=this._elementListeners.get(w);W&&W.forEach(J=>{if(J.name==u.triggerName){const le=Wu(w,u.triggerName,u.fromState.value,u.toState.value);le._data=l,xl(u.player,J.phase,le,J.callback)}}),f.markedForDestroy?this._engine.afterFlush(()=>{f.destroy()}):i.push(u)}),this._queue=[],i.sort((u,f)=>{const w=u.transition.ast.depCount,W=f.transition.ast.depCount;return 0==w||0==W?w-W:this._engine.driver.containsElement(u.element,f.element)?1:-1})}destroy(l){this.players.forEach(i=>i.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,l)}}class n1{_onRemovalComplete(l,i){this.onRemovalComplete(l,i)}constructor(l,i,u){this.bodyNode=l,this.driver=i,this._normalizer=u,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(f,w)=>{}}get queuedPlayers(){const l=[];return this._namespaceList.forEach(i=>{i.players.forEach(u=>{u.queued&&l.push(u)})}),l}createNamespace(l,i){const u=new t1(l,i,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,i)?this._balanceNamespaceList(u,i):(this.newHostElements.set(i,u),this.collectEnterElement(i)),this._namespaceLookup[l]=u}_balanceNamespaceList(l,i){const u=this._namespaceList,f=this.namespacesByHostElement;if(u.length-1>=0){let W=!1,J=this.driver.getParentElement(i);for(;J;){const le=f.get(J);if(le){const Ae=u.indexOf(le);u.splice(Ae+1,0,l),W=!0;break}J=this.driver.getParentElement(J)}W||u.unshift(l)}else u.push(l);return f.set(i,l),l}register(l,i){let u=this._namespaceLookup[l];return u||(u=this.createNamespace(l,i)),u}registerTrigger(l,i,u){let f=this._namespaceLookup[l];f&&f.register(i,u)&&this.totalAnimations++}destroy(l,i){l&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{const u=this._fetchNamespace(l);this.namespacesByHostElement.delete(u.hostElement);const f=this._namespaceList.indexOf(u);f>=0&&this._namespaceList.splice(f,1),u.destroy(i),delete this._namespaceLookup[l]}))}_fetchNamespace(l){return this._namespaceLookup[l]}fetchNamespacesByElement(l){const i=new Set,u=this.statesByElement.get(l);if(u)for(let f of u.values())if(f.namespaceId){const w=this._fetchNamespace(f.namespaceId);w&&i.add(w)}return i}trigger(l,i,u,f){if(Vl(i)){const w=this._fetchNamespace(l);if(w)return w.trigger(i,u,f),!0}return!1}insertNode(l,i,u,f){if(!Vl(i))return;const w=i[Li];if(w&&w.setForRemoval){w.setForRemoval=!1,w.setForMove=!0;const W=this.collectedLeaveElements.indexOf(i);W>=0&&this.collectedLeaveElements.splice(W,1)}if(l){const W=this._fetchNamespace(l);W&&W.insertNode(i,u)}f&&this.collectEnterElement(i)}collectEnterElement(l){this.collectedEnterElements.push(l)}markElementAsDisabled(l,i){i?this.disabledNodes.has(l)||(this.disabledNodes.add(l),Wi(l,ad)):this.disabledNodes.has(l)&&(this.disabledNodes.delete(l),za(l,ad))}removeNode(l,i,u){if(Vl(i)){const f=l?this._fetchNamespace(l):null;f?f.removeNode(i,u):this.markElementAsRemoved(l,i,!1,u);const w=this.namespacesByHostElement.get(i);w&&w.id!==l&&w.removeNode(i,u)}else this._onRemovalComplete(i,u)}markElementAsRemoved(l,i,u,f,w){this.collectedLeaveElements.push(i),i[Li]={namespaceId:l,setForRemoval:f,hasAnimation:u,removedBeforeQueried:!1,previousTriggersValues:w}}listen(l,i,u,f,w){return Vl(i)?this._fetchNamespace(l).listen(i,u,f,w):()=>{}}_buildInstruction(l,i,u,f,w){return l.transition.build(this.driver,l.element,l.fromState.value,l.toState.value,u,f,l.fromState.options,l.toState.options,i,w)}destroyInnerAnimations(l){let i=this.driver.query(l,ls,!0);i.forEach(u=>this.destroyActiveAnimationsForElement(u)),0!=this.playersByQueriedElement.size&&(i=this.driver.query(l,wc,!0),i.forEach(u=>this.finishActiveQueriedAnimationOnElement(u)))}destroyActiveAnimationsForElement(l){const i=this.playersByElement.get(l);i&&i.forEach(u=>{u.queued?u.markedForDestroy=!0:u.destroy()})}finishActiveQueriedAnimationOnElement(l){const i=this.playersByQueriedElement.get(l);i&&i.forEach(u=>u.finish())}whenRenderingDone(){return new Promise(l=>{if(this.players.length)return Fs(this.players).onDone(()=>l());l()})}processLeaveNode(l){const i=l[Li];if(i&&i.setForRemoval){if(l[Li]=cd,i.namespaceId){this.destroyInnerAnimations(l);const u=this._fetchNamespace(i.namespaceId);u&&u.clearElementCache(l)}this._onRemovalComplete(l,i.setForRemoval)}l.classList?.contains(ad)&&this.markElementAsDisabled(l,!1),this.driver.query(l,".ng-animate-disabled",!0).forEach(u=>{this.markElementAsDisabled(u,!1)})}flush(l=-1){let i=[];if(this.newHostElements.size&&(this.newHostElements.forEach((u,f)=>this._balanceNamespaceList(u,f)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let u=0;uu()),this._flushFns=[],this._whenQuietFns.length){const u=this._whenQuietFns;this._whenQuietFns=[],i.length?Fs(i).onDone(()=>{u.forEach(f=>f())}):u.forEach(f=>f())}}reportError(l){throw function zu(a){return new o.vHH(3402,!1)}()}_flushAnimations(l,i){const u=new Ll,f=[],w=new Map,W=[],J=new Map,le=new Map,Ae=new Map,Qe=new Set;this.disabledNodes.forEach(fn=>{Qe.add(fn);const xn=this.driver.query(fn,".ng-animate-queued",!0);for(let Fn=0;Fn{const Fn=bc+tn++;Ht.set(xn,Fn),fn.forEach(yo=>Wi(yo,Fn))});const Xn=[],Do=new Set,to=new Set;for(let fn=0;fnDo.add(yo)):to.add(xn))}const Nn=new Map,Mo=Ul(Ot,Array.from(Do));Mo.forEach((fn,xn)=>{const Fn=Dc+tn++;Nn.set(xn,Fn),fn.forEach(yo=>Wi(yo,Fn))}),l.push(()=>{Lt.forEach((fn,xn)=>{const Fn=Ht.get(xn);fn.forEach(yo=>za(yo,Fn))}),Mo.forEach((fn,xn)=>{const Fn=Nn.get(xn);fn.forEach(yo=>za(yo,Fn))}),Xn.forEach(fn=>{this.processLeaveNode(fn)})});const oi=[],Eo=[];for(let fn=this._namespaceList.length-1;fn>=0;fn--)this._namespaceList[fn].drainQueuedTransitions(i).forEach(Fn=>{const yo=Fn.player,Rr=Fn.element;if(oi.push(yo),this.collectedEnterElements.length){const ii=Rr[Li];if(ii&&ii.setForMove){if(ii.previousTriggersValues&&ii.previousTriggersValues.has(Fn.triggerName)){const na=ii.previousTriggersValues.get(Fn.triggerName),Cr=this.statesByElement.get(Fn.element);if(Cr&&Cr.has(Fn.triggerName)){const Wa=Cr.get(Fn.triggerName);Wa.value=na,Cr.set(Fn.triggerName,Wa)}}return void yo.destroy()}}const hs=!ft||!this.driver.containsElement(ft,Rr),Bi=Nn.get(Rr),fs=Ht.get(Rr),hr=this._buildInstruction(Fn,u,fs,Bi,hs);if(hr.errors&&hr.errors.length)return void Eo.push(hr);if(hs)return yo.onStart(()=>$i(Rr,hr.fromStyles)),yo.onDestroy(()=>qi(Rr,hr.toStyles)),void f.push(yo);if(Fn.isFallbackTransition)return yo.onStart(()=>$i(Rr,hr.fromStyles)),yo.onDestroy(()=>qi(Rr,hr.toStyles)),void f.push(yo);const Sf=[];hr.timelines.forEach(ii=>{ii.stretchStartingKeyframe=!0,this.disabledNodes.has(ii.element)||Sf.push(ii)}),hr.timelines=Sf,u.append(Rr,hr.timelines),W.push({instruction:hr,player:yo,element:Rr}),hr.queriedElements.forEach(ii=>ki(J,ii,[]).push(yo)),hr.preStyleProps.forEach((ii,na)=>{if(ii.size){let Cr=le.get(na);Cr||le.set(na,Cr=new Set),ii.forEach((Wa,pd)=>Cr.add(pd))}}),hr.postStyleProps.forEach((ii,na)=>{let Cr=Ae.get(na);Cr||Ae.set(na,Cr=new Set),ii.forEach((Wa,pd)=>Cr.add(pd))})});if(Eo.length){const fn=[];Eo.forEach(xn=>{fn.push(function Js(a,l){return new o.vHH(3505,!1)}())}),oi.forEach(xn=>xn.destroy()),this.reportError(fn)}const Ho=new Map,Go=new Map;W.forEach(fn=>{const xn=fn.element;u.has(xn)&&(Go.set(xn,xn),this._beforeAnimationBuild(fn.player.namespaceId,fn.instruction,Ho))}),f.forEach(fn=>{const xn=fn.element;this._getPreviousPlayers(xn,!1,fn.namespaceId,fn.triggerName,null).forEach(yo=>{ki(Ho,xn,[]).push(yo),yo.destroy()})});const Vo=Xn.filter(fn=>hd(fn,le,Ae)),Hr=new Map;vf(Hr,this.driver,to,Ae,kt.l3).forEach(fn=>{hd(fn,le,Ae)&&Vo.push(fn)});const js=new Map;Lt.forEach((fn,xn)=>{vf(js,this.driver,new Set(fn),le,kt.k1)}),Vo.forEach(fn=>{const xn=Hr.get(fn),Fn=js.get(fn);Hr.set(fn,new Map([...xn?.entries()??[],...Fn?.entries()??[]]))});const ws=[],Ms=[],ts={};W.forEach(fn=>{const{element:xn,player:Fn,instruction:yo}=fn;if(u.has(xn)){if(Qe.has(xn))return Fn.onDestroy(()=>qi(xn,yo.toStyles)),Fn.disabled=!0,Fn.overrideTotalTime(yo.totalTime),void f.push(Fn);let Rr=ts;if(Go.size>1){let Bi=xn;const fs=[];for(;Bi=Bi.parentNode;){const hr=Go.get(Bi);if(hr){Rr=hr;break}fs.push(Bi)}fs.forEach(hr=>Go.set(hr,Rr))}const hs=this._buildAnimation(Fn.namespaceId,yo,Ho,w,js,Hr);if(Fn.setRealPlayer(hs),Rr===ts)ws.push(Fn);else{const Bi=this.playersByElement.get(Rr);Bi&&Bi.length&&(Fn.parentPlayer=Fs(Bi)),f.push(Fn)}}else $i(xn,yo.fromStyles),Fn.onDestroy(()=>qi(xn,yo.toStyles)),Ms.push(Fn),Qe.has(xn)&&f.push(Fn)}),Ms.forEach(fn=>{const xn=w.get(fn.element);if(xn&&xn.length){const Fn=Fs(xn);fn.setRealPlayer(Fn)}}),f.forEach(fn=>{fn.parentPlayer?fn.syncPlayerEvents(fn.parentPlayer):fn.destroy()});for(let fn=0;fn!hs.destroyed);Rr.length?ud(this,xn,Rr):this.processLeaveNode(xn)}return Xn.length=0,ws.forEach(fn=>{this.players.push(fn),fn.onDone(()=>{fn.destroy();const xn=this.players.indexOf(fn);this.players.splice(xn,1)}),fn.play()}),ws}afterFlush(l){this._flushFns.push(l)}afterFlushAnimationsDone(l){this._whenQuietFns.push(l)}_getPreviousPlayers(l,i,u,f,w){let W=[];if(i){const J=this.playersByQueriedElement.get(l);J&&(W=J)}else{const J=this.playersByElement.get(l);if(J){const le=!w||w==Ds;J.forEach(Ae=>{Ae.queued||!le&&Ae.triggerName!=f||W.push(Ae)})}}return(u||f)&&(W=W.filter(J=>!(u&&u!=J.namespaceId||f&&f!=J.triggerName))),W}_beforeAnimationBuild(l,i,u){const w=i.element,W=i.isRemovalTransition?void 0:l,J=i.isRemovalTransition?void 0:i.triggerName;for(const le of i.timelines){const Ae=le.element,Qe=Ae!==w,ft=ki(u,Ae,[]);this._getPreviousPlayers(Ae,Qe,W,J,i.toState).forEach(Lt=>{const Ht=Lt.getRealPlayer();Ht.beforeDestroy&&Ht.beforeDestroy(),Lt.destroy(),ft.push(Lt)})}$i(w,i.fromStyles)}_buildAnimation(l,i,u,f,w,W){const J=i.triggerName,le=i.element,Ae=[],Qe=new Set,ft=new Set,Ot=i.timelines.map(Ht=>{const tn=Ht.element;Qe.add(tn);const Xn=tn[Li];if(Xn&&Xn.removedBeforeQueried)return new kt.ZN(Ht.duration,Ht.delay);const Do=tn!==le,to=function yf(a){const l=[];return dd(a,l),l}((u.get(tn)||es).map(Ho=>Ho.getRealPlayer())).filter(Ho=>!!Ho.element&&Ho.element===tn),Nn=w.get(tn),Mo=W.get(tn),oi=Tl(this._normalizer,Ht.keyframes,Nn,Mo),Eo=this._buildPlayer(Ht,oi,to);if(Ht.subTimeline&&f&&ft.add(tn),Do){const Ho=new Rc(l,J,tn);Ho.setRealPlayer(Eo),Ae.push(Ho)}return Eo});Ae.forEach(Ht=>{ki(this.playersByQueriedElement,Ht.element,[]).push(Ht),Ht.onDone(()=>function ds(a,l,i){let u=a.get(l);if(u){if(u.length){const f=u.indexOf(i);u.splice(f,1)}0==u.length&&a.delete(l)}return u}(this.playersByQueriedElement,Ht.element,Ht))}),Qe.forEach(Ht=>Wi(Ht,Xh));const Lt=Fs(Ot);return Lt.onDestroy(()=>{Qe.forEach(Ht=>za(Ht,Xh)),qi(le,i.toStyles)}),ft.forEach(Ht=>{ki(f,Ht,[]).push(Lt)}),Lt}_buildPlayer(l,i,u){return i.length>0?this.driver.animate(l.element,i,l.duration,l.delay,l.easing,u):new kt.ZN(l.duration,l.delay)}}class Rc{constructor(l,i,u){this.namespaceId=l,this.triggerName=i,this.element=u,this._player=new kt.ZN,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(l){this._containsRealPlayer||(this._player=l,this._queuedCallbacks.forEach((i,u)=>{i.forEach(f=>xl(l,u,void 0,f))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(l.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(l){this.totalTime=l}syncPlayerEvents(l){const i=this._player;i.triggerCallback&&l.onStart(()=>i.triggerCallback("start")),l.onDone(()=>this.finish()),l.onDestroy(()=>this.destroy())}_queueEvent(l,i){ki(this._queuedCallbacks,l,[]).push(i)}onDone(l){this.queued&&this._queueEvent("done",l),this._player.onDone(l)}onStart(l){this.queued&&this._queueEvent("start",l),this._player.onStart(l)}onDestroy(l){this.queued&&this._queueEvent("destroy",l),this._player.onDestroy(l)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(l){this.queued||this._player.setPosition(l)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(l){const i=this._player;i.triggerCallback&&i.triggerCallback(l)}}function Vl(a){return a&&1===a.nodeType}function Nr(a,l){const i=a.style.display;return a.style.display=l??"none",i}function vf(a,l,i,u,f){const w=[];i.forEach(le=>w.push(Nr(le)));const W=[];u.forEach((le,Ae)=>{const Qe=new Map;le.forEach(ft=>{const Ot=l.computeStyle(Ae,ft,f);Qe.set(ft,Ot),(!Ot||0==Ot.length)&&(Ae[Li]=P0,W.push(Ae))}),a.set(Ae,Qe)});let J=0;return i.forEach(le=>Nr(le,w[J++])),W}function Ul(a,l){const i=new Map;if(a.forEach(J=>i.set(J,[])),0==l.length)return i;const f=new Set(l),w=new Map;function W(J){if(!J)return 1;let le=w.get(J);if(le)return le;const Ae=J.parentNode;return le=i.has(Ae)?Ae:f.has(Ae)?1:W(Ae),w.set(J,le),le}return l.forEach(J=>{const le=W(J);1!==le&&i.get(le).push(J)}),i}function Wi(a,l){a.classList?.add(l)}function za(a,l){a.classList?.remove(l)}function ud(a,l,i){Fs(i).onDone(()=>a.processLeaveNode(l))}function dd(a,l){for(let i=0;if.add(w)):l.set(a,u),i.delete(a),!0}class kc{constructor(l,i,u){this.bodyNode=l,this._driver=i,this._normalizer=u,this._triggerCache={},this.onRemovalComplete=(f,w)=>{},this._transitionEngine=new n1(l,i,u),this._timelineEngine=new qp(l,i,u),this._transitionEngine.onRemovalComplete=(f,w)=>this.onRemovalComplete(f,w)}registerTrigger(l,i,u,f,w){const W=l+"-"+f;let J=this._triggerCache[W];if(!J){const le=[],Qe=Pc(this._driver,w,le,[]);if(le.length)throw function C0(a,l){return new o.vHH(3404,!1)}();J=function Hl(a,l,i){return new hf(a,l,i)}(f,Qe,this._normalizer),this._triggerCache[W]=J}this._transitionEngine.registerTrigger(i,f,J)}register(l,i){this._transitionEngine.register(l,i)}destroy(l,i){this._transitionEngine.destroy(l,i)}onInsert(l,i,u,f){this._transitionEngine.insertNode(l,i,u,f)}onRemove(l,i,u){this._transitionEngine.removeNode(l,i,u)}disableAnimations(l,i){this._transitionEngine.markElementAsDisabled(l,i)}process(l,i,u,f){if("@"==u.charAt(0)){const[w,W]=Gh(u);this._timelineEngine.command(w,i,W,f)}else this._transitionEngine.trigger(l,i,u,f)}listen(l,i,u,f,w){if("@"==u.charAt(0)){const[W,J]=Gh(u);return this._timelineEngine.listen(W,i,J,w)}return this._transitionEngine.listen(l,i,u,f,w)}flush(l=-1){this._transitionEngine.flush(l)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(l){this._transitionEngine.afterFlushAnimationsDone(l)}}let s1=(()=>{class a{static#e=this.initialStylesByElement=new WeakMap;constructor(i,u,f){this._element=i,this._startStyles=u,this._endStyles=f,this._state=0;let w=a.initialStylesByElement.get(i);w||a.initialStylesByElement.set(i,w=new Map),this._initialStyles=w}start(){this._state<1&&(this._startStyles&&qi(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(qi(this._element,this._initialStyles),this._endStyles&&(qi(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(a.initialStylesByElement.delete(this._element),this._startStyles&&($i(this._element,this._startStyles),this._endStyles=null),this._endStyles&&($i(this._element,this._endStyles),this._endStyles=null),qi(this._element,this._initialStyles),this._state=3)}}return a})();function zl(a){let l=null;return a.forEach((i,u)=>{(function Cf(a){return"display"===a||"position"===a})(u)&&(l=l||new Map,l.set(u,i))}),l}class ta{constructor(l,i,u,f){this.element=l,this.keyframes=i,this.options=u,this._specialStyles=f,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=u.duration,this._delay=u.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(l=>l()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const l=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,l,this.options),this._finalKeyframe=l.length?l[l.length-1]:new Map;const i=()=>this._onFinish();this.domPlayer.addEventListener("finish",i),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",i)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(l){const i=[];return l.forEach(u=>{i.push(Object.fromEntries(u))}),i}_triggerWebAnimation(l,i,u){return l.animate(this._convertKeyframesToObject(i),u)}onStart(l){this._originalOnStartFns.push(l),this._onStartFns.push(l)}onDone(l){this._originalOnDoneFns.push(l),this._onDoneFns.push(l)}onDestroy(l){this._onDestroyFns.push(l)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(l=>l()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(l=>l()),this._onDestroyFns=[])}setPosition(l){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=l*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const l=new Map;this.hasStarted()&&this._finalKeyframe.forEach((u,f)=>{"offset"!==f&&l.set(f,this._finished?u:Up(this.element,f))}),this.currentSnapshot=l}triggerCallback(l){const i="start"===l?this._onStartFns:this._onDoneFns;i.forEach(u=>u()),i.length=0}}class Es{validateStyleProperty(l){return!0}validateAnimatableStyleProperty(l){return!0}matchesElement(l,i){return!1}containsElement(l,i){return Pl(l,i)}getParentElement(l){return Zh(l)}query(l,i,u){return Qh(l,i,u)}computeStyle(l,i,u){return window.getComputedStyle(l)[i]}animate(l,i,u,f,w,W=[]){const le={duration:u,delay:f,fill:0==f?"both":"forwards"};w&&(le.easing=w);const Ae=new Map,Qe=W.filter(Lt=>Lt instanceof ta);(function Hp(a,l){return 0===a||0===l})(u,f)&&Qe.forEach(Lt=>{Lt.currentSnapshot.forEach((Ht,tn)=>Ae.set(tn,Ht))});let ft=function Ku(a){return a.length?a[0]instanceof Map?a:a.map(l=>qs(l)):[]}(i).map(Lt=>Ls(Lt));ft=function Vp(a,l,i){if(i.size&&l.length){let u=l[0],f=[];if(i.forEach((w,W)=>{u.has(W)||f.push(W),u.set(W,w)}),f.length)for(let w=1;wW.set(J,Up(a,J)))}}return l}(l,ft,Ae);const Ot=function r1(a,l){let i=null,u=null;return Array.isArray(l)&&l.length?(i=zl(l[0]),l.length>1&&(u=zl(l[l.length-1]))):l instanceof Map&&(i=zl(l)),i||u?new s1(a,i,u):null}(l,ft);return new ta(l,ft,le,Ot)}}let $a=(()=>{class a extends kt._j{constructor(i,u){super(),this._nextAnimationId=0,this._renderer=i.createRenderer(u.body,{id:"0",encapsulation:o.ifc.None,styles:[],data:{animation:[]}})}build(i){const u=this._nextAnimationId.toString();this._nextAnimationId++;const f=Array.isArray(i)?(0,kt.vP)(i):i;return fd(this._renderer,null,u,"register",[f]),new a1(u,this._renderer)}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(o.FYo),o.LFG(p.K0))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac})}return a})();class a1 extends kt.LC{constructor(l,i){super(),this._id=l,this._renderer=i}create(l,i){return new c1(this._id,l,i||{},this._renderer)}}class c1{constructor(l,i,u,f){this.id=l,this.element=i,this._renderer=f,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",u)}_listen(l,i){return this._renderer.listen(this.element,`@@${this.id}:${l}`,i)}_command(l,...i){return fd(this._renderer,this.element,this.id,l,i)}onDone(l){this._listen("done",l)}onStart(l){this._listen("start",l)}onDestroy(l){this._listen("destroy",l)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(l){this._command("setPosition",l)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function fd(a,l,i,u,f){return a.setProperty(l,`@@${i}:${u}`,f)}const $l="@.disabled";let Lc=(()=>{class a{constructor(i,u,f){this.delegate=i,this.engine=u,this._zone=f,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,u.onRemovalComplete=(w,W)=>{const J=W?.parentNode(w);J&&W.removeChild(J,w)}}createRenderer(i,u){const w=this.delegate.createRenderer(i,u);if(!(i&&u&&u.data&&u.data.animation)){let Qe=this._rendererCache.get(w);return Qe||(Qe=new Bc("",w,this.engine,()=>this._rendererCache.delete(w)),this._rendererCache.set(w,Qe)),Qe}const W=u.id,J=u.id+"-"+this._currentId;this._currentId++,this.engine.register(J,i);const le=Qe=>{Array.isArray(Qe)?Qe.forEach(le):this.engine.registerTrigger(W,J,i,Qe.name,Qe)};return u.data.animation.forEach(le),new bf(this,J,w,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(i,u,f){i>=0&&iu(f)):(0==this._animationCallbacksBuffer.length&&queueMicrotask(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(w=>{const[W,J]=w;W(J)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([u,f]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(o.FYo),o.LFG(kc),o.LFG(o.R0b))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac})}return a})();class Bc{constructor(l,i,u,f){this.namespaceId=l,this.delegate=i,this.engine=u,this._onDestroy=f}get data(){return this.delegate.data}destroyNode(l){this.delegate.destroyNode?.(l)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(l,i){return this.delegate.createElement(l,i)}createComment(l){return this.delegate.createComment(l)}createText(l){return this.delegate.createText(l)}appendChild(l,i){this.delegate.appendChild(l,i),this.engine.onInsert(this.namespaceId,i,l,!1)}insertBefore(l,i,u,f=!0){this.delegate.insertBefore(l,i,u),this.engine.onInsert(this.namespaceId,i,l,f)}removeChild(l,i,u){this.engine.onRemove(this.namespaceId,i,this.delegate)}selectRootElement(l,i){return this.delegate.selectRootElement(l,i)}parentNode(l){return this.delegate.parentNode(l)}nextSibling(l){return this.delegate.nextSibling(l)}setAttribute(l,i,u,f){this.delegate.setAttribute(l,i,u,f)}removeAttribute(l,i,u){this.delegate.removeAttribute(l,i,u)}addClass(l,i){this.delegate.addClass(l,i)}removeClass(l,i){this.delegate.removeClass(l,i)}setStyle(l,i,u,f){this.delegate.setStyle(l,i,u,f)}removeStyle(l,i,u){this.delegate.removeStyle(l,i,u)}setProperty(l,i,u){"@"==i.charAt(0)&&i==$l?this.disableAnimations(l,!!u):this.delegate.setProperty(l,i,u)}setValue(l,i){this.delegate.setValue(l,i)}listen(l,i,u){return this.delegate.listen(l,i,u)}disableAnimations(l,i){this.engine.disableAnimations(l,i)}}class bf extends Bc{constructor(l,i,u,f,w){super(i,u,f,w),this.factory=l,this.namespaceId=i}setProperty(l,i,u){"@"==i.charAt(0)?"."==i.charAt(1)&&i==$l?this.disableAnimations(l,u=void 0===u||!!u):this.engine.process(this.namespaceId,l,i.slice(1),u):this.delegate.setProperty(l,i,u)}listen(l,i,u){if("@"==i.charAt(0)){const f=function Df(a){switch(a){case"body":return document.body;case"document":return document;case"window":return window;default:return a}}(l);let w=i.slice(1),W="";return"@"!=w.charAt(0)&&([w,W]=function l1(a){const l=a.indexOf(".");return[a.substring(0,l),a.slice(l+1)]}(w)),this.engine.listen(this.namespaceId,f,w,W,J=>{this.factory.scheduleListenerCallback(J._data||-1,u,J)})}return this.delegate.listen(l,i,u)}}const gd=[{provide:kt._j,useClass:$a},{provide:Bs,useFactory:function d1(){return new lf}},{provide:kc,useClass:(()=>{class a extends kc{constructor(i,u,f,w){super(i.body,u,f)}ngOnDestroy(){this.flush()}static#e=this.\u0275fac=function(u){return new(u||a)(o.LFG(p.K0),o.LFG(Fa),o.LFG(Bs),o.LFG(o.z2F))};static#t=this.\u0275prov=o.Yz7({token:a,factory:a.\u0275fac})}return a})()},{provide:o.FYo,useFactory:function h1(a,l,i){return new Lc(a,l,i)},deps:[s.se,kc,o.R0b]}],I0=[{provide:Fa,useFactory:()=>new Es},{provide:o.QbO,useValue:"BrowserAnimations"},...gd];function N0(){return[...I0]}const R0=[];let Wl=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275mod=o.oAB({type:a});static#n=this.\u0275inj=o.cJS({imports:[nr.Bz.forRoot(R0),nr.Bz]})}return a})();const Ef=()=>(0,kt.X$)("routingAnimation",[(0,kt.eR)("* <=> *",[(0,kt.oB)({position:"relative"}),(0,kt.IO)(":enter, :leave",[(0,kt.oB)({position:"absolute",top:0,left:0,width:"100%"})],{optional:!0}),(0,kt.IO)(":enter",[(0,kt.oB)({opacity:0})],{optional:!0}),(0,kt.IO)(":leave",(0,kt.pV)(),{optional:!0}),(0,kt.ru)([(0,kt.IO)(":leave",[(0,kt.jt)("200ms ease-out",(0,kt.oB)({opacity:0}))],{optional:!0}),(0,kt.IO)(":enter",[(0,kt.jt)("300ms ease-out",(0,kt.oB)({opacity:1}))],{optional:!0}),(0,kt.IO)("@*",(0,kt.pV)(),{optional:!0})])])]);function wf(a,l){1&a&&(o.TgZ(0,"div",3)(1,"a",4),o._UZ(2,"img",5),o.qZA(),o.TgZ(3,"h3",6),o._uU(4,"ngx-vflow"),o.qZA()())}function m1(a,l){1&a&&(o.TgZ(0,"div",7)(1,"a",8),o._UZ(2,"ng-doc-icon",9),o.qZA()()),2&a&&(o.xp6(2),o.Q6J("size",24))}let Mf=(()=>{class a{constructor(){this.contexts=(0,o.f3M)(nr.y6),this.themeService=(0,o.f3M)(Pe),this.themeService.set("vflow-theme-dark")}getRouteAnimationData(){return this.contexts.getContext("primary")?.route?.snapshot?.title}static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275cmp=o.Xpm({type:a,selectors:[["app-root"]],decls:9,vars:3,consts:[[3,"leftContent","rightContent"],["leftContent",""],["rightContent",""],[1,"logo-container"],["href","https://github.com/artem-mangilev/ngx-vflow"],["src","../assets/logo.svg",1,"logo-icon"],[1,"logo-text"],[1,"ng-doc-header-controls"],["href","https://github.com/artem-mangilev/ngx-vflow","ng-doc-button-icon","","ngDocTooltip","Repository on GitHub","size","large","target","_blank"],["customIcon","github",3,"size"]],template:function(u,f){if(1&u&&(o.TgZ(0,"ng-doc-root")(1,"ng-doc-navbar",0),o.YNc(2,wf,5,0,"ng-template",null,1,o.W1O),o.YNc(4,m1,3,1,"ng-template",null,2,o.W1O),o.qZA(),o._UZ(6,"ng-doc-sidebar"),o.TgZ(7,"div"),o._UZ(8,"router-outlet"),o.qZA()()),2&u){const w=o.MAs(3),W=o.MAs(5);o.xp6(1),o.Q6J("leftContent",w)("rightContent",W),o.xp6(6),o.Q6J("@routingAnimation",f.getRouteAnimationData())}},dependencies:[nr.lC,gl,Lu,El,Or.q,Ii.J,qt.A],styles:[".logo-container[_ngcontent-%COMP%]{display:flex;align-items:center}.logo-icon[_ngcontent-%COMP%]{width:40px;height:40px;border-radius:5px;border:2px solid #3282b8;margin-top:4px}.logo-text[_ngcontent-%COMP%]{margin-left:7px}"],data:{animation:[Ef()]},changeDetection:0})}return a})();var Of=d(2898);let Zn=(()=>{class a{static#e=this.\u0275fac=function(u){return new(u||a)};static#t=this.\u0275mod=o.oAB({type:a,bootstrap:[Mf]});static#n=this.\u0275inj=o.cJS({providers:[ht({themes:[{id:"vflow-theme-dark",path:"assets/themes/vflow-theme-dark.css"}]}),bp(),zt(Gc),Rd(x),(0,C.XB)(d0),N0(),(0,dt.h_)(),(0,nr.bU)([...Dp,{path:"**",redirectTo:"getting-started/what-is-ngx-vflow",pathMatch:"full"}],(0,nr.ZU)({scrollPositionRestoration:"enabled",anchorScrolling:"enabled"}))],imports:[s.b2,Wl,Of.p,gl,Lu,El,Cp,Or.q,Ii.J]})}return a})();s.q6().bootstrapModule(Zn).catch(a=>console.error(a))},494:(ve,m,d)=>{"use strict";d.d(m,{S:()=>F});var s=d(5879),p=d(2189),o=d(4356),k=d(6814);const T=["background",""];function N(H,V){if(1&H&&(s.ynx(0),s.O4$(),s.TgZ(1,"pattern",1),s._UZ(2,"circle"),s.qZA(),s._UZ(3,"rect",2),s.BQk()),2&H){const $=s.oxw();s.xp6(1),s.uIk("id",$.patternId)("x",$.x())("y",$.y())("width",$.scaledGap())("height",$.scaledGap()),s.xp6(1),s.uIk("cx",$.patternSize())("cy",$.patternSize())("r",$.patternSize())("fill",$.patternColor()),s.xp6(1),s.uIk("fill",$.patternUrl)}}const M="#fff";let F=(()=>{class H{set background($){this.backgroundSignal.set($)}constructor(){this.viewportService=(0,s.f3M)(p.v),this.rootSvg=(0,s.f3M)(o.$).element,this.backgroundSignal=(0,s.tdS)({type:"solid",color:M}),this.scaledGap=(0,s.Flj)(()=>{const $=this.backgroundSignal();return"dots"===$.type?this.viewportService.readableViewport().zoom*($.gap??20):0}),this.x=(0,s.Flj)(()=>this.viewportService.readableViewport().x%this.scaledGap()),this.y=(0,s.Flj)(()=>this.viewportService.readableViewport().y%this.scaledGap()),this.patternColor=(0,s.Flj)(()=>this.backgroundSignal().color??"rgb(177, 177, 183)"),this.patternSize=(0,s.Flj)(()=>{const $=this.backgroundSignal();return"dots"===$.type?this.viewportService.readableViewport().zoom*($.size??2)/2:0}),this.patternId=function I(){return String.fromCharCode(65+Math.floor(26*Math.random()))+Date.now()}(),this.patternUrl=`url(#${this.patternId})`,(0,s.cEC)(()=>{const $=this.backgroundSignal();"dots"===$.type&&(this.rootSvg.style.backgroundColor=$.backgroundColor??M),"solid"===$.type&&(this.rootSvg.style.backgroundColor=$.color)})}static#e=this.\u0275fac=function(Y){return new(Y||H)};static#t=this.\u0275cmp=s.Xpm({type:H,selectors:[["g","background",""]],inputs:{background:["background","background",L]},features:[s.Xq5],attrs:T,decls:1,vars:1,consts:[[4,"ngIf"],["patternUnits","userSpaceOnUse"],["x","0","y","0","width","100%","height","100%"]],template:function(Y,ae){1&Y&&s.YNc(0,N,4,10,"ng-container",0),2&Y&&s.Q6J("ngIf","dots"===ae.backgroundSignal().type)},dependencies:[k.O5],encapsulation:2,changeDetection:0})}return H})();function L(H){return"string"==typeof H?{type:"solid",color:H}:H}},5085:(ve,m,d)=>{"use strict";d.d(m,{d:()=>L});var s=d(5879),p=d(1981),o=d(2034),I=d(3767),k=d(6094),T=d(2925),N=d(6814);const M=["connection",""];function S(V,$){if(1&V&&(s.O4$(),s._UZ(0,"path",2)),2&V){const Y=$.ngIf,ae=s.oxw(2);s.uIk("d",Y)("marker-end",ae.markerUrl())("stroke",ae.defaultColor)}}function C(V,$){if(1&V&&(s.ynx(0),s.YNc(1,S,1,3,"path",1),s.BQk()),2&V){const Y=s.oxw();s.xp6(1),s.Q6J("ngIf",Y.path())}}function _(V,$){1&V&&s.GkF(0)}function F(V,$){if(1&V&&(s.ynx(0),s.YNc(1,_,1,0,"ng-container",3),s.BQk()),2&V){const Y=s.oxw();s.xp6(1),s.Q6J("ngTemplateOutlet",Y.template)("ngTemplateOutletContext",Y.getContext())}}let L=(()=>{class V{constructor(){this.flowStatusService=(0,s.f3M)(p.Q),this.spacePointContext=(0,s.f3M)(I.G),this.path=(0,s.Flj)(()=>{const Y=this.flowStatusService.status();if("connection-start"===Y.state){const ae=Y.payload.sourceHandle,se=ae.pointAbsolute(),re=ae.rawHandle.position,G=this.spacePointContext.svgCurrentSpacePoint(),Z=H(ae.rawHandle.position);switch(this.model.curve){case"straight":return(0,o.V)(se,G).path;case"bezier":return(0,k.x)(se,G,re,Z).path}}if("connection-validation"===Y.state){const ae=Y.payload.sourceHandle,se=ae.pointAbsolute(),re=ae.rawHandle.position,G=Y.payload.targetHandle,Z=Y.payload.valid?G.pointAbsolute():this.spacePointContext.svgCurrentSpacePoint(),X=Y.payload.valid?G.rawHandle.position:H(ae.rawHandle.position);switch(this.model.curve){case"straight":return(0,o.V)(se,Z).path;case"bezier":return(0,k.x)(se,Z,re,X).path}}return null}),this.markerUrl=(0,s.Flj)(()=>{const Y=this.model.settings.marker;return Y?`url(#${(0,T.u)(JSON.stringify(Y))})`:""}),this.defaultColor="rgb(177, 177, 183)"}getContext(){return{$implicit:{path:this.path,marker:this.markerUrl}}}static#e=this.\u0275fac=function(ae){return new(ae||V)};static#t=this.\u0275cmp=s.Xpm({type:V,selectors:[["g","connection",""]],inputs:{model:"model",template:"template"},attrs:M,decls:2,vars:2,consts:[[4,"ngIf"],["fill","none","stroke-width","2",4,"ngIf"],["fill","none","stroke-width","2"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ae,se){1&ae&&(s.YNc(0,C,2,1,"ng-container",0),s.YNc(1,F,2,2,"ng-container",0)),2&ae&&(s.Q6J("ngIf","default"===se.model.type),s.xp6(1),s.Q6J("ngIf","template"===se.model.type&&se.template))},dependencies:[N.O5,N.tP],encapsulation:2,changeDetection:0})}return V})();function H(V){switch(V){case"top":return"bottom";case"bottom":return"top";case"left":return"right";case"right":return"left"}}},2521:(ve,m,d)=>{"use strict";d.d(m,{O:()=>T});var s=d(5879),p=d(3019),o=d(9397),I=d(1993),k=d(5091);let T=(()=>{class N{constructor(){this.eventBus=(0,s.f3M)(k.d),this.destroyRef=(0,s.f3M)(s.ktI),this.selected=(0,s.tdS)(!1),this.data=(0,s.tdS)(void 0)}set _selected(S){this.selected.set(S)}ngOnInit(){this.trackEvents().pipe((0,I.sL)(this.destroyRef)).subscribe()}trackEvents(){const S=Object.getOwnPropertyNames(this),C=new Map;for(const _ of S){const F=this[_];F instanceof s.vpe&&C.set(F,_)}return(0,p.T)(...Array.from(C.keys()).map(_=>_.pipe((0,o.b)(F=>{this.eventBus.pushEvent({nodeId:this.node.id,eventName:C.get(_),eventPayload:F})}))))}static#e=this.\u0275fac=function(C){return new(C||N)};static#t=this.\u0275dir=s.lG2({type:N,inputs:{_selected:"_selected"}})}return N})()},5036:(ve,m,d)=>{"use strict";d.d(m,{N:()=>N});var s=d(5879),p=d(6814);const o=["flowDefs",""];function I(M,S){if(1&M&&(s.O4$(),s._UZ(0,"polyline",4)),2&M){const C=s.oxw().$implicit,_=s.oxw();let F,L,H;s.Udp("stroke",null!==(F=C.value.color)&&void 0!==F?F:_.defaultColor)("stroke-width",null!==(L=C.value.strokeWidth)&&void 0!==L?L:2)("fill",null!==(H=C.value.color)&&void 0!==H?H:_.defaultColor)}}function k(M,S){if(1&M&&(s.O4$(),s._UZ(0,"polyline",5)),2&M){const C=s.oxw().$implicit,_=s.oxw();let F,L;s.Udp("stroke",null!==(F=C.value.color)&&void 0!==F?F:_.defaultColor)("stroke-width",null!==(L=C.value.strokeWidth)&&void 0!==L?L:2)}}function T(M,S){if(1&M&&(s.O4$(),s.TgZ(0,"marker",1),s.YNc(1,I,1,6,"polyline",2),s.YNc(2,k,1,4,"polyline",3),s.qZA()),2&M){const C=S.$implicit;let _,F,L,H;s.uIk("id",C.key)("markerWidth",null!==(_=C.value.width)&&void 0!==_?_:16.5)("markerHeight",null!==(F=C.value.height)&&void 0!==F?F:16.5)("orient",null!==(L=C.value.orient)&&void 0!==L?L:"auto-start-reverse")("markerUnits",null!==(H=C.value.markerUnits)&&void 0!==H?H:"userSpaceOnUse"),s.xp6(1),s.Q6J("ngIf","arrow-closed"===C.value.type||!C.value.type),s.xp6(1),s.Q6J("ngIf","arrow"===C.value.type)}}let N=(()=>{class M{constructor(){this.markers=new Map,this.defaultColor="rgb(177, 177, 183)"}static#e=this.\u0275fac=function(_){return new(_||M)};static#t=this.\u0275cmp=s.Xpm({type:M,selectors:[["defs","flowDefs",""]],inputs:{markers:"markers"},attrs:o,decls:2,vars:3,consts:[["viewBox","-10 -10 20 20","refX","0","refY","0",4,"ngFor","ngForOf"],["viewBox","-10 -10 20 20","refX","0","refY","0"],["class","marker__arrow_closed","points","-5,-4 1,0 -5,4 -5,-4",3,"stroke","stroke-width","fill",4,"ngIf"],["class","marker__arrow_default","points","-5,-4 0,0 -5,4",3,"stroke","stroke-width",4,"ngIf"],["points","-5,-4 1,0 -5,4 -5,-4",1,"marker__arrow_closed"],["points","-5,-4 0,0 -5,4",1,"marker__arrow_default"]],template:function(_,F){1&_&&(s.YNc(0,T,3,7,"marker",0),s.ALo(1,"keyvalue")),2&_&&s.Q6J("ngForOf",s.lcZ(1,1,F.markers))},dependencies:[p.sg,p.O5,p.Nd],styles:[".marker__arrow_default[_ngcontent-%COMP%]{stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;fill:none}.marker__arrow_closed[_ngcontent-%COMP%]{stroke-linecap:round;stroke-linejoin:round}"],changeDetection:0})}return M})()},9461:(ve,m,d)=>{"use strict";d.d(m,{e:()=>S});var s=d(7582),p=d(5879),o=d(2539),I=d(6814);const k=["edgeLabelWrapper"],T=["edgeLabel",""];function N(C,_){1&C&&p.GkF(0)}function M(C,_){if(1&C&&(p.O4$(),p.TgZ(0,"foreignObject"),p.kcU(),p.TgZ(1,"div",1,2),p.YNc(3,N,1,0,"ng-container",3),p.qZA()()),2&C){const F=p.oxw();p.uIk("x",F.edgeLabelPoint().x)("y",F.edgeLabelPoint().y)("width",F.model.size().width)("height",F.model.size().height),p.xp6(3),p.Q6J("ngTemplateOutlet",F.htmlTemplate)("ngTemplateOutletContext",F.getLabelContext())}}let S=(()=>{class C{constructor(){this.edgeLabelPoint=(0,p.Flj)(()=>{const F=this.pointSignal(),{width:L,height:H}=this.model.size();return{x:F.x-L/2,y:F.y-H/2}}),this.pointSignal=(0,p.tdS)({x:0,y:0})}set point(F){this.pointSignal.set(F)}ngAfterViewInit(){this.model.size.set({width:this.edgeLabelWrapperRef.nativeElement.clientWidth+2,height:this.edgeLabelWrapperRef.nativeElement.clientHeight+2})}getLabelContext(){return{$implicit:{edge:this.edgeModel.edge,label:this.model.edgeLabel}}}static#e=this.\u0275fac=function(L){return new(L||C)};static#t=this.\u0275cmp=p.Xpm({type:C,selectors:[["g","edgeLabel",""]],viewQuery:function(L,H){if(1&L&&p.Gf(k,5),2&L){let V;p.iGM(V=p.CRH())&&(H.edgeLabelWrapperRef=V.first)}},inputs:{model:"model",edgeModel:"edgeModel",point:"point",htmlTemplate:"htmlTemplate"},attrs:T,decls:1,vars:1,consts:[[4,"ngIf"],[1,"edge-label-wrapper"],["edgeLabelWrapper",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(L,H){1&L&&p.YNc(0,M,4,6,"foreignObject",0),2&L&&p.Q6J("ngIf","html-template"===H.model.edgeLabel.type&&H.htmlTemplate)},dependencies:[I.O5,I.tP],styles:[".edge-label-wrapper[_ngcontent-%COMP%]{width:max-content;margin-top:1px;margin-left:1px}"],changeDetection:0})}return(0,s.__decorate)([o.C],C.prototype,"ngAfterViewInit",null),C})()},994:(ve,m,d)=>{"use strict";d.d(m,{p:()=>L});var s=d(5879),p=d(2925),o=d(9516),I=d(5023),k=d(6814),T=d(9461);const N=["edge",""];function M(H,V){if(1&H){const $=s.EpF();s.O4$(),s.TgZ(0,"path",2),s.NdJ("mousedown",function(){s.CHM($);const ae=s.oxw();return s.KtG(ae.onEdgeMouseDown())}),s.qZA()}if(2&H){const $=s.oxw();s.ekj("edge_selected",$.model.selected()),s.uIk("d",$.model.path().path)("marker-start",$.markerStartUrl())("marker-end",$.markerEndUrl())}}function S(H,V){if(1&H&&(s.ynx(0),s.GkF(1,3),s.BQk()),2&H){const $=s.oxw();s.xp6(1),s.Q6J("ngTemplateOutlet",$.edgeTemplate)("ngTemplateOutletContext",$.edgeContext)("ngTemplateOutletInjector",$.injector)}}function C(H,V){if(1&H&&(s.ynx(0),s.O4$(),s._UZ(1,"g",4),s.BQk()),2&H){const $=V.ngIf,Y=s.oxw();s.xp6(1),s.Q6J("model",$)("point",Y.model.path().points.start)("edgeModel",Y.model)("htmlTemplate",Y.edgeLabelHtmlTemplate)}}function _(H,V){if(1&H&&(s.ynx(0),s.O4$(),s._UZ(1,"g",4),s.BQk()),2&H){const $=V.ngIf,Y=s.oxw();s.xp6(1),s.Q6J("model",$)("point",Y.model.path().points.center)("edgeModel",Y.model)("htmlTemplate",Y.edgeLabelHtmlTemplate)}}function F(H,V){if(1&H&&(s.ynx(0),s.O4$(),s._UZ(1,"g",4),s.BQk()),2&H){const $=V.ngIf,Y=s.oxw();s.xp6(1),s.Q6J("model",$)("point",Y.model.path().points.end)("edgeModel",Y.model)("htmlTemplate",Y.edgeLabelHtmlTemplate)}}let L=(()=>{class H{constructor(){this.injector=(0,s.f3M)(s.zs3),this.selectionService=(0,s.f3M)(o.z),this.flowSettingsService=(0,s.f3M)(I.g),this.markerStartUrl=(0,s.Flj)(()=>{const $=this.model.edge.markers?.start;return $?`url(#${(0,p.u)(JSON.stringify($))})`:""}),this.markerEndUrl=(0,s.Flj)(()=>{const $=this.model.edge.markers?.end;return $?`url(#${(0,p.u)(JSON.stringify($))})`:""})}ngOnInit(){this.edgeContext={$implicit:{edge:this.model.edge,path:(0,s.Flj)(()=>this.model.path().path),markerStart:this.markerStartUrl,markerEnd:this.markerEndUrl,selected:this.model.selected.asReadonly()}}}onEdgeMouseDown(){this.flowSettingsService.entitiesSelectable()&&this.selectionService.select(this.model)}static#e=this.\u0275fac=function(Y){return new(Y||H)};static#t=this.\u0275cmp=s.Xpm({type:H,selectors:[["g","edge",""]],hostAttrs:[1,"selectable"],inputs:{model:"model",edgeTemplate:"edgeTemplate",edgeLabelHtmlTemplate:"edgeLabelHtmlTemplate"},attrs:N,decls:5,vars:5,consts:[["class","edge",3,"edge_selected","mousedown",4,"ngIf"],[4,"ngIf"],[1,"edge",3,"mousedown"],[3,"ngTemplateOutlet","ngTemplateOutletContext","ngTemplateOutletInjector"],["edgeLabel","",3,"model","point","edgeModel","htmlTemplate"]],template:function(Y,ae){1&Y&&(s.YNc(0,M,1,5,"path",0),s.YNc(1,S,2,3,"ng-container",1),s.YNc(2,C,2,4,"ng-container",1),s.YNc(3,_,2,4,"ng-container",1),s.YNc(4,F,2,4,"ng-container",1)),2&Y&&(s.Q6J("ngIf","default"===ae.model.type),s.xp6(1),s.Q6J("ngIf","template"===ae.model.type&&ae.edgeTemplate),s.xp6(1),s.Q6J("ngIf",null==ae.model.edgeLabels?null:ae.model.edgeLabels.start),s.xp6(1),s.Q6J("ngIf",null==ae.model.edgeLabels?null:ae.model.edgeLabels.center),s.xp6(1),s.Q6J("ngIf",null==ae.model.edgeLabels?null:ae.model.edgeLabels.end))},dependencies:[k.O5,k.tP,T.e],styles:[".edge[_ngcontent-%COMP%]{fill:none;stroke-width:2;stroke:#b1b1b7}.edge_selected[_ngcontent-%COMP%]{stroke-width:2.5;stroke:#0f4c75}"],changeDetection:0})}return H})()},2274:(ve,m,d)=>{"use strict";d.d(m,{M:()=>S});var s=d(7582),p=d(5879),o=d(3986),I=d(8645),k=d(7398),T=d(1993);class N{constructor(_,F){this.rawHandle=_,this.parentNode=F,this.strokeWidth=2,this.size=(0,p.tdS)({width:10+2*this.strokeWidth,height:10+2*this.strokeWidth}),this.offset=(0,p.Flj)(()=>{switch(this.rawHandle.position){case"left":return{x:0,y:this.parentPosition().y+this.parentSize().height/2};case"right":return{x:this.parentNode.size().width,y:this.parentPosition().y+this.parentSize().height/2};case"top":return{x:this.parentPosition().x+this.parentSize().width/2,y:0};case"bottom":return{x:this.parentPosition().x+this.parentSize().width/2,y:this.parentNode.size().height}}}),this.sizeOffset=(0,p.Flj)(()=>{switch(this.rawHandle.position){case"left":return{x:-this.size().width/2,y:0};case"right":return{x:this.size().width/2,y:0};case"top":return{x:0,y:-this.size().height/2};case"bottom":return{x:0,y:this.size().height/2}}}),this.pointAbsolute=(0,p.Flj)(()=>({x:this.parentNode.point().x+this.offset().x+this.sizeOffset().x,y:this.parentNode.point().y+this.offset().y+this.sizeOffset().y})),this.state=(0,p.tdS)("idle"),this.updateParentSizeAndPosition$=new I.x,this.parentSize=(0,T.O4)(this.updateParentSizeAndPosition$.pipe((0,k.U)(()=>({width:this.parentReference.offsetWidth,height:this.parentReference.offsetHeight}))),{initialValue:{width:0,height:0}}),this.parentPosition=(0,T.O4)(this.updateParentSizeAndPosition$.pipe((0,k.U)(()=>({x:this.parentReference.offsetLeft,y:this.parentReference.offsetTop}))),{initialValue:{x:0,y:0}}),this.parentReference=this.rawHandle.parentReference,this.template=this.rawHandle.template,this.templateContext={$implicit:{point:this.offset,state:this.state}}}updateParent(){this.updateParentSizeAndPosition$.next()}}var M=d(8634);let S=(()=>{class C{constructor(){this.injector=(0,p.f3M)(p.zs3),this.handleService=(0,p.f3M)(o.n),this.element=(0,p.f3M)(p.SBq).nativeElement}ngOnInit(){this.model=new N({position:this.position,type:this.type,id:this.id,parentReference:this.element.parentElement,template:this.template},this.handleService.node()),this.handleService.createHandle(this.model),requestAnimationFrame(()=>this.model.updateParent())}ngOnDestroy(){this.handleService.destroyHandle(this.model)}static#e=this.\u0275fac=function(L){return new(L||C)};static#t=this.\u0275cmp=p.Xpm({type:C,selectors:[["handle"]],inputs:{position:"position",type:"type",id:"id",template:"template"},decls:0,vars:0,template:function(L,H){},encapsulation:2,changeDetection:0})}return(0,s.__decorate)([M.B],C.prototype,"ngOnInit",null),C})()},8567:(ve,m,d)=>{"use strict";d.d(m,{R:()=>ke});var s=d(7582),p=d(5879),o=d(9672),I=d(1981),k=d(3986),T=d(667),N=d(4664),M=d(7398),S=d(9397),C=d(7921),_=d(8634),F=d(2539),L=d(726),H=d(5023),V=d(9516),$=d(6823),Y=d(1993),ae=d(6814),se=d(2274),re=d(1848),G=d(637);const Z=["nodeContent"],X=["htmlWrapper"],te=["node",""];function fe(he,Ke){if(1&he){const Pe=p.EpF();p.O4$(),p.TgZ(0,"foreignObject",2,3),p.NdJ("mousedown",function(){p.CHM(Pe);const dt=p.oxw();return dt.pullNode(),p.KtG(dt.selectNode())}),p.kcU(),p.TgZ(2,"div",4,5),p._UZ(4,"div",6)(5,"handle",7)(6,"handle",8),p.qZA()()}if(2&he){const Pe=p.oxw();p.uIk("width",Pe.nodeModel.size().width)("height",Pe.nodeModel.size().height),p.xp6(2),p.Udp("width",Pe.styleWidth())("height",Pe.styleHeight())("max-width",Pe.styleWidth())("max-height",Pe.styleHeight()),p.ekj("default-node_selected",Pe.nodeModel.selected()),p.xp6(2),p.Q6J("outerHTML",Pe.nodeModel.text(),p.oJD),p.xp6(1),p.Q6J("position",Pe.nodeModel.sourcePosition()),p.xp6(1),p.Q6J("position",Pe.nodeModel.targetPosition())}}const Ee=function(he,Ke){return{node:he,selected:Ke}},xe=function(he){return{$implicit:he}};function Ie(he,Ke){if(1&he){const Pe=p.EpF();p.O4$(),p.TgZ(0,"foreignObject",2),p.NdJ("mousedown",function(){p.CHM(Pe);const dt=p.oxw();return p.KtG(dt.pullNode())}),p.kcU(),p.TgZ(1,"div",9,5),p.GkF(3,10),p.qZA()()}if(2&he){const Pe=p.oxw();p.uIk("width",Pe.nodeModel.size().width)("height",Pe.nodeModel.size().height),p.xp6(3),p.Q6J("ngTemplateOutlet",Pe.nodeHtmlTemplate)("ngTemplateOutletContext",p.VKq(8,xe,p.WLB(5,Ee,Pe.nodeModel.node,Pe.nodeModel.selected)))("ngTemplateOutletInjector",Pe.injector)}}function Le(he,Ke){if(1&he){const Pe=p.EpF();p.O4$(),p.TgZ(0,"foreignObject",2),p.NdJ("mousedown",function(){p.CHM(Pe);const dt=p.oxw();return p.KtG(dt.pullNode())}),p.kcU(),p.TgZ(1,"div",9,5),p.GkF(3,11),p.qZA()()}if(2&he){const Pe=p.oxw();p.uIk("width",Pe.nodeModel.size().width)("height",Pe.nodeModel.size().height),p.xp6(3),p.Q6J("ngComponentOutlet",Pe.nodeModel.node.type)("ngComponentOutletInputs",Pe.nodeModel.componentTypeInputs())("ngComponentOutletInjector",Pe.injector)}}function Ue(he,Ke){if(1&he){const Pe=p.EpF();p.O4$(),p.TgZ(0,"circle",15),p.NdJ("pointerStart",function(dt){p.CHM(Pe);const bt=p.oxw().$implicit,pt=p.oxw();return p.KtG(pt.startConnection(dt,bt))})("pointerEnd",function(){p.CHM(Pe);const dt=p.oxw().$implicit,bt=p.oxw();return p.KtG(bt.endConnection(dt))}),p.qZA()}if(2&he){const Pe=p.oxw().$implicit;p.uIk("cx",Pe.offset().x)("cy",Pe.offset().y)("stroke-width",Pe.strokeWidth)}}function Xe(he,Ke){1&he&&(p.O4$(),p.GkF(0))}function nt(he,Ke){if(1&he){const Pe=p.EpF();p.O4$(),p.TgZ(0,"g",16),p.NdJ("pointerStart",function(dt){p.CHM(Pe);const bt=p.oxw().$implicit,pt=p.oxw();return p.KtG(pt.startConnection(dt,bt))})("pointerEnd",function(){p.CHM(Pe);const dt=p.oxw().$implicit,bt=p.oxw();return p.KtG(bt.endConnection(dt))}),p.YNc(1,Xe,1,0,"ng-container",17),p.qZA()}if(2&he){const Pe=p.oxw().$implicit;p.Q6J("handleSizeController",Pe),p.xp6(1),p.Q6J("ngTemplateOutlet",Pe.template)("ngTemplateOutletContext",Pe.templateContext)}}function me(he,Ke){if(1&he){const Pe=p.EpF();p.O4$(),p.TgZ(0,"circle",18),p.NdJ("pointerEnd",function(){p.CHM(Pe);const dt=p.oxw().$implicit,bt=p.oxw();return bt.endConnection(dt),p.KtG(bt.resetValidateConnection(dt))})("pointerOver",function(){p.CHM(Pe);const dt=p.oxw().$implicit,bt=p.oxw();return p.KtG(bt.validateConnection(dt))})("pointerOut",function(){p.CHM(Pe);const dt=p.oxw().$implicit,bt=p.oxw();return p.KtG(bt.resetValidateConnection(dt))}),p.qZA()}if(2&he){const Pe=p.oxw().$implicit,st=p.oxw();p.uIk("r",st.nodeModel.magnetRadius)("cx",Pe.offset().x)("cy",Pe.offset().y)}}function Ne(he,Ke){if(1&he&&(p.ynx(0),p.YNc(1,Ue,1,3,"circle",12),p.YNc(2,nt,2,3,"g",13),p.YNc(3,me,1,3,"circle",14),p.BQk()),2&he){const Pe=Ke.$implicit,st=p.oxw();p.xp6(1),p.Q6J("ngIf",!Pe.template),p.xp6(1),p.Q6J("ngIf",Pe.template),p.xp6(1),p.Q6J("ngIf",st.showMagnet())}}let ke=(()=>{class he{constructor(){this.injector=(0,p.f3M)(p.zs3),this.handleService=(0,p.f3M)(k.n),this.draggableService=(0,p.f3M)(o.$),this.flowStatusService=(0,p.f3M)(I.Q),this.nodeRenderingService=(0,p.f3M)(L.W),this.flowSettingsService=(0,p.f3M)(H.g),this.selectionService=(0,p.f3M)(V.z),this.hostRef=(0,p.f3M)(p.SBq),this.connectionController=(0,p.f3M)($.j),this.showMagnet=(0,p.Flj)(()=>"connection-start"===this.flowStatusService.status().state||"connection-validation"===this.flowStatusService.status().state),this.styleWidth=(0,p.Flj)(()=>`${this.nodeModel.size().width}px`),this.styleHeight=(0,p.Flj)(()=>`${this.nodeModel.size().height}px`)}ngOnInit(){this.handleService.node.set(this.nodeModel),(0,p.cEC)(()=>{this.nodeModel.draggable()?this.draggableService.enable(this.hostRef.nativeElement,this.nodeModel):this.draggableService.disable(this.hostRef.nativeElement)}),this.nodeModel.handles$.pipe((0,N.w)(Pe=>(0,T.$)(Pe.map(st=>st.parentReference)).pipe((0,M.U)(()=>Pe))),(0,S.b)(Pe=>{Pe.forEach(st=>st.updateParent())}),(0,Y.sL)()).subscribe()}ngAfterViewInit(){this.nodeModel.linkDefaultNodeSizeWithModelSize(),("html-template"===this.nodeModel.node.type||this.nodeModel.isComponentType)&&(0,T.$)([this.htmlWrapperRef.nativeElement]).pipe((0,C.O)(null),(0,S.b)(()=>{this.nodeModel.size.set({width:this.htmlWrapperRef.nativeElement.clientWidth,height:this.htmlWrapperRef.nativeElement.clientHeight})}),(0,Y.sL)()).subscribe()}ngOnDestroy(){this.draggableService.destroy(this.hostRef.nativeElement)}startConnection(Pe,st){Pe.stopPropagation(),this.connectionController.startConnection(st)}validateConnection(Pe){this.connectionController.validateConnection(Pe)}resetValidateConnection(Pe){this.connectionController.resetValidateConnection(Pe)}endConnection(Pe){this.connectionController.endConnection(Pe)}pullNode(){this.nodeRenderingService.pullNode(this.nodeModel)}selectNode(){this.flowSettingsService.entitiesSelectable()&&this.selectionService.select(this.nodeModel)}static#e=this.\u0275fac=function(st){return new(st||he)};static#t=this.\u0275cmp=p.Xpm({type:he,selectors:[["g","node",""]],viewQuery:function(st,dt){if(1&st&&(p.Gf(Z,5),p.Gf(X,5)),2&st){let bt;p.iGM(bt=p.CRH())&&(dt.nodeContentRef=bt.first),p.iGM(bt=p.CRH())&&(dt.htmlWrapperRef=bt.first)}},inputs:{nodeModel:"nodeModel",nodeHtmlTemplate:"nodeHtmlTemplate"},features:[p._Bn([k.n])],attrs:te,decls:4,vars:4,consts:[["class","selectable",3,"mousedown",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"selectable",3,"mousedown"],["nodeContent",""],[1,"default-node"],["htmlWrapper",""],[3,"outerHTML"],["type","source",3,"position"],["type","target",3,"position"],[1,"wrapper"],[3,"ngTemplateOutlet","ngTemplateOutletContext","ngTemplateOutletInjector"],[3,"ngComponentOutlet","ngComponentOutletInputs","ngComponentOutletInjector"],["class","default-handle","r","5",3,"pointerStart","pointerEnd",4,"ngIf"],[3,"handleSizeController","pointerStart","pointerEnd",4,"ngIf"],["class","magnet",3,"pointerEnd","pointerOver","pointerOut",4,"ngIf"],["r","5",1,"default-handle",3,"pointerStart","pointerEnd"],[3,"handleSizeController","pointerStart","pointerEnd"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"magnet",3,"pointerEnd","pointerOver","pointerOut"]],template:function(st,dt){1&st&&(p.YNc(0,fe,7,15,"foreignObject",0),p.YNc(1,Ie,4,10,"foreignObject",0),p.YNc(2,Le,4,5,"foreignObject",0),p.YNc(3,Ne,4,3,"ng-container",1)),2&st&&(p.Q6J("ngIf","default"===dt.nodeModel.node.type),p.xp6(1),p.Q6J("ngIf","html-template"===dt.nodeModel.node.type&&dt.nodeHtmlTemplate),p.xp6(1),p.Q6J("ngIf",dt.nodeModel.isComponentType),p.xp6(1),p.Q6J("ngForOf",dt.nodeModel.handles()))},dependencies:[ae.$G,ae.sg,ae.O5,ae.tP,se.M,re.$,G.V],styles:[".wrapper[_ngcontent-%COMP%]{width:max-content}.magnet[_ngcontent-%COMP%]{opacity:0}.default-node[_ngcontent-%COMP%]{border:1.5px solid #1b262c;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#000;background-color:#fff}.default-node_selected[_ngcontent-%COMP%]{border-width:2px}.default-handle[_ngcontent-%COMP%]{stroke:#fff;fill:#1b262c}"],changeDetection:0})}return(0,s.__decorate)([_.B],he.prototype,"ngOnInit",null),(0,s.__decorate)([F.C,_.B],he.prototype,"ngAfterViewInit",null),he})()},8944:(ve,m,d)=>{"use strict";d.d(m,{t:()=>We});var s=d(5879),p=d(8034),o=d(9672),I=d(2189),k=d(1993),T=d(8874);function N(Ve,ut){const ye=Ve.reduce((Ye,et)=>(Ye[et.node.id]=et,Ye),{});ut.forEach(Ye=>{Ye.source.set(ye[Ye.edge.source]),Ye.target.set(ye[Ye.edge.target])})}var M=d(836),S=d(1981),C=d(6823),_=d(3258),F=d(1553),L=d(101),H=d(1567),V=d(5023),$=d(3093),Y=d(927),ae=d(3870),se=d(2521);let re=(()=>{class Ve extends se.O{ngOnInit(){this.node.data&&(this.data=this.node.data),super.ngOnInit()}static#e=this.\u0275fac=function(){let ye;return function(et){return(ye||(ye=s.n5z(Ve)))(et||Ve)}}();static#t=this.\u0275dir=s.lG2({type:Ve,inputs:{node:"node"},features:[s.qOj]})}return Ve})(),G=(()=>{class Ve{static#e=this.defaultWidth=100;static#t=this.defaultHeight=50;constructor(ye){this.node=ye,this.flowSettingsService=(0,s.f3M)(V.g),this.internalPoint=this.createInternalPointSignal(),this.throttledPoint$=(0,k.Dx)(this.internalPoint).pipe((0,$.Q)(Y.Z)),this.point=(0,k.O4)(this.throttledPoint$,{initialValue:this.internalPoint()}),this.point$=this.throttledPoint$,this.size=(0,s.tdS)({width:0,height:0}),this.renderOrder=(0,s.tdS)(0),this.selected=(0,s.tdS)(!1),this.selected$=(0,k.Dx)(this.selected),this.pointTransform=(0,s.Flj)(()=>`translate(${this.point().x}, ${this.point().y})`),this.sourcePosition=(0,s.Flj)(()=>this.flowSettingsService.handlePositions().source),this.targetPosition=(0,s.Flj)(()=>this.flowSettingsService.handlePositions().target),this.handles=(0,s.tdS)([]),this.handles$=(0,k.Dx)(this.handles),this.draggable=(0,s.tdS)(!0),this.magnetRadius=20,this.isComponentType=ae.L.isPrototypeOf(this.node.type)||re.isPrototypeOf(this.node.type),this.text=this.createTextSignal(),this.componentTypeInputs=(0,s.Flj)(()=>({node:this.node,_selected:this.selected()})),(0,H.$)(ye.draggable)&&((0,L.JF)(ye)?this.draggable=ye.draggable:this.draggable.set(ye.draggable))}setPoint(ye){this.internalPoint.set(ye)}linkDefaultNodeSizeWithModelSize(){const ye=this.node;"default"===ye.type&&((0,L.JF)(ye)?(0,s.cEC)(()=>{this.size.set({width:ye.width?.()??Ve.defaultWidth,height:ye.height?.()??Ve.defaultHeight})},{allowSignalWrites:!0}):this.size.set({width:ye.width??Ve.defaultWidth,height:ye.height??Ve.defaultHeight}))}createTextSignal(){const ye=this.node;return"default"===ye.type?(0,L.JF)(ye)?ye.text??(0,s.tdS)(""):(0,s.tdS)(ye.text??""):(0,s.tdS)("")}createInternalPointSignal(){return(0,L.JF)(this.node)?this.node.point:(0,s.tdS)({x:this.node.point.x,y:this.node.point.y})}}return Ve})();class Z{constructor(ut){this.edgeLabel=ut,this.size=(0,s.tdS)({width:0,height:0})}}var X=d(2034),te=d(6094);class fe{constructor(ut){this.edge=ut,this.source=(0,s.tdS)(void 0),this.target=(0,s.tdS)(void 0),this.selected=(0,s.tdS)(!1),this.selected$=(0,k.Dx)(this.selected),this.detached=(0,s.Flj)(()=>{const ye=this.source(),Ye=this.target();if(!ye||!Ye)return!0;let et=!1,en=!1;return et=this.edge.sourceHandle?!!ye.handles().find(nn=>nn.rawHandle.id===this.edge.sourceHandle):!!ye.handles().find(nn=>"source"===nn.rawHandle.type),en=this.edge.targetHandle?!!Ye.handles().find(nn=>nn.rawHandle.id===this.edge.targetHandle):!!Ye.handles().find(nn=>"target"===nn.rawHandle.type),!et||!en}),this.detached$=(0,k.Dx)(this.detached),this.path=(0,s.Flj)(()=>{let ye,Ye;if(ye=this.edge.sourceHandle?this.source()?.handles().find(et=>et.rawHandle.id===this.edge.sourceHandle):this.source()?.handles().find(et=>"source"===et.rawHandle.type),Ye=this.edge.targetHandle?this.target()?.handles().find(et=>et.rawHandle.id===this.edge.targetHandle):this.target()?.handles().find(et=>"target"===et.rawHandle.type),!ye||!Ye)return{path:"",points:{start:{x:0,y:0},center:{x:0,y:0},end:{x:0,y:0}}};switch(this.curve){case"straight":return(0,X.V)(ye.pointAbsolute(),Ye.pointAbsolute(),this.usingPoints);case"bezier":return(0,te.x)(ye.pointAbsolute(),Ye.pointAbsolute(),ye.rawHandle.position,Ye.rawHandle.position,this.usingPoints)}}),this.edgeLabels={},this.type=ut.type??"default",this.curve=ut.curve??"bezier",ut.edgeLabels?.start&&(this.edgeLabels.start=new Z(ut.edgeLabels.start)),ut.edgeLabels?.center&&(this.edgeLabels.center=new Z(ut.edgeLabels.center)),ut.edgeLabels?.end&&(this.edgeLabels.end=new Z(ut.edgeLabels.end)),this.usingPoints=[!!this.edgeLabels.start,!!this.edgeLabels.center,!!this.edgeLabels.end]}}class Ee{static nodes(ut,ye){const Ye=new Map;return ye.forEach(et=>Ye.set(et.node,et)),ut.map(et=>Ye.has(et)?Ye.get(et):new G(et))}static edges(ut,ye){const Ye=new Map;return ye.forEach(et=>Ye.set(et.edge,et)),ut.map(et=>Ye.has(et)?Ye.get(et):new fe(et))}}var xe=d(4664),Ie=d(3019),Le=d(7398),Ue=d(9384),Xe=d(2181),nt=d(3997),me=d(6321);let ke=(()=>{class Ve{constructor(){this.entitiesService=(0,s.f3M)(_.q),this.nodesPositionChange$=(0,k.Dx)(this.entitiesService.nodes).pipe((0,xe.w)(ye=>(0,Ie.T)(...ye.map(Ye=>Ye.point$.pipe((0,M.T)(1),(0,Le.U)(()=>Ye))))),(0,Le.U)(ye=>[{type:"position",id:ye.node.id,point:ye.point()}])),this.nodeAddChange$=(0,k.Dx)(this.entitiesService.nodes).pipe((0,Ue.G)(),(0,Le.U)(([ye,Ye])=>Ye.filter(et=>!ye.includes(et))),(0,Xe.h)(ye=>!!ye.length),(0,Le.U)(ye=>ye.map(Ye=>({type:"add",id:Ye.node.id})))),this.nodeRemoveChange$=(0,k.Dx)(this.entitiesService.nodes).pipe((0,Ue.G)(),(0,Le.U)(([ye,Ye])=>ye.filter(et=>!Ye.includes(et))),(0,Xe.h)(ye=>!!ye.length),(0,Le.U)(ye=>ye.map(Ye=>({type:"remove",id:Ye.node.id})))),this.nodeSelectedChange$=(0,k.Dx)(this.entitiesService.nodes).pipe((0,xe.w)(ye=>(0,Ie.T)(...ye.map(Ye=>Ye.selected$.pipe((0,nt.x)(),(0,M.T)(1),(0,Le.U)(()=>Ye))))),(0,Le.U)(ye=>[{type:"select",id:ye.node.id,selected:ye.selected()}])),this.changes$=(0,Ie.T)(this.nodesPositionChange$,this.nodeAddChange$,this.nodeRemoveChange$,this.nodeSelectedChange$).pipe((0,$.Q)(me.z,25))}static#e=this.\u0275fac=function(Ye){return new(Ye||Ve)};static#t=this.\u0275prov=s.Yz7({token:Ve,factory:Ve.\u0275fac})}return Ve})();var he=d(5592),Ke=d(4829);const{isArray:Pe}=Array;var dt=d(6232),bt=d(8251),pt=d(9940);const ht=(Ve,ut)=>Ve.length===ut.length&&[...new Set([...Ve,...ut])].every(ye=>Ve.filter(Ye=>Ye===ye).length===ut.filter(Ye=>Ye===ye).length);let Tt=(()=>{class Ve{constructor(){this.entitiesService=(0,s.f3M)(_.q),this.edgeDetachedChange$=(0,Ie.T)((0,k.Dx)((0,s.Flj)(()=>{const ye=this.entitiesService.nodes();return(0,s.rg0)(this.entitiesService.edges).filter(({source:et,target:en})=>!ye.includes(et())||!ye.includes(en()))})),(0,k.Dx)(this.entitiesService.edges).pipe((0,xe.w)(ye=>function Me(...Ve){const ut=(0,pt.jO)(Ve),ye=function st(Ve){return 1===Ve.length&&Pe(Ve[0])?Ve[0]:Ve}(Ve);return ye.length?new he.y(Ye=>{let et=ye.map(()=>[]),en=ye.map(()=>!1);Ye.add(()=>{et=en=null});for(let nn=0;!Ye.closed&&nn{if(et[nn].push(po),et.every(Ln=>Ln.length)){const Ln=et.map(wn=>wn.shift());Ye.next(ut?ut(...Ln):Ln),et.some((wn,Bn)=>!wn.length&&en[Bn])&&Ye.complete()}},()=>{en[nn]=!0,!et[nn].length&&Ye.complete()}));return()=>{et=en=null}}):dt.E}(...ye.map(Ye=>Ye.detached$.pipe((0,Le.U)(()=>Ye))))),(0,Le.U)(ye=>ye.filter(Ye=>Ye.detached())),(0,M.T)(2))).pipe((0,nt.x)(ht),(0,Xe.h)(ye=>!!ye.length),(0,Le.U)(ye=>ye.map(({edge:Ye})=>({type:"detached",id:Ye.id})))),this.edgeAddChange$=(0,k.Dx)(this.entitiesService.edges).pipe((0,Ue.G)(),(0,Le.U)(([ye,Ye])=>Ye.filter(et=>!ye.includes(et))),(0,Xe.h)(ye=>!!ye.length),(0,Le.U)(ye=>ye.map(({edge:Ye})=>({type:"add",id:Ye.id})))),this.edgeRemoveChange$=(0,k.Dx)(this.entitiesService.edges).pipe((0,Ue.G)(),(0,Le.U)(([ye,Ye])=>ye.filter(et=>!Ye.includes(et))),(0,Xe.h)(ye=>!!ye.length),(0,Le.U)(ye=>ye.map(({edge:Ye})=>({type:"remove",id:Ye.id})))),this.edgeSelectChange$=(0,k.Dx)(this.entitiesService.edges).pipe((0,xe.w)(ye=>(0,Ie.T)(...ye.map(Ye=>Ye.selected$.pipe((0,nt.x)(),(0,M.T)(1),(0,Le.U)(()=>Ye))))),(0,Le.U)(ye=>[{type:"select",id:ye.edge.id,selected:ye.selected()}])),this.changes$=(0,Ie.T)(this.edgeDetachedChange$,this.edgeAddChange$,this.edgeRemoveChange$,this.edgeSelectChange$).pipe((0,$.Q)(me.z))}static#e=this.\u0275fac=function(Ye){return new(Ye||Ve)};static#t=this.\u0275prov=s.Yz7({token:Ve,factory:Ve.\u0275fac})}return Ve})(),zt=(()=>{class Ve{constructor(){this.nodesChangeService=(0,s.f3M)(ke),this.edgesChangeService=(0,s.f3M)(Tt),this.onNodesChange=this.nodesChangeService.changes$,this.onNodesChangePosition=this.nodeChangesOfType("position"),this.onNodesChangePositionSignle=this.singleChange(this.nodeChangesOfType("position")),this.onNodesChangePositionMany=this.manyChanges(this.nodeChangesOfType("position")),this.onNodesChangeAdd=this.nodeChangesOfType("add"),this.onNodesChangeAddSingle=this.singleChange(this.nodeChangesOfType("add")),this.onNodesChangeAddMany=this.manyChanges(this.nodeChangesOfType("add")),this.onNodesChangeRemove=this.nodeChangesOfType("remove"),this.onNodesChangeRemoveSingle=this.singleChange(this.nodeChangesOfType("remove")),this.onNodesChangeRemoveMany=this.manyChanges(this.nodeChangesOfType("remove")),this.onNodesChangeSelect=this.nodeChangesOfType("select"),this.onNodesChangeSelectSingle=this.singleChange(this.nodeChangesOfType("select")),this.onNodesChangeSelectMany=this.manyChanges(this.nodeChangesOfType("select")),this.onEdgesChange=this.edgesChangeService.changes$,this.onNodesChangeDetached=this.edgeChangesOfType("detached"),this.onNodesChangeDetachedSingle=this.singleChange(this.edgeChangesOfType("detached")),this.onNodesChangeDetachedMany=this.manyChanges(this.edgeChangesOfType("detached")),this.onEdgesChangeAdd=this.edgeChangesOfType("add"),this.onEdgeChangeAddSingle=this.singleChange(this.edgeChangesOfType("add")),this.onEdgeChangeAddMany=this.manyChanges(this.edgeChangesOfType("add")),this.onEdgeChangeRemove=this.edgeChangesOfType("remove"),this.onEdgeChangeRemoveSingle=this.singleChange(this.edgeChangesOfType("remove")),this.onEdgeChangeRemoveMany=this.manyChanges(this.edgeChangesOfType("remove")),this.onEdgeChangeSelect=this.edgeChangesOfType("select"),this.onEdgeChangeSelectSingle=this.singleChange(this.edgeChangesOfType("select")),this.onEdgeChangeSelectMany=this.manyChanges(this.edgeChangesOfType("select"))}nodeChangesOfType(ye){return this.nodesChangeService.changes$.pipe((0,Le.U)(Ye=>Ye.filter(et=>et.type===ye)),(0,Xe.h)(Ye=>!!Ye.length))}edgeChangesOfType(ye){return this.edgesChangeService.changes$.pipe((0,Le.U)(Ye=>Ye.filter(et=>et.type===ye)),(0,Xe.h)(Ye=>!!Ye.length))}singleChange(ye){return ye.pipe((0,Xe.h)(Ye=>1===Ye.length),(0,Le.U)(([Ye])=>Ye))}manyChanges(ye){return ye.pipe((0,Xe.h)(Ye=>Ye.length>1))}static#e=this.\u0275fac=function(Ye){return new(Ye||Ve)};static#t=this.\u0275dir=s.lG2({type:Ve,selectors:[["","changesController",""]],outputs:{onNodesChange:"onNodesChange",onNodesChangePosition:"onNodesChange.position",onNodesChangePositionSignle:"onNodesChange.position.single",onNodesChangePositionMany:"onNodesChange.position.many",onNodesChangeAdd:"onNodesChange.add",onNodesChangeAddSingle:"onNodesChange.add.single",onNodesChangeAddMany:"onNodesChange.add.many",onNodesChangeRemove:"onNodesChange.remove",onNodesChangeRemoveSingle:"onNodesChange.remove.single",onNodesChangeRemoveMany:"onNodesChange.remove.many",onNodesChangeSelect:"onNodesChange.select",onNodesChangeSelectSingle:"onNodesChange.select.single",onNodesChangeSelectMany:"onNodesChange.select.many",onEdgesChange:"onEdgesChange",onNodesChangeDetached:"onEdgesChange.detached",onNodesChangeDetachedSingle:"onEdgesChange.detached.single",onNodesChangeDetachedMany:"onEdgesChange.detached.many",onEdgesChangeAdd:"onEdgesChange.add",onEdgeChangeAddSingle:"onEdgesChange.add.single",onEdgeChangeAddMany:"onEdgesChange.add.many",onEdgeChangeRemove:"onEdgesChange.remove",onEdgeChangeRemoveSingle:"onEdgesChange.remove.single",onEdgeChangeRemoveMany:"onEdgesChange.remove.many",onEdgeChangeSelect:"onEdgesChange.select",onEdgeChangeSelectSingle:"onEdgesChange.select.single",onEdgeChangeSelectMany:"onEdgesChange.select.many"},standalone:!0})}return Ve})();var _t=d(726),an=d(9516),un=d(5091),yn=d(3767),Rn=d(6814),Gn=d(8567),uo=d(994),Ro=d(5085),Kn=d(5036),Jn=d(494),Oo=d(4356),So=d(4445),Be=d(948),gt=d(2712);function je(Ve,ut){if(1&Ve&&(s.O4$(),s._UZ(0,"g",8)),2&Ve){const ye=ut.$implicit,Ye=s.oxw();s.Q6J("model",ye)("edgeTemplate",null==Ye.edgeTemplateDirective?null:Ye.edgeTemplateDirective.templateRef)("edgeLabelHtmlTemplate",null==Ye.edgeLabelHtmlDirective?null:Ye.edgeLabelHtmlDirective.templateRef)}}function q(Ve,ut){if(1&Ve&&(s.O4$(),s._UZ(0,"g",9)),2&Ve){const ye=ut.$implicit,Ye=s.oxw();s.Q6J("nodeModel",ye)("nodeHtmlTemplate",null==Ye.nodeHtmlDirective?null:Ye.nodeHtmlDirective.templateRef),s.uIk("transform",ye.pointTransform())}}let We=(()=>{class Ve{constructor(){this.viewportService=(0,s.f3M)(I.v),this.flowEntitiesService=(0,s.f3M)(_.q),this.nodesChangeService=(0,s.f3M)(ke),this.edgesChangeService=(0,s.f3M)(Tt),this.nodeRenderingService=(0,s.f3M)(_t.W),this.flowSettingsService=(0,s.f3M)(V.g),this.componentEventBusService=(0,s.f3M)(un.d),this.injector=(0,s.f3M)(s.zs3),this.background="#fff",this.nodeModels=(0,s.Flj)(()=>this.nodeRenderingService.nodes()),this.edgeModels=(0,s.Flj)(()=>this.flowEntitiesService.validEdges()),this.onComponentNodeEvent=this.componentEventBusService.event$,this.viewport=this.viewportService.readableViewport.asReadonly(),this.nodesChange=(0,k.O4)(this.nodesChangeService.changes$,{initialValue:[]}),this.edgesChange=(0,k.O4)(this.edgesChangeService.changes$,{initialValue:[]}),this.viewportChange$=(0,k.Dx)(this.viewportService.readableViewport).pipe((0,M.T)(1)),this.nodesChange$=this.nodesChangeService.changes$,this.edgesChange$=this.edgesChangeService.changes$,this.markers=this.flowEntitiesService.markers}set view(ye){this.flowSettingsService.view.set(ye)}set minZoom(ye){this.flowSettingsService.minZoom.set(ye)}set maxZoom(ye){this.flowSettingsService.maxZoom.set(ye)}set handlePositions(ye){this.flowSettingsService.handlePositions.set(ye)}set entitiesSelectable(ye){this.flowSettingsService.entitiesSelectable.set(ye)}set connection(ye){this.flowEntitiesService.connection.set(ye)}get connection(){return this.flowEntitiesService.connection()}set nodes(ye){const Ye=(0,s.r_H)(this.injector,()=>Ee.nodes(ye,this.flowEntitiesService.nodes()));N(Ye,this.flowEntitiesService.edges()),this.flowEntitiesService.nodes.set(Ye)}set edges(ye){const Ye=(0,s.r_H)(this.injector,()=>Ee.edges(ye,this.flowEntitiesService.edges()));N(this.nodeModels(),Ye),this.flowEntitiesService.edges.set(Ye)}viewportTo(ye){this.viewportService.writableViewport.set({changeType:"absolute",state:ye,duration:0})}zoomTo(ye){this.viewportService.writableViewport.set({changeType:"absolute",state:{zoom:ye},duration:0})}panTo(ye){this.viewportService.writableViewport.set({changeType:"absolute",state:ye,duration:0})}fitView(ye){this.viewportService.fitView(ye)}getNode(ye){return this.flowEntitiesService.getNode(ye)?.node}getDetachedEdges(){return this.flowEntitiesService.getDetachedEdges().map(ye=>ye.edge)}documentPointToFlowPoint(ye){return this.spacePointContext.documentPointToFlowPoint(ye)}trackNodes(ye,{node:Ye}){return Ye}trackEdges(ye,{edge:Ye}){return Ye}static#e=this.\u0275fac=function(Ye){return new(Ye||Ve)};static#t=this.\u0275cmp=s.Xpm({type:Ve,selectors:[["vflow"]],contentQueries:function(Ye,et,en){if(1&Ye&&(s.Suo(en,T.QC,5),s.Suo(en,T.o6,5),s.Suo(en,T.B,5),s.Suo(en,T.iS,5)),2&Ye){let nn;s.iGM(nn=s.CRH())&&(et.nodeHtmlDirective=nn.first),s.iGM(nn=s.CRH())&&(et.edgeTemplateDirective=nn.first),s.iGM(nn=s.CRH())&&(et.edgeLabelHtmlDirective=nn.first),s.iGM(nn=s.CRH())&&(et.connectionTemplateDirective=nn.first)}},viewQuery:function(Ye,et){if(1&Ye&&(s.Gf(p.b,5),s.Gf(yn.G,5)),2&Ye){let en;s.iGM(en=s.CRH())&&(et.mapContext=en.first),s.iGM(en=s.CRH())&&(et.spacePointContext=en.first)}},inputs:{view:"view",minZoom:"minZoom",maxZoom:"maxZoom",handlePositions:"handlePositions",background:"background",entitiesSelectable:"entitiesSelectable",connection:["connection","connection",ye=>new F.L(ye)],nodes:"nodes",edges:"edges"},outputs:{onComponentNodeEvent:"onComponentNodeEvent"},features:[s._Bn([o.$,I.v,S.Q,_.q,ke,Tt,_t.W,an.z,V.g,un.d]),s.Xq5,s.zW0([{directive:C.j,outputs:["onConnect","onConnect"]},{directive:zt,outputs:["onNodesChange","onNodesChange","onNodesChange.position","onNodesChange.position","onNodesChange.position.single","onNodesChange.position.single","onNodesChange.position.many","onNodesChange.position.many","onNodesChange.add","onNodesChange.add","onNodesChange.add.single","onNodesChange.add.single","onNodesChange.add.many","onNodesChange.add.many","onNodesChange.remove","onNodesChange.remove","onNodesChange.remove.single","onNodesChange.remove.single","onNodesChange.remove.many","onNodesChange.remove.many","onNodesChange.select","onNodesChange.select","onNodesChange.select.single","onNodesChange.select.single","onNodesChange.select.many","onNodesChange.select.many","onEdgesChange","onEdgesChange","onEdgesChange.detached","onEdgesChange.detached","onEdgesChange.detached.single","onEdgesChange.detached.single","onEdgesChange.detached.many","onEdgesChange.detached.many","onEdgesChange.add","onEdgesChange.add","onEdgesChange.add.single","onEdgesChange.add.single","onEdgesChange.add.many","onEdgesChange.add.many","onEdgesChange.remove","onEdgesChange.remove","onEdgesChange.remove.single","onEdgesChange.remove.single","onEdgesChange.remove.many","onEdgesChange.remove.many","onEdgesChange.select","onEdgesChange.select","onEdgesChange.select.single","onEdgesChange.select.single","onEdgesChange.select.many","onEdgesChange.select.many"]}])],decls:8,vars:8,consts:[["rootSvgRef","","rootSvgContext","","rootPointer","","flowSizeController","",1,"root-svg"],["flow",""],["flowDefs","",3,"markers"],[3,"background"],["mapContext","","spacePointContext",""],["connection","",3,"model","template"],["edge","",3,"model","edgeTemplate","edgeLabelHtmlTemplate",4,"ngFor","ngForOf","ngForTrackBy"],["node","",3,"nodeModel","nodeHtmlTemplate",4,"ngFor","ngForOf","ngForTrackBy"],["edge","",3,"model","edgeTemplate","edgeLabelHtmlTemplate"],["node","",3,"nodeModel","nodeHtmlTemplate"]],template:function(Ye,et){1&Ye&&(s.O4$(),s.TgZ(0,"svg",0,1),s._UZ(2,"defs",2)(3,"g",3),s.TgZ(4,"g",4),s._UZ(5,"g",5),s.YNc(6,je,1,3,"g",6),s.YNc(7,q,1,3,"g",7),s.qZA()()),2&Ye&&(s.xp6(2),s.Q6J("markers",et.markers()),s.xp6(1),s.Q6J("background",et.background),s.xp6(2),s.Q6J("model",et.connection)("template",null==et.connectionTemplateDirective?null:et.connectionTemplateDirective.templateRef),s.xp6(1),s.Q6J("ngForOf",et.edgeModels())("ngForTrackBy",et.trackEdges),s.xp6(1),s.Q6J("ngForOf",et.nodeModels())("ngForTrackBy",et.trackNodes))},dependencies:[Rn.sg,Gn.R,uo.p,Ro.d,Kn.N,Jn.S,yn.G,p.b,Oo.$,So.C,Be.r,gt.w],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none}[_nghost-%COMP%] *{box-sizing:border-box}"],changeDetection:0})}return Ve})()},2539:(ve,m,d)=>{"use strict";function s(p,o,I){const k=I.value;return I.value=function(...T){queueMicrotask(()=>{k?.apply(this,T)})},I}d.d(m,{C:()=>s})},8634:(ve,m,d)=>{"use strict";d.d(m,{B:()=>p});var s=d(5879);function p(I,k,T){const N=T.value;return T.value=function(...M){if(o(this))return(0,s.r_H)(this.injector,()=>N.apply(this,M));throw new Error("Class that contains decorated method must extends WithInjectorDirective class")},T}const o=I=>"injector"in I&&"get"in I.injector},6823:(ve,m,d)=>{"use strict";d.d(m,{j:()=>k});var s=d(5879),p=d(1981),o=d(3258);function I(T){const N={};return"source"===T.sourceHandle.rawHandle.type?(N.source=T.source,N.sourceHandle=T.sourceHandle):(N.source=T.target,N.sourceHandle=T.targetHandle),"target"===T.targetHandle.rawHandle.type?(N.target=T.target,N.targetHandle=T.targetHandle):(N.target=T.source,N.targetHandle=T.sourceHandle),N}let k=(()=>{class T{constructor(){this.onConnect=new s.vpe,this.statusService=(0,s.f3M)(p.Q),this.flowEntitiesService=(0,s.f3M)(o.q),this.connectEffect=(0,s.cEC)(()=>{const M=this.statusService.status();if("connection-end"===M.state){let S=M.payload.source,C=M.payload.target,_=M.payload.sourceHandle,F=M.payload.targetHandle;if(this.isStrictMode()){const se=I({source:M.payload.source,sourceHandle:M.payload.sourceHandle,target:M.payload.target,targetHandle:M.payload.targetHandle});S=se.source,C=se.target,_=se.sourceHandle,F=se.targetHandle}const ae={source:S.node.id,target:C.node.id,sourceHandle:_.rawHandle.id,targetHandle:F.rawHandle.id};this.flowEntitiesService.connection().validator(ae)&&this.onConnect.emit(ae)}},{allowSignalWrites:!0}),this.isStrictMode=(0,s.Flj)(()=>"strict"===this.flowEntitiesService.connection().mode)}startConnection(M){this.statusService.setConnectionStartStatus(M.parentNode,M)}validateConnection(M){const S=this.statusService.status();if("connection-start"===S.state){let C=S.payload.source,_=M.parentNode,F=S.payload.sourceHandle,L=M;if(this.isStrictMode()){const V=I({source:S.payload.source,sourceHandle:S.payload.sourceHandle,target:M.parentNode,targetHandle:M});C=V.source,_=V.target,F=V.sourceHandle,L=V.targetHandle}const H=this.flowEntitiesService.connection().validator({source:C.node.id,target:_.node.id,sourceHandle:F.rawHandle.id,targetHandle:L.rawHandle.id});M.state.set(H?"valid":"invalid"),this.statusService.setConnectionValidationStatus(H,S.payload.source,M.parentNode,S.payload.sourceHandle,M)}}resetValidateConnection(M){M.state.set("idle");const S=this.statusService.status();"connection-validation"===S.state&&this.statusService.setConnectionStartStatus(S.payload.source,S.payload.sourceHandle)}endConnection(M){const S=this.statusService.status();if("connection-validation"===S.state){const C=S.payload.source,_=S.payload.sourceHandle,F=S.payload.target,L=S.payload.targetHandle;(0,p.a)(()=>this.statusService.setConnectionEndStatus(C,F,_,L),()=>this.statusService.setIdleStatus())}}static#e=this.\u0275fac=function(S){return new(S||T)};static#t=this.\u0275dir=s.lG2({type:T,selectors:[["","connectionController",""]],outputs:{onConnect:"onConnect"},standalone:!0})}return T})()},2712:(ve,m,d)=>{"use strict";d.d(m,{w:()=>T});var s=d(5879),p=d(667),o=d(9397),I=d(5023),k=d(1993);let T=(()=>{class N{constructor(){this.host=(0,s.f3M)(s.SBq),this.flowSettingsService=(0,s.f3M)(I.g),this.flowWidth=0,this.flowHeight=0,(0,s.cEC)(()=>{const S=this.flowSettingsService.view();this.flowWidth="auto"===S?"100%":S[0],this.flowHeight="auto"===S?"100%":S[1]}),(0,p.$)([this.host.nativeElement]).pipe((0,o.b)(([S])=>{this.flowSettingsService.computedFlowWidth.set(S.contentRect.width),this.flowSettingsService.computedFlowHeight.set(S.contentRect.height)}),(0,k.sL)()).subscribe()}static#e=this.\u0275fac=function(C){return new(C||N)};static#t=this.\u0275dir=s.lG2({type:N,selectors:[["svg","flowSizeController",""]],hostVars:2,hostBindings:function(C,_){2&C&&s.uIk("width",_.flowWidth)("height",_.flowHeight)}})}return N})()},1848:(ve,m,d)=>{"use strict";d.d(m,{$:()=>p});var s=d(5879);let p=(()=>{class I{constructor(){this.handleWrapper=(0,s.f3M)(s.SBq)}ngAfterViewInit(){const T=this.handleWrapper.nativeElement,N=T.getBBox(),M=function o(I){const k=I.firstElementChild;if(k){const T=getComputedStyle(k).strokeWidth,N=Number(T.replace("px",""));return isNaN(N)?0:N}return 0}(T);this.handleModel.size.set({width:N.width+M,height:N.height+M})}static#e=this.\u0275fac=function(N){return new(N||I)};static#t=this.\u0275dir=s.lG2({type:I,selectors:[["","handleSizeController",""]],inputs:{handleModel:["handleSizeController","handleModel"]}})}return I})()},8034:(ve,m,d)=>{"use strict";d.d(m,{b:()=>Ts});var s=d(5879),p=d(9567),o=d(8477),I=d(1551);function T(j){return((j=Math.exp(j))+1/j)/2}const S=function j(oe,ce,Oe){function tt(ct,qe){var A,R,St=ct[0],Bt=ct[1],Ft=ct[2],Dn=qe[2],dn=qe[0]-St,pr=qe[1]-Bt,wt=dn*dn+pr*pr;if(wt<1e-12)R=Math.log(Dn/Ft)/oe,A=function(qn){return[St+qn*dn,Bt+qn*pr,Ft*Math.exp(oe*qn*R)]};else{var E=Math.sqrt(wt),K=(Dn*Dn-Ft*Ft+Oe*wt)/(2*Ft*ce*E),pe=(Dn*Dn-Ft*Ft-Oe*wt)/(2*Dn*ce*E),xt=Math.log(Math.sqrt(K*K+1)-K),Qt=Math.log(Math.sqrt(pe*pe+1)-pe);R=(Qt-xt)/oe,A=function(qn){var ir=qn*R,wr=T(xt),Gr=Ft/(ce*E)*(wr*function M(j){return((j=Math.exp(2*j))-1)/(j+1)}(oe*ir+xt)-function N(j){return((j=Math.exp(j))-1/j)/2}(xt));return[St+Gr*dn,Bt+Gr*pr,Ft*wr/T(oe*ir+xt)]}}return A.duration=1e3*R*oe/Math.SQRT2,A}return tt.rho=function(ct){var qe=Math.max(.001,+ct),St=qe*qe;return j(qe,St,St*St)},tt}(Math.SQRT2,2,4);var C=d(5045),_=d(8224),F=d(1715);function L(j,oe,ce){var Oe=new F.B7;return Oe.restart(tt=>{Oe.stop(),j(tt+oe)},oe=null==oe?0:+oe,ce),Oe}var H=(0,o.Z)("start","end","cancel","interrupt"),V=[],$=0,se=3;function X(j,oe,ce,Oe,tt,ct){var qe=j.__transition;if(qe){if(ce in qe)return}else j.__transition={};!function xe(j,oe,ce){var tt,Oe=j.__transition;function qe(Ft){var Ut,En,Dn,dn;if(1!==ce.state)return Bt();for(Ut in Oe)if((dn=Oe[Ut]).name===ce.name){if(dn.state===se)return L(qe);4===dn.state?(dn.state=6,dn.timer.stop(),dn.on.call("interrupt",j,j.__data__,dn.index,dn.group),delete Oe[Ut]):+Ut$)throw new Error("too late; already scheduled");return ce}function fe(j,oe){var ce=Ee(j,oe);if(ce.state>se)throw new Error("too late; already running");return ce}function Ee(j,oe){var ce=j.__transition;if(!ce||!(ce=ce[oe]))throw new Error("transition not found");return ce}function Ie(j,oe){var Oe,tt,qe,ce=j.__transition,ct=!0;if(ce){for(qe in oe=null==oe?null:oe+"",ce)(Oe=ce[qe]).name===oe?(tt=Oe.state>2&&Oe.state<5,Oe.state=6,Oe.timer.stop(),Oe.on.call(tt?"interrupt":"cancel",j,j.__data__,Oe.index,Oe.group),delete ce[qe]):ct=!1;ct&&delete j.__transition}}function Ue(j,oe){return j=+j,oe=+oe,function(ce){return j*(1-ce)+oe*ce}}var Ne,Xe=180/Math.PI,nt={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function me(j,oe,ce,Oe,tt,ct){var qe,St,Bt;return(qe=Math.sqrt(j*j+oe*oe))&&(j/=qe,oe/=qe),(Bt=j*ce+oe*Oe)&&(ce-=j*Bt,Oe-=oe*Bt),(St=Math.sqrt(ce*ce+Oe*Oe))&&(ce/=St,Oe/=St,Bt/=St),j*Oe180?Ut+=360:Ut-Ft>180&&(Ft+=360),Dn.push({i:En.push(tt(En)+"rotate(",null,Oe)-2,x:Ue(Ft,Ut)})):Ut&&En.push(tt(En)+"rotate("+Ut+Oe)}(Ft.rotate,Ut.rotate,En,Dn),function St(Ft,Ut,En,Dn){Ft!==Ut?Dn.push({i:En.push(tt(En)+"skewX(",null,Oe)-2,x:Ue(Ft,Ut)}):Ut&&En.push(tt(En)+"skewX("+Ut+Oe)}(Ft.skewX,Ut.skewX,En,Dn),function Bt(Ft,Ut,En,Dn,dn,pr){if(Ft!==En||Ut!==Dn){var wt=dn.push(tt(dn)+"scale(",null,",",null,")");pr.push({i:wt-4,x:Ue(Ft,En)},{i:wt-2,x:Ue(Ut,Dn)})}else(1!==En||1!==Dn)&&dn.push(tt(dn)+"scale("+En+","+Dn+")")}(Ft.scaleX,Ft.scaleY,Ut.scaleX,Ut.scaleY,En,Dn),Ft=Ut=null,function(dn){for(var A,pr=-1,wt=Dn.length;++pr>8&15|oe>>4&240,oe>>4&15|240&oe,(15&oe)<<4|15&oe,1):8===ce?ut(oe>>24&255,oe>>16&255,oe>>8&255,(255&oe)/255):4===ce?ut(oe>>12&15|oe>>8&240,oe>>8&15|oe>>4&240,oe>>4&15|240&oe,((15&oe)<<4|15&oe)/255):null):(oe=Ro.exec(j))?new et(oe[1],oe[2],oe[3],1):(oe=Kn.exec(j))?new et(255*oe[1]/100,255*oe[2]/100,255*oe[3]/100,1):(oe=Jn.exec(j))?ut(oe[1],oe[2],oe[3],oe[4]):(oe=Oo.exec(j))?ut(255*oe[1]/100,255*oe[2]/100,255*oe[3]/100,oe[4]):(oe=So.exec(j))?rr(oe[1],oe[2]/100,oe[3]/100,1):(oe=Be.exec(j))?rr(oe[1],oe[2]/100,oe[3]/100,oe[4]):gt.hasOwnProperty(j)?Ve(gt[j]):"transparent"===j?new et(NaN,NaN,NaN,0):null}function Ve(j){return new et(j>>16&255,j>>8&255,255&j,1)}function ut(j,oe,ce,Oe){return Oe<=0&&(j=oe=ce=NaN),new et(j,oe,ce,Oe)}function Ye(j,oe,ce,Oe){return 1===arguments.length?function ye(j){return j instanceof _t||(j=We(j)),j?new et((j=j.rgb()).r,j.g,j.b,j.opacity):new et}(j):new et(j,oe,ce,Oe??1)}function et(j,oe,ce,Oe){this.r=+j,this.g=+oe,this.b=+ce,this.opacity=+Oe}function en(){return`#${Bn(this.r)}${Bn(this.g)}${Bn(this.b)}`}function po(){const j=Ln(this.opacity);return`${1===j?"rgb(":"rgba("}${wn(this.r)}, ${wn(this.g)}, ${wn(this.b)}${1===j?")":`, ${j})`}`}function Ln(j){return isNaN(j)?1:Math.max(0,Math.min(1,j))}function wn(j){return Math.max(0,Math.min(255,Math.round(j)||0))}function Bn(j){return((j=wn(j))<16?"0":"")+j.toString(16)}function rr(j,oe,ce,Oe){return Oe<=0?j=oe=ce=NaN:ce<=0||ce>=1?j=oe=NaN:oe<=0&&(j=NaN),new Te(j,oe,ce,Oe)}function br(j){if(j instanceof Te)return new Te(j.h,j.s,j.l,j.opacity);if(j instanceof _t||(j=We(j)),!j)return new Te;if(j instanceof Te)return j;var oe=(j=j.rgb()).r/255,ce=j.g/255,Oe=j.b/255,tt=Math.min(oe,ce,Oe),ct=Math.max(oe,ce,Oe),qe=NaN,St=ct-tt,Bt=(ct+tt)/2;return St?(qe=oe===ct?(ce-Oe)/St+6*(ce0&&Bt<1?0:qe,new Te(qe,St,Bt,j.opacity)}function Te(j,oe,ce,Oe){this.h=+j,this.s=+oe,this.l=+ce,this.opacity=+Oe}function ot(j){return(j=(j||0)%360)<0?j+360:j}function Nt(j){return Math.max(0,Math.min(1,j||0))}function bn(j,oe,ce){return 255*(j<60?oe+(ce-oe)*j/60:j<180?ce:j<240?oe+(ce-oe)*(240-j)/60:oe)}function rt(j,oe,ce,Oe,tt){var ct=j*j,qe=ct*j;return((1-3*j+3*ct-qe)*oe+(4-6*ct+3*qe)*ce+(1+3*j+3*ct-3*qe)*Oe+qe*tt)/6}Tt(_t,We,{copy(j){return Object.assign(new this.constructor,this,j)},displayable(){return this.rgb().displayable()},hex:je,formatHex:je,formatHex8:function q(){return this.rgb().formatHex8()},formatHsl:function Ce(){return br(this).formatHsl()},formatRgb:Re,toString:Re}),Tt(et,Ye,zt(_t,{brighter(j){return j=null==j?un:Math.pow(un,j),new et(this.r*j,this.g*j,this.b*j,this.opacity)},darker(j){return j=null==j?.7:Math.pow(.7,j),new et(this.r*j,this.g*j,this.b*j,this.opacity)},rgb(){return this},clamp(){return new et(wn(this.r),wn(this.g),wn(this.b),Ln(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:en,formatHex:en,formatHex8:function nn(){return`#${Bn(this.r)}${Bn(this.g)}${Bn(this.b)}${Bn(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:po,toString:po})),Tt(Te,function Zo(j,oe,ce,Oe){return 1===arguments.length?br(j):new Te(j,oe,ce,Oe??1)},zt(_t,{brighter(j){return j=null==j?un:Math.pow(un,j),new Te(this.h,this.s,this.l*j,this.opacity)},darker(j){return j=null==j?.7:Math.pow(.7,j),new Te(this.h,this.s,this.l*j,this.opacity)},rgb(){var j=this.h%360+360*(this.h<0),oe=isNaN(j)||isNaN(this.s)?0:this.s,ce=this.l,Oe=ce+(ce<.5?ce:1-ce)*oe,tt=2*ce-Oe;return new et(bn(j>=240?j-240:j+120,tt,Oe),bn(j,tt,Oe),bn(j<120?j+240:j-120,tt,Oe),this.opacity)},clamp(){return new Te(ot(this.h),Nt(this.s),Nt(this.l),Ln(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const j=Ln(this.opacity);return`${1===j?"hsl(":"hsla("}${ot(this.h)}, ${100*Nt(this.s)}%, ${100*Nt(this.l)}%${1===j?")":`, ${j})`}`}}));const ge=j=>()=>j;function Vn(j,oe){var ce=oe-j;return ce?function Ge(j,oe){return function(ce){return j+ce*oe}}(j,ce):ge(isNaN(j)?oe:j)}const Cn=function j(oe){var ce=function hn(j){return 1==(j=+j)?Vn:function(oe,ce){return ce-oe?function Rt(j,oe,ce){return j=Math.pow(j,ce),oe=Math.pow(oe,ce)-j,ce=1/ce,function(Oe){return Math.pow(j+Oe*oe,ce)}}(oe,ce,j):ge(isNaN(oe)?ce:oe)}}(oe);function Oe(tt,ct){var qe=ce((tt=Ye(tt)).r,(ct=Ye(ct)).r),St=ce(tt.g,ct.g),Bt=ce(tt.b,ct.b),Ft=Vn(tt.opacity,ct.opacity);return function(Ut){return tt.r=qe(Ut),tt.g=St(Ut),tt.b=Bt(Ut),tt.opacity=Ft(Ut),tt+""}}return Oe.gamma=j,Oe}(1);function To(j){return function(oe){var qe,St,ce=oe.length,Oe=new Array(ce),tt=new Array(ce),ct=new Array(ce);for(qe=0;qe=1?(ce=1,oe-1):Math.floor(ce*oe),tt=j[Oe],ct=j[Oe+1];return rt((ce-Oe/oe)*oe,Oe>0?j[Oe-1]:2*tt-ct,tt,ct,Oece&&(ct=oe.slice(ce,ct),St[qe]?St[qe]+=ct:St[++qe]=ct),(Oe=Oe[0])===(tt=tt[0])?St[qe]?St[qe]+=tt:St[++qe]=tt:(St[++qe]=null,Bt.push({i:qe,x:Ue(Oe,tt)})),ce=Fe.lastIndex;return ce=0&&(oe=oe.slice(0,ce)),!oe||"start"===oe})}(oe)?te:fe;return function(){var qe=ct(this,j),St=qe.on;St!==Oe&&(tt=(Oe=St).copy()).on(oe,ce),qe.on=tt}}(ce,j,oe))},attr:function sn(j,oe){var ce=(0,dt.Z)(j),Oe="transform"===ce?st:Se;return this.attrTween(j,"function"==typeof oe?(ce.local?Xt:Yt)(ce,Oe,ht(this,"attr."+j,oe)):null==oe?(ce.local?Je:mt)(ce):(ce.local?$t:vt)(ce,Oe,oe))},attrTween:function vn(j,oe){var ce="attr."+j;if(arguments.length<2)return(ce=this.tween(ce))&&ce._value;if(null==oe)return this.tween(ce,null);if("function"!=typeof oe)throw new Error;var Oe=(0,dt.Z)(j);return this.tween(ce,(Oe.local?Dt:Gt)(Oe,oe))},style:function zn(j,oe,ce){var Oe="transform"==(j+="")?Pe:Se;return null==oe?this.styleTween(j,function mi(j,oe){var ce,Oe,tt;return function(){var ct=(0,fr.S)(this,j),qe=(this.style.removeProperty(j),(0,fr.S)(this,j));return ct===qe?null:ct===ce&&qe===Oe?tt:tt=oe(ce=ct,Oe=qe)}}(j,Oe)).on("end.style."+j,Jt(j)):"function"==typeof oe?this.styleTween(j,function Kt(j,oe,ce){var Oe,tt,ct;return function(){var qe=(0,fr.S)(this,j),St=ce(this),Bt=St+"";return null==St&&(this.style.removeProperty(j),Bt=St=(0,fr.S)(this,j)),qe===Bt?null:qe===Oe&&Bt===tt?ct:(tt=Bt,ct=oe(Oe=qe,St))}}(j,Oe,ht(this,"style."+j,oe))).each(function Mn(j,oe){var ce,Oe,tt,St,ct="style."+oe,qe="end."+ct;return function(){var Bt=fe(this,j),Ft=Bt.on,Ut=null==Bt.value[ct]?St||(St=Jt(oe)):void 0;(Ft!==ce||tt!==Ut)&&(Oe=(ce=Ft).copy()).on(qe,tt=Ut),Bt.on=Oe}}(this._id,j)):this.styleTween(j,function on(j,oe,ce){var Oe,ct,tt=ce+"";return function(){var qe=(0,fr.S)(this,j);return qe===tt?null:qe===Oe?ct:ct=oe(Oe=qe,ce)}}(j,Oe,oe),ce).on("end.style."+j,null)},styleTween:function si(j,oe,ce){var Oe="style."+(j+="");if(arguments.length<2)return(Oe=this.tween(Oe))&&Oe._value;if(null==oe)return this.tween(Oe,null);if("function"!=typeof oe)throw new Error;return this.tween(Oe,function ho(j,oe,ce){var Oe,tt;function ct(){var qe=oe.apply(this,arguments);return qe!==tt&&(Oe=(tt=qe)&&function co(j,oe,ce){return function(Oe){this.style.setProperty(j,oe.call(this,Oe),ce)}}(j,qe,ce)),Oe}return ct._value=oe,ct}(j,oe,ce??""))},text:function zr(j){return this.tween("text","function"==typeof j?function ci(j){return function(){var oe=j(this);this.textContent=oe??""}}(ht(this,"text",j)):function ai(j){return function(){this.textContent=j}}(null==j?"":j+""))},textTween:function Zt(j){var oe="text";if(arguments.length<1)return(oe=this.tween(oe))&&oe._value;if(null==j)return this.tween(oe,null);if("function"!=typeof j)throw new Error;return this.tween(oe,function _o(j){var oe,ce;function Oe(){var tt=j.apply(this,arguments);return tt!==ce&&(oe=(ce=tt)&&function li(j){return function(oe){this.textContent=j.call(this,oe)}}(tt)),oe}return Oe._value=j,Oe}(j))},remove:function sr(){return this.on("end.remove",function ns(j){return function(){var oe=this.parentNode;for(var ce in this.__transition)if(+ce!==j)return;oe&&oe.removeChild(this)}}(this._id))},tween:function Me(j,oe){var ce=this._id;if(j+="",arguments.length<2){for(var qe,Oe=Ee(this.node(),ce).tween,tt=0,ct=Oe.length;tt()=>j;function _i(j,{sourceEvent:oe,target:ce,transform:Oe,dispatch:tt}){Object.defineProperties(this,{type:{value:j,enumerable:!0,configurable:!0},sourceEvent:{value:oe,enumerable:!0,configurable:!0},target:{value:ce,enumerable:!0,configurable:!0},transform:{value:Oe,enumerable:!0,configurable:!0},_:{value:tt}})}function qo(j,oe,ce){this.k=j,this.x=oe,this.y=ce}qo.prototype={constructor:qo,scale:function(j){return 1===j?this:new qo(this.k*j,this.x,this.y)},translate:function(j,oe){return 0===j&0===oe?this:new qo(this.k,this.x+this.k*j,this.y+this.k*oe)},apply:function(j){return[j[0]*this.k+this.x,j[1]*this.k+this.y]},applyX:function(j){return j*this.k+this.x},applyY:function(j){return j*this.k+this.y},invert:function(j){return[(j[0]-this.x)/this.k,(j[1]-this.y)/this.k]},invertX:function(j){return(j-this.x)/this.k},invertY:function(j){return(j-this.y)/this.k},rescaleX:function(j){return j.copy().domain(j.range().map(this.invertX,this).map(j.invert,j))},rescaleY:function(j){return j.copy().domain(j.range().map(this.invertY,this).map(j.invert,j))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ko=new qo(1,0,0);function vi(j){j.stopImmediatePropagation()}function er(j){j.preventDefault(),j.stopImmediatePropagation()}function gr(j){return!(j.ctrlKey&&"wheel"!==j.type||j.button)}function Wr(){var j=this;return j instanceof SVGElement?(j=j.ownerSVGElement||j).hasAttribute("viewBox")?[[(j=j.viewBox.baseVal).x,j.y],[j.x+j.width,j.y+j.height]]:[[0,0],[j.width.baseVal.value,j.height.baseVal.value]]:[[0,0],[j.clientWidth,j.clientHeight]]}function yi(){return this.__zoom||Ko}function Hn(j){return-j.deltaY*(1===j.deltaMode?.05:j.deltaMode?1:.002)*(j.ctrlKey?10:1)}function os(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ti(j,oe,ce){var Oe=j.invertX(oe[0][0])-ce[0][0],tt=j.invertX(oe[1][0])-ce[1][0],ct=j.invertY(oe[0][1])-ce[0][1],qe=j.invertY(oe[1][1])-ce[1][1];return j.translate(tt>Oe?(Oe+tt)/2:Math.min(0,Oe)||Math.max(0,tt),qe>ct?(ct+qe)/2:Math.min(0,ct)||Math.max(0,qe))}var cr=d(2189),lr=d(1567),Wo=d(4356),di=d(9516),wo=d(5023);let Ts=(()=>{class j{constructor(){this.rootSvg=(0,s.f3M)(Wo.$).element,this.host=(0,s.f3M)(s.SBq).nativeElement,this.selectionService=(0,s.f3M)(di.z),this.viewportService=(0,s.f3M)(cr.v),this.flowSettingsService=(0,s.f3M)(wo.g),this.rootSvgSelection=(0,p.Z)(this.rootSvg),this.zoomableSelection=(0,p.Z)(this.host),this.viewportForSelection={},this.manualViewportChangeEffect=(0,s.cEC)(()=>{const ce=this.viewportService.writableViewport(),Oe=ce.state;if("initial"!==ce.changeType){if((0,lr.$)(Oe.zoom)&&!(0,lr.$)(Oe.x)&&!(0,lr.$)(Oe.y))return void this.rootSvgSelection.transition().duration(ce.duration).call(this.zoomBehavior.scaleTo,Oe.zoom);if((0,lr.$)(Oe.x)&&(0,lr.$)(Oe.y)&&!(0,lr.$)(Oe.zoom)){const tt=(0,s.rg0)(this.viewportService.readableViewport).zoom;return void this.rootSvgSelection.transition().duration(ce.duration).call(this.zoomBehavior.transform,Ko.translate(Oe.x,Oe.y).scale(tt))}if((0,lr.$)(Oe.x)&&(0,lr.$)(Oe.y)&&(0,lr.$)(Oe.zoom))return void this.rootSvgSelection.transition().duration(ce.duration).call(this.zoomBehavior.transform,Ko.translate(Oe.x,Oe.y).scale(Oe.zoom))}},{allowSignalWrites:!0}),this.handleZoom=({transform:ce})=>{this.viewportService.readableViewport.set(Lo(ce)),this.zoomableSelection.attr("transform",ce.toString())}}ngOnInit(){this.zoomBehavior=function Ci(){var Ut,En,Dn,j=gr,oe=Wr,ce=Ti,Oe=Hn,tt=os,ct=[0,1/0],qe=[[-1/0,-1/0],[1/0,1/0]],St=250,Bt=S,Ft=(0,o.Z)("start","zoom","end"),dn=500,pr=150,wt=0,A=10;function R(yt){yt.property("__zoom",yi).on("wheel.zoom",ir,{passive:!1}).on("mousedown.zoom",wr).on("dblclick.zoom",Gr).filter(tt).on("touchstart.zoom",Fr).on("touchmove.zoom",Lr).on("touchend.zoom touchcancel.zoom",Ki).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function E(yt,rn){return(rn=Math.max(ct[0],Math.min(ct[1],rn)))===yt.k?yt:new qo(rn,yt.x,yt.y)}function K(yt,rn,jt){var ln=rn[0]-jt[0]*yt.k,Pn=rn[1]-jt[1]*yt.k;return ln===yt.x&&Pn===yt.y?yt:new qo(yt.k,ln,Pn)}function pe(yt){return[(+yt[0][0]+ +yt[1][0])/2,(+yt[0][1]+ +yt[1][1])/2]}function xt(yt,rn,jt,ln){yt.on("start.zoom",function(){Qt(this,arguments).event(ln).start()}).on("interrupt.zoom end.zoom",function(){Qt(this,arguments).event(ln).end()}).tween("zoom",function(){var Pn=this,Qn=arguments,Yn=Qt(Pn,Qn).event(ln),fo=oe.apply(Pn,Qn),jo=null==jt?pe(fo):"function"==typeof jt?jt.apply(Pn,Qn):jt,Br=Math.max(fo[1][0]-fo[0][0],fo[1][1]-fo[0][1]),tr=Pn.__zoom,ur="function"==typeof rn?rn.apply(Pn,Qn):rn,ti=Bt(tr.invert(jo).concat(Br/tr.k),ur.invert(jo).concat(Br/ur.k));return function(Tr){if(1===Tr)Tr=ur;else{var hi=ti(Tr),xi=Br/hi[2];Tr=new qo(xi,jo[0]-hi[0]*xi,jo[1]-hi[1]*xi)}Yn.zoom(null,Tr)}})}function Qt(yt,rn,jt){return!jt&&yt.__zooming||new qn(yt,rn)}function qn(yt,rn){this.that=yt,this.args=rn,this.active=0,this.sourceEvent=null,this.extent=oe.apply(yt,rn),this.taps=0}function ir(yt,...rn){if(j.apply(this,arguments)){var jt=Qt(this,rn).event(yt),ln=this.__zoom,Pn=Math.max(ct[0],Math.min(ct[1],ln.k*Math.pow(2,Oe.apply(this,arguments)))),Qn=(0,C.Z)(yt);if(jt.wheel)(jt.mouse[0][0]!==Qn[0]||jt.mouse[0][1]!==Qn[1])&&(jt.mouse[1]=ln.invert(jt.mouse[0]=Qn)),clearTimeout(jt.wheel);else{if(ln.k===Pn)return;jt.mouse=[Qn,ln.invert(Qn)],Ie(this),jt.start()}er(yt),jt.wheel=setTimeout(function Yn(){jt.wheel=null,jt.end()},pr),jt.zoom("mouse",ce(K(E(ln,Pn),jt.mouse[0],jt.mouse[1]),jt.extent,qe))}}function wr(yt,...rn){if(!Dn&&j.apply(this,arguments)){var jt=yt.currentTarget,ln=Qt(this,rn,!0).event(yt),Pn=(0,p.Z)(yt.view).on("mousemove.zoom",function jo(tr){if(er(tr),!ln.moved){var ur=tr.clientX-Yn,ti=tr.clientY-fo;ln.moved=ur*ur+ti*ti>wt}ln.event(tr).zoom("mouse",ce(K(ln.that.__zoom,ln.mouse[0]=(0,C.Z)(tr,jt),ln.mouse[1]),ln.extent,qe))},!0).on("mouseup.zoom",function Br(tr){Pn.on("mousemove.zoom mouseup.zoom",null),(0,I.D)(tr.view,ln.moved),er(tr),ln.event(tr).end()},!0),Qn=(0,C.Z)(yt,jt),Yn=yt.clientX,fo=yt.clientY;(0,I.Z)(yt.view),vi(yt),ln.mouse=[Qn,this.__zoom.invert(Qn)],Ie(this),ln.start()}}function Gr(yt,...rn){if(j.apply(this,arguments)){var jt=this.__zoom,ln=(0,C.Z)(yt.changedTouches?yt.changedTouches[0]:yt,this),Pn=jt.invert(ln),Yn=ce(K(E(jt,jt.k*(yt.shiftKey?.5:2)),ln,Pn),oe.apply(this,rn),qe);er(yt),St>0?(0,p.Z)(this).transition().duration(St).call(xt,Yn,ln,yt):(0,p.Z)(this).call(R.transform,Yn,ln,yt)}}function Fr(yt,...rn){if(j.apply(this,arguments)){var Qn,Yn,fo,jo,jt=yt.touches,ln=jt.length,Pn=Qt(this,rn,yt.changedTouches.length===ln).event(yt);for(vi(yt),Yn=0;Ynthis.onD3zoomStart(ce)).on("zoom",ce=>this.handleZoom(ce)).on("end",ce=>this.onD3zoomEnd(ce)),this.rootSvgSelection.call(this.zoomBehavior).on("dblclick.zoom",null)}onD3zoomStart({transform:ce}){this.viewportForSelection={start:Lo(ce)}}onD3zoomEnd({transform:ce,sourceEvent:Oe}){this.viewportForSelection={...this.viewportForSelection,end:Lo(ce),target:Bo(Oe)},this.selectionService.setViewport(this.viewportForSelection)}static#e=this.\u0275fac=function(Oe){return new(Oe||j)};static#t=this.\u0275dir=s.lG2({type:j,selectors:[["g","mapContext",""]]})}return j})();const Lo=j=>({zoom:j.k,x:j.x,y:j.y}),Bo=j=>{if(j instanceof Event&&j.target instanceof Element)return j.target}},637:(ve,m,d)=>{"use strict";d.d(m,{V:()=>T});var s=d(5879),p=d(2181),o=d(9397),I=d(1993),k=d(948);let T=(()=>{class N{constructor(){this.hostElement=(0,s.f3M)(s.SBq).nativeElement,this.pointerMovementDirective=(0,s.f3M)(k.r),this.pointerOver=new s.vpe,this.pointerOut=new s.vpe,this.pointerStart=new s.vpe,this.pointerEnd=new s.vpe,this.wasPointerOver=!1,this.touchEnd=this.pointerMovementDirective.touchEnd$.pipe((0,p.h)(({target:S})=>S===this.hostElement),(0,o.b)(({originalEvent:S})=>this.pointerEnd.emit(S)),(0,I.sL)()).subscribe(),this.touchOverOut=this.pointerMovementDirective.touchMovement$.pipe((0,o.b)(({target:S,originalEvent:C})=>{this.handleTouchOverAndOut(S,C)}),(0,I.sL)()).subscribe()}onPointerStart(S){this.pointerStart.emit(S),S instanceof TouchEvent&&this.pointerMovementDirective.setInitialTouch(S)}onPointerEnd(S){this.pointerEnd.emit(S)}onMouseOver(S){this.pointerOver.emit(S)}onMouseOut(S){this.pointerOut.emit(S)}handleTouchOverAndOut(S,C){S===this.hostElement?(this.pointerOver.emit(C),this.wasPointerOver=!0):(this.wasPointerOver&&this.pointerOut.emit(C),this.wasPointerOver=!1)}static#e=this.\u0275fac=function(C){return new(C||N)};static#t=this.\u0275dir=s.lG2({type:N,selectors:[["","pointerStart",""],["","pointerEnd",""],["","pointerOver",""],["","pointerOut",""]],hostBindings:function(C,_){1&C&&s.NdJ("mousedown",function(L){return _.onPointerStart(L)})("touchstart",function(L){return _.onPointerStart(L)})("mouseup",function(L){return _.onPointerEnd(L)})("mouseover",function(L){return _.onMouseOver(L)})("mouseout",function(L){return _.onMouseOut(L)})},outputs:{pointerOver:"pointerOver",pointerOut:"pointerOut",pointerStart:"pointerStart",pointerEnd:"pointerEnd"}})}return N})()},4356:(ve,m,d)=>{"use strict";d.d(m,{$:()=>p});var s=d(5879);let p=(()=>{class o{constructor(){this.element=(0,s.f3M)(s.SBq).nativeElement}static#e=this.\u0275fac=function(T){return new(T||o)};static#t=this.\u0275dir=s.lG2({type:o,selectors:[["svg","rootSvgRef",""]]})}return o})()},948:(ve,m,d)=>{"use strict";d.d(m,{r:()=>C});var s=d(5879),p=d(8645),o=d(2438),I=d(7398),k=d(3093),T=d(927),N=d(3020),M=d(3019),S=d(9397);let C=(()=>{class _{constructor(){this.host=(0,s.f3M)(s.SBq).nativeElement,this.initialTouch$=new p.x,this.mouseMovement$=(0,o.R)(this.host,"mousemove").pipe((0,I.U)(L=>({x:L.clientX,y:L.clientY,originalEvent:L})),(0,k.Q)(T.Z),(0,N.B)()),this.touchMovement$=(0,M.T)(this.initialTouch$,(0,o.R)(this.host,"touchmove")).pipe((0,S.b)(L=>L.preventDefault()),(0,I.U)(L=>{const H=L.touches[0]?.clientX??0,V=L.touches[0]?.clientY??0;return{x:H,y:V,target:document.elementFromPoint(H,V),originalEvent:L}}),(0,k.Q)(T.Z),(0,N.B)()),this.touchEnd$=(0,o.R)(this.host,"touchend").pipe((0,I.U)(L=>{const H=L.changedTouches[0]?.clientX??0,V=L.changedTouches[0]?.clientY??0;return{x:H,y:V,target:document.elementFromPoint(H,V),originalEvent:L}}),(0,N.B)()),this.pointerMovement$=(0,M.T)(this.mouseMovement$,this.touchMovement$)}setInitialTouch(L){this.initialTouch$.next(L)}static#e=this.\u0275fac=function(H){return new(H||_)};static#t=this.\u0275dir=s.lG2({type:_,selectors:[["svg","rootPointer",""]]})}return _})()},4445:(ve,m,d)=>{"use strict";d.d(m,{C:()=>o});var s=d(5879),p=d(1981);let o=(()=>{class I{constructor(){this.flowStatusService=(0,s.f3M)(p.Q)}resetConnection(){"connection-start"===this.flowStatusService.status().state&&this.flowStatusService.setIdleStatus()}static#e=this.\u0275fac=function(N){return new(N||I)};static#t=this.\u0275dir=s.lG2({type:I,selectors:[["svg","rootSvgContext",""]],hostBindings:function(N,M){1&N&&s.NdJ("mouseup",function(){return M.resetConnection()},!1,s.evT)("touchend",function(){return M.resetConnection()},!1,s.evT)}})}return I})()},2757:(ve,m,d)=>{"use strict";d.d(m,{h:()=>T});var s=d(5879),p=d(9516),o=d(994),I=d(8567),k=d(5023);let T=(()=>{class N{constructor(){this.flowSettingsService=(0,s.f3M)(k.g),this.selectionService=(0,s.f3M)(p.z),this.parentEdge=(0,s.f3M)(o.p,{optional:!0}),this.parentNode=(0,s.f3M)(I.R,{optional:!0})}onMousedown(){const S=this.entity();S&&this.flowSettingsService.entitiesSelectable()&&this.selectionService.select(S)}entity(){return this.parentNode?this.parentNode.nodeModel:this.parentEdge?this.parentEdge.model:null}static#e=this.\u0275fac=function(C){return new(C||N)};static#t=this.\u0275dir=s.lG2({type:N,selectors:[["","selectable",""]],hostBindings:function(C,_){1&C&&s.NdJ("mousedown",function(){return _.onMousedown()})}})}return N})()},3767:(ve,m,d)=>{"use strict";d.d(m,{G:()=>k});var s=d(5879),p=d(1993),o=d(4356),I=d(948);let k=(()=>{class T{constructor(){this.pointerMovementDirective=(0,s.f3M)(I.r),this.rootSvg=(0,s.f3M)(o.$).element,this.host=(0,s.f3M)(s.SBq).nativeElement,this.svgCurrentSpacePoint=(0,s.Flj)(()=>{const M=this.pointerMovement();return M?this.documentPointToFlowPoint({x:M.x,y:M.y}):{x:0,y:0}}),this.pointerMovement=(0,p.O4)(this.pointerMovementDirective.pointerMovement$)}documentPointToFlowPoint(M){const S=this.rootSvg.createSVGPoint();return S.x=M.x,S.y=M.y,S.matrixTransform(this.host.getScreenCTM().inverse())}static#e=this.\u0275fac=function(S){return new(S||T)};static#t=this.\u0275dir=s.lG2({type:T,selectors:[["g","spacePointContext",""]]})}return T})()},8874:(ve,m,d)=>{"use strict";d.d(m,{B:()=>I,QC:()=>k,fn:()=>T,iS:()=>o,o6:()=>p});var s=d(5879);let p=(()=>{class N{constructor(){this.templateRef=(0,s.f3M)(s.Rgc)}static#e=this.\u0275fac=function(C){return new(C||N)};static#t=this.\u0275dir=s.lG2({type:N,selectors:[["ng-template","edge",""]]})}return N})(),o=(()=>{class N{constructor(){this.templateRef=(0,s.f3M)(s.Rgc)}static#e=this.\u0275fac=function(C){return new(C||N)};static#t=this.\u0275dir=s.lG2({type:N,selectors:[["ng-template","connection",""]]})}return N})(),I=(()=>{class N{constructor(){this.templateRef=(0,s.f3M)(s.Rgc)}static#e=this.\u0275fac=function(C){return new(C||N)};static#t=this.\u0275dir=s.lG2({type:N,selectors:[["ng-template","edgeLabelHtml",""]]})}return N})(),k=(()=>{class N{constructor(){this.templateRef=(0,s.f3M)(s.Rgc)}static#e=this.\u0275fac=function(C){return new(C||N)};static#t=this.\u0275dir=s.lG2({type:N,selectors:[["ng-template","nodeHtml",""]]})}return N})(),T=(()=>{class N{constructor(){this.templateRef=(0,s.f3M)(s.Rgc)}static#e=this.\u0275fac=function(C){return new(C||N)};static#t=this.\u0275dir=s.lG2({type:N,selectors:[["ng-template","handle",""]]})}return N})()},101:(ve,m,d)=>{"use strict";d.d(m,{JF:()=>o,bb:()=>I,tc:()=>M});var s=d(3870);function o(C){return"function"==typeof C.point}function I(C){return s.L.isPrototypeOf(C.type)}function M(C){return"default"===C.type}},6094:(ve,m,d)=>{"use strict";d.d(m,{x:()=>o});var s=d(6371),p=d(125);function o(N,M,S,C,_=[!1,!1,!1]){const F=(0,s.ET)();F.moveTo(N.x,N.y);const L={x:N.x-M.x,y:N.y-M.y},H=I(N,S,L),V=I(M,C,L);return F.bezierCurveTo(H.x,H.y,V.x,V.y,M.x,M.y),function k(N,M,S,C,_,F){const[L,H,V]=F,$={x:0,y:0};return{path:N.toString(),points:{start:L?T(M,S,C,_,.1):$,center:H?T(M,S,C,_,.5):$,end:V?T(M,S,C,_,.9):$}}}(F,N,M,H,V,_)}function I(N,M,S){const C={x:0,y:0};switch(M){case"top":C.y=1;break;case"bottom":C.y=-1;break;case"right":C.x=1;break;case"left":C.x=-1}const __x=S.x*Math.abs(C.x),__y=S.y*Math.abs(C.y),L=6.25*Math.sqrt(Math.abs(__x+__y));return{x:N.x+C.x*L,y:N.y-C.y*L}}function T(N,M,S,C,_){const F=(0,p.e)(N,S,_),L=(0,p.e)(S,C,_),H=(0,p.e)(C,M,_);return(0,p.e)((0,p.e)(F,L,_),(0,p.e)(L,H,_),_)}},2034:(ve,m,d)=>{"use strict";d.d(m,{V:()=>o});var s=d(6371),p=d(125);function o(I,k,T=[!1,!1,!1]){const[N,M,S]=T,C={x:0,y:0},_=(0,s.ET)();return _.moveTo(I.x,I.y),_.lineTo(k.x,k.y),{path:_.toString(),points:{start:N?(0,p.e)(I,k,.15):C,center:M?(0,p.e)(I,k,.5):C,end:S?(0,p.e)(I,k,.85):C}}}},125:(ve,m,d)=>{"use strict";function s(p,o,I){return{x:(1-I)*p.x+I*o.x,y:(1-I)*p.y+I*o.y}}d.d(m,{e:()=>s})},1553:(ve,m,d)=>{"use strict";d.d(m,{L:()=>s});class s{constructor(k){this.settings=k,this.curve=k.curve??"bezier",this.type=k.type??"default",this.mode=k.mode??"strict";const T=this.getValidators(k);this.validator=N=>T.every(M=>M(N))}getValidators(k){const T=[];return T.push(p),"loose"===this.mode&&T.push(o),k.validator&&T.push(k.validator),T}}const p=I=>I.source!==I.target,o=I=>void 0!==I.sourceHandle&&void 0!==I.targetHandle},3870:(ve,m,d)=>{"use strict";d.d(m,{L:()=>o});var s=d(2521),p=d(5879);let o=(()=>{class I extends s.O{ngOnInit(){this.node.data&&this.data.set(this.node.data),super.ngOnInit()}static#e=this.\u0275fac=function(){let T;return function(M){return(T||(T=p.n5z(I)))(M||I)}}();static#t=this.\u0275dir=p.lG2({type:I,inputs:{node:"node"},features:[p.qOj]})}return I})()},5091:(ve,m,d)=>{"use strict";d.d(m,{d:()=>o});var s=d(8645),p=d(5879);let o=(()=>{class I{constructor(){this._event$=new s.x,this.event$=this._event$.asObservable()}pushEvent(T){this._event$.next(T)}static#e=this.\u0275fac=function(N){return new(N||I)};static#t=this.\u0275prov=p.Yz7({token:I,factory:I.\u0275fac})}return I})()},9672:(ve,m,d)=>{"use strict";d.d(m,{$:()=>V});var s=d(9567),p=d(8477),o=d(5045),I=d(1551),k=d(4537);const T=$=>()=>$;function N($,{sourceEvent:Y,subject:ae,target:se,identifier:re,active:G,x:Z,y:X,dx:te,dy:fe,dispatch:Ee}){Object.defineProperties(this,{type:{value:$,enumerable:!0,configurable:!0},sourceEvent:{value:Y,enumerable:!0,configurable:!0},subject:{value:ae,enumerable:!0,configurable:!0},target:{value:se,enumerable:!0,configurable:!0},identifier:{value:re,enumerable:!0,configurable:!0},active:{value:G,enumerable:!0,configurable:!0},x:{value:Z,enumerable:!0,configurable:!0},y:{value:X,enumerable:!0,configurable:!0},dx:{value:te,enumerable:!0,configurable:!0},dy:{value:fe,enumerable:!0,configurable:!0},_:{value:Ee}})}function M($){return!$.ctrlKey&&!$.button}function S(){return this.parentNode}function C($,Y){return Y??{x:$.x,y:$.y}}function _(){return navigator.maxTouchPoints||"ontouchstart"in this}function F(){var X,te,fe,Ee,$=M,Y=S,ae=C,se=_,re={},G=(0,p.Z)("start","drag","end"),Z=0,xe=0;function Ie(he){he.on("mousedown.drag",Le).filter(se).on("touchstart.drag",nt).on("touchmove.drag",me,k.Q7).on("touchend.drag touchcancel.drag",Ne).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function Le(he,Ke){if(!Ee&&$.call(this,he,Ke)){var Pe=ke(this,Y.call(this,he,Ke),he,Ke,"mouse");Pe&&((0,s.Z)(he.view).on("mousemove.drag",Ue,k.Dd).on("mouseup.drag",Xe,k.Dd),(0,I.Z)(he.view),(0,k.rG)(he),fe=!1,X=he.clientX,te=he.clientY,Pe("start",he))}}function Ue(he){if((0,k.ZP)(he),!fe){var Ke=he.clientX-X,Pe=he.clientY-te;fe=Ke*Ke+Pe*Pe>xe}re.mouse("drag",he)}function Xe(he){(0,s.Z)(he.view).on("mousemove.drag mouseup.drag",null),(0,I.D)(he.view,fe),(0,k.ZP)(he),re.mouse("end",he)}function nt(he,Ke){if($.call(this,he,Ke)){var bt,pt,Pe=he.changedTouches,st=Y.call(this,he,Ke),dt=Pe.length;for(bt=0;btMath.round(100*$)/100;var H=d(5879);let V=(()=>{class ${enable(ae,se){(0,s.Z)(ae).call(this.getDragBehavior(se))}disable(ae){(0,s.Z)(ae).call(this.getIgnoreDragBehavior())}destroy(ae){(0,s.Z)(ae).on(".drag",null)}getDragBehavior(ae){let se,re;return F().on("start",G=>{se=ae.point().x-G.x,re=ae.point().y-G.y}).on("drag",G=>{ae.setPoint({x:L(G.x+se),y:L(G.y+re)})})}getIgnoreDragBehavior(){return F().on("drag",ae=>{ae.sourceEvent.stopPropagation()})}static#e=this.\u0275fac=function(se){return new(se||$)};static#t=this.\u0275prov=H.Yz7({token:$,factory:$.\u0275fac})}return $})()},3258:(ve,m,d)=>{"use strict";d.d(m,{q:()=>I});var s=d(5879),p=d(1553),o=d(2925);let I=(()=>{class k{constructor(){this.nodes=(0,s.tdS)([],{equal:(N,M)=>!N.length&&!M.length||N===M}),this.edges=(0,s.tdS)([],{equal:(N,M)=>!N.length&&!M.length||N===M}),this.connection=(0,s.tdS)(new p.L({})),this.markers=(0,s.Flj)(()=>{const N=new Map;this.validEdges().forEach(S=>{if(S.edge.markers?.start){const C=(0,o.u)(JSON.stringify(S.edge.markers.start));N.set(C,S.edge.markers.start)}if(S.edge.markers?.end){const C=(0,o.u)(JSON.stringify(S.edge.markers.end));N.set(C,S.edge.markers.end)}});const M=this.connection().settings.marker;if(M){const S=(0,o.u)(JSON.stringify(M));N.set(S,M)}return N}),this.validEdges=(0,s.Flj)(()=>{const N=this.nodes();return this.edges().filter(M=>N.includes(M.source())&&N.includes(M.target()))}),this.entities=(0,s.Flj)(()=>[...this.nodes(),...this.edges()])}getNode(N){return this.nodes().find(({node:M})=>M.id===N)}getDetachedEdges(){return this.edges().filter(N=>N.detached())}static#e=this.\u0275fac=function(M){return new(M||k)};static#t=this.\u0275prov=s.Yz7({token:k,factory:k.\u0275fac})}return k})()},5023:(ve,m,d)=>{"use strict";d.d(m,{g:()=>p});var s=d(5879);let p=(()=>{class o{constructor(){this.entitiesSelectable=(0,s.tdS)(!0),this.handlePositions=(0,s.tdS)({source:"right",target:"left"}),this.view=(0,s.tdS)([400,400]),this.computedFlowWidth=(0,s.tdS)(0),this.computedFlowHeight=(0,s.tdS)(0),this.minZoom=(0,s.tdS)(.5),this.maxZoom=(0,s.tdS)(3)}static#e=this.\u0275fac=function(T){return new(T||o)};static#t=this.\u0275prov=s.Yz7({token:o,factory:o.\u0275fac})}return o})()},1981:(ve,m,d)=>{"use strict";d.d(m,{Q:()=>p,a:()=>o});var s=d(5879);let p=(()=>{class I{constructor(){this.status=(0,s.tdS)({state:"idle",payload:null})}setIdleStatus(){this.status.set({state:"idle",payload:null})}setConnectionStartStatus(T,N){this.status.set({state:"connection-start",payload:{source:T,sourceHandle:N}})}setConnectionValidationStatus(T,N,M,S,C){this.status.set({state:"connection-validation",payload:{source:N,target:M,sourceHandle:S,targetHandle:C,valid:T}})}setConnectionEndStatus(T,N,M,S){this.status.set({state:"connection-end",payload:{source:T,target:N,sourceHandle:M,targetHandle:S}})}static#e=this.\u0275fac=function(N){return new(N||I)};static#t=this.\u0275prov=s.Yz7({token:I,factory:I.\u0275fac})}return I})();function o(...I){if(I.length){const[k,...T]=I;k(),T.forEach(N=>setTimeout(()=>N()))}}},3986:(ve,m,d)=>{"use strict";d.d(m,{n:()=>p});var s=d(5879);let p=(()=>{class o{constructor(){this.node=(0,s.tdS)(null)}createHandle(k){const T=this.node();T&&T.handles.update(N=>[...N,k])}destroyHandle(k){const T=this.node();T&&T.handles.update(N=>N.filter(M=>M!==k))}static#e=this.\u0275fac=function(T){return new(T||o)};static#t=this.\u0275prov=s.Yz7({token:o,factory:o.\u0275fac})}return o})()},726:(ve,m,d)=>{"use strict";d.d(m,{W:()=>o});var s=d(5879),p=d(3258);let o=(()=>{class I{constructor(){this.flowEntitiesService=(0,s.f3M)(p.q),this.nodes=(0,s.Flj)(()=>this.flowEntitiesService.nodes().sort((T,N)=>T.renderOrder()-N.renderOrder()))}pullNode(T){const N=Math.max(...this.flowEntitiesService.nodes().map(M=>M.renderOrder()));T.renderOrder.set(N+1)}static#e=this.\u0275fac=function(N){return new(N||I)};static#t=this.\u0275prov=s.Yz7({token:I,factory:I.\u0275fac})}return I})()},9516:(ve,m,d)=>{"use strict";d.d(m,{z:()=>T});var s=d(5879),p=d(3258),o=d(8645),I=d(9397),k=d(1993);let T=(()=>{class N{constructor(){this.flowEntitiesService=(0,s.f3M)(p.q),this.viewport$=new o.x,this.resetSelection=this.viewport$.pipe((0,I.b)(({start:S,end:C,target:_})=>{if(S&&C&&_){const F=N.delta,L=Math.abs(C.x-S.x),H=Math.abs(C.y-S.y),V=LC.selected).forEach(C=>C.selected.set(!1)),S&&S.selected.set(!0)}static#t=this.\u0275fac=function(C){return new(C||N)};static#n=this.\u0275prov=s.Yz7({token:N,factory:N.\u0275fac})}return N})()},2189:(ve,m,d)=>{"use strict";d.d(m,{v:()=>C});var s=d(5879);var T=d(3258);var S=d(5023);let C=(()=>{class _{constructor(){this.entitiesService=(0,s.f3M)(T.q),this.flowSettingsService=(0,s.f3M)(S.g),this.writableViewport=(0,s.tdS)({changeType:"initial",state:_.getDefaultViewport(),duration:0}),this.readableViewport=(0,s.tdS)(_.getDefaultViewport())}static getDefaultViewport(){return{zoom:1,x:0,y:0}}fitView(L={padding:.1,duration:0,nodes:[]}){const V=function N(_,F,L,H,V,$){const re=function M(_,F=0,L=1){return Math.min(Math.max(_,F),L)}(Math.min(F/(_.width*(1+$)),L/(_.height*(1+$))),H,V);return{x:F/2-(_.x+_.width/2)*re,y:L/2-(_.y+_.height/2)*re,zoom:re}}(function p(_){if(0===_.length)return{x:0,y:0,width:0,height:0};let F={x:1/0,y:1/0,x2:-1/0,y2:-1/0};return _.forEach(L=>{const H=function o(_){return{x:_.point().x,y:_.point().y,x2:_.point().x+_.size().width,y2:_.point().y+_.size().height}}(L);F=function k(_,F){return{x:Math.min(_.x,F.x),y:Math.min(_.y,F.y),x2:Math.max(_.x2,F.x2),y2:Math.max(_.y2,F.y2)}}(F,H)}),function I({x:_,y:F,x2:L,y2:H}){return{x:_,y:F,width:L-_,height:H-F}}(F)}(this.getBoundsNodes(L.nodes??[])),this.flowSettingsService.computedFlowWidth(),this.flowSettingsService.computedFlowHeight(),this.flowSettingsService.minZoom(),this.flowSettingsService.maxZoom(),L.padding??.1);this.writableViewport.set({changeType:"absolute",state:V,duration:L.duration??0})}getBoundsNodes(L){return L?.length?L.map(H=>this.entitiesService.nodes().find(({node:V})=>V.id===H)).filter(H=>!!H):this.entitiesService.nodes()}static#e=this.\u0275fac=function(H){return new(H||_)};static#t=this.\u0275prov=s.Yz7({token:_,factory:_.\u0275fac})}return _})()},2925:(ve,m,d)=>{"use strict";function s(p){return p.split("").reduce((o,I)=>(o=(o<<5)-o+I.charCodeAt(0))&o,0)}d.d(m,{u:()=>s})},1567:(ve,m,d)=>{"use strict";function s(p){return void 0!==p}d.d(m,{$:()=>s})},667:(ve,m,d)=>{"use strict";d.d(m,{$:()=>p});var s=d(5592);function p(o){return new s.y(I=>{let k=new ResizeObserver(T=>{I.next(T)});return o.forEach(T=>k.observe(T)),()=>k.disconnect()})}},2898:(ve,m,d)=>{"use strict";d.d(m,{p:()=>te});var s=d(6814),re=(d(8944),d(8567),d(8034),d(994),d(9461),d(8874),d(5085),d(3767),d(4356),d(4445),d(5036),d(2274),d(1848),d(2757),d(637),d(948),d(494),d(2712),d(5879));let te=(()=>{class fe{static#e=this.\u0275fac=function(Ie){return new(Ie||fe)};static#t=this.\u0275mod=re.oAB({type:fe});static#n=this.\u0275inj=re.cJS({imports:[s.ez]})}return fe})()},2549:(ve,m,d)=>{"use strict";d.d(m,{Al:()=>o,Li:()=>N,wq:()=>_});var s=d(5879);const p=new s.OlP("Context from *polymorpheusOutlet");class o{constructor(L,H){this.component=L,this.injector=H}createInjector(L,H){return s.zs3.create({parent:this.injector||L,providers:[{provide:p,useValue:H}]})}}let I=(()=>{class F{constructor(H,V){this.template=H,this.changeDetectorRef=V,this.polymorpheus=""}check(){this.changeDetectorRef.markForCheck()}static ngTemplateContextGuard(H,V){return!0}}return F.\u0275fac=function(H){return new(H||F)(s.Y36(s.Rgc,2),s.Y36(s.sBO))},F.\u0275dir=s.lG2({type:F,selectors:[["ng-template","polymorpheus",""]],inputs:{polymorpheus:"polymorpheus"},exportAs:["polymorpheus"]}),F})();class T{constructor(L){this.$implicit=L}get polymorpheusOutlet(){return this.$implicit}}let N=(()=>{class F{constructor(H,V,$){this.viewContainerRef=H,this.injector=V,this.templateRef=$,this.content=""}get template(){return M(this.content)?this.content.template:this.content instanceof s.Rgc?this.content:this.templateRef}ngOnChanges({content:H}){const V=this.getContext();if(this.viewRef&&(this.viewRef.context=V),this.componentRef&&this.componentRef.injector.get(s.sBO).markForCheck(),H)if(this.viewContainerRef.clear(),S(this.content)){const Y=this.context&&new Proxy(this.context,{get:(re,G)=>{var Z;return null===(Z=this.context)||void 0===Z?void 0:Z[G]}}),ae=this.content.createInjector(this.injector,Y),se=ae.get(s._Vd).resolveComponentFactory(this.content.component);this.componentRef=this.viewContainerRef.createComponent(se,0,ae)}else null!=(V instanceof T&&V.$implicit)&&(this.viewRef=this.viewContainerRef.createEmbeddedView(this.template,V))}ngDoCheck(){M(this.content)&&this.content.check()}static ngTemplateContextGuard(H,V){return!0}getContext(){return function C(F){return M(F)||F instanceof s.Rgc}(this.content)||S(this.content)?this.context:new T("function"==typeof this.content?this.content(this.context):this.content)}}return F.\u0275fac=function(H){return new(H||F)(s.Y36(s.s_b),s.Y36(s.zs3),s.Y36(s.Rgc))},F.\u0275dir=s.lG2({type:F,selectors:[["","polymorpheusOutlet",""]],inputs:{content:["polymorpheusOutlet","content"],context:["polymorpheusOutletContext","context"]},features:[s.TTD]}),F})();function M(F){return F instanceof I}function S(F){return F instanceof o}let _=(()=>{class F{}return F.\u0275fac=function(H){return new(H||F)},F.\u0275mod=s.oAB({type:F}),F.\u0275inj=s.cJS({}),F})()},70:(ve,m,d)=>{"use strict";d.r(m),d.d(m,{AttributeAction:()=>o,IgnoreCaseMode:()=>p,SelectorType:()=>s,isTraversal:()=>M,parse:()=>H,stringify:()=>G});var s=function(xe){return xe.Attribute="attribute",xe.Pseudo="pseudo",xe.PseudoElement="pseudo-element",xe.Tag="tag",xe.Universal="universal",xe.Adjacent="adjacent",xe.Child="child",xe.Descendant="descendant",xe.Parent="parent",xe.Sibling="sibling",xe.ColumnCombinator="column-combinator",xe}(s||{});const p={Unknown:null,QuirksMode:"quirks",IgnoreCase:!0,CaseSensitive:!1};var o=function(xe){return xe.Any="any",xe.Element="element",xe.End="end",xe.Equals="equals",xe.Exists="exists",xe.Hyphen="hyphen",xe.Not="not",xe.Start="start",xe}(o||{});const I=/^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,k=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,T=new Map([[126,o.Element],[94,o.Start],[36,o.End],[42,o.Any],[33,o.Not],[124,o.Hyphen]]),N=new Set(["has","not","matches","is","where","host","host-context"]);function M(xe){switch(xe.type){case s.Adjacent:case s.Child:case s.Descendant:case s.Parent:case s.Sibling:case s.ColumnCombinator:return!0;default:return!1}}const S=new Set(["contains","icontains"]);function C(xe,Ie,Le){const Ue=parseInt(Ie,16)-65536;return Ue!=Ue||Le?Ie:Ue<0?String.fromCharCode(Ue+65536):String.fromCharCode(Ue>>10|55296,1023&Ue|56320)}function _(xe){return xe.replace(k,C)}function F(xe){return 39===xe||34===xe}function L(xe){return 32===xe||9===xe||10===xe||12===xe||13===xe}function H(xe){const Ie=[],Le=V(Ie,`${xe}`,0);if(Le0&&Le0&&M(Ue[Ue.length-1]))throw new Error("Did not expect successive traversals.")}function he(st){Ue.length>0&&Ue[Ue.length-1].type===s.Descendant?Ue[Ue.length-1].type=st:(ke(),Ue.push({type:st}))}function Ke(st,dt){Ue.push({type:s.Attribute,name:st,action:dt,value:Xe(1),namespace:null,ignoreCase:"quirks"})}function Pe(){if(Ue.length&&Ue[Ue.length-1].type===s.Descendant&&Ue.pop(),0===Ue.length)throw new Error("Empty sub-selector");xe.push(Ue)}if(nt(0),Ie.length===Le)return Le;e:for(;Lexe.charCodeAt(0))),se=new Set(Y.map(xe=>xe.charCodeAt(0))),re=new Set([...Y,"~","^","$","*","+","!","|",":","[","]"," ","."].map(xe=>xe.charCodeAt(0)));function G(xe){return xe.map(Ie=>Ie.map(Z).join("")).join(", ")}function Z(xe,Ie,Le){switch(xe.type){case s.Child:return 0===Ie?"> ":" > ";case s.Parent:return 0===Ie?"< ":" < ";case s.Sibling:return 0===Ie?"~ ":" ~ ";case s.Adjacent:return 0===Ie?"+ ":" + ";case s.Descendant:return" ";case s.ColumnCombinator:return 0===Ie?"|| ":" || ";case s.Universal:return"*"===xe.namespace&&Ie+10?Ue+xe.slice(Le):xe}},3218:(ve,m)=>{"use strict";var d,p;Object.defineProperty(m,"__esModule",{value:!0}),m.Doctype=m.CDATA=m.Tag=m.Style=m.Script=m.Comment=m.Directive=m.Text=m.Root=m.isTag=m.ElementType=void 0,(p=d=m.ElementType||(m.ElementType={})).Root="root",p.Text="text",p.Directive="directive",p.Comment="comment",p.Script="script",p.Style="style",p.Tag="tag",p.CDATA="cdata",p.Doctype="doctype",m.isTag=function s(p){return p.type===d.Tag||p.type===d.Script||p.type===d.Style},m.Root=d.Root,m.Text=d.Text,m.Directive=d.Directive,m.Comment=d.Comment,m.Script=d.Script,m.Style=d.Style,m.Tag=d.Tag,m.CDATA=d.CDATA,m.Doctype=d.Doctype},7212:ve=>{"use strict";function m(o,I){return!(!I||!p(o))||!!function s(o){return"[object String]"===Object.prototype.toString.call(o)}(o)&&(o=o.replace(/\s/g,"").replace(/\n|\r/,""),/^\{(.*?)\}$/.test(o)?/"(.*?)":(.*?)/g.test(o):!!/^\[(.*?)\]$/.test(o)&&o.replace(/^\[/,"").replace(/\]$/,"").replace(/},{/g,"}\n{").split(/\n/).map(function(k){return m(k)}).reduce(function(k,T){return!!T}))}function p(o){return"[object Object]"===Object.prototype.toString.call(o)}ve.exports=m,m.strict=function d(o){if(p(o))return!0;try{return JSON.parse(o)&&!0}catch{return!1}}},1761:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.a=class{constructor(s){this.source=s,this.lastPosition={line:1,column:1},this.lastIndex=0}getPosition(s){if(s{"use strict";Object.defineProperty(m,"__esModule",{value:!0});var s=d(1761),p=d(7030),o={lowerCaseTags:!1,lowerCaseAttributeNames:!1,decodeEntities:!1},I=[{name:"!doctype",start:"<",end:">"}],k=m.parser=(T,N={})=>{let M=new s.a(T),S=[],C=[],_=0,F={};function L(){return S[S.length-1]}function H(X,te){return X.name instanceof RegExp?new RegExp(X.name.source,"i").test(te):te===X.name}let Z=new p.Parser({onprocessinginstruction:function $(X,te){var fe;let Ee=I.concat(null!=(fe=N.directives)?fe:[]),xe=L();for(let Ie of Ee){let Le=Ie.start+te+Ie.end;if(H(Ie,X.toLowerCase())){if(void 0===xe)return void C.push(Le);"object"==typeof xe&&(void 0===xe.content&&(xe.content=[]),Array.isArray(xe.content)&&xe.content.push(Le))}}},oncomment:function Y(X){let te=L(),fe=`\x3c!--${X}--\x3e`;void 0!==te?"object"==typeof te&&(void 0===te.content&&(te.content=[]),Array.isArray(te.content)&&te.content.push(fe)):C.push(fe)},onattribute:function ae(X,te,fe){void 0===fe&&(F[X]=!0)},onopentag:function se(X,te){let fe={tag:X};N.sourceLocations&&(fe.location={start:M.getPosition(Z.startIndex),end:M.getPosition(Z.endIndex)},_=Z.endIndex),Object.keys(te).length>0&&(fe.attrs=function V(X){let te={};return Object.keys(X).forEach(fe=>{let Ee={};Ee[fe]=String(X[fe]).replace(/"/g,'"'),N.recognizeNoValueAttribute&&F[fe]&&(Ee[fe]=!0),Object.assign(te,Ee)}),te}(te)),F={},S.push(fe)},onclosetag:function re(X,te){let fe=S.pop();if(fe&&"object"==typeof fe&&fe.location&&null!==Z.endIndex&&(te?_0){let fe=te.content[te.content.length-1];if("string"==typeof fe&&!fe.startsWith("\x3c!--"))return void(te.content[te.content.length-1]=`${fe}${X}`)}void 0===te.content&&(te.content=[]),Array.isArray(te.content)&&te.content.push(X)}}else C.push(X)}},{...o,...N});return Z.write(T),Z.end(),C};m.parser=k},6863:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.attributeNames=m.elementNames=void 0,m.elementNames=new Map([["altglyph","altGlyph"],["altglyphdef","altGlyphDef"],["altglyphitem","altGlyphItem"],["animatecolor","animateColor"],["animatemotion","animateMotion"],["animatetransform","animateTransform"],["clippath","clipPath"],["feblend","feBlend"],["fecolormatrix","feColorMatrix"],["fecomponenttransfer","feComponentTransfer"],["fecomposite","feComposite"],["feconvolvematrix","feConvolveMatrix"],["fediffuselighting","feDiffuseLighting"],["fedisplacementmap","feDisplacementMap"],["fedistantlight","feDistantLight"],["fedropshadow","feDropShadow"],["feflood","feFlood"],["fefunca","feFuncA"],["fefuncb","feFuncB"],["fefuncg","feFuncG"],["fefuncr","feFuncR"],["fegaussianblur","feGaussianBlur"],["feimage","feImage"],["femerge","feMerge"],["femergenode","feMergeNode"],["femorphology","feMorphology"],["feoffset","feOffset"],["fepointlight","fePointLight"],["fespecularlighting","feSpecularLighting"],["fespotlight","feSpotLight"],["fetile","feTile"],["feturbulence","feTurbulence"],["foreignobject","foreignObject"],["glyphref","glyphRef"],["lineargradient","linearGradient"],["radialgradient","radialGradient"],["textpath","textPath"]]),m.attributeNames=new Map([["definitionurl","definitionURL"],["attributename","attributeName"],["attributetype","attributeType"],["basefrequency","baseFrequency"],["baseprofile","baseProfile"],["calcmode","calcMode"],["clippathunits","clipPathUnits"],["diffuseconstant","diffuseConstant"],["edgemode","edgeMode"],["filterunits","filterUnits"],["glyphref","glyphRef"],["gradienttransform","gradientTransform"],["gradientunits","gradientUnits"],["kernelmatrix","kernelMatrix"],["kernelunitlength","kernelUnitLength"],["keypoints","keyPoints"],["keysplines","keySplines"],["keytimes","keyTimes"],["lengthadjust","lengthAdjust"],["limitingconeangle","limitingConeAngle"],["markerheight","markerHeight"],["markerunits","markerUnits"],["markerwidth","markerWidth"],["maskcontentunits","maskContentUnits"],["maskunits","maskUnits"],["numoctaves","numOctaves"],["pathlength","pathLength"],["patterncontentunits","patternContentUnits"],["patterntransform","patternTransform"],["patternunits","patternUnits"],["pointsatx","pointsAtX"],["pointsaty","pointsAtY"],["pointsatz","pointsAtZ"],["preservealpha","preserveAlpha"],["preserveaspectratio","preserveAspectRatio"],["primitiveunits","primitiveUnits"],["refx","refX"],["refy","refY"],["repeatcount","repeatCount"],["repeatdur","repeatDur"],["requiredextensions","requiredExtensions"],["requiredfeatures","requiredFeatures"],["specularconstant","specularConstant"],["specularexponent","specularExponent"],["spreadmethod","spreadMethod"],["startoffset","startOffset"],["stddeviation","stdDeviation"],["stitchtiles","stitchTiles"],["surfacescale","surfaceScale"],["systemlanguage","systemLanguage"],["tablevalues","tableValues"],["targetx","targetX"],["targety","targetY"],["textlength","textLength"],["viewbox","viewBox"],["viewtarget","viewTarget"],["xchannelselector","xChannelSelector"],["ychannelselector","yChannelSelector"],["zoomandpan","zoomAndPan"]])},3758:function(ve,m,d){"use strict";var s=this&&this.__assign||function(){return s=Object.assign||function(re){for(var G,Z=1,X=arguments.length;Z"}(re);case k.Comment:return function se(re){return"\x3c!--"+re.data+"--\x3e"}(re);case k.CDATA:return function ae(re){return""}(re);case k.Script:case k.Style:case k.Tag:return function V(re,G){var Z;"foreign"===G.xmlMode&&(re.name=null!==(Z=N.elementNames.get(re.name))&&void 0!==Z?Z:re.name,re.parent&&L.has(re.parent.name)&&(G=s(s({},G),{xmlMode:!1}))),!G.xmlMode&&H.has(re.name)&&(G=s(s({},G),{xmlMode:"foreign"}));var X="<"+re.name,te=function S(re,G){if(re)return Object.keys(re).map(function(Z){var X,te,fe=null!==(X=re[Z])&&void 0!==X?X:"";return"foreign"===G.xmlMode&&(Z=null!==(te=N.attributeNames.get(Z))&&void 0!==te?te:Z),G.emptyAttrs||G.xmlMode||""!==fe?Z+'="'+(!1!==G.decodeEntities?T.encodeXML(fe):fe.replace(/"/g,"""))+'"':Z}).join(" ")}(re.attribs,G);return te&&(X+=" "+te),0===re.children.length&&(G.xmlMode?!1!==G.selfClosingTags:G.selfClosingTags&&C.has(re.name))?(G.xmlMode||(X+=" "),X+="/>"):(X+=">",re.children.length>0&&(X+=_(re.children,G)),(G.xmlMode||!C.has(re.name))&&(X+="")),X}(re,G);case k.Text:return function Y(re,G){var Z=re.data||"";return!1!==G.decodeEntities&&!(!G.xmlMode&&re.parent&&M.has(re.parent.name))&&(Z=T.encodeXML(Z)),Z}(re,G)}}m.default=_;var L=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),H=new Set(["svg","math"])},7272:function(ve,m,d){"use strict";var s=this&&this.__importDefault||function(C){return C&&C.__esModule?C:{default:C}};Object.defineProperty(m,"__esModule",{value:!0}),m.decodeHTML=m.decodeHTMLStrict=m.decodeXML=void 0;var p=s(d(3653)),o=s(d(4127)),I=s(d(148)),k=s(d(4452)),T=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;function N(C){var _=S(C);return function(F){return String(F).replace(T,_)}}m.decodeXML=N(I.default),m.decodeHTMLStrict=N(p.default);var M=function(C,_){return C<_?1:-1};function S(C){return function(F){if("#"===F.charAt(1)){var L=F.charAt(2);return k.default("X"===L||"x"===L?parseInt(F.substr(3),16):parseInt(F.substr(2),10))}return C[F.slice(1,-1)]||F}}m.decodeHTML=function(){for(var C=Object.keys(o.default).sort(M),_=Object.keys(p.default).sort(M),F=0,L=0;F<_.length;F++)C[L]===_[F]?(_[F]+=";?",L++):_[F]+=";";var H=new RegExp("&(?:"+_.join("|")+"|#[xX][\\da-fA-F]+;?|#\\d+;?)","g"),V=S(p.default);function $(Y){return";"!==Y.substr(-1)&&(Y+=";"),V(Y)}return function(Y){return String(Y).replace(H,$)}}()},4452:function(ve,m,d){"use strict";var s=this&&this.__importDefault||function(k){return k&&k.__esModule?k:{default:k}};Object.defineProperty(m,"__esModule",{value:!0});var p=s(d(1677)),o=String.fromCodePoint||function(k){var T="";return k>65535&&(k-=65536,T+=String.fromCharCode(k>>>10&1023|55296),k=56320|1023&k),T+String.fromCharCode(k)};m.default=function I(k){return k>=55296&&k<=57343||k>1114111?"\ufffd":(k in p.default&&(k=p.default[k]),o(k))}},1557:function(ve,m,d){"use strict";var s=this&&this.__importDefault||function(ae){return ae&&ae.__esModule?ae:{default:ae}};Object.defineProperty(m,"__esModule",{value:!0}),m.escapeUTF8=m.escape=m.encodeNonAsciiHTML=m.encodeHTML=m.encodeXML=void 0;var o=M(s(d(148)).default),I=S(o);m.encodeXML=Y(o);var T=M(s(d(3653)).default),N=S(T);function M(ae){return Object.keys(ae).sort().reduce(function(se,re){return se[ae[re]]="&"+re+";",se},{})}function S(ae){for(var se=[],re=[],G=0,Z=Object.keys(ae);G1?_(ae):ae.charCodeAt(0)).toString(16).toUpperCase()+";"}var H=new RegExp(I.source+"|"+C.source,"g");function Y(ae){return function(se){return se.replace(H,function(re){return ae[re]||F(re)})}}m.escape=function V(ae){return ae.replace(H,F)},m.escapeUTF8=function $(ae){return ae.replace(I,F)}},6031:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.decodeXMLStrict=m.decodeHTML5Strict=m.decodeHTML4Strict=m.decodeHTML5=m.decodeHTML4=m.decodeHTMLStrict=m.decodeHTML=m.decodeXML=m.encodeHTML5=m.encodeHTML4=m.escapeUTF8=m.escape=m.encodeNonAsciiHTML=m.encodeHTML=m.encodeXML=m.encode=m.decodeStrict=m.decode=void 0;var s=d(7272),p=d(1557);m.decode=function o(M,S){return(!S||S<=0?s.decodeXML:s.decodeHTML)(M)},m.decodeStrict=function I(M,S){return(!S||S<=0?s.decodeXML:s.decodeHTMLStrict)(M)},m.encode=function k(M,S){return(!S||S<=0?p.encodeXML:p.encodeHTML)(M)};var T=d(1557);Object.defineProperty(m,"encodeXML",{enumerable:!0,get:function(){return T.encodeXML}}),Object.defineProperty(m,"encodeHTML",{enumerable:!0,get:function(){return T.encodeHTML}}),Object.defineProperty(m,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return T.encodeNonAsciiHTML}}),Object.defineProperty(m,"escape",{enumerable:!0,get:function(){return T.escape}}),Object.defineProperty(m,"escapeUTF8",{enumerable:!0,get:function(){return T.escapeUTF8}}),Object.defineProperty(m,"encodeHTML4",{enumerable:!0,get:function(){return T.encodeHTML}}),Object.defineProperty(m,"encodeHTML5",{enumerable:!0,get:function(){return T.encodeHTML}});var N=d(7272);Object.defineProperty(m,"decodeXML",{enumerable:!0,get:function(){return N.decodeXML}}),Object.defineProperty(m,"decodeHTML",{enumerable:!0,get:function(){return N.decodeHTML}}),Object.defineProperty(m,"decodeHTMLStrict",{enumerable:!0,get:function(){return N.decodeHTMLStrict}}),Object.defineProperty(m,"decodeHTML4",{enumerable:!0,get:function(){return N.decodeHTML}}),Object.defineProperty(m,"decodeHTML5",{enumerable:!0,get:function(){return N.decodeHTML}}),Object.defineProperty(m,"decodeHTML4Strict",{enumerable:!0,get:function(){return N.decodeHTMLStrict}}),Object.defineProperty(m,"decodeHTML5Strict",{enumerable:!0,get:function(){return N.decodeHTMLStrict}}),Object.defineProperty(m,"decodeXMLStrict",{enumerable:!0,get:function(){return N.decodeXML}})},9131:function(ve,m,d){"use strict";var s=this&&this.__createBinding||(Object.create?function(M,S,C,_){void 0===_&&(_=C);var F=Object.getOwnPropertyDescriptor(S,C);(!F||("get"in F?!S.__esModule:F.writable||F.configurable))&&(F={enumerable:!0,get:function(){return S[C]}}),Object.defineProperty(M,_,F)}:function(M,S,C,_){void 0===_&&(_=C),M[_]=S[C]}),p=this&&this.__exportStar||function(M,S){for(var C in M)"default"!==C&&!Object.prototype.hasOwnProperty.call(S,C)&&s(S,M,C)};Object.defineProperty(m,"__esModule",{value:!0}),m.DomHandler=void 0;var o=d(3218),I=d(7942);p(d(7942),m);var k=/\s+/g,T={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1,xmlMode:!1},N=function(){function M(S,C,_){this.dom=[],this.root=new I.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof C&&(_=C,C=T),"object"==typeof S&&(C=S,S=void 0),this.callback=S??null,this.options=C??T,this.elementCB=_??null}return M.prototype.onparserinit=function(S){this.parser=S},M.prototype.onreset=function(){this.dom=[],this.root=new I.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null},M.prototype.onend=function(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))},M.prototype.onerror=function(S){this.handleCallback(S)},M.prototype.onclosetag=function(){this.lastNode=null;var S=this.tagStack.pop();this.options.withEndIndices&&(S.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(S)},M.prototype.onopentag=function(S,C){var F=new I.Element(S,C,void 0,this.options.xmlMode?o.ElementType.Tag:void 0);this.addNode(F),this.tagStack.push(F)},M.prototype.ontext=function(S){var C=this.options.normalizeWhitespace,_=this.lastNode;if(_&&_.type===o.ElementType.Text)C?_.data=(_.data+S).replace(k," "):_.data+=S,this.options.withEndIndices&&(_.endIndex=this.parser.endIndex);else{C&&(S=S.replace(k," "));var F=new I.Text(S);this.addNode(F),this.lastNode=F}},M.prototype.oncomment=function(S){if(this.lastNode&&this.lastNode.type===o.ElementType.Comment)this.lastNode.data+=S;else{var C=new I.Comment(S);this.addNode(C),this.lastNode=C}},M.prototype.oncommentend=function(){this.lastNode=null},M.prototype.oncdatastart=function(){var S=new I.Text(""),C=new I.NodeWithChildren(o.ElementType.CDATA,[S]);this.addNode(C),S.parent=C,this.lastNode=S},M.prototype.oncdataend=function(){this.lastNode=null},M.prototype.onprocessinginstruction=function(S,C){var _=new I.ProcessingInstruction(S,C);this.addNode(_)},M.prototype.handleCallback=function(S){if("function"==typeof this.callback)this.callback(S,this.dom);else if(S)throw S},M.prototype.addNode=function(S){var C=this.tagStack[this.tagStack.length-1],_=C.children[C.children.length-1];this.options.withStartIndices&&(S.startIndex=this.parser.startIndex),this.options.withEndIndices&&(S.endIndex=this.parser.endIndex),C.children.push(S),_&&(S.prev=_,_.next=S),S.parent=C,this.lastNode=null},M}();m.DomHandler=N,m.default=N},7942:function(ve,m,d){"use strict";var Z,s=this&&this.__extends||(Z=function(X,te){return(Z=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(fe,Ee){fe.__proto__=Ee}||function(fe,Ee){for(var xe in Ee)Object.prototype.hasOwnProperty.call(Ee,xe)&&(fe[xe]=Ee[xe])})(X,te)},function(X,te){if("function"!=typeof te&&null!==te)throw new TypeError("Class extends value "+String(te)+" is not a constructor or null");function fe(){this.constructor=X}Z(X,te),X.prototype=null===te?Object.create(te):(fe.prototype=te.prototype,new fe)}),p=this&&this.__assign||function(){return p=Object.assign||function(Z){for(var X,te=1,fe=arguments.length;te0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(X.prototype,"childNodes",{get:function(){return this.children},set:function(te){this.children=te},enumerable:!1,configurable:!0}),X}(k);m.NodeWithChildren=C;var _=function(Z){function X(te){return Z.call(this,o.ElementType.Root,te)||this}return s(X,Z),X}(C);m.Document=_;var F=function(Z){function X(te,fe,Ee,xe){void 0===Ee&&(Ee=[]),void 0===xe&&(xe="script"===te?o.ElementType.Script:"style"===te?o.ElementType.Style:o.ElementType.Tag);var Ie=Z.call(this,xe,Ee)||this;return Ie.name=te,Ie.attribs=fe,Ie}return s(X,Z),Object.defineProperty(X.prototype,"tagName",{get:function(){return this.name},set:function(te){this.name=te},enumerable:!1,configurable:!0}),Object.defineProperty(X.prototype,"attributes",{get:function(){var te=this;return Object.keys(this.attribs).map(function(fe){var Ee,xe;return{name:fe,value:te.attribs[fe],namespace:null===(Ee=te["x-attribsNamespace"])||void 0===Ee?void 0:Ee[fe],prefix:null===(xe=te["x-attribsPrefix"])||void 0===xe?void 0:xe[fe]}})},enumerable:!1,configurable:!0}),X}(C);function L(Z){return(0,o.isTag)(Z)}function H(Z){return Z.type===o.ElementType.CDATA}function V(Z){return Z.type===o.ElementType.Text}function $(Z){return Z.type===o.ElementType.Comment}function Y(Z){return Z.type===o.ElementType.Directive}function ae(Z){return Z.type===o.ElementType.Root}function re(Z,X){var te;if(void 0===X&&(X=!1),V(Z))te=new N(Z.data);else if($(Z))te=new M(Z.data);else if(L(Z)){var fe=X?G(Z.children):[],Ee=new F(Z.name,p({},Z.attribs),fe);fe.forEach(function(Ue){return Ue.parent=Ee}),null!=Z.namespace&&(Ee.namespace=Z.namespace),Z["x-attribsNamespace"]&&(Ee["x-attribsNamespace"]=p({},Z["x-attribsNamespace"])),Z["x-attribsPrefix"]&&(Ee["x-attribsPrefix"]=p({},Z["x-attribsPrefix"])),te=Ee}else if(H(Z)){fe=X?G(Z.children):[];var xe=new C(o.ElementType.CDATA,fe);fe.forEach(function(Xe){return Xe.parent=xe}),te=xe}else if(ae(Z)){fe=X?G(Z.children):[];var Ie=new _(fe);fe.forEach(function(Xe){return Xe.parent=Ie}),Z["x-mode"]&&(Ie["x-mode"]=Z["x-mode"]),te=Ie}else{if(!Y(Z))throw new Error("Not implemented yet: ".concat(Z.type));var Le=new S(Z.name,Z.data);null!=Z["x-name"]&&(Le["x-name"]=Z["x-name"],Le["x-publicId"]=Z["x-publicId"],Le["x-systemId"]=Z["x-systemId"]),te=Le}return te.startIndex=Z.startIndex,te.endIndex=Z.endIndex,null!=Z.sourceCodeLocation&&(te.sourceCodeLocation=Z.sourceCodeLocation),te}function G(Z){for(var X=Z.map(function(fe){return re(fe,!0)}),te=1;te{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.getFeed=void 0;var s=d(210),p=d(7710);m.getFeed=function o(L){var H=S(F,L);return H?"feed"===H.name?function I(L){var H,V=L.children,$={type:"atom",items:(0,p.getElementsByTagName)("entry",V).map(function(se){var re,G=se.children,Z={media:M(G)};_(Z,"id","id",G),_(Z,"title","title",G);var X=null===(re=S("link",G))||void 0===re?void 0:re.attribs.href;X&&(Z.link=X);var te=C("summary",G)||C("content",G);te&&(Z.description=te);var fe=C("updated",G);return fe&&(Z.pubDate=new Date(fe)),Z})};_($,"id","id",V),_($,"title","title",V);var Y=null===(H=S("link",V))||void 0===H?void 0:H.attribs.href;Y&&($.link=Y),_($,"description","subtitle",V);var ae=C("updated",V);return ae&&($.updated=new Date(ae)),_($,"author","email",V,!0),$}(H):function k(L){var H,V,$=null!==(V=null===(H=S("channel",L.children))||void 0===H?void 0:H.children)&&void 0!==V?V:[],Y={type:L.name.substr(0,3),id:"",items:(0,p.getElementsByTagName)("item",L.children).map(function(se){var re=se.children,G={media:M(re)};_(G,"id","guid",re),_(G,"title","title",re),_(G,"link","link",re),_(G,"description","description",re);var Z=C("pubDate",re);return Z&&(G.pubDate=new Date(Z)),G})};_(Y,"title","title",$),_(Y,"link","link",$),_(Y,"description","description",$);var ae=C("lastBuildDate",$);return ae&&(Y.updated=new Date(ae)),_(Y,"author","managingEditor",$,!0),Y}(H):null};var T=["url","type","lang"],N=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function M(L){return(0,p.getElementsByTagName)("media:content",L).map(function(H){for(var V=H.attribs,$={medium:V.medium,isDefault:!!V.isDefault},Y=0,ae=T;Y{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.uniqueSort=m.compareDocumentPosition=m.removeSubsets=void 0;var s=d(9131);function o(k,T){var N=[],M=[];if(k===T)return 0;for(var S=(0,s.hasChildren)(k)?k:k.parent;S;)N.unshift(S),S=S.parent;for(S=(0,s.hasChildren)(T)?T:T.parent;S;)M.unshift(S),S=S.parent;for(var C=Math.min(N.length,M.length),_=0;_L.indexOf(V)?F===T?20:4:F===k?10:2}m.removeSubsets=function p(k){for(var T=k.length;--T>=0;){var N=k[T];if(T>0&&k.lastIndexOf(N,T-1)>=0)k.splice(T,1);else for(var M=N.parent;M;M=M.parent)if(k.includes(M)){k.splice(T,1);break}}return k},m.compareDocumentPosition=o,m.uniqueSort=function I(k){return(k=k.filter(function(T,N,M){return!M.includes(T,N+1)})).sort(function(T,N){var M=o(T,N);return 2&M?-1:4&M?1:0}),k}},5149:function(ve,m,d){"use strict";var s=this&&this.__createBinding||(Object.create?function(I,k,T,N){void 0===N&&(N=T),Object.defineProperty(I,N,{enumerable:!0,get:function(){return k[T]}})}:function(I,k,T,N){void 0===N&&(N=T),I[N]=k[T]}),p=this&&this.__exportStar||function(I,k){for(var T in I)"default"!==T&&!Object.prototype.hasOwnProperty.call(k,T)&&s(k,I,T)};Object.defineProperty(m,"__esModule",{value:!0}),m.hasChildren=m.isDocument=m.isComment=m.isText=m.isCDATA=m.isTag=void 0,p(d(210),m),p(d(7445),m),p(d(7192),m),p(d(3364),m),p(d(7710),m),p(d(6278),m),p(d(7932),m);var o=d(9131);Object.defineProperty(m,"isTag",{enumerable:!0,get:function(){return o.isTag}}),Object.defineProperty(m,"isCDATA",{enumerable:!0,get:function(){return o.isCDATA}}),Object.defineProperty(m,"isText",{enumerable:!0,get:function(){return o.isText}}),Object.defineProperty(m,"isComment",{enumerable:!0,get:function(){return o.isComment}}),Object.defineProperty(m,"isDocument",{enumerable:!0,get:function(){return o.isDocument}}),Object.defineProperty(m,"hasChildren",{enumerable:!0,get:function(){return o.hasChildren}})},7710:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.getElementsByTagType=m.getElementsByTagName=m.getElementById=m.getElements=m.testElement=void 0;var s=d(9131),p=d(3364),o={tag_name:function(F){return"function"==typeof F?function(L){return(0,s.isTag)(L)&&F(L.name)}:"*"===F?s.isTag:function(L){return(0,s.isTag)(L)&&L.name===F}},tag_type:function(F){return"function"==typeof F?function(L){return F(L.type)}:function(L){return L.type===F}},tag_contains:function(F){return"function"==typeof F?function(L){return(0,s.isText)(L)&&F(L.data)}:function(L){return(0,s.isText)(L)&&L.data===F}}};function I(F,L){return"function"==typeof L?function(H){return(0,s.isTag)(H)&&L(H.attribs[F])}:function(H){return(0,s.isTag)(H)&&H.attribs[F]===L}}function k(F,L){return function(H){return F(H)||L(H)}}function T(F){var L=Object.keys(F).map(function(H){var V=F[H];return Object.prototype.hasOwnProperty.call(o,H)?o[H](V):I(H,V)});return 0===L.length?null:L.reduce(k)}m.testElement=function N(F,L){var H=T(F);return!H||H(L)},m.getElements=function M(F,L,H,V){void 0===V&&(V=1/0);var $=T(F);return $?(0,p.filter)($,L,H,V):[]},m.getElementById=function S(F,L,H){return void 0===H&&(H=!0),Array.isArray(L)||(L=[L]),(0,p.findOne)(I("id",F),L,H)},m.getElementsByTagName=function C(F,L,H,V){return void 0===H&&(H=!0),void 0===V&&(V=1/0),(0,p.filter)(o.tag_name(F),L,H,V)},m.getElementsByTagType=function _(F,L,H,V){return void 0===H&&(H=!0),void 0===V&&(V=1/0),(0,p.filter)(o.tag_type(F),L,H,V)}},7192:(ve,m)=>{"use strict";function d(T){if(T.prev&&(T.prev.next=T.next),T.next&&(T.next.prev=T.prev),T.parent){var N=T.parent.children;N.splice(N.lastIndexOf(T),1)}}Object.defineProperty(m,"__esModule",{value:!0}),m.prepend=m.prependChild=m.append=m.appendChild=m.replaceElement=m.removeElement=void 0,m.removeElement=d,m.replaceElement=function s(T,N){var M=N.prev=T.prev;M&&(M.next=N);var S=N.next=T.next;S&&(S.prev=N);var C=N.parent=T.parent;if(C){var _=C.children;_[_.lastIndexOf(T)]=N}},m.appendChild=function p(T,N){if(d(N),N.next=null,N.parent=T,T.children.push(N)>1){var M=T.children[T.children.length-2];M.next=N,N.prev=M}else N.prev=null},m.append=function o(T,N){d(N);var M=T.parent,S=T.next;if(N.next=S,N.prev=T,T.next=N,N.parent=M,S){if(S.prev=N,M){var C=M.children;C.splice(C.lastIndexOf(S),0,N)}}else M&&M.children.push(N)},m.prependChild=function I(T,N){if(d(N),N.parent=T,N.prev=null,1!==T.children.unshift(N)){var M=T.children[1];M.prev=N,N.next=M}else N.next=null},m.prepend=function k(T,N){d(N);var M=T.parent;if(M){var S=M.children;S.splice(S.indexOf(T),0,N)}T.prev&&(T.prev.next=N),N.parent=M,N.prev=T.prev,N.next=T,T.prev=N}},3364:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.findAll=m.existsOne=m.findOne=m.findOneChild=m.find=m.filter=void 0;var s=d(9131);function o(M,S,C,_){for(var F=[],L=0,H=S;L0){var $=o(M,V.children,C,_);if(F.push.apply(F,$),(_-=$.length)<=0)break}}return F}m.filter=function p(M,S,C,_){return void 0===C&&(C=!0),void 0===_&&(_=1/0),Array.isArray(S)||(S=[S]),o(M,S,C,_)},m.find=o,m.findOneChild=function I(M,S){return S.find(M)},m.findOne=function k(M,S,C){void 0===C&&(C=!0);for(var _=null,F=0;F0&&(_=k(M,L.children)))}return _},m.existsOne=function T(M,S){return S.some(function(C){return(0,s.isTag)(C)&&(M(C)||C.children.length>0&&T(M,C.children))})},m.findAll=function N(M,S){for(var C,L,_=[],F=S.filter(s.isTag);L=F.shift();){var H=null===(C=L.children)||void 0===C?void 0:C.filter(s.isTag);H&&H.length>0&&F.unshift.apply(F,H),M(L)&&_.push(L)}return _}},210:function(ve,m,d){"use strict";var s=this&&this.__importDefault||function(C){return C&&C.__esModule?C:{default:C}};Object.defineProperty(m,"__esModule",{value:!0}),m.innerText=m.textContent=m.getText=m.getInnerHTML=m.getOuterHTML=void 0;var p=d(9131),o=s(d(3758)),I=d(3218);function k(C,_){return(0,o.default)(C,_)}m.getOuterHTML=k,m.getInnerHTML=function T(C,_){return(0,p.hasChildren)(C)?C.children.map(function(F){return k(F,_)}).join(""):""},m.getText=function N(C){return Array.isArray(C)?C.map(N).join(""):(0,p.isTag)(C)?"br"===C.name?"\n":N(C.children):(0,p.isCDATA)(C)?N(C.children):(0,p.isText)(C)?C.data:""},m.textContent=function M(C){return Array.isArray(C)?C.map(M).join(""):(0,p.hasChildren)(C)&&!(0,p.isComment)(C)?M(C.children):(0,p.isText)(C)?C.data:""},m.innerText=function S(C){return Array.isArray(C)?C.map(S).join(""):(0,p.hasChildren)(C)&&(C.type===I.ElementType.Tag||(0,p.isCDATA)(C))?S(C.children):(0,p.isText)(C)?C.data:""}},7445:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.prevElementSibling=m.nextElementSibling=m.getName=m.hasAttrib=m.getAttributeValue=m.getSiblings=m.getParent=m.getChildren=void 0;var s=d(9131),p=[];function o(_){var F;return null!==(F=_.children)&&void 0!==F?F:p}function I(_){return _.parent||null}m.getChildren=o,m.getParent=I,m.getSiblings=function k(_){var H=I(_);if(null!=H)return o(H);for(var V=[_],$=_.prev,Y=_.next;null!=$;)V.unshift($),$=$.prev;for(;null!=Y;)V.push(Y),Y=Y.next;return V},m.getAttributeValue=function T(_,F){var L;return null===(L=_.attribs)||void 0===L?void 0:L[F]},m.hasAttrib=function N(_,F){return null!=_.attribs&&Object.prototype.hasOwnProperty.call(_.attribs,F)&&null!=_.attribs[F]},m.getName=function M(_){return _.name},m.nextElementSibling=function S(_){for(var L=_.next;null!==L&&!(0,s.isTag)(L);)L=L.next;return L},m.prevElementSibling=function C(_){for(var L=_.prev;null!==L&&!(0,s.isTag)(L);)L=L.prev;return L}},356:function(ve,m,d){"use strict";var s=this&&this.__importDefault||function(L){return L&&L.__esModule?L:{default:L}};Object.defineProperty(m,"__esModule",{value:!0}),m.decodeXML=m.decodeHTMLStrict=m.decodeHTML=m.determineBranch=m.JUMP_OFFSET_BASE=m.BinTrieFlags=m.xmlDecodeTree=m.htmlDecodeTree=void 0;var p=s(d(8891));m.htmlDecodeTree=p.default;var o=s(d(6381));m.xmlDecodeTree=o.default;var k,L,I=s(d(396));function T(L){return function(V,$){for(var Y="",ae=0,se=0;(se=V.indexOf("&",se))>=0;)if(Y+=V.slice(ae,se),ae=se,35!==V.charCodeAt(se+=1)){for(var fe=null,Ee=1,xe=0,Ie=L[xe];se=48&&Z<=57||16===G&&(32|Z)>=97&&(32|Z)<=102;);if(re!==se){var X=V.substring(re,se),te=parseInt(X,G);if(59===V.charCodeAt(se))se+=1;else if($)continue;Y+=I.default(te),ae=se}}return Y+V.slice(ae)}}function N(L,H,V,$){if(H<=128)return $===H?V:-1;var Y=(H&k.BRANCH_LENGTH)>>8;if(0===Y)return-1;if(1===Y)return $===L[V]?V+1:-1;var ae=H&k.JUMP_TABLE;if(ae){var se=$-m.JUMP_OFFSET_BASE-ae;return se<0||se>Y?-1:L[V+se]-1}for(var re=V,G=re+Y-1;re<=G;){var Z=re+G>>>1,X=L[Z];if(X<$)re=Z+1;else{if(!(X>$))return L[Z+Y];G=Z-1}}return-1}(L=k=m.BinTrieFlags||(m.BinTrieFlags={}))[L.HAS_VALUE=32768]="HAS_VALUE",L[L.BRANCH_LENGTH=32512]="BRANCH_LENGTH",L[L.MULTI_BYTE=128]="MULTI_BYTE",L[L.JUMP_TABLE=127]="JUMP_TABLE",m.JUMP_OFFSET_BASE=47,m.determineBranch=N;var M=T(p.default),S=T(o.default);m.decodeHTML=function C(L){return M(L,!1)},m.decodeHTMLStrict=function _(L){return M(L,!0)},m.decodeXML=function F(L){return S(L,!0)}},396:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});var d=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),s=String.fromCodePoint||function(o){var I="";return o>65535&&(o-=65536,I+=String.fromCharCode(o>>>10&1023|55296),o=56320|1023&o),I+String.fromCharCode(o)};m.default=function p(o){var I;return o>=55296&&o<=57343||o>1114111?"\ufffd":s(null!==(I=d.get(o))&&void 0!==I?I:o)}},8891:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.default=new Uint16Array([14866,60,237,340,721,1312,1562,1654,1838,1957,2183,2239,2301,2958,3037,3893,4123,4298,4330,4801,5191,5395,5752,5903,5943,5972,6050,0,0,0,0,0,0,6135,6565,7422,8183,8738,9242,9503,9938,10189,10573,10637,10715,11950,12246,13539,13950,14445,14533,15364,16514,16980,17390,17763,17849,18036,18125,4096,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,92,100,106,115,122,137,142,151,157,163,167,182,196,204,220,229,108,105,103,33024,198,59,32768,198,80,33024,38,59,32768,38,99,117,116,101,33024,193,59,32768,193,114,101,118,101,59,32768,258,512,105,121,127,134,114,99,33024,194,59,32768,194,59,32768,1040,114,59,32896,55349,56580,114,97,118,101,33024,192,59,32768,192,112,104,97,59,32768,913,97,99,114,59,32768,256,100,59,32768,10835,512,103,112,172,177,111,110,59,32768,260,102,59,32896,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,32768,8289,105,110,103,33024,197,59,32768,197,512,99,115,209,214,114,59,32896,55349,56476,105,103,110,59,32768,8788,105,108,100,101,33024,195,59,32768,195,109,108,33024,196,59,32768,196,2048,97,99,101,102,111,114,115,117,253,278,282,310,315,321,327,332,512,99,114,258,267,107,115,108,97,115,104,59,32768,8726,583,271,274,59,32768,10983,101,100,59,32768,8966,121,59,32768,1041,768,99,114,116,289,296,306,97,117,115,101,59,32768,8757,110,111,117,108,108,105,115,59,32768,8492,97,59,32768,914,114,59,32896,55349,56581,112,102,59,32896,55349,56633,101,118,101,59,32768,728,99,114,59,32768,8492,109,112,101,113,59,32768,8782,3584,72,79,97,99,100,101,102,104,105,108,111,114,115,117,368,373,380,426,461,466,487,491,495,533,593,695,701,707,99,121,59,32768,1063,80,89,33024,169,59,32768,169,768,99,112,121,387,393,419,117,116,101,59,32768,262,512,59,105,398,400,32768,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,32768,8517,108,101,121,115,59,32768,8493,1024,97,101,105,111,435,441,449,454,114,111,110,59,32768,268,100,105,108,33024,199,59,32768,199,114,99,59,32768,264,110,105,110,116,59,32768,8752,111,116,59,32768,266,512,100,110,471,478,105,108,108,97,59,32768,184,116,101,114,68,111,116,59,32768,183,114,59,32768,8493,105,59,32768,935,114,99,108,101,1024,68,77,80,84,508,513,520,526,111,116,59,32768,8857,105,110,117,115,59,32768,8854,108,117,115,59,32768,8853,105,109,101,115,59,32768,8855,111,512,99,115,539,562,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,32768,8754,101,67,117,114,108,121,512,68,81,573,586,111,117,98,108,101,81,117,111,116,101,59,32768,8221,117,111,116,101,59,32768,8217,1024,108,110,112,117,602,614,648,664,111,110,512,59,101,609,611,32768,8759,59,32768,10868,768,103,105,116,621,629,634,114,117,101,110,116,59,32768,8801,110,116,59,32768,8751,111,117,114,73,110,116,101,103,114,97,108,59,32768,8750,512,102,114,653,656,59,32768,8450,111,100,117,99,116,59,32768,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,32768,8755,111,115,115,59,32768,10799,99,114,59,32896,55349,56478,112,512,59,67,713,715,32768,8915,97,112,59,32768,8781,2816,68,74,83,90,97,99,101,102,105,111,115,743,758,763,768,773,795,809,821,826,910,1295,512,59,111,748,750,32768,8517,116,114,97,104,100,59,32768,10513,99,121,59,32768,1026,99,121,59,32768,1029,99,121,59,32768,1039,768,103,114,115,780,786,790,103,101,114,59,32768,8225,114,59,32768,8609,104,118,59,32768,10980,512,97,121,800,806,114,111,110,59,32768,270,59,32768,1044,108,512,59,116,815,817,32768,8711,97,59,32768,916,114,59,32896,55349,56583,512,97,102,831,897,512,99,109,836,891,114,105,116,105,99,97,108,1024,65,68,71,84,852,859,877,884,99,117,116,101,59,32768,180,111,581,864,867,59,32768,729,98,108,101,65,99,117,116,101,59,32768,733,114,97,118,101,59,32768,96,105,108,100,101,59,32768,732,111,110,100,59,32768,8900,102,101,114,101,110,116,105,97,108,68,59,32768,8518,2113,920,0,0,0,925,946,0,1139,102,59,32896,55349,56635,768,59,68,69,931,933,938,32768,168,111,116,59,32768,8412,113,117,97,108,59,32768,8784,98,108,101,1536,67,68,76,82,85,86,961,978,996,1080,1101,1125,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,32768,8751,111,1093,985,0,0,988,59,32768,168,110,65,114,114,111,119,59,32768,8659,512,101,111,1001,1034,102,116,768,65,82,84,1010,1017,1029,114,114,111,119,59,32768,8656,105,103,104,116,65,114,114,111,119,59,32768,8660,101,101,59,32768,10980,110,103,512,76,82,1041,1068,101,102,116,512,65,82,1049,1056,114,114,111,119,59,32768,10232,105,103,104,116,65,114,114,111,119,59,32768,10234,105,103,104,116,65,114,114,111,119,59,32768,10233,105,103,104,116,512,65,84,1089,1096,114,114,111,119,59,32768,8658,101,101,59,32768,8872,112,1042,1108,0,0,1115,114,114,111,119,59,32768,8657,111,119,110,65,114,114,111,119,59,32768,8661,101,114,116,105,99,97,108,66,97,114,59,32768,8741,110,1536,65,66,76,82,84,97,1152,1179,1186,1236,1272,1288,114,114,111,119,768,59,66,85,1163,1165,1170,32768,8595,97,114,59,32768,10515,112,65,114,114,111,119,59,32768,8693,114,101,118,101,59,32768,785,101,102,116,1315,1196,0,1209,0,1220,105,103,104,116,86,101,99,116,111,114,59,32768,10576,101,101,86,101,99,116,111,114,59,32768,10590,101,99,116,111,114,512,59,66,1229,1231,32768,8637,97,114,59,32768,10582,105,103,104,116,805,1245,0,1256,101,101,86,101,99,116,111,114,59,32768,10591,101,99,116,111,114,512,59,66,1265,1267,32768,8641,97,114,59,32768,10583,101,101,512,59,65,1279,1281,32768,8868,114,114,111,119,59,32768,8615,114,114,111,119,59,32768,8659,512,99,116,1300,1305,114,59,32896,55349,56479,114,111,107,59,32768,272,4096,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1344,1348,1354,1363,1386,1391,1396,1405,1413,1460,1475,1483,1514,1527,1531,1538,71,59,32768,330,72,33024,208,59,32768,208,99,117,116,101,33024,201,59,32768,201,768,97,105,121,1370,1376,1383,114,111,110,59,32768,282,114,99,33024,202,59,32768,202,59,32768,1069,111,116,59,32768,278,114,59,32896,55349,56584,114,97,118,101,33024,200,59,32768,200,101,109,101,110,116,59,32768,8712,512,97,112,1418,1423,99,114,59,32768,274,116,121,1060,1431,0,0,1444,109,97,108,108,83,113,117,97,114,101,59,32768,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,32768,9643,512,103,112,1465,1470,111,110,59,32768,280,102,59,32896,55349,56636,115,105,108,111,110,59,32768,917,117,512,97,105,1489,1504,108,512,59,84,1495,1497,32768,10869,105,108,100,101,59,32768,8770,108,105,98,114,105,117,109,59,32768,8652,512,99,105,1519,1523,114,59,32768,8496,109,59,32768,10867,97,59,32768,919,109,108,33024,203,59,32768,203,512,105,112,1543,1549,115,116,115,59,32768,8707,111,110,101,110,116,105,97,108,69,59,32768,8519,1280,99,102,105,111,115,1572,1576,1581,1620,1648,121,59,32768,1060,114,59,32896,55349,56585,108,108,101,100,1060,1591,0,0,1604,109,97,108,108,83,113,117,97,114,101,59,32768,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,32768,9642,1601,1628,0,1633,0,0,1639,102,59,32896,55349,56637,65,108,108,59,32768,8704,114,105,101,114,116,114,102,59,32768,8497,99,114,59,32768,8497,3072,74,84,97,98,99,100,102,103,111,114,115,116,1678,1683,1688,1701,1708,1729,1734,1739,1742,1748,1828,1834,99,121,59,32768,1027,33024,62,59,32768,62,109,109,97,512,59,100,1696,1698,32768,915,59,32768,988,114,101,118,101,59,32768,286,768,101,105,121,1715,1721,1726,100,105,108,59,32768,290,114,99,59,32768,284,59,32768,1043,111,116,59,32768,288,114,59,32896,55349,56586,59,32768,8921,112,102,59,32896,55349,56638,101,97,116,101,114,1536,69,70,71,76,83,84,1766,1783,1794,1803,1809,1821,113,117,97,108,512,59,76,1775,1777,32768,8805,101,115,115,59,32768,8923,117,108,108,69,113,117,97,108,59,32768,8807,114,101,97,116,101,114,59,32768,10914,101,115,115,59,32768,8823,108,97,110,116,69,113,117,97,108,59,32768,10878,105,108,100,101,59,32768,8819,99,114,59,32896,55349,56482,59,32768,8811,2048,65,97,99,102,105,111,115,117,1854,1861,1874,1880,1884,1897,1919,1934,82,68,99,121,59,32768,1066,512,99,116,1866,1871,101,107,59,32768,711,59,32768,94,105,114,99,59,32768,292,114,59,32768,8460,108,98,101,114,116,83,112,97,99,101,59,32768,8459,833,1902,0,1906,102,59,32768,8461,105,122,111,110,116,97,108,76,105,110,101,59,32768,9472,512,99,116,1924,1928,114,59,32768,8459,114,111,107,59,32768,294,109,112,533,1940,1950,111,119,110,72,117,109,112,59,32768,8782,113,117,97,108,59,32768,8783,3584,69,74,79,97,99,100,102,103,109,110,111,115,116,117,1985,1990,1996,2001,2010,2025,2030,2034,2043,2077,2134,2155,2160,2167,99,121,59,32768,1045,108,105,103,59,32768,306,99,121,59,32768,1025,99,117,116,101,33024,205,59,32768,205,512,105,121,2015,2022,114,99,33024,206,59,32768,206,59,32768,1048,111,116,59,32768,304,114,59,32768,8465,114,97,118,101,33024,204,59,32768,204,768,59,97,112,2050,2052,2070,32768,8465,512,99,103,2057,2061,114,59,32768,298,105,110,97,114,121,73,59,32768,8520,108,105,101,115,59,32768,8658,837,2082,0,2110,512,59,101,2086,2088,32768,8748,512,103,114,2093,2099,114,97,108,59,32768,8747,115,101,99,116,105,111,110,59,32768,8898,105,115,105,98,108,101,512,67,84,2120,2127,111,109,109,97,59,32768,8291,105,109,101,115,59,32768,8290,768,103,112,116,2141,2146,2151,111,110,59,32768,302,102,59,32896,55349,56640,97,59,32768,921,99,114,59,32768,8464,105,108,100,101,59,32768,296,828,2172,0,2177,99,121,59,32768,1030,108,33024,207,59,32768,207,1280,99,102,111,115,117,2193,2206,2211,2217,2232,512,105,121,2198,2203,114,99,59,32768,308,59,32768,1049,114,59,32896,55349,56589,112,102,59,32896,55349,56641,820,2222,0,2227,114,59,32896,55349,56485,114,99,121,59,32768,1032,107,99,121,59,32768,1028,1792,72,74,97,99,102,111,115,2253,2258,2263,2269,2283,2288,2294,99,121,59,32768,1061,99,121,59,32768,1036,112,112,97,59,32768,922,512,101,121,2274,2280,100,105,108,59,32768,310,59,32768,1050,114,59,32896,55349,56590,112,102,59,32896,55349,56642,99,114,59,32896,55349,56486,2816,74,84,97,99,101,102,108,109,111,115,116,2323,2328,2333,2374,2396,2775,2780,2797,2804,2934,2954,99,121,59,32768,1033,33024,60,59,32768,60,1280,99,109,110,112,114,2344,2350,2356,2360,2370,117,116,101,59,32768,313,98,100,97,59,32768,923,103,59,32768,10218,108,97,99,101,116,114,102,59,32768,8466,114,59,32768,8606,768,97,101,121,2381,2387,2393,114,111,110,59,32768,317,100,105,108,59,32768,315,59,32768,1051,512,102,115,2401,2702,116,2560,65,67,68,70,82,84,85,86,97,114,2423,2470,2479,2530,2537,2561,2618,2666,2683,2690,512,110,114,2428,2441,103,108,101,66,114,97,99,107,101,116,59,32768,10216,114,111,119,768,59,66,82,2451,2453,2458,32768,8592,97,114,59,32768,8676,105,103,104,116,65,114,114,111,119,59,32768,8646,101,105,108,105,110,103,59,32768,8968,111,838,2485,0,2498,98,108,101,66,114,97,99,107,101,116,59,32768,10214,110,805,2503,0,2514,101,101,86,101,99,116,111,114,59,32768,10593,101,99,116,111,114,512,59,66,2523,2525,32768,8643,97,114,59,32768,10585,108,111,111,114,59,32768,8970,105,103,104,116,512,65,86,2546,2553,114,114,111,119,59,32768,8596,101,99,116,111,114,59,32768,10574,512,101,114,2566,2591,101,768,59,65,86,2574,2576,2583,32768,8867,114,114,111,119,59,32768,8612,101,99,116,111,114,59,32768,10586,105,97,110,103,108,101,768,59,66,69,2604,2606,2611,32768,8882,97,114,59,32768,10703,113,117,97,108,59,32768,8884,112,768,68,84,86,2626,2638,2649,111,119,110,86,101,99,116,111,114,59,32768,10577,101,101,86,101,99,116,111,114,59,32768,10592,101,99,116,111,114,512,59,66,2659,2661,32768,8639,97,114,59,32768,10584,101,99,116,111,114,512,59,66,2676,2678,32768,8636,97,114,59,32768,10578,114,114,111,119,59,32768,8656,105,103,104,116,97,114,114,111,119,59,32768,8660,115,1536,69,70,71,76,83,84,2716,2730,2741,2750,2756,2768,113,117,97,108,71,114,101,97,116,101,114,59,32768,8922,117,108,108,69,113,117,97,108,59,32768,8806,114,101,97,116,101,114,59,32768,8822,101,115,115,59,32768,10913,108,97,110,116,69,113,117,97,108,59,32768,10877,105,108,100,101,59,32768,8818,114,59,32896,55349,56591,512,59,101,2785,2787,32768,8920,102,116,97,114,114,111,119,59,32768,8666,105,100,111,116,59,32768,319,768,110,112,119,2811,2899,2904,103,1024,76,82,108,114,2821,2848,2860,2887,101,102,116,512,65,82,2829,2836,114,114,111,119,59,32768,10229,105,103,104,116,65,114,114,111,119,59,32768,10231,105,103,104,116,65,114,114,111,119,59,32768,10230,101,102,116,512,97,114,2868,2875,114,114,111,119,59,32768,10232,105,103,104,116,97,114,114,111,119,59,32768,10234,105,103,104,116,97,114,114,111,119,59,32768,10233,102,59,32896,55349,56643,101,114,512,76,82,2911,2922,101,102,116,65,114,114,111,119,59,32768,8601,105,103,104,116,65,114,114,111,119,59,32768,8600,768,99,104,116,2941,2945,2948,114,59,32768,8466,59,32768,8624,114,111,107,59,32768,321,59,32768,8810,2048,97,99,101,102,105,111,115,117,2974,2978,2982,3007,3012,3022,3028,3033,112,59,32768,10501,121,59,32768,1052,512,100,108,2987,2998,105,117,109,83,112,97,99,101,59,32768,8287,108,105,110,116,114,102,59,32768,8499,114,59,32896,55349,56592,110,117,115,80,108,117,115,59,32768,8723,112,102,59,32896,55349,56644,99,114,59,32768,8499,59,32768,924,2304,74,97,99,101,102,111,115,116,117,3055,3060,3067,3089,3201,3206,3874,3880,3889,99,121,59,32768,1034,99,117,116,101,59,32768,323,768,97,101,121,3074,3080,3086,114,111,110,59,32768,327,100,105,108,59,32768,325,59,32768,1053,768,103,115,119,3096,3160,3194,97,116,105,118,101,768,77,84,86,3108,3121,3145,101,100,105,117,109,83,112,97,99,101,59,32768,8203,104,105,512,99,110,3128,3137,107,83,112,97,99,101,59,32768,8203,83,112,97,99,101,59,32768,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,32768,8203,116,101,100,512,71,76,3168,3184,114,101,97,116,101,114,71,114,101,97,116,101,114,59,32768,8811,101,115,115,76,101,115,115,59,32768,8810,76,105,110,101,59,32768,10,114,59,32896,55349,56593,1024,66,110,112,116,3215,3222,3238,3242,114,101,97,107,59,32768,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,32768,160,102,59,32768,8469,3328,59,67,68,69,71,72,76,78,80,82,83,84,86,3269,3271,3293,3312,3352,3430,3455,3551,3589,3625,3678,3821,3861,32768,10988,512,111,117,3276,3286,110,103,114,117,101,110,116,59,32768,8802,112,67,97,112,59,32768,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,32768,8742,768,108,113,120,3319,3327,3345,101,109,101,110,116,59,32768,8713,117,97,108,512,59,84,3335,3337,32768,8800,105,108,100,101,59,32896,8770,824,105,115,116,115,59,32768,8708,114,101,97,116,101,114,1792,59,69,70,71,76,83,84,3373,3375,3382,3394,3404,3410,3423,32768,8815,113,117,97,108,59,32768,8817,117,108,108,69,113,117,97,108,59,32896,8807,824,114,101,97,116,101,114,59,32896,8811,824,101,115,115,59,32768,8825,108,97,110,116,69,113,117,97,108,59,32896,10878,824,105,108,100,101,59,32768,8821,117,109,112,533,3437,3448,111,119,110,72,117,109,112,59,32896,8782,824,113,117,97,108,59,32896,8783,824,101,512,102,115,3461,3492,116,84,114,105,97,110,103,108,101,768,59,66,69,3477,3479,3485,32768,8938,97,114,59,32896,10703,824,113,117,97,108,59,32768,8940,115,1536,59,69,71,76,83,84,3506,3508,3515,3524,3531,3544,32768,8814,113,117,97,108,59,32768,8816,114,101,97,116,101,114,59,32768,8824,101,115,115,59,32896,8810,824,108,97,110,116,69,113,117,97,108,59,32896,10877,824,105,108,100,101,59,32768,8820,101,115,116,101,100,512,71,76,3561,3578,114,101,97,116,101,114,71,114,101,97,116,101,114,59,32896,10914,824,101,115,115,76,101,115,115,59,32896,10913,824,114,101,99,101,100,101,115,768,59,69,83,3603,3605,3613,32768,8832,113,117,97,108,59,32896,10927,824,108,97,110,116,69,113,117,97,108,59,32768,8928,512,101,105,3630,3645,118,101,114,115,101,69,108,101,109,101,110,116,59,32768,8716,103,104,116,84,114,105,97,110,103,108,101,768,59,66,69,3663,3665,3671,32768,8939,97,114,59,32896,10704,824,113,117,97,108,59,32768,8941,512,113,117,3683,3732,117,97,114,101,83,117,512,98,112,3694,3712,115,101,116,512,59,69,3702,3705,32896,8847,824,113,117,97,108,59,32768,8930,101,114,115,101,116,512,59,69,3722,3725,32896,8848,824,113,117,97,108,59,32768,8931,768,98,99,112,3739,3757,3801,115,101,116,512,59,69,3747,3750,32896,8834,8402,113,117,97,108,59,32768,8840,99,101,101,100,115,1024,59,69,83,84,3771,3773,3781,3793,32768,8833,113,117,97,108,59,32896,10928,824,108,97,110,116,69,113,117,97,108,59,32768,8929,105,108,100,101,59,32896,8831,824,101,114,115,101,116,512,59,69,3811,3814,32896,8835,8402,113,117,97,108,59,32768,8841,105,108,100,101,1024,59,69,70,84,3834,3836,3843,3854,32768,8769,113,117,97,108,59,32768,8772,117,108,108,69,113,117,97,108,59,32768,8775,105,108,100,101,59,32768,8777,101,114,116,105,99,97,108,66,97,114,59,32768,8740,99,114,59,32896,55349,56489,105,108,100,101,33024,209,59,32768,209,59,32768,925,3584,69,97,99,100,102,103,109,111,112,114,115,116,117,118,3921,3927,3936,3951,3958,3963,3972,3996,4002,4034,4037,4055,4071,4078,108,105,103,59,32768,338,99,117,116,101,33024,211,59,32768,211,512,105,121,3941,3948,114,99,33024,212,59,32768,212,59,32768,1054,98,108,97,99,59,32768,336,114,59,32896,55349,56594,114,97,118,101,33024,210,59,32768,210,768,97,101,105,3979,3984,3989,99,114,59,32768,332,103,97,59,32768,937,99,114,111,110,59,32768,927,112,102,59,32896,55349,56646,101,110,67,117,114,108,121,512,68,81,4014,4027,111,117,98,108,101,81,117,111,116,101,59,32768,8220,117,111,116,101,59,32768,8216,59,32768,10836,512,99,108,4042,4047,114,59,32896,55349,56490,97,115,104,33024,216,59,32768,216,105,573,4060,4067,100,101,33024,213,59,32768,213,101,115,59,32768,10807,109,108,33024,214,59,32768,214,101,114,512,66,80,4085,4109,512,97,114,4090,4094,114,59,32768,8254,97,99,512,101,107,4101,4104,59,32768,9182,101,116,59,32768,9140,97,114,101,110,116,104,101,115,105,115,59,32768,9180,2304,97,99,102,104,105,108,111,114,115,4141,4150,4154,4159,4163,4166,4176,4198,4284,114,116,105,97,108,68,59,32768,8706,121,59,32768,1055,114,59,32896,55349,56595,105,59,32768,934,59,32768,928,117,115,77,105,110,117,115,59,32768,177,512,105,112,4181,4194,110,99,97,114,101,112,108,97,110,101,59,32768,8460,102,59,32768,8473,1024,59,101,105,111,4207,4209,4251,4256,32768,10939,99,101,100,101,115,1024,59,69,83,84,4223,4225,4232,4244,32768,8826,113,117,97,108,59,32768,10927,108,97,110,116,69,113,117,97,108,59,32768,8828,105,108,100,101,59,32768,8830,109,101,59,32768,8243,512,100,112,4261,4267,117,99,116,59,32768,8719,111,114,116,105,111,110,512,59,97,4278,4280,32768,8759,108,59,32768,8733,512,99,105,4289,4294,114,59,32896,55349,56491,59,32768,936,1024,85,102,111,115,4306,4313,4318,4323,79,84,33024,34,59,32768,34,114,59,32896,55349,56596,112,102,59,32768,8474,99,114,59,32896,55349,56492,3072,66,69,97,99,101,102,104,105,111,114,115,117,4354,4360,4366,4395,4417,4473,4477,4481,4743,4764,4776,4788,97,114,114,59,32768,10512,71,33024,174,59,32768,174,768,99,110,114,4373,4379,4383,117,116,101,59,32768,340,103,59,32768,10219,114,512,59,116,4389,4391,32768,8608,108,59,32768,10518,768,97,101,121,4402,4408,4414,114,111,110,59,32768,344,100,105,108,59,32768,342,59,32768,1056,512,59,118,4422,4424,32768,8476,101,114,115,101,512,69,85,4433,4458,512,108,113,4438,4446,101,109,101,110,116,59,32768,8715,117,105,108,105,98,114,105,117,109,59,32768,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,32768,10607,114,59,32768,8476,111,59,32768,929,103,104,116,2048,65,67,68,70,84,85,86,97,4501,4547,4556,4607,4614,4671,4719,4736,512,110,114,4506,4519,103,108,101,66,114,97,99,107,101,116,59,32768,10217,114,111,119,768,59,66,76,4529,4531,4536,32768,8594,97,114,59,32768,8677,101,102,116,65,114,114,111,119,59,32768,8644,101,105,108,105,110,103,59,32768,8969,111,838,4562,0,4575,98,108,101,66,114,97,99,107,101,116,59,32768,10215,110,805,4580,0,4591,101,101,86,101,99,116,111,114,59,32768,10589,101,99,116,111,114,512,59,66,4600,4602,32768,8642,97,114,59,32768,10581,108,111,111,114,59,32768,8971,512,101,114,4619,4644,101,768,59,65,86,4627,4629,4636,32768,8866,114,114,111,119,59,32768,8614,101,99,116,111,114,59,32768,10587,105,97,110,103,108,101,768,59,66,69,4657,4659,4664,32768,8883,97,114,59,32768,10704,113,117,97,108,59,32768,8885,112,768,68,84,86,4679,4691,4702,111,119,110,86,101,99,116,111,114,59,32768,10575,101,101,86,101,99,116,111,114,59,32768,10588,101,99,116,111,114,512,59,66,4712,4714,32768,8638,97,114,59,32768,10580,101,99,116,111,114,512,59,66,4729,4731,32768,8640,97,114,59,32768,10579,114,114,111,119,59,32768,8658,512,112,117,4748,4752,102,59,32768,8477,110,100,73,109,112,108,105,101,115,59,32768,10608,105,103,104,116,97,114,114,111,119,59,32768,8667,512,99,104,4781,4785,114,59,32768,8475,59,32768,8625,108,101,68,101,108,97,121,101,100,59,32768,10740,3328,72,79,97,99,102,104,105,109,111,113,115,116,117,4827,4842,4849,4856,4889,4894,4949,4955,4967,4973,5059,5065,5070,512,67,99,4832,4838,72,99,121,59,32768,1065,121,59,32768,1064,70,84,99,121,59,32768,1068,99,117,116,101,59,32768,346,1280,59,97,101,105,121,4867,4869,4875,4881,4886,32768,10940,114,111,110,59,32768,352,100,105,108,59,32768,350,114,99,59,32768,348,59,32768,1057,114,59,32896,55349,56598,111,114,116,1024,68,76,82,85,4906,4917,4928,4940,111,119,110,65,114,114,111,119,59,32768,8595,101,102,116,65,114,114,111,119,59,32768,8592,105,103,104,116,65,114,114,111,119,59,32768,8594,112,65,114,114,111,119,59,32768,8593,103,109,97,59,32768,931,97,108,108,67,105,114,99,108,101,59,32768,8728,112,102,59,32896,55349,56650,1091,4979,0,0,4983,116,59,32768,8730,97,114,101,1024,59,73,83,85,4994,4996,5010,5052,32768,9633,110,116,101,114,115,101,99,116,105,111,110,59,32768,8851,117,512,98,112,5016,5033,115,101,116,512,59,69,5024,5026,32768,8847,113,117,97,108,59,32768,8849,101,114,115,101,116,512,59,69,5043,5045,32768,8848,113,117,97,108,59,32768,8850,110,105,111,110,59,32768,8852,99,114,59,32896,55349,56494,97,114,59,32768,8902,1024,98,99,109,112,5079,5102,5155,5158,512,59,115,5084,5086,32768,8912,101,116,512,59,69,5093,5095,32768,8912,113,117,97,108,59,32768,8838,512,99,104,5107,5148,101,101,100,115,1024,59,69,83,84,5120,5122,5129,5141,32768,8827,113,117,97,108,59,32768,10928,108,97,110,116,69,113,117,97,108,59,32768,8829,105,108,100,101,59,32768,8831,84,104,97,116,59,32768,8715,59,32768,8721,768,59,101,115,5165,5167,5185,32768,8913,114,115,101,116,512,59,69,5176,5178,32768,8835,113,117,97,108,59,32768,8839,101,116,59,32768,8913,2816,72,82,83,97,99,102,104,105,111,114,115,5213,5221,5227,5241,5252,5274,5279,5323,5362,5368,5378,79,82,78,33024,222,59,32768,222,65,68,69,59,32768,8482,512,72,99,5232,5237,99,121,59,32768,1035,121,59,32768,1062,512,98,117,5246,5249,59,32768,9,59,32768,932,768,97,101,121,5259,5265,5271,114,111,110,59,32768,356,100,105,108,59,32768,354,59,32768,1058,114,59,32896,55349,56599,512,101,105,5284,5300,835,5289,0,5297,101,102,111,114,101,59,32768,8756,97,59,32768,920,512,99,110,5305,5315,107,83,112,97,99,101,59,32896,8287,8202,83,112,97,99,101,59,32768,8201,108,100,101,1024,59,69,70,84,5335,5337,5344,5355,32768,8764,113,117,97,108,59,32768,8771,117,108,108,69,113,117,97,108,59,32768,8773,105,108,100,101,59,32768,8776,112,102,59,32896,55349,56651,105,112,108,101,68,111,116,59,32768,8411,512,99,116,5383,5388,114,59,32896,55349,56495,114,111,107,59,32768,358,5426,5417,5444,5458,5473,0,5480,5485,0,0,0,0,0,5494,5500,5564,5579,0,5726,5732,5738,5745,512,99,114,5421,5429,117,116,101,33024,218,59,32768,218,114,512,59,111,5435,5437,32768,8607,99,105,114,59,32768,10569,114,820,5449,0,5453,121,59,32768,1038,118,101,59,32768,364,512,105,121,5462,5469,114,99,33024,219,59,32768,219,59,32768,1059,98,108,97,99,59,32768,368,114,59,32896,55349,56600,114,97,118,101,33024,217,59,32768,217,97,99,114,59,32768,362,512,100,105,5504,5548,101,114,512,66,80,5511,5535,512,97,114,5516,5520,114,59,32768,95,97,99,512,101,107,5527,5530,59,32768,9183,101,116,59,32768,9141,97,114,101,110,116,104,101,115,105,115,59,32768,9181,111,110,512,59,80,5555,5557,32768,8899,108,117,115,59,32768,8846,512,103,112,5568,5573,111,110,59,32768,370,102,59,32896,55349,56652,2048,65,68,69,84,97,100,112,115,5595,5624,5635,5648,5664,5671,5682,5712,114,114,111,119,768,59,66,68,5606,5608,5613,32768,8593,97,114,59,32768,10514,111,119,110,65,114,114,111,119,59,32768,8645,111,119,110,65,114,114,111,119,59,32768,8597,113,117,105,108,105,98,114,105,117,109,59,32768,10606,101,101,512,59,65,5655,5657,32768,8869,114,114,111,119,59,32768,8613,114,114,111,119,59,32768,8657,111,119,110,97,114,114,111,119,59,32768,8661,101,114,512,76,82,5689,5700,101,102,116,65,114,114,111,119,59,32768,8598,105,103,104,116,65,114,114,111,119,59,32768,8599,105,512,59,108,5718,5720,32768,978,111,110,59,32768,933,105,110,103,59,32768,366,99,114,59,32896,55349,56496,105,108,100,101,59,32768,360,109,108,33024,220,59,32768,220,2304,68,98,99,100,101,102,111,115,118,5770,5776,5781,5785,5798,5878,5883,5889,5895,97,115,104,59,32768,8875,97,114,59,32768,10987,121,59,32768,1042,97,115,104,512,59,108,5793,5795,32768,8873,59,32768,10982,512,101,114,5803,5806,59,32768,8897,768,98,116,121,5813,5818,5866,97,114,59,32768,8214,512,59,105,5823,5825,32768,8214,99,97,108,1024,66,76,83,84,5837,5842,5848,5859,97,114,59,32768,8739,105,110,101,59,32768,124,101,112,97,114,97,116,111,114,59,32768,10072,105,108,100,101,59,32768,8768,84,104,105,110,83,112,97,99,101,59,32768,8202,114,59,32896,55349,56601,112,102,59,32896,55349,56653,99,114,59,32896,55349,56497,100,97,115,104,59,32768,8874,1280,99,101,102,111,115,5913,5919,5925,5930,5936,105,114,99,59,32768,372,100,103,101,59,32768,8896,114,59,32896,55349,56602,112,102,59,32896,55349,56654,99,114,59,32896,55349,56498,1024,102,105,111,115,5951,5956,5959,5965,114,59,32896,55349,56603,59,32768,926,112,102,59,32896,55349,56655,99,114,59,32896,55349,56499,2304,65,73,85,97,99,102,111,115,117,5990,5995,6e3,6005,6014,6027,6032,6038,6044,99,121,59,32768,1071,99,121,59,32768,1031,99,121,59,32768,1070,99,117,116,101,33024,221,59,32768,221,512,105,121,6019,6024,114,99,59,32768,374,59,32768,1067,114,59,32896,55349,56604,112,102,59,32896,55349,56656,99,114,59,32896,55349,56500,109,108,59,32768,376,2048,72,97,99,100,101,102,111,115,6066,6071,6078,6092,6097,6119,6123,6128,99,121,59,32768,1046,99,117,116,101,59,32768,377,512,97,121,6083,6089,114,111,110,59,32768,381,59,32768,1047,111,116,59,32768,379,835,6102,0,6116,111,87,105,100,116,104,83,112,97,99,101,59,32768,8203,97,59,32768,918,114,59,32768,8488,112,102,59,32768,8484,99,114,59,32896,55349,56501,5938,6159,6168,6175,0,6214,6222,6233,0,0,0,0,6242,6267,6290,6429,6444,0,6495,6503,6531,6540,0,6547,99,117,116,101,33024,225,59,32768,225,114,101,118,101,59,32768,259,1536,59,69,100,105,117,121,6187,6189,6193,6196,6203,6210,32768,8766,59,32896,8766,819,59,32768,8767,114,99,33024,226,59,32768,226,116,101,33024,180,59,32768,180,59,32768,1072,108,105,103,33024,230,59,32768,230,512,59,114,6226,6228,32768,8289,59,32896,55349,56606,114,97,118,101,33024,224,59,32768,224,512,101,112,6246,6261,512,102,112,6251,6257,115,121,109,59,32768,8501,104,59,32768,8501,104,97,59,32768,945,512,97,112,6271,6284,512,99,108,6276,6280,114,59,32768,257,103,59,32768,10815,33024,38,59,32768,38,1077,6295,0,0,6326,1280,59,97,100,115,118,6305,6307,6312,6315,6322,32768,8743,110,100,59,32768,10837,59,32768,10844,108,111,112,101,59,32768,10840,59,32768,10842,1792,59,101,108,109,114,115,122,6340,6342,6345,6349,6391,6410,6422,32768,8736,59,32768,10660,101,59,32768,8736,115,100,512,59,97,6356,6358,32768,8737,2098,6368,6371,6374,6377,6380,6383,6386,6389,59,32768,10664,59,32768,10665,59,32768,10666,59,32768,10667,59,32768,10668,59,32768,10669,59,32768,10670,59,32768,10671,116,512,59,118,6397,6399,32768,8735,98,512,59,100,6405,6407,32768,8894,59,32768,10653,512,112,116,6415,6419,104,59,32768,8738,59,32768,197,97,114,114,59,32768,9084,512,103,112,6433,6438,111,110,59,32768,261,102,59,32896,55349,56658,1792,59,69,97,101,105,111,112,6458,6460,6463,6469,6472,6476,6480,32768,8776,59,32768,10864,99,105,114,59,32768,10863,59,32768,8778,100,59,32768,8779,115,59,32768,39,114,111,120,512,59,101,6488,6490,32768,8776,113,59,32768,8778,105,110,103,33024,229,59,32768,229,768,99,116,121,6509,6514,6517,114,59,32896,55349,56502,59,32768,42,109,112,512,59,101,6524,6526,32768,8776,113,59,32768,8781,105,108,100,101,33024,227,59,32768,227,109,108,33024,228,59,32768,228,512,99,105,6551,6559,111,110,105,110,116,59,32768,8755,110,116,59,32768,10769,4096,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,6597,6602,6673,6688,6701,6707,6768,6773,6891,6898,6999,7023,7309,7316,7334,7383,111,116,59,32768,10989,512,99,114,6607,6652,107,1024,99,101,112,115,6617,6623,6632,6639,111,110,103,59,32768,8780,112,115,105,108,111,110,59,32768,1014,114,105,109,101,59,32768,8245,105,109,512,59,101,6646,6648,32768,8765,113,59,32768,8909,583,6656,6661,101,101,59,32768,8893,101,100,512,59,103,6667,6669,32768,8965,101,59,32768,8965,114,107,512,59,116,6680,6682,32768,9141,98,114,107,59,32768,9142,512,111,121,6693,6698,110,103,59,32768,8780,59,32768,1073,113,117,111,59,32768,8222,1280,99,109,112,114,116,6718,6731,6738,6743,6749,97,117,115,512,59,101,6726,6728,32768,8757,59,32768,8757,112,116,121,118,59,32768,10672,115,105,59,32768,1014,110,111,117,59,32768,8492,768,97,104,119,6756,6759,6762,59,32768,946,59,32768,8502,101,101,110,59,32768,8812,114,59,32896,55349,56607,103,1792,99,111,115,116,117,118,119,6789,6809,6834,6850,6872,6879,6884,768,97,105,117,6796,6800,6805,112,59,32768,8898,114,99,59,32768,9711,112,59,32768,8899,768,100,112,116,6816,6821,6827,111,116,59,32768,10752,108,117,115,59,32768,10753,105,109,101,115,59,32768,10754,1090,6840,0,0,6846,99,117,112,59,32768,10758,97,114,59,32768,9733,114,105,97,110,103,108,101,512,100,117,6862,6868,111,119,110,59,32768,9661,112,59,32768,9651,112,108,117,115,59,32768,10756,101,101,59,32768,8897,101,100,103,101,59,32768,8896,97,114,111,119,59,32768,10509,768,97,107,111,6905,6976,6994,512,99,110,6910,6972,107,768,108,115,116,6918,6927,6935,111,122,101,110,103,101,59,32768,10731,113,117,97,114,101,59,32768,9642,114,105,97,110,103,108,101,1024,59,100,108,114,6951,6953,6959,6965,32768,9652,111,119,110,59,32768,9662,101,102,116,59,32768,9666,105,103,104,116,59,32768,9656,107,59,32768,9251,770,6981,0,6991,771,6985,0,6988,59,32768,9618,59,32768,9617,52,59,32768,9619,99,107,59,32768,9608,512,101,111,7004,7019,512,59,113,7009,7012,32896,61,8421,117,105,118,59,32896,8801,8421,116,59,32768,8976,1024,112,116,119,120,7032,7037,7049,7055,102,59,32896,55349,56659,512,59,116,7042,7044,32768,8869,111,109,59,32768,8869,116,105,101,59,32768,8904,3072,68,72,85,86,98,100,104,109,112,116,117,118,7080,7101,7126,7147,7182,7187,7208,7233,7240,7246,7253,7274,1024,76,82,108,114,7089,7092,7095,7098,59,32768,9559,59,32768,9556,59,32768,9558,59,32768,9555,1280,59,68,85,100,117,7112,7114,7117,7120,7123,32768,9552,59,32768,9574,59,32768,9577,59,32768,9572,59,32768,9575,1024,76,82,108,114,7135,7138,7141,7144,59,32768,9565,59,32768,9562,59,32768,9564,59,32768,9561,1792,59,72,76,82,104,108,114,7162,7164,7167,7170,7173,7176,7179,32768,9553,59,32768,9580,59,32768,9571,59,32768,9568,59,32768,9579,59,32768,9570,59,32768,9567,111,120,59,32768,10697,1024,76,82,108,114,7196,7199,7202,7205,59,32768,9557,59,32768,9554,59,32768,9488,59,32768,9484,1280,59,68,85,100,117,7219,7221,7224,7227,7230,32768,9472,59,32768,9573,59,32768,9576,59,32768,9516,59,32768,9524,105,110,117,115,59,32768,8863,108,117,115,59,32768,8862,105,109,101,115,59,32768,8864,1024,76,82,108,114,7262,7265,7268,7271,59,32768,9563,59,32768,9560,59,32768,9496,59,32768,9492,1792,59,72,76,82,104,108,114,7289,7291,7294,7297,7300,7303,7306,32768,9474,59,32768,9578,59,32768,9569,59,32768,9566,59,32768,9532,59,32768,9508,59,32768,9500,114,105,109,101,59,32768,8245,512,101,118,7321,7326,118,101,59,32768,728,98,97,114,33024,166,59,32768,166,1024,99,101,105,111,7343,7348,7353,7364,114,59,32896,55349,56503,109,105,59,32768,8271,109,512,59,101,7359,7361,32768,8765,59,32768,8909,108,768,59,98,104,7372,7374,7377,32768,92,59,32768,10693,115,117,98,59,32768,10184,573,7387,7399,108,512,59,101,7392,7394,32768,8226,116,59,32768,8226,112,768,59,69,101,7406,7408,7411,32768,8782,59,32768,10926,512,59,113,7416,7418,32768,8783,59,32768,8783,6450,7448,0,7523,7571,7576,7613,0,7618,7647,0,0,7764,0,0,7779,0,0,7899,7914,7949,7955,0,8158,0,8176,768,99,112,114,7454,7460,7509,117,116,101,59,32768,263,1536,59,97,98,99,100,115,7473,7475,7480,7487,7500,7505,32768,8745,110,100,59,32768,10820,114,99,117,112,59,32768,10825,512,97,117,7492,7496,112,59,32768,10827,112,59,32768,10823,111,116,59,32768,10816,59,32896,8745,65024,512,101,111,7514,7518,116,59,32768,8257,110,59,32768,711,1024,97,101,105,117,7531,7544,7552,7557,833,7536,0,7540,115,59,32768,10829,111,110,59,32768,269,100,105,108,33024,231,59,32768,231,114,99,59,32768,265,112,115,512,59,115,7564,7566,32768,10828,109,59,32768,10832,111,116,59,32768,267,768,100,109,110,7582,7589,7596,105,108,33024,184,59,32768,184,112,116,121,118,59,32768,10674,116,33280,162,59,101,7603,7605,32768,162,114,100,111,116,59,32768,183,114,59,32896,55349,56608,768,99,101,105,7624,7628,7643,121,59,32768,1095,99,107,512,59,109,7635,7637,32768,10003,97,114,107,59,32768,10003,59,32768,967,114,1792,59,69,99,101,102,109,115,7662,7664,7667,7742,7745,7752,7757,32768,9675,59,32768,10691,768,59,101,108,7674,7676,7680,32768,710,113,59,32768,8791,101,1074,7687,0,0,7709,114,114,111,119,512,108,114,7695,7701,101,102,116,59,32768,8634,105,103,104,116,59,32768,8635,1280,82,83,97,99,100,7719,7722,7725,7730,7736,59,32768,174,59,32768,9416,115,116,59,32768,8859,105,114,99,59,32768,8858,97,115,104,59,32768,8861,59,32768,8791,110,105,110,116,59,32768,10768,105,100,59,32768,10991,99,105,114,59,32768,10690,117,98,115,512,59,117,7771,7773,32768,9827,105,116,59,32768,9827,1341,7785,7804,7850,0,7871,111,110,512,59,101,7791,7793,32768,58,512,59,113,7798,7800,32768,8788,59,32768,8788,1086,7809,0,0,7820,97,512,59,116,7814,7816,32768,44,59,32768,64,768,59,102,108,7826,7828,7832,32768,8705,110,59,32768,8728,101,512,109,120,7838,7844,101,110,116,59,32768,8705,101,115,59,32768,8450,824,7854,0,7866,512,59,100,7858,7860,32768,8773,111,116,59,32768,10861,110,116,59,32768,8750,768,102,114,121,7877,7881,7886,59,32896,55349,56660,111,100,59,32768,8720,33280,169,59,115,7892,7894,32768,169,114,59,32768,8471,512,97,111,7903,7908,114,114,59,32768,8629,115,115,59,32768,10007,512,99,117,7918,7923,114,59,32896,55349,56504,512,98,112,7928,7938,512,59,101,7933,7935,32768,10959,59,32768,10961,512,59,101,7943,7945,32768,10960,59,32768,10962,100,111,116,59,32768,8943,1792,100,101,108,112,114,118,119,7969,7983,7996,8009,8057,8147,8152,97,114,114,512,108,114,7977,7980,59,32768,10552,59,32768,10549,1089,7989,0,0,7993,114,59,32768,8926,99,59,32768,8927,97,114,114,512,59,112,8004,8006,32768,8630,59,32768,10557,1536,59,98,99,100,111,115,8022,8024,8031,8044,8049,8053,32768,8746,114,99,97,112,59,32768,10824,512,97,117,8036,8040,112,59,32768,10822,112,59,32768,10826,111,116,59,32768,8845,114,59,32768,10821,59,32896,8746,65024,1024,97,108,114,118,8066,8078,8116,8123,114,114,512,59,109,8073,8075,32768,8631,59,32768,10556,121,768,101,118,119,8086,8104,8109,113,1089,8093,0,0,8099,114,101,99,59,32768,8926,117,99,99,59,32768,8927,101,101,59,32768,8910,101,100,103,101,59,32768,8911,101,110,33024,164,59,32768,164,101,97,114,114,111,119,512,108,114,8134,8140,101,102,116,59,32768,8630,105,103,104,116,59,32768,8631,101,101,59,32768,8910,101,100,59,32768,8911,512,99,105,8162,8170,111,110,105,110,116,59,32768,8754,110,116,59,32768,8753,108,99,116,121,59,32768,9005,4864,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8221,8226,8231,8267,8282,8296,8327,8351,8366,8379,8466,8471,8487,8621,8647,8676,8697,8712,8720,114,114,59,32768,8659,97,114,59,32768,10597,1024,103,108,114,115,8240,8246,8252,8256,103,101,114,59,32768,8224,101,116,104,59,32768,8504,114,59,32768,8595,104,512,59,118,8262,8264,32768,8208,59,32768,8867,572,8271,8278,97,114,111,119,59,32768,10511,97,99,59,32768,733,512,97,121,8287,8293,114,111,110,59,32768,271,59,32768,1076,768,59,97,111,8303,8305,8320,32768,8518,512,103,114,8310,8316,103,101,114,59,32768,8225,114,59,32768,8650,116,115,101,113,59,32768,10871,768,103,108,109,8334,8339,8344,33024,176,59,32768,176,116,97,59,32768,948,112,116,121,118,59,32768,10673,512,105,114,8356,8362,115,104,116,59,32768,10623,59,32896,55349,56609,97,114,512,108,114,8373,8376,59,32768,8643,59,32768,8642,1280,97,101,103,115,118,8390,8418,8421,8428,8433,109,768,59,111,115,8398,8400,8415,32768,8900,110,100,512,59,115,8407,8409,32768,8900,117,105,116,59,32768,9830,59,32768,9830,59,32768,168,97,109,109,97,59,32768,989,105,110,59,32768,8946,768,59,105,111,8440,8442,8461,32768,247,100,101,33280,247,59,111,8450,8452,32768,247,110,116,105,109,101,115,59,32768,8903,110,120,59,32768,8903,99,121,59,32768,1106,99,1088,8478,0,0,8483,114,110,59,32768,8990,111,112,59,32768,8973,1280,108,112,116,117,119,8498,8504,8509,8556,8570,108,97,114,59,32768,36,102,59,32896,55349,56661,1280,59,101,109,112,115,8520,8522,8535,8542,8548,32768,729,113,512,59,100,8528,8530,32768,8784,111,116,59,32768,8785,105,110,117,115,59,32768,8760,108,117,115,59,32768,8724,113,117,97,114,101,59,32768,8865,98,108,101,98,97,114,119,101,100,103,101,59,32768,8966,110,768,97,100,104,8578,8585,8597,114,114,111,119,59,32768,8595,111,119,110,97,114,114,111,119,115,59,32768,8650,97,114,112,111,111,110,512,108,114,8608,8614,101,102,116,59,32768,8643,105,103,104,116,59,32768,8642,563,8625,8633,107,97,114,111,119,59,32768,10512,1088,8638,0,0,8643,114,110,59,32768,8991,111,112,59,32768,8972,768,99,111,116,8654,8666,8670,512,114,121,8659,8663,59,32896,55349,56505,59,32768,1109,108,59,32768,10742,114,111,107,59,32768,273,512,100,114,8681,8686,111,116,59,32768,8945,105,512,59,102,8692,8694,32768,9663,59,32768,9662,512,97,104,8702,8707,114,114,59,32768,8693,97,114,59,32768,10607,97,110,103,108,101,59,32768,10662,512,99,105,8725,8729,121,59,32768,1119,103,114,97,114,114,59,32768,10239,4608,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,8774,8788,8807,8844,8849,8852,8866,8895,8929,8977,8989,9004,9046,9136,9151,9171,9184,9199,512,68,111,8779,8784,111,116,59,32768,10871,116,59,32768,8785,512,99,115,8793,8801,117,116,101,33024,233,59,32768,233,116,101,114,59,32768,10862,1024,97,105,111,121,8816,8822,8835,8841,114,111,110,59,32768,283,114,512,59,99,8828,8830,32768,8790,33024,234,59,32768,234,108,111,110,59,32768,8789,59,32768,1101,111,116,59,32768,279,59,32768,8519,512,68,114,8857,8862,111,116,59,32768,8786,59,32896,55349,56610,768,59,114,115,8873,8875,8883,32768,10906,97,118,101,33024,232,59,32768,232,512,59,100,8888,8890,32768,10902,111,116,59,32768,10904,1024,59,105,108,115,8904,8906,8914,8917,32768,10905,110,116,101,114,115,59,32768,9191,59,32768,8467,512,59,100,8922,8924,32768,10901,111,116,59,32768,10903,768,97,112,115,8936,8941,8960,99,114,59,32768,275,116,121,768,59,115,118,8950,8952,8957,32768,8709,101,116,59,32768,8709,59,32768,8709,112,512,49,59,8966,8975,516,8970,8973,59,32768,8196,59,32768,8197,32768,8195,512,103,115,8982,8985,59,32768,331,112,59,32768,8194,512,103,112,8994,8999,111,110,59,32768,281,102,59,32896,55349,56662,768,97,108,115,9011,9023,9028,114,512,59,115,9017,9019,32768,8917,108,59,32768,10723,117,115,59,32768,10865,105,768,59,108,118,9036,9038,9043,32768,949,111,110,59,32768,949,59,32768,1013,1024,99,115,117,118,9055,9071,9099,9128,512,105,111,9060,9065,114,99,59,32768,8790,108,111,110,59,32768,8789,1082,9077,0,0,9081,109,59,32768,8770,97,110,116,512,103,108,9088,9093,116,114,59,32768,10902,101,115,115,59,32768,10901,768,97,101,105,9106,9111,9116,108,115,59,32768,61,115,116,59,32768,8799,118,512,59,68,9122,9124,32768,8801,68,59,32768,10872,112,97,114,115,108,59,32768,10725,512,68,97,9141,9146,111,116,59,32768,8787,114,114,59,32768,10609,768,99,100,105,9158,9162,9167,114,59,32768,8495,111,116,59,32768,8784,109,59,32768,8770,512,97,104,9176,9179,59,32768,951,33024,240,59,32768,240,512,109,114,9189,9195,108,33024,235,59,32768,235,111,59,32768,8364,768,99,105,112,9206,9210,9215,108,59,32768,33,115,116,59,32768,8707,512,101,111,9220,9230,99,116,97,116,105,111,110,59,32768,8496,110,101,110,116,105,97,108,101,59,32768,8519,4914,9262,0,9276,0,9280,9287,0,0,9318,9324,0,9331,0,9352,9357,9386,0,9395,9497,108,108,105,110,103,100,111,116,115,101,113,59,32768,8786,121,59,32768,1092,109,97,108,101,59,32768,9792,768,105,108,114,9293,9299,9313,108,105,103,59,32768,64259,1082,9305,0,0,9309,103,59,32768,64256,105,103,59,32768,64260,59,32896,55349,56611,108,105,103,59,32768,64257,108,105,103,59,32896,102,106,768,97,108,116,9337,9341,9346,116,59,32768,9837,105,103,59,32768,64258,110,115,59,32768,9649,111,102,59,32768,402,833,9361,0,9366,102,59,32896,55349,56663,512,97,107,9370,9375,108,108,59,32768,8704,512,59,118,9380,9382,32768,8916,59,32768,10969,97,114,116,105,110,116,59,32768,10765,512,97,111,9399,9491,512,99,115,9404,9487,1794,9413,9443,9453,9470,9474,0,9484,1795,9421,9426,9429,9434,9437,0,9440,33024,189,59,32768,189,59,32768,8531,33024,188,59,32768,188,59,32768,8533,59,32768,8537,59,32768,8539,772,9447,0,9450,59,32768,8532,59,32768,8534,1285,9459,9464,0,0,9467,33024,190,59,32768,190,59,32768,8535,59,32768,8540,53,59,32768,8536,775,9478,0,9481,59,32768,8538,59,32768,8541,56,59,32768,8542,108,59,32768,8260,119,110,59,32768,8994,99,114,59,32896,55349,56507,4352,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,9537,9547,9575,9582,9595,9600,9679,9684,9694,9700,9705,9725,9773,9779,9785,9810,9917,512,59,108,9542,9544,32768,8807,59,32768,10892,768,99,109,112,9554,9560,9572,117,116,101,59,32768,501,109,97,512,59,100,9567,9569,32768,947,59,32768,989,59,32768,10886,114,101,118,101,59,32768,287,512,105,121,9587,9592,114,99,59,32768,285,59,32768,1075,111,116,59,32768,289,1024,59,108,113,115,9609,9611,9614,9633,32768,8805,59,32768,8923,768,59,113,115,9621,9623,9626,32768,8805,59,32768,8807,108,97,110,116,59,32768,10878,1024,59,99,100,108,9642,9644,9648,9667,32768,10878,99,59,32768,10921,111,116,512,59,111,9655,9657,32768,10880,512,59,108,9662,9664,32768,10882,59,32768,10884,512,59,101,9672,9675,32896,8923,65024,115,59,32768,10900,114,59,32896,55349,56612,512,59,103,9689,9691,32768,8811,59,32768,8921,109,101,108,59,32768,8503,99,121,59,32768,1107,1024,59,69,97,106,9714,9716,9719,9722,32768,8823,59,32768,10898,59,32768,10917,59,32768,10916,1024,69,97,101,115,9734,9737,9751,9768,59,32768,8809,112,512,59,112,9743,9745,32768,10890,114,111,120,59,32768,10890,512,59,113,9756,9758,32768,10888,512,59,113,9763,9765,32768,10888,59,32768,8809,105,109,59,32768,8935,112,102,59,32896,55349,56664,97,118,101,59,32768,96,512,99,105,9790,9794,114,59,32768,8458,109,768,59,101,108,9802,9804,9807,32768,8819,59,32768,10894,59,32768,10896,34304,62,59,99,100,108,113,114,9824,9826,9838,9843,9849,9856,32768,62,512,99,105,9831,9834,59,32768,10919,114,59,32768,10874,111,116,59,32768,8919,80,97,114,59,32768,10645,117,101,115,116,59,32768,10876,1280,97,100,101,108,115,9867,9882,9887,9906,9912,833,9872,0,9879,112,114,111,120,59,32768,10886,114,59,32768,10616,111,116,59,32768,8919,113,512,108,113,9893,9899,101,115,115,59,32768,8923,108,101,115,115,59,32768,10892,101,115,115,59,32768,8823,105,109,59,32768,8819,512,101,110,9922,9932,114,116,110,101,113,113,59,32896,8809,65024,69,59,32896,8809,65024,2560,65,97,98,99,101,102,107,111,115,121,9958,9963,10015,10020,10026,10060,10065,10085,10147,10171,114,114,59,32768,8660,1024,105,108,109,114,9972,9978,9982,9988,114,115,112,59,32768,8202,102,59,32768,189,105,108,116,59,32768,8459,512,100,114,9993,9998,99,121,59,32768,1098,768,59,99,119,10005,10007,10012,32768,8596,105,114,59,32768,10568,59,32768,8621,97,114,59,32768,8463,105,114,99,59,32768,293,768,97,108,114,10033,10048,10054,114,116,115,512,59,117,10041,10043,32768,9829,105,116,59,32768,9829,108,105,112,59,32768,8230,99,111,110,59,32768,8889,114,59,32896,55349,56613,115,512,101,119,10071,10078,97,114,111,119,59,32768,10533,97,114,111,119,59,32768,10534,1280,97,109,111,112,114,10096,10101,10107,10136,10141,114,114,59,32768,8703,116,104,116,59,32768,8763,107,512,108,114,10113,10124,101,102,116,97,114,114,111,119,59,32768,8617,105,103,104,116,97,114,114,111,119,59,32768,8618,102,59,32896,55349,56665,98,97,114,59,32768,8213,768,99,108,116,10154,10159,10165,114,59,32896,55349,56509,97,115,104,59,32768,8463,114,111,107,59,32768,295,512,98,112,10176,10182,117,108,108,59,32768,8259,104,101,110,59,32768,8208,5426,10211,0,10220,0,10239,10255,10267,0,10276,10312,0,0,10318,10371,10458,10485,10491,0,10500,10545,10558,99,117,116,101,33024,237,59,32768,237,768,59,105,121,10226,10228,10235,32768,8291,114,99,33024,238,59,32768,238,59,32768,1080,512,99,120,10243,10247,121,59,32768,1077,99,108,33024,161,59,32768,161,512,102,114,10259,10262,59,32768,8660,59,32896,55349,56614,114,97,118,101,33024,236,59,32768,236,1024,59,105,110,111,10284,10286,10300,10306,32768,8520,512,105,110,10291,10296,110,116,59,32768,10764,116,59,32768,8749,102,105,110,59,32768,10716,116,97,59,32768,8489,108,105,103,59,32768,307,768,97,111,112,10324,10361,10365,768,99,103,116,10331,10335,10357,114,59,32768,299,768,101,108,112,10342,10345,10351,59,32768,8465,105,110,101,59,32768,8464,97,114,116,59,32768,8465,104,59,32768,305,102,59,32768,8887,101,100,59,32768,437,1280,59,99,102,111,116,10381,10383,10389,10403,10409,32768,8712,97,114,101,59,32768,8453,105,110,512,59,116,10396,10398,32768,8734,105,101,59,32768,10717,100,111,116,59,32768,305,1280,59,99,101,108,112,10420,10422,10427,10444,10451,32768,8747,97,108,59,32768,8890,512,103,114,10432,10438,101,114,115,59,32768,8484,99,97,108,59,32768,8890,97,114,104,107,59,32768,10775,114,111,100,59,32768,10812,1024,99,103,112,116,10466,10470,10475,10480,121,59,32768,1105,111,110,59,32768,303,102,59,32896,55349,56666,97,59,32768,953,114,111,100,59,32768,10812,117,101,115,116,33024,191,59,32768,191,512,99,105,10504,10509,114,59,32896,55349,56510,110,1280,59,69,100,115,118,10521,10523,10526,10531,10541,32768,8712,59,32768,8953,111,116,59,32768,8949,512,59,118,10536,10538,32768,8948,59,32768,8947,59,32768,8712,512,59,105,10549,10551,32768,8290,108,100,101,59,32768,297,828,10562,0,10567,99,121,59,32768,1110,108,33024,239,59,32768,239,1536,99,102,109,111,115,117,10585,10598,10603,10609,10615,10630,512,105,121,10590,10595,114,99,59,32768,309,59,32768,1081,114,59,32896,55349,56615,97,116,104,59,32768,567,112,102,59,32896,55349,56667,820,10620,0,10625,114,59,32896,55349,56511,114,99,121,59,32768,1112,107,99,121,59,32768,1108,2048,97,99,102,103,104,106,111,115,10653,10666,10680,10685,10692,10697,10702,10708,112,112,97,512,59,118,10661,10663,32768,954,59,32768,1008,512,101,121,10671,10677,100,105,108,59,32768,311,59,32768,1082,114,59,32896,55349,56616,114,101,101,110,59,32768,312,99,121,59,32768,1093,99,121,59,32768,1116,112,102,59,32896,55349,56668,99,114,59,32896,55349,56512,5888,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,10761,10783,10789,10799,10804,10957,11011,11047,11094,11349,11372,11382,11409,11414,11451,11478,11526,11698,11711,11755,11823,11910,11929,768,97,114,116,10768,10773,10777,114,114,59,32768,8666,114,59,32768,8656,97,105,108,59,32768,10523,97,114,114,59,32768,10510,512,59,103,10794,10796,32768,8806,59,32768,10891,97,114,59,32768,10594,4660,10824,0,10830,0,10838,0,0,0,0,0,10844,10850,0,10867,10870,10877,0,10933,117,116,101,59,32768,314,109,112,116,121,118,59,32768,10676,114,97,110,59,32768,8466,98,100,97,59,32768,955,103,768,59,100,108,10857,10859,10862,32768,10216,59,32768,10641,101,59,32768,10216,59,32768,10885,117,111,33024,171,59,32768,171,114,2048,59,98,102,104,108,112,115,116,10894,10896,10907,10911,10915,10919,10923,10928,32768,8592,512,59,102,10901,10903,32768,8676,115,59,32768,10527,115,59,32768,10525,107,59,32768,8617,112,59,32768,8619,108,59,32768,10553,105,109,59,32768,10611,108,59,32768,8610,768,59,97,101,10939,10941,10946,32768,10923,105,108,59,32768,10521,512,59,115,10951,10953,32768,10925,59,32896,10925,65024,768,97,98,114,10964,10969,10974,114,114,59,32768,10508,114,107,59,32768,10098,512,97,107,10979,10991,99,512,101,107,10985,10988,59,32768,123,59,32768,91,512,101,115,10996,10999,59,32768,10635,108,512,100,117,11005,11008,59,32768,10639,59,32768,10637,1024,97,101,117,121,11020,11026,11040,11044,114,111,110,59,32768,318,512,100,105,11031,11036,105,108,59,32768,316,108,59,32768,8968,98,59,32768,123,59,32768,1083,1024,99,113,114,115,11056,11060,11072,11090,97,59,32768,10550,117,111,512,59,114,11067,11069,32768,8220,59,32768,8222,512,100,117,11077,11083,104,97,114,59,32768,10599,115,104,97,114,59,32768,10571,104,59,32768,8626,1280,59,102,103,113,115,11105,11107,11228,11231,11250,32768,8804,116,1280,97,104,108,114,116,11119,11136,11157,11169,11216,114,114,111,119,512,59,116,11128,11130,32768,8592,97,105,108,59,32768,8610,97,114,112,111,111,110,512,100,117,11147,11153,111,119,110,59,32768,8637,112,59,32768,8636,101,102,116,97,114,114,111,119,115,59,32768,8647,105,103,104,116,768,97,104,115,11180,11194,11204,114,114,111,119,512,59,115,11189,11191,32768,8596,59,32768,8646,97,114,112,111,111,110,115,59,32768,8651,113,117,105,103,97,114,114,111,119,59,32768,8621,104,114,101,101,116,105,109,101,115,59,32768,8907,59,32768,8922,768,59,113,115,11238,11240,11243,32768,8804,59,32768,8806,108,97,110,116,59,32768,10877,1280,59,99,100,103,115,11261,11263,11267,11286,11298,32768,10877,99,59,32768,10920,111,116,512,59,111,11274,11276,32768,10879,512,59,114,11281,11283,32768,10881,59,32768,10883,512,59,101,11291,11294,32896,8922,65024,115,59,32768,10899,1280,97,100,101,103,115,11309,11317,11322,11339,11344,112,112,114,111,120,59,32768,10885,111,116,59,32768,8918,113,512,103,113,11328,11333,116,114,59,32768,8922,103,116,114,59,32768,10891,116,114,59,32768,8822,105,109,59,32768,8818,768,105,108,114,11356,11362,11368,115,104,116,59,32768,10620,111,111,114,59,32768,8970,59,32896,55349,56617,512,59,69,11377,11379,32768,8822,59,32768,10897,562,11386,11405,114,512,100,117,11391,11394,59,32768,8637,512,59,108,11399,11401,32768,8636,59,32768,10602,108,107,59,32768,9604,99,121,59,32768,1113,1280,59,97,99,104,116,11425,11427,11432,11440,11446,32768,8810,114,114,59,32768,8647,111,114,110,101,114,59,32768,8990,97,114,100,59,32768,10603,114,105,59,32768,9722,512,105,111,11456,11462,100,111,116,59,32768,320,117,115,116,512,59,97,11470,11472,32768,9136,99,104,101,59,32768,9136,1024,69,97,101,115,11487,11490,11504,11521,59,32768,8808,112,512,59,112,11496,11498,32768,10889,114,111,120,59,32768,10889,512,59,113,11509,11511,32768,10887,512,59,113,11516,11518,32768,10887,59,32768,8808,105,109,59,32768,8934,2048,97,98,110,111,112,116,119,122,11543,11556,11561,11616,11640,11660,11667,11680,512,110,114,11548,11552,103,59,32768,10220,114,59,32768,8701,114,107,59,32768,10214,103,768,108,109,114,11569,11596,11604,101,102,116,512,97,114,11577,11584,114,114,111,119,59,32768,10229,105,103,104,116,97,114,114,111,119,59,32768,10231,97,112,115,116,111,59,32768,10236,105,103,104,116,97,114,114,111,119,59,32768,10230,112,97,114,114,111,119,512,108,114,11627,11633,101,102,116,59,32768,8619,105,103,104,116,59,32768,8620,768,97,102,108,11647,11651,11655,114,59,32768,10629,59,32896,55349,56669,117,115,59,32768,10797,105,109,101,115,59,32768,10804,562,11671,11676,115,116,59,32768,8727,97,114,59,32768,95,768,59,101,102,11687,11689,11695,32768,9674,110,103,101,59,32768,9674,59,32768,10731,97,114,512,59,108,11705,11707,32768,40,116,59,32768,10643,1280,97,99,104,109,116,11722,11727,11735,11747,11750,114,114,59,32768,8646,111,114,110,101,114,59,32768,8991,97,114,512,59,100,11742,11744,32768,8651,59,32768,10605,59,32768,8206,114,105,59,32768,8895,1536,97,99,104,105,113,116,11768,11774,11779,11782,11798,11817,113,117,111,59,32768,8249,114,59,32896,55349,56513,59,32768,8624,109,768,59,101,103,11790,11792,11795,32768,8818,59,32768,10893,59,32768,10895,512,98,117,11803,11806,59,32768,91,111,512,59,114,11812,11814,32768,8216,59,32768,8218,114,111,107,59,32768,322,34816,60,59,99,100,104,105,108,113,114,11841,11843,11855,11860,11866,11872,11878,11885,32768,60,512,99,105,11848,11851,59,32768,10918,114,59,32768,10873,111,116,59,32768,8918,114,101,101,59,32768,8907,109,101,115,59,32768,8905,97,114,114,59,32768,10614,117,101,115,116,59,32768,10875,512,80,105,11890,11895,97,114,59,32768,10646,768,59,101,102,11902,11904,11907,32768,9667,59,32768,8884,59,32768,9666,114,512,100,117,11916,11923,115,104,97,114,59,32768,10570,104,97,114,59,32768,10598,512,101,110,11934,11944,114,116,110,101,113,113,59,32896,8808,65024,69,59,32896,8808,65024,3584,68,97,99,100,101,102,104,105,108,110,111,112,115,117,11978,11984,12061,12075,12081,12095,12100,12104,12170,12181,12188,12204,12207,12223,68,111,116,59,32768,8762,1024,99,108,112,114,11993,11999,12019,12055,114,33024,175,59,32768,175,512,101,116,12004,12007,59,32768,9794,512,59,101,12012,12014,32768,10016,115,101,59,32768,10016,512,59,115,12024,12026,32768,8614,116,111,1024,59,100,108,117,12037,12039,12045,12051,32768,8614,111,119,110,59,32768,8615,101,102,116,59,32768,8612,112,59,32768,8613,107,101,114,59,32768,9646,512,111,121,12066,12072,109,109,97,59,32768,10793,59,32768,1084,97,115,104,59,32768,8212,97,115,117,114,101,100,97,110,103,108,101,59,32768,8737,114,59,32896,55349,56618,111,59,32768,8487,768,99,100,110,12111,12118,12146,114,111,33024,181,59,32768,181,1024,59,97,99,100,12127,12129,12134,12139,32768,8739,115,116,59,32768,42,105,114,59,32768,10992,111,116,33024,183,59,32768,183,117,115,768,59,98,100,12155,12157,12160,32768,8722,59,32768,8863,512,59,117,12165,12167,32768,8760,59,32768,10794,564,12174,12178,112,59,32768,10971,114,59,32768,8230,112,108,117,115,59,32768,8723,512,100,112,12193,12199,101,108,115,59,32768,8871,102,59,32896,55349,56670,59,32768,8723,512,99,116,12212,12217,114,59,32896,55349,56514,112,111,115,59,32768,8766,768,59,108,109,12230,12232,12240,32768,956,116,105,109,97,112,59,32768,8888,97,112,59,32768,8888,6144,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,12294,12315,12364,12376,12393,12472,12496,12547,12553,12636,12641,12703,12725,12747,12752,12876,12881,12957,13033,13089,13294,13359,13384,13499,512,103,116,12299,12303,59,32896,8921,824,512,59,118,12308,12311,32896,8811,8402,59,32896,8811,824,768,101,108,116,12322,12348,12352,102,116,512,97,114,12329,12336,114,114,111,119,59,32768,8653,105,103,104,116,97,114,114,111,119,59,32768,8654,59,32896,8920,824,512,59,118,12357,12360,32896,8810,8402,59,32896,8810,824,105,103,104,116,97,114,114,111,119,59,32768,8655,512,68,100,12381,12387,97,115,104,59,32768,8879,97,115,104,59,32768,8878,1280,98,99,110,112,116,12404,12409,12415,12420,12452,108,97,59,32768,8711,117,116,101,59,32768,324,103,59,32896,8736,8402,1280,59,69,105,111,112,12431,12433,12437,12442,12446,32768,8777,59,32896,10864,824,100,59,32896,8779,824,115,59,32768,329,114,111,120,59,32768,8777,117,114,512,59,97,12459,12461,32768,9838,108,512,59,115,12467,12469,32768,9838,59,32768,8469,836,12477,0,12483,112,33024,160,59,32768,160,109,112,512,59,101,12489,12492,32896,8782,824,59,32896,8783,824,1280,97,101,111,117,121,12507,12519,12525,12540,12544,833,12512,0,12515,59,32768,10819,111,110,59,32768,328,100,105,108,59,32768,326,110,103,512,59,100,12532,12534,32768,8775,111,116,59,32896,10861,824,112,59,32768,10818,59,32768,1085,97,115,104,59,32768,8211,1792,59,65,97,100,113,115,120,12568,12570,12575,12596,12602,12608,12623,32768,8800,114,114,59,32768,8663,114,512,104,114,12581,12585,107,59,32768,10532,512,59,111,12590,12592,32768,8599,119,59,32768,8599,111,116,59,32896,8784,824,117,105,118,59,32768,8802,512,101,105,12613,12618,97,114,59,32768,10536,109,59,32896,8770,824,105,115,116,512,59,115,12631,12633,32768,8708,59,32768,8708,114,59,32896,55349,56619,1024,69,101,115,116,12650,12654,12688,12693,59,32896,8807,824,768,59,113,115,12661,12663,12684,32768,8817,768,59,113,115,12670,12672,12676,32768,8817,59,32896,8807,824,108,97,110,116,59,32896,10878,824,59,32896,10878,824,105,109,59,32768,8821,512,59,114,12698,12700,32768,8815,59,32768,8815,768,65,97,112,12710,12715,12720,114,114,59,32768,8654,114,114,59,32768,8622,97,114,59,32768,10994,768,59,115,118,12732,12734,12744,32768,8715,512,59,100,12739,12741,32768,8956,59,32768,8954,59,32768,8715,99,121,59,32768,1114,1792,65,69,97,100,101,115,116,12767,12772,12776,12781,12785,12853,12858,114,114,59,32768,8653,59,32896,8806,824,114,114,59,32768,8602,114,59,32768,8229,1024,59,102,113,115,12794,12796,12821,12842,32768,8816,116,512,97,114,12802,12809,114,114,111,119,59,32768,8602,105,103,104,116,97,114,114,111,119,59,32768,8622,768,59,113,115,12828,12830,12834,32768,8816,59,32896,8806,824,108,97,110,116,59,32896,10877,824,512,59,115,12847,12850,32896,10877,824,59,32768,8814,105,109,59,32768,8820,512,59,114,12863,12865,32768,8814,105,512,59,101,12871,12873,32768,8938,59,32768,8940,105,100,59,32768,8740,512,112,116,12886,12891,102,59,32896,55349,56671,33536,172,59,105,110,12899,12901,12936,32768,172,110,1024,59,69,100,118,12911,12913,12917,12923,32768,8713,59,32896,8953,824,111,116,59,32896,8949,824,818,12928,12931,12934,59,32768,8713,59,32768,8951,59,32768,8950,105,512,59,118,12942,12944,32768,8716,818,12949,12952,12955,59,32768,8716,59,32768,8958,59,32768,8957,768,97,111,114,12964,12992,12999,114,1024,59,97,115,116,12974,12976,12983,12988,32768,8742,108,108,101,108,59,32768,8742,108,59,32896,11005,8421,59,32896,8706,824,108,105,110,116,59,32768,10772,768,59,99,101,13006,13008,13013,32768,8832,117,101,59,32768,8928,512,59,99,13018,13021,32896,10927,824,512,59,101,13026,13028,32768,8832,113,59,32896,10927,824,1024,65,97,105,116,13042,13047,13066,13077,114,114,59,32768,8655,114,114,768,59,99,119,13056,13058,13062,32768,8603,59,32896,10547,824,59,32896,8605,824,103,104,116,97,114,114,111,119,59,32768,8603,114,105,512,59,101,13084,13086,32768,8939,59,32768,8941,1792,99,104,105,109,112,113,117,13104,13128,13151,13169,13174,13179,13194,1024,59,99,101,114,13113,13115,13120,13124,32768,8833,117,101,59,32768,8929,59,32896,10928,824,59,32896,55349,56515,111,114,116,1086,13137,0,0,13142,105,100,59,32768,8740,97,114,97,108,108,101,108,59,32768,8742,109,512,59,101,13157,13159,32768,8769,512,59,113,13164,13166,32768,8772,59,32768,8772,105,100,59,32768,8740,97,114,59,32768,8742,115,117,512,98,112,13186,13190,101,59,32768,8930,101,59,32768,8931,768,98,99,112,13201,13241,13254,1024,59,69,101,115,13210,13212,13216,13219,32768,8836,59,32896,10949,824,59,32768,8840,101,116,512,59,101,13226,13229,32896,8834,8402,113,512,59,113,13235,13237,32768,8840,59,32896,10949,824,99,512,59,101,13247,13249,32768,8833,113,59,32896,10928,824,1024,59,69,101,115,13263,13265,13269,13272,32768,8837,59,32896,10950,824,59,32768,8841,101,116,512,59,101,13279,13282,32896,8835,8402,113,512,59,113,13288,13290,32768,8841,59,32896,10950,824,1024,103,105,108,114,13303,13307,13315,13319,108,59,32768,8825,108,100,101,33024,241,59,32768,241,103,59,32768,8824,105,97,110,103,108,101,512,108,114,13330,13344,101,102,116,512,59,101,13338,13340,32768,8938,113,59,32768,8940,105,103,104,116,512,59,101,13353,13355,32768,8939,113,59,32768,8941,512,59,109,13364,13366,32768,957,768,59,101,115,13373,13375,13380,32768,35,114,111,59,32768,8470,112,59,32768,8199,2304,68,72,97,100,103,105,108,114,115,13403,13409,13415,13420,13426,13439,13446,13476,13493,97,115,104,59,32768,8877,97,114,114,59,32768,10500,112,59,32896,8781,8402,97,115,104,59,32768,8876,512,101,116,13431,13435,59,32896,8805,8402,59,32896,62,8402,110,102,105,110,59,32768,10718,768,65,101,116,13453,13458,13462,114,114,59,32768,10498,59,32896,8804,8402,512,59,114,13467,13470,32896,60,8402,105,101,59,32896,8884,8402,512,65,116,13481,13486,114,114,59,32768,10499,114,105,101,59,32896,8885,8402,105,109,59,32896,8764,8402,768,65,97,110,13506,13511,13532,114,114,59,32768,8662,114,512,104,114,13517,13521,107,59,32768,10531,512,59,111,13526,13528,32768,8598,119,59,32768,8598,101,97,114,59,32768,10535,9252,13576,0,0,0,0,0,0,0,0,0,0,0,0,0,13579,0,13596,13617,13653,13659,13673,13695,13708,0,0,13713,13750,0,13788,13794,0,13815,13890,13913,13937,13944,59,32768,9416,512,99,115,13583,13591,117,116,101,33024,243,59,32768,243,116,59,32768,8859,512,105,121,13600,13613,114,512,59,99,13606,13608,32768,8858,33024,244,59,32768,244,59,32768,1086,1280,97,98,105,111,115,13627,13632,13638,13642,13646,115,104,59,32768,8861,108,97,99,59,32768,337,118,59,32768,10808,116,59,32768,8857,111,108,100,59,32768,10684,108,105,103,59,32768,339,512,99,114,13663,13668,105,114,59,32768,10687,59,32896,55349,56620,1600,13680,0,0,13684,0,13692,110,59,32768,731,97,118,101,33024,242,59,32768,242,59,32768,10689,512,98,109,13699,13704,97,114,59,32768,10677,59,32768,937,110,116,59,32768,8750,1024,97,99,105,116,13721,13726,13741,13746,114,114,59,32768,8634,512,105,114,13731,13735,114,59,32768,10686,111,115,115,59,32768,10683,110,101,59,32768,8254,59,32768,10688,768,97,101,105,13756,13761,13766,99,114,59,32768,333,103,97,59,32768,969,768,99,100,110,13773,13779,13782,114,111,110,59,32768,959,59,32768,10678,117,115,59,32768,8854,112,102,59,32896,55349,56672,768,97,101,108,13800,13804,13809,114,59,32768,10679,114,112,59,32768,10681,117,115,59,32768,8853,1792,59,97,100,105,111,115,118,13829,13831,13836,13869,13875,13879,13886,32768,8744,114,114,59,32768,8635,1024,59,101,102,109,13845,13847,13859,13864,32768,10845,114,512,59,111,13853,13855,32768,8500,102,59,32768,8500,33024,170,59,32768,170,33024,186,59,32768,186,103,111,102,59,32768,8886,114,59,32768,10838,108,111,112,101,59,32768,10839,59,32768,10843,768,99,108,111,13896,13900,13908,114,59,32768,8500,97,115,104,33024,248,59,32768,248,108,59,32768,8856,105,573,13917,13924,100,101,33024,245,59,32768,245,101,115,512,59,97,13930,13932,32768,8855,115,59,32768,10806,109,108,33024,246,59,32768,246,98,97,114,59,32768,9021,5426,13972,0,14013,0,14017,14053,0,14058,14086,0,0,14107,14199,0,14202,0,0,14229,14425,0,14438,114,1024,59,97,115,116,13981,13983,13997,14009,32768,8741,33280,182,59,108,13989,13991,32768,182,108,101,108,59,32768,8741,1082,14003,0,0,14007,109,59,32768,10995,59,32768,11005,59,32768,8706,121,59,32768,1087,114,1280,99,105,109,112,116,14028,14033,14038,14043,14046,110,116,59,32768,37,111,100,59,32768,46,105,108,59,32768,8240,59,32768,8869,101,110,107,59,32768,8241,114,59,32896,55349,56621,768,105,109,111,14064,14074,14080,512,59,118,14069,14071,32768,966,59,32768,981,109,97,116,59,32768,8499,110,101,59,32768,9742,768,59,116,118,14092,14094,14103,32768,960,99,104,102,111,114,107,59,32768,8916,59,32768,982,512,97,117,14111,14132,110,512,99,107,14117,14128,107,512,59,104,14123,14125,32768,8463,59,32768,8462,118,59,32768,8463,115,2304,59,97,98,99,100,101,109,115,116,14152,14154,14160,14163,14168,14179,14182,14188,14193,32768,43,99,105,114,59,32768,10787,59,32768,8862,105,114,59,32768,10786,512,111,117,14173,14176,59,32768,8724,59,32768,10789,59,32768,10866,110,33024,177,59,32768,177,105,109,59,32768,10790,119,111,59,32768,10791,59,32768,177,768,105,112,117,14208,14216,14221,110,116,105,110,116,59,32768,10773,102,59,32896,55349,56673,110,100,33024,163,59,32768,163,2560,59,69,97,99,101,105,110,111,115,117,14249,14251,14254,14258,14263,14336,14348,14367,14413,14418,32768,8826,59,32768,10931,112,59,32768,10935,117,101,59,32768,8828,512,59,99,14268,14270,32768,10927,1536,59,97,99,101,110,115,14283,14285,14293,14302,14306,14331,32768,8826,112,112,114,111,120,59,32768,10935,117,114,108,121,101,113,59,32768,8828,113,59,32768,10927,768,97,101,115,14313,14321,14326,112,112,114,111,120,59,32768,10937,113,113,59,32768,10933,105,109,59,32768,8936,105,109,59,32768,8830,109,101,512,59,115,14343,14345,32768,8242,59,32768,8473,768,69,97,115,14355,14358,14362,59,32768,10933,112,59,32768,10937,105,109,59,32768,8936,768,100,102,112,14374,14377,14402,59,32768,8719,768,97,108,115,14384,14390,14396,108,97,114,59,32768,9006,105,110,101,59,32768,8978,117,114,102,59,32768,8979,512,59,116,14407,14409,32768,8733,111,59,32768,8733,105,109,59,32768,8830,114,101,108,59,32768,8880,512,99,105,14429,14434,114,59,32896,55349,56517,59,32768,968,110,99,115,112,59,32768,8200,1536,102,105,111,112,115,117,14457,14462,14467,14473,14480,14486,114,59,32896,55349,56622,110,116,59,32768,10764,112,102,59,32896,55349,56674,114,105,109,101,59,32768,8279,99,114,59,32896,55349,56518,768,97,101,111,14493,14513,14526,116,512,101,105,14499,14508,114,110,105,111,110,115,59,32768,8461,110,116,59,32768,10774,115,116,512,59,101,14520,14522,32768,63,113,59,32768,8799,116,33024,34,59,32768,34,5376,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,14575,14597,14603,14608,14775,14829,14865,14901,14943,14966,15e3,15139,15159,15176,15182,15236,15261,15267,15309,15352,15360,768,97,114,116,14582,14587,14591,114,114,59,32768,8667,114,59,32768,8658,97,105,108,59,32768,10524,97,114,114,59,32768,10511,97,114,59,32768,10596,1792,99,100,101,110,113,114,116,14623,14637,14642,14650,14672,14679,14751,512,101,117,14628,14632,59,32896,8765,817,116,101,59,32768,341,105,99,59,32768,8730,109,112,116,121,118,59,32768,10675,103,1024,59,100,101,108,14660,14662,14665,14668,32768,10217,59,32768,10642,59,32768,10661,101,59,32768,10217,117,111,33024,187,59,32768,187,114,2816,59,97,98,99,102,104,108,112,115,116,119,14703,14705,14709,14720,14723,14727,14731,14735,14739,14744,14748,32768,8594,112,59,32768,10613,512,59,102,14714,14716,32768,8677,115,59,32768,10528,59,32768,10547,115,59,32768,10526,107,59,32768,8618,112,59,32768,8620,108,59,32768,10565,105,109,59,32768,10612,108,59,32768,8611,59,32768,8605,512,97,105,14756,14761,105,108,59,32768,10522,111,512,59,110,14767,14769,32768,8758,97,108,115,59,32768,8474,768,97,98,114,14782,14787,14792,114,114,59,32768,10509,114,107,59,32768,10099,512,97,107,14797,14809,99,512,101,107,14803,14806,59,32768,125,59,32768,93,512,101,115,14814,14817,59,32768,10636,108,512,100,117,14823,14826,59,32768,10638,59,32768,10640,1024,97,101,117,121,14838,14844,14858,14862,114,111,110,59,32768,345,512,100,105,14849,14854,105,108,59,32768,343,108,59,32768,8969,98,59,32768,125,59,32768,1088,1024,99,108,113,115,14874,14878,14885,14897,97,59,32768,10551,100,104,97,114,59,32768,10601,117,111,512,59,114,14892,14894,32768,8221,59,32768,8221,104,59,32768,8627,768,97,99,103,14908,14934,14938,108,1024,59,105,112,115,14918,14920,14925,14931,32768,8476,110,101,59,32768,8475,97,114,116,59,32768,8476,59,32768,8477,116,59,32768,9645,33024,174,59,32768,174,768,105,108,114,14950,14956,14962,115,104,116,59,32768,10621,111,111,114,59,32768,8971,59,32896,55349,56623,512,97,111,14971,14990,114,512,100,117,14977,14980,59,32768,8641,512,59,108,14985,14987,32768,8640,59,32768,10604,512,59,118,14995,14997,32768,961,59,32768,1009,768,103,110,115,15007,15123,15127,104,116,1536,97,104,108,114,115,116,15022,15039,15060,15086,15099,15111,114,114,111,119,512,59,116,15031,15033,32768,8594,97,105,108,59,32768,8611,97,114,112,111,111,110,512,100,117,15050,15056,111,119,110,59,32768,8641,112,59,32768,8640,101,102,116,512,97,104,15068,15076,114,114,111,119,115,59,32768,8644,97,114,112,111,111,110,115,59,32768,8652,105,103,104,116,97,114,114,111,119,115,59,32768,8649,113,117,105,103,97,114,114,111,119,59,32768,8605,104,114,101,101,116,105,109,101,115,59,32768,8908,103,59,32768,730,105,110,103,100,111,116,115,101,113,59,32768,8787,768,97,104,109,15146,15151,15156,114,114,59,32768,8644,97,114,59,32768,8652,59,32768,8207,111,117,115,116,512,59,97,15168,15170,32768,9137,99,104,101,59,32768,9137,109,105,100,59,32768,10990,1024,97,98,112,116,15191,15204,15209,15229,512,110,114,15196,15200,103,59,32768,10221,114,59,32768,8702,114,107,59,32768,10215,768,97,102,108,15216,15220,15224,114,59,32768,10630,59,32896,55349,56675,117,115,59,32768,10798,105,109,101,115,59,32768,10805,512,97,112,15241,15253,114,512,59,103,15247,15249,32768,41,116,59,32768,10644,111,108,105,110,116,59,32768,10770,97,114,114,59,32768,8649,1024,97,99,104,113,15276,15282,15287,15290,113,117,111,59,32768,8250,114,59,32896,55349,56519,59,32768,8625,512,98,117,15295,15298,59,32768,93,111,512,59,114,15304,15306,32768,8217,59,32768,8217,768,104,105,114,15316,15322,15328,114,101,101,59,32768,8908,109,101,115,59,32768,8906,105,1024,59,101,102,108,15338,15340,15343,15346,32768,9657,59,32768,8885,59,32768,9656,116,114,105,59,32768,10702,108,117,104,97,114,59,32768,10600,59,32768,8478,6706,15391,15398,15404,15499,15516,15592,0,15606,15660,0,0,15752,15758,0,15827,15863,15886,16e3,16006,16038,16086,0,16467,0,0,16506,99,117,116,101,59,32768,347,113,117,111,59,32768,8218,2560,59,69,97,99,101,105,110,112,115,121,15424,15426,15429,15441,15446,15458,15463,15482,15490,15495,32768,8827,59,32768,10932,833,15434,0,15437,59,32768,10936,111,110,59,32768,353,117,101,59,32768,8829,512,59,100,15451,15453,32768,10928,105,108,59,32768,351,114,99,59,32768,349,768,69,97,115,15470,15473,15477,59,32768,10934,112,59,32768,10938,105,109,59,32768,8937,111,108,105,110,116,59,32768,10771,105,109,59,32768,8831,59,32768,1089,111,116,768,59,98,101,15507,15509,15512,32768,8901,59,32768,8865,59,32768,10854,1792,65,97,99,109,115,116,120,15530,15535,15556,15562,15566,15572,15587,114,114,59,32768,8664,114,512,104,114,15541,15545,107,59,32768,10533,512,59,111,15550,15552,32768,8600,119,59,32768,8600,116,33024,167,59,32768,167,105,59,32768,59,119,97,114,59,32768,10537,109,512,105,110,15578,15584,110,117,115,59,32768,8726,59,32768,8726,116,59,32768,10038,114,512,59,111,15597,15600,32896,55349,56624,119,110,59,32768,8994,1024,97,99,111,121,15614,15619,15632,15654,114,112,59,32768,9839,512,104,121,15624,15629,99,121,59,32768,1097,59,32768,1096,114,116,1086,15640,0,0,15645,105,100,59,32768,8739,97,114,97,108,108,101,108,59,32768,8741,33024,173,59,32768,173,512,103,109,15664,15681,109,97,768,59,102,118,15673,15675,15678,32768,963,59,32768,962,59,32768,962,2048,59,100,101,103,108,110,112,114,15698,15700,15705,15715,15725,15735,15739,15745,32768,8764,111,116,59,32768,10858,512,59,113,15710,15712,32768,8771,59,32768,8771,512,59,69,15720,15722,32768,10910,59,32768,10912,512,59,69,15730,15732,32768,10909,59,32768,10911,101,59,32768,8774,108,117,115,59,32768,10788,97,114,114,59,32768,10610,97,114,114,59,32768,8592,1024,97,101,105,116,15766,15788,15796,15808,512,108,115,15771,15783,108,115,101,116,109,105,110,117,115,59,32768,8726,104,112,59,32768,10803,112,97,114,115,108,59,32768,10724,512,100,108,15801,15804,59,32768,8739,101,59,32768,8995,512,59,101,15813,15815,32768,10922,512,59,115,15820,15822,32768,10924,59,32896,10924,65024,768,102,108,112,15833,15839,15857,116,99,121,59,32768,1100,512,59,98,15844,15846,32768,47,512,59,97,15851,15853,32768,10692,114,59,32768,9023,102,59,32896,55349,56676,97,512,100,114,15868,15882,101,115,512,59,117,15875,15877,32768,9824,105,116,59,32768,9824,59,32768,8741,768,99,115,117,15892,15921,15977,512,97,117,15897,15909,112,512,59,115,15903,15905,32768,8851,59,32896,8851,65024,112,512,59,115,15915,15917,32768,8852,59,32896,8852,65024,117,512,98,112,15927,15952,768,59,101,115,15934,15936,15939,32768,8847,59,32768,8849,101,116,512,59,101,15946,15948,32768,8847,113,59,32768,8849,768,59,101,115,15959,15961,15964,32768,8848,59,32768,8850,101,116,512,59,101,15971,15973,32768,8848,113,59,32768,8850,768,59,97,102,15984,15986,15996,32768,9633,114,566,15991,15994,59,32768,9633,59,32768,9642,59,32768,9642,97,114,114,59,32768,8594,1024,99,101,109,116,16014,16019,16025,16031,114,59,32896,55349,56520,116,109,110,59,32768,8726,105,108,101,59,32768,8995,97,114,102,59,32768,8902,512,97,114,16042,16053,114,512,59,102,16048,16050,32768,9734,59,32768,9733,512,97,110,16058,16081,105,103,104,116,512,101,112,16067,16076,112,115,105,108,111,110,59,32768,1013,104,105,59,32768,981,115,59,32768,175,1280,98,99,109,110,112,16096,16221,16288,16291,16295,2304,59,69,100,101,109,110,112,114,115,16115,16117,16120,16125,16137,16143,16154,16160,16166,32768,8834,59,32768,10949,111,116,59,32768,10941,512,59,100,16130,16132,32768,8838,111,116,59,32768,10947,117,108,116,59,32768,10945,512,69,101,16148,16151,59,32768,10955,59,32768,8842,108,117,115,59,32768,10943,97,114,114,59,32768,10617,768,101,105,117,16173,16206,16210,116,768,59,101,110,16181,16183,16194,32768,8834,113,512,59,113,16189,16191,32768,8838,59,32768,10949,101,113,512,59,113,16201,16203,32768,8842,59,32768,10955,109,59,32768,10951,512,98,112,16215,16218,59,32768,10965,59,32768,10963,99,1536,59,97,99,101,110,115,16235,16237,16245,16254,16258,16283,32768,8827,112,112,114,111,120,59,32768,10936,117,114,108,121,101,113,59,32768,8829,113,59,32768,10928,768,97,101,115,16265,16273,16278,112,112,114,111,120,59,32768,10938,113,113,59,32768,10934,105,109,59,32768,8937,105,109,59,32768,8831,59,32768,8721,103,59,32768,9834,3328,49,50,51,59,69,100,101,104,108,109,110,112,115,16322,16327,16332,16337,16339,16342,16356,16368,16382,16388,16394,16405,16411,33024,185,59,32768,185,33024,178,59,32768,178,33024,179,59,32768,179,32768,8835,59,32768,10950,512,111,115,16347,16351,116,59,32768,10942,117,98,59,32768,10968,512,59,100,16361,16363,32768,8839,111,116,59,32768,10948,115,512,111,117,16374,16378,108,59,32768,10185,98,59,32768,10967,97,114,114,59,32768,10619,117,108,116,59,32768,10946,512,69,101,16399,16402,59,32768,10956,59,32768,8843,108,117,115,59,32768,10944,768,101,105,117,16418,16451,16455,116,768,59,101,110,16426,16428,16439,32768,8835,113,512,59,113,16434,16436,32768,8839,59,32768,10950,101,113,512,59,113,16446,16448,32768,8843,59,32768,10956,109,59,32768,10952,512,98,112,16460,16463,59,32768,10964,59,32768,10966,768,65,97,110,16473,16478,16499,114,114,59,32768,8665,114,512,104,114,16484,16488,107,59,32768,10534,512,59,111,16493,16495,32768,8601,119,59,32768,8601,119,97,114,59,32768,10538,108,105,103,33024,223,59,32768,223,5938,16538,16552,16557,16579,16584,16591,0,16596,16692,0,0,0,0,0,16731,16780,0,16787,16908,0,0,0,16938,1091,16543,0,0,16549,103,101,116,59,32768,8982,59,32768,964,114,107,59,32768,9140,768,97,101,121,16563,16569,16575,114,111,110,59,32768,357,100,105,108,59,32768,355,59,32768,1090,111,116,59,32768,8411,108,114,101,99,59,32768,8981,114,59,32896,55349,56625,1024,101,105,107,111,16604,16641,16670,16684,835,16609,0,16624,101,512,52,102,16614,16617,59,32768,8756,111,114,101,59,32768,8756,97,768,59,115,118,16631,16633,16638,32768,952,121,109,59,32768,977,59,32768,977,512,99,110,16646,16665,107,512,97,115,16652,16660,112,112,114,111,120,59,32768,8776,105,109,59,32768,8764,115,112,59,32768,8201,512,97,115,16675,16679,112,59,32768,8776,105,109,59,32768,8764,114,110,33024,254,59,32768,254,829,16696,16701,16727,100,101,59,32768,732,101,115,33536,215,59,98,100,16710,16712,16723,32768,215,512,59,97,16717,16719,32768,8864,114,59,32768,10801,59,32768,10800,116,59,32768,8749,768,101,112,115,16737,16741,16775,97,59,32768,10536,1024,59,98,99,102,16750,16752,16757,16762,32768,8868,111,116,59,32768,9014,105,114,59,32768,10993,512,59,111,16767,16770,32896,55349,56677,114,107,59,32768,10970,97,59,32768,10537,114,105,109,101,59,32768,8244,768,97,105,112,16793,16798,16899,100,101,59,32768,8482,1792,97,100,101,109,112,115,116,16813,16868,16873,16876,16883,16889,16893,110,103,108,101,1280,59,100,108,113,114,16828,16830,16836,16850,16853,32768,9653,111,119,110,59,32768,9663,101,102,116,512,59,101,16844,16846,32768,9667,113,59,32768,8884,59,32768,8796,105,103,104,116,512,59,101,16862,16864,32768,9657,113,59,32768,8885,111,116,59,32768,9708,59,32768,8796,105,110,117,115,59,32768,10810,108,117,115,59,32768,10809,98,59,32768,10701,105,109,101,59,32768,10811,101,122,105,117,109,59,32768,9186,768,99,104,116,16914,16926,16931,512,114,121,16919,16923,59,32896,55349,56521,59,32768,1094,99,121,59,32768,1115,114,111,107,59,32768,359,512,105,111,16942,16947,120,116,59,32768,8812,104,101,97,100,512,108,114,16956,16967,101,102,116,97,114,114,111,119,59,32768,8606,105,103,104,116,97,114,114,111,119,59,32768,8608,4608,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,17016,17021,17026,17043,17057,17072,17095,17110,17119,17139,17172,17187,17202,17290,17330,17336,17365,17381,114,114,59,32768,8657,97,114,59,32768,10595,512,99,114,17031,17039,117,116,101,33024,250,59,32768,250,114,59,32768,8593,114,820,17049,0,17053,121,59,32768,1118,118,101,59,32768,365,512,105,121,17062,17069,114,99,33024,251,59,32768,251,59,32768,1091,768,97,98,104,17079,17084,17090,114,114,59,32768,8645,108,97,99,59,32768,369,97,114,59,32768,10606,512,105,114,17100,17106,115,104,116,59,32768,10622,59,32896,55349,56626,114,97,118,101,33024,249,59,32768,249,562,17123,17135,114,512,108,114,17128,17131,59,32768,8639,59,32768,8638,108,107,59,32768,9600,512,99,116,17144,17167,1088,17150,0,0,17163,114,110,512,59,101,17156,17158,32768,8988,114,59,32768,8988,111,112,59,32768,8975,114,105,59,32768,9720,512,97,108,17177,17182,99,114,59,32768,363,33024,168,59,32768,168,512,103,112,17192,17197,111,110,59,32768,371,102,59,32896,55349,56678,1536,97,100,104,108,115,117,17215,17222,17233,17257,17262,17280,114,114,111,119,59,32768,8593,111,119,110,97,114,114,111,119,59,32768,8597,97,114,112,111,111,110,512,108,114,17244,17250,101,102,116,59,32768,8639,105,103,104,116,59,32768,8638,117,115,59,32768,8846,105,768,59,104,108,17270,17272,17275,32768,965,59,32768,978,111,110,59,32768,965,112,97,114,114,111,119,115,59,32768,8648,768,99,105,116,17297,17320,17325,1088,17303,0,0,17316,114,110,512,59,101,17309,17311,32768,8989,114,59,32768,8989,111,112,59,32768,8974,110,103,59,32768,367,114,105,59,32768,9721,99,114,59,32896,55349,56522,768,100,105,114,17343,17348,17354,111,116,59,32768,8944,108,100,101,59,32768,361,105,512,59,102,17360,17362,32768,9653,59,32768,9652,512,97,109,17370,17375,114,114,59,32768,8648,108,33024,252,59,32768,252,97,110,103,108,101,59,32768,10663,3840,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,17420,17425,17437,17443,17613,17617,17623,17667,17672,17678,17693,17699,17705,17711,17754,114,114,59,32768,8661,97,114,512,59,118,17432,17434,32768,10984,59,32768,10985,97,115,104,59,32768,8872,512,110,114,17448,17454,103,114,116,59,32768,10652,1792,101,107,110,112,114,115,116,17469,17478,17485,17494,17515,17526,17578,112,115,105,108,111,110,59,32768,1013,97,112,112,97,59,32768,1008,111,116,104,105,110,103,59,32768,8709,768,104,105,114,17501,17505,17508,105,59,32768,981,59,32768,982,111,112,116,111,59,32768,8733,512,59,104,17520,17522,32768,8597,111,59,32768,1009,512,105,117,17531,17537,103,109,97,59,32768,962,512,98,112,17542,17560,115,101,116,110,101,113,512,59,113,17553,17556,32896,8842,65024,59,32896,10955,65024,115,101,116,110,101,113,512,59,113,17571,17574,32896,8843,65024,59,32896,10956,65024,512,104,114,17583,17589,101,116,97,59,32768,977,105,97,110,103,108,101,512,108,114,17600,17606,101,102,116,59,32768,8882,105,103,104,116,59,32768,8883,121,59,32768,1074,97,115,104,59,32768,8866,768,101,108,114,17630,17648,17654,768,59,98,101,17637,17639,17644,32768,8744,97,114,59,32768,8891,113,59,32768,8794,108,105,112,59,32768,8942,512,98,116,17659,17664,97,114,59,32768,124,59,32768,124,114,59,32896,55349,56627,116,114,105,59,32768,8882,115,117,512,98,112,17685,17689,59,32896,8834,8402,59,32896,8835,8402,112,102,59,32896,55349,56679,114,111,112,59,32768,8733,116,114,105,59,32768,8883,512,99,117,17716,17721,114,59,32896,55349,56523,512,98,112,17726,17740,110,512,69,101,17732,17736,59,32896,10955,65024,59,32896,8842,65024,110,512,69,101,17746,17750,59,32896,10956,65024,59,32896,8843,65024,105,103,122,97,103,59,32768,10650,1792,99,101,102,111,112,114,115,17777,17783,17815,17820,17826,17829,17842,105,114,99,59,32768,373,512,100,105,17788,17809,512,98,103,17793,17798,97,114,59,32768,10847,101,512,59,113,17804,17806,32768,8743,59,32768,8793,101,114,112,59,32768,8472,114,59,32896,55349,56628,112,102,59,32896,55349,56680,59,32768,8472,512,59,101,17834,17836,32768,8768,97,116,104,59,32768,8768,99,114,59,32896,55349,56524,5428,17871,17891,0,17897,0,17902,17917,0,0,17920,17935,17940,17945,0,0,17977,17992,0,18008,18024,18029,768,97,105,117,17877,17881,17886,112,59,32768,8898,114,99,59,32768,9711,112,59,32768,8899,116,114,105,59,32768,9661,114,59,32896,55349,56629,512,65,97,17906,17911,114,114,59,32768,10234,114,114,59,32768,10231,59,32768,958,512,65,97,17924,17929,114,114,59,32768,10232,114,114,59,32768,10229,97,112,59,32768,10236,105,115,59,32768,8955,768,100,112,116,17951,17956,17970,111,116,59,32768,10752,512,102,108,17961,17965,59,32896,55349,56681,117,115,59,32768,10753,105,109,101,59,32768,10754,512,65,97,17981,17986,114,114,59,32768,10233,114,114,59,32768,10230,512,99,113,17996,18001,114,59,32896,55349,56525,99,117,112,59,32768,10758,512,112,116,18012,18018,108,117,115,59,32768,10756,114,105,59,32768,9651,101,101,59,32768,8897,101,100,103,101,59,32768,8896,2048,97,99,101,102,105,111,115,117,18052,18068,18081,18087,18092,18097,18103,18109,99,512,117,121,18058,18065,116,101,33024,253,59,32768,253,59,32768,1103,512,105,121,18073,18078,114,99,59,32768,375,59,32768,1099,110,33024,165,59,32768,165,114,59,32896,55349,56630,99,121,59,32768,1111,112,102,59,32896,55349,56682,99,114,59,32896,55349,56526,512,99,109,18114,18118,121,59,32768,1102,108,33024,255,59,32768,255,2560,97,99,100,101,102,104,105,111,115,119,18145,18152,18166,18171,18186,18191,18196,18204,18210,18216,99,117,116,101,59,32768,378,512,97,121,18157,18163,114,111,110,59,32768,382,59,32768,1079,111,116,59,32768,380,512,101,116,18176,18182,116,114,102,59,32768,8488,97,59,32768,950,114,59,32896,55349,56631,99,121,59,32768,1078,103,114,97,114,114,59,32768,8669,112,102,59,32896,55349,56683,99,114,59,32896,55349,56527,512,106,110,18221,18224,59,32768,8205,106,59,32768,8204])},6381:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.default=new Uint16Array([1024,97,103,108,113,9,23,27,31,1086,15,0,0,19,112,59,32768,38,111,115,59,32768,39,116,59,32768,62,116,59,32768,60,117,111,116,59,32768,34])},825:function(ve,m,d){"use strict";var M,s=this&&this.__extends||(M=function(S,C){return(M=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_,F){_.__proto__=F}||function(_,F){for(var L in F)Object.prototype.hasOwnProperty.call(F,L)&&(_[L]=F[L])})(S,C)},function(S,C){if("function"!=typeof C&&null!==C)throw new TypeError("Class extends value "+String(C)+" is not a constructor or null");function _(){this.constructor=S}M(S,C),S.prototype=null===C?Object.create(C):(_.prototype=C.prototype,new _)}),p=this&&this.__importDefault||function(M){return M&&M.__esModule?M:{default:M}};Object.defineProperty(m,"__esModule",{value:!0}),m.parseFeed=m.FeedHandler=m.getFeed=void 0;var o=p(d(9131)),I=d(5149);Object.defineProperty(m,"getFeed",{enumerable:!0,get:function(){return I.getFeed}});var k=d(2100),T=function(M){function S(C,_){return"object"==typeof C&&(_=C=void 0),M.call(this,C,_)||this}return s(S,M),S.prototype.onend=function(){var C=(0,I.getFeed)(this.dom);C?(this.feed=C,this.handleCallback(null)):this.handleCallback(new Error("couldn't find root of feed"))},S}(o.default);m.FeedHandler=T,m.parseFeed=function N(M,S){void 0===S&&(S={xmlMode:!0});var C=new o.default(null,S);return new k.Parser(C,S).end(M),(0,I.getFeed)(C.dom)}},2100:function(ve,m,d){"use strict";var s=this&&this.__importDefault||function(H){return H&&H.__esModule?H:{default:H}};Object.defineProperty(m,"__esModule",{value:!0}),m.Parser=void 0;var p=s(d(6122)),o=new Set(["input","option","optgroup","select","button","datalist","textarea"]),I=new Set(["p"]),k=new Set(["thead","tbody"]),T=new Set(["dd","dt"]),N=new Set(["rt","rp"]),M=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",I],["h1",I],["h2",I],["h3",I],["h4",I],["h5",I],["h6",I],["select",o],["input",o],["output",o],["button",o],["datalist",o],["textarea",o],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",T],["dt",T],["address",I],["article",I],["aside",I],["blockquote",I],["details",I],["div",I],["dl",I],["fieldset",I],["figcaption",I],["figure",I],["footer",I],["form",I],["header",I],["hr",I],["main",I],["nav",I],["ol",I],["pre",I],["section",I],["table",I],["ul",I],["rt",N],["rp",N],["tbody",k],["tfoot",k]]),S=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),C=new Set(["math","svg"]),_=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),F=/\s|\//,L=function(){function H(V,$){var Y,ae,se,re,G;void 0===$&&($={}),this.options=$,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.cbs=V??{},this.lowerCaseTagNames=null!==(Y=$.lowerCaseTags)&&void 0!==Y?Y:!$.xmlMode,this.lowerCaseAttributeNames=null!==(ae=$.lowerCaseAttributeNames)&&void 0!==ae?ae:!$.xmlMode,this.tokenizer=new(null!==(se=$.Tokenizer)&&void 0!==se?se:p.default)(this.options,this),null===(G=(re=this.cbs).onparserinit)||void 0===G||G.call(re,this)}return H.prototype.ontext=function(V){var $,Y,ae=this.tokenizer.getAbsoluteIndex();this.endIndex=ae-1,null===(Y=($=this.cbs).ontext)||void 0===Y||Y.call($,V),this.startIndex=ae},H.prototype.isVoidElement=function(V){return!this.options.xmlMode&&S.has(V)},H.prototype.onopentagname=function(V){this.endIndex=this.tokenizer.getAbsoluteIndex(),this.lowerCaseTagNames&&(V=V.toLowerCase()),this.emitOpenTag(V)},H.prototype.emitOpenTag=function(V){var $,Y,ae,se;this.openTagStart=this.startIndex,this.tagname=V;var re=!this.options.xmlMode&&M.get(V);if(re)for(;this.stack.length>0&&re.has(this.stack[this.stack.length-1]);){var G=this.stack.pop();null===(Y=($=this.cbs).onclosetag)||void 0===Y||Y.call($,G,!0)}this.isVoidElement(V)||(this.stack.push(V),C.has(V)?this.foreignContext.push(!0):_.has(V)&&this.foreignContext.push(!1)),null===(se=(ae=this.cbs).onopentagname)||void 0===se||se.call(ae,V),this.cbs.onopentag&&(this.attribs={})},H.prototype.endOpenTag=function(V){var $,Y;this.startIndex=this.openTagStart,this.endIndex=this.tokenizer.getAbsoluteIndex(),this.attribs&&(null===(Y=($=this.cbs).onopentag)||void 0===Y||Y.call($,this.tagname,this.attribs,V),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""},H.prototype.onopentagend=function(){this.endOpenTag(!1),this.startIndex=this.endIndex+1},H.prototype.onclosetag=function(V){var $,Y,ae,se,re,G;if(this.endIndex=this.tokenizer.getAbsoluteIndex(),this.lowerCaseTagNames&&(V=V.toLowerCase()),(C.has(V)||_.has(V))&&this.foreignContext.pop(),this.isVoidElement(V))!this.options.xmlMode&&"br"===V&&(null===(Y=($=this.cbs).onopentagname)||void 0===Y||Y.call($,V),null===(se=(ae=this.cbs).onopentag)||void 0===se||se.call(ae,V,{},!0),null===(G=(re=this.cbs).onclosetag)||void 0===G||G.call(re,V,!1));else{var Z=this.stack.lastIndexOf(V);if(-1!==Z)if(this.cbs.onclosetag)for(var X=this.stack.length-Z;X--;)this.cbs.onclosetag(this.stack.pop(),0!==X);else this.stack.length=Z;else!this.options.xmlMode&&"p"===V&&(this.emitOpenTag(V),this.closeCurrentTag(!0))}this.startIndex=this.endIndex+1},H.prototype.onselfclosingtag=function(){this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=this.endIndex+1):this.onopentagend()},H.prototype.closeCurrentTag=function(V){var $,Y,ae=this.tagname;this.endOpenTag(V),this.stack[this.stack.length-1]===ae&&(null===(Y=($=this.cbs).onclosetag)||void 0===Y||Y.call($,ae,!V),this.stack.pop())},H.prototype.onattribname=function(V){this.startIndex=this.tokenizer.getAbsoluteSectionStart(),this.lowerCaseAttributeNames&&(V=V.toLowerCase()),this.attribname=V},H.prototype.onattribdata=function(V){this.attribvalue+=V},H.prototype.onattribend=function(V){var $,Y;this.endIndex=this.tokenizer.getAbsoluteIndex(),null===(Y=($=this.cbs).onattribute)||void 0===Y||Y.call($,this.attribname,this.attribvalue,V),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribname="",this.attribvalue=""},H.prototype.getInstructionName=function(V){var $=V.search(F),Y=$<0?V:V.substr(0,$);return this.lowerCaseTagNames&&(Y=Y.toLowerCase()),Y},H.prototype.ondeclaration=function(V){if(this.endIndex=this.tokenizer.getAbsoluteIndex(),this.cbs.onprocessinginstruction){var $=this.getInstructionName(V);this.cbs.onprocessinginstruction("!"+$,"!"+V)}this.startIndex=this.endIndex+1},H.prototype.onprocessinginstruction=function(V){if(this.endIndex=this.tokenizer.getAbsoluteIndex(),this.cbs.onprocessinginstruction){var $=this.getInstructionName(V);this.cbs.onprocessinginstruction("?"+$,"?"+V)}this.startIndex=this.endIndex+1},H.prototype.oncomment=function(V){var $,Y,ae,se;this.endIndex=this.tokenizer.getAbsoluteIndex(),null===(Y=($=this.cbs).oncomment)||void 0===Y||Y.call($,V),null===(se=(ae=this.cbs).oncommentend)||void 0===se||se.call(ae),this.startIndex=this.endIndex+1},H.prototype.oncdata=function(V){var $,Y,ae,se,re,G,Z,X,te,fe;this.endIndex=this.tokenizer.getAbsoluteIndex(),this.options.xmlMode||this.options.recognizeCDATA?(null===(Y=($=this.cbs).oncdatastart)||void 0===Y||Y.call($),null===(se=(ae=this.cbs).ontext)||void 0===se||se.call(ae,V),null===(G=(re=this.cbs).oncdataend)||void 0===G||G.call(re)):(null===(X=(Z=this.cbs).oncomment)||void 0===X||X.call(Z,"[CDATA["+V+"]]"),null===(fe=(te=this.cbs).oncommentend)||void 0===fe||fe.call(te)),this.startIndex=this.endIndex+1},H.prototype.onerror=function(V){var $,Y;null===(Y=($=this.cbs).onerror)||void 0===Y||Y.call($,V)},H.prototype.onend=function(){var V,$;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(var Y=this.stack.length;Y>0;this.cbs.onclosetag(this.stack[--Y],!0));}null===($=(V=this.cbs).onend)||void 0===$||$.call(V)},H.prototype.reset=function(){var V,$,Y,ae;null===($=(V=this.cbs).onreset)||void 0===$||$.call(V),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack=[],this.startIndex=0,this.endIndex=0,null===(ae=(Y=this.cbs).onparserinit)||void 0===ae||ae.call(Y,this)},H.prototype.parseComplete=function(V){this.reset(),this.end(V)},H.prototype.write=function(V){this.tokenizer.write(V)},H.prototype.end=function(V){this.tokenizer.end(V)},H.prototype.pause=function(){this.tokenizer.pause()},H.prototype.resume=function(){this.tokenizer.resume()},H.prototype.parseChunk=function(V){this.write(V)},H.prototype.done=function(V){this.end(V)},H}();m.Parser=L},6122:function(ve,m,d){"use strict";var s=this&&this.__importDefault||function(C){return C&&C.__esModule?C:{default:C}};Object.defineProperty(m,"__esModule",{value:!0});var p=s(d(396)),o=d(356);function I(C){return 32===C||10===C||9===C||12===C||13===C}function k(C){return 47===C||62===C||I(C)}function T(C){return C>=48&&C<=57}var M={Cdata:new Uint16Array([67,68,65,84,65,91]),CdataEnd:new Uint16Array([93,93,62]),CommentEnd:new Uint16Array([45,45,62]),ScriptEnd:new Uint16Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint16Array([60,47,115,116,121,108,101]),TitleEnd:new Uint16Array([60,47,116,105,116,108,101])},S=function(){function C(_,F){var L=_.xmlMode,H=void 0!==L&&L,V=_.decodeEntities,$=void 0===V||V;this.cbs=F,this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.isSpecial=!1,this.running=!0,this.ended=!1,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.trieResult=null,this.entityExcess=0,this.xmlMode=H,this.decodeEntities=$,this.entityTrie=H?o.xmlDecodeTree:o.htmlDecodeTree}return C.prototype.reset=function(){this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.currentSequence=void 0,this.running=!0,this.ended=!1},C.prototype.write=function(_){if(this.ended)return this.cbs.onerror(Error(".write() after done!"));this.buffer+=_,this.parse()},C.prototype.end=function(_){if(this.ended)return this.cbs.onerror(Error(".end() after done!"));_&&this.write(_),this.ended=!0,this.running&&this.finish()},C.prototype.pause=function(){this.running=!1},C.prototype.resume=function(){this.running=!0,this._indexthis.sectionStart&&this.cbs.ontext(this.getSection()),this._state=2,this.sectionStart=this._index):this.decodeEntities&&38===_&&(this._state=25)},C.prototype.stateSpecialStartSequence=function(_){var F=this.sequenceIndex===this.currentSequence.length;if(F?k(_):(32|_)===this.currentSequence[this.sequenceIndex]){if(!F)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this._state=3,this.stateInTagName(_)},C.prototype.stateInSpecialTag=function(_){if(this.sequenceIndex===this.currentSequence.length){if(62===_||I(_)){var F=this._index-this.currentSequence.length;if(this.sectionStart=97&&C<=122||C>=65&&C<=90}(_)},C.prototype.startSpecial=function(_,F){this.isSpecial=!0,this.currentSequence=_,this.sequenceIndex=F,this._state=23},C.prototype.stateBeforeTagName=function(_){if(33===_)this._state=15,this.sectionStart=this._index+1;else if(63===_)this._state=17,this.sectionStart=this._index+1;else if(this.isTagStartChar(_)){var F=32|_;this.sectionStart=this._index,this.xmlMode||F!==M.TitleEnd[2]?this._state=this.xmlMode||F!==M.ScriptEnd[2]?3:22:this.startSpecial(M.TitleEnd,3)}else 47===_?this._state=5:(this._state=1,this.stateText(_))},C.prototype.stateInTagName=function(_){k(_)&&(this.cbs.onopentagname(this.getSection()),this.sectionStart=-1,this._state=8,this.stateBeforeAttributeName(_))},C.prototype.stateBeforeClosingTagName=function(_){I(_)||(62===_?this._state=1:(this._state=this.isTagStartChar(_)?6:20,this.sectionStart=this._index))},C.prototype.stateInClosingTagName=function(_){(62===_||I(_))&&(this.cbs.onclosetag(this.getSection()),this.sectionStart=-1,this._state=7,this.stateAfterClosingTagName(_))},C.prototype.stateAfterClosingTagName=function(_){(62===_||this.fastForwardTo(62))&&(this._state=1,this.sectionStart=this._index+1)},C.prototype.stateBeforeAttributeName=function(_){62===_?(this.cbs.onopentagend(),this.isSpecial?(this._state=24,this.sequenceIndex=0):this._state=1,this.baseState=this._state,this.sectionStart=this._index+1):47===_?this._state=4:I(_)||(this._state=9,this.sectionStart=this._index)},C.prototype.stateInSelfClosingTag=function(_){62===_?(this.cbs.onselfclosingtag(),this._state=1,this.baseState=1,this.sectionStart=this._index+1,this.isSpecial=!1):I(_)||(this._state=8,this.stateBeforeAttributeName(_))},C.prototype.stateInAttributeName=function(_){(61===_||k(_))&&(this.cbs.onattribname(this.getSection()),this.sectionStart=-1,this._state=10,this.stateAfterAttributeName(_))},C.prototype.stateAfterAttributeName=function(_){61===_?this._state=11:47===_||62===_?(this.cbs.onattribend(void 0),this._state=8,this.stateBeforeAttributeName(_)):I(_)||(this.cbs.onattribend(void 0),this._state=9,this.sectionStart=this._index)},C.prototype.stateBeforeAttributeValue=function(_){34===_?(this._state=12,this.sectionStart=this._index+1):39===_?(this._state=13,this.sectionStart=this._index+1):I(_)||(this.sectionStart=this._index,this._state=14,this.stateInAttributeValueNoQuotes(_))},C.prototype.handleInAttributeValue=function(_,F){_===F||!this.decodeEntities&&this.fastForwardTo(F)?(this.cbs.onattribdata(this.getSection()),this.sectionStart=-1,this.cbs.onattribend(String.fromCharCode(F)),this._state=8):this.decodeEntities&&38===_&&(this.baseState=this._state,this._state=25)},C.prototype.stateInAttributeValueDoubleQuotes=function(_){this.handleInAttributeValue(_,34)},C.prototype.stateInAttributeValueSingleQuotes=function(_){this.handleInAttributeValue(_,39)},C.prototype.stateInAttributeValueNoQuotes=function(_){I(_)||62===_?(this.cbs.onattribdata(this.getSection()),this.sectionStart=-1,this.cbs.onattribend(null),this._state=8,this.stateBeforeAttributeName(_)):this.decodeEntities&&38===_&&(this.baseState=this._state,this._state=25)},C.prototype.stateBeforeDeclaration=function(_){91===_?(this._state=19,this.sequenceIndex=0):this._state=45===_?18:16},C.prototype.stateInDeclaration=function(_){(62===_||this.fastForwardTo(62))&&(this.cbs.ondeclaration(this.getSection()),this._state=1,this.sectionStart=this._index+1)},C.prototype.stateInProcessingInstruction=function(_){(62===_||this.fastForwardTo(62))&&(this.cbs.onprocessinginstruction(this.getSection()),this._state=1,this.sectionStart=this._index+1)},C.prototype.stateBeforeComment=function(_){45===_?(this._state=21,this.currentSequence=M.CommentEnd,this.sequenceIndex=2,this.sectionStart=this._index+1):this._state=16},C.prototype.stateInSpecialComment=function(_){(62===_||this.fastForwardTo(62))&&(this.cbs.oncomment(this.getSection()),this._state=1,this.sectionStart=this._index+1)},C.prototype.stateBeforeSpecialS=function(_){var F=32|_;F===M.ScriptEnd[3]?this.startSpecial(M.ScriptEnd,4):F===M.StyleEnd[3]?this.startSpecial(M.StyleEnd,4):(this._state=3,this.stateInTagName(_))},C.prototype.stateBeforeEntity=function(_){this.entityExcess=1,35===_?this._state=26:38===_||(this.trieIndex=0,this.trieCurrent=this.entityTrie[0],this.trieResult=null,this._state=27,this.stateInNamedEntity(_))},C.prototype.stateInNamedEntity=function(_){if(this.entityExcess+=1,this.trieIndex=(0,o.determineBranch)(this.entityTrie,this.trieCurrent,this.trieIndex+1,_),this.trieIndex<0)return this.emitNamedEntity(),void this._index--;if(this.trieCurrent=this.entityTrie[this.trieIndex],this.trieCurrent&o.BinTrieFlags.HAS_VALUE)if(this.allowLegacyEntity()||59===_){var F=this._index-this.entityExcess+1;F>this.sectionStart&&this.emitPartial(this.buffer.substring(this.sectionStart,F)),this.trieResult=this.trieCurrent&o.BinTrieFlags.MULTI_BYTE?String.fromCharCode(this.entityTrie[++this.trieIndex],this.entityTrie[++this.trieIndex]):String.fromCharCode(this.entityTrie[++this.trieIndex]),this.entityExcess=0,this.sectionStart=this._index+1}else this.trieIndex+=1},C.prototype.emitNamedEntity=function(){this.trieResult&&this.emitPartial(this.trieResult),this._state=this.baseState},C.prototype.stateBeforeNumericEntity=function(_){120==(32|_)?(this.entityExcess++,this._state=29):(this._state=28,this.stateInNumericEntity(_))},C.prototype.decodeNumericEntity=function(_,F){var L=this._index-this.entityExcess-1,H=L+2+(_>>4);if(H!==this._index){L>this.sectionStart&&this.emitPartial(this.buffer.substring(this.sectionStart,L));var V=this.buffer.substring(H,this._index),$=parseInt(V,_);this.emitPartial((0,p.default)($)),this.sectionStart=this._index+Number(F)}this._state=this.baseState},C.prototype.stateInNumericEntity=function(_){59===_?this.decodeNumericEntity(10,!0):T(_)?this.entityExcess++:(this.allowLegacyEntity()?this.decodeNumericEntity(10,!1):this._state=this.baseState,this._index--)},C.prototype.stateInHexEntity=function(_){59===_?this.decodeNumericEntity(16,!0):(_<97||_>102)&&(_<65||_>70)&&!T(_)?(this.allowLegacyEntity()?this.decodeNumericEntity(16,!1):this._state=this.baseState,this._index--):this.entityExcess++},C.prototype.allowLegacyEntity=function(){return!this.xmlMode&&(1===this.baseState||24===this.baseState)},C.prototype.cleanup=function(){this.running&&this.sectionStart!==this._index&&(1===this._state||24===this._state&&0===this.sequenceIndex)&&(this.cbs.ontext(this.buffer.substr(this.sectionStart)),this.sectionStart=this._index);var _=this.sectionStart<0?this._index:this.sectionStart;this.buffer=_===this.buffer.length?"":this.buffer.substr(_),this._index-=_,this.bufferOffset+=_,this.sectionStart>0&&(this.sectionStart=0)},C.prototype.shouldContinue=function(){return this._index{"use strict";Object.defineProperty(m,"__esModule",{value:!0});var L,re,H,V,p=Object.defineProperty,o=Object.defineProperties,I=Object.getOwnPropertyDescriptors,k=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable,M=(re,G,Z)=>G in re?p(re,G,{enumerable:!0,configurable:!0,writable:!0,value:Z}):re[G]=Z,S=(re,G)=>{for(var Z in G||(G={}))T.call(G,Z)&&M(re,Z,G[Z]);if(k)for(var Z of k(G))N.call(G,Z)&&M(re,Z,G[Z]);return re},F=function s(re){return re&&re.__esModule?re:{default:re}}(d(7212));(re=L||(L=m.quoteStyleEnum={}))[re.Smart=0]="Smart",re[re.Single=1]="Single",re[re.Double=2]="Double",function(re){re.tag="tag",re.slash="slash",re.default="default",re.closeAs="closeAs"}(H||(H=m.closingSingleTagOptionEnum={})),function(re){re.tag="tag",re.slash="slash",re.default="default"}(V||(V=m.closingSingleTagTypeEnum={}));var $=["area","base","br","col","command","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],Y=/[\t\n\f\r "'`=<>]/,ae={closingSingleTag:void 0,quoteAllAttributes:!0,replaceQuote:!0,quoteStyle:2};m.closingSingleTagOptionEnum=H,m.closingSingleTagTypeEnum=V,m.quoteStyleEnum=L,m.render=function se(re,G={}){var Z;let X=$;G.singleTags&&(X=[...new Set([...$,...G.singleTags])]),G=((re,G)=>o(re,I(G)))(S(S({},ae),G),{singleTags:X});let{singleTags:te,closingSingleTag:fe,quoteAllAttributes:Ee,replaceQuote:xe,quoteStyle:Ie}=G,Le=null!=(Z=te?.filter(Ne=>Ne instanceof RegExp))?Z:[];return Array.isArray(re)||(re||(re=""),re=[re]),function Ue(Ne){let ke="";for(let he of Ne){if(!1===he||null==he||"string"==typeof he&&0===he.length||Number.isNaN(he))continue;if(Array.isArray(he)){if(0===he.length)continue;ke+=Ue(he);continue}if("string"==typeof he||"number"==typeof he){ke+=he;continue}if(Array.isArray(he.content)||(he.content||(he.content=""),he.content=[he.content]),!1===he.tag){ke+=Ue(he.content);continue}let Ke="string"==typeof he.tag?he.tag:"div";ke+=`<${Ke}`,he.attrs&&(ke+=nt(he.attrs));let Pe={[V.tag]:`>`,[V.slash]:" />",[V.default]:">"};if(Xe(Ke)){switch(fe){case H.tag:ke+=Pe[V.tag];break;case H.slash:ke+=Pe[V.slash];break;case H.closeAs:ke+=Pe[he.closeAs?V[he.closeAs]:V.default];break;default:ke+=Pe[V.default]}he.content&&(ke+=Ue(he.content))}else ke+=fe===H.closeAs&&he.closeAs?`${Pe[he.closeAs?V[he.closeAs]:V.default]}${Ue(he.content)}`:`>${Ue(he.content)}`}return ke}(re);function Xe(Ne){return Le.length>0?Le.some(ke=>ke.test(Ne)):!!te?.includes(Ne.toLowerCase())}function nt(Ne){let ke="";for(let[he,Ke]of Object.entries(Ne))if("string"==typeof Ke)if(F.default.call(void 0,Ke))ke+=me(he,Ke);else if(Ee||Y.test(Ke)){let Pe=Ke;xe&&(Pe=Ke.replace(/"/g,""")),ke+=me(he,Pe,Ie)}else ke+=""===Ke?` ${he}`:` ${he}=${Ke}`;else!0===Ke?ke+=` ${he}`:"number"==typeof Ke&&(ke+=me(he,Ke,Ie));return ke}function me(Ne,ke,he=1){return 1===he?` ${Ne}='${ke}'`:2===he?` ${Ne}="${ke}"`:"string"==typeof ke&&ke.includes('"')?` ${Ne}='${ke}'`:` ${Ne}="${ke}"`}}},5619:(ve,m,d)=>{"use strict";d.d(m,{X:()=>p});var s=d(8645);class p extends s.x{constructor(I){super(),this._value=I}get value(){return this.getValue()}_subscribe(I){const k=super._subscribe(I);return!k.closed&&I.next(this._value),k}getValue(){const{hasError:I,thrownError:k,_value:T}=this;if(I)throw k;return this._throwIfClosed(),T}next(I){super.next(this._value=I)}}},5592:(ve,m,d)=>{"use strict";d.d(m,{y:()=>M});var s=d(305),p=d(7394),o=d(4850),I=d(8407),k=d(2653),T=d(4674),N=d(1441);let M=(()=>{class F{constructor(H){H&&(this._subscribe=H)}lift(H){const V=new F;return V.source=this,V.operator=H,V}subscribe(H,V,$){const Y=function _(F){return F&&F instanceof s.Lv||function C(F){return F&&(0,T.m)(F.next)&&(0,T.m)(F.error)&&(0,T.m)(F.complete)}(F)&&(0,p.Nn)(F)}(H)?H:new s.Hp(H,V,$);return(0,N.x)(()=>{const{operator:ae,source:se}=this;Y.add(ae?ae.call(Y,se):se?this._subscribe(Y):this._trySubscribe(Y))}),Y}_trySubscribe(H){try{return this._subscribe(H)}catch(V){H.error(V)}}forEach(H,V){return new(V=S(V))(($,Y)=>{const ae=new s.Hp({next:se=>{try{H(se)}catch(re){Y(re),ae.unsubscribe()}},error:Y,complete:$});this.subscribe(ae)})}_subscribe(H){var V;return null===(V=this.source)||void 0===V?void 0:V.subscribe(H)}[o.L](){return this}pipe(...H){return(0,I.U)(H)(this)}toPromise(H){return new(H=S(H))((V,$)=>{let Y;this.subscribe(ae=>Y=ae,ae=>$(ae),()=>V(Y))})}}return F.create=L=>new F(L),F})();function S(F){var L;return null!==(L=F??k.config.Promise)&&void 0!==L?L:Promise}},7328:(ve,m,d)=>{"use strict";d.d(m,{t:()=>o});var s=d(8645),p=d(4552);class o extends s.x{constructor(k=1/0,T=1/0,N=p.l){super(),this._bufferSize=k,this._windowTime=T,this._timestampProvider=N,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=T===1/0,this._bufferSize=Math.max(1,k),this._windowTime=Math.max(1,T)}next(k){const{isStopped:T,_buffer:N,_infiniteTimeWindow:M,_timestampProvider:S,_windowTime:C}=this;T||(N.push(k),!M&&N.push(S.now()+C)),this._trimBuffer(),super.next(k)}_subscribe(k){this._throwIfClosed(),this._trimBuffer();const T=this._innerSubscribe(k),{_infiniteTimeWindow:N,_buffer:M}=this,S=M.slice();for(let C=0;C{"use strict";d.d(m,{x:()=>N});var s=d(5592),p=d(7394);const I=(0,d(2306).d)(S=>function(){S(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var k=d(9039),T=d(1441);let N=(()=>{class S extends s.y{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(_){const F=new M(this,this);return F.operator=_,F}_throwIfClosed(){if(this.closed)throw new I}next(_){(0,T.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const F of this.currentObservers)F.next(_)}})}error(_){(0,T.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=_;const{observers:F}=this;for(;F.length;)F.shift().error(_)}})}complete(){(0,T.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:_}=this;for(;_.length;)_.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var _;return(null===(_=this.observers)||void 0===_?void 0:_.length)>0}_trySubscribe(_){return this._throwIfClosed(),super._trySubscribe(_)}_subscribe(_){return this._throwIfClosed(),this._checkFinalizedStatuses(_),this._innerSubscribe(_)}_innerSubscribe(_){const{hasError:F,isStopped:L,observers:H}=this;return F||L?p.Lc:(this.currentObservers=null,H.push(_),new p.w0(()=>{this.currentObservers=null,(0,k.P)(H,_)}))}_checkFinalizedStatuses(_){const{hasError:F,thrownError:L,isStopped:H}=this;F?_.error(L):H&&_.complete()}asObservable(){const _=new s.y;return _.source=this,_}}return S.create=(C,_)=>new M(C,_),S})();class M extends N{constructor(C,_){super(),this.destination=C,this.source=_}next(C){var _,F;null===(F=null===(_=this.destination)||void 0===_?void 0:_.next)||void 0===F||F.call(_,C)}error(C){var _,F;null===(F=null===(_=this.destination)||void 0===_?void 0:_.error)||void 0===F||F.call(_,C)}complete(){var C,_;null===(_=null===(C=this.destination)||void 0===C?void 0:C.complete)||void 0===_||_.call(C)}_subscribe(C){var _,F;return null!==(F=null===(_=this.source)||void 0===_?void 0:_.subscribe(C))&&void 0!==F?F:p.Lc}}},305:(ve,m,d)=>{"use strict";d.d(m,{Hp:()=>$,Lv:()=>F});var s=d(4674),p=d(7394),o=d(2653),I=d(3894),k=d(2420);const T=S("C",void 0,void 0);function S(G,Z,X){return{kind:G,value:Z,error:X}}var C=d(7599),_=d(1441);class F extends p.w0{constructor(Z){super(),this.isStopped=!1,Z?(this.destination=Z,(0,p.Nn)(Z)&&Z.add(this)):this.destination=re}static create(Z,X,te){return new $(Z,X,te)}next(Z){this.isStopped?se(function M(G){return S("N",G,void 0)}(Z),this):this._next(Z)}error(Z){this.isStopped?se(function N(G){return S("E",void 0,G)}(Z),this):(this.isStopped=!0,this._error(Z))}complete(){this.isStopped?se(T,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(Z){this.destination.next(Z)}_error(Z){try{this.destination.error(Z)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const L=Function.prototype.bind;function H(G,Z){return L.call(G,Z)}class V{constructor(Z){this.partialObserver=Z}next(Z){const{partialObserver:X}=this;if(X.next)try{X.next(Z)}catch(te){Y(te)}}error(Z){const{partialObserver:X}=this;if(X.error)try{X.error(Z)}catch(te){Y(te)}else Y(Z)}complete(){const{partialObserver:Z}=this;if(Z.complete)try{Z.complete()}catch(X){Y(X)}}}class $ extends F{constructor(Z,X,te){let fe;if(super(),(0,s.m)(Z)||!Z)fe={next:Z??void 0,error:X??void 0,complete:te??void 0};else{let Ee;this&&o.config.useDeprecatedNextContext?(Ee=Object.create(Z),Ee.unsubscribe=()=>this.unsubscribe(),fe={next:Z.next&&H(Z.next,Ee),error:Z.error&&H(Z.error,Ee),complete:Z.complete&&H(Z.complete,Ee)}):fe=Z}this.destination=new V(fe)}}function Y(G){o.config.useDeprecatedSynchronousErrorHandling?(0,_.O)(G):(0,I.h)(G)}function se(G,Z){const{onStoppedNotification:X}=o.config;X&&C.z.setTimeout(()=>X(G,Z))}const re={closed:!0,next:k.Z,error:function ae(G){throw G},complete:k.Z}},7394:(ve,m,d)=>{"use strict";d.d(m,{Lc:()=>T,w0:()=>k,Nn:()=>N});var s=d(4674);const o=(0,d(2306).d)(S=>function(_){S(this),this.message=_?`${_.length} errors occurred during unsubscription:\n${_.map((F,L)=>`${L+1}) ${F.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=_});var I=d(9039);class k{constructor(C){this.initialTeardown=C,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let C;if(!this.closed){this.closed=!0;const{_parentage:_}=this;if(_)if(this._parentage=null,Array.isArray(_))for(const H of _)H.remove(this);else _.remove(this);const{initialTeardown:F}=this;if((0,s.m)(F))try{F()}catch(H){C=H instanceof o?H.errors:[H]}const{_finalizers:L}=this;if(L){this._finalizers=null;for(const H of L)try{M(H)}catch(V){C=C??[],V instanceof o?C=[...C,...V.errors]:C.push(V)}}if(C)throw new o(C)}}add(C){var _;if(C&&C!==this)if(this.closed)M(C);else{if(C instanceof k){if(C.closed||C._hasParent(this))return;C._addParent(this)}(this._finalizers=null!==(_=this._finalizers)&&void 0!==_?_:[]).push(C)}}_hasParent(C){const{_parentage:_}=this;return _===C||Array.isArray(_)&&_.includes(C)}_addParent(C){const{_parentage:_}=this;this._parentage=Array.isArray(_)?(_.push(C),_):_?[_,C]:C}_removeParent(C){const{_parentage:_}=this;_===C?this._parentage=null:Array.isArray(_)&&(0,I.P)(_,C)}remove(C){const{_finalizers:_}=this;_&&(0,I.P)(_,C),C instanceof k&&C._removeParent(this)}}k.EMPTY=(()=>{const S=new k;return S.closed=!0,S})();const T=k.EMPTY;function N(S){return S instanceof k||S&&"closed"in S&&(0,s.m)(S.remove)&&(0,s.m)(S.add)&&(0,s.m)(S.unsubscribe)}function M(S){(0,s.m)(S)?S():S.unsubscribe()}},2653:(ve,m,d)=>{"use strict";d.d(m,{config:()=>s});const s={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}},2572:(ve,m,d)=>{"use strict";d.d(m,{a:()=>C});var s=d(5592),p=d(7453),o=d(9666),I=d(2737),k=d(7400),T=d(9940),N=d(2714),M=d(8251),S=d(7103);function C(...L){const H=(0,T.yG)(L),V=(0,T.jO)(L),{args:$,keys:Y}=(0,p.D)(L);if(0===$.length)return(0,o.D)([],H);const ae=new s.y(function _(L,H,V=I.y){return $=>{F(H,()=>{const{length:Y}=L,ae=new Array(Y);let se=Y,re=Y;for(let G=0;G{const Z=(0,o.D)(L[G],H);let X=!1;Z.subscribe((0,M.x)($,te=>{ae[G]=te,X||(X=!0,re--),re||$.next(V(ae.slice()))},()=>{--se||$.complete()}))},$)},$)}}($,H,Y?se=>(0,N.n)(Y,se):I.y));return V?ae.pipe((0,k.Z)(V)):ae}function F(L,H,V){L?(0,S.f)(V,L,H):H()}},5211:(ve,m,d)=>{"use strict";d.d(m,{z:()=>k});var s=d(7537),o=d(9940),I=d(9666);function k(...T){return function p(){return(0,s.J)(1)}()((0,I.D)(T,(0,o.yG)(T)))}},6232:(ve,m,d)=>{"use strict";d.d(m,{E:()=>p});const p=new(d(5592).y)(k=>k.complete())},9666:(ve,m,d)=>{"use strict";d.d(m,{D:()=>X});var s=d(4829),p=d(3093),o=d(9360);function I(te,fe=0){return(0,o.e)((Ee,xe)=>{xe.add(te.schedule(()=>Ee.subscribe(xe),fe))})}var N=d(5592),S=d(4971),C=d(4674),_=d(7103);function L(te,fe){if(!te)throw new Error("Iterable cannot be null");return new N.y(Ee=>{(0,_.f)(Ee,fe,()=>{const xe=te[Symbol.asyncIterator]();(0,_.f)(Ee,fe,()=>{xe.next().then(Ie=>{Ie.done?Ee.complete():Ee.next(Ie.value)})},0,!0)})})}var H=d(8382),V=d(4026),$=d(4266),Y=d(3664),ae=d(5726),se=d(9853),re=d(541);function X(te,fe){return fe?function Z(te,fe){if(null!=te){if((0,H.c)(te))return function k(te,fe){return(0,s.Xf)(te).pipe(I(fe),(0,p.Q)(fe))}(te,fe);if((0,$.z)(te))return function M(te,fe){return new N.y(Ee=>{let xe=0;return fe.schedule(function(){xe===te.length?Ee.complete():(Ee.next(te[xe++]),Ee.closed||this.schedule())})})}(te,fe);if((0,V.t)(te))return function T(te,fe){return(0,s.Xf)(te).pipe(I(fe),(0,p.Q)(fe))}(te,fe);if((0,ae.D)(te))return L(te,fe);if((0,Y.T)(te))return function F(te,fe){return new N.y(Ee=>{let xe;return(0,_.f)(Ee,fe,()=>{xe=te[S.h](),(0,_.f)(Ee,fe,()=>{let Ie,Le;try{({value:Ie,done:Le}=xe.next())}catch(Ue){return void Ee.error(Ue)}Le?Ee.complete():Ee.next(Ie)},0,!0)}),()=>(0,C.m)(xe?.return)&&xe.return()})}(te,fe);if((0,re.L)(te))return function G(te,fe){return L((0,re.Q)(te),fe)}(te,fe)}throw(0,se.z)(te)}(te,fe):(0,s.Xf)(te)}},2438:(ve,m,d)=>{"use strict";d.d(m,{R:()=>C});var s=d(4829),p=d(5592),o=d(1631),I=d(4266),k=d(4674),T=d(7400);const N=["addListener","removeListener"],M=["addEventListener","removeEventListener"],S=["on","off"];function C(V,$,Y,ae){if((0,k.m)(Y)&&(ae=Y,Y=void 0),ae)return C(V,$,Y).pipe((0,T.Z)(ae));const[se,re]=function H(V){return(0,k.m)(V.addEventListener)&&(0,k.m)(V.removeEventListener)}(V)?M.map(G=>Z=>V[G]($,Z,Y)):function F(V){return(0,k.m)(V.addListener)&&(0,k.m)(V.removeListener)}(V)?N.map(_(V,$)):function L(V){return(0,k.m)(V.on)&&(0,k.m)(V.off)}(V)?S.map(_(V,$)):[];if(!se&&(0,I.z)(V))return(0,o.z)(G=>C(G,$,Y))((0,s.Xf)(V));if(!se)throw new TypeError("Invalid event target");return new p.y(G=>{const Z=(...X)=>G.next(1re(Z)})}function _(V,$){return Y=>ae=>V[Y]($,ae)}},4829:(ve,m,d)=>{"use strict";d.d(m,{Xf:()=>L});var s=d(7582),p=d(4266),o=d(4026),I=d(5592),k=d(8382),T=d(5726),N=d(9853),M=d(3664),S=d(541),C=d(4674),_=d(3894),F=d(4850);function L(G){if(G instanceof I.y)return G;if(null!=G){if((0,k.c)(G))return function H(G){return new I.y(Z=>{const X=G[F.L]();if((0,C.m)(X.subscribe))return X.subscribe(Z);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(G);if((0,p.z)(G))return function V(G){return new I.y(Z=>{for(let X=0;X{G.then(X=>{Z.closed||(Z.next(X),Z.complete())},X=>Z.error(X)).then(null,_.h)})}(G);if((0,T.D)(G))return ae(G);if((0,M.T)(G))return function Y(G){return new I.y(Z=>{for(const X of G)if(Z.next(X),Z.closed)return;Z.complete()})}(G);if((0,S.L)(G))return function se(G){return ae((0,S.Q)(G))}(G)}throw(0,N.z)(G)}function ae(G){return new I.y(Z=>{(function re(G,Z){var X,te,fe,Ee;return(0,s.__awaiter)(this,void 0,void 0,function*(){try{for(X=(0,s.__asyncValues)(G);!(te=yield X.next()).done;)if(Z.next(te.value),Z.closed)return}catch(xe){fe={error:xe}}finally{try{te&&!te.done&&(Ee=X.return)&&(yield Ee.call(X))}finally{if(fe)throw fe.error}}Z.complete()})})(G,Z).catch(X=>Z.error(X))})}},3019:(ve,m,d)=>{"use strict";d.d(m,{T:()=>T});var s=d(7537),p=d(4829),o=d(6232),I=d(9940),k=d(9666);function T(...N){const M=(0,I.yG)(N),S=(0,I._6)(N,1/0),C=N;return C.length?1===C.length?(0,p.Xf)(C[0]):(0,s.J)(S)((0,k.D)(C,M)):o.E}},4366:(ve,m,d)=>{"use strict";d.d(m,{C:()=>o});var s=d(5592),p=d(2420);const o=new s.y(p.Z)},2096:(ve,m,d)=>{"use strict";d.d(m,{of:()=>o});var s=d(9940),p=d(9666);function o(...I){const k=(0,s.yG)(I);return(0,p.D)(I,k)}},4825:(ve,m,d)=>{"use strict";d.d(m,{H:()=>k});var s=d(5592),p=d(6321),o=d(671);function k(T=0,N,M=p.P){let S=-1;return null!=N&&((0,o.K)(N)?M=N:S=N),new s.y(C=>{let _=function I(T){return T instanceof Date&&!isNaN(T)}(T)?+T-M.now():T;_<0&&(_=0);let F=0;return M.schedule(function(){C.closed||(C.next(F++),0<=S?this.schedule(void 0,S):C.complete())},_)})}},8251:(ve,m,d)=>{"use strict";d.d(m,{x:()=>p});var s=d(305);function p(I,k,T,N,M){return new o(I,k,T,N,M)}class o extends s.Lv{constructor(k,T,N,M,S,C){super(k),this.onFinalize=S,this.shouldUnsubscribe=C,this._next=T?function(_){try{T(_)}catch(F){k.error(F)}}:super._next,this._error=M?function(_){try{M(_)}catch(F){k.error(F)}finally{this.unsubscribe()}}:super._error,this._complete=N?function(){try{N()}catch(_){k.error(_)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var k;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:T}=this;super.unsubscribe(),!T&&(null===(k=this.onFinalize)||void 0===k||k.call(this))}}}},6306:(ve,m,d)=>{"use strict";d.d(m,{K:()=>I});var s=d(4829),p=d(8251),o=d(9360);function I(k){return(0,o.e)((T,N)=>{let C,M=null,S=!1;M=T.subscribe((0,p.x)(N,void 0,void 0,_=>{C=(0,s.Xf)(k(_,I(k)(T))),M?(M.unsubscribe(),M=null,C.subscribe(N)):S=!0})),S&&(M.unsubscribe(),M=null,C.subscribe(N))})}},6328:(ve,m,d)=>{"use strict";d.d(m,{b:()=>o});var s=d(1631),p=d(4674);function o(I,k){return(0,p.m)(k)?(0,s.z)(I,k,1):(0,s.z)(I,1)}},3620:(ve,m,d)=>{"use strict";d.d(m,{b:()=>I});var s=d(6321),p=d(9360),o=d(8251);function I(k,T=s.z){return(0,p.e)((N,M)=>{let S=null,C=null,_=null;const F=()=>{if(S){S.unsubscribe(),S=null;const H=C;C=null,M.next(H)}};function L(){const H=_+k,V=T.now();if(V{C=H,_=T.now(),S||(S=T.schedule(L,k),M.add(S))},()=>{F(),M.complete()},void 0,()=>{C=S=null}))})}},9694:(ve,m,d)=>{"use strict";d.d(m,{j:()=>C});var s=d(5211),p=d(8180),o=d(9360),I=d(8251),k=d(2420),N=d(975),M=d(1631),S=d(4829);function C(_,F){return F?L=>(0,s.z)(F.pipe((0,p.q)(1),function T(){return(0,o.e)((_,F)=>{_.subscribe((0,I.x)(F,k.Z))})}()),L.pipe(C(_))):(0,M.z)((L,H)=>(0,S.Xf)(_(L,H)).pipe((0,p.q)(1),(0,N.h)(L)))}},3997:(ve,m,d)=>{"use strict";d.d(m,{x:()=>I});var s=d(2737),p=d(9360),o=d(8251);function I(T,N=s.y){return T=T??k,(0,p.e)((M,S)=>{let C,_=!0;M.subscribe((0,o.x)(S,F=>{const L=N(F);(_||!T(C,L))&&(_=!1,C=L,S.next(F))}))})}function k(T,N){return T===N}},2181:(ve,m,d)=>{"use strict";d.d(m,{h:()=>o});var s=d(9360),p=d(8251);function o(I,k){return(0,s.e)((T,N)=>{let M=0;T.subscribe((0,p.x)(N,S=>I.call(k,S,M++)&&N.next(S)))})}},4716:(ve,m,d)=>{"use strict";d.d(m,{x:()=>p});var s=d(9360);function p(o){return(0,s.e)((I,k)=>{try{I.subscribe(k)}finally{k.add(o)}})}},7398:(ve,m,d)=>{"use strict";d.d(m,{U:()=>o});var s=d(9360),p=d(8251);function o(I,k){return(0,s.e)((T,N)=>{let M=0;T.subscribe((0,p.x)(N,S=>{N.next(I.call(k,S,M++))}))})}},975:(ve,m,d)=>{"use strict";d.d(m,{h:()=>p});var s=d(7398);function p(o){return(0,s.U)(()=>o)}},7537:(ve,m,d)=>{"use strict";d.d(m,{J:()=>o});var s=d(1631),p=d(2737);function o(I=1/0){return(0,s.z)(p.y,I)}},1631:(ve,m,d)=>{"use strict";d.d(m,{z:()=>M});var s=d(7398),p=d(4829),o=d(9360),I=d(7103),k=d(8251),N=d(4674);function M(S,C,_=1/0){return(0,N.m)(C)?M((F,L)=>(0,s.U)((H,V)=>C(F,H,L,V))((0,p.Xf)(S(F,L))),_):("number"==typeof C&&(_=C),(0,o.e)((F,L)=>function T(S,C,_,F,L,H,V,$){const Y=[];let ae=0,se=0,re=!1;const G=()=>{re&&!Y.length&&!ae&&C.complete()},Z=te=>ae{H&&C.next(te),ae++;let fe=!1;(0,p.Xf)(_(te,se++)).subscribe((0,k.x)(C,Ee=>{L?.(Ee),H?Z(Ee):C.next(Ee)},()=>{fe=!0},void 0,()=>{if(fe)try{for(ae--;Y.length&&aeX(Ee)):X(Ee)}G()}catch(Ee){C.error(Ee)}}))};return S.subscribe((0,k.x)(C,Z,()=>{re=!0,G()})),()=>{$?.()}}(F,L,S,_)))}},3093:(ve,m,d)=>{"use strict";d.d(m,{Q:()=>I});var s=d(7103),p=d(9360),o=d(8251);function I(k,T=0){return(0,p.e)((N,M)=>{N.subscribe((0,o.x)(M,S=>(0,s.f)(M,k,()=>M.next(S),T),()=>(0,s.f)(M,k,()=>M.complete(),T),S=>(0,s.f)(M,k,()=>M.error(S),T)))})}},9384:(ve,m,d)=>{"use strict";d.d(m,{G:()=>o});var s=d(9360),p=d(8251);function o(){return(0,s.e)((I,k)=>{let T,N=!1;I.subscribe((0,p.x)(k,M=>{const S=T;T=M,N&&k.next([S,M]),N=!0}))})}},3020:(ve,m,d)=>{"use strict";d.d(m,{B:()=>k});var s=d(4829),p=d(8645),o=d(305),I=d(9360);function k(N={}){const{connector:M=(()=>new p.x),resetOnError:S=!0,resetOnComplete:C=!0,resetOnRefCountZero:_=!0}=N;return F=>{let L,H,V,$=0,Y=!1,ae=!1;const se=()=>{H?.unsubscribe(),H=void 0},re=()=>{se(),L=V=void 0,Y=ae=!1},G=()=>{const Z=L;re(),Z?.unsubscribe()};return(0,I.e)((Z,X)=>{$++,!ae&&!Y&&se();const te=V=V??M();X.add(()=>{$--,0===$&&!ae&&!Y&&(H=T(G,_))}),te.subscribe(X),!L&&$>0&&(L=new o.Hp({next:fe=>te.next(fe),error:fe=>{ae=!0,se(),H=T(re,S,fe),te.error(fe)},complete:()=>{Y=!0,se(),H=T(re,C),te.complete()}}),(0,s.Xf)(Z).subscribe(L))})(F)}}function T(N,M,...S){if(!0===M)return void N();if(!1===M)return;const C=new o.Hp({next:()=>{C.unsubscribe(),N()}});return(0,s.Xf)(M(...S)).subscribe(C)}},7081:(ve,m,d)=>{"use strict";d.d(m,{d:()=>o});var s=d(7328),p=d(3020);function o(I,k,T){let N,M=!1;return I&&"object"==typeof I?({bufferSize:N=1/0,windowTime:k=1/0,refCount:M=!1,scheduler:T}=I):N=I??1/0,(0,p.B)({connector:()=>new s.t(N,k,T),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:M})}},836:(ve,m,d)=>{"use strict";d.d(m,{T:()=>p});var s=d(2181);function p(o){return(0,s.h)((I,k)=>o<=k)}},7921:(ve,m,d)=>{"use strict";d.d(m,{O:()=>I});var s=d(5211),p=d(9940),o=d(9360);function I(...k){const T=(0,p.yG)(k);return(0,o.e)((N,M)=>{(T?(0,s.z)(k,N,T):(0,s.z)(k,N)).subscribe(M)})}},4664:(ve,m,d)=>{"use strict";d.d(m,{w:()=>I});var s=d(4829),p=d(9360),o=d(8251);function I(k,T){return(0,p.e)((N,M)=>{let S=null,C=0,_=!1;const F=()=>_&&!S&&M.complete();N.subscribe((0,o.x)(M,L=>{S?.unsubscribe();let H=0;const V=C++;(0,s.Xf)(k(L,V)).subscribe(S=(0,o.x)(M,$=>M.next(T?T(L,$,V,H++):$),()=>{S=null,F()}))},()=>{_=!0,F()}))})}},8180:(ve,m,d)=>{"use strict";d.d(m,{q:()=>I});var s=d(6232),p=d(9360),o=d(8251);function I(k){return k<=0?()=>s.E:(0,p.e)((T,N)=>{let M=0;T.subscribe((0,o.x)(N,S=>{++M<=k&&(N.next(S),k<=M&&N.complete())}))})}},9773:(ve,m,d)=>{"use strict";d.d(m,{R:()=>k});var s=d(9360),p=d(8251),o=d(4829),I=d(2420);function k(T){return(0,s.e)((N,M)=>{(0,o.Xf)(T).subscribe((0,p.x)(M,()=>M.complete(),I.Z)),!M.closed&&N.subscribe(M)})}},9397:(ve,m,d)=>{"use strict";d.d(m,{b:()=>k});var s=d(4674),p=d(9360),o=d(8251),I=d(2737);function k(T,N,M){const S=(0,s.m)(T)||N||M?{next:T,error:N,complete:M}:T;return S?(0,p.e)((C,_)=>{var F;null===(F=S.subscribe)||void 0===F||F.call(S);let L=!0;C.subscribe((0,o.x)(_,H=>{var V;null===(V=S.next)||void 0===V||V.call(S,H),_.next(H)},()=>{var H;L=!1,null===(H=S.complete)||void 0===H||H.call(S),_.complete()},H=>{var V;L=!1,null===(V=S.error)||void 0===V||V.call(S,H),_.error(H)},()=>{var H,V;L&&(null===(H=S.unsubscribe)||void 0===H||H.call(S)),null===(V=S.finalize)||void 0===V||V.call(S)}))}):I.y}},1954:(ve,m,d)=>{"use strict";d.d(m,{o:()=>k});var s=d(7394);class p extends s.w0{constructor(N,M){super()}schedule(N,M=0){return this}}const o={setInterval(T,N,...M){const{delegate:S}=o;return S?.setInterval?S.setInterval(T,N,...M):setInterval(T,N,...M)},clearInterval(T){const{delegate:N}=o;return(N?.clearInterval||clearInterval)(T)},delegate:void 0};var I=d(9039);class k extends p{constructor(N,M){super(N,M),this.scheduler=N,this.work=M,this.pending=!1}schedule(N,M=0){var S;if(this.closed)return this;this.state=N;const C=this.id,_=this.scheduler;return null!=C&&(this.id=this.recycleAsyncId(_,C,M)),this.pending=!0,this.delay=M,this.id=null!==(S=this.id)&&void 0!==S?S:this.requestAsyncId(_,this.id,M),this}requestAsyncId(N,M,S=0){return o.setInterval(N.flush.bind(N,this),S)}recycleAsyncId(N,M,S=0){if(null!=S&&this.delay===S&&!1===this.pending)return M;null!=M&&o.clearInterval(M)}execute(N,M){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const S=this._execute(N,M);if(S)return S;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(N,M){let C,S=!1;try{this.work(N)}catch(_){S=!0,C=_||new Error("Scheduled action threw falsy error")}if(S)return this.unsubscribe(),C}unsubscribe(){if(!this.closed){const{id:N,scheduler:M}=this,{actions:S}=M;this.work=this.state=this.scheduler=null,this.pending=!1,(0,I.P)(S,this),null!=N&&(this.id=this.recycleAsyncId(M,N,null)),this.delay=null,super.unsubscribe()}}}},2631:(ve,m,d)=>{"use strict";d.d(m,{v:()=>o});var s=d(4552);class p{constructor(k,T=p.now){this.schedulerActionCtor=k,this.now=T}schedule(k,T=0,N){return new this.schedulerActionCtor(this,k).schedule(N,T)}}p.now=s.l.now;class o extends p{constructor(k,T=p.now){super(k,T),this.actions=[],this._active=!1}flush(k){const{actions:T}=this;if(this._active)return void T.push(k);let N;this._active=!0;do{if(N=k.execute(k.state,k.delay))break}while(k=T.shift());if(this._active=!1,N){for(;k=T.shift();)k.unsubscribe();throw N}}}},927:(ve,m,d)=>{"use strict";d.d(m,{Z:()=>N});var s=d(1954),p=d(7394);const o={schedule(S){let C=requestAnimationFrame,_=cancelAnimationFrame;const{delegate:F}=o;F&&(C=F.requestAnimationFrame,_=F.cancelAnimationFrame);const L=C(H=>{_=void 0,S(H)});return new p.w0(()=>_?.(L))},requestAnimationFrame(...S){const{delegate:C}=o;return(C?.requestAnimationFrame||requestAnimationFrame)(...S)},cancelAnimationFrame(...S){const{delegate:C}=o;return(C?.cancelAnimationFrame||cancelAnimationFrame)(...S)},delegate:void 0};var k=d(2631);const N=new class T extends k.v{flush(C){this._active=!0;const _=this._scheduled;this._scheduled=void 0;const{actions:F}=this;let L;C=C||F.shift();do{if(L=C.execute(C.state,C.delay))break}while((C=F[0])&&C.id===_&&F.shift());if(this._active=!1,L){for(;(C=F[0])&&C.id===_&&F.shift();)C.unsubscribe();throw L}}}(class I extends s.o{constructor(C,_){super(C,_),this.scheduler=C,this.work=_}requestAsyncId(C,_,F=0){return null!==F&&F>0?super.requestAsyncId(C,_,F):(C.actions.push(this),C._scheduled||(C._scheduled=o.requestAnimationFrame(()=>C.flush(void 0))))}recycleAsyncId(C,_,F=0){var L;if(null!=F?F>0:this.delay>0)return super.recycleAsyncId(C,_,F);const{actions:H}=C;null!=_&&(null===(L=H[H.length-1])||void 0===L?void 0:L.id)!==_&&(o.cancelAnimationFrame(_),C._scheduled=void 0)}})},6410:(ve,m,d)=>{"use strict";d.d(m,{E:()=>H});var s=d(1954);let o,p=1;const I={};function k($){return $ in I&&(delete I[$],!0)}const T={setImmediate($){const Y=p++;return I[Y]=!0,o||(o=Promise.resolve()),o.then(()=>k(Y)&&$()),Y},clearImmediate($){k($)}},{setImmediate:M,clearImmediate:S}=T,C={setImmediate(...$){const{delegate:Y}=C;return(Y?.setImmediate||M)(...$)},clearImmediate($){const{delegate:Y}=C;return(Y?.clearImmediate||S)($)},delegate:void 0};var F=d(2631);const H=new class L extends F.v{flush(Y){this._active=!0;const ae=this._scheduled;this._scheduled=void 0;const{actions:se}=this;let re;Y=Y||se.shift();do{if(re=Y.execute(Y.state,Y.delay))break}while((Y=se[0])&&Y.id===ae&&se.shift());if(this._active=!1,re){for(;(Y=se[0])&&Y.id===ae&&se.shift();)Y.unsubscribe();throw re}}}(class _ extends s.o{constructor(Y,ae){super(Y,ae),this.scheduler=Y,this.work=ae}requestAsyncId(Y,ae,se=0){return null!==se&&se>0?super.requestAsyncId(Y,ae,se):(Y.actions.push(this),Y._scheduled||(Y._scheduled=C.setImmediate(Y.flush.bind(Y,void 0))))}recycleAsyncId(Y,ae,se=0){var re;if(null!=se?se>0:this.delay>0)return super.recycleAsyncId(Y,ae,se);const{actions:G}=Y;null!=ae&&(null===(re=G[G.length-1])||void 0===re?void 0:re.id)!==ae&&(C.clearImmediate(ae),Y._scheduled===ae&&(Y._scheduled=void 0))}})},6321:(ve,m,d)=>{"use strict";d.d(m,{P:()=>I,z:()=>o});var s=d(1954);const o=new(d(2631).v)(s.o),I=o},4552:(ve,m,d)=>{"use strict";d.d(m,{l:()=>s});const s={now:()=>(s.delegate||Date).now(),delegate:void 0}},7599:(ve,m,d)=>{"use strict";d.d(m,{z:()=>s});const s={setTimeout(p,o,...I){const{delegate:k}=s;return k?.setTimeout?k.setTimeout(p,o,...I):setTimeout(p,o,...I)},clearTimeout(p){const{delegate:o}=s;return(o?.clearTimeout||clearTimeout)(p)},delegate:void 0}},4971:(ve,m,d)=>{"use strict";d.d(m,{h:()=>p});const p=function s(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}()},4850:(ve,m,d)=>{"use strict";d.d(m,{L:()=>s});const s="function"==typeof Symbol&&Symbol.observable||"@@observable"},9940:(ve,m,d)=>{"use strict";d.d(m,{_6:()=>T,jO:()=>I,yG:()=>k});var s=d(4674),p=d(671);function o(N){return N[N.length-1]}function I(N){return(0,s.m)(o(N))?N.pop():void 0}function k(N){return(0,p.K)(o(N))?N.pop():void 0}function T(N,M){return"number"==typeof o(N)?N.pop():M}},7453:(ve,m,d)=>{"use strict";d.d(m,{D:()=>k});const{isArray:s}=Array,{getPrototypeOf:p,prototype:o,keys:I}=Object;function k(N){if(1===N.length){const M=N[0];if(s(M))return{args:M,keys:null};if(function T(N){return N&&"object"==typeof N&&p(N)===o}(M)){const S=I(M);return{args:S.map(C=>M[C]),keys:S}}}return{args:N,keys:null}}},9039:(ve,m,d)=>{"use strict";function s(p,o){if(p){const I=p.indexOf(o);0<=I&&p.splice(I,1)}}d.d(m,{P:()=>s})},2306:(ve,m,d)=>{"use strict";function s(p){const I=p(k=>{Error.call(k),k.stack=(new Error).stack});return I.prototype=Object.create(Error.prototype),I.prototype.constructor=I,I}d.d(m,{d:()=>s})},2714:(ve,m,d)=>{"use strict";function s(p,o){return p.reduce((I,k,T)=>(I[k]=o[T],I),{})}d.d(m,{n:()=>s})},1441:(ve,m,d)=>{"use strict";d.d(m,{O:()=>I,x:()=>o});var s=d(2653);let p=null;function o(k){if(s.config.useDeprecatedSynchronousErrorHandling){const T=!p;if(T&&(p={errorThrown:!1,error:null}),k(),T){const{errorThrown:N,error:M}=p;if(p=null,N)throw M}}else k()}function I(k){s.config.useDeprecatedSynchronousErrorHandling&&p&&(p.errorThrown=!0,p.error=k)}},7103:(ve,m,d)=>{"use strict";function s(p,o,I,k=0,T=!1){const N=o.schedule(function(){I(),T?p.add(this.schedule(null,k)):this.unsubscribe()},k);if(p.add(N),!T)return N}d.d(m,{f:()=>s})},2737:(ve,m,d)=>{"use strict";function s(p){return p}d.d(m,{y:()=>s})},4266:(ve,m,d)=>{"use strict";d.d(m,{z:()=>s});const s=p=>p&&"number"==typeof p.length&&"function"!=typeof p},5726:(ve,m,d)=>{"use strict";d.d(m,{D:()=>p});var s=d(4674);function p(o){return Symbol.asyncIterator&&(0,s.m)(o?.[Symbol.asyncIterator])}},4674:(ve,m,d)=>{"use strict";function s(p){return"function"==typeof p}d.d(m,{m:()=>s})},8382:(ve,m,d)=>{"use strict";d.d(m,{c:()=>o});var s=d(4850),p=d(4674);function o(I){return(0,p.m)(I[s.L])}},3664:(ve,m,d)=>{"use strict";d.d(m,{T:()=>o});var s=d(4971),p=d(4674);function o(I){return(0,p.m)(I?.[s.h])}},4026:(ve,m,d)=>{"use strict";d.d(m,{t:()=>p});var s=d(4674);function p(o){return(0,s.m)(o?.then)}},541:(ve,m,d)=>{"use strict";d.d(m,{L:()=>I,Q:()=>o});var s=d(7582),p=d(4674);function o(k){return(0,s.__asyncGenerator)(this,arguments,function*(){const N=k.getReader();try{for(;;){const{value:M,done:S}=yield(0,s.__await)(N.read());if(S)return yield(0,s.__await)(void 0);yield yield(0,s.__await)(M)}}finally{N.releaseLock()}})}function I(k){return(0,p.m)(k?.getReader)}},671:(ve,m,d)=>{"use strict";d.d(m,{K:()=>p});var s=d(4674);function p(o){return o&&(0,s.m)(o.schedule)}},9360:(ve,m,d)=>{"use strict";d.d(m,{A:()=>p,e:()=>o});var s=d(4674);function p(I){return(0,s.m)(I?.lift)}function o(I){return k=>{if(p(k))return k.lift(function(T){try{return I(T,this)}catch(N){this.error(N)}});throw new TypeError("Unable to lift unknown Observable type")}}},7400:(ve,m,d)=>{"use strict";d.d(m,{Z:()=>I});var s=d(7398);const{isArray:p}=Array;function I(k){return(0,s.U)(T=>function o(k,T){return p(T)?k(...T):k(T)}(k,T))}},2420:(ve,m,d)=>{"use strict";function s(){}d.d(m,{Z:()=>s})},8407:(ve,m,d)=>{"use strict";d.d(m,{U:()=>o,z:()=>p});var s=d(2737);function p(...I){return o(I)}function o(I){return 0===I.length?s.y:1===I.length?I[0]:function(T){return I.reduce((N,M)=>M(N),T)}}},3894:(ve,m,d)=>{"use strict";d.d(m,{h:()=>o});var s=d(2653),p=d(7599);function o(I){p.z.setTimeout(()=>{const{onUnhandledError:k}=s.config;if(!k)throw I;k(I)})}},9853:(ve,m,d)=>{"use strict";function s(p){return new TypeError(`You provided ${null!==p&&"object"==typeof p?"an invalid object":`'${p}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}d.d(m,{z:()=>s})},2183:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.NgDocHtmlParser=void 0;const s=d(70),p=d(70),o=d(1175),I=d(5464),k=d(360);m.NgDocHtmlParser=class T{constructor(M){this.html=M,this.parsedHTML=(0,o.parser)(this.html)}find(M){const S=s.parse(M)[0],C=S.filter(L=>L.type===p.SelectorType.Tag),_=S.filter(L=>L.type===p.SelectorType.Attribute),F=[...this.parsedHTML];for(;F.length;){const L=F.shift(),H=(0,k.isPresent)(L)&&(0,k.isNodeTag)(L)?L:void 0;if(C.every(V=>V.name.toLowerCase()===String(H?.tag).toLowerCase())&&_.every(V=>{const $=H&&H.attrs&&H?.attrs[V.name];return Object.keys(H?.attrs??{}).includes(V.name)&&$===V.value}))return H;F.push(...(0,k.asArray)(H?.content).flat())}}removeAttribute(M,S){(0,k.isNodeTag)(M)&&Object.keys(M?.attrs??{}).includes(S)&&M.attrs&&delete M.attrs[S],(0,k.isNodeTag)(M)&&Object.keys(M?.attrs??{}).includes(`[${S}]`)&&M.attrs&&delete M.attrs[`[${S}]`]}setAttribute(M,S,C){(0,k.isNodeTag)(M)&&(M.attrs||(M.attrs={}),M.attrs[S]=C??"")}setAttributesFromSelectors(M,S){S.forEach(C=>{"attribute"===C.type&&this.setAttribute(M,C.name,C.value)})}fillAngularAttributes(M,S){(0,k.objectKeys)(S).forEach(C=>{this.removeAttribute(M,String(C)),this.setAttribute(M,`[${String(C)}]`,S[C])})}serialize(){return(0,I.render)(this.parsedHTML)}}},7195:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),d(7582).__exportStar(d(2183),m)},9030:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.NgDocAngularEntities=void 0,m.NgDocAngularEntities=["Component","Directive","Pipe","Injectable","NgModule"]},3337:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.NgDocDeclarations=void 0,m.NgDocDeclarations=["Class","Interface","Enum","Function","TypeAlias","Variable"]},7997:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.NG_DOC_ELEMENT=void 0,m.NG_DOC_ELEMENT="ngde"},2550:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.NG_DOC_DYNAMIC_SELECTOR=void 0,m.NG_DOC_DYNAMIC_SELECTOR="ng-doc-selector"},7355:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.EMPTY_FUNCTION=m.EMPTY_MAP=m.EMPTY_ARRAY=void 0,m.EMPTY_ARRAY=[],m.EMPTY_MAP=new Map,m.EMPTY_FUNCTION=()=>{}},4466:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});const s=d(7582);s.__exportStar(d(9030),m),s.__exportStar(d(3337),m),s.__exportStar(d(7997),m),s.__exportStar(d(2550),m),s.__exportStar(d(7355),m)},7340:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.asArray=void 0;const s=d(5052),p=d(5784);m.asArray=function o(...I){return I.map(k=>(0,p.isPresent)(k)?Array.isArray(k)?k:(0,s.isIterable)(k)?Array.from(k):[k]:[]).flat()}},1435:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.buildPlaygroundDemoPipeTemplate=m.buildPlaygroundDemoTemplate=void 0;const s=d(70),p=d(70),o=d(7195),I=d(4466),k=d(7442);function T(S,C,_,F,L=!0){const H=new o.NgDocHtmlParser(S),V=s.parse(C)[0];if(V){const $=H.find(I.NG_DOC_DYNAMIC_SELECTOR)??H.find(C);$&&(H.setAttributesFromSelectors($,V),String($.tag).toLowerCase()===I.NG_DOC_DYNAMIC_SELECTOR.toLowerCase()&&($.tag=V.find(Y=>Y.type===p.SelectorType.Tag)?.name??"div"),F&&H.fillAngularAttributes($,F))}return function M(S,C,_){return(0,k.objectKeys)(C).forEach(F=>{const L=_?C[F]:`\n\t\t\t\t\n\t\t\t\t\t${C[F]}\n\t\t\t\t`.trim();S=S.replace(new RegExp(`{{\\s*content.${F}\\s*}}`,"gm"),L?`\n${L}\n`:"")}),S}(H.serialize(),_??{},L).replace(/=""/g,"").replace(/^\s*\n/gm,"")}m.buildPlaygroundDemoTemplate=T,m.buildPlaygroundDemoPipeTemplate=function N(S,C,_,F,L=!0){const H=T(S,"",_,F,L),V=(0,k.objectKeys)(F??{}).map($=>`:${F?.[$]}`).join("").trim();return H.replace(new RegExp(`\\| ${C}`,"gm"),`| ${C}${V}`)}},207:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.capitalize=void 0,m.capitalize=function d(s){return s.charAt(0).toUpperCase()+s.slice(1)}},6038:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.escapeHtml=void 0,m.escapeHtml=function d(s){return s.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}},6190:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.escapeRegexp=void 0,m.escapeRegexp=function d(s){return s.replace(/[[\]/{}()*+?.\\^$|]/g,"\\$&")}},4132:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.extractFunctionDefaults=void 0;const s=d(1986);m.extractFunctionDefaults=function p(o){const I=o.name||"function";return o.toString().match(new RegExp(`^${I}\\s*[^\\(]*\\(\\s*([^\\)]*)\\)`,"m"))?.[1].replace(/(\/\*[\s\S]*?\*\/)/gm,"").split(",").map(k=>{const T=k.match(/([_$a-zA-Z][^=]*)(?:=([^=]+))?/);if(T)return(0,s.extractValue)(T[2])})??[]}},1986:(ve,m)=>{"use strict";function s(p){return new Function(`return ${p}`)()}Object.defineProperty(m,"__esModule",{value:!0}),m.extractValueOrThrow=m.extractValue=void 0,m.extractValue=function d(p){try{return s(p)}catch{return""}},m.extractValueOrThrow=s},360:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});const s=d(7582);s.__exportStar(d(7340),m),s.__exportStar(d(1435),m),s.__exportStar(d(207),m),s.__exportStar(d(6038),m),s.__exportStar(d(6190),m),s.__exportStar(d(4132),m),s.__exportStar(d(1986),m),s.__exportStar(d(5052),m),s.__exportStar(d(8925),m),s.__exportStar(d(6113),m),s.__exportStar(d(5784),m),s.__exportStar(d(2043),m),s.__exportStar(d(8703),m),s.__exportStar(d(3451),m),s.__exportStar(d(7442),m),s.__exportStar(d(2996),m),s.__exportStar(d(49),m)},5052:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.isIterable=void 0,m.isIterable=function d(s){return null!==s&&"function"==typeof s[Symbol.iterator]&&"string"!=typeof s}},8925:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.isKeyboardEvent=void 0,m.isKeyboardEvent=function d(s){return s instanceof KeyboardEvent}},6113:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.isNodeTag=void 0,m.isNodeTag=function d(s){return"string"!=typeof s&&"number"!=typeof s}},5784:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.isPresent=void 0,m.isPresent=function d(s){return null!=s&&("string"!=typeof s||""!==s)}},2043:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.isRoute=void 0;const s=d(5784);m.isRoute=function p(o){return(0,s.isPresent)(o)&&"string"!=typeof o}},8703:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.isSameObject=void 0,m.isSameObject=function d(s,p){return Object.keys(s).every(o=>"object"==typeof s[o]&&"object"==typeof p[o]?d(s[o],p[o]):s[o]===p[o])}},3451:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.kebabCase=void 0,m.kebabCase=function d(s){return s.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map(p=>p.toLowerCase())?.join("-")??""}},7442:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.objectKeys=void 0,m.objectKeys=function d(s){return Object.keys(s)}},2996:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.stringify=void 0,m.stringify=function d(s){return void 0===s?"undefined":JSON.stringify(s,null,2)}},49:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0}),m.unique=void 0;const s=d(7340);m.unique=function p(...o){return(0,s.asArray)(new Set(o.flat()))}},9143:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});const s=d(7582);s.__exportStar(d(4466),m),s.__exportStar(d(360),m),s.__exportStar(d(959),m),s.__exportStar(d(5572),m)},4644:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},7751:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},864:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},6722:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},5566:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},7277:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},2681:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},7508:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},959:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});const s=d(7582);s.__exportStar(d(6722),m),s.__exportStar(d(7751),m),s.__exportStar(d(4644),m),s.__exportStar(d(864),m),s.__exportStar(d(5566),m),s.__exportStar(d(7277),m),s.__exportStar(d(2681),m),s.__exportStar(d(7508),m),s.__exportStar(d(6870),m),s.__exportStar(d(1264),m),s.__exportStar(d(5634),m),s.__exportStar(d(5382),m),s.__exportStar(d(9254),m),s.__exportStar(d(3281),m),s.__exportStar(d(5159),m),s.__exportStar(d(4219),m)},6870:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},5634:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},1264:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},5382:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},9254:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},3281:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},5159:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},4219:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},2526:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},7842:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},1005:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},9815:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},3650:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},2282:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},5572:(ve,m,d)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});const s=d(7582);s.__exportStar(d(2526),m),s.__exportStar(d(7842),m),s.__exportStar(d(1005),m),s.__exportStar(d(9815),m),s.__exportStar(d(3650),m),s.__exportStar(d(2282),m),s.__exportStar(d(4831),m),s.__exportStar(d(8178),m),s.__exportStar(d(4343),m),s.__exportStar(d(2078),m)},4831:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},8178:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},4343:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},2078:(ve,m)=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0})},6548:ve=>{var m={exports:{}};function d(Te){return Te instanceof Map?Te.clear=Te.delete=Te.set=function(){throw new Error("map is read-only")}:Te instanceof Set&&(Te.add=Te.clear=Te.delete=function(){throw new Error("set is read-only")}),Object.freeze(Te),Object.getOwnPropertyNames(Te).forEach(function(ot){var Nt=Te[ot];"object"==typeof Nt&&!Object.isFrozen(Nt)&&d(Nt)}),Te}m.exports=d,m.exports.default=d;var s=m.exports;class p{constructor(ot){void 0===ot.data&&(ot.data={}),this.data=ot.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function o(Te){return Te.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function I(Te,...ot){const Nt=Object.create(null);for(const bn in Te)Nt[bn]=Te[bn];return ot.forEach(function(bn){for(const rt in bn)Nt[rt]=bn[rt]}),Nt}const T=Te=>!!Te.kind;class M{constructor(ot,Nt){this.buffer="",this.classPrefix=Nt.classPrefix,ot.walk(this)}addText(ot){this.buffer+=o(ot)}openNode(ot){if(!T(ot))return;let Nt=ot.kind;Nt=ot.sublanguage?`language-${Nt}`:((Te,{prefix:ot})=>{if(Te.includes(".")){const Nt=Te.split(".");return[`${ot}${Nt.shift()}`,...Nt.map((bn,rt)=>`${bn}${"_".repeat(rt+1)}`)].join(" ")}return`${ot}${Te}`})(Nt,{prefix:this.classPrefix}),this.span(Nt)}closeNode(ot){T(ot)&&(this.buffer+="")}value(){return this.buffer}span(ot){this.buffer+=``}}class S{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(ot){this.top.children.push(ot)}openNode(ot){const Nt={kind:ot,children:[]};this.add(Nt),this.stack.push(Nt)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(ot){return this.constructor._walk(ot,this.rootNode)}static _walk(ot,Nt){return"string"==typeof Nt?ot.addText(Nt):Nt.children&&(ot.openNode(Nt),Nt.children.forEach(bn=>this._walk(ot,bn)),ot.closeNode(Nt)),ot}static _collapse(ot){"string"!=typeof ot&&ot.children&&(ot.children.every(Nt=>"string"==typeof Nt)?ot.children=[ot.children.join("")]:ot.children.forEach(Nt=>{S._collapse(Nt)}))}}class C extends S{constructor(ot){super(),this.options=ot}addKeyword(ot,Nt){""!==ot&&(this.openNode(Nt),this.addText(ot),this.closeNode())}addText(ot){""!==ot&&this.add(ot)}addSublanguage(ot,Nt){const bn=ot.root;bn.kind=Nt,bn.sublanguage=!0,this.add(bn)}toHTML(){return new M(this,this.options).value()}finalize(){return!0}}function _(Te){return Te?"string"==typeof Te?Te:Te.source:null}function F(Te){return V("(?=",Te,")")}function L(Te){return V("(?:",Te,")*")}function H(Te){return V("(?:",Te,")?")}function V(...Te){return Te.map(Nt=>_(Nt)).join("")}function Y(...Te){return"("+(function $(Te){const ot=Te[Te.length-1];return"object"==typeof ot&&ot.constructor===Object?(Te.splice(Te.length-1,1),ot):{}}(Te).capture?"":"?:")+Te.map(bn=>_(bn)).join("|")+")"}function ae(Te){return new RegExp(Te.toString()+"|").exec("").length-1}const re=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function G(Te,{joinWith:ot}){let Nt=0;return Te.map(bn=>{Nt+=1;const rt=Nt;let ze=_(bn),de="";for(;ze.length>0;){const ge=re.exec(ze);if(!ge){de+=ze;break}de+=ze.substring(0,ge.index),ze=ze.substring(ge.index+ge[0].length),"\\"===ge[0][0]&&ge[1]?de+="\\"+String(Number(ge[1])+rt):(de+=ge[0],"("===ge[0]&&Nt++)}return de}).map(bn=>`(${bn})`).join(ot)}const X="[a-zA-Z]\\w*",te="[a-zA-Z_]\\w*",fe="\\b\\d+(\\.\\d+)?",Ee="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",xe="\\b(0b[01]+)",Ue={begin:"\\\\[\\s\\S]",relevance:0},Xe={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Ue]},nt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Ue]},Ne=function(Te,ot,Nt={}){const bn=I({scope:"comment",begin:Te,end:ot,contains:[]},Nt);bn.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const rt=Y("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return bn.contains.push({begin:V(/[ ]+/,"(",rt,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),bn},ke=Ne("//","$"),he=Ne("/\\*","\\*/"),Ke=Ne("#","$");var zt=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:X,UNDERSCORE_IDENT_RE:te,NUMBER_RE:fe,C_NUMBER_RE:Ee,BINARY_NUMBER_RE:xe,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(Te={})=>{const ot=/^#![ ]*\//;return Te.binary&&(Te.begin=V(ot,/.*\b/,Te.binary,/\b.*/)),I({scope:"meta",begin:ot,end:/$/,relevance:0,"on:begin":(Nt,bn)=>{0!==Nt.index&&bn.ignoreMatch()}},Te)},BACKSLASH_ESCAPE:Ue,APOS_STRING_MODE:Xe,QUOTE_STRING_MODE:nt,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT:Ne,C_LINE_COMMENT_MODE:ke,C_BLOCK_COMMENT_MODE:he,HASH_COMMENT_MODE:Ke,NUMBER_MODE:{scope:"number",begin:fe,relevance:0},C_NUMBER_MODE:{scope:"number",begin:Ee,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:xe,relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[Ue,{begin:/\[/,end:/\]/,relevance:0,contains:[Ue]}]}]},TITLE_MODE:{scope:"title",begin:X,relevance:0},UNDERSCORE_TITLE_MODE:{scope:"title",begin:te,relevance:0},METHOD_GUARD:{begin:"\\.\\s*"+te,relevance:0},END_SAME_AS_BEGIN:function(Te){return Object.assign(Te,{"on:begin":(ot,Nt)=>{Nt.data._beginMatch=ot[1]},"on:end":(ot,Nt)=>{Nt.data._beginMatch!==ot[1]&&Nt.ignoreMatch()}})}});function _t(Te,ot){"."===Te.input[Te.index-1]&&ot.ignoreMatch()}function an(Te,ot){void 0!==Te.className&&(Te.scope=Te.className,delete Te.className)}function un(Te,ot){ot&&Te.beginKeywords&&(Te.begin="\\b("+Te.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",Te.__beforeBegin=_t,Te.keywords=Te.keywords||Te.beginKeywords,delete Te.beginKeywords,void 0===Te.relevance&&(Te.relevance=0))}function yn(Te,ot){Array.isArray(Te.illegal)&&(Te.illegal=Y(...Te.illegal))}function Rn(Te,ot){if(Te.match){if(Te.begin||Te.end)throw new Error("begin & end are not supported with match");Te.begin=Te.match,delete Te.match}}function Gn(Te,ot){void 0===Te.relevance&&(Te.relevance=1)}const uo=(Te,ot)=>{if(!Te.beforeMatch)return;if(Te.starts)throw new Error("beforeMatch cannot be used with starts");const Nt=Object.assign({},Te);Object.keys(Te).forEach(bn=>{delete Te[bn]}),Te.keywords=Nt.keywords,Te.begin=V(Nt.beforeMatch,F(Nt.begin)),Te.starts={relevance:0,contains:[Object.assign(Nt,{endsParent:!0})]},Te.relevance=0,delete Nt.beforeMatch},Ro=["of","and","for","in","not","or","if","then","parent","list","value"],Kn="keyword";function Jn(Te,ot,Nt=Kn){const bn=Object.create(null);return"string"==typeof Te?rt(Nt,Te.split(" ")):Array.isArray(Te)?rt(Nt,Te):Object.keys(Te).forEach(function(ze){Object.assign(bn,Jn(Te[ze],ot,ze))}),bn;function rt(ze,de){ot&&(de=de.map(ge=>ge.toLowerCase())),de.forEach(function(ge){const Ge=ge.split("|");bn[Ge[0]]=[ze,Oo(Ge[0],Ge[1])]})}}function Oo(Te,ot){return ot?Number(ot):function So(Te){return Ro.includes(Te.toLowerCase())}(Te)?0:1}const Be={},gt=Te=>{console.error(Te)},je=(Te,...ot)=>{console.log(`WARN: ${Te}`,...ot)},q=(Te,ot)=>{Be[`${Te}/${ot}`]||(console.log(`Deprecated as of ${Te}. ${ot}`),Be[`${Te}/${ot}`]=!0)},Ce=new Error;function Re(Te,ot,{key:Nt}){let bn=0;const rt=Te[Nt],ze={},de={};for(let ge=1;ge<=ot.length;ge++)de[ge+bn]=rt[ge],ze[ge+bn]=!0,bn+=ae(ot[ge-1]);Te[Nt]=de,Te[Nt]._emit=ze,Te[Nt]._multi=!0}function ye(Te){(function ut(Te){Te.scope&&"object"==typeof Te.scope&&null!==Te.scope&&(Te.beginScope=Te.scope,delete Te.scope)})(Te),"string"==typeof Te.beginScope&&(Te.beginScope={_wrap:Te.beginScope}),"string"==typeof Te.endScope&&(Te.endScope={_wrap:Te.endScope}),function We(Te){if(Array.isArray(Te.begin)){if(Te.skip||Te.excludeBegin||Te.returnBegin)throw gt("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Ce;if("object"!=typeof Te.beginScope||null===Te.beginScope)throw gt("beginScope must be object"),Ce;Re(Te,Te.begin,{key:"beginScope"}),Te.begin=G(Te.begin,{joinWith:""})}}(Te),function Ve(Te){if(Array.isArray(Te.end)){if(Te.skip||Te.excludeEnd||Te.returnEnd)throw gt("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Ce;if("object"!=typeof Te.endScope||null===Te.endScope)throw gt("endScope must be object"),Ce;Re(Te,Te.end,{key:"endScope"}),Te.end=G(Te.end,{joinWith:""})}}(Te)}function Ye(Te){function ot(de,ge){return new RegExp(_(de),"m"+(Te.case_insensitive?"i":"")+(Te.unicodeRegex?"u":"")+(ge?"g":""))}class Nt{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(ge,Ge){Ge.position=this.position++,this.matchIndexes[this.matchAt]=Ge,this.regexes.push([Ge,ge]),this.matchAt+=ae(ge)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const ge=this.regexes.map(Ge=>Ge[1]);this.matcherRe=ot(G(ge,{joinWith:"|"}),!0),this.lastIndex=0}exec(ge){this.matcherRe.lastIndex=this.lastIndex;const Ge=this.matcherRe.exec(ge);if(!Ge)return null;const Rt=Ge.findIndex((hn,Vn)=>Vn>0&&void 0!==hn),Wt=this.matchIndexes[Rt];return Ge.splice(0,Rt),Object.assign(Ge,Wt)}}class bn{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(ge){if(this.multiRegexes[ge])return this.multiRegexes[ge];const Ge=new Nt;return this.rules.slice(ge).forEach(([Rt,Wt])=>Ge.addRule(Rt,Wt)),Ge.compile(),this.multiRegexes[ge]=Ge,Ge}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(ge,Ge){this.rules.push([ge,Ge]),"begin"===Ge.type&&this.count++}exec(ge){const Ge=this.getMatcher(this.regexIndex);Ge.lastIndex=this.lastIndex;let Rt=Ge.exec(ge);if(this.resumingScanAtSamePosition()&&(!Rt||Rt.index!==this.lastIndex)){const Wt=this.getMatcher(0);Wt.lastIndex=this.lastIndex+1,Rt=Wt.exec(ge)}return Rt&&(this.regexIndex+=Rt.position+1,this.regexIndex===this.count&&this.considerAll()),Rt}}if(Te.compilerExtensions||(Te.compilerExtensions=[]),Te.contains&&Te.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return Te.classNameAliases=I(Te.classNameAliases||{}),function ze(de,ge){const Ge=de;if(de.isCompiled)return Ge;[an,Rn,ye,uo].forEach(Wt=>Wt(de,ge)),Te.compilerExtensions.forEach(Wt=>Wt(de,ge)),de.__beforeBegin=null,[un,yn,Gn].forEach(Wt=>Wt(de,ge)),de.isCompiled=!0;let Rt=null;return"object"==typeof de.keywords&&de.keywords.$pattern&&(de.keywords=Object.assign({},de.keywords),Rt=de.keywords.$pattern,delete de.keywords.$pattern),Rt=Rt||/\w+/,de.keywords&&(de.keywords=Jn(de.keywords,Te.case_insensitive)),Ge.keywordPatternRe=ot(Rt,!0),ge&&(de.begin||(de.begin=/\B|\b/),Ge.beginRe=ot(Ge.begin),!de.end&&!de.endsWithParent&&(de.end=/\B|\b/),de.end&&(Ge.endRe=ot(Ge.end)),Ge.terminatorEnd=_(Ge.end)||"",de.endsWithParent&&ge.terminatorEnd&&(Ge.terminatorEnd+=(de.end?"|":"")+ge.terminatorEnd)),de.illegal&&(Ge.illegalRe=ot(de.illegal)),de.contains||(de.contains=[]),de.contains=[].concat(...de.contains.map(function(Wt){return function en(Te){return Te.variants&&!Te.cachedVariants&&(Te.cachedVariants=Te.variants.map(function(ot){return I(Te,{variants:null},ot)})),Te.cachedVariants?Te.cachedVariants:et(Te)?I(Te,{starts:Te.starts?I(Te.starts):null}):Object.isFrozen(Te)?I(Te):Te}("self"===Wt?de:Wt)})),de.contains.forEach(function(Wt){ze(Wt,Ge)}),de.starts&&ze(de.starts,ge),Ge.matcher=function rt(de){const ge=new bn;return de.contains.forEach(Ge=>ge.addRule(Ge.begin,{rule:Ge,type:"begin"})),de.terminatorEnd&&ge.addRule(de.terminatorEnd,{type:"end"}),de.illegal&&ge.addRule(de.illegal,{type:"illegal"}),ge}(Ge),Ge}(Te)}function et(Te){return!!Te&&(Te.endsWithParent||et(Te.starts))}class po extends Error{constructor(ot,Nt){super(ot),this.name="HTMLInjectionError",this.html=Nt}}const Ln=o,wn=I,Bn=Symbol("nomatch");var Zo=function(Te){const ot=Object.create(null),Nt=Object.create(null),bn=[];let rt=!0;const ze="Could not find the language '{}', did you forget to load/include a language module?",de={disableAutodetect:!0,name:"Plain text",contains:[]};let ge={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:C};function Ge(Dt){return ge.noHighlightRe.test(Dt)}function Wt(Dt,Gt,vn){let gn="",jn="";"object"==typeof Gt?(gn=Dt,vn=Gt.ignoreIllegals,jn=Gt.language):(q("10.7.0","highlight(lang, code, ...args) has been deprecated."),q("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),jn=Dt,gn=Gt),void 0===vn&&(vn=!0);const Co={code:gn,language:jn};pn("before:highlight",Co);const No=Co.result?Co.result:hn(Co.language,Co.code,vn);return No.code=Co.code,pn("after:highlight",No),No}function hn(Dt,Gt,vn,gn){const jn=Object.create(null);function Co(Jt,on){return Jt.keywords[on]}function No(){if(!Sn.keywords)return void Po.addText(oo);let Jt=0;Sn.keywordPatternRe.lastIndex=0;let on=Sn.keywordPatternRe.exec(oo),Kt="";for(;on;){Kt+=oo.substring(Jt,on.index);const Mn=Xo.case_insensitive?on[0].toLowerCase():on[0],zn=Co(Sn,Mn);if(zn){const[co,ho]=zn;Po.addText(Kt),Kt="",jn[Mn]=(jn[Mn]||0)+1,jn[Mn]<=7&&(kr+=ho),co.startsWith("_")?Kt+=on[0]:Po.addKeyword(on[0],Xo.classNameAliases[co]||co)}else Kt+=on[0];Jt=Sn.keywordPatternRe.lastIndex,on=Sn.keywordPatternRe.exec(oo)}Kt+=oo.substr(Jt),Po.addText(Kt)}function In(){null!=Sn.subLanguage?function xo(){if(""===oo)return;let Jt=null;if("string"==typeof Sn.subLanguage){if(!ot[Sn.subLanguage])return void Po.addText(oo);Jt=hn(Sn.subLanguage,oo,!0,Oi[Sn.subLanguage]),Oi[Sn.subLanguage]=Jt._top}else Jt=Cn(oo,Sn.subLanguage.length?Sn.subLanguage:null);Sn.relevance>0&&(kr+=Jt.relevance),Po.addSublanguage(Jt._emitter,Jt.language)}():No(),oo=""}function Uo(Jt,on){let Kt=1;const Mn=on.length-1;for(;Kt<=Mn;){if(!Jt._emit[Kt]){Kt++;continue}const zn=Xo.classNameAliases[Jt[Kt]]||Jt[Kt],co=on[Kt];zn?Po.addKeyword(co,zn):(oo=co,No(),oo=""),Kt++}}function Fo(Jt,on){return Jt.scope&&"string"==typeof Jt.scope&&Po.openNode(Xo.classNameAliases[Jt.scope]||Jt.scope),Jt.beginScope&&(Jt.beginScope._wrap?(Po.addKeyword(oo,Xo.classNameAliases[Jt.beginScope._wrap]||Jt.beginScope._wrap),oo=""):Jt.beginScope._multi&&(Uo(Jt.beginScope,on),oo="")),Sn=Object.create(Jt,{parent:{value:Sn}}),Sn}function mo(Jt,on,Kt){let Mn=function se(Te,ot){const Nt=Te&&Te.exec(ot);return Nt&&0===Nt.index}(Jt.endRe,Kt);if(Mn){if(Jt["on:end"]){const zn=new p(Jt);Jt["on:end"](on,zn),zn.isMatchIgnored&&(Mn=!1)}if(Mn){for(;Jt.endsParent&&Jt.parent;)Jt=Jt.parent;return Jt}}if(Jt.endsWithParent)return mo(Jt.parent,on,Kt)}function Dr(Jt){return 0===Sn.matcher.regexIndex?(oo+=Jt[0],1):(mi=!0,0)}function gi(Jt){const on=Jt[0],Kt=Gt.substr(Jt.index),Mn=mo(Sn,Jt,Kt);if(!Mn)return Bn;const zn=Sn;Sn.endScope&&Sn.endScope._wrap?(In(),Po.addKeyword(on,Sn.endScope._wrap)):Sn.endScope&&Sn.endScope._multi?(In(),Uo(Sn.endScope,Jt)):zn.skip?oo+=on:(zn.returnEnd||zn.excludeEnd||(oo+=on),In(),zn.excludeEnd&&(oo=on));do{Sn.scope&&Po.closeNode(),!Sn.skip&&!Sn.subLanguage&&(kr+=Sn.relevance),Sn=Sn.parent}while(Sn!==Mn.parent);return Mn.starts&&Fo(Mn.starts,Jt),zn.returnEnd?0:on.length}let Ur={};function pi(Jt,on){const Kt=on&&on[0];if(oo+=Jt,null==Kt)return In(),0;if("begin"===Ur.type&&"end"===on.type&&Ur.index===on.index&&""===Kt){if(oo+=Gt.slice(on.index,on.index+1),!rt){const Mn=new Error(`0 width match regex (${Dt})`);throw Mn.languageName=Dt,Mn.badRule=Ur.rule,Mn}return 1}if(Ur=on,"begin"===on.type)return function Vr(Jt){const on=Jt[0],Kt=Jt.rule,Mn=new p(Kt),zn=[Kt.__beforeBegin,Kt["on:begin"]];for(const co of zn)if(co&&(co(Jt,Mn),Mn.isMatchIgnored))return Dr(on);return Kt.skip?oo+=on:(Kt.excludeBegin&&(oo+=on),In(),!Kt.returnBegin&&!Kt.excludeBegin&&(oo=on)),Fo(Kt,Jt),Kt.returnBegin?0:on.length}(on);if("illegal"===on.type&&!vn){const Mn=new Error('Illegal lexeme "'+Kt+'" for mode "'+(Sn.scope||"")+'"');throw Mn.mode=Sn,Mn}if("end"===on.type){const Mn=gi(on);if(Mn!==Bn)return Mn}if("illegal"===on.type&&""===Kt)return 1;if(fr>1e5&&fr>3*on.index)throw new Error("potential infinite loop, way more iterations than matches");return oo+=Kt,Kt.length}const Xo=vt(Dt);if(!Xo)throw gt(ze.replace("{}",Dt)),new Error('Unknown language: "'+Dt+'"');const ns=Ye(Xo);let sr="",Sn=gn||ns;const Oi={},Po=new ge.__emitter(ge);!function Sr(){const Jt=[];for(let on=Sn;on!==Xo;on=on.parent)on.scope&&Jt.unshift(on.scope);Jt.forEach(on=>Po.openNode(on))}();let oo="",kr=0,Jo=0,fr=0,mi=!1;try{for(Sn.matcher.considerAll();;){fr++,mi?mi=!1:Sn.matcher.considerAll(),Sn.matcher.lastIndex=Jo;const Jt=Sn.matcher.exec(Gt);if(!Jt)break;const Kt=pi(Gt.substring(Jo,Jt.index),Jt);Jo=Jt.index+Kt}return pi(Gt.substr(Jo)),Po.closeAllNodes(),Po.finalize(),sr=Po.toHTML(),{language:Dt,value:sr,relevance:kr,illegal:!1,_emitter:Po,_top:Sn}}catch(Jt){if(Jt.message&&Jt.message.includes("Illegal"))return{language:Dt,value:Ln(Gt),illegal:!0,relevance:0,_illegalBy:{message:Jt.message,index:Jo,context:Gt.slice(Jo-100,Jo+100),mode:Jt.mode,resultSoFar:sr},_emitter:Po};if(rt)return{language:Dt,value:Ln(Gt),illegal:!1,relevance:0,errorRaised:Jt,_emitter:Po,_top:Sn};throw Jt}}function Cn(Dt,Gt){Gt=Gt||ge.languages||Object.keys(ot);const vn=function Vn(Dt){const Gt={value:Ln(Dt),illegal:!1,relevance:0,_top:de,_emitter:new ge.__emitter(ge)};return Gt._emitter.addText(Dt),Gt}(Dt),gn=Gt.filter(vt).filter(Yt).map(In=>hn(In,Dt,!1));gn.unshift(vn);const jn=gn.sort((In,Uo)=>{if(In.relevance!==Uo.relevance)return Uo.relevance-In.relevance;if(In.language&&Uo.language){if(vt(In.language).supersetOf===Uo.language)return 1;if(vt(Uo.language).supersetOf===In.language)return-1}return 0}),[Co,No]=jn,xo=Co;return xo.secondBest=No,xo}function ko(Dt){let Gt=null;const vn=function Rt(Dt){let Gt=Dt.className+" ";Gt+=Dt.parentNode?Dt.parentNode.className:"";const vn=ge.languageDetectRe.exec(Gt);if(vn){const gn=vt(vn[1]);return gn||(je(ze.replace("{}",vn[1])),je("Falling back to no-highlight mode for this block.",Dt)),gn?vn[1]:"no-highlight"}return Gt.split(/\s+/).find(gn=>Ge(gn)||vt(gn))}(Dt);if(Ge(vn))return;if(pn("before:highlightElement",{el:Dt,language:vn}),Dt.children.length>0&&(ge.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(Dt)),ge.throwUnescapedHTML))throw new po("One of your code blocks includes unescaped HTML.",Dt.innerHTML);Gt=Dt;const gn=Gt.textContent,jn=vn?Wt(gn,{language:vn,ignoreIllegals:!0}):Cn(gn);Dt.innerHTML=jn.value,function To(Dt,Gt,vn){const gn=Gt&&Nt[Gt]||vn;Dt.classList.add("hljs"),Dt.classList.add(`language-${gn}`)}(Dt,vn,jn.language),Dt.result={language:jn.language,re:jn.relevance,relevance:jn.relevance},jn.secondBest&&(Dt.secondBest={language:jn.secondBest.language,relevance:jn.secondBest.relevance}),pn("after:highlightElement",{el:Dt,result:jn,text:gn})}let Ct=!1;function Pt(){"loading"!==document.readyState?document.querySelectorAll(ge.cssSelector).forEach(ko):Ct=!0}function vt(Dt){return Dt=(Dt||"").toLowerCase(),ot[Dt]||ot[Nt[Dt]]}function $t(Dt,{languageName:Gt}){"string"==typeof Dt&&(Dt=[Dt]),Dt.forEach(vn=>{Nt[vn.toLowerCase()]=Gt})}function Yt(Dt){const Gt=vt(Dt);return Gt&&!Gt.disableAutodetect}function pn(Dt,Gt){const vn=Dt;bn.forEach(function(gn){gn[vn]&&gn[vn](Gt)})}typeof window<"u"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",function ue(){Ct&&Pt()},!1),Object.assign(Te,{highlight:Wt,highlightAuto:Cn,highlightAll:Pt,highlightElement:ko,highlightBlock:function mn(Dt){return q("10.7.0","highlightBlock will be removed entirely in v12.0"),q("10.7.0","Please use highlightElement now."),ko(Dt)},configure:function $e(Dt){ge=wn(ge,Dt)},initHighlighting:()=>{Pt(),q("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function Fe(){Pt(),q("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function Se(Dt,Gt){let vn=null;try{vn=Gt(Te)}catch(gn){if(gt("Language definition for '{}' could not be registered.".replace("{}",Dt)),!rt)throw gn;gt(gn),vn=de}vn.name||(vn.name=Dt),ot[Dt]=vn,vn.rawDefinition=Gt.bind(null,Te),vn.aliases&&$t(vn.aliases,{languageName:Dt})},unregisterLanguage:function mt(Dt){delete ot[Dt];for(const Gt of Object.keys(Nt))Nt[Gt]===Dt&&delete Nt[Gt]},listLanguages:function Je(){return Object.keys(ot)},getLanguage:vt,registerAliases:$t,autoDetection:Yt,inherit:wn,addPlugin:function sn(Dt){(function Xt(Dt){Dt["before:highlightBlock"]&&!Dt["before:highlightElement"]&&(Dt["before:highlightElement"]=Gt=>{Dt["before:highlightBlock"](Object.assign({block:Gt.el},Gt))}),Dt["after:highlightBlock"]&&!Dt["after:highlightElement"]&&(Dt["after:highlightElement"]=Gt=>{Dt["after:highlightBlock"](Object.assign({block:Gt.el},Gt))})})(Dt),bn.push(Dt)}}),Te.debugMode=function(){rt=!1},Te.safeMode=function(){rt=!0},Te.versionString="11.5.1",Te.regex={concat:V,lookahead:F,either:Y,optional:H,anyNumberOfTimes:L};for(const Dt in zt)"object"==typeof zt[Dt]&&s(zt[Dt]);return Object.assign(Te,zt),Te}({});ve.exports=Zo,Zo.HighlightJS=Zo,Zo.default=Zo},6825:(ve,m,d)=>{"use strict";d.d(m,{IO:()=>V,LC:()=>p,SB:()=>S,X$:()=>I,ZE:()=>ae,ZN:()=>Y,_j:()=>s,eR:()=>_,jt:()=>k,k1:()=>se,l3:()=>o,oB:()=>M,pV:()=>L,ru:()=>T,vP:()=>N});class s{}class p{}const o="*";function I(re,G){return{type:7,name:re,definitions:G,options:{}}}function k(re,G=null){return{type:4,styles:G,timings:re}}function T(re,G=null){return{type:3,steps:re,options:G}}function N(re,G=null){return{type:2,steps:re,options:G}}function M(re){return{type:6,styles:re,offset:null}}function S(re,G,Z){return{type:0,name:re,styles:G,options:Z}}function _(re,G,Z=null){return{type:1,expr:re,animation:G,options:Z}}function L(re=null){return{type:9,options:re}}function V(re,G,Z=null){return{type:11,selector:re,animation:G,options:Z}}class Y{constructor(G=0,Z=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=G+Z}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(G=>G()),this._onDoneFns=[])}onStart(G){this._originalOnStartFns.push(G),this._onStartFns.push(G)}onDone(G){this._originalOnDoneFns.push(G),this._onDoneFns.push(G)}onDestroy(G){this._onDestroyFns.push(G)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(G=>G()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(G=>G()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(G){this._position=this.totalTime?G*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(G){const Z="start"==G?this._onStartFns:this._onDoneFns;Z.forEach(X=>X()),Z.length=0}}class ae{constructor(G){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=G;let Z=0,X=0,te=0;const fe=this.players.length;0==fe?queueMicrotask(()=>this._onFinish()):this.players.forEach(Ee=>{Ee.onDone(()=>{++Z==fe&&this._onFinish()}),Ee.onDestroy(()=>{++X==fe&&this._onDestroy()}),Ee.onStart(()=>{++te==fe&&this._onStart()})}),this.totalTime=this.players.reduce((Ee,xe)=>Math.max(Ee,xe.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(G=>G()),this._onDoneFns=[])}init(){this.players.forEach(G=>G.init())}onStart(G){this._onStartFns.push(G)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(G=>G()),this._onStartFns=[])}onDone(G){this._onDoneFns.push(G)}onDestroy(G){this._onDestroyFns.push(G)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(G=>G.play())}pause(){this.players.forEach(G=>G.pause())}restart(){this.players.forEach(G=>G.restart())}finish(){this._onFinish(),this.players.forEach(G=>G.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(G=>G.destroy()),this._onDestroyFns.forEach(G=>G()),this._onDestroyFns=[])}reset(){this.players.forEach(G=>G.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(G){const Z=G*this.totalTime;this.players.forEach(X=>{const te=X.totalTime?Math.min(1,Z/X.totalTime):1;X.setPosition(te)})}getPosition(){const G=this.players.reduce((Z,X)=>null===Z||X.totalTime>Z.totalTime?X:Z,null);return null!=G?G.getPosition():0}beforeDestroy(){this.players.forEach(G=>{G.beforeDestroy&&G.beforeDestroy()})}triggerCallback(G){const Z="start"==G?this._onStartFns:this._onDoneFns;Z.forEach(X=>X()),Z.length=0}}const se="!"},2495:(ve,m,d)=>{"use strict";d.d(m,{Eq:()=>k,HM:()=>T,fI:()=>N});var s=d(5879);function k(S){return Array.isArray(S)?S:[S]}function T(S){return null==S?"":"string"==typeof S?S:`${S}px`}function N(S){return S instanceof s.SBq?S.nativeElement:S}},8290:(ve,m,d)=>{"use strict";d.d(m,{BS:()=>G,xu:()=>Kn,_G:()=>pt,aV:()=>Gn});var s=d(9473),p=d(6814),o=d(5879),I=d(2495),k=d(2831),T=d(2181),N=d(8180),M=d(9773);const S=new o.OlP("cdk-dir-doc",{providedIn:"root",factory:function C(){return(0,o.f3M)(p.K0)}}),_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let L=(()=>{class je{constructor(Ce){this.value="ltr",this.change=new o.vpe,Ce&&(this.value=function F(je){const q=je?.toLowerCase()||"";return"auto"===q&&typeof navigator<"u"&&navigator?.language?_.test(navigator.language)?"rtl":"ltr":"rtl"===q?"rtl":"ltr"}((Ce.body?Ce.body.dir:null)||(Ce.documentElement?Ce.documentElement.dir:null)||"ltr"))}ngOnDestroy(){this.change.complete()}static#e=this.\u0275fac=function(Re){return new(Re||je)(o.LFG(S,8))};static#t=this.\u0275prov=o.Yz7({token:je,factory:je.\u0275fac,providedIn:"root"})}return je})();var $=d(8484),Y=d(8645),ae=d(7394),se=d(3019);const re=(0,k.Mq)();class G{constructor(q,Ce){this._viewportRuler=q,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=Ce}attach(){}enable(){if(this._canBeEnabled()){const q=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=q.style.left||"",this._previousHTMLStyles.top=q.style.top||"",q.style.left=(0,I.HM)(-this._previousScrollPosition.left),q.style.top=(0,I.HM)(-this._previousScrollPosition.top),q.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const q=this._document.documentElement,Re=q.style,We=this._document.body.style,Ve=Re.scrollBehavior||"",ut=We.scrollBehavior||"";this._isEnabled=!1,Re.left=this._previousHTMLStyles.left,Re.top=this._previousHTMLStyles.top,q.classList.remove("cdk-global-scrollblock"),re&&(Re.scrollBehavior=We.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),re&&(Re.scrollBehavior=Ve,We.scrollBehavior=ut)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const Ce=this._document.body,Re=this._viewportRuler.getViewportSize();return Ce.scrollHeight>Re.height||Ce.scrollWidth>Re.width}}class X{constructor(q,Ce,Re,We){this._scrollDispatcher=q,this._ngZone=Ce,this._viewportRuler=Re,this._config=We,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(q){this._overlayRef=q}enable(){if(this._scrollSubscription)return;const q=this._scrollDispatcher.scrolled(0).pipe((0,T.h)(Ce=>!Ce||!this._overlayRef.overlayElement.contains(Ce.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=q.subscribe(()=>{const Ce=this._viewportRuler.getViewportScrollPosition().top;Math.abs(Ce-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=q.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class te{enable(){}disable(){}attach(){}}function fe(je,q){return q.some(Ce=>je.bottomCe.bottom||je.rightCe.right)}function Ee(je,q){return q.some(Ce=>je.topCe.bottom||je.leftCe.right)}class xe{constructor(q,Ce,Re,We){this._scrollDispatcher=q,this._viewportRuler=Ce,this._ngZone=Re,this._config=We,this._scrollSubscription=null}attach(q){this._overlayRef=q}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const Ce=this._overlayRef.overlayElement.getBoundingClientRect(),{width:Re,height:We}=this._viewportRuler.getViewportSize();fe(Ce,[{width:Re,height:We,bottom:We,right:Re,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let Ie=(()=>{class je{constructor(Ce,Re,We,Ve){this._scrollDispatcher=Ce,this._viewportRuler=Re,this._ngZone=We,this.noop=()=>new te,this.close=ut=>new X(this._scrollDispatcher,this._ngZone,this._viewportRuler,ut),this.block=()=>new G(this._viewportRuler,this._document),this.reposition=ut=>new xe(this._scrollDispatcher,this._viewportRuler,this._ngZone,ut),this._document=Ve}static#e=this.\u0275fac=function(Re){return new(Re||je)(o.LFG(s.mF),o.LFG(s.rL),o.LFG(o.R0b),o.LFG(p.K0))};static#t=this.\u0275prov=o.Yz7({token:je,factory:je.\u0275fac,providedIn:"root"})}return je})();class Le{constructor(q){if(this.scrollStrategy=new te,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,q){const Ce=Object.keys(q);for(const Re of Ce)void 0!==q[Re]&&(this[Re]=q[Re])}}}class nt{constructor(q,Ce){this.connectionPair=q,this.scrollableViewProperties=Ce}}let ke=(()=>{class je{constructor(Ce){this._attachedOverlays=[],this._document=Ce}ngOnDestroy(){this.detach()}add(Ce){this.remove(Ce),this._attachedOverlays.push(Ce)}remove(Ce){const Re=this._attachedOverlays.indexOf(Ce);Re>-1&&this._attachedOverlays.splice(Re,1),0===this._attachedOverlays.length&&this.detach()}static#e=this.\u0275fac=function(Re){return new(Re||je)(o.LFG(p.K0))};static#t=this.\u0275prov=o.Yz7({token:je,factory:je.\u0275fac,providedIn:"root"})}return je})(),he=(()=>{class je extends ke{constructor(Ce,Re){super(Ce),this._ngZone=Re,this._keydownListener=We=>{const Ve=this._attachedOverlays;for(let ut=Ve.length-1;ut>-1;ut--)if(Ve[ut]._keydownEvents.observers.length>0){const ye=Ve[ut]._keydownEvents;this._ngZone?this._ngZone.run(()=>ye.next(We)):ye.next(We);break}}}add(Ce){super.add(Ce),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}static#e=this.\u0275fac=function(Re){return new(Re||je)(o.LFG(p.K0),o.LFG(o.R0b,8))};static#t=this.\u0275prov=o.Yz7({token:je,factory:je.\u0275fac,providedIn:"root"})}return je})(),Ke=(()=>{class je extends ke{constructor(Ce,Re,We){super(Ce),this._platform=Re,this._ngZone=We,this._cursorStyleIsSet=!1,this._pointerDownListener=Ve=>{this._pointerDownEventTarget=(0,k.sA)(Ve)},this._clickListener=Ve=>{const ut=(0,k.sA)(Ve),ye="click"===Ve.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:ut;this._pointerDownEventTarget=null;const Ye=this._attachedOverlays.slice();for(let et=Ye.length-1;et>-1;et--){const en=Ye[et];if(en._outsidePointerEvents.observers.length<1||!en.hasAttached())continue;if(en.overlayElement.contains(ut)||en.overlayElement.contains(ye))break;const nn=en._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>nn.next(Ve)):nn.next(Ve)}}}add(Ce){if(super.add(Ce),!this._isAttached){const Re=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(Re)):this._addEventListeners(Re),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=Re.style.cursor,Re.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const Ce=this._document.body;Ce.removeEventListener("pointerdown",this._pointerDownListener,!0),Ce.removeEventListener("click",this._clickListener,!0),Ce.removeEventListener("auxclick",this._clickListener,!0),Ce.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(Ce.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(Ce){Ce.addEventListener("pointerdown",this._pointerDownListener,!0),Ce.addEventListener("click",this._clickListener,!0),Ce.addEventListener("auxclick",this._clickListener,!0),Ce.addEventListener("contextmenu",this._clickListener,!0)}static#e=this.\u0275fac=function(Re){return new(Re||je)(o.LFG(p.K0),o.LFG(k.t4),o.LFG(o.R0b,8))};static#t=this.\u0275prov=o.Yz7({token:je,factory:je.\u0275fac,providedIn:"root"})}return je})(),Pe=(()=>{class je{constructor(Ce,Re){this._platform=Re,this._document=Ce}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const Ce="cdk-overlay-container";if(this._platform.isBrowser||(0,k.Oy)()){const We=this._document.querySelectorAll(`.${Ce}[platform="server"], .${Ce}[platform="test"]`);for(let Ve=0;Vethis._backdropClick.next(nn),this._backdropTransitionendHandler=nn=>{this._disposeBackdrop(nn.target)},this._keydownEvents=new Y.x,this._outsidePointerEvents=new Y.x,We.scrollStrategy&&(this._scrollStrategy=We.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=We.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(q){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const Ce=this._portalOutlet.attach(q);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe((0,N.q)(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),"function"==typeof Ce?.onDestroy&&Ce.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),Ce}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const q=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),q}dispose(){const q=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,q&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(q){q!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=q,this.hasAttached()&&(q.attach(this),this.updatePosition()))}updateSize(q){this._config={...this._config,...q},this._updateElementSize()}setDirection(q){this._config={...this._config,direction:q},this._updateElementDirection()}addPanelClass(q){this._pane&&this._toggleClasses(this._pane,q,!0)}removePanelClass(q){this._pane&&this._toggleClasses(this._pane,q,!1)}getDirection(){const q=this._config.direction;return q?"string"==typeof q?q:q.value:"ltr"}updateScrollStrategy(q){q!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=q,this.hasAttached()&&(q.attach(this),q.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const q=this._pane.style;q.width=(0,I.HM)(this._config.width),q.height=(0,I.HM)(this._config.height),q.minWidth=(0,I.HM)(this._config.minWidth),q.minHeight=(0,I.HM)(this._config.minHeight),q.maxWidth=(0,I.HM)(this._config.maxWidth),q.maxHeight=(0,I.HM)(this._config.maxHeight)}_togglePointerEvents(q){this._pane.style.pointerEvents=q?"":"none"}_attachBackdrop(){const q="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(q)})}):this._backdropElement.classList.add(q)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const q=this._backdropElement;if(q){if(this._animationsDisabled)return void this._disposeBackdrop(q);q.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{q.addEventListener("transitionend",this._backdropTransitionendHandler)}),q.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(q)},500))}}_toggleClasses(q,Ce,Re){const We=(0,I.Eq)(Ce||[]).filter(Ve=>!!Ve);We.length&&(Re?q.classList.add(...We):q.classList.remove(...We))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const q=this._ngZone.onStable.pipe((0,M.R)((0,se.T)(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),q.unsubscribe())})})}_disposeScrollStrategy(){const q=this._scrollStrategy;q&&(q.disable(),q.detach&&q.detach())}_disposeBackdrop(q){q&&(q.removeEventListener("click",this._backdropClickHandler),q.removeEventListener("transitionend",this._backdropTransitionendHandler),q.remove(),this._backdropElement===q&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}const dt="cdk-overlay-connected-position-bounding-box",bt=/([A-Za-z%]+)$/;class pt{get positions(){return this._preferredPositions}constructor(q,Ce,Re,We,Ve){this._viewportRuler=Ce,this._document=Re,this._platform=We,this._overlayContainer=Ve,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new Y.x,this._resizeSubscription=ae.w0.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(q)}attach(q){this._validatePositions(),q.hostElement.classList.add(dt),this._overlayRef=q,this._boundingBox=q.hostElement,this._pane=q.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const q=this._originRect,Ce=this._overlayRect,Re=this._viewportRect,We=this._containerRect,Ve=[];let ut;for(let ye of this._preferredPositions){let Ye=this._getOriginPoint(q,We,ye),et=this._getOverlayPoint(Ye,Ce,ye),en=this._getOverlayFit(et,Ce,Re,ye);if(en.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(ye,Ye);this._canFitWithFlexibleDimensions(en,et,Re)?Ve.push({position:ye,origin:Ye,overlayRect:Ce,boundingBoxRect:this._calculateBoundingBoxRect(Ye,ye)}):(!ut||ut.overlayFit.visibleAreaYe&&(Ye=en,ye=et)}return this._isPushed=!1,void this._applyPosition(ye.position,ye.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(ut.position,ut.originPoint);this._applyPosition(ut.position,ut.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&Me(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(dt),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const q=this._lastPosition;if(q){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const Ce=this._getOriginPoint(this._originRect,this._containerRect,q);this._applyPosition(q,Ce)}else this.apply()}withScrollableContainers(q){return this._scrollables=q,this}withPositions(q){return this._preferredPositions=q,-1===q.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(q){return this._viewportMargin=q,this}withFlexibleDimensions(q=!0){return this._hasFlexibleDimensions=q,this}withGrowAfterOpen(q=!0){return this._growAfterOpen=q,this}withPush(q=!0){return this._canPush=q,this}withLockedPosition(q=!0){return this._positionLocked=q,this}setOrigin(q){return this._origin=q,this}withDefaultOffsetX(q){return this._offsetX=q,this}withDefaultOffsetY(q){return this._offsetY=q,this}withTransformOriginOn(q){return this._transformOriginSelector=q,this}_getOriginPoint(q,Ce,Re){let We,Ve;if("center"==Re.originX)We=q.left+q.width/2;else{const ut=this._isRtl()?q.right:q.left,ye=this._isRtl()?q.left:q.right;We="start"==Re.originX?ut:ye}return Ce.left<0&&(We-=Ce.left),Ve="center"==Re.originY?q.top+q.height/2:"top"==Re.originY?q.top:q.bottom,Ce.top<0&&(Ve-=Ce.top),{x:We,y:Ve}}_getOverlayPoint(q,Ce,Re){let We,Ve;return We="center"==Re.overlayX?-Ce.width/2:"start"===Re.overlayX?this._isRtl()?-Ce.width:0:this._isRtl()?0:-Ce.width,Ve="center"==Re.overlayY?-Ce.height/2:"top"==Re.overlayY?0:-Ce.height,{x:q.x+We,y:q.y+Ve}}_getOverlayFit(q,Ce,Re,We){const Ve=Tt(Ce);let{x:ut,y:ye}=q,Ye=this._getOffset(We,"x"),et=this._getOffset(We,"y");Ye&&(ut+=Ye),et&&(ye+=et);let po=0-ye,Ln=ye+Ve.height-Re.height,wn=this._subtractOverflows(Ve.width,0-ut,ut+Ve.width-Re.width),Bn=this._subtractOverflows(Ve.height,po,Ln),rr=wn*Bn;return{visibleArea:rr,isCompletelyWithinViewport:Ve.width*Ve.height===rr,fitsInViewportVertically:Bn===Ve.height,fitsInViewportHorizontally:wn==Ve.width}}_canFitWithFlexibleDimensions(q,Ce,Re){if(this._hasFlexibleDimensions){const We=Re.bottom-Ce.y,Ve=Re.right-Ce.x,ut=ht(this._overlayRef.getConfig().minHeight),ye=ht(this._overlayRef.getConfig().minWidth);return(q.fitsInViewportVertically||null!=ut&&ut<=We)&&(q.fitsInViewportHorizontally||null!=ye&&ye<=Ve)}return!1}_pushOverlayOnScreen(q,Ce,Re){if(this._previousPushAmount&&this._positionLocked)return{x:q.x+this._previousPushAmount.x,y:q.y+this._previousPushAmount.y};const We=Tt(Ce),Ve=this._viewportRect,ut=Math.max(q.x+We.width-Ve.width,0),ye=Math.max(q.y+We.height-Ve.height,0),Ye=Math.max(Ve.top-Re.top-q.y,0),et=Math.max(Ve.left-Re.left-q.x,0);let en=0,nn=0;return en=We.width<=Ve.width?et||-ut:q.xwn&&!this._isInitialRender&&!this._growAfterOpen&&(ut=q.y-wn/2)}if("end"===Ce.overlayX&&!We||"start"===Ce.overlayX&&We)po=Re.width-q.x+this._viewportMargin,en=q.x-this._viewportMargin;else if("start"===Ce.overlayX&&!We||"end"===Ce.overlayX&&We)nn=q.x,en=Re.right-q.x;else{const Ln=Math.min(Re.right-q.x+Re.left,q.x),wn=this._lastBoundingBoxSize.width;en=2*Ln,nn=q.x-Ln,en>wn&&!this._isInitialRender&&!this._growAfterOpen&&(nn=q.x-wn/2)}return{top:ut,left:nn,bottom:ye,right:po,width:en,height:Ve}}_setBoundingBoxStyles(q,Ce){const Re=this._calculateBoundingBoxRect(q,Ce);!this._isInitialRender&&!this._growAfterOpen&&(Re.height=Math.min(Re.height,this._lastBoundingBoxSize.height),Re.width=Math.min(Re.width,this._lastBoundingBoxSize.width));const We={};if(this._hasExactPosition())We.top=We.left="0",We.bottom=We.right=We.maxHeight=We.maxWidth="",We.width=We.height="100%";else{const Ve=this._overlayRef.getConfig().maxHeight,ut=this._overlayRef.getConfig().maxWidth;We.height=(0,I.HM)(Re.height),We.top=(0,I.HM)(Re.top),We.bottom=(0,I.HM)(Re.bottom),We.width=(0,I.HM)(Re.width),We.left=(0,I.HM)(Re.left),We.right=(0,I.HM)(Re.right),We.alignItems="center"===Ce.overlayX?"center":"end"===Ce.overlayX?"flex-end":"flex-start",We.justifyContent="center"===Ce.overlayY?"center":"bottom"===Ce.overlayY?"flex-end":"flex-start",Ve&&(We.maxHeight=(0,I.HM)(Ve)),ut&&(We.maxWidth=(0,I.HM)(ut))}this._lastBoundingBoxSize=Re,Me(this._boundingBox.style,We)}_resetBoundingBoxStyles(){Me(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){Me(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(q,Ce){const Re={},We=this._hasExactPosition(),Ve=this._hasFlexibleDimensions,ut=this._overlayRef.getConfig();if(We){const en=this._viewportRuler.getViewportScrollPosition();Me(Re,this._getExactOverlayY(Ce,q,en)),Me(Re,this._getExactOverlayX(Ce,q,en))}else Re.position="static";let ye="",Ye=this._getOffset(Ce,"x"),et=this._getOffset(Ce,"y");Ye&&(ye+=`translateX(${Ye}px) `),et&&(ye+=`translateY(${et}px)`),Re.transform=ye.trim(),ut.maxHeight&&(We?Re.maxHeight=(0,I.HM)(ut.maxHeight):Ve&&(Re.maxHeight="")),ut.maxWidth&&(We?Re.maxWidth=(0,I.HM)(ut.maxWidth):Ve&&(Re.maxWidth="")),Me(this._pane.style,Re)}_getExactOverlayY(q,Ce,Re){let We={top:"",bottom:""},Ve=this._getOverlayPoint(Ce,this._overlayRect,q);return this._isPushed&&(Ve=this._pushOverlayOnScreen(Ve,this._overlayRect,Re)),"bottom"===q.overlayY?We.bottom=this._document.documentElement.clientHeight-(Ve.y+this._overlayRect.height)+"px":We.top=(0,I.HM)(Ve.y),We}_getExactOverlayX(q,Ce,Re){let ut,We={left:"",right:""},Ve=this._getOverlayPoint(Ce,this._overlayRect,q);return this._isPushed&&(Ve=this._pushOverlayOnScreen(Ve,this._overlayRect,Re)),ut=this._isRtl()?"end"===q.overlayX?"left":"right":"end"===q.overlayX?"right":"left","right"===ut?We.right=this._document.documentElement.clientWidth-(Ve.x+this._overlayRect.width)+"px":We.left=(0,I.HM)(Ve.x),We}_getScrollVisibility(){const q=this._getOriginRect(),Ce=this._pane.getBoundingClientRect(),Re=this._scrollables.map(We=>We.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Ee(q,Re),isOriginOutsideView:fe(q,Re),isOverlayClipped:Ee(Ce,Re),isOverlayOutsideView:fe(Ce,Re)}}_subtractOverflows(q,...Ce){return Ce.reduce((Re,We)=>Re-Math.max(We,0),q)}_getNarrowedViewportRect(){const q=this._document.documentElement.clientWidth,Ce=this._document.documentElement.clientHeight,Re=this._viewportRuler.getViewportScrollPosition();return{top:Re.top+this._viewportMargin,left:Re.left+this._viewportMargin,right:Re.left+q-this._viewportMargin,bottom:Re.top+Ce-this._viewportMargin,width:q-2*this._viewportMargin,height:Ce-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(q,Ce){return"x"===Ce?null==q.offsetX?this._offsetX:q.offsetX:null==q.offsetY?this._offsetY:q.offsetY}_validatePositions(){}_addPanelClasses(q){this._pane&&(0,I.Eq)(q).forEach(Ce=>{""!==Ce&&-1===this._appliedPanelClasses.indexOf(Ce)&&(this._appliedPanelClasses.push(Ce),this._pane.classList.add(Ce))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(q=>{this._pane.classList.remove(q)}),this._appliedPanelClasses=[])}_getOriginRect(){const q=this._origin;if(q instanceof o.SBq)return q.nativeElement.getBoundingClientRect();if(q instanceof Element)return q.getBoundingClientRect();const Ce=q.width||0,Re=q.height||0;return{top:q.y,bottom:q.y+Re,left:q.x,right:q.x+Ce,height:Re,width:Ce}}}function Me(je,q){for(let Ce in q)q.hasOwnProperty(Ce)&&(je[Ce]=q[Ce]);return je}function ht(je){if("number"!=typeof je&&null!=je){const[q,Ce]=je.split(bt);return Ce&&"px"!==Ce?null:parseFloat(q)}return je||null}function Tt(je){return{top:Math.floor(je.top),right:Math.floor(je.right),bottom:Math.floor(je.bottom),left:Math.floor(je.left),width:Math.floor(je.width),height:Math.floor(je.height)}}const an="cdk-global-overlay-wrapper";class un{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(q){const Ce=q.getConfig();this._overlayRef=q,this._width&&!Ce.width&&q.updateSize({width:this._width}),this._height&&!Ce.height&&q.updateSize({height:this._height}),q.hostElement.classList.add(an),this._isDisposed=!1}top(q=""){return this._bottomOffset="",this._topOffset=q,this._alignItems="flex-start",this}left(q=""){return this._xOffset=q,this._xPosition="left",this}bottom(q=""){return this._topOffset="",this._bottomOffset=q,this._alignItems="flex-end",this}right(q=""){return this._xOffset=q,this._xPosition="right",this}start(q=""){return this._xOffset=q,this._xPosition="start",this}end(q=""){return this._xOffset=q,this._xPosition="end",this}width(q=""){return this._overlayRef?this._overlayRef.updateSize({width:q}):this._width=q,this}height(q=""){return this._overlayRef?this._overlayRef.updateSize({height:q}):this._height=q,this}centerHorizontally(q=""){return this.left(q),this._xPosition="center",this}centerVertically(q=""){return this.top(q),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const q=this._overlayRef.overlayElement.style,Ce=this._overlayRef.hostElement.style,Re=this._overlayRef.getConfig(),{width:We,height:Ve,maxWidth:ut,maxHeight:ye}=Re,Ye=!("100%"!==We&&"100vw"!==We||ut&&"100%"!==ut&&"100vw"!==ut),et=!("100%"!==Ve&&"100vh"!==Ve||ye&&"100%"!==ye&&"100vh"!==ye),en=this._xPosition,nn=this._xOffset,po="rtl"===this._overlayRef.getConfig().direction;let Ln="",wn="",Bn="";Ye?Bn="flex-start":"center"===en?(Bn="center",po?wn=nn:Ln=nn):po?"left"===en||"end"===en?(Bn="flex-end",Ln=nn):("right"===en||"start"===en)&&(Bn="flex-start",wn=nn):"left"===en||"start"===en?(Bn="flex-start",Ln=nn):("right"===en||"end"===en)&&(Bn="flex-end",wn=nn),q.position=this._cssPosition,q.marginLeft=Ye?"0":Ln,q.marginTop=et?"0":this._topOffset,q.marginBottom=this._bottomOffset,q.marginRight=Ye?"0":wn,Ce.justifyContent=Bn,Ce.alignItems=et?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const q=this._overlayRef.overlayElement.style,Ce=this._overlayRef.hostElement,Re=Ce.style;Ce.classList.remove(an),Re.justifyContent=Re.alignItems=q.marginTop=q.marginBottom=q.marginLeft=q.marginRight=q.position="",this._overlayRef=null,this._isDisposed=!0}}let yn=(()=>{class je{constructor(Ce,Re,We,Ve){this._viewportRuler=Ce,this._document=Re,this._platform=We,this._overlayContainer=Ve}global(){return new un}flexibleConnectedTo(Ce){return new pt(Ce,this._viewportRuler,this._document,this._platform,this._overlayContainer)}static#e=this.\u0275fac=function(Re){return new(Re||je)(o.LFG(s.rL),o.LFG(p.K0),o.LFG(k.t4),o.LFG(Pe))};static#t=this.\u0275prov=o.Yz7({token:je,factory:je.\u0275fac,providedIn:"root"})}return je})(),Rn=0,Gn=(()=>{class je{constructor(Ce,Re,We,Ve,ut,ye,Ye,et,en,nn,po,Ln){this.scrollStrategies=Ce,this._overlayContainer=Re,this._componentFactoryResolver=We,this._positionBuilder=Ve,this._keyboardDispatcher=ut,this._injector=ye,this._ngZone=Ye,this._document=et,this._directionality=en,this._location=nn,this._outsideClickDispatcher=po,this._animationsModuleType=Ln}create(Ce){const Re=this._createHostElement(),We=this._createPaneElement(Re),Ve=this._createPortalOutlet(We),ut=new Le(Ce);return ut.direction=ut.direction||this._directionality.value,new st(Ve,Re,We,ut,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType)}position(){return this._positionBuilder}_createPaneElement(Ce){const Re=this._document.createElement("div");return Re.id="cdk-overlay-"+Rn++,Re.classList.add("cdk-overlay-pane"),Ce.appendChild(Re),Re}_createHostElement(){const Ce=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(Ce),Ce}_createPortalOutlet(Ce){return this._appRef||(this._appRef=this._injector.get(o.z2F)),new $.u0(Ce,this._componentFactoryResolver,this._appRef,this._injector,this._document)}static#e=this.\u0275fac=function(Re){return new(Re||je)(o.LFG(Ie),o.LFG(Pe),o.LFG(o._Vd),o.LFG(yn),o.LFG(he),o.LFG(o.zs3),o.LFG(o.R0b),o.LFG(p.K0),o.LFG(L),o.LFG(p.Ye),o.LFG(Ke),o.LFG(o.QbO,8))};static#t=this.\u0275prov=o.Yz7({token:je,factory:je.\u0275fac,providedIn:"root"})}return je})(),Kn=(()=>{class je{constructor(Ce){this.elementRef=Ce}static#e=this.\u0275fac=function(Re){return new(Re||je)(o.Y36(o.SBq))};static#t=this.\u0275dir=o.lG2({type:je,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"],standalone:!0})}return je})()},2831:(ve,m,d)=>{"use strict";d.d(m,{Mq:()=>H,Oy:()=>G,i$:()=>_,sA:()=>re,t4:()=>I});var s=d(5879),p=d(6814);let o;try{o=typeof Intl<"u"&&Intl.v8BreakIterator}catch{o=!1}let S,L,I=(()=>{class Z{constructor(te){this._platformId=te,this.isBrowser=this._platformId?(0,p.NF)(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!o)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}static#e=this.\u0275fac=function(fe){return new(fe||Z)(s.LFG(s.Lbi))};static#t=this.\u0275prov=s.Yz7({token:Z,factory:Z.\u0275fac,providedIn:"root"})}return Z})();function _(Z){return function C(){if(null==S&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>S=!0}))}finally{S=S||!1}return S}()?Z:!!Z.capture}function H(){if(null==L){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return L=!1,L;if("scrollBehavior"in document.documentElement.style)L=!0;else{const Z=Element.prototype.scrollTo;L=!!Z&&!/\{\s*\[native code\]\s*\}/.test(Z.toString())}}return L}function re(Z){return Z.composedPath?Z.composedPath()[0]:Z.target}function G(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}},8484:(ve,m,d)=>{"use strict";d.d(m,{C5:()=>S,u0:()=>H});var s=d(5879);class M{attach(X){return this._attachedHost=X,X.attach(this)}detach(){let X=this._attachedHost;null!=X&&(this._attachedHost=null,X.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(X){this._attachedHost=X}}class S extends M{constructor(X,te,fe,Ee,xe){super(),this.component=X,this.viewContainerRef=te,this.injector=fe,this.componentFactoryResolver=Ee,this.projectableNodes=xe}}class C extends M{constructor(X,te,fe,Ee){super(),this.templateRef=X,this.viewContainerRef=te,this.context=fe,this.injector=Ee}get origin(){return this.templateRef.elementRef}attach(X,te=this.context){return this.context=te,super.attach(X)}detach(){return this.context=void 0,super.detach()}}class _ extends M{constructor(X){super(),this.element=X instanceof s.SBq?X.nativeElement:X}}class F{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(X){return X instanceof S?(this._attachedPortal=X,this.attachComponentPortal(X)):X instanceof C?(this._attachedPortal=X,this.attachTemplatePortal(X)):this.attachDomPortal&&X instanceof _?(this._attachedPortal=X,this.attachDomPortal(X)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(X){this._disposeFn=X}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class H extends F{constructor(X,te,fe,Ee,xe){super(),this.outletElement=X,this._componentFactoryResolver=te,this._appRef=fe,this._defaultInjector=Ee,this.attachDomPortal=Ie=>{const Le=Ie.element,Ue=this._document.createComment("dom-portal");Le.parentNode.insertBefore(Ue,Le),this.outletElement.appendChild(Le),this._attachedPortal=Ie,super.setDisposeFn(()=>{Ue.parentNode&&Ue.parentNode.replaceChild(Le,Ue)})},this._document=xe}attachComponentPortal(X){const fe=(X.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(X.component);let Ee;return X.viewContainerRef?(Ee=X.viewContainerRef.createComponent(fe,X.viewContainerRef.length,X.injector||X.viewContainerRef.injector,X.projectableNodes||void 0),this.setDisposeFn(()=>Ee.destroy())):(Ee=fe.create(X.injector||this._defaultInjector||s.zs3.NULL),this._appRef.attachView(Ee.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(Ee.hostView),Ee.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(Ee)),this._attachedPortal=X,Ee}attachTemplatePortal(X){let te=X.viewContainerRef,fe=te.createEmbeddedView(X.templateRef,X.context,{injector:X.injector});return fe.rootNodes.forEach(Ee=>this.outletElement.appendChild(Ee)),fe.detectChanges(),this.setDisposeFn(()=>{let Ee=te.indexOf(fe);-1!==Ee&&te.remove(Ee)}),this._attachedPortal=X,fe}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(X){return X.hostView.rootNodes[0]}}},9473:(ve,m,d)=>{"use strict";d.d(m,{mF:()=>Ee,rL:()=>Le});var s=d(2495),p=d(5879),o=d(8645),I=d(2096),k=d(5592),T=d(2438),S=(d(927),d(6410),d(6321)),C=d(9360),_=d(4829),F=d(8251),H=d(4825);function V(bt,pt=S.z){return function L(bt){return(0,C.e)((pt,Me)=>{let ht=!1,Tt=null,zt=null,_t=!1;const an=()=>{if(zt?.unsubscribe(),zt=null,ht){ht=!1;const yn=Tt;Tt=null,Me.next(yn)}_t&&Me.complete()},un=()=>{zt=null,_t&&Me.complete()};pt.subscribe((0,F.x)(Me,yn=>{ht=!0,Tt=yn,zt||(0,_.Xf)(bt(yn)).subscribe(zt=(0,F.x)(Me,an,un))},()=>{_t=!0,(!ht||!zt||zt.closed)&&Me.complete()}))})}(()=>(0,H.H)(bt,pt))}var $=d(2181),Y=d(2831),ae=d(6814);let Ee=(()=>{class bt{constructor(Me,ht,Tt){this._ngZone=Me,this._platform=ht,this._scrolled=new o.x,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=Tt}register(Me){this.scrollContainers.has(Me)||this.scrollContainers.set(Me,Me.elementScrolled().subscribe(()=>this._scrolled.next(Me)))}deregister(Me){const ht=this.scrollContainers.get(Me);ht&&(ht.unsubscribe(),this.scrollContainers.delete(Me))}scrolled(Me=20){return this._platform.isBrowser?new k.y(ht=>{this._globalSubscription||this._addGlobalListener();const Tt=Me>0?this._scrolled.pipe(V(Me)).subscribe(ht):this._scrolled.subscribe(ht);return this._scrolledCount++,()=>{Tt.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):(0,I.of)()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((Me,ht)=>this.deregister(ht)),this._scrolled.complete()}ancestorScrolled(Me,ht){const Tt=this.getAncestorScrollContainers(Me);return this.scrolled(ht).pipe((0,$.h)(zt=>!zt||Tt.indexOf(zt)>-1))}getAncestorScrollContainers(Me){const ht=[];return this.scrollContainers.forEach((Tt,zt)=>{this._scrollableContainsElement(zt,Me)&&ht.push(zt)}),ht}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(Me,ht){let Tt=(0,s.fI)(ht),zt=Me.getElementRef().nativeElement;do{if(Tt==zt)return!0}while(Tt=Tt.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>{const Me=this._getWindow();return(0,T.R)(Me.document,"scroll").subscribe(()=>this._scrolled.next())})}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}static#e=this.\u0275fac=function(ht){return new(ht||bt)(p.LFG(p.R0b),p.LFG(Y.t4),p.LFG(ae.K0,8))};static#t=this.\u0275prov=p.Yz7({token:bt,factory:bt.\u0275fac,providedIn:"root"})}return bt})(),Le=(()=>{class bt{constructor(Me,ht,Tt){this._platform=Me,this._change=new o.x,this._changeListener=zt=>{this._change.next(zt)},this._document=Tt,ht.runOutsideAngular(()=>{if(Me.isBrowser){const zt=this._getWindow();zt.addEventListener("resize",this._changeListener),zt.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const Me=this._getWindow();Me.removeEventListener("resize",this._changeListener),Me.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const Me={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),Me}getViewportRect(){const Me=this.getViewportScrollPosition(),{width:ht,height:Tt}=this.getViewportSize();return{top:Me.top,left:Me.left,bottom:Me.top+Tt,right:Me.left+ht,height:Tt,width:ht}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const Me=this._document,ht=this._getWindow(),Tt=Me.documentElement,zt=Tt.getBoundingClientRect();return{top:-zt.top||Me.body.scrollTop||ht.scrollY||Tt.scrollTop||0,left:-zt.left||Me.body.scrollLeft||ht.scrollX||Tt.scrollLeft||0}}change(Me=20){return Me>0?this._change.pipe(V(Me)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const Me=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:Me.innerWidth,height:Me.innerHeight}:{width:0,height:0}}static#e=this.\u0275fac=function(ht){return new(ht||bt)(p.LFG(Y.t4),p.LFG(p.R0b),p.LFG(ae.K0,8))};static#t=this.\u0275prov=p.Yz7({token:bt,factory:bt.\u0275fac,providedIn:"root"})}return bt})()},6814:(ve,m,d)=>{"use strict";d.d(m,{$G:()=>Gt,Do:()=>$,EM:()=>qo,HT:()=>I,JF:()=>er,K0:()=>T,Mx:()=>sn,NF:()=>_r,Nd:()=>zr,O5:()=>xo,Ov:()=>kr,PM:()=>Si,RF:()=>mo,S$:()=>L,V_:()=>M,Ye:()=>Y,ax:()=>jn,b0:()=>V,bD:()=>no,ez:()=>Er,n9:()=>Dr,q:()=>o,sg:()=>jn,tP:()=>Xo,w_:()=>k});var s=d(5879);let p=null;function o(){return p}function I(D){p||(p=D)}class k{}const T=new s.OlP("DocumentToken");let N=(()=>{class D{historyGo(B){throw new Error("Not implemented")}static#e=this.\u0275fac=function(Q){return new(Q||D)};static#t=this.\u0275prov=s.Yz7({token:D,factory:function(){return(0,s.f3M)(S)},providedIn:"platform"})}return D})();const M=new s.OlP("Location Initialized");let S=(()=>{class D extends N{constructor(){super(),this._doc=(0,s.f3M)(T),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return o().getBaseHref(this._doc)}onPopState(B){const Q=o().getGlobalEventTarget(this._doc,"window");return Q.addEventListener("popstate",B,!1),()=>Q.removeEventListener("popstate",B)}onHashChange(B){const Q=o().getGlobalEventTarget(this._doc,"window");return Q.addEventListener("hashchange",B,!1),()=>Q.removeEventListener("hashchange",B)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(B){this._location.pathname=B}pushState(B,Q,be){this._history.pushState(B,Q,be)}replaceState(B,Q,be){this._history.replaceState(B,Q,be)}forward(){this._history.forward()}back(){this._history.back()}historyGo(B=0){this._history.go(B)}getState(){return this._history.state}static#e=this.\u0275fac=function(Q){return new(Q||D)};static#t=this.\u0275prov=s.Yz7({token:D,factory:function(){return new D},providedIn:"platform"})}return D})();function C(D,ee){if(0==D.length)return ee;if(0==ee.length)return D;let B=0;return D.endsWith("/")&&B++,ee.startsWith("/")&&B++,2==B?D+ee.substring(1):1==B?D+ee:D+"/"+ee}function _(D){const ee=D.match(/#|\?|$/),B=ee&&ee.index||D.length;return D.slice(0,B-("/"===D[B-1]?1:0))+D.slice(B)}function F(D){return D&&"?"!==D[0]?"?"+D:D}let L=(()=>{class D{historyGo(B){throw new Error("Not implemented")}static#e=this.\u0275fac=function(Q){return new(Q||D)};static#t=this.\u0275prov=s.Yz7({token:D,factory:function(){return(0,s.f3M)(V)},providedIn:"root"})}return D})();const H=new s.OlP("appBaseHref");let V=(()=>{class D extends L{constructor(B,Q){super(),this._platformLocation=B,this._removeListenerFns=[],this._baseHref=Q??this._platformLocation.getBaseHrefFromDOM()??(0,s.f3M)(T).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(B){this._removeListenerFns.push(this._platformLocation.onPopState(B),this._platformLocation.onHashChange(B))}getBaseHref(){return this._baseHref}prepareExternalUrl(B){return C(this._baseHref,B)}path(B=!1){const Q=this._platformLocation.pathname+F(this._platformLocation.search),be=this._platformLocation.hash;return be&&B?`${Q}${be}`:Q}pushState(B,Q,be,lt){const Mt=this.prepareExternalUrl(be+F(lt));this._platformLocation.pushState(B,Q,Mt)}replaceState(B,Q,be,lt){const Mt=this.prepareExternalUrl(be+F(lt));this._platformLocation.replaceState(B,Q,Mt)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(B=0){this._platformLocation.historyGo?.(B)}static#e=this.\u0275fac=function(Q){return new(Q||D)(s.LFG(N),s.LFG(H,8))};static#t=this.\u0275prov=s.Yz7({token:D,factory:D.\u0275fac,providedIn:"root"})}return D})(),$=(()=>{class D extends L{constructor(B,Q){super(),this._platformLocation=B,this._baseHref="",this._removeListenerFns=[],null!=Q&&(this._baseHref=Q)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(B){this._removeListenerFns.push(this._platformLocation.onPopState(B),this._platformLocation.onHashChange(B))}getBaseHref(){return this._baseHref}path(B=!1){let Q=this._platformLocation.hash;return null==Q&&(Q="#"),Q.length>0?Q.substring(1):Q}prepareExternalUrl(B){const Q=C(this._baseHref,B);return Q.length>0?"#"+Q:Q}pushState(B,Q,be,lt){let Mt=this.prepareExternalUrl(be+F(lt));0==Mt.length&&(Mt=this._platformLocation.pathname),this._platformLocation.pushState(B,Q,Mt)}replaceState(B,Q,be,lt){let Mt=this.prepareExternalUrl(be+F(lt));0==Mt.length&&(Mt=this._platformLocation.pathname),this._platformLocation.replaceState(B,Q,Mt)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(B=0){this._platformLocation.historyGo?.(B)}static#e=this.\u0275fac=function(Q){return new(Q||D)(s.LFG(N),s.LFG(H,8))};static#t=this.\u0275prov=s.Yz7({token:D,factory:D.\u0275fac})}return D})(),Y=(()=>{class D{constructor(B){this._subject=new s.vpe,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=B;const Q=this._locationStrategy.getBaseHref();this._basePath=function G(D){if(new RegExp("^(https?:)?//").test(D)){const[,B]=D.split(/\/\/[^\/]+/);return B}return D}(_(re(Q))),this._locationStrategy.onPopState(be=>{this._subject.emit({url:this.path(!0),pop:!0,state:be.state,type:be.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(B=!1){return this.normalize(this._locationStrategy.path(B))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(B,Q=""){return this.path()==this.normalize(B+F(Q))}normalize(B){return D.stripTrailingSlash(function se(D,ee){if(!D||!ee.startsWith(D))return ee;const B=ee.substring(D.length);return""===B||["/",";","?","#"].includes(B[0])?B:ee}(this._basePath,re(B)))}prepareExternalUrl(B){return B&&"/"!==B[0]&&(B="/"+B),this._locationStrategy.prepareExternalUrl(B)}go(B,Q="",be=null){this._locationStrategy.pushState(be,"",B,Q),this._notifyUrlChangeListeners(this.prepareExternalUrl(B+F(Q)),be)}replaceState(B,Q="",be=null){this._locationStrategy.replaceState(be,"",B,Q),this._notifyUrlChangeListeners(this.prepareExternalUrl(B+F(Q)),be)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(B=0){this._locationStrategy.historyGo?.(B)}onUrlChange(B){return this._urlChangeListeners.push(B),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(Q=>{this._notifyUrlChangeListeners(Q.url,Q.state)})),()=>{const Q=this._urlChangeListeners.indexOf(B);this._urlChangeListeners.splice(Q,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(B="",Q){this._urlChangeListeners.forEach(be=>be(B,Q))}subscribe(B,Q,be){return this._subject.subscribe({next:B,error:Q,complete:be})}static#e=this.normalizeQueryParams=F;static#t=this.joinWithSlash=C;static#n=this.stripTrailingSlash=_;static#o=this.\u0275fac=function(Q){return new(Q||D)(s.LFG(L))};static#r=this.\u0275prov=s.Yz7({token:D,factory:function(){return function ae(){return new Y((0,s.LFG)(L))}()},providedIn:"root"})}return D})();function re(D){return D.replace(/\/index.html$/,"")}function sn(D,ee){ee=encodeURIComponent(ee);for(const B of D.split(";")){const Q=B.indexOf("="),[be,lt]=-1==Q?[B,""]:[B.slice(0,Q),B.slice(Q+1)];if(be.trim()===ee)return decodeURIComponent(lt)}return null}let Gt=(()=>{class D{constructor(B){this._viewContainerRef=B,this.ngComponentOutlet=null,this._inputsUsed=new Map}_needToReCreateNgModuleInstance(B){return void 0!==B.ngComponentOutletNgModule||void 0!==B.ngComponentOutletNgModuleFactory}_needToReCreateComponentInstance(B){return void 0!==B.ngComponentOutlet||void 0!==B.ngComponentOutletContent||void 0!==B.ngComponentOutletInjector||this._needToReCreateNgModuleInstance(B)}ngOnChanges(B){if(this._needToReCreateComponentInstance(B)&&(this._viewContainerRef.clear(),this._inputsUsed.clear(),this._componentRef=void 0,this.ngComponentOutlet)){const Q=this.ngComponentOutletInjector||this._viewContainerRef.parentInjector;this._needToReCreateNgModuleInstance(B)&&(this._moduleRef?.destroy(),this._moduleRef=this.ngComponentOutletNgModule?(0,s.Lck)(this.ngComponentOutletNgModule,vn(Q)):this.ngComponentOutletNgModuleFactory?this.ngComponentOutletNgModuleFactory.create(vn(Q)):void 0),this._componentRef=this._viewContainerRef.createComponent(this.ngComponentOutlet,{injector:Q,ngModuleRef:this._moduleRef,projectableNodes:this.ngComponentOutletContent})}}ngDoCheck(){if(this._componentRef){if(this.ngComponentOutletInputs)for(const B of Object.keys(this.ngComponentOutletInputs))this._inputsUsed.set(B,!0);this._applyInputStateDiff(this._componentRef)}}ngOnDestroy(){this._moduleRef?.destroy()}_applyInputStateDiff(B){for(const[Q,be]of this._inputsUsed)be?(B.setInput(Q,this.ngComponentOutletInputs[Q]),this._inputsUsed.set(Q,!1)):(B.setInput(Q,void 0),this._inputsUsed.delete(Q))}static#e=this.\u0275fac=function(Q){return new(Q||D)(s.Y36(s.s_b))};static#t=this.\u0275dir=s.lG2({type:D,selectors:[["","ngComponentOutlet",""]],inputs:{ngComponentOutlet:"ngComponentOutlet",ngComponentOutletInputs:"ngComponentOutletInputs",ngComponentOutletInjector:"ngComponentOutletInjector",ngComponentOutletContent:"ngComponentOutletContent",ngComponentOutletNgModule:"ngComponentOutletNgModule",ngComponentOutletNgModuleFactory:"ngComponentOutletNgModuleFactory"},standalone:!0,features:[s.TTD]})}return D})();function vn(D){return D.get(s.h0i).injector}class gn{constructor(ee,B,Q,be){this.$implicit=ee,this.ngForOf=B,this.index=Q,this.count=be}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 jn=(()=>{class D{set ngForOf(B){this._ngForOf=B,this._ngForOfDirty=!0}set ngForTrackBy(B){this._trackByFn=B}get ngForTrackBy(){return this._trackByFn}constructor(B,Q,be){this._viewContainer=B,this._template=Q,this._differs=be,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(B){B&&(this._template=B)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const B=this._ngForOf;!this._differ&&B&&(this._differ=this._differs.find(B).create(this.ngForTrackBy))}if(this._differ){const B=this._differ.diff(this._ngForOf);B&&this._applyChanges(B)}}_applyChanges(B){const Q=this._viewContainer;B.forEachOperation((be,lt,Mt)=>{if(null==be.previousIndex)Q.createEmbeddedView(this._template,new gn(be.item,this._ngForOf,-1,-1),null===Mt?void 0:Mt);else if(null==Mt)Q.remove(null===lt?void 0:lt);else if(null!==lt){const _n=Q.get(lt);Q.move(_n,Mt),Co(_n,be)}});for(let be=0,lt=Q.length;be{Co(Q.get(be.currentIndex),be)})}static ngTemplateContextGuard(B,Q){return!0}static#e=this.\u0275fac=function(Q){return new(Q||D)(s.Y36(s.s_b),s.Y36(s.Rgc),s.Y36(s.ZZ4))};static#t=this.\u0275dir=s.lG2({type:D,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return D})();function Co(D,ee){D.context.$implicit=ee.item}let xo=(()=>{class D{constructor(B,Q){this._viewContainer=B,this._context=new In,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=Q}set ngIf(B){this._context.$implicit=this._context.ngIf=B,this._updateView()}set ngIfThen(B){Uo("ngIfThen",B),this._thenTemplateRef=B,this._thenViewRef=null,this._updateView()}set ngIfElse(B){Uo("ngIfElse",B),this._elseTemplateRef=B,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(B,Q){return!0}static#e=this.\u0275fac=function(Q){return new(Q||D)(s.Y36(s.s_b),s.Y36(s.Rgc))};static#t=this.\u0275dir=s.lG2({type:D,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return D})();class In{constructor(){this.$implicit=null,this.ngIf=null}}function Uo(D,ee){if(ee&&!ee.createEmbeddedView)throw new Error(`${D} must be a TemplateRef, but received '${(0,s.AaK)(ee)}'.`)}class Fo{constructor(ee,B){this._viewContainerRef=ee,this._templateRef=B,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(ee){ee&&!this._created?this.create():!ee&&this._created&&this.destroy()}}let mo=(()=>{class D{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(B){this._ngSwitch=B,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(B){this._defaultViews.push(B)}_matchCase(B){const Q=B==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||Q,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),Q}_updateDefaultCases(B){if(this._defaultViews.length>0&&B!==this._defaultUsed){this._defaultUsed=B;for(const Q of this._defaultViews)Q.enforceState(B)}}static#e=this.\u0275fac=function(Q){return new(Q||D)};static#t=this.\u0275dir=s.lG2({type:D,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0})}return D})(),Dr=(()=>{class D{constructor(B,Q,be){this.ngSwitch=be,be._addCase(),this._view=new Fo(B,Q)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}static#e=this.\u0275fac=function(Q){return new(Q||D)(s.Y36(s.s_b),s.Y36(s.Rgc),s.Y36(mo,9))};static#t=this.\u0275dir=s.lG2({type:D,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0})}return D})(),Xo=(()=>{class D{constructor(B){this._viewContainerRef=B,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(B){if(B.ngTemplateOutlet||B.ngTemplateOutletInjector){const Q=this._viewContainerRef;if(this._viewRef&&Q.remove(Q.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:be,ngTemplateOutletContext:lt,ngTemplateOutletInjector:Mt}=this;this._viewRef=Q.createEmbeddedView(be,lt,Mt?{injector:Mt}:void 0)}else this._viewRef=null}else this._viewRef&&B.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}static#e=this.\u0275fac=function(Q){return new(Q||D)(s.Y36(s.s_b))};static#t=this.\u0275dir=s.lG2({type:D,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[s.TTD]})}return D})();class Sn{createSubscription(ee,B){return(0,s.rg0)(()=>ee.subscribe({next:B,error:Q=>{throw Q}}))}dispose(ee){(0,s.rg0)(()=>ee.unsubscribe())}}class Oi{createSubscription(ee,B){return ee.then(B,Q=>{throw Q})}dispose(ee){}}const Po=new Oi,oo=new Sn;let kr=(()=>{class D{constructor(B){this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null,this._ref=B}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(B){return this._obj?B!==this._obj?(this._dispose(),this.transform(B)):this._latestValue:(B&&this._subscribe(B),this._latestValue)}_subscribe(B){this._obj=B,this._strategy=this._selectStrategy(B),this._subscription=this._strategy.createSubscription(B,Q=>this._updateLatestValue(B,Q))}_selectStrategy(B){if((0,s.QGY)(B))return Po;if((0,s.F4k)(B))return oo;throw function sr(D,ee){return new s.vHH(2100,!1)}()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(B,Q){B===this._obj&&(this._latestValue=Q,this._ref.markForCheck())}static#e=this.\u0275fac=function(Q){return new(Q||D)(s.Y36(s.sBO,16))};static#t=this.\u0275pipe=s.Yjl({name:"async",type:D,pure:!1,standalone:!0})}return D})(),zr=(()=>{class D{constructor(B){this.differs=B,this.keyValues=[],this.compareFn=li}transform(B,Q=li){if(!B||!(B instanceof Map)&&"object"!=typeof B)return null;this.differ||(this.differ=this.differs.find(B).create());const be=this.differ.diff(B),lt=Q!==this.compareFn;return be&&(this.keyValues=[],be.forEachItem(Mt=>{this.keyValues.push(function ci(D,ee){return{key:D,value:ee}}(Mt.key,Mt.currentValue))})),(be||lt)&&(this.keyValues.sort(Q),this.compareFn=Q),this.keyValues}static#e=this.\u0275fac=function(Q){return new(Q||D)(s.Y36(s.aQg,16))};static#t=this.\u0275pipe=s.Yjl({name:"keyvalue",type:D,pure:!1,standalone:!0})}return D})();function li(D,ee){const B=D.key,Q=ee.key;if(B===Q)return 0;if(void 0===B)return 1;if(void 0===Q)return-1;if(null===B)return 1;if(null===Q)return-1;if("string"==typeof B&&"string"==typeof Q)return B{class D{static#e=this.\u0275fac=function(Q){return new(Q||D)};static#t=this.\u0275mod=s.oAB({type:D});static#n=this.\u0275inj=s.cJS({})}return D})();const no="browser",mr="server";function _r(D){return D===no}function Si(D){return D===mr}let qo=(()=>{class D{static#e=this.\u0275prov=(0,s.Yz7)({token:D,providedIn:"root",factory:()=>new Ko((0,s.LFG)(T),window)})}return D})();class Ko{constructor(ee,B){this.document=ee,this.window=B,this.offset=()=>[0,0]}setOffset(ee){this.offset=Array.isArray(ee)?()=>ee:ee}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(ee){this.supportsScrolling()&&this.window.scrollTo(ee[0],ee[1])}scrollToAnchor(ee){if(!this.supportsScrolling())return;const B=function $r(D,ee){const B=D.getElementById(ee)||D.getElementsByName(ee)[0];if(B)return B;if("function"==typeof D.createTreeWalker&&D.body&&"function"==typeof D.body.attachShadow){const Q=D.createTreeWalker(D.body,NodeFilter.SHOW_ELEMENT);let be=Q.currentNode;for(;be;){const lt=be.shadowRoot;if(lt){const Mt=lt.getElementById(ee)||lt.querySelector(`[name="${ee}"]`);if(Mt)return Mt}be=Q.nextNode()}}return null}(this.document,ee);B&&(this.scrollToElement(B),B.focus())}setHistoryScrollRestoration(ee){this.supportsScrolling()&&(this.window.history.scrollRestoration=ee)}scrollToElement(ee){const B=ee.getBoundingClientRect(),Q=B.left+this.window.pageXOffset,be=B.top+this.window.pageYOffset,lt=this.offset();this.window.scrollTo(Q-lt[0],be-lt[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class er{}},9862:(ve,m,d)=>{"use strict";d.d(m,{TP:()=>_t,Zn:()=>me,eN:()=>he,h_:()=>rr});var s=d(5879),p=d(2096),o=d(9666),I=d(5592),k=d(6328),T=d(2181),N=d(7398),M=d(4716),S=d(4664),C=d(6814);class _{}class F{}class L{constructor(we){this.normalizedNames=new Map,this.lazyUpdate=null,we?"string"==typeof we?this.lazyInit=()=>{this.headers=new Map,we.split("\n").forEach(Fe=>{const Ct=Fe.indexOf(":");if(Ct>0){const Pt=Fe.slice(0,Ct),ue=Pt.toLowerCase(),Se=Fe.slice(Ct+1).trim();this.maybeSetNormalizedName(Pt,ue),this.headers.has(ue)?this.headers.get(ue).push(Se):this.headers.set(ue,[Se])}})}:typeof Headers<"u"&&we instanceof Headers?(this.headers=new Map,we.forEach((Fe,Ct)=>{this.setHeaderEntries(Ct,Fe)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(we).forEach(([Fe,Ct])=>{this.setHeaderEntries(Fe,Ct)})}:this.headers=new Map}has(we){return this.init(),this.headers.has(we.toLowerCase())}get(we){this.init();const Fe=this.headers.get(we.toLowerCase());return Fe&&Fe.length>0?Fe[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(we){return this.init(),this.headers.get(we.toLowerCase())||null}append(we,Fe){return this.clone({name:we,value:Fe,op:"a"})}set(we,Fe){return this.clone({name:we,value:Fe,op:"s"})}delete(we,Fe){return this.clone({name:we,value:Fe,op:"d"})}maybeSetNormalizedName(we,Fe){this.normalizedNames.has(Fe)||this.normalizedNames.set(Fe,we)}init(){this.lazyInit&&(this.lazyInit instanceof L?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(we=>this.applyUpdate(we)),this.lazyUpdate=null))}copyFrom(we){we.init(),Array.from(we.headers.keys()).forEach(Fe=>{this.headers.set(Fe,we.headers.get(Fe)),this.normalizedNames.set(Fe,we.normalizedNames.get(Fe))})}clone(we){const Fe=new L;return Fe.lazyInit=this.lazyInit&&this.lazyInit instanceof L?this.lazyInit:this,Fe.lazyUpdate=(this.lazyUpdate||[]).concat([we]),Fe}applyUpdate(we){const Fe=we.name.toLowerCase();switch(we.op){case"a":case"s":let Ct=we.value;if("string"==typeof Ct&&(Ct=[Ct]),0===Ct.length)return;this.maybeSetNormalizedName(we.name,Fe);const Pt=("a"===we.op?this.headers.get(Fe):void 0)||[];Pt.push(...Ct),this.headers.set(Fe,Pt);break;case"d":const ue=we.value;if(ue){let Se=this.headers.get(Fe);if(!Se)return;Se=Se.filter(mt=>-1===ue.indexOf(mt)),0===Se.length?(this.headers.delete(Fe),this.normalizedNames.delete(Fe)):this.headers.set(Fe,Se)}else this.headers.delete(Fe),this.normalizedNames.delete(Fe)}}setHeaderEntries(we,Fe){const Ct=(Array.isArray(Fe)?Fe:[Fe]).map(ue=>ue.toString()),Pt=we.toLowerCase();this.headers.set(Pt,Ct),this.maybeSetNormalizedName(we,Pt)}forEach(we){this.init(),Array.from(this.normalizedNames.keys()).forEach(Fe=>we(this.normalizedNames.get(Fe),this.headers.get(Fe)))}}class V{encodeKey(we){return se(we)}encodeValue(we){return se(we)}decodeKey(we){return decodeURIComponent(we)}decodeValue(we){return decodeURIComponent(we)}}const Y=/%(\d[a-f0-9])/gi,ae={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function se($e){return encodeURIComponent($e).replace(Y,(we,Fe)=>ae[Fe]??we)}function re($e){return`${$e}`}class G{constructor(we={}){if(this.updates=null,this.cloneFrom=null,this.encoder=we.encoder||new V,we.fromString){if(we.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function $($e,we){const Fe=new Map;return $e.length>0&&$e.replace(/^\?/,"").split("&").forEach(Pt=>{const ue=Pt.indexOf("="),[Se,mt]=-1==ue?[we.decodeKey(Pt),""]:[we.decodeKey(Pt.slice(0,ue)),we.decodeValue(Pt.slice(ue+1))],Je=Fe.get(Se)||[];Je.push(mt),Fe.set(Se,Je)}),Fe}(we.fromString,this.encoder)}else we.fromObject?(this.map=new Map,Object.keys(we.fromObject).forEach(Fe=>{const Ct=we.fromObject[Fe],Pt=Array.isArray(Ct)?Ct.map(re):[re(Ct)];this.map.set(Fe,Pt)})):this.map=null}has(we){return this.init(),this.map.has(we)}get(we){this.init();const Fe=this.map.get(we);return Fe?Fe[0]:null}getAll(we){return this.init(),this.map.get(we)||null}keys(){return this.init(),Array.from(this.map.keys())}append(we,Fe){return this.clone({param:we,value:Fe,op:"a"})}appendAll(we){const Fe=[];return Object.keys(we).forEach(Ct=>{const Pt=we[Ct];Array.isArray(Pt)?Pt.forEach(ue=>{Fe.push({param:Ct,value:ue,op:"a"})}):Fe.push({param:Ct,value:Pt,op:"a"})}),this.clone(Fe)}set(we,Fe){return this.clone({param:we,value:Fe,op:"s"})}delete(we,Fe){return this.clone({param:we,value:Fe,op:"d"})}toString(){return this.init(),this.keys().map(we=>{const Fe=this.encoder.encodeKey(we);return this.map.get(we).map(Ct=>Fe+"="+this.encoder.encodeValue(Ct)).join("&")}).filter(we=>""!==we).join("&")}clone(we){const Fe=new G({encoder:this.encoder});return Fe.cloneFrom=this.cloneFrom||this,Fe.updates=(this.updates||[]).concat(we),Fe}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(we=>this.map.set(we,this.cloneFrom.map.get(we))),this.updates.forEach(we=>{switch(we.op){case"a":case"s":const Fe=("a"===we.op?this.map.get(we.param):void 0)||[];Fe.push(re(we.value)),this.map.set(we.param,Fe);break;case"d":if(void 0===we.value){this.map.delete(we.param);break}{let Ct=this.map.get(we.param)||[];const Pt=Ct.indexOf(re(we.value));-1!==Pt&&Ct.splice(Pt,1),Ct.length>0?this.map.set(we.param,Ct):this.map.delete(we.param)}}}),this.cloneFrom=this.updates=null)}}class X{constructor(){this.map=new Map}set(we,Fe){return this.map.set(we,Fe),this}get(we){return this.map.has(we)||this.map.set(we,we.defaultValue()),this.map.get(we)}delete(we){return this.map.delete(we),this}has(we){return this.map.has(we)}keys(){return this.map.keys()}}function fe($e){return typeof ArrayBuffer<"u"&&$e instanceof ArrayBuffer}function Ee($e){return typeof Blob<"u"&&$e instanceof Blob}function xe($e){return typeof FormData<"u"&&$e instanceof FormData}class Le{constructor(we,Fe,Ct,Pt){let ue;if(this.url=Fe,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=we.toUpperCase(),function te($e){switch($e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||Pt?(this.body=void 0!==Ct?Ct:null,ue=Pt):ue=Ct,ue&&(this.reportProgress=!!ue.reportProgress,this.withCredentials=!!ue.withCredentials,ue.responseType&&(this.responseType=ue.responseType),ue.headers&&(this.headers=ue.headers),ue.context&&(this.context=ue.context),ue.params&&(this.params=ue.params)),this.headers||(this.headers=new L),this.context||(this.context=new X),this.params){const Se=this.params.toString();if(0===Se.length)this.urlWithParams=Fe;else{const mt=Fe.indexOf("?");this.urlWithParams=Fe+(-1===mt?"?":mtYt.set(Xt,we.setHeaders[Xt]),Je)),we.setParams&&(vt=Object.keys(we.setParams).reduce((Yt,Xt)=>Yt.set(Xt,we.setParams[Xt]),vt)),new Le(Fe,Ct,ue,{params:vt,headers:Je,context:$t,reportProgress:mt,responseType:Pt,withCredentials:Se})}}var Ue=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}(Ue||{});class Xe{constructor(we,Fe=200,Ct="OK"){this.headers=we.headers||new L,this.status=void 0!==we.status?we.status:Fe,this.statusText=we.statusText||Ct,this.url=we.url||null,this.ok=this.status>=200&&this.status<300}}class nt extends Xe{constructor(we={}){super(we),this.type=Ue.ResponseHeader}clone(we={}){return new nt({headers:we.headers||this.headers,status:void 0!==we.status?we.status:this.status,statusText:we.statusText||this.statusText,url:we.url||this.url||void 0})}}class me extends Xe{constructor(we={}){super(we),this.type=Ue.Response,this.body=void 0!==we.body?we.body:null}clone(we={}){return new me({body:void 0!==we.body?we.body:this.body,headers:we.headers||this.headers,status:void 0!==we.status?we.status:this.status,statusText:we.statusText||this.statusText,url:we.url||this.url||void 0})}}class Ne extends Xe{constructor(we){super(we,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${we.url||"(unknown url)"}`:`Http failure response for ${we.url||"(unknown url)"}: ${we.status} ${we.statusText}`,this.error=we.error||null}}function ke($e,we){return{body:we,headers:$e.headers,context:$e.context,observe:$e.observe,params:$e.params,reportProgress:$e.reportProgress,responseType:$e.responseType,withCredentials:$e.withCredentials}}let he=(()=>{class $e{constructor(Fe){this.handler=Fe}request(Fe,Ct,Pt={}){let ue;if(Fe instanceof Le)ue=Fe;else{let Je,vt;Je=Pt.headers instanceof L?Pt.headers:new L(Pt.headers),Pt.params&&(vt=Pt.params instanceof G?Pt.params:new G({fromObject:Pt.params})),ue=new Le(Fe,Ct,void 0!==Pt.body?Pt.body:null,{headers:Je,context:Pt.context,params:vt,reportProgress:Pt.reportProgress,responseType:Pt.responseType||"json",withCredentials:Pt.withCredentials})}const Se=(0,p.of)(ue).pipe((0,k.b)(Je=>this.handler.handle(Je)));if(Fe instanceof Le||"events"===Pt.observe)return Se;const mt=Se.pipe((0,T.h)(Je=>Je instanceof me));switch(Pt.observe||"body"){case"body":switch(ue.responseType){case"arraybuffer":return mt.pipe((0,N.U)(Je=>{if(null!==Je.body&&!(Je.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return Je.body}));case"blob":return mt.pipe((0,N.U)(Je=>{if(null!==Je.body&&!(Je.body instanceof Blob))throw new Error("Response is not a Blob.");return Je.body}));case"text":return mt.pipe((0,N.U)(Je=>{if(null!==Je.body&&"string"!=typeof Je.body)throw new Error("Response is not a string.");return Je.body}));default:return mt.pipe((0,N.U)(Je=>Je.body))}case"response":return mt;default:throw new Error(`Unreachable: unhandled observe type ${Pt.observe}}`)}}delete(Fe,Ct={}){return this.request("DELETE",Fe,Ct)}get(Fe,Ct={}){return this.request("GET",Fe,Ct)}head(Fe,Ct={}){return this.request("HEAD",Fe,Ct)}jsonp(Fe,Ct){return this.request("JSONP",Fe,{params:(new G).append(Ct,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(Fe,Ct={}){return this.request("OPTIONS",Fe,Ct)}patch(Fe,Ct,Pt={}){return this.request("PATCH",Fe,ke(Pt,Ct))}post(Fe,Ct,Pt={}){return this.request("POST",Fe,ke(Pt,Ct))}put(Fe,Ct,Pt={}){return this.request("PUT",Fe,ke(Pt,Ct))}static#e=this.\u0275fac=function(Ct){return new(Ct||$e)(s.LFG(_))};static#t=this.\u0275prov=s.Yz7({token:$e,factory:$e.\u0275fac})}return $e})();function ht($e,we){return we($e)}const _t=new s.OlP(""),an=new s.OlP(""),un=new s.OlP("");let Rn=(()=>{class $e extends _{constructor(Fe,Ct){super(),this.backend=Fe,this.injector=Ct,this.chain=null,this.pendingTasks=(0,s.f3M)(s.HDt)}handle(Fe){if(null===this.chain){const Pt=Array.from(new Set([...this.injector.get(an),...this.injector.get(un,[])]));this.chain=Pt.reduceRight((ue,Se)=>function zt($e,we,Fe){return(Ct,Pt)=>Fe.runInContext(()=>we(Ct,ue=>$e(ue,Pt)))}(ue,Se,this.injector),ht)}const Ct=this.pendingTasks.add();return this.chain(Fe,Pt=>this.backend.handle(Pt)).pipe((0,M.x)(()=>this.pendingTasks.remove(Ct)))}static#e=this.\u0275fac=function(Ct){return new(Ct||$e)(s.LFG(F),s.LFG(s.lqb))};static#t=this.\u0275prov=s.Yz7({token:$e,factory:$e.\u0275fac})}return $e})();const Ce=/^\)\]\}',?\n/;let We=(()=>{class $e{constructor(Fe){this.xhrFactory=Fe}handle(Fe){if("JSONP"===Fe.method)throw new s.vHH(-2800,!1);const Ct=this.xhrFactory;return(Ct.\u0275loadImpl?(0,o.D)(Ct.\u0275loadImpl()):(0,p.of)(null)).pipe((0,S.w)(()=>new I.y(ue=>{const Se=Ct.build();if(Se.open(Fe.method,Fe.urlWithParams),Fe.withCredentials&&(Se.withCredentials=!0),Fe.headers.forEach((mn,Dt)=>Se.setRequestHeader(mn,Dt.join(","))),Fe.headers.has("Accept")||Se.setRequestHeader("Accept","application/json, text/plain, */*"),!Fe.headers.has("Content-Type")){const mn=Fe.detectContentTypeHeader();null!==mn&&Se.setRequestHeader("Content-Type",mn)}if(Fe.responseType){const mn=Fe.responseType.toLowerCase();Se.responseType="json"!==mn?mn:"text"}const mt=Fe.serializeBody();let Je=null;const vt=()=>{if(null!==Je)return Je;const mn=Se.statusText||"OK",Dt=new L(Se.getAllResponseHeaders()),Gt=function Re($e){return"responseURL"in $e&&$e.responseURL?$e.responseURL:/^X-Request-URL:/m.test($e.getAllResponseHeaders())?$e.getResponseHeader("X-Request-URL"):null}(Se)||Fe.url;return Je=new nt({headers:Dt,status:Se.status,statusText:mn,url:Gt}),Je},$t=()=>{let{headers:mn,status:Dt,statusText:Gt,url:vn}=vt(),gn=null;204!==Dt&&(gn=typeof Se.response>"u"?Se.responseText:Se.response),0===Dt&&(Dt=gn?200:0);let jn=Dt>=200&&Dt<300;if("json"===Fe.responseType&&"string"==typeof gn){const Co=gn;gn=gn.replace(Ce,"");try{gn=""!==gn?JSON.parse(gn):null}catch(No){gn=Co,jn&&(jn=!1,gn={error:No,text:gn})}}jn?(ue.next(new me({body:gn,headers:mn,status:Dt,statusText:Gt,url:vn||void 0})),ue.complete()):ue.error(new Ne({error:gn,headers:mn,status:Dt,statusText:Gt,url:vn||void 0}))},Yt=mn=>{const{url:Dt}=vt(),Gt=new Ne({error:mn,status:Se.status||0,statusText:Se.statusText||"Unknown Error",url:Dt||void 0});ue.error(Gt)};let Xt=!1;const sn=mn=>{Xt||(ue.next(vt()),Xt=!0);let Dt={type:Ue.DownloadProgress,loaded:mn.loaded};mn.lengthComputable&&(Dt.total=mn.total),"text"===Fe.responseType&&Se.responseText&&(Dt.partialText=Se.responseText),ue.next(Dt)},pn=mn=>{let Dt={type:Ue.UploadProgress,loaded:mn.loaded};mn.lengthComputable&&(Dt.total=mn.total),ue.next(Dt)};return Se.addEventListener("load",$t),Se.addEventListener("error",Yt),Se.addEventListener("timeout",Yt),Se.addEventListener("abort",Yt),Fe.reportProgress&&(Se.addEventListener("progress",sn),null!==mt&&Se.upload&&Se.upload.addEventListener("progress",pn)),Se.send(mt),ue.next({type:Ue.Sent}),()=>{Se.removeEventListener("error",Yt),Se.removeEventListener("abort",Yt),Se.removeEventListener("load",$t),Se.removeEventListener("timeout",Yt),Fe.reportProgress&&(Se.removeEventListener("progress",sn),null!==mt&&Se.upload&&Se.upload.removeEventListener("progress",pn)),Se.readyState!==Se.DONE&&Se.abort()}})))}static#e=this.\u0275fac=function(Ct){return new(Ct||$e)(s.LFG(C.JF))};static#t=this.\u0275prov=s.Yz7({token:$e,factory:$e.\u0275fac})}return $e})();const Ve=new s.OlP("XSRF_ENABLED"),ye=new s.OlP("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),et=new s.OlP("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class en{}let nn=(()=>{class $e{constructor(Fe,Ct,Pt){this.doc=Fe,this.platform=Ct,this.cookieName=Pt,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const Fe=this.doc.cookie||"";return Fe!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,C.Mx)(Fe,this.cookieName),this.lastCookieString=Fe),this.lastToken}static#e=this.\u0275fac=function(Ct){return new(Ct||$e)(s.LFG(C.K0),s.LFG(s.Lbi),s.LFG(ye))};static#t=this.\u0275prov=s.Yz7({token:$e,factory:$e.\u0275fac})}return $e})();function po($e,we){const Fe=$e.url.toLowerCase();if(!(0,s.f3M)(Ve)||"GET"===$e.method||"HEAD"===$e.method||Fe.startsWith("http://")||Fe.startsWith("https://"))return we($e);const Ct=(0,s.f3M)(en).getToken(),Pt=(0,s.f3M)(et);return null!=Ct&&!$e.headers.has(Pt)&&($e=$e.clone({headers:$e.headers.set(Pt,Ct)})),we($e)}function rr(...$e){const we=[he,We,Rn,{provide:_,useExisting:Rn},{provide:F,useExisting:We},{provide:an,useValue:po,multi:!0},{provide:Ve,useValue:!0},{provide:en,useClass:nn}];for(const Fe of $e)we.push(...Fe.\u0275providers);return(0,s.MR2)(we)}},5879:(ve,m,d)=>{"use strict";d.d(m,{$8M:()=>Cu,$WT:()=>co,$Z:()=>u,AFp:()=>Ba,ALo:()=>hy,AaK:()=>F,BQk:()=>Hf,CHM:()=>vs,CRH:()=>Py,DdM:()=>ry,Dn7:()=>py,EEQ:()=>Ei,EJc:()=>$D,EiD:()=>$h,EpF:()=>b_,F$t:()=>T_,F4k:()=>D_,FYo:()=>lf,FiY:()=>cl,Flj:()=>zs,Gf:()=>Ty,GfV:()=>Kp,GkF:()=>I1,Gpc:()=>V,GuJ:()=>Yt,HDt:()=>qy,Hsn:()=>x_,JOm:()=>fl,JVY:()=>wp,JZr:()=>re,KtG:()=>qa,L6k:()=>Mp,LAX:()=>Sp,LFG:()=>hn,LSH:()=>Tl,Lbi:()=>Oc,Lck:()=>R8,MAs:()=>v_,MMx:()=>Qv,MR2:()=>Pl,NdJ:()=>R1,O4$:()=>_a,Ojb:()=>Vp,OlP:()=>ye,Oqu:()=>U1,P3R:()=>Yh,PXZ:()=>y9,Q6J:()=>x1,QGY:()=>N1,QbO:()=>Hp,Qsj:()=>uf,R0b:()=>Nr,RDi:()=>_p,Rgc:()=>Ad,SBq:()=>jl,Sil:()=>YD,Suo:()=>xy,TTD:()=>$n,TgZ:()=>Lf,Tol:()=>G_,Udp:()=>j1,VKq:()=>iy,VuI:()=>t6,W1O:()=>Ry,WLB:()=>sy,X6Q:()=>S9,XFs:()=>Be,Xpm:()=>Oi,Xq5:()=>n_,Xts:()=>ka,Y36:()=>i,YKP:()=>Zv,YNc:()=>p_,Yjl:()=>on,Yz7:()=>_t,Z0I:()=>Rn,ZZ4:()=>Dm,_Bn:()=>Yv,_UZ:()=>A1,_Vd:()=>Nc,_c5:()=>z9,_uU:()=>q_,aQg:()=>Em,c2e:()=>Jy,cEC:()=>z0,cJS:()=>un,cg1:()=>$1,d8E:()=>z1,dDg:()=>p9,dqk:()=>We,eBb:()=>Op,eFA:()=>u2,eJc:()=>sm,ekj:()=>H1,eoX:()=>s2,evT:()=>zl,f3M:()=>Cn,g9A:()=>qh,gHi:()=>Hl,h0i:()=>Uc,hGG:()=>$9,hij:()=>zf,iGM:()=>Sy,ifc:()=>Se,ip1:()=>Xy,jDz:()=>Xv,kL8:()=>yv,kcU:()=>Bd,ktI:()=>Ds,lG2:()=>Jt,lcZ:()=>fy,lqb:()=>wi,lri:()=>o2,mCW:()=>Ol,n5z:()=>Kd,n_E:()=>Zf,oAB:()=>Jo,oJD:()=>Wh,oxw:()=>S_,pB0:()=>Tp,q3G:()=>Js,qFp:()=>o6,qLn:()=>us,qOj:()=>b1,qZA:()=>Bf,qzn:()=>Xs,rWj:()=>r2,r_H:()=>Xp,rg0:()=>lt,sBO:()=>T9,s_b:()=>Xf,soG:()=>qf,tb:()=>mm,tdS:()=>rs,tp0:()=>ll,uIk:()=>E1,vHH:()=>G,vpe:()=>ds,wAp:()=>ou,xi3:()=>gy,xp6:()=>a,ynx:()=>jf,z2F:()=>au,z3N:()=>ks,zSh:()=>wc,zW0:()=>J0,zs3:()=>es});var s=d(8645),p=d(7394),o=d(5592),I=d(3019),k=d(5619),T=d(2096),N=d(3020),M=d(4664),S=d(3997);function C(e){for(let t in e)if(e[t]===C)return t;throw Error("Could not find renamed property on target object.")}function _(e,t){for(const n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function F(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(F).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 n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function L(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const H=C({__forward_ref__:C});function V(e){return e.__forward_ref__=V,e.toString=function(){return F(this())},e}function $(e){return Y(e)?e():e}function Y(e){return"function"==typeof e&&e.hasOwnProperty(H)&&e.__forward_ref__===V}function ae(e){return e&&!!e.\u0275providers}const re="https://g.co/ng/security#xss";class G extends Error{constructor(t,n){super(function Z(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,n)),this.code=t}}function X(e){return"string"==typeof e?e:null==e?"":String(e)}function Ie(e,t){throw new G(-201,!1)}function pt(e,t){null==e&&function Me(e,t,n,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${n} ${r} ${t} <=Actual]`))}(t,e,null,"!=")}function _t(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function un(e){return{providers:e.providers||[],imports:e.imports||[]}}function yn(e){return Gn(e,Kn)||Gn(e,Oo)}function Rn(e){return null!==yn(e)}function Gn(e,t){return e.hasOwnProperty(t)?e[t]:null}function Ro(e){return e&&(e.hasOwnProperty(Jn)||e.hasOwnProperty(So))?e[Jn]:null}const Kn=C({\u0275prov:C}),Jn=C({\u0275inj:C}),Oo=C({ngInjectableDef:C}),So=C({ngInjectorDef:C});var Be=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}(Be||{});let gt;function je(){return gt}function q(e){const t=gt;return gt=e,t}function Ce(e,t,n){const r=yn(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:n&Be.Optional?null:void 0!==t?t:void Ie(F(e))}const We=globalThis;class ye{constructor(t,n){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof n?this.__NG_ELEMENT_ID__=n:void 0!==n&&(this.\u0275prov=_t({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Te={},ot="__NG_DI_FLAG__",Nt="ngTempTokenPath",rt=/\n/gm,de="__source";let ge;function Rt(e){const t=ge;return ge=e,t}function Wt(e,t=Be.Default){if(void 0===ge)throw new G(-203,!1);return null===ge?Ce(e,void 0,t):ge.get(e,t&Be.Optional?null:void 0,t)}function hn(e,t=Be.Default){return(je()||Wt)($(e),t)}function Cn(e,t=Be.Default){return hn(e,To(t))}function To(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function ko(e){const t=[];for(let n=0;nt){g=h-1;break}}}for(;hh?"":c[_e+1].toLowerCase();const Ze=8&r?He:null;if(Ze&&-1!==Dt(Ze,z,0)||2&r&&z!==He){if(mo(r))return!1;g=!0}}}}else{if(!g&&!mo(r)&&!mo(O))return!1;if(g&&mo(O))continue;g=!1,r=O|1&r}}return mo(r)||g}function mo(e){return 0==(1&e)}function Dr(e,t,n,r){if(null===t)return-1;let c=0;if(r||!n){let h=!1;for(;c-1)for(n++;n0?'="'+y+'"':"")+"]"}else 8&r?c+="."+g:4&r&&(c+=" "+g);else""!==c&&!mo(g)&&(t+=Xo(h,c),c=""),r=g,h=h||!mo(r);n++}return""!==c&&(t+=Xo(h,c)),t}function Oi(e){return Pt(()=>{const t=si(e),n={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===ue.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Se.Emulated,styles:e.styles||Je,_:null,schemas:e.schemas||null,tView:null,id:""};ai(n);const r=e.dependencies;return n.directiveDefs=ci(r,!1),n.pipeDefs=ci(r,!0),n.id=function li(e){let t=0;const n=[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 c of n)t=Math.imul(31,t)+c.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(n),n})}function oo(e){return Kt(e)||Mn(e)}function kr(e){return null!==e}function Jo(e){return Pt(()=>({type:e.type,bootstrap:e.bootstrap||Je,declarations:e.declarations||Je,imports:e.imports||Je,exports:e.exports||Je,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function mi(e,t){if(null==e)return mt;const n={};for(const r in e)if(e.hasOwnProperty(r)){let c=e[r],h=c;Array.isArray(c)&&(h=c[1],c=c[0]),n[c]=r,t&&(t[c]=h)}return n}function Jt(e){return Pt(()=>{const t=si(e);return ai(t),t})}function on(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function Kt(e){return e[vt]||null}function Mn(e){return e[$t]||null}function zn(e){return e[Yt]||null}function co(e){const t=Kt(e)||Mn(e)||zn(e);return null!==t&&t.standalone}function ho(e,t){const n=e[Xt]||null;if(!n&&!0===t)throw new Error(`Type ${F(e)} does not have '\u0275mod' property.`);return n}function si(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||mt,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Je,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:mi(e.inputs,t),outputs:mi(e.outputs)}}function ai(e){e.features?.forEach(t=>t(e))}function ci(e,t){if(!e)return null;const n=t?zn:oo;return()=>("function"==typeof e?e():e).map(r=>n(r)).filter(kr)}const _o=0,Zt=1,An=2,eo=3,ar=4,zo=5,$o=6,Er=7,no=8,mr=9,ei=10,Tn=11,_r=12,Si=13,ui=14,io=15,_i=16,qo=17,Ko=18,$r=19,vi=20,er=21,gr=22,Wr=23,yi=24,Hn=25,Ti=1,Ci=2,cr=7,Wo=9,wo=11;function Lo(e){return Array.isArray(e)&&"object"==typeof e[Ti]}function Bo(e){return Array.isArray(e)&&!0===e[Ti]}function j(e){return 0!=(4&e.flags)}function oe(e){return e.componentOffset>-1}function ce(e){return 1==(1&e.flags)}function Oe(e){return!!e.template}function tt(e){return 0!=(512&e[An])}function Fr(e,t){return e.hasOwnProperty(sn)?e[sn]:null}const Lr=Symbol("SIGNAL");function yt(e,t){return(null===e||"object"!=typeof e)&&Object.is(e,t)}let rn=null,jt=!1;function ln(e){const t=rn;return rn=e,t}const Pn={version:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{}};function Qn(e){if(jt)throw new Error("");if(null===rn)return;const t=rn.nextProducerIndex++;bi(rn),te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function ti(e){bi(e);for(let t=0;t0}function bi(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}function ia(e){e.liveConsumerNode??=[],e.liveConsumerIndexOfThis??=[]}function zs(e,t){const n=Object.create(aa);n.computation=e,t?.equal&&(n.equal=t.equal);const r=()=>{if(Yn(n),Qn(n),n.value===$s)throw n.error;return n.value};return r[Lr]=n,r}const sa=Symbol("UNSET"),xs=Symbol("COMPUTING"),$s=Symbol("ERRORED"),aa=(()=>({...Pn,value:sa,dirty:!0,error:null,equal:yt,producerMustRecompute:e=>e.value===sa||e.value===xs,producerRecomputeValue(e){if(e.value===xs)throw new Error("Detected cycle in computations.");const t=e.value;e.value=xs;const n=tr(e);let r;try{r=e.computation()}catch(c){r=$s,e.error=c}finally{ur(e,n)}t!==sa&&t!==$s&&r!==$s&&e.equal(t,r)?e.value=t:(e.value=r,e.version++)}}))();let ca=function Za(){throw new Error};function Ws(){ca()}let Ps=null;function rs(e,t){const n=Object.create(ua);function r(){return Qn(n),n.value}return n.value=e,t?.equal&&(n.equal=t.equal),r.set=ee,r.update=B,r.mutate=Q,r.asReadonly=be,r[Lr]=n,r}const ua=(()=>({...Pn,equal:yt,readonlyFn:void 0}))();function D(e){e.version++,fo(e),Ps?.()}function ee(e){const t=this[Lr];jo()||Ws(),t.equal(t.value,e)||(t.value=e,D(t))}function B(e){jo()||Ws(),ee.call(this,e(this[Lr].value))}function Q(e){const t=this[Lr];jo()||Ws(),e(t.value),D(t)}function be(){const e=this[Lr];if(void 0===e.readonlyFn){const t=()=>this();t[Lr]=e,e.readonlyFn=t}return e.readonlyFn}function lt(e){const t=ln(null);try{return e()}finally{ln(t)}}const _n=()=>{},go=(()=>({...Pn,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:_n}))();class so{constructor(t,n,r){this.previousValue=t,this.currentValue=n,this.firstChange=r}isFirstChange(){return this.firstChange}}function $n(){return Qo}function Qo(e){return e.type.prototype.ngOnChanges&&(e.setInput=dr),bo}function bo(){const e=Yr(this),t=e?.current;if(t){const n=e.previous;if(n===mt)e.previous=t;else for(let r in t)n[r]=t[r];e.current=null,this.ngOnChanges(t)}}function dr(e,t,n,r){const c=this.declaredInputs[n],h=Yr(e)||function is(e,t){return e[Di]=t}(e,{previous:mt,current:null}),g=h.current||(h.current={}),y=h.previous,O=y[c];g[c]=new so(O&&O.currentValue,t,y===mt),e[r]=t}$n.ngInherit=!0;const Di="__ngSimpleChanges__";function Yr(e){return e[Di]||null}const vr=function(e,t,n){},Pi="svg";function Ao(e){for(;Array.isArray(e);)e=e[_o];return e}function xr(e,t){return Ao(t[e])}function jr(e,t){return Ao(t[e.index])}function ms(e,t){return e.data[t]}function Qi(e,t){return e[t]}function Mr(e,t){const n=t[e];return Lo(n)?n:n[_o]}function Ai(e,t){return null==t?null:e[t]}function Ii(e){e[qo]=0}function Or(e){1024&e[An]||(e[An]|=1024,Xa(e,1))}function Qr(e){1024&e[An]&&(e[An]&=-1025,Xa(e,-1))}function Xa(e,t){let n=e[eo];if(null===n)return;n[zo]+=t;let r=n;for(n=n[eo];null!==n&&(1===t&&1===r[zo]||-1===t&&0===r[zo]);)n[zo]+=t,r=n,n=n[eo]}function Hi(e,t){if(256==(256&e[An]))throw new G(911,!1);null===e[er]&&(e[er]=[]),e[er].push(t)}const kn={lFrame:Un(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function Gs(){return kn.bindingsEnabled}function As(){return null!==kn.skipHydrationRootTNode}function At(){return kn.lFrame.lView}function ao(){return kn.lFrame.tView}function vs(e){return kn.lFrame.contextLView=e,e[no]}function qa(e){return kn.lFrame.contextLView=null,e}function Pr(){let e=Yc();for(;null!==e&&64===e.type;)e=e.parent;return e}function Yc(){return kn.lFrame.currentTNode}function Ni(e,t){const n=kn.lFrame;n.currentTNode=e,n.isParent=t}function Is(){return kn.lFrame.isParent}function pa(){kn.lFrame.isParent=!1}function Jr(){const e=kn.lFrame;let t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function Ys(){return kn.lFrame.bindingIndex++}function as(e){const t=kn.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function b(e,t){const n=kn.lFrame;n.bindingIndex=n.bindingRootIndex=e,v(t)}function v(e){kn.lFrame.currentDirectiveIndex=e}function P(e){const t=kn.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}function U(){return kn.lFrame.currentQueryIndex}function ie(e){kn.lFrame.currentQueryIndex=e}function De(e){const t=e[Zt];return 2===t.type?t.declTNode:1===t.type?e[$o]:null}function at(e,t,n){if(n&Be.SkipSelf){let c=t,h=e;for(;!(c=c.parent,null!==c||n&Be.Host||(c=De(h),null===c||(h=h[ui],10&c.type))););if(null===c)return!1;t=c,e=h}const r=kn.lFrame=qt();return r.currentTNode=t,r.lView=e,!0}function it(e){const t=qt(),n=e[Zt];kn.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function qt(){const e=kn.lFrame,t=null===e?null:e.child;return null===t?Un(e):t}function Un(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 Io(){const e=kn.lFrame;return kn.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const lo=Io;function Vi(){const e=Io();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 Ar(){return kn.lFrame.selectedIndex}function kt(e){kn.lFrame.selectedIndex=e}function or(){const e=kn.lFrame;return ms(e.tView,e.selectedIndex)}function _a(){kn.lFrame.currentNamespace=Pi}function Bd(){!function cg(){kn.lFrame.currentNamespace=null}()}let Hd=!0;function Kc(){return Hd}function Ns(e){Hd=e}function Xc(e,t){for(let n=t.directiveStart,r=t.directiveEnd;n=r)break}else t[O]<0&&(e[qo]+=65536),(y>13>16&&(3&e[An])===t&&(e[An]+=8192,yr(y,h)):yr(y,h)}const ya=-1;class nc{constructor(t,n,r){this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=r}}function mu(e){return e!==ya}function oc(e){return 32767&e}function rc(e,t){let n=function Vd(e){return e>>16}(e),r=t;for(;n>0;)r=r[ui],n--;return r}let _u=!0;function ic(e){const t=_u;return _u=e,t}const Ud=255,sc=5;let pg=0;const cs={};function qc(e,t){const n=zd(e,t);if(-1!==n)return n;const r=t[Zt];r.firstCreatePass&&(e.injectorIndex=t.length,el(r.data,e),el(t,null),el(r.blueprint,null));const c=tl(e,t),h=e.injectorIndex;if(mu(c)){const g=oc(c),y=rc(c,t),O=y[Zt].data;for(let z=0;z<8;z++)t[h+z]=y[g+z]|O[g+z]}return t[h+8]=c,h}function el(e,t){e.push(0,0,0,0,0,0,0,0,t)}function zd(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function tl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let n=0,r=null,c=t;for(;null!==c;){if(r=Xd(c),null===r)return ya;if(n++,c=c[ui],-1!==r.injectorIndex)return r.injectorIndex|n<<16}return ya}function Ca(e,t,n){!function mg(e,t,n){let r;"string"==typeof n?r=n.charCodeAt(0)||0:n.hasOwnProperty(pn)&&(r=n[pn]),null==r&&(r=n[pn]=pg++);const c=r&Ud;t.data[e+(c>>sc)]|=1<=0?t&Ud:Cg:t}(n);if("function"==typeof h){if(!at(t,e,r))return r&Be.Host?ba(c,0,r):$d(t,n,r,c);try{let g;if(g=h(r),null!=g||r&Be.Optional)return g;Ie()}finally{lo()}}else if("number"==typeof h){let g=null,y=zd(e,t),O=ya,z=r&Be.Host?t[io][$o]:null;for((-1===y||r&Be.SkipSelf)&&(O=-1===y?tl(e,t):t[y+8],O!==ya&&Zd(r,!1)?(g=t[Zt],y=oc(O),t=rc(O,t)):y=-1);-1!==y;){const ne=t[Zt];if(Yd(h,y,ne.data)){const _e=_g(y,t,n,g,r,z);if(_e!==cs)return _e}O=t[y+8],O!==ya&&Zd(r,t[Zt].data[y+8]===z)&&Yd(h,y,t)?(g=ne,y=oc(O),t=rc(O,t)):y=-1}}return c}function _g(e,t,n,r,c,h){const g=t[Zt],y=g.data[e+8],ne=nl(y,g,n,null==r?oe(y)&&_u:r!=g&&0!=(3&y.type),c&Be.Host&&h===y);return null!==ne?Zs(t,g,ne,y):cs}function nl(e,t,n,r,c){const h=e.providerIndexes,g=t.data,y=1048575&h,O=e.directiveStart,ne=h>>20,He=c?y+ne:e.directiveEnd;for(let Ze=r?y:y+ne;Ze=O&&Et.type===n)return Ze}if(c){const Ze=g[O];if(Ze&&Oe(Ze)&&Ze.type===n)return O}return null}function Zs(e,t,n,r){let c=e[n];const h=t.data;if(function ug(e){return e instanceof nc}(c)){const g=c;g.resolving&&function fe(e,t){const n=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new G(-200,`Circular dependency in DI detected for ${e}${n}`)}(function te(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():X(e)}(h[n]));const y=ic(g.canSeeViewProviders);g.resolving=!0;const z=g.injectImpl?q(g.injectImpl):null;at(e,r,Be.Default);try{c=e[n]=g.factory(void 0,h,e,r),t.firstCreatePass&&n>=r.directiveStart&&function Qc(e,t,n){const{ngOnChanges:r,ngOnInit:c,ngDoCheck:h}=t.type.prototype;if(r){const g=Qo(t);(n.preOrderHooks??=[]).push(e,g),(n.preOrderCheckHooks??=[]).push(e,g)}c&&(n.preOrderHooks??=[]).push(0-e,c),h&&((n.preOrderHooks??=[]).push(e,h),(n.preOrderCheckHooks??=[]).push(e,h))}(n,h[n],t)}finally{null!==z&&q(z),ic(y),g.resolving=!1,lo()}}return c}function Yd(e,t,n){return!!(n[t+(e>>sc)]&1<{const t=e.prototype.constructor,n=t[sn]||yu(t),r=Object.prototype;let c=Object.getPrototypeOf(e.prototype).constructor;for(;c&&c!==r;){const h=c[sn]||yu(c);if(h&&h!==n)return h;c=Object.getPrototypeOf(c)}return h=>new h})}function yu(e){return Y(e)?()=>{const t=yu($(e));return t&&t()}:Fr(e)}function Xd(e){const t=e[Zt],n=t.type;return 2===n?t.declTNode:1===n?e[$o]:null}function Cu(e){return function vu(e,t){if("class"===t)return e.classes;if("style"===t)return e.styles;const n=e.attrs;if(n){const r=n.length;let c=0;for(;c{const r=function bu(e){return function(...n){if(e){const r=e(...n);for(const c in r)this[c]=r[c]}}}(t);function c(...h){if(this instanceof c)return r.apply(this,h),this;const g=new c(...h);return y.annotation=g,y;function y(O,z,ne){const _e=O.hasOwnProperty(Ea)?O[Ea]:Object.defineProperty(O,Ea,{value:[]})[Ea];for(;_e.length<=ne;)_e.push(null);return(_e[ne]=_e[ne]||[]).push(g),O}}return n&&(c.prototype=Object.create(n.prototype)),c.prototype.ngMetadataName=e,c.annotationCls=c,c})}function Sa(e,t){e.forEach(n=>Array.isArray(n)?Sa(n,t):t(n))}function qd(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function ol(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function lc(e,t){const n=[];for(let r=0;r=0?e[1|r]=n:(r=~r,function rl(e,t,n,r){let c=e.length;if(c==t)e.push(n,r);else if(1===c)e.push(r,e[0]),e[0]=n;else{for(c--,e.push(e[c-1],e[c]);c>t;)e[c]=e[c-2],c--;e[t]=n,e[t+1]=r}}(e,r,t,n)),r}function il(e,t){const n=Ta(e,t);if(n>=0)return e[1|n]}function Ta(e,t){return function sl(e,t,n){let r=0,c=e.length>>n;for(;c!==r;){const h=r+(c-r>>1),g=e[h<t?c=h:r=h+1}return~(c<|^->||--!>|)/g,Ug="\u200b$1\u200b";const Tu=new Map;let zg=0;function gh(e){return Tu.get(e)||null}class f0{get lView(){return gh(this.lViewId)}constructor(t,n,r){this.lViewId=t,this.nodeIndex=n,this.native=r}}function Ei(e){let t=pc(e);if(t){if(Lo(t)){const n=t;let r,c,h;if(_h(e)){if(r=function yh(e,t){const n=e[Zt].components;if(n)for(let r=0;r=0){const y=Ao(h[g]),O=gl(h,g,y);ni(y,O),t=O;break}}}}return t||null}function gl(e,t,n){return new f0(e[$r],t,n)}const xu="__ngContext__";function ni(e,t){Lo(t)?(e[xu]=t[$r],function Wg(e){Tu.set(e[$r],e)}(t)):e[xu]=t}function pc(e){const t=e[xu];return"number"==typeof t?gh(t):t||null}function _h(e){return e&&e.constructor&&e.constructor.\u0275cmp}function vh(e,t){const n=e[Zt];for(let r=Hn;rt.replace(Vg,Ug))}(t))}function ml(e,t,n){return e.createElement(t,n)}function Mh(e,t){const n=e[Wo],r=n.indexOf(t);Qr(t),n.splice(r,1)}function _l(e,t){if(e.length<=wo)return;const n=wo+t,r=e[n];if(r){const c=r[_i];null!==c&&c!==e&&Mh(c,r),t>0&&(e[n-1][ar]=r[ar]);const h=ol(e,wo+t);!function tp(e,t){yc(e,t,t[Tn],2,null,null),t[_o]=null,t[$o]=null}(r[Zt],r);const g=h[Ko];null!==g&&g.detachView(h[Zt]),r[eo]=null,r[ar]=null,r[An]&=-129}return r}function Iu(e,t){if(!(256&t[An])){const n=t[Tn];t[Wr]&&Tr(t[Wr]),t[yi]&&Tr(t[yi]),n.destroyNode&&yc(e,t,n,3,null,null),function rp(e){let t=e[_r];if(!t)return Nu(e[Zt],e);for(;t;){let n=null;if(Lo(t))n=t[_r];else{const r=t[wo];r&&(n=r)}if(!n){for(;t&&!t[ar]&&t!==e;)Lo(t)&&Nu(t[Zt],t),t=t[eo];null===t&&(t=e),Lo(t)&&Nu(t[Zt],t),n=t&&t[ar]}t=n}}(t)}}function Nu(e,t){if(!(256&t[An])){t[An]&=-129,t[An]|=256,function cp(e,t){let n;if(null!=e&&null!=(n=e.destroyHooks))for(let r=0;r=0?r[g]():r[-g].unsubscribe(),h+=2}else n[h].call(r[n[h+1]]);null!==r&&(t[Er]=null);const c=t[er];if(null!==c){t[er]=null;for(let h=0;h-1){const{encapsulation:h}=e.data[r.directiveStart+c];if(h===Se.None||h===Se.Emulated)return null}return jr(r,n)}}(e,t.parent,n)}function Ks(e,t,n,r,c){e.insertBefore(t,n,r,c)}function Sh(e,t,n){e.appendChild(t,n)}function Th(e,t,n,r,c){null!==r?Ks(e,t,n,r,c):Sh(e,t,n)}function Ia(e,t){return e.parentNode(t)}function xh(e,t,n){return Ah(e,t,n)}let Fu,bl,Hu,Dl,Ah=function Ph(e,t,n){return 40&e.type?jr(e,n):null};function vl(e,t,n,r){const c=Ru(e,r,t),h=t[Tn],y=xh(r.parent||t[$o],r,t);if(null!=c)if(Array.isArray(n))for(let O=0;Oe,createScript:e=>e,createScriptURL:e=>e})}catch{}return bl}()?.createHTML(e)||e}function _p(e){Hu=e}function Ra(){if(void 0!==Hu)return Hu;if(typeof document<"u")return document;throw new G(210,!1)}function El(){if(void 0===Dl&&(Dl=null,We.trustedTypes))try{Dl=We.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Dl}function Lh(e){return El()?.createHTML(e)||e}function Ml(e){return El()?.createScriptURL(e)||e}class Qs{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${re})`}}class vp extends Qs{getTypeName(){return"HTML"}}class yp extends Qs{getTypeName(){return"Style"}}class Cp extends Qs{getTypeName(){return"Script"}}class bp extends Qs{getTypeName(){return"URL"}}class Dp extends Qs{getTypeName(){return"ResourceURL"}}function ks(e){return e instanceof Qs?e.changingThisBreaksApplicationSecurity:e}function Xs(e,t){const n=function Ep(e){return e instanceof Qs&&e.getTypeName()||null}(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${n} (see ${re})`)}return n===t}function wp(e){return new vp(e)}function Mp(e){return new yp(e)}function Op(e){return new Cp(e)}function Sp(e){return new bp(e)}function Tp(e){return new Dp(e)}class xp{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const n=(new window.DOMParser).parseFromString(Na(t),"text/html").body;return null===n?this.inertDocumentHelper.getInertBodyElement(t):(n.removeChild(n.firstChild),n)}catch{return null}}}class Pp{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const n=this.inertDocument.createElement("template");return n.innerHTML=Na(t),n}}const m0=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Ol(e){return(e=String(e)).match(m0)?e:"unsafe:"+e}function Cs(e){const t={};for(const n of e.split(","))t[n]=!0;return t}function Cc(...e){const t={};for(const n of e)for(const r in n)n.hasOwnProperty(r)&&(t[r]=!0);return t}const jh=Cs("area,br,col,hr,img,wbr"),Hh=Cs("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Vh=Cs("rp,rt"),Vu=Cc(jh,Cc(Hh,Cs("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")),Cc(Vh,Cs("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")),Cc(Vh,Hh)),Uu=Cs("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Uh=Cc(Uu,Cs("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"),Cs("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")),Ip=Cs("script,style,template");class Np{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let n=t.firstChild,r=!0;for(;n;)if(n.nodeType===Node.ELEMENT_NODE?r=this.startElement(n):n.nodeType===Node.TEXT_NODE?this.chars(n.nodeValue):this.sanitizedSomething=!0,r&&n.firstChild)n=n.firstChild;else for(;n;){n.nodeType===Node.ELEMENT_NODE&&this.endElement(n);let c=this.checkClobberedElement(n,n.nextSibling);if(c){n=c;break}n=this.checkClobberedElement(n,n.parentNode)}return this.buf.join("")}startElement(t){const n=t.nodeName.toLowerCase();if(!Vu.hasOwnProperty(n))return this.sanitizedSomething=!0,!Ip.hasOwnProperty(n);this.buf.push("<"),this.buf.push(n);const r=t.attributes;for(let c=0;c"),!0}endElement(t){const n=t.nodeName.toLowerCase();Vu.hasOwnProperty(n)&&!jh.hasOwnProperty(n)&&(this.buf.push(""))}chars(t){this.buf.push(zh(t))}checkClobberedElement(t,n){if(n&&(t.compareDocumentPosition(n)&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 n}}const Rp=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,kp=/([^\#-~ |!])/g;function zh(e){return e.replace(/&/g,"&").replace(Rp,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(kp,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Sl;function $h(e,t){let n=null;try{Sl=Sl||function Bh(e){const t=new Pp(e);return function Ap(){try{return!!(new window.DOMParser).parseFromString(Na(""),"text/html")}catch{return!1}}()?new xp(t):t}(e);let r=t?String(t):"";n=Sl.getInertBodyElement(r);let c=5,h=r;do{if(0===c)throw new Error("Failed to sanitize html because the input is unstable");c--,r=h,h=n.innerHTML,n=Sl.getInertBodyElement(r)}while(r!==h);return Na((new Np).sanitizeChildren(zu(n)||n))}finally{if(n){const r=zu(n)||n;for(;r.firstChild;)r.removeChild(r.firstChild)}}}function zu(e){return"content"in e&&function D0(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Js=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}(Js||{});function Wh(e){const t=Ji();return t?Lh(t.sanitize(Js.HTML,e)||""):Xs(e,"HTML")?Lh(ks(e)):$h(Ra(),X(e))}function Tl(e){const t=Ji();return t?t.sanitize(Js.URL,e)||"":Xs(e,"URL")?ks(e):Ol(X(e))}function xl(e){const t=Ji();if(t)return Ml(t.sanitize(Js.RESOURCE_URL,e)||"");if(Xs(e,"ResourceURL"))return Ml(ks(e));throw new G(904,!1)}function Yh(e,t,n){return function Gh(e,t){return"src"===t&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===t&&("base"===e||"link"===e)?xl:Tl}(t,n)(e)}function Ji(){const e=At();return e&&e[ei].sanitizer}const ka=new ye("ENVIRONMENT_INITIALIZER"),Kh=new ye("INJECTOR",-1),Fp=new ye("INJECTOR_DEF_TYPES");class Gu{get(t,n=Te){if(n===Te){const r=new Error(`NullInjectorError: No provider for ${F(t)}!`);throw r.name="NullInjectorError",r}return n}}function Pl(e){return{\u0275providers:e}}function Qh(...e){return{\u0275providers:Lp(0,e),\u0275fromNgModule:!0}}function Lp(e,...t){const n=[],r=new Set;let c;const h=g=>{n.push(g)};return Sa(t,g=>{const y=g;Fa(y,h,[],r)&&(c||=[],c.push(y))}),void 0!==c&&Yu(c,h),n}function Yu(e,t){for(let n=0;n{t(h,r)})}}function Fa(e,t,n,r){if(!(e=$(e)))return!1;let c=null,h=Ro(e);const g=!h&&Kt(e);if(h||g){if(g&&!g.standalone)return!1;c=e}else{const O=e.ngModule;if(h=Ro(O),!h)return!1;c=O}const y=r.has(c);if(g){if(y)return!1;if(r.add(c),g.dependencies){const O="function"==typeof g.dependencies?g.dependencies():g.dependencies;for(const z of O)Fa(z,t,n,r)}}else{if(!h)return!1;{if(null!=h.imports&&!y){let z;r.add(c);try{Sa(h.imports,ne=>{Fa(ne,t,n,r)&&(z||=[],z.push(ne))})}finally{}void 0!==z&&Yu(z,t)}if(!y){const z=Fr(c)||(()=>new c);t({provide:c,useFactory:z,deps:Je},c),t({provide:Fp,useValue:c,multi:!0},c),t({provide:ka,useValue:()=>hn(c),multi:!0},c)}const O=h.providers;if(null!=O&&!y){const z=e;Al(O,ne=>{t(ne,z)})}}}return c!==e&&void 0!==e.providers}function Al(e,t){for(let n of e)ae(n)&&(n=n.\u0275providers),Array.isArray(n)?Al(n,t):t(n)}const Bp=C({provide:String,useValue:C});function bc(e){return null!==e&&"object"==typeof e&&Bp in e}function ls(e){return"function"==typeof e}const wc=new ye("Set Injector scope."),zi={},Zu={};let La;function Il(){return void 0===La&&(La=new Gu),La}class wi{}class qs extends wi{get destroyed(){return this._destroyed}constructor(t,n,r,c){super(),this.parent=n,this.source=r,this.scopes=c,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Nl(t,g=>this.processProvider(g)),this.records.set(Kh,$i(void 0,this)),c.has("environment")&&this.records.set(wi,$i(void 0,this));const h=this.records.get(wc);null!=h&&"string"==typeof h.value&&this.scopes.add(h.value),this.injectorDefTypes=new Set(this.get(Fp.multi,Je,Be.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const n of this._ngOnDestroyHooks)n.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const n of t)n()}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 n=Rt(this),r=q(void 0);try{return t()}finally{Rt(n),q(r)}}get(t,n=Te,r=Be.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(mn))return t[mn](this);r=To(r);const h=Rt(this),g=q(void 0);try{if(!(r&Be.SkipSelf)){let O=this.records.get(t);if(void 0===O){const z=function Qu(e){return"function"==typeof e||"object"==typeof e&&e instanceof ye}(t)&&yn(t);O=z&&this.injectableDefInScope(z)?$i(Ku(t),zi):null,this.records.set(t,O)}if(null!=O)return this.hydrate(t,O)}return(r&Be.Self?Il():this.parent).get(t,n=r&Be.Optional&&n===Te?null:n)}catch(y){if("NullInjectorError"===y.name){if((y[Nt]=y[Nt]||[]).unshift(F(t)),h)throw y;return function Fe(e,t,n,r){const c=e[Nt];throw t[de]&&c.unshift(t[de]),e.message=function Ct(e,t,n,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let c=F(t);if(Array.isArray(t))c=t.map(F).join(" -> ");else if("object"==typeof t){let h=[];for(let g in t)if(t.hasOwnProperty(g)){let y=t[g];h.push(g+":"+("string"==typeof y?JSON.stringify(y):F(y)))}c=`{${h.join(", ")}}`}return`${n}${r?"("+r+")":""}[${c}]: ${e.replace(rt,"\n ")}`}("\n"+e.message,c,n,r),e.ngTokenPath=c,e[Nt]=null,e}(y,t,"R3InjectorError",this.source)}throw y}finally{q(g),Rt(h)}}resolveInjectorInitializers(){const t=Rt(this),n=q(void 0);try{const c=this.get(ka.multi,Je,Be.Self);for(const h of c)h()}finally{Rt(t),q(n)}}toString(){const t=[],n=this.records;for(const r of n.keys())t.push(F(r));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new G(205,!1)}processProvider(t){let n=ls(t=$(t))?t:$(t&&t.provide);const r=function Ls(e){return bc(e)?$i(void 0,e.useValue):$i(qi(e),zi)}(t);if(ls(t)||!0!==t.multi)this.records.get(n);else{let c=this.records.get(n);c||(c=$i(void 0,zi,!0),c.factory=()=>ko(c.multi),this.records.set(n,c)),n=t,c.multi.push(t)}this.records.set(n,r)}hydrate(t,n){return n.value===zi&&(n.value=Zu,n.value=n.factory()),"object"==typeof n.value&&n.value&&function jp(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}injectableDefInScope(t){if(!t.providedIn)return!1;const n=$(t.providedIn);return"string"==typeof n?"any"===n||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(t){const n=this._onDestroyHooks.indexOf(t);-1!==n&&this._onDestroyHooks.splice(n,1)}}function Ku(e){const t=yn(e),n=null!==t?t.factory:Fr(e);if(null!==n)return n;if(e instanceof ye)throw new G(204,!1);if(e instanceof Function)return function Jh(e){const t=e.length;if(t>0)throw lc(t,"?"),new G(204,!1);const n=function uo(e){return e&&(e[Kn]||e[Oo])||null}(e);return null!==n?()=>n.factory(e):()=>new e}(e);throw new G(204,!1)}function qi(e,t,n){let r;if(ls(e)){const c=$(e);return Fr(c)||Ku(c)}if(bc(e))r=()=>$(e.useValue);else if(function Ec(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...ko(e.deps||[]));else if(function Dc(e){return!(!e||!e.useExisting)}(e))r=()=>hn($(e.useExisting));else{const c=$(e&&(e.useClass||e.provide));if(!function Mc(e){return!!e.deps}(e))return Fr(c)||Ku(c);r=()=>new c(...ko(e.deps))}return r}function $i(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function Nl(e,t){for(const n of e)Array.isArray(n)?Nl(n,t):n&&ae(n)?Nl(n.\u0275providers,t):t(n)}const Ba=new ye("AppId",{providedIn:"root",factory:()=>Rl}),Rl="ng",qh=new ye("Platform Initializer"),Oc=new ye("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Hp=new ye("AnimationModuleType"),Vp=new ye("CSP nonce",{providedIn:"root",factory:()=>Ra().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let nf=(e,t,n)=>null;function qu(e,t,n=!1){return nf(e,t,n)}class Yp{}class Ac{}class cf{resolveComponentFactory(t){throw function od(e){const t=Error(`No component factory found for ${F(e)}.`);return t.ngComponent=e,t}(t)}}let Nc=(()=>{class e{static#e=this.NULL=new cf}return e})();function T0(){return Bs(Pr(),At())}function Bs(e,t){return new jl(jr(e,t))}let jl=(()=>{class e{constructor(n){this.nativeElement=n}static#e=this.__NG_ELEMENT_ID__=T0}return e})();function Zp(e){return e instanceof jl?e.nativeElement:e}class lf{}let uf=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function rd(){const e=At(),n=Mr(Pr().index,e);return(Lo(n)?n:e)[Tn]}()}return e})(),df=(()=>{class e{static#e=this.\u0275prov=_t({token:e,providedIn:"root",factory:()=>null})}return e})();class Kp{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const Qp=new Kp("16.2.12"),id={};function Xp(e,t){e instanceof qs&&e.assertNotDestroyed();const r=Rt(e),c=q(void 0);try{return t()}finally{Rt(r),q(c)}}function Hl(e){if(!je()&&!function Ge(){return ge}())throw new G(-203,!1)}function pf(e,t=null,n=null,r){const c=mf(e,t,n,r);return c.resolveInjectorInitializers(),c}function mf(e,t=null,n=null,r,c=new Set){const h=[n||Je,Qh(e)];return r=r||("object"==typeof e?void 0:F(e)),new qs(h,t||Il(),r||null,c)}let es=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Te;static#t=this.NULL=new Gu;static create(n,r){if(Array.isArray(n))return pf({name:""},r,n,"");{const c=n.name??"";return pf({name:c},n.parent,n.providers,c)}}static#n=this.\u0275prov=_t({token:e,providedIn:"any",factory:()=>hn(Kh)});static#o=this.__NG_ELEMENT_ID__=-1}return e})();function Li(e){return e.ngOriginalError}class us{constructor(){this._console=console}handleError(t){const n=this._findOriginalError(t);this._console.error("ERROR",t),n&&this._console.error("ORIGINAL ERROR",n)}_findOriginalError(t){let n=t&&Li(t);for(;n&&Li(n);)n=Li(n);return n||null}}let Ds=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=t1;static#t=this.__NG_ENV_ID__=n=>n}return e})();class ld extends Ds{constructor(t){super(),this._lView=t}onDestroy(t){return Hi(this._lView,t),()=>function lu(e,t){if(null===e[er])return;const n=e[er].indexOf(t);-1!==n&&e[er].splice(n,1)}(this._lView,t)}}function t1(){return new ld(At())}function Rc(e){return t=>{setTimeout(e,void 0,t)}}const ds=class n1 extends s.x{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,n,r){let c=t,h=n||(()=>null),g=r;if(t&&"object"==typeof t){const O=t;c=O.next?.bind(O),h=O.error?.bind(O),g=O.complete?.bind(O)}this.__isAsync&&(h=Rc(h),c&&(c=Rc(c)),g&&(g=Rc(g)));const y=super.subscribe({next:c,error:h,complete:g});return t instanceof p.w0&&t.add(y),y}};function _f(...e){}class Nr{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ds(!1),this.onMicrotaskEmpty=new ds(!1),this.onStable=new ds(!1),this.onError=new ds(!1),typeof Zone>"u")throw new G(908,!1);Zone.assertZonePatched();const c=this;c._nesting=0,c._outer=c._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(c._inner=c._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(c._inner=c._inner.fork(Zone.longStackTraceZoneSpec)),c.shouldCoalesceEventChangeDetection=!r&&n,c.shouldCoalesceRunChangeDetection=r,c.lastRequestAnimationFrameId=-1,c.nativeRequestAnimationFrame=function Vl(){const e="function"==typeof We.requestAnimationFrame;let t=We[e?"requestAnimationFrame":"setTimeout"],n=We[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&n){const r=t[Zone.__symbol__("OriginalDelegate")];r&&(t=r);const c=n[Zone.__symbol__("OriginalDelegate")];c&&(n=c)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:n}}().nativeRequestAnimationFrame,function za(e){const t=()=>{!function Wi(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(We,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,ud(e),e.isCheckStableRunning=!0,Ul(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),ud(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,r,c,h,g,y)=>{if(function r1(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(y))return n.invokeTask(c,h,g,y);try{return yf(e),n.invokeTask(c,h,g,y)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===h.type||e.shouldCoalesceRunChangeDetection)&&t(),dd(e)}},onInvoke:(n,r,c,h,g,y,O)=>{try{return yf(e),n.invoke(c,h,g,y,O)}finally{e.shouldCoalesceRunChangeDetection&&t(),dd(e)}},onHasTask:(n,r,c,h)=>{n.hasTask(c,h),r===c&&("microTask"==h.change?(e._hasPendingMicrotasks=h.microTask,ud(e),Ul(e)):"macroTask"==h.change&&(e.hasPendingMacrotasks=h.macroTask))},onHandleError:(n,r,c,h)=>(n.handleError(c,h),e.runOutsideAngular(()=>e.onError.emit(h)),!1)})}(c)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Nr.isInAngularZone())throw new G(909,!1)}static assertNotInAngularZone(){if(Nr.isInAngularZone())throw new G(909,!1)}run(t,n,r){return this._inner.run(t,n,r)}runTask(t,n,r,c){const h=this._inner,g=h.scheduleEventTask("NgZoneEvent: "+c,t,vf,_f,_f);try{return h.runTask(g,n,r)}finally{h.cancelTask(g)}}runGuarded(t,n,r){return this._inner.runGuarded(t,n,r)}runOutsideAngular(t){return this._outer.run(t)}}const vf={};function Ul(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 ud(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function yf(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function dd(e){e._nesting--,Ul(e)}class o1{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ds,this.onMicrotaskEmpty=new ds,this.onStable=new ds,this.onError=new ds}run(t,n,r){return t.apply(n,r)}runGuarded(t,n,r){return t.apply(n,r)}runOutsideAngular(t){return t()}runTask(t,n,r,c){return t.apply(n,r)}}const hd=new ye("",{providedIn:"root",factory:kc});function kc(){const e=Cn(Nr);let t=!0;const n=new o.y(c=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{c.next(t),c.complete()})}),r=new o.y(c=>{let h;e.runOutsideAngular(()=>{h=e.onStable.subscribe(()=>{Nr.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,c.next(!0))})})});const g=e.onUnstable.subscribe(()=>{Nr.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{c.next(!1)}))});return()=>{h.unsubscribe(),g.unsubscribe()}});return(0,I.T)(n,r.pipe((0,N.B)()))}function zl(e){return e.ownerDocument}function Es(e){return e instanceof Function?e():e}let $l=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static#e=this.\u0275prov=_t({token:e,providedIn:"root",factory:()=>new e})}return e})();function Lc(e){for(;e;){e[An]|=64;const t=_c(e);if(tt(e)&&!t)return e;e=t}return null}const Df=new ye("",{providedIn:"root",factory:()=>!1});let Wl=null;function Ef(e,t){return e[t]??Of()}function wf(e,t){const n=Of();n.producerNode?.length&&(e[t]=Wl,n.lView=e,Wl=Mf())}const m1={...Pn,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{Lc(e.lView)},lView:null};function Mf(){return Object.create(m1)}function Of(){return Wl??=Mf(),Wl}const Zn={};function a(e){l(ao(),At(),Ar()+e,!1)}function l(e,t,n,r){if(!r)if(3==(3&t[An])){const h=e.preOrderCheckHooks;null!==h&&va(t,h,n)}else{const h=e.preOrderHooks;null!==h&&tc(t,h,0,n)}kt(n)}function i(e,t=Be.Default){const n=At();return null===n?hn(e,t):Wd(Pr(),n,$(e),t)}function u(){throw new Error("invalid")}function w(e,t,n,r,c,h,g,y,O,z,ne){const _e=t.blueprint.slice();return _e[_o]=c,_e[An]=140|r,(null!==z||e&&2048&e[An])&&(_e[An]|=2048),Ii(_e),_e[eo]=_e[ui]=e,_e[no]=n,_e[ei]=g||e&&e[ei],_e[Tn]=y||e&&e[Tn],_e[mr]=O||e&&e[mr]||null,_e[$o]=h,_e[$r]=function $g(){return zg++}(),_e[gr]=ne,_e[vi]=z,_e[io]=2==t.type?e[io]:_e,_e}function W(e,t,n,r,c){let h=e.data[t];if(null===h)h=function J(e,t,n,r,c){const h=Yc(),g=Is(),O=e.data[t]=function Eo(e,t,n,r,c,h){let g=t?t.injectorIndex:-1,y=0;return As()&&(y|=128),{type:n,index:r,insertBeforeIndex:null,injectorIndex:g,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:y,providerIndexes:0,value:c,attrs:h,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,g?h:h&&h.parent,n,t,r,c);return null===e.firstChild&&(e.firstChild=O),null!==h&&(g?null==h.child&&null!==O.parent&&(h.child=O):null===h.next&&(h.next=O,O.prev=h)),O}(e,t,n,r,c),function Ld(){return kn.lFrame.inI18n}()&&(h.flags|=32);else if(64&h.type){h.type=n,h.value=r,h.attrs=c;const g=function Xi(){const e=kn.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();h.injectorIndex=null===g?-1:g.injectorIndex}return Ni(h,!0),h}function le(e,t,n,r){if(0===n)return-1;const c=t.length;for(let h=0;hHn&&l(e,t,Hn,!1),vr(y?2:0,c);const z=y?h:null,ne=tr(z);try{null!==z&&(z.dirty=!1),n(r,c)}finally{ur(z,ne)}}finally{y&&null===t[Wr]&&wf(t,Wr),kt(g),vr(y?3:1,c)}}function Qe(e,t,n){if(j(t)){const r=ln(null);try{const h=t.directiveEnd;for(let g=t.directiveStart;gnull;function Ho(e,t,n,r){for(let c in e)if(e.hasOwnProperty(c)){n=null===n?{}:n;const h=e[c];null===r?Go(n,t,c,h):r.hasOwnProperty(c)&&Go(n,t,r[c],h)}return n}function Go(e,t,n,r){e.hasOwnProperty(n)?e[n].push(t,r):e[n]=[t,r]}function ri(e,t,n,r,c,h,g,y){const O=jr(t,n);let ne,z=t.inputs;!y&&null!=z&&(ne=z[r])?(y1(e,n,ne,r,c),oe(t)&&function js(e,t){const n=Mr(t,e);16&n[An]||(n[An]|=64)}(n,t.index)):3&t.type&&(r=function Hr(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),c=null!=g?g(c,t.value||"",r):c,h.setProperty(O,r,c))}function ts(e,t,n,r){if(Gs()){const c=null===r?null:{"":-1},h=function Bi(e,t){const n=e.directiveRegistry;let r=null,c=null;if(n)for(let h=0;h0;){const n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(g)!=y&&g.push(y),g.push(n,r,h)}}(e,t,r,le(e,n,c.hostVars,Zn),c)}function Cr(e,t,n,r,c,h){const g=jr(e,t);!function Wa(e,t,n,r,c,h,g){if(null==h)e.removeAttribute(t,c,n);else{const y=null==g?X(h):g(h,r||"",c);e.setAttribute(t,c,y,n)}}(t[Tn],g,h,e.value,n,r,c)}function pd(e,t,n,r,c,h){const g=h[t];if(null!==g)for(let y=0;y{class e{constructor(){this.all=new Set,this.queue=new Map}create(n,r,c){const h=typeof Zone>"u"?null:Zone.current,g=function Mt(e,t,n){const r=Object.create(go);n&&(r.consumerAllowSignalWrites=!0),r.fn=e,r.schedule=t;const c=g=>{r.cleanupFn=g};return r.ref={notify:()=>Br(r),run:()=>{if(r.dirty=!1,r.hasRun&&!ti(r))return;r.hasRun=!0;const g=tr(r);try{r.cleanupFn(),r.cleanupFn=_n,r.fn(c)}finally{ur(r,g)}},cleanup:()=>r.cleanupFn()},r.ref}(n,z=>{this.all.has(z)&&this.queue.set(z,h)},c);let y;this.all.add(g),g.notify();const O=()=>{g.cleanup(),y?.(),this.all.delete(g),this.queue.delete(g)};return y=r?.onDestroy(O),{destroy:O}}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}static#e=this.\u0275prov=_t({token:e,providedIn:"root",factory:()=>new e})}return e})();function z0(e,t){!t?.injector&&Hl();const n=t?.injector??Cn(es),r=n.get(U0),c=!0!==t?.manualCleanup?n.get(Ds):null;return r.create(e,c,!!t?.allowSignalWrites)}function xf(e,t,n){let r=n?e.styles:null,c=n?e.classes:null,h=0;if(null!==t)for(let g=0;g0){G0(e,1);const c=n.components;null!==c&&Z0(e,c,1)}}function Z0(e,t,n){for(let r=0;r-1&&(_l(t,r),ol(n,r))}this._attachedToViewContainer=!1}Iu(this._lView[Zt],this._lView)}onDestroy(t){Hi(this._lView,t)}markForCheck(){Lc(this._cdRefInjectingView||this._lView)}detach(){this._lView[An]&=-129}reattach(){this._lView[An]|=128}detectChanges(){Pf(this._lView[Zt],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new G(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function op(e,t){yc(e,t,t[Tn],2,null,null)}(this._lView[Zt],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new G(902,!1);this._appRef=t}}class Q2 extends _d{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;Pf(t[Zt],t,t[no],!1)}checkNoChanges(){}get context(){return null}}class K0 extends Nc{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const n=Kt(t);return new vd(n,this.ngModule)}}function Q0(e){const t=[];for(let n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}class J2{constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,r){r=To(r);const c=this.injector.get(t,id,r);return c!==id||n===id?c:this.parentInjector.get(t,n,r)}}class vd extends Ac{get inputs(){const t=this.componentDef,n=t.inputTransforms,r=Q0(t.inputs);if(null!==n)for(const c of r)n.hasOwnProperty(c.propName)&&(c.transform=n[c.propName]);return r}get outputs(){return Q0(this.componentDef.outputs)}constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=function sr(e){return e.map(ns).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!n}create(t,n,r,c){let h=(c=c||this.ngModule)instanceof wi?c:c?.injector;h&&null!==this.componentDef.getStandaloneInjector&&(h=this.componentDef.getStandaloneInjector(h)||h);const g=h?new J2(t,h):t,y=g.get(lf,null);if(null===y)throw new G(407,!1);const _e={rendererFactory:y,sanitizer:g.get(df,null),effectManager:g.get(U0,null),afterRenderEventManager:g.get($l,null)},He=y.createRenderer(null,this.componentDef),Ze=this.componentDef.selectors[0][0]||"div",Et=r?function Xn(e,t,n,r){const h=r.get(Df,!1)||n===Se.ShadowDom,g=e.selectRootElement(t,h);return function Do(e){to(e)}(g),g}(He,r,this.componentDef.encapsulation,g):ml(He,Ze,function X2(e){const t=e.toLowerCase();return"svg"===t?Pi:"math"===t?"math":null}(Ze)),On=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let It=null;null!==Et&&(It=qu(Et,g,!0));const Wn=Ht(0,null,null,1,0,null,null,null,null,null,null),ro=w(null,Wn,null,On,null,null,_e,He,g,null,It);let Yo,Zi;it(ro);try{const ra=this.componentDef;let cu,Mm=null;ra.findHostDirectiveDefs?(cu=[],Mm=new Map,ra.findHostDirectiveDefs(ra,cu,Mm),cu.push(ra)):cu=[ra];const r6=function eC(e,t){const n=e[Zt],r=Hn;return e[r]=t,W(n,r,2,"#host",null)}(ro,Et),i6=function tC(e,t,n,r,c,h,g){const y=c[Zt];!function nC(e,t,n,r){for(const c of e)t.mergedAttrs=jn(t.mergedAttrs,c.hostAttrs);null!==t.mergedAttrs&&(xf(t,t.mergedAttrs,!0),null!==n&&Fh(r,n,t))}(r,e,t,g);let O=null;null!==t&&(O=qu(t,c[mr]));const z=h.rendererFactory.createRenderer(t,n);let ne=16;n.signals?ne=4096:n.onPush&&(ne=64);const _e=w(c,Lt(n),null,ne,c[e.index],e,h,z,null,null,O);return y.firstCreatePass&&fs(y,e,r.length-1),Tf(c,_e),c[e.index]=_e}(r6,Et,ra,cu,ro,_e,He);Zi=ms(Wn,Hn),Et&&function rC(e,t,n,r){if(r)Gt(e,n,["ng-version",Qp.full]);else{const{attrs:c,classes:h}=function Sn(e){const t=[],n=[];let r=1,c=2;for(;r0&&kh(e,n,h.join(" "))}}(He,ra,Et,r),void 0!==n&&function iC(e,t,n){const r=e.projection=[];for(let c=0;c=0;r--){const c=e[r];c.hostVars=t+=c.hostVars,c.hostAttrs=jn(c.hostAttrs,n=jn(n,c.hostAttrs))}}(r)}function Af(e){return e===mt?{}:e===Je?[]:e}function cC(e,t){const n=e.viewQuery;e.viewQuery=n?(r,c)=>{t(r,c),n(r,c)}:t}function lC(e,t){const n=e.contentQueries;e.contentQueries=n?(r,c,h)=>{t(r,c,h),n(r,c,h)}:t}function uC(e,t){const n=e.hostBindings;e.hostBindings=n?(r,c)=>{t(r,c),n(r,c)}:t}function J0(e){return t=>{t.findHostDirectiveDefs=q0,t.hostDirectives=(Array.isArray(e)?e:e()).map(n=>"function"==typeof n?{directive:$(n),inputs:mt,outputs:mt}:{directive:$(n.directive),inputs:e_(n.inputs),outputs:e_(n.outputs)})}}function q0(e,t,n){if(null!==e.hostDirectives)for(const r of e.hostDirectives){const c=Mn(r.directive);gC(c.declaredInputs,r.inputs),q0(c,t,n),n.set(c,r),t.push(c)}}function e_(e){if(void 0===e||0===e.length)return mt;const t={};for(let n=0;n(Ns(!0),ml(r,c,function jd(){return kn.lFrame.currentNamespace}()));function jf(e,t,n){const r=At(),c=ao(),h=e+Hn,g=c.firstCreatePass?function VC(e,t,n,r,c){const h=t.consts,g=Ai(h,r),y=W(t,e,8,"ng-container",g);return null!==g&&xf(y,g,!0),ts(t,n,y,Ai(h,c)),null!==t.queries&&t.queries.elementStart(t,y),y}(h,c,r,t,n):c.data[h];Ni(g,!0);const y=C_(c,r,g,e);return r[h]=y,Kc()&&vl(c,r,y,g),ni(y,r),ce(g)&&(ft(c,r,g),Qe(c,g,r)),null!=n&&Ot(r,g),jf}function Hf(){let e=Pr();const t=ao();return Is()?pa():(e=e.parent,Ni(e,!1)),t.firstCreatePass&&(Xc(t,e),j(e)&&t.queries.elementEnd(e)),Hf}function I1(e,t,n){return jf(e,t,n),Hf(),I1}let C_=(e,t,n,r)=>(Ns(!0),Au(t[Tn],""));function b_(){return At()}function N1(e){return!!e&&"function"==typeof e.then}function D_(e){return!!e&&"function"==typeof e.subscribe}function R1(e,t,n,r){const c=At(),h=ao(),g=Pr();return function w_(e,t,n,r,c,h,g){const y=ce(r),z=e.firstCreatePass&&j0(e),ne=t[no],_e=B0(t);let He=!0;if(3&r.type||g){const Vt=jr(r,t),cn=g?g(Vt):Vt,On=_e.length,It=g?ro=>g(Ao(ro[r.index])):r.index;let Wn=null;if(!g&&y&&(Wn=function $C(e,t,n,r){const c=e.cleanup;if(null!=c)for(let h=0;hO?y[O]:null}"string"==typeof g&&(h+=2)}return null}(e,t,c,r.index)),null!==Wn)(Wn.__ngLastListenerFn__||Wn).__ngNextListenerFn__=h,Wn.__ngLastListenerFn__=h,He=!1;else{h=O_(r,t,ne,h,!1);const ro=n.listen(cn,c,h);_e.push(h,ro),z&&z.push(c,It,On,On+1)}}else h=O_(r,t,ne,h,!1);const Ze=r.outputs;let Et;if(He&&null!==Ze&&(Et=Ze[c])){const Vt=Et.length;if(Vt)for(let cn=0;cn-1?Mr(e.index,t):t);let O=M_(t,n,r,g),z=h.__ngNextListenerFn__;for(;z;)O=M_(t,n,z,g)&&O,z=z.__ngNextListenerFn__;return c&&!1===O&&g.preventDefault(),O}}function S_(e=1){return function ma(e){return(kn.lFrame.contextLView=function ys(e,t){for(;e>0;)t=t[ui],e--;return t}(e,kn.lFrame.contextLView))[no]}(e)}function WC(e,t){let n=null;const r=function gi(e){const t=e.attrs;if(null!=t){const n=t.indexOf(5);if(!(1&n))return t[n+1]}return null}(e);for(let c=0;c>17&32767}function F1(e){return 2|e}function Hc(e){return(131068&e)>>2}function L1(e,t){return-131069&e|t<<2}function B1(e){return 1|e}function j_(e,t,n,r,c){const h=e[n+1],g=null===t;let y=r?Ga(h):Hc(h),O=!1;for(;0!==y&&(!1===O||g);){const ne=e[y+1];XC(e[y],t)&&(O=!0,e[y+1]=r?B1(ne):F1(ne)),y=r?Ga(ne):Hc(ne)}O&&(e[n+1]=r?F1(h):B1(h))}function XC(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ta(e,t)>=0}const qr={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function H_(e){return e.substring(qr.key,qr.keyEnd)}function V_(e,t){const n=qr.textEnd;return n===t?-1:(t=qr.keyEnd=function tb(e,t,n){for(;t32;)t++;return t}(e,qr.key=t,n),tu(e,t,n))}function tu(e,t,n){for(;t=0;n=V_(t,n))Ri(e,H_(t),!0)}function Os(e,t,n,r){const c=At(),h=ao(),g=as(2);h.firstUpdatePass&&Z_(h,e,g,r),t!==Zn&&Mi(c,g,t)&&Q_(h,h.data[Ar()],c,c[Tn],e,c[g+1]=function hb(e,t){return null==e||""===e||("string"==typeof t?e+=t:"object"==typeof e&&(e=F(ks(e)))),e}(t,n),r,g)}function Y_(e,t){return t>=e.expandoStartIndex}function Z_(e,t,n,r){const c=e.data;if(null===c[n+1]){const h=c[Ar()],g=Y_(e,n);J_(h,r)&&null===t&&!g&&(t=!1),t=function ib(e,t,n,r){const c=P(e);let h=r?t.residualClasses:t.residualStyles;if(null===c)0===(r?t.classBindings:t.styleBindings)&&(n=Ed(n=V1(null,e,t,n,r),t.attrs,r),h=null);else{const g=t.directiveStylingLast;if(-1===g||e[g]!==c)if(n=V1(c,e,t,n,r),null===h){let O=function sb(e,t,n){const r=n?t.classBindings:t.styleBindings;if(0!==Hc(r))return e[Ga(r)]}(e,t,r);void 0!==O&&Array.isArray(O)&&(O=V1(null,e,t,O[1],r),O=Ed(O,t.attrs,r),function ab(e,t,n,r){e[Ga(n?t.classBindings:t.styleBindings)]=r}(e,t,r,O))}else h=function cb(e,t,n){let r;const c=t.directiveEnd;for(let h=1+t.directiveStylingLast;h0)&&(z=!0)):ne=n,c)if(0!==O){const He=Ga(e[y+1]);e[r+1]=Vf(He,y),0!==He&&(e[He+1]=L1(e[He+1],r)),e[y+1]=function YC(e,t){return 131071&e|t<<17}(e[y+1],r)}else e[r+1]=Vf(y,0),0!==y&&(e[y+1]=L1(e[y+1],r)),y=r;else e[r+1]=Vf(O,0),0===y?y=r:e[O+1]=L1(e[O+1],r),O=r;z&&(e[r+1]=F1(e[r+1])),j_(e,ne,r,!0),j_(e,ne,r,!1),function QC(e,t,n,r,c){const h=c?e.residualClasses:e.residualStyles;null!=h&&"string"==typeof t&&Ta(h,t)>=0&&(n[r+1]=B1(n[r+1]))}(t,ne,e,r,h),g=Vf(y,O),h?t.classBindings=g:t.styleBindings=g}(c,h,t,n,g,r)}}function V1(e,t,n,r,c){let h=null;const g=n.directiveEnd;let y=n.directiveStylingLast;for(-1===y?y=n.directiveStart:y++;y0;){const O=e[c],z=Array.isArray(O),ne=z?O[1]:O,_e=null===ne;let He=n[c+1];He===Zn&&(He=_e?Je:void 0);let Ze=_e?il(He,r):ne===r?He:void 0;if(z&&!Uf(Ze)&&(Ze=il(O,r)),Uf(Ze)&&(y=Ze,g))return y;const Et=e[c+1];c=g?Ga(Et):Hc(Et)}if(null!==t){let O=h?t.residualClasses:t.residualStyles;null!=O&&(y=il(O,r))}return y}function Uf(e){return void 0!==e}function J_(e,t){return 0!=(e.flags&(t?8:16))}function q_(e,t=""){const n=At(),r=ao(),c=e+Hn,h=r.firstCreatePass?W(r,c,1,t,null):r.data[c],g=ev(r,n,h,t,e);n[c]=g,Kc()&&vl(r,n,g,h),Ni(h,!1)}let ev=(e,t,n,r,c)=>(Ns(!0),function pl(e,t){return e.createText(t)}(t[Tn],r));function U1(e){return zf("",e,""),U1}function zf(e,t,n){const r=At(),c=function Yl(e,t,n,r){return Mi(e,Ys(),n)?t+X(n)+r:Zn}(r,e,t,n);return c!==Zn&&function oa(e,t,n){const r=xr(t,e);!function wh(e,t,n){e.setValue(t,n)}(e[Tn],r,n)}(r,Ar(),c),zf}function z1(e,t,n){const r=At();if(Mi(r,Ys(),t)){const h=ao(),g=or();ri(h,g,r,e,t,H0(P(h.data),g,r),n,!0)}return z1}const Vc=void 0;var Rb=["en",[["a","p"],["AM","PM"],Vc],[["AM","PM"],Vc,Vc],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Vc,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Vc,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Vc,"{1} 'at' {0}",Vc],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function Nb(e){const n=Math.floor(Math.abs(e)),r=e.toString().replace(/^[^.]*\.?/,"").length;return 1===n&&0===r?1:5}];let nu={};function $1(e){const t=function kb(e){return e.toLowerCase().replace(/_/g,"-")}(e);let n=Cv(t);if(n)return n;const r=t.split("-")[0];if(n=Cv(r),n)return n;if("en"===r)return Rb;throw new G(701,!1)}function yv(e){return $1(e)[ou.PluralCase]}function Cv(e){return e in nu||(nu[e]=We.ng&&We.ng.common&&We.ng.common.locales&&We.ng.common.locales[e]),nu[e]}var ou=function(e){return e[e.LocaleId=0]="LocaleId",e[e.DayPeriodsFormat=1]="DayPeriodsFormat",e[e.DayPeriodsStandalone=2]="DayPeriodsStandalone",e[e.DaysFormat=3]="DaysFormat",e[e.DaysStandalone=4]="DaysStandalone",e[e.MonthsFormat=5]="MonthsFormat",e[e.MonthsStandalone=6]="MonthsStandalone",e[e.Eras=7]="Eras",e[e.FirstDayOfWeek=8]="FirstDayOfWeek",e[e.WeekendRange=9]="WeekendRange",e[e.DateFormat=10]="DateFormat",e[e.TimeFormat=11]="TimeFormat",e[e.DateTimeFormat=12]="DateTimeFormat",e[e.NumberSymbols=13]="NumberSymbols",e[e.NumberFormats=14]="NumberFormats",e[e.CurrencyCode=15]="CurrencyCode",e[e.CurrencySymbol=16]="CurrencySymbol",e[e.CurrencyName=17]="CurrencyName",e[e.Currencies=18]="Currencies",e[e.Directionality=19]="Directionality",e[e.PluralCase=20]="PluralCase",e[e.ExtraData=21]="ExtraData",e}(ou||{});const ru="en-US";let bv=ru;function Y1(e,t,n,r,c){if(e=$(e),Array.isArray(e))for(let h=0;h>20;if(ls(e)||!e.multi){const Ze=new nc(z,c,i),Et=K1(O,t,c?ne:ne+He,_e);-1===Et?(Ca(qc(y,g),h,O),Z1(h,e,t.length),t.push(O),y.directiveStart++,y.directiveEnd++,c&&(y.providerIndexes+=1048576),n.push(Ze),g.push(Ze)):(n[Et]=Ze,g[Et]=Ze)}else{const Ze=K1(O,t,ne+He,_e),Et=K1(O,t,ne,ne+He),cn=Et>=0&&n[Et];if(c&&!cn||!c&&!(Ze>=0&&n[Ze])){Ca(qc(y,g),h,O);const On=function N8(e,t,n,r,c){const h=new nc(e,n,i);return h.multi=[],h.index=t,h.componentProviders=0,Gv(h,c,r&&!n),h}(c?I8:A8,n.length,c,r,z);!c&&cn&&(n[Et].providerFactory=On),Z1(h,e,t.length,0),t.push(O),y.directiveStart++,y.directiveEnd++,c&&(y.providerIndexes+=1048576),n.push(On),g.push(On)}else Z1(h,e,Ze>-1?Ze:Et,Gv(n[c?Et:Ze],z,!c&&r));!c&&r&&cn&&n[Et].componentProviders++}}}function Z1(e,t,n,r){const c=ls(t),h=function Xh(e){return!!e.useClass}(t);if(c||h){const O=(h?$(t.useClass):t).prototype.ngOnDestroy;if(O){const z=e.destroyHooks||(e.destroyHooks=[]);if(!c&&t.multi){const ne=z.indexOf(n);-1===ne?z.push(n,[r,O]):z[ne+1].push(r,O)}else z.push(n,O)}}}function Gv(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function K1(e,t,n,r){for(let c=n;c{n.providersResolver=(r,c)=>function P8(e,t,n){const r=ao();if(r.firstCreatePass){const c=Oe(e);Y1(n,r.data,r.blueprint,c,!0),Y1(t,r.data,r.blueprint,c,!1)}}(r,c?c(e):e,t)}}class Uc{}class Zv{}function R8(e,t){return new X1(e,t??null,[])}class X1 extends Uc{constructor(t,n,r){super(),this._parent=n,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new K0(this);const c=ho(t);this._bootstrapComponents=Es(c.bootstrap),this._r3Injector=mf(t,n,[{provide:Uc,useValue:this},{provide:Nc,useValue:this.componentFactoryResolver},...r],F(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(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class J1 extends Zv{constructor(t){super(),this.moduleType=t}create(t){return new X1(this.moduleType,t,[])}}class Kv extends Uc{constructor(t){super(),this.componentFactoryResolver=new K0(this),this.instance=null;const n=new qs([...t.providers,{provide:Uc,useValue:this},{provide:Nc,useValue:this.componentFactoryResolver}],t.parent||Il(),t.debugName,new Set(["environment"]));this.injector=n,t.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function Qv(e,t,n=null){return new Kv({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}let F8=(()=>{class e{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Lp(0,n.type),c=r.length>0?Qv([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,c)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=_t({token:e,providedIn:"environment",factory:()=>new e(hn(wi))})}return e})();function Xv(e){e.getStandaloneInjector=t=>t.get(F8).getOrCreateStandaloneInjector(e)}function ry(e,t,n){const r=Jr()+e,c=At();return c[r]===Zn?Hs(c,r,n?t.call(n):t()):function yd(e,t){return e[t]}(c,r)}function iy(e,t,n,r){return ay(At(),Jr(),e,t,n,r)}function sy(e,t,n,r,c){return cy(At(),Jr(),e,t,n,r,c)}function xd(e,t){const n=e[t];return n===Zn?void 0:n}function ay(e,t,n,r,c,h){const g=t+n;return Mi(e,g,c)?Hs(e,g+1,h?r.call(h,c):r(c)):xd(e,g+1)}function cy(e,t,n,r,c,h,g){const y=t+n;return jc(e,y,c,h)?Hs(e,y+2,g?r.call(g,c,h):r(c,h)):xd(e,y+2)}function ly(e,t,n,r,c,h,g,y){const O=t+n;return function Nf(e,t,n,r,c){const h=jc(e,t,n,r);return Mi(e,t+2,c)||h}(e,O,c,h,g)?Hs(e,O+3,y?r.call(y,c,h,g):r(c,h,g)):xd(e,O+3)}function hy(e,t){const n=ao();let r;const c=e+Hn;n.firstCreatePass?(r=function J8(e,t){if(t)for(let n=t.length-1;n>=0;n--){const r=t[n];if(e===r.name)return r}}(t,n.pipeRegistry),n.data[c]=r,r.onDestroy&&(n.destroyHooks??=[]).push(c,r.onDestroy)):r=n.data[c];const h=r.factory||(r.factory=Fr(r.type)),y=q(i);try{const O=ic(!1),z=h();return ic(O),function LC(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}(n,At(),c,z),z}finally{q(y)}}function fy(e,t,n){const r=e+Hn,c=At(),h=Qi(c,r);return Pd(c,r)?ay(c,Jr(),t,h.transform,n,h):h.transform(n)}function gy(e,t,n,r){const c=e+Hn,h=At(),g=Qi(h,c);return Pd(h,c)?cy(h,Jr(),t,g.transform,n,r,g):g.transform(n,r)}function py(e,t,n,r,c){const h=e+Hn,g=At(),y=Qi(g,h);return Pd(g,h)?ly(g,Jr(),t,y.transform,n,r,c,y):y.transform(n,r,c)}function Pd(e,t){return e[Zt].data[t].pure}function tD(){return this._results[Symbol.iterator]()}class Zf{static#e=Symbol.iterator;get changes(){return this._changes||(this._changes=new ds)}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 n=Zf.prototype;n[Symbol.iterator]||(n[Symbol.iterator]=tD)}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,n){return this._results.reduce(t,n)}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,n){const r=this;r.dirty=!1;const c=function Ui(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function Mg(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r0&&(n[c-1][ar]=t),r{class e{static#e=this.__NG_ELEMENT_ID__=sD}return e})();const rD=Ad,iD=class extends rD{constructor(t,n,r){super(),this._declarationLView=t,this._declarationTContainer=n,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,n){return this.createEmbeddedViewImpl(t,n)}createEmbeddedViewImpl(t,n,r){const c=function nD(e,t,n,r){const c=t.tView,y=w(e,c,n,4096&e[An]?4096:16,null,t,null,null,null,r?.injector??null,r?.hydrationInfo??null);y[_i]=e[t.index];const z=e[Ko];return null!==z&&(y[Ko]=z.createEmbeddedView(c)),C1(c,y,n),y}(this._declarationLView,this._declarationTContainer,t,{injector:n,hydrationInfo:r});return new _d(c)}};function sD(){return Kf(Pr(),At())}function Kf(e,t){return 4&e.type?new iD(t,e,Bs(e,t)):null}let Xf=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=hD}return e})();function hD(){return Dy(Pr(),At())}const fD=Xf,Cy=class extends fD{constructor(t,n,r){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=r}get element(){return Bs(this._hostTNode,this._hostLView)}get injector(){return new fi(this._hostTNode,this._hostLView)}get parentInjector(){const t=tl(this._hostTNode,this._hostLView);if(mu(t)){const n=rc(t,this._hostLView),r=oc(t);return new fi(n[Zt].data[r+8],n)}return new fi(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const n=by(this._lContainer);return null!==n&&n[t]||null}get length(){return this._lContainer.length-wo}createEmbeddedView(t,n,r){let c,h;"number"==typeof r?c=r:null!=r&&(c=r.index,h=r.injector);const y=t.createEmbeddedViewImpl(n||{},h,null);return this.insertImpl(y,c,false),y}createComponent(t,n,r,c,h){const g=t&&!function cc(e){return"function"==typeof e}(t);let y;if(g)y=n;else{const Vt=n||{};y=Vt.index,r=Vt.injector,c=Vt.projectableNodes,h=Vt.environmentInjector||Vt.ngModuleRef}const O=g?t:new vd(Kt(t)),z=r||this.parentInjector;if(!h&&null==O.ngModule){const cn=(g?z:this.parentInjector).get(wi,null);cn&&(h=cn)}Kt(O.componentType??{});const Ze=O.create(z,c,null,h);return this.insertImpl(Ze.hostView,y,false),Ze}insert(t,n){return this.insertImpl(t,n,!1)}insertImpl(t,n,r){const c=t._lView;if(function nr(e){return Bo(e[eo])}(c)){const O=this.indexOf(t);if(-1!==O)this.detach(O);else{const z=c[eo],ne=new Cy(z,z[$o],z[eo]);ne.detach(ne.indexOf(t))}}const g=this._adjustIndex(n),y=this._lContainer;return oD(y,c,g,!r),t.attachToViewContainerRef(),qd(em(y),g,t),t}move(t,n){return this.insert(t,n)}indexOf(t){const n=by(this._lContainer);return null!==n?n.indexOf(t):-1}remove(t){const n=this._adjustIndex(t,-1),r=_l(this._lContainer,n);r&&(ol(em(this._lContainer),n),Iu(r[Zt],r))}detach(t){const n=this._adjustIndex(t,-1),r=_l(this._lContainer,n);return r&&null!=ol(em(this._lContainer),n)?new _d(r):null}_adjustIndex(t,n=0){return t??this.length+n}};function by(e){return e[8]}function em(e){return e[8]||(e[8]=[])}function Dy(e,t){let n;const r=t[e.index];return Bo(r)?n=r:(n=F0(r,t,null,e),t[e.index]=n,Tf(t,n)),Ey(n,t,e,r),new Cy(n,e,t)}let Ey=function wy(e,t,n,r){if(e[cr])return;let c;c=8&n.type?Ao(r):function gD(e,t){const n=e[Tn],r=n.createComment(""),c=jr(t,e);return Ks(n,Ia(n,c),r,function ku(e,t){return e.nextSibling(t)}(n,c),!1),r}(t,n),e[cr]=c};class tm{constructor(t){this.queryList=t,this.matches=null}clone(){return new tm(this.queryList)}setDirty(){this.queryList.setDirty()}}class nm{constructor(t=[]){this.queries=t}createEmbeddedView(t){const n=t.queries;if(null!==n){const r=null!==t.contentQueries?t.contentQueries[0]:n.length,c=[];for(let h=0;h0)r.push(g[y/2]);else{const z=h[y+1],ne=t[-O];for(let _e=wo;_e{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=Cn(Xy,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const c of this.appInits){const h=c();if(N1(h))n.push(h);else if(D_(h)){const g=new Promise((y,O)=>{h.subscribe({complete:y,error:O})});n.push(g)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(c=>{this.reject(c)}),0===n.length&&r(),this.initialized=!0}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=_t({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Jy=(()=>{class e{log(n){console.log(n)}warn(n){console.warn(n)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=_t({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const qf=new ye("LocaleId",{providedIn:"root",factory:()=>Cn(qf,Be.Optional|Be.SkipSelf)||function zD(){return typeof $localize<"u"&&$localize.locale||ru}()}),$D=new ye("DefaultCurrencyCode",{providedIn:"root",factory:()=>"USD"});let qy=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new k.X(!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)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=_t({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class GD{constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}}let YD=(()=>{class e{compileModuleSync(n){return new J1(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){const r=this.compileModuleSync(n),h=Es(ho(n).declarations).reduce((g,y)=>{const O=Kt(y);return O&&g.push(new vd(O)),g},[]);return new GD(r,h)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=_t({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const o2=new ye(""),r2=new ye("");let gm,p9=(()=>{class e{constructor(n,r,c){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,gm||(function m9(e){gm=e}(c),c.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:()=>{Nr.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,c){let h=-1;r&&r>0&&(h=setTimeout(()=>{this._callbacks=this._callbacks.filter(g=>g.timeoutId!==h),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:h,updateCb:c})}whenStable(n,r,c){if(c&&!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,c),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,c){return[]}static#e=this.\u0275fac=function(r){return new(r||e)(hn(Nr),hn(s2),hn(r2))};static#t=this.\u0275prov=_t({token:e,factory:e.\u0275fac})}return e})(),s2=(()=>{class e{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 gm?.findTestabilityInTree(this,n,r)??null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=_t({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),Ya=null;const a2=new ye("AllowMultipleToken"),pm=new ye("PlatformDestroyListeners"),mm=new ye("appBootstrapListener");class y9{constructor(t,n){this.name=t,this.token=n}}function u2(e,t,n=[]){const r=`Platform: ${t}`,c=new ye(r);return(h=[])=>{let g=_m();if(!g||g.injector.get(a2,!1)){const y=[...n,...h,{provide:c,useValue:!0}];e?e(y):function C9(e){if(Ya&&!Ya.get(a2,!1))throw new G(400,!1);(function c2(){!function Ka(e){ca=e}(()=>{throw new G(600,!1)})})(),Ya=e;const t=e.get(h2);(function l2(e){e.get(qh,null)?.forEach(n=>n())})(e)}(function d2(e=[],t){return es.create({name:t,providers:[{provide:wc,useValue:"platform"},{provide:pm,useValue:new Set([()=>Ya=null])},...e]})}(y,r))}return function D9(e){const t=_m();if(!t)throw new G(401,!1);return t}()}}function _m(){return Ya?.get(h2)??null}let h2=(()=>{class e{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const c=function E9(e="zone.js",t){return"noop"===e?new o1:"zone.js"===e?new Nr(t):e}(r?.ngZone,function f2(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return c.run(()=>{const h=function k8(e,t,n){return new X1(e,t,n)}(n.moduleType,this.injector,function v2(e){return[{provide:Nr,useFactory:e},{provide:ka,multi:!0,useFactory:()=>{const t=Cn(M9,{optional:!0});return()=>t.initialize()}},{provide:_2,useFactory:w9},{provide:hd,useFactory:kc}]}(()=>c)),g=h.injector.get(us,null);return c.runOutsideAngular(()=>{const y=c.onError.subscribe({next:O=>{g.handleError(O)}});h.onDestroy(()=>{tg(this._modules,h),y.unsubscribe()})}),function g2(e,t,n){try{const r=n();return N1(r)?r.catch(c=>{throw t.runOutsideAngular(()=>e.handleError(c)),c}):r}catch(r){throw t.runOutsideAngular(()=>e.handleError(r)),r}}(g,c,()=>{const y=h.injector.get(dm);return y.runInitializers(),y.donePromise.then(()=>(function Dv(e){pt(e,"Expected localeId to be defined"),"string"==typeof e&&(bv=e.toLowerCase().replace(/_/g,"-"))}(h.injector.get(qf,ru)||ru),this._moduleDoBootstrap(h),h))})})}bootstrapModule(n,r=[]){const c=p2({},r);return function _9(e,t,n){const r=new J1(n);return Promise.resolve(r)}(0,0,n).then(h=>this.bootstrapModuleFactory(h,c))}_moduleDoBootstrap(n){const r=n.injector.get(au);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(c=>r.bootstrap(c));else{if(!n.instance.ngDoBootstrap)throw new G(-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 G(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(pm,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(r){return new(r||e)(hn(es))};static#t=this.\u0275prov=_t({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function p2(e,t){return Array.isArray(t)?t.reduce(p2,e):{...e,...t}}let au=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=Cn(_2),this.zoneIsStable=Cn(hd),this.componentTypes=[],this.components=[],this.isStable=Cn(qy).hasPendingTasks.pipe((0,M.w)(n=>n?(0,T.of)(!1):this.zoneIsStable),(0,S.x)(),(0,N.B)()),this._injector=Cn(wi)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const c=n instanceof Ac;if(!this._injector.get(dm).done)throw!c&&co(n),new G(405,!1);let g;g=c?n:this._injector.get(Nc).resolveComponentFactory(n),this.componentTypes.push(g.componentType);const y=function v9(e){return e.isBoundToModule}(g)?void 0:this._injector.get(Uc),z=g.create(es.NULL,[],r||g.selector,y),ne=z.location.nativeElement,_e=z.injector.get(o2,null);return _e?.registerApplication(ne),z.onDestroy(()=>{this.detachView(z.hostView),tg(this.components,z),_e?.unregisterApplication(ne)}),this._loadComponent(z),z}tick(){if(this._runningTick)throw new G(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;tg(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(mm,[]);r.push(...this._bootstrapListeners),r.forEach(c=>c(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),()=>tg(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new G(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=_t({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function tg(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const _2=new ye("",{providedIn:"root",factory:()=>Cn(us).handleError.bind(void 0)});function w9(){const e=Cn(Nr),t=Cn(us);return n=>e.runOutsideAngular(()=>t.handleError(n))}let M9=(()=>{class e{constructor(){this.zone=Cn(Nr),this.applicationRef=Cn(au)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=_t({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function S9(){return!1}let T9=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=x9}return e})();function x9(e){return function P9(e,t,n){if(oe(e)&&!n){const r=Mr(e.index,t);return new _d(r,r)}return 47&e.type?new _d(t[io],t):null}(Pr(),At(),16==(16&e))}class D2{constructor(){}supports(t){return If(t)}create(t){return new F9(t)}}const k9=(e,t)=>t;class F9{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||k9}forEachItem(t){let n;for(n=this._itHead;null!==n;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,r=this._removalsHead,c=0,h=null;for(;n||r;){const g=!r||n&&n.currentIndex{g=this._trackByFn(c,y),null!==n&&Object.is(n.trackById,g)?(r&&(n=this._verifyReinsertion(n,y,g,c)),Object.is(n.item,y)||this._addIdentityChange(n,y)):(n=this._mismatch(n,y,g,c),r=!0),n=n._next,c++}),this.length=c;return this._truncate(n),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,n,r,c){let h;return null===t?h=this._itTail:(h=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,h,c)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(r,c))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,h,c)):t=this._addAfter(new L9(n,r),h,c),t}_verifyReinsertion(t,n,r,c){let h=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==h?t=this._reinsertAfter(h,t._prev,c):t.currentIndex!=c&&(t.currentIndex=c,this._addToMoves(t,c)),t}_truncate(t){for(;null!==t;){const n=t._next;this._addToRemovals(this._unlink(t)),t=n}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,n,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const c=t._prevRemoved,h=t._nextRemoved;return null===c?this._removalsHead=h:c._nextRemoved=h,null===h?this._removalsTail=c:h._prevRemoved=c,this._insertAfter(t,n,r),this._addToMoves(t,r),t}_moveAfter(t,n,r){return this._unlink(t),this._insertAfter(t,n,r),this._addToMoves(t,r),t}_addAfter(t,n,r){return this._insertAfter(t,n,r),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,n,r){const c=null===n?this._itHead:n._next;return t._next=c,t._prev=n,null===c?this._itTail=t:c._prev=t,null===n?this._itHead=t:n._next=t,null===this._linkedRecords&&(this._linkedRecords=new E2),this._linkedRecords.put(t),t.currentIndex=r,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const n=t._prev,r=t._next;return null===n?this._itHead=r:n._next=r,null===r?this._itTail=n:r._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new E2),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,n){return t.item=n,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class L9{constructor(t,n){this.item=t,this.trackById=n,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 B9{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,n){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===n||n<=r.currentIndex)&&Object.is(r.trackById,t))return r;return null}remove(t){const n=t._prevDup,r=t._nextDup;return null===n?this._head=r:n._nextDup=r,null===r?this._tail=n:r._prevDup=n,null===this._head}}class E2{constructor(){this.map=new Map}put(t){const n=t.trackById;let r=this.map.get(n);r||(r=new B9,this.map.set(n,r)),r.add(t)}get(t,n){const c=this.map.get(t);return c?c.get(t,n):null}remove(t){const n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function w2(e,t,n){const r=e.previousIndex;if(null===r)return r;let c=0;return n&&r{if(n&&n.key===c)this._maybeAddToChanges(n,r),this._appendAfter=n,n=n._next;else{const h=this._getOrCreateRecordForKey(c,r);n=this._insertBeforeOrAppend(n,h)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let r=n;null!==r;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,n){if(t){const r=t._prev;return n._next=t,n._prev=r,t._prev=n,r&&(r._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){const c=this._records.get(t);this._maybeAddToChanges(c,n);const h=c._prev,g=c._next;return h&&(h._next=g),g&&(g._prev=h),c._next=null,c._prev=null,c}const r=new H9(t);return this._records.set(t,r),r.currentValue=n,this._addToAdditions(r),r}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(r=>n(t[r],r))}}class H9{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function O2(){return new Dm([new D2])}let Dm=(()=>{class e{static#e=this.\u0275prov=_t({token:e,providedIn:"root",factory:O2});constructor(n){this.factories=n}static create(n,r){if(null!=r){const c=r.factories.slice();n=n.concat(c)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||O2()),deps:[[e,new ll,new cl]]}}find(n){const r=this.factories.find(c=>c.supports(n));if(null!=r)return r;throw new G(901,!1)}}return e})();function S2(){return new Em([new M2])}let Em=(()=>{class e{static#e=this.\u0275prov=_t({token:e,providedIn:"root",factory:S2});constructor(n){this.factories=n}static create(n,r){if(r){const c=r.factories.slice();n=n.concat(c)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||S2()),deps:[[e,new ll,new cl]]}}find(n){const r=this.factories.find(c=>c.supports(n));if(r)return r;throw new G(901,!1)}}return e})();const z9=u2(null,"core",[]);let $9=(()=>{class e{constructor(n){}static#e=this.\u0275fac=function(r){return new(r||e)(hn(au))};static#t=this.\u0275mod=Jo({type:e});static#n=this.\u0275inj=un({})}return e})();function t6(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}function o6(e){const t=Kt(e);if(!t)return null;const n=new vd(t);return{get selector(){return n.selector},get type(){return n.componentType},get inputs(){return n.inputs},get outputs(){return n.outputs},get ngContentSelectors(){return n.ngContentSelectors},get isStandalone(){return t.standalone},get isSignal(){return t.signals}}}},1993:(ve,m,d)=>{"use strict";d.d(m,{Dx:()=>T,O4:()=>So,sL:()=>k});var s=d(5879),p=d(5592),o=d(7328),I=d(9773);function k(Be){Be||((0,s.gHi)(k),Be=(0,s.f3M)(s.ktI));const gt=new p.y(je=>Be.onDestroy(je.next.bind(je)));return je=>je.pipe((0,I.R)(gt))}function T(Be,gt){!gt?.injector&&(0,s.gHi)(T);const je=gt?.injector??(0,s.f3M)(s.zs3),q=new o.t(1),Ce=(0,s.cEC)(()=>{let Re;try{Re=Be()}catch(We){return void(0,s.rg0)(()=>q.error(We))}(0,s.rg0)(()=>q.next(Re))},{injector:je,manualCleanup:!0});return je.get(s.ktI).onDestroy(()=>{Ce.destroy(),q.complete()}),q.asObservable()}class S extends Error{constructor(gt,je){super(function C(Be,gt){return`NG0${Math.abs(Be)}${gt?": "+gt:""}`}(gt,je)),this.code=gt}}let Y=null;function se(Be){const gt=Y;return Y=Be,gt}function So(Be,gt){const je=!gt?.manualCleanup;je&&!gt?.injector&&(0,s.gHi)(So);const q=je?gt?.injector?.get(s.ktI)??(0,s.f3M)(s.ktI):null;let Ce;return Ce=(0,s.tdS)(gt?.requireSync?{kind:0}:{kind:1,value:gt?.initialValue}),function uo(Be){const gt=se(null);try{return Be()}finally{se(gt)}}(()=>{const Re=Be.subscribe({next:We=>Ce.set({kind:1,value:We}),error:We=>Ce.set({kind:2,error:We})});q?.onDestroy(Re.unsubscribe.bind(Re))}),(0,s.Flj)(()=>{const Re=Ce();switch(Re.kind){case 1:return Re.value;case 2:throw Re.error;case 0:throw new S(601,"`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.")}})}},95:(ve,m,d)=>{"use strict";d.d(m,{Fj:()=>G,qu:()=>Ut,oH:()=>li,sg:()=>Zt,u5:()=>pr,a5:()=>Jn,JJ:()=>gt,JL:()=>je,On:()=>fr,wV:()=>on,UX:()=>wt,_Y:()=>mi});var s=d(5879),p=d(6814),o=d(9666),I=d(5592),k=d(7453),T=d(4829),N=d(9940),M=d(8251),S=d(7400),C=d(2714),F=d(7398);let L=(()=>{class A{constructor(E,K){this._renderer=E,this._elementRef=K,this.onChange=pe=>{},this.onTouched=()=>{}}setProperty(E,K){this._renderer.setProperty(this._elementRef.nativeElement,E,K)}registerOnTouched(E){this.onTouched=E}registerOnChange(E){this.onChange=E}setDisabledState(E){this.setProperty("disabled",E)}static#e=this.\u0275fac=function(K){return new(K||A)(s.Y36(s.Qsj),s.Y36(s.SBq))};static#t=this.\u0275dir=s.lG2({type:A})}return A})(),H=(()=>{class A extends L{static#e=this.\u0275fac=function(){let E;return function(pe){return(E||(E=s.n5z(A)))(pe||A)}}();static#t=this.\u0275dir=s.lG2({type:A,features:[s.qOj]})}return A})();const V=new s.OlP("NgValueAccessor"),ae={provide:V,useExisting:(0,s.Gpc)(()=>G),multi:!0},re=new s.OlP("CompositionEventMode");let G=(()=>{class A extends L{constructor(E,K,pe){super(E,K),this._compositionMode=pe,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function se(){const A=(0,p.q)()?(0,p.q)().getUserAgent():"";return/android (\d+)/.test(A.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)}static#e=this.\u0275fac=function(K){return new(K||A)(s.Y36(s.Qsj),s.Y36(s.SBq),s.Y36(re,8))};static#t=this.\u0275dir=s.lG2({type:A,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(K,pe){1&K&&s.NdJ("input",function(Qt){return pe._handleInput(Qt.target.value)})("blur",function(){return pe.onTouched()})("compositionstart",function(){return pe._compositionStart()})("compositionend",function(Qt){return pe._compositionEnd(Qt.target.value)})},features:[s._Bn([ae]),s.qOj]})}return A})();const te=new s.OlP("NgValidators"),fe=new s.OlP("NgAsyncValidators");function Ke(A){return null!=A}function Pe(A){return(0,s.QGY)(A)?(0,o.D)(A):A}function st(A){let R={};return A.forEach(E=>{R=null!=E?{...R,...E}:R}),0===Object.keys(R).length?null:R}function dt(A,R){return R.map(E=>E(A))}function pt(A){return A.map(R=>function bt(A){return!A.validate}(R)?R:E=>R.validate(E))}function ht(A){return null!=A?function Me(A){if(!A)return null;const R=A.filter(Ke);return 0==R.length?null:function(E){return st(dt(E,R))}}(pt(A)):null}function zt(A){return null!=A?function Tt(A){if(!A)return null;const R=A.filter(Ke);return 0==R.length?null:function(E){return function _(...A){const R=(0,N.jO)(A),{args:E,keys:K}=(0,k.D)(A),pe=new I.y(xt=>{const{length:Qt}=E;if(!Qt)return void xt.complete();const qn=new Array(Qt);let ir=Qt,wr=Qt;for(let Gr=0;Gr{Fr||(Fr=!0,wr--),qn[Gr]=Lr},()=>ir--,void 0,()=>{(!ir||!Fr)&&(wr||xt.next(K?(0,C.n)(K,qn):qn),xt.complete())}))}});return R?pe.pipe((0,S.Z)(R)):pe}(dt(E,R).map(Pe)).pipe((0,F.U)(st))}}(pt(A)):null}function _t(A,R){return null===A?[R]:Array.isArray(A)?[...A,R]:[A,R]}function an(A){return A._rawValidators}function un(A){return A._rawAsyncValidators}function yn(A){return A?Array.isArray(A)?A:[A]:[]}function Rn(A,R){return Array.isArray(A)?A.includes(R):A===R}function Gn(A,R){const E=yn(R);return yn(A).forEach(pe=>{Rn(E,pe)||E.push(pe)}),E}function uo(A,R){return yn(R).filter(E=>!Rn(A,E))}class Ro{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(R){this._rawValidators=R||[],this._composedValidatorFn=ht(this._rawValidators)}_setAsyncValidators(R){this._rawAsyncValidators=R||[],this._composedAsyncValidatorFn=zt(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(R){this._onDestroyCallbacks.push(R)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(R=>R()),this._onDestroyCallbacks=[]}reset(R=void 0){this.control&&this.control.reset(R)}hasError(R,E){return!!this.control&&this.control.hasError(R,E)}getError(R,E){return this.control?this.control.getError(R,E):null}}class Kn extends Ro{get formDirective(){return null}get path(){return null}}class Jn extends Ro{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Oo{constructor(R){this._cd=R}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 gt=(()=>{class A extends Oo{constructor(E){super(E)}static#e=this.\u0275fac=function(K){return new(K||A)(s.Y36(Jn,2))};static#t=this.\u0275dir=s.lG2({type:A,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(K,pe){2&K&&s.ekj("ng-untouched",pe.isUntouched)("ng-touched",pe.isTouched)("ng-pristine",pe.isPristine)("ng-dirty",pe.isDirty)("ng-valid",pe.isValid)("ng-invalid",pe.isInvalid)("ng-pending",pe.isPending)},features:[s.qOj]})}return A})(),je=(()=>{class A extends Oo{constructor(E){super(E)}static#e=this.\u0275fac=function(K){return new(K||A)(s.Y36(Kn,10))};static#t=this.\u0275dir=s.lG2({type:A,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(K,pe){2&K&&s.ekj("ng-untouched",pe.isUntouched)("ng-touched",pe.isTouched)("ng-pristine",pe.isPristine)("ng-dirty",pe.isDirty)("ng-valid",pe.isValid)("ng-invalid",pe.isInvalid)("ng-pending",pe.isPending)("ng-submitted",pe.isSubmitted)},features:[s.qOj]})}return A})();const Zo="VALID",Te="INVALID",ot="PENDING",Nt="DISABLED";function bn(A){return(ge(A)?A.validators:A)||null}function ze(A,R){return(ge(R)?R.asyncValidators:A)||null}function ge(A){return null!=A&&!Array.isArray(A)&&"object"==typeof A}function Ge(A,R,E){const K=A.controls;if(!(R?Object.keys(K):K).length)throw new s.vHH(1e3,"");if(!K[E])throw new s.vHH(1001,"")}function Rt(A,R,E){A._forEachChild((K,pe)=>{if(void 0===E[pe])throw new s.vHH(1002,"")})}class Wt{constructor(R,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(R),this._assignAsyncValidators(E)}get validator(){return this._composedValidatorFn}set validator(R){this._rawValidators=this._composedValidatorFn=R}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(R){this._rawAsyncValidators=this._composedAsyncValidatorFn=R}get parent(){return this._parent}get valid(){return this.status===Zo}get invalid(){return this.status===Te}get pending(){return this.status==ot}get disabled(){return this.status===Nt}get enabled(){return this.status!==Nt}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(R){this._assignValidators(R)}setAsyncValidators(R){this._assignAsyncValidators(R)}addValidators(R){this.setValidators(Gn(R,this._rawValidators))}addAsyncValidators(R){this.setAsyncValidators(Gn(R,this._rawAsyncValidators))}removeValidators(R){this.setValidators(uo(R,this._rawValidators))}removeAsyncValidators(R){this.setAsyncValidators(uo(R,this._rawAsyncValidators))}hasValidator(R){return Rn(this._rawValidators,R)}hasAsyncValidator(R){return Rn(this._rawAsyncValidators,R)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(R={}){this.touched=!0,this._parent&&!R.onlySelf&&this._parent.markAsTouched(R)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(R=>R.markAllAsTouched())}markAsUntouched(R={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(E=>{E.markAsUntouched({onlySelf:!0})}),this._parent&&!R.onlySelf&&this._parent._updateTouched(R)}markAsDirty(R={}){this.pristine=!1,this._parent&&!R.onlySelf&&this._parent.markAsDirty(R)}markAsPristine(R={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(E=>{E.markAsPristine({onlySelf:!0})}),this._parent&&!R.onlySelf&&this._parent._updatePristine(R)}markAsPending(R={}){this.status=ot,!1!==R.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!R.onlySelf&&this._parent.markAsPending(R)}disable(R={}){const E=this._parentMarkedDirty(R.onlySelf);this.status=Nt,this.errors=null,this._forEachChild(K=>{K.disable({...R,onlySelf:!0})}),this._updateValue(),!1!==R.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...R,skipPristineCheck:E}),this._onDisabledChange.forEach(K=>K(!0))}enable(R={}){const E=this._parentMarkedDirty(R.onlySelf);this.status=Zo,this._forEachChild(K=>{K.enable({...R,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:R.emitEvent}),this._updateAncestors({...R,skipPristineCheck:E}),this._onDisabledChange.forEach(K=>K(!1))}_updateAncestors(R){this._parent&&!R.onlySelf&&(this._parent.updateValueAndValidity(R),R.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(R){this._parent=R}getRawValue(){return this.value}updateValueAndValidity(R={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Zo||this.status===ot)&&this._runAsyncValidator(R.emitEvent)),!1!==R.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!R.onlySelf&&this._parent.updateValueAndValidity(R)}_updateTreeValidity(R={emitEvent:!0}){this._forEachChild(E=>E._updateTreeValidity(R)),this.updateValueAndValidity({onlySelf:!0,emitEvent:R.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Nt:Zo}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(R){if(this.asyncValidator){this.status=ot,this._hasOwnPendingAsyncValidator=!0;const E=Pe(this.asyncValidator(this));this._asyncValidationSubscription=E.subscribe(K=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(K,{emitEvent:R})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(R,E={}){this.errors=R,this._updateControlsErrors(!1!==E.emitEvent)}get(R){let E=R;return null==E||(Array.isArray(E)||(E=E.split(".")),0===E.length)?null:E.reduce((K,pe)=>K&&K._find(pe),this)}getError(R,E){const K=E?this.get(E):this;return K&&K.errors?K.errors[R]:null}hasError(R,E){return!!this.getError(R,E)}get root(){let R=this;for(;R._parent;)R=R._parent;return R}_updateControlsErrors(R){this.status=this._calculateStatus(),R&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(R)}_initObservables(){this.valueChanges=new s.vpe,this.statusChanges=new s.vpe}_calculateStatus(){return this._allControlsDisabled()?Nt:this.errors?Te:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ot)?ot:this._anyControlsHaveStatus(Te)?Te:Zo}_anyControlsHaveStatus(R){return this._anyControls(E=>E.status===R)}_anyControlsDirty(){return this._anyControls(R=>R.dirty)}_anyControlsTouched(){return this._anyControls(R=>R.touched)}_updatePristine(R={}){this.pristine=!this._anyControlsDirty(),this._parent&&!R.onlySelf&&this._parent._updatePristine(R)}_updateTouched(R={}){this.touched=this._anyControlsTouched(),this._parent&&!R.onlySelf&&this._parent._updateTouched(R)}_registerOnCollectionChange(R){this._onCollectionChange=R}_setUpdateStrategy(R){ge(R)&&null!=R.updateOn&&(this._updateOn=R.updateOn)}_parentMarkedDirty(R){return!R&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(R){return null}_assignValidators(R){this._rawValidators=Array.isArray(R)?R.slice():R,this._composedValidatorFn=function rt(A){return Array.isArray(A)?ht(A):A||null}(this._rawValidators)}_assignAsyncValidators(R){this._rawAsyncValidators=Array.isArray(R)?R.slice():R,this._composedAsyncValidatorFn=function de(A){return Array.isArray(A)?zt(A):A||null}(this._rawAsyncValidators)}}class hn extends Wt{constructor(R,E,K){super(bn(E),ze(K,E)),this.controls=R,this._initObservables(),this._setUpdateStrategy(E),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(R,E){return this.controls[R]?this.controls[R]:(this.controls[R]=E,E.setParent(this),E._registerOnCollectionChange(this._onCollectionChange),E)}addControl(R,E,K={}){this.registerControl(R,E),this.updateValueAndValidity({emitEvent:K.emitEvent}),this._onCollectionChange()}removeControl(R,E={}){this.controls[R]&&this.controls[R]._registerOnCollectionChange(()=>{}),delete this.controls[R],this.updateValueAndValidity({emitEvent:E.emitEvent}),this._onCollectionChange()}setControl(R,E,K={}){this.controls[R]&&this.controls[R]._registerOnCollectionChange(()=>{}),delete this.controls[R],E&&this.registerControl(R,E),this.updateValueAndValidity({emitEvent:K.emitEvent}),this._onCollectionChange()}contains(R){return this.controls.hasOwnProperty(R)&&this.controls[R].enabled}setValue(R,E={}){Rt(this,0,R),Object.keys(R).forEach(K=>{Ge(this,!0,K),this.controls[K].setValue(R[K],{onlySelf:!0,emitEvent:E.emitEvent})}),this.updateValueAndValidity(E)}patchValue(R,E={}){null!=R&&(Object.keys(R).forEach(K=>{const pe=this.controls[K];pe&&pe.patchValue(R[K],{onlySelf:!0,emitEvent:E.emitEvent})}),this.updateValueAndValidity(E))}reset(R={},E={}){this._forEachChild((K,pe)=>{K.reset(R?R[pe]:null,{onlySelf:!0,emitEvent:E.emitEvent})}),this._updatePristine(E),this._updateTouched(E),this.updateValueAndValidity(E)}getRawValue(){return this._reduceChildren({},(R,E,K)=>(R[K]=E.getRawValue(),R))}_syncPendingControls(){let R=this._reduceChildren(!1,(E,K)=>!!K._syncPendingControls()||E);return R&&this.updateValueAndValidity({onlySelf:!0}),R}_forEachChild(R){Object.keys(this.controls).forEach(E=>{const K=this.controls[E];K&&R(K,E)})}_setUpControls(){this._forEachChild(R=>{R.setParent(this),R._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(R){for(const[E,K]of Object.entries(this.controls))if(this.contains(E)&&R(K))return!0;return!1}_reduceValue(){return this._reduceChildren({},(E,K,pe)=>((K.enabled||this.disabled)&&(E[pe]=K.value),E))}_reduceChildren(R,E){let K=R;return this._forEachChild((pe,xt)=>{K=E(K,pe,xt)}),K}_allControlsDisabled(){for(const R of Object.keys(this.controls))if(this.controls[R].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(R){return this.controls.hasOwnProperty(R)?this.controls[R]:null}}class To extends hn{}const $e=new s.OlP("CallSetDisabledState",{providedIn:"root",factory:()=>we}),we="always";function Ct(A,R,E=we){mt(A,R),R.valueAccessor.writeValue(A.value),(A.disabled||"always"===E)&&R.valueAccessor.setDisabledState?.(A.disabled),function vt(A,R){R.valueAccessor.registerOnChange(E=>{A._pendingValue=E,A._pendingChange=!0,A._pendingDirty=!0,"change"===A.updateOn&&Yt(A,R)})}(A,R),function Xt(A,R){const E=(K,pe)=>{R.valueAccessor.writeValue(K),pe&&R.viewToModelUpdate(K)};A.registerOnChange(E),R._registerOnDestroy(()=>{A._unregisterOnChange(E)})}(A,R),function $t(A,R){R.valueAccessor.registerOnTouched(()=>{A._pendingTouched=!0,"blur"===A.updateOn&&A._pendingChange&&Yt(A,R),"submit"!==A.updateOn&&A.markAsTouched()})}(A,R),function Se(A,R){if(R.valueAccessor.setDisabledState){const E=K=>{R.valueAccessor.setDisabledState(K)};A.registerOnDisabledChange(E),R._registerOnDestroy(()=>{A._unregisterOnDisabledChange(E)})}}(A,R)}function Pt(A,R,E=!0){const K=()=>{};R.valueAccessor&&(R.valueAccessor.registerOnChange(K),R.valueAccessor.registerOnTouched(K)),Je(A,R),A&&(R._invokeOnDestroyCallbacks(),A._registerOnCollectionChange(()=>{}))}function ue(A,R){A.forEach(E=>{E.registerOnValidatorChange&&E.registerOnValidatorChange(R)})}function mt(A,R){const E=an(A);null!==R.validator?A.setValidators(_t(E,R.validator)):"function"==typeof E&&A.setValidators([E]);const K=un(A);null!==R.asyncValidator?A.setAsyncValidators(_t(K,R.asyncValidator)):"function"==typeof K&&A.setAsyncValidators([K]);const pe=()=>A.updateValueAndValidity();ue(R._rawValidators,pe),ue(R._rawAsyncValidators,pe)}function Je(A,R){let E=!1;if(null!==A){if(null!==R.validator){const pe=an(A);if(Array.isArray(pe)&&pe.length>0){const xt=pe.filter(Qt=>Qt!==R.validator);xt.length!==pe.length&&(E=!0,A.setValidators(xt))}}if(null!==R.asyncValidator){const pe=un(A);if(Array.isArray(pe)&&pe.length>0){const xt=pe.filter(Qt=>Qt!==R.asyncValidator);xt.length!==pe.length&&(E=!0,A.setAsyncValidators(xt))}}}const K=()=>{};return ue(R._rawValidators,K),ue(R._rawAsyncValidators,K),E}function Yt(A,R){A._pendingDirty&&A.markAsDirty(),A.setValue(A._pendingValue,{emitModelToViewChange:!1}),R.viewToModelUpdate(A._pendingValue),A._pendingChange=!1}function jn(A,R){if(!A.hasOwnProperty("model"))return!1;const E=A.model;return!!E.isFirstChange()||!Object.is(R,E.currentValue)}function xo(A,R){if(!R)return null;let E,K,pe;return Array.isArray(R),R.forEach(xt=>{xt.constructor===G?E=xt:function Co(A){return Object.getPrototypeOf(A.constructor)===H}(xt)?K=xt:pe=xt}),pe||K||E||null}function Vr(A,R){const E=A.indexOf(R);E>-1&&A.splice(E,1)}function gi(A){return"object"==typeof A&&null!==A&&2===Object.keys(A).length&&"value"in A&&"disabled"in A}const Sr=class extends Wt{constructor(R=null,E,K){super(bn(E),ze(K,E)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(R),this._setUpdateStrategy(E),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),ge(E)&&(E.nonNullable||E.initialValueIsDefault)&&(this.defaultValue=gi(R)?R.value:R)}setValue(R,E={}){this.value=this._pendingValue=R,this._onChange.length&&!1!==E.emitModelToViewChange&&this._onChange.forEach(K=>K(this.value,!1!==E.emitViewToModelChange)),this.updateValueAndValidity(E)}patchValue(R,E={}){this.setValue(R,E)}reset(R=this.defaultValue,E={}){this._applyFormState(R),this.markAsPristine(E),this.markAsUntouched(E),this.setValue(this.value,E),this._pendingChange=!1}_updateValue(){}_anyControls(R){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(R){this._onChange.push(R)}_unregisterOnChange(R){Vr(this._onChange,R)}registerOnDisabledChange(R){this._onDisabledChange.push(R)}_unregisterOnDisabledChange(R){Vr(this._onDisabledChange,R)}_forEachChild(R){}_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(R){gi(R)?(this.value=this._pendingValue=R.value,R.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=R}},kr={provide:Jn,useExisting:(0,s.Gpc)(()=>fr)},Jo=(()=>Promise.resolve())();let fr=(()=>{class A extends Jn{constructor(E,K,pe,xt,Qt,qn){super(),this._changeDetectorRef=Qt,this.callSetDisabledState=qn,this.control=new Sr,this._registered=!1,this.name="",this.update=new s.vpe,this._parent=E,this._setValidators(K),this._setAsyncValidators(pe),this.valueAccessor=xo(0,xt)}ngOnChanges(E){if(this._checkForErrors(),!this._registered||"name"in E){if(this._registered&&(this._checkName(),this.formDirective)){const K=E.name.previousValue;this.formDirective.removeControl({name:K,path:this._getPath(K)})}this._setUpControl()}"isDisabled"in E&&this._updateDisabled(E),jn(E,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(E){this.viewModel=E,this.update.emit(E)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Ct(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(E){Jo.then(()=>{this.control.setValue(E,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(E){const K=E.isDisabled.currentValue,pe=0!==K&&(0,s.VuI)(K);Jo.then(()=>{pe&&!this.control.disabled?this.control.disable():!pe&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(E){return this._parent?function Fe(A,R){return[...R.path,A]}(E,this._parent):[E]}static#e=this.\u0275fac=function(K){return new(K||A)(s.Y36(Kn,9),s.Y36(te,10),s.Y36(fe,10),s.Y36(V,10),s.Y36(s.sBO,8),s.Y36($e,8))};static#t=this.\u0275dir=s.lG2({type:A,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[s._Bn([kr]),s.qOj,s.TTD]})}return A})(),mi=(()=>{class A{static#e=this.\u0275fac=function(K){return new(K||A)};static#t=this.\u0275dir=s.lG2({type:A,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return A})();const Jt={provide:V,useExisting:(0,s.Gpc)(()=>on),multi:!0};let on=(()=>{class A extends H{writeValue(E){this.setProperty("value",E??"")}registerOnChange(E){this.onChange=K=>{E(""==K?null:parseFloat(K))}}static#e=this.\u0275fac=function(){let E;return function(pe){return(E||(E=s.n5z(A)))(pe||A)}}();static#t=this.\u0275dir=s.lG2({type:A,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(K,pe){1&K&&s.NdJ("input",function(Qt){return pe.onChange(Qt.target.value)})("blur",function(){return pe.onTouched()})},features:[s._Bn([Jt]),s.qOj]})}return A})(),zn=(()=>{class A{static#e=this.\u0275fac=function(K){return new(K||A)};static#t=this.\u0275mod=s.oAB({type:A});static#n=this.\u0275inj=s.cJS({})}return A})();const ci=new s.OlP("NgModelWithFormControlWarning"),zr={provide:Jn,useExisting:(0,s.Gpc)(()=>li)};let li=(()=>{class A extends Jn{set isDisabled(E){}static#e=this._ngModelWarningSentOnce=!1;constructor(E,K,pe,xt,Qt){super(),this._ngModelWarningConfig=xt,this.callSetDisabledState=Qt,this.update=new s.vpe,this._ngModelWarningSent=!1,this._setValidators(E),this._setAsyncValidators(K),this.valueAccessor=xo(0,pe)}ngOnChanges(E){if(this._isControlChanged(E)){const K=E.form.previousValue;K&&Pt(K,this,!1),Ct(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}jn(E,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&Pt(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(E){this.viewModel=E,this.update.emit(E)}_isControlChanged(E){return E.hasOwnProperty("form")}static#t=this.\u0275fac=function(K){return new(K||A)(s.Y36(te,10),s.Y36(fe,10),s.Y36(V,10),s.Y36(ci,8),s.Y36($e,8))};static#n=this.\u0275dir=s.lG2({type:A,selectors:[["","formControl",""]],inputs:{form:["formControl","form"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[s._Bn([zr]),s.qOj,s.TTD]})}return A})();const _o={provide:Kn,useExisting:(0,s.Gpc)(()=>Zt)};let Zt=(()=>{class A extends Kn{constructor(E,K,pe){super(),this.callSetDisabledState=pe,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new s.vpe,this._setValidators(E),this._setAsyncValidators(K)}ngOnChanges(E){this._checkFormPresent(),E.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Je(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 K=this.form.get(E.path);return Ct(K,E,this.callSetDisabledState),K.updateValueAndValidity({emitEvent:!1}),this.directives.push(E),K}getControl(E){return this.form.get(E.path)}removeControl(E){Pt(E.control||null,E,!1),function In(A,R){const E=A.indexOf(R);E>-1&&A.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,K){this.form.get(E.path).setValue(K)}onSubmit(E){return this.submitted=!0,function No(A,R){A._syncPendingControls(),R.forEach(E=>{const K=E.control;"submit"===K.updateOn&&K._pendingChange&&(E.viewToModelUpdate(K._pendingValue),K._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 K=E.control,pe=this.form.get(E.path);K!==pe&&(Pt(K||null,E),(A=>A instanceof Sr)(pe)&&(Ct(pe,E,this.callSetDisabledState),E.control=pe))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(E){const K=this.form.get(E.path);(function sn(A,R){mt(A,R)})(K,E),K.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(E){if(this.form){const K=this.form.get(E.path);K&&function pn(A,R){return Je(A,R)}(K,E)&&K.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){mt(this.form,this),this._oldForm&&Je(this._oldForm,this)}_checkFormPresent(){}static#e=this.\u0275fac=function(K){return new(K||A)(s.Y36(te,10),s.Y36(fe,10),s.Y36($e,8))};static#t=this.\u0275dir=s.lG2({type:A,selectors:[["","formGroup",""]],hostBindings:function(K,pe){1&K&&s.NdJ("submit",function(Qt){return pe.onSubmit(Qt)})("reset",function(){return pe.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[s._Bn([_o]),s.qOj,s.TTD]})}return A})(),ct=(()=>{class A{static#e=this.\u0275fac=function(K){return new(K||A)};static#t=this.\u0275mod=s.oAB({type:A});static#n=this.\u0275inj=s.cJS({imports:[zn]})}return A})();class qe extends Wt{constructor(R,E,K){super(bn(E),ze(K,E)),this.controls=R,this._initObservables(),this._setUpdateStrategy(E),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(R){return this.controls[this._adjustIndex(R)]}push(R,E={}){this.controls.push(R),this._registerControl(R),this.updateValueAndValidity({emitEvent:E.emitEvent}),this._onCollectionChange()}insert(R,E,K={}){this.controls.splice(R,0,E),this._registerControl(E),this.updateValueAndValidity({emitEvent:K.emitEvent})}removeAt(R,E={}){let K=this._adjustIndex(R);K<0&&(K=0),this.controls[K]&&this.controls[K]._registerOnCollectionChange(()=>{}),this.controls.splice(K,1),this.updateValueAndValidity({emitEvent:E.emitEvent})}setControl(R,E,K={}){let pe=this._adjustIndex(R);pe<0&&(pe=0),this.controls[pe]&&this.controls[pe]._registerOnCollectionChange(()=>{}),this.controls.splice(pe,1),E&&(this.controls.splice(pe,0,E),this._registerControl(E)),this.updateValueAndValidity({emitEvent:K.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(R,E={}){Rt(this,0,R),R.forEach((K,pe)=>{Ge(this,!1,pe),this.at(pe).setValue(K,{onlySelf:!0,emitEvent:E.emitEvent})}),this.updateValueAndValidity(E)}patchValue(R,E={}){null!=R&&(R.forEach((K,pe)=>{this.at(pe)&&this.at(pe).patchValue(K,{onlySelf:!0,emitEvent:E.emitEvent})}),this.updateValueAndValidity(E))}reset(R=[],E={}){this._forEachChild((K,pe)=>{K.reset(R[pe],{onlySelf:!0,emitEvent:E.emitEvent})}),this._updatePristine(E),this._updateTouched(E),this.updateValueAndValidity(E)}getRawValue(){return this.controls.map(R=>R.getRawValue())}clear(R={}){this.controls.length<1||(this._forEachChild(E=>E._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:R.emitEvent}))}_adjustIndex(R){return R<0?R+this.length:R}_syncPendingControls(){let R=this.controls.reduce((E,K)=>!!K._syncPendingControls()||E,!1);return R&&this.updateValueAndValidity({onlySelf:!0}),R}_forEachChild(R){this.controls.forEach((E,K)=>{R(E,K)})}_updateValue(){this.value=this.controls.filter(R=>R.enabled||this.disabled).map(R=>R.value)}_anyControls(R){return this.controls.some(E=>E.enabled&&R(E))}_setUpControls(){this._forEachChild(R=>this._registerControl(R))}_allControlsDisabled(){for(const R of this.controls)if(R.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(R){R.setParent(this),R._registerOnCollectionChange(this._onCollectionChange)}_find(R){return this.at(R)??null}}function Ft(A){return!!A&&(void 0!==A.asyncValidators||void 0!==A.validators||void 0!==A.updateOn)}let Ut=(()=>{class A{constructor(){this.useNonNullable=!1}get nonNullable(){const E=new A;return E.useNonNullable=!0,E}group(E,K=null){const pe=this._reduceControls(E);let xt={};return Ft(K)?xt=K:null!==K&&(xt.validators=K.validator,xt.asyncValidators=K.asyncValidator),new hn(pe,xt)}record(E,K=null){const pe=this._reduceControls(E);return new To(pe,K)}control(E,K,pe){let xt={};return this.useNonNullable?(Ft(K)?xt=K:(xt.validators=K,xt.asyncValidators=pe),new Sr(E,{...xt,nonNullable:!0})):new Sr(E,K,pe)}array(E,K,pe){const xt=E.map(Qt=>this._createControl(Qt));return new qe(xt,K,pe)}_reduceControls(E){const K={};return Object.keys(E).forEach(pe=>{K[pe]=this._createControl(E[pe])}),K}_createControl(E){return E instanceof Sr||E instanceof Wt?E:Array.isArray(E)?this.control(E[0],E.length>1?E[1]:null,E.length>2?E[2]:null):this.control(E)}static#e=this.\u0275fac=function(K){return new(K||A)};static#t=this.\u0275prov=s.Yz7({token:A,factory:A.\u0275fac,providedIn:"root"})}return A})(),pr=(()=>{class A{static withConfig(E){return{ngModule:A,providers:[{provide:$e,useValue:E.callSetDisabledState??we}]}}static#e=this.\u0275fac=function(K){return new(K||A)};static#t=this.\u0275mod=s.oAB({type:A});static#n=this.\u0275inj=s.cJS({imports:[ct]})}return A})(),wt=(()=>{class A{static withConfig(E){return{ngModule:A,providers:[{provide:ci,useValue:E.warnOnNgModelWithFormControl??"always"},{provide:$e,useValue:E.callSetDisabledState??we}]}}static#e=this.\u0275fac=function(K){return new(K||A)};static#t=this.\u0275mod=s.oAB({type:A});static#n=this.\u0275inj=s.cJS({imports:[ct]})}return A})()},6593:(ve,m,d)=>{"use strict";d.d(m,{Dx:()=>Jn,H7:()=>po,b2:()=>Rn,q6:()=>_t,se:()=>Ee});var s=d(5879),p=d(6814);class o extends p.w_{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class I extends o{static makeCurrent(){(0,p.HT)(new I)}onAndCancel(ze,de,ge){return ze.addEventListener(de,ge),()=>{ze.removeEventListener(de,ge)}}dispatchEvent(ze,de){ze.dispatchEvent(de)}remove(ze){ze.parentNode&&ze.parentNode.removeChild(ze)}createElement(ze,de){return(de=de||this.getDefaultDocument()).createElement(ze)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(ze){return ze.nodeType===Node.ELEMENT_NODE}isShadowRoot(ze){return ze instanceof DocumentFragment}getGlobalEventTarget(ze,de){return"window"===de?window:"document"===de?ze:"body"===de?ze.body:null}getBaseHref(ze){const de=function T(){return k=k||document.querySelector("base"),k?k.getAttribute("href"):null}();return null==de?null:function M(rt){N=N||document.createElement("a"),N.setAttribute("href",rt);const ze=N.pathname;return"/"===ze.charAt(0)?ze:`/${ze}`}(de)}resetBaseElement(){k=null}getUserAgent(){return window.navigator.userAgent}getCookie(ze){return(0,p.Mx)(document.cookie,ze)}}let N,k=null,C=(()=>{class rt{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(ge){return new(ge||rt)};static#t=this.\u0275prov=s.Yz7({token:rt,factory:rt.\u0275fac})}return rt})();const _=new s.OlP("EventManagerPlugins");let F=(()=>{class rt{constructor(de,ge){this._zone=ge,this._eventNameToPlugin=new Map,de.forEach(Ge=>{Ge.manager=this}),this._plugins=de.slice().reverse()}addEventListener(de,ge,Ge){return this._findPluginFor(ge).addEventListener(de,ge,Ge)}getZone(){return this._zone}_findPluginFor(de){let ge=this._eventNameToPlugin.get(de);if(ge)return ge;if(ge=this._plugins.find(Rt=>Rt.supports(de)),!ge)throw new s.vHH(5101,!1);return this._eventNameToPlugin.set(de,ge),ge}static#e=this.\u0275fac=function(ge){return new(ge||rt)(s.LFG(_),s.LFG(s.R0b))};static#t=this.\u0275prov=s.Yz7({token:rt,factory:rt.\u0275fac})}return rt})();class L{constructor(ze){this._doc=ze}}const H="ng-app-id";let V=(()=>{class rt{constructor(de,ge,Ge,Rt={}){this.doc=de,this.appId=ge,this.nonce=Ge,this.platformId=Rt,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=(0,p.PM)(Rt),this.resetHostNodes()}addStyles(de){for(const ge of de)1===this.changeUsageCount(ge,1)&&this.onStyleAdded(ge)}removeStyles(de){for(const ge of de)this.changeUsageCount(ge,-1)<=0&&this.onStyleRemoved(ge)}ngOnDestroy(){const de=this.styleNodesInDOM;de&&(de.forEach(ge=>ge.remove()),de.clear());for(const ge of this.getAllStyles())this.onStyleRemoved(ge);this.resetHostNodes()}addHost(de){this.hostNodes.add(de);for(const ge of this.getAllStyles())this.addStyleToHost(de,ge)}removeHost(de){this.hostNodes.delete(de)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(de){for(const ge of this.hostNodes)this.addStyleToHost(ge,de)}onStyleRemoved(de){const ge=this.styleRef;ge.get(de)?.elements?.forEach(Ge=>Ge.remove()),ge.delete(de)}collectServerRenderedStyles(){const de=this.doc.head?.querySelectorAll(`style[${H}="${this.appId}"]`);if(de?.length){const ge=new Map;return de.forEach(Ge=>{null!=Ge.textContent&&ge.set(Ge.textContent,Ge)}),ge}return null}changeUsageCount(de,ge){const Ge=this.styleRef;if(Ge.has(de)){const Rt=Ge.get(de);return Rt.usage+=ge,Rt.usage}return Ge.set(de,{usage:ge,elements:[]}),ge}getStyleElement(de,ge){const Ge=this.styleNodesInDOM,Rt=Ge?.get(ge);if(Rt?.parentNode===de)return Ge.delete(ge),Rt.removeAttribute(H),Rt;{const Wt=this.doc.createElement("style");return this.nonce&&Wt.setAttribute("nonce",this.nonce),Wt.textContent=ge,this.platformIsServer&&Wt.setAttribute(H,this.appId),Wt}}addStyleToHost(de,ge){const Ge=this.getStyleElement(de,ge);de.appendChild(Ge);const Rt=this.styleRef,Wt=Rt.get(ge)?.elements;Wt?Wt.push(Ge):Rt.set(ge,{elements:[Ge],usage:1})}resetHostNodes(){const de=this.hostNodes;de.clear(),de.add(this.doc.head)}static#e=this.\u0275fac=function(ge){return new(ge||rt)(s.LFG(p.K0),s.LFG(s.AFp),s.LFG(s.Ojb,8),s.LFG(s.Lbi))};static#t=this.\u0275prov=s.Yz7({token:rt,factory:rt.\u0275fac})}return rt})();const $={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/"},Y=/%COMP%/g,Z=new s.OlP("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function fe(rt,ze){return ze.map(de=>de.replace(Y,rt))}let Ee=(()=>{class rt{constructor(de,ge,Ge,Rt,Wt,hn,Vn,Cn=null){this.eventManager=de,this.sharedStylesHost=ge,this.appId=Ge,this.removeStylesOnCompDestroy=Rt,this.doc=Wt,this.platformId=hn,this.ngZone=Vn,this.nonce=Cn,this.rendererByCompId=new Map,this.platformIsServer=(0,p.PM)(hn),this.defaultRenderer=new xe(de,Wt,Vn,this.platformIsServer)}createRenderer(de,ge){if(!de||!ge)return this.defaultRenderer;this.platformIsServer&&ge.encapsulation===s.ifc.ShadowDom&&(ge={...ge,encapsulation:s.ifc.Emulated});const Ge=this.getOrCreateRenderer(de,ge);return Ge instanceof me?Ge.applyToHost(de):Ge instanceof nt&&Ge.applyStyles(),Ge}getOrCreateRenderer(de,ge){const Ge=this.rendererByCompId;let Rt=Ge.get(ge.id);if(!Rt){const Wt=this.doc,hn=this.ngZone,Vn=this.eventManager,Cn=this.sharedStylesHost,To=this.removeStylesOnCompDestroy,ko=this.platformIsServer;switch(ge.encapsulation){case s.ifc.Emulated:Rt=new me(Vn,Cn,ge,this.appId,To,Wt,hn,ko);break;case s.ifc.ShadowDom:return new Xe(Vn,Cn,de,ge,Wt,hn,this.nonce,ko);default:Rt=new nt(Vn,Cn,ge,To,Wt,hn,ko)}Ge.set(ge.id,Rt)}return Rt}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(ge){return new(ge||rt)(s.LFG(F),s.LFG(V),s.LFG(s.AFp),s.LFG(Z),s.LFG(p.K0),s.LFG(s.Lbi),s.LFG(s.R0b),s.LFG(s.Ojb))};static#t=this.\u0275prov=s.Yz7({token:rt,factory:rt.\u0275fac})}return rt})();class xe{constructor(ze,de,ge,Ge){this.eventManager=ze,this.doc=de,this.ngZone=ge,this.platformIsServer=Ge,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(ze,de){return de?this.doc.createElementNS($[de]||de,ze):this.doc.createElement(ze)}createComment(ze){return this.doc.createComment(ze)}createText(ze){return this.doc.createTextNode(ze)}appendChild(ze,de){(Ue(ze)?ze.content:ze).appendChild(de)}insertBefore(ze,de,ge){ze&&(Ue(ze)?ze.content:ze).insertBefore(de,ge)}removeChild(ze,de){ze&&ze.removeChild(de)}selectRootElement(ze,de){let ge="string"==typeof ze?this.doc.querySelector(ze):ze;if(!ge)throw new s.vHH(-5104,!1);return de||(ge.textContent=""),ge}parentNode(ze){return ze.parentNode}nextSibling(ze){return ze.nextSibling}setAttribute(ze,de,ge,Ge){if(Ge){de=Ge+":"+de;const Rt=$[Ge];Rt?ze.setAttributeNS(Rt,de,ge):ze.setAttribute(de,ge)}else ze.setAttribute(de,ge)}removeAttribute(ze,de,ge){if(ge){const Ge=$[ge];Ge?ze.removeAttributeNS(Ge,de):ze.removeAttribute(`${ge}:${de}`)}else ze.removeAttribute(de)}addClass(ze,de){ze.classList.add(de)}removeClass(ze,de){ze.classList.remove(de)}setStyle(ze,de,ge,Ge){Ge&(s.JOm.DashCase|s.JOm.Important)?ze.style.setProperty(de,ge,Ge&s.JOm.Important?"important":""):ze.style[de]=ge}removeStyle(ze,de,ge){ge&s.JOm.DashCase?ze.style.removeProperty(de):ze.style[de]=""}setProperty(ze,de,ge){ze[de]=ge}setValue(ze,de){ze.nodeValue=de}listen(ze,de,ge){if("string"==typeof ze&&!(ze=(0,p.q)().getGlobalEventTarget(this.doc,ze)))throw new Error(`Unsupported event target ${ze} for event ${de}`);return this.eventManager.addEventListener(ze,de,this.decoratePreventDefault(ge))}decoratePreventDefault(ze){return de=>{if("__ngUnwrap__"===de)return ze;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>ze(de)):ze(de))&&de.preventDefault()}}}function Ue(rt){return"TEMPLATE"===rt.tagName&&void 0!==rt.content}class Xe extends xe{constructor(ze,de,ge,Ge,Rt,Wt,hn,Vn){super(ze,Rt,Wt,Vn),this.sharedStylesHost=de,this.hostEl=ge,this.shadowRoot=ge.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const Cn=fe(Ge.id,Ge.styles);for(const To of Cn){const ko=document.createElement("style");hn&&ko.setAttribute("nonce",hn),ko.textContent=To,this.shadowRoot.appendChild(ko)}}nodeOrShadowRoot(ze){return ze===this.hostEl?this.shadowRoot:ze}appendChild(ze,de){return super.appendChild(this.nodeOrShadowRoot(ze),de)}insertBefore(ze,de,ge){return super.insertBefore(this.nodeOrShadowRoot(ze),de,ge)}removeChild(ze,de){return super.removeChild(this.nodeOrShadowRoot(ze),de)}parentNode(ze){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(ze)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class nt extends xe{constructor(ze,de,ge,Ge,Rt,Wt,hn,Vn){super(ze,Rt,Wt,hn),this.sharedStylesHost=de,this.removeStylesOnCompDestroy=Ge,this.styles=Vn?fe(Vn,ge.styles):ge.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class me extends nt{constructor(ze,de,ge,Ge,Rt,Wt,hn,Vn){const Cn=Ge+"-"+ge.id;super(ze,de,ge,Rt,Wt,hn,Vn,Cn),this.contentAttr=function X(rt){return"_ngcontent-%COMP%".replace(Y,rt)}(Cn),this.hostAttr=function te(rt){return"_nghost-%COMP%".replace(Y,rt)}(Cn)}applyToHost(ze){this.applyStyles(),this.setAttribute(ze,this.hostAttr,"")}createElement(ze,de){const ge=super.createElement(ze,de);return super.setAttribute(ge,this.contentAttr,""),ge}}let Ne=(()=>{class rt extends L{constructor(de){super(de)}supports(de){return!0}addEventListener(de,ge,Ge){return de.addEventListener(ge,Ge,!1),()=>this.removeEventListener(de,ge,Ge)}removeEventListener(de,ge,Ge){return de.removeEventListener(ge,Ge)}static#e=this.\u0275fac=function(ge){return new(ge||rt)(s.LFG(p.K0))};static#t=this.\u0275prov=s.Yz7({token:rt,factory:rt.\u0275fac})}return rt})();const ke=["alt","control","meta","shift"],he={"\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"},Ke={alt:rt=>rt.altKey,control:rt=>rt.ctrlKey,meta:rt=>rt.metaKey,shift:rt=>rt.shiftKey};let Pe=(()=>{class rt extends L{constructor(de){super(de)}supports(de){return null!=rt.parseEventName(de)}addEventListener(de,ge,Ge){const Rt=rt.parseEventName(ge),Wt=rt.eventCallback(Rt.fullKey,Ge,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,p.q)().onAndCancel(de,Rt.domEventName,Wt))}static parseEventName(de){const ge=de.toLowerCase().split("."),Ge=ge.shift();if(0===ge.length||"keydown"!==Ge&&"keyup"!==Ge)return null;const Rt=rt._normalizeKey(ge.pop());let Wt="",hn=ge.indexOf("code");if(hn>-1&&(ge.splice(hn,1),Wt="code."),ke.forEach(Cn=>{const To=ge.indexOf(Cn);To>-1&&(ge.splice(To,1),Wt+=Cn+".")}),Wt+=Rt,0!=ge.length||0===Rt.length)return null;const Vn={};return Vn.domEventName=Ge,Vn.fullKey=Wt,Vn}static matchEventFullKeyCode(de,ge){let Ge=he[de.key]||de.key,Rt="";return ge.indexOf("code.")>-1&&(Ge=de.code,Rt="code."),!(null==Ge||!Ge)&&(Ge=Ge.toLowerCase()," "===Ge?Ge="space":"."===Ge&&(Ge="dot"),ke.forEach(Wt=>{Wt!==Ge&&(0,Ke[Wt])(de)&&(Rt+=Wt+".")}),Rt+=Ge,Rt===ge)}static eventCallback(de,ge,Ge){return Rt=>{rt.matchEventFullKeyCode(Rt,de)&&Ge.runGuarded(()=>ge(Rt))}}static _normalizeKey(de){return"esc"===de?"escape":de}static#e=this.\u0275fac=function(ge){return new(ge||rt)(s.LFG(p.K0))};static#t=this.\u0275prov=s.Yz7({token:rt,factory:rt.\u0275fac})}return rt})();const _t=(0,s.eFA)(s._c5,"browser",[{provide:s.Lbi,useValue:p.bD},{provide:s.g9A,useValue:function Me(){I.makeCurrent()},multi:!0},{provide:p.K0,useFactory:function Tt(){return(0,s.RDi)(document),document},deps:[]}]),an=new s.OlP(""),un=[{provide:s.rWj,useClass:class S{addToWindow(ze){s.dqk.getAngularTestability=(ge,Ge=!0)=>{const Rt=ze.findTestabilityInTree(ge,Ge);if(null==Rt)throw new s.vHH(5103,!1);return Rt},s.dqk.getAllAngularTestabilities=()=>ze.getAllTestabilities(),s.dqk.getAllAngularRootElements=()=>ze.getAllRootElements(),s.dqk.frameworkStabilizers||(s.dqk.frameworkStabilizers=[]),s.dqk.frameworkStabilizers.push(ge=>{const Ge=s.dqk.getAllAngularTestabilities();let Rt=Ge.length,Wt=!1;const hn=function(Vn){Wt=Wt||Vn,Rt--,0==Rt&&ge(Wt)};Ge.forEach(Vn=>{Vn.whenStable(hn)})})}findTestabilityInTree(ze,de,ge){return null==de?null:ze.getTestability(de)??(ge?(0,p.q)().isShadowRoot(de)?this.findTestabilityInTree(ze,de.host,!0):this.findTestabilityInTree(ze,de.parentElement,!0):null)}},deps:[]},{provide:s.lri,useClass:s.dDg,deps:[s.R0b,s.eoX,s.rWj]},{provide:s.dDg,useClass:s.dDg,deps:[s.R0b,s.eoX,s.rWj]}],yn=[{provide:s.zSh,useValue:"root"},{provide:s.qLn,useFactory:function ht(){return new s.qLn},deps:[]},{provide:_,useClass:Ne,multi:!0,deps:[p.K0,s.R0b,s.Lbi]},{provide:_,useClass:Pe,multi:!0,deps:[p.K0]},Ee,V,F,{provide:s.FYo,useExisting:Ee},{provide:p.JF,useClass:C,deps:[]},[]];let Rn=(()=>{class rt{constructor(de){}static withServerTransition(de){return{ngModule:rt,providers:[{provide:s.AFp,useValue:de.appId}]}}static#e=this.\u0275fac=function(ge){return new(ge||rt)(s.LFG(an,12))};static#t=this.\u0275mod=s.oAB({type:rt});static#n=this.\u0275inj=s.cJS({providers:[...yn,...un],imports:[p.ez,s.hGG]})}return rt})(),Jn=(()=>{class rt{constructor(de){this._doc=de}getTitle(){return this._doc.title}setTitle(de){this._doc.title=de||""}static#e=this.\u0275fac=function(ge){return new(ge||rt)(s.LFG(p.K0))};static#t=this.\u0275prov=s.Yz7({token:rt,factory:function(ge){let Ge=null;return Ge=ge?new ge:function Kn(){return new Jn((0,s.LFG)(p.K0))}(),Ge},providedIn:"root"})}return rt})();typeof window<"u"&&window;let po=(()=>{class rt{static#e=this.\u0275fac=function(ge){return new(ge||rt)};static#t=this.\u0275prov=s.Yz7({token:rt,factory:function(ge){let Ge=null;return Ge=ge?new(ge||rt):s.LFG(wn),Ge},providedIn:"root"})}return rt})(),wn=(()=>{class rt extends po{constructor(de){super(),this._doc=de}sanitize(de,ge){if(null==ge)return null;switch(de){case s.q3G.NONE:return ge;case s.q3G.HTML:return(0,s.qzn)(ge,"HTML")?(0,s.z3N)(ge):(0,s.EiD)(this._doc,String(ge)).toString();case s.q3G.STYLE:return(0,s.qzn)(ge,"Style")?(0,s.z3N)(ge):ge;case s.q3G.SCRIPT:if((0,s.qzn)(ge,"Script"))return(0,s.z3N)(ge);throw new s.vHH(5200,!1);case s.q3G.URL:return(0,s.qzn)(ge,"URL")?(0,s.z3N)(ge):(0,s.mCW)(String(ge));case s.q3G.RESOURCE_URL:if((0,s.qzn)(ge,"ResourceURL"))return(0,s.z3N)(ge);throw new s.vHH(5201,!1);default:throw new s.vHH(5202,!1)}}bypassSecurityTrustHtml(de){return(0,s.JVY)(de)}bypassSecurityTrustStyle(de){return(0,s.L6k)(de)}bypassSecurityTrustScript(de){return(0,s.eBb)(de)}bypassSecurityTrustUrl(de){return(0,s.LAX)(de)}bypassSecurityTrustResourceUrl(de){return(0,s.pB0)(de)}static#e=this.\u0275fac=function(ge){return new(ge||rt)(s.LFG(p.K0))};static#t=this.\u0275prov=s.Yz7({token:rt,factory:function(ge){let Ge=null;return Ge=ge?new ge:function Ln(rt){return new wn(rt.get(p.K0))}(s.LFG(s.zs3)),Ge},providedIn:"root"})}return rt})()},776:(ve,m,d)=>{"use strict";d.d(m,{gz:()=>zr,y6:()=>on,m2:()=>Fo,F0:()=>xr,rH:()=>ms,Od:()=>Qi,Bz:()=>Xi,lC:()=>Er,Xs:()=>kr,bU:()=>Qr,ZU:()=>kd});var s=d(5879),p=d(5592),o=d(4674),k=d(9666),T=d(2096),N=d(5619),M=d(2572);const C=(0,d(2306).d)(b=>function(){b(this),this.name="EmptyError",this.message="no elements in sequence"});var _=d(5211),F=d(4829);function L(b){return new p.y(x=>{(0,F.Xf)(b()).subscribe(x)})}var H=d(8407);function V(b,x){const v=(0,o.m)(b)?b:()=>b,P=U=>U.error(v());return new p.y(x?U=>x.schedule(P,0,U):P)}var $=d(6232),Y=d(7394),ae=d(9360),se=d(8251);function re(){return(0,ae.e)((b,x)=>{let v=null;b._refCount++;const P=(0,se.x)(x,void 0,void 0,void 0,()=>{if(!b||b._refCount<=0||0<--b._refCount)return void(v=null);const U=b._connection,ie=v;v=null,U&&(!ie||U===ie)&&U.unsubscribe(),x.unsubscribe()});b.subscribe(P),P.closed||(v=b.connect())})}class G extends p.y{constructor(x,v){super(),this.source=x,this.subjectFactory=v,this._subject=null,this._refCount=0,this._connection=null,(0,ae.A)(x)&&(this.lift=x.lift)}_subscribe(x){return this.getSubject().subscribe(x)}getSubject(){const x=this._subject;return(!x||x.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:x}=this;this._subject=this._connection=null,x?.unsubscribe()}connect(){let x=this._connection;if(!x){x=this._connection=new Y.w0;const v=this.getSubject();x.add(this.source.subscribe((0,se.x)(v,void 0,()=>{this._teardown(),v.complete()},P=>{this._teardown(),v.error(P)},()=>this._teardown()))),x.closed&&(this._connection=null,x=Y.w0.EMPTY)}return x}refCount(){return re()(this)}}var Z=d(8645),X=d(6814),te=d(7398),fe=d(4664),Ee=d(8180),xe=d(7921),Ie=d(2181),Le=d(1631);function Ue(b){return(0,ae.e)((x,v)=>{let P=!1;x.subscribe((0,se.x)(v,U=>{P=!0,v.next(U)},()=>{P||v.next(b),v.complete()}))})}function Xe(b=nt){return(0,ae.e)((x,v)=>{let P=!1;x.subscribe((0,se.x)(v,U=>{P=!0,v.next(U)},()=>P?v.complete():v.error(b())))})}function nt(){return new C}var me=d(2737);function Ne(b,x){const v=arguments.length>=2;return P=>P.pipe(b?(0,Ie.h)((U,ie)=>b(U,ie,P)):me.y,(0,Ee.q)(1),v?Ue(x):Xe(()=>new C))}var ke=d(6328),he=d(9397),Ke=d(6306);function dt(b){return b<=0?()=>$.E:(0,ae.e)((x,v)=>{let P=[];x.subscribe((0,se.x)(v,U=>{P.push(U),b{for(const U of P)v.next(U);v.complete()},void 0,()=>{P=null}))})}var pt=d(975),Me=d(4716),ht=d(9773),Tt=d(7537),zt=d(6593);const _t="primary",an=Symbol("RouteTitle");class un{constructor(x){this.params=x||{}}has(x){return Object.prototype.hasOwnProperty.call(this.params,x)}get(x){if(this.has(x)){const v=this.params[x];return Array.isArray(v)?v[0]:v}return null}getAll(x){if(this.has(x)){const v=this.params[x];return Array.isArray(v)?v:[v]}return[]}get keys(){return Object.keys(this.params)}}function yn(b){return new un(b)}function Rn(b,x,v){const P=v.path.split("/");if(P.length>b.length||"full"===v.pathMatch&&(x.hasChildren()||P.lengthP[ie]===U)}return b===x}function Kn(b){return b.length>0?b[b.length-1]:null}function Jn(b){return function I(b){return!!b&&(b instanceof p.y||(0,o.m)(b.lift)&&(0,o.m)(b.subscribe))}(b)?b:(0,s.QGY)(b)?(0,k.D)(Promise.resolve(b)):(0,T.of)(b)}const Oo={exact:function je(b,x,v){if(!et(b.segments,x.segments)||!We(b.segments,x.segments,v)||b.numberOfChildren!==x.numberOfChildren)return!1;for(const P in x.children)if(!b.children[P]||!je(b.children[P],x.children[P],v))return!1;return!0},subset:Ce},So={exact:function gt(b,x){return uo(b,x)},subset:function q(b,x){return Object.keys(x).length<=Object.keys(b).length&&Object.keys(x).every(v=>Ro(b[v],x[v]))},ignored:()=>!0};function Be(b,x,v){return Oo[v.paths](b.root,x.root,v.matrixParams)&&So[v.queryParams](b.queryParams,x.queryParams)&&!("exact"===v.fragment&&b.fragment!==x.fragment)}function Ce(b,x,v){return Re(b,x,x.segments,v)}function Re(b,x,v,P){if(b.segments.length>v.length){const U=b.segments.slice(0,v.length);return!(!et(U,v)||x.hasChildren()||!We(U,v,P))}if(b.segments.length===v.length){if(!et(b.segments,v)||!We(b.segments,v,P))return!1;for(const U in x.children)if(!b.children[U]||!Ce(b.children[U],x.children[U],P))return!1;return!0}{const U=v.slice(0,b.segments.length),ie=v.slice(b.segments.length);return!!(et(b.segments,U)&&We(b.segments,U,P)&&b.children[_t])&&Re(b.children[_t],x,ie,P)}}function We(b,x,v){return x.every((P,U)=>So[v](b[U].parameters,P.parameters))}class Ve{constructor(x=new ut([],{}),v={},P=null){this.root=x,this.queryParams=v,this.fragment=P}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=yn(this.queryParams)),this._queryParamMap}toString(){return Ln.serialize(this)}}class ut{constructor(x,v){this.segments=x,this.children=v,this.parent=null,Object.values(v).forEach(P=>P.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return wn(this)}}class ye{constructor(x,v){this.path=x,this.parameters=v}get parameterMap(){return this._parameterMap||(this._parameterMap=yn(this.parameters)),this._parameterMap}toString(){return bn(this)}}function et(b,x){return b.length===x.length&&b.every((v,P)=>v.path===x[P].path)}let nn=(()=>{class b{static#e=this.\u0275fac=function(P){return new(P||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:function(){return new po},providedIn:"root"})}return b})();class po{parse(x){const v=new To(x);return new Ve(v.parseRootSegment(),v.parseQueryParams(),v.parseFragment())}serialize(x){const v=`/${Bn(x.root,!0)}`,P=function ze(b){const x=Object.keys(b).map(v=>{const P=b[v];return Array.isArray(P)?P.map(U=>`${br(v)}=${br(U)}`).join("&"):`${br(v)}=${br(P)}`}).filter(v=>!!v);return x.length?`?${x.join("&")}`:""}(x.queryParams);return`${v}${P}${"string"==typeof x.fragment?`#${function Zo(b){return encodeURI(b)}(x.fragment)}`:""}`}}const Ln=new po;function wn(b){return b.segments.map(x=>bn(x)).join("/")}function Bn(b,x){if(!b.hasChildren())return wn(b);if(x){const v=b.children[_t]?Bn(b.children[_t],!1):"",P=[];return Object.entries(b.children).forEach(([U,ie])=>{U!==_t&&P.push(`${U}:${Bn(ie,!1)}`)}),P.length>0?`${v}(${P.join("//")})`:v}{const v=function en(b,x){let v=[];return Object.entries(b.children).forEach(([P,U])=>{P===_t&&(v=v.concat(x(U,P)))}),Object.entries(b.children).forEach(([P,U])=>{P!==_t&&(v=v.concat(x(U,P)))}),v}(b,(P,U)=>U===_t?[Bn(b.children[_t],!1)]:[`${U}:${Bn(P,!1)}`]);return 1===Object.keys(b.children).length&&null!=b.children[_t]?`${wn(b)}/${v[0]}`:`${wn(b)}/(${v.join("//")})`}}function rr(b){return encodeURIComponent(b).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function br(b){return rr(b).replace(/%3B/gi,";")}function Te(b){return rr(b).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function ot(b){return decodeURIComponent(b)}function Nt(b){return ot(b.replace(/\+/g,"%20"))}function bn(b){return`${Te(b.path)}${function rt(b){return Object.keys(b).map(x=>`;${Te(x)}=${Te(b[x])}`).join("")}(b.parameters)}`}const de=/^[^\/()?;#]+/;function ge(b){const x=b.match(de);return x?x[0]:""}const Ge=/^[^\/()?;=#]+/,Wt=/^[^=?&#]+/,Vn=/^[^&#]+/;class To{constructor(x){this.url=x,this.remaining=x}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ut([],{}):new ut([],this.parseChildren())}parseQueryParams(){const x={};if(this.consumeOptional("?"))do{this.parseQueryParam(x)}while(this.consumeOptional("&"));return x}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const x=[];for(this.peekStartsWith("(")||x.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),x.push(this.parseSegment());let v={};this.peekStartsWith("/(")&&(this.capture("/"),v=this.parseParens(!0));let P={};return this.peekStartsWith("(")&&(P=this.parseParens(!1)),(x.length>0||Object.keys(v).length>0)&&(P[_t]=new ut(x,v)),P}parseSegment(){const x=ge(this.remaining);if(""===x&&this.peekStartsWith(";"))throw new s.vHH(4009,!1);return this.capture(x),new ye(ot(x),this.parseMatrixParams())}parseMatrixParams(){const x={};for(;this.consumeOptional(";");)this.parseParam(x);return x}parseParam(x){const v=function Rt(b){const x=b.match(Ge);return x?x[0]:""}(this.remaining);if(!v)return;this.capture(v);let P="";if(this.consumeOptional("=")){const U=ge(this.remaining);U&&(P=U,this.capture(P))}x[ot(v)]=ot(P)}parseQueryParam(x){const v=function hn(b){const x=b.match(Wt);return x?x[0]:""}(this.remaining);if(!v)return;this.capture(v);let P="";if(this.consumeOptional("=")){const De=function Cn(b){const x=b.match(Vn);return x?x[0]:""}(this.remaining);De&&(P=De,this.capture(P))}const U=Nt(v),ie=Nt(P);if(x.hasOwnProperty(U)){let De=x[U];Array.isArray(De)||(De=[De],x[U]=De),De.push(ie)}else x[U]=ie}parseParens(x){const v={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const P=ge(this.remaining),U=this.remaining[P.length];if("/"!==U&&")"!==U&&";"!==U)throw new s.vHH(4010,!1);let ie;P.indexOf(":")>-1?(ie=P.slice(0,P.indexOf(":")),this.capture(ie),this.capture(":")):x&&(ie=_t);const De=this.parseChildren();v[ie]=1===Object.keys(De).length?De[_t]:new ut([],De),this.consumeOptional("//")}return v}peekStartsWith(x){return this.remaining.startsWith(x)}consumeOptional(x){return!!this.peekStartsWith(x)&&(this.remaining=this.remaining.substring(x.length),!0)}capture(x){if(!this.consumeOptional(x))throw new s.vHH(4011,!1)}}function ko(b){return b.segments.length>0?new ut([],{[_t]:b}):b}function $e(b){const x={};for(const P of Object.keys(b.children)){const ie=$e(b.children[P]);if(P===_t&&0===ie.segments.length&&ie.hasChildren())for(const[De,at]of Object.entries(ie.children))x[De]=at;else(ie.segments.length>0||ie.hasChildren())&&(x[P]=ie)}return function we(b){if(1===b.numberOfChildren&&b.children[_t]){const x=b.children[_t];return new ut(b.segments.concat(x.segments),x.children)}return b}(new ut(b.segments,x))}function Fe(b){return b instanceof Ve}function Pt(b){let x;const U=ko(function v(ie){const De={};for(const it of ie.children){const qt=v(it);De[it.outlet]=qt}const at=new ut(ie.url,De);return ie===b&&(x=at),at}(b.root));return x??U}function ue(b,x,v,P){let U=b;for(;U.parent;)U=U.parent;if(0===x.length)return Je(U,U,U,v,P);const ie=function Yt(b){if("string"==typeof b[0]&&1===b.length&&"/"===b[0])return new $t(!0,0,b);let x=0,v=!1;const P=b.reduce((U,ie,De)=>{if("object"==typeof ie&&null!=ie){if(ie.outlets){const at={};return Object.entries(ie.outlets).forEach(([it,qt])=>{at[it]="string"==typeof qt?qt.split("/"):qt}),[...U,{outlets:at}]}if(ie.segmentPath)return[...U,ie.segmentPath]}return"string"!=typeof ie?[...U,ie]:0===De?(ie.split("/").forEach((at,it)=>{0==it&&"."===at||(0==it&&""===at?v=!0:".."===at?x++:""!=at&&U.push(at))}),U):[...U,ie]},[]);return new $t(v,x,P)}(x);if(ie.toRoot())return Je(U,U,new ut([],{}),v,P);const De=function sn(b,x,v){if(b.isAbsolute)return new Xt(x,!0,0);if(!v)return new Xt(x,!1,NaN);if(null===v.parent)return new Xt(v,!0,0);const P=Se(b.commands[0])?0:1;return function pn(b,x,v){let P=b,U=x,ie=v;for(;ie>U;){if(ie-=U,P=P.parent,!P)throw new s.vHH(4005,!1);U=P.segments.length}return new Xt(P,!1,U-ie)}(v,v.segments.length-1+P,b.numberOfDoubleDots)}(ie,U,b),at=De.processChildren?Gt(De.segmentGroup,De.index,ie.commands):Dt(De.segmentGroup,De.index,ie.commands);return Je(U,De.segmentGroup,at,v,P)}function Se(b){return"object"==typeof b&&null!=b&&!b.outlets&&!b.segmentPath}function mt(b){return"object"==typeof b&&null!=b&&b.outlets}function Je(b,x,v,P,U){let De,ie={};P&&Object.entries(P).forEach(([it,qt])=>{ie[it]=Array.isArray(qt)?qt.map(Un=>`${Un}`):`${qt}`}),De=b===x?v:vt(b,x,v);const at=ko($e(De));return new Ve(at,ie,U)}function vt(b,x,v){const P={};return Object.entries(b.children).forEach(([U,ie])=>{P[U]=ie===x?v:vt(ie,x,v)}),new ut(b.segments,P)}class $t{constructor(x,v,P){if(this.isAbsolute=x,this.numberOfDoubleDots=v,this.commands=P,x&&P.length>0&&Se(P[0]))throw new s.vHH(4003,!1);const U=P.find(mt);if(U&&U!==Kn(P))throw new s.vHH(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Xt{constructor(x,v,P){this.segmentGroup=x,this.processChildren=v,this.index=P}}function Dt(b,x,v){if(b||(b=new ut([],{})),0===b.segments.length&&b.hasChildren())return Gt(b,x,v);const P=function vn(b,x,v){let P=0,U=x;const ie={match:!1,pathIndex:0,commandIndex:0};for(;U=v.length)return ie;const De=b.segments[U],at=v[P];if(mt(at))break;const it=`${at}`,qt=P0&&void 0===it)break;if(it&&qt&&"object"==typeof qt&&void 0===qt.outlets){if(!No(it,qt,De))return ie;P+=2}else{if(!No(it,{},De))return ie;P++}U++}return{match:!0,pathIndex:U,commandIndex:P}}(b,x,v),U=v.slice(P.commandIndex);if(P.match&&P.pathIndexie!==_t)&&b.children[_t]&&1===b.numberOfChildren&&0===b.children[_t].segments.length){const ie=Gt(b.children[_t],x,v);return new ut(b.segments,ie.children)}return Object.entries(P).forEach(([ie,De])=>{"string"==typeof De&&(De=[De]),null!==De&&(U[ie]=Dt(b.children[ie],x,De))}),Object.entries(b.children).forEach(([ie,De])=>{void 0===P[ie]&&(U[ie]=De)}),new ut(b.segments,U)}}function gn(b,x,v){const P=b.segments.slice(0,x);let U=0;for(;U{"string"==typeof P&&(P=[P]),null!==P&&(x[v]=gn(new ut([],{}),0,P))}),x}function Co(b){const x={};return Object.entries(b).forEach(([v,P])=>x[v]=`${P}`),x}function No(b,x,v){return b==v.path&&uo(x,v.parameters)}const xo="imperative";class In{constructor(x,v){this.id=x,this.url=v}}class Uo extends In{constructor(x,v,P="imperative",U=null){super(x,v),this.type=0,this.navigationTrigger=P,this.restoredState=U}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Fo extends In{constructor(x,v,P){super(x,v),this.urlAfterRedirects=P,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class mo extends In{constructor(x,v,P,U){super(x,v),this.reason=P,this.code=U,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Dr extends In{constructor(x,v,P,U){super(x,v),this.reason=P,this.code=U,this.type=16}}class Vr extends In{constructor(x,v,P,U){super(x,v),this.error=P,this.target=U,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class gi extends In{constructor(x,v,P,U){super(x,v),this.urlAfterRedirects=P,this.state=U,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Sr extends In{constructor(x,v,P,U){super(x,v),this.urlAfterRedirects=P,this.state=U,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Ur extends In{constructor(x,v,P,U,ie){super(x,v),this.urlAfterRedirects=P,this.state=U,this.shouldActivate=ie,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class pi extends In{constructor(x,v,P,U){super(x,v),this.urlAfterRedirects=P,this.state=U,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Xo extends In{constructor(x,v,P,U){super(x,v),this.urlAfterRedirects=P,this.state=U,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ns{constructor(x){this.route=x,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class sr{constructor(x){this.route=x,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class Sn{constructor(x){this.snapshot=x,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Oi{constructor(x){this.snapshot=x,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Po{constructor(x){this.snapshot=x,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class oo{constructor(x){this.snapshot=x,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class kr{constructor(x,v,P){this.routerEvent=x,this.position=v,this.anchor=P,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class Jo{}class fr{constructor(x){this.url=x}}class Jt{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new on,this.attachRef=null}}let on=(()=>{class b{constructor(){this.contexts=new Map}onChildOutletCreated(v,P){const U=this.getOrCreateContext(v);U.outlet=P,this.contexts.set(v,U)}onChildOutletDestroyed(v){const P=this.getContext(v);P&&(P.outlet=null,P.attachRef=null)}onOutletDeactivated(){const v=this.contexts;return this.contexts=new Map,v}onOutletReAttached(v){this.contexts=v}getOrCreateContext(v){let P=this.getContext(v);return P||(P=new Jt,this.contexts.set(v,P)),P}getContext(v){return this.contexts.get(v)||null}static#e=this.\u0275fac=function(P){return new(P||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();class Kt{constructor(x){this._root=x}get root(){return this._root.value}parent(x){const v=this.pathFromRoot(x);return v.length>1?v[v.length-2]:null}children(x){const v=Mn(x,this._root);return v?v.children.map(P=>P.value):[]}firstChild(x){const v=Mn(x,this._root);return v&&v.children.length>0?v.children[0].value:null}siblings(x){const v=zn(x,this._root);return v.length<2?[]:v[v.length-2].children.map(U=>U.value).filter(U=>U!==x)}pathFromRoot(x){return zn(x,this._root).map(v=>v.value)}}function Mn(b,x){if(b===x.value)return x;for(const v of x.children){const P=Mn(b,v);if(P)return P}return null}function zn(b,x){if(b===x.value)return[x];for(const v of x.children){const P=zn(b,v);if(P.length)return P.unshift(x),P}return[]}class co{constructor(x,v){this.value=x,this.children=v}toString(){return`TreeNode(${this.value})`}}function ho(b){const x={};return b&&b.children.forEach(v=>x[v.value.outlet]=v),x}class si extends Kt{constructor(x,v){super(x),this.snapshot=v,eo(this,x)}toString(){return this.snapshot.toString()}}function ai(b,x){const v=function ci(b,x){const De=new Zt([],{},{},"",{},_t,x,null,{});return new An("",new co(De,[]))}(0,x),P=new N.X([new ye("",{})]),U=new N.X({}),ie=new N.X({}),De=new N.X({}),at=new N.X(""),it=new zr(P,U,De,at,ie,_t,x,v.root);return it.snapshot=v.root,new si(new co(it,[]),v)}class zr{constructor(x,v,P,U,ie,De,at,it){this.urlSubject=x,this.paramsSubject=v,this.queryParamsSubject=P,this.fragmentSubject=U,this.dataSubject=ie,this.outlet=De,this.component=at,this._futureSnapshot=it,this.title=this.dataSubject?.pipe((0,te.U)(qt=>qt[an]))??(0,T.of)(void 0),this.url=x,this.params=v,this.queryParams=P,this.fragment=U,this.data=ie}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe((0,te.U)(x=>yn(x)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe((0,te.U)(x=>yn(x)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function li(b,x="emptyOnly"){const v=b.pathFromRoot;let P=0;if("always"!==x)for(P=v.length-1;P>=1;){const U=v[P],ie=v[P-1];if(U.routeConfig&&""===U.routeConfig.path)P--;else{if(ie.component)break;P--}}return function _o(b){return b.reduce((x,v)=>({params:{...x.params,...v.params},data:{...x.data,...v.data},resolve:{...v.data,...x.resolve,...v.routeConfig?.data,...v._resolvedData}}),{params:{},data:{},resolve:{}})}(v.slice(P))}class Zt{get title(){return this.data?.[an]}constructor(x,v,P,U,ie,De,at,it,qt){this.url=x,this.params=v,this.queryParams=P,this.fragment=U,this.data=ie,this.outlet=De,this.component=at,this.routeConfig=it,this._resolve=qt}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=yn(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=yn(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(P=>P.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class An extends Kt{constructor(x,v){super(v),this.url=x,eo(this,v)}toString(){return ar(this._root)}}function eo(b,x){x.value._routerState=b,x.children.forEach(v=>eo(b,v))}function ar(b){const x=b.children.length>0?` { ${b.children.map(ar).join(", ")} } `:"";return`${b.value}${x}`}function zo(b){if(b.snapshot){const x=b.snapshot,v=b._futureSnapshot;b.snapshot=v,uo(x.queryParams,v.queryParams)||b.queryParamsSubject.next(v.queryParams),x.fragment!==v.fragment&&b.fragmentSubject.next(v.fragment),uo(x.params,v.params)||b.paramsSubject.next(v.params),function Gn(b,x){if(b.length!==x.length)return!1;for(let v=0;vuo(v.parameters,x[P].parameters))}(b.url,x.url);return v&&!(!b.parent!=!x.parent)&&(!b.parent||$o(b.parent,x.parent))}let Er=(()=>{class b{constructor(){this.activated=null,this._activatedRoute=null,this.name=_t,this.activateEvents=new s.vpe,this.deactivateEvents=new s.vpe,this.attachEvents=new s.vpe,this.detachEvents=new s.vpe,this.parentContexts=(0,s.f3M)(on),this.location=(0,s.f3M)(s.s_b),this.changeDetector=(0,s.f3M)(s.sBO),this.environmentInjector=(0,s.f3M)(s.lqb),this.inputBinder=(0,s.f3M)(mr,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(v){if(v.name){const{firstChange:P,previousValue:U}=v.name;if(P)return;this.isTrackedInParentContexts(U)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(U)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(v){return this.parentContexts.getContext(v)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const v=this.parentContexts.getContext(this.name);v?.route&&(v.attachRef?this.attach(v.attachRef,v.route):this.activateWith(v.route,v.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new s.vHH(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new s.vHH(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new s.vHH(4012,!1);this.location.detach();const v=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(v.instance),v}attach(v,P){this.activated=v,this._activatedRoute=P,this.location.insert(v.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(v.instance)}deactivate(){if(this.activated){const v=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(v)}}activateWith(v,P){if(this.isActivated)throw new s.vHH(4013,!1);this._activatedRoute=v;const U=this.location,De=v.snapshot.component,at=this.parentContexts.getOrCreateContext(this.name).children,it=new no(v,at,U.injector);this.activated=U.createComponent(De,{index:U.length,injector:it,environmentInjector:P??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(P){return new(P||b)};static#t=this.\u0275dir=s.lG2({type:b,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[s.TTD]})}return b})();class no{constructor(x,v,P){this.route=x,this.childContexts=v,this.parent=P}get(x,v){return x===zr?this.route:x===on?this.childContexts:this.parent.get(x,v)}}const mr=new s.OlP("");let ei=(()=>{class b{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(v){this.unsubscribeFromRouteData(v),this.subscribeToRouteData(v)}unsubscribeFromRouteData(v){this.outletDataSubscriptions.get(v)?.unsubscribe(),this.outletDataSubscriptions.delete(v)}subscribeToRouteData(v){const{activatedRoute:P}=v,U=(0,M.a)([P.queryParams,P.params,P.data]).pipe((0,fe.w)(([ie,De,at],it)=>(at={...ie,...De,...at},0===it?(0,T.of)(at):Promise.resolve(at)))).subscribe(ie=>{if(!v.isActivated||!v.activatedComponentRef||v.activatedRoute!==P||null===P.component)return void this.unsubscribeFromRouteData(v);const De=(0,s.qFp)(P.component);if(De)for(const{templateName:at}of De.inputs)v.activatedComponentRef.setInput(at,ie[at]);else this.unsubscribeFromRouteData(v)});this.outletDataSubscriptions.set(v,U)}static#e=this.\u0275fac=function(P){return new(P||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac})}return b})();function _r(b,x,v){if(v&&b.shouldReuseRoute(x.value,v.value.snapshot)){const P=v.value;P._futureSnapshot=x.value;const U=function Si(b,x,v){return x.children.map(P=>{for(const U of v.children)if(b.shouldReuseRoute(P.value,U.value.snapshot))return _r(b,P,U);return _r(b,P)})}(b,x,v);return new co(P,U)}{if(b.shouldAttach(x.value)){const ie=b.retrieve(x.value);if(null!==ie){const De=ie.route;return De.value._futureSnapshot=x.value,De.children=x.children.map(at=>_r(b,at)),De}}const P=function ui(b){return new zr(new N.X(b.url),new N.X(b.params),new N.X(b.queryParams),new N.X(b.fragment),new N.X(b.data),b.outlet,b.component,b)}(x.value),U=x.children.map(ie=>_r(b,ie));return new co(P,U)}}const io="ngNavigationCancelingError";function _i(b,x){const{redirectTo:v,navigationBehaviorOptions:P}=Fe(x)?{redirectTo:x,navigationBehaviorOptions:void 0}:x,U=qo(!1,0,x);return U.url=v,U.navigationBehaviorOptions=P,U}function qo(b,x,v){const P=new Error("NavigationCancelingError: "+(b||""));return P[io]=!0,P.cancellationCode=x,v&&(P.url=v),P}function $r(b){return b&&b[io]}let vi=(()=>{class b{static#e=this.\u0275fac=function(P){return new(P||b)};static#t=this.\u0275cmp=s.Xpm({type:b,selectors:[["ng-component"]],standalone:!0,features:[s.jDz],decls:1,vars:0,template:function(P,U){1&P&&s._UZ(0,"router-outlet")},dependencies:[Er],encapsulation:2})}return b})();function lr(b){const x=b.children&&b.children.map(lr),v=x?{...b,children:x}:{...b};return!v.component&&!v.loadComponent&&(x||v.loadChildren)&&v.outlet&&v.outlet!==_t&&(v.component=vi),v}function Wo(b){return b.outlet||_t}function wo(b){if(!b)return null;if(b.routeConfig?._injector)return b.routeConfig._injector;for(let x=b.parent;x;x=x.parent){const v=x.routeConfig;if(v?._loadedInjector)return v._loadedInjector;if(v?._injector)return v._injector}return null}class Bo{constructor(x,v,P,U,ie){this.routeReuseStrategy=x,this.futureState=v,this.currState=P,this.forwardEvent=U,this.inputBindingEnabled=ie}activate(x){const v=this.futureState._root,P=this.currState?this.currState._root:null;this.deactivateChildRoutes(v,P,x),zo(this.futureState.root),this.activateChildRoutes(v,P,x)}deactivateChildRoutes(x,v,P){const U=ho(v);x.children.forEach(ie=>{const De=ie.value.outlet;this.deactivateRoutes(ie,U[De],P),delete U[De]}),Object.values(U).forEach(ie=>{this.deactivateRouteAndItsChildren(ie,P)})}deactivateRoutes(x,v,P){const U=x.value,ie=v?v.value:null;if(U===ie)if(U.component){const De=P.getContext(U.outlet);De&&this.deactivateChildRoutes(x,v,De.children)}else this.deactivateChildRoutes(x,v,P);else ie&&this.deactivateRouteAndItsChildren(v,P)}deactivateRouteAndItsChildren(x,v){x.value.component&&this.routeReuseStrategy.shouldDetach(x.value.snapshot)?this.detachAndStoreRouteSubtree(x,v):this.deactivateRouteAndOutlet(x,v)}detachAndStoreRouteSubtree(x,v){const P=v.getContext(x.value.outlet),U=P&&x.value.component?P.children:v,ie=ho(x);for(const De of Object.keys(ie))this.deactivateRouteAndItsChildren(ie[De],U);if(P&&P.outlet){const De=P.outlet.detach(),at=P.children.onOutletDeactivated();this.routeReuseStrategy.store(x.value.snapshot,{componentRef:De,route:x,contexts:at})}}deactivateRouteAndOutlet(x,v){const P=v.getContext(x.value.outlet),U=P&&x.value.component?P.children:v,ie=ho(x);for(const De of Object.keys(ie))this.deactivateRouteAndItsChildren(ie[De],U);P&&(P.outlet&&(P.outlet.deactivate(),P.children.onOutletDeactivated()),P.attachRef=null,P.route=null)}activateChildRoutes(x,v,P){const U=ho(v);x.children.forEach(ie=>{this.activateRoutes(ie,U[ie.value.outlet],P),this.forwardEvent(new oo(ie.value.snapshot))}),x.children.length&&this.forwardEvent(new Oi(x.value.snapshot))}activateRoutes(x,v,P){const U=x.value,ie=v?v.value:null;if(zo(U),U===ie)if(U.component){const De=P.getOrCreateContext(U.outlet);this.activateChildRoutes(x,v,De.children)}else this.activateChildRoutes(x,v,P);else if(U.component){const De=P.getOrCreateContext(U.outlet);if(this.routeReuseStrategy.shouldAttach(U.snapshot)){const at=this.routeReuseStrategy.retrieve(U.snapshot);this.routeReuseStrategy.store(U.snapshot,null),De.children.onOutletReAttached(at.contexts),De.attachRef=at.componentRef,De.route=at.route.value,De.outlet&&De.outlet.attach(at.componentRef,at.route.value),zo(at.route.value),this.activateChildRoutes(x,null,De.children)}else{const at=wo(U.snapshot);De.attachRef=null,De.route=U,De.injector=at,De.outlet&&De.outlet.activateWith(U,De.injector),this.activateChildRoutes(x,null,De.children)}}else this.activateChildRoutes(x,null,P)}}class j{constructor(x){this.path=x,this.route=this.path[this.path.length-1]}}class oe{constructor(x,v){this.component=x,this.route=v}}function ce(b,x,v){const P=b._root;return ct(P,x?x._root:null,v,[P.value])}function tt(b,x){const v=Symbol(),P=x.get(b,v);return P===v?"function"!=typeof b||(0,s.Z0I)(b)?x.get(b):b:P}function ct(b,x,v,P,U={canDeactivateChecks:[],canActivateChecks:[]}){const ie=ho(x);return b.children.forEach(De=>{(function qe(b,x,v,P,U={canDeactivateChecks:[],canActivateChecks:[]}){const ie=b.value,De=x?x.value:null,at=v?v.getContext(b.value.outlet):null;if(De&&ie.routeConfig===De.routeConfig){const it=function St(b,x,v){if("function"==typeof v)return v(b,x);switch(v){case"pathParamsChange":return!et(b.url,x.url);case"pathParamsOrQueryParamsChange":return!et(b.url,x.url)||!uo(b.queryParams,x.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!$o(b,x)||!uo(b.queryParams,x.queryParams);default:return!$o(b,x)}}(De,ie,ie.routeConfig.runGuardsAndResolvers);it?U.canActivateChecks.push(new j(P)):(ie.data=De.data,ie._resolvedData=De._resolvedData),ct(b,x,ie.component?at?at.children:null:v,P,U),it&&at&&at.outlet&&at.outlet.isActivated&&U.canDeactivateChecks.push(new oe(at.outlet.component,De))}else De&&Bt(x,at,U),U.canActivateChecks.push(new j(P)),ct(b,null,ie.component?at?at.children:null:v,P,U)})(De,ie[De.value.outlet],v,P.concat([De.value]),U),delete ie[De.value.outlet]}),Object.entries(ie).forEach(([De,at])=>Bt(at,v.getContext(De),U)),U}function Bt(b,x,v){const P=ho(b),U=b.value;Object.entries(P).forEach(([ie,De])=>{Bt(De,U.component?x?x.children.getContext(ie):null:x,v)}),v.canDeactivateChecks.push(new oe(U.component&&x&&x.outlet&&x.outlet.isActivated?x.outlet.component:null,U))}function Ft(b){return"function"==typeof b}function E(b){return b instanceof C||"EmptyError"===b?.name}const K=Symbol("INITIAL_VALUE");function pe(){return(0,fe.w)(b=>(0,M.a)(b.map(x=>x.pipe((0,Ee.q)(1),(0,xe.O)(K)))).pipe((0,te.U)(x=>{for(const v of x)if(!0!==v){if(v===K)return K;if(!1===v||v instanceof Ve)return v}return!0}),(0,Ie.h)(x=>x!==K),(0,Ee.q)(1)))}function yt(b){return(0,H.z)((0,he.b)(x=>{if(Fe(x))throw _i(0,x)}),(0,te.U)(x=>!0===x))}class jt{constructor(x){this.segmentGroup=x||null}}class ln{constructor(x){this.urlTree=x}}function Pn(b){return V(new jt(b))}function Qn(b){return V(new ln(b))}class jo{constructor(x,v){this.urlSerializer=x,this.urlTree=v}noMatchError(x){return new s.vHH(4002,!1)}lineralizeSegments(x,v){let P=[],U=v.root;for(;;){if(P=P.concat(U.segments),0===U.numberOfChildren)return(0,T.of)(P);if(U.numberOfChildren>1||!U.children[_t])return V(new s.vHH(4e3,!1));U=U.children[_t]}}applyRedirectCommands(x,v,P){return this.applyRedirectCreateUrlTree(v,this.urlSerializer.parse(v),x,P)}applyRedirectCreateUrlTree(x,v,P,U){const ie=this.createSegmentGroup(x,v.root,P,U);return new Ve(ie,this.createQueryParams(v.queryParams,this.urlTree.queryParams),v.fragment)}createQueryParams(x,v){const P={};return Object.entries(x).forEach(([U,ie])=>{if("string"==typeof ie&&ie.startsWith(":")){const at=ie.substring(1);P[U]=v[at]}else P[U]=ie}),P}createSegmentGroup(x,v,P,U){const ie=this.createSegments(x,v.segments,P,U);let De={};return Object.entries(v.children).forEach(([at,it])=>{De[at]=this.createSegmentGroup(x,it,P,U)}),new ut(ie,De)}createSegments(x,v,P,U){return v.map(ie=>ie.path.startsWith(":")?this.findPosParam(x,ie,U):this.findOrReturn(ie,P))}findPosParam(x,v,P){const U=P[v.path.substring(1)];if(!U)throw new s.vHH(4001,!1);return U}findOrReturn(x,v){let P=0;for(const U of v){if(U.path===x.path)return v.splice(P),U;P++}return x}}const Br={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function tr(b,x,v,P,U){const ie=ur(b,x,v);return ie.matched?(P=function er(b,x){return b.providers&&!b._injector&&(b._injector=(0,s.MMx)(b.providers,x,`Route: ${b.path}`)),b._injector??x}(x,P),function rn(b,x,v,P){const U=x.canMatch;if(!U||0===U.length)return(0,T.of)(!0);const ie=U.map(De=>{const at=tt(De,b);return Jn(function wt(b){return b&&Ft(b.canMatch)}(at)?at.canMatch(x,v):b.runInContext(()=>at(x,v)))});return(0,T.of)(ie).pipe(pe(),yt())}(P,x,v).pipe((0,te.U)(De=>!0===De?ie:{...Br}))):(0,T.of)(ie)}function ur(b,x,v){if(""===x.path)return"full"===x.pathMatch&&(b.hasChildren()||v.length>0)?{...Br}:{matched:!0,consumedSegments:[],remainingSegments:v,parameters:{},positionalParamSegments:{}};const U=(x.matcher||Rn)(v,b,x);if(!U)return{...Br};const ie={};Object.entries(U.posParams??{}).forEach(([at,it])=>{ie[at]=it.path});const De=U.consumed.length>0?{...ie,...U.consumed[U.consumed.length-1].parameters}:ie;return{matched:!0,consumedSegments:U.consumed,remainingSegments:v.slice(U.consumed.length),parameters:De,positionalParamSegments:U.posParams??{}}}function ti(b,x,v,P){return v.length>0&&function xi(b,x,v){return v.some(P=>bi(b,x,P)&&Wo(P)!==_t)}(b,v,P)?{segmentGroup:new ut(x,hi(P,new ut(v,b.children))),slicedSegments:[]}:0===v.length&&function ps(b,x,v){return v.some(P=>bi(b,x,P))}(b,v,P)?{segmentGroup:new ut(b.segments,Tr(b,0,v,P,b.children)),slicedSegments:v}:{segmentGroup:new ut(b.segments,b.children),slicedSegments:v}}function Tr(b,x,v,P,U){const ie={};for(const De of P)if(bi(b,v,De)&&!U[Wo(De)]){const at=new ut([],{});ie[Wo(De)]=at}return{...U,...ie}}function hi(b,x){const v={};v[_t]=x;for(const P of b)if(""===P.path&&Wo(P)!==_t){const U=new ut([],{});v[Wo(P)]=U}return v}function bi(b,x,v){return(!(b.hasChildren()||x.length>0)||"full"!==v.pathMatch)&&""===v.path}class xs{constructor(x,v,P,U,ie,De,at){this.injector=x,this.configLoader=v,this.rootComponentType=P,this.config=U,this.urlTree=ie,this.paramsInheritanceStrategy=De,this.urlSerializer=at,this.allowRedirects=!0,this.applyRedirects=new jo(this.urlSerializer,this.urlTree)}noMatchError(x){return new s.vHH(4002,!1)}recognize(){const x=ti(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,x,_t).pipe((0,Ke.K)(v=>{if(v instanceof ln)return this.allowRedirects=!1,this.urlTree=v.urlTree,this.match(v.urlTree);throw v instanceof jt?this.noMatchError(v):v}),(0,te.U)(v=>{const P=new Zt([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},_t,this.rootComponentType,null,{}),U=new co(P,v),ie=new An("",U),De=function Ct(b,x,v=null,P=null){return ue(Pt(b),x,v,P)}(P,[],this.urlTree.queryParams,this.urlTree.fragment);return De.queryParams=this.urlTree.queryParams,ie.url=this.urlSerializer.serialize(De),this.inheritParamsAndData(ie._root),{state:ie,tree:De}}))}match(x){return this.processSegmentGroup(this.injector,this.config,x.root,_t).pipe((0,Ke.K)(P=>{throw P instanceof jt?this.noMatchError(P):P}))}inheritParamsAndData(x){const v=x.value,P=li(v,this.paramsInheritanceStrategy);v.params=Object.freeze(P.params),v.data=Object.freeze(P.data),x.children.forEach(U=>this.inheritParamsAndData(U))}processSegmentGroup(x,v,P,U){return 0===P.segments.length&&P.hasChildren()?this.processChildren(x,v,P):this.processSegment(x,v,P,P.segments,U,!0)}processChildren(x,v,P){const U=[];for(const ie of Object.keys(P.children))"primary"===ie?U.unshift(ie):U.push(ie);return(0,k.D)(U).pipe((0,ke.b)(ie=>{const De=P.children[ie],at=function di(b,x){const v=b.filter(P=>Wo(P)===x);return v.push(...b.filter(P=>Wo(P)!==x)),v}(v,ie);return this.processSegmentGroup(x,at,De,ie)}),function st(b,x){return(0,ae.e)(function Pe(b,x,v,P,U){return(ie,De)=>{let at=v,it=x,qt=0;ie.subscribe((0,se.x)(De,Un=>{const Io=qt++;it=at?b(it,Un,Io):(at=!0,Un),P&&De.next(it)},U&&(()=>{at&&De.next(it),De.complete()})))}}(b,x,arguments.length>=2,!0))}((ie,De)=>(ie.push(...De),ie)),Ue(null),function bt(b,x){const v=arguments.length>=2;return P=>P.pipe(b?(0,Ie.h)((U,ie)=>b(U,ie,P)):me.y,dt(1),v?Ue(x):Xe(()=>new C))}(),(0,Le.z)(ie=>{if(null===ie)return Pn(P);const De=Za(ie);return function $s(b){b.sort((x,v)=>x.value.outlet===_t?-1:v.value.outlet===_t?1:x.value.outlet.localeCompare(v.value.outlet))}(De),(0,T.of)(De)}))}processSegment(x,v,P,U,ie,De){return(0,k.D)(v).pipe((0,ke.b)(at=>this.processSegmentAgainstRoute(at._injector??x,v,at,P,U,ie,De).pipe((0,Ke.K)(it=>{if(it instanceof jt)return(0,T.of)(null);throw it}))),Ne(at=>!!at),(0,Ke.K)(at=>{if(E(at))return function zs(b,x,v){return 0===x.length&&!b.children[v]}(P,U,ie)?(0,T.of)([]):Pn(P);throw at}))}processSegmentAgainstRoute(x,v,P,U,ie,De,at){return function ia(b,x,v,P){return!!(Wo(b)===P||P!==_t&&bi(x,v,b))&&("**"===b.path||ur(x,b,v).matched)}(P,U,ie,De)?void 0===P.redirectTo?this.matchSegmentAgainstRoute(x,U,P,ie,De,at):at&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(x,U,v,P,ie,De):Pn(U):Pn(U)}expandSegmentAgainstRouteUsingRedirect(x,v,P,U,ie,De){return"**"===U.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(x,P,U,De):this.expandRegularSegmentAgainstRouteUsingRedirect(x,v,P,U,ie,De)}expandWildCardWithParamsAgainstRouteUsingRedirect(x,v,P,U){const ie=this.applyRedirects.applyRedirectCommands([],P.redirectTo,{});return P.redirectTo.startsWith("/")?Qn(ie):this.applyRedirects.lineralizeSegments(P,ie).pipe((0,Le.z)(De=>{const at=new ut(De,{});return this.processSegment(x,v,at,De,U,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(x,v,P,U,ie,De){const{matched:at,consumedSegments:it,remainingSegments:qt,positionalParamSegments:Un}=ur(v,U,ie);if(!at)return Pn(v);const Io=this.applyRedirects.applyRedirectCommands(it,U.redirectTo,Un);return U.redirectTo.startsWith("/")?Qn(Io):this.applyRedirects.lineralizeSegments(U,Io).pipe((0,Le.z)(lo=>this.processSegment(x,P,v,lo.concat(qt),De,!1)))}matchSegmentAgainstRoute(x,v,P,U,ie,De){let at;if("**"===P.path){const it=U.length>0?Kn(U).parameters:{},qt=new Zt(U,it,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,Ws(P),Wo(P),P.component??P._loadedComponent??null,P,Ka(P));at=(0,T.of)({snapshot:qt,consumedSegments:[],remainingSegments:[]}),v.children={}}else at=tr(v,P,U,x).pipe((0,te.U)(({matched:it,consumedSegments:qt,remainingSegments:Un,parameters:Io})=>it?{snapshot:new Zt(qt,Io,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,Ws(P),Wo(P),P.component??P._loadedComponent??null,P,Ka(P)),consumedSegments:qt,remainingSegments:Un}:null));return at.pipe((0,fe.w)(it=>null===it?Pn(v):this.getChildConfig(x=P._injector??x,P,U).pipe((0,fe.w)(({routes:qt})=>{const Un=P._loadedInjector??x,{snapshot:Io,consumedSegments:lo,remainingSegments:Vi}=it,{segmentGroup:ma,slicedSegments:ys}=ti(v,lo,Vi,qt);if(0===ys.length&&ma.hasChildren())return this.processChildren(Un,qt,ma).pipe((0,te.U)(kt=>null===kt?null:[new co(Io,kt)]));if(0===qt.length&&0===ys.length)return(0,T.of)([new co(Io,[])]);const Ar=Wo(P)===ie;return this.processSegment(Un,qt,ma,ys,Ar?_t:ie,!0).pipe((0,te.U)(kt=>[new co(Io,kt)]))}))))}getChildConfig(x,v,P){return v.children?(0,T.of)({routes:v.children,injector:x}):v.loadChildren?void 0!==v._loadedRoutes?(0,T.of)({routes:v._loadedRoutes,injector:v._loadedInjector}):function Ki(b,x,v,P){const U=x.canLoad;if(void 0===U||0===U.length)return(0,T.of)(!0);const ie=U.map(De=>{const at=tt(De,b);return Jn(function En(b){return b&&Ft(b.canLoad)}(at)?at.canLoad(x,v):b.runInContext(()=>at(x,v)))});return(0,T.of)(ie).pipe(pe(),yt())}(x,v,P).pipe((0,Le.z)(U=>U?this.configLoader.loadChildren(x,v).pipe((0,he.b)(ie=>{v._loadedRoutes=ie.routes,v._loadedInjector=ie.injector})):function fo(b){return V(qo(!1,3))}())):(0,T.of)({routes:[],injector:x})}}function aa(b){const x=b.value.routeConfig;return x&&""===x.path}function Za(b){const x=[],v=new Set;for(const P of b){if(!aa(P)){x.push(P);continue}const U=x.find(ie=>P.value.routeConfig===ie.value.routeConfig);void 0!==U?(U.children.push(...P.children),v.add(U)):x.push(P)}for(const P of v){const U=Za(P.children);x.push(new co(P.value,U))}return x.filter(P=>!v.has(P))}function Ws(b){return b.data||{}}function Ka(b){return b.resolve||{}}function B(b){return"string"==typeof b.title||null===b.title}function Q(b){return(0,fe.w)(x=>{const v=b(x);return v?(0,k.D)(v).pipe((0,te.U)(()=>x)):(0,T.of)(x)})}const be=new s.OlP("ROUTES");let lt=(()=>{class b{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=(0,s.f3M)(s.Sil)}loadComponent(v){if(this.componentLoaders.get(v))return this.componentLoaders.get(v);if(v._loadedComponent)return(0,T.of)(v._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(v);const P=Jn(v.loadComponent()).pipe((0,te.U)(go),(0,he.b)(ie=>{this.onLoadEndListener&&this.onLoadEndListener(v),v._loadedComponent=ie}),(0,Me.x)(()=>{this.componentLoaders.delete(v)})),U=new G(P,()=>new Z.x).pipe(re());return this.componentLoaders.set(v,U),U}loadChildren(v,P){if(this.childrenLoaders.get(P))return this.childrenLoaders.get(P);if(P._loadedRoutes)return(0,T.of)({routes:P._loadedRoutes,injector:P._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(P);const ie=function Mt(b,x,v,P){return Jn(b.loadChildren()).pipe((0,te.U)(go),(0,Le.z)(U=>U instanceof s.YKP||Array.isArray(U)?(0,T.of)(U):(0,k.D)(x.compileModuleAsync(U))),(0,te.U)(U=>{P&&P(b);let ie,De,at=!1;return Array.isArray(U)?(De=U,!0):(ie=U.create(v).injector,De=ie.get(be,[],{optional:!0,self:!0}).flat()),{routes:De.map(lr),injector:ie}}))}(P,this.compiler,v,this.onLoadEndListener).pipe((0,Me.x)(()=>{this.childrenLoaders.delete(P)})),De=new G(ie,()=>new Z.x).pipe(re());return this.childrenLoaders.set(P,De),De}static#e=this.\u0275fac=function(P){return new(P||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();function go(b){return function _n(b){return b&&"object"==typeof b&&"default"in b}(b)?b.default:b}let vo=(()=>{class b{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new Z.x,this.transitionAbortSubject=new Z.x,this.configLoader=(0,s.f3M)(lt),this.environmentInjector=(0,s.f3M)(s.lqb),this.urlSerializer=(0,s.f3M)(nn),this.rootContexts=(0,s.f3M)(on),this.inputBindingEnabled=null!==(0,s.f3M)(mr,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>(0,T.of)(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=U=>this.events.next(new sr(U)),this.configLoader.onLoadStartListener=U=>this.events.next(new ns(U))}complete(){this.transitions?.complete()}handleNavigationRequest(v){const P=++this.navigationId;this.transitions?.next({...this.transitions.value,...v,id:P})}setupNavigations(v,P,U){return this.transitions=new N.X({id:0,currentUrlTree:P,currentRawUrl:P,currentBrowserUrl:P,extractedUrl:v.urlHandlingStrategy.extract(P),urlAfterRedirects:v.urlHandlingStrategy.extract(P),rawUrl:P,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:xo,restoredState:null,currentSnapshot:U.snapshot,targetSnapshot:null,currentRouterState:U,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe((0,Ie.h)(ie=>0!==ie.id),(0,te.U)(ie=>({...ie,extractedUrl:v.urlHandlingStrategy.extract(ie.rawUrl)})),(0,fe.w)(ie=>{this.currentTransition=ie;let De=!1,at=!1;return(0,T.of)(ie).pipe((0,he.b)(it=>{this.currentNavigation={id:it.id,initialUrl:it.rawUrl,extractedUrl:it.extractedUrl,trigger:it.source,extras:it.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),(0,fe.w)(it=>{const qt=it.currentBrowserUrl.toString(),Un=!v.navigated||it.extractedUrl.toString()!==qt||qt!==it.currentUrlTree.toString();if(!Un&&"reload"!==(it.extras.onSameUrlNavigation??v.onSameUrlNavigation)){const lo="";return this.events.next(new Dr(it.id,this.urlSerializer.serialize(it.rawUrl),lo,0)),it.resolve(null),$.E}if(v.urlHandlingStrategy.shouldProcessUrl(it.rawUrl))return(0,T.of)(it).pipe((0,fe.w)(lo=>{const Vi=this.transitions?.getValue();return this.events.next(new Uo(lo.id,this.urlSerializer.serialize(lo.extractedUrl),lo.source,lo.restoredState)),Vi!==this.transitions?.getValue()?$.E:Promise.resolve(lo)}),function Ps(b,x,v,P,U,ie){return(0,Le.z)(De=>function sa(b,x,v,P,U,ie,De="emptyOnly"){return new xs(b,x,v,P,U,De,ie).recognize()}(b,x,v,P,De.extractedUrl,U,ie).pipe((0,te.U)(({state:at,tree:it})=>({...De,targetSnapshot:at,urlAfterRedirects:it}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,v.config,this.urlSerializer,v.paramsInheritanceStrategy),(0,he.b)(lo=>{ie.targetSnapshot=lo.targetSnapshot,ie.urlAfterRedirects=lo.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:lo.urlAfterRedirects};const Vi=new gi(lo.id,this.urlSerializer.serialize(lo.extractedUrl),this.urlSerializer.serialize(lo.urlAfterRedirects),lo.targetSnapshot);this.events.next(Vi)}));if(Un&&v.urlHandlingStrategy.shouldProcessUrl(it.currentRawUrl)){const{id:lo,extractedUrl:Vi,source:ma,restoredState:ys,extras:Ar}=it,kt=new Uo(lo,this.urlSerializer.serialize(Vi),ma,ys);this.events.next(kt);const or=ai(0,this.rootComponentType).snapshot;return this.currentTransition=ie={...it,targetSnapshot:or,urlAfterRedirects:Vi,extras:{...Ar,skipLocationChange:!1,replaceUrl:!1}},(0,T.of)(ie)}{const lo="";return this.events.next(new Dr(it.id,this.urlSerializer.serialize(it.extractedUrl),lo,1)),it.resolve(null),$.E}}),(0,he.b)(it=>{const qt=new Sr(it.id,this.urlSerializer.serialize(it.extractedUrl),this.urlSerializer.serialize(it.urlAfterRedirects),it.targetSnapshot);this.events.next(qt)}),(0,te.U)(it=>(this.currentTransition=ie={...it,guards:ce(it.targetSnapshot,it.currentSnapshot,this.rootContexts)},ie)),function xt(b,x){return(0,Le.z)(v=>{const{targetSnapshot:P,currentSnapshot:U,guards:{canActivateChecks:ie,canDeactivateChecks:De}}=v;return 0===De.length&&0===ie.length?(0,T.of)({...v,guardsResult:!0}):function Qt(b,x,v,P){return(0,k.D)(b).pipe((0,Le.z)(U=>function Lr(b,x,v,P,U){const ie=x&&x.routeConfig?x.routeConfig.canDeactivate:null;if(!ie||0===ie.length)return(0,T.of)(!0);const De=ie.map(at=>{const it=wo(x)??U,qt=tt(at,it);return Jn(function pr(b){return b&&Ft(b.canDeactivate)}(qt)?qt.canDeactivate(b,x,v,P):it.runInContext(()=>qt(b,x,v,P))).pipe(Ne())});return(0,T.of)(De).pipe(pe())}(U.component,U.route,v,x,P)),Ne(U=>!0!==U,!0))}(De,P,U,b).pipe((0,Le.z)(at=>at&&function Ut(b){return"boolean"==typeof b}(at)?function qn(b,x,v,P){return(0,k.D)(x).pipe((0,ke.b)(U=>(0,_.z)(function wr(b,x){return null!==b&&x&&x(new Sn(b)),(0,T.of)(!0)}(U.route.parent,P),function ir(b,x){return null!==b&&x&&x(new Po(b)),(0,T.of)(!0)}(U.route,P),function Fr(b,x,v){const P=x[x.length-1],ie=x.slice(0,x.length-1).reverse().map(De=>function Oe(b){const x=b.routeConfig?b.routeConfig.canActivateChild:null;return x&&0!==x.length?{node:b,guards:x}:null}(De)).filter(De=>null!==De).map(De=>L(()=>{const at=De.guards.map(it=>{const qt=wo(De.node)??v,Un=tt(it,qt);return Jn(function dn(b){return b&&Ft(b.canActivateChild)}(Un)?Un.canActivateChild(P,b):qt.runInContext(()=>Un(P,b))).pipe(Ne())});return(0,T.of)(at).pipe(pe())}));return(0,T.of)(ie).pipe(pe())}(b,U.path,v),function Gr(b,x,v){const P=x.routeConfig?x.routeConfig.canActivate:null;if(!P||0===P.length)return(0,T.of)(!0);const U=P.map(ie=>L(()=>{const De=wo(x)??v,at=tt(ie,De);return Jn(function Dn(b){return b&&Ft(b.canActivate)}(at)?at.canActivate(x,b):De.runInContext(()=>at(x,b))).pipe(Ne())}));return(0,T.of)(U).pipe(pe())}(b,U.route,v))),Ne(U=>!0!==U,!0))}(P,ie,b,x):(0,T.of)(at)),(0,te.U)(at=>({...v,guardsResult:at})))})}(this.environmentInjector,it=>this.events.next(it)),(0,he.b)(it=>{if(ie.guardsResult=it.guardsResult,Fe(it.guardsResult))throw _i(0,it.guardsResult);const qt=new Ur(it.id,this.urlSerializer.serialize(it.extractedUrl),this.urlSerializer.serialize(it.urlAfterRedirects),it.targetSnapshot,!!it.guardsResult);this.events.next(qt)}),(0,Ie.h)(it=>!!it.guardsResult||(this.cancelNavigationTransition(it,"",3),!1)),Q(it=>{if(it.guards.canActivateChecks.length)return(0,T.of)(it).pipe((0,he.b)(qt=>{const Un=new pi(qt.id,this.urlSerializer.serialize(qt.extractedUrl),this.urlSerializer.serialize(qt.urlAfterRedirects),qt.targetSnapshot);this.events.next(Un)}),(0,fe.w)(qt=>{let Un=!1;return(0,T.of)(qt).pipe(function rs(b,x){return(0,Le.z)(v=>{const{targetSnapshot:P,guards:{canActivateChecks:U}}=v;if(!U.length)return(0,T.of)(v);let ie=0;return(0,k.D)(U).pipe((0,ke.b)(De=>function la(b,x,v,P){const U=b.routeConfig,ie=b._resolve;return void 0!==U?.title&&!B(U)&&(ie[an]=U.title),function ua(b,x,v,P){const U=function D(b){return[...Object.keys(b),...Object.getOwnPropertySymbols(b)]}(b);if(0===U.length)return(0,T.of)({});const ie={};return(0,k.D)(U).pipe((0,Le.z)(De=>function ee(b,x,v,P){const U=wo(x)??P,ie=tt(b,U);return Jn(ie.resolve?ie.resolve(x,v):U.runInContext(()=>ie(x,v)))}(b[De],x,v,P).pipe(Ne(),(0,he.b)(at=>{ie[De]=at}))),dt(1),(0,pt.h)(ie),(0,Ke.K)(De=>E(De)?$.E:V(De)))}(ie,b,x,P).pipe((0,te.U)(De=>(b._resolvedData=De,b.data=li(b,v).resolve,U&&B(U)&&(b.data[an]=U.title),null)))}(De.route,P,b,x)),(0,he.b)(()=>ie++),dt(1),(0,Le.z)(De=>ie===U.length?(0,T.of)(v):$.E))})}(v.paramsInheritanceStrategy,this.environmentInjector),(0,he.b)({next:()=>Un=!0,complete:()=>{Un||this.cancelNavigationTransition(qt,"",2)}}))}),(0,he.b)(qt=>{const Un=new Xo(qt.id,this.urlSerializer.serialize(qt.extractedUrl),this.urlSerializer.serialize(qt.urlAfterRedirects),qt.targetSnapshot);this.events.next(Un)}))}),Q(it=>{const qt=Un=>{const Io=[];Un.routeConfig?.loadComponent&&!Un.routeConfig._loadedComponent&&Io.push(this.configLoader.loadComponent(Un.routeConfig).pipe((0,he.b)(lo=>{Un.component=lo}),(0,te.U)(()=>{})));for(const lo of Un.children)Io.push(...qt(lo));return Io};return(0,M.a)(qt(it.targetSnapshot.root)).pipe(Ue(),(0,Ee.q)(1))}),Q(()=>this.afterPreactivation()),(0,te.U)(it=>{const qt=function Tn(b,x,v){const P=_r(b,x._root,v?v._root:void 0);return new si(P,x)}(v.routeReuseStrategy,it.targetSnapshot,it.currentRouterState);return this.currentTransition=ie={...it,targetRouterState:qt},ie}),(0,he.b)(()=>{this.events.next(new Jo)}),((b,x,v,P)=>(0,te.U)(U=>(new Bo(x,U.targetRouterState,U.currentRouterState,v,P).activate(b),U)))(this.rootContexts,v.routeReuseStrategy,it=>this.events.next(it),this.inputBindingEnabled),(0,Ee.q)(1),(0,he.b)({next:it=>{De=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Fo(it.id,this.urlSerializer.serialize(it.extractedUrl),this.urlSerializer.serialize(it.urlAfterRedirects))),v.titleStrategy?.updateTitle(it.targetRouterState.snapshot),it.resolve(!0)},complete:()=>{De=!0}}),(0,ht.R)(this.transitionAbortSubject.pipe((0,he.b)(it=>{throw it}))),(0,Me.x)(()=>{De||at||this.cancelNavigationTransition(ie,"",1),this.currentNavigation?.id===ie.id&&(this.currentNavigation=null)}),(0,Ke.K)(it=>{if(at=!0,$r(it))this.events.next(new mo(ie.id,this.urlSerializer.serialize(ie.extractedUrl),it.message,it.cancellationCode)),function Ko(b){return $r(b)&&Fe(b.url)}(it)?this.events.next(new fr(it.url)):ie.resolve(!1);else{this.events.next(new Vr(ie.id,this.urlSerializer.serialize(ie.extractedUrl),it,ie.targetSnapshot??void 0));try{ie.resolve(v.errorHandler(it))}catch(qt){ie.reject(qt)}}return $.E}))}))}cancelNavigationTransition(v,P,U){const ie=new mo(v.id,this.urlSerializer.serialize(v.extractedUrl),P,U);this.events.next(ie),v.resolve(!1)}static#e=this.\u0275fac=function(P){return new(P||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();function so(b){return b!==xo}let $n=(()=>{class b{buildTitle(v){let P,U=v.root;for(;void 0!==U;)P=this.getResolvedTitleForRoute(U)??P,U=U.children.find(ie=>ie.outlet===_t);return P}getResolvedTitleForRoute(v){return v.data[an]}static#e=this.\u0275fac=function(P){return new(P||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:function(){return(0,s.f3M)(Qo)},providedIn:"root"})}return b})(),Qo=(()=>{class b extends $n{constructor(v){super(),this.title=v}updateTitle(v){const P=this.buildTitle(v);void 0!==P&&this.title.setTitle(P)}static#e=this.\u0275fac=function(P){return new(P||b)(s.LFG(zt.Dx))};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})(),bo=(()=>{class b{static#e=this.\u0275fac=function(P){return new(P||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:function(){return(0,s.f3M)(Di)},providedIn:"root"})}return b})();class dr{shouldDetach(x){return!1}store(x,v){}shouldAttach(x){return!1}retrieve(x){return null}shouldReuseRoute(x,v){return x.routeConfig===v.routeConfig}}let Di=(()=>{class b extends dr{static#e=this.\u0275fac=function(){let v;return function(U){return(v||(v=s.n5z(b)))(U||b)}}();static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();const Yr=new s.OlP("",{providedIn:"root",factory:()=>({})});let is=(()=>{class b{static#e=this.\u0275fac=function(P){return new(P||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:function(){return(0,s.f3M)(Zr)},providedIn:"root"})}return b})(),Zr=(()=>{class b{shouldProcessUrl(v){return!0}extract(v){return v}merge(v,P){return v}static#e=this.\u0275fac=function(P){return new(P||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();var Kr=function(b){return b[b.COMPLETE=0]="COMPLETE",b[b.FAILED=1]="FAILED",b[b.REDIRECTING=2]="REDIRECTING",b}(Kr||{});function vr(b,x){b.events.pipe((0,Ie.h)(v=>v instanceof Fo||v instanceof mo||v instanceof Vr||v instanceof Dr),(0,te.U)(v=>v instanceof Fo||v instanceof Dr?Kr.COMPLETE:v instanceof mo&&(0===v.code||1===v.code)?Kr.REDIRECTING:Kr.FAILED),(0,Ie.h)(v=>v!==Kr.REDIRECTING),(0,Ee.q)(1)).subscribe(()=>{x()})}function Pi(b){throw b}function $c(b,x,v){return x.parse("/")}const Ao={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Qa={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let xr=(()=>{class b{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=(0,s.f3M)(s.c2e),this.isNgZoneEnabled=!1,this._events=new Z.x,this.options=(0,s.f3M)(Yr,{optional:!0})||{},this.pendingTasks=(0,s.f3M)(s.HDt),this.errorHandler=this.options.errorHandler||Pi,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||$c,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=(0,s.f3M)(is),this.routeReuseStrategy=(0,s.f3M)(bo),this.titleStrategy=(0,s.f3M)($n),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=(0,s.f3M)(be,{optional:!0})?.flat()??[],this.navigationTransitions=(0,s.f3M)(vo),this.urlSerializer=(0,s.f3M)(nn),this.location=(0,s.f3M)(X.Ye),this.componentInputBindingEnabled=!!(0,s.f3M)(mr,{optional:!0}),this.eventsSubscription=new Y.w0,this.isNgZoneEnabled=(0,s.f3M)(s.R0b)instanceof s.R0b&&s.R0b.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new Ve,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=ai(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(v=>{this.lastSuccessfulId=v.id,this.currentPageId=this.browserPageId},v=>{this.console.warn(`Unhandled Navigation Error: ${v}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const v=this.navigationTransitions.events.subscribe(P=>{try{const{currentTransition:U}=this.navigationTransitions;if(null===U)return void(Wc(P)&&this._events.next(P));if(P instanceof Uo)so(U.source)&&(this.browserUrlTree=U.extractedUrl);else if(P instanceof Dr)this.rawUrlTree=U.rawUrl;else if(P instanceof gi){if("eager"===this.urlUpdateStrategy){if(!U.extras.skipLocationChange){const ie=this.urlHandlingStrategy.merge(U.urlAfterRedirects,U.rawUrl);this.setBrowserUrl(ie,U)}this.browserUrlTree=U.urlAfterRedirects}}else if(P instanceof Jo)this.currentUrlTree=U.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(U.urlAfterRedirects,U.rawUrl),this.routerState=U.targetRouterState,"deferred"===this.urlUpdateStrategy&&(U.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,U),this.browserUrlTree=U.urlAfterRedirects);else if(P instanceof mo)0!==P.code&&1!==P.code&&(this.navigated=!0),(3===P.code||2===P.code)&&this.restoreHistory(U);else if(P instanceof fr){const ie=this.urlHandlingStrategy.merge(P.url,U.currentRawUrl),De={skipLocationChange:U.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||so(U.source)};this.scheduleNavigation(ie,xo,null,De,{resolve:U.resolve,reject:U.reject,promise:U.promise})}P instanceof Vr&&this.restoreHistory(U,!0),P instanceof Fo&&(this.navigated=!0),Wc(P)&&this._events.next(P)}catch(U){this.navigationTransitions.transitionAbortSubject.next(U)}});this.eventsSubscription.add(v)}resetRootComponentType(v){this.routerState.root.component=v,this.navigationTransitions.rootComponentType=v}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const v=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),xo,v)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(v=>{const P="popstate"===v.type?"popstate":"hashchange";"popstate"===P&&setTimeout(()=>{this.navigateToSyncWithBrowser(v.url,P,v.state)},0)}))}navigateToSyncWithBrowser(v,P,U){const ie={replaceUrl:!0},De=U?.navigationId?U:null;if(U){const it={...U};delete it.navigationId,delete it.\u0275routerPageId,0!==Object.keys(it).length&&(ie.state=it)}const at=this.parseUrl(v);this.scheduleNavigation(at,P,De,ie)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(v){this.config=v.map(lr),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(v,P={}){const{relativeTo:U,queryParams:ie,fragment:De,queryParamsHandling:at,preserveFragment:it}=P,qt=it?this.currentUrlTree.fragment:De;let Io,Un=null;switch(at){case"merge":Un={...this.currentUrlTree.queryParams,...ie};break;case"preserve":Un=this.currentUrlTree.queryParams;break;default:Un=ie||null}null!==Un&&(Un=this.removeEmptyProps(Un));try{Io=Pt(U?U.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof v[0]||!v[0].startsWith("/"))&&(v=[]),Io=this.currentUrlTree.root}return ue(Io,v,Un,qt??null)}navigateByUrl(v,P={skipLocationChange:!1}){const U=Fe(v)?v:this.parseUrl(v),ie=this.urlHandlingStrategy.merge(U,this.rawUrlTree);return this.scheduleNavigation(ie,xo,null,P)}navigate(v,P={skipLocationChange:!1}){return function jr(b){for(let x=0;x{const ie=v[U];return null!=ie&&(P[U]=ie),P},{})}scheduleNavigation(v,P,U,ie,De){if(this.disposed)return Promise.resolve(!1);let at,it,qt;De?(at=De.resolve,it=De.reject,qt=De.promise):qt=new Promise((Io,lo)=>{at=Io,it=lo});const Un=this.pendingTasks.add();return vr(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(Un))}),this.navigationTransitions.handleNavigationRequest({source:P,restoredState:U,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:v,extras:ie,resolve:at,reject:it,promise:qt,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),qt.catch(Io=>Promise.reject(Io))}setBrowserUrl(v,P){const U=this.urlSerializer.serialize(v);if(this.location.isCurrentPathEqualTo(U)||P.extras.replaceUrl){const De={...P.extras.state,...this.generateNgRouterState(P.id,this.browserPageId)};this.location.replaceState(U,"",De)}else{const ie={...P.extras.state,...this.generateNgRouterState(P.id,this.browserPageId+1)};this.location.go(U,"",ie)}}restoreHistory(v,P=!1){if("computed"===this.canceledNavigationResolution){const ie=this.currentPageId-this.browserPageId;0!==ie?this.location.historyGo(ie):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===ie&&(this.resetState(v),this.browserUrlTree=v.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(P&&this.resetState(v),this.resetUrlToCurrentUrlTree())}resetState(v){this.routerState=v.currentRouterState,this.currentUrlTree=v.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,v.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(v,P){return"computed"===this.canceledNavigationResolution?{navigationId:v,\u0275routerPageId:P}:{navigationId:v}}static#e=this.\u0275fac=function(P){return new(P||b)};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();function Wc(b){return!(b instanceof Jo||b instanceof fr)}let ms=(()=>{class b{constructor(v,P,U,ie,De,at){this.router=v,this.route=P,this.tabIndexAttribute=U,this.renderer=ie,this.el=De,this.locationStrategy=at,this.href=null,this.commands=null,this.onChanges=new Z.x,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const it=De.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===it||"area"===it,this.isAnchorElement?this.subscription=v.events.subscribe(qt=>{qt instanceof Fo&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(v){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",v)}ngOnChanges(v){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(v){null!=v?(this.commands=Array.isArray(v)?v:[v],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(v,P,U,ie,De){return!!(null===this.urlTree||this.isAnchorElement&&(0!==v||P||U||ie||De||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(this.urlTree,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const v=null===this.href?null:(0,s.P3R)(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",v)}applyAttributeValue(v,P){const U=this.renderer,ie=this.el.nativeElement;null!==P?U.setAttribute(ie,v,P):U.removeAttribute(ie,v)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(P){return new(P||b)(s.Y36(xr),s.Y36(zr),s.$8M("tabindex"),s.Y36(s.Qsj),s.Y36(s.SBq),s.Y36(X.S$))};static#t=this.\u0275dir=s.lG2({type:b,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(P,U){1&P&&s.NdJ("click",function(De){return U.onClick(De.button,De.ctrlKey,De.shiftKey,De.altKey,De.metaKey)}),2&P&&s.uIk("target",U.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",relativeTo:"relativeTo",preserveFragment:["preserveFragment","preserveFragment",s.VuI],skipLocationChange:["skipLocationChange","skipLocationChange",s.VuI],replaceUrl:["replaceUrl","replaceUrl",s.VuI],routerLink:"routerLink"},standalone:!0,features:[s.Xq5,s.TTD]})}return b})(),Qi=(()=>{class b{get isActive(){return this._isActive}constructor(v,P,U,ie,De){this.router=v,this.element=P,this.renderer=U,this.cdr=ie,this.link=De,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new s.vpe,this.routerEventsSubscription=v.events.subscribe(at=>{at instanceof Fo&&this.update()})}ngAfterContentInit(){(0,T.of)(this.links.changes,(0,T.of)(null)).pipe((0,Tt.J)()).subscribe(v=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const v=[...this.links.toArray(),this.link].filter(P=>!!P).map(P=>P.onChanges);this.linkInputChangesSubscription=(0,k.D)(v).pipe((0,Tt.J)()).subscribe(P=>{this._isActive!==this.isLinkActive(this.router)(P)&&this.update()})}set routerLinkActive(v){const P=Array.isArray(v)?v:v.split(" ");this.classes=P.filter(U=>!!U)}ngOnChanges(v){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const v=this.hasActiveLinks();this._isActive!==v&&(this._isActive=v,this.cdr.markForCheck(),this.classes.forEach(P=>{v?this.renderer.addClass(this.element.nativeElement,P):this.renderer.removeClass(this.element.nativeElement,P)}),v&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(v))})}isLinkActive(v){const P=function Mr(b){return!!b.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return U=>!!U.urlTree&&v.isActive(U.urlTree,P)}hasActiveLinks(){const v=this.isLinkActive(this.router);return this.link&&v(this.link)||this.links.some(v)}static#e=this.\u0275fac=function(P){return new(P||b)(s.Y36(xr),s.Y36(s.SBq),s.Y36(s.Qsj),s.Y36(s.sBO),s.Y36(ms,8))};static#t=this.\u0275dir=s.lG2({type:b,selectors:[["","routerLinkActive",""]],contentQueries:function(P,U,ie){if(1&P&&s.Suo(ie,ms,5),2&P){let De;s.iGM(De=s.CRH())&&(U.links=De)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[s.TTD]})}return b})();class Gc{}let Ai=(()=>{class b{constructor(v,P,U,ie,De){this.router=v,this.injector=U,this.preloadingStrategy=ie,this.loader=De}setUpPreloading(){this.subscription=this.router.events.pipe((0,Ie.h)(v=>v instanceof Fo),(0,ke.b)(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(v,P){const U=[];for(const ie of P){ie.providers&&!ie._injector&&(ie._injector=(0,s.MMx)(ie.providers,v,`Route: ${ie.path}`));const De=ie._injector??v,at=ie._loadedInjector??De;(ie.loadChildren&&!ie._loadedRoutes&&void 0===ie.canLoad||ie.loadComponent&&!ie._loadedComponent)&&U.push(this.preloadConfig(De,ie)),(ie.children||ie._loadedRoutes)&&U.push(this.processRoutes(at,ie.children??ie._loadedRoutes))}return(0,k.D)(U).pipe((0,Tt.J)())}preloadConfig(v,P){return this.preloadingStrategy.preload(P,()=>{let U;U=P.loadChildren&&void 0===P.canLoad?this.loader.loadChildren(v,P):(0,T.of)(null);const ie=U.pipe((0,Le.z)(De=>null===De?(0,T.of)(void 0):(P._loadedRoutes=De.routes,P._loadedInjector=De.injector,this.processRoutes(De.injector??v,De.routes))));if(P.loadComponent&&!P._loadedComponent){const De=this.loader.loadComponent(P);return(0,k.D)([ie,De]).pipe((0,Tt.J)())}return ie})}static#e=this.\u0275fac=function(P){return new(P||b)(s.LFG(xr),s.LFG(s.Sil),s.LFG(s.lqb),s.LFG(Gc),s.LFG(lt))};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();const Ii=new s.OlP("");let Or=(()=>{class b{constructor(v,P,U,ie,De={}){this.urlSerializer=v,this.transitions=P,this.viewportScroller=U,this.zone=ie,this.options=De,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},De.scrollPositionRestoration=De.scrollPositionRestoration||"disabled",De.anchorScrolling=De.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(v=>{v instanceof Uo?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=v.navigationTrigger,this.restoredId=v.restoredState?v.restoredState.navigationId:0):v instanceof Fo?(this.lastId=v.id,this.scheduleScrollEvent(v,this.urlSerializer.parse(v.urlAfterRedirects).fragment)):v instanceof Dr&&0===v.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(v,this.urlSerializer.parse(v.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(v=>{v instanceof kr&&(v.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(v.position):v.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(v.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(v,P){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new kr(v,"popstate"===this.lastSource?this.store[this.restoredId]:null,P))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(P){s.$Z()};static#t=this.\u0275prov=s.Yz7({token:b,factory:b.\u0275fac})}return b})();function Qr(b,...x){return(0,s.MR2)([{provide:be,multi:!0,useValue:b},[],{provide:zr,useFactory:Xa,deps:[xr]},{provide:s.tb,multi:!0,useFactory:da},x.map(v=>v.\u0275providers)])}function Xa(b){return b.routerState.root}function Hi(b,x){return{\u0275kind:b,\u0275providers:x}}function kd(b={}){return Hi(4,[{provide:Ii,useFactory:()=>{const v=(0,s.f3M)(X.EM),P=(0,s.f3M)(s.R0b),U=(0,s.f3M)(vo),ie=(0,s.f3M)(nn);return new Or(ie,U,v,P,b)}}])}function da(){const b=(0,s.f3M)(s.zs3);return x=>{const v=b.get(s.z2F);if(x!==v.components[0])return;const P=b.get(xr),U=b.get(_s);1===b.get(ha)&&P.initialNavigation(),b.get(Ja,null,s.XFs.Optional)?.setUpPreloading(),b.get(Ii,null,s.XFs.Optional)?.init(),P.resetRootComponentType(v.componentTypes[0]),U.closed||(U.next(),U.complete(),U.unsubscribe())}}const _s=new s.OlP("",{factory:()=>new Z.x}),ha=new s.OlP("",{providedIn:"root",factory:()=>1}),Ja=new s.OlP("");function fa(b){return Hi(0,[{provide:Ja,useExisting:Ai},{provide:Gc,useExisting:b}])}const qa=new s.OlP("ROUTER_FORROOT_GUARD"),Pr=[X.Ye,{provide:nn,useClass:po},xr,on,{provide:zr,useFactory:Xa,deps:[xr]},lt,[]];function Yc(){return new s.PXZ("Router",xr)}let Xi=(()=>{class b{constructor(v){}static forRoot(v,P){return{ngModule:b,providers:[Pr,[],{provide:be,multi:!0,useValue:v},{provide:qa,useFactory:hu,deps:[[xr,new s.FiY,new s.tp0]]},{provide:Yr,useValue:P||{}},P?.useHash?{provide:X.S$,useClass:X.Do}:{provide:X.S$,useClass:X.b0},{provide:Ii,useFactory:()=>{const b=(0,s.f3M)(X.EM),x=(0,s.f3M)(s.R0b),v=(0,s.f3M)(Yr),P=(0,s.f3M)(vo),U=(0,s.f3M)(nn);return v.scrollOffset&&b.setOffset(v.scrollOffset),new Or(U,P,b,x,v)}},P?.preloadingStrategy?fa(P.preloadingStrategy).\u0275providers:[],{provide:s.PXZ,multi:!0,useFactory:Yc},P?.initialNavigation?ec(P):[],P?.bindToComponentInputs?Hi(8,[ei,{provide:mr,useExisting:ei}]).\u0275providers:[],[{provide:Xr,useFactory:da},{provide:s.tb,multi:!0,useExisting:Xr}]]}}static forChild(v){return{ngModule:b,providers:[{provide:be,multi:!0,useValue:v}]}}static#e=this.\u0275fac=function(P){return new(P||b)(s.LFG(qa,8))};static#t=this.\u0275mod=s.oAB({type:b});static#n=this.\u0275inj=s.cJS({})}return b})();function hu(b){return"guarded"}function ec(b){return["disabled"===b.initialNavigation?Hi(3,[{provide:s.ip1,multi:!0,useFactory:()=>{const x=(0,s.f3M)(xr);return()=>{x.setUpLocationChangeListener()}}},{provide:ha,useValue:2}]).\u0275providers:[],"enabledBlocking"===b.initialNavigation?Hi(2,[{provide:ha,useValue:0},{provide:s.ip1,multi:!0,deps:[s.zs3],useFactory:x=>{const v=x.get(X.V_,Promise.resolve());return()=>v.then(()=>new Promise(P=>{const U=x.get(xr),ie=x.get(_s);vr(U,()=>{P(!0)}),x.get(vo).afterPreactivation=()=>(P(!0),ie.closed?(0,T.of)(void 0):ie),U.initialNavigation()}))}}]).\u0275providers:[]]}const Xr=new s.OlP("")},6286:(ve,m,d)=>{"use strict";d.d(m,{a:()=>s});class s{}},3354:(ve,m,d)=>{"use strict";d.d(m,{LM:()=>k,Mg:()=>T,Zb:()=>M,rS:()=>F});var s=d(5861),p=d(7340),o=d(7442);function k(L,H,V){const $=L.createComponent(H);V&&Object.entries(V).forEach(([Y,ae])=>{$.setInput(Y,ae)}),$.changeDetectorRef.detectChanges()}function T(L){return N.apply(this,arguments)}function N(){return(N=(0,s.Z)(function*(L){return(yield d.e(3476).then(d.bind(d,3476))).default.html(L.trim(),{wrap:50,markup:{forceIndent:!0}})})).apply(this,arguments)}function M(L){const V=Array.from(L.querySelectorAll(["h1","h2","h3","h4","h5","h6"].join(", "))).filter(Y=>Y.id),$=(0,p.asArray)(new Set(V.map(S).sort()));return V.reduce((Y,ae)=>{const se=S(ae),re=ae.querySelector("a.ng-doc-header-link");return re&&Y.push({title:ae.textContent?.trim()??"",element:ae,path:re.pathname+re.hash,level:$.indexOf(se)+1}),Y},[])}function S(L){return Number(L.tagName.toLowerCase().replace(/[a-z]*/g,"")||1)}function F(L){return(0,o.objectKeys)(L).includes("type")}},9687:(ve,m,d)=>{"use strict";d.d(m,{Y:()=>o});var s=d(5879),p=d(6593);let o=(()=>{class I{constructor(T){this.sanitizer=T}transform(T){return this.sanitizer.bypassSecurityTrustHtml(T)}static#e=this.\u0275fac=function(N){return new(N||I)(s.Y36(p.H7,16))};static#t=this.\u0275pipe=s.Yjl({name:"ngDocSanitizeHtml",type:I,pure:!0,standalone:!0})}return I})()},8671:(ve,m,d)=>{"use strict";d.d(m,{$:()=>I});var s=d(5879),p=d(5483),o=d(9143);let I=(()=>{class k{constructor(N,M){this.elementRef=N,this.viewContainerRef=M,this.processors=(0,s.f3M)(p.c$,{optional:!0})??[],this.customProcessors=(0,s.f3M)(p.LL,{optional:!0})??[],this.injector=(0,s.f3M)(s.zs3)}ngOnInit(){(0,o.asArray)(this.processors,this.customProcessors).forEach(this.process.bind(this))}process(N){this.elementRef.nativeElement.querySelectorAll(N.selector).forEach(M=>{if(M.parentNode){const S=(N.nodeToReplace&&N.nodeToReplace(M))??M,C=N.extractOptions(M,this.elementRef.nativeElement),_=this.viewContainerRef.createComponent(N.component,{projectableNodes:C.content,injector:this.injector});C.inputs&&(0,o.objectKeys)(C.inputs).forEach(F=>C.inputs&&_.setInput(F,C.inputs[F])),S.parentNode?.replaceChild(_.location.nativeElement,S),_.changeDetectorRef.markForCheck()}})}static#e=this.\u0275fac=function(M){return new(M||k)(s.Y36(s.SBq),s.Y36(s.s_b))};static#t=this.\u0275dir=s.lG2({type:k,selectors:[["","ngDocPageProcessor",""]],standalone:!0})}return k})()},1794:(ve,m,d)=>{"use strict";d.d(m,{d:()=>I,z:()=>o});var s=d(5879);const p=new Map;function o(k,T,N){const M=new s.OlP(`NG_DOC_TYPE_CONTROL_${k}`,{providedIn:"root",factory:()=>({control:T,options:N})});return p.set(k,M),{provide:"nothing",useValue:null}}function I(k){return p.get(k)}},5483:(ve,m,d)=>{"use strict";d.d(m,{LL:()=>T,Nh:()=>S,Pt:()=>o,Rr:()=>_,XB:()=>N,c$:()=>k,dd:()=>C,yt:()=>I});var s=d(5879),p=d(9143);const o=new s.OlP("API_LIST_TOKEN"),I=new s.OlP("NG_DOC_CONTEXT"),k=new s.OlP("NG_DOC_PAGE_PROCESSOR"),T=new s.OlP("NG_DOC_PAGE_CUSTOM_PROCESSOR");function N(L){return(0,p.asArray)(L).map(H=>({provide:k,useValue:H,multi:!0}))}const S=new s.OlP("NG_DOC_PAGE_SKELETON"),C=new s.OlP("NG_DOC_THEME"),_=new s.OlP("NG_DOC_DEFAULT_THEME");new s.OlP("NG_DOC_TYPE_CONTROL")},7022:(ve,m,d)=>{"use strict";d.d(m,{Qr:()=>p,Uq:()=>_,WY:()=>M,YN:()=>T,_N:()=>S,ni:()=>N,tI:()=>C,ye:()=>I});var s=d(6825);const p=(0,s.X$)("expandCollapse",[(0,s.eR)(":enter",[(0,s.oB)({opacity:"{{opacity}}",height:"{{from}}"}),(0,s.jt)("225ms cubic-bezier(0.4,0.0,0.2,1)",(0,s.oB)({opacity:1,height:"*"}))],{params:{from:0,opacity:0}}),(0,s.eR)(":leave",[(0,s.oB)({opacity:1,height:"*"}),(0,s.jt)("225ms cubic-bezier(0.4,0.0,0.2,1)",(0,s.oB)({opacity:"{{opacity}}",height:"{{from}}"}))],{params:{from:0,opacity:0}}),(0,s.SB)("true",(0,s.oB)({opacity:1,height:"*"})),(0,s.SB)("false",(0,s.oB)({opacity:"{{opacity}}",height:"{{from}}"}),{params:{from:0,opacity:0}}),(0,s.eR)("* => true",[(0,s.jt)("225ms cubic-bezier(0.4,0.0,0.2,1)")]),(0,s.eR)("* => false",[(0,s.jt)("225ms cubic-bezier(0.4,0.0,0.2,1)")])]),I=((0,s.X$)("fadeAnimation",[(0,s.eR)(":enter",[(0,s.oB)({opacity:0}),(0,s.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({opacity:1}))]),(0,s.eR)(":leave",[(0,s.oB)({opacity:1}),(0,s.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({opacity:0}))])]),[(0,s.oB)({transform:"scale(0.9)",opacity:0}),(0,s.jt)("120ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({transform:"scale(1)",opacity:1}))]),T=((0,s.oB)({transform:"scaleY(1)",opacity:1}),(0,s.jt)("120ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({transform:"scaleY(0.9)",opacity:0})),[(0,s.oB)({transform:"scale(0.8)",opacity:0}),(0,s.jt)("120ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({transform:"scale(1)",opacity:1}))]),N=[(0,s.oB)({transform:"scale(1)",opacity:1}),(0,s.jt)("120ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({transform:"scale(0.8)",opacity:0}))],M=[(0,s.oB)({transform:"scale(0.7)",opacity:0}),(0,s.jt)("120ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({transform:"scale(1)",opacity:1}))],S=[(0,s.oB)({transform:"scale(1)",opacity:1}),(0,s.jt)("120ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({transform:"scale(0.7)",opacity:0}))],C=(0,s.X$)("preventInitialChild",[(0,s.eR)(":enter",[])]),_=(0,s.X$)("tabFadeAnimation",[(0,s.eR)(":enter",[(0,s.oB)({opacity:0}),(0,s.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({opacity:1}))]),(0,s.eR)(":leave",[(0,s.oB)({opacity:1}),(0,s.jt)("220ms cubic-bezier(0.25, 0.8, 0.25, 1)",(0,s.oB)({opacity:0}))])])},187:(ve,m,d)=>{"use strict";d.d(m,{f:()=>I});var s=d(5879),p=d(8923),o=d(386);let I=(()=>{class k extends p.Km{constructor(){super((0,s.f3M)(o.K,{optional:!0})||void 0),this.elementRef=(0,s.f3M)(s.SBq),this.renderer=(0,s.f3M)(s.Qsj)}get hostClasses(){return"ng-doc-input"}get placeholder(){return this.elementRef.nativeElement.placeholder||""}get isFocused(){return document.activeElement===this.elementRef.nativeElement}get isReadonly(){return this.elementRef.nativeElement.readOnly}get value(){return this.elementRef.nativeElement.value}focus(){this.elementRef.nativeElement.focus()}blink(){this.renderer.removeClass(this.elementRef.nativeElement,"-blink"),this.renderer.addClass(this.elementRef.nativeElement,"-blink")}static#e=this.\u0275fac=function(M){return new(M||k)};static#t=this.\u0275dir=s.lG2({type:k,hostVars:2,hostBindings:function(M,S){2&M&&s.Tol(S.hostClasses)},features:[s.qOj]})}return k})()},2659:(ve,m,d)=>{"use strict";d.d(m,{E:()=>s});class s{}},8226:(ve,m,d)=>{"use strict";d.d(m,{X:()=>s});class s{}},5426:(ve,m,d)=>{"use strict";d.d(m,{d:()=>s});class s{}},7396:(ve,m,d)=>{"use strict";d.d(m,{J:()=>I});var s=d(5879);const p=["ng-doc-button-icon",""],o=["*"];let I=(()=>{class k{constructor(){this.size="medium",this.rounded=!0}static#e=this.\u0275fac=function(M){return new(M||k)};static#t=this.\u0275cmp=s.Xpm({type:k,selectors:[["button","ng-doc-button-icon",""],["a","ng-doc-button-icon",""]],hostVars:2,hostBindings:function(M,S){2&M&&s.uIk("data-ng-doc-size",S.size)("data-ng-doc-rounded",S.rounded)},inputs:{size:"size",rounded:"rounded"},standalone:!0,features:[s.jDz],attrs:p,ngContentSelectors:o,decls:1,vars:0,template:function(M,S){1&M&&(s.F$t(),s.Hsn(0))},styles:["[_nghost-%COMP%]{position:relative;display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;border-radius:50%;width:calc(var(--ng-doc-base-gutter) * 4);height:calc(var(--ng-doc-base-gutter) * 4);background-color:var(--ng-doc-button-background);color:var(--ng-doc-button-color);overflow:hidden;--ng-doc-icon-color: var(--ng-doc-button-color)}[data-ng-doc-size=small][_nghost-%COMP%]{width:calc(var(--ng-doc-base-gutter) * 3);height:calc(var(--ng-doc-base-gutter) * 3)}[data-ng-doc-size=large][_nghost-%COMP%]{width:calc(var(--ng-doc-base-gutter) * 5);height:calc(var(--ng-doc-base-gutter) * 5)}[_nghost-%COMP%]:hover{background-color:var(--ng-doc-button-hover-background);color:var(--ng-doc-button-hover-color);--ng-doc-icon-color: var(--ng-doc-button-hover-color)}[_nghost-%COMP%]:active{background-color:var(--ng-doc-button-active-background);color:var(--ng-doc-button-active-color);--ng-doc-icon-color: var(--ng-doc-button-active-color)}[data-ng-doc-rounded=false][_nghost-%COMP%]{--ng-doc-button-color: var(--ng-doc-base-6);--ng-doc-button-hover-color: var(--ng-doc-base-8);--ng-doc-button-active-color: var(--ng-doc-base-10);--ng-doc-button-hover-background: transparent;--ng-doc-button-active-background: transparent}"],changeDetection:0})}return k})()},23:(ve,m,d)=>{"use strict";d.d(m,{Q:()=>L});var s=d(6814),p=d(5879),o=d(2560);let I=(()=>{class H{set ngDocChecked($){this.updateProperty("checked",$||!1),this.updateProperty("indeterminate",null===$)}constructor($,Y){this.element=$,this.renderer=Y,this.ngDocCheckedChange=new p.vpe,this.updateProperty("checked",!1)}onChange({checked:$}){this.updateProperty("indeterminate",!1),this.ngDocCheckedChange.emit($)}updateProperty($,Y){this.renderer.setProperty(this.element.nativeElement,$,Y)}static#e=this.\u0275fac=function(Y){return new(Y||H)(p.Y36(p.SBq),p.Y36(p.Qsj))};static#t=this.\u0275dir=p.lG2({type:H,selectors:[["input","ngDocChecked",""],["input","ngDocCheckedChange",""]],hostBindings:function(Y,ae){1&Y&&p.NdJ("change",function(re){return ae.onChange(re.target)})},inputs:{ngDocChecked:"ngDocChecked"},outputs:{ngDocCheckedChange:"ngDocCheckedChange"},standalone:!0})}return H})();var k=d(9863),T=d(8923),N=d(8440),M=d(386);function S(H,V){1&H&&p._UZ(0,"ng-doc-icon",8)}function C(H,V){1&H&&p._UZ(0,"ng-doc-icon",9)}const _=[[["ng-doc-icon"]],"*"],F=["ng-doc-icon","*"];let L=(()=>{class H extends T.ri{constructor($,Y){super($,Y),this.compareHost=$,this.host=Y,this.color="primary"}static#e=this.\u0275fac=function(Y){return new(Y||H)(p.Y36(N.d,8),p.Y36(M.K,8))};static#t=this.\u0275cmp=p.Xpm({type:H,selectors:[["ng-doc-checkbox"]],hostVars:1,hostBindings:function(Y,ae){2&Y&&p.uIk("data-lu-color",ae.color)},inputs:{color:"color"},standalone:!0,features:[p.qOj,p.jDz],ngContentSelectors:F,decls:10,vars:5,consts:[[1,"ng-doc-checkbox-wrapper"],[1,"ng-doc-checkbox"],["type","checkbox",3,"disabled","ngDocChecked","ngDocFocusable","ngDocCheckedChange","blur"],["icon","minus",4,"ngIf"],["icon","check",4,"ngIf"],[1,"ng-doc-checkbox-content"],[1,"ng-doc-checkbox-icons"],[1,"ng-doc-checkbox-text"],["icon","minus"],["icon","check"]],template:function(Y,ae){1&Y&&(p.F$t(_),p.TgZ(0,"label",0)(1,"div",1)(2,"input",2),p.NdJ("ngDocCheckedChange",function(){return ae.toggle(),ae.onTouched()})("blur",function(){return ae.onTouched()}),p.qZA(),p.YNc(3,S,1,0,"ng-doc-icon",3),p.YNc(4,C,1,0,"ng-doc-icon",4),p.qZA(),p.TgZ(5,"div",5)(6,"span",6),p.Hsn(7),p.qZA(),p.TgZ(8,"div",7),p.Hsn(9,1),p.qZA()()()),2&Y&&(p.xp6(2),p.Q6J("disabled",ae.disabled)("ngDocChecked",ae.checked)("ngDocFocusable",!1),p.xp6(1),p.Q6J("ngIf",ae.isIntermediate),p.xp6(1),p.Q6J("ngIf",ae.checked))},dependencies:[I,k.O,s.O5,o.q],styles:["[_nghost-%COMP%]{display:inline-flex;align-items:flex-start;flex-direction:column;font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight)}[_nghost-%COMP%]:not(:last-of-type){margin-bottom:var(--ng-doc-list-element-vertical-space);margin-right:var(--ng-doc-list-element-horizontal-space)}[_nghost-%COMP%]:hover:not([data-checked=true]) .ng-doc-checkbox[_ngcontent-%COMP%]{border:var(--ng-doc-checkbox-border-hover)}[_nghost-%COMP%]:not([data-disabled=true]) .ng-doc-checkbox-wrapper[_ngcontent-%COMP%]{cursor:pointer}[data-checked=true][_nghost-%COMP%] .ng-doc-checkbox[_ngcontent-%COMP%]{background-color:var(--ng-doc-checkbox-color);--ng-doc-checkbox-border: var(--ng-doc-checkbox-color);--ng-doc-checkbox-border-hover: var(--ng-doc-checkbox-color);--ng-doc-icon-color: var(--ng-doc-checkbox-color-text)}input[_ngcontent-%COMP%]{position:absolute;bottom:0;left:50%;border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;outline:0}.ng-doc-checkbox-wrapper[_ngcontent-%COMP%]{display:flex}.ng-doc-checkbox[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center;width:calc(var(--ng-doc-base-gutter) * 2 + var(--ng-doc-base-gutter) / 2);height:calc(var(--ng-doc-base-gutter) * 2 + var(--ng-doc-base-gutter) / 2);border:var(--ng-doc-checkbox-border);flex:0 0 calc(var(--ng-doc-base-gutter) * 2 + var(--ng-doc-base-gutter) / 2);background-color:var(--ng-doc-base-0);transition:background-color var(--ng-doc-transition);box-sizing:border-box;border-radius:calc(var(--ng-doc-base-gutter) / 2)}.ng-doc-checkbox-content[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.ng-doc-checkbox-icons[_ngcontent-%COMP%]{display:flex;margin-left:var(--ng-doc-base-gutter);margin-top:calc(var(--ng-doc-base-gutter) / 2)}.ng-doc-checkbox-icons[_ngcontent-%COMP%]:empty{display:none}.ng-doc-checkbox-text[_ngcontent-%COMP%]{margin-left:var(--ng-doc-base-gutter);line-height:calc(var(--ng-doc-base-gutter) * 2 + var(--ng-doc-base-gutter) / 2)}.ng-doc-checkbox-text[_ngcontent-%COMP%]:empty{display:none}"],changeDetection:0})}return H})()},5338:(ve,m,d)=>{"use strict";d.d(m,{V:()=>L});var s=d(7582),p=d(8290),o=d(5879),I=d(7340),k=d(7022),T=d(5426),N=d(4826),M=d(9850),S=d(8201),C=d(6245),_=d(8897),F=d(1791);let L=(()=>{let H=class Bm{constructor($,Y,ae,se,re){this.changeDetectorRef=$,this.overlayService=Y,this.viewContainerRef=ae,this.ngZone=se,this.overlayHost=re,this.content="",this.origin=null,this.closeIfOutsideClick=!0,this.closeIfInnerClick=!1,this.withArrow=!1,this.borderOffset=-8,this.panelClass=[],this.contactBorder=!0,this.hasBackdrop=!1,this.positions=["bottom-center","top-center","right-center","left-center"],this.minHeight="",this.maxHeight="",this.height="",this.minWidth="",this.maxWidth="",this.width="",this.beforeOpen=new o.vpe,this.afterOpen=new o.vpe,this.beforeClose=new o.vpe,this.afterClose=new o.vpe,this.overlay=null,this.overlayProperties=this.getOverlayProperties()}ngOnChanges({origin:$}){if($&&$.currentValue!==$.previousValue&&($.currentValue||(this.origin=$.previousValue),this.overlay)){const Y=this.overlay.overlayRef.getConfig().positionStrategy;Y instanceof p._G&&this.currentOrigin&&this.overlay.overlayRef.updatePositionStrategy(Y.setOrigin(this.currentOrigin))}this.updateOverlayPosition()}get tabIndex(){return this.isOpened?0:-1}focus(){this.overlay?.focus()}get isFocused(){return!!this.overlay?.isFocused}open(){if(!this.overlay?.hasAttached){const $=this.getConfig();this.overlay=this.overlayService.open(this.content,$),this.beforeOpen.emit(),this.overlay?.afterOpen().pipe((0,S.Lf)(this.ngZone)).subscribe(()=>this.afterOpen.emit()),this.overlay?.beforeClose().pipe((0,S.Lf)(this.ngZone)).subscribe(()=>this.beforeClose.emit()),this.overlay?.afterClose().pipe((0,S.Lf)(this.ngZone)).subscribe(()=>this.afterClose.emit()),this.overlay.beforeClose().subscribe(()=>this.close()),this.changeDetectorRef.markForCheck()}}close(){this.isOpened&&(this.overlay?.close(),this.changeDetectorRef.markForCheck())}toggle(){this.isOpened?this.close():this.open()}get isOpened(){return!0===this.overlay?.isOpened}updateOverlayPosition(){this.overlay&&this.overlay.hasAttached&&(this.overlay.overlayRef.updateSize(this.getConfig()),this.overlay.overlayRef.updatePosition())}get currentOrigin(){return this.origin instanceof p.xu?this.origin.elementRef.nativeElement:this.origin||this.overlayHost?.origin||null}getPositions($,Y){const ae=(0,M.N)(this.currentOrigin);return ae instanceof HTMLElement?_.WW.getConnectedPosition($&&(0,I.asArray)($).length?$:["bottom-center","top-center","right-center","left-center"],ae,-1*Y,this.withArrow):$&&(0,I.asArray)($).length?(0,I.asArray)($):["bottom-center","top-center","right-center","left-center"]}getConfig(){const $=(0,M.e)(this.overlayProperties,this.getOverlayProperties(),this.overlayHost);if(!this.currentOrigin)throw new Error("Origin for the dropdown was not provided.");return{overlayContainer:N.O,positionStrategy:this.overlayService.connectedPositionStrategy(this.currentOrigin,this.getPositions($.positions||[],$.borderOffset||0)),scrollStrategy:this.overlayService.scrollStrategy().reposition(),viewContainerRef:this.viewContainerRef,openAnimation:k.ye,hasBackdrop:this.hasBackdrop,...$,panelClass:["ng-doc-dropdown",...(0,I.asArray)(this.panelClass),...(0,I.asArray)(this.overlayHost?.panelClass)]}}getOverlayProperties(){return{origin:this.currentOrigin||void 0,positions:this.positions,closeIfOutsideClick:this.closeIfOutsideClick,closeIfInnerClick:this.closeIfInnerClick,withPointer:this.withArrow,contactBorder:this.contactBorder,borderOffset:this.borderOffset,panelClass:this.panelClass,width:this.width,height:this.height,minWidth:this.minWidth,minHeight:this.minHeight,maxWidth:this.maxWidth,maxHeight:this.maxHeight,disposeOnNavigation:!0,disposeOnRouteNavigation:!0}}ngOnDestroy(){this.overlay&&this.overlay.overlayRef.dispose()}static#e=this.\u0275fac=function(Y){return new(Y||Bm)(o.Y36(o.sBO),o.Y36(C.m),o.Y36(o.s_b),o.Y36(o.R0b),o.Y36(T.d,8))};static#t=this.\u0275cmp=o.Xpm({type:Bm,selectors:[["ng-doc-dropdown"]],hostVars:1,hostBindings:function(Y,ae){1&Y&&o.NdJ("focus",function(){return ae.focus()}),2&Y&&o.uIk("tabIndex",ae.tabIndex)},inputs:{content:"content",origin:"origin",closeIfOutsideClick:"closeIfOutsideClick",closeIfInnerClick:"closeIfInnerClick",withArrow:"withArrow",borderOffset:"borderOffset",panelClass:"panelClass",contactBorder:"contactBorder",hasBackdrop:"hasBackdrop",positions:"positions",minHeight:"minHeight",maxHeight:"maxHeight",height:"height",minWidth:"minWidth",maxWidth:"maxWidth",width:"width"},outputs:{beforeOpen:"beforeOpen",afterOpen:"afterOpen",beforeClose:"beforeClose",afterClose:"afterClose"},standalone:!0,features:[o._Bn([C.m]),o.TTD,o.jDz],decls:0,vars:0,template:function(Y,ae){},styles:[".ng-doc-dropdown{--ng-doc-overlay-background: var(--ng-doc-background);--ng-doc-overlay-border: var(--ng-doc-base-2);--ng-doc-overlay-border-radius: var(--ng-doc-base-gutter);--ng-doc-overlay-shadow: 0px 12px 16px -4px rgba(16, 24, 40, .08), 0px 4px 6px -2px rgba(16, 24, 40, .03)}"],changeDetection:0})};return H=(0,s.__decorate)([(0,F.c)(),(0,s.__metadata)("design:paramtypes",[o.sBO,C.m,o.s_b,o.R0b,T.d])],H),H})()},2560:(ve,m,d)=>{"use strict";d.d(m,{q:()=>C});var s=d(9862),p=d(5879),o=d(7230),I=d(9625),k=d(8645),T=d(2096),N=d(7921),M=d(4664),S=d(6306);let C=(()=>{class _{constructor(L,H){this.elementRef=L,this.httpClient=H,this.icon="",this.customIcon="",this.size=16,this.reload$=new k.x,this.assetsPath=(0,p.f3M)(I.Sy,{optional:!0})??"",this.customIconsPath=(0,p.f3M)(I.DN,{optional:!0})??""}ngOnChanges(){this.reload$.next()}ngOnInit(){this.reload$.pipe((0,N.O)(null),(0,M.w)(()=>this.httpClient.get(this.href,{responseType:"text",params:{[o.G.TOKEN]:"true"}}).pipe((0,S.K)(L=>(console.error(L),(0,T.of)("")))))).subscribe(L=>this.elementRef.nativeElement.innerHTML=L)}get href(){return this.customIcon?`${this.customIconsPath}/${this.customIcon}.svg#${this.customIcon}`:`${this.assetsPath}/icons/${this.size}/${this.icon}.svg#${this.icon}`}static#e=this.\u0275fac=function(H){return new(H||_)(p.Y36(p.SBq),p.Y36(s.eN))};static#t=this.\u0275cmp=p.Xpm({type:_,selectors:[["ng-doc-icon"]],hostVars:3,hostBindings:function(H,V){2&H&&p.uIk("data-ng-doc-icon",V.icon)("data-ng-doc-custom-icon",V.customIcon)("data-ng-doc-size",V.size)},inputs:{icon:"icon",customIcon:"customIcon",size:"size"},standalone:!0,features:[p.TTD,p.jDz],decls:0,vars:0,template:function(H,V){},styles:['[_nghost-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:var(--ng-doc-icon-width, 16px);height:var(--ng-doc-icon-height, 16px);color:var(--ng-doc-icon-color, var(--ng-doc-text));vertical-align:sub}[_nghost-%COMP%] svg[_ngcontent-%COMP%]{vertical-align:top}[data-ng-doc-size="24"][_nghost-%COMP%]{width:var(--ng-doc-icon-width, 24px);height:var(--ng-dpc-icon-height, 24px)}'],changeDetection:0})}return _})()},2949:(ve,m,d)=>{"use strict";d.d(m,{u:()=>Ie});var s=d(7582),p=d(6814),o=d(5879),I=d(187),k=d(2659);const T=["*"];let N=(()=>{class Le{static#e=this.\u0275fac=function(nt){return new(nt||Le)};static#t=this.\u0275cmp=o.Xpm({type:Le,selectors:[["ng-doc-floated-border"]],standalone:!0,features:[o.jDz],ngContentSelectors:T,decls:1,vars:0,template:function(nt,me){1&nt&&(o.F$t(),o.Hsn(0))},styles:['[_nghost-%COMP%]{position:relative;display:block}[_nghost-%COMP%]:after{position:absolute;content:"";top:0;left:0;z-index:3;width:100%;height:100%;pointer-events:none;border:var(--ng-doc-floated-border);border-color:var(--ng-doc-floated-border-color);border-radius:var(--ng-doc-floated-border-radius);box-shadow:0 1px 2px #1018280d,0 0 0 4px var(--ng-doc-floated-border-shadow-color);transition:var(--ng-doc-transition)}'],changeDetection:0})}return Le})();var M=d(8176),S=d(9850);const C=["ng-doc-floated-content",""],_=["*"];let F=(()=>{class Le{constructor(Xe,nt,me){this.elementRef=Xe,this.renderer=nt,this.ngZone=me,this.propertyName="",this.alignTo="left"}ngAfterViewChecked(){this.bindTo&&this.alignTo&&this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.setPadding(this.elementRef.nativeElement.offsetWidth)))}setPadding(Xe){this.bindTo&&this.propertyName&&this.renderer.setStyle((0,S.N)(this.bindTo),this.propertyName,Xe?`${Xe}px`:null,2)}static#e=this.\u0275fac=function(nt){return new(nt||Le)(o.Y36(o.SBq),o.Y36(o.Qsj),o.Y36(o.R0b))};static#t=this.\u0275cmp=o.Xpm({type:Le,selectors:[["","ng-doc-floated-content",""]],hostVars:1,hostBindings:function(nt,me){2&nt&&o.uIk("data-ng-doc-align",me.alignTo)},inputs:{bindTo:"bindTo",propertyName:"propertyName",alignTo:"alignTo"},standalone:!0,features:[o.jDz],attrs:C,ngContentSelectors:_,decls:1,vars:0,template:function(nt,me){1&nt&&(o.F$t(),o.Hsn(0))},styles:["[_nghost-%COMP%]{position:absolute;display:flex;top:0;align-items:center;height:100%;pointer-events:none}[data-ng-doc-align=left][_nghost-%COMP%]{left:0}[data-ng-doc-align=right][_nghost-%COMP%]{right:0}[_nghost-%COMP%] >*{pointer-events:auto}"],changeDetection:0})}return(0,s.__decorate)([M.g,(0,s.__metadata)("design:type",Function),(0,s.__metadata)("design:paramtypes",[Number]),(0,s.__metadata)("design:returntype",void 0)],Le.prototype,"setPadding",null),Le})();const L=["*"];let H=(()=>{class Le{static#e=this.\u0275fac=function(nt){return new(nt||Le)};static#t=this.\u0275cmp=o.Xpm({type:Le,selectors:[["ng-doc-wrapper"]],standalone:!0,features:[o.jDz],ngContentSelectors:L,decls:1,vars:0,template:function(nt,me){1&nt&&(o.F$t(),o.Hsn(0))},styles:["[data-ng-doc-focused=true][_nghost-%COMP%]{--ng-doc-floated-border-color: var(--ng-doc-floated-focus-border-color, var(--ng-doc-primary))}"],changeDetection:0})}return Le})();var V=d(1650),$=d(1791),Y=d(2549),ae=d(386),se=d(8923);function re(Le,Ue){if(1&Le&&(o.ynx(0),o._uU(1),o.BQk()),2&Le){const Xe=Ue.polymorpheusOutlet;o.xp6(1),o.hij(" ",Xe," ")}}function G(Le,Ue){if(1&Le&&(o.TgZ(0,"div",7)(1,"div",8),o.YNc(2,re,2,1,"ng-container",9),o.qZA()()),2&Le){const Xe=o.oxw();o.xp6(2),o.Q6J("polymorpheusOutlet",Xe.blurContent)("polymorpheusOutletContext",Xe.getBlurContext(Xe.blurContext))}}function Z(Le,Ue){if(1&Le&&(o.ynx(0),o._uU(1),o.BQk()),2&Le){const Xe=Ue.polymorpheusOutlet;o.xp6(1),o.Oqu(Xe)}}function X(Le,Ue){if(1&Le&&(o.TgZ(0,"span",10),o.YNc(1,Z,2,1,"ng-container",11),o.qZA()),2&Le){const Xe=o.oxw();o.xp6(1),o.Q6J("polymorpheusOutlet",Xe.leftContent)}}function te(Le,Ue){if(1&Le&&(o.ynx(0),o._uU(1),o.BQk()),2&Le){const Xe=Ue.polymorpheusOutlet;o.xp6(1),o.Oqu(Xe)}}function fe(Le,Ue){if(1&Le&&(o.TgZ(0,"span",10),o.YNc(1,te,2,1,"ng-container",11),o.qZA()),2&Le){const Xe=o.oxw();o.xp6(1),o.Q6J("polymorpheusOutlet",Xe.rightContent)}}const Ee=["*"];var xe;let Ie=xe=class jm{constructor(Ue,Xe,nt){this.elementRef=Ue,this.changeDetectorRef=Xe,this.controlHost=nt,this.blurContent="",this.blurContext=null,this.leftContent="",this.rightContent="",this.align="left"}ngAfterViewChecked(){this.changeDetectorRef.markForCheck()}getBlurContext(Ue){return{$implicit:Ue}}get disabled(){return!!this.inputControl?.disabled}inputHasValue(){return!!this.inputControl?.hasValue}get blurContentIsVisible(){return!!this.blurContent&&(!this.input?.isFocused||this.input?.isReadonly)}emptyEvent(){}static#e=this.\u0275fac=function(Xe){return new(Xe||jm)(o.Y36(o.SBq),o.Y36(o.sBO),o.Y36(ae.K,8))};static#t=this.\u0275cmp=o.Xpm({type:jm,selectors:[["ng-doc-input-wrapper"]],contentQueries:function(Xe,nt,me){if(1&Xe&&(o.Suo(me,I.f,5),o.Suo(me,I.f,5)),2&Xe){let Ne;o.iGM(Ne=o.CRH())&&(nt.input=Ne.first),o.iGM(Ne=o.CRH())&&(nt.inputControl=Ne.first)}},viewQuery:function(Xe,nt){if(1&Xe&&o.Gf(V.b,7),2&Xe){let me;o.iGM(me=o.CRH())&&(nt.focusCatcher=me.first)}},hostVars:2,hostBindings:function(Xe,nt){2&Xe&&o.uIk("data-ng-doc-align",nt.align)("data-ng-doc-input-disabled",nt.disabled)},inputs:{blurContent:"blurContent",blurContext:"blurContext",leftContent:"leftContent",rightContent:"rightContent",align:"align"},standalone:!0,features:[o._Bn([{provide:k.E,useExisting:xe}]),o.jDz],ngContentSelectors:Ee,decls:10,vars:7,consts:[["ngDocFocusCatcher",""],[1,"ng-doc-input-container",3,"focusin","focusout"],["inputContainer",""],["class","ng-doc-blur-container ng-doc-input",4,"ngIf"],["ng-doc-floated-content","","propertyName","--ng-doc-input-padding-left","alignTo","left",1,"ng-doc-floated-content",3,"bindTo"],["class","ng-doc-content",4,"ngIf"],["ng-doc-floated-content","","propertyName","--ng-doc-input-padding-right","alignTo","right",1,"ng-doc-floated-content",3,"bindTo"],[1,"ng-doc-blur-container","ng-doc-input"],[1,"ng-doc-blur-content"],[4,"polymorpheusOutlet","polymorpheusOutletContext"],[1,"ng-doc-content"],[4,"polymorpheusOutlet"]],template:function(Xe,nt){if(1&Xe&&(o.F$t(),o.TgZ(0,"ng-doc-wrapper",0)(1,"ng-doc-floated-border")(2,"div",1,2),o.NdJ("focusin",function(){return nt.emptyEvent()})("focusout",function(){return nt.emptyEvent()}),o.Hsn(4),o.YNc(5,G,3,2,"div",3),o.qZA(),o.TgZ(6,"div",4),o.YNc(7,X,2,1,"span",5),o.qZA(),o.TgZ(8,"div",6),o.YNc(9,fe,2,1,"span",5),o.qZA()()()),2&Xe){const me=o.MAs(3);o.xp6(2),o.ekj("-input-hidden",nt.blurContentIsVisible),o.xp6(3),o.Q6J("ngIf",nt.blurContentIsVisible),o.xp6(1),o.Q6J("bindTo",me),o.xp6(1),o.Q6J("ngIf",nt.leftContent),o.xp6(1),o.Q6J("bindTo",me),o.xp6(1),o.Q6J("ngIf",nt.rightContent)}},dependencies:[H,V.b,N,p.O5,Y.wq,Y.Li,F],styles:['[_nghost-%COMP%]{position:relative;display:block;width:var(--ng-doc-input-width);height:var(--ng-doc-input-height)}[_nghost-%COMP%]:hover:not([data-ng-doc-input-disabled=true]){--ng-doc-input-border: var(--ng-doc-input-border-hover)}[_nghost-%COMP%]:not([data-ng-doc-input-disabled=true]) .ng-doc-input:read-only{--ng-doc-input-cursor: pointer}[data-ng-doc-align=left][_nghost-%COMP%]{--ng-doc-input-text-align: left}[data-ng-doc-align=center][_nghost-%COMP%]{--ng-doc-input-text-align: center}[data-ng-doc-align=right][_nghost-%COMP%]{--ng-doc-input-text-align: right}[_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);position:relative;box-sizing:border-box;width:var(--ng-doc-input-width);height:var(--ng-doc-input-height);background-color:var(--ng-doc-input-background-color);border-radius:var(--ng-doc-floated-border-radius);--ng-doc-line-height: 22px}[_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%]:after{position:absolute;content:"";left:0;top:0;z-index:2;width:100%;height:100%;border:var(--ng-doc-input-border);border-radius:var(--ng-doc-floated-border-radius);pointer-events:none}[_nghost-%COMP%] .ng-doc-input-container.-input-hidden[_ngcontent-%COMP%] input{opacity:0}[_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input[_ngcontent-%COMP%], [_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input{width:100%;height:100%;overflow:hidden;padding:var(--ng-doc-base-gutter) var(--ng-doc-input-padding-right) var(--ng-doc-base-gutter) var(--ng-doc-input-padding-left);box-sizing:border-box;outline:none;text-align:var(--ng-doc-input-text-align);border:0;border-radius:var(--ng-doc-floated-border-radius);background-color:transparent;cursor:var(--ng-doc-input-cursor);color:var(--ng-doc-input-color, var(--ng-doc-text));font-family:var(--ng-doc-input-font-family, var(--ng-doc-font-family));font-size:var(--ng-doc-input-font-size, var(--ng-doc-font-size));font-weight:var(--ng-doc-input-font-weight, var(--ng-doc-font-weight))}[_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input[_ngcontent-%COMP%]::placeholder, [_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input::placeholder{color:var(--ng-doc-text-muted)}[_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input.-blink[_ngcontent-%COMP%], [_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input.-blink{animation:_ngcontent-%COMP%_blink-animation .3s}@keyframes _ngcontent-%COMP%_blink-animation{0%{background-color:rgba(var(--ng-doc-primary-rgb),.1)}to{background-color:initial}}[_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input[type=number][_ngcontent-%COMP%]::-webkit-inner-spin-button, [_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input[type=number][_ngcontent-%COMP%]::-webkit-outer-spin-button, [_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input[type=number]::-webkit-inner-spin-button, [_nghost-%COMP%] .ng-doc-input-container[_ngcontent-%COMP%] .ng-doc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}[_nghost-%COMP%] .ng-doc-content[_ngcontent-%COMP%]{--ng-doc-icon-width: 40px;--ng-doc-icon-height: 40px}ng-doc-floated-border[_ngcontent-%COMP%]{width:var(--ng-doc-input-width);height:var(--ng-doc-input-height)}.ng-doc-floated-content[_ngcontent-%COMP%]{min-width:calc(var(--ng-doc-base-gutter) * 2)}.ng-doc-button-content[_ngcontent-%COMP%]{display:flex}.ng-doc-blur-container[_ngcontent-%COMP%]{position:absolute;left:0;top:0;display:flex;align-items:center;pointer-events:none}.ng-doc-blur-container[_ngcontent-%COMP%] .ng-doc-blur-content[_ngcontent-%COMP%]{width:100%;white-space:nowrap;overflow:hidden}'],changeDetection:0})};(0,s.__decorate)([M.g,(0,s.__metadata)("design:type",Function),(0,s.__metadata)("design:paramtypes",[Object]),(0,s.__metadata)("design:returntype",Object)],Ie.prototype,"getBlurContext",null),Ie=xe=(0,s.__decorate)([(0,$.c)(),(0,s.__metadata)("design:paramtypes",[o.SBq,o.sBO,se.dK])],Ie)},8584:(ve,m,d)=>{"use strict";d.d(m,{J:()=>M});var s=d(6814),p=d(5879),o=d(2549);const I=["ng-doc-label",""];function k(S,C){if(1&S&&(p.ynx(0),p._uU(1),p.BQk()),2&S){const _=C.polymorpheusOutlet;p.xp6(1),p.Oqu(_)}}function T(S,C){if(1&S&&(p.TgZ(0,"span",2),p.YNc(1,k,2,1,"ng-container",3),p.qZA()),2&S){const _=p.oxw();p.xp6(1),p.Q6J("polymorpheusOutlet",_.label)}}const N=["*"];let M=(()=>{class S{constructor(){this.label="",this.align="left"}static#e=this.\u0275fac=function(F){return new(F||S)};static#t=this.\u0275cmp=p.Xpm({type:S,selectors:[["label","ng-doc-label",""]],hostVars:1,hostBindings:function(F,L){2&F&&p.uIk("data-ng-doc-align",L.align)},inputs:{label:["ng-doc-label","label"],align:"align"},standalone:!0,features:[p.jDz],attrs:I,ngContentSelectors:N,decls:3,vars:1,consts:[["class","ng-doc-label",4,"ngIf"],[1,"ng-doc-content"],[1,"ng-doc-label"],[4,"polymorpheusOutlet"]],template:function(F,L){1&F&&(p.F$t(),p.YNc(0,T,2,1,"span",0),p.TgZ(1,"span",1),p.Hsn(2),p.qZA()),2&F&&p.Q6J("ngIf",L.label)},dependencies:[s.O5,o.wq,o.Li],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;pointer-events:none}[data-ng-doc-align=right][_nghost-%COMP%] .ng-doc-label[_ngcontent-%COMP%]{align-self:flex-end;text-align:end}.ng-doc-label[_ngcontent-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);display:flex;flex-direction:row;pointer-events:auto;margin-bottom:calc(var(--ng-doc-base-gutter) / 2)}.ng-doc-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;width:var(--ng-doc-label-content-width, 100%)}.ng-doc-content[_ngcontent-%COMP%] > *[_ngcontent-%COMP%], .ng-doc-content[_ngcontent-%COMP%] >*{pointer-events:auto}"],changeDetection:0})}return S})()},7808:(ve,m,d)=>{"use strict";d.d(m,{k:()=>pr});var s=d(7582),p=d(5879),I=(d(2831),d(8645)),k=d(7394),gi=d(9397),Sr=d(3620),Ur=d(2181),pi=d(7398);class Jt{constructor(A){this._items=A,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new I.x,this._typeaheadSubscription=k.w0.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=R=>R.disabled,this._pressedLetters=[],this.tabOut=new I.x,this.change=new I.x,A instanceof p.n_E&&(this._itemChangesSubscription=A.changes.subscribe(R=>{if(this._activeItem){const K=R.toArray().indexOf(this._activeItem);K>-1&&K!==this._activeItemIndex&&(this._activeItemIndex=K)}}))}skipPredicate(A){return this._skipPredicateFn=A,this}withWrap(A=!0){return this._wrap=A,this}withVerticalOrientation(A=!0){return this._vertical=A,this}withHorizontalOrientation(A){return this._horizontal=A,this}withAllowedModifierKeys(A){return this._allowedModifierKeys=A,this}withTypeAhead(A=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe((0,gi.b)(R=>this._pressedLetters.push(R)),(0,Sr.b)(A),(0,Ur.h)(()=>this._pressedLetters.length>0),(0,pi.U)(()=>this._pressedLetters.join(""))).subscribe(R=>{const E=this._getItemsArray();for(let K=1;K!A[pe]||this._allowedModifierKeys.indexOf(pe)>-1);switch(R){case 9:return void this.tabOut.next();case 40:if(this._vertical&&K){this.setNextItemActive();break}return;case 38:if(this._vertical&&K){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&K){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&K){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&K){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&K){this.setLastItemActive();break}return;case 33:if(this._pageUpAndDown.enabled&&K){const pe=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(pe>0?pe:0,1);break}return;case 34:if(this._pageUpAndDown.enabled&&K){const pe=this._activeItemIndex+this._pageUpAndDown.delta,xt=this._getItemsArray().length;this._setActiveItemByIndex(pewt[R]):wt.altKey||wt.shiftKey||wt.ctrlKey||wt.metaKey}(A,"shiftKey"))&&(A.key&&1===A.key.length?this._letterKeyStream.next(A.key.toLocaleUpperCase()):(R>=65&&R<=90||R>=48&&R<=57)&&this._letterKeyStream.next(String.fromCharCode(R))))}this._pressedLetters=[],A.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(A){const R=this._getItemsArray(),E="number"==typeof A?A:R.indexOf(A);this._activeItem=R[E]??null,this._activeItemIndex=E}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(A){this._wrap?this._setActiveInWrapMode(A):this._setActiveInDefaultMode(A)}_setActiveInWrapMode(A){const R=this._getItemsArray();for(let E=1;E<=R.length;E++){const K=(this._activeItemIndex+A*E+R.length)%R.length;if(!this._skipPredicateFn(R[K]))return void this.setActiveItem(K)}}_setActiveInDefaultMode(A){this._setActiveItemByIndex(this._activeItemIndex+A,A)}_setActiveItemByIndex(A,R){const E=this._getItemsArray();if(E[A]){for(;this._skipPredicateFn(E[A]);)if(!E[A+=R])return;this.setActiveItem(A)}}_getItemsArray(){return this._items instanceof p.n_E?this._items.toArray():this._items}}var Lo=d(7340),Bo=d(8226),j=d(9850),oe=d(1791),ce=d(3019),Oe=d(2438),tt=d(4366),ct=d(9773),qe=d(9694),St=d(6232),Bt=d(9360),Ft=d(8251),Ut=d(4829),En=d(4825);const dn=["*"];let pr=(()=>{let wt=class Hm{constructor(R,E,K){this.elementRef=R,this.ngZone=E,this.listHost=K,this.keyManager=null,this.items=new Set;const pe=this.listHost?.listHostOrigin?(0,j.N)(this.listHost?.listHostOrigin):null,xt=(0,j.N)(this.elementRef);(0,ce.T)((0,Oe.R)(xt,"keydown"),pe?(0,Oe.R)(pe,"keydown").pipe((0,ct.R)((0,Oe.R)(xt,"keydown")),(0,qe.j)(()=>this.ngZone.onStable),function Dn(wt){let R,A=1/0;return null!=wt&&("object"==typeof wt?({count:A=1/0,delay:R}=wt):A=wt),A<=0?()=>St.E:(0,Bt.e)((E,K)=>{let xt,pe=0;const Qt=()=>{if(xt?.unsubscribe(),xt=null,null!=R){const ir="number"==typeof R?(0,En.H)(R):(0,Ut.Xf)(R(pe)),wr=(0,Ft.x)(K,()=>{wr.unsubscribe(),qn()});ir.subscribe(wr)}else qn()},qn=()=>{let ir=!1;xt=E.subscribe((0,Ft.x)(K,void 0,()=>{++pe!Qt.defaultPrevented),(0,oe.t)(this)).subscribe(Qt=>{const qn=Qt;"Enter"===qn.key&&(this.keyManager?.activeItem?.selectByUser(),qn.preventDefault()),this.keyManager?.activeItem?.setInactiveStyles(),this.keyManager?.onKeydown(qn),this.keyManager?.activeItem?.setActiveStyles(),this.keyManager?.activeItem&&(0,j.N)(this.keyManager?.activeItem.elementRef).scrollIntoView({block:"nearest"})})}registerItem(R){this.items.add(R),this.keyManager?.activeItem?.setInactiveStyles(),this.keyManager=new Jt((0,Lo.asArray)(this.items)).withVerticalOrientation(!0)}unregisterItem(R){this.items.delete(R)}static#e=this.\u0275fac=function(E){return new(E||Hm)(p.Y36(p.SBq),p.Y36(p.R0b),p.Y36(Bo.X,8))};static#t=this.\u0275cmp=p.Xpm({type:Hm,selectors:[["ng-doc-list"]],standalone:!0,features:[p.jDz],ngContentSelectors:dn,decls:1,vars:0,template:function(E,K){1&E&&(p.F$t(),p.Hsn(0))},styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})};return wt=(0,s.__decorate)([(0,oe.c)(),(0,s.__metadata)("design:paramtypes",[p.SBq,p.R0b,Bo.X])],wt),wt})()},6307:(ve,m,d)=>{"use strict";d.d(m,{e:()=>M});var s=d(5879);class p{}var o=d(7808),I=d(8923),k=d(8440),T=d(386);const N=["*"];let M=(()=>{class S extends I.ri{constructor(_,F,L,H,V){super(H,V),this.elementRef=_,this.changeDetectorRef=F,this.list=L,this.compareHost=H,this.host=V,this.hovered=!1,this.list?.registerItem(this)}clickEvent(){this.select()}selectByUser(){const _=this.elementRef.nativeElement.querySelector("a");_?_.click():this.select()}setActiveStyles(){this.hovered=!0,this.changeDetectorRef.markForCheck()}setInactiveStyles(){this.hovered=!1,this.changeDetectorRef.markForCheck()}ngOnDestroy(){super.ngOnDestroy(),this.list?.unregisterItem(this)}static#e=this.\u0275fac=function(F){return new(F||S)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36(o.k,8),s.Y36(k.d,8),s.Y36(T.K,8))};static#t=this.\u0275cmp=s.Xpm({type:S,selectors:[["ng-doc-option"]],hostVars:1,hostBindings:function(F,L){1&F&&s.NdJ("click",function(){return L.clickEvent()}),2&F&&s.uIk("data-ng-doc-hover",L.hovered)},standalone:!0,features:[s._Bn([{provide:p,useExisting:S}]),s.qOj,s.jDz],ngContentSelectors:N,decls:1,vars:0,template:function(F,L){1&F&&(s.F$t(),s.Hsn(0))},styles:["[_nghost-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);display:block;padding:var(--ng-doc-option-padding, var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2))}[_nghost-%COMP%]:hover:not([data-disabled=true]), [data-ng-doc-hover=true][_nghost-%COMP%]:not([data-disabled=true]){background:var(--ng-doc-hover-background);cursor:pointer}[data-checked=true][_nghost-%COMP%]{background-color:rgba(var(--ng-doc-primary-rgb),.2)}"],changeDetection:0})}return S})()},4826:(ve,m,d)=>{"use strict";d.d(m,{O:()=>xe});var s=d(6825),p=d(8290),o=d(6814),I=d(5879),k=d(9863),T=d(8897);const N=["*"];let M=(()=>{class Ie{constructor(Ue){this.documentRef=Ue,this.focusHost=null}focusPrev(){this.focusHost&&T.fF.focusClosestElement(this.focusHost,this.documentRef.body,!1)}focusNext(){this.focusHost&&T.fF.focusClosestElement(this.focusHost,this.documentRef.body)}static#e=this.\u0275fac=function(Xe){return new(Xe||Ie)(I.Y36(o.K0))};static#t=this.\u0275cmp=I.Xpm({type:Ie,selectors:[["ng-doc-focus-control"]],inputs:{focusHost:"focusHost"},standalone:!0,features:[I.jDz],ngContentSelectors:N,decls:3,vars:2,consts:[["data-ng-doc-focus-trap","true",3,"ngDocFocusable","focus"]],template:function(Xe,nt){1&Xe&&(I.F$t(),I.TgZ(0,"div",0),I.NdJ("focus",function(){return nt.focusPrev()}),I.qZA(),I.Hsn(1),I.TgZ(2,"div",0),I.NdJ("focus",function(){return nt.focusNext()}),I.qZA()),2&Xe&&(I.Q6J("ngDocFocusable",!0),I.xp6(2),I.Q6J("ngDocFocusable",!0))},dependencies:[k.O],styles:["[_nghost-%COMP%]{width:100%}"],changeDetection:0})}return Ie})();function S(Ie,Le){1&Ie&&(I.TgZ(0,"div",3),I._UZ(1,"div",4),I.qZA())}const C=["*"];let _=(()=>{class Ie{constructor(){this.overlayPosition=null,this.overlayAlign=null,this.withPointer=!0}static#e=this.\u0275fac=function(Xe){return new(Xe||Ie)};static#t=this.\u0275cmp=I.Xpm({type:Ie,selectors:[["ng-doc-overlay-pointer"]],hostVars:2,hostBindings:function(Xe,nt){2&Xe&&I.uIk("data-ng-doc-overlay-position",nt.overlayPosition)("data-ng-doc-overlay-align",nt.overlayAlign)},inputs:{overlayPosition:"overlayPosition",overlayAlign:"overlayAlign",withPointer:"withPointer"},standalone:!0,features:[I.jDz],ngContentSelectors:C,decls:4,vars:1,consts:[[1,"ng-doc-overlay-pointer-wrapper"],["class","ng-doc-overlay-pointer",4,"ngIf"],[1,"ng-doc-overlay-pointer-content"],[1,"ng-doc-overlay-pointer"],[1,"ng-doc-pointer"]],template:function(Xe,nt){1&Xe&&(I.F$t(),I.TgZ(0,"div",0),I.YNc(1,S,2,0,"div",1),I.TgZ(2,"div",2),I.Hsn(3),I.qZA()()),2&Xe&&(I.xp6(1),I.Q6J("ngIf",nt.withPointer))},dependencies:[o.O5],styles:['[_nghost-%COMP%]{display:block;height:100%}.ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{display:flex}.ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{position:relative}.ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:before{position:relative;display:block;content:"";width:0;height:0;border:8px solid transparent}.ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:after{position:absolute;display:block;content:"";width:0;height:0;border:7px solid transparent}.ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%] .ng-doc-overlay-pointer-content[_ngcontent-%COMP%]{display:flex;flex:1;height:100%}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%], [data-ng-doc-overlay-position=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%]{min-width:calc(var(--ng-doc-base-gutter) * 4)}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%], [data-ng-doc-overlay-position=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{justify-content:center}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%], [data-ng-doc-overlay-position=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{top:1px}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:before, [data-ng-doc-overlay-position=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:before{border-bottom:8px solid;border-bottom-color:var(--ng-doc-overlay-border)}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:after, [data-ng-doc-overlay-position=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:after{top:2px;right:1px;border-bottom:7px solid;border-bottom-color:var(--ng-doc-overlay-background)}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%]{flex-direction:column-reverse}[data-ng-doc-overlay-position=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{transform:rotate(180deg) scaleX(-1)}[data-ng-doc-overlay-align=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{justify-content:flex-start}[data-ng-doc-overlay-align=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{margin-left:calc(var(--ng-doc-base-gutter) * 2)}[data-ng-doc-overlay-align=right][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{justify-content:flex-end}[data-ng-doc-overlay-align=right][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{margin-right:calc(var(--ng-doc-base-gutter) * 2)}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%], [data-ng-doc-overlay-position=right][_nghost-%COMP%] .ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%]{flex-direction:row;min-height:calc(var(--ng-doc-base-gutter) * 4)}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%], [data-ng-doc-overlay-position=right][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{align-items:center}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%], [data-ng-doc-overlay-position=right][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{left:1px}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:before, [data-ng-doc-overlay-position=right][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:before{border-right:8px solid var(--ng-doc-overlay-border)}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:after, [data-ng-doc-overlay-position=right][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]:after{top:1px;right:0;border-right:7px solid var(--ng-doc-overlay-background)}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer-wrapper[_ngcontent-%COMP%]{flex-direction:row-reverse}[data-ng-doc-overlay-position=left][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{transform:rotate(180deg) scaleY(-1)}[data-ng-doc-overlay-align=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{align-items:flex-start}[data-ng-doc-overlay-align=top][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{margin-top:calc(var(--ng-doc-base-gutter) * 2)}[data-ng-doc-overlay-align=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%]{align-items:flex-end}[data-ng-doc-overlay-align=bottom][_nghost-%COMP%] .ng-doc-overlay-pointer[_ngcontent-%COMP%] .ng-doc-pointer[_ngcontent-%COMP%]{margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}'],changeDetection:0})}return Ie})();var F=d(7582),L=d(7340),H=d(9850),V=d(8201),$=d(1791),Y=d(3019),ae=d(2438);let se=(()=>{let Ie=class Vm{constructor(Ue,Xe){this.elementRef=Ue,this.ngZone=Xe,this.switchTo=null,this.events=[]}ngOnInit(){(0,Y.T)(...(0,L.asArray)(this.events).map(Ue=>(0,ae.R)(this.elementRef.nativeElement,Ue))).pipe((0,V.Lf)(this.ngZone),(0,$.t)(this)).subscribe(Ue=>{this.switchTo&&!Ue.defaultPrevented&&Ue.bubbles&&(Ue.stopPropagation(),this.makeEvent(Ue,(0,H.N)(this.switchTo)))})}makeEvent(Ue,Xe){Xe.dispatchEvent(new(0,Ue.constructor)(Ue.type,Ue))}static#e=this.\u0275fac=function(Xe){return new(Xe||Vm)(I.Y36(I.SBq),I.Y36(I.R0b))};static#t=this.\u0275dir=I.lG2({type:Vm,selectors:[["","ngDocEventSwitcher",""]],inputs:{switchTo:["ngDocEventSwitcher","switchTo"],events:"events"},standalone:!0})};return Ie=(0,F.__decorate)([(0,$.c)(),(0,F.__metadata)("design:paramtypes",[I.SBq,I.R0b])],Ie),Ie})();var re=d(1650),G=d(2549),Z=d(8645),X=d(3997);const te=["contentContainer"];function fe(Ie,Le){if(1&Ie&&(I.ynx(0),I._uU(1),I.BQk()),2&Ie){const Ue=Le.polymorpheusOutlet;I.xp6(1),I.Oqu(Ue)}}const Ee=function(){return["focusin","focusout","keydown","scroll"]};let xe=(()=>{class Ie{constructor(Ue,Xe,nt,me,Ne){this.elementRef=Ue,this.documentRef=Xe,this.changeDetectorRef=nt,this.ngZone=me,this.animationBuilder=Ne,this.relativePosition=null,this.content="",this.animationEvent$=new Z.x,this.isOpened=!0}ngOnInit(){this.runAnimation(this.config?.openAnimation||[]),this.config?.positionStrategy instanceof p._G&&this.config.positionStrategy.positionChanges.pipe((0,X.x)((Ue,Xe)=>Ue.connectionPair===Xe.connectionPair),(0,V.w1)(this.ngZone)).subscribe(Ue=>{this.currentPosition=T.WW.getOverlayPosition(Ue.connectionPair),this.relativePosition=T.WW.getRelativePosition(this.currentPosition),this.changeDetectorRef.markForCheck()})}get contactBorder(){return!!this.config?.contactBorder}get isFocused(){return!!this.focusCatcher?.focused}get animationEvent(){return this.animationEvent$.asObservable()}get overlayAlign(){return this.currentPosition?T.WW.getPositionAlign(T.WW.toConnectedPosition(this.currentPosition)):null}close(){this.isOpened&&(this.runAnimation(this.config?.closeAnimation||[],!0),this.isOpened=!1,this.changeDetectorRef.markForCheck())}focus(){this.contentContainer&&T.fF.focusClosestElement((0,H.N)(this.contentContainer),(0,H.N)(this.contentContainer))}markForCheck(){this.changeDetectorRef.markForCheck()}runAnimation(Ue,Xe=!1){const nt=this.animationBuilder.build(Ue).create(this.elementRef.nativeElement);nt.onStart(()=>this.animationEvent$.next(Xe?"beforeClose":"beforeOpen")),nt.onDone(()=>this.animationEvent$.next(Xe?"afterClose":"afterOpen")),nt.play()}ngOnDestroy(){this.isFocused&&this.config&&this.config.viewContainerRef&&T.fF.focusClosestElement(this.config.viewContainerRef.element.nativeElement,this.documentRef.body,!1)}static#e=this.\u0275fac=function(Xe){return new(Xe||Ie)(I.Y36(I.SBq),I.Y36(o.K0),I.Y36(I.sBO),I.Y36(I.R0b),I.Y36(s._j))};static#t=this.\u0275cmp=I.Xpm({type:Ie,selectors:[["ng-doc-overlay-container"]],viewQuery:function(Xe,nt){if(1&Xe&&(I.Gf(te,7,I.SBq),I.Gf(re.b,5),I.Gf(G.Li,7)),2&Xe){let me;I.iGM(me=I.CRH())&&(nt.contentContainer=me.first),I.iGM(me=I.CRH())&&(nt.focusCatcher=me.first),I.iGM(me=I.CRH())&&(nt.outlet=me.first)}},hostVars:2,hostBindings:function(Xe,nt){2&Xe&&I.uIk("data-ng-doc-overlay-position",nt.relativePosition)("data-ng-doc-overlay-with-contact-border",nt.contactBorder)},standalone:!0,features:[I.jDz],decls:5,vars:9,consts:[[3,"overlayPosition","overlayAlign","withPointer","ngDocEventSwitcher","events"],["ngDocFocusCatcher","",3,"focusHost"],[1,"ng-doc-overlay-content",3,"tabIndex"],["contentContainer",""],[4,"polymorpheusOutlet"]],template:function(Xe,nt){if(1&Xe&&(I.TgZ(0,"ng-doc-overlay-pointer",0)(1,"ng-doc-focus-control",1)(2,"div",2,3),I.YNc(4,fe,2,1,"ng-container",4),I.qZA()()()),2&Xe){let me,Ne;I.Q6J("overlayPosition",nt.relativePosition)("overlayAlign",nt.overlayAlign)("withPointer",!(null==nt.config||!nt.config.withPointer))("ngDocEventSwitcher",null!==(me=null==nt.config||null==nt.config.viewContainerRef||null==nt.config.viewContainerRef.element?null:nt.config.viewContainerRef.element.nativeElement)&&void 0!==me?me:null)("events",I.DdM(8,Ee)),I.xp6(1),I.Q6J("focusHost",null!==(Ne=null==nt.config||null==nt.config.viewContainerRef||null==nt.config.viewContainerRef.element?null:nt.config.viewContainerRef.element.nativeElement)&&void 0!==Ne?Ne:null),I.xp6(1),I.Q6J("tabIndex",-1),I.xp6(2),I.Q6J("polymorpheusOutlet",nt.content)}},dependencies:[_,se,M,re.b,G.wq,G.Li],styles:["[_nghost-%COMP%]{display:block;height:auto;width:100%}.ng-doc-overlay-content[_ngcontent-%COMP%]{width:100%;height:100%;background-color:var(--ng-doc-overlay-background);border:1px solid var(--ng-doc-overlay-border);border-radius:var(--ng-doc-overlay-border-radius);box-shadow:var(--ng-doc-overlay-shadow);overflow:auto}[data-ng-doc-overlay-position=top][_nghost-%COMP%]{transform-origin:bottom}[data-ng-doc-overlay-position=top][data-ng-doc-overlay-with-contact-border=false][_nghost-%COMP%] .ng-doc-overlay-content[_ngcontent-%COMP%]{border-bottom:none}[data-ng-doc-overlay-position=bottom][_nghost-%COMP%]{transform-origin:top}[data-ng-doc-overlay-position=bottom][data-ng-doc-overlay-with-contact-border=false][_nghost-%COMP%] .ng-doc-overlay-content[_ngcontent-%COMP%]{border-top:none}[data-ng-doc-overlay-position=left][_nghost-%COMP%]{transform-origin:right}[data-ng-doc-overlay-position=left][data-ng-doc-overlay-with-contact-border=false][_nghost-%COMP%] .ng-doc-overlay-content[_ngcontent-%COMP%]{border-right:none}[data-ng-doc-overlay-position=right][_nghost-%COMP%]{transform-origin:left}[data-ng-doc-overlay-position=right][data-ng-doc-overlay-with-contact-border=false][_nghost-%COMP%] .ng-doc-overlay-content[_ngcontent-%COMP%]{border-left:none}"],changeDetection:0})}return Ie})()},2919:(ve,m,d)=>{"use strict";d.d(m,{EH:()=>S,Uy:()=>C,eo:()=>M});var s=d(6814),p=d(5879);const o=["ng-doc-text",""];function I(_,F){1&_&&(p.TgZ(0,"span",3),p.Hsn(1,1),p.qZA())}function k(_,F){1&_&&(p.TgZ(0,"span",4),p.Hsn(1,2),p.qZA())}const T=["*",[["","ngDocTextLeft",""]],[["","ngDocTextRight",""]]],N=["*","[ngDocTextLeft]","[ngDocTextRight]"];let M=(()=>{class _{static#e=this.\u0275fac=function(H){return new(H||_)};static#t=this.\u0275dir=p.lG2({type:_,selectors:[["","ngDocTextLeft",""]],standalone:!0})}return _})(),S=(()=>{class _{static#e=this.\u0275fac=function(H){return new(H||_)};static#t=this.\u0275dir=p.lG2({type:_,selectors:[["","ngDocTextRight",""]],standalone:!0})}return _})(),C=(()=>{class _{constructor(L){this.changeDetectorRef=L,this.size="medium",this.color="normal",this.align="left",this.absoluteContent=!1,this.ngDocElement=!0}ngAfterContentChecked(){this.changeDetectorRef.detectChanges()}static#e=this.\u0275fac=function(H){return new(H||_)(p.Y36(p.sBO))};static#t=this.\u0275cmp=p.Xpm({type:_,selectors:[["","ng-doc-text",""]],contentQueries:function(H,V,$){if(1&H&&(p.Suo($,M,5),p.Suo($,S,5)),2&H){let Y;p.iGM(Y=p.CRH())&&(V.leftContent=Y.first),p.iGM(Y=p.CRH())&&(V.rightContent=Y.first)}},hostVars:6,hostBindings:function(H,V){2&H&&(p.uIk("data-ng-doc-text-size",V.size)("data-ng-doc-text-color",V.color)("data-ng-doc-text-align",V.align)("data-ng-doc-text-absolute",V.absoluteContent),p.ekj("ngde",V.ngDocElement))},inputs:{size:"size",color:"color",align:"align",absoluteContent:"absoluteContent"},standalone:!0,features:[p.jDz],attrs:o,ngContentSelectors:N,decls:4,vars:2,consts:[["class","ng-doc-text-left",4,"ngIf"],[1,"ng-doc-text"],["class","ng-doc-text-right",4,"ngIf"],[1,"ng-doc-text-left"],[1,"ng-doc-text-right"]],template:function(H,V){1&H&&(p.F$t(T),p.YNc(0,I,2,0,"span",0),p.TgZ(1,"span",1),p.Hsn(2),p.qZA(),p.YNc(3,k,2,0,"span",2)),2&H&&(p.Q6J("ngIf",V.leftContent),p.xp6(3),p.Q6J("ngIf",V.rightContent))},dependencies:[s.O5],styles:[":root{--ng-doc-text-left-width: auto;--ng-doc-text-right-width: auto}[_nghost-%COMP%]{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);position:relative;display:flex;align-items:flex-start}[data-ng-doc-text-size=small][_nghost-%COMP%]{--ng-doc-font-size: 14px;--ng-doc-line-height: 18px}[data-ng-doc-text-color=muted][_nghost-%COMP%]{--ng-doc-text: var(--ng-doc-text-muted)}[data-ng-doc-text-align=center][_nghost-%COMP%] .ng-doc-text[_ngcontent-%COMP%]{text-align:center}[data-ng-doc-text-align=right][_nghost-%COMP%] .ng-doc-text[_ngcontent-%COMP%]{text-align:right}[data-ng-doc-text-absolute=true][_nghost-%COMP%] .ng-doc-text-left[_ngcontent-%COMP%]{position:absolute;transform:translate(calc(-100% - var(--ng-doc-base-gutter)))}[data-ng-doc-text-absolute=true][_nghost-%COMP%] .ng-doc-text-right[_ngcontent-%COMP%]{position:absolute;right:0;transform:translate(calc(100% + var(--ng-doc-base-gutter)))}span[_nghost-%COMP%]{display:inline-flex}span[_nghost-%COMP%] .ng-doc-text[_ngcontent-%COMP%]{width:auto}[_nghost-%COMP%] .ng-doc-text-left[_ngcontent-%COMP%], [_nghost-%COMP%] .ng-doc-text-right[_ngcontent-%COMP%]{display:flex;justify-content:center;flex-shrink:0;min-height:var(--ng-doc-line-height);align-items:center}[_nghost-%COMP%] .ng-doc-text-left[_ngcontent-%COMP%] >ng-doc-svg-icon, [_nghost-%COMP%] .ng-doc-text-right[_ngcontent-%COMP%] >ng-doc-svg-icon{display:flex;min-height:var(--ng-doc-line-height)}[_nghost-%COMP%] .ng-doc-text[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .ng-doc-text[_ngcontent-%COMP%]:empty{display:none}[data-ng-doc-text-absolute=false][_nghost-%COMP%] .ng-doc-text-left[_ngcontent-%COMP%]:not(:empty){width:var(--ng-doc-text-left-width)}[data-ng-doc-text-absolute=false][_nghost-%COMP%] .ng-doc-text-left[_ngcontent-%COMP%]:not(:empty) ~ .ng-doc-text[_ngcontent-%COMP%]{margin-left:var(--ng-doc-base-gutter)}[data-ng-doc-text-absolute=false][_nghost-%COMP%] .ng-doc-text-right[_ngcontent-%COMP%]:not(:empty){width:var(--ng-doc-text-right-width);margin-left:var(--ng-doc-base-gutter)}"],changeDetection:0})}return _})()},7457:(ve,m,d)=>{"use strict";d.d(m,{N4:()=>s,Nk:()=>o,fJ:()=>p,gR:()=>I,t9:()=>k});const s="focusin",p="focusout",o=()=>!1,I=T=>T,k=T=>String(T)},8176:(ve,m,d)=>{"use strict";function s(p,o,{get:I,enumerable:k,value:T}){if(I)return{enumerable:k,get(){const M=I.call(this);return Object.defineProperty(this,o,{enumerable:k,value:M}),M}};if("function"!=typeof T)throw new Error("ngDocMakePure can only be used with functions or getters");const N=T;return{enumerable:k,get(){let S,M=[];const C=(..._)=>(M.length===_.length&&_.every((F,L)=>F===M[L])||(M=_,S=N.apply(this,_)),S);return Object.defineProperty(this,o,{value:C}),C}}}d.d(m,{g:()=>s})},7041:(ve,m,d)=>{"use strict";d.d(m,{o:()=>o});var s=d(5879),p=d(8897);let o=(()=>{class I{constructor(T){this.elementRef=T,this.selectAll=!1}ngOnInit(){const T=this.elementRef.nativeElement;p.fF.isNativeKeyboardFocusable(T)&&T.focus(),this.selectAll&&T instanceof HTMLInputElement&&Promise.resolve().then(()=>T.select())}static#e=this.\u0275fac=function(N){return new(N||I)(s.Y36(s.SBq))};static#t=this.\u0275dir=s.lG2({type:I,selectors:[["","ngDocAutofocus",""]],inputs:{selectAll:"selectAll"},standalone:!0})}return I})()},1650:(ve,m,d)=>{"use strict";d.d(m,{b:()=>F});var _,s=d(7582),p=d(5879),o=d(7457),I=d(9850),k=d(8201),T=d(1791),N=d(3019),M=d(2438),S=d(3620),C=d(3997);let F=_=class Um{constructor(H,V,$){this.elementRef=H,this.ngZone=V,this.changeDetectorRef=$,this.focusEvent=new p.vpe,this.blurEvent=new p.vpe,this.focused=!1,_.observeFocus((0,I.N)(this.elementRef)).pipe((0,k.w1)(this.ngZone),(0,T.t)(this)).subscribe(Y=>{this.focused=Y.type===o.N4,this.focused?this.focusEvent.emit(Y):this.blurEvent.emit(Y),this.changeDetectorRef.markForCheck()})}static observeFocus(H){return(0,N.T)((0,M.R)(H,o.N4),(0,M.R)(H,o.fJ)).pipe((0,S.b)(0),(0,C.x)((V,$)=>V.type===$.type))}static#e=this.\u0275fac=function(V){return new(V||Um)(p.Y36(p.SBq),p.Y36(p.R0b),p.Y36(p.sBO))};static#t=this.\u0275dir=p.lG2({type:Um,selectors:[["","ngDocFocusCatcher",""]],hostVars:1,hostBindings:function(V,$){2&V&&p.uIk("data-ng-doc-focused",$.focused)},outputs:{focusEvent:"focusEvent",blurEvent:"blurEvent"},exportAs:["ngDocFocusCatcher"],standalone:!0})};F=_=(0,s.__decorate)([(0,T.c)(),(0,s.__metadata)("design:paramtypes",[p.SBq,p.R0b,p.sBO])],F)},9863:(ve,m,d)=>{"use strict";d.d(m,{O:()=>p});var s=d(5879);let p=(()=>{class o{constructor(){this.focusable=!0}get tabIndex(){return this.focusable?0:-1}static#e=this.\u0275fac=function(T){return new(T||o)};static#t=this.\u0275dir=s.lG2({type:o,selectors:[["","ngDocFocusable",""]],hostVars:1,hostBindings:function(T,N){2&T&&s.uIk("tabIndex",N.tabIndex)},inputs:{focusable:["ngDocFocusable","focusable"]},exportAs:["ngDocFocusable"],standalone:!0})}return o})()},1586:(ve,m,d)=>{"use strict";d.d(m,{v:()=>M});var N,s=d(7582),p=d(5879),o=d(5784),I=d(187),k=d(9850),T=d(1791);let M=N=class zm extends I.f{constructor(C){super(),this.elementRef=C}blurEvent(){this.onTouched()}inputEvent(){this.updateModel(this.elementRef.nativeElement.value)}incomingUpdate(C){(0,k.N)(this.elementRef).value=(0,o.isPresent)(C)?String(C):""}static#e=this.\u0275fac=function(_){return new(_||zm)(p.Y36(p.SBq))};static#t=this.\u0275dir=p.lG2({type:zm,selectors:[["input","ngDocInputString",""]],hostBindings:function(_,F){1&_&&p.NdJ("blur",function(){return F.blurEvent()})("input",function(){return F.inputEvent()})},standalone:!0,features:[p._Bn([{provide:I.f,useExisting:(0,p.Gpc)(()=>N)}]),p.qOj]})};M=N=(0,s.__decorate)([(0,T.c)(),(0,s.__metadata)("design:paramtypes",[p.SBq])],M)},5717:(ve,m,d)=>{"use strict";d.d(m,{A:()=>Le});var s=d(7582),p=d(5879),o=d(7340),I=d(5784),k=d(7022),T=d(4826),N=d(9850),M=d(8201),S=d(6245),C=d(6814),_=d(8645),F=d(2438),L=d(6321),H=d(9360),V=d(8251),$=d(4829),ae=d(4825);var re=d(7398),G=d(2181),Z=d(9773);let X=(()=>{class Ue{constructor(nt,me){this.documentRef=nt,this.ngZone=me,this.overlayRef=null,this.destroy$=new _.x}attach(nt){this.overlayRef=nt}enable(){(0,F.R)(this.documentRef,"scroll",{capture:!0}).pipe((0,M.Lf)(this.ngZone),function se(Ue,Xe=L.z,nt){const me=(0,ae.H)(Ue,Xe);return function Y(Ue,Xe){return(0,H.e)((nt,me)=>{const{leading:Ne=!0,trailing:ke=!1}=Xe??{};let he=!1,Ke=null,Pe=null,st=!1;const dt=()=>{Pe?.unsubscribe(),Pe=null,ke&&(Me(),st&&me.complete())},bt=()=>{Pe=null,st&&me.complete()},pt=ht=>Pe=(0,$.Xf)(Ue(ht)).subscribe((0,V.x)(me,dt,bt)),Me=()=>{if(he){he=!1;const ht=Ke;Ke=null,me.next(ht),!st&&pt(ht)}};nt.subscribe((0,V.x)(me,ht=>{he=!0,Ke=ht,(!Pe||Pe.closed)&&(Ne?Me():pt(ht))},()=>{st=!0,(!(ke&&he&&Pe)||Pe.closed)&&me.complete()}))})}(()=>me,nt)}(10),(0,re.U)(nt=>nt.target instanceof Document?nt.target.scrollingElement:nt.target),(0,G.h)(nt=>nt instanceof Node&&(nt.contains(this.origin)||!this.origin)),(0,Z.R)(this.destroy$)).subscribe(()=>this.detach())}get origin(){const nt=this.overlayRef?.getConfig();return nt?.viewContainerRef?(0,N.N)(nt.viewContainerRef.element):null}disable(){this.destroy$.next()}detach(){this.disable(),this.overlayRef?.hasAttached()&&this.ngZone.run(()=>{this.overlayRef?.detach()})}static#e=this.\u0275fac=function(me){return new(me||Ue)(p.LFG(C.K0),p.LFG(p.R0b))};static#t=this.\u0275prov=p.Yz7({token:Ue,factory:Ue.\u0275fac,providedIn:"root"})}return Ue})();var te=d(8897),fe=d(1791),Ee=d(3019),xe=d(6232),Ie=d(4664);let Le=(()=>{let Ue=class $m{constructor(nt,me,Ne,ke,he,Ke){this.elementRef=nt,this.changeDetectorRef=me,this.viewContainerRef=Ne,this.overlayService=ke,this.ngZone=he,this.scrollStrategy=Ke,this.content="",this.delay=1e3,this.positions=["top-center","bottom-center","right-center","left-center"],this.canOpen=!0,this.panelClass="",this.minHeight="",this.maxHeight="",this.height="",this.minWidth="",this.maxWidth="",this.width="",this.beforeOpen=new p.vpe,this.afterOpen=new p.vpe,this.beforeClose=new p.vpe,this.afterClose=new p.vpe,this.overlayRef=null}ngAfterViewInit(){(0,F.R)(this.pointerOriginElement,"mouseenter").pipe((0,G.h)(()=>this.canOpen&&!this.isOpened),(0,Ie.w)(()=>(0,ae.H)(this.delay).pipe((0,Z.R)((0,F.R)(this.pointerOriginElement,"mouseleave")))),(0,M.w1)(this.ngZone),(0,fe.t)(this)).subscribe(()=>this.show()),(0,Ee.T)((0,F.R)(this.pointerOriginElement,"mouseleave"),this.beforeOpen.pipe((0,Ie.w)(()=>(0,I.isPresent)(this.overlayRef)?(0,F.R)(this.overlayRef.overlayRef.overlayElement,"mouseleave"):xe.E))).pipe((0,G.h)(()=>this.isOpened),(0,Ie.w)(()=>(0,ae.H)(50).pipe((0,Z.R)((0,F.R)(this.pointerOriginElement,"mouseenter")),(0,Z.R)((0,I.isPresent)(this.overlayRef)?(0,F.R)(this.overlayRef.overlayRef.overlayElement,"mouseenter"):xe.E))),(0,fe.t)(this),(0,M.w1)(this.ngZone)).subscribe(()=>this.hide())}show(){this.isOpened||(this.overlayRef=this.overlayService.open(this.content,{origin:this.displayOriginElement,overlayContainer:T.O,positionStrategy:this.overlayService.connectedPositionStrategy(this.displayOriginElement,this.getPositions(this.positions)),viewContainerRef:this.viewContainerRef,withPointer:!0,contactBorder:!0,panelClass:["ng-doc-tooltip",...(0,o.asArray)(this.panelClass)],height:this.height,width:this.width,minHeight:this.minHeight,minWidth:this.minWidth,maxHeight:this.maxHeight,maxWidth:this.maxWidth,scrollStrategy:this.scrollStrategy,disposeOnRouteNavigation:!0,openAnimation:k.YN,closeAnimation:k.ni}),this.beforeOpen.emit(),this.overlayRef?.afterOpen().pipe((0,M.Lf)(this.ngZone)).subscribe(()=>this.afterOpen.emit()),this.overlayRef?.beforeClose().pipe((0,M.Lf)(this.ngZone)).subscribe(()=>this.beforeClose.emit()),this.overlayRef?.afterClose().pipe((0,M.Lf)(this.ngZone)).subscribe(()=>this.afterClose.emit()),this.overlayRef?.beforeClose().subscribe(()=>this.hide()),this.changeDetectorRef.markForCheck())}hide(){this.isOpened&&(this.overlayRef?.close(),this.overlayRef=null,this.changeDetectorRef.markForCheck())}get isOpened(){return!!this.overlayRef}ngOnDestroy(){this.overlayRef&&this.overlayRef.overlayRef.dispose()}get pointerOriginElement(){return(0,I.isPresent)(this.pointerOrigin)?(0,N.N)(this.pointerOrigin):(0,N.N)(this.elementRef)}get displayOriginElement(){return(0,I.isPresent)(this.displayOrigin)?(0,N.N)(this.displayOrigin):(0,N.N)(this.elementRef)}getPositions(nt){return te.WW.getConnectedPosition(nt&&(0,o.asArray)(nt).length?nt:["bottom-center","top-center","right-center","left-center"],this.displayOriginElement,0,!0)}static#e=this.\u0275fac=function(me){return new(me||$m)(p.Y36(p.SBq),p.Y36(p.sBO),p.Y36(p.s_b),p.Y36(S.m),p.Y36(p.R0b),p.Y36(X))};static#t=this.\u0275dir=p.lG2({type:$m,selectors:[["","ngDocTooltip",""]],inputs:{content:["ngDocTooltip","content"],delay:"delay",displayOrigin:"displayOrigin",pointerOrigin:"pointerOrigin",positions:"positions",canOpen:"canOpen",panelClass:"panelClass",minHeight:"minHeight",maxHeight:"maxHeight",height:"height",minWidth:"minWidth",maxWidth:"maxWidth",width:"width"},outputs:{beforeOpen:"beforeOpen",afterOpen:"afterOpen",beforeClose:"beforeClose",afterClose:"afterClose"},exportAs:["ngDocTooltip"],standalone:!0})};return Ue=(0,s.__decorate)([(0,fe.c)(),(0,s.__metadata)("design:paramtypes",[p.SBq,p.sBO,p.s_b,S.m,p.R0b,X])],Ue),Ue})()},9850:(ve,m,d)=>{"use strict";d.d(m,{N:()=>I,e:()=>o});var s=d(5784),p=d(5879);function o(k,T,N={}){const M=Object.keys({...k,...T}),S={};for(const C of M)S[C]=k[C]!==T[C]&&(0,s.isPresent)(T[C])?T[C]:(N&&N[C])??k[C];return S}function I(k){return k instanceof p.SBq?k.nativeElement:k}},7230:(ve,m,d)=>{"use strict";d.d(m,{G:()=>k});var s=d(9862),p=d(5879),o=d(9397),I=d(7081);class k{constructor(){this.cache=new Map}static#e=this.TOKEN=Math.random().toString(36).slice(-8);intercept(N,M){if("GET"!==N.method||!N.params.has(k.TOKEN))return M.handle(N);const S=this.cache.get(N.url);if(S)return S;const C=N.clone({params:N.params.delete(k.TOKEN)}),_=M.handle(C).pipe((0,o.b)({error:F=>{F instanceof s.Zn&&this.cache.delete(F.url||"")}}),(0,I.d)(1));return this.cache.set(N.url,_),_}static#t=this.\u0275fac=function(M){return new(M||k)};static#n=this.\u0275prov=p.Yz7({token:k,factory:k.\u0275fac})}},8201:(ve,m,d)=>{"use strict";d.d(m,{Lf:()=>V,ao:()=>C,mN:()=>S,w1:()=>$});var s=d(5592),p=d(2096),o=d(8407),I=d(7921),k=d(4664),T=d(7398),N=d(6306),M=d(9397);function S(Y){return new s.y(ae=>{const se=Y.subscribe(re=>ae.next(re),re=>ae.error(re),()=>ae.complete());return()=>se.unsubscribe()})}function C(Y){return ae=>{let se={result:null,error:null,pending:!1};return(Y?Y.pipe((0,I.O)(null)):(0,p.of)(null)).pipe((0,k.w)(()=>ae.pipe((0,T.U)(re=>({result:re,pending:!1})),(0,N.K)(re=>(0,p.of)({result:null,error:re,pending:!1})),(0,I.O)({error:null,pending:!0}),(0,M.b)(re=>se={...se,...re}),(0,T.U)(()=>se))))}}class _{constructor(ae){this.ngZone=ae}call(ae,se){return this.ngZone.runOutsideAngular(()=>se.subscribe(ae))}}function F(Y){return ae=>ae.lift(new _(Y))}function L(Y){return ae=>new s.y(se=>ae.subscribe({next:re=>Y.runOutsideAngular(()=>se.next(re)),error:re=>Y.runOutsideAngular(()=>se.error(re)),complete:()=>Y.runOutsideAngular(()=>se.complete())}))}function V(Y){return(0,o.z)(L(Y),F(Y))}function $(Y){return(0,o.z)(L(Y),F(Y),function H(Y){return ae=>new s.y(se=>ae.subscribe({next:re=>Y.run(()=>se.next(re)),error:re=>Y.run(()=>se.error(re)),complete:()=>Y.run(()=>se.complete())}))}(Y))}},6245:(ve,m,d)=>{"use strict";d.d(m,{m:()=>Z});var s=d(8290),p=d(8484),o=d(5879),I=d(776),k=d(7340),T=d(5784),N=d(9850),M=d(8201),S=d(2438),C=d(3019),_=d(4366),F=d(4664),L=d(2181),H=d(9773),V=d(8180),$=d(3620),Y=d(7398),ae=d(9384);class se{constructor(te,fe,Ee,xe,Ie,Le){this.overlayRef=te,this.overlayConfig=fe,this.overlayContainer=Ee,this.ngZone=xe,this.router=Ie,this.location=Le,this.overlayResult=null,this.opened=!0,this.afterOpen().pipe((0,F.w)(()=>this.ngZone.runOutsideAngular(()=>this.overlayRef.outsidePointerEvents())),(0,L.h)(Xe=>!!this.overlayConfig.closeIfOutsideClick&&this.outsideClickChecker(Xe)),(0,M.w1)(this.ngZone)).subscribe(()=>this.close()),(0,S.R)(this.overlayRef.overlayElement,"click").pipe((0,L.h)(()=>!!this.overlayConfig.closeIfInnerClick),(0,H.R)(this.overlayRef.detachments()),(0,M.w1)(this.ngZone)).subscribe(()=>this.close()),this.router&&this.overlayConfig.disposeOnRouteNavigation&&this.router.events.pipe((0,L.h)(Xe=>Xe instanceof I.m2),(0,M.w1)(this.ngZone),(0,H.R)(this.overlayRef.detachments())).subscribe(()=>this.close()),this.location&&this.overlayConfig.disposeOnNavigation&&(0,M.mN)(this.location).pipe((0,H.R)(this.overlayRef.detachments())).subscribe(()=>this.close()),this.overlayConfig.disableClose||(0,C.T)(this.overlayRef.backdropClick(),this.overlayRef.keydownEvents().pipe((0,L.h)(Xe=>"Escape"===Xe.code))).pipe((0,V.q)(1),(0,H.R)(this.overlayRef.detachments())).subscribe(()=>this.close());const Ue=(0,N.N)(this.overlayConfig.origin);Ue instanceof HTMLElement&&this.ngZone.onStable.pipe((0,$.b)(10),(0,Y.U)(()=>Ue.getBoundingClientRect()),(0,ae.G)(),(0,L.h)(([Xe,nt])=>(0,T.isPresent)(Xe)&&(0,T.isPresent)(nt)&&(Xe.x!==nt.x||Xe.y!==nt.y||Xe.width!==nt.width||Xe.height!==nt.height)),(0,M.Lf)(this.ngZone),(0,H.R)(this.overlayRef.detachments())).subscribe(()=>this.overlayRef.updatePosition())}focus(){this.overlayContainer.focus()}get isFocused(){return this.overlayContainer.isFocused}get isOpened(){return this.opened}get hasAttached(){return this.overlayRef.hasAttached()}close(te){this.overlayResult=(0,T.isPresent)(te)?te:null,this.afterClose().subscribe(()=>{this.overlayRef.detach()}),this.overlayContainer.close(),this.overlayRef.detachBackdrop(),this.opened=!1}beforeOpen(){return this.overlayContainer.animationEvent.pipe((0,L.h)(te=>"beforeOpen"===te),(0,V.q)(1),(0,Y.U)(()=>{}))}afterOpen(){return this.overlayContainer.animationEvent.pipe((0,L.h)(te=>"afterOpen"===te),(0,V.q)(1),(0,Y.U)(()=>{}))}beforeClose(){return(0,C.T)(this.overlayContainer.animationEvent.pipe((0,L.h)(te=>"beforeClose"===te)),this.overlayRef.detachments()).pipe((0,V.q)(1),(0,Y.U)(()=>this.overlayResult))}afterClose(){return(0,C.T)(this.overlayContainer.animationEvent.pipe((0,L.h)(te=>"afterClose"===te)),this.overlayRef.detachments()).pipe((0,V.q)(1),(0,Y.U)(()=>this.overlayResult))}positionChanges(){return this.overlayConfig.positionStrategy instanceof s._G?this.overlayConfig.positionStrategy.positionChanges:_.C}outsideClickChecker(te){const fe=te.target;if(fe instanceof Element){const Ee=(0,N.N)(this.overlayConfig.origin);if(Ee instanceof HTMLElement)return!Ee.contains(fe)}return!0}}var re=d(8897),G=d(2549);let Z=(()=>{class X{constructor(fe,Ee,xe,Ie){this.overlay=fe,this.ngZone=Ee,this.injector=xe,this.router=Ie}open(fe,Ee,xe=[]){const Ie=this.createOverlay(Ee);return this.attachTooltipContainer(fe,Ie,Ee,xe)}attachTooltipContainer(fe,Ee,xe,Ie){const Le=new p.C5(xe.overlayContainer,xe.viewContainerRef,xe.viewContainerRef?.injector),Ue=Ee.attach(Le),Xe=new se(Ee,xe,Ue.instance,this.ngZone,this.router);return fe instanceof G.Al&&(fe=new G.Al(fe.component,this.createInjector(Xe,Ie,xe.viewContainerRef?.injector))),Ue.instance.config=xe,Ue.instance.content=fe,Ue.instance.markForCheck(),Xe}createOverlay(fe){const Ee=this.overlay.create(fe);return Ee.detachments().pipe((0,V.q)(1)).subscribe(()=>{Ee.hasAttached()&&Ee.detach()}),Ee}connectedPositionStrategy(fe,Ee){return this.overlay.position().flexibleConnectedTo(fe).withPositions(re.WW.toConnectedPositions((0,k.asArray)(Ee))).withPush(!0)}globalPositionStrategy(){return this.overlay.position().global()}scrollStrategy(){return this.overlay.scrollStrategies}createInjector(fe,Ee,xe){return o.zs3.create({providers:[...Ee,{provide:se,useValue:fe}],parent:xe||this.injector})}static#e=this.\u0275fac=function(Ee){return new(Ee||X)(o.LFG(s.aV),o.LFG(o.R0b),o.LFG(o.zs3),o.LFG(I.F0,8))};static#t=this.\u0275prov=o.Yz7({token:X,factory:X.\u0275fac,providedIn:"root"})}return X})()},9625:(ve,m,d)=>{"use strict";d.d(m,{DN:()=>I,Sy:()=>p});var s=d(5879);const p=new s.OlP("NG_DOC_ASSETS_PATH"),I=(new s.OlP("NG_DOC_COMPONENT_CONTEXT"),new s.OlP("NG_DOC_CUSTOM_ICONS_PATH"))},8897:(ve,m,d)=>{"use strict";d.d(m,{WW:()=>k,fF:()=>p});var s=d(7340);class p{static isNativeKeyboardFocusable(M){if(M.hasAttribute("disabled")||"-1"===M.getAttribute("tabIndex"))return!1;if(M instanceof HTMLElement&&M.isContentEditable||"0"===M.getAttribute("tabIndex"))return!0;switch(M.tagName){case"BUTTON":case"SELECT":case"TEXTAREA":return!0;case"VIDEO":case"AUDIO":return M.hasAttribute("controls");case"INPUT":return"hidden"!==M.getAttribute("type");case"A":case"LINK":return M.hasAttribute("href");default:return!1}}static getClosestKeyboardFocusable(M,S,C=!0){if(!S.ownerDocument)return null;const F=S.ownerDocument.createTreeWalker(S,NodeFilter.SHOW_ELEMENT,L=>"ownerSVGElement"in L?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT);for(F.currentNode=M;C?F.nextNode():F.previousNode();)if(F.currentNode instanceof HTMLElement&&(M=F.currentNode),p.isNativeKeyboardFocusable(M))return M;return null}static focusClosestElement(M,S,C=!0){const _=p.getClosestKeyboardFocusable(M,S,C);_&&_.focus()}}const I={"top-left":{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},"top-center":{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom"},"top-right":{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},"bottom-left":{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},"bottom-center":{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top"},"bottom-right":{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},"left-top":{originX:"start",originY:"top",overlayX:"end",overlayY:"top"},"left-center":{originX:"start",originY:"center",overlayX:"end",overlayY:"center"},"left-bottom":{originX:"start",originY:"bottom",overlayX:"end",overlayY:"bottom"},"right-top":{originX:"end",originY:"top",overlayX:"start",overlayY:"top"},"right-center":{originX:"end",originY:"center",overlayX:"start",overlayY:"center"},"right-bottom":{originX:"end",originY:"bottom",overlayX:"start",overlayY:"bottom"}};class k{static getConnectedPosition(M,S,C=0,_=!1){return(0,s.asArray)(M).map(F=>{const L=k.toConnectedPosition(F),H=k.getMarginMultiplier(L),V=k.isVerticalPosition(L)?0:C*H,$=k.isVerticalPosition(L)?C*H:0;return L.offsetX=L.offsetX||0,L.offsetY=L.offsetY||0,L.offsetX+=(_?k.getOffsetX(S,L):0)+V,L.offsetY+=(_?k.getOffsetY(S,L):0)+$,L})}static toConnectedPosition(M){return"string"==typeof M?{...I[M]}:{...M}}static toConnectedPositions(M){return M.map(k.toConnectedPosition)}static getOffsetX(M,S){const C=k.isVerticalPosition(S),_=k.getOffsetMultiplier(S),F=k.isCenterPosition(S),L="center"===S.originX&&"center"!==S.overlayX||k.overlayIsOutByX(S)?8:M.offsetWidth;return(C&&!F?Math.max(32-L,0):0)*_}static getOffsetY(M,S){const C=k.isVerticalPosition(S),_=k.getOffsetMultiplier(S),F=k.isCenterPosition(S),L="center"===S.originY&&"center"!==S.overlayY||k.overlayIsOutByY(S)?8:M.offsetHeight;return(C||F?0:Math.max(32-L,0))*_}static overlayIsOutByX(M){return"start"===M.originX&&"end"===M.overlayX||"end"===M.originX&&"start"===M.overlayX}static overlayIsOutByY(M){return"top"===M.originY&&"bottom"===M.overlayY||"bottom"===M.originY&&"top"===M.overlayY}static getOffsetMultiplier(M){return k.isVerticalPosition(M)&&"end"===M.overlayX||!k.isVerticalPosition(M)&&"bottom"===M.overlayY?1:-1}static getMarginMultiplier(M){return["right","bottom"].includes(k.getRelativePosition(M)||"")?1:-1}static isVerticalPosition(M){return["bottom","top"].includes(k.getRelativePosition(M)||"")}static isCenterPosition(M){return"center"===M.overlayX||"center"===M.overlayY}static getPositionAlign(M){return k.isVerticalPosition(M)?"start"===M.overlayX?"left":"end"===M.overlayX?"right":null:"top"===M.originY?"top":"bottom"===M.originY?"bottom":null}static getRelativePosition(M){const S=k.toConnectedPosition(M);return"bottom"===S.originY&&"top"===S.overlayY?"bottom":"top"===S.originY&&"bottom"===S.overlayY?"top":"start"===S.originX&&"end"===S.overlayX?"left":"end"===S.originX&&"start"===S.overlayX?"right":null}static getOverlayPosition(M){return Object.keys(I).find(C=>{const _=I[C];return M.originX===_.originX&&M.originY===_.originY&&M.overlayX===_.overlayX&&M.overlayY===_.overlayY})||M}}},1791:(ve,m,d)=>{"use strict";d.d(m,{c:()=>te,t:()=>Xe});var s=d(8645),p=d(7394),T=(d(9666),d(6232),d(6410),d(5879)),C=(d(1631),d(3093),d(6306),d(9773));const _=T.GuJ,L=Symbol("__destroy"),H=Symbol("__decoratorApplied");function V(me){return"string"==typeof me?Symbol(`__destroy__${me}`):L}function Y(me,Ne){me[Ne]||(me[Ne]=new s.x)}function ae(me,Ne){me[Ne]&&(me[Ne].next(),me[Ne].complete(),me[Ne]=null)}function se(me){me instanceof p.w0&&me.unsubscribe()}function G(me,Ne){return function(){if(me&&me.call(this),ae(this,V()),Ne.arrayName&&function re(me){Array.isArray(me)&&me.forEach(se)}(this[Ne.arrayName]),Ne.checkProperties)for(const ke in this)Ne.blackList?.includes(ke)||se(this[ke])}}function te(me={}){return Ne=>{!function F(me){return!!me[_]}(Ne)?function Z(me,Ne){me.prototype.ngOnDestroy=G(me.prototype.ngOnDestroy,Ne)}(Ne,me):function X(me,Ne){const ke=me.\u0275pipe;ke.onDestroy=G(ke.onDestroy,Ne)}(Ne,me),function $(me){me.prototype[H]=!0}(Ne)}}function Xe(me,Ne){return ke=>{const he=V(Ne);return"string"==typeof Ne?function Ue(me,Ne,ke){const he=me[Ne];Y(me,ke),me[Ne]=function(){he.apply(this,arguments),ae(this,ke),me[Ne]=he}}(me,Ne,he):Y(me,he),ke.pipe((0,C.R)(me[he]))}}Symbol("CheckerHasBeenSet")},8477:(ve,m,d)=>{"use strict";d.d(m,{Z:()=>N});var s={value:()=>{}};function p(){for(var _,M=0,S=arguments.length,C={};M=0&&(_=C.slice(F+1),C=C.slice(0,F)),C&&!S.hasOwnProperty(C))throw new Error("unknown type: "+C);return{type:C,name:_}})}(M+"",C),L=-1,H=_.length;if(!(arguments.length<2)){if(null!=S&&"function"!=typeof S)throw new Error("invalid callback: "+S);for(;++L0)for(var F,L,C=new Array(F),_=0;_{"use strict";d.d(m,{D:()=>I,Z:()=>o});var s=d(9567),p=d(4537);function o(k){var T=k.document.documentElement,N=(0,s.Z)(k).on("dragstart.drag",p.ZP,p.Dd);"onselectstart"in T?N.on("selectstart.drag",p.ZP,p.Dd):(T.__noselect=T.style.MozUserSelect,T.style.MozUserSelect="none")}function I(k,T){var N=k.document.documentElement,M=(0,s.Z)(k).on("dragstart.drag",null);T&&(M.on("click.drag",p.ZP,p.Dd),setTimeout(function(){M.on("click.drag",null)},0)),"onselectstart"in N?M.on("selectstart.drag",null):(N.style.MozUserSelect=N.__noselect,delete N.__noselect)}},4537:(ve,m,d)=>{"use strict";d.d(m,{Dd:()=>p,Q7:()=>s,ZP:()=>I,rG:()=>o});const s={passive:!1},p={capture:!0,passive:!1};function o(k){k.stopImmediatePropagation()}function I(k){k.preventDefault(),k.stopImmediatePropagation()}},6371:(ve,m,d)=>{"use strict";d.d(m,{ET:()=>M});const s=Math.PI,p=2*s,o=1e-6,I=p-o;function k(C){this._+=C[0];for(let _=1,F=C.length;_=0))throw new Error(`invalid digits: ${C}`);if(_>15)return k;const F=10**_;return function(L){this._+=L[0];for(let H=1,V=L.length;Ho)if(Math.abs(G*ae-se*re)>o&&V){let X=L-$,te=H-Y,fe=ae*ae+se*se,Ee=X*X+te*te,xe=Math.sqrt(fe),Ie=Math.sqrt(Z),Le=V*Math.tan((s-Math.acos((fe+Z-Ee)/(2*xe*Ie)))/2),Ue=Le/Ie,Xe=Le/xe;Math.abs(Ue-1)>o&&this._append`L${_+Ue*re},${F+Ue*G}`,this._append`A${V},${V},0,0,${+(G*X>re*te)},${this._x1=_+Xe*ae},${this._y1=F+Xe*se}`}else this._append`L${this._x1=_},${this._y1=F}`}arc(_,F,L,H,V,$){if(_=+_,F=+F,$=!!$,(L=+L)<0)throw new Error(`negative radius: ${L}`);let Y=L*Math.cos(H),ae=L*Math.sin(H),se=_+Y,re=F+ae,G=1^$,Z=$?H-V:V-H;null===this._x1?this._append`M${se},${re}`:(Math.abs(this._x1-se)>o||Math.abs(this._y1-re)>o)&&this._append`L${se},${re}`,L&&(Z<0&&(Z=Z%p+p),Z>I?this._append`A${L},${L},0,1,${G},${_-Y},${F-ae}A${L},${L},0,1,${G},${this._x1=se},${this._y1=re}`:Z>o&&this._append`A${L},${L},0,${+(Z>=s)},${G},${this._x1=_+L*Math.cos(V)},${this._y1=F+L*Math.sin(V)}`)}rect(_,F,L,H){this._append`M${this._x0=this._x1=+_},${this._y0=this._y1=+F}h${L=+L}v${+H}h${-L}Z`}toString(){return this._}}function M(){return new N}M.prototype=N.prototype},9775:(ve,m,d)=>{"use strict";function s(o){return function(){return this.matches(o)}}function p(o){return function(I){return I.matches(o)}}d.d(m,{P:()=>p,Z:()=>s})},6006:(ve,m,d)=>{"use strict";d.d(m,{Z:()=>p});var s=d(3316);function p(o){var I=o+="",k=I.indexOf(":");return k>=0&&"xmlns"!==(I=o.slice(0,k))&&(o=o.slice(k+1)),s.Z.hasOwnProperty(I)?{space:s.Z[I],local:o}:o}},3316:(ve,m,d)=>{"use strict";d.d(m,{P:()=>s,Z:()=>p});var s="http://www.w3.org/1999/xhtml";const p={svg:"http://www.w3.org/2000/svg",xhtml:s,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}},5045:(ve,m,d)=>{"use strict";function p(o,I){if(o=function s(o){let I;for(;I=o.sourceEvent;)o=I;return o}(o),void 0===I&&(I=o.currentTarget),I){var k=I.ownerSVGElement||I;if(k.createSVGPoint){var T=k.createSVGPoint();return T.x=o.clientX,T.y=o.clientY,[(T=T.matrixTransform(I.getScreenCTM().inverse())).x,T.y]}if(I.getBoundingClientRect){var N=I.getBoundingClientRect();return[o.clientX-N.left-I.clientLeft,o.clientY-N.top-I.clientTop]}}return[o.pageX,o.pageY]}d.d(m,{Z:()=>p})},9567:(ve,m,d)=>{"use strict";d.d(m,{Z:()=>p});var s=d(8224);function p(o){return"string"==typeof o?new s.Y1([[document.querySelector(o)]],[document.documentElement]):new s.Y1([[o]],s.Jz)}},8224:(ve,m,d)=>{"use strict";d.d(m,{Y1:()=>we,ZP:()=>Pt,Jz:()=>$e});var s=d(8692),I=d(2111);var N=d(9775),M=Array.prototype.find;function C(){return this.firstElementChild}var F=Array.prototype.filter;function L(){return Array.from(this.children)}function Y(ue){return new Array(ue.length)}function se(ue,Se){this.ownerDocument=ue.ownerDocument,this.namespaceURI=ue.namespaceURI,this._next=null,this._parent=ue,this.__data__=Se}function G(ue,Se,mt,Je,vt,$t){for(var Xt,Yt=0,sn=Se.length,pn=$t.length;YtSe?1:ue>=Se?0:NaN}se.prototype={constructor:se,appendChild:function(ue){return this._parent.insertBefore(ue,this._next)},insertBefore:function(ue,Se){return this._parent.insertBefore(ue,Se)},querySelector:function(ue){return this._parent.querySelector(ue)},querySelectorAll:function(ue){return this._parent.querySelectorAll(ue)}};var Pe=d(6006);function st(ue){return function(){this.removeAttribute(ue)}}function dt(ue){return function(){this.removeAttributeNS(ue.space,ue.local)}}function bt(ue,Se){return function(){this.setAttribute(ue,Se)}}function pt(ue,Se){return function(){this.setAttributeNS(ue.space,ue.local,Se)}}function Me(ue,Se){return function(){var mt=Se.apply(this,arguments);null==mt?this.removeAttribute(ue):this.setAttribute(ue,mt)}}function ht(ue,Se){return function(){var mt=Se.apply(this,arguments);null==mt?this.removeAttributeNS(ue.space,ue.local):this.setAttributeNS(ue.space,ue.local,mt)}}var zt=d(8995);function _t(ue){return function(){delete this[ue]}}function an(ue,Se){return function(){this[ue]=Se}}function un(ue,Se){return function(){var mt=Se.apply(this,arguments);null==mt?delete this[ue]:this[ue]=mt}}function Rn(ue){return ue.trim().split(/^|\s+/)}function Gn(ue){return ue.classList||new uo(ue)}function uo(ue){this._node=ue,this._names=Rn(ue.getAttribute("class")||"")}function Ro(ue,Se){for(var mt=Gn(ue),Je=-1,vt=Se.length;++Je=0&&(this._names.splice(Se,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(ue){return this._names.indexOf(ue)>=0}};var nn=d(3316);function po(ue){return function(){var Se=this.ownerDocument,mt=this.namespaceURI;return mt===nn.P&&Se.documentElement.namespaceURI===nn.P?Se.createElement(ue):Se.createElementNS(mt,ue)}}function Ln(ue){return function(){return this.ownerDocument.createElementNS(ue.space,ue.local)}}function wn(ue){var Se=(0,Pe.Z)(ue);return(Se.local?Ln:po)(Se)}function rr(){return null}function Zo(){var ue=this.parentNode;ue&&ue.removeChild(this)}function ot(){var ue=this.cloneNode(!1),Se=this.parentNode;return Se?Se.insertBefore(ue,this.nextSibling):ue}function Nt(){var ue=this.cloneNode(!0),Se=this.parentNode;return Se?Se.insertBefore(ue,this.nextSibling):ue}function ge(ue){return function(){var Se=this.__on;if(Se){for(var $t,mt=0,Je=-1,vt=Se.length;mt=In&&(In=xo+1);!(Fo=Co[In])&&++In=0;)(Yt=Je[vt])&&($t&&4^Yt.compareDocumentPosition($t)&&$t.parentNode.insertBefore(Yt,$t),$t=Yt);return this},sort:function Ue(ue){function Se(Dt,Gt){return Dt&&Gt?ue(Dt.__data__,Gt.__data__):!Dt-!Gt}ue||(ue=Xe);for(var mt=this._groups,Je=mt.length,vt=new Array(Je),$t=0;$t1?this.each((null==Se?_t:"function"==typeof Se?un:an)(ue,Se)):this.node()[ue]},classed:function Be(ue,Se){var mt=Rn(ue+"");if(arguments.length<2){for(var Je=Gn(this.node()),vt=-1,$t=mt.length;++vt<$t;)if(!Je.contains(mt[vt]))return!1;return!0}return this.each(("function"==typeof Se?So:Se?Jn:Oo)(mt,Se))},text:function Ce(ue){return arguments.length?this.each(null==ue?gt:("function"==typeof ue?q:je)(ue)):this.node().textContent},html:function ut(ue){return arguments.length?this.each(null==ue?Re:("function"==typeof ue?Ve:We)(ue)):this.node().innerHTML},raise:function Ye(){return this.each(ye)},lower:function en(){return this.each(et)},append:function Bn(ue){var Se="function"==typeof ue?ue:wn(ue);return this.select(function(){return this.appendChild(Se.apply(this,arguments))})},insert:function br(ue,Se){var mt="function"==typeof ue?ue:wn(ue),Je=null==Se?rr:"function"==typeof Se?Se:(0,s.Z)(Se);return this.select(function(){return this.insertBefore(mt.apply(this,arguments),Je.apply(this,arguments)||null)})},remove:function Te(){return this.each(Zo)},clone:function bn(ue){return this.select(ue?Nt:ot)},datum:function rt(ue){return arguments.length?this.property("__data__",ue):this.node().__data__},on:function Rt(ue,Se,mt){var vt,Yt,Je=function de(ue){return ue.trim().split(/^|\s+/).map(function(Se){var mt="",Je=Se.indexOf(".");return Je>=0&&(mt=Se.slice(Je+1),Se=Se.slice(0,Je)),{type:Se,name:mt}})}(ue+""),$t=Je.length;if(!(arguments.length<2)){for(Xt=Se?Ge:ge,vt=0;vt<$t;++vt)this.each(Xt(Je[vt],Se,mt));return this}var Xt=this.node().__on;if(Xt)for(var mn,sn=0,pn=Xt.length;sn{"use strict";d.d(m,{S:()=>T,Z:()=>k});var s=d(7416);function p(N){return function(){this.style.removeProperty(N)}}function o(N,M,S){return function(){this.style.setProperty(N,M,S)}}function I(N,M,S){return function(){var C=M.apply(this,arguments);null==C?this.style.removeProperty(N):this.style.setProperty(N,C,S)}}function k(N,M,S){return arguments.length>1?this.each((null==M?p:"function"==typeof M?I:o)(N,M,S??"")):T(this.node(),N)}function T(N,M){return N.style.getPropertyValue(M)||(0,s.Z)(N).getComputedStyle(N,null).getPropertyValue(M)}},8692:(ve,m,d)=>{"use strict";function s(){}function p(o){return null==o?s:function(){return this.querySelector(o)}}d.d(m,{Z:()=>p})},2111:(ve,m,d)=>{"use strict";function s(){return[]}function p(o){return null==o?s:function(){return this.querySelectorAll(o)}}d.d(m,{Z:()=>p})},7416:(ve,m,d)=>{"use strict";function s(p){return p.ownerDocument&&p.ownerDocument.defaultView||p.document&&p||p.defaultView}d.d(m,{Z:()=>s})},1715:(ve,m,d)=>{"use strict";d.d(m,{B7:()=>H,HT:()=>V,zO:()=>F});var k,T,s=0,p=0,o=0,I=1e3,N=0,M=0,S=0,C="object"==typeof performance&&performance.now?performance:Date,_="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(G){setTimeout(G,17)};function F(){return M||(_(L),M=C.now()+S)}function L(){M=0}function H(){this._call=this._time=this._next=null}function V(G,Z,X){var te=new H;return te.restart(G,Z,X),te}function Y(){M=(N=C.now())+S,s=p=0;try{!function $(){F(),++s;for(var Z,G=k;G;)(Z=M-G._time)>=0&&G._call.call(void 0,Z),G=G._next;--s}()}finally{s=0,function se(){for(var G,X,Z=k,te=1/0;Z;)Z._call?(te>Z._time&&(te=Z._time),G=Z,Z=Z._next):(X=Z._next,Z._next=null,Z=G?G._next=X:k=X);T=G,re(te)}(),M=0}}function ae(){var G=C.now(),Z=G-N;Z>I&&(S-=Z,N=G)}function re(G){s||(p&&(p=clearTimeout(p)),G-M>24?(G<1/0&&(p=setTimeout(Y,G-C.now()-S)),o&&(o=clearInterval(o))):(o||(N=C.now(),o=setInterval(ae,I)),s=1,_(Y)))}H.prototype=V.prototype={constructor:H,restart:function(G,Z,X){if("function"!=typeof G)throw new TypeError("callback is not a function");X=(null==X?F():+X)+(null==Z?0:+Z),!this._next&&T!==this&&(T?T._next=this:k=this,T=this),this._call=G,this._time=X,re()},stop:function(){this._call&&(this._call=null,this._time=1/0,re())}}},8440:(ve,m,d)=>{"use strict";d.d(m,{d:()=>o}),d(2257),Symbol;class o{}},2257:(ve,m,d)=>{"use strict";d.d(m,{U:()=>p,i:()=>s});const s=()=>{},p=(o,I)=>o===I},8923:(ve,m,d)=>{"use strict";d.d(m,{Km:()=>F,dK:()=>L,ri:()=>H});var s=d(5879),p=d(8645),o=d(95),I=d(2257),N=d(7398),M=d(2181),S=d(7582);function C(Y,ae,{get:se,enumerable:re,value:G}){if(se)return{enumerable:re,get(){const X=se.call(this);return Object.defineProperty(this,ae,{enumerable:re,value:X}),X}};if("function"!=typeof G)throw new Error("flPure can only be used with functions or getters");const Z=G;return{enumerable:re,get(){let te,X=[];const fe=(...Ee)=>(X.length===Ee.length&&Ee.every((xe,Ie)=>xe===X[Ie])||(X=Ee,te=Z.apply(this,Ee)),te);return Object.defineProperty(this,ae,{value:fe}),fe}}}let _=(()=>{class Y{model=null;isDisabled=!1;onTouched=I.i;onChange=I.i;ngControl;changeDetectorRef;constructor(){this.ngControl=(0,s.f3M)(o.a5,{optional:!0,self:!0}),this.changeDetectorRef=(0,s.f3M)(s.sBO),this.ngControl&&(this.ngControl.valueAccessor=this)}get hasValue(){return function T(Y){return function k(Y){return null!=Y&&("string"!=typeof Y||""!==Y)}(Y)&&(Array.isArray(Y)&&!!Y.length||"string"==typeof Y&&!!Y.length||!["string"].includes(typeof Y)&&!Array.isArray(Y))}(this.model)}get disabled(){return this.computeDisabled()}set disabled(se){this.setDisabledState(se)}get nativeDisabled(){return!!this.disabled||null}computeDisabled(){return this.isDisabled}registerOnChange(se){this.onChange=se}registerOnTouched(se){this.onTouched=se}writeValue(se){this.model!==se&&this.update(se)}writeValueFromHost(se){this.model!==se&&(this.update(se),this.onChange(se))}updateModel(se){this.disabled||(this.model=se,this.onChange(this.model),this.changeDetectorRef.markForCheck())}incomingUpdate(se){}setDisabledState(se){this.isDisabled=se,this.changeDetectorRef.markForCheck()}update(se){this.model=se,this.incomingUpdate&&this.incomingUpdate(se),this.changeDetectorRef.markForCheck()}static \u0275fac=function(re){return new(re||Y)};static \u0275dir=s.lG2({type:Y,hostVars:2,hostBindings:function(re,G){2&re&&s.uIk("data-disabled",G.disabled)("disabled",G.nativeDisabled)},inputs:{disabled:"disabled"}})}return Y})(),F=(()=>{class Y extends _{host;requestUpdate=I.i;onControlChange=I.i;valueChange$=new p.x;constructor(se){super(),this.host=se}ngOnInit(){Promise.resolve().then(()=>this.host?.registerControl(this))}computeDisabled(){return super.computeDisabled()||!!this.host?.disabled}registerOnControlChange(se){this.onControlChange=re=>{se(re),this.valueChange$.next(re)}}registerRequestUpdate(se){this.requestUpdate=se}get valueChange(){return this.valueChange$.asObservable()}updateModel(se){this.disabled||(super.updateModel(se),this.onControlChange(se))}writeValue(se){this.model!==se&&(super.writeValue(se),this.onControlChange(se))}ngOnDestroy(){this.host?.unregisterControl(this)}static \u0275fac=function(re){s.$Z()};static \u0275dir=s.lG2({type:Y,features:[s.qOj]})}return Y})(),L=(()=>{class Y extends F{host;controls=new Set;updatesFrom=null;controlChange$=new p.x;constructor(se){super(se),this.host=se}registerControl(se){this.controls.add(se),Promise.resolve().then(()=>{se.writeValueFromHost(this.model)}),se.registerOnControlChange(re=>{this.model!==re&&(this.updatesFrom=se,this.updateModel(re),this.incomingUpdate(re),this.controlChange$.next([se,re]))}),se.registerRequestUpdate(()=>{se.writeValueFromHost(this.model)})}unregisterControl(se){this.controls.delete(se)}get controlChange(){return this.controlChange$.pipe((0,N.U)(([,se])=>se))}typedControlChange(se){return this.controlChange$.pipe((0,M.h)(([re])=>re instanceof se),(0,N.U)(([,re])=>re))}updateModel(se){super.updateModel(se),this.updateControls(this.model)}incomingUpdate(se){this.updateControls(se)}updateControls(se){this.controls.forEach(re=>{re!==this.updatesFrom&&re.writeValueFromHost(se)}),this.updatesFrom=null}static \u0275fac=function(re){s.$Z()};static \u0275dir=s.lG2({type:Y,features:[s.qOj]})}return Y})(),H=(()=>{class Y extends F{compareHost;host;hasIntermediate;value=!0;constructor(se,re,G){super(re),this.compareHost=se,this.host=re,this.hasIntermediate=G}ngOnChanges({value:se}){se&&this.requestUpdate()}select(){this.updateModel(this.value)}deselect(){this.updateModel(!1)}intermediate(){this.updateModel(null)}toggle(){this.updateModel(!1===this.checked&&this.value)}get isIntermediate(){return null===this.model&&!!this.hasIntermediate}get checked(){return!!this.compare(this.value,this.model)||!!this.isIntermediate&&null}compare(se,re){return this.compareHost?.compareFn(se,re)??(0,I.U)(se,re)}static \u0275fac=function(re){s.$Z()};static \u0275dir=s.lG2({type:Y,hostVars:2,hostBindings:function(re,G){2&re&&s.uIk("data-intermediate",G.isIntermediate)("data-checked",G.checked)},inputs:{value:"value"},features:[s.qOj,s.TTD]})}return(0,S.__decorate)([C,(0,S.__metadata)("design:type",Function),(0,S.__metadata)("design:paramtypes",[Object,Object]),(0,S.__metadata)("design:returntype",Boolean)],Y.prototype,"compare",null),Y})()},386:(ve,m,d)=>{"use strict";d.d(m,{K:()=>p,N:()=>o});const p=new(d(5879).OlP)("FL_CONTROL_HOST");function o(I){return{provide:p,useExisting:I}}},5861:(ve,m,d)=>{"use strict";function s(o,I,k,T,N,M,S){try{var C=o[M](S),_=C.value}catch(F){return void k(F)}C.done?I(_):Promise.resolve(_).then(T,N)}function p(o){return function(){var I=this,k=arguments;return new Promise(function(T,N){var M=o.apply(I,k);function S(_){s(M,T,N,S,C,"next",_)}function C(_){s(M,T,N,S,C,"throw",_)}S(void 0)})}}d.d(m,{Z:()=>p})},7582:(ve,m,d)=>{"use strict";d.r(m),d.d(m,{__assign:()=>o,__asyncDelegator:()=>X,__asyncGenerator:()=>Z,__asyncValues:()=>te,__await:()=>G,__awaiter:()=>F,__classPrivateFieldGet:()=>Le,__classPrivateFieldIn:()=>Xe,__classPrivateFieldSet:()=>Ue,__createBinding:()=>H,__decorate:()=>k,__esDecorate:()=>N,__exportStar:()=>V,__extends:()=>p,__generator:()=>L,__importDefault:()=>Ie,__importStar:()=>xe,__makeTemplateObject:()=>fe,__metadata:()=>_,__param:()=>T,__propKey:()=>S,__read:()=>Y,__rest:()=>I,__runInitializers:()=>M,__setFunctionName:()=>C,__spread:()=>ae,__spreadArray:()=>re,__spreadArrays:()=>se,__values:()=>$,default:()=>nt});var s=function(me,Ne){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(ke,he){ke.__proto__=he}||function(ke,he){for(var Ke in he)Object.prototype.hasOwnProperty.call(he,Ke)&&(ke[Ke]=he[Ke])})(me,Ne)};function p(me,Ne){if("function"!=typeof Ne&&null!==Ne)throw new TypeError("Class extends value "+String(Ne)+" is not a constructor or null");function ke(){this.constructor=me}s(me,Ne),me.prototype=null===Ne?Object.create(Ne):(ke.prototype=Ne.prototype,new ke)}var o=function(){return o=Object.assign||function(Ne){for(var ke,he=1,Ke=arguments.length;he=0;dt--)(st=me[dt])&&(Pe=(Ke<3?st(Pe):Ke>3?st(Ne,ke,Pe):st(Ne,ke))||Pe);return Ke>3&&Pe&&Object.defineProperty(Ne,ke,Pe),Pe}function T(me,Ne){return function(ke,he){Ne(ke,he,me)}}function N(me,Ne,ke,he,Ke,Pe){function st(yn){if(void 0!==yn&&"function"!=typeof yn)throw new TypeError("Function expected");return yn}for(var ht,dt=he.kind,bt="getter"===dt?"get":"setter"===dt?"set":"value",pt=!Ne&&me?he.static?me:me.prototype:null,Me=Ne||(pt?Object.getOwnPropertyDescriptor(pt,he.name):{}),Tt=!1,zt=ke.length-1;zt>=0;zt--){var _t={};for(var an in he)_t[an]="access"===an?{}:he[an];for(var an in he.access)_t.access[an]=he.access[an];_t.addInitializer=function(yn){if(Tt)throw new TypeError("Cannot add initializers after decoration has completed");Pe.push(st(yn||null))};var un=(0,ke[zt])("accessor"===dt?{get:Me.get,set:Me.set}:Me[bt],_t);if("accessor"===dt){if(void 0===un)continue;if(null===un||"object"!=typeof un)throw new TypeError("Object expected");(ht=st(un.get))&&(Me.get=ht),(ht=st(un.set))&&(Me.set=ht),(ht=st(un.init))&&Ke.unshift(ht)}else(ht=st(un))&&("field"===dt?Ke.unshift(ht):Me[bt]=ht)}pt&&Object.defineProperty(pt,he.name,Me),Tt=!0}function M(me,Ne,ke){for(var he=arguments.length>2,Ke=0;Ke0&&Pe[Pe.length-1])&&(6===pt[0]||2===pt[0])){ke=0;continue}if(3===pt[0]&&(!Pe||pt[1]>Pe[0]&&pt[1]=me.length&&(me=void 0),{value:me&&me[he++],done:!me}}};throw new TypeError(Ne?"Object is not iterable.":"Symbol.iterator is not defined.")}function Y(me,Ne){var ke="function"==typeof Symbol&&me[Symbol.iterator];if(!ke)return me;var Ke,st,he=ke.call(me),Pe=[];try{for(;(void 0===Ne||Ne-- >0)&&!(Ke=he.next()).done;)Pe.push(Ke.value)}catch(dt){st={error:dt}}finally{try{Ke&&!Ke.done&&(ke=he.return)&&ke.call(he)}finally{if(st)throw st.error}}return Pe}function ae(){for(var me=[],Ne=0;Ne1||dt(Tt,zt)})})}function dt(Tt,zt){try{!function bt(Tt){Tt.value instanceof G?Promise.resolve(Tt.value.v).then(pt,Me):ht(Pe[0][2],Tt)}(he[Tt](zt))}catch(_t){ht(Pe[0][3],_t)}}function pt(Tt){dt("next",Tt)}function Me(Tt){dt("throw",Tt)}function ht(Tt,zt){Tt(zt),Pe.shift(),Pe.length&&dt(Pe[0][0],Pe[0][1])}}function X(me){var Ne,ke;return Ne={},he("next"),he("throw",function(Ke){throw Ke}),he("return"),Ne[Symbol.iterator]=function(){return this},Ne;function he(Ke,Pe){Ne[Ke]=me[Ke]?function(st){return(ke=!ke)?{value:G(me[Ke](st)),done:!1}:Pe?Pe(st):st}:Pe}}function te(me){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var ke,Ne=me[Symbol.asyncIterator];return Ne?Ne.call(me):(me=$(me),ke={},he("next"),he("throw"),he("return"),ke[Symbol.asyncIterator]=function(){return this},ke);function he(Pe){ke[Pe]=me[Pe]&&function(st){return new Promise(function(dt,bt){!function Ke(Pe,st,dt,bt){Promise.resolve(bt).then(function(pt){Pe({value:pt,done:dt})},st)}(dt,bt,(st=me[Pe](st)).done,st.value)})}}}function fe(me,Ne){return Object.defineProperty?Object.defineProperty(me,"raw",{value:Ne}):me.raw=Ne,me}var Ee=Object.create?function(me,Ne){Object.defineProperty(me,"default",{enumerable:!0,value:Ne})}:function(me,Ne){me.default=Ne};function xe(me){if(me&&me.__esModule)return me;var Ne={};if(null!=me)for(var ke in me)"default"!==ke&&Object.prototype.hasOwnProperty.call(me,ke)&&H(Ne,me,ke);return Ee(Ne,me),Ne}function Ie(me){return me&&me.__esModule?me:{default:me}}function Le(me,Ne,ke,he){if("a"===ke&&!he)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof Ne?me!==Ne||!he:!Ne.has(me))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===ke?he:"a"===ke?he.call(me):he?he.value:Ne.get(me)}function Ue(me,Ne,ke,he,Ke){if("m"===he)throw new TypeError("Private method is not writable");if("a"===he&&!Ke)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof Ne?me!==Ne||!Ke:!Ne.has(me))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===he?Ke.call(me,ke):Ke?Ke.value=ke:Ne.set(me,ke),ke}function Xe(me,Ne){if(null===Ne||"object"!=typeof Ne&&"function"!=typeof Ne)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof me?Ne===me:me.has(Ne)}const nt={__extends:p,__assign:o,__rest:I,__decorate:k,__param:T,__metadata:_,__awaiter:F,__generator:L,__createBinding:H,__exportStar:V,__values:$,__read:Y,__spread:ae,__spreadArrays:se,__spreadArray:re,__await:G,__asyncGenerator:Z,__asyncDelegator:X,__asyncValues:te,__makeTemplateObject:fe,__importStar:xe,__importDefault:Ie,__classPrivateFieldGet:Le,__classPrivateFieldSet:Ue,__classPrivateFieldIn:Xe}},1677:ve=>{"use strict";ve.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},3653:ve=>{"use strict";ve.exports=JSON.parse('{"Aacute":"\xc1","aacute":"\xe1","Abreve":"\u0102","abreve":"\u0103","ac":"\u223e","acd":"\u223f","acE":"\u223e\u0333","Acirc":"\xc2","acirc":"\xe2","acute":"\xb4","Acy":"\u0410","acy":"\u0430","AElig":"\xc6","aelig":"\xe6","af":"\u2061","Afr":"\u{1d504}","afr":"\u{1d51e}","Agrave":"\xc0","agrave":"\xe0","alefsym":"\u2135","aleph":"\u2135","Alpha":"\u0391","alpha":"\u03b1","Amacr":"\u0100","amacr":"\u0101","amalg":"\u2a3f","amp":"&","AMP":"&","andand":"\u2a55","And":"\u2a53","and":"\u2227","andd":"\u2a5c","andslope":"\u2a58","andv":"\u2a5a","ang":"\u2220","ange":"\u29a4","angle":"\u2220","angmsdaa":"\u29a8","angmsdab":"\u29a9","angmsdac":"\u29aa","angmsdad":"\u29ab","angmsdae":"\u29ac","angmsdaf":"\u29ad","angmsdag":"\u29ae","angmsdah":"\u29af","angmsd":"\u2221","angrt":"\u221f","angrtvb":"\u22be","angrtvbd":"\u299d","angsph":"\u2222","angst":"\xc5","angzarr":"\u237c","Aogon":"\u0104","aogon":"\u0105","Aopf":"\u{1d538}","aopf":"\u{1d552}","apacir":"\u2a6f","ap":"\u2248","apE":"\u2a70","ape":"\u224a","apid":"\u224b","apos":"\'","ApplyFunction":"\u2061","approx":"\u2248","approxeq":"\u224a","Aring":"\xc5","aring":"\xe5","Ascr":"\u{1d49c}","ascr":"\u{1d4b6}","Assign":"\u2254","ast":"*","asymp":"\u2248","asympeq":"\u224d","Atilde":"\xc3","atilde":"\xe3","Auml":"\xc4","auml":"\xe4","awconint":"\u2233","awint":"\u2a11","backcong":"\u224c","backepsilon":"\u03f6","backprime":"\u2035","backsim":"\u223d","backsimeq":"\u22cd","Backslash":"\u2216","Barv":"\u2ae7","barvee":"\u22bd","barwed":"\u2305","Barwed":"\u2306","barwedge":"\u2305","bbrk":"\u23b5","bbrktbrk":"\u23b6","bcong":"\u224c","Bcy":"\u0411","bcy":"\u0431","bdquo":"\u201e","becaus":"\u2235","because":"\u2235","Because":"\u2235","bemptyv":"\u29b0","bepsi":"\u03f6","bernou":"\u212c","Bernoullis":"\u212c","Beta":"\u0392","beta":"\u03b2","beth":"\u2136","between":"\u226c","Bfr":"\u{1d505}","bfr":"\u{1d51f}","bigcap":"\u22c2","bigcirc":"\u25ef","bigcup":"\u22c3","bigodot":"\u2a00","bigoplus":"\u2a01","bigotimes":"\u2a02","bigsqcup":"\u2a06","bigstar":"\u2605","bigtriangledown":"\u25bd","bigtriangleup":"\u25b3","biguplus":"\u2a04","bigvee":"\u22c1","bigwedge":"\u22c0","bkarow":"\u290d","blacklozenge":"\u29eb","blacksquare":"\u25aa","blacktriangle":"\u25b4","blacktriangledown":"\u25be","blacktriangleleft":"\u25c2","blacktriangleright":"\u25b8","blank":"\u2423","blk12":"\u2592","blk14":"\u2591","blk34":"\u2593","block":"\u2588","bne":"=\u20e5","bnequiv":"\u2261\u20e5","bNot":"\u2aed","bnot":"\u2310","Bopf":"\u{1d539}","bopf":"\u{1d553}","bot":"\u22a5","bottom":"\u22a5","bowtie":"\u22c8","boxbox":"\u29c9","boxdl":"\u2510","boxdL":"\u2555","boxDl":"\u2556","boxDL":"\u2557","boxdr":"\u250c","boxdR":"\u2552","boxDr":"\u2553","boxDR":"\u2554","boxh":"\u2500","boxH":"\u2550","boxhd":"\u252c","boxHd":"\u2564","boxhD":"\u2565","boxHD":"\u2566","boxhu":"\u2534","boxHu":"\u2567","boxhU":"\u2568","boxHU":"\u2569","boxminus":"\u229f","boxplus":"\u229e","boxtimes":"\u22a0","boxul":"\u2518","boxuL":"\u255b","boxUl":"\u255c","boxUL":"\u255d","boxur":"\u2514","boxuR":"\u2558","boxUr":"\u2559","boxUR":"\u255a","boxv":"\u2502","boxV":"\u2551","boxvh":"\u253c","boxvH":"\u256a","boxVh":"\u256b","boxVH":"\u256c","boxvl":"\u2524","boxvL":"\u2561","boxVl":"\u2562","boxVL":"\u2563","boxvr":"\u251c","boxvR":"\u255e","boxVr":"\u255f","boxVR":"\u2560","bprime":"\u2035","breve":"\u02d8","Breve":"\u02d8","brvbar":"\xa6","bscr":"\u{1d4b7}","Bscr":"\u212c","bsemi":"\u204f","bsim":"\u223d","bsime":"\u22cd","bsolb":"\u29c5","bsol":"\\\\","bsolhsub":"\u27c8","bull":"\u2022","bullet":"\u2022","bump":"\u224e","bumpE":"\u2aae","bumpe":"\u224f","Bumpeq":"\u224e","bumpeq":"\u224f","Cacute":"\u0106","cacute":"\u0107","capand":"\u2a44","capbrcup":"\u2a49","capcap":"\u2a4b","cap":"\u2229","Cap":"\u22d2","capcup":"\u2a47","capdot":"\u2a40","CapitalDifferentialD":"\u2145","caps":"\u2229\ufe00","caret":"\u2041","caron":"\u02c7","Cayleys":"\u212d","ccaps":"\u2a4d","Ccaron":"\u010c","ccaron":"\u010d","Ccedil":"\xc7","ccedil":"\xe7","Ccirc":"\u0108","ccirc":"\u0109","Cconint":"\u2230","ccups":"\u2a4c","ccupssm":"\u2a50","Cdot":"\u010a","cdot":"\u010b","cedil":"\xb8","Cedilla":"\xb8","cemptyv":"\u29b2","cent":"\xa2","centerdot":"\xb7","CenterDot":"\xb7","cfr":"\u{1d520}","Cfr":"\u212d","CHcy":"\u0427","chcy":"\u0447","check":"\u2713","checkmark":"\u2713","Chi":"\u03a7","chi":"\u03c7","circ":"\u02c6","circeq":"\u2257","circlearrowleft":"\u21ba","circlearrowright":"\u21bb","circledast":"\u229b","circledcirc":"\u229a","circleddash":"\u229d","CircleDot":"\u2299","circledR":"\xae","circledS":"\u24c8","CircleMinus":"\u2296","CirclePlus":"\u2295","CircleTimes":"\u2297","cir":"\u25cb","cirE":"\u29c3","cire":"\u2257","cirfnint":"\u2a10","cirmid":"\u2aef","cirscir":"\u29c2","ClockwiseContourIntegral":"\u2232","CloseCurlyDoubleQuote":"\u201d","CloseCurlyQuote":"\u2019","clubs":"\u2663","clubsuit":"\u2663","colon":":","Colon":"\u2237","Colone":"\u2a74","colone":"\u2254","coloneq":"\u2254","comma":",","commat":"@","comp":"\u2201","compfn":"\u2218","complement":"\u2201","complexes":"\u2102","cong":"\u2245","congdot":"\u2a6d","Congruent":"\u2261","conint":"\u222e","Conint":"\u222f","ContourIntegral":"\u222e","copf":"\u{1d554}","Copf":"\u2102","coprod":"\u2210","Coproduct":"\u2210","copy":"\xa9","COPY":"\xa9","copysr":"\u2117","CounterClockwiseContourIntegral":"\u2233","crarr":"\u21b5","cross":"\u2717","Cross":"\u2a2f","Cscr":"\u{1d49e}","cscr":"\u{1d4b8}","csub":"\u2acf","csube":"\u2ad1","csup":"\u2ad0","csupe":"\u2ad2","ctdot":"\u22ef","cudarrl":"\u2938","cudarrr":"\u2935","cuepr":"\u22de","cuesc":"\u22df","cularr":"\u21b6","cularrp":"\u293d","cupbrcap":"\u2a48","cupcap":"\u2a46","CupCap":"\u224d","cup":"\u222a","Cup":"\u22d3","cupcup":"\u2a4a","cupdot":"\u228d","cupor":"\u2a45","cups":"\u222a\ufe00","curarr":"\u21b7","curarrm":"\u293c","curlyeqprec":"\u22de","curlyeqsucc":"\u22df","curlyvee":"\u22ce","curlywedge":"\u22cf","curren":"\xa4","curvearrowleft":"\u21b6","curvearrowright":"\u21b7","cuvee":"\u22ce","cuwed":"\u22cf","cwconint":"\u2232","cwint":"\u2231","cylcty":"\u232d","dagger":"\u2020","Dagger":"\u2021","daleth":"\u2138","darr":"\u2193","Darr":"\u21a1","dArr":"\u21d3","dash":"\u2010","Dashv":"\u2ae4","dashv":"\u22a3","dbkarow":"\u290f","dblac":"\u02dd","Dcaron":"\u010e","dcaron":"\u010f","Dcy":"\u0414","dcy":"\u0434","ddagger":"\u2021","ddarr":"\u21ca","DD":"\u2145","dd":"\u2146","DDotrahd":"\u2911","ddotseq":"\u2a77","deg":"\xb0","Del":"\u2207","Delta":"\u0394","delta":"\u03b4","demptyv":"\u29b1","dfisht":"\u297f","Dfr":"\u{1d507}","dfr":"\u{1d521}","dHar":"\u2965","dharl":"\u21c3","dharr":"\u21c2","DiacriticalAcute":"\xb4","DiacriticalDot":"\u02d9","DiacriticalDoubleAcute":"\u02dd","DiacriticalGrave":"`","DiacriticalTilde":"\u02dc","diam":"\u22c4","diamond":"\u22c4","Diamond":"\u22c4","diamondsuit":"\u2666","diams":"\u2666","die":"\xa8","DifferentialD":"\u2146","digamma":"\u03dd","disin":"\u22f2","div":"\xf7","divide":"\xf7","divideontimes":"\u22c7","divonx":"\u22c7","DJcy":"\u0402","djcy":"\u0452","dlcorn":"\u231e","dlcrop":"\u230d","dollar":"$","Dopf":"\u{1d53b}","dopf":"\u{1d555}","Dot":"\xa8","dot":"\u02d9","DotDot":"\u20dc","doteq":"\u2250","doteqdot":"\u2251","DotEqual":"\u2250","dotminus":"\u2238","dotplus":"\u2214","dotsquare":"\u22a1","doublebarwedge":"\u2306","DoubleContourIntegral":"\u222f","DoubleDot":"\xa8","DoubleDownArrow":"\u21d3","DoubleLeftArrow":"\u21d0","DoubleLeftRightArrow":"\u21d4","DoubleLeftTee":"\u2ae4","DoubleLongLeftArrow":"\u27f8","DoubleLongLeftRightArrow":"\u27fa","DoubleLongRightArrow":"\u27f9","DoubleRightArrow":"\u21d2","DoubleRightTee":"\u22a8","DoubleUpArrow":"\u21d1","DoubleUpDownArrow":"\u21d5","DoubleVerticalBar":"\u2225","DownArrowBar":"\u2913","downarrow":"\u2193","DownArrow":"\u2193","Downarrow":"\u21d3","DownArrowUpArrow":"\u21f5","DownBreve":"\u0311","downdownarrows":"\u21ca","downharpoonleft":"\u21c3","downharpoonright":"\u21c2","DownLeftRightVector":"\u2950","DownLeftTeeVector":"\u295e","DownLeftVectorBar":"\u2956","DownLeftVector":"\u21bd","DownRightTeeVector":"\u295f","DownRightVectorBar":"\u2957","DownRightVector":"\u21c1","DownTeeArrow":"\u21a7","DownTee":"\u22a4","drbkarow":"\u2910","drcorn":"\u231f","drcrop":"\u230c","Dscr":"\u{1d49f}","dscr":"\u{1d4b9}","DScy":"\u0405","dscy":"\u0455","dsol":"\u29f6","Dstrok":"\u0110","dstrok":"\u0111","dtdot":"\u22f1","dtri":"\u25bf","dtrif":"\u25be","duarr":"\u21f5","duhar":"\u296f","dwangle":"\u29a6","DZcy":"\u040f","dzcy":"\u045f","dzigrarr":"\u27ff","Eacute":"\xc9","eacute":"\xe9","easter":"\u2a6e","Ecaron":"\u011a","ecaron":"\u011b","Ecirc":"\xca","ecirc":"\xea","ecir":"\u2256","ecolon":"\u2255","Ecy":"\u042d","ecy":"\u044d","eDDot":"\u2a77","Edot":"\u0116","edot":"\u0117","eDot":"\u2251","ee":"\u2147","efDot":"\u2252","Efr":"\u{1d508}","efr":"\u{1d522}","eg":"\u2a9a","Egrave":"\xc8","egrave":"\xe8","egs":"\u2a96","egsdot":"\u2a98","el":"\u2a99","Element":"\u2208","elinters":"\u23e7","ell":"\u2113","els":"\u2a95","elsdot":"\u2a97","Emacr":"\u0112","emacr":"\u0113","empty":"\u2205","emptyset":"\u2205","EmptySmallSquare":"\u25fb","emptyv":"\u2205","EmptyVerySmallSquare":"\u25ab","emsp13":"\u2004","emsp14":"\u2005","emsp":"\u2003","ENG":"\u014a","eng":"\u014b","ensp":"\u2002","Eogon":"\u0118","eogon":"\u0119","Eopf":"\u{1d53c}","eopf":"\u{1d556}","epar":"\u22d5","eparsl":"\u29e3","eplus":"\u2a71","epsi":"\u03b5","Epsilon":"\u0395","epsilon":"\u03b5","epsiv":"\u03f5","eqcirc":"\u2256","eqcolon":"\u2255","eqsim":"\u2242","eqslantgtr":"\u2a96","eqslantless":"\u2a95","Equal":"\u2a75","equals":"=","EqualTilde":"\u2242","equest":"\u225f","Equilibrium":"\u21cc","equiv":"\u2261","equivDD":"\u2a78","eqvparsl":"\u29e5","erarr":"\u2971","erDot":"\u2253","escr":"\u212f","Escr":"\u2130","esdot":"\u2250","Esim":"\u2a73","esim":"\u2242","Eta":"\u0397","eta":"\u03b7","ETH":"\xd0","eth":"\xf0","Euml":"\xcb","euml":"\xeb","euro":"\u20ac","excl":"!","exist":"\u2203","Exists":"\u2203","expectation":"\u2130","exponentiale":"\u2147","ExponentialE":"\u2147","fallingdotseq":"\u2252","Fcy":"\u0424","fcy":"\u0444","female":"\u2640","ffilig":"\ufb03","fflig":"\ufb00","ffllig":"\ufb04","Ffr":"\u{1d509}","ffr":"\u{1d523}","filig":"\ufb01","FilledSmallSquare":"\u25fc","FilledVerySmallSquare":"\u25aa","fjlig":"fj","flat":"\u266d","fllig":"\ufb02","fltns":"\u25b1","fnof":"\u0192","Fopf":"\u{1d53d}","fopf":"\u{1d557}","forall":"\u2200","ForAll":"\u2200","fork":"\u22d4","forkv":"\u2ad9","Fouriertrf":"\u2131","fpartint":"\u2a0d","frac12":"\xbd","frac13":"\u2153","frac14":"\xbc","frac15":"\u2155","frac16":"\u2159","frac18":"\u215b","frac23":"\u2154","frac25":"\u2156","frac34":"\xbe","frac35":"\u2157","frac38":"\u215c","frac45":"\u2158","frac56":"\u215a","frac58":"\u215d","frac78":"\u215e","frasl":"\u2044","frown":"\u2322","fscr":"\u{1d4bb}","Fscr":"\u2131","gacute":"\u01f5","Gamma":"\u0393","gamma":"\u03b3","Gammad":"\u03dc","gammad":"\u03dd","gap":"\u2a86","Gbreve":"\u011e","gbreve":"\u011f","Gcedil":"\u0122","Gcirc":"\u011c","gcirc":"\u011d","Gcy":"\u0413","gcy":"\u0433","Gdot":"\u0120","gdot":"\u0121","ge":"\u2265","gE":"\u2267","gEl":"\u2a8c","gel":"\u22db","geq":"\u2265","geqq":"\u2267","geqslant":"\u2a7e","gescc":"\u2aa9","ges":"\u2a7e","gesdot":"\u2a80","gesdoto":"\u2a82","gesdotol":"\u2a84","gesl":"\u22db\ufe00","gesles":"\u2a94","Gfr":"\u{1d50a}","gfr":"\u{1d524}","gg":"\u226b","Gg":"\u22d9","ggg":"\u22d9","gimel":"\u2137","GJcy":"\u0403","gjcy":"\u0453","gla":"\u2aa5","gl":"\u2277","glE":"\u2a92","glj":"\u2aa4","gnap":"\u2a8a","gnapprox":"\u2a8a","gne":"\u2a88","gnE":"\u2269","gneq":"\u2a88","gneqq":"\u2269","gnsim":"\u22e7","Gopf":"\u{1d53e}","gopf":"\u{1d558}","grave":"`","GreaterEqual":"\u2265","GreaterEqualLess":"\u22db","GreaterFullEqual":"\u2267","GreaterGreater":"\u2aa2","GreaterLess":"\u2277","GreaterSlantEqual":"\u2a7e","GreaterTilde":"\u2273","Gscr":"\u{1d4a2}","gscr":"\u210a","gsim":"\u2273","gsime":"\u2a8e","gsiml":"\u2a90","gtcc":"\u2aa7","gtcir":"\u2a7a","gt":">","GT":">","Gt":"\u226b","gtdot":"\u22d7","gtlPar":"\u2995","gtquest":"\u2a7c","gtrapprox":"\u2a86","gtrarr":"\u2978","gtrdot":"\u22d7","gtreqless":"\u22db","gtreqqless":"\u2a8c","gtrless":"\u2277","gtrsim":"\u2273","gvertneqq":"\u2269\ufe00","gvnE":"\u2269\ufe00","Hacek":"\u02c7","hairsp":"\u200a","half":"\xbd","hamilt":"\u210b","HARDcy":"\u042a","hardcy":"\u044a","harrcir":"\u2948","harr":"\u2194","hArr":"\u21d4","harrw":"\u21ad","Hat":"^","hbar":"\u210f","Hcirc":"\u0124","hcirc":"\u0125","hearts":"\u2665","heartsuit":"\u2665","hellip":"\u2026","hercon":"\u22b9","hfr":"\u{1d525}","Hfr":"\u210c","HilbertSpace":"\u210b","hksearow":"\u2925","hkswarow":"\u2926","hoarr":"\u21ff","homtht":"\u223b","hookleftarrow":"\u21a9","hookrightarrow":"\u21aa","hopf":"\u{1d559}","Hopf":"\u210d","horbar":"\u2015","HorizontalLine":"\u2500","hscr":"\u{1d4bd}","Hscr":"\u210b","hslash":"\u210f","Hstrok":"\u0126","hstrok":"\u0127","HumpDownHump":"\u224e","HumpEqual":"\u224f","hybull":"\u2043","hyphen":"\u2010","Iacute":"\xcd","iacute":"\xed","ic":"\u2063","Icirc":"\xce","icirc":"\xee","Icy":"\u0418","icy":"\u0438","Idot":"\u0130","IEcy":"\u0415","iecy":"\u0435","iexcl":"\xa1","iff":"\u21d4","ifr":"\u{1d526}","Ifr":"\u2111","Igrave":"\xcc","igrave":"\xec","ii":"\u2148","iiiint":"\u2a0c","iiint":"\u222d","iinfin":"\u29dc","iiota":"\u2129","IJlig":"\u0132","ijlig":"\u0133","Imacr":"\u012a","imacr":"\u012b","image":"\u2111","ImaginaryI":"\u2148","imagline":"\u2110","imagpart":"\u2111","imath":"\u0131","Im":"\u2111","imof":"\u22b7","imped":"\u01b5","Implies":"\u21d2","incare":"\u2105","in":"\u2208","infin":"\u221e","infintie":"\u29dd","inodot":"\u0131","intcal":"\u22ba","int":"\u222b","Int":"\u222c","integers":"\u2124","Integral":"\u222b","intercal":"\u22ba","Intersection":"\u22c2","intlarhk":"\u2a17","intprod":"\u2a3c","InvisibleComma":"\u2063","InvisibleTimes":"\u2062","IOcy":"\u0401","iocy":"\u0451","Iogon":"\u012e","iogon":"\u012f","Iopf":"\u{1d540}","iopf":"\u{1d55a}","Iota":"\u0399","iota":"\u03b9","iprod":"\u2a3c","iquest":"\xbf","iscr":"\u{1d4be}","Iscr":"\u2110","isin":"\u2208","isindot":"\u22f5","isinE":"\u22f9","isins":"\u22f4","isinsv":"\u22f3","isinv":"\u2208","it":"\u2062","Itilde":"\u0128","itilde":"\u0129","Iukcy":"\u0406","iukcy":"\u0456","Iuml":"\xcf","iuml":"\xef","Jcirc":"\u0134","jcirc":"\u0135","Jcy":"\u0419","jcy":"\u0439","Jfr":"\u{1d50d}","jfr":"\u{1d527}","jmath":"\u0237","Jopf":"\u{1d541}","jopf":"\u{1d55b}","Jscr":"\u{1d4a5}","jscr":"\u{1d4bf}","Jsercy":"\u0408","jsercy":"\u0458","Jukcy":"\u0404","jukcy":"\u0454","Kappa":"\u039a","kappa":"\u03ba","kappav":"\u03f0","Kcedil":"\u0136","kcedil":"\u0137","Kcy":"\u041a","kcy":"\u043a","Kfr":"\u{1d50e}","kfr":"\u{1d528}","kgreen":"\u0138","KHcy":"\u0425","khcy":"\u0445","KJcy":"\u040c","kjcy":"\u045c","Kopf":"\u{1d542}","kopf":"\u{1d55c}","Kscr":"\u{1d4a6}","kscr":"\u{1d4c0}","lAarr":"\u21da","Lacute":"\u0139","lacute":"\u013a","laemptyv":"\u29b4","lagran":"\u2112","Lambda":"\u039b","lambda":"\u03bb","lang":"\u27e8","Lang":"\u27ea","langd":"\u2991","langle":"\u27e8","lap":"\u2a85","Laplacetrf":"\u2112","laquo":"\xab","larrb":"\u21e4","larrbfs":"\u291f","larr":"\u2190","Larr":"\u219e","lArr":"\u21d0","larrfs":"\u291d","larrhk":"\u21a9","larrlp":"\u21ab","larrpl":"\u2939","larrsim":"\u2973","larrtl":"\u21a2","latail":"\u2919","lAtail":"\u291b","lat":"\u2aab","late":"\u2aad","lates":"\u2aad\ufe00","lbarr":"\u290c","lBarr":"\u290e","lbbrk":"\u2772","lbrace":"{","lbrack":"[","lbrke":"\u298b","lbrksld":"\u298f","lbrkslu":"\u298d","Lcaron":"\u013d","lcaron":"\u013e","Lcedil":"\u013b","lcedil":"\u013c","lceil":"\u2308","lcub":"{","Lcy":"\u041b","lcy":"\u043b","ldca":"\u2936","ldquo":"\u201c","ldquor":"\u201e","ldrdhar":"\u2967","ldrushar":"\u294b","ldsh":"\u21b2","le":"\u2264","lE":"\u2266","LeftAngleBracket":"\u27e8","LeftArrowBar":"\u21e4","leftarrow":"\u2190","LeftArrow":"\u2190","Leftarrow":"\u21d0","LeftArrowRightArrow":"\u21c6","leftarrowtail":"\u21a2","LeftCeiling":"\u2308","LeftDoubleBracket":"\u27e6","LeftDownTeeVector":"\u2961","LeftDownVectorBar":"\u2959","LeftDownVector":"\u21c3","LeftFloor":"\u230a","leftharpoondown":"\u21bd","leftharpoonup":"\u21bc","leftleftarrows":"\u21c7","leftrightarrow":"\u2194","LeftRightArrow":"\u2194","Leftrightarrow":"\u21d4","leftrightarrows":"\u21c6","leftrightharpoons":"\u21cb","leftrightsquigarrow":"\u21ad","LeftRightVector":"\u294e","LeftTeeArrow":"\u21a4","LeftTee":"\u22a3","LeftTeeVector":"\u295a","leftthreetimes":"\u22cb","LeftTriangleBar":"\u29cf","LeftTriangle":"\u22b2","LeftTriangleEqual":"\u22b4","LeftUpDownVector":"\u2951","LeftUpTeeVector":"\u2960","LeftUpVectorBar":"\u2958","LeftUpVector":"\u21bf","LeftVectorBar":"\u2952","LeftVector":"\u21bc","lEg":"\u2a8b","leg":"\u22da","leq":"\u2264","leqq":"\u2266","leqslant":"\u2a7d","lescc":"\u2aa8","les":"\u2a7d","lesdot":"\u2a7f","lesdoto":"\u2a81","lesdotor":"\u2a83","lesg":"\u22da\ufe00","lesges":"\u2a93","lessapprox":"\u2a85","lessdot":"\u22d6","lesseqgtr":"\u22da","lesseqqgtr":"\u2a8b","LessEqualGreater":"\u22da","LessFullEqual":"\u2266","LessGreater":"\u2276","lessgtr":"\u2276","LessLess":"\u2aa1","lesssim":"\u2272","LessSlantEqual":"\u2a7d","LessTilde":"\u2272","lfisht":"\u297c","lfloor":"\u230a","Lfr":"\u{1d50f}","lfr":"\u{1d529}","lg":"\u2276","lgE":"\u2a91","lHar":"\u2962","lhard":"\u21bd","lharu":"\u21bc","lharul":"\u296a","lhblk":"\u2584","LJcy":"\u0409","ljcy":"\u0459","llarr":"\u21c7","ll":"\u226a","Ll":"\u22d8","llcorner":"\u231e","Lleftarrow":"\u21da","llhard":"\u296b","lltri":"\u25fa","Lmidot":"\u013f","lmidot":"\u0140","lmoustache":"\u23b0","lmoust":"\u23b0","lnap":"\u2a89","lnapprox":"\u2a89","lne":"\u2a87","lnE":"\u2268","lneq":"\u2a87","lneqq":"\u2268","lnsim":"\u22e6","loang":"\u27ec","loarr":"\u21fd","lobrk":"\u27e6","longleftarrow":"\u27f5","LongLeftArrow":"\u27f5","Longleftarrow":"\u27f8","longleftrightarrow":"\u27f7","LongLeftRightArrow":"\u27f7","Longleftrightarrow":"\u27fa","longmapsto":"\u27fc","longrightarrow":"\u27f6","LongRightArrow":"\u27f6","Longrightarrow":"\u27f9","looparrowleft":"\u21ab","looparrowright":"\u21ac","lopar":"\u2985","Lopf":"\u{1d543}","lopf":"\u{1d55d}","loplus":"\u2a2d","lotimes":"\u2a34","lowast":"\u2217","lowbar":"_","LowerLeftArrow":"\u2199","LowerRightArrow":"\u2198","loz":"\u25ca","lozenge":"\u25ca","lozf":"\u29eb","lpar":"(","lparlt":"\u2993","lrarr":"\u21c6","lrcorner":"\u231f","lrhar":"\u21cb","lrhard":"\u296d","lrm":"\u200e","lrtri":"\u22bf","lsaquo":"\u2039","lscr":"\u{1d4c1}","Lscr":"\u2112","lsh":"\u21b0","Lsh":"\u21b0","lsim":"\u2272","lsime":"\u2a8d","lsimg":"\u2a8f","lsqb":"[","lsquo":"\u2018","lsquor":"\u201a","Lstrok":"\u0141","lstrok":"\u0142","ltcc":"\u2aa6","ltcir":"\u2a79","lt":"<","LT":"<","Lt":"\u226a","ltdot":"\u22d6","lthree":"\u22cb","ltimes":"\u22c9","ltlarr":"\u2976","ltquest":"\u2a7b","ltri":"\u25c3","ltrie":"\u22b4","ltrif":"\u25c2","ltrPar":"\u2996","lurdshar":"\u294a","luruhar":"\u2966","lvertneqq":"\u2268\ufe00","lvnE":"\u2268\ufe00","macr":"\xaf","male":"\u2642","malt":"\u2720","maltese":"\u2720","Map":"\u2905","map":"\u21a6","mapsto":"\u21a6","mapstodown":"\u21a7","mapstoleft":"\u21a4","mapstoup":"\u21a5","marker":"\u25ae","mcomma":"\u2a29","Mcy":"\u041c","mcy":"\u043c","mdash":"\u2014","mDDot":"\u223a","measuredangle":"\u2221","MediumSpace":"\u205f","Mellintrf":"\u2133","Mfr":"\u{1d510}","mfr":"\u{1d52a}","mho":"\u2127","micro":"\xb5","midast":"*","midcir":"\u2af0","mid":"\u2223","middot":"\xb7","minusb":"\u229f","minus":"\u2212","minusd":"\u2238","minusdu":"\u2a2a","MinusPlus":"\u2213","mlcp":"\u2adb","mldr":"\u2026","mnplus":"\u2213","models":"\u22a7","Mopf":"\u{1d544}","mopf":"\u{1d55e}","mp":"\u2213","mscr":"\u{1d4c2}","Mscr":"\u2133","mstpos":"\u223e","Mu":"\u039c","mu":"\u03bc","multimap":"\u22b8","mumap":"\u22b8","nabla":"\u2207","Nacute":"\u0143","nacute":"\u0144","nang":"\u2220\u20d2","nap":"\u2249","napE":"\u2a70\u0338","napid":"\u224b\u0338","napos":"\u0149","napprox":"\u2249","natural":"\u266e","naturals":"\u2115","natur":"\u266e","nbsp":"\xa0","nbump":"\u224e\u0338","nbumpe":"\u224f\u0338","ncap":"\u2a43","Ncaron":"\u0147","ncaron":"\u0148","Ncedil":"\u0145","ncedil":"\u0146","ncong":"\u2247","ncongdot":"\u2a6d\u0338","ncup":"\u2a42","Ncy":"\u041d","ncy":"\u043d","ndash":"\u2013","nearhk":"\u2924","nearr":"\u2197","neArr":"\u21d7","nearrow":"\u2197","ne":"\u2260","nedot":"\u2250\u0338","NegativeMediumSpace":"\u200b","NegativeThickSpace":"\u200b","NegativeThinSpace":"\u200b","NegativeVeryThinSpace":"\u200b","nequiv":"\u2262","nesear":"\u2928","nesim":"\u2242\u0338","NestedGreaterGreater":"\u226b","NestedLessLess":"\u226a","NewLine":"\\n","nexist":"\u2204","nexists":"\u2204","Nfr":"\u{1d511}","nfr":"\u{1d52b}","ngE":"\u2267\u0338","nge":"\u2271","ngeq":"\u2271","ngeqq":"\u2267\u0338","ngeqslant":"\u2a7e\u0338","nges":"\u2a7e\u0338","nGg":"\u22d9\u0338","ngsim":"\u2275","nGt":"\u226b\u20d2","ngt":"\u226f","ngtr":"\u226f","nGtv":"\u226b\u0338","nharr":"\u21ae","nhArr":"\u21ce","nhpar":"\u2af2","ni":"\u220b","nis":"\u22fc","nisd":"\u22fa","niv":"\u220b","NJcy":"\u040a","njcy":"\u045a","nlarr":"\u219a","nlArr":"\u21cd","nldr":"\u2025","nlE":"\u2266\u0338","nle":"\u2270","nleftarrow":"\u219a","nLeftarrow":"\u21cd","nleftrightarrow":"\u21ae","nLeftrightarrow":"\u21ce","nleq":"\u2270","nleqq":"\u2266\u0338","nleqslant":"\u2a7d\u0338","nles":"\u2a7d\u0338","nless":"\u226e","nLl":"\u22d8\u0338","nlsim":"\u2274","nLt":"\u226a\u20d2","nlt":"\u226e","nltri":"\u22ea","nltrie":"\u22ec","nLtv":"\u226a\u0338","nmid":"\u2224","NoBreak":"\u2060","NonBreakingSpace":"\xa0","nopf":"\u{1d55f}","Nopf":"\u2115","Not":"\u2aec","not":"\xac","NotCongruent":"\u2262","NotCupCap":"\u226d","NotDoubleVerticalBar":"\u2226","NotElement":"\u2209","NotEqual":"\u2260","NotEqualTilde":"\u2242\u0338","NotExists":"\u2204","NotGreater":"\u226f","NotGreaterEqual":"\u2271","NotGreaterFullEqual":"\u2267\u0338","NotGreaterGreater":"\u226b\u0338","NotGreaterLess":"\u2279","NotGreaterSlantEqual":"\u2a7e\u0338","NotGreaterTilde":"\u2275","NotHumpDownHump":"\u224e\u0338","NotHumpEqual":"\u224f\u0338","notin":"\u2209","notindot":"\u22f5\u0338","notinE":"\u22f9\u0338","notinva":"\u2209","notinvb":"\u22f7","notinvc":"\u22f6","NotLeftTriangleBar":"\u29cf\u0338","NotLeftTriangle":"\u22ea","NotLeftTriangleEqual":"\u22ec","NotLess":"\u226e","NotLessEqual":"\u2270","NotLessGreater":"\u2278","NotLessLess":"\u226a\u0338","NotLessSlantEqual":"\u2a7d\u0338","NotLessTilde":"\u2274","NotNestedGreaterGreater":"\u2aa2\u0338","NotNestedLessLess":"\u2aa1\u0338","notni":"\u220c","notniva":"\u220c","notnivb":"\u22fe","notnivc":"\u22fd","NotPrecedes":"\u2280","NotPrecedesEqual":"\u2aaf\u0338","NotPrecedesSlantEqual":"\u22e0","NotReverseElement":"\u220c","NotRightTriangleBar":"\u29d0\u0338","NotRightTriangle":"\u22eb","NotRightTriangleEqual":"\u22ed","NotSquareSubset":"\u228f\u0338","NotSquareSubsetEqual":"\u22e2","NotSquareSuperset":"\u2290\u0338","NotSquareSupersetEqual":"\u22e3","NotSubset":"\u2282\u20d2","NotSubsetEqual":"\u2288","NotSucceeds":"\u2281","NotSucceedsEqual":"\u2ab0\u0338","NotSucceedsSlantEqual":"\u22e1","NotSucceedsTilde":"\u227f\u0338","NotSuperset":"\u2283\u20d2","NotSupersetEqual":"\u2289","NotTilde":"\u2241","NotTildeEqual":"\u2244","NotTildeFullEqual":"\u2247","NotTildeTilde":"\u2249","NotVerticalBar":"\u2224","nparallel":"\u2226","npar":"\u2226","nparsl":"\u2afd\u20e5","npart":"\u2202\u0338","npolint":"\u2a14","npr":"\u2280","nprcue":"\u22e0","nprec":"\u2280","npreceq":"\u2aaf\u0338","npre":"\u2aaf\u0338","nrarrc":"\u2933\u0338","nrarr":"\u219b","nrArr":"\u21cf","nrarrw":"\u219d\u0338","nrightarrow":"\u219b","nRightarrow":"\u21cf","nrtri":"\u22eb","nrtrie":"\u22ed","nsc":"\u2281","nsccue":"\u22e1","nsce":"\u2ab0\u0338","Nscr":"\u{1d4a9}","nscr":"\u{1d4c3}","nshortmid":"\u2224","nshortparallel":"\u2226","nsim":"\u2241","nsime":"\u2244","nsimeq":"\u2244","nsmid":"\u2224","nspar":"\u2226","nsqsube":"\u22e2","nsqsupe":"\u22e3","nsub":"\u2284","nsubE":"\u2ac5\u0338","nsube":"\u2288","nsubset":"\u2282\u20d2","nsubseteq":"\u2288","nsubseteqq":"\u2ac5\u0338","nsucc":"\u2281","nsucceq":"\u2ab0\u0338","nsup":"\u2285","nsupE":"\u2ac6\u0338","nsupe":"\u2289","nsupset":"\u2283\u20d2","nsupseteq":"\u2289","nsupseteqq":"\u2ac6\u0338","ntgl":"\u2279","Ntilde":"\xd1","ntilde":"\xf1","ntlg":"\u2278","ntriangleleft":"\u22ea","ntrianglelefteq":"\u22ec","ntriangleright":"\u22eb","ntrianglerighteq":"\u22ed","Nu":"\u039d","nu":"\u03bd","num":"#","numero":"\u2116","numsp":"\u2007","nvap":"\u224d\u20d2","nvdash":"\u22ac","nvDash":"\u22ad","nVdash":"\u22ae","nVDash":"\u22af","nvge":"\u2265\u20d2","nvgt":">\u20d2","nvHarr":"\u2904","nvinfin":"\u29de","nvlArr":"\u2902","nvle":"\u2264\u20d2","nvlt":"<\u20d2","nvltrie":"\u22b4\u20d2","nvrArr":"\u2903","nvrtrie":"\u22b5\u20d2","nvsim":"\u223c\u20d2","nwarhk":"\u2923","nwarr":"\u2196","nwArr":"\u21d6","nwarrow":"\u2196","nwnear":"\u2927","Oacute":"\xd3","oacute":"\xf3","oast":"\u229b","Ocirc":"\xd4","ocirc":"\xf4","ocir":"\u229a","Ocy":"\u041e","ocy":"\u043e","odash":"\u229d","Odblac":"\u0150","odblac":"\u0151","odiv":"\u2a38","odot":"\u2299","odsold":"\u29bc","OElig":"\u0152","oelig":"\u0153","ofcir":"\u29bf","Ofr":"\u{1d512}","ofr":"\u{1d52c}","ogon":"\u02db","Ograve":"\xd2","ograve":"\xf2","ogt":"\u29c1","ohbar":"\u29b5","ohm":"\u03a9","oint":"\u222e","olarr":"\u21ba","olcir":"\u29be","olcross":"\u29bb","oline":"\u203e","olt":"\u29c0","Omacr":"\u014c","omacr":"\u014d","Omega":"\u03a9","omega":"\u03c9","Omicron":"\u039f","omicron":"\u03bf","omid":"\u29b6","ominus":"\u2296","Oopf":"\u{1d546}","oopf":"\u{1d560}","opar":"\u29b7","OpenCurlyDoubleQuote":"\u201c","OpenCurlyQuote":"\u2018","operp":"\u29b9","oplus":"\u2295","orarr":"\u21bb","Or":"\u2a54","or":"\u2228","ord":"\u2a5d","order":"\u2134","orderof":"\u2134","ordf":"\xaa","ordm":"\xba","origof":"\u22b6","oror":"\u2a56","orslope":"\u2a57","orv":"\u2a5b","oS":"\u24c8","Oscr":"\u{1d4aa}","oscr":"\u2134","Oslash":"\xd8","oslash":"\xf8","osol":"\u2298","Otilde":"\xd5","otilde":"\xf5","otimesas":"\u2a36","Otimes":"\u2a37","otimes":"\u2297","Ouml":"\xd6","ouml":"\xf6","ovbar":"\u233d","OverBar":"\u203e","OverBrace":"\u23de","OverBracket":"\u23b4","OverParenthesis":"\u23dc","para":"\xb6","parallel":"\u2225","par":"\u2225","parsim":"\u2af3","parsl":"\u2afd","part":"\u2202","PartialD":"\u2202","Pcy":"\u041f","pcy":"\u043f","percnt":"%","period":".","permil":"\u2030","perp":"\u22a5","pertenk":"\u2031","Pfr":"\u{1d513}","pfr":"\u{1d52d}","Phi":"\u03a6","phi":"\u03c6","phiv":"\u03d5","phmmat":"\u2133","phone":"\u260e","Pi":"\u03a0","pi":"\u03c0","pitchfork":"\u22d4","piv":"\u03d6","planck":"\u210f","planckh":"\u210e","plankv":"\u210f","plusacir":"\u2a23","plusb":"\u229e","pluscir":"\u2a22","plus":"+","plusdo":"\u2214","plusdu":"\u2a25","pluse":"\u2a72","PlusMinus":"\xb1","plusmn":"\xb1","plussim":"\u2a26","plustwo":"\u2a27","pm":"\xb1","Poincareplane":"\u210c","pointint":"\u2a15","popf":"\u{1d561}","Popf":"\u2119","pound":"\xa3","prap":"\u2ab7","Pr":"\u2abb","pr":"\u227a","prcue":"\u227c","precapprox":"\u2ab7","prec":"\u227a","preccurlyeq":"\u227c","Precedes":"\u227a","PrecedesEqual":"\u2aaf","PrecedesSlantEqual":"\u227c","PrecedesTilde":"\u227e","preceq":"\u2aaf","precnapprox":"\u2ab9","precneqq":"\u2ab5","precnsim":"\u22e8","pre":"\u2aaf","prE":"\u2ab3","precsim":"\u227e","prime":"\u2032","Prime":"\u2033","primes":"\u2119","prnap":"\u2ab9","prnE":"\u2ab5","prnsim":"\u22e8","prod":"\u220f","Product":"\u220f","profalar":"\u232e","profline":"\u2312","profsurf":"\u2313","prop":"\u221d","Proportional":"\u221d","Proportion":"\u2237","propto":"\u221d","prsim":"\u227e","prurel":"\u22b0","Pscr":"\u{1d4ab}","pscr":"\u{1d4c5}","Psi":"\u03a8","psi":"\u03c8","puncsp":"\u2008","Qfr":"\u{1d514}","qfr":"\u{1d52e}","qint":"\u2a0c","qopf":"\u{1d562}","Qopf":"\u211a","qprime":"\u2057","Qscr":"\u{1d4ac}","qscr":"\u{1d4c6}","quaternions":"\u210d","quatint":"\u2a16","quest":"?","questeq":"\u225f","quot":"\\"","QUOT":"\\"","rAarr":"\u21db","race":"\u223d\u0331","Racute":"\u0154","racute":"\u0155","radic":"\u221a","raemptyv":"\u29b3","rang":"\u27e9","Rang":"\u27eb","rangd":"\u2992","range":"\u29a5","rangle":"\u27e9","raquo":"\xbb","rarrap":"\u2975","rarrb":"\u21e5","rarrbfs":"\u2920","rarrc":"\u2933","rarr":"\u2192","Rarr":"\u21a0","rArr":"\u21d2","rarrfs":"\u291e","rarrhk":"\u21aa","rarrlp":"\u21ac","rarrpl":"\u2945","rarrsim":"\u2974","Rarrtl":"\u2916","rarrtl":"\u21a3","rarrw":"\u219d","ratail":"\u291a","rAtail":"\u291c","ratio":"\u2236","rationals":"\u211a","rbarr":"\u290d","rBarr":"\u290f","RBarr":"\u2910","rbbrk":"\u2773","rbrace":"}","rbrack":"]","rbrke":"\u298c","rbrksld":"\u298e","rbrkslu":"\u2990","Rcaron":"\u0158","rcaron":"\u0159","Rcedil":"\u0156","rcedil":"\u0157","rceil":"\u2309","rcub":"}","Rcy":"\u0420","rcy":"\u0440","rdca":"\u2937","rdldhar":"\u2969","rdquo":"\u201d","rdquor":"\u201d","rdsh":"\u21b3","real":"\u211c","realine":"\u211b","realpart":"\u211c","reals":"\u211d","Re":"\u211c","rect":"\u25ad","reg":"\xae","REG":"\xae","ReverseElement":"\u220b","ReverseEquilibrium":"\u21cb","ReverseUpEquilibrium":"\u296f","rfisht":"\u297d","rfloor":"\u230b","rfr":"\u{1d52f}","Rfr":"\u211c","rHar":"\u2964","rhard":"\u21c1","rharu":"\u21c0","rharul":"\u296c","Rho":"\u03a1","rho":"\u03c1","rhov":"\u03f1","RightAngleBracket":"\u27e9","RightArrowBar":"\u21e5","rightarrow":"\u2192","RightArrow":"\u2192","Rightarrow":"\u21d2","RightArrowLeftArrow":"\u21c4","rightarrowtail":"\u21a3","RightCeiling":"\u2309","RightDoubleBracket":"\u27e7","RightDownTeeVector":"\u295d","RightDownVectorBar":"\u2955","RightDownVector":"\u21c2","RightFloor":"\u230b","rightharpoondown":"\u21c1","rightharpoonup":"\u21c0","rightleftarrows":"\u21c4","rightleftharpoons":"\u21cc","rightrightarrows":"\u21c9","rightsquigarrow":"\u219d","RightTeeArrow":"\u21a6","RightTee":"\u22a2","RightTeeVector":"\u295b","rightthreetimes":"\u22cc","RightTriangleBar":"\u29d0","RightTriangle":"\u22b3","RightTriangleEqual":"\u22b5","RightUpDownVector":"\u294f","RightUpTeeVector":"\u295c","RightUpVectorBar":"\u2954","RightUpVector":"\u21be","RightVectorBar":"\u2953","RightVector":"\u21c0","ring":"\u02da","risingdotseq":"\u2253","rlarr":"\u21c4","rlhar":"\u21cc","rlm":"\u200f","rmoustache":"\u23b1","rmoust":"\u23b1","rnmid":"\u2aee","roang":"\u27ed","roarr":"\u21fe","robrk":"\u27e7","ropar":"\u2986","ropf":"\u{1d563}","Ropf":"\u211d","roplus":"\u2a2e","rotimes":"\u2a35","RoundImplies":"\u2970","rpar":")","rpargt":"\u2994","rppolint":"\u2a12","rrarr":"\u21c9","Rrightarrow":"\u21db","rsaquo":"\u203a","rscr":"\u{1d4c7}","Rscr":"\u211b","rsh":"\u21b1","Rsh":"\u21b1","rsqb":"]","rsquo":"\u2019","rsquor":"\u2019","rthree":"\u22cc","rtimes":"\u22ca","rtri":"\u25b9","rtrie":"\u22b5","rtrif":"\u25b8","rtriltri":"\u29ce","RuleDelayed":"\u29f4","ruluhar":"\u2968","rx":"\u211e","Sacute":"\u015a","sacute":"\u015b","sbquo":"\u201a","scap":"\u2ab8","Scaron":"\u0160","scaron":"\u0161","Sc":"\u2abc","sc":"\u227b","sccue":"\u227d","sce":"\u2ab0","scE":"\u2ab4","Scedil":"\u015e","scedil":"\u015f","Scirc":"\u015c","scirc":"\u015d","scnap":"\u2aba","scnE":"\u2ab6","scnsim":"\u22e9","scpolint":"\u2a13","scsim":"\u227f","Scy":"\u0421","scy":"\u0441","sdotb":"\u22a1","sdot":"\u22c5","sdote":"\u2a66","searhk":"\u2925","searr":"\u2198","seArr":"\u21d8","searrow":"\u2198","sect":"\xa7","semi":";","seswar":"\u2929","setminus":"\u2216","setmn":"\u2216","sext":"\u2736","Sfr":"\u{1d516}","sfr":"\u{1d530}","sfrown":"\u2322","sharp":"\u266f","SHCHcy":"\u0429","shchcy":"\u0449","SHcy":"\u0428","shcy":"\u0448","ShortDownArrow":"\u2193","ShortLeftArrow":"\u2190","shortmid":"\u2223","shortparallel":"\u2225","ShortRightArrow":"\u2192","ShortUpArrow":"\u2191","shy":"\xad","Sigma":"\u03a3","sigma":"\u03c3","sigmaf":"\u03c2","sigmav":"\u03c2","sim":"\u223c","simdot":"\u2a6a","sime":"\u2243","simeq":"\u2243","simg":"\u2a9e","simgE":"\u2aa0","siml":"\u2a9d","simlE":"\u2a9f","simne":"\u2246","simplus":"\u2a24","simrarr":"\u2972","slarr":"\u2190","SmallCircle":"\u2218","smallsetminus":"\u2216","smashp":"\u2a33","smeparsl":"\u29e4","smid":"\u2223","smile":"\u2323","smt":"\u2aaa","smte":"\u2aac","smtes":"\u2aac\ufe00","SOFTcy":"\u042c","softcy":"\u044c","solbar":"\u233f","solb":"\u29c4","sol":"/","Sopf":"\u{1d54a}","sopf":"\u{1d564}","spades":"\u2660","spadesuit":"\u2660","spar":"\u2225","sqcap":"\u2293","sqcaps":"\u2293\ufe00","sqcup":"\u2294","sqcups":"\u2294\ufe00","Sqrt":"\u221a","sqsub":"\u228f","sqsube":"\u2291","sqsubset":"\u228f","sqsubseteq":"\u2291","sqsup":"\u2290","sqsupe":"\u2292","sqsupset":"\u2290","sqsupseteq":"\u2292","square":"\u25a1","Square":"\u25a1","SquareIntersection":"\u2293","SquareSubset":"\u228f","SquareSubsetEqual":"\u2291","SquareSuperset":"\u2290","SquareSupersetEqual":"\u2292","SquareUnion":"\u2294","squarf":"\u25aa","squ":"\u25a1","squf":"\u25aa","srarr":"\u2192","Sscr":"\u{1d4ae}","sscr":"\u{1d4c8}","ssetmn":"\u2216","ssmile":"\u2323","sstarf":"\u22c6","Star":"\u22c6","star":"\u2606","starf":"\u2605","straightepsilon":"\u03f5","straightphi":"\u03d5","strns":"\xaf","sub":"\u2282","Sub":"\u22d0","subdot":"\u2abd","subE":"\u2ac5","sube":"\u2286","subedot":"\u2ac3","submult":"\u2ac1","subnE":"\u2acb","subne":"\u228a","subplus":"\u2abf","subrarr":"\u2979","subset":"\u2282","Subset":"\u22d0","subseteq":"\u2286","subseteqq":"\u2ac5","SubsetEqual":"\u2286","subsetneq":"\u228a","subsetneqq":"\u2acb","subsim":"\u2ac7","subsub":"\u2ad5","subsup":"\u2ad3","succapprox":"\u2ab8","succ":"\u227b","succcurlyeq":"\u227d","Succeeds":"\u227b","SucceedsEqual":"\u2ab0","SucceedsSlantEqual":"\u227d","SucceedsTilde":"\u227f","succeq":"\u2ab0","succnapprox":"\u2aba","succneqq":"\u2ab6","succnsim":"\u22e9","succsim":"\u227f","SuchThat":"\u220b","sum":"\u2211","Sum":"\u2211","sung":"\u266a","sup1":"\xb9","sup2":"\xb2","sup3":"\xb3","sup":"\u2283","Sup":"\u22d1","supdot":"\u2abe","supdsub":"\u2ad8","supE":"\u2ac6","supe":"\u2287","supedot":"\u2ac4","Superset":"\u2283","SupersetEqual":"\u2287","suphsol":"\u27c9","suphsub":"\u2ad7","suplarr":"\u297b","supmult":"\u2ac2","supnE":"\u2acc","supne":"\u228b","supplus":"\u2ac0","supset":"\u2283","Supset":"\u22d1","supseteq":"\u2287","supseteqq":"\u2ac6","supsetneq":"\u228b","supsetneqq":"\u2acc","supsim":"\u2ac8","supsub":"\u2ad4","supsup":"\u2ad6","swarhk":"\u2926","swarr":"\u2199","swArr":"\u21d9","swarrow":"\u2199","swnwar":"\u292a","szlig":"\xdf","Tab":"\\t","target":"\u2316","Tau":"\u03a4","tau":"\u03c4","tbrk":"\u23b4","Tcaron":"\u0164","tcaron":"\u0165","Tcedil":"\u0162","tcedil":"\u0163","Tcy":"\u0422","tcy":"\u0442","tdot":"\u20db","telrec":"\u2315","Tfr":"\u{1d517}","tfr":"\u{1d531}","there4":"\u2234","therefore":"\u2234","Therefore":"\u2234","Theta":"\u0398","theta":"\u03b8","thetasym":"\u03d1","thetav":"\u03d1","thickapprox":"\u2248","thicksim":"\u223c","ThickSpace":"\u205f\u200a","ThinSpace":"\u2009","thinsp":"\u2009","thkap":"\u2248","thksim":"\u223c","THORN":"\xde","thorn":"\xfe","tilde":"\u02dc","Tilde":"\u223c","TildeEqual":"\u2243","TildeFullEqual":"\u2245","TildeTilde":"\u2248","timesbar":"\u2a31","timesb":"\u22a0","times":"\xd7","timesd":"\u2a30","tint":"\u222d","toea":"\u2928","topbot":"\u2336","topcir":"\u2af1","top":"\u22a4","Topf":"\u{1d54b}","topf":"\u{1d565}","topfork":"\u2ada","tosa":"\u2929","tprime":"\u2034","trade":"\u2122","TRADE":"\u2122","triangle":"\u25b5","triangledown":"\u25bf","triangleleft":"\u25c3","trianglelefteq":"\u22b4","triangleq":"\u225c","triangleright":"\u25b9","trianglerighteq":"\u22b5","tridot":"\u25ec","trie":"\u225c","triminus":"\u2a3a","TripleDot":"\u20db","triplus":"\u2a39","trisb":"\u29cd","tritime":"\u2a3b","trpezium":"\u23e2","Tscr":"\u{1d4af}","tscr":"\u{1d4c9}","TScy":"\u0426","tscy":"\u0446","TSHcy":"\u040b","tshcy":"\u045b","Tstrok":"\u0166","tstrok":"\u0167","twixt":"\u226c","twoheadleftarrow":"\u219e","twoheadrightarrow":"\u21a0","Uacute":"\xda","uacute":"\xfa","uarr":"\u2191","Uarr":"\u219f","uArr":"\u21d1","Uarrocir":"\u2949","Ubrcy":"\u040e","ubrcy":"\u045e","Ubreve":"\u016c","ubreve":"\u016d","Ucirc":"\xdb","ucirc":"\xfb","Ucy":"\u0423","ucy":"\u0443","udarr":"\u21c5","Udblac":"\u0170","udblac":"\u0171","udhar":"\u296e","ufisht":"\u297e","Ufr":"\u{1d518}","ufr":"\u{1d532}","Ugrave":"\xd9","ugrave":"\xf9","uHar":"\u2963","uharl":"\u21bf","uharr":"\u21be","uhblk":"\u2580","ulcorn":"\u231c","ulcorner":"\u231c","ulcrop":"\u230f","ultri":"\u25f8","Umacr":"\u016a","umacr":"\u016b","uml":"\xa8","UnderBar":"_","UnderBrace":"\u23df","UnderBracket":"\u23b5","UnderParenthesis":"\u23dd","Union":"\u22c3","UnionPlus":"\u228e","Uogon":"\u0172","uogon":"\u0173","Uopf":"\u{1d54c}","uopf":"\u{1d566}","UpArrowBar":"\u2912","uparrow":"\u2191","UpArrow":"\u2191","Uparrow":"\u21d1","UpArrowDownArrow":"\u21c5","updownarrow":"\u2195","UpDownArrow":"\u2195","Updownarrow":"\u21d5","UpEquilibrium":"\u296e","upharpoonleft":"\u21bf","upharpoonright":"\u21be","uplus":"\u228e","UpperLeftArrow":"\u2196","UpperRightArrow":"\u2197","upsi":"\u03c5","Upsi":"\u03d2","upsih":"\u03d2","Upsilon":"\u03a5","upsilon":"\u03c5","UpTeeArrow":"\u21a5","UpTee":"\u22a5","upuparrows":"\u21c8","urcorn":"\u231d","urcorner":"\u231d","urcrop":"\u230e","Uring":"\u016e","uring":"\u016f","urtri":"\u25f9","Uscr":"\u{1d4b0}","uscr":"\u{1d4ca}","utdot":"\u22f0","Utilde":"\u0168","utilde":"\u0169","utri":"\u25b5","utrif":"\u25b4","uuarr":"\u21c8","Uuml":"\xdc","uuml":"\xfc","uwangle":"\u29a7","vangrt":"\u299c","varepsilon":"\u03f5","varkappa":"\u03f0","varnothing":"\u2205","varphi":"\u03d5","varpi":"\u03d6","varpropto":"\u221d","varr":"\u2195","vArr":"\u21d5","varrho":"\u03f1","varsigma":"\u03c2","varsubsetneq":"\u228a\ufe00","varsubsetneqq":"\u2acb\ufe00","varsupsetneq":"\u228b\ufe00","varsupsetneqq":"\u2acc\ufe00","vartheta":"\u03d1","vartriangleleft":"\u22b2","vartriangleright":"\u22b3","vBar":"\u2ae8","Vbar":"\u2aeb","vBarv":"\u2ae9","Vcy":"\u0412","vcy":"\u0432","vdash":"\u22a2","vDash":"\u22a8","Vdash":"\u22a9","VDash":"\u22ab","Vdashl":"\u2ae6","veebar":"\u22bb","vee":"\u2228","Vee":"\u22c1","veeeq":"\u225a","vellip":"\u22ee","verbar":"|","Verbar":"\u2016","vert":"|","Vert":"\u2016","VerticalBar":"\u2223","VerticalLine":"|","VerticalSeparator":"\u2758","VerticalTilde":"\u2240","VeryThinSpace":"\u200a","Vfr":"\u{1d519}","vfr":"\u{1d533}","vltri":"\u22b2","vnsub":"\u2282\u20d2","vnsup":"\u2283\u20d2","Vopf":"\u{1d54d}","vopf":"\u{1d567}","vprop":"\u221d","vrtri":"\u22b3","Vscr":"\u{1d4b1}","vscr":"\u{1d4cb}","vsubnE":"\u2acb\ufe00","vsubne":"\u228a\ufe00","vsupnE":"\u2acc\ufe00","vsupne":"\u228b\ufe00","Vvdash":"\u22aa","vzigzag":"\u299a","Wcirc":"\u0174","wcirc":"\u0175","wedbar":"\u2a5f","wedge":"\u2227","Wedge":"\u22c0","wedgeq":"\u2259","weierp":"\u2118","Wfr":"\u{1d51a}","wfr":"\u{1d534}","Wopf":"\u{1d54e}","wopf":"\u{1d568}","wp":"\u2118","wr":"\u2240","wreath":"\u2240","Wscr":"\u{1d4b2}","wscr":"\u{1d4cc}","xcap":"\u22c2","xcirc":"\u25ef","xcup":"\u22c3","xdtri":"\u25bd","Xfr":"\u{1d51b}","xfr":"\u{1d535}","xharr":"\u27f7","xhArr":"\u27fa","Xi":"\u039e","xi":"\u03be","xlarr":"\u27f5","xlArr":"\u27f8","xmap":"\u27fc","xnis":"\u22fb","xodot":"\u2a00","Xopf":"\u{1d54f}","xopf":"\u{1d569}","xoplus":"\u2a01","xotime":"\u2a02","xrarr":"\u27f6","xrArr":"\u27f9","Xscr":"\u{1d4b3}","xscr":"\u{1d4cd}","xsqcup":"\u2a06","xuplus":"\u2a04","xutri":"\u25b3","xvee":"\u22c1","xwedge":"\u22c0","Yacute":"\xdd","yacute":"\xfd","YAcy":"\u042f","yacy":"\u044f","Ycirc":"\u0176","ycirc":"\u0177","Ycy":"\u042b","ycy":"\u044b","yen":"\xa5","Yfr":"\u{1d51c}","yfr":"\u{1d536}","YIcy":"\u0407","yicy":"\u0457","Yopf":"\u{1d550}","yopf":"\u{1d56a}","Yscr":"\u{1d4b4}","yscr":"\u{1d4ce}","YUcy":"\u042e","yucy":"\u044e","yuml":"\xff","Yuml":"\u0178","Zacute":"\u0179","zacute":"\u017a","Zcaron":"\u017d","zcaron":"\u017e","Zcy":"\u0417","zcy":"\u0437","Zdot":"\u017b","zdot":"\u017c","zeetrf":"\u2128","ZeroWidthSpace":"\u200b","Zeta":"\u0396","zeta":"\u03b6","zfr":"\u{1d537}","Zfr":"\u2128","ZHcy":"\u0416","zhcy":"\u0436","zigrarr":"\u21dd","zopf":"\u{1d56b}","Zopf":"\u2124","Zscr":"\u{1d4b5}","zscr":"\u{1d4cf}","zwj":"\u200d","zwnj":"\u200c"}')},4127:ve=>{"use strict";ve.exports=JSON.parse('{"Aacute":"\xc1","aacute":"\xe1","Acirc":"\xc2","acirc":"\xe2","acute":"\xb4","AElig":"\xc6","aelig":"\xe6","Agrave":"\xc0","agrave":"\xe0","amp":"&","AMP":"&","Aring":"\xc5","aring":"\xe5","Atilde":"\xc3","atilde":"\xe3","Auml":"\xc4","auml":"\xe4","brvbar":"\xa6","Ccedil":"\xc7","ccedil":"\xe7","cedil":"\xb8","cent":"\xa2","copy":"\xa9","COPY":"\xa9","curren":"\xa4","deg":"\xb0","divide":"\xf7","Eacute":"\xc9","eacute":"\xe9","Ecirc":"\xca","ecirc":"\xea","Egrave":"\xc8","egrave":"\xe8","ETH":"\xd0","eth":"\xf0","Euml":"\xcb","euml":"\xeb","frac12":"\xbd","frac14":"\xbc","frac34":"\xbe","gt":">","GT":">","Iacute":"\xcd","iacute":"\xed","Icirc":"\xce","icirc":"\xee","iexcl":"\xa1","Igrave":"\xcc","igrave":"\xec","iquest":"\xbf","Iuml":"\xcf","iuml":"\xef","laquo":"\xab","lt":"<","LT":"<","macr":"\xaf","micro":"\xb5","middot":"\xb7","nbsp":"\xa0","not":"\xac","Ntilde":"\xd1","ntilde":"\xf1","Oacute":"\xd3","oacute":"\xf3","Ocirc":"\xd4","ocirc":"\xf4","Ograve":"\xd2","ograve":"\xf2","ordf":"\xaa","ordm":"\xba","Oslash":"\xd8","oslash":"\xf8","Otilde":"\xd5","otilde":"\xf5","Ouml":"\xd6","ouml":"\xf6","para":"\xb6","plusmn":"\xb1","pound":"\xa3","quot":"\\"","QUOT":"\\"","raquo":"\xbb","reg":"\xae","REG":"\xae","sect":"\xa7","shy":"\xad","sup1":"\xb9","sup2":"\xb2","sup3":"\xb3","szlig":"\xdf","THORN":"\xde","thorn":"\xfe","times":"\xd7","Uacute":"\xda","uacute":"\xfa","Ucirc":"\xdb","ucirc":"\xfb","Ugrave":"\xd9","ugrave":"\xf9","uml":"\xa8","Uuml":"\xdc","uuml":"\xfc","Yacute":"\xdd","yacute":"\xfd","yen":"\xa5","yuml":"\xff"}')},148:ve=>{"use strict";ve.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')}},ve=>{ve(ve.s=7043)}]); \ No newline at end of file diff --git a/runtime.13f7116a01d6c3c0.js b/runtime.13f7116a01d6c3c0.js new file mode 100644 index 00000000..4711fb4a --- /dev/null +++ b/runtime.13f7116a01d6c3c0.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,c,t,d,g={},w={};function f(e){var c=w[e];if(void 0!==c)return c.exports;var t=w[e]={id:e,exports:{}};return g[e].call(t.exports,t,t.exports,f),t.exports}f.m=g,e="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",c="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",t="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",d=r=>{r&&r.d<1&&(r.d=1,r.forEach(a=>a.r--),r.forEach(a=>a.r--?a.r++:a()))},f.a=(r,a,s)=>{var b;s&&((b=[]).d=-1);var u,m,y,i=new Set,n=r.exports,p=new Promise((l,v)=>{y=v,m=l});p[c]=n,p[e]=l=>(b&&l(b),i.forEach(l),p.catch(v=>{})),r.exports=p,a(l=>{u=(r=>r.map(a=>{if(null!==a&&"object"==typeof a){if(a[e])return a;if(a.then){var s=[];s.d=0,a.then(n=>{b[c]=n,d(s)},n=>{b[t]=n,d(s)});var b={};return b[e]=n=>n(s),b}}var i={};return i[e]=n=>{},i[c]=a,i}))(l);var v,x=()=>u.map(h=>{if(h[t])throw h[t];return h[c]}),S=new Promise(h=>{(v=()=>h(x)).r=0;var k=_=>_!==b&&!i.has(_)&&(i.add(_),_&&!_.d&&(v.r++,_.push(v)));u.map(_=>_[e](k))});return v.r?S:x()},l=>(l?y(p[t]=l):m(n),d(b))),b&&b.d<0&&(b.d=0)},(()=>{var e=[];f.O=(c,t,d,o)=>{if(!t){var a=1/0;for(r=0;r=o)&&Object.keys(f.O).every(p=>f.O[p](t[b]))?t.splice(b--,1):(s=!1,o0&&e[r-1][2]>o;r--)e[r]=e[r-1];e[r]=[t,d,o]}})(),f.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return f.d(c,{a:c}),c},f.d=(e,c)=>{for(var t in c)f.o(c,t)&&!f.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:c[t]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce((c,t)=>(f.f[t](e,c),c),[])),f.u=e=>(8592===e?"common":e)+"."+{9:"d1e63ed895843d1c",108:"72483ade85a48f0c",240:"cf4672f96229b6e0",277:"a03e58de63ec0fc4",316:"e4bcff910730a271",339:"413a1eca81511156",425:"0e3ffdf9c1f3013a",652:"a6729793321ac518",706:"cc89668dc3317128",1223:"f221cfea053c3937",1248:"640c52eb700a7e5c",1474:"b5ba71f1d42d5731",1598:"fc72e97ad9273f5a",1646:"85c85a5320062aa3",1652:"02504d939796e241",1706:"99c0c61679da6677",1901:"2425377f1b8129a3",2003:"ae92d267dd46add8",2077:"5b4f339bc9a71a38",2081:"26caea58c417a144",2156:"336e8a0d06ea9e1c",2307:"dc06894f31f27f03",2339:"99b483c5e0913603",2416:"3fb218f3f70e5e12",2629:"28d5109255e439cd",2779:"20e1b9dadcaef627",2831:"28d575ddb6a571cb",2888:"301402e24c2a3975",3024:"f9e0eb17ac4682de",3042:"db9e7e9ec9debea5",3476:"5c9fd0073b9a6b83",3598:"618b991df02c3d83",3715:"c22548e9927ef283",3777:"5b04398c4105ecab",3842:"37d8113de152bcad",3856:"f976724b5ca1f2d1",3880:"804ceeaff0f614a7",4551:"632e5a256a4fac06",4676:"5609202eda5e1735",4753:"a47db17cd54bcfbb",4999:"539e3a5f4d2efda9",5025:"0ca6589e14f83c99",5281:"71866a50ae93ed2c",5339:"52b4a72cd2850ec3",5535:"04f946f94b61c988",5580:"36de5fd1dab113ff",5659:"089eeaaf746e577f",6112:"47ef184b1c6fecc2",6186:"c099034e68a9df1b",6239:"ab6f1f2a2494a5fa",6297:"5d7e626585cd105d",6541:"16327a7f23e27673",6774:"3fd69d981b34daed",6886:"a58363abf6a5d551",6921:"986bc194ca418603",6929:"41b4ed4b9fa363df",6945:"ea27f3024889c222",7134:"a157744d07fa0d23",7182:"5397d4e60d9d680b",7223:"45547447abfbc764",7386:"9578ceed29c908e6",7426:"d4baccc255bf3d04",7576:"aa85aba8f8f81d75",7578:"b797a5ccc1a33b16",7677:"3537d527d3a04acd",7708:"e82abfb89ce2ffd6",7724:"8fc10979dd28684c",7814:"6d249c452e0e444e",7851:"5a81ceb109c70c7a",7896:"f902975544d11d0a",8030:"ebd4484b170accb5",8077:"07dc0dddd2a32447",8110:"f1efb1928ee89efc",8184:"b94b4b0ba43c8cff",8352:"e24e9011b530e3ac",8501:"66b1e8f72b6ede42",8592:"8a3adb2a4e9b3bfe",8613:"ce556516c8a551eb",8637:"51f1c157de68eecd",8640:"7531bf5569814abc",8722:"a01aeb548abb7446",8738:"33907002f71ab58d",8808:"0352d1f70ca0fe22",9040:"d50818e6c7cff351",9101:"9828888889d91982",9218:"e663166c92b34918",9296:"319697e531238395",9300:"19aea31f486e1614",9439:"e532c972891d1a5e",9717:"a00fd522f17319f8",9740:"837c28f28449a016",9819:"3f57664e0d579764",9822:"820409bebf4fac8b",9826:"472e4c2ecefc8070",9850:"ebf8d1e4778a4075",9867:"6f1a3ebf3ef913b9",9961:"9e7137597f495d58"}[e]+".js",f.miniCssF=e=>{},f.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),(()=>{var e={},c="ngx-vflow-demo:";f.l=(t,d,o,r)=>{if(e[t])e[t].push(d);else{var a,s;if(void 0!==o)for(var b=document.getElementsByTagName("script"),i=0;i{a.onerror=a.onload=null,clearTimeout(m);var l=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),l&&l.forEach(v=>v(p)),y)return y(p)},m=setTimeout(u.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=u.bind(null,a.onerror),a.onload=u.bind(null,a.onload),s&&document.head.appendChild(a)}}})(),f.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;f.tt=()=>(void 0===e&&(e={createScriptURL:c=>c},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),f.tu=e=>f.tt().createScriptURL(e),f.v=(e,c,t,d)=>{var o=fetch(f.p+""+t+".module.wasm");return"function"==typeof WebAssembly.instantiateStreaming?WebAssembly.instantiateStreaming(o,d).then(r=>Object.assign(e,r.instance.exports)):o.then(r=>r.arrayBuffer()).then(r=>WebAssembly.instantiate(r,d)).then(r=>Object.assign(e,r.instance.exports))},f.p="",(()=>{var e={3666:0};f.f.j=(d,o)=>{var r=f.o(e,d)?e[d]:void 0;if(0!==r)if(r)o.push(r[2]);else if(3666!=d){var a=new Promise((n,u)=>r=e[d]=[n,u]);o.push(r[2]=a);var s=f.p+f.u(d),b=new Error;f.l(s,n=>{if(f.o(e,d)&&(0!==(r=e[d])&&(e[d]=void 0),r)){var u=n&&("load"===n.type?"missing":n.type),m=n&&n.target&&n.target.src;b.message="Loading chunk "+d+" failed.\n("+u+": "+m+")",b.name="ChunkLoadError",b.type=u,b.request=m,r[1](b)}},"chunk-"+d,d)}else e[d]=0},f.O.j=d=>0===e[d];var c=(d,o)=>{var b,i,[r,a,s]=o,n=0;if(r.some(m=>0!==e[m])){for(b in a)f.o(a,b)&&(f.m[b]=a[b]);if(s)var u=s(f)}for(d&&d(o);n{"use strict";var e,c,f,d,g={},w={};function t(e){var c=w[e];if(void 0!==c)return c.exports;var f=w[e]={id:e,exports:{}};return g[e].call(f.exports,f,f.exports,t),f.exports}t.m=g,e="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",c="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",f="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",d=r=>{r&&r.d<1&&(r.d=1,r.forEach(a=>a.r--),r.forEach(a=>a.r--?a.r++:a()))},t.a=(r,a,s)=>{var b;s&&((b=[]).d=-1);var u,m,y,i=new Set,n=r.exports,p=new Promise((l,v)=>{y=v,m=l});p[c]=n,p[e]=l=>(b&&l(b),i.forEach(l),p.catch(v=>{})),r.exports=p,a(l=>{u=(r=>r.map(a=>{if(null!==a&&"object"==typeof a){if(a[e])return a;if(a.then){var s=[];s.d=0,a.then(n=>{b[c]=n,d(s)},n=>{b[f]=n,d(s)});var b={};return b[e]=n=>n(s),b}}var i={};return i[e]=n=>{},i[c]=a,i}))(l);var v,x=()=>u.map(h=>{if(h[f])throw h[f];return h[c]}),S=new Promise(h=>{(v=()=>h(x)).r=0;var k=_=>_!==b&&!i.has(_)&&(i.add(_),_&&!_.d&&(v.r++,_.push(v)));u.map(_=>_[e](k))});return v.r?S:x()},l=>(l?y(p[f]=l):m(n),d(b))),b&&b.d<0&&(b.d=0)},(()=>{var e=[];t.O=(c,f,d,o)=>{if(!f){var a=1/0;for(r=0;r=o)&&Object.keys(t.O).every(p=>t.O[p](f[b]))?f.splice(b--,1):(s=!1,o0&&e[r-1][2]>o;r--)e[r]=e[r-1];e[r]=[f,d,o]}})(),t.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return t.d(c,{a:c}),c},t.d=(e,c)=>{for(var f in c)t.o(c,f)&&!t.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:c[f]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce((c,f)=>(t.f[f](e,c),c),[])),t.u=e=>(8592===e?"common":e)+"."+{9:"024ecda84048ddb2",108:"9d42252ac83cbd97",240:"028ff689ac0e4e18",277:"a03e58de63ec0fc4",316:"bdd252a8133e042f",339:"413a1eca81511156",652:"a6729793321ac518",706:"120e264611582f9f",1223:"f221cfea053c3937",1248:"640c52eb700a7e5c",1474:"b5ba71f1d42d5731",1598:"fc72e97ad9273f5a",1646:"85c85a5320062aa3",1652:"02504d939796e241",1706:"99c0c61679da6677",1901:"fde75e6c8f0deea4",2003:"ae92d267dd46add8",2081:"26caea58c417a144",2307:"dc06894f31f27f03",2779:"20e1b9dadcaef627",2831:"28d575ddb6a571cb",2888:"301402e24c2a3975",3024:"f9e0eb17ac4682de",3042:"db9e7e9ec9debea5",3476:"5c9fd0073b9a6b83",3598:"85142f08877bed5d",3715:"e384463fe4135e3d",3777:"51f8eb280e1d49e1",3842:"0c49ebd4e4a78a54",3856:"5e7189d0bad70f20",4551:"632e5a256a4fac06",4676:"5609202eda5e1735",4753:"917836fee45253b5",5025:"0ca6589e14f83c99",5281:"71866a50ae93ed2c",5339:"52b4a72cd2850ec3",5535:"04f946f94b61c988",5580:"aedb6c0e675fe6ae",6112:"a9bd28f2cfaeb20a",6186:"c099034e68a9df1b",6239:"ab6f1f2a2494a5fa",6297:"5d7e626585cd105d",6541:"16327a7f23e27673",6774:"f537b3f1afb4b9ea",6886:"e96a6ffa3f109e79",6921:"7dd3a0db48727a64",6945:"c73781a7530e8008",7134:"a157744d07fa0d23",7182:"5397d4e60d9d680b",7223:"45547447abfbc764",7386:"9578ceed29c908e6",7426:"a6c3eeaf43a03804",7576:"fc15f97c5df5736a",7708:"c600f0019556fa81",7724:"4ea7cb5c52a37567",7814:"6d249c452e0e444e",7851:"1b0e25d1e08d078b",7896:"f902975544d11d0a",8030:"69aa004cf2d1d64e",8077:"07dc0dddd2a32447",8110:"b4d7cc46b0b7392b",8184:"b94b4b0ba43c8cff",8352:"e24e9011b530e3ac",8592:"6d077d65dad91648",8613:"ce556516c8a551eb",8637:"51f1c157de68eecd",8640:"4667b6c6ffac48fa",8738:"67f1f8da9b650c0f",8808:"a70fcfc117a56195",9040:"43822890be31e3eb",9101:"f1ed4b4e21e0678d",9218:"6a317ebe3bbeb84d",9296:"319697e531238395",9300:"19aea31f486e1614",9717:"7dbd5728ce78786c",9819:"7c0c7f973b5bb570",9822:"248b65347f16a0c1",9826:"99af3406b977fe71",9850:"840db377cdb3635f",9867:"6f1a3ebf3ef913b9",9961:"9e7137597f495d58"}[e]+".js",t.miniCssF=e=>{},t.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),(()=>{var e={},c="ngx-vflow-demo:";t.l=(f,d,o,r)=>{if(e[f])e[f].push(d);else{var a,s;if(void 0!==o)for(var b=document.getElementsByTagName("script"),i=0;i{a.onerror=a.onload=null,clearTimeout(m);var l=e[f];if(delete e[f],a.parentNode&&a.parentNode.removeChild(a),l&&l.forEach(v=>v(p)),y)return y(p)},m=setTimeout(u.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=u.bind(null,a.onerror),a.onload=u.bind(null,a.onload),s&&document.head.appendChild(a)}}})(),t.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;t.tt=()=>(void 0===e&&(e={createScriptURL:c=>c},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),t.tu=e=>t.tt().createScriptURL(e),t.v=(e,c,f,d)=>{var o=fetch(t.p+""+f+".module.wasm");return"function"==typeof WebAssembly.instantiateStreaming?WebAssembly.instantiateStreaming(o,d).then(r=>Object.assign(e,r.instance.exports)):o.then(r=>r.arrayBuffer()).then(r=>WebAssembly.instantiate(r,d)).then(r=>Object.assign(e,r.instance.exports))},t.p="",(()=>{var e={3666:0};t.f.j=(d,o)=>{var r=t.o(e,d)?e[d]:void 0;if(0!==r)if(r)o.push(r[2]);else if(3666!=d){var a=new Promise((n,u)=>r=e[d]=[n,u]);o.push(r[2]=a);var s=t.p+t.u(d),b=new Error;t.l(s,n=>{if(t.o(e,d)&&(0!==(r=e[d])&&(e[d]=void 0),r)){var u=n&&("load"===n.type?"missing":n.type),m=n&&n.target&&n.target.src;b.message="Loading chunk "+d+" failed.\n("+u+": "+m+")",b.name="ChunkLoadError",b.type=u,b.request=m,r[1](b)}},"chunk-"+d,d)}else e[d]=0},t.O.j=d=>0===e[d];var c=(d,o)=>{var b,i,[r,a,s]=o,n=0;if(r.some(m=>0!==e[m])){for(b in a)t.o(a,b)&&(t.m[b]=a[b]);if(s)var u=s(t)}for(d&&d(o);n