From 0a4ab58b9fd496e3bc5453046753a409ef23ca56 Mon Sep 17 00:00:00 2001 From: Abheek Dhawan Date: Mon, 22 Feb 2021 15:45:51 -0600 Subject: [PATCH] Add LICENSE, README, and cleanup files Separated bot files from other files and added a README and LICENSE, the LICENSE being the Apache 2.0 --- LICENSE | 202 +++++++++++++++++++++ README.md | 28 +++ package-lock.json => bot/package-lock.json | 0 package.json => bot/package.json | 0 roundbot.mjs => bot/roundbot.mjs | 0 images/discord-developer.png | Bin 0 -> 7740 bytes 6 files changed, 230 insertions(+) create mode 100644 LICENSE create mode 100644 README.md rename package-lock.json => bot/package-lock.json (100%) rename package.json => bot/package.json (100%) rename roundbot.mjs => bot/roundbot.mjs (100%) create mode 100644 images/discord-developer.png diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..9e91520 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +# AwesomeSciBo +A simple Discord bot that automatically generates Science Bowl rounds using the ScibowlDB API! + +## Deployment +Deploying this bot is relatively simple: you can add it to your own server by using [this link](http://scibot.adawesome.tech/). + +## Contributing +If you want to make a contribution to this bot, please make a [Pull Request](https://github.com/ADawesomeguy/AwesomeSciBo/pulls) with as much detail as you can. I'll take a look in my free time and see if it's worth adding. If not, I'll let you know what to do to *make* it worth adding!https://github.com/ADawesomeguy/AwesomeSciBo/pulls + +## Installation +There are a couple steps to installing this bot on your own server. +1) Clone repo: +``` +git clone https://github.com/ADawesomeguy/AwesomeSciBo.git +``` +2) Enter repo and install dependencies +``` +cd AwesomeSciBo && npm i +``` +3) Create your own application and bot using the [Discord Developer Portal](https://discord.com/developers) and add your bot token to `roundbot.mjs` file. You can find the bot token in the `Bot` section of your application: +![](images/discord-developer.png) +4) Run your bot: +``` +node roundbot.mjs +``` + +## Credit +The bot was made by [@ADawesomeguy](https://github.com/ADawesomeguy), however, the API was made by [@CQCumber](https://github.com/CQCumber). Go give [his API](https://github.com/CQCumbers/ScibowlDB) a star, he totally deserves it! \ No newline at end of file diff --git a/package-lock.json b/bot/package-lock.json similarity index 100% rename from package-lock.json rename to bot/package-lock.json diff --git a/package.json b/bot/package.json similarity index 100% rename from package.json rename to bot/package.json diff --git a/roundbot.mjs b/bot/roundbot.mjs similarity index 100% rename from roundbot.mjs rename to bot/roundbot.mjs diff --git a/images/discord-developer.png b/images/discord-developer.png new file mode 100644 index 0000000000000000000000000000000000000000..6d18a4c441ce375a1d1ded14646798ed162eb059 GIT binary patch literal 7740 zcmcI}Wl$VZu2M8=qaCdhLZozeN7I%kb_j2pK zAMe%ub8o$RKjuuIIdx{btNZ)9`%JjX7gz5)Oe`LmpehWtDpq&KrZ z-(EY*>9_#^*5CiUkP?}(NCANSL|*Enx>x!!#M2MgGn4=9)OsdOgQZ!k%B43M>*X{V zl?2*r`rx`T3w95^VTNYNh#}~5JM+kG$l<1W%+Pf|EhGtt>U9V~i9;$Tk@G1e-u~Kf z7ygU(&GKN4D3No=DHu^@2`#)o;D4|#;rW|>ABjXQ#oRx}24ufRa|^|J;?P2y#QvWM zvBah;lt%ucbVJm#y!?%Rupx0|Y&X{$tBKTNbtVD*ib><5;&N6dF^AeEWL((csnMpZ z_bY62whw|^lr_#D;lqg|NXDnDPVD+^brvH}Iw`~`(68$1es_bDdwY9EBA4dI!(9tD z&CR6ztEIF1@Q3-%=p$)b_wS*@8fXgnQwVJNcvAkAw1fn5B79=vW)3b_-IKaNznf;= za^f0q1%(T8PZpFQZmV%rS^7HRQ+-3NHDkUsSuO5QTMX(It3HPgRA|7@*hv4gZdTw7 z{z$ox8MbbN{sz3WZLWsr0lOQjc|&OMMe88%cfDu%+wc%<`({K&XXh@c^_57uHcN-o zv`jo5X<8~4g%FuYNlS~*{Jbv;cDtd|nKm2P^LB|>ukn~@mRZ^w7P8b?qg_rA*=Jh4 zaEyh(DIK%Ce+!_YeuLe+A+3+5xD6<$^Q4V^0oS&)SU!$t08|M>mgDJS>w@y}D{bBh zD)0XtxC?t8UEKS1oB4|k%g&Gqc zV9a-0-to=D15{X$_dYSM8^z77u)qJW3f}c~1w=G8vs*biBjY;I(03MrINxH7Ar~hW z0jrG>>7f^V&?ZdtoHg4-o^qNL}kHNI`wJNB|a?P=wFs) z%>P0z)O6iVx9k-b1#(b&`cb#trw~VSGhL&_BR&8Jt6qZv4;|?8K29D)NbcJb6xQiGmgQ z`8TI~G9o$#6_~9bSj_k`FrH!50&z@Hud$ha`HkvjUC#UA%Uo(VRA9}oc4EUlLaL`P z^3DH#g{y{+#_{Dn5k~(v)cfw&{D=J2gS$g=2h>EsLOZT0^jzvE! zJN?uY_Vn9v7VtB4g133+CRctb6!tl~BSM$mdr9NCc`8@CXb&FosD;M-i+1DgWc-%> z2^T*AflmEkQh}303H|>nK;AXyyo6}KfCwxsZv|!QFXp?<>a9Az-pRGryB}OOxYx7( zV1`_@eCG5}Hwmi(CA;t6TTGmGxJ<;tdRk7Aq&cqk??szOj^pGVgMYhgzbJVajL5A? zr9sGM{b1*0gno_cu(C6_2?-efcBCB8=ZX<%B*QOG19P37KHWSJrqyK&T{90#+EKQ% zT-iZnoiz!_)YqLT9WAoU&ks6+{Js-?wUoD0#->Xkkwjk^&xUSo?j26;H9ORab61EECb}fgEj@djdN6XYpICv_OYxs^) zEl{V3mL?~bW@MmXOu+k;6jNsXgJ#8ykCoHRg@TsHI$~=?k*hc9M84v_0sU zSk-S{WOv~tNe6Nte3B$((8BvTQ;E>Bl2X4Z?1bJnybNPzr*xOg@mCuERURJ`@XP%Q zMQ9`sf5Rg(&@Wcua6*n`TubyS$p^Z$z%A_LXhMDFek@|(yKWLWKgL;TIyX4<_0$0eEbeNPX&odotfQ1?w^>4DY*r+o81D=1dfM zCnb*VY?+5cs4^fiuqi7{AU=HPknu3d4OcbftK>!?8CV9Vv76}C)f^;L7kb81SlyxG z8uD)~?R(hVLoQEiKg1`4BJ1Gpu;Pj2FQuJPG19S0h-JyV*1*6ro3TqiZ_{zBi3iFh zydm<)0852YYCl6&UyGh_Wt379Y}r3!hB?YT7l|g9fkb9#fo@CyzT?|{?w(Ura#UY+0-lA>^oR} zYBmQqILCXb!^?f{SSu=+@Baz2M6Ob#6lHdV+3-t){c%Nz`>06gJFH_yMptgQl;=6u zWO$6q7B9luEv2Wv!4qm~tVu$2KZm6~9P1N$-SpsI#1$fPtPl-CR zPYDEr3`nfh3gjXm*T_;=63a)jBG?~jJl6CagX_xA&X*pICLUm@-!9}2CmL9NS2(<5 z+8(xJQLC;JcKh)IHv+9S3N*#fC~KBBM;+Kvf^5gb4t~ICAE&JZ8F&E!dd>r4&ymtE zQU)s%b!kfB&BuxqW{Vhc_yaQ2wcn$P_(xrI>TjRqbpoi)?*=yTumL{lgV}-AIG&_} zz-!qg$V^ISzRR&9EH)EL(qdB_*n^hH43@(J?9C>Kb|-xXaFu@0n+=>28S(>Yt#-7` z0cXxq-P0-X&YN4Uf^69RXl ztjHd{vw;t-K65R}mqtdFbP*qsgVNY}8ODe^>Uh`r=6ON%RhfK&2TtsOu7LyNnz-}ziu*S|iLpx9o;6$GJ< z|C*Ib&yeyg_k1d@D~A@!bLDW+c@OlvlT7yFlc-tBfKSeU49ET{T9-T%i(hoU9RW!z z%n`C<5|`k(6QkBFy+bSy#uhq&c{1lM*;)*78{gMl^*JdT!5UzM2y315sJvp9!%ISB zJ%xhpeK7)Mmwbc@>2eM}NR#xd*5b{rLJ2n7AZ)vjA#UdEMD7~!>iqax?q3EVE?ULjhJtyL-Pr1c;zE(ib&_W z7zxFDiBIjK?vU3+7gG)NG%3qPdI~3u$!6Xk^p*OjgY<)r1a0#offAKJJK6rDRWu^d z`?KodMd6hil(~ZJyrwB^s8;Q^^O$lc>L*fA!R!QoxlcnU>-Rjlq}Y#KeujW^1P$-> zJQ2f0{m7;cRzj>fx_UIN|Li=jr4vutV@6S~YZnPi`lf2~C+M){rmb*PF?TN8G3gUo zPm`^T%T5(9L;HROAy;F^-x^{W@yhkZuQML9_aev|qJR<{8hyYT=x7A9-VBfZE`y8F zNV}V0gl*k-b_J>{ycpfg?w+bgdUK51xahm43<@R5)SFlYkRn^ zL{qC=;T(9*$Dn?Bgp&l#+4pWDFPi=KIMns>UBygl+YRk(fmnMdjTyr<#*~pGX9CS(73-br9yaEEs%oYcY3y^BtVy%!==Phg7!Y9H!sTV% z4oM3vi|v^`-ZdJIFTjO$4CDm}bEDLg+o^5X6d?%kO<(NwHrr|7MlXJB55H1H4%^9= zUFzZKQ#&h{P1k#{M2Vsi#}S4$Rzg#~KCf?kY#a1~__kgcKW{k`zEg@fRJMF&`x93x zWP-FwcUW0duS|KuQ$`9kY+>j1!%XwV$23XFh?cANwoUEJR4ei+ZN#sibFN_{6{-GC zXXbd{c?NE?)+4Mt25ZuMTu*rzCeXyTyK0C-Gc*o#4qxgo+bSI_W4Osk$=3aT)vx-3 zvn7(Lk`cE0ODjuB=tg{uIUql+hGTS7^=_~!WE&^hkNtu11L?oaA~W#>qS*E-rbo4Nl_#v0J{$7Q zr~jJPylYZ>x7A4|&uf<6Tk6DiKMBdu()f( zh>hIm@MQ7%OaF_r%@JFxOgU|>4k`$iqb_CMKP33GLgRg#er@k|%Demv@bgf+UBP^2 zgS_bzGndhDwdEwy)r3Z&0(Wd6IlgcaZz#Us4I_5>S@$-mU@J|E1+SFmO=vB5U}W7! zy2Lb|Pj#{7+Q{KE=NJ)j_${nfeNe;PzuZ!2KnkjAr2v-Dvv5H357>mEY+_9g61Q!i zb7B-!tvvR=1=@yniv4n!wDiBRcREpUu>80@mG!7CQUG~>RF?9LhpDqKXcz9}I$5G? zs%Oq4!$v-W$PMze<>I(*pm~+cgN%zEN?VFMH>>X6*No4t$j8lU?6gyu$FYAU=W#*X zEd{Ng;neZq0-QbL4W+f-Lz5nrNt*AD#(%iMDHgCJjX_y04#yYId&Rv3AIG-6*=naLf;S(ukLNBKc z9i|oIvG24vp9jK7_f1yY#oa4_N`+S{Yk7-c2-z;Gn$*VWZ^r7$hAdCHH}&&o0S1q~ z=ivG&cuBZ+MDjAH-^)5sU4$$+(Bcu-T}{Z(w3WVNUZCr7L0@nmO?93KWX(&*d-aYU z(xi|v9r=DWwfe%*%jPdK9`oNnig3Dn9G+BUvLqP&ZJvj2{+0z*GI>Uv1@lfCvTIBlx2xFXy#E=o ztu%o*HWKND7>Rk%^iz%+g(tLYwu0$i>%6e@DcDP4J#WRf`vN9)0vT*sZ7I;lN(R7> z&u*%4*EHyfRrv$l5$Alddm59J4V?GH32t>B&@pRhO zJU$Z>2@AuBaz1w=SHplL(#8-4%xa zuF+(VP*UFHCX(`uz1-6=&@e-^CkNge_sj|@>V>g$}~#c502kgUjlu^X{tF-hvC zS|1~vhQmxE`=AB}ID)(ecRL?FG;$L^O30K@u}l8O8H@X=gH>3WKhl9PcdA^)1l-*E zZXv`wfnf;0517E};@sql33egWMWUac&d5pMv>)O=23_459+t85AgYX}3oqm!*i|A( zXX7U@;wkbm;I8d^Q=s_lEI!$_VK&zAEM9p5e*PZlS%7CwW6@}r>AOR8d^W<_sT}}7 zHx4kAl1vk=dPD*)3#9Yt&prJrLCyP%G)|@WY_M>fBPBpCV#hKM?Most**F|Cs9q6Y zLC|UfTNF!ct&3PEM|Q4HlTSM~eNKa4M{U!~lkK+_|Kg}7JAm^-q?VpqG`#cF{4{P_ zH>2C%D!9$K;IHZB%>kr-j1Tx3UmJL-lCuaERhjXv9vw7YtjUo1Pw?`>EuxOhi@k;Jae`@EZS_dOPz1_Tl zhcyK;Hc8PN%M79bSG!2h1go_VOdLK*mXMTndJC99xcXX!g#aqMcq;ms$CH?tFg{`6 zYHx+0^)~#o3q2SEP7OG(WvH?m++cfp+*8igFSHrjLb#;8>jlrw@p8BAmkV3;mm9x5 zT>SB|ZQ)@2ypRnFQwv*r*cp!S8JY7h>B{`Jc;J8BnKn8H-^rh9$y~rAr0lcVcO@F5 z$X!$um^eIFfyV{~Ioozj_M0Ihx~YJmpem3T6dF-VQWpGtF1C0e>SCDnZbEHXJ2;qv z9Um=mt@zE$XN-S-2L#1_i`0PHsD;oi@~bt6B;t&HDCLNL+F23G4CFblH~Q?eQ~aBe zukYM@o3XVug6+y_6Z-jW9LD?R8SxP0_vJjw3hUYa(9@-4Y;p}DURnB#L^<$V_Kppr8*?Ixk zym(W=KAP%O_w3(AGQ$YuxF9l+LR?T34re4g)(YZ0>m(``YU@7#Bq~+DdVC%Hb@i6} zUA|Uyq@_HU8Y=!Z0Wdg%BbeSX9OeQU?3ipgQA;UbMV+Q~oeJ@dv4$;oA-PPFF(i0x zH4l9!Rrssq8>{H#jtiiF5UwiSIu(72wQIY3&jyHiAaFXpXy4pJ3*J)&!0^Z$Fc1iE ziIOD6^kx-tN-=C(z%c3?Ew~B@dV6u{J;OU~C*rzu8C){|Y%(cG0r6@fNcjWspTMY| zmqZdU5QD}t7gbPbf%^ry6}Km5uas21qZhZ@@h3c@blrX!I9=40l66Ky#hUmY%9WSW zE8w>bvArD0qLls+-lpup`Oci~lF8=AvhdXoqx`v+9NNV+E$QO=is6TjL~L*`5Omvl zK-MOulvLGl(EEWlq{q9a$NMY#pN>AwdDHque^M>1OSSI084=KyyGT{Zv<^GhGZkkPY?`LzC*V(^l?oXMR6J{GNbYAfpopD|4* z+nz37Jq0psU`Zn;o8($vaU1tV9q9U$RlkS__eGqrw1B8&9&b~cuq1D1Ij^TsfIxX# z3VmuEJvzqGlt2ny+`9qHNed zT=;1$LDq;im+aDv33jzxpXJ+9LfL1g#QaD|tb4qg%5WIP;_^%^Wv-vdtBH=zY#bB| zpEGa1`bs0FYxCUZxe7Dk@b_C;ZKX}PaPC4`hY1Z*!gB_-lvmsI4h}=IEiaWkW=a0= z_N+q3{EemDR6?)+R+w7Ztw`2@#m^Vpc`x8kr8(xNbA`UG7*M;0Y*E7!=S=l3T2G393zCj9F+JrV zcuB`>QWm59=XJ1Va#x`K_`!!{`p=4+YIt{*V~{o>1qPFhPFr{1_W;ht&@<0`<+Rg` zX)+Eo-@uU9$CI^keO19>e+n8Mi%w2qeF?+`jmo{X*RDv<{J>PoaX*1MJ`{cCQ~X8) zx_*Ifsc^-hEZxqV&IQ}8JkWDM;d}p^>n4gtwXlER*=H+Pzz)n*U=`t|Uz4*s^|Un^ zV~xtlF1ej6!9th8met80R-Qt@kAP`NoJ&hO)Ycm(@rb5~^BTyh{|7LngSDV%+=7W~sGW zduv!MtB+oHxUqUx7XnevbE7m!_fE=%CxRt{{`;w?i5&8q`B{v-4a=Ss$;m&w_ul#J zE1#XdnMff)k}znw(X9_>9UU_e1DkVniS9k1yhK@G>Gz_D&-}%3R6pTOOcS2m>>3O+ zFJ2{f_1!9zFZY1)vDQbzhE>6gxn4;n5vD#lT{>81;Q5-5S41u(!Pg>x+m%u3Ix_se{UP_P)>aYUb- zX%Z_f34!o_yu)*Qym(kwPcg{}u!BNV*B`aeAb82lA$vcXKm82&uR^w~#T0L}9(iL% z90&^pmEt;@!boJ!C`q3)W%&JnJSvT8K_T#GF27d7A&|6_g#^Fl?H*6(=+Sw|?wCgd zQg68F5_-+w=-9(%odBR!dU`sbpy5a|g5)Df?L%Ms{5u$sm;NGE@yYnxe*g?GX>I@j literal 0 HcmV?d00001