# By default, Authorities are not configured as exits
Authority = Node(tag="a", authority=1, relay=1, torrc="authority.tmpl")
ExitRelay = Node(tag="r", relay=1, exit=1, torrc="relay.tmpl")
Client = Node(tag="c", client=1, torrc="client.tmpl")

# Since only 25% of relays get the guard flag,
# TestingDirAuthVoteGuard * may need to be used in small networks

# The minimum number of authorities/relays/exits is 3, the minimum path length
# But relays and authorities need 1 extra node, because they won't make a path
# that includes themselves.
# Due to microdec download issues, tor 0.3.5 needs at least 5
# authorities/relays/exits in the consensus.
NODES = Authority.getN(4) + ExitRelay.getN(1) + Client.getN(1)

ConfigureNodes(NODES)
