Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » UML2 Tools » Uni / Bi Directional Associations 3x different
Uni / Bi Directional Associations 3x different [message #473317] Sun, 17 February 2008 18:45 Go to next message
Stefan Kuhn is currently offline Stefan Kuhn
Messages: 355
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------080405060006050406010808
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

hi all,

I got confused with the properties when I played with eclipse-UML2
Associations. I did following:

created "quelle" (source) and "senke" (target) 2 times, once connected
them with an unidirectional association and once with a bi-Assoc.

I did this with:
1) Example code (from
uml2/docs/articles/Getting_Started_with_UML2/article.html , attached).
2) UML2 Tools
3) Topcased UML

Guess what? right- every approach did something different!
1) Example Code: each class gets a property
2) UML2 Tools: The source of a uni-directional gets a property, all
others are in the associations.
3) Topcased: All properties are in the associations

So, what's the proper way, whats the standard? Why can everyone do it
different with the same meta-model?

Pictures and Code attached,
-stefan

--------------080405060006050406010808
Content-Type: image/png;
name="CodeUML.png"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="CodeUML.png"

iVBORw0KGgoAAAANSUhEUgAAAW0AAAEwCAIAAADzc7dcAAAAAXNSR0IArs4c 6QAAAAZiS0dE
AP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gCERIe EpiGbvEAACAA
SURBVHja7Z13WBTH/8dnr9M7iijYAkRRY0FFo2LBmFiiMRpRrIk9AY1KikaI JVgwKmok+kvs
LbaIX7soiohCFJQOpwiiKEXpd1zZ+f1xcB53u3t7iAj6eT378NzOzc7OzM6+ d2b2mDeBMUYA
AACvAQeqAAAA0BEAAEBHAAAAHQEA4D2HV7fDzmzuTxk+3P861CkAgI6wxXve Va2QzPPfndnc
H6QEAGBcwwoFJkiMtTaBiU2btu50XRUGCIKoWzZe3N/l2d6ezxcNCklqsCoL cbcdevhBU7zY
TTfnTassbyhvem+TOt9H9ZAsrhNJt3dVSOXuX8yukMrV26NbGzMiliWFzzkW 4mVQamyyQRln
jqPZjP+78CAr6+nLKtwgyMruiPimqZVy3NRQ57w0eyVC6KFEof5KFZJXpVTV s7HtqCry1YHy
ytQWQq46gu7hlBerXhob3SGveRXq3OwbIG+vk+16KVfdkuW5ublRXvJ9+/Z5 eHhQfvXZuXvn
cp3QveuoQ1eTvdcRQp+2tDkyoKN1p28RQgSBEtM/aRjh3/OsvGi6txGHaLBH zcMjC807rXMz
4jW5B7g652X6YrpJz0859ejw6Naq3digCSX2zujxQ/bnysrKUn0of7q1U98N sRkP7Pic9+Qq
NN0W8lr07t07NjZWrSuxsbFaIboIfz/xb0rWpHP/oWVhqg/C308UV8irt3L5 3jWD6YTt9OYl
3dra8QUmHiMXPK1Sagle8qZpHVo3F/I4AmOrroN8zuWUUz7fdAMxxkpZ3rJJ g2xNBaY2rSct
3avUOOmFsKW9XJrzOdzp6S8QQpG7Vw7o5CTiCRxc+/5x49nNfb/1d3cS8QSO HQYeySzRzK3L
tCitIsx3NPO9/pQyZVJZuWXhl07WpgJjq37jFudIq5/Y6cdW9nRx4HP59m06 z1wZqQpkyC3l
o0DrXJiUH1w5s2MrWz5P6OjWy3/9VYwxXQa0cq63P5KybZDIamiFksQYyyvT HIW8ddeXGNQf
oUyZIYeUVcTQl9G8CnWoScq2xNwy2SRC2ULYNDa6ImBSuvPHSa1tTPhGlh6f TFGfiK4a6ToO
DKVgkz1WwwVN4WAjIhhj4bojk87957jnqvsXs1UfhOuOFJXK1Ntfq73pytN1 3JKLsYlJt894
2xm5zYzQymjatqVb9v4bn5KZmXI3bFFfizb+qnDV8y2rBt1AjPHe0a2t3Hyv xKfFRx7qYSYY
FpqsTvyjsQvPxdzLysoqkCkRQk79fPaeic7ISD24YgiHa+roOWHf2ZsZGakH Ar0s2y9V55bL
5X4444Zm/isLT/CErYrkSsqUz85xt+406ezN+5mpd0NmuLcbfwpjLCtPMOdx ZvxxOj0zLeJY
2ORRYapjGXJLd8k1z3X5ew+RVa+/zsZkZCSf2rXmk56BGGPKDOjmXK+OKOVF PcwEow+JMcY3
f/ioeZ9NmhFeR0cMqiLKi657FQytScpk9bZMNolQthA2jY2uCFcWdBVZ991/ KVackXL+8Bb1
2ekudB10hE32WOmIWj62bt3KRkTcv5gtXLIJLQtz/2K2akPLwoRLNrl/MTu/ uEq1bV8xVG95
HoV/IjTvw5BRpbyA4IiYB2nqQIU0x4hDBGa+VO1m7htgZDuGrhLVeq+QZhME ob4h5JJMDs+K
oex3ln7kPPxfyiwpZflWPM7B5xXqpPgmnTDGZU82IYQuFkk00zEot5TnsuZz Zt189ioeKafL
gG7O9eoIxjjtT2+hxYCisrSWIsH/5ZTVi44YVEUMF12zLHWoScpkWbZM5kQo W4jexkZXBFJe
1EzA1bzKNf1u2gtdBx1hcy+w1RGVlLi6uuoVker+SM1wxv2L2dXjmmVhT19U qba8F1WbA4fp
LU9JdhBBEBJlrXBpUULwohn9unds2dzWzMRY72VTB5bnhSGE0momt0oeLSMI nmqykKEpYEwy
7mpBDrMW/ZT6gjKpimf/hxASakAQHIwxqSgZ3spUaO365bRvN+0OL1GQdcut Znh53k6EUGJF
rZk8ugzo5rw0ZxW1jshe6Qgpf9nLXOgy1LFF/21ackCpI5rnpdMRg6qI/qLX KkvdrjuzjlC2
THY6wtRC6BobXREqnv2FELpfLtNKjeFC10FH2NwLrOZZVQM8Dw+PhIQEkUjE ak6lSno0uygy
v+xJh66qD6hKSpIab4VJ/ZNqmJQgQsDTmCHFypJhrp5pLmOCFq5wa9PK2sK0 s3uH15j5YfN/
zATjbi3KsjdcVXQ57WpFUxwFQuhM7B1HAbdWilzzcHHmyb0HLkVe3zh/7Jqd v+Td+IU5t5g5
HwghROq+safLgG7OCa45QqhUSSJUHZNUFhMEx5z76rQEz3Lv715uMy/vyZ3K pq4TEhJYXPHX
rCL9V8HwmtTfMtknoi9v7BsbRghhsgohJNJ5h8BwoZlvBqL+7oX6ee/76d+n hAvXCReuQ8vC
VB8+/ftUdr5UvQX/PEKvLiZt6mXSfIZmePnT7QihO2UyyvgiDvFSTjKPa5Zl aHYOR+vtmurd
1eTypPYfzr1BF1lRlWvK5fjffq45MlNNlan3i5L9CYIrJZlya8XjpL96Zaik HtdUPTHjcuZq
nouU02ZAJ+dySSafQyy+V/jqWmzuJbLy1joRqSi5fuO+breizuMag6qI7qJr laUONUmZLF3L
NCgR5hZCt0tXBHllOo8gfssq0Y5Pf6HpWi+bRsW628I4rjGUSxdPZj2Xun8x O+u5VGt7+Ey6
8oeRdDoSeuRyulgcHf5HWyOez0GxZkblFUnmPM6EzSfTH4jjb5wJmPSxZgF8 7U1GrzuamJJ8
/dwRypLvHuls6TrpSnxawvUjPcwE3puSXlNHNOdZSWVlRxP+zrxyhmNPzugg tPQIO3U980F6
1JkD33zygWoQ0dtnyemou+KMpB0LuxrbjWbO7XJXq14Bu9PE4lvnD00d2Jru Wp6Y6iay+Xjv
hdticdr5A78P7xNElwHKnO8c7mTSYtjRq/89fJgZeWJLeyOe1293GRqNro4c jbgWVUP0zXiW
86wGVZHuRacsi6E1SdmW6Fom+0TYtBC6XboirOvdzLbb7Kj76Ymxl36a2FMd n7IaGVovy0b1
FnRk+ZJR4jwJ3Ra4eBSdjkwb1sNcxDO1bTdr7WndHKcdCerSyorDFTi59/t1 93XNAjyP2dar
nR2Xw7Nr5Uo901n15CcfL2tjgbGVk8+PuxR16oBoDYDV730L4r8ztp/APOwk leVhP052bWHJ
4fBsWnWY6LcKYywrj5871svBwojLN3bzHH0yo4Q5t2U54cO6OPG5/BZunoF/ X6W7lqSidMui
CR84WHK5fEe33os3XqPLAGXOlbK81bNHtbIxJQiudcsPv/71gIKxR6arI5oI TLuxfu9rQBXp
XnTqshhYk5Rtia5lsk+ETQuh26Urgqzs3owhXYz4PNvWXRb+fkrjvS9FNTK0 XpaN6nV0hKjb
emjLFo9BhCp91c9mVSdDBIEQJhDCq0L+pfyBbRNdfu3woJYbh5+/vcgdcv5O luX1W+a7VM91
qcCGvLGbqI6QsjwHs9ZH8ku9LISQ83eyLK/ZMt+legYdAQBome+BjgAA8E4C 66EBAAA6AgAA
6AgAAKAjAACAjgAAAICOAAAAOgIAAOgIAACgIwAAAKAjAAC8Td746vht5u7R DczaPrVR1QL8
ewVUF9DY+yNZ26dqbvWYclnOKoIgCILgcHiWzduOnvVrllT5DtylJnafyzTu U4UkzVHEIwji
mYykO6pYPJ8giPhyeSOsrjfk8wY0yf5IXFzc5MmT6b5l8M3S7ZK8TidFWpB0 JsN+bF97dcj1
NHErAXqWGbvi61meA/nPYn5ubLX8Z3jczFEe7DW7Dk5U5q1XZmUtaWHC15t4 468uoOlh0DJo
ugY3ei1vWs/ZnfC0WO/Wes5u/Yt9ZsUEzR5lyeeN2ZlOaaHw7PZXBMF9LlMy WGpROkip60Eu
yRzVyqzTtD9JphSqdv4wsbWNCYdv7NpzmJBDMLsTYYw72IrsOg5Zvz9CSrKy QWR2oqI80cvM
eQihu2UyVQpX//q1n3srIU/g1PmTU9llDVBdDOZMdW5vQFPB4OtqqG+WSkee lmHmjVlHCpIu
LZ40SMQz8Z4ccDmpQGvZPo0bYzzBERbJSQZLLUoHKVX7JhXF83vYOQ9fobrb 6VK4FtBTZN1n
38VYcUZi+J4QpM+dSGXjcOrPX/u2szBr3Tsw7FSxgmTWEWYnKsoTaemI8wDf /WdvZmam7PnJ
08pleQNUF13x6SyjgPdaRwz1zXpNHXkUc2L2KA++qNmEBWvu5FZQLv/5UKLA mMxLuzbG2cxx
0DYGSy1KB6maG0Oxfkxb+57zX8hJhhRU7kQzDXEn0jxX1NEtI3q0NLJz/379 /qc0S64jRicq
uhNp6Yja30hekczhW7/p6mIuPnRDQEdopYSlb5ZKR4oqMfNGpyNCDiEw7XAw sYhhGWGhUCjg
cwgO32P0AnHNzUlpqUXpIKVq6EcX9Baa93mkMRihTKHi2d8IoXuGuBPp3KaS rd94IIS6/5bA
oCN0TlR0J9LSEc3zqXffXHUxFx905J2nju99DfPNQohb1wn7/MyokODgOd1a 7vxyTkBAwLCP
muvGORN7p6VIaO3gbGdWPctIb6lF0r2jmnPNQVgZvv7fh1u/+oAhBUxWIoSM udppsHEnIuVF
J3dsWrd+s9io+5o9l/x8uzC946BxojLcBonTENVVJ3Mm4D2dZ60Dqv5IWRVm 3pjnRyqfxq9d
8JW9gNd56NQDEcl08yNq6Cy1KB2kVN/mVinT9s3i8Cy2xxcypCCvSOESxNrs UvbuRBhjWemD
HSvmuVgKHbuP2Hr8pkLfPGuNuQSFExXdiej7I1irP/Imqou5+JQeZgCMawzT EZab3qSqijO2
LZ3hbMIfUGMURHdjMFhqUTpIqb8NX+zJN3G/WiBhSGFVNzs7j3nRielJ/10J nN4f6XMnwhg3
E3I/6D9h94X7rC6JPgcZyhO9jo68fnUxF5/SwwwAHXmbKCpzL98tYr4xML2l FqWD1Ksbj5QH
DXE0cx6TLVXQpVBVcmfaoE5GPI6ZfbtZq48QXKPqQ2nciTDGR288NOCS6NMR yhO9jo7US3Ux
FJ/Swwx4l4AfOL8WisoU81aLK4vOQlUA8HtWwJCp3+jtZ/Pbe3RsK5AX/RM8 xe3r3VAnAOgI
YBhVxYmr5i999LxYaNly6FffRQb3gjoB3nNgXAMAwOsC648AAAA6AgAA6AgA AE0dYsmS76EW
AACA/ggAAKAjAACAjgAA8D7TGH+HJu/4xaPcUoQIhDBGBIEQJpBq4QH1j13a tDTjJ5+A6wcA
oCPUZD0uDZ3VnznOdzuuucLVAwDQETpIJSnUuxwOCT/DBYDGQiOdH+FxOcxb vZ9x3boNTf1a
qovwDpQFgP5IvejIm3JOEli09f50oLtLG0tjQVXZy+wHqXE3ryTllL53V57g 2LXpvWTO2MAf
F0ugcwc0Wh0pKnoRHR1D923fvp42NtZ03/Lrr8fBM2n+oV154qNyhJDAotP3 AVOUmdHh+y8U
lMhMbBw6eXw8zqdr0tpr9Vv23h1a3U553JjvzuDgdVwO2NwBjV5HbGys+/b1 vHcvcfv27Wqr
vbi4uLlz53bp0olBRBDGfH39EZLFI1Ro5dx/4OCPPT58cHKdSkcGzhwvzL+6 cs9Z1dGFRfnZ
GfduONXKSbOPJ/j2c7OxMCWU0mfZaef/+Se9WIYQsuvkPWFYnxY2JpLi/OS4 k8cjHtAFIoT6
jvv2k/KHkVciohPECr05Jbi9PvUZ1LOjhYDMf5Jl6+T28w+LVcOTgIBFmsMW 1S5B8D1HTPTq
7mrGJ3NSbx86fKZYQe3XyRBz4+/r+KY9/ecMhHsAaOzjGhsb6y5dOs2dO1cl JaxEBCGMSb2P
SublDkyauXgNGty3i1NWQvS+TUfEzysQQlxBq0F2RjEbr2lJUHHOi1oKpSyJ uXDsUe6zKiT8
oOeYSXM+W77mX66gxXeTPkk89ffhjEKLFu16dLdH6AFloCqR31cGfejRz2vo 9CHDnl+/GhEV
myKlF752w/1G9ZAf2/9HTrHM3sl1uvOHzGV3HbNgaOunh3dtKZBwOg6YOPur h2sPJBsaMz8/
X1BVDjcA0DTmR9RSMn369F27dukVERWjgsIRIjBCBMKqD9UPWIQwwgS99bSV U6eBgwZ7uFgm
xlzfFvzXkxLZq7GS8YcEQSQUS5lPXRBzrqDm84uzu8b0W47Qv1xROxGHSLiX UVCpKCjKFyci
hBBlYLXMkZKU2xdTYi+3du8zcODYXz75LCYy4np0QqlOx4HgGE/q2+LO9hXx OWUIoaLC52jC
54x9F1Ofns1OrtqcVi5DCN04uevToGkIJb9OTABo7DqilpItW7Ywz4locuDH z5gj+K49Rxm+
ZP5UQp5/JHRdwrNK3V4+qxoxbtFvUD+3tk7WFmYiIZ8geAgheXlcavGn0wMW paZkZD3I+C8+
RUpiysDavSbyUeKNXUm3+oz9dvTwSW05z0KvPtU5XSdTLudmXgXbC2bU0YhD jP955fiaEA6X
+5oxAaAJ6IhKSoYPH8Z98+14xdpt/QcN/sJ/ea/EmMjIK+lPy9RfySXpCA39 yFL06BntTUtw
RF8v8bMvTLwUdT7/RXGlVPb9ogCEECalu9cGu3fv/kG7tv3GTB3Y69LKPy5R BtbuEZi49+rn
NaC/jTz37JE/o+8+pTojFyGkpMsPQlg7Pgch9PeWjaVKUs+sC+uYANA0dAQh ZJCI0HU39CJ9
kXXx2P9dvejYd8Cgr75bXvbgTmTk1Xjxc4SQUvooqkjSbYJX+OYzmv0G81ZW pY9fVo99TLu1
M+FvDj78RFb71iZ4WFmWGBuZGBtp3Gx04PdDecQlBaIKxAghxBXa9Og3oH+/ XoKijKund9xK
ekR3KysqM0iMu5gJLr/QHnBJSGzL5xTIyRpJQQghRUWKjMQdeOXheeUaakOV MuuYANBkdMQg
9v/w6esIjbz0SeTpfVGXbHsOGDxs2qJe538Pu/EMIXTpr5NdFk1YMl34v2tx z4qrTKyadeje
p3frtKCa974KyUMpiQf0/PBSSh7f3P4jz8GqcKGF18zPRBE34/PLle17tlVU pigwElpSBKpY
GvijNOdexIFNdzLymAtCKgrP5pQPmjrqweGrEr51936vBnTRRdKvvLsfuf3Q yMbJc2B1OKks
OXQnf9I33+QfCc98VmZm36rHx58c+79gipQZYxoZGQlEfISQSCRCGEkkErgZ gHdNR+oFpbQw
5sKR21fOt7WXV/dWCu+EhJQPG+Y1yneOhbFAVvEyKyP5nwN3X9178mdbDl30 HT5h8QhBSX52
7LWzqOt8hJCiMvUJ9/OxMz425ePC3IyD2w7RBao4uSM48dELlvmM3hlmP2Xi N34BspK8uGv/
Q11mq8Ijdx5qNX3M9/3NKwof3448jNrNU4WnHNsUXv5lvy9mjDETSkoK0pPi 6FJmiPnrr6tU
H34KWoUQ0nzBDACG0hjXQ5N3/EL8sIg5Tvu2Nu/q//tq/WwEAKA/Uhf4ySc+ 1BsJXl8CQKMB
1jECAOBdHNcAAAD9EQAAQEcAAABARwAAaEjAJxwAAOiPAAAAOgIAAOgIAACg IwAAAKAjAACA
jmgTFxcHFwYAQEdei8mTJ4OUAG8UgoAlneq1Phvh70fc3NysrKxCQ0PVbhUM zN8ZxSbNbTP7
1SEnZTmrzJ1/QQgRBNfc3slr1NSNocvaiLgN3OLfnd/4YEXG9Z2uXvNeyklL HvF2dcSwWm00
OW+cNNJ1jEJDQ/38/NhIiVxBhs0ZwBxnzp8G2FxJC5LOZNiP7WuvDrmeJm4l QM8yY1d8Pctz
IP9ZzM+N9nL+GR43c5RHo530EvAFcmWT1MSmm/P3d1yDEPLw8FBJid4BTpWC VGI0feuV6Vuv
TN9yRfvD1itKjGRyJavex6Nbv8753MGx64HUYs3wls6tW7dp13uoz67jw/Nv L8+Xk6oH2sU/
l/V2dRBweTMyXpLyZ7/4DrYzE5rZtvFdto/UeO79LzSgezt7gdC056iFebLq bzAp2fr9OGcb
M6GJdf/xSx5XKdXxNZNVdb+JGhBC4v3eIgtPWU2TJuUFziL+goTCav39un9z d++QA1eqWLR5
giAi/17Rv5OTiC907jIsPKd6GdeUzdM7tnEQ8blCE+tugyeef1yhjn9tzyqv zs5GfGELt4+3
Rz+P2R88oJOzEV/YsuOgf8SlzEVDCN1PSrkTGcAmY67Tb9B9m3F8VS/XFgKe oFnbLrNWXdNb
n5RlVKOQij93Mu88fQeuj5y/v+DGh6urq+rD1q1bXV1dJRIJQ+TxIRcrlXh8 yIVsCdbdxoVc
rFTg8RsuMp+xIOnS4kmDRDwT78kBl5MK1OGl2SsRQg8lCtXus9vjCY6wSE6q usQfjV14LuZe
VlZWgUy5d3RrKzffK/Fp8ZGHepgJhoUmqw5BCHUdt+RibGLS7TPedkZuMyNU 4WfnuFt3mnT2
5v3M1LshM9zbjT+ljq+ZbFZWFkIoqwaMsVySacnjLEosVMV/fH6c0NyziqzO MCl/eerPX/u2
szBr3Tsw7FSxgmQoNULIeYDv/rM3MzNT9vzkaeWyXBWetm3plr3/xqdkZqbc DVvU16KNvzq+
Uz+fvWeiMzJSD64YwuGaOnpO2Hf2ZkZG6oFAL8v2S5mLpqLs8XqE0Es5U8a4 XO6HM25QfiUr
TzDncWb8cTo9My3iWNjkUWF665OyjKqWTyqK5/ewcx6+QkrWT87fWxqvjsTG xvbu3Ts2NpY5
8sjVZ0vleOTqs9kSXCrHpXJcqnj1d+RvZ1V/6Q5/FHNi9igPvqjZhAVr7uRW aH2roSNkXtq1
Mc5mjoO2aTZEFQppjhGHCMx8qdrN3DfAyHaMbrRH4Z8IzftgjJWyfCse5+Dz 6tPJJZl8k066
8elC9g1wdPQ6oPq8ys268xKdKiLlUUe3jOjR0sjO/fv1+5/W6KBuysqaz/KK ZA7fWjeOUl5A
cES68RXSbIIg1OnKJZkcnhVz0erlbix7sgkhdLGo1qOFuT4py4gQwlixfkxb +57zX8jJBsg5
6Mhb0BGWIoIxHhwYXijDg4PCsyW4SIYLZbhQhotUWxUeHBReKMNDAsPpDhdy CIFph4OJRZTf
qnREKBQK+ByCw/cYvUBcc09q3t7leWEIobRKuWq35NEyguCp+gia0UqygwiC kChxxbP/UyWr
hiA47HWkMHExh2/9UKKQvrzM5XDPFNH015SSrd94IIS6/5ZApyOasdW70qKE 4EUz+nXv2LK5
rZmJsTq8dnyScpehaPVyN5KKkuGtTIXWrl9O+3bT7vASBcl8UroyIoSOLugt NO/zSFp9Qd90
zt9tGuk8K8tJVoSQRKaUYySRKnxWnNR5F4UwgRQYVcoUdIfnZ0aFBAfP6dZy 55dzAgIChn3U
XDfOmdg7LUVCawdnOzM++/EiRRApQYSAR6AqUqFK1lFQl1c/Nh2DPY23zAvP Dk4NMG+/7DNr
kVYEUl50csemdes3i426r9lzyc+3C/uZMqwsGebqmeYyJmjhCrc2rawtTDu7 d6CcxKDcxa9X
NP1TJ1zzcHHmyb0HLkVe3zh/7Jqdv+Td+IX1SWvNBs655iCsDF//78OtX33Q ADmH+ZG30x9h
Gbnr4qO5UvxYinMlOFeqsUlwdbgUd1t0lDmRyqfxaxd8ZS/gdR469UBEMt38 CN3DXDWuWZah
Oa4ZrRstaVMvk+YzMMaKqlxTLsf/9nPNRyVd70PEIXSfgXE/dDZ38ve2En15 LqfW9EHpgx0r
5rlYCh27j9h6/KaCuS9a+1yq3fKn2xFCd8pkutEo42vtMhStfp7qpFT9sSjZ nyC4UtKA+tQs
S26VMm3fLA7PYnt8YUPkHMY1DQx7EcEYd/Q/3MH/cEf/wx39ajatz/6HO/od ZpNUVXHGtqUz
nE34AzYlGaQjGOPdI50tXSddiU9LuH6kh5nAuyYFhFDokcvpYnF0+B9tjXg+ B8Wq8JMzOggt
PcJOXc98kB515sA3n3xApyO+9iaj1x1NTEm+fu6IOlBSdIZDEDyRc4GsVltv JuR+0H/C7gv3
WV17qntMXpFkzuNM2Hwy/YE4/saZgEkfG6QjDEXDGL98+fJx8kqE0KPCFy9f vqzDPGtpzqre
PktOR90VZyTtWNjV2G60QfWpW5bwxZ58E/erBZJ6yTnoCFDTuajMvXy3yFAd UVY9+cnHy9pY
YGzl5PPjLoVGtGnDepiLeKa27WatPf3qsaosD/txsmsLSw6HZ9Oqw0S/VXQ6 8jxmW692dlwO
z66Vq2b4LAfTduO154+P3nhowLWnucfSjgR1aWXF4Qqc3Pv9uvu6oTpCVzTd 330xZMxlWhTN
+5r4uWO9HCyMuHxjN8/RJzNKDKpPirKQ8qAhjmbOY7KlitfP+XsLrIfWJH+N qqhMtbVwX5lV
8l1LU6hkAH6HBtSFjL9nKWx8QESAxvK8hP5IE+yPkKNsTUuC46/NdIUaBkBH AACAcQ0AAADo
CAAAoCMAAICOAAAAOgIAAAA6AgAA6AgAAG+bxrhuwMI90Y9ySxEiEMIYEQRC mKj+v3T1j13a
tDTbOLUvXD8AAB2hJutxaeis/sxxvttxDS4eAICO0EIqSaHetWRI+BkuAICO MGeL29ATN03d
JuadsrkBmhqNdJ6VxyWYtzqnXJEbFTBlZPvm1gKewKaly4gp/idv5b2PVx4r Mq5tJwiiWAHq
A7yjOsLncpg39klJC5KOR+erPpfnnuzkMuhUSbtN/1xKTrt/+u/VrrL4r30P 1Xv+/wyPIxv3
hRfwBa5e8+AGAN5dHcGYzyWYN5LF/Iiur9Xaod+Uf7gk+d9NI/p3/6C9W5+h 4zYcvn7vwBea
R9G5QFHaL1EGIgP9qMDYCWj63dvGx4jlp5RKknkbvjycIQVKXytZWSxBWRpT 4QAAIABJREFU
EPPvFzIvMkjpAkVpv0TnyYQN8aMCYycA1lV8I4wMDMcYI0RghAhU/aH6aYwQ RphAiCCI07+O
0j02+9bJ4ODgvy/mjJ2zcMni77o5Gqu/Ks351cI5KKqk6mNzAct5SlJRyBO2 IpWS8qebzRwX
XCySeGuYPFAGas1B3Dgetnbt2ohsy7kBPy7+doKDjsc4ZSKkvMDWuPm2J2U+ 9saqLoax7Rey
8vuqfCoxVnUjFZUpQst+SllRTf4VIV+4rH/yaVr0FisewZBIzSgvxKzVEjC+ Bt7Z/khxhYx5
G7H8lKG+ViWPAhFCN0qqmPsjlC5QlPZLlIGG+lGBsRPwDvCu/S4+PzPqhwlt 5nRrOWji9+cT
nml+JbIaihA6nFPGpKrKkmGunptjpJMWrth//Gz07f+qeytc83Bx5oG1M23k ORvnj3UdsIou
sFZ3Rl50fNsvvdraL79hsmbPpagfKPyoKBNRezIl1JCSkqx3emvONQdh5e31 /z6smWFhmQgA
vC6NdFzDJhrluEaFJC9hy7o1G/443txr0g8/BEwcVO0I9317q31ms/PurtHs yD+Ny27h4awa
11TkhZm2mHunTNbNlF9rvIOrECFUhbxIWWDrvlWiVAgRVSCBEELysoe7N20I +f2vinbeP/38
85wvPGl/V0eVMk/+xNLY6eubeZt62qtFSaUaWuMv9S5BELlVyvJ/5naYfmRb 3IM5H9koZbSJ
wLgGgHEN07iG2deqOGOvg4Db/rN5/16NE4vTYi6f+HnqEJt2G/S6QFHaL9F5 MhnkRwXGTgD4
YDVqHdH1tcIYl2Re+Hb8EGc7Cy6Ha9Gs7XDfBafinul1gaK0X6LzZDLIjwqM nQB4X/NGWLgn
WvywiDlO+7Y28P++AADzIwAAvCPAOkYAAICOAAAAOgIAAOgIAACgIwAAAKAj AACAjgAAADoC
AADoCAAAAOgIAACgIwZy6lZGSUUVXDwAAB2pI3siEkevOhaZmA0XDwBAR+oo ItM2nt69cOTn
vV3g4gEA6EjdRWTq4E6vk07Shl4EQbQbd+FNZ7hYPJ8giPhyOXM0giDqcFQ9 0mAVUkcasWVX
kN8Ujw6tjYU8E0sHr3H+/xW/p8PtN7huQFxc3OTJk+m+3bdvn4eHRwOIiLQg 6UyG/di+6rUF
0eRmpskT3ZN2FL8sSzXhvMElBUnFi5zc0hbOrQWEHh3RvAosj6Ljz/C4maM8 DHo+NFiF1A0B
jyNXYoRQI1wC0tpl0OIl8z77uIugIjvkmwknJRNfpoe+j0LyRldJio2N7d27 d2xsLEMIG3Zf
vo+Gr959+b5BR5VmxQTNHmXJ543Zma4OrHi+h8MzzyjJseNz593NV4enH1vZ 08WBz+Xbt+k8
c2UkQ6BSlrds0iBbU4GpTetJS/cqNUxrDq6c2bGVLZ8ndHTr5b/+6svMeQih u2UyjHHypmkd
WjcX8jgCY6uug3zO5ZTTrUumeRTduRBCV//6tZ97KyFP4NT5k1PZZepcdLAV 2XUcsn5/hJTd
OvB0FUK7gh7NqRkKGLl75YBOTiKewMG17x83nt3c91t/dycRT+DYYeCRTPX6 b5VbFn7pZG0q
MLbqN25xTs2q9xjj1NRUlWUXm6XtGz57al6kzUYI5cuUsK7im5WSBhMRSh8s FbcWuDfz2IEx
PtC/haPXIQYzKjqHqr2jW1u5+V6JT4uPPNTDTDAsNFkVfvl7D5FVr7/OxmRk JJ/ateaTnoGa
ikBpr4UxzsrKQghl1aClI3TnQjRuWAZZcDFUCPONSnlqugIihJz6+ew9E52R kXpwxRAO19TR
c8K+szczMlIPBHpZtl/K7PtlqEXGW8meityIUVyBg+y9tPFoiIU5VfKxdevW BhCRRzEnZo/y
4IuaTViw5k5uha6XzABLoW/UU4xx/n+zuYJmeTIlxrjsySaE0MUiSa22SxWo kOYYcYjAzOqF
kTP3DTCyHYMxVsryrfmcWTefYc0bWkMRamVCXkBwRLprrFavwFxzFN25VIeo n3ryimQO31rH
F0cedXTLiB4tjezcv1+//6lEQVNh1BXCfKPqOXXtAmrGV0izCYJQZ0UuyeTw rFS1Z8XjHHxe
oQ7nm3Sqs440fPZUPkS+Tmau0/4H6zy/WSlxdXVtgJ4Igw8Wxrj4wSqu0LFA rsQYk4rS9ka8
ryJysSE2V+V5YQihtEp59arRj5YRBK+KxOV5OxFCiRVySkXANPZazDpCdy5M 74alc8cwWXAx
VAjzjUp5aroC1o5PUu7Wo2XXW8keJuUbv3Ixaz2GcrwDOlKfSCSSBpgTKXlw 45dvhpvzjQb6
LDwXn6f17YXx7bTmI+w+2lLd4qryju0MmT1plLMJv3nfFXSBVPc2t4rE5Xl/ IoSSaXSEVBR7
2Ro17zMxbP/xyOjY+0kpddURLpWOYF0dUcoKj21d1tPZzNrNa82eS5U0nQyG CmF3o77yFaYr
IHNWVbvlT8MQQpfvJaVqUB860iDZI6tCp3Uxc/7sDo1VI+jIW6NuIqKm8mn8 2gVf2Qt4nYdO
PRCRXDNVVv6hMX/C8cj4Gm6cncvhmqRWyjEpVR9blOxPEFwpiSkDVWONZRma Y43RGGNl1RMz
Lmfu7eeU45ryp9sRQnc0Bjia7VXEITTvEK1xje65mFu/rPTBjhXzXCyFjt1H bD1+k+H5yFQh
Bt6oDAVkc6MqqnJNuRx/zdrDynrUkTeXPaW88JfP21t3nphcLnuffScao478 G5P+OiKiRssH
qyB+PlfoWKTZFpWSDsb8oUceGGRztXuks6XrpCvxaQnXj/QwE3jXmGydmOom svl474XbYnHa
+QO/D+8TpFYEOnstFb72JqPXHU1MSb5+7ojWaIjuXAytn70FF0OFGHqjMhSQ zY2K68+yq4Gz
N62HnXWnr2IyHmRpADrSKCgul/4bk15fqal9sA55OTp6Hdb69tyYNpZtlxpk c6WsevKTj5e1
scDYysnnx12KVzNtpVsWTfjAwZLL5Tu69V688Vqt9zVU9loqnsds69XOjsvh 2bVy1dIRunMx
tH72FlwMFWLojcpQQJY3an1ZdjVw9hr+txSNE/CvAQDgffpdPNBAP01Uloho 6L3qHmQP0IUH
VQBo/06fa5aQkED5lci2DWQPoLgoMK4BAADGNQAAgI4AAAA6AgAA6AgAAADo CAAAoCMAAICO
AAAAOgIAAAA6AgAA6Egt4uLi4MIAAOjIazF58mSQEqABUDsHaVkIAQbXZCP8 /xo3NzcrK6vQ
0FA2Bjfzd0axSXPbzH51yElZzipz518QQgTBNbd38ho1dWPosjYibgO39Xfj f6CC/KacuXw9
+UEuYWTn4T0+ZOe6HpbCt64jqrplVclYkXF9p6vXvEZoo/P2aYRroqhWhGa5 uPzMPyKVJGbe
Zm6PNGAd2fzEYzeqV9ArzV6JELqeJs56KI65cPDTlqbNeq9u6JWmDLlGYadi G617itUHA1fv
OBqfkpEcd2l6FxtLl+/e/ipeNKsZUcLnVmsHm+UdYT20RqEjmLXZzZTQKzIl nhIaMSU0Ysrm
CO0PoREyJZ4aGsHmvLq+WSodeVhj2vDs9lcEwX0uU6pa3oWwpb1cmvM53Onp LxgMq05vXtKt
rR1fYOIxcsHTKmXN+lrUvkpayeqKfua+IULz3lWkej3nfCchzz++2qPHIBMs 1IgtoxBCLtOi
6JeWrdoRMMHZ2pgnMnfvM1zIIfStZkZb2yxjYgPtuEBHGouOYIy3bt3q6urK vND8+JCLlUo8
PuRCtgTrbuNCLlYq8PgNF/WsVErjm6WjI+MJjlC1oClC6KOxC8/F3MvKyiqQ KRkMq7qOW3Ix
NjHp9hlvOyO3mdWKRuerpJWsrkuWXJJpyeMsSixUxX98fpzQ3FMtKwaZYKFG bBnF5XI/nHGD
7tur33c3svn4wOU4cUby//b+jvQtkshQ2yxjGrrcNOhIE+uPjFx9tlSOR64+ my3BpXJcKsel
ild/R/52VvWX7nBm3ywNHSHz0q6NcTZzHLRNt8kyG1a9Olf4J0LzPpjRV0m3 g60bsm+Ao6PX
AdXnVW7WnZfoVBE7EyzUNC2jlPIiewF3dswzvcMT1S6b2tYbE3SkSeoI+/mR wYHhhTI8OCg8
W4KLZLhQhgtluEi1VeHBQeGFMjwkMJzucGbfLJWOCIVCAZ9DcPgeoxeIJQrd JsvSsKokO4gg
CImSyVeJjY4UJi7m8K0fShTSl5e5HO6ZIpr+mj4TLNQ0LaNUp7ivYRXErCNs ahvVtx3X+0Yj
XVfRz8+P5fsaiUwpx0giVfisOKnzLgphAikwqpQp6A7Pz4wKCQ6e063lzi/n BAQEDPuouW6c
M7F3WoqE1g7OdmZ89vPXFEGkBBECHoGqSIUqWUdBXV792HQM9jTeMi88Ozg1 wLz9ss+sRVoR
SHnRyR2b1q3fLDbqvmbPJT/fLux/AYCVJcNcPdNcxgQtXOHWppW1hWln9w6U 7zoodzFz0bBs
y4yey2+1j7x/uJWwjq+9MClDCAkJ2nontOOzrW38etcF3tc0xv4Iy8hdFx/N leLHUpwrwblS
jU2Cq8OluNuio8yJUPpm6c6P0D3MWRpWJW3qZdJ8Bmb0VdK9IlouWSrifuhs 7uTvbSX68lyO
Zjh7EyzcZC2j5JJMHkH8+qBYNydWPE76KxMvpd4saRWtHu24YFzz9jHIBrij /+EO/oc7+h/u
6FezaX32P9zR7zCbpLR8s9jrCGY0rAo9cjldLI4O/6OtEc/noFgVTuerpKsj Wi5ZKiRFZzgE
wRM5F9R+5cHeBAs3bsso5nnWDX2a23T++vq99Pu3zi8Z31196uWuVr0CdqeJ xbfOH5o6sLXe
LOkWrb7suEBH3nfUvlkG6QiDYdW0YT3MRTxT23az1p5+NUtA76ukdSItlyw1 sxxM243Xnj9m
b4KFG7dlFPN7X1l50jdDPzLm82zbdA3YdlGdTllO+LAuTnwuv4WbZ+DfV9lk iWXmsYF2XO8b
sF58k/w1qqIy1dbCfWVWyXctTaGS35mf/DZd4P99myQZf89S2PiAiACNRcpB yJvgo5IcZWta
Ehx/baYr1DD0R0BHAACAcQ0AAADoCAAAoCMAAICOAAAAOgIAAAA6AgAA6AgA AG+bxrhuwMI9
0Y9ySxEiEMIYEQRCmKj+Z3D1j13atDTbOLUvXD8AAB2hJutxaeis/sxxvttx DS4eAICO0EIq
SaHehWRI+BkuAICOMGeL29ATN+/A/2gY5sYCAPVHI51n5XEJ5q3OKVfkRgVM Gdm+ubWAJ7Bp
6TJiiv/JW3nv21UP8pvi0aG1sZBnYungNc7/v+IquBOARqojcXFxbvQwO2/y uRzmjX02pAVJ
x6PzVZ/Lc092chl0qqTdpn8uJafdP/33aldZ/Ne+h+q97H+Gx5GN+KqHns8d szDkZkJq3OV9
bTMPePdaAncC8Fq86RUStZZ9Z7MQ/MjA0zK5knkbEXha79l1fa2WfWht1+0n reU1c25laa6I
RecClX5sZU8XBz6Xb9+m88yVkQyB2EA/qrfi6qRGryUVALz9dRU1hYOlm8SI 5aeUSpJ5G748
nCEFSl8rWVksQRDz7xcyLzJI6QIlK08w53Fm/HE6PTMt4ljY5FFhdIE15goG +FG9LVcnFXot
qQCgUayrGBcX5+fn5+vru3//fjZuEiMDwzHGCBEYIQJVf6ieSkQII0wgRBDE 6V9H6R6bfetk
cHDw3xdzxs5ZuGTxd90cjdVfleb8auEcFFVS9bG5gOU8K6ko5AlbkUpJ+dPN Zo4LLhZJvDVM
HigDa3f2FDeOh61duzYi23JuwI+Lv53goOMxTipeOJjYj7n2JKx3M+bpUtUu KS+wNW6+7UmZ
j70xQkghFRvbfiErv697IEPMVxlUlk5p2zJu0KG0XcOhbw400nGNZq+EvZvE iOWniitkzNuI
5acoj2XwtSp5FIgQulFSxdwfoXSBIhUlw1uZCq1dv5z27abd4SUKki6QAkY/ qrfo6vT6llQA
oKKB3td4eHgkJCSw8bV6TfIzo36Y0GZOt5aDJn5/PuGZ5lciq6EIocM5ZUyq qiwZ5uq5OUY6
aeGK/cfPRt/+r7ovwDUPF2ceWDvTRp6zcf5Y1wGr6AJr9TXkRce3/dKrrf3y GyZr9lyK+oHC
j0qvq5NO/GqvpoQaUlKSqY9ljollW2b0WH6rfeS9ultSAUD1DdIIf2gwMjCc TTTKcY0KSV7C
lnVrNvxxvLnXpB9+CJg4qNoR7vv2VvvMZufdXcPTuG+fxmW38HBWjQUq8sJM W8y9UybrZsqv
NcrAVYgQqkJepCywdd8qUSqEiCqQQAghednD3Zs2hPz+V0U7759+/nnOF550 d6pCKjYydvlF
/HJ5WwutcY01n3urtMrFSPUbH5IguBhjpeyJpbHT1zfzNvW0V+uV6r2b1riG ISapKAr6sve2
rJ5RN3d3MOHDbQA0jXGNQbzOuIbZ16o4Y6+DgNv+s3n/Xo0Ti9NiLp/4eeoQ m3Yb9LpAleas
6u2z5HTUXXFG0o6FXY3tRtMF1sGPquFdnQyypAKAt/++5i3qiK6vFca4JPPC t+OHONtZcDlc
i2Zth/suOBX3TK8LlKw8fu5YLwcLIy7f2M1z9MmMErrAOvhRNbyrU1N5ogDw vqbuLNwTLX5Y
xBynfVubd/X/feFX7QDMjwCgI8B7B6xjBAAA9EcAAID+CAAAoCMAAICOAAAA gI4AAAA6AgAA
6AgAAKAjAAAAoCMAAICOAAAAOlK/MC8lDwAA6Ih+Jk+eDFICvFEIgoBKqM/6 bIT/X+Pm5mZl
ZcVmRWiE0PydUWzS3DazXx1yUpazytz5F4QQQXDN7Z28Rk3dGLqsjYjbwC3+ 3fgfqJXf+f57
6Xpq1lNSYNWpt/fSLdtHu1m8RR1hX6tBflPOXL6e/CCXMLLz8B4fsnNdD0sh aEctGuGaKKoV
odk4VGCMZ/4RqSQx8zZzeyT7s0vyE4/deK76XJq9EiF0PU2c9VAcc+Hgpy1N m/Ve3dArTRly
jcJOxTZaH5puw6bv+OdcUro45e61Rd6OQnNP+dszuzCoVq0+GLh6x9H4lIzk uEvTu9hYunwH
Cxc1gfXQXF1dMWuzmymhV2RKPCU0YkpoxJTNEdofQiNkSjw1NILNeXV9s1Q6 8lBSvZz6s9tf
EQT3uUypaogXwpb2cmnO53Cnp79QyvKWTRpkayowtWk9aelepUZ7Pb15Sbe2 dnyBicfIBU+r
lDUrldF6WWkmqyv6mfuGCM17V9XcgUpZvpOQ5x9f7dFjkP8WQujqX7/2c28l 5AmcOn9yKrtM
FU7nBIYQity9ckAnJxFP4ODa948bz27u+62/u5OIJ3DsMPBIZglz0TR5mTmX ILh5NOZbCCGX
aVF02ab0HmOoT8oyqnVELskc1cqs07Q/SbANeyd1BGO8detWV1dXiUTCEHl8 yMVKJR4fciFb
gnW3cSEXKxV4/IaLzGek9M2i0pHxBEdYJCdVDfGjsQvPxdzLysoqkCn3jm5t 5eZ7JT4tPvJQ
DzPBsNBkdXvtOm7JxdjEpNtnvO2M3GZWKxqDl5VmsllZWQghzSVU5ZJMSx5n UWK1m9fj8+OE
5p5qWTHIfwsh5DzAd//Zm5mZKXt+8rRyWV69siSVE5gqvlM/n71nojMyUg+u GMLhmjp6Tth3
9mZGRuqBQC/L9kuZi6amOPf+j0Mcu39zgC5jXC73wxk3aNagpPYeY6hPyjKi ajuR4vk97JyH
r1DJLtiGvb/9kZGrz5bK8cjVZ7MluFSOS+W4VPHq78jfzqr+0h3+KObE7FEe fFGzCQvW3Mmt
0O6hvNIRMi/t2hhnM8dB23Q7xgppjhGHCMx8qdrN3DfAyHaMbrRH4Z8Izfuo OhFWPM7B5xXq
RyLfpBNdf1s3ZN8AR0ev6ptwlZt15yU6VUTKo45uGdGjpZGd+/fr9z+VKOh0 RP1UlVckc/jW
unGU8gKCI9KNr5BmEwShTlcuyeTwrJiLprpvhUI+QXA+mR9WN8ucsiebEEIX i2o9Wpjrk7KM
CCGMFevHtLXvOf+FnNSb85r8l/g6mblO+x8IR9PQEfbzI4MDwwtleHBQeLYE F8lwoQwXynCR
aqvCg4PCC2V4SCCtiSeDb5ZaR4RCoYDPITh8j9ELxBKF7u1dnheGEEqrrPay Knm0jCB4qj6C
ZrSS7CCCICRKVl5WDDpSmLiYw7d+KFFIX17mcrhnimj6a4z+WzopKxGjE5hO fJJyV5/5ljI1
NTkm4sQEN8uOk/bUoW1Qeo+xrk+lZlmOLugtNO/zqGbwArZhrwOvcc7++vn5 sXxfI5Ep5RhJ
pAqfFSd13kUhTCAFRpUyBd3h+ZlRIcHBc7q13PnlnICAgGEfNdeNcyb2TkuR 0NrB2c6MvdUL
xbsATEoQIeARqKrGocpRUJdXPzYdgz2Nt8wLzw5ODTBvv+wzHVdQUl50csem des3i426r9lz
yc+3C/tfAKicwNJcxgQtXOHWppW1hWln9w6Ubzwod7GeonHc3Dogtw4ux8/Z un9dsMvXjm/Y
Lw9U3mMn9x64FHl94/yxa3b+knfjF8y2Pmuda841B2Fl+Pp/H2796gP9Ocey LTN6Lr/VPvI+
2IY1qfc1LCN3XXw0V4ofS3GuBOdKNTYJrg6X4m6LjjInUvk0fu2Cr+wFvM5D px6ISKabH6F7
mKvGNcsyNMc1o3WjJW3qZdJ8BsZYUZVryuX4336u+aik632IOMRLnRcbcT90 Nnfy97YSfXku
p9b0QemDHSvmuVgKHbuP2Hr8psKQdxaq3fKn2xFCd8pkutEQjW+55i5D0TR5 cm0swTF6WYcX
NqRU/bEo2Z8guFLSgPrULEtulTJt3ywOz2J7fCFzzpXywl8+b2/deWJyuQy6 Hk1mXMNeRDDG
Hf0Pd/A/3NH/cEe/mk3rs//hjn6H2SSl65vFUkcwxrtHOlu6TroSn5Zw/UgP M4F3TQoIodAj
l9PF4ujwP9oa8XwOilXher2s1Pjam4xedzQxJfn6uSPqQEnRGQ5B8ETOBbVf HBjkv0V5j9E5
gbHUEbqileasHjFz6YlLMekPxNFn9/S1FrUZs7sO86x03mMs61O3LOGLPfkm 7lcLJBhsw94x
HXm7aPpmsdcRZdWTn3y8rI0FxlZOPj/uUmhEmzash7mIZ2rbbtba068eq/q8 rNQ8j9nWq50d
l8Oza+WqGT7LwbTdeO35Y4P8t+juMUonMPY6Qlm0qpLoWV96t2thzeNwLZq3 H+cXUihXMmSM
7r0vnfcYy/qkKAspDxriaOY8JluqANuwOgPrxTfJX6MqKlNtLdxXZpV819IU KhmA/68B6kLG
37MUNj4gIgD8fw30R+oMOcrWtCQ4/tpMV6hhAHQEAAAY1wAAAICOAAAAOgIA AOgIAACgIwAA
AKAjAACAjgAA8LZpjOsGLNwT/Si3FCECIYwRQSCEier/S1f/2KVNS7ONU/vC 9QMA0BFqsh6X
hs7qzxznux3X4OIBAOgILaSSFOpd4IeEn+ECAOgIc7a4DT1x09RtYt4Zmxug KdJI51l5XIJ5
q3PKFblRAVNGtm9uLeAJbFq6jJjif/JW3vt21YP8pnh0aG0s5JlYOniN8/+v uAruBKCR6khc
XJwbPczOm3wuh3ljnw1pQdLx6HzV5/Lck51cBp0qabfpn0vJafdP/73aVRb/ te+hei/7n+Fx
ZCO+6qHnc8csDLmZkBp3eV/bzAPevZbAnQC8Fm96hUStZd/ZLAQ/MvC0TK5k 3kYEntZ7dl1f
q2UfWtt1+0lrVdCcW1maC2TRuUBR2i9RBmID/ajA2AmAdRUNkBKWbhIjlp9S KknmbfjycIYU
KH2tZGWxBEHMv1/IvMggpQsUpf0SnScTNsSPCoydAFhXke0Ax8/Pz9fXd//+ /WzcJEYGhmOM
ESIwQgSq/lA9m4gQRphAiCCI07+O0j02+9bJ4ODgvy/mjJ2zcMni77o5Gqu/ Ks351cI5KKqk
6mNzAct5SlJRyBO2IpWS8qebzRwXXCySeGuYPFAG1u7sKW4cD1u7dm1EtuXc gB8XfzvBQcdj
nDIRUl5ga9x825MyH3tjhJBCKja2/UJWfl+VTyXGqnGdojJFaNlPKSuqyb8i 5AuX9U8+TYve
YsUjGBJ5lUFl6ZS2LeMGHUrbNRz65kAjHddo9krYu0mMWH6quELGvI1Yfory WAZfq5JHgQih
GyVVzP0RShcoSvslykAKGP2owNgJgHGNATDb9NaXjpQ8uPHLN8PN+UYDfRae i8+rZStREo0Q
+jaRaVxDKoq9bI2a95kYtv94ZHTs/aQU9Y2qrMo7tjNk9qRRzib85n1XMAS+ ustlhce2Luvp
bGbt5rVmz6VKmikI3UTKn4YhhC7fS0rVQO8C6DZdx5jzuPMPZ6hCGBLBGGOy KnRaFzPnz+7Q
CCsANO314kcGhrOJRjmuUSHJS9iybs2GP44395r0ww8BEwdVO8J9395qn9ns vLtreBovjp/G
ZbfwcFaNayrywkxbzL1TJutmyq813sFViBCqQl6kLLB13ypRKoSIKpBACCF5 2cPdmzaE/P5X
RTvvn37+ec4XnrS/q6NKmSd/Ymns9PXNvE097dVjHdXLNa3xl3qXIIjcKmX5 P3M7TD+yLe7B
nI9slDLaREhFUdCXvbdl9Yy6ubuDCR965UDTGNcYxOv0R2p1QHR8rYoz9joI uO0/m/fv1Tix
OC3m8omfpw6xabcB63OBorRfovNkwob4UYGxEwDjmkatIyo0fa0wxiWZF74d P8TZzoLL4Vo0
azvcd8GpuGdYnwsUpf0SnScTNsSPCoydABjXvBEW7okWPyxijtO+rQ38vy8A NBLgnzIAAHhd
YB0jAABARwAAAB0BAAB0BAAA0BEAAADQEQAAQEcAAAAdAQAAdAQAAAB0BAAA 0BEAAEBH6hfm
peQBAAAd0c/kyZNBSoA3DUEQWh+AuldmI/x/Xzc3NysrKzYrQiP47EKEAAAM bUlEQVSE5u+M
YpPmtpn96pCTspxV5s6/IIQIgmtu7+Q1aurG0GVtRNwGbu7v2P9kH5nXdcL2 hJdy0pJHvF0d
US8lx1zDQX5Tzly+nvwglzCy8/AeH7JzXQ9LIWhHLRrhmiiqFaHZOFRgjGf+ EakkMfM2c3uk
AevI5iceu/G8erGy7JUIoetp4qyH4pgLBz9tadqs9+qGXmnKkGsUdiq2kfvQ JP01RWTniBB6
KX/LVhdIdwkoGqw+GLh6x9H4lIzkuEvTu9hYunwHCxc1gfXQXF1dMWuzmymh V2RKPCU0Ykpo
xJTNEdofQiNkSjw1NILNeXV9s1Q68lBSvZz6s9tfEQT3uUypanwXwpb2cmnO 53Cnp79QyvKW
TRpkayowtWk9aelepUZjPb15Sbe2dnyBicfIBU+rlDXLndHaXGkmqyv6mfuG CM17V5HqpaTz
nYQ8//hqjx6D/LcQjaUWnRMYQihy98oBnZxEPIGDa98/bjy7ue+3/u5OIp7A scPAI5klzEXD
GBfe3WJt8dG5+yuZdQQh5DItijbfZNWOgAnO1sY8kbl7n+FCDsG8UhxDVbOM qQnYhjUxHcEY
b9261dXVlXmh+fEhFyuVeHzIhWwJ1t3GhVysVODxGy4yn5HSN4tKR8YTHGGR nFQ1vo/GLjwX
cy8rK6tAptw7urWVm++V+LT4yEM9zATDQpPVbbTruCUXYxOTbp/xtjNym1mt aAw2V5rJZmVl
IYQ0l1CVSzIteZxFNavePz4/TmjuqZYV9v5bmN5Si9IJTBXfqZ/P3jPRGRmp B1cM4XBNHT0n
7Dt7MyMj9UCgl2X7pcxFk76I6mJuvfVuYdnj9cw6wuVyP5xxg+7bq993N7L5 +MDlOHFG8v/2
/k7XrVDvMlQ1y5iagG3Yu9kfGbn6bKkcj1x9NluCS+W4VI5LFa/+jvztrOov 3eGPYk7MHuXB
FzWbsGDNndwK7R7KKx0h89KujXE2cxy0TbfVKqQ5RhwiMPOlajdz3wAj2zG6 0R6FfyI076Pq
RFjxOAefV59OLsnkm3Si62Prhuwb4OjodUD1eZWbdeclOlVEyqOObhnRo6WR nfv36/c/lSjo
dET9VJVXJHP41rpxlPICgiPSja+QZhMEoU5XLsnk8KwYiqaU5U9sbzH172SM sV4dYUApL7IX
cGfHPNM7PFHtsqlqvTFf1auixNfJzHXa/0A4moaOsJ8fGRwYXijDg4PCsyW4 SIYLZbhQhotU
WxUeHBReKMNDAmlNPBl8s9Q6IhQKBXwOweF7jF4glih0W215XhhCKK1SXr2U 9KNlBMFT9RE0
o5VkBxEEIVGyt7miDilMXMzhWz+UKKQvL3M53DNFNP01Rv8tTG+pRekEphOf pNylK9rZiR90
nXdEFfV1dESV/v0KOUsdYVPVemOq1Rlsw+jgNc7ZXz8/P5bvayQypRwjiVTh s+KkzrsohAmk
wKhSpqA7PD8zKiQ4eE63lju/nBMQEDDso+a6cc7E3mkpElo7ONuZsbd6oZj/ x6QEEQIegapI
hSpZR0FdXv3YdAz2NN4yLzw7ODXAvP2yz3RcQUl50ckdm9at3yw26r5mzyU/ 3y7sfwGAlSXD
XD3TXMYELVzh1qaVtYVpZ/cOlK87KHcxTdGyYguTHk8R/TUFIYSQEiHU3NRo TsqzTW0tDXst
QMoQQkKCttIJ7fhsq1pPTCzbMqPn8lvtI+8fbiXkwvuZJvO+hmXkrouP5krx YynOleBcqcYm
wdXhUtxt0VHmRCqfxq9d8JW9gNd56NQDEcl08yN0D3PVuGZZhua4ZrRutKRN vUyaz8AYK6py
Tbkc/9vPNbsDdL0PEYfQfXTH/dDZ3Mnf20r05bkczXBZ6YMdK+a5WAodu4/Y evymwpA3Qard
8qfbEUJ3ymQsH/hau3RFe/kgQ+3pdycyACEUm5Ty3PDZSrkkk0cQvz4o1s2G FY+TXinX6l6x
qWq9MZXywl8+b2/deWJyuQy6Hk1mXMNeRDDGHf0Pd/A/3NH/cEe/mk3rs//h jn6H2SSl65vF
UkcwxrtHOlu6TroSn5Zw/UgPM4F3TQoIodAjl9PF4ujwP9oa8XwOilXhLG2u MMa+9iaj1x1N
TEm+fu6IOlBSdIZDEDyRc0HtW5G9/xadENA5gbHUEYaiqXnNedYNfZrbdP76 +r30+7fOLxnf
XX3e5a5WvQJ2p4nFt84fmjqwtd786JYLbMPeKR15u2j6ZrHXEWXVk598vKyN BcZWTj4/7lJo
RJs2rIe5iGdq227W2tOvxtrsbK4wxs9jtvVqZ8fl8OxauWqGz3IwbTdee/6Y vf8WgxBQOoGx
1xG6orHXEeb3vrLypG+GfmTM59m26Rqw7aL6vGU54cO6OPG5/BZunoF/X9Wb H6r3vmAbVkfA
v6ZJ/hpVUZlqa+G+Mqvku5amUMPQhuH/a4C6kPH3LIWND4gI0FjUHLS8CT4t yVG2piXB8ddm
ukINQ38EdAQAABjXAAAAgI4AAAA6AgAA6AgAAKAjAAAAoCMAAICOAAAAOgIA AOjIW+DUrYyS
iiq4eAAAOlJH9kQkjl51LDIxGy4eAICO1FFEpm08vXvhyM97u8DFAwDQkbqL yNTBnV4nnaQN
vQiCaDfuwpvOcLF4PkEQ8eVy5mhafm4sj6pHGqxC6sDK73y7uzkZC3kiMzsP 74n/ppU0zsZ5
ZF5XgiCKFe/rf6s1lYVSdl++j4av3n35vqEHavpaqVcY67qgF9/YtVz5Zu0D lPKirKysKtKw
9YRYHkVHHaywGqxC6kC3YdN3/HMuKV2ccvfaIm9HobmnvPF5PjQecy9YD63+ RUTX1wpjXPF8
D4dnnlGSY8fnzrubrw5PP7ayp4sDn8u3b9N55spIhkA6yytMyg+unNmxlS2f J3R06+W//urL
zHkIobtlMsxoLqUl65pHMdhrUVpYYQOtsBgqhEH1Gtg9S83LzLkEwc1jXNUV NVZzL9CRpici
dL5WGONbC9ybeezAGB/o38LR61DNUn0J5jzOjD9Op2emRRwLmzwqjC4QY0xn eXX5ew+RVa+/
zsZkZCSf2rXmk56BmopAZy6l63SleRSDvRalhRU20AqLrkKYb9SGdM9SU5x7 /8chjt2/OdCo
ssfe3At0pCmJCLOvFcbKAZZC36inGOP8/2ZzBc1UD7eyJ5sQQhdrG8FQBtJZ Xill+dZ8zqyb
r/yZMCnXVITaI5dX5lK64xr1Ucz2WnosrNhZYdFVCPON2mDuWdVFURQLhXyC 4HwyP0zBQuaa
nLkX6Eij64kw+1oVP1jFFToWyJUYY1JR2t6I91VELsaYVJQMb2UqtHb9ctq3 m3aHlyhIukA6
y6vyvJ0IoUQNfyatngWduRSDjrC019K0sNK5Y/RYYdFVCOvZnDfrnqU+S2pq ckzEiQlulh0n
7Wk82asvcy/QkUY3J1Ly4MYv3ww35xsN9Fl4Lj5P69sL49tpzUfYfbSlusVV 5R3bGTJ70ihn
E37zvivoAqnubW4Vicvz/kQIJdPoCKko9rI1at5nYtj+45HRsfeTUuqqI1wq HaFYZV4pKzy2
dVlPZzNrN681ey5V0nQyGCqE5aywapehgIjFKvPlT8MQQpfvJaVqoHvqouSZ BMHL1zc/0mDZ
29beiv9KW3gqrfF/8BJ0pGmLiBpKXytSWf6hMX/C8cj4Gm6cncvhmqRWyjEp 1Wis/gTBlZKY
MpDO8kpZ9cSMy5mr6aKkMa5hMJfCOk5XWuMavfZaWrvsrbCYKsTAG/UNuWdp 8eTaWIJjxPzM
R03Q3At05I3wb0z664iIGi1fq4L4+VyhY5FmK1RKOhjzhx55UJqzqrfPktNR d8UZSTsWdjW2
G40xpgzE9JZXJ6a6iWw+3nvhtlicdv7A78P7BKkVgcFcCus4XWmOhhjsteha P3srLIYKMfRG
fUPuWaU5q0fMXHriUkz6A3H02T19rUVtxuyuQ3epMZh7gY40NMXl0n9j0usr NbWv1SEvR0cv
bWO9c2PaWLZdKiuPnzvWy8HCiMs3dvMcfTKjBGNMGYjpLa9IRemWRRM+cLDk cvmObr0Xb7xW
630NjbkU1nG6qvXel95ei671s7fCYqgQQ29U/Gbcs6pKomd96d2uhTWPw7Vo 3n6cX0ihXFkH
HcGNwNzr3QbWiwcA4D37/xqgIX7irCwR0dB71T3IHqALD6oA0P5/H65ZQkIC 5Vci2zaQPYDi
osC4BgAAGNcAAAA6AgAA6AgAAKAjAAAAoCMAAICOAAAAOgIAwHvN/wN6nE5C b3PuTwAAAABJ
RU5ErkJggg==
--------------080405060006050406010808
Content-Type: image/png;
name="TopcasedDia.png"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="TopcasedDia.png"

