%\begin{center}
\begin{texdraw}

\drawdim in \linewd 0.015 \setunitscale 0.25
%0.45

\arrowheadsize l:0.25 w:0.13 \arrowheadtype t:F


\def\rrect [#1][#2][#3][#4][#5]{\bsegment

\textref h:C v:C
\htext (0 -#4){\scriptsize{#5}}
\rmove (0 #4)

\rlvec (-#1 0)
\rmove (0 -#2)
\larc r:#2 sd:90 ed:180
\rmove (-#2 0)
\rlvec (0 -#3)
\rmove (#2 0)
\larc r:#2 sd:180 ed:270
\rmove (0 -#2)
\rlvec (#1 0) \rlvec (#1 0)
\rmove (0 #2)
\larc r:#2 sd:270 ed:360
\rmove (#2 0)
\rlvec (0 #3)
\rmove (-#2 0)
\larc r:#2 sd:0 ed:90
\rmove (0 #2)
\rlvec (-#1 0)	
\savecurrpos (*ex *ey)
\esegment
\move (*ex *ey)}


\def\ellipse [#1][#2][#3]{\bsegment

\textref h:C v:C
\htext (0 -0.01){\scriptsize{#3}}
\rmove (0 0.01)

\lellip rx:#1 ry:#2
\savecurrpos (*ex *ey)
\esegment
\move (*ex *ey)}

\def\block [#1][#2]{\bsegment

\rmove (0.2 -0.03) \ravec (0 -#2) \rmove (0 #2) \rmove (-0.2 0.03)

\rmove (0.2 0.7)
\rrect [0.15][0.05][0.6][0.35][10]
\rlvec (0 0.2)
\rmove (0 0.25)
\ellipse [0.4][0.25][8]
\rmove (0.4 0)
\rmove (0.5 0)
\ravec (-0.5 0)
\rmove (0.5 0)
\ravec (0 -0.32)
\rmove (0 -0.2)
\ellipse [0.4][0.2][9]
\rmove (0 -0.2)
\rlvec (0 -#1)
\rlvec (-0.7 0)

\esegment
}


\def\dblock [#1][#2]{\bsegment

\rmove (0.2 -0.03) \ravec (0 -#2) \rmove (0 #2) \rmove (-0.2 0.03)

\rmove (0.2 0.7)
\rrect [0.15][0.05][0.6][0.35][10]
\rlvec (0 0.2)
\rmove (0 0.25)
\ellipse [0.4][0.25][8]
\rmove (0.4 0)
\rmove (0.5 0)
\ravec (-0.5 0)
\rmove (0.5 0)
\ravec (0 -0.32)
\rmove (0 -0.2)
\ellipse [0.4][0.2][9]
\rmove (0 -0.2)
\rlvec (0 -#1)
\rlvec (-0.7 0)
\rmove (0 -0.28)
\rmove (0.3 0)
\ravec (-0.3 0) \rmove (0.3 0) \ravec (0.3 0) \rmove (0.62 0.2) \rrect [0.5][0.1][0.2][0.2][11]

\esegment
}

\def\user {\bsegment

\rrect [0.15][0.05][0.6][0.35][]
\rmove (0 -0.2)
\fcir f:0 r:0.05 
\rlvec (0 -0.25)
\rlvec (-0.1 -0.1)
\rmove (0.2 0)
\rlvec (-0.1 0.1)
\rmove (0 0.17)
\rlvec (-0.1 -0.1)
\rmove (0.2 0)
\rlvec (-0.1 0.1)

\textref h:C v:L
\rmove (0.7 -0.1)
\htext {\scriptsize{User}}

\esegment
}




\rrect [3.5][0.2][0.3][0.35][1]
\rmove (-1.3 -3.6)
\ellipse [0.7][0.7][12]

\rmove (0 -0.7) \rmove (0 -0.6) \ravec (0 0.6) \rmove (0 -0.6) \rlvec (0.4 0) \rmove (0.75 0) \ellipse [0.75][0.5][19] \rmove (0 -0.5) \rmove (0 -0.9) \ravec (0 0.9) \rmove (0 -0.9) \rlvec (1.23 -0.88) \rmove (-1.23 0.88)  \rmove (0 0.9) \rmove (0 0.5) \rmove (-0.75 0) \rmove (-0.4 0.6) \rmove (0 0.7)
\rmove (-0.49 0.49) \rmove (-0.2 0.53) \block [0.1][0.5] \rmove (0.2 -0.53) \rmove (0.49 -0.49)

\rmove (-2.2 0)
\ellipse [0.7][0.7][7]

\rmove (-0.7 0) \ravec (-1.3 0) \ravec (1.3 0) \rmove (0.7 0)
\rmove (0 -1.2) \rmove (0 -0.8) \ellipse [1.6][0.8][18] \rmove (1.6 0) \rmove (2.45 -1.75) \ravec (-2.45 1.75) \rmove (-1.6 0)  \rmove (0 0.8) \ravec (0 0.5) \rmove (0 0.7)

\rmove (0.7 0) \ravec (0.8 0)
\rmove (1.4 0) \ravec (0.4 0)
\rmove (1.1 0)
\ellipse [1.1][0.7][13]

\rmove (0 -0.7) \rmove (0 -1.2) \ravec (0 1.2) \rmove (0 -1.2) \rlvec (0.2 0) \rmove (0.7 0) \ellipse [0.7][0.45][20] \rmove (0 -0.45) \rmove (0 -1.2) \ravec (0 1.2) \rmove (0 0.45) \rmove (-0.9 0) \rmove (0 1.2) \rmove (0 0.7)
\rmove (-0.49 0.49) \rmove (-0.2 0.53) \dblock [0.1][0.38] \rmove (0.2 -0.53) \rmove (0.49 -0.49)

\rmove (1.1 0) \ravec (0.4 0)
\rmove (0.5 0.4)
\rrect [0.5][0][0.8][0.4][14]

\rmove (0 1.1) \user \ravec (0 1.4) \rmove (0 -1.4) \rmove (0 -0.71) \ravec (0 -0.38) \rmove (0 0.38) \rmove (0 0.71)  \rmove (0 -1.1)
\rmove (0 -0.8) \rmove (0 -0.9) \rlvec (0.4 0) \rmove (0.75 0) \ellipse [0.75][0.5][21] \rmove (0 -1.2) \rmove (-1.6 -1.15) \rlvec (1.6 1.15) \ravec (0 0.7) \rmove (0 0.5)  \rmove (-0.75 0) \rmove (-0.4 0)  \ravec (0 0.9) \rmove (0 0.8)

\rmove (0.5 -0.4)
\ravec (0.4 0)
\rmove (0.5 0)
\ellipse [0.5][0.4][15]
\rmove (0.5 0) \ravec (0.5 0)
\rmove (0.75 0)
\ellipse [0.75][0.5][16]

\rmove (-0.49 0.49) \rmove (-0.2 0.53) \block [0.1][0.6] \rmove (0.2 -0.53) \rmove (0.49 -0.49)

\rmove (0 -0.5)
\rlvec (0 -3.5)
\ravec (-3.2 0)
\rmove (-1.25 0)
\ellipse [1.25][0.45][17]

\rmove (0.5 -0.8) \rrect [0.15][0.05][0.6][0.35][10] \ravec (0 0.4)  \rmove (-0.5 0.4)

\rmove (-1.25 0)
\ravec (-0.5 0)
\rmove (-0.9 0.45)
\rrect [0.9][0][0.9][0.45][]
\rmove (0 -0.1)
\rrect [0.8][0][0.7][0.35][22]
\rmove (-0.9 -0.35)
\rlvec (-6.3 0)
\rlvec (0 4.3)
\ravec (0.9 0)
\rmove (0.95 0)
\ellipse [0.95][1.05][]
\rmove (0 1.05) \rmove (0 0.5)
\rmove (0 0.3)
\ellipse [0.5][0.3][2]
\rmove (0 -0.3)
\ravec (0 -0.5)
\rmove (0 -2.1)
\rmove (0 -0.4) \ravec (0 0.4)
\rmove (0 -0.4) \rlvec (0.5 0) \rmove (0.7 0) \ellipse [0.7][0.25][6]
\rmove (-2 0)
\rmove (0 -0.3)
\ellipse [0.55][0.3][5]
\rmove (0 0.3)
\ravec (0 0.9)
\rmove (0.35 0.45) \ellipse [0.3][0.45][4]
\rmove (0.7 0.5)\ellipse [0.45][0.3][3]

\move (-4.55 -2.1) \user \rmove (-0.2 -0.35) \ravec (-1.1 0) \rmove (1.3 0.35) \rmove (0.2 -0.7) \ravec (0.33 -0.33) \rmove (-0.33 0.33) \rmove (-0.2 0.7)  \rlvec (0 0.5) \rlvec (1.5 0) \ravec (0 0.9)

\end{texdraw}
%\end{center}
