%if;has_parents;

### [*preview family tree]

%if;(max_anc_level>3)
%( line 1 : up to 8 great-grandparents %) %if;(father.has_parents and father.father.has_parents)
%else;
%end;
%if;(father.has_parents and father.mother.has_parents)
%else;
%end;
%if;(mother.has_parents and mother.father.has_parents)
%else;
%end;
%if;(mother.has_parents and mother.mother.has_parents)
%else;
%end;

%nn; %apply;short_display_person("father.father.father")

%nn; %apply;short_display_person("father.father.mother")

%nn; %apply;short_display_person("father.mother.father")

%nn; %apply;short_display_person("father.mother.mother")

%nn; %apply;short_display_person("mother.father.father")

%nn; %apply;short_display_person("mother.father.mother")

%nn; %apply;short_display_person("mother.mother.father")

%nn; %apply;short_display_person("mother.mother.mother")

%( line 2 : up to 8 vertical lines with number %) %if;(father.has_parents and father.father.has_parents)
%end;
%if;(father.has_parents and father.mother.has_parents)
%end;
%if;(mother.has_parents and mother.father.has_parents)
%end;
%if;(mother.has_parents and mother.mother.has_parents)
%end;
|<br%/>8 |  | |<br%/>9 |  | |<br%/>10 |  | |<br%/>11 |  | |<br%/>12 |  | |<br%/>13 |  | |<br%/>14 |  | |<br%/>15
%( line 3: up to 4 horizontal lines %) %if;(father.has_parents and father.father.has_parents)

%nn;

%nn;

%end;

%if;(father.has_parents and father.mother.has_parents)
%nn;

%nn;

%end;

%if;(mother.has_parents and mother.father.has_parents)
%nn;

%nn;

%end;

%if;(mother.has_parents and mother.mother.has_parents)
%nn;

%nn;

%end;
%( line 4 : up to 4 vertical lines %) %if;(father.has_parents and father.father.has_parents)
%end;
%if;(father.has_parents and father.mother.has_parents)
%end;
%if;(mother.has_parents and mother.father.has_parents)
%end;
%if;(mother.has_parents and mother.mother.has_parents)
%end;
%end;

%if;(max_anc_level>2)
%( line 5 : up to 4 grandparents %) %if;father.has_parents;
%else;
%end;
%if;mother.has_parents;
%else;
%end;
%nn; %apply;short_display_person("father.father") |  | %nn; %apply;short_display_person("father.mother") |  |  | %nn; %apply;short_display_person("mother.father") |  | %nn; %apply;short_display_person("mother.mother") |
%( line 6 : up to 4 vertical lines with number %) %if;father.has_parents;
%end;
%if;mother.has_parents;
%end;
|<br%/>4 |  | |<br%/>5 |  | |<br%/>6 |  | |<br%/>7
%( line 7 : up to 2 horizontal lines %) %if;father.has_parents;

%nn;

%nn;

%end;

%if;mother.has_parents;
%nn;

%nn;

%end;
%( line 8 : up to 2 vertical lines %) %if;father.has_parents;
%end;
%if;mother.has_parents;
%end;
%end;

%( line 9 : 2 parents %)
%nn; %apply;short_display_person("father") |  | %nn; %apply;short_display_person("mother")
%( line 10 : 2 vertical lines with number %)
|<br%/>2 |  | |<br%/>3
%( line 11 : 2 horizontal lines %)

%nn;

%nn;

%( line 12 : 1 vertical line %)
%( line 13 : 1 person %)
%nn; %apply;short_display_person("self")

%end;