iVBORw0KGgoAAAANSUhEUgAAAfkAAAEUCAIAAACnDtjvAAAAAXNSR0IArs4c 6QAAAAZiS0dE
AP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gCERIe CGXkl4sAABkO
SURBVHja7d13WFPn4sDx92QQWcoQB4oLqfO2cGst4ta2KhavVAVHte5Zlfqz bu7ttbV11Tqq
ttc9WxXXreuqrauuDgUHtVURVMCBVREkkHF+f0TTyIhBASF8P0+fPuEk50Tf nHzzJucEJVmW
BQDArikYAgCg9QAAWg8AoPUAAFoPAKD1AABaDwCg9QAAWg8AtB4AQOsBALQe AEDrAQC0HgBA
6wEAtB4AQOsBgNYDAGg9AIDWAwBoPQCA1gMAaD0AgNYDAGg9ANB6AACtBwDQ egAArQcA0HoA
AK0HANB6AACtBwBaDwCg9QAAWg8AoPUAAFoPAKD1AEqaiMG92zbxr+DqIEnS Fa2BASlKKoYA
QNG4ZXB7I3z4oBGHe/ReZ/takiQxdDaSZZnWA3jB1i9bIIRIjb+a3xVPJMmM 3lMFelt7UeQz
HACwf7QeAGg9Sj4OiAGg9fbPdEBs/uIwhgIotTg2a/+e+YAYAFoPAPkTHR0t hEhLuiGEiD0T
fd9B6e/vz7CU6tZzRq3trJxRCxQrAQEB5stvv97InvZe0/mOxfnc0OI7r+eM Wtv3MIB5Cazj
2CwA0HoAsEe6e7/MHfZmpwZlg6ooW/i5d276smm5MfPysgldw1/1auajbFnX e/ToKTezDOa3
0YHe0ukNUwe3rNrcR9Opdeud5+9k2+yFFb0CvaWuw5c/dWu0HgUsOjo6Ojr6 TOyjA2Km42NA
KTfjrbbfbt8/cHXMj4mGwxfvbjt6xrR8X7/WS1Zv9ui5ZF9cxoLIwJObpg0d usVyxXu1whYe
SFi7ZtSt3w/O7jHS8qob+yYPjPzGsWKn/8zra+PWioxUPD9BkySJz+ttEej9 9Ecw54FuPjZF
CVJINQiurvpTZ2g/fFpQo0b1G7es6qExLe/u6xCfofsuQe+lVhp1N4KqV1Zq ah29clk8eQBW
1t9tUs1DktTHE7PMV5VVK9KE29Sj8W9UdX3q1oq4Bpxzaf8oO5DT/FljI8bN 3rNo8h4hFKqy
wZN2TxkaJIS4ptULIUKq/9VGQ2ZcLq9AKnchhCzrLBem6owKtUKvN5qX2Li1 IsBnOABKo9ph
07fGnJ++cGm//t2M+tRdn3UyLa+kUQohdiYYTiTJ5v9s3Gb3wR1l/Z1Pg9++ nKF//q3R+mLE
dKwm52UANpIk6UV9n0Zdrk6r0AHh/boLITTlO5oWvudfQQixcMeJNK3+wYWo j4d2HdLS3cYN
Rny0Y9ms90Xq0RGhYzKM8nNujdYDsB+mzxiLvvjvNq3WxlfTpIqic8cRAR2G zd3zlWl58Nq9
/Xq9c2FG1+A6ZYI7DU/zbNx7/GzbN1u/5/xvV00Tvy0aNH7982+tIF9TOTb7 nPN68fhYzQv5
4pwtx2aBkjLBt6x/iatBccgRx2bNUwj9vi+GLl0Tde12etmqr6RfP6UzyrmW 2vJHY+blFf8a
v3ffocRbfyqdK/q36z9p1r8rOiit3M8zrAIwwbec4GfLFh+QWvfUl8PS1fqf x74S+U1s/eFr
do0J12ivtW7oa8ta+/q1XnLwWsD/bV05Kvjixu6DP5w29MErW5d3K9hVAFgp PlP751S6Pq9f
suOyEGLCmHA3J7WjRy0b11px8oYQYuqoEEe1Q8OwRUKIWwcmFPgqgL2S8s9y XQawQJSueX1s
epYQwtdRna+1nuEM2eJzUi3wwqP5DIeULD+7J/e0Pt9qOqovpmdd1eprOmb/ i6sVks4oZxpl
jSL7jlVJo0zU6ncmGDzVtr4NeoZVQHCLW3Bf7BBx0kHBKl0lGta+uhBixle7 MnRpUWN7Wl7V
1tNJCLH86GW9NmltZITlVc9whmzxOakWBfWpQoGQX5yS8qCYKk/oaf1zCZxz oFfHoD/mdQl5
rVFC7e6WV32wbn6AX5W1PeqGtAnVNgy1vOoZzpAtPifVEtxi1VwedCr/wga5 NJ9fX/z/KRlb
/grP+QjyqQKKw4c2VnYGzq8vkBqoivkf3W7upTCYngDPGWuCixeLPbBoFOvW 82LOUwWA/bce
AEr6++9iMjOm9QDsoWWwjrO/AYDWAwBoPQCA1gMAaD0AgNYDKEBF+TXpnPcV Mbh32yb+FVwd
JEm6ojXwcBQlvjdbgnEWGqyntkC+ZycbMmSlY4HMCm8Z3N4IHz5oxOEevdfx ANF6WgYU4kQ7
2y8NTtjycf9P1/50Lk7n4N40ZOCqFR9XdVCabha/c2bY6M9/vXwrQaurojbM GxH68er9erc6
Yxf+N7JzTdPqsiF19qg+89fvu6V3atUtYsN/JrmppLzua/2yBUKI1PirPBZF j89wgNIiOTnZ
9H8T08KsP1UDpi6J+SM+9sR3zfWbW/fdY759u8nnP9t05MofP7urFOfntv9o f9moY7G/7pr/
+5T25tts7fvazOMeK384fSnmh1YZq1t8cNjKfeFFvtKX5t9zaQee//dcwo5n 8Tn3Desf7Bi0
cU5eXTMfnDLdcv7V1JE+rqar3q3o0vB44oRa5YQQ9+Omu/lOlGXZkJXo5lRt /vXUfpWchRD6
h7EulQdq7x+zfl+p8VPK1ZwWl6GvWUZp+9sR2KKk/p5LlBIRg3ufPXv27LnY 22k62xOAnFxc
XHL9MS0tLa9VtHdOjhs+ZceRmJQHGUZZ1j3Umq/qX+WvrW2/k/FltbKmy2Wr DRFiohBCm7I1
zWB8v3bFkY9vlmWxehH0C7aj9cz1CvRp+UzH8ThkV1Cio6PNl/38/Cx/zEtk UIczHSKXb5lZ
2dNVKbL8XmpgvspZ8ZQJtSwMQohvj/1Sz4mSFHd8Xl/a3fxxcfP6VR1UqnIV a74TcfTRe/ms
xAk92ni6aFw8q4ePX6aXc383bf5RkqSEXbNe96ukVjsnZxmEMETNHBngW8lB pXKr5Nt1VNTj
V4LUWSM6+7g7a1y92vWfdu/xdtcvWzAxYnBwsxo8HM+ptgXLH803UCsk/ZOv 9V9eurdtdkSr
wIA6frUrqPbmteVOnmW+vvbAdPnBtSWmC46enZ2Uiv0Gz2z3m9d9gdbjhekZ MqbxxFWXEhJO
7l7ZodajN+mrQoMWnyy/5eSFk9tnxi4c1m7O2adux/I43qEJLXpOPTBg1oaL 8fEndq14w8fB
dJu8juOhyLQqp/nsf6dvpaSkpKSYlnT0dBwyb1t8YuKZI1E931yU14qTJjSe ETzi0Nm4uHOH
R3Veblqo1FRf3eulpe3DNxyMTky8+tP3UZNGrrNyX9HR0dHR0WdibwghYs9E 2/K2AwX2np5j
syVafo/N5vwMx0Ot/P5PbYCr2rzEkHnVxanGiJjbsxt6CiF+Wxz0aqTXw5Tt OVc3/2h5HM+o
S6noXOntPVdXtPG2vCPrx/FE/g/ZIb+PtRDiyuZ/dv6/xeev3jE8/pdd70Sv eqfnxGO/3/by
azxh0abRbauYH9MnVpezvhjW+ZM1+/Xl/D6Yt/HjHoEG/QMhhGxMX/jhgC/W 7E64m+Vd++XQ
fjPnjWuZ133lPMrKZ/G0ntYXWOstj9elp6c7OzubLpuO120c0KjP5nshXUI6 hHR7r3OQUoj0
G1+7VB4am64zfQibGj/ZrdYMrUHvIFlrfZrBaPp4N/3GUpfKg86l6xo8+Rlu etKXLlVGOjk7
m5/uDx9qjUY9rS9x0pOXev1tx8OUbQxFCcIRFftn/Xhd2LJfAgbu3r5778px wTPXz72wsa/1
12CLKZnO8iqO49m3hzdXrT9eo+2rtbNunp/Wf3y9gbsZkxJGLpZ4XArpEbRy e33GRYWqnCzL
eu3VMgpp7Lk7puWxi5o4ev7DdLlGGdWptCzT5QfXvzZvzXKzhqzb5dXKvj8k Zt++Nt5JqRh1
6lZef4D7VyYLIeIy9DKAgqYqtv0i4kXAmJU8aOqmfl3a1aroeP5/8zTlWggh lBqfRe19IjoN
7/Td9PL3fgr/8Jcm//7VdPvx/uX7fPDV5inv6JOipw5akOs2FerymyJeeyuk XaM1C0Ma+z68
efnA/nvDxnUyHcfr0z48aMOcZn4eiRd+2rYt89MFvczvPNKSHh2yu++g9Pf3 59EB7H9ej8J7
w2T5o1F3t1/nVt7uTgqlxvfv7dfFPJrL6zOvje/eysPJwcndJ+zDJTrjo9tn pBzuEviSRqWs
UDtw4cHkXOf1pu1+88nQBj6eSknpVsm36+jNjxYb0haMCa/lVVapKuNTt/Go GQfzehvHIwUU
LL5hDwD2j/PrAYDWAwBoPQCA1gMAaD0AgNYDAGg9AIDWAwBoPQDQegAArQcA 0HoAAK0HANB6
AACtBwDQegAArQcAWg8AoPUAAFoPAKD1AABaDwCg9QAAWg8AoPUAQOsBALQe AEDrAQC0HgBA
6wEAtB4AQOsBALQeAGg9AIDWAwBoPQCA1gMAaD0AgNYDAGg9AIDWAwCtBwDQ egAArQcA0HoA
AK0HANB6AACtBwDQegCg9QAAWg8AoPUAAFoPAKD1AABaDwCg9QAAWg8AtB4A QOsBALQeAEDr
AQC0HgBA6wEAtB4AQOsBgNYDAGg9AIDWAwBoPQCA1gMAaD0AgNYDAGg9ANB6 AACtBwDQegAA
rQcA0HoAAK0HANB6AACtBwBaDwCg9QAAWg8AoPUAAFoPAKD1AABaDwCg9QBA 6wEAtB4AQOsB
ALQeAEDrAQC0HgBA6wEAtB4AaD0AgNYDAGg9AIDWAwBoPQCA1gMAaD0AgNYD AK0HANB6AACt
BwDQegAArUfeIgb3btvEv4KrgyRJV7QGBoT9gf0BtN4O3TK4vRE+fP7iMIYC 7A94ZqrC2Kgk
SYysjWRZtn6D9csWCCFS468yVmB/QPFqvRDiRJLM4D5VoDcviigKTL8KcPpF 6wEUX0y/Svn0
i8/rAcD+0XoAoPUAgJKPz+uLu+joaCFEWtINIUTsmej7Dkp/f3+Ghf2B/QH5 IhXGQWdJkjgQ
ZItA76ePf84zKOz1PAHY+OR6hv2Bp2QBPiWZ15fIx1U8Pj/B8nKxQtnB/gBa Xyi2LJp88uC+
M2di76dnuZT3adAsdNDUafXdNYwMUHjzLRQqjs3mYuYnn8Yqms/9IfHIpZv/ HPLK8c2fj2z/
PsMCFJOp2Piwxh3qugT5OLwV4PvByLGxdzMZFvtqvazfN2dgeIBbUFV1+8BG zasqzF98CPSW
LL8EYfmjMfPysgldw1/1auajbFnXe/ToKTeznv4bozTlX/KtXE6pcW86aJUQ IuPGVvYVgKkY
rS8KP499JXL2MucuX+764+HWXRt1Rpve9+3r13rJ6s0ePZfsi8tYEBl4ctO0 oUO3WF/lRJIc
9eUQlSSEEBnJq4QQvj1XsK8AQgjdvV/mDnuzU4OyQVWULfzcOzd9+amTKtPc 6/SGqYNbVm3u
o+nUuvXO83eybfbCil6B3lLX4cttmaIxFbPz1i/ZcVkIMWFMuJuT2tGjlo1r rTh5QwgxdVSI
o9qhYdgiIcStAxNsfiNx94sekV7NJi+dFsK+AgghZrzV9tvt+weujvkx0XD4 4t1tR8/YOKm6
Vyts4YGEtWtG3fr94OweIy2vurFv8sDIbxwrdvrPvL5P3RpTMftvfWx6lhDC 11Gdr7WuafVC
iJDqqkBvKah6ZSGEITPOxtB/1eeVI07dVq+bquG4BiCEEOLYzXQhxKnd3+zf s/f6n5m2T6pa
v1ZXrVBWazZJCKG9E2V5VZ+B041K98nfrfVQK2yfojEVy5eSdB5OTUf1xfSs q1p9Tcfsf2y1
QtIZ5UyjrFFkP/u4kkaZqNXvTDB4qvMRbEPGxRlhzQ9ndVjx3WJ3NaUHHpk/ a2zEuNl7Fk3e
I4RCVTZ40u4pQ4MsJ1V/PYlym1RJKnchhCzrLBem6owKtUKvN+acouW1NfNU 7BumYvY3rx/W
vroQYsZXuzJ0aVFje1pe1dbTSQix/OhlvTZpbWSE5VXv+VcQQizccSJNq39w IerjoV2HtHS3
fkdpl/77ftOAn137rNuxrLKDkr0EMKsdNn1rzPnpC5f269/NqE/d9Vkn86RK CLEzwXAiSTb/
Z+M2uw/uKOvvfBr89uUMvS1bM2Rc/Cy03vY7bZmK2WfrA+cc6NUx6I95XUJe a5RQu7vlVR+s
mx/gV2Vtj7ohbUK1DUMtrwpeu7dfr3cuzOgaXKdMcKfhaZ6Ne4+fbf2OurZ9 5/SN9OSDszpW
V5oOK/GL5oG/3kaXq9MqdEB4v+5CCE35js88qTKL+GjHslnvi9SjI0LHZBhl 61tjKvZsSvDv
SLCDb2HY8ReyUbye5wX3lHy3abWkGzcztDqNa8V6TUOHTv/8FS9HIYT+4fll //rnoSPHryff
kjUeQd3GhjT1bBY8IOdTNa/vqyd9/1n//pHlw1atndXLytbaV1fd02U/bbqg /nZ2/JQsxNYz
F7bONES0HiWr9faN34fzjC1j17HlScgg5BcvkM/zVhilM1n8PhyyVfJeHXmB fLZ9jOlXaUbr
wasjYP84XQkAaD0AgNYDAGg9AIDWAwBoPQDg+RXiOZd8ccM6TnYGYA+tp2VA scL0qzQni+9S
AbQM9o/P6wGA1gMAaD0AgNbD/s0YN+D1+jUcHdQuHlXfendCbJrOvv++Rflb NnPeV2kbbdD6
0qiwKyMbMoz5X2v9WXnIp8vPXYr/addih4MLWzSZxIAXyMCWttEGrUeebv64 uHn9qg4qVbmK
Nd+JOGpaaMhKnNCjjaeLxsWzevj4ZXo593KZf5QkKWHXrNf9KqnVzslZBiEM UTNHBvhWclCp
3Cr5dh0V9ThYqbNGdPZxd9a4erXrP+3e4+3G7F7ev3Mb32pV6geGLI1qd+fc 7Ctag32/3EqP
mRYmbPm4baM6rmXUZcpWaNtr0vUsQ+4DK2fNG96xvIvGrerLn2yPN6+e18Dm el+larRB6/FI
z5AxjSeuupSQcHL3yg61ypoWrgoNWnyy/JaTF05unxm7cFi7OWefup12k89/ tunIlT9+dlcp
Dk1o0XPqgQGzNlyMjz+xa8UbPg6m22zt+9rM4x4rfzh9KeaHVhmrW3xwOOd2 MpJSFSo3D7Xd
7lfJycmm/5uYFmb9qRowdUnMH/GxJ75rrt/cuu+eXAf2/Nz2H+0vG3Us9tdd 83+f0t58m7wG
Ntf7KlWjjYKcppTcf1vcDuT3H7eUpOy391Arv/9TG+CqNi8xZF51caoxIub2 7IaeQojfFge9
Gun1MGV7ztXNP0qSNP9q6kgfVyGEUZdS0bnS23uurmjjbXlHhqxEN6dq86+n 9qvkLITQP4x1
qTxQe//YE7fRXnnTu/6tbpvPfR1sN7P4nA9QrgstBiHOyatr5oNT2QZWCPFu RZeGxxMn1Con
hLgfN93Nd6Isy9YH1sp95Wu0eUoW0lOS1vP1PFs9dfxdXFzMl9PT052dnU2X 09LShBAbBzTq
s/leSJeQDiHd3uscpBQi/cbXLpWHxqbr6jmphBCp8ZPdas3QGvQOkrXWpxmM zgpJCJF+Y6lL
5UHn0nUNnJ74nl160pcuVUY6OTubH9qHD7VGo/6vv4ghdWyrOmsyOv12YrGn qgTPNK0PeK79
1d45OW74lB1HYlIeZBhl2TwylgMrhHBVKa9p9W4qSQgh6+8q1B6yLFsf2Lxa n9/RpvW0XvVC
+gXbRUdHmy/7+flZ/iiECFv2S8DA3dt37105Lnjm+rkXNva19TVYfuL8DXOP 8nxMhUEI8e2x
X+o55bbPGLWfhPovT2l9OnpRiQ79Uwc8V5FBHc50iFy+ZWZlT1elyPJ7qUGB DWyunmm0+QUJ
zCtRYlh5vPQZFxWqcrIs67VXyyiksefumJbHLmri6PkP0+UaZVSn0rJMlx9c /9q8NcvNGrJu
l1cr+/6QmH372ngnpWLUqVu53LdR93n3uq41/hGbrisNA65WSDrjE0vKKKS7 jxfdj/si14GV
ZblnBafpcfcf32yG6VprA5vbfdnxaKNwd2aGoOSmx5CZ1H/yvCOnLiQmJuxd /r6jZ4hp+fLg
amVrhR8+fyX26Ia/OavbzD5jWr44sFLDQfN/T7h+/viO8IYN80rSgQ8D1c4N v9xyKOH69d9+
PbRoxnbT8qg+dZ0qtP72wOnr1xNO7t808f21puVfD/DXlHt15+8J5qOI2fNk X61/073M1N2n
bt6+ffv2bdOSLl5OYbO3XLl+Pebwpo6+fnkN7Lk5rdzrvnvwzOXLZw+993Id 87V5DWyu92XH
ow1aj9zTY9Td7de5lbe7k0Kp8f17+3Uxj+by+sxr47u38nBycHL3CftwibkF GSmHuwS+pFEp
K9QOXHgwOa8kyUbdN58MbeDjqZSUbpV8u47e/GixIW3BmPBaXmWVqjI+dRuP mnHQvHo2px5k
2XHr46IiX65eXilJ5mtTTq9sUa+ySqGqXCdo3veJeQ9s5pwhHTyc1GUr1//X xnMKpYv1gc31
vux4tFGo7PZABFCcpScv9frbjocp2xgKlOBjswByenhz1frjNdq+Wjvr5vlp /cfXG7ibMUGR
YV4PAPaPb9wBAK0HANB6AACtBwDQegAArQcA0HoAAK0HANB6AKD1AABaDwCg 9QAAWg8AoPUA
AFoPAKD1AABaDwC0HgBA6wEAtB4AQOsBALQeAEDrAQC0HgBA6wGgtPh/++LZ AZP1kA4AAAAA
SUVORK5CYII=
--------------080405060006050406010808
Content-Type: image/png;
name="TopcasedUML.png"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="TopcasedUML.png"

