default: {
  start: ""
  end: ""

  start.1 <-> end.1: 1 {
    style.stroke-width: 1
  }
  start.2 <-> end.2: 2 {
    style.stroke-width: 2
  }
  start.4 <-> end.4: 4 {
    style.stroke-width: 4
  }
  start.8 <-> end.8: 8 {
    style.stroke-width: 8
  }
  start.15 <-> end.15: 15 {
    style.stroke-width: 15
  }
}

line: {
  start: ""
  end: ""

  start.1 -- end.1: 1 {
    style.stroke-width: 1
  }
  start.2 -- end.2: 2 {
    style.stroke-width: 2
  }
  start.4 -- end.4: 4 {
    style.stroke-width: 4
  }
  start.8 -- end.8: 8 {
    style.stroke-width: 8
  }
  start.15 -- end.15: 15 {
    style.stroke-width: 15
  }
}

arrow: {
  start: ""
  end: ""

  start.1 <-> end.1: 1 {
    style.stroke-width: 1
    source-arrowhead.shape: arrow
    target-arrowhead.shape: arrow
  }
  start.2 <-> end.2: 2 {
    style.stroke-width: 2
    source-arrowhead.shape: arrow
    target-arrowhead.shape: arrow
  }
  start.4 <-> end.4: 4 {
    style.stroke-width: 4
    source-arrowhead.shape: arrow
    target-arrowhead.shape: arrow
  }
  start.8 <-> end.8: 8 {
    style.stroke-width: 8
    source-arrowhead.shape: arrow
    target-arrowhead.shape: arrow
  }
  start.15 <-> end.15: 15 {
    style.stroke-width: 15
    source-arrowhead.shape: arrow
    target-arrowhead.shape: arrow
  }
}

diamond: {
  start: ""
  end: ""

  start.1 <-> end.1: 1 {
    style.stroke-width: 1
    source-arrowhead.shape: diamond
    target-arrowhead.shape: diamond
  }
  start.2 <-> end.2: 2 {
    style.stroke-width: 2
    source-arrowhead.shape: diamond
    target-arrowhead.shape: diamond
  }
  start.4 <-> end.4: 4 {
    style.stroke-width: 4
    source-arrowhead.shape: diamond
    target-arrowhead.shape: diamond
  }
  start.8 <-> end.8: 8 {
    style.stroke-width: 8
    source-arrowhead.shape: diamond
    target-arrowhead.shape: diamond
  }
  start.15 <-> end.15: 15 {
    style.stroke-width: 15
    source-arrowhead.shape: diamond
    target-arrowhead.shape: diamond
  }
}

