From 1046441e1ff50042fedf3563cf5cf398526fb1fe Mon Sep 17 00:00:00 2001 From: mfnefd Date: Thu, 19 Dec 2024 05:09:34 +0400 Subject: [PATCH] =?UTF-8?q?add:=204=20=D0=BB=D0=B0=D0=B1=D0=BE=D1=80=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- balakhonov_danila_lab_4/.gitignore | 1 + balakhonov_danila_lab_4/README.md | 86 ++++++++++++++++++ balakhonov_danila_lab_4/docker-compose.yaml | 10 ++ balakhonov_danila_lab_4/imgs/tutor1.png | Bin 0 -> 46669 bytes balakhonov_danila_lab_4/imgs/tutor2.png | Bin 0 -> 53248 bytes balakhonov_danila_lab_4/imgs/tutor3.png | Bin 0 -> 37804 bytes balakhonov_danila_lab_4/program/consumer_1.py | 28 ++++++ balakhonov_danila_lab_4/program/consumer_2.py | 13 +++ balakhonov_danila_lab_4/program/publisher.py | 30 ++++++ balakhonov_danila_lab_4/tutor1/receive.py | 25 +++++ balakhonov_danila_lab_4/tutor1/send.py | 13 +++ balakhonov_danila_lab_4/tutor2/new_task.py | 16 ++++ balakhonov_danila_lab_4/tutor2/worker.py | 22 +++++ balakhonov_danila_lab_4/tutor3/emit_log.py | 13 +++ .../tutor3/receive_logs.py | 22 +++++ 15 files changed, 279 insertions(+) create mode 100644 balakhonov_danila_lab_4/.gitignore create mode 100644 balakhonov_danila_lab_4/README.md create mode 100644 balakhonov_danila_lab_4/docker-compose.yaml create mode 100644 balakhonov_danila_lab_4/imgs/tutor1.png create mode 100644 balakhonov_danila_lab_4/imgs/tutor2.png create mode 100644 balakhonov_danila_lab_4/imgs/tutor3.png create mode 100644 balakhonov_danila_lab_4/program/consumer_1.py create mode 100644 balakhonov_danila_lab_4/program/consumer_2.py create mode 100644 balakhonov_danila_lab_4/program/publisher.py create mode 100644 balakhonov_danila_lab_4/tutor1/receive.py create mode 100644 balakhonov_danila_lab_4/tutor1/send.py create mode 100644 balakhonov_danila_lab_4/tutor2/new_task.py create mode 100644 balakhonov_danila_lab_4/tutor2/worker.py create mode 100644 balakhonov_danila_lab_4/tutor3/emit_log.py create mode 100644 balakhonov_danila_lab_4/tutor3/receive_logs.py diff --git a/balakhonov_danila_lab_4/.gitignore b/balakhonov_danila_lab_4/.gitignore new file mode 100644 index 0000000..ed8ebf5 --- /dev/null +++ b/balakhonov_danila_lab_4/.gitignore @@ -0,0 +1 @@ +__pycache__ \ No newline at end of file diff --git a/balakhonov_danila_lab_4/README.md b/balakhonov_danila_lab_4/README.md new file mode 100644 index 0000000..030cdfd --- /dev/null +++ b/balakhonov_danila_lab_4/README.md @@ -0,0 +1,86 @@ +# Лабораторная работа номер 4 + +> Здравствуйте меня зовут Балахонов Данила группа ПИбд-42 +> +> *— Балахонов Данила ПИбд-42* + +Видео лабораторной работы номер 4 доступно по этой [ссылке](https://drive.google.com/file/d/1OZJ67OmOnQCAAb2VVg4OV7qMlZ1Y_HsH/view?usp=sharing). + +## Как запустить лабораторную работу номер 4? +### Необходимые компоненты для запуска лабораторной работы номер 4 +> Здесь рассказана установка необходимых компонентов для запуска лабораторной работы номер 3 под дистрибутив GNU/Linux **Ubuntu**. + +Для запуска лабораторной работы номер 4 необходимы такие компоненты: + - Git + - Docker + - Docker compose + +Чтобы установить **Git**, необходимо ввести данные команды в командную строку: +``` bash +sudo apt-get update +sudo apt-get install git +``` + +Чтобы установить **Docker** и **Docker compose**, стоит ввести такие команды: +``` bash +# Настройка репозитория Docker +sudo apt-get update +sudo apt-get install ca-certificates curl +sudo install -m 0755 -d /etc/apt/keyrings +sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc +sudo chmod a+r /etc/apt/keyrings/docker.asc + +echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ + $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +sudo apt-get update + +# Установка Docker и его компонентов +sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin +``` + +Помимо Docker необходимо установить `python3`. +``` bash +sudo apt install python3 +``` +### Запуск лабораторной работы номер 4 +Для запуска лабораторной работы номер 4 необходимо **склонировать** репозиторий в любую папку и **перейти на ветку** balakhonov_danila_lab_4. +Далее в папке с `docker-compose.yaml` нужно вызвать такую команду: +``` bash +sudo docker compose up -d +``` +Таким образом контейнер с редисом будет запущен в фоне. + +Чтобы запустить программу, нужно вызывать три разных файла: +- Файл *издателя* +``` bash +python3 program/publisher.py +``` +- Файл *первого потребителя* с задержкой +``` bash +python3 program/consumer_1.py +``` +- Файл *второго потребителя* +``` bash +python3 program/consumer_2.py +``` +## Какие технологии были использованы? +Для выполнения лабораторной работы номер 4 были использованы такие технологии, как: + - Docker compose + - Git + - Python 3 + - Pika + - RabbitMQ +## Что делает лабораторная работа номер 4? +Суть лабораторной работы номер 4 заключается в получении навыков работы с брокером сообщений. +## Вывод лабораторной работы номер 4 +Были пройдены туториалы по ознакомлению с RabbitMQ: +### 1 туториал +![1 туториал](imgs/tutor1.png) +### 2 туториал +![2 туториал](imgs/tutor2.png) +### 3 туториал +![3 туториал](imgs/tutor3.png) + +Также была разработана программа, которая состоит из издателя и двух потребителей. Разница между двумя потребителями заключается в скорости их обработки. Первый потребитель имеет некоторую задержку, поэтому он обрабатывает полученные данные гораздо дольше, чем второй потребитель. Из-за задержки происходит накапливание сообщений в очереди первого потребителя. Так как второй потребитель не имеет задержек, то и его очередь не будет настолько заметно возрастать. Если запустить несколько первых потребителей, то очередь также накапливается, но она меньше, так как уже два потребителя принимают сообщения. \ No newline at end of file diff --git a/balakhonov_danila_lab_4/docker-compose.yaml b/balakhonov_danila_lab_4/docker-compose.yaml new file mode 100644 index 0000000..3a51b54 --- /dev/null +++ b/balakhonov_danila_lab_4/docker-compose.yaml @@ -0,0 +1,10 @@ +services: + rabbitmq: + image: rabbitmq:3-management-alpine + container_name: 'rabbitmq' + ports: + - "5672:5672" + - "15672:15672" + volumes: + - ~/.docker-conf/rabbitmq/data/:/var/lib/rabbitmq/ + - ~/.docker-conf/rabbitmq/log/:/var/log/rabbitmq \ No newline at end of file diff --git a/balakhonov_danila_lab_4/imgs/tutor1.png b/balakhonov_danila_lab_4/imgs/tutor1.png new file mode 100644 index 0000000000000000000000000000000000000000..5593f79aa18e5c9caada63e19a8111ed093d01d3 GIT binary patch literal 46669 zcmb@uby!?ax93YBXdpYVhYSmhw`mP-$CnJi4@EHLD0s=`~Oh^F&;{84Z#Jdlfk|?3 z^Uh8|Q~;uE3=jMpi1)_)()Hg1?AK{!Uzh>iZ}KGDCvX1}JtS zSrz8<*VnI4goO2NFX?V#Mz2-vi>Rby3W_Thb&oa|0>nYE^P|V@BVTo1zI$?4iQxQB z?%y5Ua#rSPEOek^b?Mo1R99w)9G ztW^87FM3krx*E5xOHT2WO)kdJ9m3YE&3W9a;OQ-#yml{6e%(rZ zh#s@@F!&Cscy~{B!O&8Cm|uWyCZfa%h1$TC`~1GqZ%aF5Q%-cG;{ zQ9n!~zq~UaItl3~_(?JDlh!r=vG{PKL4l>3oHT>Lh{2%DoyXNhCT#j-*n`V6@B;hU zVN;vbdnlB~Y_THo_h(h%RqYweqK-u`2DjGV>4O@~M9}=(M90%rC)B@dk41`y``#;y zStsD?$xoC)BKBYhDlwo$@PFgcA=1L6p~#0p?AeyGCt|BTe0^+pN0}~tee`^~eQkPa z|Nct&di#2z{rc%K1z)#+agk;R@?L~u^B^L85dwSd$lS8s9ix>@R`kibn*MR9e?B3{ zF}iNMZ&DxRZ-(t~F{vjbNWtSI=CTsFeflEDrGz~$B<9QGhnO_mT1?fd5sTt@<4wo- zaqU#K&cELN@-8QK$!BcKnL$Byl9)M%Adko3L`$6}{Jsj;`F9_WwFD28HTKJE-$$9cB*6j&GVeFi@3wz}JM=rZZtgF#C{p5lb8s`JwqXBAbEQz1_|V*hdP)F3@0& zq~=Sbt}bHzCz?z81B+@i3hS(mpw3e+#=E^uX>nMzsbS~D7FKtF!4Hh9Xl|{=<|;Ja zXo3ysW6kK0KZmy6GzcK2UtZWymEg4^4_^$6*dysRzr}#koY?!V#B|>CRr{6tQ^9Nc z>n7i7xl(TwqJuBKv9TK7W-R22eu>!Zs1YT`Vz-B=JDj{K!L;cC#&{Mc?fQXv(eE!+v5$#?c!TGPCdQ3^N}TBKDggu3lA`v%oIyf^(M_ zy|t*%`i<034M`WZUIaTNsQ!UuOPG4J`(tzag6HV2K^Ah=T69Um*02DT^aK40`rsc; zT6Fu{l4c7dQCrR2vl&5WECWW@>>wXdm$`iIXep|Jt=rwYc;TDX1(YmTS3WW6nlpu> zzt2iAD$3h9dl_D6#AB%cHP5Y-Ts~}ngUl&e4rD|LK#PWq@bOBVM}yHr>{*P$QvrLa z4-%XxMP`>LX_4$qDCQs~sj`>;e%f6o0hX$Y(5QI!Jj*XH5Q2T!Z`<715+t{N_6`KjpB?|Z&(ee zL3&WbVb5hYeXt$50r~JVB17J%#SxS^=8^kl5LW}%9OQiByYtR)Ya*{? zwz9vzregdE!V~405Udqo@JDbYaB@_1O7+pYtZ3cj52UlDvVQI6!c1s#!qK(l!i|v< zja;Yl%O_|7M)n?A3L2SeIMEKxFC%nPQ1+)-So=(UB+E&_jSEtbnNTD$!$Rdk*S_ph zZ?2Mq^p{e3mD6FZp@!LjU_c28)g_W4O*AyHf1Bhs4THKwbcSY7=ZH1b$l@~`8=od- zN13be&rwLMDH-|N>MGaJTDLA|*JX_)53xMRNxUnGC%iwA0vMKG{hA zo=)v1WK0gKNcqx?v(Y(PsXCa=96%fsk5hs8!6&bGt>}55-NA5EF`Il26{C+fB~@wc z@kn*%3#K$Srafb4!kt5JKx}&ucLYI$(51cg$E#=Scrn^mao*~$v9JV*;zwt@ zx`ci_fz<#ySB8o$uWs#5J>noMLk;F)uEwwv+TO}s6efcy_bBeCCsE$1$By~?N;C5T7n+C#e|$S&IJ_FIdiPW*Pin&e%?hTe6E99HGTJy z@Vy$RQDdkt!aJ+9vW;|Mv`Em0wl#VA1W!DnRyV$u16!T5m;@mRCMUm9rDT@n_HATg z(I$q&hR8|*6N)+$T#@3hQdd*V1WfpthPq(eBVz}GHLk$tGAbG1=^dB&9654 z>TETi+iF{|Ew(ld^{eY55vEl{YNejtn|tGcOQ(gVnv6w+ehEF5+S^hb!R zQ7jV9syfq2QVx}b`nE#eW#OVp%X)?!WO0*C=3a=UX<^P&Gn)+5?07{vu=FW6e@;*mOk_oA*_zc2;V)QA?f`0Dn{6@p<|7JpNfqi`< z<&WV;w)^(IHi$i(inxKS$DHR{(tSKe-;8^qAmWxmEvQ?lqFDEZqidBM(TA2oqZgFa z22@Y1xDP=MVVi`UkvG{nw0WFpzT`BLXD9tmWJc|8#Sio@PWWKlHD`dX zh~j!~j+3?>sir3{tSs2fDLvzg^?sS+y^?z6W-oZUEd*VPWJ~H0<$dY-hNoxS=5nTr z4x?AiibKr;cBFBc9;CbNPxG%=d@3)Ww{bbP`^b*2ySUSqiop|5pqJVqszt$xrAQ6+ zm6=_(4bCf#dvZGVDqcsrOM1RZU3}L)RqxB}F(H$CY<`7|WDpIpYkYjXz;hgaaq8qa z?d`aKqZHL1+IC?6ugTm-E#YBo*4Bsm3KB^InrFXm0(4Dhoe6RYf+xw}06C8tVIp5u z#5}{oCN;kH{p}@41Aj^@BUdp+s`hGy-w6XGq2CcUv)(ypgpq79Gv8iTbMh=my5v8I zj!YfT2dpUbSbvm{0l|HrN`^G%kwYDF#cm(GKj_q#CmxlKWmhJKvZdy03VOm9^U|Zo z8ptW#7vo=^Inilw)Do)YlGv@KN>#}OZ$NeoDEfa_>H=I-XDl1|KI}kA)LC9XuZ5Yi z*G;ggo~&P=+Zl7!eeqQ&^(|v@V+w>W&m&YRzYTY`qHaZ15Zjekxl0tUJsQt?-a}gH z(hboPvyFW@L6i3-(A-w}eH{s)Gybq&%`zNz+`(xOoXM!so<`zGk4`Thpq+)@ch_X<(?$ONM8RSz zg;d84f!1pV$yF= z{`}{9?w~W5GqvyE?CiKHj19h7Nf2*7a-rag(C->w%>B$~7$>%SA3~z6362)WI{)!t z{BrX=3iUx=3y9c(VVl2EX^IMf(1(Yw_k6roLGY?K^x(*tabw{OJ7!Nb_O`k{1s}8$ zeo`3;2MI#(&YG-y2iT7U^!W%>gumCbtY;E_spZ*ol)0&!QW>GfeI3GTs7@F#<}nC1 zgzO(Kz#L8#cXX$$D9xRyGO~AD5tdpayL2yI& zx$EG??Y7Z5+Zt6q-g{Y=zS*Vi@EeHrR0}yPKzVaIfb~8Gc_T!_G;9)|8YHl`%F{nD z{Yb|j8|STz(@N$OVol?>j6Dki($F~Ugkf3Ei_ustRBK%uKr?aLl5_xCoI~`zrxPMuT519 z68<9!Ayt(dV8>?j@h!|z%hn;n)FD!)0#LwgbOHFl-s~7;uj$rjuu_@KhbAW7kIP?S zr-qH*yb%@WR2JizTJi#X;=s#ULPU4bb%E?mmM)>kVl{{No3{wo_2sW2gTDVLWmD+0 zKqIrf^a(lXrRZa;kh1;`sjPp4Jpkzf>`gfvnHa#kYaoWDz;Dkr?lK3Ssfl z3|{zb%jIBV`n=Pz3+*nIU_Jak;LC-u69Ji9jK9HzaUs&!Wihh^!5>3ui%0HXH*~-A z(N|s0*pxZ{0EojyOJLK5ol}}y62p1T?#^O<1Fc~W#z@K9`l1yl>_? ziv)Hp@u92P9|wDVg@UR~WBii*<{J=un7se_#|Vf$B#Ha5;KjPdC%6#?P(wSB6IiD@jZkHYcUfNTa3wCLhfwOJXw1QevuWwOBJ^Jb4 z{JzY)ZvI`9Vzck|9V^lUw>${*2nQtBE`M_GqS@bfYanQE?|d=L0O5u z)d9$W9heYexF<_7-hH@-As>vf5r%GugWX!B9p~_@@59%C4>Mlplce|THupP;8+lkR zc#t2U9LTOPVyM$n6* zys4o2httUY(+I!&%V>Nd|0}9t@SKxvdNOZ3zxJ5r24f=YV3i_ZamuIz-!q*H8gg06 zl4p`l$5Y{plR+5MSJsGeFifdH%uU4e1nd=0cc)nIoEvV~*Z3v88I35TC;`}<_H!|8 zi3@;7=vAIdjFd(aIthQYdiLI>eRLB?abU}qso3f=F@HGbn$0JHlHHNxnJ_`p64#2(7JG&I$(sfdqmz4+1L{>bu> z|C~8he;Gg(F=@^I!b(ywGLRLI6f#)orL^@dymI3-_CIl#z8{Zsb-1N;xSv#sTY*-A z!u-t-UJk4gvcaya*Q2KM(W^R#!7J@6`VWuH9NsZ^reGFELrGl-Y?tRdIDm~vLJPCL zdU1dJ;v$|Fez#^s_z-t%O)q{*W?#e>PB3f5iPSAax3rT3G=(ABw9;dGT4uOLx?^=P5*$QoAY9Pe0c7zJ?L9M{jsWmJp;&$_nd-dqH=kM zhh1MOqO&Y1RoN)%>f;{Y&f*&8ih0_obR;VR0mArYxK(Sa;=*QXBlo4`P>LY=$hsAI z<@CpP@`pN>bFwB=kM-%g(A(D|Mp%=Hw0ehaXAkj{&r6y>%6g>h60P8&zV^pmV4Agu zTsq^AtGKMh#iJ`ib6it|eRSzN@~(m>7adaZ8QcBHbNKnPnBC0CE(x>w3YWy23gF6N zk4?G#olV%QoMt=AORwtcg4`~1+ghJB zM*--AuJRlx`2B5esnz5*bf&w_frPDdGlTk5Ql7-EH;AHqYu~7g34MG33!3HTg4w>nCoN4yU-}kE^bW`o(9n6?Cwg zUt5lT`m>e0zK8Q5Ho~nn%-lO!zqP0T(xdWo$ZsSk8xJEAU#2;(``g`5vN4$UueJ1U zqg(e9Gl=6*#koWEmsVzI;!jtCWfoUUK0!$Vh?NeEwN2}P`f432BLxZ^O6y~LWBM*E z1hj#RJWHii#!x3Eza$MB4!kZR=e*&ZCnYW`x=-kDwC%bi0^dE-4sIc6r;D3TdG6#F>nwbJb#5tX=Z3Ei-SY5jgNl_$V=Kd*BR6R^oP2N&uZ1d)Q+xq>TK ze}tHZtDW1z%EJbr+J9=jg=TDI{*&+K`vqWBu-o@=-_E-W4PbHnCM~nWdJi|aMP-GN zNXa}==7X!-C*jlv%7iQQG4yoH{mslg^-t=f|=0LC!k88d1o#V=I~2BKRCNeK<5YwCV&(bElv^0^{P zU=Fh@eKV7pFd#D5K&!qekt*ATc-p=zN~Pbu$8p@OwefDggQVcW`D-lJfH(TMmMa6* z4nL8$)0~gIKBOcOW{4;Vv1wi++($Ve@#?-XXz06TAMLHR0QSP-IQO3C5@uHMl0wT&;?qzaiaA9Cexdj6RR!NQNoxx`OX}w6n1+Pf z;F`bhYxP~DfTB7?D$sE7m$M$7PS#2>h;@8feboCr_AC8DDjq8)7-g$5?(aAqfyb$0 z5Ow(rgSJry&{-^N3{@Lmd4)S$LudqM>tl>+LERhY5qWj19aTINK?yYRFVQn7-&aX~ znl!~6z;s@{lO51<-Tk?HMk!)Ma+Ej3>F4yrjwXKQV1&PU%7rgpcQSiYL$!#MYCJEB z9lZ7H@muqM1L3s|Ij7@?sP|?Cp$1xw{gHHQ-e^_5Z=vRR@3QuVsn2Zv<;=b58d5SR zK3q0k4Q~hvd4$a2?o(|<7eUV=dIAr&>P5%;sX%q4P<>Tt(roIo$Zh<_g2Io`ZS~{H ze{ml4rw%OVRU@8^|IB%Q|Joh9&=TlXN7k$JLe7H4-578=Ch?5y1Y@2t6)H&a0m?a5 z!fH}ZTCK~Z6tSpY+wub=;Af4`2y@#e(y}~vuGlL_@Yz8;*MDjYe(j9mbZ+$^#Sz^8 zBzo7nTp$I`FnOS1EJY%(#)arD4~M)_c{J1#4lAfWP-gay=D z?e92RrMG~Qbamf zyR-}ZKGI!rMd49?9$s$qSzX>5MeB+0XK(yt)y>`XTdQxFA zaV%8NGLHKiG=R*rL(@1rn+r$pXAkLdoV<$RJkjiGjqu&~#DQmZ~db8dG7#PJ} zJjv=DZU8Z;L@9)uF};t`wAk)`mNg>jYXLj_x~x=@Onk$2RvU8XzD+cf3+6B<(m!_WgfDm}ZP|WBmtSG@@ZEQGlpo z0=$a^Q9lsMlNBFY6&((@4+9r6rnahe^FC~tfd}sW6@z*=d?>}utj~BBWHOf_S&U>k zb+{`hN>)n(ZV(ucQd#kQ6P;;Ir2(ojWEtBzHvUCSmt`($J<&Lhl%~r^I3M+^Gx8(Z zl#l13l%Bd}pYuK?8KjkETO+qBtz-*+Lm+if6NYRWC2@H#3;5n*$!Mh?*3poF-A}>l z?E>{;wlMtXH^IW>+745Vf?Fw$j(pqLnya={H_qAmU`~1B#_qecl;%b#Gg}0$802KU)G@R8x#`GyMXLXUk3`?=o(f{NI!6 z&s-g>Ngx-n*BBllPL|zpGwh)ell~@!?pH0_ZL$4!s(jv2bY3?rHs5R0u+k)uEO4LN z3uqORQ3D7y?_y(J?`Dqmr)d&JxgDf05)^yp1(ZB!^5mxblX*m*mMtJIEGDP9WJt!| zGI+#X&ieFc2_$PUB@YIP{@G}#hm!wsZM!bDkQ}Oqu)&P2?vLM&B&ga@Jxp6!KmuMi zNE&G7mKOy3!x3Xdu0@eBAxd1Kqbc4dH0O~EO>KjA+0q`xFgXko35J5$O3rT^m@Ggb z-1sZ$d-nPS8+u(po@orZlPgq{XDa_S!HSax^9;rCGW@tZBffEm4`oc7o*Aob)NH$O zANMG}TujR(F zt$e9~+bIP4vFr2BpdY^9Yo)P%?@T7ue4^Mn{ z4g6Ym73{lpBw`EI8XMm#-Ivi#1KGdfGWq7<9TZpT5PO@!KYD!b5yO_VZ2BL>`S(|I zQ>>)+T_0{HH0-m`;k1~^fyy{9R@2(@y84>?=l`+4k5df8A0e6ae{znPZs`@1Nv>yw zq8U1rxjPBj=YkUEPP)RdlNy({JehE1HpVL->@Q&3|54l_keKff_p$ZDuPgqvXs zIThIz3rW}BV!?cM&y_VUm&h?|xGe3IGtyzSdERF)bN22^SNdhk=kCf-U4M%+r0$31 z(_UkBO9Ii51i$%i!{vEcZX~Xci@Y`goNjLGCl_@C3+E~@cuOY^z@C=lDC4XBcN5G@S-aG@n@iWk>wBEG7C2*vow)( zH_>h6#Vnf;rKQ?nKIq!YDIQ@~_LceiN9)-^MWUf58p758W{gDp=5Ql>;&`y1@t+Pz z*Da;ng`HR6*W4MQjXOfhohHR>`-exGMYY` z-?tk^w9rUXFkR+kL6H`?MVM0LiRJkbc3%t5FVi~@vg*XA$w)))5o=Nrs|(Jojtsie zq_ZkZ(87!A#B%u8ZpZeSb1~-?np#+rT?FDfW{>5PBxEN~hNouzq97ZsVmzz>uLi5P zf_@r$3oAgv48~p}*g=lQza_DaYuFQB8xU-d?b!H;ng$EMwn~I^rDo=H`E(E(ZM>`Y zX;}1&`h=FmZETkY@@k(%zdd=+c_4W9Q(4<3U`VhDnW0nOBB#|PI^MSLFdK|kJUXy8YqocQ+WN@%LNCc8k>K4yNVUV z1@+E}Nli#)zm5TIrKYY_ z6#=V`PK$(BW_0YLBcxEt{)}9rEh>h#pDEnV+qI+0hNssIdE>hpfx_x(8t={;sq98) z?Zb+sHA37m>8wdi!`fVX)${R|2#a4QLh-p+ovdvhEH zp{Vui?V`=cBHzw`slmWr6Yco(6dyKCv%?BUOOx?zTCG**(~FymwdwIxk*76t^&ri} z$!ulhZE+fUa9CV;wQc@GWLxW#aw@kUx=I3ucli=x(Lt4h(~{mr-v!e>Ii!Uxi$&|Z z)3qrqB4;!M-d&}9Dp~8xDJXA}-QF8a zrNdSbI# z<6QoWL_Q>*AtTI(wc>zpQuT7UhB$tJ`Q;Gz4ula3J|RzJESLL7T=tK8>%Ypj{x9Ii zH`Mv26hl6w1isWR-?_A#r9ndcs)zZ@GApR^ih%iNg==7tC`pP0rj17L37gruy;iL+ zo%)KO2^ih~xQ2edw4vd{<30K}PJ~QP$IKwW6ua)%zqt4dE#uU#k*!hwElg|sY_y%y zvLG$!Dy4Y~uJQM*#RQ)m^8z7y$RR-0%^7SS$J7F-B<%*h(B(VXYLb5>VIP=5`>aZ1=@KI_g$Qpw1j8de6ibsPm7oroJ=`{l_m^ zyiL1o#_`h4Msj}P>!$q8V4Yk?Ll`UMrj}mtD3AvY2!jj_wPbuRSv}uie4eI(tM1Ej z7RE{Js=KRu!-n-`pCCdN*)SJQ{{nqT_0h#`Z5J!Dvl!UEW-~o28V(HsemwB8Yg-HA z*y~sXmMg@CSF{$pUj6>Ft_Qaye`P$v^KU{Q2PN_1Uc{;c0kh~IbENFTD{*8rE{1w7*Sr?S-&zk!*1Yzynu5FJpKH-bDn@~GOq$vQyjL> zdTSGL%|Eyqx6*Mpbg*Yj{m7N-lS=tvzAVC~el~I(eZC!UMLwVRKsZ6O*<&l_fQC$d z_aaKWKO0EhPLQ}FRO*KeHBqLhk5OZe$IKO0&S%vBfd}IL+nYp7RD5pPkn&$qZMC%CNa|T(XOyDcX zY!$JG;qw6OB3_qW!#jTwe4f*)}XMSKgzxC$%_yw%_qL(^+i?=HI0J=f^y z6OF8wn!@&yGkaJ}k1XF5G`6K(1W}aH9dEwmc}1=LL3EB#gc&!uSa>>Qww5~=B#+VZ$zxI`%>Y$B zpIKX#<%y`{t5CrA9g&m_TEv-A*r)2oaFTQX=}SlqkI!-=o)CKtrus5b8U?SukJQCk zwVdR&^4uIZ@(?Ep{K|@{Z-Z-{#^AVrt+4a!A1`e^$ds9gb|z*1W(SR3_et*yr}fqK zh=u5Yyq^_`YcZ)L0flxh{X7&0lI$|D%Zn1$VJu^CJ68vQ$+EQMt%fCUP85d$DK%)z zcO8(C$W__q&3pi?Ti$vz(0RnuGZUKx0rVAej3d$NddH5s$}MM>fl85iji!`#^T)=H zc}UjiK+=Or#5!?!4L|Vc6U*`w3Mj0DtlcL;C5eN3W*Q=5DWh=vG@i*_6CiE94)w`v4lB=o zSK)Vsy5TN?kcNaJ0G%)tEa=$Jh13Ao0*Y zS69KK)IdXA?tbEc-yuo_^F{oM-q{kS=Rxa*UoT*>6WPG);oeAVx7P+gpk%tIJBvM$ zM*jg6=l7S(Tg|yV`@5wdt+baPQ+Zh6d%TE_5g*k*EO$#_X?$6ro=Nv+^3Cb0buHn& z5o5kbTVr!{A|Vt;IKMUy{x(j#M}y%teh~sU;=Gb3gJA0*0F0CA%OBlOAW`^}%&k!% z*Nk#2sILFtAfbDSVTK3euHYkH1Wyb$rH?N4Xx{WO@%uC{cVSqHtk}9vO*N89t&1PT zS_dK#>2BvQ6uq1z*JsKASB)_^#S&pa7BYtbws!9 zgkwEQQ~x-?d(soGH#{?8lTjv*IfWq2y8DZP`aU;!O@7}w8(|o zb}hLihE~8*XPWE=p*AC*$gJg7!^)b$?XGZqUNT*3i8bNoPZR)e_53Nh`YFscEwM&G z0!*O#W%;=w2S+78r;iRDFYK^uvL}m6DO6=sg z#=ml0W=r@LzdoLG6j7C%fAxK2xoNKW!N~LmO{w_;WsNNqcOsx3{Q(f7+n@+Xl~<9z z)d)=JiYEO$a0R_TwWuTKTk|{bgls06zB^6-nR|4o%1eSv>;|R2eZte-l2Q3JgEW}C zQo2n-S-9B@vtW&j#d4KLW+_~q&DmngvoIuk$%_)hz6^G1VE-nFZjaJH#!s$6bQN*V zhPZ%2a>-krR#sV)9Ldx?ixwi0Z==o5Or@TXq}jytZS#oM8s@>1^UcyHYD)eQpnC#d z`k$rA(|8PEskJ?R!Yno$nO1y{%ob<`41CVt{@E8=+z~B)t!@zB8^r$*hlfZZyFTt{ ze?n)xLmpc028;~W3+MO=%oFf|h{@J-(Zx>K&oY;vh|}`9Q1bs;Jf8)RE)I zV~NEI`V1vDN~w)b%i^fA<({L2xYLLyN=7sW`y0Y9e| z>Ng}plk~k@ct;icOHaATWLYkN!KC`rJ)Dp`9@=}LOi~^B)w>Z5`7{Mzyzw7G*qM#3 zp|0?fjP@xs!Z%oB6SNTwK@P0Ug*S2r+%_5*+;}UQlS#`aq6~?MjN|)9%cW9s2tiza zk*yR3{Mv0w zS*Scshd%p`7D&r(nu1D-!oo~s$_e(J_CTx|6g-yv#ZEJ`NRX`|f*KGEp1!V|9&2${ zp2Lr28{{{4pd~)3OsI2YShMmp(t7Z=S7WHR15#R<5~Sgfgu!~;579cYn%ByFL60RC z8k%>*!t8pRC^c7Q4A5VcF@~VGWAeY9C1)}Qad$b#HPG+YREZ@=O$Yi@s*GcycM)o~vi9A*8jNMO4zwa9cX!!eqNBhYy5XJ|rAB z-LL;~6m=`_o;n77VIhOIhZDa=pWQ0%{aj-XZ};87Zqdpitq_0OI2~-Gz)=|&%GbI? zFWA#5G9uY1^EzvDi3ge-=QEYqa`boo%zgjtqr542I4KbVX}-%x0WUIZl88McTdU_W zv@v?q>Xo`KHvC?(69!H-o)LXVqpN?qZ&uYJQtNmeX>v=@^*&{<)4FHv03Qljn32f= z@0U{)!PE7FiDNnJq+s#+zFiABB}=vW9o{7_o(O#?3S2Fu5!6=Z=?@d7{N^oJQ9h`# zD=rkW{9S~F6h6E$W&2$EokyA%l$>UP&6>5j&Tu8*%=HeWhY+@Hcp*^JU_x=wh zM78a}sP4vJb7_#nf^+Z_b922JD)wp`cMk#RUud9tYWEkn%nf>L4%1KXHsujY;(EKR zhXWpav~CA|oUZgiP@>Wt^?0<{8^^Qy?b2IeJEh{*8iBB8e6-pl8^qE$;K)sHpV zgE=uilH@bee?jKh$siPx)U3o&y)9zKhkRK@qsfiU9@_pck+jD@VE4aS>%1po6DP zs}o}d&Q0H{#maHOxiF^mFPVY08Q@6*%CGCgl44kkDWrd;-5J0Hr2Yp&a$gT;!$L4P zpp#ZgIDF4Z?QHkEJ^dCR~-2QKs zj;Z=OD7Bl93!K*Dbo!jDjp-WC2ZHZ~7}*?7?`pt5EzNgrfi=L9}iQ!_y_l z&PF%T=}pX{%^IfNbm~LI{Qyxx^Dotvo-U}?QQ<2uXFnN}$XwZ5(oIMS4?v3VxYR#< zoU6I+n;R7TEu|?12x#gD*-Ytwv|&ARoBhb?$^Nvm!7dvFqKe#Fo9B zjzm(j)fp0C3MCkGpx&^c-Ux7^^c);O2y^x5?Yv*}L!Z(KjW*XFPfH6hW&0FAemR1B zZfNUF1rRosM$7Ddx+kLp7n4!yMpXD_a==#c1F|3TF>}NsgFSEHdjxS;e^lFwxB9|pDBE;DK-h| zB8t_wrh(`v24kKPui|MQIfaIJt2Wy8t|M-mt_UD1HI9bx zZFyFMlSOb`EDMk@kA|Z*dZR7TS52tJ_mACAcQiG{i08n~wI>0cFR^PW>mYkKSE^}9 z1@{rji;*Pue4t;BR94DPLVIr%Sn-3ub_;u)J5$!>AU#b}tzx1AyPo^QL}e1Qk0?j) z-(3rXi0Eb1G29F9d`!)j5n^W0qgiVB!(2YtEvrwEXERKSvzcm+vV6CaO%}6vbEhMS zr}=8TaB#g;ckiA%^VVw~p2By0SBaZ9f&Fh&eeI z!9NXA2N; z3DRw!US`?+nsF_5Qj0 zwGzB~!IhQ_?2z2?lQq<$G^i4uwro1D;sl zR2p2C&1Q?15k>ds9Wmbe*}8KMZBoejb2 zG0v_U<(T+I^SMeFi6}*i12|FN8bKC;<;CeNj)kTT$v6w63g=!GnKLeqKWH-%$W}cW z*}l8QsWkjv)rlKHK{$UO5~2eaOdv zKa`(6@p`pP}HDEUcX`=qSw8(>lr#r=qz+WkrE3`j*NAR z__PRK8z`&Sa7mhgc&X-#TO_LjsP$pog|(Ks%@p^3{R+k!>KMVKu^?FXe%QSDViv*z zW|sk(<8jaX1z=6UM>V<{? zjj-y{0@ih;bW*(FEOzZ)eT{{w(`%~C@wsmy6V%)IzSSN*H1vTSFGFig)={%t(c`qg z%Zs*2tt_P%!m_In>HSP`~YR!ur`6>QQ2fnca-Fd z$OdWbU~c&33^JZ3Tj*m#C^OJklM$&XXi*H)GEvaLMU@B};;mlOYgFyN-Kn1n;~JfH zem>nA1uwb&9wERRrJc@c?`CdPphNCFM@YpofFJnF#XT7di%el@9!>+5M*lvKk3%X>F8EC^@K#NRx5HhwMgqs5Srq7l ze<|FVPpL>T_Li2d;9CZ#$a}yCa2dBHe8>ykT$Qq^-O0K6V`9ZLll5?BV4JI|aO}c{ z0-9B9|751p`N&zS5Wf${sE^Dv9{;3)Xp#v|anL!y{<{RV04j_wmQ*MW_PGICB3@FF zO@Sgpx=oeD$~r_NmI=oeeoZb)pB5UQMa86HYO6mJ_|9n)4F93CTxk&3hzddzPaVTg z?jk-^Ltag#;vx9ma(78O>iNwSwV!^LL-3S#2?nI0stVX7?R~E;UiKe~{+vkR=gQnW znfz(VXV%AECDQx1I3CJSb4?g}Jr*-q-a%M@G*PKg{T^XRc07bC^J6^(u*H1V8(d>H=@dcHyYBtEbxPGrW~lLw zw%q}V%CDV*rxzW`_=BHeR(KJCX!Bf8y(dDmh!0N2S_&Y1?)L&gLF0#VSOiHrdBPj1 zGIYs&V6JT-9beV!$=P-`d3j5C8L+($_IYe@b&l`idH{TEZ2Kwu=Of`gk?*PPmTH;B zV0&&m%Hy8VBZo9bG2%3*vM0b6uW);TG;m39QOvY?(K(Nxs)8fa$34xez54|t8`^W3 z%gs&inxfaBgPdZf?DQbVH>R_?GqQQ`@9 zAUAKsNOyD(Do<#-P>F~H4;?6Zx&l_$t8rq0odu(sH~VeAF&(RCj~h@gUAo00Otj6O zVT0n<7V0u+WM0fX)mRQ`XzuIxNr+o&(t;u*ls7Pxa&6BHW% zkv+ic1 zU9%a}Cv=}7alKo%9}xvR;q9U3lBX+SBVxEE-WL8;*&=MLM$z43o>J;fFafZ+&9(ip zdD@j=CoB~)J3tv&pLSqWy%K@sGoh5O-TZQ2HrGI4QaGa63=`Ld>0L{m?XaLMF<^FK z;TS7!|0E(G@8uY=e|O#2R{#y#=nU;4-X`+3?sUYc8OVkrY$|Jh7@Nk6=0)j&7$y zHtJ{qr@8Qthe~pnIMgiTs%qXB!h4mn<{KcNepwPNiW#A)TN$}z5CA_Qd5R-`6nL8g zhqw%E|9XAG|9B49+f`#uU=i~t7h96zulRoi{@G`X3W@L}g;m(b=5gvnQ5g&nCHlobv<|Vk&f<_QP(XSo6 z#^Z1cj?|O-6N2U^F}3~{Ui<>rWW2q~0<#ya>@JOg&69Mc+_4e2FUMz2Z+3M!V}Gs>_xHY0eUIM2Tp?UwSf`N7OfLVL_KNzDHgKz}_I41M8 z<;Jq(g*G6(y&`1o{ zm2*N1^d(G+6c}Lh{61FRTAYOGgg<#3#!Ex;+C%n>70s?ciGayFBW+xdy7H`qt^L4P z%i!R0&Am3V)|i<>&{vllB$sX(-jXr#<|)K)Q->lnp0@#@!mbW_0TTbMNZsZpM~qyk zI<$>3tqJnJ^+){SxwASeg7jEh*9mY@j0ggC5m4|z7X-4uozk-rzjY#wm~PmWE`;4) zWl4$?ro~~4srJ1alk+FX7yCxPt9vnrD8{eAvtgG>5<2r*;?C1{N}Y7(0OJ4qG%cIM ziKO2j5IO%J+TJ=Wt8eT36%3GWX+*lEr3IwBySq!eluqgH?(XjHZjkQoJ`2R(-urpa zbKdK`@fVkudb8%b=NxmycYKC6T>Kp+u#V5Rs&O_d9NUBpU>U8QHESt750g9{F5YBQ zPG5u(#ef*$1G`C|-Qy6p)sJ`k_C|7vn^9|pB?A-ImUH4mI~m!=cXh6d$Z6(>-;$`| zxb0e&5j*;Iv;NQ(vh-W2;Ca`lUY~wTjTG_@5UaLHV1@NWl9jCUnrJJpFtRQ}>}r@? z?xKHKI(PR6smUCf$n+66m=FEgVLM>rqHR)VFIJ|rH&`*?(Lb0P2~pHD0pqgto=WY5 z3$R@N=jEPd1h?SuHR1=!T@>bf1f8jeekivRAnll1_fkMA-$gnKr22^`ok_cNh-uxf zB3>Rm%4wcj2Q0mLKBmxyKrbo~?g^vdJj=FcJ3jNHl{8sY>QY+p)3E$H_<|O;x1&MN zSP*MP0M%59xpFveS*K?qQwV?VXd3fInuwN#;VHDnz;lA6e!Ve>Jawg0Wc+80VgchIY`Dvl!yAUl)=qf4D;NM&K(SHU*1allk z)t}VFH1K2CDswPV21HXRj7RQleI1cD(D#c<0{)E(3n*X0yp`-6T>n9WsCp`G&`3Eo z!?E?XPW0!=F@c@O=sUcU;`(U}7IHll+b8ag0`2R4=IRjGx~EzjH@qZRANX~-p8cC5 z*=6qV?*Z(z6?lXAJwo4Wce4m9^LcvoWKog7h{>wzOExDPh;cun>4wFpR%!rQ~MV=eFC!Yxv&j&kh?T zl0IO{ulssAw8?%);VpvuyW$CxVEp58 z5Tg3quQY6Zn>;wEfsMh}m$#6IGNZSVl~EM$Q)IkOE;#D7EIL-eTV`ztVFrk3p!i5w z&wuZ`k?Wd`6=s+$R}iaNk-dqFM{=1VyN6wuCdd&;MlJ!$7H*RKuZ zvVI4Cgc}La2rB8o>9ypj0CdT03dy*^n}Lttpkg-HT2E@&Y2h~(bX5<C>(BBfoDX zs~9xk^cAB@ZBvj>z>kAH^mb;YG(+r;M&9!r&(ZhzbEkspPEYv9CSKtj$!VG!!swwLMtQM5;#n_a)+7F&VL`+;7b1QsayB$XD*Gw1AX$Y?TvAO_Uz z!Em3FLZ9CFns?@jq}rHUZR%l0@!oKe$~K^7a~AnW%?_I$QDM_@2DC$v>GX1`V^l6^ z4xK?kwAj3-!no6@sWF$<7H&)-I{WdTO7;q#qW+Kjh6Ath&aVRh2-&&ZEE9Eo!`u3b zH>WdVG9dX zB_uOGkrIrfw{2?`$E1Mv?0`vg&@^A?KUz~!w4SxmT|eL*dJrG3^J=C};`=GV4#QiU z5ednm1Z>UBs}zo<0@*rIkXjuG&RuaM7DAp|x13JJ{K_|94G=6y!zriwj!udRh~KF-|%)LL;SvkdK2;Tpfe z5-Q!Kc+57@T}jD#1k+qG#pH%3>x8V^EdqOX0|X>rMZkM8xoaiqDE)jI+?Mw*3iAyv zBaB~2m|R>#_Uk`X!PbAuteWJd3__XLS$ooX0x$_F2jBQoNgtabYRa7ka?q;VJUDqa{#qrq-upN%z6cxGU!(J(Bf_H2GedJfiK`uI z%n6M}c&Xn4^+<}g42X8`VspJHC4h~PtdjL=flzR`Gpd9)J8G-fV(hK_;M%iUy#DOE z@1TJ_gvAF4l0EJMQe~IZ(1UniNBBI(-1<7ve-r^3DSwyI>C)$fcfhR}1-)BeBqiK& zcx)txvkqtj{78hl2`fe=vztn_uqwAVQTS}yl#4LF`&zbtSN?85i8(>TD^m18k>4E( z=D&JS4E9zI8}++yD4Lxw?c3gFH)RK5Lu$@C=OWfMkNZipNR*9XMod`iH`yD*t>H|Ap1lDI|1B(jlM*8ZBlPHV zxZ$?oo}86jpol2oG4!=dWwLnM8&1KK`~9#<09{`d zIszxaVWMvT@kxzq#hWV_Qmt<}L#)LM`C9)ZV^Q$9`1l?>C5y3>E z<}}%xJbXkd1rno)#y=6VZ0(eg&Z=5Xm|$gGAE0BGKa`W7$#ynPcls@70X1hSHDlZs zou6A)1p?3vZUQlHNWIRL9>>NCVH~^7H-Ab*Abx9G&mh_+0a)i!|2&F}+-iHO=$>r+X{sJJOxth1G+ z#~&~Rt)O4d0_ZsBf*-6>Da0n&Jr=+Ci>Ief;|EG2o~j~5(fjTn*RD`ytZ=$is(isR z)8YfLfudQgCJHaa__BAM>fzt8M7_11MYiJ8bR&2a*1xa2viib*c}oHnLx&vPu<}V6 zQ;4|!P!S3*dnOcVEswo}-dl4@c3B$?QYfo!vtVafNSj`Fkd4Np4ztSSP*qf{PH`VM zE|R40H7*fqVDfl0(OWYSztC9DgwWJ`Y5)I%F?f)B!WdMg{|jTFJ6cLu>72#qNU|UW zVa8^MK_-(Z=(7sH+oC72xIsyknHGf3eutm5IQR35)NgC7o6M!P0<=&!uRJoc7E@SO z?Wm&**eCn)!`A6NMvC-4X;XH%?;KR!y72O|Wvzioq;$$ze$jZN+fX@(04~ z%nMwOhvK+&Zu#kF@eiuvVq2V8Y9xk~@@s2nj4vw?ii1Clx$4slwJHsg*~>FG^nJ%}%vR!%)7#tv;CFJp~e!>gcFPu0t^EXV0VC{se$qmi_~TE>NFDX7RUGeIa+$P zv(_!cnyj~tnd%_JgKW4i;w8AZlbJmaf@XJTZg)#s zZ@$6mW1_Xkj!Z!cbC=AAdx9A@+X1MR|_RN6#f60d^p zJ0O?*K@mv>J-{>8Up*wo<0XtX8Y>Ja$h_InLVz_@I{$792JBv)uXPT8VtAAevhinD zWWdXxpMrV+Z=wh_?(jITisk>6IB5P90x^LVaP{g($G;Hn zCVx!)o1T~)0mx3sLjEg7Q4Az|LF6g^_2I1fN#C!hELV5$bL}C7MSYnGwjqG7YD?JJo&Ezpz=gAmlh)~kdHUUc zG(lx`yghJTZ$*gQ*{W<0jgKa~|EUZALy=mYL*2k{mkBnfSD-S`vOzi5E_tTqOW%0# ztDrB`YGs^tVk*-PB3O%%0GVoAetF()%XHjWVZ`fF%EVLybtSnWDypZ>ek>d+0rX z1TYMf7&Dh~Heda;^7zvRE6meqs;M%T@pU2? zN@%t1jY7=VB4bxGHa6I?>pbnNJG%#Zmb~Bf1gs=T=%s{{`1pV-w)|^HXphGCM?C+b zoaZc3(>I`i)<1NDQRTj604nb(CzW?%PSTZ-8+3_N1mE825v8& zn?NdvExK|rW6JYjQ=YrweT_yB=x<5t2e7=Fu<>EK0`&0gjUUdLsJe-H`@r?dc@=mD zz>cwF=KO9of(^m6}cG1SULuglTyuXeqT*)M6*i-~A&2O>9?j*y3Cx z(%`#2*S0!l9?|RTc1uHS@}HR?khn$EPtDrP`^uItf}ST~EN{@*ijj+TSr%Y9ew&n_ z&sv+~)oT&}R2v^~MBBIr7nvrH5$mxbEZh&$Kr1`O+6u@Ao=@6x$Ixz8uVf08$%X{x zBRi^2mjPPCsJ|K4k|k8Hw!Dn@Evtbz8;T=aaj-0p)RrU#kmG8)9%{?2C4YHK9!=Qg z(H$(NTxmL27=3aQeLpulk9(nc_p1m3``=EmN&2rH%Y|1Vp3=IeB{bUT07Si5HM`8I zT}Ek)nL1asIf=Vz=DWKf>9t#mTI;cnNQhrbt#NLn!3JbDK}It}5r%$daV)GML7zOY zZfJSn#wPE`k(YxipzYsJ2G5NNaEg{J;+&MZkt&Ee-BYtj`tkq7*lO|mQmR__ktcov zP!T(2h?`gNbpBChx0;2iHl8RkZzsJc8+G(UdLT8P&6AXhg^w?;26kVf2w)c@1Ax1L z6;QQrt)jb@yYe20eJ4oV5}P;qHCz-4jWfujnHs0lRL9|zbPybM<}x+fH}B zbCTjRvC^Hac`$M9;7B?viCTrAEFw3|x)E za5Yu4SXHODCll&ji3hsYw<$91(q(%P#U&O+``fqzY~Gy~-sH;7R%PNdN*hHkR_1@0 z9FgM3D81PI`A7}OSs~=SvcH)q(ayT_Wt!V{o!-umx=vJY`tnd1qW)2|rrfx9iDAcX z&p>35488lR^@CbqH@63h%`FRwbg}Y9aTlN!hJJfjB0tI^ko1L=jc4#fBaD-|C~WQ4 zVKs%?-f=4e?Jw0ZCoSxAc zs!^7*U;4w>u%blT&G?*>m5ZokNjpjPM`$unzIWl$6_B5q?{Z zzixLcj!AL!bo2Qg$qItZqdgpmXp3Jz5cG?P7qYh#`jKvs!6AusrJkQ5`9t~|Wn-}Al9>R9?u zOKUv5TijevCgz)0Fg*DSIZR9k+NY0&b2U@l)$9=N}-(_7}kmjJ2o;k-LjSybi zvy%8+XDqi-4}{7vuw#u$_I!t4$ZE~)V?Elv$(xM=^~V&4==1=JoUlwVVR7^NY#mV9 z*&WPVt`T$wIjah3IXFS)aN)pm{LIq4vvvF>F zSd{Igr}8RMWJl7epEDuX$vK*z+-!wr;>U1 zS=-<>JYKZC<0hrymIl2J87JVt#b3`Zt6C?z_;RkoAaYMQ&9R@BiHA#=5Pw)^a7EKo zMqM+6_`777&K=vbQJr_f`=dH zB%QZomUF(vc2f%f^b@#Sd|wa~!}`{3>Z#X))N~u(#^7dkNJJ5&sDbIDTy56*@1pF_ zTBK}=FWvb^Gulk+qjVUyRfTqtHu_40H?kG3{+Upbe!%yu-1Y^i#gXR~s$>nnEEW-* zlnFf3%+n%()0{Fn_tYJ)l#eMk)+S+o^Em5kDkWOy_OBw}%GEq&JVmDrT7qPxL?qNk zNpQlE!iRr12q-~Q60mTPflAmJ*=Dp(p+w24%7GZYfC;#nrLVn_p8Fk<*w9_5G}m|Z zQ0MdbBque#G0mZ`t=|^pVami*KDLBcZ_)B}>W`eb>OhON^J{Gq zxT=`AniLtFhNU>r$qZfx#lNCjVgVm~D_s#fo|LlGeO=sOJDEl|acLn4-o3WQ9>n+- zecs!4V4z@seplxyxKg()fA5CfhYFiUdTVQcPANhN-8!YZL zQ%KMD`-*Kx;4GdYeOe27J*4)aq@;{ZtvMf2G|R`P3O(U$M~k2e{P|!yf{~jOK_O3; z<2l|I*xFt4?Tb5svY2L>Y!`gn^%~zXWedytcaw1X7HU|oyhSfZuOEtJhVOO9)(xUT=LfY%$}xJ{ov$V&RP~95#d4W zoen>K`5->gOW*;?nH3nQv==j8*-uXJF)ZwsbrC7u%)|p9yS&UZ_Dsf26OP0~+S(oh zN{s}+a05nNIZX$*!Go=pn0J>dvnVwZ0 zOY^WxKz3*^u~GJe^yi&|JG}a~trVHZMctSQA$>@D5LOaY=$_!tkZ*G1k+>1^Ku7Cg zPFWrjdl`!Y1PKn0`|fGU&-x-Ye?1NI>u2`d25x$8pWw2Ie-B1q-&zy^e;FZ0j~>q3 zR)TiY2)Op*MkA*N+*BP@AoN(*oTwnv8Z{lmz)jvo8AqSG$^49j+ub+yu4QZcY!01* z8yZI~6Sz4EDa~E*_=dC*E)NGICd^e^X_#_`Rz*^JH!rcc#07Y(ZN7o`Ri;~?8fP!i=u+BP{`6Zh<&M-;vfih&OwmP z(i|auC5#Ao1y8}1PL|*x=qnV^^4(IP@sM#*T}CS8`nE8MJ-^3&m;QRCkm2|(P;n3V zX`{mM?NJ_utFgZHjGUV~Dm8aTCIAoZ6Kp5vt7c8$uVojLlNFK7igT+B=H!+56N}uM z$d3pC=Z*H=to6)uOQ_6R%d^=SF6@IS-<`J$lWDj(uO5?IWXrULJruj9EamNI1ZE6G zQ$NK}2-KjFZ}8Zk1D>aZ(*O4WfIso&{|?A*%KVvQ7yXB0Cks=)G5=M@T}La&7~${a z0s8n=Y%3diR2!QCDYBNT!C*a(8k6G3#P4#Y{Bi}?$f-6&qw+se=)&qDyz+?n# zQy+sN9*1cF?llW^Qt`^WWM--KDL83~bRX!1zyCpwzpxre$929{g8I{Q>qINE+pqW} zu)=O5RYfBV=1;r~;Qlr{OZBG~%^og0dD8uti|{Wbj)74#L0i9% zU6hbEux8UU1x_r7nZ7`gF^IzA{mCPy2Hm#2nGVnInEKoE9-rUKKQcxb4scKU$6;}N>f*$9)0*(-?Pk|>kF{<7&doBAlVtRj!NdT#wS#&n zZ$o@+FRT-_t`l89x+K5EL;X?P_ebTK3KIt13kqgN4tU{JnN=m-9N4@=3R>;%E*G{o z5v!^tB@k1wR9vV~w0VnH6enNyROoC-0VUUL`Z;nL6+t#OVV%V&IO2{+rZ|lvKcF$z zGZ1ysyAGJtfhG5GyQ)i8NE^@fQ+!M<={?8~u`gpVc=gXhBA&YCjyrS#Cc340yCAKJ zpG>hu@44}XpY)C}{)osaq^&#yt`ftX?u%p zJ0X#@PbEd@hZPv7JMd$>Y~*dbEb&wUY(x9vD#E;F8zhcO7>=xta1(eHQ(q*fg6*K- zReh1x8TmDwvd{G#PE;EuGZhX^M)ZpAA{3OyCj{G7FbwTQ0J?mh5Nj$Hmd-VTeHfQ? zjsu$qL>u)YV5SuTbcfTI;~B{_c5kA5rT?lb%zLT{`crzoElq7BXZG(Xy;7q?J@mXhOOh4nLSAR|fVvX6R z6jK19sd=zBR-ee^T5)ln-z60GR@Ur#w%hWb6`skWiVzLQ8_q|T-5`{DSKss8*`nA+ zs=k-@yE0@6D&`%UT2q_}sZBIxm}Azg zs0>|00*;k_R)!V|wVWN}M%vsKCcHC%l!H0k*T9N@{JU~OTzNU7Whpj-ii6pGuc3)f zo8!1#_p1jcpAiD~er_Xe{sUWmNKfqU>-)D!SV;ye!~#pC;pw~5*L1Ukoe%a=o3*F| zo<-Pap}!ngg&p*qN%KXAxKUhBo{pI2f$f#K@K^-!rF4}CFx7CRCrJf*+Hlf-O8&`P zU3OQm5m)}QNlzfk^OW&fzpT5C9f(*c9kZKIM%fMd!9a8!bFuZMs8K}NtV{o?EXl3P&*#MD#%EJ+LQ_S!9=Br4ZOvS>;(q zC)53DObXBmUqi4s{W*FP*69_m6&tZngv6g8tktmmA&cu5OJCbur2yn}ruHjw5hoxg zJ0Ma+>t2G!JIr#;Y;@JJstLzRZ2$1~JSiRW!hz_<_O#2!)`vuYDqttmPRBGfP!i>5 z7JUc8w{twS4KdaNG&tO@k=XV(v(~46O)6OpIr1#qCvG*6?1-bbzJb<>po-JRf}kZv z65lgS&J6W_G2@zU);&z3SIr-srwbmClWq`GY5#K3yAF(OH=zj_bM^{b{+(Hqa87|| z%}MK)+fZB`doxk4$yZ%A-%M!or`;i?9%i4^h8xXB^w7&G4Q3yy27P2AYxdnGC@}b@ zOKg6udlcy*rc|OAVC=BSkRA?a2J9ZdDakqg`ZNdH?su2kcC?&DyQi*(AFOq4aV7qY|+ z#_%~I(me?kqO{)Sa$($e0PhIIE-+HN|ERF0rov>XjaX$k9}a=KsLiP-S(2kz z0LW|tmK*rOzSRMm4|`Oba5H1e?hhm$)mF`Hu)pA3bOF1WlV%|H)AKBWx2O(px@Ha0 zQn9!JS)j#9oob$jHa+Pkm}zZ{aAjXDq}1+0t-2TVxO}5FI*HtCk7#iclNJ=xfuaVT zteu1Mf#JZCX_av`CxoGa0DLSL(?>*e;PZejWP^+de6MMIZgiM5H|7VU(!IeOL)UeB zp_IEph-Ra5$xc*Y?9u)iNn90V>}xF>_uho{*9N%B8b^#FRS!xM5EUr2m$> z3~ayu6Pn81yo{SwYJ2;qc~~vk$%G)pZnv6(FHa9Ra#6i414o{Kh|$3*&*d1khn9*8 zXc#gzeav{GUiRZ6rP!v%t2`5q2}7X37$=cv3=8y7_K%}b^mf;9MbEUO{Fm4izEU93 z?qz2eCFK7CRQUbCFe!}Fwzk1S%lS^jN&L;ZYi`}|0`t#cWIKg>qzz4pn}+S$IwEy6 zp_1Cmj)3r;(`R}&qUapt7YsRYJr(z`&g_iIz>6%6K2?i$+vNC}ltf!?R# z{Me9!`d>&J>JqNfm&_LPMp!QR>oqRsxcJ)ND{}7I+ZsRj0qW-4vFr@8j^2yUR?SQD z?_Q2Pzzsa-abGA?DO{4?p&)22cD)qJZMTJlK=5@t>XWh@2zAUL2&iRRLOB z>i8P@R5#kh_V*ZS>K0b-_y=dc2Dy&vNMLb_apq&-S4F%v(V-E;e=aGQ{lY&;aDkD5 z$Gw_o7voWYlVRI)ir}-M1PdV!j}AD|pF%F^(NYZpMj=I@w5m^Am*MH;%R&IM!u(7` z|MmXGRET^jkC1W5RV)7w%LMj~%*3Qae-?pI)xuBc^XCrl4_Kcn93a~6AjaKJxGVU^ zf1k`cjl2Mr1HfZTkIxw|s>JGC;H=R7(rTh;i13(5%-*jEya$wQs;A^6t$_O-RIJ*B%XnHt-<#*0A#S9LEATXZ zh-Tm*k2ox7K1*+rpx_JrvC&jSfk1BOmZkr_%0hlst%A-m+?q_0Jj7CAV$EO$J`1qo za=TsF!<~&|I8wEC%?0gY$qzx~awM`f-XYb{yfmC|#I%tA`oWg_f>ya3?k2Hj0ds2Y zK$lr?l*S>eHlZHjo^7?|z-7>TpghrD6?nG5a4L{c(T?Tc`TRgC&j=j%Hp-`!bu$;B7N-^~7elI1}awBvu~6clp8+{1B)t zm*4LQq=ek(J%hj!mP|IdHqceM8q=%>v-->MyQod;)Q~g5JI%;8o%P%hPnY|aBc`bd z6Lev7vY{lVw|aG8fkWR*pJP8%U)x?DG(>}}$_GJ6TSZ=O@94W69fq(5Bw$2wltdBOZX%-TpzQedw-W1RS+d4$c{~`<59E$Q^;txt&(nmZ?<7Gt3QT*Zt~SDTB1a>5>9of)YwWoPH($!tzG&Wf9MNx1*h3$ga~DX z;S}KRo+*j6ndT+xad-cqISxK$mMo^G_0Jts)){44u#Anz>55$j^(XDv-PPFmu_zD7 zJD#pDaiCimBFQ*BDj_#+yGtvxvB5jRqJqo>D?V{y^ATvGoP9`LF`}f*5-~P1MzTt% zJMUR7T4B!!r5P%<=yTrK0w(KdoRVMLq_J+!witY3Xb~iEu;ZcM%H!%Vvm*{Sn35?H z2#KxDKyzPIhgulfv`$yoKtYiKP|a*U0q2EjD~owK&2ECn5RTDI$&9k_FBd*=4A)2- zhE+vi^h_@u;MmI1li1UhaGc?mJTQ#}mcJhrqAf16>>d->oTNLmsCg}veHY3d5?SuJ z7=l^=W_($jf9K(#5~dmx&Ue&7cfY{XIk%siC)vZ2j2Ke}G)V3Yf*MYyi>NF)-{g|o zr|_P=;MOq)IgZ{Sna-(YwY}n#8Vg(q=6)2hce3H;DBe|prBLDeQxQcy)(+*zp-%#% zv|37utI{pQjNkXEzUqW16#&|?=v6zG&eFoj40Ducg)<(XmPLjg8(TklQ%IVIK|bh< zl@}^hiD`yY^+TgE;|1rTjkcn<%E(sfA)<9Zu)`V)@Wz%Wk?c?<*KO%4xLdhpia5l& z=^7-kRjmjfg7U9XrqzC166tnbo0&&p%cGlO?3|3OWJEZ!4vx&@GekH;6t(xRjhkWl z6y0!CRiZ;^?Jyi=vsaeLb8p?P6-)@YMG45L{5mX_B@aW_i92?yslcC&H{9?)*AOtc z?pm-?w=QX465ss<|6#62q|tXoh$di^O$EjCNM(MO-uKpa(-WHYT$9kEN=8n(e;!Bh zYDmc&Cqirw{A#6k6qW&^oGr<2SeCwNiOo5{%bxNbFyV9Df{sn-KHqJ+$;$`*L#S3hz4M*;KS%tQU(Plp1O z!2jOEJfD!fKaQ@if9kkV-$~AG;cr&o=p>Z}2DbtK4X!s=f2!c7LyJyZ)Car)(c;cX zk2na48+~&D=ea+9%;%32NgyWTy~Gw%jdB8&-d~1PF-hxxaV6wmW_jCe4;X!@Ov5-j43%Ui=fP$f*r|Xcf&RbVQmZb-|GfsU-5n% zUEAds6kavUvq!hl|2>Ft^z3yuy=mH3ZKE!>*n9KY4HZAYMI2Z*QQ>$9EKJui&Uxn5 z$&qT2lhA0$+@7lc$erZE)>z#tk)P|=H!|=D$*XOq3111Ek9*Ke#lU<@q66b-Vx&ZYYey4%gBh3@XebR&!dFYJdt%G?29=~$<1ZGjbg*#vB_JNFF=u3 zQrd;B_*7z7ZS^YjwhM=ctqG{qhrV&=_UkXreSMPrGuKAO`aUr$?%(~$Yo4$yoKLOU zGAi0=g2%iE13&)#iFBq4S*GU20?aP*Jf&dtLr_mOn$WvwCrP+!f@IdL@`e`D*RFSx zw=A#YD{G=wjGIeuj%e%V1)}&Wy$?!G+Bn)nSx>+fh9mh-zWq(d9^94$w>OLpwRoPC zSuy#vBX{8UZ%JyOpx?H=8N) zzFa!R`zfllZ%bu8brKxmkAT)G4JOE+_)FWvfF=_u#!v+kBnhY^0@$$sHhT3C_eT)=HUslmm5>m3Xxj$rBj6#wq7`8 zh73u3$g%>%rerRe zx;zJ|aOy^m8{s_erN=VcdHBOjlp=bq{aDYLNUoFFLlJ?L=&g4X-=D^w0GkY42e~|t z;#(9BWXSp^96-HmL(>F&r#N_wp=~K!d{_W%Y4|2$7S^HcS52AsHs^vt7~mUsZ_hAA zZ~+O}54}26tJ~pBCUuN=^TQ3PL52p|S;C0olvL&jt?52cw7G^!z*8x4D^5fZy3P%w z_)S^LS#LGeKxO={|LGW}MFyO&yKerMzz`V7AhP0J_Imr3bMUQ|d}0M;5Pq#Cd)9}; ze8LVHlavQ)36}a*%CKA&dUhwKdITk(^joFD9Hck*^X%{~#8$J}2rHG$N%`FH0ZX!j zw}WqpTC*^G(c~(KV6zQTdh=?5j>`5kGN1%9e7&F>>V|yp9}rB#vY$)6Dp?=mI3^_w zQrlww@?`=@z>A?X0GWC~p%}LK#Ij5RcO7O4Gh-0gW=qeC(9^ksXO{f# zuJJdoP-C;ODava(#eZps-|kHf#h1dFR7&gu^HU0NIR+R5JXN1vj<5S}O|%gXRaRsj z%&vE4EWg2CFRgC#eQtS)9d4F+4Ity(d3%VTyJFW(A^<=PUCD zFe`S+pAWSJ%YXiIWJjJxfD)-W7r?RPYzhG~!y(1k2`4&wR4L&E)dctlOJzYUyOxNP}K1BVdP|GSF%e6uU1U;e5mvm6FE%`SvE&T@OsT9dO&c zlTfNy78bc-1-|Fhl3NjbUctFuSH`>UDO)y)Lt66Sa0?U1;5w!S#8-0puw+I@DV3Fq zSDp>}6%g_Scf>mbHu^`dDB`iSHTB!o5wWi_j`D8L8$_+YCok5{ec|Ja)j2Vm;sALb6o=>n9E|XJ1TYuf z1L1c$iT_RLmf_GBNG?tp_mCeg{eftIZ)ISt7dXMVfsofo+l;BkYcV*OT=al9P`al5 z$+(7^EShNoC#a{d@Ao(>O!FvcTEd6F2}Zg1a;A(`(km(kj_ouQwjIJ0bu(taWXqmyFQUqL>{K@Qi0Hpz=)yA!Af`%}7 zk0m31jps2{0-EHH)i*ix-I!WvyhlN{RCuRT`EXB#)caS4fpf&Qg+(!41Y`>R|KUvR z6@a8gH0v+Xy(|Tg%8&&rS64h%64ztjtqdEn<~>ui(|o z5m5Kz-o0FC9TmIFShjvRFIg4JA+qB+Bw4bz%eSR)Rko$>@3d~Zl;rxOppoa|cW~8Y zvYD&jdbqOw&9clZxT3K?(CE2H%BDwKv!}7wKPKY54+p7OYLI@lhD-K=fF>X(G(4CU zs|Q@F&B!v0PrX@RqudObGX`wGkKxEb2zbg9rL=drquVgCo~VH`-sZ5In+VJ`ZRe-Y)*WyD=9V_>&%3fe(?T9Al8T`1Pkq zdP4U}qE)04^p3lpCY1#FzVfuMYoy(B>0Xi%4>_~}_T>T!Mp zZQ!;Uc?#W0eH=T#2E3!sifEf6FU7VK0E>5cHpjGdFZt#Gm45qtghq{N)jB;HVFRZx z*bI#4q2$RasQ3=46WpT+ePZb#Go3Qd`@Mt3roipRYeG%5l_YihKN=Q|>rISR> z;rgtNRW!Wk#{vdvyklT?bnB>;>Acmh!hkKjMtR4pG-tAxyRQD-ek?GkZ|G^p(U3TYa*OkZ9=KWKqV{s%}v&@xP3xxDu};Kcu&dlc@`6O|A|)dWW#iTJprGj zp{_A)GI0t`>&YR#!LtseI;Gw2v_vDsitE#h@) zqurzMf&h=*MB5y%#iH)MBg@LV4@)mh25`eu8nvC&gv1k25jw9BtDG8mG6d=5%rn@Y zsMzDnFd=gQb$xv~jLyxCz>oS{P`X!v@tCM4z>6vP z`(k!xBP@i&-a7!-Em%yGlwv%cd;*fkVV_t`5(Yd~*Q{H8Bn20ON^WRpq_M7_` zV;Eo{WsX2J%~y^*aVCDUbjA(0X*3r+FkZ;C3bcQA;yOL>G?5UJ@NKuglgSPr(clOR zFFcIVoX4n+BIPO5oRwZq3Gm~yivD({5y*Zxco@i^DF4*yPn6&6SH{YF`|c$!1%9ZX zg9n53(v0BO&e9Hoel|;1!TQ(d6gzkrPI)waX;7L*K>2a~dVlA|_XnBrh=0PIX-N1v=%rwg`v|8waMc`oK_ZaTN z`^x|Kft(X}L|tp+wl=4DX$aA+Lqs9o%PJ}yJQ?ELtu*!zGKmWfXuWNf!?zS^1`tUZ z!%es60*RX8YMSIg87i`WwTOg+?`Yb6aLs;L>S|WQS_R3DhgOLObVmbFrS0#|j9D4R zUw8{XwRN!aKD!vnG$( z<}92_eYt0oRo*Uj+giPM*UJ0`)J_K8&o%m~hGyYCRFRN2TBh8Fo{36k8LnKbR_@NWK9+6 z=j8lbrC2+J1-hmq1EtPe*Nf=aboxU|btkM%__l#2g@s{rUJkNUJUXjO_os#CBY;35 z;OB73TW>KW+PH)VEfYKu+=NtM?htB(8f^b#fFdOp4LgAHJ7GnVlo!}XmxUbz;D|4t z&D53a6fEUCe10HR0-rKkP4L?PFm?_IsclXZb^E3hjN)M96L=_)Rm1YI?ivwE#s8-W z4aJ42^>^|}FHyj#k({MXjG4rOvCU}KLYoU;0yJ^H)IOcHSOz}mHVEGq_UV^-A)!Q< zwHzI%nqQu)sXl(_A8I$geaaCG+KCRbS-0Rf3rp*95?{|3LEjJKFdU4RugJ5@+Fh?9 zn3TwJs&~-k!$KU#+$CU7y!4-tUo&p@Kcz*)4KG>jX#(ar#Fl5@7CA2)0et>cT{~=f z3Yo?PTd6Sql`I@fowOxv;eJ+ap9=q+31~3J!U}&+B(4f0K(>}h7paGMv(x+3)5C;e zuJ=~?Q=1HIxOX|qw{CygSZ^#F*OJFrL|HDVX)^&rxvLvt!LSD*Mjo0ka*#Z={@and zHuzmK5MpfMwwx$sjIm#`De6&VX6Mm43A?O6iU}eEBoc6$3VU0zZjXYV&ysLHs?0zw z5Ho1Gce)1iv-6-)BI&@?I`b{q+ZP)Rgfs3K*TpQbLvk!gxYor1!D5b)d`E`J2lM=0 zTeMOvE5f1m-=dVl84vPw8guLhCX`j;Mfp3cD9>9zRvCBBR`k-6C%9P7mdm)Jz}~8? zCOY<7C|!;hz^JW8@&mVN_842fHSs~ywZt- zim(9&P6LAt$74MbK_%*ZrckDMcp2J{R^Dfs57bj;NK9jp#$< z(0PpS=R<~5!BwD4Coh>t3$`z~doS&On{CV}-2Mv#nYZAOi`sZauyjq-+OI(}QayVt~1A4iHeY0Ux)Md{rGf zff-s7gnt986qT?|8x@5|UP>f3{jC2S-MBJJstjjowrv&*>c>Kkf$!0swPwG{0e_v6 zQ$Idco?N))NJ7qXW+YeZhw@!*EDjVo#W8;H{g_8q>11IvJCK*i5LN&;hDid{?7&mfu%|lb#D7 z4=KBe_|e0JQY9+2VT=X3I46dFY4SpVq7A|oV5U^kWpsR zQ4iuSnH7V#SpEQHjIGT73ekeIZi@fE8=A+k*9i#XXa{U|tj@z-&_k~{ z8$k_e)%A=Vc79SyEVf;V49dY``$HI*_UIE5p-}m(F2a0kndtMR)i9#*Bk>7Z(ML*q3sEE^w8-k7^PixMS#GL}rmksWKwvqUFCv)+^Upoc{mbKdJhNx-Wv}(FcfIfDQyp3| zQgrW-7|_tYJ{Uf^11sPqypa%Ix=2CoiuauvkUOlX))->Y z{}Xk0J?t=D%>8$^ydZ2~!rO?R{SBY9#bCL~&U}p27C~mk2&|CrX153KqEY*tnu9u! zM!okP!y35M)3X_u6nUvyFzVy_`coV7`lQqj-NEGVLa-Iwi^!&I=6|G6h{uuos(%WK zEsTO$8IJpTFPPY||5^#~fvc@%enQUkSR>hn4@fm0S*23NKd(jI_>ix}|FI+gi6<5J zE^*dW`{!a~t;TIpVE`czc*B*3T>Y`wLtx+KKXkOW=7g4>D#+uwTK(lUc-!kBRgD2@ zK$sq=F*}H}AI3QQx7Y7SW7((KLHP#xTc%lQh=%(ezh|iA>G-d0r#A@Q`Yz|myj9*l zl4XhXOcarzbY0c09%zf#W=auky)6a{iK)mgra2V;IP%Prh5vU?gQbwT@Gb{iS~Ue@ z%TL=&%W1YP3;NmtXuo5Ed%3Y_Zg=Z_6>bM-QzPKCStW$+qI7$CZ0L9i_t-{cd-}g8 zPPEe{;I$iU5p#txf+k%#-xK|`k;Oxq{+vmW_+njPU&=fTJ%X;)9NX4Q)1*oc#{brMn1nMj8X@AWD*7nQ^|-%|6)+flaIBBob4Mz&vtEP zJJR}8sFD^m&7-fRef%eFFs@z9 z>JPkE4d9>GfeyR`I#!FSno{D`ov#w$>vktEFYXg{YPcgT4P`cb|Dq;P#tl1txJtwL z%U2j)>LqsDX5;5k5(CN6$14ZFrjjSo+{%JR?#~TJjl0!qKgComKD~AnJY1m&)u%W; z$W)yQyRBNV3;Zu`l~3IJ24@2Xx+d= zHP?nVPdc&r2&~E*XUELH>>i@7$)AX9(6~(YkD5EBO2Dg&0YqlxUs+5&`nN;kxJ>kz% zr6meLGu_#?^L@#Xn&F#Mj|tRn8ykSy5tLg~oUiVuKfb2_hmW&KyHmFzTqioVUiF52 z%9pS-C?|epT-3X-j%{al)ujR5J-fJG$Qyg+2vhP&FJ6Y-k^1TDTi%Inyx9>Q2!D}b zQR&bU*cS(?1u=;3*5a_ zCU|-6lxj5y+H2f`v){ee7jCR`4qsaDL%Pu!1N&z>r8@!1A)}{^hr(~?eL){)0eyv$ zLW*xH3@E4UN_d?4*_zXg3aFonEHEZ`Iq7mS)RS+)J$L(o?yk##W9rh!aV-Y!HOB0b zi6I6NPbTqiUw5>R2UhvkwCfgz-;)^;crkpoyT2;box<@0aC5i;pb~Z|a!Ahe)-m|( zfk@-q8wSYzqp-v^U_VNrfgx`I$y8v}MSno&Hy>{>m9IF2UqBv^rWnXWa__fZ46326 zYTU|;_(cE2(OCxlDZ{|I1GXX~lGiIv?7~I6=OQ!)L#@0URs6XR7a-68J`wZ5QKbD) zpVxeL*Cq;H(FJ+tq(%=}oGI>%p7=!HNTuy-G&3hn(rJN+iveuj^eW&~`|a?mHqYaa zYd$8Mk594t3$cr?35k2!DVLqJ*a0-5Wzs$G{V!QuHSDrR3kiaa0q*3}vrNh!N^*PP z<6EYrbQtw#Fe=tJ;V!;ujl)DM*r`u)rTzBhGa#M-r`b$P&Kc! zlsi7B?JZ@J)SDxGG~QOQxms*7*Ghplwi-Zv_M*>mxFLl#M)b}HJp_@QDocH>-vNsc zll*Ta-@DP3wuLjn;jKe>@1?H|MRJ(FQx-nWw-Q||PzsThL0{DA*+ zKUB4%`S%#liX2uoP~?%Rn9_l%~q1X=l+DBHgKl?>Qnu}9~gB@cu`Z|NjuQ* zUnJuCbpU`ZC>71fibay;*&}J-rK#)$wqD~C(?MqqMXbJB_U(NtM8{g=5wR~*5IfE) z5vn+U0uKw*2^u*R81ImDPNu83{b7jj>`Of-|U#1KIn-I zt@d$2qWL|N40acf7_nHcA?UrG;B>fCkQ`)fZFhS2El)?`{@lB936bm7Z(35bOQxne z1q$zCc4g%?Z$Uh(t}&J2ln7#iY?B?Qi(?hOdHwAny>h$ICK5!1sL9|xjquL*DdKFL zR*f|6U(QGg_HpHJ_$&!&;=fN*_pLk0pQz8KFq6UBw!Fy z^0|VMXopiRSL%Cv$t&@^-OfwINICJYikcy(ASTT^2VKoN6G99jUXy(K$KxENGF_X4 z`QCo+3$E#>Aa~=kRNnK|0b@ar{qi^6z_n-K`Bu^dFdg`AEn8S-JeXxGF;S@}tBwX7 zT`grv;-`26*T?QQon_@upgv?mB+rz}Po>iOJQ>GR&F+ZozcPjQy@JRGXavM5&Cg+-B0hvS(&y1_0d7i$+ znj%`nQ6ko?(aA!y^Sz6U^&X=L=`itv7+EmSs<#Mngm_pPk^Dh!B-ixUfrQz(qoj+% zB`Ktwa_695ZTXS(11%xuKpBLhm|O_{<`auTs5^<1yuIU!10mVlOwVhdUdv}OqX>;_QP-BKjY}=@m^g2t$B=X#`GsF)g~U4IE?A0Dr^t9 zdR0XnGTm<=M_I=2=|?#3X)X-bF?67Qs?FMb{Ip4T^FiDZnyV2@G#&BzUcg&VC!nms z%cWp}IMY*`i8hSzj-aDv0ImhK4~H)^|#J1r>Vw&5#~ z#D9DSI=BupURu%Bg2uKb9(`UJQMk|tWhkKT~rhzwil#lZsb3~@rHFoG3;uSvpi zez|3v@1W1lOmIy{VJkpm(i>4Fo>aCV9C+&jYK4uB^(cC1s>8x>Wg*oJsmXyZe>R-ho zQ&{KbCKA!j#2PFP(to-P5Xt{%19wEUh30k!nga;JiG;{g5tuqrTqonB%*2wFHu!-$ zTJ0_*2kUF+r81lX{PT>g?f^8x~Wq`>#z>#|1*M^uGB6-{oUV|P z8zj%8TRDqCd{1kkWVQTe`1wY2E;o72QB(_x08wjo$vsX)RqnJ0eQz^j{!t2Hsi6#^ zd2O`NX1}1aAXK5j;CwI*8o@<0!mWMD^Ja)XWu!p0wf$5sA31@}Ny3Am7r%;&3e4eI zta)n=)4L;4i*s4Ncqx*|CPM3Z))LCX1Td$$x@}Ut3LsgMLR-GuuW=|Zz;#&oUA#&R zv4)o_kkL0%{(T{R3^2Z%RxUlU)?#GEIX*U~8F)FeDInydN9po}y-qk>e$3HA5AoaD z%%t?}MH+>F`T9xG`}gE8sgqj3MIU+pv0&m2vJEGE)ckGxeqfP7=wvdvn;yR%d+rB?m**mXyb zC)spyWjyZVx8mv6_%oQGYXFI)8-1Z(wB5q5EvcWUF+B83q3t8VBMyi=`RkVZh~{k) za1dD3ljIS_j-cW;-Q{|>?j)T^5~83M%Ms=d#dhYkQL^)0UU%lAMjC}VAZ>iaPsYPwsOC0$` zoXPN_w#m+Fa{GZ?`XsMYAduSMe5d~{tWdv$5W=N@s=<1usT*xy6PWy-#jsMS8s8w{ zvP4yi1TSqqFI%QBBS@8<{_urNgd#&gAO(P&OCacY`z_SoI2z!TLkx1U`^kvxjEQE% zL=ObrpAh#ah>u#mv-~_klc3z<@gpdksakL zEb(6Y7gZzP$ePVs<|$W%Emw%@sE8HejAi{g+adQ-`y<*aUjDiwwCbF?{K=}dU@)z2 zVCqREg!6!NK&>A^cBJ{v8}TF9NS>CO)x_Hi6St4^5)a}4-Y7=&MO_42`P>C>~V$M|W1Ccd4z2NQj`iF!~2TgyB zRX)i3Pr-nF%yIfB4N0mN!qKLXBM6Rx(x}yqP6^Zo@9RQBz~GgxE5+=_u$wThIW*Wl zw`Kn!{_XJAt>@jY(SB6k_m*hvHX8RBXQ{^DD*$6pFhIo|WGg8PUx~_!1@_M$W*>}I z$LT$$4>Zz&_fNbBA7OM$JK@lZG69Gs`~}Zm&Bd&8G{z@m1^@048VOsuwnUF=qWmLE zEKG>#v+T@Wye!xLqO5AHYzPXREbJadHE}RWeIQld3Wp7f>6E{)Cw=FW@xk+u4+*ri z-Db18UTLtq2uP8(`XAQ}>b>6xl3mDzmQ?8(j6d`tt=!hu8zXvR>qB&MgT(|$!SN*vI^X3(MCc-Y70;ToV z+(Tt#yxEBIZ5c`_0uT8Vv_(N$3ELi4tBvkDE8tU?(PPiDT~=3f$k*OPnck7vJhHHL z9p+k^YD#q0PZu_c&aeR|H2aNfND#%pBkD{XR~;JcnEP205+5m1~=lVBa$ zVRr|oq9F^|6A;8uA(H?lPvc}eu*XL}p*dd!?PP1OJ;(+FDt9|WX)oBEp=c^G zYH815sd?SZJBNnjcx?vbsqEdINTo>{)MJdYhT|WleFn3HW$bz%jzy#9adj>z0d`5^ z!cmgA7Hb3fDF#eA;_+ZkyB-zvVIxMkjkA%6*s7i!re?gR z(*PSfzvIg6`i+`ZEB{%zY%n`O*P5^Fu(uzasPH;y3oO7jo=QHB_mY23uMxka)Ev-h z`j#*iY}%o6U}nd5?fEaz{R}ow^dg9U_w?VOZ|>emwDdD;4_uDyQx8+!OaVG@8Apng zsnOxi$Ud3JRzx00cz^G=xw;J;D~{veKLu>*p4K`_KFm&yb_@Wggvo!5=z#y_YAF!Q zJ&2Z2avGp*UP|b@2|Uk|Hqm?RrIMBnH`W_NQoVrgeG2=9p855d>fZndpn`earsEyM z)l@L!iMJbkVqy%;*>$5?8+$sDt@gkMpm;Icqc&6<0tB6qHA)4-ma}(c9$YwDn-YXj zpT%_9O`#Q-nXO)3I6xu0T^ai(t#_C(qi+5~Io(0O#y9|Nm+b7G(2tPWnW8=xYJV^# zuopV});4KzS@pG_^?YY5AdSr(SkEfIUQQ9imqrjCglYRLw0CqW$Qnbija zjr`)ogkysqQ`^62VN(^#O}XrZ=1_g@oz-<(v)hW)7Q!rs4>zSY9=SeMS5A_>PMY+6 z*ELY10PlEsYlc00YN9x9gQVNvYt9eowO1DKpRZPEat0Oi1Sr4+bCDhesjq+Wex%XaUVlCR z$F$cv4gYwd7GpBKVqpbxP%(zf(m{@KQ|1ZsmVj<}Q;0F-{OGDHR@oRr713zgQP~pvMsYG- z7N;*GdJ>oY8+n#}dA3E!qGOjp%7doX%fGiTDxwq0ts_`aVq2_W2jdh4$Z$F;#9Q2OR%zsByk z;?Q_YxF3~@!9P1hbyUlxg1|6-GOW9}7uyg`zb`QB?Bq$nc|$Mq=kfjkBKnotm`m(j zL_AOV3b{g|zLahhc^O7$DRwcK9!QUgSsq6qNTV%Wb1?>U0R7>Kv!%r~Gv8?MV4=5r~hB}lQRFix!KIzXWYxW*VGmAE@lKn3VB*OHjS74xoK=rR># zfJkeP4-i-`Mb1Nh-j;hgv$uZ844cX<-A=>3W{8(Hw%zAye#LtW3Z*{WYvzil-7-@V z!sV8zvLGTQMel3+6>#EVTWb2K%eM|eQKOi6F@>z>+wc%?h)vm0Pr(Po7GO-;G4w58 z`JMe*+OuJ-gBTi$)Ur+5_LBKjOH*q-@- z=;pQz(KpxYk>AhEDYz>ze3fQKlyV?ja1Ifs?5v;=o@Z&0qDvLfPL^vCc6Zqa6|7Ps zv&+OoG!;z05o5KzCsoEe=$K2KPId&I_2oO*I2KGEo4r1W4tp#Ae0(!PGC3pM+AC!T z5M?@>c4NhkN<6m)PM^5t&)=0v-&1krO6ry^Z9G-4q)pGqhzAvzI7czQG^FkI8}X0B zVXesfTT{+MS@JIqRNEb%l`a#CoN#1se+XtvzsyBvC7oLBQb)Js3l&g{Vc}gQHhrD* z8xB>?&Anso-z1nawGd+~9_pD=R>;$}`yFm4pT)@`V?eKe?T+*H;3R+%)#+&QqJD`t z3gr1f#zK*?3F~d%#VaUX&d#7uXX(?!_lgZez|54~Rnr=Y$B8$Wqq8k&RJs0)u8p;0 zS?};(xZ<9nj?{!Ggd}BB9`~2UDx+W+n2$&A@%nATC-xvtxXoZ*F31|2&GEuh$rIWc z4dz*F`#xE5fA0>5GTj{UG@l)3%d?`6a0%cMFAz)?J%otLi!DCs`qMvAD(V)~t&!Ev!+q zz(mr0J}pG?r|Y*IEA$W1)oVQA*h4M*k3}<(VGXXpW^l8#_vLa%#`9P-RSsF_qGWkQ z;0Z#9g?KHwoD|#ozF^`3hM!6`LgQk1!6keoiYH92H<4*qWcs7_Q#GWBhH;HoiftNn z=*hNrlzbZ&yLjU#9#thfhZmG*#$%L{X7L!MBp_TIv{1zQ`tTx-#|P>Q5dDl(Q5J#4 z-5lj`lL;qTsSFF&40QpBAStjrz zFhz|U!y?uO?rj+O#@uPV=NDpUy$&2v*n(47yLzp)(}IJcB14a=unI7QkWrv(OBB_&542K;p8=FgyNg$VE{XS@{sE_Fq?dNkw=2Mgxe2u;OLiV7q26 zppWmG{5>(E)$V$o?qKMa>z=s|zExY0FvOwbVO5x6th#H{ zx*Ri?zLJPod@_wWK7Xi?0R#&*)kPm_P@p;;MnuLB@UX17A=4DRxVr9h#;K=W&?T?T z$<3v2ppWZ0OGe-=XlANWyl(0kD=p3zW{^wco(67ko?84p@Q1z0*s5W&gjd0RKNI zI{!~xG75k_AijMd1RilA*?COTRd_lq@H1OIz~}tembCv(^wRH)jnwty`}kM6Z@p63 S`U89qELkZfNvQZs-~R%D{d|i6 literal 0 HcmV?d00001 diff --git a/balakhonov_danila_lab_4/imgs/tutor2.png b/balakhonov_danila_lab_4/imgs/tutor2.png new file mode 100644 index 0000000000000000000000000000000000000000..528018e81befcb94aa4daceed5c6bdc364e240a4 GIT binary patch literal 53248 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 literal 0 HcmV?d00001 diff --git a/balakhonov_danila_lab_4/imgs/tutor3.png b/balakhonov_danila_lab_4/imgs/tutor3.png new file mode 100644 index 0000000000000000000000000000000000000000..76d1af7d1a0416e309dc8d1dbfc704213b6fcf59 GIT binary patch literal 37804 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
  • +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 MkmN7m)%N&*09;%-{Qv*} literal 0 HcmV?d00001 diff --git a/balakhonov_danila_lab_4/program/consumer_1.py b/balakhonov_danila_lab_4/program/consumer_1.py new file mode 100644 index 0000000..0c359fb --- /dev/null +++ b/balakhonov_danila_lab_4/program/consumer_1.py @@ -0,0 +1,28 @@ +import pika +import time +from publisher import EXCHANGE + +QUEUE = 'consumer_1_queue' + +def callback_1(ch, method, properties, body): + print(f'[x] CONSUMER 1: GET. {body.decode()}') + # Ожидаем некоторое время + time.sleep(3) + print('[!] CONSUMER 1 OFF') + + +def consume(callback, queue, exchange): + connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) + channel = connection.channel() + + channel.queue_declare(queue=queue) + channel.queue_bind(exchange=exchange, queue=queue) + + channel.basic_consume(queue=queue, on_message_callback=callback, auto_ack=True) + + print('[^] WAITING') + channel.start_consuming() + + +if __name__ == "__main__": + consume(callback=callback_1, queue=QUEUE, exchange=EXCHANGE) diff --git a/balakhonov_danila_lab_4/program/consumer_2.py b/balakhonov_danila_lab_4/program/consumer_2.py new file mode 100644 index 0000000..031d93d --- /dev/null +++ b/balakhonov_danila_lab_4/program/consumer_2.py @@ -0,0 +1,13 @@ +from consumer_1 import consume +from publisher import EXCHANGE + +QUEUE = 'consumer_2_queue' + +def callback(ch, method, properties, body): + print(f'[x] CONSUMER 2: GET.. {body.decode()}') + + print('[!] CONSUMER 1 OFF') + + +if __name__ == "__main__": + consume(callback=callback, queue=QUEUE, exchange=EXCHANGE) \ No newline at end of file diff --git a/balakhonov_danila_lab_4/program/publisher.py b/balakhonov_danila_lab_4/program/publisher.py new file mode 100644 index 0000000..e575425 --- /dev/null +++ b/balakhonov_danila_lab_4/program/publisher.py @@ -0,0 +1,30 @@ +import random +import pika +import time + +EXCHANGE = 'report_events' +EVENTS = [ + "Создать отчет трат", + "Создать отчет пополнений", + "Создать отчет смещения относительно плана расходов", +] + +def publish(channel, exchange, event): + channel.basic_publish(exchange=exchange, routing_key='', body=event) + print(f'[x] PUBLISHED: {event}') + time.sleep(1) + +def run(): + # Подключение + connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) + channel = connection.channel() + channel.exchange_declare(exchange=EXCHANGE, exchange_type='fanout') + + # Публикация + while True: + event = EVENTS[random.randint(0, len(EVENTS) - 1)] + publish(channel, EXCHANGE, event) + + +if __name__ == "__main__": + run() diff --git a/balakhonov_danila_lab_4/tutor1/receive.py b/balakhonov_danila_lab_4/tutor1/receive.py new file mode 100644 index 0000000..f118e0a --- /dev/null +++ b/balakhonov_danila_lab_4/tutor1/receive.py @@ -0,0 +1,25 @@ +import pika, sys, os + +def main(): + connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) + channel = connection.channel() + + channel.queue_declare(queue='hello') + + def callback(ch, method, properties, body): + print(f" [x] Received {body}") + + channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True) + + print(' [*] Waiting for messages. To exit press CTRL+C') + channel.start_consuming() + +if __name__ == '__main__': + try: + main() + except KeyboardInterrupt: + print('Interrupted') + try: + sys.exit(0) + except SystemExit: + os._exit(0) \ No newline at end of file diff --git a/balakhonov_danila_lab_4/tutor1/send.py b/balakhonov_danila_lab_4/tutor1/send.py new file mode 100644 index 0000000..039c8a3 --- /dev/null +++ b/balakhonov_danila_lab_4/tutor1/send.py @@ -0,0 +1,13 @@ +import pika + +connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) +channel = connection.channel() + +channel.queue_declare('hello') + +channel.basic_publish(exchange='', + routing_key='hello', + body='Hello world!') +print(" [x] Sent 'Hello world!'") + +connection.close() \ No newline at end of file diff --git a/balakhonov_danila_lab_4/tutor2/new_task.py b/balakhonov_danila_lab_4/tutor2/new_task.py new file mode 100644 index 0000000..62f2083 --- /dev/null +++ b/balakhonov_danila_lab_4/tutor2/new_task.py @@ -0,0 +1,16 @@ +import pika +import sys + +connection = pika.BlockingConnection( + pika.ConnectionParameters(host='localhost')) +channel = connection.channel() + +channel.queue_declare(queue='task_queue', durable=True) + +message = ' '.join(sys.argv[1:]) or "Hello World!" +channel.basic_publish( + exchange='', + routing_key='task_queue', + body=message) +print(f" [x] Sent {message}") +connection.close() \ No newline at end of file diff --git a/balakhonov_danila_lab_4/tutor2/worker.py b/balakhonov_danila_lab_4/tutor2/worker.py new file mode 100644 index 0000000..8f8ab64 --- /dev/null +++ b/balakhonov_danila_lab_4/tutor2/worker.py @@ -0,0 +1,22 @@ +import pika +import time + +connection = pika.BlockingConnection( + pika.ConnectionParameters(host='localhost')) +channel = connection.channel() + +channel.queue_declare(queue='task_queue', durable=True) +print(' [*] Waiting for messages. To exit press CTRL+C') + + +def callback(ch, method, properties, body): + print(f" [x] Received {body.decode()}") + time.sleep(body.count(b'.')) + print(" [x] Done") + ch.basic_ack(delivery_tag=method.delivery_tag) + + +channel.basic_qos(prefetch_count=1) +channel.basic_consume(queue='task_queue', on_message_callback=callback) + +channel.start_consuming() \ No newline at end of file diff --git a/balakhonov_danila_lab_4/tutor3/emit_log.py b/balakhonov_danila_lab_4/tutor3/emit_log.py new file mode 100644 index 0000000..45b6989 --- /dev/null +++ b/balakhonov_danila_lab_4/tutor3/emit_log.py @@ -0,0 +1,13 @@ +import pika +import sys + +connection = pika.BlockingConnection( + pika.ConnectionParameters(host='localhost')) +channel = connection.channel() + +channel.exchange_declare(exchange='logs', exchange_type='fanout') + +message = ' '.join(sys.argv[1:]) or "info: Hello World!" +channel.basic_publish(exchange='logs', routing_key='', body=message) +print(f" [x] Sent {message}") +connection.close() \ No newline at end of file diff --git a/balakhonov_danila_lab_4/tutor3/receive_logs.py b/balakhonov_danila_lab_4/tutor3/receive_logs.py new file mode 100644 index 0000000..60d881d --- /dev/null +++ b/balakhonov_danila_lab_4/tutor3/receive_logs.py @@ -0,0 +1,22 @@ +import pika + +connection = pika.BlockingConnection( + pika.ConnectionParameters(host='localhost')) +channel = connection.channel() + +channel.exchange_declare(exchange='logs', exchange_type='fanout') + +result = channel.queue_declare(queue='', exclusive=True) +queue_name = result.method.queue + +channel.queue_bind(exchange='logs', queue=queue_name) + +print(' [*] Waiting for logs. To exit press CTRL+C') + +def callback(ch, method, properties, body): + print(f" [x] {body}") + +channel.basic_consume( + queue=queue_name, on_message_callback=callback, auto_ack=True) + +channel.start_consuming() \ No newline at end of file