From 9d84ab5ce29778f9d1305cedb2b0389086da789e Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Tue, 17 Dec 2024 12:04:48 +0100 Subject: [PATCH 1/2] docs(community): update latest tsc members list (#3482) --- config/AMBASSADORS_MEMBERS.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/config/AMBASSADORS_MEMBERS.json b/config/AMBASSADORS_MEMBERS.json index 7e0bb122ce72..5643ae8a3ef6 100644 --- a/config/AMBASSADORS_MEMBERS.json +++ b/config/AMBASSADORS_MEMBERS.json @@ -542,6 +542,24 @@ "month": "June" }, "link": "https://confengine.com/conferences/selenium-conf-2024/proposal/20021/unshackling-your-system-under-test-shift-left-testing-through-dependency-isolation" + }, + { + "type": "talk", + "title": "Using API spec as an Executable Contract To Mock and Test Microservices", + "date": { + "year": 2024, + "month": "October" + }, + "link": "https://www.youtube.com/watch?v=wiM20HTCerM" + }, + { + "type": "talk", + "title": "Contract-Driven Development for Event-Driven Architectures", + "date": { + "year": 2024, + "month": "December" + }, + "link": "https://conference.asyncapi.com/venue/Paris" } ] }, From d8636ab442987ce40c77b5314aa9395ee0a0e3dd Mon Sep 17 00:00:00 2001 From: Cody's Dad <40604284+AceTheCreator@users.noreply.github.com> Date: Tue, 17 Dec 2024 12:24:04 +0100 Subject: [PATCH 2/2] chore(blog): google summer of code 2024 summary (#3459) Co-authored-by: Ansh Goyal --- markdown/blog/2024-gsoc-wrap.md | 172 ++++++++++++++++++++++++++++++++ public/img/posts/gsoc.webp | Bin 0 -> 22400 bytes 2 files changed, 172 insertions(+) create mode 100644 markdown/blog/2024-gsoc-wrap.md create mode 100644 public/img/posts/gsoc.webp diff --git a/markdown/blog/2024-gsoc-wrap.md b/markdown/blog/2024-gsoc-wrap.md new file mode 100644 index 000000000000..4570a0c17595 --- /dev/null +++ b/markdown/blog/2024-gsoc-wrap.md @@ -0,0 +1,172 @@ +--- +title: "2024 Google Summer Of Code Wrap Up" +date: 2024-12-18T06:00:00+01:00 +type: Community +tags: + - Mentorship + - GSoC + - AsyncAPI + - OSS +cover: /img/posts/gsoc.webp +authors: + - name: Azeez Elegbede + photo: /img/avatars/ace.webp + link: https://twitter.com/_acebuild + byline: AsyncAPI Preacher +--- + +For the first time in our history with Google Summer of Code (GSoC), AsyncAPI proudly participated as an independent organization. In previous years, we had joined the program under Postman’s umbrella due to the challenges of being selected as a participating organization. With Postman’s higher chances of acceptance, they graciously allowed us to include some of our projects under their organization. This year, however, marked a significant milestone as AsyncAPI stepped into the spotlight on its own. + +The goal of this post is to share our GSoC journey and offer valuable insights for future organizations and contributors. By reflecting on what went well, the challenges we encountered, and the lessons learned, we hope to help others make the most of this incredible program. + +Now, let’s dive into the key achievements and challenges of our participation this year. + +## Key Achievements + +Without a doubt, our biggest achievement this year has been participating in GSoC as an individual organization. For several years, AsyncAPI applied as a standalone organization but was never selected. + +So, what changed this time? We took a step back to analyse potential reasons for our previous rejections and used those insights to refine our approach. One significant change was starting our preparation well ahead of the deadline. Special thanks go to [Azeez Elegbede](https://github.com/AceTheCreator), who led the effort by curating project ideas, crafting our organization application, reaching out to potential mentors, and engaging with interested contributors. Azeez worked closely with the incredible [Quetzalli](https://github.com/quetzalliwrites), whose expertise played a significant role in reviewing the application and project ideas, providing valuable guidance and support throughout the process. + +To showcase the impact of this year’s participation, let’s look at some key community accomplishments achieved during GSoC 2024. + +- This year, we achieved our highest number of project idea slots in the history of our GSoC participation, with a total of **7 slots**. +- For the first time, we had **4 ex-GSoC participants** return to the program as mentors, marking a significant milestone in building a cycle of mentorship and growth within our community. +- We received an impressive **77 project proposals**, the most we've ever had in our GSoC journey. +- Over **100 new contributors** joined our community from GSoC, showcasing the growing interest and engagement with AsyncAPI. +- AsyncAPI proudly participated as an organization at the **GSoC Summit in San Francisco**, where [Lukasz Gornicki](https://github.com/derberg), one of our community members, delivered a lightning talk. His presentation focused on fostering a system that guides GSoC contributors toward becoming maintainers with mentor support, showcasing our commitment to strengthening the open-source ecosystem. + +We had a range of successful contributions that significantly advanced AsyncAPI projects such as: + +- **[Ashmit Jagtap](https://github.com/ashmit-coder)** who contributed extensively to the AsyncAPI Conference website by addressing existing issues and bugs, adding testing capabilities with Cypress to improve the contributor experience, and implementing support for call for speakers registration for the online edition of the conference. Additionally, Ashmit reviewed pull requests, mentored potential contributors, and ultimately became a project maintainer. + +- **[Vishvamsinh Vaghela](https://github.com/vishvamsinh28)** enhanced the stability of scripts on the AsyncAPI website by ensuring all scripts functioned as expected and writing comprehensive unit tests to ensure smooth operations on the website, particularly as the number of contributors grew and more people worked on critical parts of the website. + +- **[Ankit Dash](https://github.com/helios2003)** added dynamic preview image generation for AsyncAPI documents shared via the AsyncAPI Studio website. Ankit also shared his GSoC journey and contributions during the online edition of the [AsyncAPI Conference](https://conference.asyncapi.com/venue/Online). + + +- **[Mintu Gogoi](https://github.com/Gmin2)** and **[Yuan Yuan](https://github.com/lmgyuan)** focused on the AsyncAPI Generator project, resolving existing issues and bugs, triaging new ones, improving code through refactoring, and writing tests. Yuan shared their GSoC experience during the online edition of the [AsyncAPI Conference](https://conference.asyncapi.com/). + + +- **[Ashmit JaiSarita Gupta](https://github.com/devilkiller-ag)** developed a UI kit for the AsyncAPI website, based on the stunning designs by **[Aishat Muibudeen](https://github.com/mayaleeeee)**. By using Storybook, Ashmit ensured brand visual consistency and created a modular, easy-to-maintain design system that streamlined further development. + +- **[Esther Xiao](https://github.com/FelicixAwe)** is making significant improvements to the AsyncAPI VS Code extension by introducing an autofix feature. This enhancement helps streamline the editing process by automatically resolving common Spectral linting errors directly within the IDE. + +Each of these project ideas tackles key challenges within their respective repositories, bringing the initiative closer to its mission of fostering exponential community growth. + +We’re also beginning to see promising signs of these projects attracting long-term contributors, not only from this year’s GSoC participants but also from the broader AsyncAPI community. + +## An Unexpected Turn of Event + +Sometimes, things happen that are beyond your control, and that’s exactly what happened during the final phase of this year’s program. + +At AsyncAPI, we recognize that a project's final pull request may not always be merged within the program’s duration. This often serves as an opportunity to encourage participants to stay engaged and contribute beyond the program timeline. + +Here’s what happened: after successfully passing the final evaluation, one of our contributors announced on social media that their project was complete. However, their pull request was still under review by the mentor. While the mentor had passed the contributor during the evaluation due to the program’s deadlines and acknowledged their consistent hard work, they found the announcement to be unprofessional. + +Thanks to the mentor’s awareness, the contributor quickly removed the post and issued a heartfelt apology to both the mentor and the organizers. + +In light of this, we’d like to remind future GSoC participants and contributors in similar programs to avoid declaring your project “complete” until your final pull request has been merged and your mentor has confirmed the project’s completion. Let’s strive for professionalism and clarity in our contributions. + +## The Sad Story + +Every year, when applying for GSoC, we’ve taken a two-way approach which is, applying as an independent organization while also submitting some AsyncAPI project ideas under Postman’s application just in case we weren’t selected. This year was no different, but we were fortunate enough to have both organizations accepted, giving us the flexibility to push all seven of our project ideas forward. + +Now, you might be wondering how is this even possible. Well, a few of us were employed by Postman specifically to work on AsyncAPI, which allowed us to coordinate participation for both organizations. With Postman’s higher likelihood of being selected, it made sense to submit some AsyncAPI ideas under their umbrella. + +What we didn’t foresee, however, was the sudden change of things. Postman unexpectedly laid off the entire AsyncAPI team, which not only marked the end of our roles there but also brought Postman’s participation in GSoC to a halt(possibly for future years as well). In light of this, GSoC organizers transferred all AsyncAPI-related projects from Postman to AsyncAPI, ensuring they continued under our banner. + +This turn of events means that moving forward, our participation in GSoC rests entirely on our ability to be selected as an independent organization. What if we don’t get selected next year? While that’s a possibility, I choose to remain optimistic. If we make it this year, we can do it again. And even if we aren’t selected, we have the AsyncAPI Mentorship Program, a program we created for moments like this. You can read more about why we started our mentorship program [here](https://www.asyncapi.com/blog/beyond-boundaries). + +This sudden change has made us face unexpected challenges as individuals, but we’re stronger, more determined, and deeply committed to our mission of fostering growth in the AsyncAPI community. + +## Tips for further participants + +While I believe that reaching for the stars is just the beginning for us as an open-source community, and with even more exciting project ideas lined up for future GSoC programs at AsyncAPI, here are some valuable tips for contributors aspiring to participate in GSoC with us: + +- **Start Early and Engage with the Community:** Over the years, contributors who actively engage with the AsyncAPI community before GSoC even begins tend to have better chances of being selected. Early engagement allows you to build connections, understand the community’s needs, and showcase your commitment. It also helps you stand out to potential mentors and other contributors. + +- **Respect Maintainers’ Time:** Remember, maintainers and mentors are often juggling multiple responsibilities, including their professional roles. Be mindful of their time by doing your homework before asking questions. Read available documentation, search for existing discussions, and ask clear questions when you need help. This respectful approach makes a strong impression. + +- **Focus on Quality Over Quantity:** Avoid making superficial contributions just to show activity. Mentors value meaningful, impactful contributions over sheer numbers. It doesn’t matter if you’ve only contributed to the website repo instead of the generator repo, what counts is the thoughtfulness and effort behind your work. + +- **Participate Beyond Code Contributions:** Being a successful GSoC contributor isn’t just about writing code. Engage in discussions, provide feedback on other contributions, and help answer questions from community members. Demonstrating your willingness to contribute in diverse ways shows your dedication to the community. + +- **Set Clear Project Timelines and Deliverables:** When preparing your GSoC proposal, ensure your timeline is realistic and achievable. Break your project into smaller milestones with clear deliverables for each phase. This demonstrates your organizational skills and helps mentors see your plan for success. + +- **Communicate Clearly and Effectively:** Good communication is key. Keep your mentors and the community updated on your progress, ask thoughtful questions, and don’t hesitate to seek guidance. Be proactive in addressing issues and responsive to feedback. Helping others in the community can also set you apart as a standout contributor. + +- **Seek and Act on Feedback:** Throughout the program, regularly request feedback from mentors and implement it into your work. Showing that you can learn, adapt, and improve is a critical skill that mentors highly value. + +By following these tips, you’ll not only increase your chances of being selected but also leave a lasting positive impact on the AsyncAPI community. + +## Special Shoutouts + + + +We want to take a moment to extend our gratitude to the mentors above, whose dedication to the program made them go above and beyond to support and pass on their knowledge and forge meaningful relationships with our mentees. This program would not be possible without their unwavering support. + +A special shoutout goes to Postman, who has always allowed us to push some of our project ideas under their umbrella over the last few years, while it's sad to see this come to an end, we love and appreciate the opportunities, and the community as a whole will never take it for granted. + +A special thanks to Google for their belief in Free and Open Source Software (FOSS), for making this program possible every year as a show of their support to the open source ecosystem, and for allowing organizations like ours to bring passionate contributors and mentors to collaborate on a project all for the love of opensource. + +Finally, a wonderful shout to [Stephanie Taylor](https://www.linkedin.com/in/stephaniertaylor/), the incredible program manager of Google Summer of Code, for her unwavering support during the transition of our projects after Postman’s departure. Her assistance with transferring mentor stipends to our preferred account was phenomena, and we truly appreciate her dedication and guidance! + + +## Closing Remark + +If you’re considering joining GSoC with AsyncAPI next year, we encourage you to hop into our [Slack community](https://asyncapi.com/slack-invite) and say hello in the **#mentorship** channel. We’re always excited to welcome new contributors and mentors into our growing family. + +We’re already looking forward to next year’s program and are committed to using this year’s lessons to make the experience even better. + +Until then, see you all next year, and stay connected! ✌🏾 \ No newline at end of file diff --git a/public/img/posts/gsoc.webp b/public/img/posts/gsoc.webp new file mode 100644 index 0000000000000000000000000000000000000000..a1848818af9192d25209f752d68623ae0cf31daa GIT binary patch literal 22400 zcmY(oV|Zpk)3$pjnb@|IiETTXXky#8ZF6GVwkNi2+qUjK&-1?DxA*?n$Lh7Zx~lp* ztGkz?q`0`d8UUasCM>Ti&q-wcuU#hzk_|!)_yGXrr$UPmAX#?L73%eA)w@K5uSk zmTYUkAD;7XcJ_PX{dB)~zF|L4o@ao$H~hOm-S57y%%_c)jZ4C_+9%yzfq|Y#Kke_C zZ>>+@vmUVLraMny6zKXw_~rFg`kt##IMY)A%m<==WPbpGZufrgJ#RM;+XuiNU^tNP zo96Rm6!IbWtmmYMsmJg8o=>R9?aLon;^z%ae%rgB`4;(pd5hZtzUUbf*8AQ2O?-a= zTRz~w&A!~eT90>bfIwg`;to(B@u}yVZ?4DR_x+>xiRFvprRLag1?YB8{3O?b=ix;$ zc(N^U=ok4l`G)$r;?V`@A^A@Kj(boF*eCw$|M&ZY;-a>$cF%9=QSO!S`MZ}Fo}lv* z>5Dxu|4U2%-<%T6K|;k#0LNW{+tEA-lH$7)CY!Ry~&`7X{5tp_ z)5DZwxCZ}gF{kB1)$Dv`DTO_j&2PcC)PTJ>2X`=yE-Lq!l+r)bAot{&rNeG24Q%&4 zqh`0r(WJl=yNSizV!MtY)CO+-U)yY751S{z_MayVTAm7ONu6wzzJo63_KsrTnz0A} z?3n0muC8ASNa!6M_pSZM?AgqjOi#M_Pb>MAFXwF(Fz~s~Na0sJ^M)2SE09xleQRx& zSKo~q7=855P2a~1TCGpQ`p_EPMtUK|H9;( z^_?{FmcC-Mx229FgX-?d zf!RN`Hnm4GX#)tBCFI9#3`dt`g!neROV*yk+cl{Z-83AAurx9#G+t6JN*I}A!D{%Q z)ciLCL?nbvQvw51eydttacdh_BhXbd2N-%&@%#aAMxMN_De1JT#|noltnUcHUlx;J z8kg<4s}109vU;wI_fco@0{lWQt)YlZxs?K{zEz*c4I|A5Bbvvg&hz6nytCrwdH*$r zf()AMCl&@fFD8tV?sS}UBg2<~%d)OtMPNX+JIrCMR{Wpk(v#4(GivVeFR*?Lhjwxh z$K{+Q9mLrtE^euGKb5QGCxRILrmKdmWY(u9IyXag>)sBi$Qls3dA+|h-W#9(t$`pb zNUvOBxmsfcjV+_bh_BKrD6ySrIjkHem;--qD-MK?&6bW_U+@%(&5a0MxJ9Smd@QPe z-I*pW$9n|f+ACd1=x-bjc^1A{{yFoXK_BMyTy(hnMhWu!eb`O}Y92t~Iyp%j|1%_m z%eAr2~7N5-e(M?lPu-zb!-2Y5{M%)13OtBH6H(n$@-p_uOpIR#3kD+t_t5WVP z!}1Zf?9)-og4j|J#3Nu6SMdXCAru$?z7$Wf>Jr$zox=x;e z5tWER!*be+QBqdc=C=2AK+13qctrvf{E)%rdap2JPRtQ>_C0FuJ)ug#t^MRh+o*gH}nZ$+#n0MTfj@&Y7@ zWb~h(D%llIE|01EKP)i4+5e%VL=w@HU7dXH{jP=;*tJF%Cb>_~vv~Hwj~bnq-E&Rx zoq@@auk#uZcv|9 zD#1!#_*^ci@f+eoAO9%1IgQ{a^jd7yC!s8hi+w#&F~H2|WW*an zAC)uWy*;`9%;a zY#@3=4IwqWLwfZDw#{}(Rv-LFKK~1#|Me_#;6N1~0ZZ^WBO@y=uX&+>?JDa-Y?$_K zvO8e=#MzXc1rp2of7owsIy;r0DZ(DoTS?<0LGrC|i`~)qFvM0j{M=O*>?xWh%u)~| zvX2PiN8;c3?^RushIhBk?ityT&(z0~eg4wbad-8f-09kaTjO`1!s1=QYCtOoi}67hFf zux8zL^p(j)+6V?N^GGI%^JZy{-5RfT0zcpJhzI3JqyJl!9~e#oGI~9+9pcJ#Gdla3 zFCRQE#JLxInJNW%baflQB`rk0IzYnb?|E903sEb*-I&Y4aAt<8^UpM+3Z`?@nlh~( zFyjA<{I-8irasWBow67oDB|SaSxC#=5heW@x$NX7hkrR8sE$ zn*xaB+M?Lo|AoXq5GoV@*XjOJgB8s#S)X&e705#?yb*rSy6!RusL@YaC2gcqG$5AS z(bJv-)Pg4xZC4WXd``DB3-fwM~pOVis+6~E=Bp-6hLbpP%k;Lkk zEY&rZ^bo-~GCRgdtj_ve_1_M?gktAt*S!T5+%$h1$*+UHV-KFBFt#iKt@pJF3Dx9p z1iwqK1N!^-UKG$W_)xm8T+S^^r+IdWf)rW+axmN$E-VdF zzki1y><;k)@xQp4vL7+o;t1QrpMrpz<<9A@Mpn8pGTeX~Ff79;)fZg;dEck9osj5gh=>4#xN9J@@qqp z=-6wzbB?0hGXdR?Zv$!9iEBw>1Gv+B7E+Kp{BaV{(UKd0q6d5`WC|)9byOGDp}%_j zx>BoYDZh@n7{ua)dpl7hJYOF(5hFmk-Pojp_I{9jR?FmX`UBiWoA^6)FFfQTHNOsK z8a@zdCBFwS=v>&?YwIs4D*aD8FaRcc(|W zLrQcMuTH)h)g1kKf1Q#?wUk*SoQFyhBIu#rddsefbF$QemazUN#%N3hV`lu(w8M(Q z2Knn3+-Jzi%-v=fdC7yoFf*fL&bw$wwk+^PM|xz}nCuTo8u|7(E|}vpuAE(P0dD;9 z5#zfz4!qqZ`MIi6>Nl0WJU#ie)UL8pMO)fXxG}E0^K!Uil`vd6v~=H>Wk@^Z1*T9k z#ePaA_b+&5>!LnyCu9m&Zah8j-V~kmgsGHIC0xG(6=_7?zx3Fzda6!Mqf+kTS5w!S zq$3B>p;RtrjYgKElqZ`b=V+o!oS zpmEiu35WoI!Nt1L9HO|>R@Irxd%=aY@;+aUzl_boNR~Aqx;cEX4D%+EA$Bk#A$Px| zz<3`}8Qgw5Se#!0-^^h?j4n_D+mQGCx%p zggqK$2@aZoL5MntY|J3=qj|P5gIuu@nMwn-w}mcle$;d$gOpAsplduPNv_t!&*5p)nIKsc8!$RA$C@Eo!Tj2VAKUHHahMBvn_2$#jk4n? z8V;fm76$-;$+NVsnsjaSqh&DhBi#mcyCAQ;q~;5xhp`H3j5%qOw^FFrsFyRzB@*H< zaOXNWHSkJlFvzG~1R_i-zl6J^0ZYd;wt+fi7Ys=GSTr$GMsQ_Ll1iS+NeFY{FI@f8 zyY2@jY^!LZ{%}g4lf>r^ED`K%dr7Tr)oSpSSXbNUviNhs4vJz^?pujFcXLnNZ>%;( zj@R0vpx}NxebDibbbRMO$KgaLA+*V;e(up^orw(67;T&!4_IRKklMVZyEpNu-n*2K z{du4@u$W9^{t{!pbVg->?aE`JTTS&Jjito*13MEZ%;Ac1;mka_E-D!s?xhd6W+E)4 zRNi4|`Rj?vH|)2uf3$$c-iLJaungJiTxqW%y)iH4p-`PYQ@OUC}c0Fky+KZy~9C$AF zG8YUwAKO8;i15*9zJ+;i$;aHO?1Cvlb=}HiWTmB-332+y?C&IH3XSex5J~X23Xfhz zAbNsUHet8Z{JA&p)8#foTsCeUgxKR5ouecG^<6&W=SPI|Dl|bmMqbHt-g=+ujRI5`aBj z6S_vErquk6=MeIrV4sl{>0)qq<^>s6cH4}Y?O3#~Z&H=}Ucp!Qd`jNs#<<^HC>%)a z>puR9-V&-d(+sLp_uR-dg!hvJvGcv*8$ok6w`=1)l=(~R4=U3MP4I~X6(N8io4u|z z(;&w@s<9LW={1=Og+Sco_ORm2*&9C#F$m7$duggb4WD+=jgX{|B5P`z>QW=D0F7u} z-|p)c;Vo)AbYOW(kC_TfK6k=1vBvHA(blzN!kt9{67Ho!Gn)#%Z4saiUe;S$M;quu z=5fH{4v=Db+~E-UgX(+x_TG80yYl zXg$}A=OjN&EX_3V0ouzTg*Bv#GdLJfjcpxX6-JZyiNR{<0ZHALu`~Cqm+Iq}5#xtX zReZ86a+Mu=?~{MOc3kkUe6Qr7-R|k}p*~KP7zUWG;nodpkAESvHpf&CF67~IMjf{& zL;GnMxA(WP9VzmiZL;!i4w&DD3WOA-5>p=;^$20PGrYnQHVI56u-SA`=@m=Y=BDWf z8e{vB6gP9u_N^qQnHViQVKN8Ju!ODKT`^_#fVg1iPggZ(C3lZuFF4=z9oG7Tn#Z8U z%xRCaz@RRTNfzb2wm?hS40{k7F%;RFK7^He;4Syr<5lxnDE$vK_p5&czZr(l&{;9O` zt5Y5o)F}*~8sf+%Ni32aoLAHbdKqUnXZ4QTT-UroHRwydY>T{RO(%|6Q=Lph!%v1$ zE(YL~n#=GZoaZhlColS|S(GRz^Jqa}>*Uk>_yQtFOx6}0wjztlZ1knid~PEHs{9=j zx3JhsKwsQw!D{VS3Wh$Ipl3OG?h!UHz?QbJ`>uBRaNl%%gze?G<)eA3YRN5*HnbiP zing6+L&hUToF#Rt$PIG=i@7DJ*6!@sUaY2gc<#(w(Zmwc5F-gD4&qOC9^>r!qkj&p zb`d+C3d+S-^a$|YzwUdVEjQm8gx2pZd(@EBN~R=>&Jg{<Dn8DFrK3E)E@wGxqB4>3rWrc070ea>pd~?&wy8FGX9cAVIW@ZN*rvK?_EDo z&%8j-g32-o2MrzI2fd=Pk!ct#+exPSU6t{I$dMaselEY&1(xxCicN0HEiY1v*6pV! zZv@XTnSgp*RLva-@pq`OcZS$_qN7VMc!OA(;dJm^rK9e~aUxTsM0(=8XD0|TYe3;P zhVFVhE6rD$nL+b=DJFMfij^3Q0?pydc#{q0ujt^ER627Z+~CyZZmLsS^njAmU}fv? z5AFx2_^`CIN3-*s=Ub<8Lw0Z7Bc8v9eAX9ZE%HZtP8-f*+D7_)aWw(A{6VIjAA#5; zFn-s}(dvJnx8N55)A9N4zc+tX3XzrhBIr22vC#IBma}|uV?`F9QEVqKW|3CaVkvt` z8mFE~qv!Z5k4q0lG7cV8+8IB5;IUT#1a9i#9ac@rbY6B#W}|mh0=U#vRz^ibKNF3; z{AGr^s3y%iKinQPl}Bn5!h9Gxu`BEE5liN6-wk8}c7(6mYsGvFj zYR*eYHOqykipSO$@TEU+CI_n8SCw^PD)QduH>v`c36K@+S$K|UmlOPyLS(1GNeG06 zK)AriIZZ8^5B;EeABd|z5~%5zuMp@7=!odL0jJRugtjP?mad~>4y}@zFQ{35oUKz6D7yIDWgl>^T*YL!J(*#_x4UiG z6buywqcW^FucsXalL&@iKRCnAB>%2?0xZjvqeOW{spQlsuixKzqwh5qfOAHFQVX`S zHoK!~tw<2#ZGB_fCa^CpV{cl$Z~e^$YS55ZLPyvve*NAv-^ib2z$>WS8od-tL-Y%V zQ3bOjG}$di?(hUucns!r5Id3ed}sXDe1^sp0b1#XO_ViJ==3=MK?NBNguSd>49f3SmxDC9|A>@$w@=w0iYZN52JWTPjs(Uec zw5{?>x(HukX_Ub`{1BY`HKvU&0H_MCYkjBlh?<2!B5i`Oq&fYyb7{%R@ApH|?eBY; zLg68UnUb%fFd>kcyKrpCN!cOmD|o-7FBxqzNEXI?_4hN(M084PZ1~j7pFfOOXk|;e zfI^J!ZyDkwr#4NxdbHYz-V@vAf(bME_EJ&K2S*!F(jXe#x?smeig!h!Zq?HbQO23#B_mW%TW$bPU)3#s!jAJc0az{K_B*+E6A007XI;B}U)58_Y`!fxGIs~6jF z(fpy-LfW44(SjM8rs6H-scp{cF?xL6wHvbY>zEcYg32Z#MCE^`r|qY-ANu8qP<4f< z4(0DtKD8JO1mm*1cuf2q$7j>?adju`$TN30Q2M1&;n?Cd z{m4w7N?))yGz3Pd8|6pNCQjbY$_3+YjKG*)maVMkCuU{r%3Wr(K&Y72D?Kk2<&@k9 z=0%Yzx~N3e*e^Mfx3@QPNH2TLI(CU+k_?8L_N}dUj0Ot5AKXCX*JEpa51~HY;=T@% zI$+0$G#q&Baz%QiCzKk0 zdyPVxXJlZFBO_LHMNo>244@zF^|E9=!Ob@|tZ$yXz`65>5OUDqWo45`JKiD_k$~>u zI<}6qyk#H~%U*d3Nrds=M7ITKvKel=GLzuK*`#xAY5XiP0n^OZQq;e)@YknD*P@5@ zJYhh`n_K+}2&NS2t+N04B{0^sW3K}5u{d08j`NT$Q_>*Py<`C; zCFc;g2+Q$p@2UEuIW@p8*Y*LHXiG76sB@N^>ymFHS7<_*&P+n`^miJ;c~Qgio&LRk zB1VV!V^XmSBoje2ag&2$eGVsRAY{{OC||+c!;wL9D>YGNaYeBcQ=beT{#~Jr?`!yS z1WS*?-Q5cwQV2_UH}yT&Jmxdz?_IFsa#hc;m&UI(Z@W*ttvLIF{erbGRTT9gFNC@*x(E_0 zeFtkq0V@_jV^-d%edFVUCl9JmmW+Bb_lLt~Pl21iPxq-4?y2nR=EVxX;W#6Eo;V*h z4}z}Q9Se8C7lYtXKKZ9!oMU<)IYrGr`UhL237sw3_Q}A*6Dpe-6J4O4i=CgAsW35~G3~maer=E8mNCaAM=Fg8MyzUc^J|(=)vltVKKD1&T9tkpaJW(8v0h5> zU3gTz7JuJ#PpfR0y3jt=&19p6dvl98QH2Q6vyhW!Bu-zbh5jBw{%hB#d{^B9nSA01|;i~;nKEwZr+ zmKB|*?>c@Y2#raXfW*4JX2$4(9jbS8MyL=KziqTN5Z7T_I|zaIVwneWk)agimjZ1? z*Kb&jyYZ5!g_f{k_bjXFxL#0CK?CZ>+kTd7eTIEaN>TOj}}C$d))? zyoqcF9IlI=rruRhWKq5xb-j&azh4}qZ}w~h4JBG*dmzfcIai4!rDUrxYP;dP;(%Bx z#$1K`sRWB= z2l2!R#%rQbbp@skuAdQ6bfzQp;(Rf^QK)6Hg_Q@_#G1te|>eQk!N(1HysS64cA;MH;>pSt79c9 zm`X7lRZk){P!`GK1lPaq{x{x4-+McAy;Zp89N&E$iDE|~&P72TE!X$?++AmL$BqCS zHYs&+hSxRn$)I{}(%=4!=z6~IutfBCv3SjuJfAA(vh0kvwpPHfurdqc>SnjGfrPI* zGcGv&qaB9|wwNcxu9bsR?NxQ!R>*a<%(>pnTZC&g@ z;S=JiX(U$M7#I%p@}L4?pK&Ybb($PIHcRh086+wW5!c`08H{@?0;g|S4`W;#T+jOA zex&z$2rc?Qh>=NNL6!P%_xA3cTAfaG`OsRY>Ik9uc9028kh1}{0&NJTo=%xpYiXya zm*^jaH(Lo>sM0Ao@wUZ+UMLCje^i1G$Z0R$&%%BSVK@2N{s`uC=Zc1!a_9u@eX*?I zfYu17kf|)=Hn#>-DVI6HDw=<)2t7PvfWHnzZhRZr^6M~w$k^4`TfIa_5bv?EB!M{m zsIp6#=44Sncpf6?>99>tYxemiAfB!88v+rG05jE}UI-{=<~H2PCeGgyExzO0EKkU- z+q38bv-*%X|CT?jNl09HAFX-NlCG%h^IGnT5I(rA&ubH&(IU?GbE;>!?mp{QnOqaN zQ^vsD3(tsDA-%?#w$3C^N4{c!NAE>QZYTZmlHH$NHT>N$TTlg?Z$W)+Z%II$cC}agu#v27t)*@4G;ohA)i1(`Pp1Hh_Kab)p(YTZt^+-T>Q^2z!tjSV^inqAxY<(C77sTH! z{D#gAkh_Kp30jW|Uv?gq@F=1Ux{yijeU08t<&9bFPnv4_ie_mah}`%xJ3B>`h9It| zzPv5eYqJjkuF!OU5_wlEXdOwdd)(D@#AURjT!_|`RS8@ku6h+9yx>Uc+?L>FKb@p3 zM5qFkC*+~**>V;}7We(^IvdUZ+zXJnZsj#eN7UhRAWf0Rm&Rk|3X%@ajHY!sQ~s1p z8>+IIuQ&9EMt38fBr)6`vmf~y}(=J~i}NzSLSgs`F`Z`|sZkt-WjfmhbP zSc3I-1@fXI8=R-hzd~B^M<2B7RZ#M*`$IXt#zMlfXN=IqP?GegLMqo-W!hZXqh9w$ z(bhGZ9+AJ%B_EMx-#-7r4#>Z4`gG)HReA>LysrCf$i(A(7Al;3gn6N39lZ#W$hK4{ zaf8@1m4l+9YiEg+DeKR)nSUBqKUvIjKTt5qB9Dux143)QTrNUS^)HzfLM~36FZ*@SI7Ag z4CzJckj|(i`4V4QZV&Xx$llS5$JB80p?vdzx410k+6_6F;X3hp6VSo36<`z zKbvroCK*o6EWUZO!m6u~YR$4vf9=j7p|CXFOWcE}q{GDVK^6PM@&dXN5lU!4vgJzQ zZ@=WuEQqCg5Rc6XN|qL&K$9E5J;dnx#>o+2@~Y0oFu>6-(j6VxL% zgLrh9si_G`B{XL7NpSVV98?n3;I^SxX1ae=$xSW_E-rP}iOzw)q3PD2qk2#5n@cJ; z`Y!%7X>3B~z5AgsusMXEp%IaLwI?Et!i9xyCm79CN6nXzfGWpA0Ss|IgC~O}fl$)P&p41-(4xq7<3lY9I$#cv00j1RF>ZqAfj0>@KI=lXrl*SnZ0|sAwuri{|^0nIvRC-w2bWd_AV=9!kIiWr@(7dx$K1 zJ7t<*bomFfohE#KlU#wzf*nV%;IlmfE4A{)H=C+SgBjBTyjD<*>#P1qg!Dr}s1LI8 zKK{OBPO!6BE`5boqH(ixHD~;w?!BgpUYse!%o+96MDmMB6}(qPu918db5d?f&RX8K zme181v@!rdpJtUH8%^IY>we0lO_H+pm0q%ZNlh$s=V(u)ISO^#(QE(;LjGOEIww?> z1?*gQc7vwTIOTWabNvEh+y0W)tK%aXH}oDHOSwDo?fxF&$L~W^7YS2@3O2g0>;Q;R6gtu_s?TiSIi=IuXi4Re~RPYhcYdvplZ7 zyj`@Zb85Q#rA}n`_{|W3Ssu~BMw)|UG|NWWUJs&GK0UN+r5Qvh1qf4IJw^#(F_!Sg zgr{QYkMRo>F)n&bTLT#Ql)f}IRozBxG*pl;#m86iRE8k%aDX=t4_~vCT2K4AF4)B6 zgq7f|Wv?6~5|JR)W zw>Z&IwWMTmS0WScFRHI88uR=%KoiaPw7mz(C4el47E(EVMt(@K_E;S|?HGCJ4faK= zPnkhEuiYM9O|N2cWFbxx+FMxI9A!y%%o)K<7DNzOXYPDYxeK|!TDTepJ;7kL(h=%j zA&y#V&&rt1W7S~A9=M?YnR>QC$D>rY)Zp83=9kFnF)lwlD@TiWtp6iBRai*&Pkig- zA*Hrkv?9!Y3ReXQk0zajCf>R|tGT(qo0i*K2OAWGzTJKX{Tbvns1`gD8?T~axK&)z zb~%i?Ur}SDy5^^rVbeXIQ4S+AXq7RU7z&{kGtPPAln%T7nfJD8WWCx@K&0);=J zdL`AJpU-Y}xDf`!Z;nEG3x0op&Y-c>!sDt+8CWbbk0sVAC9INwnO!q(h-lhO5$|_e zrTt8=B&n=aBJDl1f}b&yr}$L1)`B`3pfaShU=OUE6SYS&iwg)Su2E2Gn;RYU=M~ZS zL+QpD^%!ORL;#=fo7I8WTP;%Cj%8x3ekl%ui|fF?SB&-tQ0T2I_eLp1e_3x~MepVt zgpwA(pFf1(wX`reYWBAq1b>o(YDgsxnx57z_v)#2NA>_*Fb^PXmOP8 z?x1>sDVLNgd<_5)XHGZ`9$H4qy*^@55K+LImOk)?(6Bgy6&gUXmyfQk;l{i~Doe4w z%bb+h@I9!+S&H0TdG7D<1^d_SeT_L0GF1Ul*_T|Q&Ce@qDq~q#{N_h~c<>H9_ zd255|R(uF=XwVN}X2%TYQ5$taRHHIc*t)B6#@&O;T)}YIrR}B@@tk?c71G}8@BKb?8dms(nUe(Dm&Br%0piabXU&R1X5eU5}T z%;wM+slQmX`g>nc&Zi1aftAP|KT_UUPym>Vv_)wV`O~;QeOo(5qz1pOmsWj<(~-pV z@Vp8@y#&sf5(i=88FN&@P+$mD%&nRiMshE?r<_6Fs>y|CA!L-Wwd4D3xpNOaL zMb1x!pm2^O+IDs54_cWE#AVZG(3C?r4szRiy{1K6YkDzGPk3GBRVTJoIVT`y9@VHx z_pJ5y%;**(93LEfa;`tX59VeeC9vPd10Y^+DIBHwY5iscR&Md(WjJM?=%2#?RWzNA zJbU!YWFJy@rx*kNh?<2I5=}}E+L?PyeyW`$rM*qPKOjn{kp&k^cBzUPko<^{k#roq zW>(^Sxe9M~Y)aCyER)1GV5OzBR1^gR-*8eV6Ybg#J!EB0^5?c#uk8dK=+i##gDUnF zfN!O2!)5&^r@Mwmhk_h|r$Qt$?_yAU2Ajqji1vQFOWm&O2Pv(bNlG5Ou>8r?%YY{i z1@G0)Lc9ft+sEdfAl&E5rw=NW7anX6Q=Ua3Ca(nlE6Bv5k(rx~Xh7sDM{TifmG_cr z=!#ityq)WY$aV#I+Ur$#dN6TaN|cDk8R}0|PJ%Yh&q#IFm7hwzRB_L=g4di+4=X^=aG!a;0sMU2A5$s!AQwVfG@`*{WIS44dpp`R zEpBa=PB%xw3JP2^)f-OO9Ra7Slaxe9<;+h(7qX1wZHi_>;!&GM z04VCNDMq;WmDCtIy{Pe?D2oPW%@yLw2153V;SOtUB+)oZrl3E!QODe0u+|HL)d|Y? z4QvxaEhE~(Sj7m+33bgD3)r6U{Q>{TdK~H?F>n-ad(e3u{;F=*rm$(4S9peDBpM#q zpWJhGW)JftpRzOgOYLl&N}I3g0K_3-$F0pSpP}C`TtyR=t5;{$i_5~}L^J6APqww` zEV;8$65|UwLnX$(z80pKd_Yl4vod5w!mZumByHE1Jov3BB+$rpUNyK43^7fUV= zC5`D#CBA9U=?6^;szVFIU1REbaWV5ylyk1QZs#;Ff~fuQio`W%!`uVj4OOoH_XLUs zswmOU$p2d8i+2fv@*r`m(nde<_m(ROOcl7l@uKnE{OXb5uyGUxw0Dd_w!_N~o1za{7o$w>P zIJox-$Yk;jded-H6+GXBp9NvGusZlAa9O2$*K~@>{=x(}x*<$kb2T&AbSyB}DsAy+ z%q+$eY!QQ89?1L4aXMC{>>`o3s6RTfFAR{=DK>NLX0##TzNsG;GR%p|#dqzV9|}8P zj4=ws^s{MtA$%v@_%`g{&9uZF0NAHU@`mKxslUF&>+_lP=84u)KcGVXTJ238GThcE z?iklS%?s)9;5p<8Ed5z++|a#|>~-yVA)xUrm`tO039^Ga{)^r92NRI)F1#lrgT~4u ziWk^s?9?SqkLKPzCe+G+PJr8>clR95n6D zUWs`BJ$m}QJsxl5)l!GQP(Be>5}=5WxJ6EWM=8S}qSkCwi^H28l`+J&8?raL=6WbZ zm_O*C+>R#O&JZyGh!Vgayy9ukxfTQ>VgbV@DWksqax!s`lJepw%i`IJdBRx%MSW+E&yw$DwEDH|9zywj<$($8FC#ziNJLw*J zh#XAv@x9r1Ln9YiP&l2bEn2s)*PZvIFu@C_>$%}v?wM)FgRc+fs~vv2c{2z)-VQL+ zL%Xi@o78|GzAEK7i;+tzDkoV&u+WC-(5&4Q@PpwNQ!uru`$Tsl_IVyKLm^Kz9-Djc24 zdEwT;F>QlkzUV$RVoMJyg-l0Bofz&pSpg8>o+16#vg{k{OO9otY*=j>mW@?ws|L$r zC-63(WbnplAPr4>%#1HA0U?^5ovtG}%Sq~+Y|(uQm>)Mi3}7hf#MQIrC%pnB|9FUqbRnvMTLtGoS5c&@L<@APtge3-RqUaq`Kew6_0@yc?g4# zW;?9>Rg|@2Wjdn}HK}<7T-_cM+1mkV#YGZln*JB9GeEf${qhG^P0#v{t|RHx{$@}w zIKcc(Z|F$fV*H%POR>9nwhwWgL!D0Mj-4qb&XLKAqRaH38@oZvgkFX^&lj>z;g+e@ zq|hZFP-i*30zrbp-n7M1({H90jdivN;O_z`X9X$Rritb0M%|pf;uveo=%DiEO7`<~ zzc2jRCU*wj#g%v4g2p_54tC$A!ur@T1aC;#)8>JnHU|Pb-pM`M?GdDB34-fqr4(NFs?gO)63{c zuAchTU_b|OCoLV6%S-LrQO5+T;K1+@Xv#<)Ro_!cyDy+J{pFr~O?e_T*W$|m5)*m7 zkNI&RVfm4}G&SP)VyV?=Cid>&=dZ6PhoE?V8!`slbY(jAGpKL*6<1g%?-!!P+_6-h zYo-OHmXg6Z_VUB_SEjnHcSc1P>d{yo*?7l|E2Fqh5<78et8ds7KCOBWS!H@Ws^c91GWqUo1$)%?Z&Q&d_%P(KfUY5uyy$Z;NXeTr!yKi zydroPW-x%G*1j!O*+IjFx#TILLgTOB_z0iz{PvZ@08=2J>UrzTNMvOuR*AX>Hn~ zPD+(qzYa=ClK2|1RGC&9;8AcjyH26g3$DdRY}nL?sj!a-crewTh?i2?PkB-I-z!#G z9unj8UNI$QBb%7N8f9=_UsO@n-01KTPKKicoks#=swm5fX{m*`HYh(AIeBgjB(Kx8 z#5>1sY-BGY8SYi(G5w^jnY*A^(*-p%6Y+P|Tm|kSCE~g_QlwwRqIP}HnY@qVp7e_0 z>6t`#Ny3LhCyNhmA-HK__px6hknc<+>SG2 ziw(J58T0<4xa%Kw7a?}=vT#VI5_o6Ik!_VEROGV9Rt|cM$JQc~MK%I6Ha->wxSO()lbBb zqvISD?4JxMTWy)^1*Aqwo#|e%j>1+}&Hb?&Q%8C}vS~TBNOK6wOTXR}sAn7T^5C}8 zzsh%d7aG8Cs^pu%g?1Av5kVS%!Fb`3QBx_i!LT91nPr|~ zrPa2KL`$-~RqhwU8k-D1pahr(b0vMrPRJ6$X3uwi*tt2Te%+fK%zFrJBDoFn@-0|^ zXcc_YwO`W*B&d?&NEgLtLA;ycst*T)fY?s){>0N^DZTvR%kop<;x=b7;(+Uv|B&$l zZ^oxKZtNh)7OvaoH{O`aMj0S{#INaHttI!J4&C!*+goc_sduk%hWS+<&oK2eNB5O! z&)1gc^dDJ}PFSn+Bx$XeBB$%atRGPFt$-UH+`%>yeA zG4J;-5eV^W8~6I6Kvk53x69-H(R`baq8cR}n663pGstfpXw*qOy}(NbY22*|lCvH~ zUpswxPVq0RQfpHK+!|hR0e%Eyo7O>(`;3vDKl-@BJpl%t zoo%z}M_PXNfFC3ES!k?FLJszhQU)WLm-E-oxfTcn!Tu801(lfOeRBG1*nV#j*%#H) z)Ccu6XGxx+hK4jpw&f zPGY9C4kT(dcj^@?(>h$XG*$Yi80GmN3WVu(P&G+_SKH!Pcpm z$RHij61l{{wO6tZI;$RZ)BkS$k6J{fG4?Ls;AG_NU1bk38M@-m&;`90zmKl?0) zioS0f9CR_r{C}4lyVVBAmJdwnHU!aAvCJ9jv9K7f6n8+b^ySkWhTAA-!Pe| z_ROHn9>)M~l0Hv(uY`^TMCRWExMO%=&lzH%*C3k2VeV1eDT4*;su-GXW515=24d6c zQJDDH<@4|#llpJ9j?wJ9#^o*pP!6PqSkGSo6;!XTBdd4GEnQ>9V&J8$#1D# z^D!AFw7Lk!o`v5KIxui=5WeGCY(>x$zuO7G&NC=l#@%*Sp6b3cPTz!o)P=>I?}SHw z)MshHVz{2Ruyc9vP-z-KCZ`jJA)IJn7E6n+-SATavGQ>l&=rR4v^`7pBVl_U$I2<9 zU6QC4hJza!y};wzh!u?6+NyAxQD4p^LE5Ck*H#*ved+9U7*BlsMQ9j)|5}+1!`h8- zGVwf$fyIjI`IEMPGgiQFL4vlN>YXVFt(9{L+PND%bWksXwaW#8y3!H13PkhAIShCY zMLl(5OvR?gUr!{QJVY@D4W*cF`Gd06ZX%)!{ZwE`e6jl>xTT$x6-_*5Wn$_=>CeR& z{KfD`xA)zp@%^fnvZy_*$pz}_8!epQC{3i#U)`nCaSTn?xifUc9mTktx#Zqq6;D#U981d$Dz4ONi1 z#&!KrF^~Mi435}x038a7;{$Ju-r@l1Z;!DM5Xjkwi&OFer38J|v z(&^4@7|#(g^0?i{<_A}NNA1B8?ktZEf%(T@(n*P@k&X5#6&iJ*B43R=5H|3bUaq5e8OJ-KOW z<7Bm!lgvmdH@30C@+Cc0iTaN{E0+ngPjKw{1U=~hqY4n$oVpmh)}ZEhH9a5Es-7-u{LzBAIF zBXWGn7vdkVv%`<4Wf6~Mvf<&lTmK9<(abC^ty3U&7$hp~Cz12|e*$6_o$0U?oTA!5 z9~;Y9&1v6uW$ph3x+VTP+nzJ*2pipcpKV1VU`cGljZ%*sj$4_so8%(>*%#N&&7+{Q zHPXTKe`o8^L-X~%a{m!97&^=J$4<{eR@ya$sQ0N}QT9w0TJ9d+l*&9Gm;w?^vZFsX zYG^itwot!Q16M{eZUASS1{q`0O@*^22*1q!+dO@aDy`lqLjiZpd-+;ni*t`d?dWEYR?2<)Sj5QHAdF2i!=`HjgPY34&-Wj(LK@Xt!l~kLz zg6+P<`*oE+nLN3W>$6=-E3@f`R&NOafd$_)DdjIaQT%%GK*F=e;e9)qrZ={g)gUqDVkZd>M8s z1v0U?U8_KYNEQLrJ*N@Q9l7;ZFB)Le+wN5%;buw--%`YQ#)rM{1(?9Cx8g0dY##h~ zr)@h+zlKt4x*fwq6UP#|rwk^7pKfmKM<|wpYk-(^0q8&AhDd^SH{6#;72?4(@b302 zZ8^UB=0JFNxVMFUA!3!?x5{=vQP18;obaNsXc7W2>`&4rYViju*La#^#?0TvopnSh zGSUa@@pqhhTfVK)tYT#Ri5N^k2ObB#X|g#W(%}FDz=)ul7sAn8E{+!at7ssYBD{d9 z*AC0M39#hy_RD1}=A8l%SLhzJesluLMN&gCX_hQ4cQ*${A;7xcLp1oH9)9*{A^uf_ zl8(%VGfT}^e+!;-Ul26UiKrPZ(Esmn3L@~9P;r~Ue?+YaKBN;GDdigywd~Kd>c`2C zrKWysrYt{Uj^6@@rXxrL`z=Y4eLcgQJhgaxlL`)qiW`s`m5Tf|cBIXPZLnsR42XZu zkvn}>}dgs%UXZ{16K-_sx$0vp>F21CN-l=$x_M% zg(ZIL541M3so7L6oc&@sCNR@utAE>mXlZ4vELp`aKvmH??-kl+AWJ{GBZf}$FE@W ztW_#dZEEx0Po?)u4d}E-S@Wy%Lno*s7yi0(&at}=FE6o5v{;16M6JRM3xrREAK45X zdqE=)LL$k@$Rw}Hc$ofTkvP^JK1s_;B}$Ds&0KyZ2GP%Ep0bJXPH~-S&(-bNvyc7~ z@N9}M6%^_`l3eiEHKM~oFd$)wr}_W_Y$3~DPxhYP+5M%JA2Z7@RgSys8Af_bA;l`_7m{gPT^lk)M&#BRwp?DyvC#4kQ4P5J;>(m?$xZr zO5mba2TIVtdwGU@JL3VHorH%BRq9U=pZkXi3l_Bi000T_a~020pTvf?T_k&EZ4ACn zt_3q>zbTcgmw#IL*BA{Gp8OJe^qrjgzhHgu+2W}Lp4N-Wiq69bl{|wWZ99-0mw7HH zBaQ6CTl@J)UV)2&VC0_sTGF*rUgXZGJ0 zH>e4pRd&D{0hnUsq=n<|YJm9FO>^82NZCJW3;W^(;bad6=5Oxu4k8{a&LY{&L^$kZ zq(2it)twwgP+b`9w|3YLB5Jard$7&$FaP$ZR7~X#3ml*8CiDfwM^uZ3iR@V`c5EBt zjsFXop3Wd;FtklJwZN=EJ zU^DLmtw+LwyG^BmeHfM4<<+HNQqdMorH#{KfP*6evGEaHKoxCS z;u-J(aMlpH?LKd2vHVh<*vAE4s z&Z~77Kh8rUEz42@HeqgN8O=SUnKIOR>SMup^4UH{xzqpJcF_ANgr;ZP^5<2PDf&R9v@@;wG*CDv`_x#kPoJ{+a0%KAp13&$+_s& zd^lTXw7k#AYb+))f}bhHDdzux4RD(%mkMR_e(PK*6UMMg8bs)cy19awX0jNxcqRsV zyw$TWHe}sgFI=594&*WFJdwkd-%SYx=1>0S&qEKcIO(i3wgK~3MEL()NWCx2-jUuXjm>h56# zMk_}f&Qyo=TyF6mhrKkw5fKnV%G{?RnNL*xltlUC#m1^GFD&z+18A?j;2#r!n>pm> zQK^Ae>S~9fMbyKr#1jB9;z$2J?()yjlrc?lZ@2h$-nW^LV}-#U%-5jiN1u*9mM()eWt9vqs+9m!?!!&H6O@6dUFJ~%Unp^qdLtgu_bW^ z{;791iiprRT2nWM0rRGKMlKllf&RJ(q93U&0Hv)hnahx>Z1J# z<=ym0|B36%6V-`n%3y04=O_t0VITo-)rc|wom+%4GbVfNJonj3)ot(NX0Evnp*l#0rT`WGN} z?+FYKX<;LNw-?oTdA{dN)nreo@(M9Yzatf29zL&y1Vf&8Ryv_c^Cyan75z{;6dI=|#gY5Eohm7Qs8NovVW1Y7Hqn?+#Y6T!Ui@ASR(s z3@eaEJxE2*W#%?@{V?}cP)gE=kV zF+v`A59Tn5QGx9pJoygJSg8Qq7b3BhFwakgU&Pojf+w%#`y*th4|o*${H>sH>Nbg`@&-U9WMzsa1p`#xM2 zaTeg%Y_QRcram1<;U~?(;&O~Q0q|J>2%d^V=F+m$SZJjQXGCg2M<5$q1^VF6Ft%7} zY4`|9Qk*f&SZ*0;oFDILUP}z|P4<;08VLzW%GbW7Lpm@b=H#-gXH<+A(&a88bBqD= zsz5{ev=VbV60LCfihD)-{+P;H{t8yLXZ0B1du>H!+y2BhDnvOB7cqu-KW6e-`)@NT z52l_B=r?czud zuF9nE%^0NNtH)3aIM0IN#2@5lCf^-~bw2le=73j$uNgV-xY+Zrj2)dqniNrk!M2Od=0p!OG+IY zrMkd+pJD`c&0O-ylXN(#I9a)`?ijIywia6QlQRuvU7q~bR$=_iauh%Lu0pi6!l
Ual#^ZG zwFFO6o?_2#*TQ4EzoyCT>IX$pbyOLD002_obD(^5zPhA{;yBT_N?27*T_g zcgRsTIPel5lviFNh`VW494%nO*N;eZE_n#cM!LjNji>d%%l>^Vgo^f<>1Q%i0Q3K& zvQi`CwlVD>9yZ!A(gBsUzRk@( z83XlC9yxIgB$U#O0%-n8VD2tn`{+f^CdCb$hmX3oM)v{N>d@UGz$(_cKL-4c@q%B& z>|h6g94Y{_PIEn#jQ#2ywS@+?+$11#EPTYDX z&hEo|!(O4ps26tq{ngv-%pTEqoP@vd%4D|fW4o*Q&U`|EL&51S$DqlYLn^t?I?s%H zyP^3IH=sqE>OK!zykhrbLt5lSV}dX`rjb+TRbb#w$lOA#PLi9|7HW}0HvEmSGKbJZxbYF9K}Jdih$y3&?$G9ksAp3X z8_DL3x1WZQ0`{%g(h?sBO>=XRk|}X7mo|xFUy?uz%PH(j_jSV1USE_9&3 ze`I?q>rgJD{j;%SLi?#$9A&8gRvux4*s@ZjbAsQbf6u{dk~)g){)P@f-K#)}W&%Bj z{EG7i9Hm4VtuBbTlw!my}{tbamyr6t2^`a z`m8E-w4)eJC?vU^{5PKr4XX;3(0pk^1@$uR7 z^<7Za3Bj2|alks0Sqo=gN;cPBj1di}mN=K;^9zymv+`(! zvr$=4m6s;+KjG0bJ}qE5FiODM;wvtp{#(uUL>G_*XZ$P0tU%0g^?^Hf3LKl_=M1b_ z#{jqoO_IX3rWC)}@)a7Jb}#DDic`_xUSu52K$sc?X6?s2hX4diXM9dH16qI3KYt4uUZn0)ICg6V7QR^9=XU5BSPO4!N29T<5&TG ztKDr}K$131;r9MhwlH4Z=-`}kLj^s!&UU3z3Iuu9`9kl#<;ss>ts!3NViuQ2KY7_C z>%BTk43E?Z*Z6|EPi6!~EzCqATehxGFI=acrhRYMvB?0|Iw3<63bxXYzRe#>Go$F) z)zBrWTXxGa)w1Z#1i7BOm<@Hkc@{h;vJi|s?GfanPs6BhxE%VTqW}TG5 literal 0 HcmV?d00001