From 107d3fbeb26bef6de160b310999008f33d317ace Mon Sep 17 00:00:00 2001 From: Serg Melikyan Date: Fri, 5 Apr 2013 18:46:23 +0400 Subject: [PATCH] Added part of API Specification --- .../src/docbkx/figures/api_workflow.png | Bin 0 -> 26028 bytes .../src/docbkx/glazier-manual.xml | 290 +++++++++++++++++- 2 files changed, 287 insertions(+), 3 deletions(-) create mode 100755 docs/src/glazier-manual/src/docbkx/figures/api_workflow.png diff --git a/docs/src/glazier-manual/src/docbkx/figures/api_workflow.png b/docs/src/glazier-manual/src/docbkx/figures/api_workflow.png new file mode 100755 index 0000000000000000000000000000000000000000..e1e19f82369dafbdb9b98b5c73c4f5a5fadb221e GIT binary patch literal 26028 zcmZ_01yq$?w>G?y?ohfLX_1r`2|>W3ySuxQR=Pz%KtQCsyIZ# z{NEnKu^Gy}V$N$`^O|$5+s|(mq%qM*&>#>9=4+W(?;#KbItT zE2HKBfnasO{=mhvV39%~RFK!N#6P;u?lsDX73e{h4s0RnqpqUQmPdzfjk+vmA4H; z?|!QJp!;mnBO)uoahohPaw*byb8E!0T46%VNk{3Tdju>5e0-nqui*au38D}G_ZtT+ z3VeL0|9(NlEdTii|B5ErykxWVELFjc77R#v6~#SoOm7Nw2#PoYH_tTDVCt**2XE zaZPxWw-CF#yQ}t#J%}NYmZIr(yyhk%tYAVyLhm;RgM*ln=%sLwz^tVMi>Fh4P0Ktd zR}B;96XrbD6>tzLl+ez$w(QA9T_KA4uZv@2AHEa83=~B7DrYR|4TE|&X*d!#*ksx2 z%F2p1zTUIOtT0+IzpH9h(1LziN{X!o90W2$bu_$l_HFPdZ~Bqzz+YRT5{FB9Q&41! z0%X7wga*nXRv_4YM}?WEUzamvb@|;jaMP$kt)_XVfUt0OH4^xzyf#zrFQ=0=wY3@5 zNWcS(0xN;mwYt)lklp5=6?0Z~+^Z?BHsMm4863xkU|{;|JMUXRFOjqpL*Q+};XUU{ zKTR#IBc@};tZJ$9nbjl+L@ckML6`9-VJTb*D%)dq!CeRR!7O@B@2?6uP{BzpO;sCA zOfo)zl_<>E-qq{t+1FT)XuxO|#8|;q?=>|wRX;1$79!}c!xb*vzqfY!#Vtif1qTtE z9oRTIa-DB9&@xWfD*2F&1}6ACV!BHB4aeRVmlRo=rAEhgSQ^?n@fhqR7@@1T_j5B0 zCOe@*#2rX2-%oGuWHLTG87Xx`p9Sv_+q$`J5fYCZOfhDlzN}UkR0-Zl1aG5*#J(jF{3P>chW!t^(i{>P#@F{~|R) z>D#D6R^gJB@G<5vX$YooYHedr9io5d5VY_UH)Bid={*BeH1Em#m17r4ybKPEQMuc?noAAP}4{ zGnU2|+dIxzN3NDv0RhJVpnipdgT~Kea(A~^Uy|@smkK=VD*77KPOXRmb~Su(QK&Ew zG^Hwqd{+ZZO&vXzkNC?AIrD-k)LMsBp)%ACgi_VZePFwAMA_c%y^EW;N@4!$>S|t^jg1W! zIfW#Wj7U5%suQYaccD{p>3#EcYT%XK>>i|e}Y1w%dtrO7fiJDGyw?>zF~;Pys2mL;ZRH;F~ta$Fbi9=-@1OVR@jCBFg*MS zq+KLcK!2OHQb<6eFzlZhc(a(lz2Tyw=zi~=BU$gh?OZP;0f9{Wx9aL@^ag$5NL65b zA2Q0}qgcbE53h^t<6;z%7&>9coh<)dRdsf+ilT{y(aFuNR($F;jyeyg6{O%80x983 zaKsfb56iq`@}5;HomzaIJoPRPv;Nw)}SjwPl zvL^yk?mQiRO;8Gl({g0Rn;h*YBb4y5wxNMLTl_Z|*YI`yLRCnR#}GmG>+Q1_H&4J0 zF;1@L@n6-|)cpCB6`Z}bLoKariz%KnHqy7a=d3ml7&#l$)Zwum%q{+vNW}|wPEPbL z&PG8&XOrm|l6k7wQ$3v(JSxZShGstiFYA@6S054OE!(OVPpvWHREEMxf{n&IE=~?@ zLl;V=YTi`5S+Re^)h@E^4H%`(-ahytzEgjhFsyV}-g*kaSCBJ#aJT37`nt|5SmfEB zIQyk|$(Qx2Z|LZ0l^==o#aYSqb;L0rLBzy-TFhs!W!sh7rx^Du^5^!BVZl46&q&~% ziDVYm(^{KA>gUYWZif0=L`9D?hSl0gEW`vJ;u~eXMm{NKz?Jm1ZrFJBN6s#P*o$X? zRji^P%qa>Fdemz*n$;pjrc^@42f_d?FR68VoF}1VoPY%*(7iucjOmoljQ03M9!$;q zcgFm#v$M*ZK2MRv+mKcGQ}@Prc8;uW#}|9^xGGQ7FKGD|0JeJ7SP6=>3Oe~;t&r>< zzWWwn0%Cm{%|XMf)Xu@-F-M@`)K60NTd@SePn~Z^q`_RHx?D*G`9fyz5quzk&HXpb z6SETBET>4Kf8}k6BJD+0MW3%MZaG>~O=eJ+pr{v>0Dl=2=)RtR4GUt1g5iJ^6;x~u zX&NO4B!9R-<>zlnl;L*Q*NxlzcV%81WVEip0A!y$NVNs#{+kb4n|stYvG}xVZP75^Y9qNaBb~)*=1f(vLjrcVc}|3( z`Jp*BHa0mq`G{Qo1FLY0;EnWP?tV50Qu zaz;TdFgwGQ^CgEBW>p!2is>~?cel23?3oBpKpM}zF&cj9jb|{d2%I9tJJi?B#x=#XGg1V3OV~NrGO+*lU&z`0Q4sf;j1q?X+-QH{((Nmc0f38x>T;ssg%$?Tm~_tu&FwWiOvQGQ|J`0bJ@?&QIE zwLm~is^JYvqOyJbA|jLKezYE91)C-4sU#Rk_s#5y{ZPRg>qlUv<2z@rKYkuyhjkmQ zxWYm}cMEQm^gUt1{TjzJb;o%T-D_XN#~?9wcpR2CN=84jU1X)Xa^Bb+|rVS>lSZZ(?h zY-%Z(C;(Xa31|elg3AQooa^_bRqZ0aBWGP(z9k7qQUp9#*1=q^qp5kw1U#&vC%J!H z_xOm=v0iHjZ(EjH-2G)+JYhp!oqAHPjh(gfuP=-sPbLXqC_g>Ay!^_p2%?HSYIL~G z&gLrDyIHY+`(x=f1+IdEg6l3&ILyaz*4EaVm#4rRymvj(la4Qh1qH{7Ua9g>@#-R1 zI8VnjA(mr@PSj1jTr#ihg4z{Nm6Kw4Ap!*n*#fkB%PNoDTIW0Mo5j^`gW~S)K5Jcl zWP#mgUmM2gsZon9>L`B$cc%!Pw2R~j1PybmDJhLJ2@WX^O3dM} zOwzl%;YQnMAyC2>P%3NN_(%$J@>@+E9cgERtuL2Ibitp{K7#d;b5>VQ?Of@^)s@_0 zHpgQZSs_)Zvk6aW{i5T83N;Kxc(lUP?pt5%J=M|tOjbaIt`w9=-%EGGAPJpFvZ{G=& z5xSP3sA%HQvnGje!(DO_D2k}*o70{4bVk-(NtgJKI5;@$cB!84+P9}VV+KoHC>C+D zQ~LmWT5Vn2+$a1Ts$XEwF`eNg!eD1-r=yq@J{&QvD5EP?65D`#6bF$@imf}u6kUAJ zW?zR9MFDDyCxLU;bU}shv*`)V41Vmh!C?2-VTdU_G2Y-dbj_7&Q_(_=&vIa5{Tl4-fBgjNLj4^0_f3_n`NsmcibdJRB zoVj~16#|{p@JP(^$=4%Svf3IUnOCvim_9}$`gFlx<=I&im>q1Go@_r#M|<^xgeQ5h zr;jpM3M~pj4n+toUj8u^Z(g9_{1=?9nIvL${{d>=U$%rewYbiO%hG1j4F2`{F|no8 zx$uy_Ps;x1~hHp&$&_jVR_vn}Mi;7OsfI7#GB#KOqP}8NjD7>rLWNg0~ zHc{z2x?P1a8wWiT>@tT38I5H5Us+ZUyYp!BQCQ!JC+TUmO;!E(HwHks$hp=K?Mp1! z!L?+39W<_D*iJ-i+5g$%)P5=7P9qTje=zK5AWkH|Cfh`AXY< zw#J0rgoX`I}@^hE0uSEr?)qS=-a3Xhdm6q=ztQaWc7%JUu_=evGDB& zPC}@B9}X4om+;+r*7?`yg1RBEHfITAyGN%hgPeJEdf()X$p}2DZK$c*!ZpM8w4rH2 z{9sk|4h0gZ%bT1u`fI|R%dJ1O9N*WULWXqknH8p)y zXQWq=wmm`G#e@fwIcBw7>O(OYh(nk-q@7&~SOty0`$#d$o!wG;9S{ofI)ezt?fvK_ z2kPnHJcr*G?&p>^G&*C3FcBnpx!Bn)`;7Rh-a?UHM}w+;mP$<4)cp1QtW@z#&GM|~ zqMxM1;V=M%>%7wX5&3;(kVrKX$panhva*Yf9cnHK+Tt1e#4m`fFZso#OTYci z%9X1!Z9va!etrTsaTs;<`KDzU<)9=q7P58!rijTgnMs&5pAc8>6KN`R0lw5O63qMymBx|1S<5{}_v6mQW?VBRMGyErBM z;oAxE%6>in9|Rfr+Dm1(`AW{QvJ~?(#?UX0dLNyUo_x+zXHT3(xy_@7%seLvXRY)X zAq7xmc9ts&XFGNZ)ybRMnYFBd?_I#a6J9$P=$Ch-)=+=->(6&ZO%}U2Br$hypDwn6 zg0k9Bxl%6QXba5H80=9cR9(@!g(CTnB(jh6Gi7=-*F++uXm92RE~!*vp-0o$Ge4@O ztVd+15#iq3U+Z3yiXdE!X9kkyjl_7rAA$2tDjJE~-dAI(@1nFpz)D$z_;bR%a9-t9*2;V47jAPk61_59`Y9PD^q#l499{Cw-`dalP} z^_Im`v|^7T%w<^hYrl_~XeRgz_DzoawOIu4-*H6~8mf5{LIAjo3kYi#`Ym*hXkDyS zNU?%v9~fdkFFdDH{9#%>$6~WRR&+^zjwU+!N5TKO_5GzsdrgRa-&9J&{r|7by z>ni6_W6{9NKbE%mY+hL}m~2sPaad{Rmyr{<9pth>9|hH?ud_2SmF)E>P+N%^pOz&O zWYl}Q4T#OU=D>=+8s!`WIiaK*xGwj)7zKaIXO9_ z!8Ih1r+TT}1?71*$xR1q(xnVKM1{YlSMem4ly&0v1h1AE54Lu)K1-;wG7Mv~qnb%<<;a_I*y;&_n&w!#S6l!d4~8DZdt7aj}B&PaNfJCcOvbPoEYw$Gk=f34dgO zJXh6v`8`|fXHHzURku^Ju!;o@#g+kLYiU#!=8&30%Q<`yJeAU*kEdsfnt6d1hqMCm z?o^4VW4)!F%JA&d-QwsSLf^&_%c-oGxbS}LX3lR5-oq1wIHZVOx85py9qs~GF%oEW zmuG%jg8(R)g85G=+24^*%)&!G*;5ldN-JzL%)9;9%gtK6_QWJ zIA=eYU$A+TYN12~tbx+1cq-Oo`9}pDl~QPId6WG}IoikM=gsZstsx)%ZD-rBJfrU^ zoae%(ec!51fA`5SA+(M@k$;Z4KLJZL%7$~1u2;QRBkrN}T$9nVMzn_; zn^;0BSuQ)aUMYkbSp-2WuO?3rxcaEfJ0XS5^FdoD4x0U7+9nq2(6Yq%{-p0Uxz~cX zrXgZgnbVU!U*F48e3oJ!Zc?`1*w4rz;Xm{Rzxb#dZ?`pfL@gDsiRmbQZ_dyfyJIb+ zVt?Ec7nYC=%8yx;?O?o$SmtB1)0R6dQuVcHGSELE38%p)T-~`DZHsWK#FPE9>F{7Z zBLlsa?BBh_x>?vhtGgosq&oJpcdqu)WsR-Kpq1cVSjXFG!d!oBfPlxMxuYsHufI6^ zC(R$YByD>0;InZbVNO&nm%zc7M0Dzp>^aj?J6xm5VpGxgE_ZX7HO31Xg_i7)Q!L-! zHjJ2NEo{AXZ?`ER5C|?iRDY>P#m_#_I?(DOqq&Sw#s{pZ`$p!niX1z!Oqk&c^QTwZ zrB`4j`gn7lmqIf>8#$L$Ce`xB#bneX=r?iOA&Fx)#!9SwbDsoRpU#WA zQ|$i|NU{(knw6ZG-QjHv=X21<_TSKOuLW3oq{8O_5Py(ygm7 zm`jt~B0gkXKUKFp@FJcfiK6&fdbiiLke8a8+RMi|md=by#fuh(o_H$gIGgb@%HPW3 zS^aSg_x{;+XB(7ANPwlywU4@;)J&0*0k#91%@srcY{ z^v1_dpc=28EFr@FB>f17te*F@k)^x_sL~mOtk$JI&wb%dP(0p!*2;?tLPtK8nEx2I zd-E+}owo!IPCs+{CWV9768Q^RMyLPf#p3eq82VnOp%*#9Yw_lm+CYa_dFHbMn~k4r zAtlIFb=Nsn%8Y$%{mPk>D_Z_pL4qq+_Sg3*lo@%R;XUu|!hnOIa?w7IRV#AetPbs@vLb`i?W}SEJ<h`LH}ML%~A~bPKaG| z6swAMilhkVRhxg&nmuvkS9Ml`>#gwol==qaqcV&-IBsTk89zui@>9ja8UF1%fNBiMGa`h3hS#ig$c|Dgi z)cTr$_KB&9iT)`N#Hy+DnbHy&HDd(Z$%QZ(J{z1GNpI!qpK*KHNO)u1#Xz`hOX%oc zr2bx~XCFmw5940u(8VuWo!EMu3p=dva81bVJ5jD_RHh+Mai3n$In2#l$TTGuCMZYnE`N@^uUBjI z`Mi95bh}$%wXY4qtE1d$qt`U+SQYn&goMKzpoT=F<;?gl^0TTh?X7R0o>t6QR?Y1x z=i~P#P`@Rm;$PpHGUr*Er=ueYmqH?7499Jzu&YFdV&3zs1jUueonh8DkCAFt!Nc@N z*Uv)9n|bjtwYh2DE7B+=|JIh2&mlg~DIyorZ38iJ$mC+n>k*SO4(8_stn<9sSlRoF zPxM+Vygz9XH}N9gxkWiJ{X$`=;xjQ){f(D>2+NZd(LJ+;w;%H-Ui2J*Wj;|}pSB@7 z$h^|^$ICs!hV+(N^V)B+CA>ykI#^6KFLJ)+pIHUbU|gPCY-+duig>g=pkp1&%Xy>9 zIt{c+R>}8hyc?RT8e4UJ7k_=5o-P?qZr2k*jzp)T>R%gGAih4m2i?EFcLCfgQ0hG} zyjH5mD~DqezcRkIyLbujbB>Ya#T2w;qYoJ<1Z+(u3zBAj&#qAA{+cQXr;lO zf9I?nL$)V)N-2Nz^Ti2ZV`{tBi#fwjky5mxO78^Uf^_0m0X=f%B$|HzBXxkCZ$(xj z6kQ^LnPgZd+XoPiKniw8E}qz|d%HE~YC>UyV#2IqCEfnsULoZh3r2ZY*C-r$V?xYd z3t4k}MMBl1gll-0cK%H_;w!M;$)}ykiVwob8Sn_0ES`*;d*(WUd;rBuw@tJ$7 z8>kK1bgPlUx!lcF<|;}8sQ@t_AK#J4N)-!^7-AG==19+zd!VjKoEfW!*ki%X1G~H^ z`foPTwy0JwP*BAzdJknFT*{EH zAAwP)>nge}A9M;*KSWjNvat{l{V`woxloMeS>Y#rEJ8~-vy*}mE=M=)+#U+2TV8C_ zpN`X#0c0(ku~ z)jOR;a7h@xGq)(Hs+2X(h^@KT^PtFlhUUxun=$FA!3P@#NtwXRp28vJ~y1?(Hp zYgm?_V=6D~kAOL~N+W+;s;*c7l{)Vg$2Z_Hg~95V2NHZgCCY)wf5CI|d9s>@p^8{&a@t3Wqj zkpGC3<*aXE1xlsSz7X;BxHu^!{1k^9!qM`bPV;3)2fC^tT#u10ZAxrwYqaG_>q%QR2ekG!v zfG!|UZ|cd--qUZt;(h_eNo_|QoNREqmNhG&c`P?DVhT<-h&gG{o!u{a=jSw)H+d9n zY-eGz z0oFuW2lsbJXpx8itEY;f99kivniw5rkyy?(#560H#(Z-{aZLO*3D^t1eVNmH(x|o7 zyTk@3^5p!S7f(zxe}c&}5%YZ2rS5InKoS*w4@8#{6DMybu*rXNx~7|;*ihaEQzp{5 zymrT0-(xbU1RbLNla>)NinPKbk3r07Q(fbmRRlG)PKP&ngljxu4wJ4J-rZc;J%R4h_mo;cdw&< zYi`75YDVc;PL#Q=kAF`S%gIeP@ z)z!_8E>^w*7aneOt{<1e!Hv*4CR%DJunC4{G0}sA1|EXa@()Uus2DD}Wfs(K(|Cle z)kRJg9U~be_${r`aI)~b-{kc|OXe%Jc>KMGDHenv`S&snmlg|qv3Ter8K4pGUC-~csd1L#^p{y3-iq@v zWuqw)gd=c>r98IhJf&sf_#)N0K0JY+3LxS@TeEly%F;yOPS{ZD<;ezFMMx|xy{nYE zz#=e_!Eg4DHT!&-u?jAjybQq`7-t4&%LOf!xe;lZ`xKLnM9~S>>w8?-pYAGy~Bpx)|J$P#`QIk4x99X_R z27Nl8PF!#~>BA!?nn^MF`}uP|d;&#|w8$J}Vp|Uniz&h#u?w*LN&R~Z&m`L^5|(!E z;P#CB__z-Lf=h7sMEk(?=C}qDB~j0-u^5#YIPL3C>yxfs+&zc(SQwn0sfOn3814i% z5A|j)yiMz?leLTU7OSXt_t)Se-? zs;ZV|{vvfYToivFTo=;S%hxd0uH9C8)e8?q+&#w`y&VV^7WXzRx48O!x+ftp(=<`l_KMP?7Lv^hHj-xZSLd~K_Xf#gVg z%g)88-SA)Ag@gh5MRlh=Xh_}nPf_&l`W&AeJ-BV{(NT)tEa;pTR@izT_VS4e-6$R| zDSOO;gESqxmx4MC6+g5rEXOQT?1XywABl;FU!0#$`sEh<8LI26Ql5}-d_f-cRbT)K z;jKXFk>P#eWFT1LSI>9Tw;4{-JAnxqCCv}|rJz}A-Ci!NsAD&=#Pa?}-X;{~ts0tD z10W}^l`tq2>fX3`aKR>S!AVrJf>Ws;UTTb04hQ#9#?q79MRdu}nrV_V}zB7L(0MTTH-@;<|c_k{PK70K>c;;Fy3 zTZ%#AaY%L85{etnw$QN``@PLVd`tsJU*MmIy!6m+sBW**#Oiuh4Ml08(PV{!`-p|g zEbk4*YwGHL@FP2X#Y9QJ)ral{>)h_T`1H1q;yet0<8j^S9kcO4IWq>ZSsFAk`pn$* z?BVYS{Ls`l44_rJU=8|>vRcoBXM7=j9K7DH=V^S44+Tg0qU#P$A@g7E&#`^5Yu=lt z)i*Vj}*scHt9z(G*=WI8N;_!msTEdO*g8VvAh;#BoX0VDN4{x;L3f2@L!9 z;ABS=`d6d**!`t1Ub$a?%o|34qWB)^H?)u$W5Mgw>NK3^_&m9*b2#a?c{sc{NEnh8 zy&{r^gb_j!*Et=Ca7YDKwyH%}tDa~bwmH*_B>i8LU)Ve-)o|gW%Dsu>x{R?yXmNd} zt&8Bm>HJtmk%b?$ZsQI-psB=H6l~9gFri7KM4$wA$3SKU7D9RTn(n>*NVk$ zF~r%eN|FA1Ym6s0avx&Zm*qE+(>y=SyLIs=7?5T7={68?z)bg6y_7ot*GJ2>MoJse z+aDpZVRo$D{4Wt(!6IObPp{CIIDfle=6K_UvFP@`fcSquf7Er8R!UZI<9c}AEt#Yp zW+2do%Zvhi!xfy=4#~zRWyM)jWgwDH@Mw{1|39mCy%y)GpQ7|U z#$1k{^I5I>fDKiRunR!*12%^_RLrciEB2~d;3@IZNG z6)!NfTk`w=JtP2iFth(%Y+9s_``NOE&vmzSd5&W9o!-sTRsGuYJHoqen2m$gxsH{2 zlkKu@1)e+sUNnL^Lzd+)Ce!ZrIc8kOJl6^p;d#eBxgO5LFGTyBq;nG(3roUi{{aSU zkublrz?SqqTT%o1WlPUWRpZB5(;g>B3VLxFm&-Fg z+BajOWp0tV-^(~7l!&B%QGp2P2N-=GoKc}qn~c&A_~!CzYKijvsZX_MLMx^XRK-VV z{6!Ccg6@AqVt_1&D>NLe;eBON^3tt<3dvo5=P_aPgGQc>+ESXG;os0n1mH8ql9=cW z!eE%F5^TO}Upl$!Sn@hG%Cot>oAY@V@lOcBFfgF^t76)9Ya)1S%?7q5A<}Dz?c64B$)lnm+(_G>7MgP$_)yUIZO9Z+F!R=Y`psTx&FrVe|GdmU&3C1 zUcmb#S(NY>OZfM84jqrU(daiwxt1`;KkKdi#(M*HaeA)fdDVUye7^-KDXzHcGq3B; z<;|Svt=Agq6#R(C!=G3id%^H$+F{k3f2~yxhi?l1!gpFGH^uL}4X(}IqU%GspYw(u zS^u+$`XBTK7wgc}s;h_VgNKolrkl`C|3hT$6y?}zFUod>n_(Jzsr z57qM|Y%{&^&nu+YsrT@J-$SkcVxRPFDQ|i~rxZyJ?l-?7^ax|0(!8l>5o<)P=CVu9 zEQ2|FV*lMNxdVTQ`=2ePT5zn4EWp*_`fTwBDU2)zkUrL6GJPn;ZMce9m;HoS%bOX$ z-3E2jMvgL-cnk z)*b-s9sme>j2{lo@%}Cb9;6;KWvH2wY|8~ol z8aN|H-WZcH6VWs5m(x;`czt>sIIyi~)`|v_&)*%NmvMv^k+YYx+_WoSbpLxF9hgkC zrAL=1KEYm0Lvr$};Wy{)97NJxcF)!I+P??TU-fXAabOE-@@kNS)eMM``;lqC{#EkkAg!D%I>VmXRP+s}~;2EiDZ$)CyfEQsH8ablLk*m_5{|y_oIyfV0 z-bY<(Ki_@H$JrzfV#cU;si241)e!+>d9Z*;CyH~Yt?_7e!~EaReeo`hEt*Ej*72Vb zVPs{DIA5)OgbW zn#z-+?wN9ziQH>hXmBB)PPzlnzfCIHJpEe5GC(#ERn@969ibND1wt&$Ain!u17Kjk zA{W%51d+?ti{r(7QTR3C+&nGVRZ0fEY%tB{d}M8( z@e&1VTKkJ65w!5dGfiPo;aM=5)xAo8alDB?Q^2Yr)Dp9u|elqdC zlrQL;%nQX?mC=pdYJ? z`2rD=yILf4WIwoVG$}Ki?;nH5@(upuE<3(-n$O`N)AnrZ0>xw>B_{^6-Y=scWIGE* zXUK9VT^FtgFjJhaWWZ86>08t>BGq9j2z;)B0 zJ#7U@mwfoOODfv)H!dXPbzxFOvS#=^IdIw)0A{=kOXe3hEf6XNm!s1Ly=1g~-Y%_;%Yf6h-HmQRYCvAI;7_pCa=AZ|C)TaAg9g+up^1`R|984NIu zG(e+idNcUaGHME+0I!2s`uL=0s2z-h*8vk5yj1qQ_k_%oYqsH+y+hqVjHzx$YAtz~ zEna3U3IYF znUn|FAtx-;g9^j@_{0u%vK|zv9yxqPpH(9MABzP_SbTADL&s<65%oPN3^%AU@?k0V z$n7cD1WEHXl)^?xX8NL4^c+PC)E)nwrvFkSs8X$>Tx0~lZ!D7>h238(c9njEGMzSm zXL+KikS(B zRnc$4u#}ZY{2zJocUEfHx>^sc`^2N@Y9GpNE~NjVpFfyEVB1HFpQa?6TbB;5DL~lC z>Hbfal;J^L`BIE4{$lY!SnF^0AZj?ts@c(sxsHcDb))&evxn3#YX5$JVLl&+SX)vIdMNH z*c|+q&aV$7HFsl9+1XA>6frydhgH=;sF@L3#zLnCa)fI_y)H9k2NxOHqZ<%N4 zD&+=PrA?s2Zwd#_^+WJ6c>uO&142hb?Y|@>NIG=90js)EF3DLAdKsunmmIIHA465Y z*>MBSIfnMVAOu!0`?Z$+JLkZ16&>%(1u}Zn$E@5L6uNDshA?xQnpQJS;>tzE#?v&} zS?%=>>HiM}{5Jb>K|*7kzX_s6$^$On5`LomQn#@Xd z`!Eu4B017|xD)M#vJ%7cKQzCSYeS{Z-MV+|SosBehCTh*&9JJ)dI<_(hW`L(^RLz^ zN&fuPxTW^HgZI%*^BQyKUvFHS(hoZ5MV)#++H+8UbJ8%$$a)2NZ$+r*(7HA#JDe>MKZ>|I}{0>7$k~30Q)9X~y!~|M9t9ATuQ(5Mwgv zX7Yx42KLuP=L7q+d}#J**rR{L?Vo%!z1>EV%w2S1-v;_AFp7pVQEXwQgt_$Vh7yMd z_MhI{Iic03+shUxssX^K|4D)~NRDwc@R+KegIsIP>a6|MVy4e9RUK%~h&F#O$Lo22cG0>q zspuoDN5&!&5!y+!EO>2R`o^GOuYz@GCaG#7JFeuHw0nz;U05|)sBQdz8DtVEu5wxi z`sO7xn$N24@zb*+#Y!_==+_6kl%Wl9)!_R1m4?UdRkII}4{ztD<%&gE`-wM>g_NQhLT1G_0uxCDT1ZC@>nLoIg zb9s~V0YE`hR@x8q7Y*q!Tu0ENgRF~$Tht%Hqmf-R*=RT7g0Eo)zq?DPc3xY87gKY% zuR+Y4HZKilC_kKn?$;UD9*!DTH|Qfez5w^o&d=BK7Zw+TuGc{WWf^Dy({>M#*ro=3 zk)-*L?*$XvTZ;X*D z)^Fi=Y2ZRDAu_RjmFjydD{bqx+|nZ z^CY96M#SAhVFvjVG16RQSkMPY2M1b8NuQ$INbq*(owv@ntT+Aprre_%A|fIQCX?3H zXE|DSMDA~)N0$P+4FcK$#YIKjDuSsIH(!31HpP5bhY2$5O&KwK{ukre-Vf(GTk)r( zj~u7(SxIH;l~zHU2^p%IYZqr=_5Jkfst*k7^94bZ|?l{>J~h1G3+3?n>YSM1KOSyOcET9}&NPOUzzZGG9A&Dk z0~|--709?78kIa6=du5~3m~XF>*!rVqUlbuqs>VXNiU|9u7CFZED%8jS_7s3$pWopp`0`uJnK7_A>gBR1KA^~|)fdwROThI;_X zTi=;i&w1-tbVzL_+T=d1A1y6;Cd3(5ogP{uDWt8V(;sEj3GPM4j)61o0gZKARI<R%YEYN# zgg3%@^gv~Y!-b83ZR|dI;#eMutxMw-v=O|*ornE1CHu#MXfJ%ZL;y2_+w)+#1DUTW zla>dLFJ?=)8}|m7XiDTF7wad|SxOiA``S68#RrUp5P;QU|HLmC{sJA9nIQJ(YY`=e zWG4a2h-E$VK?p6SoPJGIb(6oGy)|Xs)!WRa!=%gF96Gv)MdZjX3!;G*J zTcS&LX>}Bmrw{X8RBc(^;Y)FYTqwPgO0{Y`S6X){n?bqRI28&~!(#K@6s$qMn;1lv z@XLSuUnXerw~JCuy-dK8rvm?w*^|5Ih?{Zp;{nbChY+UUH(2&9Sa5w0zDa z>+|d`#=YD-ut??sv&9wLv;hDcRhMOEm-2`N{I3a12Rk}OQ{c+NE5&EQ{i`yj@*<+5 z7aY%4l&Oa5Y4qDqgZ9+c#z>`WudNKzf_ZB7y&6up+dY4SgO3}#is=le!M0c`pB|c? zvz&$S%e&6wNXDlcIC^zewBp53^UjQtC(-dqBD z--HgWGH248zG~~_AHzlCP3^lQqBIpOgE3p-nGJU@L2rQwx>Sat^L=igGeRvQvs1Um zK8b~Vzp>t2H71B9$0Cujwr*xP$WXfZCCg=BgRPwKn^E;wOXu6$vZ612&fOdF2<2K` zpL1#tQZD`E+APVHY>8y6I4vww4%5XVY>OVY-}{1GWT|Av!KAjBs`aNpLV4@a_x>zC zdq!UFgY0s(NBdTXR}05#-x&#@U)T86DLR8JFg3cN;v|9#HkZ_|t0X#v@daR)*VPg} zl}RDs`k4&RK8|=|GA^as2h|JXBZbDxo1I_N=Vd3UFlcVY+rN#O_t<=xeOl(7qDib$ zU05LbBdI;mmQK^D5?t6A90GSy>nE9X;FbH+xOe-!;Il_arCA>b-oR8+YrhU>L?DH< zLk(XD=FXF!*=)UvcG2pS$ht;>Y9Dx#vLh|{M%4=zWQxAVDK;-v`>pA<_i8?U?`FK` ztns6NiCT819RWHx;HrhL_pr{nqW$%b;aR?Nz7fs*mDRb!U708#szY%h8@{W`a?_Wy zPbT!WbD4+Oo8Eb--AMP19~>}M_ajWDvxr)IpKPQonQ=zUL}u1rnwXgEps}l^D8+nu zBS`GDHgxuQu+SwrKr(&yJZfez=nm^%?-0D7=_6!3D1}E6Hd9#5p?jJF-iBYAG*}Z> z9P#1_B24&RZWuD|RmCS}%-i^fSWw7qtvv)U|=>+0&8 zc0&BPKbU4DKXbDTn^K!~&0uQRyRMRO{ zh^xs#p5n)}l%Fgkp2@37xK8Yf>8_9|>o&?!H`{PjQnwTu5+|;|^@J(OmEX_1p6%IH z`0)}flL+*?yc2s$9^NA#9jTB0L-S!^lxSC^TgR`^`xoW7VI=)Bm(}-~pjG?3CyjQ( zt8}QFL>!?d?dBAh`m~>+^zD%$;jVn}UJn6gS}@O?m)m78mIzkIo5`)UHpq(hm_jfUI^?$bKOa;n|+K)Lc&E#Au3vG%H z7a?Bvmy_eK!Du6TP!_i1aE1e`2SE>y%hMRvGim!W9HV$Nv2yy)MDXc0~H z+2cA(s!gtZ99Y&A!24-AwH01Q<8V%EbBFX+sis|kxx?lPb~4kjGYBV$;05&T+E=SE z1EhX6p`zZG$>+Z{hA&Q^w^;@Ew6FYfF>H>cA5ts%uzJ}|aM1`=)Z}`Tu&hU9BN?WG z*Y@S99Cd&Cd$wAG47D@&g_vR*aW&^FH+OefAI8L=z)BD?KVq@OK4SKbmcZkO^Rm;K zr_z#FlKDwnXW%$Z1QfgfUt?z(5LM7MU=%?C0YOR{q`SKnDFLNfkOt{kV395*rIu0< z5CNrOk*<|4R|)A7DPaYqmXP>neSQDDzrOo#ckZ1#bLO16bI+XfToG-lUSV8^kERW? zzCDNJRByaCRTt_l-|GuBh74NAlh@C>we)WI$efO?R{gomDr8Bkzjn!|xmen*hNSVx z=yj2qQ0pzalMP=k67Q&#M?F73;D23Rw4Naz6({{hSM8l%K$rOT%QrzARXWhLS)8P} zLv%ZMPHfIS&tUe6^Lpq@U-1n--j6=|<5WIr*CL$Uu$9;MGjDW1xn8lxH~OAC z_hhG=ZwP$-@%_PTs-@>f#4jadRIL?N92G<#zv=oBzuc14Frm(t zet8$M=#+>W7)2AKbsD$7f9(uTr3hDYeZCG}JTIqrF7!^XPBEc!GXk5Q(x=9^9?iS|@}s47NI z(wR^@_=kj83}VtgFP+Jfk8RWvg3!Bu$yVifLjf=Sl!Azh1>ic|M_&919c+*}TUlQ= zUO26dIdr?z$JaMP`D#?e4WSnj`#G!ukulKlr7UBIHF}^vuFK*II=o+ce>_t`x4`;! z{ew#zHN_&r4o(^m&#(7jn}LjAwQ(AUr*t|d6$`1y;GLSL#7hM~Ih}i9y1Bn@_(J;4 z?KW%g_U?c#44Qc73zS5wHJhID$oSIzq};9}Q?TvyHxNbD4D_qi_8_#WRzDep(du#3 z#x-S>5fIrwa2ML%;&5QtCdqDH0)dPZ(c4dz0kl(Bx9Cw7Ha8=U&9aMdwnppH<_hf!n^R!#=11BXTOD?)hp#v*j=3*MBln zo)gPmoGr2!3yvI*Ghz1=(~X0Ay#o1ao$O!Mozd|6vnbxRmP>z;?t)jl&?Wtv^R(h@ zVm{!;>^JU3(lQz6>>q9Z~%b*}W5Ax`&?4+F(E7hFv(BB$cag4 zt)jrwJUQK{;sm?$5r;WmbCmm$lJv!9edrb67JjnMqYeGi)Q{|N-Fg$37LX$ksX2Ew zmd{|;sGPw+%f7wzG>_BuLE>)B4Mikx=kn8tL81|Q?~7=K5zEwPPhcla)_Bzg*EmGI zkH0(Cn|&{vXQOU-6#lwmiS>$an$zZxgpby=iYrAd*qZ@c=GM8!*ZJ)r zUrfgC^qp6aofE&dJ8Gtt&8K`s+vV3dR-F2g7$!oY@h9WhD~?OOwJKQBjYh|4BXBcX z29R1J@q`x66G_?f-D+Mx*AYRLS9V2Feo|>FedFFuA63mqMTAsohLt^win6fXH6W{P zd;j>$HAD&?HWcN2gQ+R5(-pijW48wJ^grF{s|N8j@hK*L16D((Q=R1y_SN%a>cwfl z#*cn&9W78sGk8N&%^}=BTxa~2?u%Xg?n>6Jz2UkAE%G`?YHB+220r#D7q>p9NxzXW z5}VuW)M9G=ATO-PB5xtz6Zhq{2zYNPpF|sS$pssn`W=IfzN3Yppig@+@QgSH>)KE- zNAu0Sw7s>W)Tj~;&%^-57^j*Lkh*N?^?QWf>ZnYYXvGm) zkgulqGS-#O*Im2XZBN3>|7|9KLPh~t$BnbtEgOBUMG8X<`UCagJ8$?w%v65_5IhKL z8sMYaUy}^I0O14|7h6d63kUi!DTUq0thpKfE$el50^8zRBZ$;Sb4z>(QqY4#^r^jn z-}rbs(+pz=iOb#C`WBmkBRYW>zXooHM(l2L+CT9lx?{{nw%@!FYHpmbu;vzF3Waa_>8F*me zTT%yjD1?BgCwNsyaET^5RV`o4FqE(~`fWyB*cSdsU46lXL2Xhe2ii@Jp>53EY_+&> z`R=>jrWm-bMc9#dri{ z?WOI6V?u`aFU}%U`*XIZoEaInoE{47tW@uajn)RPro58&CaCf$XFQ8?a6alaz0yn9 z7ok!3n4Pp7zgU`ypeO1DNwdSst`u=_k0952o|*yXdAjtQ*QpHB=LmQ5340N}_3E@X zan_7t)J$wBkxjY5Hj~XVBiPg)BY#W!E+05F1kpzFLQ8PBO3dnN(LRLFnTxc&E+jQ( z#Z%2@rukQ%1RKhuYVntt&LR(^%G$+vl^G$JNy`sX9nwU3QF`3h7D>nG7i{&Wy(0Db zY9fdUO7xat5!Lz03_{WOtk*?C9*grXFIB#;5Qr#OiuYHA=x(}U0^}7p5HhPD0MO(& za>^++wAe$Zb*IB6U+yg?hAFnmM8yB`?4maM4;Gd(NiEQ|P#OD%lau9XCMR!T18#X& z5Z_`?gQNT$#GpK-!>ohiJClvd;5}vDk>W@(ysc#G|6+z5Y2<%YZmId=vF=LdK&xvlzUfg z5+oUNAL}vuOocr`m=XDXv>v&eV!|<$M5srvzc%Jv#|nFVdV!zZmGCfiPFrqPHV9!Y z++33=(&qB|_h2Xgj0rDe5CAImQ$sU@)s)G9EG+m_U1cQ05456gS<{_8dTH+RDlg5M zXe*uA=+H%-wEQJH0d&1)_HAyu*2z>df|JbVM5zDf6sgt=s5IT4D(fU|#iDTG21YKaVgnci1kDEvl?APGgcSR+H7o=bsVe5X+|4T}%}OWh@j_ z8I}%v6N>cGlc024R%70*K^`qGjLgCW-b&LWb5c=*0%sejxv1|`stC)g*6b6OoVYxu72{Jknt;)#*Q4>rJ3_v=P3KTFhrA{ zhg8dOQnAi7Q~%AD?TMSMejRCo+f4f|3H+uiBWphrDr+^wmrDQ%$G?vr54q_A;#x@> zc$sMidG|smz-(7XE~#d&D5Gw2G8o+7itrVN%nZyK>ISS^&)}Q;rKpEL3Cl??I`#|8 zE+b(RgalVD02I>gW;2;#h}NMd|6XLr+aPplUC{h32UlJtaY0FNs~+Z2$4=V7A%qaM zoU70C?w6M60sn=KRsN}yZ3jx09aN8LQI_PphCBY>PQBDgrU<|X0a3d=^Al%5e?d`#C;7l&xpjDRu$9|RTu1`0Ki)CO~zp^+3G?^nA8?WqXN(Q*Ka7veN_O*an@F230=u&PW`2N z8u633pGGUy>@@?U;33Ff8JoRN@};Mz=Y%2Ui-AH$O%Dnn^Kg-Hzt)#)I{o&Oj8<_f zT1(176fMCE?FS!Z=g%)U5MV!7^YGT9c<)5p3}}A5!Q-+e4hJ8 z)ov?Alf+Zd2nE~=o6L$cL9_?>g$WERf5yi_?6G&ts`sqXJBC3XBlfDVx%+qVk%KV` z4f;IDi6P~QYk>7ff0MekkYD+oYIeA#&-8`#s;JsSNY-?Cgm|z0lZKdj*0BAiwcQWU#m=`3Bbh+BibEx z1>uA5%P!KM+E!Y87(>W`+!;#`p#+w;X~rtV`<|fHN^5S7&LxmcK%oJj%!m9dy=?I_H;7R<1tt z9)KMUvVFL}ovrTilfXpk^&6E2;#ag9Q2(ox9an3X4L|%Cp|~>7rycV8>4!0=hFR!g z`KQQG&W-g_kq4fhK7AN`JCn%N-Ltf?tKO1y_5~^+qfy~mnRx0CEb#=33CwF zAp}Lt{%3O^&Ar5-UQa1kG1^mZK!@7Xov^FU5+}6QT9Kc!kGS@G&6$u&dui{!u8t1e zz_R$6DIFL6#Gk4lvfz4c$FIPb=B`LdSI_D8bjIDT(+pz{K%z=ZnE?FrwH))Ujl{gw z#hUGp(3U+!_FV{J!kLw*5z6~doGu8w9?W6iZ7#2jY$q_LdUQkCy@YmkXd;;)`vhdP z5mD}YcofP^-3OC}VRweQ8M{ke7L$6`0}k{8W4fF)QX76-RbyMMywR;{a<=-4y3e#| zehQN-=AFcSUAK!Qjq=ZW74;sPxSmQYp+hGVagcU18`+Qhy6wN-bt$S12lg3&3D>Y2 zN_p1$+d$MbRjUA##D*NMmc6Y=CbxYfYqVHB_`wt%FH3bWpZ+J@FCcXlM2Yicj$D(H zs&|rUsdq_Gm&fPb?8gGi3`o2im&2KMA5Jj)lbv+bU2UDzDlp)hi_fufx1^U=Z@W_V z#=(pGr*#;vjY{WMVLkJG0e&FRZT^mkDV#8Jn@lA7`SUYZ{kzf5A#WIsNZ47~KuTp% zApkC}v$^0AhUd7rPew+U;v2XpIcDQQ}$L-fTOKsDnXFujot z9{{FXfdEu2#EVA#VFSO(0z&fkY&w_$}(Y>7y9M%I#Baft4^!^;?6iV{=CVQ~d zpX$p#m%pxftEVaQ^X;jqlb~(duZ!qav-U^7o5gl93|X^miMVzT%EtGIt6|ZzmLe{( zV1W=8Bn(J=J1pMmJmgUTD|{}4-0gMVW2loCx@Q%5xE+A+;l6C&c3JH;F#YD_mpx zev;Hd4vU)x`Ty;`dXePyOJhFcg>|&US!KMIZ!MLg9`cKaRXchgke2=mQeIm#t5w)J z`s0w_Ee42x-!I9N&Mel2(&^wQRvvaD0*NYlfPx2-kvZQ&70kcez~4KZBFQY(-p3W= zsAmJ9>uv*YilJWa6@Y%5t^6Rc*AhYC1`I>Mzi}e$96Y+_zo)R>bjy0k;gAg%-h$2c zC>iaW<1mYYjTBkFVJhhhve)@|4`_{zjoEo`gIOyq7|@gJHQh~a^Y66;S-+nsAKt@2 zDvZwLrqYR7K2pI!`u}Q*$wXt`?ey;Vc1>&B$941v^5+s#@v_e@0O-=?(lSnHR5&UWMdXu^`3r?=A#1*|m)>RriYvyCFrIY>Z3jo#fqfI?u}BA;?fD zRK=5)N1jbdR6}(QPz7g{4K!85aUyPe zP{DkCS1nx{C)oxFu7uryRUl9fOArY!M}U$nK8Q0d8+Z8ly6}Y@IZ{1O`Ue8a@J zf}dQU)h(F@)Wc#f=>3U9ehgq_GBIU7biIj>+g4>!wcgIE#!ntPx^pzm!u+-Ip1!{* zY=)MAxS@t*|!q>T#7=R=)C_oG!%PEI7nNl-M1M=cKe3q7mC3W;JP# zs6P_P`-)N&Rpes~Wd&}tgR7cUDvYn@5nnQ%=qsY>rU0*ptuQqBI!?aCqsg&e%~IE& zMDCMGY%y5DL?a&!%5wWHm88FtbkO*{3&e4pxH5B<{`rWb9W^z2n}$7CTS)C~Ev-^% zloP+@`B|@e3r~xLC3WRZFt{SiM|hSEni+H(yq6Mlx)G8m%4Y;CSB&#c7w&}v1j)|P zVGT%gKKZP{qlB-nbF61M5#a5;j3FWFQ^kP$m&WJeFP04TD#WN^2C6d@Ti%sWgoRPplF7sBQ+>>)T=*+hPQ3voG zQ8#b3eC>Ckeb3}Lxapx0@3&>1s!nrnuZ z6?8J=sQgBg{Hy18PMXDsJ*mAyFl4#JN{qnz+AMY!IvatyaIpZi9zzV+v2+nPzZ3lU z;MZu6jrG$uUT^2~V_t3AKit|?TsD3*)Fv@w*=nGlex80pB@y0fW$pkY3M`dCFK-tEQ9@1 zNA;lAo+?P+eaqlaK~0DxhDUIE4bgg2bS-rAUbTy@6J2Cb&8t04{F|z(Bg`nUrw6)<~Cit`Z4C z<$~&*>%3LqH9+`o;AO4I31gd}G-2YB@4KW|VKhXmomO%y)uonV;BA7WTI!FQP+)B% zoI!Hg^Z;;m1*gQ@%Zo+L?p{|r)ZlHLdW?Ev+_!JdB8@S`Tw<^a<=Mc$U9zsGc?l@p zu%^cc3$$Kk}9Bu^^QBW(l&C@fwQXRL%k35nY zAAwdmu0F%lr3osy0)P#b8J7?C#)f|VyLSZNKMMgVvz$lt_)h8y}YB=yN*zaW4u6{3po z@$~p+^cx2UPX_yq0I3xR?5SWVZ^6NCtjivVGYAR@(7b{rLSwI>0eQuiPNmbXqX@v^ z|9fK8v@6Wp+dC-8HQ-*JI@F+ASqhYZep-b-_JTs8US0@2bwI0zwNy|ynk5FbF_t_h z0%u^wL}?;Q43I_>Z4OQ5oAzM;O$YkTxo*j`e+=6UAck^#gb83GO41S!T?LO!FbwFy z`Ati}g?VB{sf(2rXlph9_9lLKk0Q1~+7LX2$ycV{kO@&0Y~(;wr-@5h`9Mm*umD=UTL&Lf`xWKvBB zc<;cYzl$b{#X908=S(t(z?lB+3Ky`e)fZJaGe?QcyApisO2Pks8y69RM4EcYAzc~~ z`3wNT{dXjcMCnQR&7C6`u)l#|KPi9>y8{4>#Wn$_4O=N_B^O2NKsU5w1pB!Jthhdb zz@h)1WTgw1UKK_yO-pHN!f4YKa(_sMAI5_%SjKcZ=_!oN#_5d>edtj$-gtb#96k!jSZ&{WBEn@ zx@pDq3(~cd4cN6=sI}c)1g}q^w|9ZyUirVvWj$dq4r#K>(;x+pI!H*iVt@;_1hfhE z)~GBeH@EW7LZVFZ{Lv3UHyk?a1}aG_uo63frRw(-(YpR z@;&@tU7c2bw07axeu9cSL56dY@EPCl2L%Y}Lado!`*E363?_|S0E)N-Xnv3{3;;Tu z(g!xDG5;>x?i&?7SdW_I%Nz1oAOxpylVGZ`K3ya8TcEk4bB-uMeMc!hS{$;KQ{-K42;+hXkcxMsd;{T z&?RBo^?jAcPX??FVilvV(Iw$oZbQ*at+?(>>Up3-e;a-T7H&mc05Qy3LY*NZz`!bA zqn8K5$@UNao#5gG#<4-c&mNIazTI5Si~So|-I*mI*A^-_)?sA9mn{?&5{sHltv;5GmHNSF}(=@hJRb%0uT%U>3nXM_)Hjp`v0S9 z1FjM-VzlIRZ5Bx%{#gmO2-|Axfwdm&0Y(jbfad-^{-^YxKL1bY|7iRFuk;4$@_Gus V)=*E)G7a`t8mc + xmlns:html="http://www.w3.org/1999/xhtml" version="5.0" status="DRAFT" + xsi:schemaLocation="http://docbook.org/ns/docbook http://www.docbook.org/xml/5.0/xsd/docbook.xsd + http://www.w3.org/1999/xlink http://www.w3.org/1999/xlink.xsd +http://docbook.org/ns/docbook " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> Glazier Project Documentation @@ -110,9 +113,9 @@ - + Architecture -
+
Architecture @@ -158,4 +161,285 @@ + + API Specification + + + + Revision Date + Summary of Changes + + + + + February 4, 2013 + + + + Initial document creation + + + + + + February 22, 2013 + + + + Enhance API with latest architecture + changes + + + + + + + March 06, 2013 + + + + Fix specification according to remarks + from Dmitry Teselkin + + + + + + + +
+ Introduction + Glazier Service API is a programmatic interface used for interaction + with Glazier. Other interaction + mechanisms like Glazier Dashboard or Glazier CLI should use API as underlying + protocol for interaction. + + + + For detailed information about entities and terms used in this document, please refer first to + . + + + Environment + + Environment is a set of logically related Services managed by a single tenant. Environment + defines Windows environment boundaries. + + Services within single Environment may comprise some complex configuration while Services + in different Environments are always independent from one another. Each Environment is + associated with single OpenStack project (tenant). + + + + + Service + + Service is building block of Windows environment. Service is a set of one or more Virtual + Machines sharing a common purpose and configured together. Each service belongs to a single + Environment and single Service Type. + + Services are comprised from one or more Service Units. + + + + Service Type + + Service type is definition for describing set of features exposed by service. + + + + Service Unit + + Service Units are the actual Windows Server VMs instantiated by OpenStack and then + configured according to its Service Type (this may also correspond to one of predefined + Windows Server roles). + + + + + Service Metadata + + Service Metadata is a JSON-encoded definition of Environment, its Services and their + Service Units along with all their attributes. Service Metadata may describe both current + and the intended state of the Environment. + + + + + Session + + All changes to environment done in scope of Session. After all changes to Environment + state are accumulated, changes actually are applied only after session is deployed. + + + + +
+
+ Return codes and errors + All REST API calls return the natural HTTP response codes for the operations, e.g. a successful GET + returns a HTTP 200, a successful PUT returns a HTTP 201, a GET for a non-existent entity returns HTTP + 404, unauthorized operations return HTTP 401 or HTTP 403, internal errors return HTTP 500. + +
+
+ Response of POSTs and PUTs + All POST and PUT requests by convention should return the created object (in the case of POST, with a + generated ID) as if it was requested by GET. + +
+
+ Authentication + All requests include a Keystone authentication token header (X-Auth-Token). Clients must authenticate + with Keystone before interacting with the Glazier service. + +
+
+ Workflow +
+ Sample Workflow + + + + + + + + +
+ Let’s review a sample workflow (series of API calls) for creating new Environment with Active + Directory Service deployment: + + + POST /environments/ - Creating new Environment + + + POST /environments/id/configure – Creating new configuration session for Environment + + + + POST /environments/id/activeDirectory – Creating new ActiveDirectory service + + + POST /environments/id/sessions/session_id/deploy – Saving and deploying changes + + + +
+
+ API +
+ Environment API + This section describes API calls for Environment management. + + Environment Object + + + + + + + Attribute + Type + Description + + + + + id + GUID + Unique ID + + + name + string + User-friendly name + + + created + datetime + Creation date and time in ISO format + + + updated + datetime + Modification date and time in ISO format + + + tenant_id + GUID + Open Stack tenant id + + + status + string + Deployment status: draft, pending, inprogress, finished + + + +
+
+ Get a List of existing Environments +
+ Call + + + + + + + + + Method + URI + Description + + + + + GET + /environments + Get a list of existing Environments + + + +
+
+
+ Payload + None +
+
+ Returns + This call returns list of environments. Only the basic properties are returned. For details see “Get Environment Detailed Information”: + + + + +
+
+
+
+