From b5a46821ba5627ad5f4803511069b8493910382f Mon Sep 17 00:00:00 2001 From: Sean Packham <seanpackham@gitlab.com> Date: Thu, 20 Oct 2016 11:38:32 +0100 Subject: [PATCH] Added training material --- doc/university/README.md | 3 + doc/university/training/gitlab_flow.md | 53 +++ .../training/gitlab_flow/feature_branches.png | Bin 0 -> 20600 bytes .../gitlab_flow/production_branch.png | Bin 0 -> 21716 bytes .../training/gitlab_flow/release_branches.png | Bin 0 -> 44173 bytes doc/university/training/index.md | 6 + doc/university/training/logo.png | Bin 0 -> 33117 bytes .../training/topics/additional_resources.md | 8 + doc/university/training/topics/agile_git.md | 33 ++ doc/university/training/topics/bisect.md | 81 ++++ .../training/topics/cherry_picking.md | 39 ++ doc/university/training/topics/env_setup.md | 60 +++ .../training/topics/explore_gitlab.md | 10 + .../training/topics/feature_branching.md | 32 ++ .../training/topics/getting_started.md | 95 +++++ doc/university/training/topics/git_add.md | 33 ++ doc/university/training/topics/git_intro.md | 24 ++ doc/university/training/topics/git_log.md | 57 +++ doc/university/training/topics/gitlab_flow.md | 53 +++ .../training/topics/merge_conflicts.md | 70 ++++ .../training/topics/merge_requests.md | 43 ++ .../training/topics/rollback_commits.md | 81 ++++ doc/university/training/topics/stash.md | 86 ++++ doc/university/training/topics/subtree.md | 55 +++ doc/university/training/topics/tags.md | 38 ++ doc/university/training/topics/unstage.md | 31 ++ doc/university/training/user_training.md | 392 ++++++++++++++++++ 27 files changed, 1383 insertions(+) create mode 100755 doc/university/training/gitlab_flow.md create mode 100644 doc/university/training/gitlab_flow/feature_branches.png create mode 100644 doc/university/training/gitlab_flow/production_branch.png create mode 100644 doc/university/training/gitlab_flow/release_branches.png create mode 100755 doc/university/training/index.md create mode 100644 doc/university/training/logo.png create mode 100755 doc/university/training/topics/additional_resources.md create mode 100755 doc/university/training/topics/agile_git.md create mode 100755 doc/university/training/topics/bisect.md create mode 100755 doc/university/training/topics/cherry_picking.md create mode 100755 doc/university/training/topics/env_setup.md create mode 100755 doc/university/training/topics/explore_gitlab.md create mode 100755 doc/university/training/topics/feature_branching.md create mode 100755 doc/university/training/topics/getting_started.md create mode 100755 doc/university/training/topics/git_add.md create mode 100755 doc/university/training/topics/git_intro.md create mode 100755 doc/university/training/topics/git_log.md create mode 100755 doc/university/training/topics/gitlab_flow.md create mode 100755 doc/university/training/topics/merge_conflicts.md create mode 100755 doc/university/training/topics/merge_requests.md create mode 100755 doc/university/training/topics/rollback_commits.md create mode 100755 doc/university/training/topics/stash.md create mode 100755 doc/university/training/topics/subtree.md create mode 100755 doc/university/training/topics/tags.md create mode 100755 doc/university/training/topics/unstage.md create mode 100755 doc/university/training/user_training.md diff --git a/doc/university/README.md b/doc/university/README.md index f5a0dab39fe..012d65d679a 100644 --- a/doc/university/README.md +++ b/doc/university/README.md @@ -212,5 +212,8 @@ The curriculum is composed of GitLab videos, screencasts, presentations, project 1. [Support Path](support/README.md) 1. [Sales Path (redirect to sales handbook)](https://about.gitlab.com/handbook/sales-onboarding/) +1. [User Training](training/user_training.md) +1. [GitLab Flow Training](training/gitlab_flow.md) +1. [Training Topics](https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/university/training/topics/) 1. [GitLab architecture for noobs](https://dev.gitlab.org/gitlab/gitlabhq/blob/master/doc/development/architecture.md) 1. [Client Assessment of GitLab versus GitHub](https://docs.google.com/a/gitlab.com/spreadsheets/d/18cRF9Y5I6I7Z_ab6qhBEW55YpEMyU4PitZYjomVHM-M/edit?usp=sharing) diff --git a/doc/university/training/gitlab_flow.md b/doc/university/training/gitlab_flow.md new file mode 100755 index 00000000000..a7db1f2e069 --- /dev/null +++ b/doc/university/training/gitlab_flow.md @@ -0,0 +1,53 @@ +# GitLab Flow + +- A simplified branching strategy +- All features and fixes first go to master +- Allows for 'production' or 'stable' branches +- Bug fixes/hot fix patches are cherry-picked from master + +--- + +# Feature branches + +- Create a feature/bugfix branch to do all work +- Use merge requests to merge to master + + + +--- + +# Production branch + +- One, long-running production release branch + as opposed to individual stable branches +- Consider creating a tag for each version that gets deployed + +--- + +# Production branch + + + +--- + +# Release branch + +- Useful if you release software to customers +- When preparing a new release, create stable branch + from master +- Consider creating a tag for each version +- Cherry-pick critical bug fixes to stable branch for patch release +- Never commit bug fixes directly to stable branch + +--- + +# Release branch + + + +--- + +# More details + +Blog post on 'GitLab Flow' at +[http://doc.gitlab.com/ee/workflow/gitlab_flow.html](http://doc.gitlab.com/ee/workflow/gitlab_flow.html) diff --git a/doc/university/training/gitlab_flow/feature_branches.png b/doc/university/training/gitlab_flow/feature_branches.png new file mode 100644 index 0000000000000000000000000000000000000000..88addb623ee0e554345dfbbde879e464befae85d GIT binary patch literal 20600 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 literal 0 HcmV?d00001 diff --git a/doc/university/training/gitlab_flow/production_branch.png b/doc/university/training/gitlab_flow/production_branch.png new file mode 100644 index 0000000000000000000000000000000000000000..33fb26dd62163cc5d9436a91db508971e73fc1f5 GIT binary patch literal 21716 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 literal 0 HcmV?d00001 diff --git a/doc/university/training/gitlab_flow/release_branches.png b/doc/university/training/gitlab_flow/release_branches.png new file mode 100644 index 0000000000000000000000000000000000000000..da7ae53413a77246118b2cbb320b5707d4ee965e GIT binary patch literal 44173 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 Lj88q%u#5N~l4WqQ literal 0 HcmV?d00001 diff --git a/doc/university/training/index.md b/doc/university/training/index.md new file mode 100755 index 00000000000..03179ff5a77 --- /dev/null +++ b/doc/university/training/index.md @@ -0,0 +1,6 @@ +# GitLab Training Material + +All GitLab training material is stored in markdown format. Slides are +generated using [Deskset](http://www.decksetapp.com/). + +All training material is open to public contribution. diff --git a/doc/university/training/logo.png b/doc/university/training/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cc831790405f75591eac6b708a4fbc34671ce667 GIT binary patch literal 33117 zcmeFZ^;gwV^9BmX10Ik#l!PeV-Hk`OySuwXN|2K7?vRk~l$P%9Zs`^Qf&1ZozxVzT zcfCIli^X1h@7XiYJoC&zsDhk0Dl!2w92^{~q=bkP92}_i<pYBF@{^x7!oU}JXC-kV zxQa2t12{MsoTSJn6?gdKHl!2^b=Q55ZQEvb)46u_(}HjBQTjUJ;-CXULM3Hjd=xVl zBMc$wM5}m{-yhzR%yD){EU#{VxRtrxH$>6vd-_-3-<004%BkVf^3F!VH0iBWi9qe2 zp^?VkmG}Y`RW-Ydwea1wrjEbu>WNHSea-v-#)iM__wrqINL7D=13`V^z{GIy5ZM2| z{huBF=LG)?hW{bK{}A#2pXne9<D4)&*@1*vc4MN-%2MsIvRp3nadGLRpbrZDOCGeL zbTDap{;9*U{PUhq{z;;LbD8i>yD%{_2)k8Lp|>y=EN64(RjNPeUCMoM^I)2ImB{sY zKfd=*inCH~FTF%x>n`(^KG&2-hChHK4hZmf6Kg7Ke>zkOTQ{8~>mO#NzmD^d-?H&= zB-;P!(7zleTKy~j8eP|s;G<BdCa}p^;aX;Ac8l}&kWTYsa6!1<xJ+z|!u1{HvrcY( ztMTqx^wXV?@d7&VKE#rsZ9c>fW=F;c1<|h#`XlH}+YhqupR&vDPU9PyIHQcA4t{V5 zm2WgZbN87y*z2ydFaDdJQZe&TKv^u)w>&I5)ws!g^%d`$u<wNigamYko-F%VUq-my zDiN(!UKbR%-FMf2z1}&hSm_^!Iz+<y>U~4!--FiGXqVX+FHIPFD<+CnT90>{N8I|{ zu3HD+Yl$GkLsH}nY%I=8>)*CuPS4zpSVyl{pH#|3qdyZvDd3UUs1J<z6hT}lwhv~O zLq|pZp;o=a31Q#9Dvvj3yn4Bp4M^Nx%{G3&HoIbX=rmDKCi7~IxuNYDxAH&72nFsW zz4)1WE>>G*ddK5z{vA@Yd)JYGkNG+uL3LO2%RBxej<F^BH!pp2%*YvyJ(MW*$L;OA zZWc&>Djb4+TJ4d8O(sJ?hbDv9ofvfBU7-G$cPYlZj5omUIf|gEEY;SS)ybmF;;S_d zs^Hi9%SG?Uf_)>w)b6$;1cFSGIXc&;I!+3{@LIph#M`A%m=j1|HYFu-*q+$<@viwN z-}cOP@ZYdT`#qj#;Z6$RT^UW6V>LumbNLU-k;!x>8|YnZwoyq@QWk)9holOO=7K8o zp;sCC&zx(_<944v5#Ip2DQ6qqf^3vWvo9W{NskRh^l6J*epLmaz5w(MbVBs7{w9NK zooAP3*70vcm-QZBpWy#@LkpY4INXu}Psv6O{tK&Fg^yKv#l$wi{XT)Vg#+AzC&!q# zgX%bTt`6DQ#_xzg70{dwSBmMVp1b36?VnOuR=O#hVIrDtx1FcVwnlFNmI#A_er9f- z5^r1KD`yR@=nT8}2@#_L$DEE4HFA%ISvz0l88)zu;8i5CcJN-YJqy1$RXEI1sg3@) zc__Z*XhwH+)o{7@16YO<)@AMV`Mlf=G;3s5v=<M`$XO;p6d|DQR0w*ZAdqjJe_I~D z)+>7S-VvtG?PSt^`P^=N901coQaCT<s733exHRlVs^<xtFl{!BMGX7J$w>lm*b(s@ zoe^)R_D92Gx@6W4!l3syu+F!D{Tob>KPHpMXmkE`z&=4?!wRNBWjBt0epy2=lEYrC zS3glLc5A&{D)OsZkuL)sUK^rtz7$9EPbUs$I^;DT7eIgqEo4`CW#>Q(Cf<Pai|0dZ zu<lJQED}l#e?_{9m*{;g)X5I)RA>tRdPvIb6mCT;>#^#ZNq9~ki%77}a$fD*jgR=^ zVRj%N9xwY<s@ME1Hc0)x)2t|<P{8`KV7~YuSp(7KPP<t2H_NB9e})Q<#VgnPonPMD z5NqNPr30^FwDcr2a67lrUd!>uCrg+(5=_bjoq|NBjF2hNn62Xmt1C)?dpEh9fi-`i z+$<~4X5KgTJXX;K<+;smH?c+gU4md4V!-}FZ_jf{K%}^Z_MN}&2P8V<MM;0}I6ObR zLNmt$h_GK8(%*vP_B8pDt3avAWySsC3`F=+z$#jaj2W5Hosr!Ex1lx*U;4i<s59&e zVtmuJ5dvNg3fldCTi7I#K-nrwwN_P5R&kf|8YGDU+%Js(Do6}?pD)zx#_%YjG&tA> zo-eOWL+M~-v20DNTtZO+Ehr~xS&KdibJB5SK?hd=j^f3Ek+m$=IqhUP-*ZqWfe>n< zkm1aV3%mj%{JMGv30-b4ez{sxsLB+}m`2JQ&>LVc-4K+Aa$;t|nP<n?H{r{RRusb} z){esFf)H+44(mZ1#VNDslw$t-?X2WGVki}WO5B!g>c7E5i7S=CcI>`gmw}$TzJ@4% z0E$CXIu{h4Z-6NK@Ha39F)Tk%f-lGfjSb2i2Ov?bWmj<y*k$u>D#y5+P<<}$6V>PI z4hos{1t0^gP%0FgeZ+F(>qfa~%71UZxBV5;BkSwWWw$kgOW>!>hxk!pj@2+1zicu_ zf6y^cJaPmN4e&@Am~`N3-T9<Nv_<3ve5`xK=eK3T#5{m^4OW})AtEJ6rHbr!4aFZu zq6T#yykJiu5~0`lp5P-_0UHhB)SSb1l;7*Pv}_L&C<k!4A|&IFte^s#o1uY-*UV-0 ztlIKu=<S^U7i<~{u)>)%4ZiLOW6y(Y{q(!kXOb9BU^C0%BC?AJRQqL;O9RQ^(#o(Z zdh;ns10P7fukRC_xAc@Da6IdJ^lGW^6z|!tT7-T5=QDMF&`wD$w#*0m(kfp_LsFq! zg1{SZVsKxNbw%DIt|V@1mW{{h@e0r>Mc-tOYC@UQ0W&V%b+sTs5>R3hrUl$iw%z`; znZR=`q5|P!APE|kP3>96H_MQbI&?Jic?yQ90H~8k8ooLJ$sk<&9DsC!f|(-$QB^(V zB7O6=8-S`qq~8UB_G}ab`S~AYLy104Ndrc2YnHV&xwmd?qeM`rFKJBOL2v(WkT?zh zoc-zcxt!)h_)MOJVA>YC4~&=|Fo0ofkDLwoT1vz|#I^<w>!1LZOhmLcLu5cL{8BNG zkjB{SK82iliLFv6)$MH4!}$GR62RGnL7}PckO<qe=ibYNd4h49F0<GM#LAUFsRnuY z2*9N_Sm7Ben;tLO*nFl0+lEl&&q08RayC$-DUytc6)xD&`<Z1&m46omtt(zhW&nF} z%NiUfJ(=!G+UHq9uLUr_Rli>jlD&HKm3RUIys+4BN4sM%t#T??zo4ZrlBm+}JGUEK zwExRYg-CyG7lUQ3%~K?03%0zi_RIkz5&*GWND>~^<8VBdm3;KH`WdS`u^~w4Z9O8E zbAUXQInh_oW^1+Z-Yo1oulURPupnTOKf5EE(XNtrMc7G&pb2}uK8ZJ}Ly!&tE~LR| zsHJbqx7&JEK9D|AW5yKT2kS$N5`lzU-h-Eo=XaR!lcjp_l}y=s>s&~Wf^Y6ibP-Zb z9HO7jNyoo?{9uy?&fjLj|79QJJK14_+ShkLL+Y?Kw$>Gw^vudbe$YGI$lx_&LUe%& zf-(odno~To@w4cUzgc3&yzv^sfY1Yx<z^`s!R+Uo{EQk8cns81c8$;6XYcC^f?i>` zZ_UzH;->#jKTDB(5CJLW6U$yA=@Tn30S5FObkr*YyL>IfsnHi@U~zG1n*U8VSxp%= z2;7Ya?CI6GYVQez$TZH!+kuhsf9UY(Kq^|w5D@?J@r(A^TZV`FUqKE9<%Z4K>-GVa ze<AP?a^W1--A64}wt2zQcCIc7nt>&<O_X_H+0Q5BD&nUvYf+zr@DnJdQAhs{JOf^9 z1a93*_(@s4Xr0ldq+&~oq`7U0671^;cvPe`5}K}Tj?(p-$BkfocKA$;1X}7bSvx@7 z2BCOF1g$@m{?rVP=slE8OaHKz99SCPL4l-*0s&d}Wn)wo9JShRR^HxhJgV9f=|kJ* zq2*)|Jt?<E2qun!_&F^;NRVQ2F&7`i#h?cE6{7*3=t{lF8FaYIN5tWJFxu;GHJE$L z_&LKE>g$^hmWoeJUU=IqAr!`*Z|k$o1g;<lV44EehcgQ1I@Hq5{R6~J9w$sHfc@V< z5r;&e+CDfGlsPqg<6}T7E+DbJdiRyY;e`#-S)SJ_f<@M(^)(j^5|rUHV;h1_vux23 z3CEZruugc;Zq0p4x#1EiswJKNzo;z0ovtHNbLBvpv;Vp|0lE=bYTxkC`JWeoz+g-} z=g8VLA?!O%Ng;K!U;hQcAuv_K8zUu1uT@o#Avnk|4L8f8Ux83eA;8t0K*r0j*Oh5J z5VX4!8iJe{pYgRH`|W|ixFleX>zqti)piuJ<(O*rl?%O&k$@un=TOAGU|Q8P<%VE& z29L(253inD0CbsOU3vH3qruxCTK}f3gV!n#96QN`k`drr03M28v!-`_6m1kGRmvyT zU+F@JR)qkVCpzdfIBUi8KxY{;FNXA;-GK@bk|MIvqws9|Q?zuEJp1rM^t2dSJm5LD zO9&x<$r}eK%+G`%(*1%;^6N1kgH5zpVoVy+H@f|%0B@!TB_4Ylrb;bEl`F+cIvYRj z0Io)v{ffUS3}%13As2h|)2gvvo(|{6(K@r=5nv*QKu$PICg3y*fsYOQ@@I}gH>fG# z9TXx%%poee5rS{Q55IbwM$5zWh<M?&ox4p8WJ4ssixY4A34#WOSUma8qB@Q`uEt|& z1FOP7m@wd|?|$_U8e;uzP+FV{OfI3I7Y(!c(!Zf=So`Y(nAkwj&xxaP{R@-zRh7#1 zn(i`wL=fx}SQS4G|3T-|Mo_Mw7cCBxS8s*NzoJSlGWn!18B8$PiY({j`ICHors0!? zcXaRD*eLdOW&XfUQvi^XHP7SW!6gMF!Ke;oF1S;~lGwc1C_==$V7Zma+rvwfdt~9* zh>=G7<@n2M485Tj(4)_72v$xT(y{kKxw>PD6WKmH?XZ2JmvG=I$<Esv^kHOE%Luuz z)``dm1MGW2DSK3~F20Yre<)!ul}#S$c4FsDwTvc>*;%wHDJ1}75yT3aLn{V>WEk8e zQ?X=?MTHO<V@yyiK<gsGbYe#&ImugXEm>DKJmTxWFFdus^vVO~X90-^Jyg=k7Mn(D zvfSFlM(Hf_{`GDCu!Rpc!^+vn91So>!lW+LX)op9t&ceS?V;=+l1c!O>QGokh6i~$ zKx84)lq5V@xX(Z0fxzIsveH$d3VOY!&EVy6L|8ew>D27&WBMOb@eU~=JhgH8w;O|C zcwoMS<eU?lF-Z(I5P|svY-jW!AC{{@O+KajeAZpZZ(Ie<6!ef0D7UM+Tcet}#G{o7 zDT&ASd4v3D&*(Fh8K|Nv2NxX&xZ1AwtaTubIsjOy?g*9jK;YGpRKjFCV*h*&N?l3% zF%$eB^i7cg0%Yfyduw^{{o~ox*0J2m37x$^utvfP2@52LIl)!hHl5fxtekqJ6Pn0< z@=_nTJt=K^*T=On;rM}3zOyDavur2?0eF{$;coUYcXN+8tD4lT+t@-%K@%6}`ffu6 z(jx+d2<3!KEi=6Lc7U>z?mb;6S}eU*3Pc=8*V;&RUZc_XKD@Z;8q`#l$q72tc7K*% zAhP01!PqiZ_oMyX3Cd{k8=F|){BjcYLH?fuP_&l~F^jO<+%yk8SM7f2D%IFAXIKDs z)61LM%wqH5X_;>;N}Tex=W4;@Vi6`D1!uif?^}Ud*?V~V;j-iuqFPQbzU4~;__^$0 zV4hC`)oQ{4=HPc@VQtU%vV4ZZ#ED=nR@(>Nm;9VhHx<WraoOPw{PxMPrWL>7T~?QV z5w@ze6{v&+YH2-iKU&8z(;1NqWzK{Zrz{%&j8?qc534g#`B(K$0C>;e_-x%E@V~gm zb)52{JLqq&5bgctaX|n~1wk*2JdZt>b9vu``$Kr$&R}jA->>Q*97v!%V7f1b8YmL5 zMz$5Gg9UAHsLN!o8=9SrsRI}Rz8~Ul{n%Ck;BEd=rDt~53r92{0IV?0x)t)#Som>1 zoIjatbL?GVD-S1^NA!qSOeT;kRKY_OXN;wUQJst5jWOdfh<i)|fs2s^h97)GQYpbV zPg>JS@mFG$!ei(QFosseb`CI<NPab*w#_>;yr;*Er)s!u<9H#{Fb!Z`H)&{Q8bl>5 zwQ<%(Nb2=bR);I8X~NVw<PAs;`rGRLf@-;YYxbedgO6P!mL!$L5#;=hmG027+usE* z&Ra{(3b_X|OMZ~0wZ%}Kz)BMZJwOX2F^YhCHEm|4aP+8TCg0MdGrJksYM<3mz6V^> zn<TEQX5K_#U!Q{i)01c%C>Z%5U$l$M^ek;A(CqVWmGUY7!=>+2Q{X}MK;kTq#LW{X zR$w&s;Q_N1v*fCqEz!q`6(fbfh&P~q?}8CO%JOyZ1`hW|NG)z_mkvw(9fSfn7DWCF zhf5?#`nJ5niDHe|QA#^Nf&c-37!P<ideE-Zp0JrmLMzuS%^Aa>m)~n>$_v@yM9&hH z$!XpIig|Qn^2j~EUyP6x`A$07lA{qfHa&DvC#Nq>w*?ntLpD&23^;_dtuNdJ0QJ;% z_8Op6Hk2ce6j`Fi>4Jj6gd{)>wqZP5lk7^q(rGBAE!><TY|PKhg4p*7@C>w}5f<5v z0fr;Ba1>nbJ<OO7ofQp!!FwMJ(E(Jah409CbXE42USi6piXVf!(gzNAYemW*9RX{v z-!`02UeiIT@Ckq|S+Kwe1AGm^b*)>&D9(d;ZX%wSf6ohjj0t~X>;u_~_Zc$;9bk5g zAJ%RDjH;wvBZ_Pd2##Oifle{Fc~+jEoEC>$a6PI*fHG0p4)}z}DAo%D4v07)lRMM3 zxwcz?WRFGvmXg>Ol?x4ht??WZ1-x+~v?$3bo4FTP`4Q$nH8aw5fQwL>?h!3;$oR1_ z_;XM}^-)6*I-@`s2Ef9mz;(RcrSX5duJ1(sFJEXh=c@ca=Kuin-g(IJ4^1W9X7yxN zb^2{lgp!Se)EzNEW0>5{#s)2F88qB)hz&NT<`f3ZEUh5};f9l#Kn6%+n&a>j?k*9< zZC&luNb{8-44s*rBEyFVIHG80rOC(4nH8Y0@2D3Fn`+1}n9)aGOQ4*~uhM$7ZPD;# za~Hc#KM)UyHX{epFBkly>f_N?*7V$+%Td2pZ2k+&kwXXK{(5I>LE@U$Xux(hCi60| zA6b;++=v>yMeg8aaZdTjRn9ZUW1A&?x(bz)N;mGjb$QVo#6LtvZiT9swzd=azcoh1 zr%hIU+KFmMpK(AICV}%yfvA+?zYQsl<%mn*02#ZJzXWer*d#tkK;YFa;C8}ff1hWS zJ`Cn<G~prnEkJ%F;H=>-o6w|6kkg2!u~KY8g9?B(46+#vcFEF<`nA34@&D*$i`D<H z`jUFTJb5d<`+Xicd<h}}_`LGm=eKzzP)6WF4jx9fobdAcsLh}MFlHf;5XXrd3%?Tn z)W?bl<iKEG_0f|^^TO*<C0b9n0w!A0nipkIcClt;{v!7&TD@*0$<*%Mwq1Q%+dQ7R z0~iEVNCcwCpeWi`kJr0YLS@d4)BID8BM^L%Y(2j~;Gtc@ORYCmNHy;c@`w}gUirC0 z2wQ6Rckkbo{&6>xUZ;0r61R4ZdG|DxtYuC5eWRXI^$$<U$4RovS=f@uy##p-0drR| z;6V~#epPo7HMBQ_8S!RAyCV-7C>c4CFPe)8!PI`w;HDqC+7NAW`@mMDgf#I<l$)3t zKt1-z6c}j*zl^;u4Du#bq)|%b$oQoI2^0gon>_*VXB?~`<?(Og_+7IgXqV<D=zeU6 z{y(IT%I<7YE%iEP)(Q%+u@Dv005k6QAlDZtdh?EoK@^5-RjFfz(w|JJkaejgifnlh z8}Xu6lEoBclF&Cus0N8*^3?-=TAqlvolMT$V7y#4V8y@_1MdfMPdsjiy}}2>LqvpN zx6>VDnB8au-k(b1^ekRGXS)nww@R85f4fqrUHhSgr)ET=TF7cIXX8W}<hu>-vp-r@ z%2J?v-w)OLOR8FI-}h)@fye^(^93B@mA{dO18Be!!5qgV-wxgKqhMX)+gRc%!0Itb zDwlWSisleptNM&PiKe&Jh<*hCHZYEcU~oY3-W`5zu`{<Q*~AWF{A6%H+OX96HPnzW z2)Gfk0*z;*sKK0Nyo4HW=2MUVj}2KAZ(gbjHK&#-e9am~)mRZJPWX{iazEq7N=@xF z73&NX!CyI|HA?w(WEr4oXbK=<xS?TwW*5p~FHpd?0B?Zy59vsU(bqZMM?t|af`kZ+ zSo`;vg<DM<QcxZ8!4P$kkuwY6L*bK~8nWQNV6SxzM$dAN%$^MxIKMns;rs&{d&(!k zE2zPBe@-)V@qP^uf+W<(KK+Uc0d6IRvOsaQ>tt9debM*c+H$Cc;*=*99aMqo{zAul zfpWj}Li~NBgnC$@>CBY@5r_@2p1H*N*KTlKJL#n+s<O_4Z<3gnqm|eA+&A$TH;077 zw55mjmhgXl=jnJ)PQSnZYs~`Sy<*+7Jf&2pzr9=wik33o@b~!wnqV1nbPqR$@+YAC z@KfMubqtY6c|$^@51eLM2%PRx2=dK0d+<cKlodN6oZu6wr6NCJAaIqawX!7_mcB-s z+zFk95DASB9ktP_$8W`YVxhpYAjq_-a-yVb{P0CTPKyM&K&|)Debb)t2S}3y@j6S> za^?3isQ9VC#}2kAkCaz{^;!`L{@Z%FOlT}K6voqt^S#Dy@RFq$swSsFgyr~v5|#GU z4?m`}S(ErCm@?GiE&reFamwzeL-D|Tf^yM@cOCpDKW?jgR3-`ouUV7>he|cu*pTXN zg@k6*3wt&~W3GNNU#6t1i{If#4g2UZ-lR&(9NgRm;y6k5vwa>g@dUSDMT70FI^Bn} z$jCetn_L~sB`kO5S0oBl@IJ*y;C{<wNXF077VVvy4Gbc`gNC5JB=3vS0U4-6ux~rd z^{Z16Yq5L@t+d$SI<HS%>3>kf3H2>Y4iuO0NrU*K@0<pOtGquj9{a<{!0qKKYPkB# zFHMVjEU2V(Y(v?j%$P6C0We6HCX3St&}^LB5r4}f4vXKGXuWEFJZTo<71SZDQ&u=2 zdm@~~Boleb*I@U1=$UCV{=BbF{vrbM8oN2y)`G|fX_K0l-@byzG$6*xrR_so03m}H zDPed`{E$C!nt)s(_0rB}0{lbRK=H+Ww>CG7z;*m{-SlnEc)1qQB$?O@`el6L0Glw= z+tQf{0@F_=kvdw2@HNE>0SjnktaL~Y()mt9tQq%GrD6H;B0`p@7=M6tTaSsi+<wxX zSTi*1`C+@81W3lDj`&d=WiW#mTyK_H!1C>McC*vb%sA%+;|;}xKtf!U)Q>h^VWjrc zgEL4Kic6w-aH{;efc*@Vly)!??8D;l&8ZpmmIasax5x#bbrPNS9<PWDnZU#fZ{Q!{ zpK$6U%x(UHMYb*%CX&|98H_PNQi|u7v_;{t;)F%T`Opk(TKGrAYT5h*A&xK>2)CHQ zOI->O9yfZM?O%z2JhvpI9pIQM87z$5dN5#IrkLU0-4HbuxP*C>FT=?MAFJ@w&|)LY z1HA?dh%pgZDcd<8c8JP#K+MmGtm;xWK-NjSL);oGQ$?Q~n}F+#k)O3fB|=*y-y`0@ zhHulkW#Y!E>go!c*?pna><gkgwFyANDhQRHvi0WJQIE^WZZ^lFmN%`K_iA1A@&I}T zU=rr1)2C%x3iSGT;wmFNGF;^}<S<ccBZHGAZ0yzw)7CC`QAFvlpflSElpnzou>1rO zB^r_V6n|efFm3Pg;~3alGUsPG{Ghb7lWBZ9b}OgpFr0qN5+V^c5B)2hu5WY@;$jyB z6rVsCDp*Q+?Z_H$YyuAgi1#<7-uT@rGMi9%WZdAm_hLo&@m#DLhQ26^h;dRRuX;1E z{@V(j^Raa#)d=@b0KBZdZopKh-WRwOf+TCNXl%#Sw^>f*e_heTU=bzDFBZOQhXCD0 z0!d?@mo^6{5%&0sK#09lA%9flrMl7&uY=yLM0PI=it-6J$#mDLF`CDyA!AWDD9Hml zS{u#HCoO^;3H>l|VZrHkgC7vbs4`*2jEO*zDSLz3kucR3Qt9^!phyv&gPUFRNnv_k zRg)26>ApZx1e>i~vFdvQ&{W9PXehpS;4igPxqw1JJSFub=)s<AMqtI?R}oxdT0c)6 z>|loG=cL)@HYWEOmLmtax~sqQNnLerm;Su>cX~r>_pRZAWAC7r5HBdRKg^WYIS(Uh zqsJe7?N2N~`mK2b4h@!r2rT31bn>t$I9@$*`q$7C)f2~%`fHpVDFXerU8T`tk|@mt z6Ewnb8(~2+k_jKg3I@yqG%hePUIoHDro4E_N2rJ~rKy4&R}I>KxI_GQAS$%YkL{Nl znas`D;4DpP!zZhaE|kDdQos_pe%-m!V4w%vA<smW5ghy;>|#&K<+%_`+bR>{s~7dK z7g%VvM1T~6T_|BR=T6W~!W;~g1BB$qO=+;^jK`hX2X{M0cyEpm#T3rdfb4+9E!bMz z!C(9n^K-z#E6f)R=|SPnFobHv0PFlMxS54v>)gI8vnVKUp5|>)ZH<>7zE1v!3|C_f zsAv%tW|Dk9MwJaAHxvHLeTM*;qZRut#S0ZhV{lW|aDl##BvVjb6zJpmCJbfv^=+@d zQhT-1`HcY5N*pRV?ut5s$D0gnr9*k#?C-08Bk0|$>{A!$YiHfmg{kg{1**nyf710% zzd7qGS)eret^f%k-}^hUAuh}kgkcUmG;jL7f#1<PL_H!K@;n(*;yCGTVF4z#L8>o) z0L4e<nZb`6`_y)IR4^UeSBCpxUlveYcE42-!>^7x!~+CF&jIdr1O>4`7|zFzagEoG zC?F*0iw;1+%%B_ugXyR4zxo0p)aCrtb>#FXIYf8;eT#J{2_a_+%#!x%bHHjh2c$>p zKP6K#<;+hFD$|+?$Zyl2E7Dl}v`;8J;(+eZobVc5Lm$<{_<S;gJrZWB<eJq~>o&pO zaSn9Mpab=c%li-XoU!1Csyz`>Hu^ZbrQ8iywlirlZyWJ-rUO3X<s`xZIAbJ$H&;46 zM7l!ziJ@eERxE7T+b%LV@bKiUWWI+nlE`|&ak|PyiG($39Pn(;4)qClrfdS;bdVnL zjSYvh%dNmA!u5y|Yy|k&0qo)tY8zv=N5H41v$ubemdSb87axhpv4;7cYU)rZ$%yfM zV}pjIc3w)^ah;&B2uEA+=ChK4j(jzd^<Ky6Scminx9F49sMTlnyI%o}UYI1^Yk`0K z90Iz)piXXW*-DR0{Z8(yVwT`CZJX}TwR%_1^wY_ZNZNibc&w-PdfvA&{Wq@QCt@^E zaFD9B$IwxfG2>oHmal|qn2Fgn8;kJLi-gCJN7AEAW489zA72Jf2$rAnAAy_XbORA= zL;<uEj;AogTjzVF1eOM4Mk12zwaTx=iOW;V*($IaZ*AzTc}jWZ_t{?|Nt_uKR(+}T ztJuT@lTra4)JeO@45wBs;#7R5v$_$nuJk0CAnf2|>m_+UVF_kbR^?QoxWOEk4JjFL zmV5mWF4ZhdW|~D-1}ws=oX=*Q7G<d<1Tc1rP!zfdB}EcroVPLo$1lxL(ovHb=_Zih z0Mhj}+L|<<@J>p6D%`<{Ns~4|9YSUA;G5-}i)GKo1ge>#suLq7575-y#BN@B#uv(S zVmZ*gPat|950P`PII!lg#t&0U<h42z)<ACByOr)bwm`Tk1+07P&Re`g0=rMZyo#Qs zk}mEyLmNtYSUy`cx~;eAW!8ot1Msf4gDNOKhovL~>b;#j#WZ2@dgGJnIK!e;iEw+7 ziJhUje$lE!dYp5Tsq~znX<YM?(FddSn9wpn1GV->?nZ){lwQw5^GknqS?1%k3B@Ms zbDrnKj%{Ltg(x@FYlu*RjE6#&GfObB%|TB^*&_VX>NmP(NIzTZpGs!|$y?Bpr(uG| z>#DIPxUAag|461XtAR*!Jzi!Qj4~4j%P4@IY!83AwyG!zZ))|Vg@Q%COXjD^T%%?a zL*M?lZAw$Bqw%N8m=fO7ntF$=jw2=Y!*=WU4Gu<%3%=`@5r!e$w#bX|kqAdDXlP+p zR+oIg0Mpecz>)<@dsvQR{W^mfFex^kKMkWYUDn!tr00$0&8FxlC>XvRGbYV}D)G6+ zUF9*5gu<CpA=YpB-AEw`g%VZ-r<AAofZ#CiOHO_wRFJ=xS%*GCL<Gp>pHCVSw@z>V z#;_?zfct_FgJ>x#q1y>EiNwGWp^~FuT>~p=z;(6aii%dSQ%kl2=idWE18L&0{4_g) z!;a<u1W6=Tky`C7ryar@P7IjRbfFE!J{^L+({W@955Sw1cS<505UGsF6e@On1R4fY zARrb@YT2UsUhenG_%IkbNA_a7Ya4vUhJV*few33VtVkSAz3pW|cTN$78>Fng^yAtD zYN%5$@#Y<lU}IFe255|z!cyB_Tf^V*>_I53fdc<jY=qaT(#k5c$j;VoA5@8f6gnTe zvUrR76dihnA4kOGW)>a;%Pm++)mD#mK$J<BB5qmv+EU!UnT!wYIyxXss&{R7u)OP5 zOnHN)Uo1t+$ZQFu$9Z2S0q+D)t}bk5*8#AajndHY?+$YtI}D5YO}net<916;PK!_b z{VT{>76F(!1tiqP>`~TZPbG|QiHFk04n1|)ei=Jis301Wi511!UOOp&l86oPPK|Dd zkBLBK!Gyn-u!GZB<j#12GffBfd1J8Zoc-17AK9*lUo}7fYF77ODOp(Ro$nZ<5G;Ui zEZ-QilTvPR*HAicCl*S!ywPBBanzC{D%fyke{^eacot0T*zz1eL^W#8V<tpvsgEb^ z+PwZjdo3hg@{1&e7;MrUYMT7|zTE06bak1R@obX{qVqDZkoryeqiGr&Q3g&`os*RH zE2op%s{BXEtcS(vEF-EdYpcA>u22zue3N9Kn$w~8_vWi}6U~MGTHUG|?w&6iMtUV! zzL8Cbi^}ET8^Hwnsc~8WWjP;EOcum91l8@$CpImqUCMr=YtD*N7A(3QBdVT1Ugdbk z`14Z^@XRiC*oAZ((ew$*6%)g9p`QyMq<1rB*}~d^`{4l6R?P9<5h@A?QmP;LmU_3| zm0+d38r)uJ;eg~jRZsFlDs`UZ>gcP7=BxxHKG?`XbIQ9y*?({j=&+rj6w97|@f%EB z?HyXoNY+%xU*K3TK6ZX-;0N5@F3$`np?H;kAW`>PRFa3;>0(P#aY7a(3>K}H@NGu4 zbp@rzPs8BM8{Er?3E<+bg{j@&54>Kc3BV749aZXzSsV-jaH^*%VXx<|`j6XDq?J z`NAx3YiEu?x%4L8{6zCSbp8;X-_gzYwi$uJ0hoOOvQ)~fsL>SaW46xD`LQs)6id2z zST@N)!q!e9cb(3sMmC3d+c36&LKaS;VvL>O(fXv7FT1ekwu9Hgf%Sj_R{l*5xzE#f zt<(xxxX$CoDbwcQMLZ-u=|O}~hq#no(74-5X$Z7S#nSbjPOVFiHTcwD?;YpyI|D?h zQdpAdYqgsM6NOI8)Tt+`q?)m@GzWZsrc&mb3gWy7pD^teFCDd}&iAMSa=n-}6i-?A zxdeX6mw^+PJ=doqt=b#!Ub3&Oo;Si;gbPa2aF#!23ON(~Or46@@>#3Z5h=Ke%G;d8 zQ9oKAj9Ma%5y%-@{Cr`td>yrU)~c21ZFxcFPFHCbM3-U3@M*fj1?8W}vlfUAUiq0? zTbfsq$h$sJPZ<liW(#<KpO1UAFn-I;Ckv+5pGp`NHKOsZzNMT!=4gm13u$p<Vnqrr zqw?*EzoBuV^fg<;pGvnbme~Of3x!LABXrhlFQ<Hk@%P{W(f@TEJ&9-eVz3aBYhr`a znYv6aw{I*p67dB#g|1DosKL+7+%6+(di^Ract1hg+UjAp<culIjNSeRL8xDFO5Ka; zzDbr2@4mh1`#F|=Mm{NIlYIvFU;|KIdD0ue^zle8zk4ZT$k=#<QU6kMNxE@3JgNS; zA5E3lsSp1V1u$h-;tO1&qX&xFt#6G>t*urflw$Xui%O!fFi5PYQGo9tIPIv(dVR<J z`~(3seEm!^YyikIQjT#EGr($DTPvp5Y8FGsZU5-=vqe^9!t@$uFkpu?t~9c$FulSO z);hL)+8@(h172ZutiRD$bM3UkoVDWERPyj@V}avGYL?FKtDP~_XJJ~jejz|_nlUE! zLSgmyE#fe_tmD9oMaf7JHoy;;9WgX|M5A%q1xb|yc0_H}lN`(WgKv%in2~Nur6azV z$<DjLDza*ubH}Ijo@{rd>O}{|#<77i$HJYUP?{Bd%5FHk%4=oH$B-OD6yA1m2C_(6 ze7FSvMcSK(`pv2i^0X7{N*{v0_w}{qm-L@N5`q+v>|$I>;uDk=zA9#-chMo2<7px9 z=i@R8nEtE~UeKp-0o{PgO(d%sflATUnW9LF@nj#~w*?xQ@v^V@GnHd~01HZjlgj6^ z*YY0!+9@?1+){|yx>Zs%(mldL9sVnLRsUO<F>k3<w6*e}Hw>(zm817zl_Ulgae#mI z<fI_6yG>YOv0eTyjDJHh)%Z>wXR2fks>`g=;0M!T;&`W#KPGOkxw)xP8C*64nJ+-g ztA*zfUsT?wR|QpO!&FW4eij$|{NS$D19{)~aBFYYv6~;f@y2eu*`q_)S3EBy4t?`2 z#!|77-i5yAkzNV|f2j#I{90M;R;K1tCm3{6$CeTk<nU#oXw)UhxP+2!6hp#gZU-(P z9+*~0Cx3+OXZ^J~dpo;V8R8IjCo9gt#P(cv9O(;Zi;4m3HCY8~B~OnjaPh~>B~Z4Y z4s!3*d)UjFnVE6C4AmlOhI9sh5kFP*b`xi9bgQBk1>?*1kz*<hI+)LuB2A1raA447 zi`O@aDBx**ch)Ll`|aLW5C$}9OQt+TnaiJS)%nAp#WnAprT<N{8aIIpDRL~VA-J@2 zR+JMJXXp~Yx4lN&od8vO=Q6zLj+~Bezm0gd**E@Jjtu}0Y_r>c`}1Y9hbW44?-*s} z><q#?ij6Eg@Gw$*vGGX}dJ+A|k?LHg#$w2y74}Z&)Ru&*XJRlaIS`A-g7|lKieBVE zQO-{-qocz_a%GvDhfQABK&#ZaHVIBiVXlyoB1&CVt{vIDHre-!1?O&nbE%df!=fdV zEPv%or#W*YLa<zO)iUC%qcsBomb)imGdaRHEn!bqD|K?)du`Gs{NtfTdi&jy(>YBq zOrP)ecA8mV$qlJe1mS^F5D6CTG&Jqi=yJd@D0<zSAzN|&Cv6)oYeozf7Kx@@F*dWu zo2LxRN&JlHRZIQ&(~*%8BSxig(M!BD7eyN5#Q+q_LYCUIb@HYttsh9+T91?wmvbGo zVgjA0m(9MVS+fokwHEvN(lZ(wJ=K})_u#g)Sce4W(f}fSx<9!dzW@9ds{Y+dQ8t&Q zy-1tiC@-jvLnFCHg?nX6vmmo;PG)HR!ToJRWoFE&)c~#ug%W4-OW8raEbeyTWw87u z?`MJ8=B$3C{MWYL%beP(g>#X1HmD^vC!|L*r~Hj;5VuD#XL8whvwJR2Noltr#CO7< z0Nh5TFzsqeJVJCUE%Q4;QLl+NQm?}+_-k4l2Jm;a0y><rJ=uS}{5U3LC_+wir9_3# zk@HiTxPl!+*ERgVM4HXh{JBJV#@X*Wj6}IlmZY64g|+>dk*Js?g>&a(z+SlfHkyUY z`0l|qbT@I8JGjY^KAA=i_Ij67bj}n-OXAM#cy<%TerAB)T`niCkQ($;4jY~0G{0~5 z?2^7ag^_<>Acns7o5QJN>*?Z|;rUr#Kc~PTW?i<(CjN_UNus*qCHd@_PP7#~`y|#L zdrCwHjeo~hYXilG)X?gx@o8H$EP3B%=$8uXnQAWBT6NbY{4llKwtH!3A8nhhX^yVF z9&xrpiZ*M1itD9WC?ob2Nx-qJSsN@wTf#4s`cBVSy+|9)#8XPa&nGezKZ*pn3ys88 zWAIJ6)rnPlV(x%yh8~@O+mt2H#hq1Bw1I}i!T3&46t__48|WEHyjvR7uqdTHg3@XB z%NOr4T?HN0L3sDy{NxV-XR3_<d|<(;gOBksT_y*om^yws9(f(Pj(0I$TvM{#Ai71} z>(H8J+){G96#bmv6*#nV%#>B_eaMaBfYCr<Sb{b>*9zR_wOY^{Z0lOcj<$t)3PR5g z)l^^Ah{@|$e+vuve^3a#LNN_l1=gO7WxJnw*sk5o1(T#jw%r?EB!Z5dq0DeVK`;oo zipZxNV-6sM9Z**bzpy1^;%Hlw3kb`9*G8mqXBc<8lYS(c6aDU@xY$um{f&c1gmoxQ zMRVVxi&B&B=y%YL!_a9PR8l_n4@xMS8Olr1WMSn0bC=7D=nd~&n4?ppeIrg5?+JOF zqTG*<H5<;Ob!;MtT=d;a90Rgef7UoylLM2kk5^ZoJ6B#EOJV^DX}Gp{8DG!P1LC}@ zU+y*-FscFi{+E6VFft?_)=#_s7ss+YVqQvHVCe{ZO+~}DT48B=2v@;LPWha&zkM@x zIQnL_pd&C=%=g;1=9*dGmLO9-KQBTqI&q9+kc;1D4^!iZuJi$Ns@9UT0=eMmw`lW7 zAQ{^x82IlWeGZbR;P$Rl9;Q=n=ad$AbE+%Dtch|_5!z7ZwXJ~h1xyy(&aW*t0gzgx zwR9CVkFtX0!o7V=23%Z!Oz&Ewk*#&Fm&)?rCp(hgvc?7nA(Bf3B0^!PAVVnB6;Tn+ zkS)gdOEk4-3(a`+{C7bcVs9N}fNtAM5N~tl&EngskLul@(Vonhh~_1aN`NFJ@KfK? zWm?72h1i&3R(){{%~8;g`77h0Nt7UV-=}!Klr~N2nq6Kof81F1i}D*&x+6FyhLw>* zjW=O%a?HSHtHENNH{ym-r@yXezi!67Nv+xpXj<qAV=C6ZD+jbz!Tvd{ovY84KKaj{ z4X*fcfXEhS6aX{^lFD;4b1{5kGh2kTlitnhENLlG-W({MCWR#WyCK0SKV<#=vaYQf ze#+@&8J|ACL&@20!%BM;hxUK#EzB(f^+fiE_+;co8e}<_(}arU<30L+zeBK(sOnCm zT|X4SPGTrM4v|R>|LTh>kEx^-L^a@Wo1aM%fR~`D88-yG|ExO_o^+q#X|vI0Mgg|} z1t8};#NH;`I<qzG+l0Q6Mk%kFK0JE|5v&wD>xnoe8)#85+#$-1LipbdJ=^v2GpITI zDCa|VMtuNP@k{ShlOS9l&plHwrt9P(b(azud>HAm8<v1=h1!?j%`2X!+e|W)G*UJn zC3RLYtgTJC8kZflm*hWR)8obPq&KXCwyx_jTSG1SSLa=o1iIO)b3(z{;fXN=mHXZ9 ze#$(4slHURS$2lU)RE&6f|nc-(kW&-XMJH8GSr~@`OT8{0gEx4KcEInFj2k(Tam!{ zgc<5cKO7BgVfxYhB!9%m3tN2!1m4j4jBy*&tp4s5!iLOP(gD#_>&&i9#@l~PKv}>5 zWL7Om-M|^M_9giG?CiSHOzFBtmvkfU`Ue@$kBxfj$;G{6AMfy(f0jn+B*c$qx@_`) zKS~1Wg<Nv|S93w;ryaz_I4a^>(I#*6ffYiFgYhZchreR3jQG~Kz(8rjPqQ<#^p(ib zc|8GTXPa7<Nf1~>E36?1VWY|m%@3`-=~w?PkH*$|wUT@@=aZ#viee-5Ck?!nu+!mr ztbZe#g=7Zn-QPm^**#|lXTiVUacCY}ThsRQu$Bd92#ka?!$P%^CPDG;q`JB~q}1-o z6tDo+8Vf=Se~Q5&QvlC2=+)_^s_`-xqDWY9-dPP(m6XswejnUZV8jktLRIbj<zb;{ z+dF>qy!Go9w-FY+-eH4DspzUzcxmX}pt^HtZg#2$5O-EU+=XLU{Kzz9;lCg}nw_3N zZXiFBNnfhnAx6{yW=iJ$*>(TvtebfY`<1cuHDJTrwQGba<o8=zhhW=VMKm)0$RwFG zv74x!CdQ>lknls?HtC{9)_W6|U_HoRc6JKOB$22HjJv+NbhU(P#YTLxqQxwuVJ%t4 z7ZFcqzz2~cG_s@?muIL-`@JPP@@P(M-@bmC>8^E1xg($6TD2=Q5Ay8&jvY#Arey`# zSH#)ia_8jdO-S?^lBvWK=bwYu$?{ebzWb(W&Sef-uUM3WmCn=BQgQ$BHrlUR&7M}W zt;k-j#P9OtxA`%A22I<dvTyW^ttKI9^IDoqkgF^049Qx3c~IqhqC7jP&+fr51X}VO z3}ote)2%h$L_qrggmkYWNLdEqO>s2DggMd5q*>Oes`4!1$4UNH6R_20Ro4D!-LlSe z_boDDu7A@V4j2>afMYFRi`isMJJE~&9L*PNJU&S=NCUj=Yx}=}<@aJVOZb=)Q&s}| zY2ZEC(S)pIYrEO092-tR-R9u-+K#?q1nP9N0A2QVjyg)L!B}h#QUSoH>5%HC#vCZ3 z+<o3gIyL_sp2PEddovt~zj2%oWPHj@KheFj0kc0vDD%Q^KVcuolu^#Sv!TxWMdo|0 z;!ZzpL^IyVa8VeC{%`ZbPPvp)aCtbBWD_HD73ka@4+O~nuJ=4c5=@H?$Bfa_vwPIW zR$O?^Bq={R2jx`PKB;$6vosIk^Y}h6fqk1#lPND9V8&Mi5V8zC04?L)ep^d1Srz5K zN@So1O%akFqS{nL0nmw=JzF5oL8_Y^gPtA1>OS*rXR@Bul3-Z51<|;pj;{Y4>SRm= zW*la&L+H`Nl>)<DXpAKk7(@p$w*h*Sa<uEos3{xCpaaq(y?$ZSsPoiwTciNY;T~x1 zTVAZGAJIgh!(i;x1-}!wk{O&p$>c>A)**y-n^^2jfV|SW+!Ie>X=vaWYM}wl4;Aj2 z(hFgrt`3x6Qc*kg)XSgutkRy<-;rXBy+we3TM*)Z*vh%fhaCIe$T=ORjT<i8bBVmN zrAPAr{x5(S^vlb!*l<%$Dyl(tG8`-GE#Mj>D|D~#&s2FTf<@8@?v%owrX(=N@x;Td zf&yEfaYbmpF?fOmJdtBbjKd>**DE+P?`^nNCu1?9#+VW8U2KjTS2FGl9;uwo3_z=% z<n}#&j<b9*Yonfn1>3EKoJ;sdgZcFIet%rAi|SQ=*F>$H{-!btssi3TNVe{i*ZK!F z&5qHIicf4A9|Aig#0vh6zs3KLo=MBeg;ZA#B#g_E;kYj99<ivqUZk{G6z|w?q8}B` z36jeAd~)@9-D$eEhQcA6w|yL`Emy>nyLPAPf5QZpcBDHhu1_xQJ}~Ull^x+IctxE~ z{mQjb!`M*osdDiESR#ru&Ex5Stg6Icku>uq0@7aVvWqWoPEca0#8u3ZW5<7i)iEdH za_Q!;y|;#R|JeuvnYG(#hokri)p-!rO(fqt^<6F{M!||d&6EltGXB;8`ilAZ$-ORr zTX1N$zD0O_8!3PD-nb(bU}~sC!v}5JKd)s~P7s@SqUcEX$(9mzXhP}tC6q;j<}|ty z+OH!SxxQmn3G!ZP==sBHZ)+&T92S@XKtZI)Z)1D@+_un~pl2fqHBbzbC?=D|q0!rp z*iW-C522@VI`jJiGnbBn#YeMiI$a;7rTRBA+DvBbn75TrYV=tdfSkND>A`)f!!Ur< zTKy=`eQU-UeWGzvn`4NLl;CCyXsL61)V~oMQ<bxdXc0d8#YzJ4EX(^!eJuN;$@Ng` zgXCjGmZ{0kvf9KnKE6&j3KtL*vSOZfnh8wb4YlJ{$6Fpv(_5^0zjcMas2|wR$Abdv z=AQ-@CE~p1%75(1Qn)-xsC<i>kqB4>0Y)Yd!XYK=(yCOfj7t>b=6n&Z2@<F)OVIFl zqLwQL?1L<{FTbf4RlWkKY%y(v3qS(QH|zo(;^|M+z7KT*JZJs+V$&RrU<<_#{6Zbz zlyrpul|0MnIJ3yZfn+^p^nD#sibLU)R5><loE!jcadXdhFGy>xx_fsiq`u}-|7y8p zCIo3LG8wKz@ZwU>rD1TW`MD@TK7RXqf{`Hg?Pi!5lePsorUV(aAU24VXLYQTi)?dG zOwgSy6_0URtX#I(IWleIpF7~peZyXpi%Ud;J~F!3jP$%A0T);?+DOU$A8obFUpm)i zM$%M(Vphld3OEOaTR3O$7Ut#!%3$2bgJ*Jb<&@ADo+y(OAh#{A`t_{~{k9P)vHhCU zH&H;fBcLSaF6fVE$ONZp@KUw*R7@1keKSXs-ozNdp3M$4N0oMb83PY+LUne>eXN{g z&d7DdfIgy3w(kt7QuoA`AtU5Dim|4a3{8wd<@8J(L$e%Y3@J=N6dg|7T=z^u4Pnjy zofK+PyJ~KG{Z(E!pQ}jCt~w(5o#RjARGORkm%%yp>Vk0CYvB0gDr>2Vp-91|*lJ_N z9gF{R(n5Z*bLIgw`Q7{Fp9~NCk6)E<2Q%;({AQP0>1Dd+pzsG5fVfN&D3-OdVwkV} zhiA4_*RFcpmWuz6_t!(Cn@?0mvYIh~r&F?bIPVC$c6~I?v2G#<?@(fzBop{BuumT? zG7IOSNbtRq-e=FkJXlOz)8%ACiYV={S#~=YH{%Uf4+oN;ZiHN1|Cq|h5E0EdBn=b0 zyYg5cy|oowzq)G@z>kpV8eE_ng&mJDKt9wN!f|?=YymY2{2^bwRotD*N0tFUjR81s zB-D<q(Af*^Dfg?A_YdIDcHfZz=xTvifh|sI*qej~8hyW0lPfbu&zSp_X#s^?;pTBj z@>#f)=qu)<?yG669tz|&;si{B_^$>g3m?mUGA6ENTCm|K_g3p>h@+Uq;E+mte=oR{ zmDDIzRnLmU!gTKDAVD`5;s5B@Z{_ZzIZoc+-NwrIf@6UzMWWbp2R%PTqqi>cZAS+I z4V7FhjY@_gD;pbE4B$qwHAc1RFV7N5p>X<UBdDVfPwaDp-s5%C{p#`9<YTO?-=+o- zTz&q{Pm(6(r^i3U5dX0}do3Za<IhF2rm^h~$yE9P@{;bCAF~7&)<xl&l2rBd`|`@G zcN)dxI@-638F&<aVM!+3TW8}Zgm(%F(*}GW09d+kuyarP_ejQd*I%Nqe2-gYXp9F* z_FZYEOiTU8IopdvQ~I+C-v#po#g$4pzu)svFdZw8ocTaLG5Y>&=<I_x{g7qVdm{L? z@7u<!=Q4M?c`g6CXSs^Q1!b>Lr%@JRr494%Yh=YoWTiDH=L~EcmTz#RX7CRsvdbj; zU+?mEihd2VBja~}+L*cDYs-7KzpiBw)&cLl(c~P4M68sidA>$`?mN5G@70bp9Q0Cq za2{dKrgzx?m!f1IT}@ezP@J~Cb=V#@G(E)@JRHZDzi^`Eg#BuZT;WgYQ`3Fe+^==4 z{kjpHm(f>uZgE!Wi;Jh%tfj3?rLE!xP^3-Xh@nUIkJHgtt{F$?G`ruG`o%r)mv1qP zN^a)wbvDa69N%3dQMb-WF)Ur+KC;bD@20=;%6c-a!!i`00oAdSiwXvMylD~d&=cfz zjO6_h6=Z;hWeAN~r+!;dl)6J9NjF1ag_wMfWa}x)yo7Hh^NUr$$2fAInO_KW-&g1O z{QCJkFLoBY1;dE5lU>~%RYC}lF`=F1{Kp!yYq-xX$qz#~+nGL1TUf<)4FaXZY2c5s z%ndeo0|P`9oz>E1{4`XDp0~KjOOr=8uiA9kSk+W^4>fLlyf1!hn{fx?Dq?P|Qb_$| zS(>9oYb@EP>$Xyo?d4`rW)Oi@Y*mT;7IN8Jjjo$*)reS2&2!^&_t{Yb0|N9u&dosW z)8^F07F@60OwMTa_$<uX2_uZkyras|^r&X8Lw&d{O990wp9MsAf2|yu>ac5rvBGz$ zd>7xd@9@rPZAnu#^PPeuN=B)jfRpUTBuYe>uO6vJ<ipnlFN5o`qQcIKRIs}_3mcQG zSG~>im2tCt<n_Jy4-PNOu(EU$393I<d|!6oK?>Qo>nf4i6FwnAEl$2Kpk^R?=qev0 z_TemcN`6&(e{+_z5E)T532?bcIr+!2T_S>2O@7|;MY`2|8%Ye9buA^Jv(E(5O?F+M zBKAa!xxo}B(XN0AfAfCYBPTDhXYQrcDmz+uEdrTQ83`W&$Ht+KfA@YJlU#LeK@Y{k z{#wzgj^0xi0#rX;(QHva@3fd|s=C^4A)m!9#-X<|O`>~dCX3)K!j+dFMLy^cof57R zEfV52_yh7Uj-}Pg;8rrCV5Vkydytv^HvLh<xwAJV$VqyO&v`}}x9{%KQc?j4O=D44 zQPycU&ejnWaPP3cCCp7g;urpOa2PtYj2z8>BNA9^u!IR}E!BuC5?iG|#=jfAtS<gk zzUY;&sGXrt1+QrPyXZ<MSkC%nXDIjJfN>(Z-6c%KI@!q0QZ6=PVjU;*^7&88SC*PE zBQDHNHG*B_%0x@+k%OuE*G~)D#cQEv_Qr%qye;|T_n|%m&o)<>Ipv0W^nJ%Rheaic z>30e>7D7o!c}}j$ZVRF;qD~5RuJTD|496aajilAliq=RD-{zNQX3yN8{9>2s#?^yo z@}te{AMuX(l)?L=;qhF*5bi>?gz41#-tNR-`~AVeZVBImy-of-jqdaRwD;9-QGZdl zGJ+B!NJ^K0NQ;Ejph$Nk4N5bN(jhS_s30IBEg&s1bPp*a-5o=B4Kc(FFmpeA?|c7> z`~Jp5oaf9r`>eh9+IufL={sn;+bVIMxr%G@5lGcdGw2U%wH*V~kQ@1D?prPkQ|Pn8 z(Kzs++gmEBJl;Tw0g}CxBB{)=?)<fAHi=Q<;+DKDS)us83_5?6CT;M{I=F8h=oPHl z=Q}~pU2(~9rVv!}0i-6J=0W*9r8L_GreLm#>k9W4|27x(8a{b<WBi#7T;9>1W#g#_ z>30(co`xZ_+$l=|aU_<#W8d!MAFxDbwRg<#*@r&uDyb5Y*E7#fEQhPU(Ypn#!Yx*o z=)tkK()nW=zsxhH^ikbg@;Wn&W(mg(eN_UrrCDjVZ9lvIP!-Y3_P~gVH+_qF2boVN z*H5D_oe9@PlOF>xk|U5A^^q&3snoB#HN@C*+uP|>;(0~5C-2Er$XJXz`G(YEuk9@T zSA#<nHu?>dTR!1;64lo8UX*NG6|t2i_wq!@VVTtMIaoVfW~@q<NKC)ibpYpR#S~F^ z?uVC4j!%aEe%~Yh`g7ceds4Zdq6nF`M;<y?JUtR4wKDKXcP%LtZ?afQi=)8s`!@xb z)%|6D61!XXOIs_gun`VfXk$~dW6Lh!ZrvCj%d5e)k^+clByGj4>v+|EV!qVZO4xwz zI)SOki0Qh2r6LiK5Ce*$c~fbU)E>RU9s7+=e~<-GO{OzE7O@~xmSQJqQBh*LLR!k7 zTp~6wGI@b-HD7Adu+J&_F8COvuOVB&=E#-WrrvHq?`7UzX|X2G;lER}<#S74RE9Pc zJxX5bdnf<`8JL;-HhSpTp0zDRw@UM{aJ14|sZd!$lQ6fHQHCm4GF1+xUa1vIN(%DY zUGbd52d@KT6=11YtJkrs6!oC(JD%r}#!nXd`r4?l(Vp8*hfcYPc9LEd0}QK$X`Xzg z!i$HU0g1j<_W1c7^sVj6)|W8ipOe|ag>3HvFF8x%2K@^CVh7iSL28SiN}_1tDY318 z^R)Q{?~K&;THYPDS9RSn*7+S`J|%wCw#n00p#kI&mOVbi<;Kl3c%qQ7T9vhL=@bMT zmpsus$icplu8yWStYYi=AVx^8dv0{#4N(wgmpf9U%Bnnut({wBN$2<Bwyry>4NNvE zGGW2fYEPY5X|1w5otAx3G-zT4fTzwRV2Feq>;dUT@9%iM(xeVk%K9>}>g<>lAL@Sf zb#hhUfvx<Z_61l@JY{&Mfd*mg(Lq-fbj<iWt`+En@VQ{Rz*m|rHL>>3OLGYMq<p5n zj0<)WG?U2HmR&0td5|#}=O^gp{`<G_mWjQAy0PjU>1WmJx0ZBPe_3)f<I7)p<uqOe zjSt7duzxpbTE;F8`wHhIhj$@gR~j94wwl1h6m+?|)Ehsfy+7B4`&;wgLs`g}>b(pw zig%g(RXR)|?;D1XK>T95udRhNoI2YLAzP55<9PGsMoU8@6(gta)bSWJ{%-t5l>^F? zoMCyjo^bWweLZ&@1Asd_=ImN6RE;GG;5)xK`QWRWd2d+)4!;P3!x7<jk}ryrQW9^N z_-%Cj83-W$(IR?q5%6+(&*^kR5gO~6KH0gtbda||H~!^A`Xl-RspWSJ0@l`gkP4BA zom7iy%XR6G-&TYRze~Todf`5}iD#{_?|Wur1!@fJiwsLUq3l9}E3z*e8-M}qX>*De zqQQH%ft}o$ucxVvv1SLfRMW8a=q}CKSALZ~@ph7P@6rrDMe11YW=@gQ^H0zLeNzZ2 zw&)4fU;g;6jGs?;OHXvPN|}sTrtf3`)isLtESf^KfQQp|T;IBf27a}a+r9lFV*NG? z9yo_jo8zT$bGy3qj1Ga)@|e02aVTggQmTI~h*a3>y_s=rTo43&$S~->T0k<=dF_@8 zeeSoK@K+7+Om*}2xk+Whzyvt__i6mS`!yY}D}4;<5*Mwy-#nIBvKGjA2!RHlC*vuj zpA{?ox|VyWKD6_SA{2U8jvCjpoW|=^YgzLb9J+-Ma=dwt@(&oWa`dqn+aAoPFo6Ay zJ*d8Emd3%>sd;OFV<AYrymw?G^Fb$g55F>1$yI88M$64MI}Hq%1MZiqZGRvKa&Z@@ zx&T9%0dYd^WUn`R=JjWc6&%vtJ{(mOo<t?QcSlGg_QYj?1`*XVrEX?^W_luq2~@Fq zUOp?OE$~D+l)o|RaAlW~n1&67kg4Rn5FGzYiWav?l`*8tJue8B@`Jx_fZM*P75{-L zmOl%-H=iCYZZuxrGd!5T^Q2R7soZN~#9!R_sX?&o=zM<guE0%@Bv6no)!R~S5u*oB z*4CGCUMP-du0q1#R-lT99pG)1daIkK>Ap)p^c|yzCMfN1O`=T<ODNawgwN0!k;byG zq?N-6G0ot0eE#KCwxkPJbg+xd4Yqt`<<Q;-v6&qQ?+DG<p8BaSWFnda`tX*ysHrsQ zoeL1<8$UhLoC;8*JR_sNccrfhHs1a%NdyvWEe9aq*=KB-kPmc7`TW8PtTq4)>kvT+ zbw%r+!2XoPQWSEHn^!xa{*Gibhzeh4El*IfhN!;HNCanc2OT-=)Tm+I6TTVempkQs z!qX&Tr5;e-U$DW`;E7Pd#fbFT-UPH{-s}yUO<k5vvcsqmwccLtCAiidbO~hWM{0hr z_>X&6L)%0`5c+=rM2pTaW_4jw<dFmH3+#1Okny$>Z@xv!SMktoZ7g28))T!?3AZB! zWl}GaLN`@KP03*6F<^h~g|@)75X~!3qtkjf6Eax_ezuo^C++2++~oMu2N(C;8q(UT z=aICGTpjK~rQAS>#a1$>S#HiIKM(=5{X!cXlOY5kjOA^4139yIQO2zIt!;=A^qlNR zdN;94L(t=@*K`navL?>$d0{dwsqq2!>n@iS56p`NAf<bE)Y_GD*_@C2V^8_lor2)g zJm;QTL{U23socc^056Oob9nibCh=xcvy=0E#=&yGIvRVHhRGiQ87P=`7wPx_6@2t8 zb|7iS>V=v4q>P#WlMoavF%xdiB(2P=q0j;;d)6uoS`$7Ac>(Xagci0!9*Em-Fvwy3 zv>Z)k>MX`GqxIn*6I%<-Lg1(YS}Q&u#GmYqkGaRV?j91npjM0MqpZ(vlx5fUXSC(f zI~_>@oiUvn!YWp4Lf-Hn-O7p=+RWJM#N2W-^(g#2!-6TeBw2|p6w#lUF)~WqVX6Ov zu%e!2z9p{W=HzVYtsW%oyU^7yZKq=OAbNEoQ^Y_2&BN)Muo*07BYhC*Y4hr&4lm<$ zdaEz}QaQ5mJNhK=T^zuB4B3%=QgBV=^8Pw^u=(q!HL{cn4mX!u#-|AREaX9?jyMZa z>3A8h$F~<(7iYLZVQE}!d|;CXCD&7{k7_qS9*IpfO?Tbkz5aM|{(gV@AM&fd**f5J zcd?<~e=<94Dbf<n)n$%o{2edQ2X-3~g5W)J?YkxYJa4=bUCf)j7g3kmDDKLb12-#> z3VL4gm{qM`dxr6kn!Sc25R9v0KHc`OrLIPuzDdfRiE!FU*Tp}sbzP+{h>lzQ$q7US z`6CeDG7ptEr}MFi*v`TXJ*>7ZBKu2Q;Ff_VM(ZiS%A2W2!bL$4q2FR|<6j^8BnD?{ z{wBjMZEMjWG_vhJT3#1wd+6s~0Bg&}H+tk;st3KIOKH+*;tV(mUC+HW9W=+s2mh=e zPcJv~1Uj<Q#M4g@PL+yEJH;<`VQv;31IT9okWLgt@PT+}#76h=n_LHw6^7|5B-1zm z>a8i%BB4tiQ1_WQ7o8#nA+K&?E@4GB78e@3slS!^;ACi>&t@@SFMX1jk$4s1`zPc9 zA`o5PD}x~cZE?0{gnF%wRy$qJ0q|1DwcW11ptfsv09(<*xab4@!6`=*QLXhQuWZay z#u;AZy>wq(O><u|`R9-S`}ZE+o(4h2wX7;l{3cA2#otRlf-D2snCa|&OfmMDqAfGb ziX1$7J6gzVX#c81EmvEfdz{=HPB>w0pl4-9_UD;acBL_A^jCTa^6kk+{e_DA@V)$V zsunKHgFbGOoRh)1?=UfTOTroXz|A-N>9PIWekazM(+CB3B`0vM<en5qLA8Pz(=>9- zN()-f-#f0mJAgk*(pU2S8`1)pSLSWt8#-T__yA@qwc=v~tG4^bCK9*Q)9-XTaIF3f z<+-|pyp-(}Sl|W<Z}1LdCRhzEAKW{^^)8d^tEIlp%I)dySNXN8r(bb0j&?k{#7;oG zeehV78|K_UFZco9fzlUV^A0wO7~I+bH@R4orqi8NJmAg9gl8rg=2fIUqf4aBb-!)Q zRLnhDxO_1#iVqRoWxg`h+7P`D^q98N&i{DuUBrPpX=3*Z4NDAE;g89hmPw7;9vZB* zs1_#DF%X8+dPE-y^0_&F(~!D}eO4}WG47$4c1Cdl&7De%3UhP^C?aqEg#o41pv}b% z{y~he!N#TN#(QglMQ`k4M8~ZuU$+MMGYz+LBCetGM`3$+kkY3$Hit5g)vLVmJF#T9 zCsxm5f)`?w0GR|Jb;|`(w_QyR0{FDd0h?E>Z`@JN6FURi{>2QmqE~=Hg_fnR%kIk= z#`ig%X~vFSIa}X5U0A$zzICxM7>vv`ymGNV&5RY6p%S%y4orPHV?Aq~eldHchfeIW z)Yk|6#fv`)wDuFs(ao;<c1qj+94kH`o?o2ytYq7roJ5<k@8?;JNw8G_NryY*ceOjV z_ZHPnOdpiLB8QP>SXVdK7ww=f?+S;d6?^AAqjO?~ugEIuFkIB<=M5ac3@%4|K?;8- z*hfZ{Z6=|2tV-Fm=rGLjMTx)%)eNa?5ijH`BLhSl4oYlX*AEcxAP7Z<?DwnHu8Hlp zc<Y|DUT-G#-Y+A)2zkM_O}c?9bx2rJ7Ee8AN&;Nx_Ve;0w4{lWcOBL$0$J5q_Jzw0 z2xx4nJJQ7oNo7>z_t^^Oa{^7hH}Y3fi*<On$@!*I%nT@BeB@Xq<#TcTHVJpyZ)i@_ z)6rp;Mex<0Eu!k9-=A}oQ3Bx$9cO#6BQY~J#pPup+qtk+{+S0$6{3Zjo8?Let%$3A zCxfZVkDz{+o*^8S#>8JJPOg+yoCQ#$`?!CPFyZPugYU!u+O!$t(GQ3)0Lo8^cteZ4 zRvpSA!bdS@s1uXG41=eG$l1$5SIUZqVQW#WaRG0m4i)$F-j-W$de2r#f7o-%33~=q z<R@lnAxN=Y>j6|Swv?_{vhzRPr8>et`~)Cj%C3FZAh+eu6T5P#j5l=Zh-g`&+9TSL zv24cWNYOZrXEGleU7t49eQYiaEX4jD1wSnVID@~|cQtd<f!G-k8w3@92sOcCTQmIm z$NL9dPFcss1gr`bg>*CgdJNXo<VUSBSk&CFS%w_i)^)gvOiR!D4aS2Yz(X#i1v#Nz z$xW9GiKWy+eQ)xPY7c2p9voAAZB%4ATmT1c98-NT@UK%*u`kbqzx%GUrfx^xJe9Ia z+T1_OxYt<JvG0#J#cX!$JoJGC6RZS&C#?IE`XFdsBE1zeSo(5yWE$g(dpr(lthAMp zDj>&Y2X{rd(YYJ#oelFspvL4Bja6dBEC(lvbW77;$G=w<SQN39Smq70+`*}x<YR8D zxJSlI#yw-VC$zX2jjcf6(;g$dt_KJN4#HTy8?k~LPXbfLEiu@sk^a#T<cs%_dsGDV z%MeI8zhu7JLWwKNG|r{aV=RQCL#U;L(&=ZYYlu7}Z#WSz$*NCua1VI5#b`?=I}J3H zn~k(_{Hs4#U0P$|&iMk}FR>$V=1LhxX**@J{S`mfK}|0qvB!E9;`WA~jl)Koz`SMd zaT-4^_eZGHse2bWE`A}`Dp%2K<xIup-%ae>f6Y07o*SPd(33g=sYH{a99R@1j6oJh zwW<JBgI(xCF$TTqF24hebc3khtdPry+`aXj{XVQG@iyy`Nuh9IBfvgX+z&$^(|tG; zwf`Z&9OU-bV7y}1+Ck9VTyKwGt6QBsxJ&ZRNY7%A&oFo+#t7Pt0-sBkeAN62=r@MW zqCju;9MZ?`b;&<DTI(6q5FSox>NKFAdq=Q#qRl5OaPe6HLf$(85E%9{AJ*hnkFOX7 z8+EM5S<XTZ&^pS-2D?I<U$`ipK8D&ut)o8n)Kh-`2-w-b)(k)XF+pvo)1L3lIx2re zA7{r`H1`Cy+E(8}4wTK;_}r?e@oWk<6^NogClZ`#SaEUmne1vIes}jKAWe`0FjKV- zuYcZvy(GK@c<$Q5_VF`m!2g(a3Q<H#yi_)MP;Y^hu5yQaZ{LxVHW#8nY>W*bm49)4 z=wo@c_h4TNSU^&HrZ3(Fv~dbIM^==t+;*wwg-&iEb9^p&uj-t1KGXj@k@HnSHufO$ zTC&!rce~@wih__Xu`MTcg);ZYlJF|^03lJl;WYq=0J-o2E@LM7?JdG}?xDkuY+jEH z#;uc>i<V@Uek)87$5mriluNgRJ%#H-x1vY<SCchv6;yL{=0D-1gK8n_a@GuaQ}8&p z{Ad3&bhz>a(57U+uDIa+F#QD+yO5FLGocr)jaLkoKOMb<i(JhST6=f&lOpHcBU*gX z0QE_qo-y@p_H4}8B2bV@nD9H#w`H)PTDE=gB*}l2JN7nC9j;qiUKaV-6q`QTzG~a% z6RcTK**WLpYKk<`^T)igYv<{`HQOll&+aRKu#xLdu%+wHzM0$oYpmJ4ZX4~S>!nQM z(ZzV+Kj73+hlVbv5zCXGgMUhZr)lBb@7(_8zBefnvvBRUqXydI1}-OcEm^G&290&F zP+{4}SYPk7LAC$J;hmg`iMW*6%S2$iirLouY)yV?0Cv?JJk*HkQgLvGlr28WsuF+r zX@+se*z~CB{i#@5M@h5j-Vb~&{=izrSZ{Zmx$+siEy!X?ONu}fMF;zTq-U~pzm=Zb zxA>_$)+<YMYC35$`~NmB$D0}epAQxBr`{^xL32Uq=OYVuqc9W>zA^7cUtgZzB1j~z zJ4{^2{Yq6dOn5}`b<XPP?m{k4wF@+*#+XGj218ISAlAr9L2hfbrrEMBgp&7&Gn<J( zdTzhLoUckmAcw5_?!O17<Lmw~kt%<^&Z_@o)m>F~C=Bx_O=gqBV}g}091rYzu^JBE ztNBNc!pMvhbD5$-&ksu-O*9CgVK+g`bqD)un*#l5CbR0}3ua1HYM2*(T*n~qGq(|8 z!d^(QfG<k5C8QX8V(5I@)2{+q&r>&MrY<O{g2FAs=@C2Lw?+(iwXt#As@^gk?lU2k zp9dWPZz$nNu>j}&Wgo$crZ8E^5yEa1Qz(PJwLH9u<&gZ$&`>QP*?9jBEOodE!6{e6 z_mQ1kbSXnmCmk$R%~89t$i}!#<$f)rM+rnBtPg<!_Bp~Am9>bF#fy2;6Elr{xHa?e z%b;_|ND8%Wr<qxRCN(jdR91`(cxkcBjpe}4Hpf@j>;sh>D<_ATz05^0p#@MF-g%zz zWtb6UR(Tc-pT3AUbUI}no}x(pg6k92vAnObL2tp2;4f5j=X?T*^JRKz@jQW|CJ3>Z zQIO8JU@>)!rhrfo;W-vbVP3cnU+%!a$<o(rF|EC#p8V~({rjX%EyE!(S+6Ru4xVXK zNRy2AHMic~M&15*)iN>DP{ilce~J9Z4?Hx0Um%OM1rt*7=wbu#Y<~QJ<P&__e3()x z!}qaml8IKv1kmFVU1(N6-Rct_FHKOh6YB&)0wo#TpZ#H|<%!2KAE1RpKu~gE_U(a% zSDXS4HY_uK9B(VWHCr^z&sf9>wx6<Q)N^&((_Gjo3<`sFln4k7zk0gki960+=^%)( z>^=T`p$#O`rK4NCeoVxl9iSR2I|~76>6>g*^-<2X6e()~Z=V;$>1ZgWr$es9Y1fj` zOV1C0SSqjPr9eEkaAJbxEEtS$h4~7L|5yP8n5GFev7=5Be2pIzo&(n<8G`Ei1%$JO z6T5JpRpnQsJti}*Ok(#=r<FB)$M3mi!d;BZ`9;y&pWq!OPCKmEMHu)>M;9NZ$o0$y zOs$O@(AZUQJ>4&q-)MPed7y;uZSF5iO~?V}P8vrls!N{~r`dksaoyC4)L5I7*~6oE zP3<iKQjJYmJmGpnEQC(ZWn4ObBrtjs+3S+bG8Tu=G4?C1)vm1l-Tp0gN?kZSZj-`* zKAtg<hXq2eTrDOr>Ws`|t7&R?f>=W5@cKR*o46O&Nt%FE>PPL?8n8;{%~p0oH*Q`3 zcZ*hl6^R>(_*+)`Z}y~kfYTg9K!}`Yt6hV;!hXksM%4|S-}oDe(p0x*t08Z{kO8Hb z?*A#pfP|IuJ_0f#JOIb`H&m1Y_M7-M01cJz-g%?~z{EVx96J@CYoFWH7OLfb;4-0a zRRi5Cy2IzQMint<=4@0h12B?Ts9@-8+K!UF7Ls!cSQy}Ad~GF|VWHxLJq!2GgQ}lH zYSk-!4OdunSP#dDkP`>RNE81_NYU@FBphBl?@H9<^I>vHR1oA*Q<$92mGPqIeLzam zR1Gjs<2>?w4v|!aeOxRH@U{^XyW(zNK1~M?1WaUSFub`P^32OlaNa}9EUoRMoo{ux zlR<glL`VtRqCUoMa+w}nq6mzo1C>t#Iz=GvfL-_BS3{g|=B2LK1ddUpk-F=W_QKzU zHzsY}j&eqgHX9rG5-r+sPRTFa_0`+mrK1!~lr9j<tNuTzHP-w7(C=MIOn?wiVkmh? z`ZD()fX+x#*mwm7$K%m3*UJ^$iu%G^_jeCHysIVsg`?uog#>B_=Hwr;?>{n0%!N*d z`^J%kJZI6X)!S7*eBR1K*vDhjp7F4fWSNEV&Vz3YPb=~R8ZUt{qriU(XAX#}=U_|8 zK$E#aAZW}DGq15}wWAJVw1~qTT#n+v>5Tow{Xk*f;JB$n5s<}k15&|{S~S3f{^wTi z{&^T`i)m)w38)%;zH_Mweo-Nix%YQ8{gKv`H~BA5MWt#V9zxAL<oO@2XY>g_%|b?( zVhV&;eWPR>R!wgKpjQBNSEtU5QQapLqJAhpAEM)6zs{uWdfH=010Ig~NSB*5)Nxv% z$TN54{S>NkRpnEbRZ*X-tmO5szDDLZ8&6B5g>HVHw$c1V4QerlGb{8ZAnQd1^06E! zBYfn3EgT(&%wBlJB7FBZ00w!O(=2cna;B7xgjTnvTKu)g_-alUkOG)7Q1!&8`+w1L z*DS(yqJmMaE)hs>-M9Ba(Uc;mgYjIKK$=)i{V*7g#}5>v!;Sul9iQQol#kqYO@DY9 z{roSCmnpgVANy^2=$RtqVb3jYaFHHaXvk7JXW+NF*rFbK*8mW54yP(x5k_PlydeWg zP(75D!m@ggwX~b|&sV2x_nddDpDft+MA#GjfhN%Ie4h$H=Y-QC=AYs>I=JG2Qr`os z`+Xz?l_W|2VV!Ocez#$Ul=nl5ef?F;PoYiPD6<t%p;HV_4g4Zs@*li#Lk^pR32Gb} zDD!EZB-`mAR>}Jw#@(=XyB*;8%~_6dmP>6nQIdUPb3l}JhlBDgLqqY;KR^cECR|~y z=*s%Q#4pfrKx~JJ?WNd0+lgYtLXrd$Q=rW}1|e6f)U{y29aT4^aqJf@W}We~MQJK} z>bdTu7v5bvWxcE{dV0tVsGGOmAsEGZ^`CcK3$bbvR>-KFnPikUYP+7MM?3e}jCNJD zH?@U_i>sF;)tC=W3^AYexMUI9E-q7HX)jg`ZY!As1*YN!f?Wl6IKU{4ro3E!4`^y! z*LeT>wn$d=u${G({;=41@;WZHLgMd^hCyKC@wlwHa*^0yK_#AThOiX5sC`0!2xWoe zDleOETh(9>d8rMd(Lyf-044RM>w#E{bkh%^Cxj8!+gE-L_WP*;C&hKWg_vnI%vDbC z&oum-slePhu*7nK%XHrk0gG$l;k-qy8g(>Au`}yw(=Vb<?L_y7yFu6%Vd>}(*Rs(i z>^AGxXny8Z72wTSf&N3Bt$L3P=^ZdVs*kLXhpkuXSUivaE5J3C&-{#>Gcj;}NtX>J zv9N8Cp6?x0GM~hg{a1rIdrTV)C|<w62hhMG+F##?#sS-8IX_D_+7{w^5;(X+b7=^+ z`+fGvJ}CYy^ot9*Q8jKRX^bJ~lNs7atCbxfC&puThzx^O0)g>AKpfNI8mbr=cokY% zu31Nvk;)jv<@o|h2AZd-+I;0LXLh7)EbcMH)f!GO8M*Q}tWivLp@gJkpW(#qupm;7 z29ejqcz7G+bMNztPQK-f13C~O?_{%EdDSaz5)iWD8z7wQDYDO^vqhq#4BiS8%^hGC z%Unh<@1)=&dOC(@hVwVRnxF1^Bqas|)QOAc)$H5{F1AK2<+TVP@tAt(`&whWub)EO z3DvC`&NG_gT|%-_nmm?_=yL1sLpUFC*ZcS9yqC=L39n9Z)ifEQ?_2yBGR(%mki2k) z&JdOgzj=KFF6@A}Auqd6N-#-s4LH)?Rai6cXKCtR!!F0Ew5C40>c!%YstA+#%n{AY zjQ%nos-oPqpV%z`zO}vkCKr&+Q1{=AQ)K^dSS3*(^j@KgaORZdGPc<uxSFvDXK$C% zq$RD4nUVXmH^NDCPg^&8D`DU>YNFTmQw~(Jz&Gr>(+)PHdtT<K$J=_Ctzha}+WMnv zXhJxpEkNv-+<O>YkIGJ_orXGhi|{2bFQiWz^l)XtEeyBMo&F|%zlmX0lxY{AiLEnv zlltYVk+J9}UrV(!$^e``ef^q%|Hc3e+%fTJxjk!r2Kuki;;gh@dUY47vAfi(GzjFl zKuePSy$CLyZE)Opj!>XgL{W87q4cDRUzo|`S|P^pNV5|qbCWB7!1I}->xge!jFH_1 zFzPO)>S<}+%}|niAZOkoY*(A&v`(}e9N>r(zsu~b%&l@Esw7_ISco7ezEzpQ?v_^b zKQHD-6ROc53<`6i1KCD8_GPMW-@El2UJ2-Y4gfus-Z<_XH;6wf{yJEMofQG4mhp}x z@xYUQ`%%eqC3KL{&QXqQd0~&npa)GV5WG=`EpfZ08x3l+FfF9adN2AW-tV@(7Msol zTK>qdvzr?P9N%UG4}jn3D?ZUKz~AGKm5?*{eIn+NkBEyiaCO@Hs+#r;ho#t5`6<|g zWeVLU!Pk18F>ksDp0CC_Jq|azUe1%`g_qXr{TI6c0M2n<=U$FiM)TR_E~oO@3~Uq` z$J4LUrNIe(Com&9S|cYCaGtZ$Eug2`HC30ss%D=B6QpycWMS|aP;0yaV*qtu5@jT( z0ss8~Hbw<x_1Nj{C45U$U{v`|9oY@}&I|PH{E3+Mwo0Sc>PJqeup7?^VCs6$^~ka~ z3k~%i$p85G_wBAMQ9QfRkD(kT*+(a2R8$~6S|bn<$(Ki2BnPlUwj*}Lj?{zlCM(oT zb(7UBA`oT!&*!_PBWgeBCt|wkOmbZ9G(FH^zYkTcjY~_r$k>YMBs6eLaQn8^YvNo} zyEuaWVMB(l<rkEB*pMTR(4gPVn`;2yXJVccni9k+yTsgpxeyUHj;q&416%-616#=P zCs9XKjYv9v_WSCtmQK|V4GH*;V4212fbUkKc=5chP;lj!lY0&Y5{aty-a7FapX<HB zLbdL&mTxJX0NxO2FuL#<z;3_-2p!Vr@wr1S+o>AgD<yOJ0-MsUj7vP-ACS=x3hXgI z!|&^F@_GD|hO0D-v6@VBo3Ofapfp!s<&I*6PcMfL_`|C5?|}%3pRltpLT>07fe2lw zlippfTOws98}CbmBdf=YSGK9k2V}g*igfL_J&0dH1=b`RpHKM*^0`ATG8L=SwRJA4 z>R+TRK^*E6%+D}M?z{WvqHI19kq*&@vxLOO?654>Tz;pn2KCU^Puyke-M-Pj^D=e3 zU)MuM(LbAHRvx|z|B%&FJ!Yd(Tb$`=X)&O?N-YhCy8D#L(B}2<9t;1oIV(ALevixw z##AYWDzt-?<h7ahzuqFIbfSO_C@Qw3W+Y*}>VD`*K>j)_ds@qq_SmLMWUBK0NhmDd z;}@~gOm%dFdJGPRy-Hk=M<6bimRcZ3yw2%22teXwrX#vy$)tqDG~6Obx~8)&fr}T@ zdApsjQv3Z`bH8E7{b)p<%6Rh$xk}YM>18A}ANZ!9!tz<AvcWO}u@m(P`VUWiymrn< zN&q5E$PHzfxA!;qickn7&VlaxA|=t()2g^mj^OMTzHBRMbEJW0ua??937yG?Nt&vk z97Of~a~5`wEq=;d;q2S?WhICCfMwzpJRJ-Z#woqSZ@}W&->ek`fhWq#j{|KjRYO9B zn=h^1jtp1&(}Q@)5(gxGOMame^fv|VnjoY;l9KZ4{$^drm1}s0WCq--AVs(o3Qozc zVB=3l?3Z|UH7o<#<N2lqmOOYj!6r{jJw$i$PW`wO&lL0JpK9q}ZmJciglkZ1b@Sfm zX$E6)MuP>K*@pV^@&WTeY2me37-~zE@QjqRAYKwm_Od%fj6pd<?HpTF1R#D>c9gUf zdP{_=nWp69*7MHTbRQx&^<m`Kv_S{*s-oICzcK`eM4hW~w$hbUY)12w?;)CH<}|;3 zh$&4U!R#D$6ACBgKiz;O(AS->CZx#$Ju;+Bf6|}d4wSD+a0p;}xB_)t>Iqx#qjzhr zr!meCt)3rY;h(=3!zq~vJdoq^17S;wyFolP7B<+=0k;cSfeUe=b{e2Y)X3MR09VaM zX?k%!)ja^dKgXopyYT3VBb1bfY0k`dZ+*Sv9r<2yLY~NofKP1Oe!Pg0^u1=v4@m16 zK}qOh`P(qy&-<w;4<s~<5rCy|4*5HspB+=@>U5MUTMFc~jj7K3$STE61n94S;`uR< zeydV!H#*JC#HMp#4Qe5Ok{yGVeT?=cswo7nmsp@al$%^bd;cb&)1<<_wu{8Z#x#F} z-UT!4NaA)Mbr@THQJH&Om;U(Ffi90HGEHo%s)%O7tvFw@d?3MZx2SSIYTV8pdE|#P zL4FEHH603;Uf%{45hFh4pE`53JT)M}Mx-86gD-CszK9z#YW;`c%QPkp*y+0Q4)dJY zab8Hmygho>&L=z|MN@3x_OjlKOF0Ifqr)SlWej->rMV$7CHoK+NJ*B}9Q21BxF7}) z3k7*dHCh{2em@~fd~T(R>}6VI7Sfdohki=#<uzIVa|zkc%@~rhv80JxfMzhyJ(^1M zbZul;_(eq6cTm%+^@I=vdGt*yBxo_CviZQ3d}B9=pEP=`#19)KplR(cJEED<xRqD; z)7D@wh?q?)e&@F&LcI^38udv<<}QVt*hN(a@F|BLfjVRh%$3@ufL*D9{3mZJ`o`<5 zTi-D_42k;jqdGG>t$zZ-C*=H0N6uP8quz&!+=usQc*K0vm(+&|L!_U01GXk)6Yg8T zz;VT;V50~7QtE~rM%W)~*uI)VY<9#8sm@w7GRH91ARcxKH%B#E4Q9>Or<snwygPgQ zNJ>xc?DBo-NaF0suDhVOgXDdKo$$j;MB437V445fVFbv*&-}22ks2mJZF&|z%9VC@ zcb_a9WBn<~_E*VL{#-TRCkQ#gYr0p+AL_-!74ic#lQg?|{oL+wc&R7$zUNN(%G$!c z-2uJB_cvg4bd(1*2mRttfOiX+-DdA7Z*L0~&raWTYJ&J!8J|)_RHW&|ka@311UmEP z;pSHr7VZl@d9STaOsWi<9G1e{(B#^D`SpK=*MFsbDxb!q@Qa*iK3Jl7ep>Y4`DU;D zy-(H`p8HP4;#Mpc*}aU$@Q7Xp_afVHU+C`S#5Pu9qfqLY<=E`fe^ODAqVFk+2zXgD z3cpVAlvM-~98~N>jG$2+RLFzb?^n)!)8@0!XX_*+8yRDM<om{cr_=q)+W*|Suo;{L znX)3?!O~;C`7UU~+)4dh1>=^U2fJfSO1L_4*%O5&yb7TT{KR8tAKk-ZnQjt*1cisZ zU!NCfaG7|Xrk6OE@yTlU-YO)H8=aZ0x>Y-05ug|^ZZN-qG_tyww-;pwr{Xut6JNPo zw(SQ#3I;6i>e})a<RtAtdk_D^JY+F=&eC9DzB1Ou>21k~CUO3)qR-J#w?{&bQ!o2H z!mF&#qW#cwQ>~!V()Ee{7%yhlU>{gfqf+P%SPi8}`z&4UG&@OElfu0Bn@zD?>LoG` z`-i`4+@k6CEiRX<Sl*}$8oR!1;T94pahO?}nDP*8+kX-4;_&(?)TVYqW;p;vXlC>) zMFmn6jjRLQmm=&7Z!H9cEIaHd<I}KRUFL=x`^m9x&^M!(lPL$H#w2<XkPtqvJepTz z@u@4Rl7e1s#b?WBBS(h^I-+&>{+Etds@Hp?2ljT_0=hw5mDt+QsiNaOFIm+hYliDB z^f=9PhS4wzQze}mBk0cL_B}RL>qF=tIn!4^a!4wbc>C0XFKRV|epiTaTMoEaBZb!4 z65shclB#-zv&^NyV`_|W$Im9}NPWX{zK(Hw^0!*<)%HlcUWO5>@Swxr%cwV)`UC9h zRwN=I`VRh8bp}crz__Y71=^SqpJhNWi*QEk8svsW51NXFFAAhi!!o{PA4W*>lWF~( zYueB;0(4Yo;cuTR=6csVKU!9hoiM}|7oq;nHB9^AEIKon6eBIRAlGYF1Man^`RbNV zXe;2@G%U|3uDm3^gPH9dJ`gF@boj3Hx#jA6N0d`0iV0M`u+zEx*zq3OeR(;iirFAU z#P5e66B1MUSu3<&G>2sX$Nvfz-L5$JV?L!>Omo$lwbo;rdZCc=Yl-?+d!gw>nS}cj zJyDtV)2V-;XWqo3wfo7J7oAqDGd1h6*}@$~w7`}qO<&k7ffoezr-4w1(&-s2snQqk zTY=k^e6+sXM5S`&A-kST(JYb>MwU%B$nAzSA+>Be?t({dxW}mEZu0?azWKe9nF;MP zn7wull)u?^x5~|yJo2xx?g#_~iU*GEUykHxJx}whYiYlyz~{@RN?g}4llytoOIL@# z(T2^G$`0C=4VGoIM=c?@R6`Z00kfANFp2|CEW9;L#n)}G$@waBI!^%d<g)EZTh`ld zf2(eh{pUMDIkSxzi%GXfpR^?VscG_)kr@3{%YJxj5MpO>5juGFpcHTf3ct(<2%y#a zC0q)>AVhgB5(iOrf`>twE8+3AeC{k?JL~J8Y^YR<h)RUCBJ81jUZv@QL3P~C>B0;9 zYnSR<np^4VpBBys$i*8UC;-OFNVp!tIXM)nas3guL6)Dw_XkxRgE@c$6LBmCD2#M1 zz6rOVj<?PNIw*>f@Uoz{K0+ao<<0oC_sFNqR@XZcA`olzE-!cysvtvp2T31ry1#%& zWeQ&;KlP^*QjRiNc`G*nuPU}Z`R6g!=xQwTv$@VkMb;sIKdrlW+V9-VqA2h|b2hM2 zr~&~9G!LQ_e-^3`Nb)0n8gDb7A;;2Cai%yvI=nb_ad$)8erfr94xDv@;tNanHAu;= z)i09?^l$IDeCIEKAK&K<$M0MvT)qeeP&SIRFNjfcCIx$K4L1SvY9Ac<s>%BKX`oJ% z<Q)7k-^)VySkN`8(#O}j@u11(%*7o^AAJ5HQ}8{~m*^@LSfYa@X-RNEUjw+k%+|ii z+s!Q4KN}_MyMijAlgsxKrRM62Gkt@eqLCg!PurvY`c+C^X@w;xnV;EoF15AP1^;XL z@6K$16C(QH0^}U0RGaT?Hfz<nFdOY_N!5~adImzsBm>DcPt&;OZ$3@MdkEIuk{Din z<8Z@)Pt;=BiBRfYtCa&Cz#gAywBCVMzOL2?RWK*{iQg{4jqgk}CqeGkT51`b1`r!0 zKEE&H14%{=%xZ9GFd5G=#0*H`Wms{|$BRR9kg(Tfz(JgU0}L`)^*}!125f?A>R{^d zumsH9C<itQ7AlS;*eiJxbg?LlE*AV$WDV7*Y{|X!ka~&xX;WLh-!cpYHjPAm2STWe zY+oRoP=IykyI)Q3YZawabXJl(T6h21PD-pjQ?QtvO>OZwJde*<K#!R_nk<%iC11Ne zV}(|P9W*T(h>3m@=?~1yA#UTmu}-Jm15p^wi43_(Z@+`swK>NiF2FVc#|9jpZe?rk z#TjmXY~?~;&r^x^`aJ*N&;Iv||2>WWYbF0{3IA&e|DRey-nM|+jT<-cYA>D{{{M-M ezqDca+a;f{p2ZNFIN&I5s3~c`D0y!4{{H|3yJ#W+ literal 0 HcmV?d00001 diff --git a/doc/university/training/topics/additional_resources.md b/doc/university/training/topics/additional_resources.md new file mode 100755 index 00000000000..1ee615432aa --- /dev/null +++ b/doc/university/training/topics/additional_resources.md @@ -0,0 +1,8 @@ +## Additional Resources + +1. GitLab Documentation [http://docs.gitlab.com](http://docs.gitlab.com/) +2. GUI Clients [http://git-scm.com/downloads/guis](http://git-scm.com/downloads/guis) +3. Pro git book [http://git-scm.com/book](http://git-scm.com/book) +4. Platzi Course [https://courses.platzi.com/courses/git-gitlab/](https://courses.platzi.com/courses/git-gitlab/) +5. Code School tutorial [http://try.github.io/](http://try.github.io/) +6. Contact Us - [subscribers@gitlab.com](subscribers@gitlab.com) diff --git a/doc/university/training/topics/agile_git.md b/doc/university/training/topics/agile_git.md new file mode 100755 index 00000000000..e6e4fea9b51 --- /dev/null +++ b/doc/university/training/topics/agile_git.md @@ -0,0 +1,33 @@ +# Agile and Git + +---------- + +## Agile + +Lean software development methods focused on collaboration and interaction +with fast and smaller deployment cycles. + +---------- + +## Where Git comes in + +Git is an excellent tool for an Agile team considering that it allows +decentralized and simultaneous development. + +---------- + +### Branching And Workflows + +Branching in an Agile environment usually happens around user stories with one +or more developers working on it. + +If more than one developer then another branch for each developer is also used +with his/her initials, and US id. + +After its tested merge into master and remove the branch. + +---------- + +## What about GitLab +Tools like GitLab enhance collaboration by adding dialog around code mainly +through issues and merge requests. diff --git a/doc/university/training/topics/bisect.md b/doc/university/training/topics/bisect.md new file mode 100755 index 00000000000..a60c4365e0c --- /dev/null +++ b/doc/university/training/topics/bisect.md @@ -0,0 +1,81 @@ +# Bisect + +---------- + +## Bisect + +- Find a commit that introduced a bug +- Works through a process of elimination +- Specify a known good and bad revision to begin + +---------- + +## Bisect + +1. Start the bisect process +2. Enter the bad revision (usually latest commit) +3. Enter a known good revision (commit/branch) +4. Run code to see if bug still exists +5. Tell bisect the result +6. Repeat the previous 2 items until you find the offending commit + +---------- + +## Setup + +``` + mkdir bisect-ex + cd bisect-ex + touch index.html + git add -A + git commit -m "starting out" + vi index.html + # Add all good + git add -A + git commit -m "second commit" + vi index.html + # Add all good 2 + git add -A + git commit -m "third commit" + vi index.html +``` + +---------- + +``` + # Add all good 3 + git add -A + git commit -m "fourth commit" + vi index.html + # This looks bad + git add -A + git commit -m "fifth commit" + vi index.html + # Really bad + git add -A + git commit -m "sixth commit" + vi index.html + # again just bad + git add -A + git commit -m "seventh commit" +``` + +---------- + +## Commands + +``` + git bisect start + # Test your code + git bisect bad + git bisect next + # Say yes to the warning + # Test + git bisect good + # Test + git bisect bad + # Test + git bisect good + # done + git bisect reset +``` diff --git a/doc/university/training/topics/cherry_picking.md b/doc/university/training/topics/cherry_picking.md new file mode 100755 index 00000000000..af7a70a2818 --- /dev/null +++ b/doc/university/training/topics/cherry_picking.md @@ -0,0 +1,39 @@ +# Cherry Pick + +---------- + +## Cherry Pick + +- Given an existing commit on one branch, apply the change to another branch +- Useful for backporting bug fixes to previous release branches +- Make the commit on the master branch and pick in to stable + +---------- + +## Cherry Pick + +1. Check out a new 'stable' branch from 'master' +1. Change back to 'master' +1. Edit '`cherry_pick.rb`' and commit the changes. +1. Check commit log to get the commit SHA +1. Check out the 'stable' branch +1. Cherry pick the commit using the SHA obtained earlier + +---------- + +## Commands + +```bash +git checkout master +git checkout -b stable +git checkout master + +# Edit `cherry_pick.rb` +git add cherry_pick.rb +git commit -m 'Fix bugs in cherry_pick.rb' +git log +# Copy commit SHA +git checkout stable + +git cherry-pick <commit SHA> +``` diff --git a/doc/university/training/topics/env_setup.md b/doc/university/training/topics/env_setup.md new file mode 100755 index 00000000000..8149379b36f --- /dev/null +++ b/doc/university/training/topics/env_setup.md @@ -0,0 +1,60 @@ +# Configure your environment + +---------- +## Install + +- **Windows** + - Install 'Git for Windows' from https://git-for-windows.github.io + +- **Mac** + - Type '`git`' in the Terminal application. + - If it's not installed, it will prompt you to install it. + +- **Linux** + ```bash + sudo yum install git-all + ``` + ```bash + sudo apt-get install git-all + ``` + +---------- + +## Configure Git + +One-time configuration of the Git client + +```bash +git config --global user.name "Your Name" +git config --global user.email you@example.com +``` + +---------- + +## Configure SSH Key + +```bash +ssh-keygen -t rsa -b 4096 -C "you@computer-name" +``` + +```bash +# You will be prompted for the following information. Press enter to accept the defaults. Defaults appear in parentheses. +Generating public/private rsa key pair. +Enter file in which to save the key (/Users/you/.ssh/id_rsa): +Enter passphrase (empty for no passphrase): +Enter same passphrase again: +Your identification has been saved in /Users/you/.ssh/id_rsa. +Your public key has been saved in /Users/you/.ssh/id_rsa.pub. +The key fingerprint is: +39:fc:ce:94:f4:09:13:95:64:9a:65:c1:de:05:4d:01 you@computer-name +``` + +Copy your public key and add it to your GitLab profile + +```bash +cat ~/.ssh/id_rsa.pub +``` + +```bash +ssh-rsa AAAAB3NzaC1yc2EAAAADAQEL17Ufacg8cDhlQMS5NhV8z3GHZdhCrZbl4gz you@example.com +``` diff --git a/doc/university/training/topics/explore_gitlab.md b/doc/university/training/topics/explore_gitlab.md new file mode 100755 index 00000000000..b65457728c0 --- /dev/null +++ b/doc/university/training/topics/explore_gitlab.md @@ -0,0 +1,10 @@ +# Explore GitLab projects + +---------- + +- Dashboard +- User Preferences +- Issues +- Milestones and Labels +- Manage project members +- Project settings diff --git a/doc/university/training/topics/feature_branching.md b/doc/university/training/topics/feature_branching.md new file mode 100755 index 00000000000..4b34406ea75 --- /dev/null +++ b/doc/university/training/topics/feature_branching.md @@ -0,0 +1,32 @@ +# Feature branching + +---------- + +- Efficient parallel workflow for teams +- Develop each feature in a branch +- Keeps changes isolated +- Consider a 1-to-1 link to issues +- Push branches to the server frequently + - Hint: This is a cheap backup for your work-in-progress code + +---------- + +## Feature branching + +1. Create a new feature branch called 'squash_some_bugs' +1. Edit '`bugs.rb`' and remove all the bugs. +1. Commit +1. Push + +---------- + +## Commands + +``` +git checkout -b squash_some_bugs +# Edit `bugs.rb` +git status +git add bugs.rb +git commit -m 'Fix some buggy code' +git push origin squash_some_bugs +``` diff --git a/doc/university/training/topics/getting_started.md b/doc/university/training/topics/getting_started.md new file mode 100755 index 00000000000..ec7bb2631aa --- /dev/null +++ b/doc/university/training/topics/getting_started.md @@ -0,0 +1,95 @@ +# Getting Started + +---------- + +## Instantiating Repositories + +* Create a new repository by instantiating it through +```bash +git init +``` +* Copy an existing project by cloning the repository through +```bash +git clone <url> +``` + +---------- + +## Central Repos + +* To instantiate a central repository a `--bare` flag is required. +* Bare repositories don't allow file editing or committing changes. +* Create a bare repo with +```bash +git init --bare project-name.git +``` + +---------- + +## Instantiate workflow with clone + +1. Create a project in your user namespace + - Choose to import from 'Any Repo by URL' and use + https://gitlab.com/gitlab-org/training-examples.git +2. Create a '`Workspace`' directory in your home directory. +3. Clone the '`training-examples`' project + +---------- + +## Commands + +``` +mkdir ~/workspace +cd ~/workspace + +git clone git@gitlab.example.com:<username>/training-examples.git +cd training-examples +``` +---------- + +## Git concepts + +**Untracked files** + +New files that Git has not been told to track previously. + +**Working area** + +Files that have been modified but are not committed. + +**Staging area** + +Modified files that have been marked to go in the next commit. + +---------- + +## Committing Workflow + +1. Edit '`edit_this_file.rb`' in '`training-examples`' +1. See it listed as a changed file (working area) +1. View the differences +1. Stage the file +1. Commit +1. Push the commit to the remote +1. View the git log + +---------- + +## Commands + +``` +# Edit `edit_this_file.rb` +git status +git diff +git add <file> +git commit -m 'My change' +git push origin master +git log +``` + +---------- + +## Note + +* git fetch vs pull +* Pull is git fetch + git merge diff --git a/doc/university/training/topics/git_add.md b/doc/university/training/topics/git_add.md new file mode 100755 index 00000000000..9ffb4b9c859 --- /dev/null +++ b/doc/university/training/topics/git_add.md @@ -0,0 +1,33 @@ +# Git Add + +---------- + +## Git Add + +Adds content to the index or staging area. + +* Adds a list of file +```bash +git add <files> +``` +* Adds all files including deleted ones +```bash +git add -A +``` + +---------- + +## Git add continued + +* Add all text files in current dir +```bash +git add *.txt +``` +* Add all text file in the project +```bash +git add "*.txt*" +``` +* Adds all files in directory +```bash +git add views/layouts/ +``` diff --git a/doc/university/training/topics/git_intro.md b/doc/university/training/topics/git_intro.md new file mode 100755 index 00000000000..ca1ff29d93b --- /dev/null +++ b/doc/university/training/topics/git_intro.md @@ -0,0 +1,24 @@ +# Git introduction + +---------- + +## Intro + +https://git-scm.com/about + +- Distributed version control + - Does not rely on connection to a central server + - Many copies of the complete history +- Powerful branching and merging +- Adapts to nearly any workflow +- Fast, reliable and stable file format + +---------- + +## Help! + +Use the tools at your disposal when you get stuck. + +- Use '`git help <command>`' command +- Use Google +- Read documentation at https://git-scm.com diff --git a/doc/university/training/topics/git_log.md b/doc/university/training/topics/git_log.md new file mode 100755 index 00000000000..32ebceff491 --- /dev/null +++ b/doc/university/training/topics/git_log.md @@ -0,0 +1,57 @@ +# Git Log + +---------- + +Git log lists commit history. It allows searching and filtering. + +* Initiate log +``` +git log +``` + +* Retrieve set number of records: +``` +git log -n 2 +``` + +* Search commits by author. Allows user name or a regular expression. +``` +git log --author="user_name" +``` + +---------- + +* Search by comment message. +``` +git log --grep="<pattern>" +``` + +* Search by date +``` +git log --since=1.month.ago --until=3.weeks.ago +``` + + +---------- + +## Git Log Workflow + +1. Change to workspace directory +2. Clone the multi runner projects +3. Change to project dir +4. Search by author +5. Search by date +6. Combine + +---------- + +## Commands + +``` +cd ~/workspace +git clone git@gitlab.com:gitlab-org/gitlab-ci-multi-runner.git +cd gitlab-ci-multi-runner +git log --author="Travis" +git log --since=1.month.ago --until=3.weeks.ago +git log --since=1.month.ago --until=1.day.ago --author="Travis" +``` diff --git a/doc/university/training/topics/gitlab_flow.md b/doc/university/training/topics/gitlab_flow.md new file mode 100755 index 00000000000..8e5d3baf959 --- /dev/null +++ b/doc/university/training/topics/gitlab_flow.md @@ -0,0 +1,53 @@ +# GitLab Flow + +---------- + +- A simplified branching strategy +- All features and fixes first go to master +- Allows for 'production' or 'stable' branches +- Bug fixes/hot fix patches are cherry-picked from master + +---------- + +### Feature branches + +- Create a feature/bugfix branch to do all work +- Use merge requests to merge to master + + + +---------- + +## Production branch + +- One, long-running production release branch + as opposed to individual stable branches +- Consider creating a tag for each version that gets deployed + +---------- + +## Production branch + + + +---------- + +## Release branch + +- Useful if you release software to customers +- When preparing a new release, create stable branch + from master +- Consider creating a tag for each version +- Cherry-pick critical bug fixes to stable branch for patch release +- Never commit bug fixes directly to stable branch + +---------- + + + +---------- + +## More details + +Blog post on 'GitLab Flow' at +[http://doc.gitlab.com/ee/workflow/gitlab_flow.html](http://doc.gitlab.com/ee/workflow/gitlab_flow.html) diff --git a/doc/university/training/topics/merge_conflicts.md b/doc/university/training/topics/merge_conflicts.md new file mode 100755 index 00000000000..77807b3e7ef --- /dev/null +++ b/doc/university/training/topics/merge_conflicts.md @@ -0,0 +1,70 @@ +# Merge conflicts + +---------- + +- Happen often +- Learning to fix conflicts is hard +- Practice makes perfect +- Force push after fixing conflicts. Be careful! + +---------- + +## Merge conflicts + +1. Checkout a new branch and edit `conflicts.rb`. Add 'Line4' and 'Line5'. +2. Commit and push +3. Checkout master and edit `conflicts.rb`. Add 'Line6' and 'Line7' below 'Line3'. +4. Commit and push to master +5. Create a merge request and watch it fail +6. Rebase our new branch with master +7. Fix conflicts on the `conflicts.rb` file. +8. Stage the file and continue rebasing +9. Force push the changes +10. Finally continue with the Merge Request + +---------- + +## Commands + +``` +git checkout -b conflicts_branch + +# vi conflicts.rb +# Add 'Line4' and 'Line5' + +git commit -am "add line4 and line5" +git push origin conflicts_branch + +git checkout master + +# vi conflicts.rb +# Add 'Line6' and 'Line7' +git commit -am "add line6 and line7" +git push origin master +``` + +Create a merge request on the GitLab web UI. You'll see a conflict warning. + +``` +git checkout conflicts_branch +git fetch +git rebase master + +# Fix conflicts by editing the files. + +git add conflicts.rb +# No need to commit this file + +git rebase --continue + +# Remember that we have rewritten our commit history so we +# need to force push so that our remote branch is restructured +git push origin conflicts_branch -f +``` +---------- + +## Note +* When to use 'git merge' and when to use 'git rebase' +* Rebase when updating your branch with master +* Merge when bringing changes from feature to master +* Reference: https://www.atlassian.com/git/tutorials/merging-vs-rebasing/ diff --git a/doc/university/training/topics/merge_requests.md b/doc/university/training/topics/merge_requests.md new file mode 100755 index 00000000000..5b446f02f63 --- /dev/null +++ b/doc/university/training/topics/merge_requests.md @@ -0,0 +1,43 @@ +# Merge requests + +---------- + +- When you want feedback create a merge request +- Target is the default branch (usually master) +- Assign or mention the person you would like to review +- Add 'WIP' to the title if it's a work in progress +- When accepting, always delete the branch +- Anyone can comment, not just the assignee +- Push corrections to the same branch + +---------- + +## Merge requests + +**Create your first merge request** + +1. Use the blue button in the activity feed +1. View the diff (changes) and leave a comment +1. Push a new commit to the same branch +1. Review the changes again and notice the update + +---------- + +## Feedback and Collaboration + +- Merge requests are a time for feedback and collaboration +- Giving feedback is hard +- Be as kind as possible +- Receiving feedback is hard +- Be as receptive as possible +- Feedback is about the best code, not the person. You are not your code + +---------- + +## Feedback and Collaboration + +Review the Thoughtbot code-review guide for suggestions to follow when reviewing merge requests: +[https://github.com/thoughtbot/guides/tree/master/code-review](https://github.com/thoughtbot/guides/tree/master/code-review) + +See GitLab merge requests for examples: +[https://gitlab.com/gitlab-org/gitlab-ce/merge_requests](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests) diff --git a/doc/university/training/topics/rollback_commits.md b/doc/university/training/topics/rollback_commits.md new file mode 100755 index 00000000000..cf647284604 --- /dev/null +++ b/doc/university/training/topics/rollback_commits.md @@ -0,0 +1,81 @@ +# Rollback Commits + +---------- + +## Undo Commits + +* Undo last commit putting everything back into the staging area. +``` +git reset --soft HEAD^ +``` + +* Add files and change message with: +``` +git commit --amend -m "New Message" +``` + +---------- + +* Undo last and remove changes +``` +git reset --hard HEAD^ +``` + +* Same as last one but for two commits back +``` +git reset --hard HEAD^^ +``` + +** Don't reset after pushing ** + +---------- + +## Reset Workflow + +1. Edit file again 'edit_this_file.rb' +2. Check status +3. Add and commit with wrong message +4. Check log +5. Amend commit +6. Check log +7. Soft reset +8. Check log +9. Pull for updates +10. Push changes + + +---------- + +## Commands + +``` +# Change file edit_this_file.rb +git status +git commit -am "kjkfjkg" +git log +git commit --amend -m "New comment added" +git log +git reset --soft HEAD^ +git log +git pull origin master +git push origin master +``` + +---------- + +## Note + +* git revert vs git reset +* Reset removes the commit while revert removes the changes but leaves the commit +* Revert is safer considering we can revert a revert + +``` +# Changed file +git commit -am "bug introduced" +git revert HEAD +# New commit created reverting changes +# Now we want to re apply the reverted commit +git log # take hash from the revert commit +git revert <rev commit hash> +# reverted commit is back (new commit created again) +``` diff --git a/doc/university/training/topics/stash.md b/doc/university/training/topics/stash.md new file mode 100755 index 00000000000..c1bdda32645 --- /dev/null +++ b/doc/university/training/topics/stash.md @@ -0,0 +1,86 @@ +# Git Stash + +---------- + +We use git stash to store our changes when they are not ready to be committed +and we need to change to a different branch. + +* Stash +``` +git stash save +# or +git stash +# or with a message +git stash save "this is a message to display on the list" +``` + +* Apply stash to keep working on it +``` +git stash apply +# or apply a specific one from out stack +git stash apply stash@{3} +``` + +---------- + +* Every time we save a stash it gets stacked so by using list we can see all our +stashes. + +``` +git stash list +# or for more information (log methods) +git stash list --stat +``` + +* To clean our stack we need to manually remove them. + +``` +# drop top stash +git stash drop +# or +git stash drop <name> +# to clear all history we can use +git stash clear +``` + +---------- + +* Apply and drop on one command + +``` + git stash pop +``` + +* If we meet conflicts we need to either reset or commit our changes. + +* Conflicts through `pop` will not drop a stash afterwards. + +---------- + +## Git Stash + +1. Modify a file +2. Stage file +3. Stash it +4. View our stash list +5. Confirm no pending changes through status +5. Apply with pop +6. View list to confirm changes + +---------- + +## Commands + +``` +# Modify edit_this_file.rb file +git add . + +git stash save "Saving changes from edit this file" + +git stash list +git status + +git stash pop +git stash list +git status +``` diff --git a/doc/university/training/topics/subtree.md b/doc/university/training/topics/subtree.md new file mode 100755 index 00000000000..5d869af64c1 --- /dev/null +++ b/doc/university/training/topics/subtree.md @@ -0,0 +1,55 @@ +## Subtree + +---------- + +## Subtree + +* Used when there are nested repositories. +* Not recommended when the amount of dependencies is too large +* For these cases we need a dependency control system +* Command are painfully long so aliases are necessary + +---------- + +## Subtree Aliases + +* Add: git subtree add --prefix <target-folder> <url> <branch> --squash +* Pull: git subtree add --prefix <target-folder> <url> <branch> --squash +* Push: git subtree add --prefix <target-folder> <url> <branch> +* Ex: git config alias.sbp 'subtree pull --prefix st / + git@gitlab.com:balameb/subtree-nested-example.git master --squash' + +---------- + +``` + # Add an alias + # Add + git config alias.sba 'subtree add --prefix st / + git@gitlab.com:balameb/subtree-nested-example.git master --squash' + # Pull + git config alias.sbpl 'subtree pull --prefix st / + git@gitlab.com:balameb/subtree-nested-example.git master --squash' + # Push + git config alias.sbph 'subtree push --prefix st / + git@gitlab.com:balameb/subtree-nested-example.git master' + + # Adding this subtree adds a st dir with a readme + git sba + vi st/README.md + # Edit file + git status shows differences + +``` + +---------- + +``` + # Adding, or committing won't change the sub repo at remote + # even if we push + git add -A + git commit -m "Adding to subtree readme" + + # Push to subtree repo + git sbph + # now we can check our remote sub repo +``` diff --git a/doc/university/training/topics/tags.md b/doc/university/training/topics/tags.md new file mode 100755 index 00000000000..e9607b5a875 --- /dev/null +++ b/doc/university/training/topics/tags.md @@ -0,0 +1,38 @@ +# Tags + +---------- + +- Useful for marking deployments and releases +- Annotated tags are an unchangeable part of Git history +- Soft/lightweight tags can be set and removed at will +- Many projects combine an anotated release tag with a stable branch +- Consider setting deployment/release tags automatically + +---------- + +# Tags + +- Create a lightweight tag +- Create an annotated tag +- Push the tags to the remote repository + +**Additional resources** + +[http://git-scm.com/book/en/Git-Basics-Tagging](http://git-scm.com/book/en/Git-Basics-Tagging) + +---------- + +# Commands + +``` +git checkout master + +# Lightweight tag +git tag my_lightweight_tag + +# Annotated tag +git tag -a v1.0 -m ‘Version 1.0’ +git tag + +git push origin --tags +``` diff --git a/doc/university/training/topics/unstage.md b/doc/university/training/topics/unstage.md new file mode 100755 index 00000000000..17dbb64b9e6 --- /dev/null +++ b/doc/university/training/topics/unstage.md @@ -0,0 +1,31 @@ +# Unstage + +---------- + +## Unstage + +* To remove files from stage use reset HEAD. Where HEAD is the last commit of the current branch. + +```bash +git reset HEAD <file> +``` + +* This will unstage the file but maintain the modifications. To revert the file back to the state it was in before the changes we can use: + +```bash +git checkout -- <file> +``` + +---------- + +* To remove a file from disk and repo use 'git rm' and to rm a dir use the '-r' flag. +``` +git rm '*.txt' +git rm -r <dirname> +``` + + +* If we want to remove a file from the repository but keep it on disk, say we forgot to add it to our `.gitignore` file then use `--cache`. +``` +git rm <filename> --cache +``` diff --git a/doc/university/training/user_training.md b/doc/university/training/user_training.md new file mode 100755 index 00000000000..35afe73708f --- /dev/null +++ b/doc/university/training/user_training.md @@ -0,0 +1,392 @@ +# GitLab Git Workshop + +--- + +# Agenda + +1. Brief history of Git +1. GitLab walkthrough +1. Configure your environment +1. Workshop + +--- + +# Git introduction + +https://git-scm.com/about + +- Distributed version control + - Does not rely on connection to a central server + - Many copies of the complete history +- Powerful branching and merging +- Adapts to nearly any workflow +- Fast, reliable and stable file format + +--- + +# Help! + +Use the tools at your disposal when you get stuck. + +- Use '`git help <command>`' command +- Use Google +- Read documentation at https://git-scm.com + +--- + +# GitLab Walkthrough + + + +--- + +# Configure your environment + +- Windows: Install 'Git for Windows' + +> https://git-for-windows.github.io + +- Mac: Type '`git`' in the Terminal application. + +> If it's not installed, it will prompt you to install it. + +- Debian: '`sudo apt-get install git-all`' +or Red Hat '`sudo yum install git-all`' + +--- + +# Git Workshop + +## Overview + +1. Configure Git +1. Configure SSH Key +1. Create a project +1. Committing +1. Feature branching +1. Merge requests +1. Feedback and Collaboration + +--- + +# Configure Git + +One-time configuration of the Git client + +```bash +git config --global user.name "Your Name" +git config --global user.email you@example.com +``` + +--- + +# Configure SSH Key + +```bash +ssh-keygen -t rsa -b 4096 -C "you@computer-name" +``` + +```bash +# You will be prompted for the following information. Press enter to accept the defaults. Defaults appear in parentheses. +Generating public/private rsa key pair. +Enter file in which to save the key (/Users/you/.ssh/id_rsa): +Enter passphrase (empty for no passphrase): +Enter same passphrase again: +Your identification has been saved in /Users/you/.ssh/id_rsa. +Your public key has been saved in /Users/you/.ssh/id_rsa.pub. +The key fingerprint is: +39:fc:ce:94:f4:09:13:95:64:9a:65:c1:de:05:4d:01 you@computer-name +``` + +Copy your public key and add it to your GitLab profile + +```bash +cat ~/.ssh/id_rsa.pub +``` + +```bash +ssh-rsa AAAAB3NzaC1yc2EAAAADAQEL17Ufacg8cDhlQMS5NhV8z3GHZdhCrZbl4gz you@example.com +``` + +--- + +# Create a project + +- Create a project in your user namespace + - Choose to import from 'Any Repo by URL' and use + https://gitlab.com/gitlab-org/training-examples.git +- Create a '`development`' or '`workspace`' directory in your home directory. +- Clone the '`training-examples`' project + +--- + +# Commands + +``` +mkdir ~/development +cd ~/development + +-or- + +mkdir ~/workspace +cd ~/workspace + +git clone git@gitlab.example.com:<username>/training-examples.git +cd training-examples +``` + +--- + +# Git concepts + +**Untracked files** + +New files that Git has not been told to track previously. + +**Working area** + +Files that have been modified but are not committed. + +**Staging area** + +Modified files that have been marked to go in the next commit. + +--- + +# Committing + +1. Edit '`edit_this_file.rb`' in '`training-examples`' +1. See it listed as a changed file (working area) +1. View the differences +1. Stage the file +1. Commit +1. Push the commit to the remote +1. View the git log + +--- + +# Commands + +``` +# Edit `edit_this_file.rb` +git status +git diff +git add <file> +git commit -m 'My change' +git push origin master +git log +``` + +--- + +# Feature branching + +- Efficient parallel workflow for teams +- Develop each feature in a branch +- Keeps changes isolated +- Consider a 1-to-1 link to issues +- Push branches to the server frequently + - Hint: This is a cheap backup for your work-in-progress code + +--- + +# Feature branching + +1. Create a new feature branch called 'squash_some_bugs' +1. Edit '`bugs.rb`' and remove all the bugs. +1. Commit +1. Push + +--- + +# Commands + +``` +git checkout -b squash_some_bugs +# Edit `bugs.rb` +git status +git add bugs.rb +git commit -m 'Fix some buggy code' +git push origin squash_some_bugs +``` + +--- + +# Merge requests + +- When you want feedback create a merge request +- Target is the ‘default’ branch (usually master) +- Assign or mention the person you would like to review +- Add 'WIP' to the title if it's a work in progress +- When accepting, always delete the branch +- Anyone can comment, not just the assignee +- Push corrections to the same branch + +--- + +# Merge requests + +**Create your first merge request** + +1. Use the blue button in the activity feed +1. View the diff (changes) and leave a comment +1. Push a new commit to the same branch +1. Review the changes again and notice the update + +--- + +# Feedback and Collaboration + +- Merge requests are a time for feedback and collaboration +- Giving feedback is hard +- Be as kind as possible +- Receiving feedback is hard +- Be as receptive as possible +- Feedback is about the best code, not the person. You are not your code + +--- + +# Feedback and Collaboration + +Review the Thoughtbot code-review guide for suggestions to follow when reviewing merge requests: +[https://github.com/thoughtbot/guides/tree/master/code-review](https://github.com/thoughtbot/guides/tree/master/code-review) + +See GitLab merge requests for examples: +[https://gitlab.com/gitlab-org/gitlab-ce/merge_requests](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests) + +--- + +# Explore GitLab projects + + + +- Dashboard +- User Preferences +- ReadMe, Changelog, License shortcuts +- Issues +- Milestones and Labels +- Manage project members +- Project settings + +--- + +# Tags + +- Useful for marking deployments and releases +- Annotated tags are an unchangeable part of Git history +- Soft/lightweight tags can be set and removed at will +- Many projects combine an anotated release tag with a stable branch +- Consider setting deployment/release tags automatically + +--- + +# Tags + +- Create a lightweight tag +- Create an annotated tag +- Push the tags to the remote repository + +**Additional resources** + +[http://git-scm.com/book/en/Git-Basics-Tagging](http://git-scm.com/book/en/Git-Basics-Tagging) + +--- + +# Commands + +``` +git checkout master + +# Lightweight tag +git tag my_lightweight_tag + +# Annotated tag +git tag -a v1.0 -m ‘Version 1.0’ +git tag + +git push origin --tags +``` + +--- + +# Merge conflicts + +- Happen often +- Learning to fix conflicts is hard +- Practice makes perfect +- Force push after fixing conflicts. Be careful! + +--- + +# Merge conflicts + +1. Checkout a new branch and edit `conflicts.rb`. Add 'Line4' and 'Line5'. +1. Commit and push +1. Checkout master and edit `conflicts.rb`. Add 'Line6' and 'Line7' below 'Line3'. +1. Commit and push to master +1. Create a merge request + +--- + +# Merge conflicts + +After creating a merge request you should notice that conflicts exist. Resolve +the conflicts locally by rebasing. + +``` +git rebase master + +# Fix conflicts by editing the files. + +git add conflicts.rb +git commit -m 'Fix conflicts' +git rebase --continue +git push origin <branch> -f +``` + +--- + +# Rebase with squash + +You may end up with a commit log that looks like this: + +``` +Fix issue #13 +Test +Fix +Fix again +Test +Test again +Does this work? +``` + +Squash these in to meaningful commits using an interactive rebase. + +--- + +# Rebase with squash + +Squash the commits on the same branch we used for the merge conflicts step. + +``` +git rebase -i master +``` + +In the editor, leave the first commit as 'pick' and set others to 'fixup'. + +--- + +# Questions? + + + +Thank you for your hard work! + +**Additional Resources** + +GitLab Documentation [http://docs.gitlab.com](http://docs.gitlab.com/) +GUI Clients [http://git-scm.com/downloads/guis](http://git-scm.com/downloads/guis) +Pro git book [http://git-scm.com/book](http://git-scm.com/book) +Platzi Course [https://courses.platzi.com/courses/git-gitlab/](https://courses.platzi.com/courses/git-gitlab/) +Code School tutorial [http://try.github.io/](http://try.github.io/) +Contact Us - [subscribers@gitlab.com](subscribers@gitlab.com) -- GitLab