�
JI�ct\ � � � d dl Z d dlZd dlZd dlmZmZmZmZmZmZm Z m
Z
d dlmZ d dl
mZ d dlZdZ ee� � Z eddefdej e j fd efg� � Z ed
� � Z G d� de j � � Z G d
� de j � � Z G d� dee � � Zdee defd�Zdddefd�Z d-dej dej e dede de dee fd�Z!ded e
ej de fd!�Z" G d"� d#� � Z# G d$� d%� � Z$dej de fd&�Z%d'� Z&d e
ej fd(�Z'e& d.dej d)ej e d*e$ded ed+ede de dej e fd,�� � Z(dS )/� N)�List�
NamedTuple�Generic�TypeVar�Dict�Callable�Set�Iterable)�Template)�StringIOaM <!DOCTYPE html>
<html>
<head>
{% if not head %}
<style type="text/css">
.railroad-heading {
font-family: monospace;
}
</style>
{% else %}
{{ head | safe }}
{% endif %}
</head>
<body>
{{ body | safe }}
{% for diagram in diagrams %}
<div class="railroad-group">
<h1 class="railroad-heading">{{ diagram.title }}</h1>
<div class="railroad-description">{{ diagram.text }}</div>
<div class="railroad-svg">
{{ diagram.svg }}
</div>
</div>
{% endfor %}
</body>
</html>
�NamedDiagram�name�diagram�index�Tc �& |