filled diamond: {
  start: ""
  end: ""

  start.1 <-> end.1: 1 {
    style.stroke-width: 1
    source-arrowhead.shape: diamond
    target-arrowhead.shape: diamond
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
  start.2 <-> end.2: 2 {
    style.stroke-width: 2
    source-arrowhead.shape: diamond
    target-arrowhead.shape: diamond
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
  start.4 <-> end.4: 4 {
    style.stroke-width: 4
    source-arrowhead.shape: diamond
    target-arrowhead.shape: diamond
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
  start.8 <-> end.8: 8 {
    style.stroke-width: 8
    source-arrowhead.shape: diamond
    target-arrowhead.shape: diamond
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
  start.15 <-> end.15: 15 {
    style.stroke-width: 15
    source-arrowhead.shape: diamond
    target-arrowhead.shape: diamond
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
}

circle: {
  start: ""
  end: ""

  start.1 <-> end.1: 1 {
    style.stroke-width: 1
    source-arrowhead.shape: circle
    target-arrowhead.shape: circle
  }
  start.2 <-> end.2: 2 {
    style.stroke-width: 2
    source-arrowhead.shape: circle
    target-arrowhead.shape: circle
  }
  start.4 <-> end.4: 4 {
    style.stroke-width: 4
    source-arrowhead.shape: circle
    target-arrowhead.shape: circle
  }
  start.8 <-> end.8: 8 {
    style.stroke-width: 8
    source-arrowhead.shape: circle
    target-arrowhead.shape: circle
  }
  start.15 <-> end.15: 15 {
    style.stroke-width: 15
    source-arrowhead.shape: circle
    target-arrowhead.shape: circle
  }
}

filled circle: {
  start: ""
  end: ""

  start.1 <-> end.1: 1 {
    style.stroke-width: 1
    source-arrowhead.shape: circle
    target-arrowhead.shape: circle
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
  start.2 <-> end.2: 2 {
    style.stroke-width: 2
    source-arrowhead.shape: circle
    target-arrowhead.shape: circle
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
  start.4 <-> end.4: 4 {
    style.stroke-width: 4
    source-arrowhead.shape: circle
    target-arrowhead.shape: circle
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
  start.8 <-> end.8: 8 {
    style.stroke-width: 8
    source-arrowhead.shape: circle
    target-arrowhead.shape: circle
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
  start.15 <-> end.15: 15 {
    style.stroke-width: 15
    source-arrowhead.shape: circle
    target-arrowhead.shape: circle
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
}

box: {
  start: ""
  end: ""

  start.1 <-> end.1: 1 {
    style.stroke-width: 1
    source-arrowhead.shape: box
    target-arrowhead.shape: box
  }
  start.2 <-> end.2: 2 {
    style.stroke-width: 2
    source-arrowhead.shape: box
    target-arrowhead.shape: box
  }
  start.4 <-> end.4: 4 {
    style.stroke-width: 4
    source-arrowhead.shape: box
    target-arrowhead.shape: box
  }
  start.8 <-> end.8: 8 {
    style.stroke-width: 8
    source-arrowhead.shape: box
    target-arrowhead.shape: box
  }
  start.15 <-> end.15: 15 {
    style.stroke-width: 15
    source-arrowhead.shape: box
    target-arrowhead.shape: box
  }
}

filled-box: {
  start: ""
  end: ""

  start.1 <-> end.1: 1 {
    style.stroke-width: 1
    source-arrowhead.shape: box
    target-arrowhead.shape: box
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
  start.2 <-> end.2: 2 {
    style.stroke-width: 2
    source-arrowhead.shape: box
    target-arrowhead.shape: box
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
  start.4 <-> end.4: 4 {
    style.stroke-width: 4
    source-arrowhead.shape: box
    target-arrowhead.shape: box
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
  start.8 <-> end.8: 8 {
    style.stroke-width: 8
    source-arrowhead.shape: box
    target-arrowhead.shape: box
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
  start.15 <-> end.15: 15 {
    style.stroke-width: 15
    source-arrowhead.shape: box
    target-arrowhead.shape: box
    source-arrowhead.style.filled: true
    target-arrowhead.style.filled: true
  }
}

cf one: {
  start: ""
  end: ""

  start.1 <-> end.1: 1 {
    style.stroke-width: 1
    source-arrowhead.shape: cf-one
    target-arrowhead.shape: cf-one
  }
  start.2 <-> end.2: 2 {
    style.stroke-width: 2
    source-arrowhead.shape: cf-one
    target-arrowhead.shape: cf-one
  }
  start.4 <-> end.4: 4 {
    style.stroke-width: 4
    source-arrowhead.shape: cf-one
    target-arrowhead.shape: cf-one
  }
  start.8 <-> end.8: 8 {
    style.stroke-width: 8
    source-arrowhead.shape: cf-one
    target-arrowhead.shape: cf-one
  }
  start.15 <-> end.15: 15 {
    style.stroke-width: 15
    source-arrowhead.shape: cf-one
    target-arrowhead.shape: cf-one
  }
}

cf one required: {
  start: ""
  end: ""

  start.1 <-> end.1: 1 {
    style.stroke-width: 1
    source-arrowhead.shape: cf-one-required
    target-arrowhead.shape: cf-one-required
  }
  start.2 <-> end.2: 2 {
    style.stroke-width: 2
    source-arrowhead.shape: cf-one-required
    target-arrowhead.shape: cf-one-required
  }
  start.4 <-> end.4: 4 {
    style.stroke-width: 4
    source-arrowhead.shape: cf-one-required
    target-arrowhead.shape: cf-one-required
  }
  start.8 <-> end.8: 8 {
    style.stroke-width: 8
    source-arrowhead.shape: cf-one-required
    target-arrowhead.shape: cf-one-required
  }
  start.15 <-> end.15: 15 {
    style.stroke-width: 15
    source-arrowhead.shape: cf-one-required
    target-arrowhead.shape: cf-one-required
  }
}

cf many: {
  start: ""
  end: ""

  start.1 <-> end.1: 1 {
    style.stroke-width: 1
    source-arrowhead.shape: cf-many
    target-arrowhead.shape: cf-many
  }
  start.2 <-> end.2: 2 {
    style.stroke-width: 2
    source-arrowhead.shape: cf-many
    target-arrowhead.shape: cf-many
  }
  start.4 <-> end.4: 4 {
    style.stroke-width: 4
    source-arrowhead.shape: cf-many
    target-arrowhead.shape: cf-many
  }
  start.8 <-> end.8: 8 {
    style.stroke-width: 8
    source-arrowhead.shape: cf-many
    target-arrowhead.shape: cf-many
  }
  start.15 <-> end.15: 15 {
    style.stroke-width: 15
    source-arrowhead.shape: cf-many
    target-arrowhead.shape: cf-many
  }
}

cf many required: {
  start: ""
  end: ""

  start.1 <-> end.1: 1 {
    style.stroke-width: 1
    source-arrowhead.shape: cf-many-required
    target-arrowhead.shape: cf-many-required
  }
  start.2 <-> end.2: 2 {
    style.stroke-width: 2
    source-arrowhead.shape: cf-many-required
    target-arrowhead.shape: cf-many-required
  }
  start.4 <-> end.4: 4 {
    style.stroke-width: 4
    source-arrowhead.shape: cf-many-required
    target-arrowhead.shape: cf-many-required
  }
  start.8 <-> end.8: 8 {
    style.stroke-width: 8
    source-arrowhead.shape: cf-many-required
    target-arrowhead.shape: cf-many-required
  }
  start.15 <-> end.15: 15 {
    style.stroke-width: 15
    source-arrowhead.shape: cf-many-required
    target-arrowhead.shape: cf-many-required
  }
}
