From 584f730ac176a3bd7f966267644b0750117133f3 Mon Sep 17 00:00:00 2001 From: Bertrand Benjamin Date: Tue, 5 Dec 2017 11:46:12 +0300 Subject: [PATCH] TD sur javascript pour l'ISN --- ISN/P5js/javascript_deplacement.pdf | Bin 0 -> 37274 bytes ISN/P5js/javascript_deplacement.tex | 132 ++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 ISN/P5js/javascript_deplacement.pdf create mode 100644 ISN/P5js/javascript_deplacement.tex diff --git a/ISN/P5js/javascript_deplacement.pdf b/ISN/P5js/javascript_deplacement.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d5091f52fcbc44ed194b4e2fa43c1afd42df53cf GIT binary patch literal 37274 zcma&NV{mU#vp$&Q#5PZUv2EkTwr$(CZJQ^yb7I@JZS$Y^*4&wzx%1)fPiyU}?&|7i zclYXk)+Uh?5}{$BWq~G{Sr}Y_X2qw+w>7YU=H`Z`lQOn3buzu=krC*)#-Rc+5j8tLUlQwh&l>STqX>%0l)j>Ceq0@aAX!EGYiW>Sxqc zS4aLPkv?OIfk=2lL@&XfK=>;BRZjQ)yepfpuWQ4HiZBzcIA*Zb)0GV=hrAcMh@GG6 zR+T9qgzZA;r&q5adJ%-DRyRh3^}P|x@}G9`$bO%%@s4X8W%>LRq@*G+ly+VN?Wyg6 zF|YfpqkT9fgfBH^I9#OizEulHLs}{ksL)WfU532khK@{M7U*K`Bxpnq!~8!-lo72o z497i(*^21RNp&A8_oUn~ z;R?4_y)5wyyWjN3V<2HWPj0p8O&xy0D;FKhPia>brnTsYxAv)*7s-bDv0z$KiG@6) ziF>?luJ|<Di4+Uce&V z;?SSmS|p(rYlt1$o`$n0ok&=hbyoZPcWa$vyESN+PYp9tHUFlU0Iw$b8oB2n7Dmvw z>TX@8oI5n>ewottn6->UKUD>@ES6Z)bc#$4_mWaD#%1NaAVWNhpaqM&i0Am2(~9&C z8!A*@eh%NYws6es>QD7hUwx>tL&CIph}8wyHR6-Ew0-Y}7w_Z0$^mFHJjrX$)Y{2Z z+RBoG-;S!TT5dhd&D^F!6kKuRbx+7He(`zyUbO^dbD1c1e8xglXqAKh zE#B>QKNf^bN!x65t9Xq1I)#c&Sco~F;tC#R=b}2d3?~J;qc>y?8v{Xx{ zWCmx3*nASh{G6=k4_7l)k?dI%@RzhP6<69K1W^7b0b%49F4t%>&RZag*0s65`3)=^ zzjFR?%wDj0IsE#japLua88I#YrR{^t6RNjeDvKxp4xH2u`bQ*bfPgCy*n}*9j(1T` zB3^B5xBYM9`kXlApOk_;ZGI=xJ>nPx(K%iio~8+?!fsahd6m-bk-+?%rSf`Z&H6Fg z)G-y!anV0b|43(M+^D1cd!Gl0m$Yz}e^DaGDMq1?X2pJ0II9qKF`Dqvp~3);BIN=? z)%g!vd%dFOHAI7#U)n7Ux9>E1H>cFDZ(M z1lXN$pn+usdw_@th(bi6t{^}Idl!w?a77vIAq$8g^BR0=8U5U%|{O@Mk)3bsWk#{U=!e6>>M9JyFs0>Ed-r^p)%BaWxn z|D_4aAmr*|SLof&V!vqQfv-6FmS|d!6jZiHjbWpX9X>K@SB_8@MC%(4`4oI9(GlZmG zW^aFFhks<9{v#XnBTMmLvX7qPOwugbiAENLG7jQ|ho^+Hm|I!DVHc-In~e%NP7Cug zL{WZ#Q@KX0J3xw8$W}YWGGZJh!=gYR0Tm%$u}nBE245LDB?-(Ej9o2G1=h*Y!qyE( zaR;Xic%oJlkZC#=N4t^ygJhC~aU(LBNa}(GA)|Kf(?X`H)obK{7h5*D;*91tUzzmU ze`F7`Aa%XB7rH2DVA?Rh*=9`myt=#VCaH30(l&T3!8P4A9q~>gBiEsR!!7-E>eEK+ zOLfPnPUrs`bZY#sFVA;tWz>W$W{^DiW8LeE<;ZKdV{-AyC)LVMM>Cjxxq~gDr%cOj zNanGf1mCXf+nH9NfgiH#3vjW)rKP>nVh;_FSvFSrx0MzUI=_MDm?0S&Dcn|v#T?Og zNxFTG;bd6;K4B1MQSdrJnK*^oR*{wt>k1>tsvd70lWBn)u30C~t-WHIDBYl{F-e^%$F3 zh(Qhqj(3SAgv3XPmh0E@S8!&$Re6Bz5sdL#ym&qbdBfA?Tz zAHp)i`@^c*ctMYWhk56N@JX@1Lv66B68jnWxrP?k)eO=M|6(SjICQ}@K2cb-=rB4l ziDLrkYUDX^6@DW^bzFH+u9lsm@ZW-!V3ohljF6>GY0rwHj}#fh zSR}n|K#iKerbdtk1a>PoL_*p*kv!@L9_VhRgbEa?pN z+R6@5wPJJV^!BPMT%A7rnA7=#@bvqSIqv^KxZ*zupGWMYaW4qXzudbG9^Xbx@1tR? zaEUBB)Ygf&G`(^76yEO;m555sTPo`ZBkO?a1RC=en8#M%Y6T0dRh})*!CiB+hIm}u z#2mg<1D@h#7DLaY`s9`)B&C?7Y7|jnn*Iv_vH zWqk#5if}UX{J!K0s)BRm4DtYHK!zS@%lUnaP8afhBX)rd_c*X&9ZkdNg67lqZN1WLJ&3Lj831?WKREV;dUpsqa<8YT{Q`brQBn}a_Bods(w=Lriy0$>}E=Az*+TAc7HX@&i>r5 zTOC6TBhhYjhOvp?Ges9wSWk1SXqh3F0E=9;P%W4i+8&5UDQ5Zy-YduHH@8%BH zCdy)w2){VEnp@lGn%LMe%xLZNczm?hx-NewdjAgHqMoxV^bFGyNCsnr(omuEkFA(k zz~btu1QoUG;(M`&QVD&CX~5yqaaV&c+yG%w#rN$NCFrTBBV}+BQ$?@Wr%n zISp;@I&xy*-Ntq6HjG3CE<|khCkX;N(n4K@k6#_fC866&6KhCQK>DZIJ@@+6=IB$J zGk?V=HrE zG)Uy2bwRlx?64yhq22#&mau>7FEmDYDqTO)U0RNpBqk4#Y^3Xjr9X51SJ6Ik#@>ps zxAR_+X7u|DY-UIuT6&BG!R5L4qp#z-22f3&74-|-PJ*!{APK6E5gRp=DhmUPh|w50 zI($N{wjuyQm9H;i@cB8jqGg+eT8>ze0nUaO6r`C6r~tB9+)fevy5I7(ELufsK!0(y zx$`i=X4xHyM8B!*tUB7K?bQ`uK?D;6Xf^8{;;LTr$^{8c-&nRGjdFue?)Hf*9b5^K z)(-<6EK|8Ib7m;krK1BXIQBDui+P{IVVvRz0b)bs$X?S*bu>3FLa(Y z6~bWix-(z=B@G4{6qX%^v^p?P(%|kkX~Dr++`O_Bd14QRS`@~?W#O5o+=8}Zs>=p; zeZHYJ9;YiDVsW3tRwH{H^8K%Q#?HfL=Mv);o6ZuN$gtUt7r|Vdhm+)fU?P362`0rh%L#W9JqV z>C5Ae?l_H2Li~YUI{X4KdPtOvQ5r(f;tU;zf?I4IcT>eSi1JLWaB2Z{vi4zJe!ROv z-G`R;t*jsux}kU|c_=8(C@487DA_0|F(@dRp%Do?& z`_P-``1!kqvx`^!o*qM5Ii0HPLR3xkb!+`8XAl1vk1qB+jl=yyI(EQ_oj9n! zy)Bc78A9?H2~kpsKlQDT0*I{={DEx=wqT_eV6!%Xbb`d ztn@V+L+e(&roo-pyoR&1t-2&ZnbS64#LR#zm!%@p2*tB}#3Q?kgmvc%y2UgGX0>jp zs$VZBZ9Q*1MI3~%!V`l>X8}Wd>xWiyrM9UIrWo6_KN>b5f80E-pDh#fmpJ?&baXZm zFMdCXn9?&pcEnRJ)kg>%@^l`N_ZjK+9x>+@>D7S|JUNFdl0ZpHqwv&zRwQ7l7?PM= za$xk3BvUGQ87WbJt6436!2We;K{)UDoY3Wo`S>Xjr-bqoCFQbIAF2SV%ZLb}EGZ_8(8 z9#tnR=VeVj>Cbe+!iImwEFz6+=|OBFGaVm_%D+=M?B&-qu&pSUq;KuF7&(M8;`Qr^ zKY)YB7WC5SjY+^A&pSm%^CUJE(la4oXBtR&R+Km?p;eaxSt`!U(=NOgRH~j>fGbZl zTsd{u7t8OJ#RLz<;8F-tz2%J5vl`E~kayB}y;3pP9hFw}u$5o4geY1h##G=!5?) zWP}LdPGjUYM9JkuM@-LQgMUafqUIW(m{`540lKt$@}0dmlcxIhOi$qn4VdKH3PV^c zY(l+?uFFL3zLxh@!DaA>8v8R-EZ)$I&CWQN^*p+BE6T?4z;Bqjl+fVifmSlY4Ex;c za$HqcSPFF$~;X$WG3=oi(chuB{E2lCOs!Lq`W#2ql| z$>l3VM>(OuKBv_(|17;}6-Ry&NEkEd{bgAv|8@k3GA52*tUor0^B~>e*z5LrtGV|H zlWKl$3)S;CN^^sY>A$$sY_S|*vb!NWr%RLnpGOTwhW~NYV8CZ!VrTg80Wu>#D?KB} zfA5&^>Hm9)&&t8Z@xMKhM7u#SYhA82<7+IK&4!*hhn&oMKFA1R8PZ2#O`HhT%zDBQ za6%P4<3kpRA{3BGKn6hGO5Yvv9CsdnFTZuMSYED9d+WM-=A5rFSvuC9VL_9x5LoAz zi-BqY5kn?{kelOV1o{Et%LySuqLS|I&(4)E!hNo9u1_MpAf&i&~FJbRXo?U zKq73#<7-VIwjcn*WRSoD@2~iP_bwvr zOG*;rgTq4-NS8lQgqyfV?k~VP^o>M4KoJ4$o&uLZ-6G&8e%g7yA}GXrK$skTa=sj} z@lR%SwOpuv3_bdY45llrjLO51M+-}-%&oP zkYI1QFk$`iwY7R7@i6;<^$-FDf!oV90?cfg`GBHo-@!op<;A49S5ROB1FaeSwyOex z%c0+Z=uP_g?(^}l=vA2|5Wxb!GvrTHu_st7@Gp|$Xldm@v4tNh_>9xIPy<$7@$&h8 znlOG3f{(AC!7`%DQ}7*RGe0Uh1t}>s2>&LKoNZX) zObv(#Z}rUf)V9e4EU-_tn5rL-39K2=1R&y-@J`U5Cm*P>1A@8dnh*C|3(21!hzk=G zt~Qvn2T|yIDuzMu@>|1jY8&?mt`^AP1Of!e*Za%aG+aLo7a92ZmF?ph38t)!G7bCh z?I+f&u8gp75nGQezZx<=J_R_aA3r{WUu!El{!Xs@Lr*QA_lIaDcpm^N?xR9`g7H{i7xK zov!D5AEKjYhu0So^T;EQfpSK~pwaKe_AkW)-KmA(r5=Fx`*M*#kikNZpIr}=2B@73 zvhz6=H$)-WUGVZj&n#?TxAJw|=0nof4ilt2RH)a7N1tAvf5-Qgo-mNzFo%#Fmc_Rt z4-@XQp&A+_pz)oARbQR~Xk`=kLNJKKazX-i2cqxq9Q@g5<^&MIA5i3IC}2GkSfCZ6 z&2S%FYB5xNqsUbv*j@&g0^frWx7H5Bpr=gGv_9V&-wJH##}I+ABhxs{mWw( zXjmPPOd>a`itO3&BX9Wvv#C{6pBRmoRf|NM2v!%mD_GN$$z)Nfi5I3D9}c`npM`9k z&aCR3*dc{eO;v7Ga?B5(jY}ZoX2ChGsBlxE8pYqlr%dsyYC9Ts#c5MoA(78vR^1zv z?Po&Pd`TN%tw0hoqw4cmGxpH#*&Qpg6Y8s~vw}ylBm1@;nnoU&=9sbC`h5O_xfIRA zbKcMDEn(Bx8X6v%>)WXW4oZJlHEEs*0}^7!o`Eg5?CyYYofWPENm0>D3r@-u+%*Vs zwCf~6j~Qd4U+!Yd`o5ZrfRSRsA#jU#G}~jhSv(d9giVd^JW^sYtJoZ(x?tir%w=L+ z4r)gAR1f|(_jBToasNg4KYreuqyKet#)(nWR2o-oYL5-TWN**tWewLV}> z<{v~eZ?uE_3on-{;Z-gZ8=aCDqJr5_{7;sb zh0i+g0*ZT>(RZH^4_21hQvAPn6S6XK!G{N)V5pi1%ytz=^i|`@#JE&?G_$ze(2C`y zGSW{u9S55%nqHxx%APQTB{54JD#g$lElMo{vxuyuxmQV!`SD=NI@f6Z`58y{KoqFQ* zR;%P z^BXs(ok6|QsO2+{$^Y9S=g7l-X{=RXRb`CoLB9jT(N6&{pZv00Ms~Mb7?)nXqKOA) zqOQvW=E;TK3yQ8>&VVre(upRv|`7_MQl2 z)v`<~B#vA}=axt5`Cpu6^BQ0`E5B zxLw76-$hlN)o%Pjy*%yvxz6?pR69~)f%TiL>Rzo6rzHZo+YC9o(xzN)>E1xPJ;u4$ z$o+#XT;Uv1`7cyGt>J6~i!Ggcbt!GKFegikipfhLwXfQ@hq>`FQS;b!wE1cy3ivx4 z4_wmRQG~tYV=`{|iCF1D)$2XDS%~8(XO`{!!0K9m3mWs(V`VMXS$*eG1BK)TGx(x+ zb{l~yVg42$a=IaS;4^G!)FboR#V51qxTxI2?treyM8!JHQ}7da2g(pNw1&?F1DmD& z3Hr#jNm-~!(MDHyV^)kFaR z60NpcB!y77D3RL2nLGjAx>21>e;XS(?|GIk9M*dF5UPT#3?xFD~>Ap<`UfG-*L~WcE-kcKB`00DBw|Jyqyn853yvj@kY(5mFosK@j<8! zJ8E>b+ovho43T4AX&!;*V71A5Hv1tP0G_&nSkF8%Yla+6mcIU`K)9u)3ioQINTzK- z5ApCyg|hC^@VSb402k~kbP)<~v9^brK9&dyMHs+1oMKFl8r_2sy&-A|O2>#~A*QJz zST-wJQ3HB68WI%zMOgX)VeDA8_?}09A|!sRl`_;%R2wNU^88T|uk@2r%xO%p7XCMf z+%^?2-Vt!EhKZ_kgqZ*3N#&-u~TZHhsX6XjiQV4nFe z*?X(RJQc!J^)H32lczsz`wF4p`YFni9L-%85)M|s3BG2E4d|9+n@))g?E447J#trC zGBk>+xwh_MT?Q&Pvfq`ghLsmPRtNEC=EOc!FeStC5qfS}c<~*&A_-ise$mv8+qpgV zOTMuMYZM_H*2o_1N&NVE%BmdPS#ntpfY_axs80>J4;#T1D(TL)tz@f*lj?ye<$nPsSgl2?>baOZ^ zF<8_4{;T11{Z2IC*M2iSZXeY7KnwJ~3O;3^+U0Src7z-aJgd`i-Ebarnkph8B;5Er1Cz_V-`wv%5tKAZfAK9 zDY~9)mM$bOKIG45I~lGL_fAJ*lZ=<@e8)k&nQjWk^!p<2>Ng% zI`(SL%Scz%4fkYm*csD+ctfxk3Yf-z1VtQ4d@6*me&0XBrE-(==ZTx)Ft_S*v!kww zIN5~l7^x8+d2!;CEQVHp%4IJP>VmJ_m+zd8uToQF%Qo18Ir)Ix!lMAV`*SCVoycp+6T71g3 zK@DMxw(Y#V*D$8JgJNSPhR`38m|>)Q^s|1ukKQ{+*3JCY!>c%0fGz8RV+395jmMK^EPlN}qs|aY;BbyeqW%C4zhxMMqA|^{`}icLkbh{-j5j!R+ul z#mDVa+SAx081~}8=~7{{_LnEQfQ`yt-qI=fq4%nH)|ARvZ8ceVG#~ZsYaU^;kEc?% zEG3$V?!&Qm?t0G~g9U26DVIKG)qWlZp1mXMA+;@La_A%X6lw8s`F!v_Xe{MJW9&Cx zZC!ew9c$QuG$TVNU?eU@rRRi;FdpEWY4-L!Z+G~}>U6q_9Vq}WYwy-VdMt8<_7d68 zHp%$ag9C>5{2~c`D(Qkm*jW@w4*tW^QXd_*imFi|;i(AaZgwf>#ZAxhv`2FyQ`!8= zyC;j#^@_TFea4jJ<#Ci}>>I;0qDbW7ZadTH9Y%9GHw4YQ;Un`S6KZ)F2ev|Fq*=atzy>XSs%=ECEQVo;DrSfvfz;o z_gU*{3D3Y_*VaM-L|LJU=L0cSobx5s+osw(F)7Yd(G!L~SB zB%B-;j}R4XOvd7M?_(l5Tn zhpXOjZ(5)S<8w8Qo;4Hka6T_Ar*E#NZ{BU$u&`Va40N^a6l8QtLoG9Ff0@0!gpSP5 z!>XdU`aCwEepXeQX{|3ZS`aMnA1V@4}%a4M4#+g16>P{|Ry61Y%2Ztv@2w3`jR z+rLR{=U$EV!?{AN!3_uKg8g!*uj`z6D zNji=z(%B$3wYg3#_?2W-U&~P+4z%Ut>`+lSt#zZ%t)x%oJu0XWu3&N$J9FEXs8>;g zxtr!UXfQYi;aVD-G{dpa`ouQgcsOt>LZ^~cScRQxv6}z|XPr?G+#d;Ma+g(xEXN-1 zvM-=HUF3B1J_+&_Z<8-tu~pKJ%!C0o_1<%xD3mf35S0fqTqJ(04D?2pi;`UI`;so( zN36?;Vo|~CogYuaYbF^Uo|5`m{MzMThYiY(&ZL@h68##PZ+^NBswaN_$*)4JxDSN*?3C%NeZ+cz%6G#JiQ=mx5VjIC{i5$2yNeBbrLXDR(CiwK4X*))sU9k zQk@`tt~(6c24P-k>}^y|--1;0?RAc$I;n3?ZFiXi*-v?7E|4@On79HgvUlO4v(#t|5oTYH94})Pqdxl@_vh5=@!i#r+FLXb?DhcH@4!SoXV&YYU{0L$Fo1 zImExbEFy0j+#UfJ%r7yn8w#TkO$+!8IVx9dK%LAh{W+k)BuS9i#(lfAAm`4SQQ~z) ztFTG52fMU`Fws$aPt3`R}`_6&x}i#?hui3@eUJc!~%HSwqqHqsOj+Trnz*Q?iqk z(lD>^ak1&lL)vwnSBjoA~j&9$?ppz(61>?K$kl4u2Y`9zUj+nU;TqA`EEd*aX%geh z`Cnt1KnMHBw%D>lGx5>M%T-`9Xhra>**Jt8P?hxw8q_`HIr9xD7jeJFs5stKT`W@D4$JD`sJ~Y8s5s1DdC9h; z#`rpf5)}lV4{bpavlqeJ*tICC*sBO$%2L5ygVzirp80&YTRM7% zaHo@eM^3EV1w>}|40qJwFJ9-SSB;EIB!HlT~2h1lzhH zqrB=^VYATb!u~o={cCldbF@)Aa{GuSnPV~>98iv)T`J6U0gL)%)%xCd_=#+6^OiQ| zf-7P@qC>1~`#xg(sNI5Dql5V2Q#?~a%L8;P$=7*ZXhx+2Z+iG3W5&}-p$mBZ!jIo+t!MpBuEd_vbW*}+O3P9^ZQP+1j@$Lo1xU)y>*R+*<$yuOh#g?eE*C2d?d znbLwx#7TNwNObT1Y?SOlF5VWk+bcey&uLupF?L%_N$qFV1fH(r;eJfEDVtolN%tvY z^lb2SBU@YiH=&-{Dh`nCf*5;!OBd51?Q|u_wsvcN3<;!g%RNqvtLW`{z56(aZszKP z0|=#4&KS))cCp>F{GAIG)p`I`YN9FLX5_P37dh=N;Nz%d2-==vo+o|}E&^PJO< zr-P{CIYKO2cM&wYpag_^4236!+?c+m!N~x8sKUe8XcG+?buaOtg;4HB>JbD(< zHBv$0P=xwT8*Tv60)d7!Z%A6V3yj7+wwy`GKLTDf{0`-eKS=~hDF z$Y{oIG+-kSk$4d98 z45Y*HP+ryhymY3MZ%%^E?B~nSzm`@mBubsz|BV}+hWIJ7TxiVL%;KDVXyji zk(ha8dr7|_34ktZ&QzH*ruuU}bK=!F%6%dv&j*A4|1ftyT-^WXXOAD|j+yEI=IZ{# z-2Feh|2K0-&+xxx?yQrYwNN&mhwUHuH5ByxAjxZ^udc3;Pl1V8Etv0S#Kc@f@u8u` zU=k!k=kPc4$l(;aU%hj3@4S4wm%moubEY|t9jE`f8XC{d9VRsY(db2ugG8VuXA=S~ zvK%iy>nnzD@Gs2zg9zyX2LfDQf7Z*BrS}~Jq7J8Lb7e;?a1bK11ZQ&UuansDz(0<* zv4d}p!G@>=1R5O1A1s8=jSql)XhA$B1xaXf4eap5*S^r_S5YsDjK$fQ+7bkPkhMl^ zr;kG`f)wo8m?5#|SK-amH9?EBaiMpj2}4W@4MiBRx!&C+1OZAv$3<4CyMxx zl7~N1Gkt9vJ6mlX2T7L8=Kv>ZiV0a+SyO4A_j#i`|4tJh|HmWnqc!gX5fK9cj}CH- z2o?-V5bO`|H*Kjg)b}v_fowfvA37BB*LoA&*r9K>=NA*+lds7%@S7_QToJ?uHn>4I z!|-n!py;BI+>&DDyOAq4H`2hdLw{LrWXfeu$2Dbk3gQu#UD_ASr zgb2))zBNL9laoW}=fCRMTK_hVUL<;&BCd~R5)k`8?(W}IC8h{1E9FmX*m85{H1K0_!6IpsQ8Luf;N9i%R#o+Ou_{P{BU?L;|v~pDOXQy z#3z8}?s&Y*N%Sjsrck_pdrpF}Dl41(jX!|QSiHcY0{P?G;IF++DwthQ`67O@_lDtw zJ;i)5K{uj@x9-A3JYC+AMcEt#pd z$H}7;s!;e_DXZGka(`7b!r&Q4Cs%33ci6b%eM}k>Ga`DZ7#(?!1T?5w%(SI5r7Qt} z>sjOV!=ziBXd?gXTT&ki^#Obx#xl`y*!HF}o;0`EcKijH*h&`JxM_;LAkdY{+PODEy$2X8s(vjWEE$!R_5~Edab9UY#0fxr<3@Br8OLpCLHgek;%>ro=pWcNwl27C$SEJef`>RJl zUGrVQvuxQ#22)al5ZH7{uamodvpt_xIc^)1{BeHzo?UUWj~ta6(28>w9ae9oHK^mAExNvQjNDDOwrRr*iIy`kzlSPI}rfPa~oW_(3|&9=QY2mN0#C zlR@G8K*E$7G%eb2!}D*y*R+eFOtg5r;&9svI4Y2~Vo8vJw|ZQ(wq;+8kj{?x+u6at zE+*+0H;b&pAbec+WOPUN+0%kn4MJ+h09nSBj=&WBbGF7o!X;H9#utLxt-$uTNu zCZxO+d+ zA_uBtG)pm5AP!<@$x?=)bA=}<*8;R>w0reE;g`Y6s=m`p=}wb!UO{i>d@Bz=S}9mk z+<{OS$)57P`iUW4v$d>>W4&uOFGqx^dVrF_9Gzfj*u7eaN+LaTc&x0x*kt-ceLY}s z{6zkbQPhMW10deaMEB??BouL}*xZPCs47aOL zR4W}<3w6`FEYr9S!w`^2*NrFs9A|lh*CF_PE#x@i_u1cw>KN~xCg!fqt4JKxLrQ`7 zlDMyc66S}ZPxEP)@Y}oTntip|QqQ;ML()&#oX9Tf-PB(9tS{^EtTo(RgO6r6YCg_ujMvQoA4U#z9PYK2F zUGVhJka#Yy+i$u~Q27y&YkUqQ=XAV6WxQsUF;AhBbx#i)u8n;B#JY9Vo=f(4RTbvq>H@M4Aa6=PbMcQ8JPI zVAd%7Qv7bd(Js<_ekI?Ww2rNbT*f)198C3G5nS=jlFu{vQrJ{wS~)bD(HHOMVy?lZ z4vIhUHxbKRz;=pEn_@1-%UHc4J^R3$P=8MH_~dEcs@_;>It!I!SnPh+ptV} z*W;dMlf5!RTkpNau{aiCdyZsT|D^kAeH>>>{($;-F$ijg$<6f49GG+Nv~zc#*Q9&^ za3*PZC%jLJk%OsX<%uxLd5=hQ#voYePS$4;=s8o_B-t^|p|#Qex(;g$yHk{xIsKW4 z3UrFRHT6vtQw=QZJA%KEm6+sB49 z($BP5{5ld$cbS_LW`oP{kdaWfr1Wzz5j?A4IoVUH0f&oY|KdFKkb86dV~rRGv0e&> zWsd~~m#Erv_V*DV@fs%EA<(aiMZ;#e$X0v9d&^_8#TIFbYKdH(!wDP{4RDK8(KdX5 zT5B^wJESpFju8hI3KXN7Psbwc9dPvy`tNRPzwL$+9zxOOO6i0gzZs^j z?VZ0W324z~%tPg9fsoG^CbRL0XiE<*oz|Q$A4)9J=;Ie~-wI4en^>N2uFL>&*{skN z@hv_2i!^B{>JUaX@M#GPJ|9+n5|p@{Q*?;S^fe6DaPA z9A4cd3ATH!e%L=A18QvkxU=rk=R#vsfwTC?8Ja{aJMqAR|1hD}6?HKrR;=6SW$v9+rdn@U7Ox##mOonTas^FR_T#1aF6inj_Lv==aRs)*PgXy5w^>>+B7&p zP~B=U4HjcN(I+f3`e!k1OZmq#YqwlEOxELK1H-7Ww#m?zVkO^NnfBMju=eGe$0nQ{ z_y{sTSVuMm)w?>DMG2tA-6(K`3$Y0v4nF`8nc^gau6NSAxv-6CzdegcXk(5yaYL9D z#ard6t-w$(GO0UC)Cc2H%1bOn^fEk6bEGDvBvlcXbf?yKbkO|;x`HAaTlL+!h&5zr z?fcaEs_+Q+)b!IuxK=#9Ttcw9P@Q32v59cVR@HhSaFe;{se@7UjKS(iUkX#d%?=A) z30mVHZnJ54rS@xhy}+97SUFUL&=MsEo#KYoN-AP#)N4_fdrtETIH0&H#!MEqW9Sj#^d(>tDe>S z1Hr){`^ee2!Hd6UY2gtA0u1cMrFWcF-uyOHEd%Ifq^?er!sc&siUPgGAN!sbiP2#W zP1T(k7^z(v9=sAuy_HS+A)Tz`eDj7GS%F8=hBEN}E3k~BUw~Z%i^OV4&WVX8Olr~$ z;Vy)lB)YNL-J+uvvnOJS3~8#%2&X0rBhIL17Htlts$4$3`?sqfHtEiMsJ#|R>QTck zPi;8YJa06hC%{VMPr>1QBGI6kzh~V_SB;_xBlOid8RdQK5xim6ptkttwUfy0|6%MM zf^=b`ZQC+-**16C_AcADZR;!Bwr$(CZQFL;zjI%lh<6${d)dkMS~16%i8(ts#3-X< z2nUW`AnUKxpE!VIgB?2uaO|g0>~5V&O|)Kqsrm;rr!_gb238ZPbMeZ`AL6FLQ=COf zJsp0c=c{7wn~j-MQ<(6aki27G+BR(&uMS|>U7l1Sp%?sNTg@*D4ic%}8oX3pusNjp zkJKRN58!-{&iP19iK{~k%kPz0iXS?uxMgVM8~S;(=89%!jU=DNIPJQ=Dwh|FF&ib6 z8%Dyj!B{0Ij!7VBl^d2D6@~#3L$i?D-gZWUDv%;;>@08s$ybg8vZ0p*2o9$nEcPc2}|2 z2CX_6ePy2JPmm=d40igiZh{hPbni#6(`9KPni!NbdF;yAJ5~K_~NphE-7E*kW1-+}dFmAD|VoT4KVFioQ zn<&4UV!e-)F3|`}@tsdchIPK_#;uaoUG!?5zhERfpPEF;xul;#xi1nH6DMsgo;Km= zQOBY}5h0MyO-go}Aj?*dqMQsr6qGjey!EN^rR|}0F?Sg^!mGEekXKQ-$}E&>gSTd| zPRIC+dX`rHTA_}-Xl)BFdPiaUILr7M$*FGD((u6b*SC_N3{BAb>L8>0ZRn%bhs3p^k6M??&oUX)2EmZt|lxoKq$%i$QCqy>P0UP35vdaK^E)^#J2Jbx_k*AGKeSzf1H$BMl5KfHN`gD z72`|j_VehYuc^({y5c280*tADCo@t+oxoq4PCd>ug_gN|Z(<3w72~?Yy<#mez)UPv zn8&|>W_l*UN#g6~`MuXr@eS5LHR?Ia-j7)rS>&cnUg4)xrUyPvAwkhk5D;{){x%;G zS6IWelHblDmrn6=-r1n|<1u1tkR|wL66;$dgpKW$yQ~*LTe$k}BI}aTHu!lhcjV^- zJa3lTJaxp@*xE1knr9s=GZSg^y%=Pjkm+HaTRaT<^Eyfs=A6tx^oCE|A!^prR+E#J z$qY;kI?BPj305qbdU=vTXBf>L)uxSn(kbrYPy`!tZqS0UdG8_GQ^x^rLkUO{mmij4 z9b)+rKIWs7QR&~-xJ&*@6ap-6mLL)F3?ui1KaNs0{KBfd+WpUYEdhI5>I+m1G}mzz z7Q%bOB3h3{(WG=rgzb{AhDwrrF6pGNW7aVdJgdRLM+!W3%sr9k*7%ow)MU!q9VX|Q z>V3%R$~YE#SJ=juMg5l&eEDY=SsN7x@uDd{Bp82nT^2;YJ@xDP{Y2_qDuh0e=y+@o z%-nYJa^kG5_qEu(hat9k5+Ac0S0?7OC&|aHz?aiwS_OzUsCvs>jGr-0A03Ivf2CK4 z(3EQs104i}tE8%BEuW++0*cO}WX-mV361`6um1E2tw{gj)NrZt6mGf#PIi%jBEMC7OcN4a*yHRo;< z)YE2@*mz~7&hBd^p4isO4|nmK{A;E;`M5HhHTe%z9AN)zdPma}gGzw(Qp+6N;xb@X z_A%6KbwjEl?fh?D`3up7T;d|P>C6dQL2D>rNEPYw%o9mtyPBTf>B>7mC6Q>q!=3Fr z08$Y0lu%lZlPDvGT#XW_n!vG&#@O9!2L!&Jz~peAZr#d`7JHWYaX+yH$B03ZN*S5z zzvB!~LYytah34oxZSZb&9S=(8>_R8R^%ecoUK+U5OGOZ1(d5679qB(ixb6x zx&9^`y(t1^vBjW0h6+hlpuDPgLE%CLYg-hr8g?>+sp~ys?CBkr5Zm-PE&2S2K{Fb< zp2#E5l0#)QLh&i#4A4o*+AOipeWua}ebLpactLAi6q8$ydYj!AeGEahczkB1sdYE4 zf3AUsluULWWJxYxZd9`>cQ=CD)Q zZzL<`c;dB#=|t7av%jUyRV3Isoo;*VlUVV5d|>BN%H8}GnGP~gF_o z+o5f5hzQ!%AYoYbr#pD#c; zYx#jf+*fZEX^E-pFBfk)JLEkNai_EIkHO6XIkQxcHo5f50_&f$(qjc0NRv3%M$u-c z@v;#P5k4o26czxkhJXs);`3N4m*YtM2gPC(BCCEmmGwzsm`hc)oov`g|U=6m@ zi}X{oK=e=d4@{^(OvH~$ju2gsVj=8k);ILdBrUDabZ0d0PLx89-&lLC#jyqnf|nm} z;5BX*1i9x(QHveYZtrfRk+|+a{x_oE<(|PS@Qt(PN6aY4Nfeg;ihaMc7n5cTJvG{6 z78cCuIZn(<#c~~Q#o8-u`_d^dnzEMCjkD3zX+=|qad2H&e!U)`nLlhow#PL=VIPxM zmV5$Hp6mG=i+1fp#64OwLs8UjtvtSkR@CcBnjNN@M5Lsq9vg8m88^TOCU!lNZf>Ny z#lU!_BPjD6*-kIN^bft&N3)Qs@x}aIPqD3bA(>sJTmcC*Z@oCw)Wa}_f3}YN5y^CN z4uw-fnqf$SsF~*v;@#Hch}y#Q-bn0dBv+{h4+`+?ASz%A_5LcGO0Q$ld;QkCl{5NRR#Kec4CpTJkH71gLO^l|ekgVjMsa5U9Yub++ymS|mo| zrqM%b09Wwh>vAah+-x2ZpAgU`hzx#*44@DJ!xBDxXkrMPl@iHSj- zuH-x5pPUX!)UrOf@seBbzY8@D2YRC{&aV!Rf^Vv$r5QhM%9yb5_KeJ=!Egyzs~iXB zeWbO)DZSbdrBrPskj|&dW%4ZedraMu=&mqm?o4`V?*P^z`e>w`?VSt;r60j|bm?I$ zS+n7x1<;qx}u z->XfloG@4l1SXkPbJ-ivliNl^?c=Y3W6QZ%#m$Y1+YQxOTancSXkt_4c!=2E@^8 z!Y1B=ED5&FJe{AP+oKN;e^z{|_K-o1zz^)fy-n&wvPo@S6Bn&VKA zY_grQ#+E#t{J4c$`idULp;kW!szth@O_+yI+F1BLMjSlC}N+ zg?vUrc22hc>%uV+axyZq|KHpHjM_N=v*i9?qc#^86J=b14w{=AbWErl{D4lBtw83! zK87|gKLLBU{|;15|Mqskzq{0Kx7(i1&l&FT($C6|ipt8*tde|X1v4b(R%UR?O~EV; z4)yhS;0tt`KQAhL5U#axhP#|IJ+#nq8z_?dmxZYn|S3t6^F#x1%+;?DP)fhqwGj1aeR>9{*nY5xAkJUZ7Vr$uKwpD3P1%KHceUu;1dtRI?0!2F>+3nW(bEU? z#`g$e%i{rPAkL;nZ=K1gL)rr~E9g)Tu0s3zkZFNaS->R%Qix!|*93~#_%8xLkbSu3 z_q$ePC}v`D+yc4ZxA7c6SHGCQ8CYK~Hnxz!USE127${nVelogJGE)Cy&UYU_F~qdD zX7Kig2l@xW_5b7kaUdul+4qx=&pXVzc!m&!#{wk&L3vN z4?xH)(3@K|z3U7iGojxP0Q@}{)dGXzt@mp2H}m#4)YK3L#OsUx0D#=&|J%k4^!;0^ zH?s}~%Y+iB9`Il5Ph29)7@m0zh$CAgh+`9{{G&< z2ZHqAA7fKcU@p$@?%&@4Kg7r1HN`)Mre^Q~>L5$mGK44OF(|7Pk^eo%j{LiHP1^ z`x6Ly$d~EdP=Kug&SM%6yOwz({Z_`UCt0{t3U%8vzgC8Alb4@hk|*bjqO$>yyt(aa zvng=KR?;?e1svB-v}_YXW7oEg+*ytkq#~Pg&$6Ztfg&p|Bay)LC|EJlgTq6iKGZD;?zgQ4Zt`u0dn$qtEWeC%e41M4>r>Y ztY*F8GziQ9Mjuv8upg<58m$1|^p>Hk1Fe zGQxl#4Ho?1{os1}PJabN-5a!J({K;9IJ^<*8gal1c0A-F>26YePy?je6>Svcn1va& z>a;ZBhNYSTyFOy_^MKj*){qE}G~V1^&fHS8zZyvVy3+P_JJ4VezhSEd%|3$>RYQ9C-`1u<-bW~&@!oQ`}n~qDECli`R6Tu zvHkQW9>8A@!9c(q7@iIc&dDTF^n4pP;T}qMGgft74JI!Z(#L8Y7eRh4EpHW|I`>G! zHvi7cQ0oYJ2hvjBHT5jI@DQ1Iz*iK!Kp{9A*z@5Hqzyv`fqgNm!#1nJWi#a-JQ!*} zSSpNX=g1j-hrEj`bbGe9J&TtsZymr~s8y<8Os;@hyI?CWz#1B8Kk;1#v%vkAzQ`@p zen0vg*d1=7_mtH9)Y$BA(1{{)K&|nx(kEXYYq7^eJX>$ez;OMu4d;THco@p$%dE}w zyiH#U-*EV@+=t1Sr$IB0{-Qn6_T%IOHEepEU`#k5BA-jqaM7h_V>WZjMf{V2v}{d@1=e3-ee1xIW|PGN%*UPH0H4<2;x z!x{D0dYc64Z#@F1jFioev%uAW4Dm!ZKxxUyOw`f%DE~w|Dw0>?t*5hh33YqjbS1SP zAw;)m9rnu;n%gADG%s+3v@(y^TO(B~5w?S@A>mh~3>{IM-EKDgQJn)QFrBY!`-V=) zjM0zOsiwSbx}0+Z^2+<}U#Tx~3ro0|D5Us>`Qmd<6{;j>QPNrR%}BPMgKCwSGoTS1yaQcvev35+DbFJ^5pXWyaeb+%OM2$=Bp?q+;OH$954=eRF zDBqUDrsYXAgdFtqQNowBWU3Aw8&~sT>ZQ6#`AQG%bl!RKM)`QFtU0EP#oZQ!@y_A! zTN*EIz?pI6uaC`2i%1-I?Lcs}oKv%wi4e$L5Wb9@+Q zZ^0{`2}{3O9B9)$#t_)4G81lfVJ70u65JQ&zpneD)kz}`^s)IFLm4{M;;)JHbzY5^ zrr-Nd>KwrgaSzpHDp)+U149sE@xuT{%c!%`G>0Ce_p~t;1VyESts$}pkDlS=C*~X1 z{d&aQo8rf*8LtDDxw`h%F{>U1IJ0jJr|ur(`2e_bwWXY)ASW!K@Uro1)VWn31CT!a zxD7(b^EWiAh2!wD&Oi>iVHMtlT^|hOADX{vz9VkF`3WI*L3YZ$JB{iF+`5}poMXe% zSV|kG8l;B@d6TVuYPQQ?D=07UxBgd4%_vm zB#;}y8w-Hw+zne3W<2`Q6&ZQAB@4&Gjb9pB01Hyd=jjHz|{fPG&_eL_uUhs7Jd@PX8dC4fFgNd#|`JEoG7XIv87m~xWq_4?xw~l%Lz;IG9PUQT9+n3RmglS z5{&M}X#d#z`i8)s;!d0b6BO2Wi=fz!*$ukm5|3o6R)V&;nt+K>SJR<@CoLa)-c(Zw zn{nE=pgZH;bpxlgn@f9}+vwg&NJ3sx^4weZW987Es5@`yxD!3ouKCs{G%I9BQ+T7xjaxs2BeIozoP%^Ou zx#gFGi$$nRj3Og{?*7q?FKs`=VSul@G>0 z0wKMJfr4-p`=I@H!E#3hZO7>$Of%+=$kJ~U8xwVKsD=fGE$XAcx&ICjf!|iaHSja4BQjx z4mY`$O~jrT0aE-@fc4!PW#V@ES&y4<=8rPY;J|eL3ys#mh#NAvyd{^N*r>5=U8qSc z*)8z}Nn{onqU~+Vi$Uz4z`pKDCp0F$J+MKkJ7+H62*0$I{tMH333w8YpR>ao8t?dN z*KZZtKjX2|_fMjlWbXX1cLnx-o2#0N_+72}De+Yo|9lGv?wP41(otpzNc*y(3Ze<{ zLSo{xu~0UcM9!~qGVy&w{{?QCkw9tnTSJ*bGGS>MMyh%LfvLEbseeifzu&J7%YxMe zc2S@qWEOUeG-kT8k22lAt#7Ms?l_P{J>`;{v-A1PkBI1~m9ME@YCGHRN=pSSNp6M) z+{va{Omv*H05EDc83=EWdXT^Hy#&}-70qLm!}+E`cx_n>`PvhviUz*QYwNmAK0X_CiFS87b*63B@^dH5mR@bJx^D@8>-r;NXY zp`m&F3^9n|IEji+59vCj|7?A)9H-4QVXQP349J@XMTas@GQMhUP|EjcvL5gPD$d{| zv*s2SxywBj+#lH&ckbSW)xud4p6R!iWIV?UFRoCr;t~nf8jgi_wg}>Z*i4iEt^DD= zzsQV`kBkgB%LNob-*2SRhc#}oZ4t2R-XYbz+Dhpj=2k`YA0+4Un$9s`S7yn0T?F)X zJiEl3AqvNXudK2YJ!cXd3~cD8^8cIu(M|+$U3A23H>+Bc@L6fcg4Ubal}SOyRcZb} zPB}sGg$kF2gYe%jucXl-c70W~xJ-XW7`Z|#9BHSsZqpI50v~(56rc7z$Y&(wJ(i8) zTLvz!waTQ1?xcxoK*cT$)&FlvE(^O#o?9PEUsPH{uhm}#WQv=v;b`_< zydml#5Ok+Vp-g1ToSJc;1aGhbfx%FO`>;*Kh+pOOju24#%!UC9Q!U|qtoyVqWsyGZ zB~c?(qd2vrc@RF2Q>q$j$NrKi(%S8jC?&S{R&to~VSIE=eSZ!?g8~FUA%IXK0s9`i zqhPvS;uyM`B?26u>8DJPQ{}GWGNU`nxFf|`;c<>S+D3`=<=G9@y5#k%UWDu%?9#4Y zEd75jX`@>86@eF-;}hCRY$5# za`VMlYnfKTE#)-4^{aQEJA-4)DFCgl}H0Ju?%%@FT*RyA5$ zb88;nxmL(|n@ZIyH-+>q{f|9eqFREWYsUX;XwVRmYw0CDt0) z9Q5$28q=z_Qoi70)ao{AGG4`l6j@ZlxbzXLMa+UKmmUxZyLgKZ5fh00y5Fp7LcsL` z#)@Epp8ca}qSP!5lI?j+;vX_(Tp*OFp=9z;R#oAnU9$dwr3*PTLq`hxvlg=lZY#og z#Wj7{_IfQ^A*~H1xL&@;S$H7pkTb<-%=&|c+=2?yy4enTCJ-qn2Irl-|I77$IvI?H zSTpuR{gltzTWk2(MH(F2zDzNPcH!=FxZyg5oFIR0 zWq{z$p_eTqSAAuIfLUhxBw}j5RbYR+7GBQ%bHRS<0dTb~BipLY7ZMhHlvpSVu>3kX zkLCx?xu}80%n12S3z&@#OA~M)k-&y^IM74>@*3`ivsJ(>KwTJ2`xokq-j(AK&2i2L|qCh zvwb{9l-2s3M?~ApYj)Fd!AxDJXZmw#c-_K#mbwvaA&TSxr?2O2Yj7I2)*a%wNfaAL zO4l7TOMFoh_9L62&tbMtRB-EZqb4MtB5_|sxuO3;_2p4jHH}p9FU5w|lJ?j{_G;&v z#t5dkVowNd0_wfR`wK@Mm zj$Ar>zvu;Oj-9QiS@R+v%6Gy8nMLHf#c_ocgzs|LE6Y)qZ4v6#quD=F843m{d6Ixr zL_P;(NSn$U6YLP#`L}OkWB!>lZ|8D^6yTb>WWD$P_hMhb5|?7GpyA;;73=VhZE?f< zZ&p2tv9(NdWYdqMgh2=h{;C*L2}IBEOcPTqOVF$ zl^2$6zLh1MGwBR{Gr+bF@QZR43sG`W@VdNg`1U~FTt}yk$qW}(enhSuBJUJ$f3ce~ z$f`ZB`e%Qn1?!FMOs4 zoy324^>iO0<54K+|Eon?R~V|(tk$sU&({F+cBCma$~nF)Y0T8DZxi{CTNP75TC`B1 z^EAIiS;$E%DH=gkY ze*;baiJFj>_5~p6eWK{+MX{bef!Y-KgBN z#Vmri^qCG4PlE2&H^*3^jG%k|H}Cq5K3EgG3T%2V%0ol=9oHgY54E2Dh$h= zxmtL8@v-!Hy*VcIuJlLHNf82SZgTgGG7~62_R|yjT)mRXR+URnUmb|cJ3lk4ME&e; zAc9R;R&Z(mg9n306Ib`NG0wFA1ItgUbp)%T)PHVJdd5%>(hEhR2&ZF@oE|7DT%`hn zH_iM4Iq~ z)8Q675EK==$52+LRtzzhQ(ANMjKxh!+Nml-%*K$3+irui&+5E zF->MP)^f}!GCYCCM-EFw8r@9 zMPnsM2%TZuP;sri@Sw+LMY3=ssg?x2l(+B21vkV(!ZyQ_1VL4!tGmH3T#Q7UpOkfm zk@zIhsN~kKku?fir9X0o6g7>vFgN~3F^wCsJAeHuHk+_vg_jZpPzrR{@|qYr}T)}Y2lUk=A=^#3|>^UDMMv^Z46p(Z~d@Ru<=FW`HQAv$I??||9Iu#7bp#MCeg0zgb zIm*afY7gLL)N5#kwF6($4F|r||F%Aj)OAn&cGON~ceAxNX)-EnBAVBM z{5}<^czN}C-xHjtKt+((`tt-O1~<9pD(Ac$&UKLls=VgaurbJ*FUgV}^jzMXebj^< zHKYZ{l%;)9@HveHb8BakY+HnNMAbO&F^(dBqQ+7jdm&u~L5&nYiOl-}S6*7MCFd1} zOy}4FT-v3Gcw$emNPdi2t#YT{(;>XxkzC+dw74g>PXd;@J~hJrSETz;p3mKYK_m;# zvY@Dk?_sKW8LyT29iiZC2x}{8W(Hgt!|zZ>1l>jFFkF#fMhUhWEql9L&rnNaK{*Gb zRm@KiBxO=p5L2O+S7K*$wh0z&Be?up)7>Jd{wfk_r{BYoP_sAOEc~Jt*b5q_niCT{ zEcZJ8#iL;^g@=Ec3(|Vb3ZIdZdD+i#-uT`u*qjx@0#Kt@ohm05i^zH*l#FU8%F2oW z_?h#|Xeug6IhBSOzyemArPfuu5EkOM+mmZtOVp<^1t$*~y*V#5lY+Bb6Ih?eF)$!~ z@6dNWCsJ$FVD)CWH8x$}JwVo2nHDCCs+if~GrzG(J53s$w{YXHabYheGpYNdOa^7*B|A~*-S26gQrZU2sIMEU`b&<*$fcdq-oagI_hPwRnCI6 zkZs$6b;uou^~Uf=GSe&;AYas23A;=54{Y3~Qf@gZm5z;VxbuTybpQ;@sY`S5?X@CT zKN4&>kQ5wHP55D*)WVv@aakdSk9SF>w5l}I?{Q=Z4@|t#>I@ZtcAr&~Z4K`IDSv9^ z?;lRj1=2uY7TvDUobYRVf<8}FH{t#a+M$4IALVsaWDoQ<7 zFq21vvYUqwHG&-@9i>B|s^!elPb?*Z<{Cns6BXu<;T-jzh;Opqki6-q*p2hef-Th` z>gY}XYMxT_>0}S9cBgU~8#_`4na5Q|9OAgrY2fXgRM0J^A|fGamG%6dl&@Q#6CkZ1 zSa0q8Sa(OQ)mzmtH1KHO+2$vUkS`fe%iHt$>uc^!X^gk+kfyh4t>Q^hF=yk-VY^cx zJM3mXQOhBR>o0wL8wTfXISd!Z>xmQGGAmsNuK@+QmhKJ#-5!Vs_2)@mQC?=tMI=Fo z^A%}%4?jY7nZOdaB*-sWY2Yq8`3lDpzXYHi-3+FmX(Qmrs6-4ubIM$M)^o4fVB;!m zRd`$$q^`=XKM4nf8idh2x*#gHX4vmV3n8jpvx`m1Hu<@pujZMA(M_F@$leOvxRCFP|5~7MeSYer%eS-Zv={ott z=zhRXH@d6S@j0&NSig+JJ-6&*UcmQx#~P&pbXHJ@hJah?Oqx9g zI3%`AZMtvkCW@B#G=oyXRqZefHbj3sej}L_CXCtNKt$7-@v(V2iOboPNaee9kXQAq zj?RQ0Y)FK7cnrd& z9*zQNm%Z^8);#AhGBRe{++e@g=~{EdOuw}~bvKcT+n5X32o2nL=){vGaE~VxV9lQd zC=5b}bp#fi`b%^D{)5rTvziyUU{7)q%u4S1`|KT~ckLV~k+3*mv}}>WW`V>cGtw<+(g>t9ctaiu>6*k1@4BE29ptSAbGjC2@wek#>35M`+2CMG}sk zUrk4ZK*>u|ZLkgDUV9ellX=vXKjnv8Zw6FP)6dM9lG_C^7atzW=vR6-`-jMSaBKDk ztAPgx*x7_7?idSaeodktn~=P58{E2S(z7XTCwhDiW3ZtZ&!qvoX3)DF!%Y*96}Dp> zVJYa>FC`z0LlF6MkRWd#`k7X(Q-<$R9R*==iZa*mM=eoQcSNk2#M!$t@JMd=s7%vk zubNn^>d}(J0GUpc-b{yA?nB;Ps{%ZE7es~?IG1rv$BW2AsowIEx}Kzr`|V3qh=!Ld zTy-7Sj<?BYM}_T3NtB*z%vdbtkcB&nFVadSqv^E25#RVoR}p z4^l#J#!Q9w`TKxXY__Tfv9Q7&Vs8hZM#8xRWSCQar!F~H{9+(6I@9u8s%v-gM=V2s z;kEcArPru`gh{1*UnyLPRJyq|NvqcW3dQjhbEsk6iQ zg4bSbO=p)!+f!j?ITn3ueiS~fp_ZZdDBZU;Xd${}i$q5s=ll0rzmUf; zNdSQcWHSxF@nz9zx0W*1Mgk&ARVRP@`6vWm6$)jJE7b+kZ;B{`mc(7cye;aVK^;%F zPaT&xfq|kphZYxHd=v`inJaxNE22+Lu8eVE{q(M2k@omQk)XzZ=|3Yn{VH4zn2O;( zPK@gk_%&z|0jSZrz1ZIOR}C+k^ra-QqVNnc=+&EKzvrp)?x(@nuD!#veO%#d zAW-V_9fhWNx1N-@@|h%9SyH$qAEB;wA8}@&2^e=oLndviyx_`+9wjLWcc*_Tw?&)C};850%M*M(_KT-}n|Xh>d|O zaz(1)80*{V4idM;^^eWm_1~Mz@OkG)Jpgh!UaM121r!6KmBl5LHs#b}p^u}Hu2~%# z1yo`(CmVHStcCfms?GF`W;LTI_5=|#SQfqo$7e2wIlB5_7lK&H7mH{Qx+x`frGG0j ze0)dbv4qiJKC3&&XxDnYXANRGmQOG>cZfX8@DilGcXTmf@MVlsZX3^v=i$-L?WE1J zwRRRTb-HpQ>b zH)<{DGK}`M`yAw$?yq@@?!gca(=ua+oM#t_L&R8==Bm{`PO8`fhmv=&fpTzGO1u0K zRI8nfg|0tjoSw@}EeRE1ZgzX-aauC7-;_*);#%>nn0C?+j@<&OWRysOgA#g4Tawte z`Fyg-d#4M&t0oyjbe*`R*j^Sms+;~V)&jq`Ls?t5$p-U;OZl*^mi6$WPZ2+&L+{Ai zwH}CsP5R1@Zqezg(VOt8o>11b2i!1eup6JAt_WtYRqR377o;I1Jgx<)hn zdSYYzJ?K^g?7mlzXDIj*kaSD%J#4S{RIYl z+LHcXurl`lt-^ts@qbh}urRRve~s(^lPhE4U}gA!=E_uD)Dy2aRl&{?EyBfwLYCMt z|8Bz~#v#Y8t?3W3jX;Qp`B5S-L>DFb1tC*y6GsD=h2@E-5}JISXg&1o-s63mow{Vd zdgQ8YjgmO7JS7x`z`*-23>$sU@U{CMuoj{ryYOgo-YbgifMY9OyDX;Ng*9CrrQvg=ybU7!Cw-9MQiZ@te@l z79j?V*asf`gM!120*wjigO{cYzxrIg%>}59)#%u(&sO%Hlh5c<3T&tj3N5b5f9-yM zh8C8GKSF|#p#e!y3gi2YQvyXGQX+oYF)Eo&>6!NR%3&%PFfS0k~)S@f;YiD``MMz*~ zq!TE?^hh`Iyt>~CRrCk7r`XUh zZfRG4F(igIl3<~+V)y^voI#8caKz&4olWGvK0LoVbPW&TUUaUoI z7S#bu`!C>01`HkGlF4wCM6zMkpbWp4Z0hk@IYtuB`HA83Ce zBJ$VFE$P6)u^=LFrm@$j5m>BPM)aC6p+2q45vs}W&*^T=ocTisOub5Oq;N;Q$2c0B zhQdPa%;?KY=$*&z`?5v-9O7f~xU@s>^XjfkaPkR*X8kNA^K~>QUMWmVX{E$=tMaP{ zY_0;+aV*iDzYe(nsy!uOtaUIRAqf@w0lxGH?147(X40(t(94a=doO`kJ&% zuCSL?^B-zeg)BaD+@wKWQl0oyA3=#=`hi0e5vwqg_j3ysf}Omz9sK*zJn918)GXwr zVbhU(_6Z0e;_x`haffJLsdN%NG?5ATgf446z~LKg85|tEYMjn@ju*;hunA=_a$Atz z-sVbAjC@1A_{JR)Yld945Y`)_uCcn4WN@y~Fc#NN(cPOs8 z9H|yk7CV*y;jn6cIHG7VRQ=lxA*g=(W%*XDlqsh+csqVj&d+UrKCzv|25LOgZY(Or znsav6Qlq;V!K>Udk%ptce)v1}b-mpOHLrYoE!%~Ve3bHhudjGtwwCsaQtmf7BuaMe zB~P7!F5)TocU!~i#@>twiF1tkSBW{jfIqeyJ?~=4KxRir=_b6>*Ta)$G9f%a&mqP! zeFxfMWGNsp`kt?w^eykM{l7ul3bnNo@6Z!L(&0}yvtaCQts0yWP9H;iC)UTuFkIlY zRjsa;uP@gN+rF`Q((e7|RCGCN`~WwrR1b6nYsX>={xe7+6$LMwgTI^OB!Bj@=2x?1ww{0daI5Diu4f1vgY-6 z&AJWgdkBSCjv`v;nbRniwKbhSr8EEX)Ik6?{Nlvsxp*}i+3%LPrRbtC)X&=Ir@pM6 zTe~!ddH!as3$y4~fV&WAcP$40^Mp`SPPX=dKI^s{e+AQNBrmXjg_y6on-pTfHmtm@M*3DH#0*;0$FtY^o)=C!VujdXm^Gy!0P1{tx zvSZ2%s1e2^TXKue1C^ljQH1XVcB>ZxY&EA0s$8fThBAhVV94z2y|$;G$nUmgjGnE| zum(vhy;tP?TowLG`5#`2IjV=pO&XX zA|)+Xh{CX0Y7P{gl9$ow6SGc}pbN+RkPhdEQBhiu(GMa$@aXKT>KRz!!XOzttB|r) z2}m0ldF%U34c^6GUbOWNx_3&g)_z@9M!Bzdk<#7$u(ytodx`6gm5h$2Thp8?Ncr8c z8B1e@Yqyra0U9FcLs|gdoS&KiU=8KR%K!*B0)W#Tt z3<{mVh@|5oMGVs{zWi}N&ibBNWdx>s|iv27~Q8w!odZD6wK)2fv~X26VB z9%i>{v4;04%3l81_t&oUKCyr2TQ9e?r{f;RAnzqpQoyDI-IpTdBrh}*(o6|7=r^s; zEDVb$L@a5QIMLzAohvGkMbLBT)<=@VCV2K-xWno34md~N6Fsk-T2Be>@T^C*>|BD- znG00Vn@fqxCqnW7Zv0GNyxJ0JbCU=}ynux2ELMXWVu}6rrx}n8!_sX3J{%E`KbC0k zvo@7z98s@YbI76pdc1H*4p%s-(sE;OG^;TQym_ZwJvZ2PZ*9}_?gi!AxeumRIk-#$ zA|C$Y#bJ{@W+rQ^RYt1X`VMa!L6&kXx~u?2-usLsnl(LZjZkPM2CHvWqCnWXdT{Vn z_;0eRG~VMh**Uiub9L}Sg{iz_KHk`$IIj1PP4eI?TUThH9WI{j$>)Y$@R8AqX@U-s zJU-4e6$-*s9n*Ru)j4gFDu(Et9?4XwR;LP_9BCv;%kesWQAN1I>j|9qzXWVNB^SUh zG~|li$<{^4_AkCOkllXJ`d6TIIGoOzwyOIN<;={b`DBAH{^bkOo_V(?)0jN+DvUWN z3q#Xd{MQ_?lHzkv7OVzA5T&rxc_od`c*t@q(zJ16G6?H5m+~zf+BkwmsnF5EOf4`N&nHv7o z(pjvf7>SA^M=YQoWTmXEfE>3Z>2oDC9xaE)W6D__xBQ37m$-HA{QP0s4ASLA`lDp$ zF5l9=WcCgZEw-`Q$@__luGn)+av=srL(_SMSwqoL4Cz!fCmuG74 ztK#XLU{dRxH(ZrlM9#f{>xL)ncF+2nzIPLS8=w7rGZ+fv(u(vcORe``m8C%{A$g#$ zr-YHE->&f%lSM#DS~H0(y~x`45bphh`A@ z$COGAnZs^mjW%z7ExvZ8#HiF&EqXWH!Ngh=k7*6vJ}}X-m6!O=HafNW1C}R|f`)J* z7kCf)$omZvmzva11Gb*_fZW{@MSg2$0&4vhd;PLrm!16;^J-TZByGD*?a2(91eRP9 z8K*nR8ODU0!{pM>d(iCI&KO=wIrfy(6Oqw}KxMDft6Wi2{iC37} zo+usEbjdsqx~H_mWarb3LlaJx#ix{)bz7=I9;EXlXsZMYZbtBbzdX}upg+rp>v+~6 z;lECMwqUov{nf+}sroeX`Xb>ZA2XRok2 zjBWm&`3v4eiS;&&7|HYy>CS$Q=`V(whPijg1>7tK zwyomUF`L@rb9_Bdq`=CP#-{a;+5c(m%%h?1+dpotjQz%hEJL!7SR?3gJf4ZEcV!J2CW|?&o)(^PF=(=RD6j-#@zkEy z{<^wP+K4jwp9xg@$;|4d2Ag?GkQV0TXKu&a7EIs$P9+VCC`sgxovr}}HP_7y0$D^x zs)iAL4S}Jlg*Q4w{0tKg8Wn){hv%w7h3-NVGQ#{hWVr$i{fC@ezl~1nU(TIN7L44N z>3SELNE;u;?8?Ws5259H4>EXH4`ff5Mu3|vA#&}sQpCDIn%wh~36Hie%{P_W%ydCM zpaS_9;W2X#a?R=#k=h{^n(qhID<^_EdUIc->_oaNk7wpRLB~dPF`|qMNLz8ILb?HU#8s( z!^`%_5Ur6a{HqoU#08Q$YVoa-Yctl8>|u9C1-$8=Zu%umY?T_p>SnO&n^hTLjWS3X z@J`9?dA`vH-PjlG>9Q5g$X$C}R*!KmDv_B%wzm9Hm+dR2$c_!Deih<$;i4j%Qg7;V z^WcJ?z45z%hUsg`Ta*4~DKTJIt*5M$?mpzF=y}~D)+r>irBZBP2$!dF#zL-iC6};I zk~j}HT6`AV>sU633}@!P#Z6nA9%FfEaKr*w)Y)k%Ig;pzE!UU*sA0KW5MIh# z6A!6iyH2hDJmO}CKY*#l7luQAFL4|&>z;l-u1UCbeYHIxjiwv-M#gaEBgdIj1d>m- zCBMXAz0@SF4f<`W@q@T>YSPmiA>0_{Qv}}EXO%IH;Zj&S#bwAo+p@KV`X+)&^V!NR z2Yq$p;B16QQw~XlDrlE#JaH<@`e-D8*=H-f?MvrC#53M<`h)3S?%5w!=`B`Gt4pJ{ zmOl(vJO_6-ocPY1*AoA;Cb>z~ z`~2V<$fPL7X|E0tU-{`u!I`tAZR;7q4n&{XJX;%|ZB+K{DM?F31bdY>@8O=e-uw8- z-ItfXXw}pPNdwM|NPl4smBJpg$f7ECuLHo`AyC|wMysa#ZU!wD{VIN;BsWmR`x~ENQiZ~ zzcnPb?y}R%>CfDqJIn!Z7Q51&M4b+59F%cyA|q_fZ~SEaj0lqYXQE9N`frIgt3Z-R zusc2wB=7G*z~UXjFckz;1*WC|fLsj3q?4@bs>q%>^5X^Y_PlfFK4qVh|nxvBK&*su%0~uA-^{z+ip_=CAqE|335)8}5$>K`gIcvnBfiAQm7v8~`!!4h$lL zU`XWOEv+CJ8u35(v939~1Wh&lMwzJj-Tk}AWxko;%}P|81WGM(P>qzlsR+9EXliA` zL%}qYyyJs>cKJJLw49RBtk+}&pAnyA%TlgOG@{Zio4q%VVB;h!X!{1*-f)rinAO%S zav;v#z(iJatI19JaoyQFN~hU6S-q?9zqwOYn{g&1$@vPU!~JjZNCl{w;!JOk*qd+^t9bS0bjOve&#(3SN-_b;&p3#{*-yqbVRsEiL zONTVXLb&ZVuXxKh^N-&vpe=)d9m{YH|A5(j*UgZvUSU_Wo+LtGXZ3i``ss~@hD6Vr zlxpv1N>66z+GyVuC$t-ke%>}-V8bRjvIU0`UK9GZ(m1o5qhtIWea5dShC8;HmWn7r+nQ0>2XwvRg~iR2|}&x zShjTgg2dOX$HU*U?3%~Zef;lT#@kNoR^KdWS}y|!^|_!xIwG0GkbG%VH}Qf*Q;JZa zn3O{-#%L><`I2g#%{ZGm}ia0S0bNpOmFM;Z$`k!`CgL1B8sDtsM2I8=f{j{oulV6 zEBs=z!_vDzLxjMN9__KrzwYsi2vSa2!kG#HG2Fu%7V)2(|7H6SG>qM(`3FrwaPdA6F zY*fYK%g4_et+3AiP>$G{?~CR?`dp6%RT?J!|sC+t5Fq1jDQ{1;jLi?mZ!MX+$6Ju!yJVPn-Ay zG>A&-@#t8oUfTSWTHdGNcM-_>2CfSle9WV{A@~bbJf08Ki`coBT&Qhvfrj*`Bl#*e z*_TRZ)UlLq(!*f!mY*J+7A3-R-LsW@PPZ(6MjkBCEQbbrPtJgOmZ2}HGv6OZ3-ZW> z$m-Pc#ZB$AH@u+N-B`}to4O&SR1=rVn7UVJ+e>HHqLKD_>0qseC3;LIH5Wna?RyI} z?DRg&pIJ|w+3a(70&8IFr|Mc4+%fq@6U~eh{Jo`ghbvo=n1vurf&S}RPOki!P2RU? z^VsKdjUNf(?_T!)8qR;C31cMi&soR6iRqVc);Yv2%y~CSH%1dEPqMZOwmL! z=rfaTOKkb44us~-@(D}rh(~j0JzQC)Cg_K8D!9o08Q=BRx%1r9oGWVIHth_`=k3@7 z{s`_@qH4ZdkBV~j4>^G_Hxk28S1Ttz>l^ay4fo_(^BD z)mjc4nps8k{)|j@=xuU=sW}#UKA84PEB~UH14!g}iX6*Yoyv*O`ntA#^99oB)baOh z;R(h4yISj(^u69|P}iaaR~|^pH1$TvFvXr*;?mr9vj#-iWBx(5<&+O2DH2Pdete~dMHe}OnhlUUdZv>zaq)^liPrS$Tvj+m}xn7t~i z1y`rnN%Ky3-*<%()`X2L;=Y(zD|3%cQ{&7*omX z9(Dx%y*J&cj9AV?-tN;DlvA)`=&C9myaktouOw!NlL4=wCTv+DN|k;#@b< zyHA+FSD+>Zq&$Z4dq}RSjjdp+?{{>`#yM>KkPoaa{EEwU(XvN>Zlr!00VA)fsw+-C z!tiQNiob}7>8JC@6qw~Soke#rO6#x1K2dX~LqfrnE0bq%KS^sxXFjH|M@+CFq1uX# zP1?YhOD3h;Yb#0S5m(QCsO|qYDRT?u-Kukr&W*ZoKP7~?*@7D8@aRnc#B}ac0W|S7 zp>Z4S!yzy`9XjgF7HRTiyPJP3<$a2&N5c<~bVDAD>k;!EBSrWB07m~L0Y@7=0RS=f z^T3CJoS`69xC;Pc>m7k-ya6B%AZHi|4uUb(Y)B+B2##iemCY}A0txgNW&JW3GYF~j?LlD$A^)W3?IAkZ&3 zA(9!y1Ti2ouuKo{PV&J2Vw)f`1KxZAVUt3AEkb&3!f|sVl~ZlsGJ##c!Pv_#GADwt z_u)-h+>an(gOLO#O^M4ONsf4yqUcMEemI1t+~K8-Zui}K7bBTknY23B)ljjY)9JD%W53O|BPV}85c+n3uHu16@`YY0nVM%w=@9!A8$h*hyVZp literal 0 HcmV?d00001 diff --git a/ISN/P5js/javascript_deplacement.tex b/ISN/P5js/javascript_deplacement.tex new file mode 100644 index 0000000..51614be --- /dev/null +++ b/ISN/P5js/javascript_deplacement.tex @@ -0,0 +1,132 @@ +\documentclass[a4paper,12pt]{article} +\usepackage{myXsim} + +\usepackage{listings} + +\date{Décembre 2017} +\title{P5js et déplacements} +\tribe{ISN} + +\definecolor{mygreen}{rgb}{0,0.6,0} +\definecolor{mygray}{rgb}{0.5,0.5,0.5} +\definecolor{mymauve}{rgb}{0.58,0,0.82} + +\lstdefinelanguage{JavaScript}{ + keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break}, + keywordstyle=\color{blue}\bfseries, + ndkeywords={class, export, boolean, throw, implements, import, this}, + ndkeywordstyle=\color{darkgray}\bfseries, + identifierstyle=\color{black}, + sensitive=false, + comment=[l]{//}, + morecomment=[s]{/*}{*/}, + commentstyle=\color{purple}\ttfamily, + stringstyle=\color{red}\ttfamily, + morestring=[b]', + morestring=[b]" +} +\lstset{ % + backgroundcolor=\color{white}, % choose the background color + basicstyle=\footnotesize, % size of fonts used for the code + breaklines=true, % automatic line breaking only at whitespace + captionpos=b, % sets the caption-position to bottom + commentstyle=\color{mygreen}, % comment style + escapeinside={\%*}{*)}, % if you want to add LaTeX within your code + keywordstyle=\color{blue}, % keyword style + stringstyle=\color{mymauve}, % string literal style +} + +\begin{document} + +\maketitle + +\bigskip + +Le but de ce TD est découvrir un nouveau langage: Javascript et d'explorer diverses façons de faire déplacer des objets. + +\bigskip + +Documentations en français sur Javascript: \url{https://developer.mozilla.org/fr/docs/Web/JavaScript} + +De manière générale, quand vous faites une recherche sur javascript ajouter le mot clé ES6 (ou supérieur). Ce sont les spécifications pour écrire correctement du javascript. + +\section{p5.js} + +Site internet de P5.js: \url{https://p5js.org/} + +Liens vers la références des fonctions de cette librairie: \url{https://p5js.org/reference/} + +\bigskip + +Pour faire fonctionner p5.js il faut avoir les 3 fichiers suivant dans la même répertoire. +\begin{itemize} + \item Le fichier html à ouvrir avec votre navigateur (on l'appelle classiquement index.html) + + \begin{lstlisting}[language=html, frame=single] + + + + + + + + + \end{lstlisting} + + \item La library p5js que vous pouvez télécharger \url{https://github.com/processing/p5.js/releases/download/0.5.16/p5.js} + + \item Votre programme (souvent appellé sketch.js - il doit avoir le même nom que dans le fichier html). Ce fichier doit au minimum contenir les lignes suivantes: + + \begin{lstlisting}[language=Javascript, frame=single] +function setup() { + // Entre les deux accolades ({), on initialise notre animation + createCanvas(480, 600) +} + +function draw() { + // Entre les deux accolades ({), on explique ce que javascript doit repeter indefiniement. + // Par exemple colorier le fond de notre image en noir + background(0,0,0) + +} + \end{lstlisting} +\end{itemize} + +\section{Mouvement d'une balle} + +\subsection{Créer une balle et la faire déplacer en ligne droite} + +À vous de trouver comment tracer une ellipse puis de la faire déplacer en ligne droite. + +\subsection{Pleins de mouvements possibles} + +À vous de choisir les mouvements qui vous intéresse le plus et à vous de les coder! + +\begin{itemize} + \item \textbf{* Petits mouvements aléatoires}: la balle doit faire de petits mouvement comme si elle vibrait de façon aléatoire.\\ + P5.js met à disposition une fonction \texttt{random} pour faire de l'aléatoire. + \item \textbf{** Rebond sur les bords}: la balle doit rebondir quand elle atteint un bord.\\ + Voici la syntaxe pour écrire une condition en javascript. + \begin{lstlisting}[language=Javascript, frame=single] +if (condition){ + // que doit-on faire quand la condition est vraie +} else { + // que doit-on faire quand la condition est fausse +} + \end{lstlisting} + \item \textbf{** Passer d'un bord à un autre}: la balle quand elle atteint un bord, elle doit réapparaitre sur le côté opposé. \\ + L'opérateur javascript modulo ou reste par la division euclidienne (\%) est pratique pour ce genre de situation. + \item \textbf{*** Trajectoire en cloche}: La balle est lancée dans une direction avec une vitesse initial et est soumis à la gravitation pour retomber (pensez à vos cours de physique!). + \item \textbf{* Mouvement fluide de haut en bas}: La balle a un mouvement périodique de bas en haut (pensez aux fonctions périodiques que vous connaissez). + \item \textbf{** Mouvement en cercle}: La balle décrit un cercle autour d'un point (pensez au cercle trigonométrique). +\end{itemize} + + + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "master" +%%% End: +