iVBORw0KGgoAAAANSUhEUgAAAU0AAAE4CAIAAABQfTbhAAAAAXNSR0IArs4c 6QAAAAZiS0dE
AP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gCERId O/EZpV4AACAA
SURBVHja7Z13WBRX28bPbKdKV0SKJUAUuwhojMb+fpaoiUZjN1FR34gVk1jA FnvsCdHEoMao
MUbBV8SCBQsKUZQmsKsIQVGRSN++5/tjYR12Z4ZZQFzg+V1zce0ezpw5Ze6d M2dnn5u4FXct
wP9DBABA44UDXQAAoHMAAEDnAACYPLzaF3F2J/Xt/bCgWOhfAGgkOkcIDZp7 RS9FHP3V2Z0f
gtQBoJHM21WY0GCstwks7Fu38aG71DNAEETNqvFv0q8B7Zz4fFH/rSn11n1b fRwGH3vUEAe+
4db8bbTF8KxrQP3DSjK34q7h2pFy59cymdJnzOwymVK3Pbm9PTNmRUpk4J9b +xlVGkKoZnkC
Xaxm/Hz+UVbWs9dyXC8oSu6K+JYPy5W4oaGreXH2WoTQY6lK9y9tSp5cre1n c4eRcs2bHZXl
D1sKuboMhrtTDhYlxtaZbhc2o1Dt4fQykMusthPoCPlqco/33c0EXPNmLfp+ Oj/htewtjSab
zqyYtyckJEyePJluSA4fPuzr60v5r/879+Bcrht6EIvad7U4FIsQ+k8r++N9 O9h1/C9CiCBQ
csaQ+vlUO/i8tGD6IDMOUW+fo4+PL7TuuNnbjNfgLoC6mpdUl9NbFj0l4smx UR7at/Gh44uc
3NE/j9kfKysrS/ui9Nmejr23xWc+cuRzTHwU9MqsWSfsis5dsnTr/g86C8qy t345fpAffp2x
650Nue56Hh8f7+/vHx8fr/sMMEwxRPj9X6fTsiae+xutCNO+EH7/V2GZsmIr VR7aOIDuQ+jM
zqXd2jjyBRa+IxY8q/xo1H04pe6Y1t6jhZDHEZjbdu0/4VxOKeX1wTARY6xW 5K2Y2N/BUmBp
7zFx+SE16aDnw5b7ebbgc7jTM/5FCF0NX9u3o5uIJ3D26v3Djee3Dn/3oY+b iCdwaf/RcXER
ubae067rNWGei9Wk2GeUJWvU5bsXfupmZykwt+0zdkmOrOKKl/Hn2p6eznwu 36l1p5lrr2oT
GWpL+bGtdyysUf6+dmYHVwc+T+ji7Re05QrGmK4CejWv9nqetre/yHZwmVqD MVaWp7sIeZtj
lxp1PacsmaGGlF3EMBcgj4IR+2pk+7+e6GFvwTez8R0yhaFM5k4QHx4otPbX Xe3VipduQl5Q
Yr5e2/9Nn40QeqlQs7kgkweazfnJagpMnreThc1G5Bhj4ebjE8/97XLwis+Y 2doXws3HC4oV
uu2X9YPo2tZ17NIL8ckpd84OcjTznhmjV+n0vct3HzqdmCYWp90LW9y7Wesg bbr2+pBViWEi
xvjQKA9b70mXE9MTrx7tYSUYuitVV3iXTxaei3uQlZWVr1AjhNz6TDh09mZm 5sPf1wzkcC1d
AsYfjrqVmfnwSEg/m3bLdbXlcrnvz7hBrn/5q794QtcCpZqy5KhAH7uOE6Nu JYkf3ts6w6ft
uAiMsaL0vjWPM+OHMxni9Jg/wyaPDNPuy1BbuuEnH+vSIl+Rrd8vUXGZmakR v24c0jMEY0xZ
AcOaV6tztbKgh5Vg1FEJxvjWsi4teu0gZ6iNzo3qIspB12uLUfteXtBVZNf7 t4vxksy06GO7
yV1tOLIMnaCUim14nMXJr7SZ/4keK7QOIE/yteTGjOQKnBUabKzO2ZyfRutc J+89e/awEbnP
mNnCpTvQijCfMbO1G1oRJly6w2fM7JeFcu3245rB1bbtSeQQoXUvhkqrlfkE R8R8Q6JLVMly
zDhEiPi19q34cF8zh9F0Har7gFXJsgmC0J2wSqmYw7NlaPvd5V3ch52mrJJa 8dKWx/n9RZmu
KL5FR4xxydMdCKELBVJyOUbVlvJYdnzOrFvP3+TTKOkqYFjzanWOMU7/aZCw Wd+CkvRWIsHP
OSV1onOjuohh0MltYb+vRlnQXMAldxo5A+XIMnTC4b4uLv2OaDOv87brtFRf NRpV0SQ3K69p
/2N5g00eaDbnZ010rpW6l5dXtSKvuJ5XTtd9xsyumLevCHv2r1y75f0r3xky tNq2FWWHEgQh
VVdJlxXc37B4Rp/uHVq1cLCyMCfnZ9Z5aV4YQii9cmGm6MkKguBpP2LpOlQ7 HIxv9cduqJ3o
m4f/UhZV9vxnhJCQBEFwtOM9zNVSaOf16bT/7giPLFJpalZbcnpp3n6EUHJZ lVUougoY1rw4
Zx21zhVvdK5RvvazFnoOdmn54V49uVLqnHxcOp0b1UX0g16lLez3LXv+C0Io qVRBlYF6ZBk6
4VXyEg7f7rFUJXt9icvhntX7oNEot3/maeUxWu/WiaXO2ZyfRqzDkfH19b1/ /75IJGJ1fy+X
ncguuPqy5Gn7rtoXSC7TaEjfummqX3TBGikiBDzSChpWFw31Ckj3HB26cI13 a1e7ZpadfNrX
YhUCs/l6gvFtFUqyt11RdT7jZUvTHBVC6Gz8XRcBt0qJXOtIifjUoSMXr8Zu n/fJxv0r826s
ZK4tZq4HQghpDL8dpauAYc0JrjVCqFitQagip0ZdSBAca+6bwxI8m0Pf9/Oe eelg7lQ2fX3/
/n0WI17LLqJuC8t9sUaOEBJRLdnSjSxDJ9h32BBgvntuZPaGh8HW7Vb8nx1J OFixe0bPVbfb
XU065irkMp+gRN2dn3X/vdp/DkQIF24WLtyMVoRpX/znQET2S5lu2/Dt8Go/ w1J2+Fm0mEFO
L332I0LobgnlJy4WcYjXSg3zvH1FJnkmPIr5g5PNWzKXJrZ7f84Nuswqea4l lxN05wX5zkO7
9qN7X5AaRBBcmYaptrY8Tsabr4vU1PN2+VMrLmcO+VgaJW0FDGqulIr5HGLJ g1dvxmKnn8h2
kN6BNKqi2BtJhpflGs/bjeoiukHXHwXW+yrLM3gE8V1WkeHwMYwsXSdgjBOW dbJ2CxpkK/r0
XA7pZvPVyo/b2XX6PJU0caCEzUCzvuyznrcby8ULp7JeyHzGzM56IdPbHj+X rV02gk7nu45f
ypBIbkb+0MaMN+F3CbnSyrIUax5n/M5TGY8kiTfOBk/8gNyYSU4WozafSE5L jT13nLIXwke4
23hNvJyYfj/2eA8rwaAdKbXUOXkdTqMu72DB359XyrDvqRnthTa+YRGx4kcZ 188e+XLIe9pJ
sv+EpWeu35Nkpuxb2NXccRRzbVd52foFh6dLJLejj079yINuXP+a6i2y/+DQ +TsSSXr0ke+H
9QqlqwBlzfcPc7NoOfTElb8fPxZf/Wt3OzNev+/uMZxAhjo/EXPteiU3byWy XIczqosMB92w
Lez3xRhv9m/u0G329aSM5PiL33zes2JyzmJkKdsiLTjLIQieyD2ftKI+rYej XcfP4jIfZZGg
PKNYDvQ71vmqpSMleVK6LWTJSDqdTxvaw1rEs3RoO2vTGcPapx8P7exqy+EK 3Hz6rA6PJTfm
Rdxev7aOXA7P0dWLeiVM/vSbCf3szAXmtm4Tvv5VVaMLuN6KgO57tfzEr8yd xlez0qMuDft6
sldLGw6HZ+/a/vP56zDGitLEOZ/0c25mxuWbeweMOpVZxFzbkpzIoZ3d+Fx+ S++AkANX6MZV
oyrevXj8e842XC7fxdt/yfZrdBWgrLlakbd+9khXe0uC4Nq1ev+L1UdUrE9x 7WsyAsturL9X
M6KLDAfdsC3s98UYK0oezBjY2YzPc/DovPD7CG1L2YwsZVswxrOcLduOi6r2 ASHKM4rlQNdG
50Tt40ysWDIaEdpjaR/B0x4YEQRCmEAIr9t6mvJhPYaHpUyZY/1bbR8WfWex D9S8kbWlxmWq
yh86NPNZm1X0VStLE+2v2l/P397DeiaIWv7MSSC4UiiDmjeyttSmzNTdH1g0 n2jKPcZDgFG/
+xE4v5DLoeaNry21KFPzdejd7ht+NuUee2c6b6CTdgAw/IiIfFVu6lWEUQKA xv9RBF0AAKBz
AABA5wAAgM4BAACdAwAAOgcAAHQOAADoHAAA0DkANAHq9bnX1nMOGiZm/TjV pHqk2h/SNdxf
2gGg83pCT9WUyq+xPs0dRr5+GSGojKijkqa72/o8k6vz5OoWApi5AKBzI6mx r4OhsGtzkZfl
p5zNdPqkt5P2be1NBYzlp8iEmSN94SMEMHVq/PvzGvg6eASG339WWO3mERhe fbCxrLjQ2SNt
+LzR+zPYxNNnsEOgC9lPZySASL+cb+8gcuwwcMtvMTINBgCTpVZxJoz1ddDq /FkJ1ts8AsP1
3jIUkp9yccnE/iKexaDJwZdS8qsEY2c0FaCzQ6AL2U9ndUDWuUb5OuKn1b3b NrPy8A8JiyhU
gdyBRqdzbKSvA6XOtaomS51O50/i/po90pcvaj5+wca7uWWUAWro4unT2SHQ hexnsDpAhpFw
NMrrJ3YP79HKzNFn0ZbfnrGLfwoADUbn2BhfB63OC8qxbpu6N1r336l7o7WJ dDoXcgiBZfvf
kwsYAlHRxdOns0OgC9nPYHWA6CJeqaV7vvRFCHX/7j6cWEBjixtlnK8DQjoL gKAD5xFC0344
r/vXol/Ph8+l9Vd9Kb6+dcOGwG6t9n8aGBwcPLRLC4pVdyNMBTCiD9nPYHVg iEZZcGrfjs1b
dkrMum88eHH+pM6w7gM0knW4GqC9npfIMfPGfH9e/ixx04LPnAS8ToOnHolJ 1bsOY5p4+nR2
CHQh+xmsDsjXc0Xxo31r5nraCF26D99z8hbM1wGIA4kQQqPWnK5lCWbOXYK3 H1sQKv55y8Zv
R3bZtz7xalCHKpd0rnWf3h31JxFC1x+HuS0Y8d/+x1balTz4cm7cB2vvIYR4 Zp7f+Tlt/iS4
T/giG1nO7zuWV+QXuBye6j1+yPD3D24b4NP8efrfB3eF7o/O1CvW1dHT2m/s 8uMJUwd3hGsG
ANfzt4KqPPfSvQKG2+YqHp00dgiUIfsxjZGA3oFO3HgM1wrA9KkDnwYAAEwc eJQLAEDnAACA
zgEAAJ0DAAA6BwAAdA4AAOgcAADQOQAAoHMAAJ0DANAY4Jl4/RYevPkktxgh AiGMEUEghAmk
/RGpLuZq61ZW26f2hrEEgIaq86x/infNqubx+6/2XYOBBIAGrHONWiOsNtKD BqKpA0BD1jlC
iMet70WERuDEoGsCuEoAqEGsw/G4BPNW45LLcq8HTxnRroWdgCewb+U5fErQ qdt5cE4AoPN3
AJ/LYd7YFyXLTzl586X2dWnuqY6e/SOK2u7442JqetKZA+u9FIlfTDpa5/X/ KTJBAycaADpn
AmM+l2DeNCzuz0ue3F4d+LGzS9cjDwu1KZsGf1n6/tLU0zuGf9j9vXbevQaP 3XYs9sGRMeS9
0nZO79DaWcTnCi3sug34PPqfMm165sl1fl4tBTxB8zadZ627xpCIENr1xYct fAZtPXJZzmb6
jBX7l03wsLfgmzXr2Hu4qPJTjCAIvWl5RXaNdM+ise72VkILuw/HLf1HrqYt mHVOAHRe/zLX
cDkE88Z8//kq9dLSSQOc3ht4s9z7z8S8v770RAgpSxPWp78eF76YV3XW7+rn QX7L5bvMWRN2
Oykj9e+Y2V1zxvddjhBSlj3wHR/is2BfSnry0S1zZQnpdIlaUvLyfp7f53TI GMc2AaE/RRap
mWp7dUmvoF9yv/vjWnpS3MbAAfLqPsKi5/UMuSQM+9+t1LsxH1tFfzTlbO1z Ao0PU48bNSIk
EmOMEIERIlDFi4qqI4QRJhAiCOLM6pGG+2bfPrVhw4YDF3I+CVy4dMlX3VzM df8qzlndzD30
epH8A2sBRadQrV1pVK94QleNWlr6bKeVy4ILBdJBdm9CWVMmVv3EUt04GbZp 06aYbJs5wV8v
+e94ZxHX4BD/Ols4jb72NMy/uV5N9KqkfatR5juYt9j7tGSCkzlCSCWTmDuM UZQmGe7IkBNo
Eph4HMjhqyIKyxTM2/BVEcb6OhQ9CUEI3SiSM1g+YIxlBfc3LJ7Rp3uHVi0c rCzMtekaVdEw
V0uhnden0/67IzyySKWhSzTWy0FrDpFUpjSsCaoa5RKxNpOoNifQFGjMz72+ FF9fNr51YLdW
/T9fFH3/OflfItvBCKFjOSVMtwzqoqFeATvjZBMXrvntZNTNO39XXEu51pES 8ZFNM+2VOdvn
feLVdx1dYpVrtbLg5N6Vfm2cVt2w2Hjw4vVlnaluoRUIISHNFwiYIn+FmcT9 StLSUmluztnm
BGDe/m7m7WyyUc7btUjz7u/evHHbDydb9Ju4bFnw5/3ba9MXtbM9bDU7795G 8i36s4Tslr7u
2rluWV6YZcs5d0sU3Sz5VWbRWI4IoTbl37QFDj57pGqVEFElEgghpCx5HL5j 29bvfylrO+ib
b78NHBNA99yPSiYxM/dcKXm9qk0zvXm7HZ97u1juaaZ93kFDEFyMsVrx1Mbc 7YtbeTt6Ouk+
T7RrLnrzdoacAMzbG/a8nYy8MHPv8hnuFvy+O1K0KYWZh5wF3Hb/N/f0lQSJ JD3u0l/fTh1o
33abbq6rLEux5nHG7zyV8UiSeONs8MQPtOnFOev8Jyw9c/2eJDNl38Ku5o6j 6BK1NBdy3/tw
fPj5JDbt3darhX2nL2IfZCTdjl46rrtu+r3Ky9YvODxdIrkdfXTqRx669FMz 2gttfMMiYsWP
Mq6fPfLlkPfoJvx0OYGmQFPRuaGvA8a4SHz+v+MGujs243K4zZq3GTZpQUTC c7I20o+Hdna1
5XAFbj59VofHatMVpYlzPunn3MyMyzf3Dhh1KrOILrEGXg6K0pQvB3cx5/Mc WncN3ntBV5OS
nMihnd34XH5L74CQA1cQazOJanMC4NPw7ll48KbkcQFznnZt7Bvr79XgqVWg TjD159vhB6cA
UHtgJQYAQOfAOwUm7QDoHAAA0DkAAKBzAACdAwAAOgcAAHQOAADoHACAegJ8 GgAAdP6uAZ8G
AGj8OgefBgBo/DpH4NPQ9OoP1Dng0wA+DQDo3AQAnwYAaOw6b2I+DZSF0Fks EARx9cCaDzu6
ifhC985DI3NK9UpTySQfu1l3mr4Pg09DE8f040ap1RrmbdiqSIYS8lMuLpnY X8SzGDQ5+FJK
fkV4ppJ4giDmJb1ijuucvnf57kOnE9PE4rR7YYt7N2sdhDFWlN635nFm/HAm Q5we82fY5JFh
dIkVAZuUryN+Wt27bTMrD/+QsIhCupDP9IVEBfrYdZwYdStJ/PDe1hk+bcdF 6Orp3nfSb1G3
xOK0g98E2HquItdfoyqc18PRfdgamYapEADiRr17mpRPA2UhzGYM6srQ3Kry NKFNH7WioLL+
qq1jPLc8/U/6zd22PAJ8GuB6Dj4NpuLTQFkIGzMGbdGIFPvxxAJ/oXWvJzIV 2QECfBrAp6ER
0uB8GigLYW2xUGUoA685C8vvbDn9uPIOH3wamjTg02BCPg2UJfOU1Zsx6N1u EASRK1eX/jGn
/fTjexMeBXaxB58GmLeDT4Op+DTQFVKtGQNdzPbIJQF8C58r+VLwaQCfBvBp MBWfBrpCqjVj
oNM51ihDB7pYuY/OlqnApwHW28GnAQAaM+DTAACNH1iJAQDQOQAAoHMAAEDn AACAzgEAAJ0D
AAA6BwAAdA4AAOgcAEDnAACAzk2AiNuZRWVyGEgAaLQ6PxiTPGrdn1eTs2Eg AaBx6vxgTPK0
7WfCF4742N8TBhIAGqHOdSKfOqBjbcpJ2eZHEETbseffdoULJfMIgkgsVTJn IwiiBnvVIY28
Q7Aq89qPBEEUqpqYX039xJmIj4/3oic+Pt6o0sIvJaFh68MvJRlbDenL5D9v vCCnTHKy6LrA
j2/uVarWvNUeUCsLsrKy5NUdBFUNHcFyLzrCIuLVRu7SuDuEX+ne81qpaVJx Juovnkx8fLy/
vz9Z0oYpb0/kxVlxobNH2vB5o/dn6BLLXhzk8Kwzi3Ic+dy5917q0jP+XNvT 05nP5Tu17jRz
7VWGRLUib8XE/g6WAkt7j4nLD6lJQdt/Xzuzg6sDnyd08fYL2nLltXguQuhe iQJjnLpjWnuP
FkIeR2Bu27X/hHM5pbpzusq1B2PyXnTHQghd+WV1Hx9XIU/g1mlIRHaJrhbt HUSOHQZu+S1G
xu6sbvQd8vDhw7tXg0Hn9Sf1ehM5pU+DltsLfJr77sMYH/mwpUu/o5XBm4yw YTg0ysPWe9Ll
xPTEq0d7WAmG7krVpl9a5Cuy9fslKi4zMzXi141DeoaQT1BK+weMcVZWFkIo qxK905ruWIjG
rQEbYxHRRDoEY1zyzxbQeT1Jfc+ePfUg8idxf80e6csXNR+/YOPd3DLDmWNf G+Gk688wxi//
ns0VNM9TqDHGJU93IIQuFEirnBxUiSpZjhmHCBG/1r4VH+5r5jAaY6xWvLTj c2bdeo7JgiOd
oFUnovkER0Q3TdXtRXcs7S66S5myLJXDt9NvqEZ5/cTu4T1amTn6LNry2zOp im4q3RQ6BHRe
f1Kvn3tyBp8GjHHho3VcoUu+Uo0x1qiK25nxPovJxcbYMJTmhSGE0suVFVEl n6wgCJ5cg0vz
9iOEksuUlCcoprF/YD6t6Y6F6d0aDFTMZBHRdDqkaer8Hay3+/r63r9/39fX 922vrjP4NCCE
7nzzq1r+1JHPJQiCw7OWSFWXF59CNbVh0N1CIoQQ0jB8k0Fn/1CDtWOWX6Cw sYhoUh3SFDHx
uM61WV3XUv4scdOCz5wEvE6Dpx6JSdVFSn7fnD/+5NXESm5EzeFwLR6WK7FG ptu3IDWIILgy
DaZM1E4dV2SSp46jMMZq+VMrLmfOnReU09TSZz8ihO6S5qvkC46IQ5AvNXrT VMNjMUR3xhgr
ih/tWzPX00bo0n34npO3VPS91EQ6BObtJsrpuIzaiFyHnk9DfuI8rtClgDzY aml7c/7g44+M
smEIH+Fu4zXxcmL6/djjPawEgypNIP6a6i2y/+DQ+TsSSXr0ke+H9QrVnaB0 9g+6r7VGbT6R
nJYae+643uSW7lgMpzV7i4gm0iGvX7/+J3UtQujJq39fv34NOjcVCktlp+My 6qo0nU/D0X4u
Lv2O6f333OjWNm2WG2XDoJY//WZCPztzgbmt24Svf9VdMDWq4t2Lx7/nbMPl 8l28/Zdsv1Zl
eZnK/kHLi7i9fm0duRyeo6uX/tdINMdiOK3ZW0Q0kQ4x/KKuiWDqPg0AADTp 59sBAACdAwAA
OgcA0DkAAKBzAABA5wAAgM4BAACdAwAAOgcAAHQOAADoHABA5wAAgM7rjYSE BBgkAGjkOp88
eTJIHah/dHHj9QLIN1B4pl/F+fPn79q1i02cqXn7r7MpcO/MPjWoRknOOmv3 lQghguBaO7n1
Gzl1+64VrUXcej75DH9E3XjAqszY/V795r5Wamx4BAKalM537drFUupKlSYs sC9znsCfrrE/
tCw/5Wym0ye9nXQpsekSVwF6Lo5f88WsgI/4z+O+Ndl++ykyYeZI3wa0ACPg C5RqDJpsivN2
hJCvr69W6tVO4OUqjRqj6XsuT99zefruy/ov9lxWY6RQqlldvZ/cXh34sbNL 1yMPC8nprdw9
PFq39R884deTw17eWfVSqdFeZi/8tMLfy1nA5c3IfK1RPl85aYCjldDKofWk FYc1pKvx/3YF
d2/rJBBa9hy5ME9R8R+ske5ZNNbd3kpoYffhuKX/yNW6/ORitRNIohKEkOS3 QaJmAYpKaWiU
+e4i/oL7ryo+H7/4sIXPoK1HLstZaCfz5Do/r5YCnqB5m86z1l2rLJC2IXRT XHKFEVYdXTfL
x81RwBe1et9/wdarDI1FCCWlpGlNFKqd1HhNv0E/KVDsXzbBw96Cb9asY+/h Ii6Huc4M9dEv
mHVOU8TE40Z5eXlpX+zZs8fLy0sqlTJkHrf1Qrkaj9t6PluKDbexWy+Uq/C4 bRdq5utQnL0W
IfS4Mvj58zvjCI5QG1ANIdTlk4Xn4h5kZWXlK9QM/gFdxy69EJ+ccufsIEcz 75kx2vSoQB+7
jhOjbiWJH97bOsOn7bgIXX5ysYamBUqp2IbHWZz8Spv/n+ixQusAnScRe5MG Y00XEE1gJr0K
G3ozMDSWfZBGLpf7/owbdP+9sqi7mf0HRy4lSDJT/3foe3LdKOvM0Pksc0J8 uDrTOUvzlhHr
o4qVeMT6qGwpLlbiYiUuVr35O+K7KO3fmvk6kHSuyUu/NtrdyqX/XsNziNk/ 4M2xIocIrXtp
PQxseZzfX1QcTikV8y06Up6alCmH+7q49Duifb3O267T0vgamDQYZbrArPM3 USSpvBkYGlsn
wVjVygInAXd23HPmuunesun8anOCzutG5+wdmgaERL5S4AGhkdlSXKDArxT4 lQIXaDc5HhAa
+UqBB4ZE1szXQatzoVAo4HMIDt931AJJpWbI5xBL/4Ci7FCCIKRqXPb8Z22x OgiCw17nr5KX
cPh2j6Uq2etLXA73bIG0BiYNRpkusNQ5pTcDQ2PrROfa8pNIB2XWOZvOrzZn g6BRrbdLFWol
RlKZasKaU/o3dRhhAqkwKleo6HZ/Kb6+dcOGwG6t9n8aGBwcPLRLC8M8Z+Pv thIJ7ZzdHa34
7NeRKW/2ECHgEUiuUWmLdRHUZOnevsOGAPPdcyOzNzwMtm634v/sRHoZNMqC U/t2bN6yU2LW
fePBi/MnUZg0aE0XTh06cvFq7PZ5n2zcvzLvxkrmhmCEqlsQp/BmwLVrbPUd rVEghIQE7TAQ
Na3P26453J8b4dDUdcmJXBn+R4ZzpThXRtqkuCJdhrstPlEDXwfD+3O6yyxL /4CUHX4WLWZg
jFXyXEsuJ4jsYYDVdFdvPdMCLQnLOlm7BQ2yFX16LqfKXTdrkwajTBcwxrY8 Tka57pqppp63
U3kzMDS2Tq7nSqmYRxCrHxUaDg1lndl0frU5Yd5eBxhlw9Yh6Fj7oGMdgo51 mF+56b0OOtZh
/rEa+Dqw1zmzf8Cu45cyJJKbkT+0MeNN+F2iTT81o73QxjcsIlb8KOP62SNf DnmPTud6pgVa
pAVnOQTBE7nnK6qceexNGow1XVjlZesXHJ4ukdyOPjr1Iw+6ubGhNwNDIALD mQAAGcNJREFU
Y9mbKDCvw23r1cK+0xexDzKSbkcvHdddVyW6Olfb+dXmBJ03eHS+DkbpnME/ YNrQHtYinqVD
21mbzry5zqlLw76e7NXShsPh2bu2/3z+Ojqd65kW6JjlbNl2nP76InuTBmNN F0pyIod2duNz
+S29A0IOXKHTuaE3A0Nj2ZsoIIQ8p12nb0vKl4O7mPN5Dq27Bu+9oCuHrs7V dn61OcGnAaiP
p9lU5Q8dmvmszSr6qpUldHLTeoKwMT0nA1TziMuBWSr7CSBygAEedEEDR/N1 6N3uG36GjgBA
5ybB25lAciJflUPf1m+fw7wdAADQOQAAoHMAAEDnAACAzgEAAJ0DAOgcAADQ OQAAoHMAAEDn
xgPB2wGg8escfBqA+qdxeDOQAZ8GtjR6n4b6/Akn9bHAp6Ep6xx8GmoG+DQA DWbejsCnoV58
GgwLRwil7ZzeobWziM8VWth1G/B59D9llBVDWPHz1xNbO1hyBRbefv/RWSMw tMvwWKiOfBoo
DScYanL1wJoPO7qJ+EL3zkMjc0r1SlPJJB+7WXeavg+DTwP4NKAG7tOAMTYs HGOcvnf57kOn
E9PE4rR7YYt7N2sdRFmxa8E9RXa9Dl+Il2QmRx7ciqozNqA8Vp34NNAZTjD0 sHvfSb9F3RKL
0w5+E2DruYocK0qjKpzXw9F92BqZBnwawKeh4fs00BVe1QIhn+CIDHNqlAXN BdyZt56zt0Bg
OFYt471SGk4w97AudKayLJXDtyNVT7VldBunnvP+VWrApwF8GhqDTwNd4bKC +xsWz+jTvUOr
Fg5WFuaIKt5j2fMDCKEHpQr2FghvT+eUhhOse7hKgOoTC/yF1r2eyFQsHSbA p6H+1tvBp6Fm
Pg3UlVYXDfUKSPccHbpwjXdrV7tmlp182lM1pBwhZM7lGKS/A2MDSsMJ1jWp 0oTAa87C8sgt
px/v+ew9BD4N4NPQGHwaqAovffYjQuhuicKwmeSKKcvSuASxKbtYLxuzsQFl Q2p/Pac2nGDd
w+QG5srV6YdncXjNfkx8BT4N4NPQGHwaKAtXlqVY8zjjd57KeCRJvHE2eOIH iCZO+7pujo6+
c28mZ6T8fTlk+oeIhbEBZUNq79NAZzjBsocNGxi5JIBv4XMlXwo+DeDT0OB9 GugKTz8e2tnV
lsMVuPn0WR0eS6dzedHdaf07mvE4Vk5tZ60/TnDNqjU2oGyI/szfeJ8GOsMJ lj1M0UCNMnSg
i5X76GyZCnwagHf5wJlJ+TSoytOsXZeUF0TBcMPzcEBd8s59Gl7e/DHqZTvf Dm0EyoI/Nkzx
/iIcBgV0DtQt796nQV6YvG7e8icvCoU2rQZ/9tXVDX4wKiY3l4R5OwA0eiDO BACAzgEAAJ0D
AAA6BwAAdA4AAOgcAADQOQAA1WPqz8ksPHjzSW4xQgRCGCOCQAgTSBtqSPcI aetWVtun9oax
BICGqvOsf4p3zarmMZ6v9l2DgQSABqxzjVojrPaX/RoIEgoADVnnCCEet74X EeozkvnbbkIj
aAtQezgNQecE81bjkstyrwdPGdGuhZ2AJ7Bv5Tl8StCp23mNdaRD50/xbe9h LuRZ2Dj3Gxv0
d6Eczn7QuQnB53KYN/ZFyfJTTt58qX1dmnuqo2f/iKK2O/64mJqedObAei9F 4heTjtZ5/X+K
TNCYQDfuis4dvXDrrfsPEy4dbiM+MshvKZz9TQgTjyczIuSMQqlm3oaHnKm2 nOKsuNDZI234
vNH7M7QpK963c+z2jV4kspzbWeRwIqk7prX3aCHkcQTmtl37TziXU6pNz/hz bU9PZz6X79S6
08y1VxkSMcbtHUSOHQZu+S1GxibqmUa+L3i8u505T2Tt02uYkEMwRz7RqMt3 L/zUzc5SYG7b
Z+ySHJmKIZabjn/TZyOEXirUEDKoiWDq13OMNVwOwbwx33++Sr20dNIAp/cG 3iz3/jMx768v
PRFCytKE9emvx4Uv1rPxcvXzIL/l8l3mrAm7nZSR+nfM7K454/suRwgpyx74 jg/xWbAvJT35
6Ja5soR0ukQtKXl5P8/vczpkjGObgNCfIosYrYWuLukV9Evud39cS0+K2xg4 QF7dEmP0vJ4h
l4Rh/7uVejfmY6voj6acZdOr5U/zuAJnGx48PdFUMPXfn48IicQYI0RghAhU 8aKi6ghhhAmE
CII4s3qk4b7Zt09t2LDhwIWcTwIXLl3yVTcXc92/inNWN3MPvV4k/8BawHId TqN6xRO6atTS
0mc7rVwWXCiQDiIFUaZMrPqJpbpxMmzTpk0x2TZzgr9e8t/xzgYejBrVv84W TqOvPQ3zb868
nKZ9q1HmO5i32Pu0ZIKTOUJIJZOYO4xRlCYxr8NhdfGUNq0S+h9N/3UYCADm 7SbB8FURhWUK
5m34qghjfReKnoQghG4UyZkdCyiNCijNACgTjfVL0JoBJJUpmUMps/FCoJ23 a5TbP/O08hit
m+EDMG9v2LwUX182vnVgt1b9P18Uff85+V8i28EIoWM5JUy3DOqioV4BO+Nk Exeu+e1k1M07
f1dcS7nWkRLxkU0z7ZU52+d94tV3HV1ilWu1suDk3pV+bZxW3bDYePDi9WUU fglYo0AICWm+
QMAU+SvMA+5XkpaWyngXpNg9o8eq2+2uPjjmKuTCRQ7m7SY0b2eTjXLerkWa d3/35o3bfjjZ
ot/EZcuCP+9fYSqyqJ3tYavZefc2km/RnyVkt/R11851y/LCLFvOuVui6GbJ rzKLxnJECLUp
/6YtcPDZI1WrhIgqkUAIIWXJ4/Ad27Z+/0tZ20HffPtt4JgAOoWpZBIzc8+V kter2jTTm7fb
8bm3i+WeZtrnHTQEwcUYqxVPbczdvriVt6OnzrlZo/0OxXDerlEVhH7qvzer 5/Vb4e0t+HDq
w7y9kczbmX0XCjMPOQu47f5v7ukrCRJJetylv76dOtC+7TbdXJfOqIDSDIDO IcBYv4RtvVrY
d/oi9kFG0u3opeO662bdq7xs/YLD0yWS29FHp37kgarzQjCct0/r4WjX8bO4 zEdZJGBC20Ro
Kjo39F3AGBeJz/933EB3x2ZcDrdZ8zbDJi2ISHhO1galUQGlGQCdQ4CxfgmK 0pQvB3cx5/Mc
WncN3ntBV5OSnMihnd34XH5L74CQA1dI36tV40BAfkH1dQbQJDD1efvCgzcl jwuY87RrY99Y
f68GT60CdYKpP98OPzgFgNoDT0oAAOgceKfApB0AnQMAADoHAAB0DgCgcwAA QOcAAIDOAQAA
nQMAUE+ATwMAgM7fNeDTAACNX+fg0wAAjV/nCHwaml79gToHfBqaik8DHeDf ADo3CcCn4a0C
/g1NAvBpMCmfBspCGMwYrvyyuo+Pq5AncOs0JCK7RC+GjFIqHulq1XHaTxr6 QsC/AeJGmUTc
KLVaw7wNWxXJUEJ+ysUlE/uLeBaDJgdfSsmvCM9UEk8QxLykV8xxndP3Lt99 6HRimlicdi9s
ce9mrYMwxorS+9Y8zowfzmSI02P+DJs8MowusTKS8uuIn1b3btvMysM/JCyi UKWhDxpFXUhU
oI9dx4lRt5LED+9tneHTdlyErp7ufSf9FnVLLE47+E2Arecqcv01qsJ5PRzd h63Rfr7QFUIm
N2YkV+Cs0IAuIG5U/dKkfBooC2E2Y1BXhuZWlacJbfqoFQWV9VdtHeO55el/ 0m/utuURDIW8
qSD4N8C8HXwa6sGngbIQNmYM2qIRKeTjiQX+QuteTyon5wyFgH8D+DQ0bBqc TwNlIazNGKoM
ZeA1Z2H5nS2nH1e0hbkQ8G9o7IBPgwn5NFCWzFNWb8agd7tBEESuXF36x5z2 04/vTXgU2MWe
wdEB/Btg3g4+DfXq00BXSLVmDHQx2yOXBPAtfK7kSxkKAf8GWG8Hn4Z69Wmg K6RaMwY6nWON
MnSgi5X76GyZiqEQiokFAOvt9UkT92kAgDoBfBoAoPEDcSYAAHQOAADoHAAA 0DkAAKBzAABA
5wAAgM4BAACdAwAAOgcA0DkAAKBzEyDidmZRGYQoBYDGq/ODMcmj1v15NTkb BhIAGqfOD8Yk
T9t+JnzhiI/9PWEgAaAR6lwn8qkDOtamnJRtfgRBtB17/m1XuFAyjyCIxFIl czaCIGqwVx3S
iDukSTtS1E+cifj4eC964uPjjSot/FISGrY+/FKSsdWQvkz+88YLcsokJ4uu C/z45l6l6rcb
zVitLMjKypJXdxBUNcYDy73oCIuINzYUeyPuENv3Plq/70RiWmZqwsXpne1t PL+CeDJvRer+
/v5kSRumvD2RG/o0YIzLXhzk8Kwzi3Ic+dy5917q0tnbMKgVeSsm9newFFja e0xcfkhNCp/6
+9qZHVwd+Dyhi7df0JYrr8VzEUL3ShSY3v5B7yMYY0zei+5YiMatARtpEdEU OkRHU3OkqNe4
UWRh15vIKX0atNxe4NPcdx/G+MiHLV36Ha0M3mSEDcOhUR623pMuJ6YnXj3a w0owdFeqNv3S
Il+Rrd8vUXGZmakRv24c0jOEfIJS2j9gjLOyshBC5CBt5L3ojoVo3BqwMRYR TaRDdDQ1R4r6
jg+nlfeePXvqQeRP4v6aPdKXL2o+fsHGu7llhjPHvjbCSdefYYxf/j2bK2ie p1BjjEue7kAI
XSiQkrNSJqpkOWYcIkT8WvtWfLivmcNojLFa8dKOz5l16zkmC450gladiOYT HBHdNFW3F92x
tLvorkrKslQO306/oRrl9RO7h/doZebos2jLb8+kdBHam0qHaFRFk9ysvKb9 D+btb/1evR6u
5Aw+DRjjwkfruEKXfKUaY6xRFbcz430Wk4uNsWEozQtDCKWXKyuiSj5ZQRA8 uQaX5u1HCCWX
KSlPUExj/8B8WtMdC9O7NRiomMkiogl1SJN0pHgH6+2+vr7379/39fV926vr DD4NCKE73/yq
lj915HMJguDwrCVS1eXFp1BNbRh0t5AIIYQ0DN9k0Nk/GA9m+QUKG4uIptIh TdaRwsTjOtdm
dV1L+bPETQs+cxLwOg2eeiQmVRcp+X1z/viTVxMruRE1h8O1eFiuxBqZbt+C 1CCC4Mo0mDJR
O3VckUmeOo7CGKvlT624nDl3XlBOU0uf/YgQukuar5IvOCIO8Zrk4ao3TTU8 FkN0Z4yxovjR
vjVzPW2ELt2H7zl5i+H61RQ6RK18tfLjdnadPk8tVTS1uM6mrvPTcRm1EbkO PZ+G/MR5XKFL
AdkVWS1tb84ffPyRUTYM4SPcbbwmXk5Mvx97vIeVYFClCcRfU71F9h8cOn9H IkmPPvL9sF6h
uhOUzv5B97XWqM0nktNSY88d15vc0h2LQefsLSKaQoc0ZUcKU9d5YansdFxG XZWm82k42s/F
pd8xvf+eG93aps1yo2wY1PKn30zoZ2cuMLd1m/D1r6o3Kz3FuxePf8/Zhsvl u3j7L9l+rcry
MpX9g5YXcXv92jpyOTxHVy/9r5FojsWgc/YWEU2hQ6jn+k0DU/dpAACgST/f DgAA6BwAANA5
AIDOAQAAnQMAADoHAAB0DgAA6BwAANA5AACgcwAAQOcAADoHAAB0Xm8kJCTA IAFAI9f55MmT
QerAO0EXOl4vhnxDhGf6VZw/f/6uXbvYxJmat/86mwL3zuxTg2qU5Kyzdl+J ECIIrrWTW7+R
U7fvWtFaxK3nM4/ud9QNndD5U85eik19lEuYOfoOGrd1/+YeNkKoZJ1h4nEm tBEjWQaHnfnD
VbUGM28zf7zK/uhkX4fi7LUIodh0SdZjSdz53//TyrK5//r6jgpiTFyEGpg0 vENM0EQBkQJU
mGwlG0k8GS8vL8w62PuUXZcVajxlV8yUXTFTdsbov9gVo1Djqbti2BzX0NdB q/PHlUGRn9/5
jCC4LxRq7XlwPmy5n2cLPoc7PeNfBv+AMzuXdmvjyBdY+I5Y8EyurozNVr57 4adudpYCc9s+
Y5fo4pDqFav3AY0xFh8eKLT215mTqBUv3YS8oMSKGPVGmTQYZbqA6AO2kCts 6M3A0Fgy1Zoo
IIQ8p12nD3Yn3xc83t3OnCey9uk1TMghmKvN0P8MH68Ny+mhYegcY7xnzx4v Ly+pVMqQedzW
C+VqPG7r+WwpNtzGbr1QrsLjtl2oJlIaja+Dgc7HERyhNqAaQqjLJwvPxT3I ysrKV6gZ/AO6
jl16IT455c7ZQY5m3jMrPnGiAn3sOk6MupUkfnhv6wyftuMidPnJxRqaFiil YhseZ3HyK23+
f6LHCq0DdLJnb9JgrOkCg87JFTb0ZmBoLJlqTRS4XO77M27Q/ffKou5m9h8c uZQgyUz936Hv
6eSqe8vQ/ww6b1hOD43qej5ifVSxEo9YH5UtxcVKXKzExao3f0d8F6X9S7c7 s68DSeeavPRr
o92tXPrvNTwPmP0D3hwrcojQupf2ImzL4/z+ouJwSqmYb9GR7vQyTDnc18Wl 3xHt63Xedp2W
GnQRC5MGo0wXmHX+JooklTcDQ2Pf5KqdiYJaWeAk4M6Oe85cPd1bNv1v2O0N zumhUd2fDwiJ
fKXAA0Ijs6W4QIFfKfArBS7QbnI8IDTylQIPDImk253Z10Grc6FQKOBzCA7f d9QCiVRleB6w
9A8oyg4lCEKqxmXPf9YWq4MgOOx1/ip5CYdv91iqkr2+xOVwzxbQzHcYTRqM Ml1gqXNKbwaG
xuo+C2ppoqA9RBLpuMw6Z9P/qOE7PTSq9XapQq3ESCpTTVhzSn+lGiNMIBVG 5QoV3e4vxde3
btgQ2K3V/k8Dg4ODh3ZpYZjnbPzdViKhnbO7oxWfdQsoVsixRooIAY9Aco1K W6yLoCZL9/Yd
NgSY754bmb3hYbB1uxX/ZyfSy6BRFpzat2Pzlp0Ss+4bD16cP4nCpEFrunDq 0JGLV2O3z/tk
4/6VeTdWMjcEI1Tdd00U3gyYubFYsXtGz1W3211NqrmJAtYoEEJCgnYkCKOq 9HYqCevt1Ndz
lpm7LjmRK8P/yHCuFOfKSJsUV6TLcLfFJ5gLofR1MLw/p7vMsvQPSNnhZ9Fi BsZYJc+15HKC
yB4GWE139dYzLdCSsKyTtVvQIFvRp+dyqtx1szZpMMp0AWNsy+NklOsumGrq eTuVNwNDY+vK
REEpFfMIYvWjQsPRoaw2m/5HDd/pwdR1bpQNW4egY+2DjnUIOtZhfuWm9zro WIf5x9gUpefr
wF7nmNE/YNfxSxkSyc3IH9qY8Sb8LtGmn5rRXmjjGxYRK36Ucf3skS+HvEen cz3Tgoov/wrO
cgiCJ3LPr7r2y96kwVjThVVetn7B4ekSye3oo1M/8qCb3xp6MzA01igTBeZ1 uG29Wth3+iL2
QUbS7eil47rrakVX7Wr7HzV8p4cG4Lv0DtH5Ohilcwb/gGlDe1iLeJYObWdt OvPmOqcuDft6
sldLGw6HZ+/a/vP56+h0rmdaoGOWs2Xbcfrri+xNGow1XSjJiRza2Y3P5bf0 Dgg5cIVO54be
DMyNpZgj1+h7NUVpypeDu5jzeQ6tuwbvvaArh67a1fY/avhOD+DT0OCfZlOV P3Ro5rM2q+ir
VpbQyU3qIcLG83w7UC2ZB2ap7CeAyIGG/Xw7wLys/XXo3e4bfoaOAEDnJsHb mT1yIl+VQ9/W
e7fDvB0AANA5AACgcwAAQOcAAIDOAQAAnQMA6BwAANA5AACgcwAAQOdGAsHb AaDx6xx8GoB3
QiPwZiADPg1safQ+DfX5+03DYzVgC4QGUXnwaWCgSfk0oHoMmWB4LFOzQDCq N0zfvwF8GmhC
KTUxnwbDwjHGqTumtfdoIeRxBOa2XftPOJdTSlkxrJHvX/a5h70Fh2/u1XOo zheBoV2GxyJT
S58GSs8Jhspc+WV1Hx9XIU/g1mlIRHaJns6VUvFIV6uO037S1JHJBOicVucY fBrepk8Dxtiw
cIxx+t7luw+dTkwTi9PuhS3u3ax1EGXFrgX3FNn1OnwhXpKZHHlwK6rO/4Dy WGRq49NA5znB
0MnufSf9FnVLLE47+E2Arecqss41qsJ5PRzdh63RflbWickE6Ly213PwaaiZ TwObmapamU9w
RIY5NcqC5gLuzFv6vgjMlgwMx6qlBQKl5wRzJ+uuvMqyVA7fjlRD1ZbRbZx6 zvtXqam2RXVS
+Satc/BpYJBHnfg00BUuK7i/YfGMPt07tGrhYGVhjqjiPZY9P4AQekCKc4yq 8z9g0nmtLRAo
PSdYd3KVGNUnFvgLrXs9qaxJPZhMvD3Ap+ENTdangbrS6qKhXgHpnqNDF67x bu1q18yyk097
qoaUI4TMuRyDdOPbVRcWCJSeE6wrU6UVgdecheWRW04/3vPZe6heTCaa+no7 y8zg01DlTpW9
TwNV4aXPfkQI3S1RGDaTXDFlWRqXIDZlF+tlY2gXZUPqzAKB0nOCdSeT25gr V6cfnsXhNfsx
8RVzi0zfvwF8GqhpUj4NlIUry1KseZzxO09lPJIk3jgbPPEDRBOnfV03R0ff uTeTM1L+vhwy
/UNUnf8BZUPqyqeBznOCZScbtjFySQDfwudKvhTXkckE6NzkaCI+DXSFpx8P 7exqy+EK3Hz6
rA6PpdO5vOjutP4dzXgcK6e2s9YfJ7hmzO2iPBb1RN7479XoPCdYdjJFGzXK 0IEuVu6js2Wq
OjGZeCeAT0ODf5rNpHwaVOVp1q5LyguiYLjhuVegLnnnPg0vb/4Y9bKdb4c2 AmXBHxumeH8R
DoMCOgfqlnfv0yAvTF43b/mTF4VCm1aDP/vq6gY/GBWTm0vCvB0AGj0QZwIA QOcAAIDOAQAA
nQMAADoHAAB0DgAA6BwAANA5AACgcwAAnQMAADoHAAB0DgAA6BwAANA5AACg cwAAQOcAACCE
0P8DLqgeywClhUMAAAAASUVORK5CYII=
--------------080405060006050406010808
Content-Type: text/x-java;
name="UMLTest.java"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="UMLTest.java"

