input: 
  def create_bpmn_diagram(process_label: str, image_path: str, se_cluster: dict, se_edges: dict, p_cluster: dict, p_edges: dict, pr_cluster: dict, pr_edges: dict, global_edges: dict) -> None:
      """
      Create a BPMN diagram for a given process using Python and the bpmn_pgv library. The diagram should include clusters for Secretaría Ejecutiva, Presidencia, and Presupuesto/Administración, with specific tasks and edges defined within each cluster. Additionally, include nodes for SIGEFOMDES Administración and SISAC, and connect them to the appropriate clusters using dashed edges. Finally, save the diagram as a PNG file named "proc4.png" and a DOT file named "proc4.dot".
      >>> create_bpmn_diagram("Liquidación de Créditos", IMAGE_PATH, se_cluster, se_edges, p_cluster, p_edges, pr_cluster, pr_edges, global_edges)
      """
      pass
  
output:     
      import bpmn_pgv as bpmn
  
      # Create a new BPMN diagram
      diagram = bpmn.BPMN()
  
      # Add clusters for Secretaría Ejecutiva, Presidencia, and Presupuesto/Administración
      se_cluster_node = diagram.add_cluster(bpmn.BPMNCluster(label=process_label))
      p_cluster_node = diagram.add_cluster(bpmn.BPMNCluster(label=process_label))
      pr_cluster_node = diagram.add_cluster(bpmn.BPMNCluster(label=process_label))
  
      # Add tasks to each cluster
      for task, label in se_cluster.items():
          diagram.add_node(bpmn.BPMNNode(id=task, label=label), cluster=se_cluster_node)
      for task, label in p_cluster.items():
          diagram.add_node(bpmn.BPMNNode(id=task, label=label), cluster=p_cluster_node)
      for task, label in pr_cluster.items():
          diagram.add_node(bpmn.BPMNNode(id=task, label=label), cluster=pr_cluster_node)
  
      # Add edges within each cluster
      for edge in se_edges:
          diagram.add_edge(bpmn.BPMNEdge(edge[0], edge[1]), cluster=se_cluster_node)
      for edge in p_edges:
          diagram.add_edge(bpmn.BPMNEdge(edge[0], edge[1]), cluster=p_cluster_node)
      for edge in pr_edges:
          diagram.add_edge(bpmn.BPMNEdge(edge[0], edge[1]), cluster=pr_cluster_node)
  
      # Add global nodes and edges
      for edge in global_edges:
          diagram.add_edge(bpmn.BPMNEdge(edge[0], edge[1], style='dashed'))
  
      # Add nodes for SIGEFOMDES Administración and SISAC
      sigefomdes_node = diagram.add_node(bpmn.BPMNNode(id='SIGEFOMDES', label='SIGEFOMDES Administración'))
      sisac_node = diagram.add_node(bpmn.BPMNNode(id='SISAC', label='SISAC'))
  
      # Connect SIGEFOMDES and SISAC to the appropriate clusters using dashed edges
      diagram.add_edge(bpmn.BPMNEdge(sigefomdes_node, se_cluster_node, style='dashed'))
      diagram.add_edge(bpmn.BPMNEdge(sisac_node, p_cluster_node, style='dashed'))
  
      # Save the diagram as a PNG and DOT file
      diagram.write_png(image_path)
      diagram.write_dot(image_path.replace('.png', '.dot'))
  