prologues:=2;
input geometriesyr16
%1
figure(0,0,14u,11u);
trace grille(0.5) withcolor orange;
origine((14,11));
pair A,B,C,D,E,F,G,H,I,J,K,L,M,In[],N,O,P,Q,R,S,T,U,V,W;
A=pp(0,0);
B=pp(0,5);
C=pp(0,-3);
D=pp(0,-4.5);
E=pp(3,0);
F=symetrie(E,A);
G=pp(6,5);
H=symetrie(G,A,B);
I=pp(-2.5,3.5);
J=symetrie(I,A,B);
K=pp(-2.5,-4);
L=symetrie(K,A,B);
M=pp(0,-7);
N=pp(-5,6);
O=symetrie(N,A,B);
P=pp(-6,4.5);
Q=symetrie(P,A,B);
R=pp(0,10);
S=pp(-2.5,1.5);
T=symetrie(S,A,B);
U=pp(0,1.5);
V=pp(-6.5,-4.5);
W=symetrie(V,A,B);
path cc[];
cc1=cercles(E,B);
cc2=cercles(F,B);
cc3=cercles(B,2u);
cc4=cercles(G,u);
cc5=cercles(H,u);
cc6=cercles(C,A);
cc7=cercles(D,1.75u);
In1=cc3 intersectionpoint cc1;
In2=symetrie(In1,A,B);
In3=symetrie(cc2 intersectionpoint cc6,F,C);
In4=symetrie(In3,A,B);
In6=symetrie(cc7 intersectionpoint cc6,A,B);
cc8=cercles(I,In2);
cc9=cercles(J,In1);
cc10=cercles(K,In4);
cc11=cercles(L,In3);
cc12=cercles(M,1.25u);
cc13=cercles(M,1u);
cc14=cercles(N,u);
cc15=cercles(O,u);
cc16=cercles(P,u);
cc17=cercles(Q,u);
cc18=cercles(R,Q);
cc19=cercles(S,1.5u);
cc20=cercles(T,1.5u);
cc21=cercles(A,In6);
cc22=cercles(U,2.25u);
cc23=cercles(U,2u);
cc24=cercles(V,pp(0,-4));
cc25=cercles(W,pp(0,-4));
picture etape[];
etape1=image(
  trace cc3 cutbefore cc1 cutafter (subpath(length cc2/4,length cc2/2) of cc2);
  trace cc1 cutbefore segment(B,B) cutafter (subpath(length cc6/4,length cc6/2) of cc6);
  trace symetrie(cc1 cutbefore segment(B,B) cutafter (subpath(length cc6/4,length cc6/2) of cc6),A,B);
  trace cc6 cutbefore cc7 cutafter cc7;
  trace cc7 cutbefore (subpath(length cc6/4,length cc6/2) of cc6) cutafter demidroite(A,C);
  trace symetrie(cc7 cutbefore (subpath(length cc6/4,length cc6/2) of cc6) cutafter demidroite(A,C),A,C);
  );
etape2=image(
  trace etape1;
  trace cc13 cutbefore cc7 cutafter cc7;
  trace cc12 cutbefore (subpath(length cc7/2,3*length cc7/4) of cc7);
  trace cc10 cutafter segment(In4,In4);
  trace symetrie(cc10 cutafter segment(In4,In4),A,B);
  trace cc5 cutbefore cc8 cutafter (subpath(length cc14/4,length cc14/2) of cc14);
  trace symetrie(cc5 cutbefore cc8 cutafter (subpath(length cc14/4,length cc14/2) of cc14),A,B);
  trace cc14 cutbefore cc5 cutafter cc8;
  trace symetrie(cc14 cutbefore cc5 cutafter cc8,A,B);
  trace cc16 cutbefore cc8 cutafter (subpath(length cc14/4,3*length cc14/4) of cc14);
  trace symetrie(cc16 cutbefore cc8 cutafter (subpath(length cc14/4,3*length cc14/4) of cc14),A,B);
  );
etape3=image(
  trace etape2;
  trace cc21 cutbefore (subpath(length cc8/2,3*length cc8/4) of cc8) cutafter (subpath(length cc7/4,length cc7/2) of cc7);
  trace symetrie(cc21 cutbefore (subpath(length cc8/2,3*length cc8/4) of cc8) cutafter (subpath(length cc7/4,length cc7/2) of cc7),A,B);
  trace cc19 cutbefore (subpath(length cc18/2,3*length cc18/4) of cc18) cutafter cc21;
  trace symetrie(cc19 cutbefore (subpath(length cc18/2,3*length cc18/4) of cc18) cutafter cc21,A,B);
  trace cc8 cutbefore cc22 cutafter cc21;
  trace symetrie(cc8 cutbefore cc22 cutafter cc21,A,B);
  trace cc18 cutbefore cc8 cutafter (subpath(length cc19/4,length cc19/2) of cc19);
  trace symetrie(cc18 cutbefore cc8 cutafter (subpath(length cc19/4,length cc19/2) of cc19),A,B);
  trace cc22 cutbefore cc6 cutafter cc10;
  trace symetrie(cc22 cutbefore cc6 cutafter cc10,A,B);
  trace cc23 cutbefore cc6 cutafter cc10;
  trace symetrie(cc23 cutbefore cc6 cutafter cc10,A,B);
  trace cc24 cutbefore (subpath(length cc7/2,length cc7) of cc7);
  trace symetrie(cc24 cutbefore (subpath(length cc7/2,length cc7) of cc7),A,B);
  remplis buildcycle(subpath(length cc8/4,3*length cc8/4) of cc8,cc18,subpath(length cc19/4,3*length cc19/4) of cc19);
  remplis symetrie(buildcycle(subpath(length cc8/4,3*length cc8/4) of cc8,cc18,subpath(length cc19/4,3*length cc19/4) of cc19),A,B);
  );
trace etape3;
fin;
figure(0,0,14u,11u);
trace etape3;
fin;
end