import java.io.IOException;
import java.util.Map;

import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.uml2.uml.AggregationKind;
import org.eclipse.uml2.uml.Association;
import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
import org.eclipse.uml2.uml.NamedElement;
import org.eclipse.uml2.uml.Package;
import org.eclipse.uml2.uml.Type;
import org.eclipse.uml2.uml.UMLFactory;
import org.eclipse.uml2.uml.UMLPackage;
import org.eclipse.uml2.uml.resource.UMLResource;
Re: Uni / Bi Directional Associations 3x different [message #473321 is a reply to message #473317] Sun, 17 February 2008 18:50 Go to previous messageGo to next message
Stefan Kuhn is currently offline Stefan Kuhn
Messages: 355
Registered: July 2009
Senior Member
oh, my fault- I didn't recognized that there are unnavigable
associations for both sides. Got it now.

-stefan


SKuhn wrote:
> hi all,
>
> I got confused with the properties when I played with eclipse-UML2
> Associations. I did following:
>
> created "quelle" (source) and "senke" (target) 2 times, once connected
> them with an unidirectional association and once with a bi-Assoc.
>
> I did this with:
> 1) Example code (from
> uml2/docs/articles/Getting_Started_with_UML2/article.html , attached).
> 2) UML2 Tools
> 3) Topcased UML
>
> Guess what? right- every approach did something different!
> 1) Example Code: each class gets a property
> 2) UML2 Tools: The source of a uni-directional gets a property, all
> others are in the associations.
> 3) Topcased: All properties are in the associations
>
> So, what's the proper way, whats the standard? Why can everyone do it
> different with the same meta-model?
>
> Pictures and Code attached,
> -stefan
>
> ------------------------------------------------------------ ------------
>
>
> ------------------------------------------------------------ ------------
>
>
> ------------------------------------------------------------ ------------
>
>
> ------------------------------------------------------------ ------------
>
>
> ------------------------------------------------------------ ------------
>
Re: Uni / Bi Directional Associations 3x different [message #473322 is a reply to message #473321] Sun, 17 February 2008 18:53 Go to previous messageGo to next message
Stefan Kuhn is currently offline Stefan Kuhn
Messages: 355
Registered: July 2009
Senior Member
but it's still confusing that even an unnavigable end gets a property
and that it's not moved inside the association then ...

-stefan


SKuhn wrote:
> oh, my fault- I didn't recognized that there are unnavigable
> associations for both sides. Got it now.
>
> -stefan
>
>
> SKuhn wrote:
>> hi all,
>>
>> I got confused with the properties when I played with eclipse-UML2
>> Associations. I did following:
>>
>> created "quelle" (source) and "senke" (target) 2 times, once connected
>> them with an unidirectional association and once with a bi-Assoc.
>>
>> I did this with:
>> 1) Example code (from
>> uml2/docs/articles/Getting_Started_with_UML2/article.html , attached).
>> 2) UML2 Tools
>> 3) Topcased UML
>>
>> Guess what? right- every approach did something different!
>> 1) Example Code: each class gets a property
>> 2) UML2 Tools: The source of a uni-directional gets a property, all
>> others are in the associations.
>> 3) Topcased: All properties are in the associations
>>
>> So, what's the proper way, whats the standard? Why can everyone do it
>> different with the same meta-model?
>>
>> Pictures and Code attached,
>> -stefan
>>
>> ------------------------------------------------------------ ------------
>>
>>
>> ------------------------------------------------------------ ------------
>>
>>
>> ------------------------------------------------------------ ------------
>>
>>
>> ------------------------------------------------------------ ------------
>>
>>
>> ------------------------------------------------------------ ------------
>>
Re: Uni / Bi Directional Associations 3x different [message #473324 is a reply to message #473322] Mon, 18 February 2008 11:18 Go to previous messageGo to next message
Felix Dorner is currently offline Felix Dorner
Messages: 675
Registered: July 2009
Senior Member
Hi Stefan,

particularly interesting to me is the Topcased result. You say the
properties were owned by the association. Were they also part of the
"navigable owned ends" property of the Association, i.e. marked navigable?

SKuhn wrote:
> but it's still confusing that even an unnavigable end gets a property
> and that it's not moved inside the association then ...

Where is this the case? unnavigable ends are always owned by the
association.


Felix
Re: Uni / Bi Directional Associations 3x different [message #473325 is a reply to message #473324] Mon, 18 February 2008 16:55 Go to previous messageGo to next message
Jacques LESCOT is currently offline Jacques LESCOT
Messages: 247
Registered: July 2009
Senior Member
Stefan and Felix,

It is clear that the UML superstructure specification is quite confusing
about that : this is probably the reason that explain differences
between available UML editors for interpreting that.

As Felix probably know, James Bruck and Kenn Hussey gave more
explanations about this in the thread called "Navigability Semantics of
Associations" in the UML2 newsgroup.

As a developer of the Topcased UML editor, I am still confused about the
right way to define and create association ends ... probably there is
not only one solution !

Jacques

Felix Dorner a écrit :
> Hi Stefan,
>
> particularly interesting to me is the Topcased result. You say the
> properties were owned by the association. Were they also part of the
> "navigable owned ends" property of the Association, i.e. marked navigable?
>
> SKuhn wrote:
>> but it's still confusing that even an unnavigable end gets a property
>> and that it's not moved inside the association then ...
>
> Where is this the case? unnavigable ends are always owned by the
> association.
>
>
> Felix
Re: Uni / Bi Directional Associations 3x different [message #473327 is a reply to message #473324] Mon, 18 February 2008 17:37 Go to previous message
Stefan Kuhn is currently offline Stefan Kuhn
Messages: 355
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------090000070306000308000500
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

hi felix,

for the unidirectional association one end was marked navigable. I've
attached the example.
-stefan

Felix Dorner wrote:
> Hi Stefan,
>
> particularly interesting to me is the Topcased result. You say the
> properties were owned by the association. Were they also part of the
> "navigable owned ends" property of the Association, i.e. marked navigable?
>
> SKuhn wrote:
>> but it's still confusing that even an unnavigable end gets a property
>> and that it's not moved inside the association then ...
>
> Where is this the case? unnavigable ends are always owned by the
> association.
>
>
> Felix


--------------090000070306000308000500
Content-Type: text/xml;
name="My2.uml"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="My2.uml"

<?xml version="1.0" encoding="UTF-8"?>
<uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML" xmi:id="_udeyAN2CEdyTrptNES4aLA">
<packagedElement xmi:type="uml:Class" xmi:id="_71mCoN2CEdyTrptNES4aLA" name="quelle"/>
<packagedElement xmi:type="uml:Class" xmi:id="_8w1i4N2CEdyTrptNES4aLA" name="senke"/>
<packagedElement xmi:type="uml:Association" xmi:id="__foreN2CEdyTrptNES4aLA" name="Association1" memberEnd="__fored2CEdyTrptNES4aLA __forfN2CEdyTrptNES4aLA" navigableOwnedEnd="__forfN2CEdyTrptNES4aLA">
<ownedEnd xmi:id="__fored2CEdyTrptNES4aLA" name="source1" type="_71mCoN2CEdyTrptNES4aLA" association="__foreN2CEdyTrptNES4aLA">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__foret2CEdyTrptNES4aLA" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fore92CEdyTrptNES4aLA" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="__forfN2CEdyTrptNES4aLA" name="target1" type="_8w1i4N2CEdyTrptNES4aLA" association="__foreN2CEdyTrptNES4aLA">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__forfd2CEdyTrptNES4aLA" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="__forft2CEdyTrptNES4aLA" value="1"/>
</ownedEnd>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_AEd20N2DEdyTrptNES4aLA" name="quell2"/>
<packagedElement xmi:type="uml:Class" xmi:id="_A62sQN2DEdyTrptNES4aLA" name="senke2"/>
<packagedElement xmi:type="uml:Association" xmi:id="_Cb0IuN2DEdyTrptNES4aLA" name="Association2" memberEnd="_Cb0Iud2DEdyTrptNES4aLA _Cb0IvN2DEdyTrptNES4aLA">
<ownedEnd xmi:id="_Cb0Iud2DEdyTrptNES4aLA" name="source2" type="_AEd20N2DEdyTrptNES4aLA" association="_Cb0IuN2DEdyTrptNES4aLA">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Cb0Iut2DEdyTrptNES4aLA" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Cb0Iu92DEdyTrptNES4aLA" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="_Cb0IvN2DEdyTrptNES4aLA" name="target2" type="_A62sQN2DEdyTrptNES4aLA" association="_Cb0IuN2DEdyTrptNES4aLA">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Cb0Ivd2DEdyTrptNES4aLA" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Cb0Ivt2DEdyTrptNES4aLA" value="1"/>
</ownedEnd>
</packagedElement>
</uml:Model>

--------------090000070306000308000500
Content-Type: text/xml;
name="My2.umldi"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="My2.umldi"

<?xml version="1.0" encoding="UTF-8"?>
<diagrams:Diagrams xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.topcased.org/DI/1.0" xmlns:diagrams="http://www.topcased.org/Diagrams/1.0" xmi:id="_7JXOwN2CEdyTrptNES4aLA" activeDiagram="_7JXOwd2CEdyTrptNES4aLA">
<model href="My2.uml#_udeyAN2CEdyTrptNES4aLA"/>
<diagrams xmi:id="_7JXOwd2CEdyTrptNES4aLA" position="0,0" size="100,100" name="No name" viewport="0,59">
<property xmi:id="_7Kt5oN2CEdyTrptNES4aLA" key="pageFormatName" value="A4"/>
<property xmi:id="_7KugsN2CEdyTrptNES4aLA" key="diagramWidth" value="840"/>
<property xmi:id="_7Kugsd2CEdyTrptNES4aLA" key="diagramHeight" value="1188"/>
<property xmi:id="_7Kugst2CEdyTrptNES4aLA" key="pageMarginName" value="Small Margin"/>
<property xmi:id="_7Kugs92CEdyTrptNES4aLA" key="diagramTopMargin" value="20"/>
<property xmi:id="_7KugtN2CEdyTrptNES4aLA" key="diagramBottomMargin" value="20"/>
<property xmi:id="_7Kugtd2CEdyTrptNES4aLA" key="diagramLeftMargin" value="20"/>
<property xmi:id="_7Kugtt2CEdyTrptNES4aLA" key="diagramRightMargin" value="20"/>
<property xmi:id="_7Kugt92CEdyTrptNES4aLA" key="orientation" value="portrait"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_7JXOwt2CEdyTrptNES4aLA" presentation="org.topcased.modeler.uml.classdiagram">
<element href="My2.uml#_udeyAN2CEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:GraphNode" xmi:id="_7zkCUN2CEdyTrptNES4aLA" position="120,166" size="100,-1">
<anchorage xmi:id="__ekUcN2CEdyTrptNES4aLA" graphEdge="__forcN2CEdyTrptNES4aLA"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_7zkCUd2CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_71mCoN2CEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:GraphNode" xmi:id="_7zkCUt2CEdyTrptNES4aLA">
<property xmi:id="_7zkCU92CEdyTrptNES4aLA" key="eStructuralFeatureID" value="37"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_7zkCVN2CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_71mCoN2CEdyTrptNES4aLA"/>
</semanticModel>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_7zkCVd2CEdyTrptNES4aLA">
<property xmi:id="_7zkCVt2CEdyTrptNES4aLA" key="eStructuralFeatureID" value="47"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_7zkCV92CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_71mCoN2CEdyTrptNES4aLA"/>
</semanticModel>
</contained>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_8w0UwN2CEdyTrptNES4aLA" position="466,158" size="100,-1">
<anchorage xmi:id="__ek7gN2CEdyTrptNES4aLA" graphEdge="__forcN2CEdyTrptNES4aLA"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_8w0Uwd2CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_8w1i4N2CEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:GraphNode" xmi:id="_8w0Uwt2CEdyTrptNES4aLA">
<property xmi:id="_8w0Uw92CEdyTrptNES4aLA" key="eStructuralFeatureID" value="37"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_8w0UxN2CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_8w1i4N2CEdyTrptNES4aLA"/>
</semanticModel>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_8w0Uxd2CEdyTrptNES4aLA">
<property xmi:id="_8w0Uxt2CEdyTrptNES4aLA" key="eStructuralFeatureID" value="47"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_8w0Ux92CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_8w1i4N2CEdyTrptNES4aLA"/>
</semanticModel>
</contained>
</contained>
<contained xsi:type="di:GraphEdge" xmi:id="__forcN2CEdyTrptNES4aLA" anchor="__ekUcN2CEdyTrptNES4aLA __ek7gN2CEdyTrptNES4aLA">
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="__forcd2CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#__foreN2CEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:EdgeObjectUV" xmi:id="__forct2CEdyTrptNES4aLA" id="srcNameEdgeObject" uDistance="10" vDistance="10"/>
<contained xsi:type="di:EdgeObjectUV" xmi:id="__forc92CEdyTrptNES4aLA" id="srcCountEdgeObject" uDistance="10" vDistance="-10"/>
<contained xsi:type="di:EdgeObjectUV" xmi:id="__fordN2CEdyTrptNES4aLA" id="targetNameEdgeObject" uDistance="10" vDistance="10"/>
<contained xsi:type="di:EdgeObjectUV" xmi:id="__fordd2CEdyTrptNES4aLA" id="targetCountEdgeObject" uDistance="10" vDistance="-10"/>
<contained xsi:type="di:EdgeObjectOffset" xmi:id="__fordt2CEdyTrptNES4aLA" visible="false" id="middleNameEdgeObject" offset="0,10"/>
<contained xsi:type="di:EdgeObjectOffset" xmi:id="__ford92CEdyTrptNES4aLA" id="stereotypeEdgeObject" offset="0,-10"/>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_AEcosN2DEdyTrptNES4aLA" position="98,321" size="100,-1">
<anchorage xmi:id="_CbxscN2DEdyTrptNES4aLA" graphEdge="_Cb0IsN2DEdyTrptNES4aLA"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_AEcosd2DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_AEd20N2DEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:GraphNode" xmi:id="_AEcost2DEdyTrptNES4aLA">
<property xmi:id="_AEcos92DEdyTrptNES4aLA" key="eStructuralFeatureID" value="37"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_AEcotN2DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_AEd20N2DEdyTrptNES4aLA"/>
</semanticModel>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_AEcotd2DEdyTrptNES4aLA">
<property xmi:id="_AEcott2DEdyTrptNES4aLA" key="eStructuralFeatureID" value="47"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_AEcot92DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_AEd20N2DEdyTrptNES4aLA"/>
</semanticModel>
</contained>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_A61eIN2DEdyTrptNES4aLA" position="403,322" size="100,-1">
<anchorage xmi:id="_CbyTgN2DEdyTrptNES4aLA" graphEdge="_Cb0IsN2DEdyTrptNES4aLA"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_A61eId2DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_A62sQN2DEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:GraphNode" xmi:id="_A61eIt2DEdyTrptNES4aLA">
<property xmi:id="_A61eI92DEdyTrptNES4aLA" key="eStructuralFeatureID" value="37"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_A61eJN2DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_A62sQN2DEdyTrptNES4aLA"/>
</semanticModel>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_A61eJd2DEdyTrptNES4aLA">
<property xmi:id="_A61eJt2DEdyTrptNES4aLA" key="eStructuralFeatureID" value="47"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_A61eJ92DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_A62sQN2DEdyTrptNES4aLA"/>
</semanticModel>
</contained>
</contained>
<contained xsi:type="di:GraphEdge" xmi:id="_Cb0IsN2DEdyTrptNES4aLA" anchor="_CbxscN2DEdyTrptNES4aLA _CbyTgN2DEdyTrptNES4aLA">
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_Cb0Isd2DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_Cb0IuN2DEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:EdgeObjectUV" xmi:id="_Cb0Ist2DEdyTrptNES4aLA" id="srcNameEdgeObject" uDistance="10" vDistance="10"/>
<contained xsi:type="di:EdgeObjectUV" xmi:id="_Cb0Is92DEdyTrptNES4aLA" id="srcCountEdgeObject" uDistance="10" vDistance="-10"/>
<contained xsi:type="di:EdgeObjectUV" xmi:id="_Cb0ItN2DEdyTrptNES4aLA" id="targetNameEdgeObject" uDistance="10" vDistance="10"/>
<contained xsi:type="di:EdgeObjectUV" xmi:id="_Cb0Itd2DEdyTrptNES4aLA" id="targetCountEdgeObject" uDistance="10" vDistance="-10"/>
<contained xsi:type="di:EdgeObjectOffset" xmi:id="_Cb0Itt2DEdyTrptNES4aLA" visible="false" id="middleNameEdgeObject" offset="0,10"/>
<contained xsi:type="di:EdgeObjectOffset" xmi:id="_Cb0It92DEdyTrptNES4aLA" id="stereotypeEdgeObject" offset="0,-10"/>
</contained>
</diagrams>
</diagrams:Diagrams>

--------------090000070306000308000500--
Re: Uni / Bi Directional Associations 3x different [message #618438 is a reply to message #473317] Sun, 17 February 2008 18:50 Go to previous message
Stefan Kuhn is currently offline Stefan Kuhn
Messages: 355
Registered: July 2009
Senior Member
oh, my fault- I didn't recognized that there are unnavigable
associations for both sides. Got it now.

-stefan


SKuhn wrote:
> hi all,
>
> I got confused with the properties when I played with eclipse-UML2
> Associations. I did following:
>
> created "quelle" (source) and "senke" (target) 2 times, once connected
> them with an unidirectional association and once with a bi-Assoc.
>
> I did this with:
> 1) Example code (from
> uml2/docs/articles/Getting_Started_with_UML2/article.html , attached).
> 2) UML2 Tools
> 3) Topcased UML
>
> Guess what? right- every approach did something different!
> 1) Example Code: each class gets a property
> 2) UML2 Tools: The source of a uni-directional gets a property, all
> others are in the associations.
> 3) Topcased: All properties are in the associations
>
> So, what's the proper way, whats the standard? Why can everyone do it
> different with the same meta-model?
>
> Pictures and Code attached,
> -stefan
>
> ------------------------------------------------------------ ------------
>
>
> ------------------------------------------------------------ ------------
>
>
> ------------------------------------------------------------ ------------
>
>
> ------------------------------------------------------------ ------------
>
>
> ------------------------------------------------------------ ------------
>
Re: Uni / Bi Directional Associations 3x different [message #618439 is a reply to message #473321] Sun, 17 February 2008 18:53 Go to previous message
Stefan Kuhn is currently offline Stefan Kuhn
Messages: 355
Registered: July 2009
Senior Member
but it's still confusing that even an unnavigable end gets a property
and that it's not moved inside the association then ...

-stefan


SKuhn wrote:
> oh, my fault- I didn't recognized that there are unnavigable
> associations for both sides. Got it now.
>
> -stefan
>
>
> SKuhn wrote:
>> hi all,
>>
>> I got confused with the properties when I played with eclipse-UML2
>> Associations. I did following:
>>
>> created "quelle" (source) and "senke" (target) 2 times, once connected
>> them with an unidirectional association and once with a bi-Assoc.
>>
>> I did this with:
>> 1) Example code (from
>> uml2/docs/articles/Getting_Started_with_UML2/article.html , attached).
>> 2) UML2 Tools
>> 3) Topcased UML
>>
>> Guess what? right- every approach did something different!
>> 1) Example Code: each class gets a property
>> 2) UML2 Tools: The source of a uni-directional gets a property, all
>> others are in the associations.
>> 3) Topcased: All properties are in the associations
>>
>> So, what's the proper way, whats the standard? Why can everyone do it
>> different with the same meta-model?
>>
>> Pictures and Code attached,
>> -stefan
>>
>> ------------------------------------------------------------ ------------
>>
>>
>> ------------------------------------------------------------ ------------
>>
>>
>> ------------------------------------------------------------ ------------
>>
>>
>> ------------------------------------------------------------ ------------
>>
>>
>> ------------------------------------------------------------ ------------
>>
Re: Uni / Bi Directional Associations 3x different [message #618440 is a reply to message #473322] Mon, 18 February 2008 11:18 Go to previous message
Felix Dorner is currently offline Felix Dorner
Messages: 675
Registered: July 2009
Senior Member
Hi Stefan,

particularly interesting to me is the Topcased result. You say the
properties were owned by the association. Were they also part of the
"navigable owned ends" property of the Association, i.e. marked navigable?

SKuhn wrote:
> but it's still confusing that even an unnavigable end gets a property
> and that it's not moved inside the association then ...

Where is this the case? unnavigable ends are always owned by the
association.


Felix
Re: Uni / Bi Directional Associations 3x different [message #618441 is a reply to message #473324] Mon, 18 February 2008 16:55 Go to previous message
Jacques LESCOT is currently offline Jacques LESCOT
Messages: 247
Registered: July 2009
Senior Member
Stefan and Felix,

It is clear that the UML superstructure specification is quite confusing
about that : this is probably the reason that explain differences
between available UML editors for interpreting that.

As Felix probably know, James Bruck and Kenn Hussey gave more
explanations about this in the thread called "Navigability Semantics of
Associations" in the UML2 newsgroup.

As a developer of the Topcased UML editor, I am still confused about the
right way to define and create association ends ... probably there is
not only one solution !

Jacques

Felix Dorner a écrit :
> Hi Stefan,
>
> particularly interesting to me is the Topcased result. You say the
> properties were owned by the association. Were they also part of the
> "navigable owned ends" property of the Association, i.e. marked navigable?
>
> SKuhn wrote:
>> but it's still confusing that even an unnavigable end gets a property
>> and that it's not moved inside the association then ...
>
> Where is this the case? unnavigable ends are always owned by the
> association.
>
>
> Felix
Re: Uni / Bi Directional Associations 3x different [message #618442 is a reply to message #473324] Mon, 18 February 2008 17:37 Go to previous message
Stefan Kuhn is currently offline Stefan Kuhn
Messages: 355
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------090000070306000308000500
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

hi felix,

for the unidirectional association one end was marked navigable. I've
attached the example.
-stefan

Felix Dorner wrote:
> Hi Stefan,
>
> particularly interesting to me is the Topcased result. You say the
> properties were owned by the association. Were they also part of the
> "navigable owned ends" property of the Association, i.e. marked navigable?
>
> SKuhn wrote:
>> but it's still confusing that even an unnavigable end gets a property
>> and that it's not moved inside the association then ...
>
> Where is this the case? unnavigable ends are always owned by the
> association.
>
>
> Felix


--------------090000070306000308000500
Content-Type: text/xml;
name="My2.uml"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="My2.uml"

<?xml version="1.0" encoding="UTF-8"?>
<uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML" xmi:id="_udeyAN2CEdyTrptNES4aLA">
<packagedElement xmi:type="uml:Class" xmi:id="_71mCoN2CEdyTrptNES4aLA" name="quelle"/>
<packagedElement xmi:type="uml:Class" xmi:id="_8w1i4N2CEdyTrptNES4aLA" name="senke"/>
<packagedElement xmi:type="uml:Association" xmi:id="__foreN2CEdyTrptNES4aLA" name="Association1" memberEnd="__fored2CEdyTrptNES4aLA __forfN2CEdyTrptNES4aLA" navigableOwnedEnd="__forfN2CEdyTrptNES4aLA">
<ownedEnd xmi:id="__fored2CEdyTrptNES4aLA" name="source1" type="_71mCoN2CEdyTrptNES4aLA" association="__foreN2CEdyTrptNES4aLA">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__foret2CEdyTrptNES4aLA" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fore92CEdyTrptNES4aLA" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="__forfN2CEdyTrptNES4aLA" name="target1" type="_8w1i4N2CEdyTrptNES4aLA" association="__foreN2CEdyTrptNES4aLA">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__forfd2CEdyTrptNES4aLA" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="__forft2CEdyTrptNES4aLA" value="1"/>
</ownedEnd>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_AEd20N2DEdyTrptNES4aLA" name="quell2"/>
<packagedElement xmi:type="uml:Class" xmi:id="_A62sQN2DEdyTrptNES4aLA" name="senke2"/>
<packagedElement xmi:type="uml:Association" xmi:id="_Cb0IuN2DEdyTrptNES4aLA" name="Association2" memberEnd="_Cb0Iud2DEdyTrptNES4aLA _Cb0IvN2DEdyTrptNES4aLA">
<ownedEnd xmi:id="_Cb0Iud2DEdyTrptNES4aLA" name="source2" type="_AEd20N2DEdyTrptNES4aLA" association="_Cb0IuN2DEdyTrptNES4aLA">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Cb0Iut2DEdyTrptNES4aLA" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Cb0Iu92DEdyTrptNES4aLA" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="_Cb0IvN2DEdyTrptNES4aLA" name="target2" type="_A62sQN2DEdyTrptNES4aLA" association="_Cb0IuN2DEdyTrptNES4aLA">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Cb0Ivd2DEdyTrptNES4aLA" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Cb0Ivt2DEdyTrptNES4aLA" value="1"/>
</ownedEnd>
</packagedElement>
</uml:Model>

--------------090000070306000308000500
Content-Type: text/xml;
name="My2.umldi"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="My2.umldi"

<?xml version="1.0" encoding="UTF-8"?>
<diagrams:Diagrams xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.topcased.org/DI/1.0" xmlns:diagrams="http://www.topcased.org/Diagrams/1.0" xmi:id="_7JXOwN2CEdyTrptNES4aLA" activeDiagram="_7JXOwd2CEdyTrptNES4aLA">
<model href="My2.uml#_udeyAN2CEdyTrptNES4aLA"/>
<diagrams xmi:id="_7JXOwd2CEdyTrptNES4aLA" position="0,0" size="100,100" name="No name" viewport="0,59">
<property xmi:id="_7Kt5oN2CEdyTrptNES4aLA" key="pageFormatName" value="A4"/>
<property xmi:id="_7KugsN2CEdyTrptNES4aLA" key="diagramWidth" value="840"/>
<property xmi:id="_7Kugsd2CEdyTrptNES4aLA" key="diagramHeight" value="1188"/>
<property xmi:id="_7Kugst2CEdyTrptNES4aLA" key="pageMarginName" value="Small Margin"/>
<property xmi:id="_7Kugs92CEdyTrptNES4aLA" key="diagramTopMargin" value="20"/>
<property xmi:id="_7KugtN2CEdyTrptNES4aLA" key="diagramBottomMargin" value="20"/>
<property xmi:id="_7Kugtd2CEdyTrptNES4aLA" key="diagramLeftMargin" value="20"/>
<property xmi:id="_7Kugtt2CEdyTrptNES4aLA" key="diagramRightMargin" value="20"/>
<property xmi:id="_7Kugt92CEdyTrptNES4aLA" key="orientation" value="portrait"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_7JXOwt2CEdyTrptNES4aLA" presentation="org.topcased.modeler.uml.classdiagram">
<element href="My2.uml#_udeyAN2CEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:GraphNode" xmi:id="_7zkCUN2CEdyTrptNES4aLA" position="120,166" size="100,-1">
<anchorage xmi:id="__ekUcN2CEdyTrptNES4aLA" graphEdge="__forcN2CEdyTrptNES4aLA"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_7zkCUd2CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_71mCoN2CEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:GraphNode" xmi:id="_7zkCUt2CEdyTrptNES4aLA">
<property xmi:id="_7zkCU92CEdyTrptNES4aLA" key="eStructuralFeatureID" value="37"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_7zkCVN2CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_71mCoN2CEdyTrptNES4aLA"/>
</semanticModel>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_7zkCVd2CEdyTrptNES4aLA">
<property xmi:id="_7zkCVt2CEdyTrptNES4aLA" key="eStructuralFeatureID" value="47"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_7zkCV92CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_71mCoN2CEdyTrptNES4aLA"/>
</semanticModel>
</contained>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_8w0UwN2CEdyTrptNES4aLA" position="466,158" size="100,-1">
<anchorage xmi:id="__ek7gN2CEdyTrptNES4aLA" graphEdge="__forcN2CEdyTrptNES4aLA"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_8w0Uwd2CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_8w1i4N2CEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:GraphNode" xmi:id="_8w0Uwt2CEdyTrptNES4aLA">
<property xmi:id="_8w0Uw92CEdyTrptNES4aLA" key="eStructuralFeatureID" value="37"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_8w0UxN2CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_8w1i4N2CEdyTrptNES4aLA"/>
</semanticModel>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_8w0Uxd2CEdyTrptNES4aLA">
<property xmi:id="_8w0Uxt2CEdyTrptNES4aLA" key="eStructuralFeatureID" value="47"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_8w0Ux92CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_8w1i4N2CEdyTrptNES4aLA"/>
</semanticModel>
</contained>
</contained>
<contained xsi:type="di:GraphEdge" xmi:id="__forcN2CEdyTrptNES4aLA" anchor="__ekUcN2CEdyTrptNES4aLA __ek7gN2CEdyTrptNES4aLA">
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="__forcd2CEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#__foreN2CEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:EdgeObjectUV" xmi:id="__forct2CEdyTrptNES4aLA" id="srcNameEdgeObject" uDistance="10" vDistance="10"/>
<contained xsi:type="di:EdgeObjectUV" xmi:id="__forc92CEdyTrptNES4aLA" id="srcCountEdgeObject" uDistance="10" vDistance="-10"/>
<contained xsi:type="di:EdgeObjectUV" xmi:id="__fordN2CEdyTrptNES4aLA" id="targetNameEdgeObject" uDistance="10" vDistance="10"/>
<contained xsi:type="di:EdgeObjectUV" xmi:id="__fordd2CEdyTrptNES4aLA" id="targetCountEdgeObject" uDistance="10" vDistance="-10"/>
<contained xsi:type="di:EdgeObjectOffset" xmi:id="__fordt2CEdyTrptNES4aLA" visible="false" id="middleNameEdgeObject" offset="0,10"/>
<contained xsi:type="di:EdgeObjectOffset" xmi:id="__ford92CEdyTrptNES4aLA" id="stereotypeEdgeObject" offset="0,-10"/>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_AEcosN2DEdyTrptNES4aLA" position="98,321" size="100,-1">
<anchorage xmi:id="_CbxscN2DEdyTrptNES4aLA" graphEdge="_Cb0IsN2DEdyTrptNES4aLA"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_AEcosd2DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_AEd20N2DEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:GraphNode" xmi:id="_AEcost2DEdyTrptNES4aLA">
<property xmi:id="_AEcos92DEdyTrptNES4aLA" key="eStructuralFeatureID" value="37"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_AEcotN2DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_AEd20N2DEdyTrptNES4aLA"/>
</semanticModel>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_AEcotd2DEdyTrptNES4aLA">
<property xmi:id="_AEcott2DEdyTrptNES4aLA" key="eStructuralFeatureID" value="47"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_AEcot92DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_AEd20N2DEdyTrptNES4aLA"/>
</semanticModel>
</contained>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_A61eIN2DEdyTrptNES4aLA" position="403,322" size="100,-1">
<anchorage xmi:id="_CbyTgN2DEdyTrptNES4aLA" graphEdge="_Cb0IsN2DEdyTrptNES4aLA"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_A61eId2DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_A62sQN2DEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:GraphNode" xmi:id="_A61eIt2DEdyTrptNES4aLA">
<property xmi:id="_A61eI92DEdyTrptNES4aLA" key="eStructuralFeatureID" value="37"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_A61eJN2DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_A62sQN2DEdyTrptNES4aLA"/>
</semanticModel>
</contained>
<contained xsi:type="di:GraphNode" xmi:id="_A61eJd2DEdyTrptNES4aLA">
<property xmi:id="_A61eJt2DEdyTrptNES4aLA" key="eStructuralFeatureID" value="47"/>
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_A61eJ92DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_A62sQN2DEdyTrptNES4aLA"/>
</semanticModel>
</contained>
</contained>
<contained xsi:type="di:GraphEdge" xmi:id="_Cb0IsN2DEdyTrptNES4aLA" anchor="_CbxscN2DEdyTrptNES4aLA _CbyTgN2DEdyTrptNES4aLA">
<semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_Cb0Isd2DEdyTrptNES4aLA" presentation="default">
<element href="My2.uml#_Cb0IuN2DEdyTrptNES4aLA"/>
</semanticModel>
<contained xsi:type="di:EdgeObjectUV" xmi:id="_Cb0Ist2DEdyTrptNES4aLA" id="srcNameEdgeObject" uDistance="10" vDistance="10"/>
<contained xsi:type="di:EdgeObjectUV" xmi:id="_Cb0Is92DEdyTrptNES4aLA" id="srcCountEdgeObject" uDistance="10" vDistance="-10"/>
<contained xsi:type="di:EdgeObjectUV" xmi:id="_Cb0ItN2DEdyTrptNES4aLA" id="targetNameEdgeObject" uDistance="10" vDistance="10"/>
<contained xsi:type="di:EdgeObjectUV" xmi:id="_Cb0Itd2DEdyTrptNES4aLA" id="targetCountEdgeObject" uDistance="10" vDistance="-10"/>
<contained xsi:type="di:EdgeObjectOffset" xmi:id="_Cb0Itt2DEdyTrptNES4aLA" visible="false" id="middleNameEdgeObject" offset="0,10"/>
<contained xsi:type="di:EdgeObjectOffset" xmi:id="_Cb0It92DEdyTrptNES4aLA" id="stereotypeEdgeObject" offset="0,-10"/>
</contained>
</diagrams>
</diagrams:Diagrams>

--------------090000070306000308000500--
Previous Topic:Uni / Bi Directional Associations 3x different
Next Topic:How do I enter a simple class description?
Goto Forum:
  


Current Time: Tue Sep 16 19:29:01 GMT 2014

Powered by FUDForum. Page generated in 0.05310 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software