From b86c20c35e82b8360947e622c3eb12961f0f71ef Mon Sep 17 00:00:00 2001 From: Matthew Riley MacPherson Date: Wed, 5 Oct 2016 23:15:34 +0100 Subject: [PATCH] Implement categories (fixes #1183) This lacks some style bits which I want to address later. This commit has become quite massive. Implements category component, category page container, and adds category support to search. --- .DS_Store | Bin 6148 -> 0 bytes .eslintrc | 1 + assets/.DS_Store | Bin 6148 -> 6148 bytes assets/fonts/Tofino/Tofino Black.otf | Bin 0 -> 87508 bytes assets/fonts/Tofino/Tofino Bold.otf | Bin 0 -> 86816 bytes assets/fonts/Tofino/Tofino Book.otf | Bin 0 -> 81280 bytes assets/fonts/Tofino/Tofino Light.otf | Bin 0 -> 81372 bytes assets/fonts/Tofino/Tofino Medium.otf | Bin 0 -> 81948 bytes assets/fonts/Tofino/Tofino Regular.otf | Bin 0 -> 80860 bytes assets/fonts/Tofino/Tofino Thin.otf | Bin 0 -> 74172 bytes assets/fonts/Tofino/Tofino Ultra.otf | Bin 0 -> 80404 bytes src/amo/components/Categories.js | 84 +++++++++++++ src/amo/components/Categories.scss | 21 ++++ src/amo/components/CategoryInfo.js | 64 ++++++++++ src/amo/components/CategoryInfo.scss | 27 ++++ src/amo/components/CategoryLink.js | 39 ++++++ src/amo/components/SearchPage.js | 35 +++--- src/amo/constants.js | 1 + src/amo/containers/CategoriesPage.js | 44 +++++++ src/amo/containers/Home.js | 3 +- src/amo/containers/SearchPage.js | 24 +++- src/amo/img/categories/alerts-updates.svg | 13 ++ src/amo/routes.js | 2 + src/amo/store.js | 5 +- src/core/actions/categories.js | 31 +++++ src/core/actions/search.js | 12 +- src/core/api/index.js | 15 ++- src/core/components/Search/SearchResults.js | 52 ++++++-- src/core/constants.js | 3 + src/core/containers/SearchPage.js | 88 ++++++++++--- src/core/reducers/categories.js | 32 +++++ src/core/reducers/search.js | 19 +-- src/core/utils.js | 32 ++++- .../client/amo/components/TestCategeories.js | 117 ++++++++++++++++++ .../client/amo/components/TestCategoryInfo.js | 88 +++++++++++++ tests/client/amo/components/TestMastHead.js | 2 + tests/client/amo/components/TestSearchPage.js | 38 +++--- tests/client/amo/containers/TestApp.js | 2 + .../amo/containers/TestCategoriesPage.js | 46 +++++++ tests/client/amo/containers/TestHome.js | 10 +- tests/client/amo/containers/TestSearch.js | 45 +++++-- tests/client/amo/test_store.js | 4 +- tests/client/core/actions/test_categories.js | 48 +++++++ tests/client/core/actions/test_search.js | 36 ++++-- tests/client/core/api/test_api.js | 85 +++++++++++-- .../core/components/TestSearchResults.js | 80 ++++++++++-- tests/client/core/reducers/test_categories.js | 63 ++++++++++ tests/client/core/reducers/test_search.js | 25 +++- tests/client/core/test_utils.js | 76 ++++++++++++ 49 files changed, 1281 insertions(+), 131 deletions(-) delete mode 100644 .DS_Store create mode 100644 assets/fonts/Tofino/Tofino Black.otf create mode 100644 assets/fonts/Tofino/Tofino Bold.otf create mode 100644 assets/fonts/Tofino/Tofino Book.otf create mode 100644 assets/fonts/Tofino/Tofino Light.otf create mode 100644 assets/fonts/Tofino/Tofino Medium.otf create mode 100644 assets/fonts/Tofino/Tofino Regular.otf create mode 100644 assets/fonts/Tofino/Tofino Thin.otf create mode 100644 assets/fonts/Tofino/Tofino Ultra.otf create mode 100644 src/amo/components/Categories.js create mode 100644 src/amo/components/Categories.scss create mode 100644 src/amo/components/CategoryInfo.js create mode 100644 src/amo/components/CategoryInfo.scss create mode 100644 src/amo/components/CategoryLink.js create mode 100644 src/amo/containers/CategoriesPage.js create mode 100644 src/amo/img/categories/alerts-updates.svg create mode 100644 src/core/actions/categories.js create mode 100644 src/core/reducers/categories.js create mode 100644 tests/client/amo/components/TestCategeories.js create mode 100644 tests/client/amo/components/TestCategoryInfo.js create mode 100644 tests/client/amo/containers/TestCategoriesPage.js create mode 100644 tests/client/core/actions/test_categories.js create mode 100644 tests/client/core/reducers/test_categories.js diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 0775a1f25b9f6644d09e61f19d140dcbc21e9149..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJ5B>J5S@X5BGIIz^c8Z0RkWO7F96D-P$b!id}`l}LnOzc;LV4^#G;B2pqa>i zjYC*9H)fB&t2^K!;dk$>o3*UMqOKxJ?m5)1?b!9Xw&3|yQ6 zzhB087q1)zgMnb+uQMR$L&6Yj9J8Sw9hkHQ0FGc*fiAs-GC6S@B%@RzAJ`DIG1f`MS* zpE1CrwrgkDl;5pq+mpLCVLW1pNL&^L0=@VMz(UTEdv%&WiH^9&F&j!1v1>XoJ_MAI Kn1X>HVBiCe3NgC? diff --git a/.eslintrc b/.eslintrc index 3f7f69d230c..d626310c83d 100644 --- a/.eslintrc +++ b/.eslintrc @@ -12,6 +12,7 @@ }, "parser": "babel-eslint", "rules": { + "arrow-body-style": ["off", "always"], "arrow-parens": ["error", "always"], // Beware about turning this rule back on. The rule encourages you to create // static class methods on React components when they don't use `this`. diff --git a/assets/.DS_Store b/assets/.DS_Store index 225cc6e5fa592201a634f6181b4985243d77f0e6..b02d2d303f5b166e947f9a1e77a5fcb187f01b7b 100644 GIT binary patch delta 570 zcmZoMXfc=|#>B!ku~2NHo}w@h0|Nsi1A_nqLvd1haY0f}e$wVf=9SF#APH86G=_YJ zJcbg4BvABZQbA5;afyM!bw(y;7FITP4o*%EPF{}K;Eeq8;F83W(qgB?qG&KLGbJ?% z$_~lT&w;ZOlfp7n%i{$^ob&Ta5;OBsi;$GZgaZXq^2?p_OY>5S!3G5+mSg}mgKdfz zkf^RUGPBfCFg7x*)lsN6H#g8xFflf(t>xelS2eWtOvtUQs;;T6n+bF+5HJEg2nPI6 z8b-~U%)_*<9_DYL=vSE6ZXmqI&BMvV&x6HtP&dU3$OJ>Y8J?L^k`a=c=bDpRmYU~Z zB)qu~2NHo}w@p0|Nsi1A_nqLvc>JVQ_MOZo$UFm5hvBli#zf+q{d- mmvONI2g_!54t@@xrpp6F!wdj?923+4 diff --git a/assets/fonts/Tofino/Tofino Black.otf b/assets/fonts/Tofino/Tofino Black.otf new file mode 100644 index 0000000000000000000000000000000000000000..aaab69aea03d62f0e79096a56cb8497762067c64 GIT binary patch literal 87508 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%0Dbh5e zu12bnnn`AL|LP={|Pd z5m6~k%V?_P^E;;0?W@$lQYLZH*iB7FkDD{FRKRJ}3RskmvrP85sr1L5)p#?9R)cEC zpyau5JB2J(C4Z%o$Yyb+3b%CJQ-5ZFcER)m>%I!Q)b$YAjq2RI=1U*j_P^4`*oBU#sGHeZrazo93?Hv3*{@-hC&$Ngh+CC~X~m#w}aB zW&W~Fo8}MeIbg!DUYuTtD0Gvm(U4`GvPekLerSY2u2-jK6VwxMSSd5fcUm_Zc0# zYs38Y+qN(2TVIUGme1(JfY9@b)u={u!(Zh@#cNS_B{2N8d3Q`&pm|>L@I7xZ%;hz@ zay7-f`oSBYl`&bvyJlRHm#E{7>a4B~?P$g&ZqhU>$L?LCfUn_{%E^0~NmSlbhGgGn z7|MHpM#-#+dDo~K#gl|aY42*I(Dn-qN-+jrPG*UQk-LT&loAg@VaYnL49mJn@r+hR zIU+AqW*QMl8OPL}yEZFcA?tshaS)qn%u8k87#1EfBC7B6+mwbRqqPWDtgCqgJm0L!FitB@$=Z1S=Qy$YW>yxmzge}DQ#++Pbd)ynw? zqn1Ulng?llc^8&eG|AjsJfE$KStM~m|Km&Lb4M*bp$p=c?x{JX?U8WjsY*$;nevq1 zVx?VouCawn+JpabUFP9%ui@Ez1C)|vwxq>=gvH^_9n%(@>{sS9`%ra~@@kM`efc)8 zifH{}39Uhh($4(d{0~0;bbgO6_%&|HDf^aIKZv64tPND2;v^;gK2l!eBreyp!o_i( ze!OGnl!_m9WS!*-hL_-Ydi?8c+l=4J6A4ezm?=A3sUNhM9H4DeMsfb}T4Al~9PQO0 z&H80YW-wZR{fp87H&+KqCr%A04kmE0_vzi`rs+g5) z^k7WNQ0N?MTFc1Cgn~r;f!-;L)Wr@a8#-uZ&}#226XC(I4n;SShGtDSkp@#)J8)Ee z$*8^;ppCl+n}Yj0|;LbYH^*Kwn3hiJtt=VL~74Xrk9LZ2Y5)$Z=fdQl-gc!I)8YvVj_ zhEmq;*{(DU-8gOQ>7bo4i_e89#VpT_TeOo&9E;Mh;~H&U2vWYiYFu<^uW7TM52_U3 zd&ZQIx8AMYt6I>oDSg`qMGqcVlH_0F%?p(>0+_43s37n98kJ`y?K$>5$5#EVC6dpM zgBcUaNTke`JXXGvQs-WPR)--ot2RsA^Zgmil~jYq3#DjNw^p_(+wLf>S=rjuJheE< z?9=u!8T=B@#BfJvj=HH)X)od{1sF!$r|c`P@Uw`2hez0N zm`@<)S&2w_!m^;tIi!44Ncn6|AvX-IXz8ZQxVT%!EvL;v#tl6(elYQ3hvs@UZchjLN;bj*M@#TUvxt)wx-#%3>L-HeLw#H1C&F?PZZI-7sal zvMpIDiL5%Cr&iK}k?npuXbvGOJvRQ3*U|MRI-LZEvR~O(NeOmGPo^HbpI5_?9wRiI$HlOO47!g**SEwWV6L#d`gW zT0)LfoyLp`XB=9%(pCvqI-9gN%vv7pWm8WJ6UX&U&jdW~m+a%!17{rE16|*=#lqtz zUlvIyC3w$Z39T*1KkgT+)<(~Oa>=OL9-o06(Uc{RKaW*2>DB2hmFa=NKX7Xm0)D@; zHL7itqdeq(j8Sc_w&CWq?XhVgu_+tAp<<3OPwm#F7dHX)EBOwudv6o)d%uz^J*inD zsX`*DogY3_$#=hB$(JWrkN?%GX(B1V7-c3kZM#3nmepy{W6#oKm;Qq@TeW0ec=JSC zr2HQU&-%4uLveNr#R*qze?@b$Q&6{&!s9gL_jKn?cP51L@UpeXX2QyoIP}~SQJL{O z=dwCqv^u}BUZ>HLk0-o0VX0(BcVkBP04+wmJEfgjixsa)=|=-3pGoOz-k{|(y}-jd zwfyGe%0!cO;xJ{X)_JHpSLx^XfzoNdQfMB}0_~v&40Bwt*bgWr7RQ~Rs}%Bn>@#6m zb7}AKwi4Fnq87Q>`x~v$^A`JXt;Vo+rL<>*>^-z+KQ5)z7#8xB#roYU4NAP^*K1 zWy^f|vT10CNi7-&HJa0WMTd|^jjxwIeAqPj!-HeL2|o2%%<^5KS~VraQGeK{-+sI7 z^OGl+wRrZ~VQuP%T6+vsy1Aqwl`6TU_qY1Hq`@J3l}=3$bAwYO7B#h<;*#{KN;8eC z4y^om$$mysG6y;)9yQs2l$6p74xd)?1#z2YeCf2HP0M3)fKeSnc;eF=J(rvik8;zZ z;_549$BDxxH8xr2_g88p-j2I{g*SZer}k+SW8}#oO&o*X?KQAtaEAdKJ{!aNZfkAV znO7@qZ)=S#pD$dyd4KT78+#0RKU8_ntoXh2>}`z)sy2HnTB|rX^tF=P2Acc7QF4z( ztFY=~Ii+c^^6a-a6yI5))-6+%K|K1>{wd>V6_sLs-?^kSqV2Z;3AExdt+M}^hVTAT6Z;d_CrUB0#*6b(Hk7%X4#XkBci<0OyO{r*#G2h(# zPVL$q-zgnx?LyBsiNW)xN>#tb>Icqk%w1cQ*X_5}kKUoRZJDZ7c}EL>CuHriwHxN_ z@n(%$Vcv^f$vk9F|7{-zZCJQ%&+diYS*`ZESt;J(w$@*J<+;enx*J|!-6^EG=KG_0 za?_`}O%0l+g`2JWrz*W7Q+NHWni-!O#|u&Rs?7rI!xhUf-2akVV%IM}vs|OOYBp)T z%=p_6SZ?%zNgHQYS~|_9#u4dVit!53$aHbDjKyLdN;Oudlu~9b4ahP|Hz?z`?XL3e zulDI`cjc60^vJF(oNMyTfP)o+?bEfQeamW=(7R@PlSNB*?hCO`k6+vJ$6%${`s>_w zSyUP4u&;F=G2MN{{Olv9yN_6_A7P*FImY^$(o-oHp_KDmbvI1iT=ZA_yJ~y&DbIPE zx>H%Mr;y_XYBbra+6@TWg#3-CA7TGmID=jp{`1;8H4C zoE?=AYB7uQ<4*DAqAwYD154zM4%Ur(+c_`V1EB$Z_S!S0=tWJ8E1PO-}u4J`{1@RcN(l$0;k~ za9x!w>MPpE_pe4PtgPVrSEeN(b_=gFutDl&4sT|AyZNwKv1B?i6^Vh4jOj?ZDzMUf)S-QVuVl7qR8FRZzCMA#g<7DR3PYn5$r{7Kgb^NbN z&0iTUrmFw}?ydc`@k&yF+9`u~*}rIZcDmQxq|8*;a}!O6ueIV@v34(N`L%o>GvcHa z-*-aE7oxSO>F6|O_2-8cuG_sgrhoGm;|6vNwQn1r(L!Tz`%fKZ&FKGoS=;K#VMpm- zk;4@~{DmB<>6iZOHK7kH5pG2Wcj~a{Rr!X+u`Gy-QUZ9;K}Fh|6}2ed1QexJKt~Et zmORWUfE}a!SY%X!;_iW+BFTD70E zXYUxTqEahXi{*7+l({lRi5;%-lC`_@hPtE+o|NTP8Fh^r9h5^3(mNWirnM;ae~i{>gmOf-aHAe!njyQey1wSv|^;bRGX?jwQQVL z$zIi|62Q~6c%O)I7aE>v8kZ(iV(iYY;wZ*k>o?N`$j3lIJpD9*7( zT*TDfj&TU~>EYZ7FqPzsY16c2%amudit`6J`*IQQa}nQ(i#Q-&OXa?ZmJX$(#VL(Z zf_^Q|xawWEpzcs91>WHTkWrjS{*X~^%PSSoeT~GGr-#QV6`lRoZgTciD$XCKJk8>b z<|6s4RHxPCRhbKnncJ1!jwxnD^mTDWR8;eF7MaEflkuU`genF#cpA$cjCV9&1fliG zj6o7Ekxv%r8kHoik3%`7CyhkvfcVAwdt zH|Y-RQ}dp}8wDwm)Nb~~@flH*978&mp73I@HmM~m?VeGZT~Pd49M>m_k=ABf$)O|O z>@#}Jm!ZlL-t02&HPecL-Bz{<)(W()s+A74e>z?(6IV?saQwsAb?ZV%uj{H0`=1L| zLO!{s)K(_awSS2R-F?KE+DqC*Z8}RSUr;`|b$tGkkMv_Bl`kD5#t$9SEx6mDUGed& zcJA1=eB|(j^fXHirSt1GRJ~5!y`6@h%ou^BG-qY2y;sK4w;fYoI8pXm$OosECH)-4 z7UPa<&j+oXw{Z`{wtMFFcqLS6ZdQsmy~*>No_(f{W^K2y(`ts& zcC_i!xT)q9q(voGS6;mEb?lbUdGphXAxlTm)tbvwJ?%TTb=&&J)*jvyh7EaVNN}}5 z2R>Rif5nnm@)ki`{cVIeP$?<;KiL_X(vTn&wa7&Ru?_Lx+x~i18rG&@-D{|EHvZIa?ZQ8qh@y>6ku-dKB z>V{}loDIpnJ;uDv9H-e$C6)1xn=zK7tERm2+MxFud$QAjZECcz6JC#^-Gu-!t=kXrT zGlE-0X~ito3-+7phukEjt-h_2`S-0%<*?* zmF#OhJBk|gQd!O; zKQv#h7Lz7N$Hz_R5;SDOh;gGr8qI4nduNdS=IXi27A!`c0yC`1m9F~Ty)70rH^Ym) zdBr|Fqnql>V~VCJsV1#}`FU+{oceO4iXHC)eo}YMC zTTwnyn@^QCU2S?zFM&+8yDv#!S%av=^v3Q9uUb}Yf(4JpHw5V2&eiK=G zH+Sv&4RZ$c>o;j&-%x7?3*k!aXIQD95^!*sd|avRlKq84+%#TFX5`RUsbkD|E+C_) zR>v~aSyvmYa({GRUQhqL`E7boW1P>K=&QGKDD^)70smB{MUqxetJks$iyg`wtg6%t zRYqw1TEf|yT9tL7=N+9#u1-u`viie4O9ob}Hge!=Vn|SZMfn8RU(~2RufF1-8vVqi z1)FK7ePU9In?F~=4{G5iYb4{wV`%rWG67$EHGn@tXrzTG&(r>TUMoUttcY`r#mb#b zw8;Z8{p`5xaK~-<=rLHGeysL94dn)^e8DBvjlAoUnv6_xNr4?o-EDBuZ_`iZ(!NhG zadY4OBHI|3F@-X_Ut+^vP==W_zuZd9z9CM#txRHVR^0bJJ_sw(t!qQ3vaZHW)2b?s z6-nru(PoIfnaJ%Wt$AXqDiot_#h+DgOY=5_t z!};Axr{q@worrBk!a%gpQRnOd@rO1?lae9@E$_HQJHLo4oU7i6C&jUGLD$gq*KH-=O-*PpVf_x0fGTQ?otFg|wFg3yHv7sRd( zvTu?UZ>>_h{Xz5R&RrEk!fWPD92RQ7BQ>qz*f4p`?45q7%eSia`PTTPHXgmWrFJ@YB`f-N zJ$mAaV-2ow#3^yac5%cham4n)Ec{n@jZm61lJ z+rv+sZLZ$sUgG0w6Z+wgy@gvu%6d~0QSCETleo*YDK3O=IIlV?FYYpJ>bc8wrsq*s zwbV4vWBymr3dy5Halmfz@Qj)6hi7EJ({j1z;TcV{9(X-Ry~&dV;56I;ao7;2VRFO{E+YDA7FD`@A{o62T+qwac3wPXNM5B(G&0Hg%>xfxdH7K)+%UC;N6N^Ihcz~S zrLEE*36uRin2>Ep#T%t^dm79kZLngNcPlfD%D$*Sd~5^H5c(pG0Tv6Z0F*C0kH}HJ zP>!U^KZ!Rme~0y_-W$PeO$`=LoRdElgEh-kA4dzt;2Ld^;@~Uy2ZGk zwcR-%F4!Vt0g^c3e&@6jo9kZf&9h|m*Sa`PkEjhssG6Y^;076Bs59BuFU1}Mj|0enPk$Q zH`mlAnXJ6-nQG;fT8~~HzvcdR?da@CR*^uiFZ0!EWz1Bb_FGF^Esqk;DuNF)Yd8k> zAKs_WfY{X`S_yNtxT^HgqvC!@#9__Jn92Lwc|18UZ#OFOnYJf=|9TzrqQ7SOzUtq9 ze{z=U*YUjWZzFTUsD2mmw!f3&ZGWi#awRlN^_Sm&i@nxEOw&bXSd5EiI@Ea?@37dw z?3{P+9h0@6?tyamPW}F}<@ft5o~GYlv=?!*KlFY5p1{Am<2>Tt-6G1}ySsmTG6&u- zcfZu{Pg#4vzv@!^{SB8o<0CqKL70VwJ7140uSF=PZHlQm@A-X()gS3EZW^ zo9!tFr|hr5AByS6ZESyOuZ(giK{GAaSHIn;>A<(kvRHVs5<~ZBrsca8lUuhLGWqFH zeIDyY>;KMO_xJKxhpbX}uTV;EnX{OOiTEhp^D0rhe0`Ny=KJPTKKJJVs}lcY@R63w zL6V_vy+$o1YoE@8`$<8Pm-x};(tockc|X_wg)phs^Ut*mlj=U-oUqYL&$SPeS~h;U zQJB=B`OA&Nq;4(6uYFoJe<@5F>^YXy^)w8gtXz1)!Is&U?Uq#U(%!wi*Lz>h z6P~9_p5=MI_bKet-e-Z&`Mmylo9CUGH`CYOx2$h{-!8tRedqfw@m=Y=-gm3-S>Fr3 zKlontP4P|hRegWU=atVVUx9p8^L5C#&l+fLZJleqoIfmo$NWq3ugt$b|JMAw^6$$Z zm;Z47;{|*Q)Gsi(z#*H#R@*k#cEFbDSKV)@-!8v2dwKg<`%L>ud%Ay+e{KKn{?q(- z_{aPI<_LE*bi5l75U{#n#e#8xO#(*;ZVZesWG+;>P?th83w=^3B`7GUe$dchDR^wK zv+&5mYLTHuQbIPGd7ni;h_>Qb~JIxM#p!GWE+e zDbun{`!e0i^eQu;%)IpRT>Ip~uAk+ht^@KczR!jw zl2wj#rOKx`?w^$Zk;Xr|@&DIS@=HCbeaBO)?1xVw4nBu3;7h3})|`noXJXBn@=z(C zJOXA(-tug`z~4JMujK1Wz_VP(t0YR}UCDTmbk6r9=lfAE05%wmw^-szmn_6SOYA$u zzC!Ga|{K@|+}1b2+7%u*UTp{_{6{=WqDV-|(AGuH`nq z^0qvJ?@NgLzkKxnKdt(EI{DAh|9L;~zbo?~?0W(2qfESL5VoC!Z6{&dSF!D@c+*07 zQeXVki`e;9?EI>96JPK%+;QE;=7qOYvHLrCI#nKwR~;%9k*Bf$efG_gg7C6I_<}ge z%$cruykC;;E5DTT^2;y(1;5B#VG;T{4~Kck^9k~r$}a^ySDTJ+PuIP+P50dNX&yQ5 z$@e_j8J;XwLCWzP+PGIK#}vvjg>pPkIiARK{ zbSU3PNM5wZlW318kv~z3|DB`lQaLGab_$a5{`vPKv#;Qhd`Kqr++Q9h**tkkL(h%> zg1r2_EBSjzKe^VrWBxDK?*CU?HUC`qf4&v_cUqEmYM{69N9oi;-{IGP#;^a3Usv(# zD)qBBy&Z48cDlshKR|ZFnEv58b{+srN$ab4KkjsXlM9PS3g*9|00Q6^?x_k-z&M|T>D(9 z9R0XwL9aa-%^FEtY#Mqt6V|v+qGKoNRXfl#2YTk9E$Eg_^R4q`i0@}^r$i(?f@R{V?10EJ>E-rxKnsH(OY`3E(yZp4W;Khf?0xT zuJd@fAG5|6-90E*EM6{IpD_p}C-0Gyn-AsW5IOmRoWzlnI6WtB9~(ywKJ(-ti5wgk zBaGzYVlKJ3;mO4*z5n(;eJ8#D=Gw&BZ*cZh>7TRz-;{h2wAxF078*0^+z(9{$#*ek zo;^}<3e7u(-j_q~PoZ_E(D@WJ?i?DIfX3ZG_ zrhN5UYz;k#jj&(JM^7OiJ%xPq6!KAz=EI*ng+)8DXl8`yss48!;Vm6;-NVb=!^0%u zVUqDKDR>r@QAU+fMwOiZAB!P{{TIl?LU~-HJg#E7N%zZSD1YnoslWSc9!gB{l;<^$ z|CZyg>18U8pGEyOo7%`kj1$wN9;Qcil8`uaVo zpEMD>TFEH%BIy!iD!)lJnPurm-Mg02=jGJ9!|6%Smi~^U{yA1y`jcsul@?PP?Upp! zE!XgR*YJ40c)J34xodd2YqVFKv{l5Ihd=F+bV{fQB_w8-jz~rSAQXBhS~#g_<83tI zD!EG1wed;!8t};ewCoD8?k?+_>HfE$X$9S3G%N^B%KqJW|Mv`Ld9wfdfWNY1J?S?y zx@$vsZKPTm{k75JYe0_5((9V$%0PA*$Sw)lB_XpUWG4DGDRKcZM#OpuWcF`~`S)e} z?@HmxJk>w3vV8Xcwj_Sv+x{!BO?aGwv|OgKK4~Uo%^GCQ6x?C#UX0lOXJQEJx#_9P zQ$#I?Z*$kQ|GB+pWRQvH$;9(y;(5gN=fUgvGAi`AU-IM6YU0O=-;c3hsz-fX^MN!5 z4+FHtAIAkxF@7sTsF{!Y4&KclSY=+A}*N;~qABW;xaO-lbJxxei3xtBdY_qOcA z+W;n++S zJi~X`b3CJL3HZ1|__#u(6U{Lq{E0PWjTvj}={m+(UotbWYtUc!T(zi+vTB|T=3U)u z$2L+U?4UN-D2FpgU4oRO*peP+yd#%^!LAL|6d%gN80(wG7~gCVBMJYxGtu(p8b*@m z|KK^1axzj*Mrw`qRl~cHXgs;tg>Ad%y4K)VgfA8=rH<(H6)AWK{0uXyq6gx`$Y);H z5xl!M5f1*r(Lc%H%z9S?o1u`EofipO1t^3ka_ok&T+5=f-lEO$v$XGLgd~WFTg&(sw zj=e|O`w8ia(IL@06JrG;RucLtR(B`-TVwl>i)-ZKM={q)F0$vJA}Gs9t~i>$;$UPc zVkQyuynYoqW0s(g70tX+8SGrd{LkrfLCUf#I+lcv1?AAOZhueSa(&F%$S#rSqRF zWf`rzA;veD)A{$^7bSWTkB--gx<}M!cs9aFR!CW}`6O&UnZHh9^Edb{342cx_D*d# z6b~>9E1r$zKKPe=RZvfS=t!)DdpdI1TPjxXzFR}Aq!Qlvh8|-HG38Rv;6o(lSnEq^ z#z3!)=BDOjc{=&-;LgJ)*2>m;*0$DO`S<2OSYWhmk>7H^9e#)W&igs-R(qJetbKre zqGMOV!-YyqQId>zGk_7izyxNnfH&j;EL&o?n4HE*`RQ>L0Pe(*{J;+WP!b{_5=uc7M8i|AJyI=b!uOYidpFX}jWADx&EGk|r)66=bkIWQOI!F-5;1+Wkn zqa90NDa67uSPm;-C9Hzguol+Ade{J)U^8rit*{NY!wxu$?w*75@GZo{cW@CB`2BlG zge15O$#4aJgsX53uEPyTfmL33yUEuj^(hBnX^+Ch7G6?#A~=DT}CALtAH**5^*gn=*!2Ez~#;}*k! ztCdE;C~C3MFb2lLIGEtti@oi|-u7Z|d$G5@*xO$0Z7(DH25iS5O@XP9N&8I$C)}g9 z^QG0253G+#(PHp%4ZGSdl)Kae(nKk=pV-T4PgSDxlG_(CD7n z?H25I3wFzzP%wcREZ_}!zz6a|KFG4eQP|UH7z1Nr98ACyOoU1B7Q79U;T?D%PdpuF zz$};zb6_sagZU5x3t%BEMw&}tDa67uSPm;-C9Hzguol+Ade{J)U^8rit*{NY!wxtL zkGCroyHc?$6}wWgD;2v^u`3n3Qn4!)yHc?$6}wWgEA=6}%EYcRv8zn%DigcP#IBs! zl@q&iVpmS=%86Y$u`4Hb<;1R>*p(Bza(e7%8TPXb`&s6(pJmvMDuqx=36v7`6L^6M z%wPd;$OE)=DWwETDS=W-$6KbOk2ff#80{y20zv9o~Q*{MHNK(i{3fUl@gN84Y7#ER2H* zFcBufTktkahIin7`V-Sx^)-X-ESL>*U@pvq`4GeJ3)n7%#UT1QOCc7P!E#suD`6F^ zhPAK`*24za1e;+CY=v#G9d^K3R-2uJ^YAUi!*_5I68QalNQ5M~49Rc>euS%V4X(ot zNP$}%mkPJx7ra{MlZ3ok%DcoFJD z184}1pb6)E8Ja>fXbvr)CA5Op&<5HI&W9b?6Rn zKo8>fXFCAign=*!=mAqNrcy7aQZJ@bFQ!s2rsmqxnn3y!VG_IrZ^LAG2i|AwVmi!# zSuh*sz+9LI^C1Qnz(QDz<}QJy5DUv-Ijn${unJbgT383`VFPS}&9DWw!Zz3rJK!wo zo`du7EyTlja1j#t{d-7+B)AO8a0PyZt8fjj!wpD*TO5}Px8WDo(xpK<{0es=6Mw6L z6YhZv%aA|@0~o;zOkf5JctalWWi4JlutI+D!)ol{4-N=`g76+A7gJy=WLwlJ=82D@ z+s7c2)h`-2;U24Ce6iVlV1@kPN1w|M{@{QBC&JNK!J4x$o2Ri>Q?cMia3QUD3+0z2q*pQ74+1QYc4cXX`jSbn@kc|!5 z*pQ74+1QYc4cXX`jSbn@kc|!5*vOR)+1QYc4cXX`jSbn@kc|!5*pQ74+1QYc4cXX` zjSbn@kc|!5*pQ74+1QYc4cXX`jSbn@kc|!5*pQ74+1QYc4cXX`jSbn@kc|!5*pQ74 z+1QYcjXJwBb#`Uy?8?;Hm8Jgdqa`c72?Jpe42B^v6u9qF8V)016lWL>V_+D{O=9umcj{dq{*NxD3f~1%8C9a1E}*4M>4Z`a~Ky;T|)T1EfmmO*izWCwkKg zi~b3V{t1iziMlZpS-;N=-*lJ(vtTyNfw?db=0glDfQ7J_mXdfv!%~QaWw0Dpz)DyJ zt6?pygY~chHo<1t0$X7lY=<3?0N+C*B*A4!hAZ$RT!m|J9d1AhoqW5S;Oo6E|lYQd)oD)p(iAX0A=_DeZM5L35bP|zHBGO4jI*CXp5$Pl%okXOQh;$N> zP9oAtL^_E`ClTo+BArB}lZbQ@kxnAgNklq{NGB2LBqE(eq?3qr5|K_K(n&-*iAX0A z>7-F(q)}s}QDdZ0W2EIG9Ur9QgLHh5jt|oDK{`I@NCJ{bKoSW^A(1<#`!aIc9|plp z#{R{g2fgm2aq5uO*dUODesVBzi4L^jebWwItDNNut-1M6V@DKj&<6Hk+Ky z=6YsJ(`fCTrL}jK*4|lKduM6wou##RmX_LCT54x$shy>zc9xdfSz2mmX*r#hUWTU7 z44Oj=XbG*LHMD`Y&<@(etIz{_xptHP-Q<5a`QJ^;D4v#4JT0SmT1N4-jN)k-#nUp1 zr)3mR%P5|fQ9Lc9c&_y@*Ls+1JeOA$D6@6CGXBB-`(PtHXR?%k_eOA$D6@5-YpHtB16!bX-eNI82 zQ_$xW^f?86PC=hj(B~BNIR$-AL7!95=M?lg1$|CIpHtB16!bX-eNMq^R>o^qMz2%Q z>lE}l1-(u|uT#+L6!ba;y-q=|Q_$-a^g0E-PC>6zXm4Dly>XTH##P!IS84UAw0cxp zJu0mpl~#{Rt4F2Pqtfb8Y4xbIdQ@6HDlLj5v`voCHaSAu4*pOQA|Mh<0rRG4n3JCFaeBJP(KIKT=0ww+XqppEbE0WZG|h>o zIngvHn&w2)oM@U8O>?4YPBhI)?dVJG=u7SBOYP`Ojpt2`=S_|0O^xSGjpt2`=S_|0 zO^xTxRe4k6c~j$gQ{#F61#S7)k8b{z5zJrE+%!msU*Rrfa{U@O;T~%kSiMAD;Z0rP zOhTeEXZ@DlOfe;9VFzAan>korqCWz6>c4)+DG~zTGaT<*{ zjYgbCBTl0cr_qShXvAqW;xrm@8jUzj2`5v+$w)a3n@qzd)3C`jY%&d-Ov5JAu*o!R zG7Xzd!zR}OvWaYvB_j?G8vmp#wL@o z$z*IY8JkSTCX=zrWNb3|55~HZvD0MiG#NWh#!i#5(`4*489PnJPLr|IWb8B}96 zgZ#8v3V;p#zz+UU5+WcHN2ZF zx_I^QTI99Y>!7KF^fH?9?-)@!LcjJ1{n{h+Ymd;cJwm_s2>se4c<{e6qI86Q?GgI5 zM`)!S#!e4or-!lA!`SIzJo+6x`W-y_9X$FSJo+6x`W-y_9X$FSJo+6x`W-y_9X$HO zU(48Ag=O;N8<1QA%e-DV-6ebViiY(X0dXh`OMQ zU7;Ji4&C7m=tWL@Lm%i1qv&mqhA}V}#=!(iXCh33x8QA<4DWzHDO@9kYou_E6s|p{ z#d3@kj*-GKQaDBm$4KEADI9yaFHBya!lTuKUbJU=17l*OoJ7jGjo?0c$`i1!8Q9kh z>}v-0H3R#afql)uzGh%wGqA52*w+l~YX}fyX2EQj19M>>%!e3Q01IIel3UFD|qVHozv>3|n9; zY=iBv1CEpK2{=m`pM&%8EyTlja1j!S_dO&+5?qF4xB@@IRk#M%;Rd9@Esjft+wcq8 zmImqYE8GQzbGn$rkw69m7{LonUkJ{! z-pD$Xb|e2>PVvdw_t4gdzXkXI>AB&#(Hxh_sDk^SsHq$ZOW-}t8IGb;+E#=b}Y zWyx9m!nNron^QNkuJ_R+iGR>_hvywj)G-osVEl8PbRA;_hQxRvqr1A!eCPTO5AHx~ zo#^U)sWDa{xh0_==a%Vxz0&hSi(Guf?+^Y%|8KfJ;cCS>eS~%)*)_rz^y4n-rF6)3 zNSE7j_9cm5-2YtodY5<_vyhLEurb#%*A&m5RMKHg$+e1)IBu)!E_+U99ZUW0)@A)# z#oov2R=)ek{NWd_@g6CO-mFM5$MuT+kNfA2=h4M1oyvKv^0*@(I!D^0=e>WV@MON^ z?-;pTCvBvQG7ly|r`-jAF0rJ(!EgWBiWmotB&$Nrdq)D9B07o`dbt`8oLhE3cr z&xe0|^lz6K4HW;1WaZx_M!Wd;*wPa}KIy-rPZp6p>pmf8`9AhY-8(+^*FXFrH`)K; zL3#usDdyjD{Bvb+CmsJDUs^dL>t99b{r*4K3~cOY;sj;I!&VcRHP-*RYb&f23*@{W zUEo^|?QzF+hv;XPh5CB-Tz84J6x1&{*VVr+xyPmcXEgQUG+f%ld&J+mm;Xus zB~Na@|K2`opB--b>b}!Vo8=}S>h3=-UyjvlGSU}v7RTaubUELBpmYq3)ymRx;;fWb zv0cNRt1G!r|4ZpJ?r1t89b%R}p1&?gcO{-Q!>Gv(xg?)_a->{Fw#t3^_{;tIIOI3^ z1jvKrVRAuv1fRn4Xg;hslHZp@Xj(Iclg(<)iIdn>nyLQhR2wUS$TU4dZF! zm|dD6&EcU0&E6qatuW#zI`D%V><`kCvkCf$}_kYA8~m0y$_NO$Fya!VxL zMs6cz%I)M=xlSQvNtd#Wd~ zW(EV8@Mkk_WB_+F(NsR^G{&3(aKo$RPr$mX%;}5 zF@y`Gh2(1yADgro`T8N>?dRO3 zic%_-c}{#4xr!7fSEYoC>LpZ^5~|Pl29#5nUQR{zaw3wre|btSP%k;7UUGqyTSN9V;u9z}p|lLT^#tZ9vp~JfygX&ri!w7YyE=lh7iC6& zPah!`WtK;JpO3#ZosV6b!N*^kCCw*{;bYHHiiIh~)#$-mX#?RV%F>5Y+(CGNvJ0T( z4iX;X6M)qmCOk^{1>;dpaLs3>?tNjfwrVP-Fugm^L;*IB@h32=Z^5PK9o-= z&k1`9i+LGq>562BF&pB3%TG)FEkA?xxBSf2-}19df6LEV{VhM~;w?Y2zj(_JdM8p8 zWuF&G2S{P8|E|USc~eTW8`d@4^Sgnw7Gw@Tnz{L>neS~zNx!a_r2BXyX#_IAUz$8T z!@PTQyl8jk&_{ZX=M6kav^cZtO*s4AjFg zJ&e@D@_JZZ4{PgTeLZa2wez6YjcxU?qaJqC!(MtgKo5uN;b=XasE6DKu?$E=%diaSR9@4{OdU&e)z|LKb=k+jMgkFAnSY8jC=wTl{ zoT7*8_3*GBUg^{Gjm{>69(wDcRS*63Fh~!>^suBJme#|HdRVBwC z?$g7AdU#9^&*0uo`tgnYn^suEKw%5Z>de~hL`wSY=WsrHG9uC*Tv3mHH9!}B2nR+;150~iS zN507HQE7E!5`{%<5S`2MHb?#_Z08FF*w1igLW_m3L zXo(${&dOf2nfz%Vh0}YgEZ36j%8h8%c96TtJWom;HG+3|Z-e&zi*7Nsh&o=A$;hw)|dbZQ` zb2{kH&84@qTHY-0k`Ks-l6||27`*{C&o=y~>s}O|3oK;kvX9 z#xx^$F&fkKSfUTdS&cW1SJ-#cv(I3>M4E5V=DbUb*kC-F<1g8GoK$7wVLcS@U6GCZ z^l+Caq=jqTN(p9LW^bJXvPkOc~?yZHKiv1SP@s>KC zzdLxgLp@thI+nGbzYlu0o_u(F^5Grj-tXPgvmNi*dd~0tz5DMx1w7ljp6y6VK{kwr zC9smc5;76{dcXov%J=tBnuh83_s9le2j1W%ALWQk^bKXhP{wqG{`jL$gXy!3V%%bq z{FeMSHu#SGu0DFPKwikm$PM|X{1duUUy^pDZW=kOWVp#X#E7y6bh$$4vX*;b4UaCXK7=zrobrTlU+xhOQ` z${KMMO~`Rma@U-kAX||>5)o$+smfwy3}<U;Kcc5+O9M7?Tsf0GZ(hv}n! zB_G#E4`g|f9;+o|5keOY(li-OW!soB5|M5_{rBozy-39(M(>C?L>@xgWAM=i{46U2 z7%_{ZPkdHR#4}u%uhSwEM}Gj3q$Tn-jnSA(B6p-Qgb}wf)EwjF@$v+DqCWOEU7o?n z+Y(YbEb>QM=j8M9w{pDvoqR#Qi0@92zn2q9o2y~OXFvH6S0~FNcVa9AZRH$d`>fDd z@}^(C7-gg!WO}NN$;Bo1mSAi$g0aa`a@Lq2XC_r41L3QJK%&>1m8MARtQ^nJ7vvwX z9Cu8t5c{FbABmeJClNQ9yowYaJ~l5hdGu3^xT2jV@*tkDl3jZ4vlZhSA3ZA4)3$r~ z2p{~+!=Erx4*Q)mgdwGek144i@o0|n(C2^f!+nQ(8}4!W4`HO}!6U-;_>ZRT%{Arx z6eeZSwtrm8tkHWQelb1vqv=|>mh6uxWA|*uqcO#qf@lw9#}3ouJ{r@^HDrBQLqK2T z@%ap-PRfcKqQ`tRJrj9%e*#EN%)&nIssqr&?6|qb5_hJFkMKbLzmt+bo+B$}Zs{1w zYoKly%w|6}KYmz+J6>*S7`PTuI~Mqz6bhj8B35q4iz^WN<=#q+C}rD+TZ-A%EA-{j z7la!c3ua2AfZ|JL_?!{08r4wtBttY9{LM;Zd3 z+;Dwn+{pf0x#3!?@Bf;-{Yi}HIA%X-3dFI;+2&-U6lTZ`5x1_C_Yp2ibqs%oPbA69 z_9%uQC8J?C<@q@JN`Z!)3?-j`0^?Uwn1Hr^4MRVvM6N7g|6~wb!T3Li94lE3b2uh9 z7IWUk=*wc)7jikNVm7WX<#Mk5@R?^{CBC0Ej1zHOx8Qp?CO36`?cu1Q2WfebYf3c) zh5&u*WsrD&Wlh&EdX$_m7go5w*7u9+{F4~3a*UAQY(PHpG0y46%GSqF2l?j4T;d~3 zc_S^;hcHZ+D*Y*5qt{Ct`C$yL(47wSjvhz2RNRmQqgk?gMMFi(Y!`flP3~oOkGEqP z-j&Fzmsf=3WBiP5W68&>nPl_g zi7PVmu2eGF=UbQi`JOai@_Fv*;$C|BBYHX?(i8fMKEyucaF+dJNc$99@%=llm%CQw zVp19TrZfs&6*J*hzSl6e<@;0U0vL;+fBa^6Nh$zkInImzqQq}ZgG)9;CFvOv&+sC@ zeI-SKkNk<$6nyBXRRtf;83hF>kEZfYw(m*xz{j{6nf()RW&>%RW(N8 z(}>T$g5r3&G2aWj;W*Lbt|3oCK9i&}h8dL6I;oAJ7XBXO6H)-Z<8tV7efevtmRyOq zxrzAX3*D*B`i5xvGb!A-R_bIZE>)I4!EZb*)zRb3kjn9#+z9LRtkXUptfh*m~9QH0+pZ^L_;~KZy3Q0r6?!JvQ7Sy{vS@7y2k(j literal 0 HcmV?d00001 diff --git a/assets/fonts/Tofino/Tofino Bold.otf b/assets/fonts/Tofino/Tofino Bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..b48669742c8ba139bac6e8b92359b725b85ac267 GIT binary patch literal 86816 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 IHu+EaKVdOTH~;_u literal 0 HcmV?d00001 diff --git a/assets/fonts/Tofino/Tofino Book.otf b/assets/fonts/Tofino/Tofino Book.otf new file mode 100644 index 0000000000000000000000000000000000000000..256fbe9b76751a5c937c3b1756e6275868badc21 GIT binary patch literal 81280 zcmd3P2S8KD|MxWjiik`WnvV2nh;;0z*Q}H=zzdpAX!(L=@W; zp_85yQztg)`4;i{zrhuB$!_Ed?%TfI;qtNN4Fw|wHgL{IJoYO5K_9_)AFjgZPPjip zFp`6$xyOC-j1h7|>?h(=rPNwPBg9MNDd0R-^G)3WI^M%oeXm4>%54yurMnO`BRB-X z1;XR0${Vs6sqf(4a`ry&E8c1NvSg1@GitIPe^)qXxne)-qORIw9ulGc+G9SFpuyT> z0krYa9@D5k3eg@5xe?XC5uxvqQhVJ9)k8!AjeP(4=N=H?ZaFM0AULococURDZ9*)AWg)WQaG7Vj5rJO5 z0fCnN0t2VI$h^b++=DfJxGvo-4Q_Ympc-5lDGLtq4Gges-_F|FT64WE3&)^|rEiF( zyJcvwyQj?GJ$R~RpjTy*4CymG{#XUqXkm%^B0uDg0^pxJoDD-^a1;#v+iCCl!FL6m5bjI{8Y+XU z;qd7REk{6mFTfQ5-|ntQW%bhOsoVkAdH2;dC_ z%$C4aJK&A|XV|{2o*u)i6;xV6f0iqj`%s|M9XOI9e~#v8YlBnRGF~VRWxIf*u=B&0)YAqE+ zg;T-QCMt!>rXr~M)B?(fI!O6bN-Bh!LA9V-Qmv@gR2%AB>O1Ot>IbSV{bTxuI|B>T? z(VVh^^VR4v6-G_d+@ZF@^;jy73gpp<^$?@c81$4vyS(;Xx9VcCaGAK1u7`}d*fL&k@+4=H6H zx+}Wx2g?w8;P!xvH6GYMnE$}_{)hX2z`r;5e?{p2-uv6`{f^MRb@yWLjl1Uvu^6qL zk23+nDoR5AMA`5>S!ld`UIFhs?<$Xt%GmSkyqmmVdCz$-HRs&5XS_GOcRUsEJxGPe z7r-=!|KXFzXUDeE9}i+8_Kycqqvnq_37}VhH;@0nnX^2an#RqzjZ_kq3Go)I`b(W|S?}pBg}g!K|WSmel3ud_9=;&0*d*gBjCBJ7dhi z3Jm9F&1mFI?L(tr*06IY7%f2K5C+>22iD+Kp#6z$V z_rN~fhuQj=5`djxt%NE19cHcwqDvl%M@DD`YKYb&25mx(LDL(d4d^SBgqonO$O`n{ z0_{Ljn1SD*{pf476a4!T)EXUvNbwl@4kE;M=mctuQel?lL1cIa{AmWv*<92K;&^Lx z8udg4FqhAxLYURX;3qGDmo9X5hT1YWy5sIOjA|*tn3d$Vfl*4EwdW7nrRbXS*AUE^`qKJ3ktIALm1u-Y3(pV-Q z0xR`_x=LN6Zc=xtd(>^}3U!&fLtUqCp?OpTG@Gi2=29kLua<(X*n?W26o`9HL0s|x zg;0DH2{G|v>MOnFOaL2w9<1|O>I`*)I!qmZ%WDhfx*H6Q0}R0!5W5!yc@bcOBf+&T14T;$HAn>& z%ZFhtK{tWT-(YCoQi!TYnSwKG0nW7@YcfF12UAYeD9RJq4F)H-5S+(KY8_0JeZYD) z2;dxbk-7mweN4RulS+XLsmC+rHRHA7{Q$D%2I&Hrp?kc?V1{1t%J{~7hW{1c3LHUua0T7@effj<4t!VsB)%Vi zI)5&I5kG;yg1?rZ$lt@?&p*mfO1-Au{1TO?{ z1?996-H2{Ve?zyWJJY@B{&f@j2tG#<%-U4wi+>!UBBT z59n*%*WcYEI541Zpm$(^Y--*I=>__4V_V4X)@n!~pnEj=iBA{-K7~ z0j2|Y&w;z=U~q3hfHxqrZr{z;u|kmj`#buCf#`z6{Qca+LLD_EaP0>4bqw)y5Aor^ zxoAE)pe_bLhjZ75d&oR}{rudAS5Q0Lpb-bI>%b8phY=hE?n37d>{o~OeO)Wa8Ss;< zAvvxZa$GeMab*YDl@rS-4(+H4bfY|dWso`hhK%wKb`O`0uDCOryTGC9$YN|iU|`oV zT=y~h0dTLNpl^G34N`XvQg^*(xy!g-9-2>%5045o9(rJ&+$~Q|vt%4#8FxjdZ^2Q~ zuNx%ZtP0BvHOtnU>*3Ay@U8&wZ6Ho>Js=;Ds82;BU#_ojJHJ2=zY#7&I5hqH`A+fG zAoA59^5rC`5lELQ6}_h#pqT0%ERzL5%I@jw;m0xT$5G^G(8dqQ2;lAoaQ6ZX?#VQ| z)}c#>zzWg!w+%EL+&~RgEFtX&^b4%ewO|ftFb6c)0B8tzJw&T(Ar+K|7&PMe>eMY1 zBooR(;NW-e$X##WFRX%`0iD7O$qCbvqa6))*uywUMQ~^%D$qsfbS;8Ytr-<}W*F!i zixG6K+f1(eO#PU7P4t5QCi=1;e%!ZTknccv8ZPY!0N7Y7l(Sa_jcEHwD! zV1;^VAccBya6-K}D4qd<{wy5!n}x)EbFkPW4jOmB!eb9uh}<^^lReTvWsf+x>;VTk zAk3eg2<_N!7BctEL1vFQ$lL)7nLS`3bKe|f_DBPnJ>np<2O$3r)?KXGfw%70P4mT> z9P57U*ucG?G+&)GU!65yT{K@^HD7E$wqz%p4)eg@GcY2corimfY+9HsBor!a`U{gm zX=Q#guTbtbcgEH8^rus0p_OjKc}0UD_h6W9y58Jb#ZB)pFs(BGz>5C*E0r6CfXYHk zEe&iV?n*@?ju-201Hys>xx;?8?m%P_w zu0w}bl!C{#@fi1+rEQ16V1IW%$j>PX5<+S*LVGAG8bOi>p*`dUloCPugA`CYLg*U` zl3l2RLD2+iX;2n}$`RxjP!)sn5jsRcE&!P%^)nB(rl_?7$Sa|22N@-`8L{gQTM#-% zL9PJF2DOa`*(S9UK|PL5kJ=(?Hy_dw)Q+O|2_XH1JQE6S)FD_pqNu|N5>V<057J}m zID%9da$HEMA*)3lC@Pf)#V9HbL4r)B^C3y4viXp(p=?B*LFg1kMd&O=T|-digQO7hTqNB6eP*iYd#u+AS;Ek0Mrto7)cR6WMs&JqRIu3J+tMt>xc)%mKzil?I8Pye2UHS zVc7-hHL%F#jG!ohTqs^09wc|X`Ut86JQE(&4|t6bWZpbeK4is^eDlnp9z^lJg1Qmn zH4#AJkk^clMpIBv;5A2(ne(i8Pz&Y3u>Oj8t!P*?f>H$U2ZS0K^V%|ys6!1DN)nJP zQZ{^E-)2zefGR4KE}(`11qH~tc@q(=46rL=li0E+)LbEbX4k_Y^@XYyEaNpq$OiEy zQBdrFnk$qM*ovSr#hXl{7zC9N$XFrsN7E6SO2Hxl)MOz~h1voXG@t^_^Wh^3@jzLv z5EKv~yN48==TAZL7HS7P=ne#ILP$dKpk&Yt@qo7N2+AA05Liq^P~C-sDO5#xp~g`2 zMTrRNGms@i6(35lP~GLtMUWap=>TfIym<&J#87(R$=jeg2x`IzCPgG$$V3Yflxxsz zgrX3VBLq`s5km72Zx;{wQ@lMeI*@(~uF);%IrK$gD`Ai@T||p~MVF0SjM9zDja`h7 z)}iZo)hVhwvTjB_Nj+J;ey(5snAqz`jDy53})h(EzC8htg&_D35^pPA8dT3F%f?)9xvW5E;KVS>ut8eEZOYR zSG=!!f93U+@~fLoS~QV2`K9UbrhCmBnJ+iLYth4E+t)^42Y!9N*|*J>H+w2^mz#KYdVf>c!lR`{%am4btq!)j(z;%2yVhG;KWSsxW=fk= z-O~;i#wfiZjlS^m1b6S^0UHf%w*zIL^$L?#p;~wLCJm~4r zb9XP}UTb?B^$zKMxsP3+0-J$0`F-vBruO@x-=_Zc`meF=VC!l7Y{0UCKMj0f7eDCR zLDL2m*tfHHw)e7+v(L7FKe+8+r@`|F?;QMYNRuJnLkq)~_58o1fI#k$=Y{nP0EV|tFcI5v9R_v1>&cOSoUeEtN{gdr1-PHZ@F^u!~R zq>~hr{&2T<-!|D~vd83W9wR)id-6T)J-5i}$fn40WMy98d--`~c+=hkz2|#B@@eMd z?Q_Bx`8xTgO_5CTo3d}J>C}-^W2Ro7`qt0JZ=Ef2=@l6h zc{8eO)T*c>QCAl87XP?7X7R(t<)rz03em=Om z^Xfm>*sqztw%OYLYkk)yu5(;BcO71zvSHu`&kb=K_H8)5;ogS#8?83>+UUD6ZsVbi zzi(=_smCVSrdgY|Zn~LhoG3}`m^duaJ25(OV`6IJ<;2p>Uv2KTdFG^1HIbv_r0ArSMCMoOsY0%LVWxH|Jz3@=O57(_8;dYSnlB1p z60v$lQwH%8z)Z?QhC7&#+%R^RmjoYF3B~)SjZAX3V6vzzp4@q4h;OKrAZ$siW(gH# z--%173*X?cY43d}!!j+h(zfj1C&hJ1J+T#B+?lfBM5Z|d7LbSXLbJRMN*Evcr1|ow z^=lWeu~@M@E@7E;`LZRe6l)Y~qE;?gI(t>v;^~n_N`*33iYY9m+mLtSgk?*YB`h(D zjE#ykZ_%ss_doQy|4Oo2v~~`y5H0py?X`Qckz(0u#VU(+iLpypO4qMgkr=<$C{7s{ z8!L%h8oy*o!jkB?dMy;nnAjLe{OlFs>lPSAu1r*{v-tVv*x2RL-AjH>S-jVXp=`h( zb;f$%BR;vqg3m$`ArcHoq~5_&jy)>Vt;%M~C^2IM10kx@~Lq8A%2pBEAv zVKLo1X5lO;V+4*FMa-WUKWCW{w1Si6GkxNwTTGp`IBJ2E>1PQ&pB0OPBgV~`9J?ZQ z>%l$SjpoPAPna)RHhcA~jdP4ZQzwhVLuUE=hpbE7l(cTwuB2HJ5*DEmD#koC$ycvgwQ98_UJ(~( zPMp_^W1xoxPy<3zun1ye6&8R4U^Zm0#m!qB6SVIfTO4T~8>xtjQ7np_wtQxSkplEXA&re!E{Qh>5yi%Wvf9GGUaQ2Q4GM)s z0n<$(ogEh%AGIPTK6Xi50y}NuVpqg%nz4GG(TOl|lp<>JA`6bA#j(-xG4Trc7aI@L z!3YV^(zt~9r53Sqpjy%;AnQ2LTMk29v~sZ`+Q?*kVmKatPF3%^GU5_8HC>^4%iLCd zFe6*kZuB4_*;?jCmk2N5;WWM_yhw)AKj7tJk}PDNW2vehy%&qc53woTTWCv6=}N%T zO|eThZl1;5{Sz27^cg5%x3F9GGk;gD~&0UZkdYZz1#i zQv~pa6TtqmOflx!6P~Ct%l~*__5*FU+`v4nGB7W){;~M#;vdCXWX?z+irA-O>+mh% z*jb}9rm6{f%+*g}@C3&oK2a7aR))+C37ffQd)}S>O39ezw6fg<8~3dN>Bn|#R7xu` zo^mb46w41?J8TMV8zVxsh*a7{w;0m)H?`xy)7*7;TG8B!CRqs+%<=kDd=xO__0?;QU< z-z>jWjCbR^x#TX6Q#H&l^%j*{!EC=Ge9O-ENHScAmkY>bA)c(F=}HhlPM-zj0{+^N z|BUD}_|Pf5;*9B|V*ILjYzgxQKZ+LP@V%F@$%CLm!rvxkR4 zMSN8KjB7a9mrP+(jp=58r|(z($9iS9YC6qd1T%N zVu7dP-goZdP6;}22Z8^82_l)L+G8ja4ZR1k=wCxH6A-)v+c!iwaG+fYJyiG-OrXgb zGVSP-9f#MLgZfiaK^<@6OYio{3|Y zNOql~hYKfnr4xil(-wJpg)NvgB_aVP`@hex82GJj>veb=u53q%+d&zy8bdTjjKKE%kJ z)SuOR^aP2_ebDTd7A61&?>vE%z8KOjyi=-9vK>}rIpiy5)+->#n8Wib2pm++{ zs@0otsaRJKv zT5#Z0^;<3+kuV?Fh(u}_kyHTUBwHJucp2cYKK(wmH-_HTmD!+o1K>Rs;+9(R+XIBE zK}wbWxPI;3SLnN&OkqQt3l&3y>lD_CHGvG$#W4oRJ~~j#0h2+*qVIMi>tnsQ}NgNj(Hm0VSP$e-kvlF9BS4e)p*iCABjkq%$kD{JsCNyhkjJNm2=V0Yk|qU z#pgh0G%oqiT3qs5jZ1cf!24Q0UYF0ZhdY?zYj8@g;dLtG{L*2pikHmH$B}376^;8k z$5-urBc5kJhM17fPJdt-_B#C+>$=YOYZWU2&t=~8C9z}umIYZr=3gL9z;6w@c5kf& zuOU;M@plFQ52k||{FPPyOJ5F_G*aEJIcnE4pz~+{0C2)8`P%>2@^VLlM|(luh`)|B;UBx_H`A5oeQ5-Jt4xnm@=M}$pMnpbGU zLCiU^K}ERpzaY=fz^2xR{SF%W%Xyq10UD`l1g7`3ncB^cNfEiHE|hfYy-Zyf$NQ*U|yf#jjO~;;b@rNFwxjE@_<7M^U-dXaULF#BjA6 zODH>a04Y0Pb}I|jX6!Y58+@?tG7d4rQ+8az-qILVC)!RJTiS^xw!xD~8;P^M&_oLf za^Fh8&I4M5#8%fTol<7+FHXs-0RKkoBdVpWx-J^`P(eGivWm$E!MVr!C7KGS@=7>?FCHQ zyih$d!Zbc_dogoa-;PPkBPM!FTeF$fV&KxCsDnAhrw$ncc#Iq9t?J!ctmKUeZHif0RJQ}Mdi_&9G9!CcU*oN~gzhdRFF?Iioj@Opv5yD~ z@K;ztey2@hS-VlJ)mhvK9PX!dBjIHB$816yWr4aWHw#oV%nHaYbyIF4XfA72+VIX* z;Ke|zp`9xCZdYstQ(~maI}XH(Hfh81a6*gmDX?IG6ZiUC zO7Tow7pJk*zN^wV3a5&3-9e z&XcmGbQ?Khda9$%;?yp5Yaz3q$jgk$47D-cLdf(ibIBJiR-4kyI6SYcF_tmU-aD7G{%~A5&kzH|;DQ6s{_J zTwVA@s)1yh82_~Q0d6X-GzeEUNQ?AHA4jRmRP9SY(3Syi-$|T@2~BVv7IMeks=FG< zkIPXXP!eiAJFG?OI=W#kEp4ePr5Qtr-DtnU-S#3Po$mH6z&a(wKPErG-K7d419C>- z?4Ik38^cQYdHAiE%qxL%MGy|WfGzMmJZ}JQMgmFDK(>@2Q7ttiGMCn*E9pA?PY54n zIe+13ulP_iC zC*Y#G<=3I$f-o9VFD&>{cGdu*s_y+c>$|hG#VhPoh#kKai(~07T~4Osfh%KushEf( zkZ%wz{JX$61MoXsA=@4b*?5%MGw!4(Th-QJI-kYX%D$9~Z&dc$MDjW5mipI0PhDYb zejaX7!eo5W^l~Yks1JZ7%-xz}AmC<7xVm$GWCY|Dzz?(Mi*PdIN{5hgu_{vS4@JMy z$TELUU|JOC!98iPZ2vMW6RKgs`RcXRXa7+)f6gm@!kWg%CCrU4!}>e<3QT||&%RfS zmHb^>`u?Ci?V_z(IGwHO7Yi1lax*2c-2{akImgx#%!{o5aU%)e8z+Bp2T+8uIouMPzu%Ral&GJ zS&Z+&tqZw}Che7O3SQ+s!rXqAM_`D=-^Vq|!NO!00JF%)5Aq%G5H^?MLoNk9%*A-n z9TwOi4X}Pf<~BC5D;rmgEktJp(B?kwE5f{cGs(B)+b%N*PpX{|+UcO?wH6;rB__}4 zi+S7M;g;r={ejk3oH@C2!vP6txkp^xEoj_@)Z`Q-hWqky9#kbuRCEbnRc1!op~j9o9qt;v46v>|>j#<{?MVNR6yUTI?JYM&A2 zuJe2&LM1X^m&JoDDxjycIoQ9CV6Cc?p*rfBNoO;&e;?gCKvzAqI;DxM^kT#cIRD4e90$Uz9;YRd1$fy0T2#Jg5pKkaG7Qx$%20VVQBIfZMOjUbq4H{S#7HN{ zVP%SsO-pe5cx?vGgDP){YAE=U##k-36Ox5Bh4TG-b|%)-Bo~CZ{^o*Q+{glV$!SSE zVx@{PVlrTXQ)lwM1^M3b9v-+rYBC&Z6io}La`d|#L51j)S-iR_jl&B{*9^rWkia&j zO(ue6znzWO6;L<|nw&L@!?$VND4R4A#^QA}4&xe!3Ke7>O-x*|i77azUtY1r%*0z>7k<7)zE@*jv z#qoSr!?TVJmggm8Znfd?V#}<8-L0vCaHNODM8~6_~k-4`c)}+1rZ&)V5 zAMD5n5t(<2G{!#ICkIAr9$XwCGSPHoi!T4TFX^6XXq>c=(gDylHeI^>j|d^AxP8sZ zk&Z&qKc{d=W(_k;2d@FZdjg5jum6nB1@Nd#m8WNZ(I!3I0N@^lxa&Uy+4Vy`U5cY4 z?sJBtYo=j7^CgfJnYAV_8n94P{m1Ik{f0JE`GvGkeR^UXtFWfmi*aZkrY|rV|3GP{ zm7VzeyhO`CJcG9 z%M7BF5AE5CtZBUJ0TYDpnc+3?(3`E0Ng=^y6q%-`Xd5A31BE^l{Fm~kbGSXHA8Eh3Xf+>bV(NhB01>-@?EUKaxeJ;4HeA5XX~OWF>h|Uxnd9r1eb#ShHzHW7|i+0lK3WI`!Tyy01>p73B)sXa}SMB28j(f^d@xs``agNR)O z`;^YOQ;nme0|L)44lP<;qGT72{)TGi&D(KO3}Vf>qx@JL9dJVMt|^tT;PK*#FQkgk6N3Mas#NbMxzH0ZCHIwryMPtJn+ zLn?MoH$7e8k%tc!GT|yktav^)r?HtRU!=GenLqh}(GLGHYkOLdp<$K|(mY}6X3*2j zJqsc>Np=RrkBaSS#GD|VV~N?)QT>f(g)Q*&FmI9OikrMF*q4(mVP>xCK~Klui^X;NUyR>?@A>oLb$ zw~pmyOAP4*;f<~s#2NC>BJ+g&BV^8$>&QGIuTEwZNDv&RgdQOzh)CEKt)ub_ztGGH z`Gt;^B>DhWrdeg%Uv#f1xsaKa^;x8*XMKd!IaxYV)3d6RN`|OJI_D9fd)zvh4H)yP zOb0V2=JDP7oS~w?B+-AK^n7Ttmgf{H*_@ zSsSdf)P}FY>_Y>MVDL7F4%b|x zHyGAC$F3dYM3{T>>dBl!X3qW3nh_cIKQbfc-q+2DjQiDR#Bh}>gw+R~T>?GfId{*~ zXLcMsD(O_ybM95hPScufE#-4xeir4KK_8)fUXYIR%%CrzJPG%z#lruZvGC;52yOt@ z9l-Vne=cM~OFoN_BT%xe)eD9>>G(L}RGkmzWRRO`s(5ZB`w0FKC+$Ln+eGOB;p(M( z4@lttQN^S)7Ux%`vJc_km1nx0#Np|9Q2Lk*&Gg$|G$IFIDIQwH9I;U!!=1#QQ@WEz z#N7WkY$k~nF?%iX9R+<}h$r^BN!qn_^mp-=Fb5MeA|~x^UfHw1*gduP3JDWt85tHG z95c-bszT)ZWuylEt|^r>^pPF zq;}xw)6PqwA+Co7QFyRIQhZVjbi7%9@ESIoH+OYWKm|ib6Ki5i9_Sc##12~`*(1-RHy*Afe*T4a+nF=|tp)z!%sbo@_jJZQ@p$ zBX@B9=ch)sjg!LQH;5T@oqT6O28<*$yg06V77^e9xb=lA7{yDqpzdMGzX6T7t0owV zK||-i1$-m`hsvmg9xSx&FyL4C!fe=KGLiVfc7!9V=dwaE1))qjbLu>7M_}c`Z2Dx$ zuv-x-2}eTGOHDtqimm4qA~J4RU`^yp#-$VRS|zr+&4yOb*~m(R>^?lo38)$uVUsUZ z0^+2asLKxwH8-ai-z;Qit2Uc0fNjBQWKZ%$dxITMx3M5?T?mi#Wc9M=X-nMpP0sPm zof2mD&mHL**hb8xjhs8KFA-W;jk}4haPt#)-@M7_;=KW4e|fgb^#o>~x<*`yU?p|C z78Ee_qm z4PU0W8NXB#8@D7ZHY_%@sfmu?0^HX0-{%*YpD(_M+rp!x!%16OkL|>Xak!TjU%+nIpzFq@$5VL4Nyn$W7`wc}Nznh<}G>o9jvb*(x7(v$EXa@`cT zuF23D;?~$1Zd~8h#QfXZd4E?E>u+_O2Ltjdmgf)F^1Nd$kDh{ikkRE71nk{y8Z z8V3NxS*voD|IGl9iTG@_jI9cK+@uIMV9|f5NdjfHBmYp71j=+0AdDWhNg$ge<{HeT zriK3v%F-BJ_NQm^Kh`jV+)j@YQ(6DfRGxqzYBRS$(vf{c%0Q+)^PaM!*r!G%>irQV z>Qkc<-PO-xd1<%5$;tGbKh&fIIYs-~gkT3t&oi5v)asdK?RxdhrY6ODm#EV$TUA?a zy#KpR^?3hXmO;EvPQY`;VcB@VDeAXEKJI9y3d5G!#Bzt|uT3XzOOBozEhJVmI*~fk zz<#cmOT$DaF=SCDw#!yIXD)Q10g$EL%kdJvfEUn=BCXjlJg?#v*_unqH4C|hSI`9)`Mv! z_M#e%w?37`&!P~l&C(jJeN_rsi?171c{L($$Ul+FXY$V?b2?C2#VtJMiha+xVxJ+g z=Wr-T>C+P2vXJ?;I;|H!mDU%ZM=NQG;gLzj-gPCCwI$m!mF7-DrQi4&wvrhGV`Z=# z%8*zrVm%ov*Lp>`ej)RsI=Q$0YjW%3WxDV?4rcwVGk9tQb^AOnfIX5M%#^YC_%>|g ze2R!Io%(o$Nn`LmdPrF;1Z@Ljw<>UJ$-cE2e__7GtDVD$AVNV>VQaJoP8x)n-Ay@2 zkdM>=in;v>z?kQxx9YJrtke?-n}RNH68lDX(tq)R2j$ns|x&g+og_$bZ zzBE}>tgfSzleS5v+a|hxFr6#i$WR*_Mv=N^f=p^&R!ZTa%nA%|)iY`~7rH(G8s_1R zLRcu%QH6U0_$pK5IvX+l#zsuKj;xx+7cDPb$*!^Kx-z8;^(d09>amSB!hF z&B8sUDusQiLPSgy?xcBEE{rW~53zXK^?fp{i;>O!_LEiR4=B8dk z6+AN;xn+y~#+&Q7tfO(}GY_0DJadq_sE5Yt$B`=omyO{C$MVx_uYv7$9HFG$f$(|ycH&{Ar0gM ztdPfYB;y~<)UiOK$V7Xw7}ijM75(*d>NJ?Q`WFPTtyHgZ+e&S4Th(jB44Zt=Fj*Bx z+{c+9Mes1&4cKE=!jg8RsDcRGAK%bzFsq4p*k0ynxV`KyXTj%lb-zRB@b2@lul146 zh&!Gl!q$%6Wf9U}!ba@wY+>cl!Dl8^QRZMFyy9X7X+xKORfzu*F}L@u$$azD;^{Up z=~7ZyAmY5hI>kE08tKtZ8Ml7b-x6tUy#`}eA#=U5p>N@2J2^zk9G~}B1qKx@Vy++C zoN?t@4NhZz1Q!oM*%E-=t`S&TRbaQP0VAfBjjqOT{7bM!0K29H83vi%C@JDqX`h8q!;>f_$*s20uW>HlytHpJ@Dz4`mTz~BvM)*<%NfLtf zRD$`ma1r5l+mB&$sLUo9LjUbN&SqZ*m8jDsHXNu1y`KnR!LycnSQ-Nzi+$*GqI40X zMO!^kfN{~<%twXW*#u~9AyZ&equh4eRAr{XrkdoKt63xUhW1a zfZbpV+W!W;b*dYNv4aNswM+nhgw1M>eKElo)%G=q9C}8$z#l{d55#|&Y_J6|Q^lQB zRFyUOZn9P7;?q#r$^By1CaG>}LxGCmW;$0;(Tz7$Q!Kt1O)`PE5NO_erkB~jGx*y< zUIx+8zYKj8K)=I1fnpEK7}(A1DYx3*lU>u$pn9G4@9=>|;3PFKVVh2VN_}-e#ts0a zJ-B-wMnz1N{-JU%@U7Tac#yk8xuuTfu^rK~J{k z-@;Kg&`(n2?|6tHi^_)fUEYE7yQOx!^L$?Emwd}eohrunAZL6%dl5#8XW)%u=I*;? zDK~K)3(Pw{lr&flo@{}(Dy3Npy^h-xh~yQx1MVmtw=2iX3dqFL~$5kwUxSEh;P7Vgw}uomx#s#^yihKf9vSv z1&gic?LW*0pzp;8HfG%TOS8R-(d}Q*n^=oG%o+Q#E5{HnnLYf zx<&U|2C3hfbat3vyIBq6v>~wuQEg1r$%@@=R%NhYvsu;Ag3V@HfrXbo`ov}Wnq>(A zR)u1{Mm16VN?rrSZ{#|PtCIUlUX9$>NK5V_kZ6@43~H!QFM7pQQhSj(cvwm;QZ+65 zm6a;&JgY&fp*7Jsy;d4w-&s|W!a!?9`fVwxw$aJpeNrLHQ~1JZoN~%k)vw5%Eopg~ z;kh@8a4YOa1}|JJWnQj{!>tpsl{rQepOQ|J5u%qV4xI?H3}`KN5kUufF|IqGv@|CT z2l$fy66X{if>|_orj_KGj9S6WlLgBDte6CcCXk<5)=yY;Z%1WIc&7EMOCA zd;x9p2T0eeo>wYxY$lU6Z{K8zH+@lf@eD*bKtHqbqZ}}Q zXn24(yp8?D*+Mpx5ZDH(#j~Xd_PKnToEVieynf{)?<14TbA#9-qiIPYK2yj{SN&|Z z0Jou4U)hsa;9;lCar=hwELsK@V7?R=4i+gDByAe$nKvApVnN<7DeI-o^fg3Co9F;> zK2ZZ~c4c5`p8{+)3yid>>?rlHVHvBWa4(zgZ7F1CR0f~=Dd1q~hUqc5e)*;iOL0-U%kL-IQnWj?0>#Xx1~r zXP;*-DZB(vGoJ-*l2=BWDgP9#^W-er9%{Ewd@fm!TwA#+Dcs5CT^kCSDK?ey@3#3A z{8MZ=wvT4n=qp#rHB_#S8dk2_D9=se?AUVEOt6lJ&ES34$(mh&JxiyOzN)EoUm=#2 zCetRkrSi(iaFyF#*af&$9m2S&E}G#U(0Z_tSxuUjP9k5cCc#VQ;n1BlQ@PUv;pZZt z<2iO0;8!X)+^m${OIQJgGkGkeaR!jqe;ksZ9ulcn+1OP93?UH3%}ekpz==I2d+HU?-ADMv+bQWg%{l10c~2fLGsXI)aMuu^$P9 z7pJSEKu1Wg(jd}D6~u1$oD2iKQP_(F>RPjdOMO}o%v1krm@jD1u>fEYS-t%2@3G<; z0Hcb}s93|)LS&a?u@r{u6WGX5KdM&xt03%CIjav;85n3S09a1^M9Ik1AGBpJZC9S^9mfoL0EPTSP1O`vXS)6T9L-wZL%bzW~xqfK*eSR|Vvs ztPZ%sy5ZmRh2`)DNbRmec;lu1VJ18iRx8JTd=Aw}@IChn21#@VEC4ZLU``NDT~^gb(LO`(R~@3rKf9LtGjBrM{6 z3ap!E%yZpx?0Ee40B*AvH$Gyzw_yBfJmf57T?ChjBY&rVh2I%pdYg1)ldWd+dQXy` z7VcSl{MMZWS$n9qydmvdFD1ghdu1;!9olwqqjZG}J^Q72ynJ%7lZ8Xrj^np4MPU;K zBwu6j>ytR+B(?h-_C3dkb?et+-1NY8sDag!-5^b*q^UyIo76KWbr1B$O(Z7;-GkHq z_+x9v?c3Yj+O(NArn}T+g)&{`aGJtRbFptOUvYasXP}R z0``T+)(N$|4>pyUq{;JDFY~Cv5>>-uej)x-Ormm$5gv!f=3*lph2xyy?T=&0I44qv z#7R`HX2gF)4@j9TM%=>wIPBCNc*5G^R5ua^x!`H-UT-PX8$IAX!Y(56T|at=2y7%> zW-2nVUy`f(HILd?f^*?zO%Y4PxuPKQ0DiUSx699;N}oNscp29<$4$GJ5Gk?hW=on# zN`$}Xp7{Og>G9vSv>p0gJBd~6R$Ub4gGDCe7Ubh6`Q_+1`?At*U|W*U;ivE(g*j?Q ze5$mElL$YGC-aFL?I=bb6K!`<%q8uVTRj1$nT_@IY31IDxFC?;5Ve5C>Bp;f42wkQAuf& z89>Wl`M7T`m2nQgDdA_}q2d--+T-rHCqQq5zw7dlwEAfr{CKP+1xL`hD7RD~TgekEq;!hnd7gWUXvbH4r9kpk>HS@bIxL(1w6J+9qsQd zCHIM3oW3pl9DD5z7G@77LP9$^kh<`@AVlPN77vI5HEaNb*f5{M@E&RGYKEWTo%n=O zl3zN}LDg8Kgberqc`Y^BJwG3xID?nvnHF9ccL5g{Pbg+y!DjIKV&?gd`1=Rmnq%7W z7U@oUIQAfP^9QmW(NKBxjQ(~!X=+Xy75Bh{@!+CcP?2cbI@LQ~QcMPlTRV=0@u}~4 z^3P}48JNMQ*=|3;qzZ+1zS)eQO!!1F{_xeOS;yYI&YIX(BcY!8s(K)y62}YpWeM~A zDz+2%It7~_hTuUZFYys9@Ant6g+k^V(!c+A4uk%ly*drxV=8YUf1QsxD z8%(%#T8dv{5AoP(Bb*4u7Deb0mw>vuxp^4m^Bf!JI}pz}kdJ@!417PG+MS0d=JI!A zBqrY+vV{ta$-#^G8{FFS61-8qzDIx3T7uV^k-7mB``P**gGtI<-Cz_c+7Hr@t4ciDnU}#Y$zy z;mniL?DXTuFPdK-m+`|7W8Jz*@`PE*yD~D914g@y^Kuz289KsgoYH&@fLUX851BGe}oybHW%CH@o^sBDn3TGjuGK;@x+WEI>t+=+_`j1;a-`ui@(oMXaAH#5+|Yk zai>>rQ_tMI?w;0u1zYEtdjeihbe#p(9p(kz(MJ3r?Zg;-aHxpL$U%A>_U$CXO$DT* z5MHAnOq-CUtyA%cqtA|08*;G|@S25ph*QZtQRJimVs{EOKk?A{GyAO0t5oas|& zMR;QelL5r+_z+C91{VvC<=?vPk=x37N=R_H6gOPHYi};hg1jvrQ>5_hj#SLN*}8gH zO0GrjUf-d^ruYm2{U0_Z44qm}UL zqF!VIGz@Qk9QR1UEe``l<8yGIobmb0D~NziVFIj=P1~Ape%>dexuuWWV28Beb)bT; z!lIo6dYkt>GzJ@E(c!c!*PV8T#Y;A|5D%XkICQYzj-2%EdrFFSOc@P2KOYYhPYw=o zbO=s5oV8>7nVg+LBViCg49^Z@k5tp$c_Yr?5xLCs{VT;|QU+lf3y+_M2Xm~(<`X`v z?mWc=$FAlb4m$jmyC-SuCJCvt(0`gE=(_#11Ibc60)Ehnc@sRxU*>4x=$CS_AbEcQ zX!+TFK7@iNEpjwY;Tq=@u6>bH$Wi91n?+FgBD?{Axmhl0q;6*D7D}%Xv6ILoN8=gZ zXgovumw1Mps-EG2#xorHBF~Vc^9&pGo&ny3|975&rA6Zz?r@&r&cERqU~sga;ep;W zWd9F51Bifg48hLR~| zhgh{jUC6#Dc6nJLr1;;*vnCxMj3|fzvyZcLanI9W{9y-373&{gTBlN1^~j@~`FG~b zf7VH97MTAF=2ymZ=D)in7tH_8Os)AJK3XzFXZ~L)ano@pa7Y0@0Z2`6=9W{ZSj~k{ ziJAK;n3)W<@Q|39t1FECvU$T=$k07M4(ONG2CN6Zgm(R&`1Lx%bl2w z`<|MZ$9%B)6mh5<;|*e_OujBIeal(%^S&C>J}fmUTY|Ewd$1r&ozzs!@j6{=~QwqYz*fo zL)5DaVGpn&Y#Z4{E`+s(-*nN0u#@`Q`XAMXuvc^;Y+^Wd6XMfmW~%NUl>^u$&e~Dy zHCFC){O4IPvL>=>0DA@xW&>DwbB*E{Ng5;MB3MgJ0Gj{-td|p~_P931Y)Fuy2_Z`(k7L&(&r;cF)*1NDQVC!U6QbFPbgU2p+Uyv5 zN!;cGXD!a8csV#u(S)>82x(KD-n~6>MibEnvJvejO+>p$6VVtK6(i}p$ZL4=3$g{}X z0|D(+pTQ8&4xO_9DHqT}@k7Xlw7(TVNNZME4TIQ-wms=dCPG9Trc+|mWWDmT5p5Vm zv^7qlS5;@wN37oSnr99PUBpGS#{sA7Y3vFSZ3?EikXC?26(KE`!to|Jc5APTXr-ji zBEM-4`iRz56VcA~mpNEC_#L=#E_vTMh-eG;dRan1OZ@RI!?aCxK(F)vByCfV*Ld(6 zeK%xo_)(?Q4L|za+zsEZs{7jH?Q^^*ByXy&RkAm*NPm~U;RmU>EoZCs8C)&)`R{Er zq%QbY4Jn+u$$yZ-sYmEjxQ`iL$l>s<8k0Cx&VQQ3fh4MCaj;|JKS<-q0Q_sV$|#%K zcNWh)%ipKEASNA;^}OYnmTWcVYKd8d)h?G=3@>cUl2Pe(RBo z7UvI79%$#~G0@ig$U*5a;m{0wTnCFX&p&=Vvf$g{elupzkR;)60H6c@^&}2DhU=d+ z-B*C!b0?mK%Ebq@t@tz)iiD(|YkycBYnd?sn{cIz25CjVKAv!%@CSJX1cXU(^W`ZA z3ZZsUw0)wNluRZ+ig&KvbEE|7Q-udSZ3lRH^aoRKD?5x4YwHiFqtmHN#qZ$p9ZU9y z0{n1aJW46aAm>1MF|4icPaH`&v~*(0ay*E;9tE<-<$~cIcMi%IM^ukM^Ebt1Z7(vv zB+G$fq_OAl{)0{hZGl#qaBXY`+w$&sO4q z*}m>}APqb3qc<<59J&M+|H45J(ttJj8`M*v?qCI*8Mnc&TMWGVWYgT7AAOhp29HKB zZD+lA&hRG@18vfLa&DdO0Rz>-Lw%b%q^i$Xb%J=PKz$p2uN@bZ!Rxt8d*k`IE|m>0 zFl_)YFTr&OvOldwyzv~&P`Krvd>n)4h%wWeFd~yuYb69qv!Q(+v&E zUB1B~RQ?72`ESI^U8x%{O4b)E4=BwC2$iwEvj<9M4V>l%J95c5GU)wm>On5%L+Pv~ zJn!*-wi7&{i)WZ=4otcOBI;tvgOdAz$Wn_4|G)O$13rpsZTz3Jo83((WV0b`IyF?0 zs)C3#0RidKdy_6*L_utnposM%Dk@?jbPS=I0MZjc5xD^)LJSFJMN*gz6Wssz%q|ch zaM9~~-~0c)?tZ>!W@pZvbLKhE^PDneCtqD*cEVFo*Mb7)1-Av)3@vC|!Lpw}&VJRo z!PM6LYVih6-Q{dvpc{Bi?P1%??C5NMnH{Ol3pN=&@Fa5|L$<5Kw~I|qW^rnVG6iK) zeYVG#zf^~tRIlxo&1=;TT&W+fb>MxyC4cz$QVr%o+HjL*=~ZAJtPL^kH|s~Y)_?3! z-?VXno=j_VU~xNnPFpx1?`x&6Na>UJiucmarDk)T^=17G4sr&oEsQ=JPE)%u)7&{=-CZ9dKu2=mit-f~er&>4rNNTI1)^o2jxgdBa>9pT>Ufwj9z#C2E z`Kk4a<7{!mdeo~oeES(Rm+8woKkBh6X^t>Fh+7rSOkZpuK>zW2Bqi5_2a z9#z|m6^9NSGM>e)zOJ_Cy7%i^dz0EB^!ks$;%D`EA00COctb3_Dr$h9_y!+3+V+U` z^pQJhgSC@tbM~>RzO6N1&ZY5HRlPLCrn)s%(>1l_f@HDJSyNt(PcE*>e?w|6dVd?H zo%B?1XepJeReg4^^97<@7tLivI7P%{a!c1uq+S$2|-ko@F^r(2P%wzUPlAc*KKk9{f17@_d^LTjG-uAjPC*pDf zwQX9jy+tSXiIcd{ty(YJUaeZu3ANfjZS?P*5$Dz2YCZN(VgKdM+USmIwJRsIYLBu1 zf_%twFZ*6$-vTX&-u4=GO}^TDL3CU5f{HlbE!q|}NNdLf>F&sCNUHIujI0K6MP!S* zrK0+n9ywp@t*zl3q;;2(;~VW$&+OuFZ9Foad`+b1r9}VXmgu{w_O$o|w@S3d4H9h= z-@K$iucs{K+331BPwlx;nk{aXW-BSonQmb|ErnULge;rwE9&PFWi#78B-u}w_?i&&4jYdW z@i*>;M1l{fVGE)kF)uiU(IdesS|pck)C6^Nir81Qz*w}8|3^%@vY@*qu%*6DHyF9C zxF*}Q_w|kHC@yixjoK)=@qvr#NwH1MGCIp$v~fRrJ+f+IYGI~@tYeyD;jj0qnVN>) zW{2nSt?JMGm-$5-Q$*EFA6hgYwGJt$!3@8GwR)z9LT|GpP}?VSPgXk{)t7FYyC>ET z8LP}~GYQo8YreEU`;Q(zYE%dE=t`+=&?8UMDSI&V_WJ_0z0L%6vRHoP2;O?8Gokdi zOFR-kbb-BfXsK_W(DzYlJsnSZWIFCP@yJbWV#)H9vM;c>lT0W0{Ug@ovv({_U~vyU z=8>b;30_Lz|ZfY+DE*lzl~X2 z&fEBpn2)MmP3lSWH(FOyP4#toL7ZEwqMiP{kS}#7uL_Fc$X#h_c(Q6cWZkA7oMiji zqK3Y{|C?7XdbcspZ`rqR<#bJJsMiHduH|J zt$KCr+Pz!27wewcQFUZ@z3ST|PpIYXYPr=XFT5QUn0k1hGh&~(a76uy-bvaP+s2I# z9XBoC^ybce_5-u`j8BUC?z_PoTD3BLKH~BBT81~B-+k)vCt4p38#4I2W~NC4p6}M# z-tmpDpA3k4u<6FZ-+gBqy(amo@4~-Je*cR#(ORRoc(`lm4?KM9wf-miy&>xxXkMDv z(EGIzUKP1|mos@++O*(p2fC-KVVl*k{k?c$in_D2E!(1oz4p%om+Wc~TzsT^yCxuZ=}3|6;p#)$LmNuM>Wq5~aOku@+WYJaFe(dwa7M z@lAU*;)ST%md(zJwtqgA`eZ%(qrLmqd?Biz`kl?{Xuh=5@^t&oRbM$4M+Lt5%09Jq z5_2ZpG9Yrfp=g%c(bndLF5Mc1S9<)QYJMtO?VY3zFwg&B{<074?=4swzcfl6n56aP z&u`vMK3W)_x$CiJi=y|Ne|!1S^ID~Ft^T82E}s$IqW@v@{22>oJY}DJo<09sbl^Mu=US`eA9t$>G*4v?t4Hw(UHK2UR%**+ttD?pv#2f4 zY*nkNwd!xxT10Ezv>bEocvI)>MzwonYppDY<-4d8WHkBzYutk1{{OYwFMq90_)7gD zIr#X|S%=jjN2~?TkuTf6=CN(!ju`r+eCJ4Q8n+-%ML#r*2zS0;_OYu=T{Er_CN?~by! z-Cc#9F6B=RRokn^jhgWgH+vX2*0ZQXQ0#}zS{E%}>!s$)|1B6>>~Fevuxc{L z&o^;1#bDK}wWqNNR$J^`uyX?huSrrBSo`J8js~ z{Y<#(otS#|?7&pbyMEv9orXm38PYGMez@i{sBOJ^U$#|!&TLNEvmtuIMqAh6LwmIf zZ#sU{{{5eBI&pM;udZvOcZTj-yMFu8@DnQrbm%Z)K+{%3x9=K`6x>Bm_}b`fq*k)g z_dIn;J$1>nk5kZMO*Hwk894v0{5ta7VdMNf|Ynx=$}Ci& zoQ2{~la1=Zml$KuRU2x<64z+6)h*gH+Lpu-jAe(-EuL!%?7q=CL?k!|8=bwG(cb9v zn>%;mE5$woU+t`CI#{`6{>YEinZaxI~almp|)P2TT)*MZ#EAQ{7|JwyMvL z7^n`@8Wz9&YWyS4mtNr(od#Ksh!LygWCx7r3ceY(E1N?W4ktIocCR8=d` z-d+7tSEv7A=86LQy*5>-^SBQtVWy3#j;#aMXbrXDuR759A3yH)4=FRBLc0a-KRuZKNmroSy6^Z5V&{5;l+7vwCX=s9V)% zIJcruD$xOT8q0u z`=3M|=c@BhqKo~btv}Az9vLyRU*8!U&qb*z-7PQlG)=awpEMw`MYv`gaIY3A%~p%t zR8O^iziHL_0iIKbhA9} zQ8mFfc;>J^&BE)CJjArBX?5C}W9z#N;&p~U%-A=1YEkvQ!3Pd6`Bt5F050)Xx&nMp<{9`mAq@=p*LB z0mr24>(jbw`}c;e9l%@IdrWW0e6wAvl-^u@Am`gO<%va z&HlDKdU*F6(RKQR;hKG5+PS=giC^*#W$t}exlixRUa{e@+G@{_*yYo_NlEK((HhTv zu&4I0U2A@#m)c}*l(uJ2QKuiTbh2m_od#Q#g%5qK#@f}`??3vDyFb+)vo@$=yPC1> z(gv}2i|Thk9k@@mZ!tP!XYq%$C)LJ`=X*3(AJX2^7T>2mr1j9cXK0Pp#nBtQv?p6r zOO4egM|jNPNp<28{jyr))>K)hiDd}wmhU-9Xq!;;u*2Z(tNZ{t+P!H(2G-bpW1Q1TK3;Bj@n4|u{BWZ znfAQ>dBXShUmyQ8CQ7SbTw|YF>#TW+`4sPE*4nGQTD;C#%Z@G2w`$S%#h#w>#BWnu zY*)+Z<*BKc$N%3iPg9k)$bQyxDfttGBOd=OCYs{ZH1AXS1CSQ73@<$JfL?~yQ{-d7 z)4RBo`%dxCtDCkz=~5aUN_8nIv2EnD@Q;>)Df5Y*oFZtUQh!^kEK7WKTtp7QC+S`%EredKG@w_HjUE38ronOmHD2Y3LH=8z?>3Ss1(>9rkJBC`DEL8WKF0IjC9Z|@iNA9P? zaLl=IgBrU*Y}j&Xi&2erF0>u}eB+U$V>h;HHD++D)?W-hihA~+vo>Mn8|#yjULQJo z)bqo+fzf$(LGsbB)V#0OpPM`FqiI|e?=xH3?-K9MRt}sypuTy)dM^2LMYW7gt+hUr z8JLKn*;*}LJXB-IJz9hoxuLFFBbw=zvbLh$Z7r`AUoNiXylk@ml00Ls=@kpdcIGcJ zd&+;n$xnXCS?sJ@{QHuHxJ&LQZe^=6dOzo6_#!nocV$}!cwS>VREt*oXf15X#o=<= za-4Idx=d_PnY%yd9BI?as>@8h&HR(YGShBzwmRUPHoz1pZ|i@1m)aLkJ_*;mI@I|# z|KCY-&AsYs154<>qc)(S);z`QmRsqpG+vKAuIC939=@;a&tK~X`m*% z%9^x3F@egwL|tw)t44QSTGy@B_zN|g^^>)G$8Nl*(eM%7qDY2*>4={+AN!cmoEtM>YeE5a@xi)p_&AWVrv=+BIKRM%&v0Sb3*^i$dTrQS>esW#zx^F)>az!P>rdHjYg%uk6<#4U7QlDC! zieYOVwNmtQFD+=;$zL4ncxSv?cHRBeY7A?vm5t8XXX}@3`eO0hOB3yTpM2|)s3zKs zb(tIRBkSv$YN@`qA2(RmESo!I=+t>5a3UX!yHlH&^k3QLX^l|HZ=A-@T}sy#!(GZN zpIve(kF8z)dGLl+W7nzvtH-RfuHWG7YU}pJ#3M%%mTy`y>)of{ihBEv_m+OaTQx3f z^?Rq;-+TMLEm78lZErsHWb|tD)`_3AYBTQ1!B4*R^t-d8X3d!~eH<~XsP(tEvQM5m zb0FM_a%6RIO#({LI(!gY460Jv00HsQ&-xI)8(G*_;1(Q(oiDaXMED)wGKD zyT~#0i^oDfT{u3d7M54%dd8c6G}AGJ$Obnm*|Gr?M( z{%XU6Y7p^mdZpn^nFJ5>ZBswCE>n+@0e-XO-);?*k5?{}k5_7XT;^^+HmW0uSn4BP z9~D`?68hWojp}o^dnR2wS!Cv^Ua^B`dX4JDyM8Q}zrGA`zX)lc{*YagnsDuT+Mc&Q zK$leV0lN62ipgTH`izmk%DeW8P_y%Ure2eoqzH6=U;4zW`?bEsaq_uyk;(;$5>Je4 z4*7N(@oSo~@Xqg>VXk;I|1K=lc3&G0YQyjH9SOxkzQMHaRPh0~12onGue}DV^e3jZ zr`26snEU+HsD7{R^1K#8?Wv|Di|>o<#-ibBiY@tyUA78i)S>DCu}@uNRCDRQO-Rz- z(CU8DpE`c^k~2y4aXxN*^U{rPze2O)(d=XV$tD*`i*EhDOf*|YaBKF}-BPpTdG)48 zvv2q#OwTTlX2+x1!TLYu1yc zyoxB^c0#Q{ypCE0U0dV%2g_u2sZl-3u3P_z8-2bOV+=8F{TD>$Xydnwjq<;ajXZK# zSo+@=qs{U1PiXh>541*gbkX-bWWKUjukoY#^Q+O@w|}}aF{(*ve}08FFWUKRa_~O+ zce2*C>dI?>9y!6I%iRVkde?GD?X-`sS zTJOWwE9%9*Hit#6`Q}Ia3hduc|GE+XzV-W&kC%LP*nakjeOln#Q9t*uH_y`LZ2x+i z;Y!%j`PtQza(9|vt#0Ps=e2C=Vl~!6D!%K6G^jClw7kk3%S4GfO>X}E*Y!^{ZaQHE zZywbzeS`)6w>^Ja>xF&weIreOU#FS5BsIOLfHP%hkM5;-8wwh zK1S)=<*^Pi%Fu3d@0e~~9*t2ZdyXY_Jq?3rY4j{fUEglSq<%p1|MA*vqsmGp@`#Wpf&#G#1vi0p_P z)X15Ub0X(Pz7qLHoF+nl4W7@^|r4?6H zEU47HQu|6vDxIoay>gq%iz_d$e4z4gRYI%OuhP59XI0HrhgRJg7ZW!w?uEGb<4(o> z8dnf^xtdZfv|6QVb*nW|$|xONxylo+6lI(%N15SDQ)Vj`^dQ)y7r3KTnEKsIO59x`{=)=_8-)iCzP_v48@FwdMVGb+{*GRNQPbTHSC2` zuFGPo5+$Be{KRXDMJ%R_Wt4yCXp7?SD#S{ph5U+joWLrIMG%yA6_dI@Tc2=cvo}wf zja@wF`cW^%Tdedj8S8snG z{hzm$zh(YsWFCe+#?uz(m;_kXwb{5$vm*Lyg!hM&ckIPmDl@gq6-G7G-Uf)E2&)wToIMSZ0JVdM3fj;)tvBz_?Gh3Ai>L`Lbil9x8puLHpO|O77*HB;S zobfN5aV}?klJ-1+TG}n^kM{fw?Rf~JnGmF&uD1cn#FOLjzjOQlrzB;6B!wC-V)pMp zxmJ$c-a#|Zp_yiSn_iwVwJ+M~gLe9%ojz!%58CO6c9uaq({*n$743VZ_q~?-UV1F2T$v?OIwL)ZJo5k9qk@!&kZ%V@*w^JO=PCS< zL^jr5gryf@=@t>Mm`jnTLkU5ivpv4#7i1c6lT5=&X)Q9%B()3pjtiuiPl~dpGCeg_ zsQZj$Jhtq={+;6g9Xa~wmbevtbKA8acJ1e}YpH{m&q<9zvE!cDYLFTP?)RBW@NRff)jjqsrG9X)dPDz4RIg;+O6( zXoddgwg`Mtz9Pu+GVQ@bv;*UmQ1mTMIjF=kcTpaHRZ~m@Ie+n*5=lR&GV$e6rJvjX zy{#7Af_Eu_?v?{Pkv{%4B@S7|DF#oU{_>w#lNNUdJ;_HCvPkC?I&uyjIj7s=AKhc5 zjS8oY@}b=ir3die^UI5}l%Zr5^pZWN_%r8p%5~w!(4(nteJwrwYvuKyO6|_x;P1U9 zedGU}G)nhd|4x2pbT~`+GFA+NvWgXdD#wj-Wd2v~k*&ieyhI^hf-7vE_TqnLi;0pK zxX*+0c@00bn6oK;tDNg_$DOJK(uM>wZ~Cu}DLo}AuRL-M(fi|1xiYThEcZA|>?!(> z@6l&;s9oP{rHH4NOG-vw18|r8ziF$HQe7|S-T%6CYj?FjA+_8fYRK^pJsN|E)B8C2 ziji$OavOF~tOQYe`Jxh3R_w%CDylO|s)4j>62F!_S_va&8l$Cy%(Q%iT*J_~u&XmI zH{?-+85)_Jl|FMOb5cpn<7YA}_8l`;Uy@S}cJdvzXvI#xBiBMvnQ>QjmNlUkOm-!a zLI&4Z9kjF=w6qz2acTz2RYZA;{^E2Q&2rtLgKID8Cvx5=IPWdwvw`!@<-Gst_Cee; zQkglbI3!vP=~ic74gLJHDUUxA>%dH);`l2V48W1yGm?^;HQ9pra`81kx` zyt0$R-mfX`MQZ3g`DBw%fT%)A<6O%qaVB|Xl2-tEog%MXM)2|;nHik#bFLjy-{{@= zBZ()N>6pR(+03>+$GnIyXDRzpRb*MYBjB%$Wg)jy@7qJW<7>%4Jxx&#;C=;3NqGTtFv+*X#?`TjC{F^h&mj{`V4AC*6Ho8tQ{ooDc5f5 zK*~LYvq;tJ^-0cVifgoZ6Ycp33IAV9JzBY2$^5moXhL(+(VTp=7!L_GuoyYper+rI zl&;%{-1G03~dR+9<=)4$i7*raQauXPZ2OAAzU@Sb1 z=Ffy@;8~ajbMP0>!wc{tyaX?E_mCgf=nnx92xTA`tPlb=2!(Rk`YJ`ZwkZZMf)|*; z3>NSPAMgb~2!Jw_4j-g2s#k)+3L$`hQ>sE7;FXo?AU#=Q*DB6vmC}**$Dk8*hAz+* zxVUe zr<^X@Bn1Q*zzAMo0y9{^8+;&`7TXFTV1rO72V-C?t@?PF1k?Gwh~?|F(Qm*~*ES*L zJ_W5!Kx-4w+61&V0j*6yYZK7g1hh5*txZ5{6VTcOv^D`P+<+Etz^)wFl>@tSU{?-o zC24JF?J@EVLsF?Z`qqve1q!v?B}c$U-}^(2gv$BMa@wLOZh1jx4kz3+>24 zJF?J@EVLsF?Z`qqvP#vCV|cai;5d8_C*YrO5`N&A4EPaF!%uJq&O#>q3|VjvvLOd@ z!NIY=!UgyZF5+wQARh{#5H7**_zxF;L;(Q?FoGADzzi1f1|JwhPhqTU6}7vH+FeEM z7E!yasMQ2&HH-O@#`w}EFvs;Rwel^s@-4OUEw%D3wel@TU*zbE9DR`^FDgsXgEaIY z4LwLh57N+sH1r@1JxD_j($Ir6^dJpANJ9_O@LuQeUgz*$=kQ+V@LpW6fGSWG;-DH- zhZ@kB-eeQ#$ogZ@2|7a;=nCDSJM@6Zp(pf$-p~(5!YI7WXcz-yp>!|hiFdaQiM-S7{!*uj89X(7(57W`Zbo4MCJxoUr)6v6p^e`PgOh*sX(Zh7~ zFdaQiM-S7{!*uj89X(7(57W`Zbo4MCJxoUr)6v6p^e`PgOh*sX(Zh7~FdaQiM-S7{ z!*uj89gpOLNAkfV`QVX!@JK#*Bp*DI4_>GceJn&D3(?0y^sx|qEJPm*(Z_W3F&%wO zM<3JC$8_{D9eqqkAJfstbo4PDeN0Cm)6vIt^f4WMEJPm*(Z@pcu@HSML>~*$$3pb6 z5Pd8}9}CgPBJ{BceJnyBi_k}22LfJT0y9{^8+>34J;bq$p~k}`n9lEcc%1pLK=(Y~ zmGC@i=x93UEa-b0zzAMo0yD_3H~0YK48;!uAdpyP=sj@N9j(hn>vGY$T(mA%v9T`{ z%7J_)qddqbR>C0yA|VQ*AqHZh0#t-bP#LO_PE}xRist5`xw&X=u2PeIwV*cK19jkD zs0;O=J~V)a&`{4n25Sl_Wco>>P3up?~O&>6ZwSLg=a zp$9w;J)sx$hCUqE7y7Z@pXC4;2!miSUSZ*;r9FR+NnuWn)FzSWz}sl#LZ-V@26mQ8reTjTL2MMcG(UHkNWH z&z+5>WMe7WSV}gQl8vQgV=38KN;Z~~jiqE`DcM*`HkOi&rDT`lxr?xrA}pl{ODV!q zim;R-+TSAD-y+)IBHG^~+TSAD-y*a>3+>NB`?IcVKJBhNe=lq$3tP#;Re$Q6=QA1SX(jHR*bb3V{OG)TQSyFjI|Xbl{}=9hg9;AN*+?lLn?Vl zB@e0OA(cF&l803CkV+m>$wMl6NF@)c_hJ@{md%QprOqdCEHc^LmyWTvw3H z6(n;7$y`A)SCC8|lF36dc}OM?$>brKJS3BcWb%+q9+JsJGI>ZQ56R>qnLOH{Vl1l| z%PPjQim|L>EUQ>VAcaVXf@p{VcfY4(J0mTv5D69{!9r|Fwlh~Hn5T3^f_X?V4+-WW z!8|0GhXnJGU>*|8LxOooFb@glA;CN(n1=-Okl_Dh@3S<$`g1+Zi};~Z{Sx!fRtNzb zghDxBY=<6N(L*be%SUqgNG>1UvzCxtmhPj9@KHthDA~7^*PO>9;qfp@mvkZiVp^srXd;%-rQ}_%%hc93yB)}?I4QpU6tcM>U1Ac_l@DrSYvycft zLl&HaY{-FJ&Sb1>Kc(DHDfe@Rr#Qn?oZ%_XVLxXWhINHuUHPS)k4d!SYHCMDN%Tzx z{Zb+OrM`@GiWun>G14hwq*Fwnx`;k?5q;_+`qV}Asf*}SyCsxB-U;NLKz<3zAtjKx z$1=>q20>W}1}lVsjeVg|4#J>3*dZJuAQGY=8e$+8DnLc31eKu*=~M;gUFoyzrO&dL zKFeOECi`kZZMX;Oz`alx>Op;I01crL+z0o=1JIb>Rug!T^`_7a9){-70$M^VXbq1* z8)ysdpgnXX|Hq&cbcQa_6}mxp=mC#IPv`}`p%2IPg?_B}XE^`{!XUW)yv1JXCXu>H zq;3+an?z+iGdC09Ntg(efF~lADKHhL!E|^Eo@NeWCOiYr!Yr7>$o6@70bYcc;ANOg z-)A1ohXwyuKPVTA$;D!Fv6x&eCKrpz#bR=?m|QF-7mLZoVsf#VTr4IRi^;`eaJ$-hAZ$p+g1VR}IX0F%@Az*`0C8z{r8#J64qBRnmgbLGm=O9fA@pHF=);82hY6t%6G9&*gg#6N zEz)UPq|>xWr)iN+(;}UwMLJE3beb0FG%eC;TBOsoNT+F$PSYZtrbRl9ul=8yEn7!F zO3s-5*_o}2)LI_oLje@RCHNg5>%t!^Aiw}d@B$NIW+1V8g&khI)_GazYJKw8+^bQ{2%~s zoeQ;6yH;w~O6^*yT`RR~rFN~c27Vy}zmS1n$iOdT;1@FR3mN!@4E#a{ejx+Dkbz&wz%OLr7c%Iv$=c2M7h|Lh zd_@MnA_HHMfv?EGS7hKTGVm1{_=*gCMFzei17DGWugJhxWZdl-NhzWXmq7#h6z&yj ztMnSYp?^UQo}&gclq1w&A~l#u4JJ~9iPT^sHJC^ZCQ^fm)L zN+S2z;ukL97cSrzF5nj~(CRv9bse<24q9CYt*(Ps*Fmf6pw)HI>N;q39kjX*T3rXN zu7g(BL96Sa)pgM7I`AzQ@GTecEf?@D7w|0?@GTc;bse<24q9CYt*(Ps*Fmf6pw)HI z>N;q39kjX*T3rXNu7g(BL96Sa)pg*P((p@Zw7L#jT?ehMgI3o;tLvcEb!8(j;Lk4L&o1E4F5u5D;Lk4L&o1E4F5u5D;Lk4L&o1E4F5u5D z;Lk45>N;q39r(2iw7L#jT?ehMgI3pZhgSCj{w@HE2*4r&u!sOGA^?jBz#;;$hyW}i z0E-B~A_B08B>Y_x{w@iBmxRAd!rvv~?~?F$N%*@Y{9O|ME(w2^guhF|-zDMiQm}{= zEFuMqNWmgfu!s~aA_a>`!6H(yh!iX$1&c_*B2uu36f7bIi%7vDQm}{=EFuMqNWmgf zu!t0_Aq8tlVQwvjxwRDL)>4>TOJQy;g}Jp9{9p>!kb*U&U=1l)LkiZAf;FUI4JlYd z3f7QpfcQcmXLk5pf=nCb>Lp83-zErG=PTC z2=0UX;Q?sO415!KkoBg}3?7E&&;nXQD`*XmKpSWa?VvsUso6q~>kIm9ASS}AHm1496o^+@F{!-pTifh z5)xn)tcEqP7S_X^t_&U`?^HO3UVjJ2;d?j%|Adq918HQyk8m1(f-`UyGT~>)f^(1! zIgkquj{Oxbz;AGo>t1<~4+T&Nmq69~Q-AEr;8^Zg8V{3T9`o_@VF4`SH*&-;U^8f5 zI+~Y`J*H!i>DXgB_Lz>cP@G7l6Nk?;37v}7toW)cO7&wT5_Fton%(*wjYTYx!w42{eI)`TYt$MIa1e>k|iuHzw1Y%p+CA3IZD>IQ7>PLYX^6}g^-rKo=u9h z@e1=C5w5M2?wjk!vNZ?LwUVE!x^{J&p2n>bV>gzex(>3!``pkbU$$hr4!g^H^$c_y zkQycBe?uy+wXR=W$;6i0>8l^T*0s%bj9+@mDYt|3AWhgy$vrk8_w%vvOq4wG+J~p7 zuhqSKqepUn*P{H(6*S}usa(FML)S|Duj&uYLPKN*E+@W2|CBsmneOdB*JEDy6W6!h za9jv-C{L^;WWAqzTJ<_4MC%BD;7(WT4e|fw52*w0kL%LSx^Q)mXTS7mNz_X+%gfaM z4Ib^rxOel*mF-GJW^trec0`{7d9=lQopsQ*za{TlamJX}dhF4O`^3Q9f>MWtplU z5r95jmVS;c9{ts~-w?R6Txt4o(&DXr1E@oXth1}B-4Oi_KhU+?w10Ov=q`4-{l~2l zX}`yzq|zgB~!n?jz{=`UnTOEt((p@|Dwk(5u?P>xvs-E9nCclsVSwTaQ(3B zYvpe|`udK$S#!5+cM;RTHEY51s|wGr?qzvUIl(B=w4F~y-=QnHv6x}y9he3=I- z6j6M=MGRjbQHigwsKVDzR2Q{`zZlCmNQ~!ORy@f!SWMz;6;s4C!IRT`%ZZtM!^AwX zP?Q&o#M`8|RJ=zTABbflPJARjCatw%ov102`PLRk_})Vaqq**0nd{emxfgo2@{#f} zrPatkNL1yB8sy)c94C|4RC0TYT;j>&4e=IvB#R^5y%I|*vgIkm75D)9i@muT-%oi; z>B$_)Ebgv*PFY6UpCE%J$YPJO8Cj%q$MrEJvO|~1E?pwuA(6|XIw(L?l5E{mR`C#CNr`Y6RxYRVNU zHRX3HFU5s)76=9Dye^F5O}^X%h>W~-x%hG>4>LLsp!F_8Z$Z%44`W+-&dSJH)u2VM z$@M-H_Y>4XckktX0Tb7Wny~&L_Y7EgQnV%a?6l&30F%-|>BX_V`5KW$Ki2zmKY$N& z5F=>WNAl$^V8)JqJX`t{xk^dNJN{p$Hs*45rHm4mXXM1Fp8ZueZ9dxQYdejXIE5TVLa9WQ42<*54EFaW4QGirpBHs6aMSuL1}I`G)DW zVxU$kvo7nyKz%&Gx~v1EUI$^^x6zI*?fHgr<-0d=q-KYesDm)Q4!k^dFp4@bDdVXF zc_-a0YH<#A;H}qz4|VVle7cl=1kzti%}KdOA@}vHZ$SDXy7a>tJ@24CQn-69l)Kk< z6Yk*~%JrxN+`n=NeUDJmly5n=W6D3Nr;~ikD?d;lzSPDqZ0Fh&>#|nL>$Or&;nn&a zCA~x-8tkK#(d#A%>o2F2)$1mhx{2ZKkw^%B;<58EpFEXajDPHm3sFZx)vAoNR5AP(Fp4=DNM=RBkcPr&F^m_=h zo5tNV?zbR!)8B$TS$_-i8~R(2H|lReKBm6~xj?=JS%k>9AdC8Xin3n)kY6bG@l>Y< zTXU~RZ|3I4DbqdsdC!P`A5abM+If(>ZaPz!!}Pk6C6aa;K+RS_3+iKkZImw5^l+|q z%OvMX7H)zn9$wqHI4AR3eJ&e)AI6bVR zhxh4WGd*mhhnL{u4KW_q!vYz41?yoQJ?yB5WAt#o9)6~W zd-O1K%o8I9nGAa9t%ren7@~)EJ&e)ADtcH`59{jTePhNC8Dnayhb{H6ogQ}5!ybCr zR}Tm4;mC1Q#!fVi)5FPnI71I->)}g!7_Wzm_3#}%d|wZjkDoYnoaqZaT(5^)^l+yh z9?-*Y^e|ly&*&)^NV%%_ZLp^Mw zht2h{jUIN?!)|)mTMq~7;cz`1Gil1;N#==qI9(5))x#I`aK0Wc(!;m(aH$@Cq=%nP znlfRMd9@yH)Wa=$n5>6;^ze`#exrvc^e{sYGo^6N=k@S6J-noc#WJ)Q^w3)m1NAUO z5AAvwgU>O5^i6-&QqWtGDgL?8U5YY#3V$XHz@wDKD_HS+HauTB{8xE=P&j@>!JGZP z_qsF$o?X_|p9`6L;aE8;6ZE=dD8~|lwqAy^Rg-sK%g|d71OIerz{f{%^k21&+huJPPCvs78GBq$r{ zkL{+{bxe3MdJ3VJREeHzebGd;6zxSf(N_!=;~398D_#<>Fp_y+tPrayKj&aP;no^2 zp5*1Xfj(`2U3Ux|#eEbqj+o(D&h{){@+@EQEa%*`|5?xPnV#j<aH}Hi~Uxw>Tt@iBlp|^F<1;i6NZW5VuUy%*u_tHX1<#vnbcuRB7@4lYpRL|0r zj%9`C_fF5!Qx0!WIlQa8w|jTa%`fD5@+M`Tnz3ArSqJwD6dR?@%r|2k}uwD;+?Ij))53*h#&Fw8ZiKeVKK!^K? z&f+1~8=}p9MHkVG^+xD*Khae@jL)hB@-0>9m8c4FPz}%zQ3Gm1Es**p7%>{K7C8$d zpVcvlQTiHZ!J0t~W`x;|lJ}sLJtt{&Dqz3acTt-3+*_w_MAmWO5BOkb)h84 zR;G_cWG*sQ!PrdZGK{fL0do*?%T{uy#FR(2t48;l*dz8ZMm;DF=`#aDEYV|i6a93} zGbr(LJj=EY%y!6BTI>7od2uc!q3| zO^-|-y$<3?OO`91ar`M+I?|ZJ9N06o9J9o1@tl~W&xXAsUKLC5*vXWU@{!he;<)%; zoDlyM>Ea~5`v;LBek5(qhO^sBIpo<1AxkIcInY+}kjsap#!@!@?B(1Z^&l9jcAyle z*jkx6y{gRURnuqZYBE1Z&ZH{sQTi%7D2#fqrYX}pCQh(BU7W^p+%d62?1wtPCGJn+ zC*q!^tTKh0kM%<)w|*-SSN79n8F7`IsvD5x17ehcW++-zZX-eYo3|KZ-u&jYm|{;93y27)9oVo4ygoV74CSY zrD5P)Wa}7ohZKU)c^Rv;<7FwOez}(lGfLO(!+loQtyk*HtudOHuv$4|baNb;-c>&+ z@WSr&nv}|N_AOV+gL`=&%RfRS@!u!y(%8(t%}ONn zR-CL)cQ0926erj3oY)WBJ@~M+fRTNgm`(c)2Ck?`#HG@3T{JR>Y)C7G!>$B<`xeUf z2QlvAm}g0I8pvZ8u`J1x%Dsltka1&`KtnAhL|FJ;rY*qc`Gkui0ttggMPI`P}j3LHw@txQfDk;3bF>(ek&; z!MV!(Zl%BLXMKBX%J~N|?&laOzixnh=z(_j@DR%?20x{CsXVOokg^o*xw_L{3HL1J zdX%A~(&~?Zt#}*GE9RS_pJ$f)Zp&7l5-b6B7hCltXV{>A5YCE74psbQF} zG-pJi7`SrCI4{Of4_kjksb`qN_6+KAy3$-Gc`#_}^In6eu1 z8!>u*?QY30M$d1$5<`A5#Jj6Gyq?5uhI#8mETG8cg3re?Oo+|z0C~tM#exl#Z$h+Khpx~?TqvT@8T0`;q!)|i^I{+VwM$=!AY(a zALjQVII7g3yp_bS#OFy()?-<3fNUx;TG96#a+OM65Au6EzxSg*HGt>%4Le!#9KYvx z1H&$US5X=mNmFi9ct487I23(YsXT<8#2LetCRZ_pU{mkVVwP9pygs9ym_o~AUzPVd!uRH??(SoOqAWH|`ApX0is zjISWmN=h@X--d{ZN*!aQ(q24Aoc^vOjBwlDCd~$<*#H}mX*Rx^rfBVYT?{4fPuRYS se5aGYT)wNc5sk=eD90?<_cswdaVMUkJgcbV7POnPp5Ur&@=N*u0PU@}z5oCK literal 0 HcmV?d00001 diff --git a/assets/fonts/Tofino/Tofino Light.otf b/assets/fonts/Tofino/Tofino Light.otf new file mode 100644 index 0000000000000000000000000000000000000000..bc4a9184a45bd0ffbdd6f082570e2b1c9046195b GIT binary patch literal 81372 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/Tofino/Tofino Medium.otf b/assets/fonts/Tofino/Tofino Medium.otf new file mode 100644 index 0000000000000000000000000000000000000000..8164ec29d7b9ffb2fd6511e7c1b33007eae3e768 GIT binary patch literal 81948 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

`Ei1 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 $I#$0ObdVTzA+=Uo0QvD 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/Tofino/Tofino Regular.otf b/assets/fonts/Tofino/Tofino Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..da1c00f23301d1c10e3e750e9214e341bdb7ac5e GIT binary patch literal 80860 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/Tofino/Tofino Thin.otf b/assets/fonts/Tofino/Tofino Thin.otf new file mode 100644 index 0000000000000000000000000000000000000000..98a5663a9d8a5e6c17fc6d0e92ea6e51037ab4a0 GIT binary patch literal 74172 zcmd3P2S60Z`uOa1BEfPV8qhm5_NW1S7wjGEy&#~XG-)SR6hXKH#9m-+xr>;V32HUV!aH_5)j>p$^djS0b# zQ;whYJxG|(5WcELu3z~i!CHO23-gvic>g+@f?v7`~wHvyl! z5r%I{$i&r}Uq+X0^B0jyAL1Qysq3J0;j??gJ$Zxk%E{`;obbDpNcg+>ANG;edwm7} zPQmBBWpxBd;xpl|#DNeW!v7^w<`*W7$O(}gkQnfLviQl|LOTAzyS82?Lh?KbnU;Se zEG9gH;0-E~aCzl;j7&XzwupZ&sUSIoA8!0LsmhGC;ctQ8d9L`sWk?I_wS*{1N9(ne zXh{$2wG7)#uwKi_rzFC9tq?|3grg*15To_Jia3(p)@uj6K4!iC1TmerUOSSqjKX?d zjwl$7^}0NfF|O9@3Zx99LwPbXUP58Wmw3$(XJ)1KT0)$dt=4NPX~P_{Udyn}Kh|qG zagmg>UMq;RBp;5F43c z*TgL_!p+w$GThfcAlNs2l3VDw!X(+#XMg>^-1rLo1`F)^g$9e16rl-qER=+i7!pnb z$#~SPNYv0e#E;a)&qlA0Ja~8xI*yL4ZlqguKVHB@d%HHA6^Jg0hU%m`;vO|Px5Ik8U7%F zh6uzJikRJytA@xM|3CZo4Q%w--z}ih4g2$4@!UruoxaFX00|aoo`m;!+TJ9k(&Sg# z{r~mY_}Yzcu-)kTA!osbB$YpIyw#G5|0ETymZAzj6VcvPL`%ZqGY0}_A%y?(KgDmQ z{bg1%VN5g=&ali@<|w0QW;1h`3CwmTm@zUDObk>>NfX>u0rfL(EKu_jEGkxdL$^y+~iwk`%I#%qMAN8CgOy$XfCZSx+{QgXBAMm>eND z$Sv|KxkGZuLz2hH7>1EBXPMJXI+MkmWF|4kPUbq#Y`5TFl+FBGLyoDO5}w15JSl@@`y1oNz4LfA+v~C%&f&0 z70Fzt17l)RnfVfhM9KWXOk|cYY0Nep$*MS(T2c*XOk>i7G$(z~NfOc@HDWT(fdkAx z5($&X0ArCbjG1{YAvoqTxdPkFL{BIu?eOYTlz&V7zLD%?x}l8bBX_?szcYCfS4m?@ zbIDLixa5@NmQ*HHNgbsXq@PRcNLxscXydh++P&I?+H>0b+E-e$n}b_LH)l5&H?3QB zw_0xQZmrxpxrMpKxNUMfSgleuw`$d^jjFbydWGuR>fNf3sUAQjd3k~yKE+w-PFfKY z*-UmbJp}v@n8!$aWl19|{*#hxQX*AIKN0ZPk~T&Bv09UMkM@A}jP{=PrIthdYQ$gJ zt%{qQfWM`HKT^Q&EZ`qrEzO4CpE7xQ5)}hT10VZX|9gG?_2&F*LS8R?&A#R%8|#0s z&%ZwO`oQb0xqkU~@;~n`B;@XpyF#pSxBK1McL(OY&UuFa`!fe4vz%{ozPj@}A$L~Y zNxn1UjyJ|)a_fAYiV&7ETBZr(De>o_Nlr`7NPdu9k=ztvORhQpX6`xQ#1*vS8tog|KH46iJX}%%(x6D zn>md0j^d1~hBN0l>h@`zZDSZ;oPWn~UYMEDOm&=5otTbHXC?|~6@#;+j4}&F6CKXL&&d{2g{(vWzKhf*J1|oGmej)tu_4(<8j!s>OHN^Acmna!y26=ik z!SU$Y7NVkMqZ;f*6+4Z?dV&0cY(B)H`HLZpBU1sLSq*fq4SAD+YTkqKVFok)$Zj|~ zxj1wlOPEzSQ8pv%M^ON0nV*>JDAWhcD>SJLx)4W9cB)EhN$R6#B1wj1on*6Qr(~bx2pXh|Xol`c9-tX|Dan;ONY&Cx((334JkS-i zl6pzIN&83#O2I(bc=Mi^nmm`=>_Rk>22vF>2v8{GDfD9 zm6f^3YRMYNJY>yf?PQ&0J!So5qh;e{!Lo4K6xmE!l5C-Dxhz|@Uba>Ct?Z!elp`5Oqt28PXDpxDB zm7A11ln0dGDSuG@th}lGkMgk+RC1N0sZu8{z)MVA36 zhXDcv;YPDY{6`}XuYm>RbZ#=xo}7UqIRizB4CDuSpdgmP0@}d^=mz@-24LnK7%_N! zxNmg8(1IsJg&P8@#ym!k&Rtpz6S@zx4S;U}1zsM$B2r%wsjp45d;^4De&Sz&55EF5 zel}qK!Xtk{vjPOb0m7XCTML1T4lOb9=2bYrUb8xl7kZ2rdWUcWQStX`0#*$5KP(q1O0*o zhJyr(g6!G^AsHdUvk>7~h~2XQQP&zZZxmV}+K!z3lRqjQJQ0$mFifQAb| z!|i}Z2=^nbx)xDDd4ydffv=`5BT+Ju0t5kmv&O=Gj}B1<$Z%b5!JqAX`1O-I!y!r-(ghmRVzTx4a`lv9zw@1t7!Z!iDc%y}IgO`c; zy`}J-r%3$XO!z)FG;)G)5f$byHuMl=?%^SffJY;D6o4q_KNP@f%MTLhur-K|x1ed)ym)G{TuZHXtZeZ+p^6?9hnk%Dr(Tk$}d$ zmbo`>EIw;2K5J|xu7#i`BAVvHwT)Wgn~h|#v*NF10(%H14BCYk6C6?_lqhvA(zwVGl$hQpU3Ycs#Ur8|AWY!U^$MNY=1Hx>OVmd+^GR$Tf zrk|K+Vxf)MflEgWvy)%~%IuP0dd%!0m> zi7@j(Lb@`{BN?W`%rgcPVaz5mIcBh~a+zUXFqkAWucV|W!K@U^0$5AHVkASQn30h_ z43j6r?3pjGT_X}Kwp?ehXouN9=2Lu*kIODtuUSm6rieuW(vOjRBEjTN@+raUfW%3H z^#e(Hf|<9Zf)ul2Oui+~SPx<(m9TC^B$Z`YIFwYClA#RN6C~9LX6BOW60C(va9HmV zNi8|98DS|xQlF6W4w43HOw_RkiX{n578y^e#H%WnIk1X~r311 z5((0_mSA~95`l|}1gpDPFvY5fB+>zEzQjbZK7&~@R`Ia}i`8ApOoFK~mJYDiE15;G zLX4#cNo*Z5gJ4aV;G~G>3z;O2V7Z1&CnSN8SVC~h%q3(Nk*t@HU`DbDM+ehy*<*P_ z`5gIqMHR&;MV8{8(o6ZZ%2hR2bg^U5AB`$xIX<=Aq^%2zGFx`JbcnQFOuvU-L3r;6n()~YzX;>?QM zD&EpKY8q<#XeMhGYR)@5J9|3McHUM=SxH-|W2KNv+bi9uOe#08JgxHi&uV|R* zV|mS`P{v>dw@IZQQPBaqe+d+G~U*vSCa=# zr#ACw_PqJQ7BgD5YV~QW@K$?Tmunr?`bnD}Z8F;`+s3!0?Sk4}Zr`W!00Lbj#`9w)?8?hq_?!H#-E(r!{k;^uTJ;*;E4|l`y=(U#)O%9z)ZX9re%43br&*tkeZYI5_W_@VKB+!0 z`bPEru3zIqbiN+H7aG)&!fFYr;olrru~?;z6#%ozDLKpj*T08)vuf1DgUni zA^tl8J_#5faB^JLaf8Ptj5|5rY5bt^OUM5-q4|VK6Sf7Cz%GHyCo&TQCT^bia?;>Q zrb!orssyzSN(p)#Ts1f%`1cS^NOtIFp(8_MLXU*0!#ak|5BqC!mC4H|Tf)1B2ZtYu zaE<5_u_m%gWar3BQQe~gqAo|bjQ&MGZOXuy+A)`=R+`#m>a?lnr>Uk5n6_`)uhR!j z-#0yPMwJ->Gxp7RGPBjp%$eWM>N0E7tQWDBV|`2q7S~zacd>r)_Qg+^NSA!Rh(<;>=p12d;(?#O(S#bmi=HO?BEH9c#4)}^dh*{bYn+1;{7 zW+!JK&(2#jea);jbJm>ws_a)4jvCqPS->n?m`B`WNnYMxu_Qael$1R^`_WgEuXf9d zJU?k;PJzL?R>AUQ&vQ633^N1>zEW(}*W683GYhsu0UpSXd!tWY{ zL@LLUjoFFWTTSYFp2K{7xTntMewO{Y{gkH78ns~D%nnLmXtlY~^YzPPK2smTwJRV0 zfQbHmTn42NUq4O@+c|}1^W;IzwiU^Fu}Q^r|_k_$4O8D%WMpl9LzdHq2kPb>25BHRHzME)?+6%#T|%cS)kkkeX^t zaorf6HGZittu?pp;h1eIHIXqAlCU&!Ka7lR_+VhNs~G+d2Z62#A$P;&yH6m#!pMqyT-;QC&%d~rzUJo$y6CrmM_}A zer>{H#~R5B@N!OxiXRuAs6qflRn8C>YnbJ#pPrH$ubaJK_R6GHNsE&grp{Lxlaa?{ zqcK@4Vp^QGHf{a(WpT-lHPl4nS&mGEXiairVsfHuLV_VFL6>YW8n7{ubtp%oGomu| z39*TBaq%-$iE+mGc$cvT|LK#$COTqTaB##b6Pvwi{rc=_dMyu%AwPmdlag#qF{Buh6O9JL?6}IwhLoga z?ZTzW$%fRVn zEa%avWwFGw+~RqQ=FZoqu1Mx7PsT2WB!dnngSTeI{LF=m<5ek1Df8l8lH&~tNe0wY zly>ag_{oc=rl}05AO>A>s&Rg*iwF!Qm7I(^%it?rEdLT_Yv>~dwBvfom)_P~dM*!9^sFtngTXQ|$^>7s?+oS_Xr>7d3LG&a z_?tD_Xhra*VL$w^>A-qz0Zgcr`L783^R}kmWBCk4z54R66<04`>tIhGFbqsJJvF^E zeZy~SfQhDz65O1{3#U}t?%oTl&=}bL?z}F|{g39JzLBzkw|^<~6}L4#d6{3bm-(;k zzY@|Adr)JHm>Cfjx$K)$4|W)}Qx?mO4aau% zTNAN!t!cSYXUAgtopc7~m~Op0_%raiW>eH!KfkE3i4!x!cI?PpyGh&IR}(&M)mLAw zTD4})s%euaPn#BA1PcoDzl3KAG$}#Zzt32kQ2~aq(1uk%d)H~Bew_pEn(2lK#@`Wtj-Ctj4TXg!HI>v>oLCITAI{P%>Qv_ zEp_2Hc*W9J@Euo^wRkEmHE^b`Q9xOKsxGC$3YaaUMuqxMFmhexMFHudiva8Kzk>Br zfTe!0`#%Mu*gTJgXDl3ND?BuDtxN_JV*Guc21akV2xadFUZ&+(otlF(=^1BlxI7tp zg|^Vr)ZAeTlSuM0qi8!Fjp3vk_>O+zA+~p_S))b*7)Y(th3HQ;347bI5)_o%$ivx$H^Z(sY>$s4>s$ z0d40>Lwsl*8b-rT(pnIrQ~v=if4&3S1^JM7J-5NW_D0y3-wvD0hfU+TLj{r&S=g2N z-#}E`TvZdQXxE|rWqFw5NqzYWh0|_2BK_s+y;iZo4<@M1OYZd>xyyY!cdu>Sov_r@ z7}=+&^yhuvG0=$K-m&q>l21ihWyW`Hzl_8xo~YLrWmC4$A)y?> zU{KgF*94(F>o?!X`Y&&1-C|>XF5*(ugbUYM_~qk+PJ-)b{$tVni?koj{OHs}BlC@-3i-cas4tq!-&pvLMUJH0s$zDs z73Nq@wnn@ad}vZXETy6P8ibmY3ns9w-w7W4eKE!<83*h@{!5H$Y(VtjRX>wQf3Gz3 zm*JfGca);~NxKem^<`mhtDlIo+XjXYjY{VgAtV=@9JaoC@J0gQ6AXsXdzH+I`ZhE{ z7)1jh8;lbeP9cmgrHUKEY~7vuV%T)EV1%GG22LfT1%KL343un`-acC4h{+Zl+4^B{ z^acT)GOxGBLVanAbg0F~E)_M1m&{(%r403*Qb^=H>1Tx_Aoby5F_4W4AyRl~x+8=N z&r1QR&V#+?pRJ+6^WvdFo?U3r34`_*ESwX$8wW3tjX&WWSBtf@&h2M{7fPq2(^xpc za&p0MM(`$()1CV$s>ia(AwPEl4p^PGtr$2ygexu z@8dV4wG_enDYv_*?Xuys`mm3UaB#6ndX)BqhHSz3!SXB^!pnDNscg=8Gn+FDv#EYf z=UC=xjOm+~?$)YjF4>m4&FB)TFeZ(g?Tl`JVI!YBXixsvhSnHxLcVO)QH=)2o(&a5b7&Y03?xROw`GSDV#CC!D3& zRQ&|os&AImTK(h>m!)AXuh8Au5Wp9L%PSoRbu7VdT3k%g=6*bNQc&=u@y^7@Xfn6u z@4>aqg4@v48M=IZ9(w4KxS{fBMY3h6oVE+^OB-uPL@S)Ekgh*31j~dtZTWP56P8(E zI%oQkEr5NmG}mJ7A~ILd9+ai?aviPrH>Pc-?RG2$VDqBpKA#%F*cX7#v^7PRgp`<< z&m%ixP5EX#A3|Z4vk`#JVq2U1Em$<0gn_YHXv86;tLAQcCdG8oj^->{xv(iNW{9o8 zZ}AD6k-cpCnMKc*KZ@$tk8Ni6c5$<7pOMiFalm0(rgYyM2ie+^AC9*+27c^|2C@D& zb>nt8(=D7UY=*NK-&<;0`pUV!!jyw$)>s_nPX4^fIBr!@Xp<#8V<0#q|*nA;0V&xJW>(AVbng5Ha_MGdxpun`%tDKXzj^SrPAx}Fbo_Sm;mpN8h< zI-0|LEn_s+GOF>!8;?!lk@2p#ahCdkeS2tXBU3%1Frn%L1*F18kib4+KGsAFVn;D} z1IFxNecRPZcECV zTgn4-`?2P>3dqcDk0mnr+T1!Rx24?akEE^BqO+pS4YwHe74pbvzTRIkmT(hH>OS0y zB#n7Mv{Id#`=!znVEz(KgSuG)X6`1%d~-uNwiuV|UKqyp=S84++n~(1gVNj%injoT zMw(L#hQgk#>zVHh(%Jm9sB8R#AGmKyV*H}A}U1RNN{yJ79I+gmo zNgMy5K_&<)QMxy|!8Aw%6~FosYU|AXqYE&JXw*+o#3B-xa34wpOZ<|DHxQ{eyYu7q zIFD4q0b?%35|er}_sTk4=j~xtlhZ!YeJO+e_bH%a_IVhlGbq%%)3{tNpy=oc_NG7! zz?qN#z}ckknPU@*F{c2$x^a%3P`qvF^gjx^=VLniYhEo&(mP54MHfI{uoqmcsKgh0zG6)8pqh)E7)=31n>-on5 zNK?6n1xjg!&LVVZCWMg9J_6CS2REbSuu;T^G2BOE#~s-zYPYRip|3=?`eAZ~e?ELD z==X@Ks9(-Or~3n6;^9%HvXJ^Q5T#mHi>cQ~AABRSU~~5$9r`(hewOzq{cFpith3Dv ziHLsUW%N-d1#QOlwC0RC^z(FJ@(19A2?l+H0jOme`<7q^Ia(TR9>C7k^Tou~CiSKd zp6TilmbsMEa5K%m^2rLz%v@hNKl!a_E(qmOM6~w95sfN_2-3|9iyDQ!e4xf>mV&`_ zH>vM@IOaUsiPKvR>7C+s)IPh0SGGzLO1Py-`cIQ$#iScb-i+3#Bj|{ev>t@(ped`N zO%=Q;Ef2ondk)kv2=6MKR$^+if#oXmp)J=#2wY(U7P+Cu-F?s+S~uNCYv`~pK1gAL z!y2v<|48;Eih5GddQnuSb4o)1b$9@JsK@6#o|yB%U8tie3;~NpH^DhNcaRC{C`~fV ziz-2A5m3L{dkC}2OS57%E%R7@<#aZNPSsordkCxd`041%wL7)6Rg|VgKVkJDI;Sm2 z=4lg{1wOlH3QKHl;0O7$6~_-iWf$;hx{KD}7XXmJ(-5ObPdBEl)v5 zo{z?l`pQ*IO>xMc@%6ncVtwzKSl`Ux`crf6yNl&&4Cxu_r0ZQMi{LU*_{=-HXJ zOVO%d(k3Y#u7aaWw1U=q)*Ze~(n71Gdlx~0t>JsiL^=dkx!l}!4ca7WQKdU2?QYoK z#i<0`xI$Ba{Xt3C?-#@V=ndHK7sLLy6+0abGYS-;BvLZ}XQVK2vuMDbZe7?Zad05Z z1X_N4XlzL$LW5FtgmOLKASCKpOiDC1Urb-;j(f-TpAuxq7t;P$CN~S-_fz7`$*#;jzZD zIt3F)I+0(?EE?Fi@oG-1glVyk>%8{oi%`qe8p`VolQq;op(~ZqKCaZKD=1*>Je^Zd ztTD9DVDd;VW;{|@|xfRV6@I+H8;=;w15|F9afup$QagDc$ z>qMJ)O|*$U=|Ei3ylO{q9;s0p+5P!E@|_kZN7I4O@DvZV0xZk2GWZY~EGCL*I0E0IN|#soDyXUkv6d^Ly+5ErWD1LM>X|$cOr#ObyDd!j`|rA5 z-=Uwy{GezsZ|#kPmazsVo1pg_i3Aogi?hUO@SODJ(U6r6)6y%PFeUT5D%8>3#AHn@ zRFs2@a+z`2GMD6EjX#avsag{@dSz!<+9A5OH*PaLmia3*IJ-SIJX`zCgp}UNbyezp zv?X<3(!0M-A2mB@j7$AJ1Hc&^&hP$ljaD7KxR!htxM|e;+E4G)pE|nIPsSg<0d>GF z2EugqbU?V?M#{AJCFS57NST&T%E6LIq1`yS<`Ou{Llr$Ku7}x4=mjef_7e*p8JAe~ zv?K3L-H|tucf>~Dk&*~>=SFG5CygF4BIw&ST0L%b_Q8$LCvl^*9i=cV`~Omg-BE<~ zP=vU58b!E9@yqWwz9=k7+y}s`+f&nX(=%2b@!pc$^(IM1yhV~U4C%DGi|YBCvIk?( zcd5vvXv{(rR^2-GeaCxb>>I|rb!`54--<11ylE3lZ!wCrAK?GvNzwu(*Hf4zmx@dh zsGRYCsd^o`&ovoz2%6%-{4#%)^ti>aqQJZ@HJxJB``>#YZ@pP8b~;=cZ`~gP=62{3o$VL zkN0KZVAvZNnEppT1Bb&ti~*=GE7|t{mA)>0zUY{K$bfcuUQiwR-puTJ6El%EX7-oJ zOf#;JW_r?i-1fiokC7|(S@->CC|0Iy!F~Vx{@6QXgl*&h#X0HlRXT)OojWFYJ^tmdfdircyS-zgDs#&+<i?gUGqp}#>3pTn0r##9gGL&Uu6?P3Rv-2Vnt=O(=TIF~=X$$oO$v~A z|Cv^$Ek{rlZA6>wqcUg-E*CETo(}~H{Xjr8n2WX-fk@qptS27~cmx7|f-Wdr(Yjun zCzwDz;XP4TI)Fd0uy_tH1b*o+4MPmf+TT+SbSZsWqyngZUfKZ#kvELJK2T;gkh9|9 zlT~sUFERI7JaW9)WMb39*9cP zM9{XQs3*0-@%Z;AvbE~zOQ=j93mzKv0iT)u8`Dazv~0gesKSkoKgWYK>J!z2R_dGv z;dm@ghYtGl!njvJ+DDp4;yx+&Ve*NG!qypG!WG7K6Swr!)*7^Q+Vdlu`)+TW<^I`s zp@YBkaHVZVQzdOmn|@2B&<5Ik3sPtbUOk}Nz+ZI_==YlW!Kpz(F0}E;`m`pkIr1?y zhQ@oJp?x7IYxG*Jb;{@Q1vujN9FfbAH*&d|HY&trh>gqLrE_@!7HbX*LD6Vl74xy4 zz~$B!?}T-C5vh9Bk_MkmZHUfA4pq15b*Mi0xkS^Z+6so!6-tMXg+fZk;%r-o{9m_{$DG}8_ zZ$V`#5!FBWsOU&s&b4#MHq4lcoihE-Ct~+_hn7c5#Qs`z2&Hq1d&Ns)6}OmMd8INA zkCm2`Z55D$w#+7l*Co=C`xYs@E|H2{8xg%w3dK#GjRHQ~`>zf|6U1NKAldN05O;N# zMN11RemI_&JRHy7HXP62Ivnx*^1gVC)|RmqrK1-XhlMDo#IX>goYGa|*;~eHg^oPpnI$5g@fIbR`4+@oEm2|`Xyf<4KmB?mvvz4-0cK3{{;L|-5U4ec z8&0dIgR;P|!35lu!b|zTGSz%6t!z13$@!U02G)$=l<7X758UQS`u#|WBmcYUEkpnN zkrKxqO!*d|8du92^Z#xt9`l3AF6O6rK7m`50U@}12Di}5ow-G5C8@_=C6M&9e`V~Ona)*jqEVxvSpFdX(FAQ4iou+DUP>f1{N%=`T;k_xoct%KVNM~=*So^*T%lv zcj$F7TMgTmx#024w9q9H+8%39Pxy~33|S5iP*%s)QL3*jh6?g2inv;G_2W%bdSB%W zePZO0@7h$yPki^4ZlBC&djICMVv%6s_!l74$F)9edxMzq=2xe zN8XpR&*9gSok3xWMTa1Y@oDUP(R(YlfZk`Z?@KT31W6@0jzZK%^S(o*_4oH8^+o}u zPv4i&Hb`f22UCd7RI6&%$p#-(gZC5b4Lh+ueSfj~KnIO6Y5j^*+7+iwJB&CVjN!gB ze6%xsQiAZfQz5#st|$t)wFx{~^?%-v@JkOMUKv<6ES{=3Wp3k$i|n z1hEQ{+XW5Oo3>)1wH;9CSE95Z-;02({agqOR|zyFpi{UwBTl5TVz0>Nk(B2 z5pyGJykMy&9`E8-iz90=T`Un>R_^k*c=~+yT*T7fyo@XCl??S&n~>GdA7ctDmg24! z_sY-hoH8!*wqngKM2eoX(kZmn+gY{tVcyW*$p#p8<_+y&28yt_3eig948Q@zSb_6( zrZeCd7ztx=^ETa0_sF>nJJ39+|#q@!&IuL>W# zvhH}YQc?;Tum|U*JsB2PTu)CHsKy8fuX2->PS%_JX)+=35pT2RlLgDHLX(O@72qMO z-fHWszVIJZTD#ocg0BM+j=>c{qJJ|RJbbu~JD@M~wC%wenNQtaxSfA)tR&*W0Z#+i zofUVz3ZTXeibudOJi3m?_DimI#y<81Zsgdl_{2Z#0&~o4SZKMK5i- zjMlT&4eLR@y>)0~p`KVz=OjY=4IDobz}aSry)s+DvlsZv=uWJ0aFJYN?o|KU6hMO0$&S`gHX5lS#vTIP%5SbypB;b@l7 zu3~tT&&06xHX2>ONX+2 zai1Rnd}UwT4<7+=q!r&1n;}C>qB%Bwo=|$Nf@jx0bjGMh&`z-$t{nFbe{!vy)X!sc%sul%*4W}! z^m(kE6@}Nhp0FwdV$!DyD+;c-V#!yzZksK(MTI7lKn@y%c8M}YxrARr)(A_;e*6+L zEz^5|Ta;FP`&smWvsB|+)aXLR?@m84X{%+P9?Y+NS_|>5o@r?Pq!AvpmTMuCTx(wg zT0ccMQ^~H=;3{#Mv~3t>)pHe=TI=GX1g^G-1uSu4^%@%bxf-JZx-`r3vSC;o(r))iL!4SDXFzHD0!k1kzhw768r&Wz$Knwh z$`Kl_D@BMsvcQ#>;L7awJO&$y`gw6o=6q0>UK;9 ztU{lcIW?0j&rkgcxUz3?PL@YaSIkq=0cke}@ZQ1wADeuNJ*-Nm@&I4U~NX804~MpLg8XY(sCYYF%M(@>$tMRz2xRVf-79yaRsy5gvbS zTSaSQ2^Fnx?JHWeiV<^cJ+p-CErnEP7|E^WPX`XRET*Hl#drz+mbG}muL3p;-HMys zmYDmiw{rWPp_$my9a}c%7AB|2Ba;;LOUpw1CiH8I{WdBvA^3uu4IY-+c0hP@#>3h3 zFW_9W!J(~DC+%twHrfD<%=?2Kgiwncm;&Iug@JGRO`iw;1=%+X$S!H^tN{FniR6pI z7JzyP>n}K}Eu>sKXMBqV3nO3^zxvV}PZWAVGQOw}`qI^O7|oD>rGTC=AG*=`xDF$( zU1HB}xFwQ?Xkddmme+`WIL;$+WbyRpcpTXUiq+|8fGe5r~5IfVG-yfF|-%Wzh^&dxT#VfzB)e=BC z-Vms-ynPhZ&!E*m&8^j!E5(a1&+KY1bo7EeQUPE17bSc!D>LB&F0?r=&}1m-ZwB~{ zi){N}RazDcF(xJzw}EEY@vbRWoSSQYE2; zCB=!QO$!q{j>Wg>2wTYB0xOk&ajun^iSYL-=&}ktR#n)+Ca^G-#q8@Y{ zGjR5B|CX+;!#5v&{wNl{!2Br`{z`|JtC`IvV3FUx@RtUhHeSapQ8DQzrgA#`H>nL( zxKR1Vw%~*dJT-&P;!jUWHk^O)Vq-VV$CybyYwDbq3wam=ZY-=r4cO<*#wtDI&iG;s>tFh72Q#$@?IX?$@Hq`6`{D^ug7RWNd_{}0TX!m{uB9@!8XiWMV0_K+Y?kw2@l_TTHnUu%bqSc- zZU#@ymp^(y18Dx^eOxPcY5N;(ppQvPn#RAbI}@hMSxYrNCsX3DL(P%vmBu|wcJg&A z=Ns**Gj;9Uk-AamPM7ZMoVwuBw-?Jru4C4$#gdtnb9V->yKGZ#L6p+MSQg0joRoSg zVW5mYRKPfl`4i^rN@x)y6fELi`@_js}QlrJM_<~8t;Y0N^vfE3M{r>Au!!HA2Pce=1u62dP%(B9q#} zEyH(!UmgYokGZtzjK34IhlX6N4Q+T%+92OGp?24M_^gI^v%Zl!*uLP$U*U6CwFO)c zHucn5YS9In%moLKB2RuFyz9jd`0De|k@uQ9wS{Us{tN@>qE6Pq;cS5?*EJ?sn{wRLADqd|7S; zPtB}M{P`92lV6~%rqfBR(%@-}i}ztCq;`Htd1=u$T|MwzQj;I+;0cc!C-0od*3oa~ zqMo6&p3s`!cQ5O>mM~Q_C1C^}#puA7JX|~926w1=@e-i4o`CMBE;IsvF@?s|&fr|q znJp$*oFUx;at*DqqYJ*$NV4q$)PNcR7jcdfzs~rkH#DoXy5HbNP5chy5LDlB^w)bk z2BHmdvh;@UOw27-`l5k`YZjwyK2{#BytPwqsfONgpGO8)E}cndVLTd$bsp$Br_oUS z&8$<0&YaSnJ-u_+C6`M>cY3xTI<}LRReZmD2xeoQ zbeNeA71Jvqq@cC4(U_$#)%4pt=+}q)4&S~x_-LcJc%xx1KU?a92Ay(z3`|r~cj_vi zsx*GR0FTK0d3pcn4()x%w(aD*>mYJ|G>wJqwTv+v1|Vgz4K&XVu|wbx&i+aCkX#Qz zb(By>Mh7Th0AyqEmhGMaak$F1nr9}Sm8NHC`tKX~=)r*_Id=yhZqYq-^2}K6*U(H3 z{Z~_eMdH*+v@dIrr=@)T?N!%{2gkN)J8GCD{0|QB&%1qFw;toy2CH!G$Ls`20%G|Uj-@jfOi(XNdcT1Ng1`&98MWzjRSe9< zY0#c_rlD41hOy8Ai80M((Q(C_)Q$0r!m28TKlg5>D1P(Iru1N>o{-JxEU~5 zGi*{w`*xGo9XPXf)1{xbPV9xYmlp(97MJpZn4XEh_oRNZbCG7u_8w24e|rqtL#+|V z>!BFxjT+db!4B_7x4zl4X{C;OBm|6ajjG;y!v38)m;M(eEM2B%na2S_9io@WciVowR&0%c# zA2IcN}uR@8gc|(5Pn?HTX*PK0G`z)86WXr-&syeZyMlWbc5Whk!4{l#ai8 zQGz21bt}~qZ8jBhMc`tYRY)Wvbveb!+ic?L%PB;lEItDS>kW?tF>GV;MrcL?tG2|x zgDkiwuu`L@q(nn+i7jmDMKga6&3vcPXynJBk>9p8CuiF@Z!LllO#DPN@e|R+Z$lHm zjW_YIRwPi8zBe7(6_Vgm8>z2Pmm?0pEk1uTQT%@8fhXC5(tFGOa~gb7M=S^|j}_)0!JwGOaWwzEI@q_g;}JCfe1+ z*wwjs=qlJVTj)Cf{mc~Im{2Hmjm2~?{m+st#+yRdeHglqEeKunOHZ3?IY_5jh{kzS8vHKj`6u1BY{d9eAiv5Sz{iu`zE7Vo@=Q2eIcr zb`Xn06&%G1yU6;<@2 zi5k2plBvDF4Mx2}`4?An{JEQtoU56q+LXL>D{CdEglvub;T`q-gR(VV7DW}F8}N}e zzAxNmxo#QE4ioHPr8~Iu8rtOBc35QjboVuUcS@5n*KzBDK}kTuzp@W~2UFQ-ud6HLg$M`(M;KoIh?rF*O_|k5a009_*D{ys@sZ z5}vSJ+YAPOoefLRn1esTb8j&;5epROj{o$d?x!F3?!Do1v;Ur!E&7jaiv@}c2ew?i zxPN@d4kO2O>Z8e!JiI zRNdKe216WQqQJZsOB5L~Fh@x{&@XV=z_@=2EE=D#_?11x$kPuuKsPPcp!i0ort)sccrt zasis&hkaiCarDIF-@T82*0-uZ|A$Lp~D}hYNc7Tc+0itn4{m`Kf=Rf_$Yj54%ckhUMR|LCK!zLnBq+^&xGaEm$00> zjq0D7eB$d1E*Jcd*ZADOUzaW?Lo@keMQ~#Gpe8P@_YB6Wv~2I;8^3nh5SFUFLLD`2 zh6grkH2j-ie%!V5@#9@%yJCfI8iZ&DOqkfT>G(~@F7DcTYjV$OtiwNVUBM;&?k+kw6R!BR!efzh-E?w+MTa$mzBe1msfEWx9SA^78k zeJC$qDV#an2j}a25It zpN?5Z!d#Frr?RDY05``R$Ewj-J zSo>JQT0wv2aJF;}p2}adYsE?Jijzqjj4lxhV@mK0Z|#ge(SCT|md4X=|4hdNS9n+) zmp*7W%|FxixZ@VuIg1xglt;u|&%TTQlfJMb0+*r}c!bP&pX2h+mEG5SD0#VY2lSQ$ z{P{Aj*M0G98TGW@WI0a5H*;Ex#f&h1X$MB>nf2TTDR9o;LYN#JSSnZShqxFVffpBvw4PgWJ}Ll zd2pibk@N>R^-NHmh3dGXFxr`?ECU(9MW9a5Vi*i^0p-ApxG$~Dz|K_3zW_>h-HCFFqH{R79Fu*9*<=BM93CY?8$(xoObvcy`T{pShUA7Uo0J2J2eR@D`9bKdJ zn>F22J4JbA*)%_$PcrQu8bP4s=K=l>dp6fOwL-&&|JC?1wqRmix z&RV%c2Wynir*FejI&PROzid)d-Nao zDILQ8Q-@`4AkhhQ2<|Ja{!bm$5!&pv56 zqmw^_Q^Fi2HE)A68a6iyN36AQPnahBJz=8IO~OqWDupHdO*#}CQX{?tPTA z{CWXO4es0<-W$=~`3>)s5W!f9;lY&Z4&O}8RGu0(Tl)XnI}`XQiY)$D&15Dgxh4~0 zz)3(vL@p5o#jLU%Dp7&e2&mXb zIUFxUdSXZC|E-z{1PBPM?tlOP&nBPWtDf#UU%mJ0RdrYQt7oiAY?+Q%v>Ye+Ol8HE z4OS!cw&nKKXEMmDZ*Q$29k-sBblgY|$E4%N^O6pgMNm3!JY5x(bm)?_bey)B*s?0I zWy@pdGVG7c^LKbwF7X%X4^=(K3;B5;{Byi|f0^?ObEL!cJHN0-IvSeO+}1&-+1lTM zw-oMFo0ayf9iQe++yG;=UOCCVKiqWB+5XW%K67+MJH8D$%j2IPZrW$Q+wr1Q#%f!8 z^mVRh|D=ZDR>Oz;uz$5ds@3Q<-ig<6hNoe;X$!M1nAiJ&*(lY#jJMxi@VF;-Cj9@skcRnP9-Qx>;s_r(+fr|R^0t+IJy*9_GG+H}$Iz7sxG^z4MjaQd{1n1ALz60p7=z%Nq-4=DW6=D{pfjq?y^q)}K<% zT9)mZ8u=bxhwmyfFP-^(vs-BA!8<>(>df`HR_$Wew7pHZRdwbq?Hi_A3BK_^O!8PC zguDJ_UGP}<4}Vr)gR1(kPG-s@p8Dar{+90VCw)8Kic4+Yu9KBK+mm6IxLw;D<}_RO zOX^1(wwo8s^~BCzoW}~aStHlXVn;y)uRBzqp)T_;HaoemdZ_)4wW?Y1o%foa$!X@q zTr0ylYx(Two=<(|(fm1i9&>W8HOXn#Ub6XX9{zXzYKnKSy?h?e`yYIy{Wn%}HLKoj z>DHxF(i&%c<(xI~(TNjN$7J6-XRN1j#y3u@#?xCaRj)TKGZWtX;wx@{&qQ$U&1Jjq zUPi2H`Tkf$fCnb-HM{0oUAdhS{HWW7=7qtJx^=OBbk@vvOgwUF&5R?~z2W)huWoa% zil#pBR@15({J>l7NAk_3xqRR)@nHT7dFCqhg{|I?@YqO|@K-6OBec-dn% z%XRYL!qv_xyT@d|BrutvnZJI9K)-!~X(m0Aur~=d&^V2r0dt!KFTS~OUp20{xD7~`)`cGf0S>m)xxY& z@@4LqC6b$5c7HAN4PN%|9^r}F(DBQb}~HSYFnH{AMFwIi#y7Z(rRUh|5+ojMFmdv`$Jtxc-c z9C}OZ)~jzhVr%HnI^y0FD57_v3?@?^$vf}v^h*3R7-Te<3sjtuj{aSXP8}hkH5`fC1xJVoPS^JTcLHCud8Jxglr9B&PJ{wEP@JT$2jTuw;K<%=lPmSzpZf0e^z~ z$g1s!(p;|>`i6Z_^P(X)@npcH!g{aV@-xqsT{&#yes$@Cu#T zF&CO|metW|%hRbeX~8tX__sGwanoY`7o4_6d`yRGbr+|tRrzR{OGbbFwG;*Uhn}TOAfnam2O=X4sU;VUc^F`580zHP*(m zM8A7Vrr%xWvNo=rJ;@Q-D4 z(qZai>nUp>E$+8?i8ak^Pu)K7UqN=%Z2-ghlCosK%Y184cCPisD{HO2EE)_n-{cwo zon|&oE!|`nU^K)G6izR=eM(oSN@+vwi7(v#hDsEsHa0l~tp3Q?Ol6ST)=x zrB7MJ%V8gwRhmf`Ok2DtSRw1FB~y4HecG(wCbL6pY9@T+tvNk@%?>S*F!{@#^t*m9 zPiT22xHjW&HL0vsc%FZ!J9rdJ4}|5IkvVxe{!4Pq=K8J8P4dl+$}e)gmF54eqkBT1 zuG4O+W<7SL*^t{XBfr3`K4#AU!fI`eOmhXYtS*Ckce!oio8NoPjguOMzd4~#;Z@bF zltB$FcN#fZt~HmNDWAXQeeD?!v0Kht-s8h+AFtoW<5i=YnYUWcTg$KHkRK@)5e<1-K6cE*|X!7)hzp{6ly?Boqj)PJo>)Ns1Jn*NdqXug)1wW>KwQi$n`(a&= zCM>`B?%HZOthl>6UD`Hx@P<1*{ia#AepbU&*G8+>o}0{uhyRuL!K)tE)OG!yANeR} zulmZ}ao{ZzF0N)Zx#JU_HmzgI)df$a<&A&#-WTursMWu&ey4LpY;6YSeR=*1^fGpz zJl+cBzl2vLS?S?c`mE-6@uGIC`R6^&^w}P3Uta0tAAXx0ZpD~K+?LF4u-t5wYPLM^ ztSPg(f8KJox@qo@R#bVawe!u#pD~;A2vXu~xB2)-yezzf+3`lRmG!tar;XK$O$!}% zq0)1(a8^beo+)i>-n7fS+{`fV+i6{H-DI`Bo;e&#v{B}KciWkF54@>bok80fS7O$D z@cl=x_P=fp?$q8{z2D-U&oP6pVs0O|<|;GB@OpR8VS=ja^G=T0ImhI-9QC=8hdlW* z-JejOnx@-b&%EC8?!1EM_N12dTz0j`s!_($R~xg6bAj`K)y83sGrPLY&SsVHxBoG% zS(7^+>KdxiD>>%C@*1_%HLCmX*QgE^G8<6X-Z%1o`kwlvsrop12a!@pU5EO0bsg&K zUF%8r2ZSqTdq8~fkuQ≪TGhWIn96uTRU*R2$f{2wc9b*LZP*CEx2|rm^CDt(o@z z#*(+kt{j}7<~o?3v*68DpQf_mnYVA4?Na~w;ue!tgKv)b+5 zns-}1@|8&**Y0aGvU&|+Lv4S549}l-O>Nt=o0Uq&SypP#!jd%Cq4ZDvyt2i1x7pzt zD>e1zyM|B7@>n*n)qcF`O8v;YD(@*z>^gtkv+8L<(@6`mL_jQM1v(&O)H<~PfIr@y zZK{{Mvr@6kN;G#l?zOnf@Sf9*v);$p@f7R3v#o88vfGm9n!6pmDAt-gnSp+mwHq(t z7yt4cvyt+aOyyt4@~zozd28R`d40Au;H!3C;AQ<@?igN z492g{Dj1skRgV9P98eX1Ba)d7J6F=qx@} z^3uN2SUS%&cAx4$)_{`fKNtNsHq?LYW~QAysI2?X^>Sa!WTX09qyN^p<)C5RJ!F70 zINpGpg9i<}+2dNd@A`YzzRB`dn+?PE7QepgZ573=XN_;dcY$AgZp{u4dF)x*YgC%D zfTfdhGoC&x;}>hSHosnCHhJ3j^sdEn<LFOpK!)e@A?12QBRGvSK!GR{whlYqVG+- zE93qIUqJL+F*ql2UCxxe`*^fCH|M`~-?r_AWow_!T9Wys$5oQG0QS6` z`mJ^OT{}~kEy^qOxK@a_pPV$38Q!ZCmv^{z?6|?>pPaIIn#XleOn-Rt{lilmnU}xb zI(5v1$vr(}dgp|kSJGTBWWB&_!8`e*$9klWoicUWL!MrFZD+im`rM+$PtIqV`bYn- zSd?&FvsAy+ZO;5S=i09`F28p2$JR`0|D(UJ`ZCb*2w!vEtbROFbz*W)$NIW7iS0_8 z)jqX7?A$wf7g||weSJ&5eebcWv1M+(#=YNe);n>t-?0lSs|x!ftyjo}cTAbxbRnnP z#ani%ik7%#r>jt9P~lyL)-$E!d7YOz&~B<%msYat?wQggwTnwfxrQi}Y|~m*n#AI- z+Fx!rr=4z_xbk_bfF`3BAooZ|r+-9NT?dR#)?w`-^|DirJez;p%?Fp7Pz?Wj6Kd7->o#Oh5Ch_^e;7F1+JF z@}W`t7OUe)?<+Xnt3IqB)yC)+6S)nC?47)?`IKGFOhH(4-)Lsp&2@SyU46!Z@j@-c z`+v5VHq?vmKdV)OrREg#Qn|zI$6f|T)vTwjZq@}0?`M=-V>FAAh4J(yPvz-Sz4B zesGL(-hPS0j7#3B4%=VCq~KB&W6LgG#9Qj@-JC@v{`E|`&}N_VZeA{DAG`eR$=^G) zR+VPMA@x;a_D_`Vsr)O$NNaXQY2A93d%Y=pUhWEBaIe1k%Gal}k9{R_Oz*{i4}EVb z&$%RfHQ!s}b4$I;Ket4+UZh$)7tcbe&rgK^(44&aXPU*cG=K2+R6B64+V-C}UxU4Q=C)j(V@W)a|6Oho zH{v!MMr#J0L-8Z1fs`{AcKt_X`fffB* zk{Mk$*H=_GoE3#Ax4G54J)9h>zTUNt6+UEubx|6x^5Lr(%hmbc&9FE7G`eEMT~<}@ zpmK|%O6-5t=FqZ(v001!%bwzUimR76^P=*jbLPavTe;15K$surV85) zZ98-ou_OA8A0<*n80SSGpszO(5!dy+F7rMc zTRWzUfnC+r5na2qPZ#4uX~|vZVGD)!P)P3jydxAkLt%I*j0lC1BI=$&V@HYBn%ew$M=p(A9a$K;BeEp&*QofY+EFc|xPE41WjF{Y*O)-b6#8;_XWnh)u zD#fvhu^nP(#1_UD#qNzg6zh+(#l^%W$EC;BjcXFuI_~DUE^)o$2FHzwn;y3y?xnc( zaU0{d#_fpP8~06|FYa)hKkoPV`1qRfP2$_e_lO@JpBXOxT?8 ze!`A~;)Fv9Wr?wg>4}XKZ%FKxI3jU+;-bXWiJKC4C;sSix~jVxyKZ*%agBG)a4mJM zb-nNUCP^fvCe=y0GUFX>Ry5x3JF?@o2s zayM`{ceinOaCdR{aQAT!bdPmsxTm^jy63x>x{KV!ZX-D&xj}N*s>W8W zSG8T$p;bp!&8)ht>iboXrlhB|OBs_gJ!MhK+bQp->`2*%Ms*B)FYXKM6w?AL#NNPB zaVYSUj0$`v6TtXDv78v#BtH!J{ulHA0WO7!`{<`>fS!~Sg$Fxu@);ZL_=(=$D;ym8 zMHYQNEwEpwSV%wrXU{rCOuz`$L)GdV?;(ee`pZ?)fbu zj=n5Lj|~|g@S(>(B?)peVK$fpo+7@To>v?{pg8^~{R*chhS)+)_6GK2MSOB0wV*UC zNU=Ec)heVdMiL6B(^AqKq%WfO#aN*N>R24A{ZaBPCQoIRip2j?RpiE>t26)0%~y&2 zbf9rl(Vb1msiEa`a=@#6FD)wpU)>|cN;X55+b1H4Swu{K1#d!)Dyr{PzXeB> z|JGPeYW@>#WBe0Q<+Ww>FoYUC=X3Swv33Q=t^(xr1RV;sRcWjmcZ&a)@-O6&J=9-n zq*tCvu=oD>mrdC~`_?AqWwhqLHmE|83%E!WB%B9q$^m@_&}+)+%~SA+mTcr zosg<*Xz*CkQ_KGUkUdv&-a%VYPG>?=H9^X>epExg^>b}66>HimmNy! zJC?`!9!Z_Usq{o^R8dQ9@-l7RX@#t#k9-_mrbh-t#OQinOb^!yER}V+ei`+xr{d`z zFJhLfyuKpsX)w#xX_btr{K|8VWK3kn52g{Le6Af&u4=YFKCnW^|1)F7P~s*^^irZ% zw?WPBB0A(VvbsZWD67Y+guGbPA?7Ax8KIUNasu-yHLEHj zrblFfX#lxrb|1r>;rQx?%EOE2;U%9WS(}m+7t2e%jM~&=^tV&bVpUJYFIF95LcGc% z$7$3-t%}rE<^P*kkqWFh>nN0~^j7^kJDw}gyI8j?=x=V)-jr%n9qOkfVnU#=e3JV9 z-;H^8tzjh%PG-T?ivf~OZ-&k&`PBWS&Yt~R^KoxT!V!ExMYYV-<5!rLieL%4M}l5w#43Yg`)2oj?p^NB z-A9nH7Sz2Z7#8?i3k&MN7H;34oZm;oLEYlIBEENs9I!hi!fK{$v2ksu00 zgDN175|BHAeu_lk0!aWF7MB1lg+Pu4+9Q-)wqP}(CFsQQt)Mfw4RiswgRbBX&<%74 zJ;0ryC+H3O!>0jYAQ%J&gCSrj*M^~s!@)gZ1Q-eKr*|^J6fhM$0H%Wn!9(C-FataS zvIASi955F=2Ihgs!F=!pSOA^`3&B%h5m*eKM&_4-9FPn0Kt6Z|ECb8Iv*0#l0p14hfKA|^U^CbX zZ?=JV!7kGO3w#Vd0ma}`um^lbd7pzXz&`LLFu+%!1bhv?0sFxLa1i*wcclFu`~ZFg zKXL9b_!%4lzks9QcdiAHcL5}@0Xql-4&VggAOb`JAuT?n#fP-`kQN`(;zL?|NQ)0? z@gXffq{WA{_>dMK(qbSj2GU|6Ee6tJAT0*cVjwLB(qbSj2GU|6Ee6tJAT0*cVjwLB z(qbSj2GU|6Ee6tJAT0*cVpJ+EpK<A|+Un60ArGR-^A|+Un60ArGR-^=LQG&II!dgUOEuyd%QCN$pbF>x){cq6!2K{f) z{|5bU(EkSgZ_xh+{cq6!2K{f){|5bU{H6W>Iy1R9z?)zrcncJQe}K2aJ75#|C)fC z=dZ0kwAF{U`p{M%+Ui4FeQ2u>ZS|q8KD5<`w))UkAKL0eTYYG&4{i0KtvR%^r4wPG}DJ>`p`@tn(0F`eQ2f+&GgAxXy9NYs&fRSK2W5I*qA@DGm0UiNYA(IxZv}h%7Cj@yQ zA3Ot=f#u*?@ElkHo(C_07r{&5Wv~*g0;|C*pa85vr`8g#1M9)xzy|Ot_zZjwz5x5c zm%spDffDdF_y+6;2f#t#W38z=Ug?Fv1JXb`7ztO(Wl_oAb`N~BiEp>q;;0DQ{Dj3Q9X*3uIPS8?*pUNqpxB_|j>soxit*b@9 z)(0b*NsI>Lz$`EuJPPK4$C+Ww2Ty;i6Q>{2>2pM2(%&wSF( z#~#KqQ;TCZ7!SCI!$`D=kqA!;xVe@Ls)7`70Z0YaKy`2-@PIUs4r+j!;37~9TnuWH z&n19)BBR+RMzc+fW}8GkuGI$(Kts?7Tn-w8D?k&_6kG|Kf#%>Ua5ZRw{9t018hrtZ+2>5Tb`&;R+ZQxySp4xyf?ZcP$;Y<7Q zrG5C)K745(zO)Zt+J`Ug!G*T3 z*8n>R0}kK>;UEG;f+!FTs(?6pJ07rxf)*KQk%1N&Xn=tR7-)cj1{i37fd&}(a|Rxz zfg~D8qJbnDNTPux8c3pnBpOJffg~D8qJbnDNTPux8c3j$EaNn@za(aVNzDF|nEfR& z`%60QD4308%>i@4V*q=CKUa)DSByVbj6YY5KUa)DSByVbj6YY5KUa*c{Oe|a=Q|_& z3F$Zteg;RtFW@LRSE;FmG}H%6@&DD#>NX^SyHLOm!hi!fK{$v2ksu00gDPMcD_+CF zJzxZ2EW*q7&?_E##Y3-n=oJsW;=woZ;G1~xO+5G}9()rI`g^{;^4HC>&ev;ZjQ}nh zc;FJtWCL~(1{}Z%!a)Rx1W_OwQ~|N1LSrjkX+d)tnG8lIgOSN#WHK0;3`Qn{k;!0W zG8mZ*Mka%i$zWtM7?})4CWDd5U}REyS@~*>T9u;z8JP@5CWDd5U}Q2FnG8lIgOSN# zWHK0;3`Qn{k;!0WG8mbZP8XrmMT|@aBa^|%WH2%rj7$b2lflSjFftj8Oa>#9!N_DV zG8v3a1|yTf$fWGSxvvu4MY>*~H);D2-VOSKe&F;YlMksp7h6$)tth}&6ksa~uoVT^ ziUMp!0k)z5TTy_mD8N<}U@Ho+6$RLe0&ImBKii9+?Zwab;%9sDv%UD)Ui@q?ezq4s z+l!y=#n1NQXM6Fpz4+N){A@3NwiiF!i=XYq&-UVHd-1cq_}E@ncD$_Ycv;!;va;i4 zWyj0Pj+d1kFQbeXU)zhX?Zwyj;%j^HwY~V-UVLpYzP1-%+l#O5#n<-YYkTpvy{znb zS=sTjvg2iC$9smAogzk~B1WSkMx!D|qasG5B1WSkMx!D|qasG5B1WSkMx!EG?#sao zG{P(5EAz&1T7{z!P#dsLSco@apooK!@)gZ z1Ynf|f5JyOKFaY?j*oJDBAFDyRgSYwF`b+q1P_6S!3^*Sn2AR}3(N+O0voN@R+ZJ{ zVU#o++yh1c<}p0^&v=e?;7LZnc#d`8ei>jq$2#!T3Wx%X=~xG~rdnRpQ*)cnwFkjN z;9)QWJc1okb6Q(uC$+j9<&4e{wXn5<=e5W;;0>_qM@?CG3v3Gf6!?r;+*$mQBi@LL zNZQbm{^bws4;)qJPXC8)3d#{YiBlmZ$KMCOIen_ol_Ww1Rjv;8d3B_oAqZX5=T0HI zrj&i^U*N!*YkXpgV7pH|cecMOrd516^B*x(-v@cTpKw#f`1II*ctFopJX?ND-{XaG z=ZRFBbg$p`QW2&W-&sKagM;RV?A)1 zv_}I)#1Bef0mnfOE3GIXt>U`s!D3ZH#aijIeqvoN^ry-^@%r&vl*c)9sLMH{=2f1a z=gI_aR{mn8f2^nc;osTSl@jVu7HeYg19{fvvdV=$QuFR}_zR`B{2kWp$31qxB%jX=RmEypWz8k8`|=#3<5r_9)3v=K}{hr~8ihT2GJ1uKXxq z1>;wK_1`_KY|)8-l%{67CybtdK@E;cUU}&uy*;7a@@uDrC&dcMVuiDuIqTk5x_n}L zPbu&C2^(wDQe4J~R^kT2j@+NPf_oEN#7p8m!TnINTYSsi&hNxgv0apk-^3>}iuK>U z(!=WS4>Db*iyvhzSxfvRYs=c=u&gWVi=X94Ry<8Pnl(?q9LK6>shl7uiC^VpIa&NB zGi9duUCxqoL_p4yPsuRJSLS4lTqc*xSotCU@zg4XCt)uZcZps+yOAZ9i7k{IFE5jA zhZy*J$hWv~{ysM_adxzlmM6_%+?)H+73Y&@KK{M$0(yxlEwlU&%(Y5$$d)8`JKl zvMKGpMczWYyUA{}yNB!{j>x;@UE&wbgQJ=Ursjd47C#Cn=E)~TnQpO77RWVH?XYZx ze_Vyt+SDcrPO^-L|!)TUR$L_N_E{c6O&Q(VrI2o6>qTXNh=wB{+4Yv{WOaii$K z`HtdF()Q%vPRo09+(-1|*^&NY2vRYWe;X?TBe_2@3ckc>zEpuPkHGDj;!$dlEuLaF zut+SXE=%}N5KqIkM7UPKnKk?;!zHh%id?)yO%(@IGzTxx9IOfl_i%NuI6&Hi{3nS+ zNKpbj{ZUjGKOsvOYR;x<&enjlRYgsiBCCmuWOcZltht=7xty-K?9p8IXfCH~E~jfQ zdo-6_n#(TDWtZl%8!pciF8MfX(ADIVaNLE2<%mSZar}E5cU&Yqh=uD_pz1&M822yc zSn*xL_p3QpyjFeGj^hser;1MSS8CZz)m)aE%c+{ncFkp}xg4gs?9g0xvcmERWhgFR z0GAiTWyRlW@V9_oRGhs~tmQu(iF_4)DK4kL<;}vS`CCmCiJhF;B|e3}do-6ngTLW$ z_gl_$Z;E5Z<*J&?Zo%vN$zSPhG8z}jdc2b5XqgDdV>HLB!0~i(AzIZ&RF@;<2zaEl zH$w9?Li032X2=ZAEBTGooQ=?&jY5i-idfCraI|+BW$C@ta&E->6ZTR!($CPS{mwCH zXA}~iCN71qH;P-4*8#}mBvHP@x~tw{JznpyUZ8hauh%=Qcj+D0N7N2$nWT1D%O;FK z0s2q%WD+e*7j@~WwxTn=GZ4;ags$5twW_E=k6uA9-ozT(U1E?Jjr<4G+sPwE)TFnY zpiei8F4&yGVholdcs&g1xByF1Uo=J6ZV|WB=R?H3^lI?BgI-NVTN{Wg#kELDSEOO6 z7|RM<@Vb+pu7)jZD4L1uM0;_ExEtvh$Ld?~dN_Su9f@lsnu|8bS2xj@6}$1Q%muGU zpnVsLOVIqQ#Pw)+cQpDQtl0yh>ygNZ2fN=GX}tm2?13DP5EHSQ)B5!rG2R}bX}qQ> znx<=7N7F`{HrMo8O>fq;^MHQi2HAUP+DFrYnhw`=jHVMc&D3rkgZ=dfuSp=qq9Nt&i=nyzVWP3vjeSkvYsMh_U_XsziDnzqxlv!>lN?WJjd zO^1$}FmkM8l&0e~y-(9DO=oDDt?7JC7ipTS>9eE94jkopNz=8OdNqAp(|0x9q3Lc- z4NVVedUy<3IDS>sDKvFz8l!2VrYV|wG_9p+T}>N}8#ZdN^GZ!yYT8EAn>FpEX;)2q zYT8%R!J3X3H=+MH=U7cMG@YvHLz>Rkbe^UQHC?LdGEH9?H(|^;=W0#YYwFdsP}9wt zzOU&HO^Y@CT+<&7Os-q!(*J#T8m#r1^+FCwr_^y5M*y&$VjS0q)_l3f&P&gwL zJ`@VM@2m2V<=3Z%erJZl^7I*@-}6G@TwSJ{+0g=gv}ff?xn8~@H_7+qF1c5hNS{0+ z%WPq`7+aF9x~-P2UQmW@VSjq4wS|0j%Wd(tnn9hh)eY9vc4a7R5(*oKt`7|Uwr>pn zw!abjy(1KULr9*EZlN$kbK7R;t?2Onu#TnXPw?A*$X>#^L!omv`(E-Kg3oyrzu0Ck zs_;wN-zQgT->hk&rra0g%=!?G;&?S4tj)ewRFQq;-LkLjC;Q6*NWvgFSPqdN$sKYh zv1a1WN&9sCx?oKcLt)EMI5-r}4TT#*;oe~Aw1vV@dS|=P?-8Lel+LN-4Nf?VLLoc% z)bDU=s>4wF@HU~}y+Yx{P#DT5d`0N@+o3R2kBCq`BI*XuM|2H^N+u~MB2<3F=fU5R zYVOYY$Qwf8ee{B~WrC$(8D|ANQRjw&MM}PpouM~vbB~>oHl+sntq-`Q= zArkpv2aj#MNR{`q3hl!L7VjgM}Yiv&F>$Y%c5#==}UQH!CvWD2k5fY@! zZ&PUvo|ZMJg_egi*5yjZ@J7rX+UR-ZU}g?e#cZ*VHILQI1~)JZ+{m+|n|WHLNbH~{ zZ}2p!LpDJAy2^I4ImZo=!#iYqc@@WvWM6De2gxddyd2r=E<4H=95+Tvd&o|*CC67F zuXoB@Wh;)GAh|tdXW5$LrpWMJ@-}%5$5$fFy<``8EyvA}>)!Hqc^$T>7PuH7SMm~2 z2V4q}56PTa)&uo{k}t`;(T29DRgEy_E;cz_AJGbqY_dOd(XQ0I8@22~je1ggFG^~| zwQeF#)|53sJ6hI(R&=7qovB?HY65Rn{%}NkY%~UCanEMUw31t>j7V$YTQQS5p`{9*|jb znw(A^a~MM&lS{DJh18Myk=MWE$MO?dEI*aIt% z8q8DWwM()-OilKoIl-7}A6<23&ZoxxQhrI?uc)ia;pDW@@Z{A0n#5IpnyLdk-$+;9 zd%@Cb(#BI$)d~4_C#Q(Q&Yb+8PR{9PC?OqbJvmKno#NCQMKb3<@n5Y!Dj)82_4nXI zo|r=4^{u3}5wxk|e|6$0-~MztSI3%Fj9*j7KDEx_wB`7}>f_WiRW{wI@L@)>eVMh=h1t&BHe)LH#23lvqX)j>XV381mjhfhmE$V(J}rEIm9FLDpqCbRV|f#1w+A#(sBI= zw(7X{DtS3IMw<#+t5%Foj-&D`w}TQZ9Lz77Fr9xa{7HFM9zO+M24yj57b@1X@)W7` zW4T^5ILlJ1BT2_K6<_PD>gGYBD_W4oXPGV?{i=Jyf0MIJSreVFchdirXPLGZ)~LZL z|IN=Lb+d%T{3087EnXn>;h-S9Rpvqx4f$dU}q{H&#XGAC4 zxuB77*q@;9PJ*o+`BtZ|PKPMrvQnOR17VTJRt_=75rx)#vacLcr@A;=xb zO9=Q^y+N-~*fbP6?2qd5RGBB@y1;k(9Cs<0znl~7ZxLVd?@DluXenyItUz~e5%)pnxesho=!7uc>tHwKHg@*k8xP_)&@V;D1*qR$PvH`N+& z=UcWV94u-{*5q`^G5K`{8^JxG3%Cm04DJN#Tu*f@z72G@Z3z5qyF2i+9s6nfC*cs0 zXdlh-A@V!R^3FQmB1WQ>--d=2TTl!UvHOdA| z1Q*e-U6I8u$mfsX2<_TH8ZfRdY$hmU9*{|o?9C01x*RlP^aR|~B^=;gvW4=}=jIoY;`*q|Y z+6-*V;W6>$%c6!#kG$34KC1>iX`%Xx`?MO0r=pNJH;2%Y-(})j{aYQs6^g$f?i}HF zDS6)}uCRSV{Ep%#**vgA@w!5uEy%OQnersfLRG#be^rjkSC?1sc-?egtMVzYygs%@ O*fiBopj@$+|9dlgA_!XF_y0QB*_nC2>%HIkj-51p`XuxQQX?^P zbR9X;p~uQqZz0sI0HIR}qb5(9_WO)o0};B^0ikiWqo&Omes?6(12J#Chmd^#q-njJ zlFrX@LWprd2rcsPcMqC6AuJdn=^}(=c0OM2o=r-=I0w&;!~gw#;D%Kf$u_ut3jcTT z@ehr-6WDhaVtPMD$g+dKdqj}PYBD@xTEib{fV;ofqUJ$|;kz0ki*JJhLqcnc5a4ST z1J4~0Ltlme?z$aY*!;b}kXU>l?x4$~X0GQy$Mif}6ZTKJB+23-d>11Ty$k<98;h?0 ze1ni=LrqvscS#ZtNqENp6MFVc9}e^yz0E8(;0Iajt{K!64b)wWkPMB` zU5k+tjniFQz&lHI*AmnWh3l@Ra6e9WEkoT=hVI%D?tiGewu0-=b=OS*(`DUtQ`DS! zLwDT*Nf|rc^_xh-IOwizP*bKO$dj?45(;8^>#iBpn%Shg79nfqsP0;fhBBY)t}Re& zkwkYbL3X0Ib=Ok3KR|aaL$gJbbk~+}f1B>w3a&rWT{l5NqHDVArbr&TCv*+|cZ{L7GhZ%mM!R}MNmW27a2Mdk(HiI2ZpAY8Yn%jf*R(|s6RJ$_n^NllFerai4g&q20NbCZeHq-NJibg` z^+~e6`~Ta$&I4<^LD8)LDm~7W;Nr(>}UL$R3?OpWI8Y%nNG|*OlPJG)0OGQ zbZ2@neoO?jli9{>XF{0@rT|%^=17j(ppK{$Sjb-JT{Hv@LvCm!4B~lc0eT+>I31Ev zVA0iR6-s7SGQNzOIm<*b&yg0bM;p*4v<2-$`_U1ws%OwSbOBvKSJ5r>06j#%p+8U+ z`iE)4yuq|!-eg)cE0~i^EVBjpvH+fKkR2M2rog~XLu=K(JoYmcAyjJ z6#58NpquDh^gX(R?xOpshOuB6M#P+B&M<|{X67?y8S@E9?^EU!^EvZ3Lzq2a)n_p~ zm;+2XQ^u6&WyrJ#*|ufc!S_7$6BEWP7oISsa9_)$F@a!{r4R?qL37bBjD|^J)-Y?C zEGC=T3U9PT@yu|hm`P_cL{gEAInOL*a+pkJAN1tg(3c9-78Ius>Wc=TiQqU9ng)Yn zIjF&L=9x&u)G(N-7BNf}^N$EYpIby|}Y@ptwSjpxC51syLzeQt_kWPeql3l|xGh zTL(J_g+n`sP7aO^gB?aV1UW=HlslYg+p4WY+jec=Z=2uFrk$eQ=yr?Rc@a@f4KIgg zpqP$mFe*m7(P3sRkN+p;0npxBjw{Y8?kS!q zIKa;W{?-m}IXLk62l4nrdHl9K{&{UP4fs6?Q&S_dWH8V`<00KY|6KoPxBeQTf7bp} z^pB6p_Y41={O9;Td!Kt4?+I7mtwrd&+28T;$9H4CTlL+HyZ_w%9sYfK_Z~ubcir7` z=U0U8Y`CMnGyl#ch|eTCeT;(kxr~D8%Q%ZXDJ;<$(OJ=X(Kn)70%TF8=!WQ?=%EOr zH2puK2coB55zx4{pgEty*ggZ=wuo^D{rd#;qKa9_v;&PA!MHMROc-bt16uM1uk%eo z>)V3fzYQ8QK&LUbU_F*$vi0{Eh+yVP=7qs;!#scgFwGuYySI}G;M4Td&jx13&YJmz6i;7T780l}K zLevVCpw_4qwS#eQkG4T%xf8WVd(c~GJ2?A8=pA$bbweMZuIMnh#bc-kItp6yIYf)6 z!LgnMo&5~;gV^2?eTv>gXF-?Gqc1_Lze2;&C2-gmA(Z$UBG=1k6#52@L6vAUx`xK0 z>)=lBp-JdAxQ!pE#X$?v@8BpOqebWu1R77kRsIFe^C^S}e}dboM#~U^NcS0vWUNp) zBZZg~p$Ntjg)tJOVq|Cq(+tHiEQ&`dOdFKS*dq-@uAR|AG!y-ZnxI^;G5KgV`WXU> zzrkHSM~RFr^NisH%OpZzrT$^QVXiSZnA^-9<`#36xx#$QR5CZwN~SrAVVa^?#v1I^ z8n6}Rr~}#yLC_}0Hj&RKMb+}bICBxOyfs-V=&hORk<)#E=^I@a8cE8ah0nDd9$gQ zD9Qb|A*)G(KNb%q@VBX^`40Fvia8Ojv{OdkZ{Y53t&Upobg0iV_Zd~8o@IbgJpWhOJT z7*F6j7<^qE_>dfC1L(_ckif?vhjYx=%yp3MPt2cSSsCyoO+_}Mw?&;q-ND8V5seUy z6HO7#6S<3gM1i7kky?}_N)u&?Hj1{3c8d;*j)^M3E?oj^bVu|PSfeMR=VB`{D{duj z2mYWpc!a@X7x8HEMDYyqBC(%1LL4iO7iWsI#p}hz;&SmG@nP|C@hR~|@ip;n@h{>> z;=e2y3z#z>|}W=j@I zyd?gTFiDIgL6RoPkrYX`OZG{QN=`|>lzbz(Bl%hKNKz#gN#BsN(zm7WNFAjEq(h}{ z((%%1(z#N1sgE>J8ZKQS)k+JcJEg~@XQel#zeqV*6WQCcUb5k`F|rA=>9U2gWwH=i zj4WQ3DqAZnkd?^FWd~%(Wv684WmjdlWIxCr$grivvZ-Zj%l4MNEeBc-vm9+X#d5Z# zm!+R&h-H-JDoc&!8p}M(Qp=r|`z?=JR#<*+dBO6k<#(39SrRKNE4kG>R(-67S&g%r zW#whH+-ikYyj7xAn$;Ssb5_@^zI9m~>=o`67U0|4&Bf8h-`yiPFu)~nNnn82GM8ZA zfFj;b0Yt2BL8fn$uqZrC4k7W_n;Az zjDmD^o#Yb+q6-f5_j3;mog|RJzvt#MDa6k`#D@nrRrt#TooWJf8h?M9hnJ_XpP&0Q zBel~^UgE(G96252FrA0M-{|i|Kb(5I%rKJU)^~;}IWq)uW(X3QK|6T{FP2$6+F3?) zvpjvhAgT5ZnYAR?J=|-K@yQ(i29K%_#n{_zMkI4H;gQI zFTRzB@R#Sq!-&Si0L+trKIe$%IplbE9 zPMD4yU2o8C591}J;?b&%=v4Z#rs9WIr143l$ylQpVXO^`;+sbq`pkQwH~hEIm;UkN zKmCGyqr9L%6cV;L1cn3u8LAS#hx$NA@OQie!-9ni-*Dkhh;IacBLu8s0Dt90D^UDZ zfUgb^4>{DE!VUGNP~k5RGt`@h2p<$)s5gZMe|cD;-U6ghZyrvlHxI=#Akd$}p`R2I z|H;FmS3ETSg2JO06e9o0!=zUNRC>k3r58NpfG~fm2tDa1h0K5Qkm(f>(% zfAWy&l>nJu@sQ~S$lu9vfFtdA$Kiv758mWB4ySzs&-w}<{e+MH!p8vNW1#Rs+tF&C zR|M#Rzh|H-pr?m>h}ZHkuaHovycupRhC%D)=j9#BKjy#jr9Q*gWnQ6XkKw!Vg&_A} z&^CQ*{+sdPk}xo>UjBi`_J%v=FNMI6g*SCH(3ki-#+P_r90$3D1qbq%!$-IW1qBC2 z06Xq}pz-dZU_7|7qC zG7-KH;=fahgzx?N?~4ONefW#8AWz}N-n`6v_vU+`x053Xz#TLx$fu_})J46P_=Zrz zJn1)gLBJti9#s4=)Pq7i-Ipx!qN<_4^jz%6e*>hBeH>{=!p8t!HNj9U=Jksw-adgVlTfymEnn#(7=gu<=DqbAfOK& zWsZIN2+#Tm&-&1(|1Bha?kH`F80H^6l&CDPHwapH{ey`hbCC0kREdiwLq#W;=qq98HsYAZCXc@)6XNVRl*<_3bC7t(Xc6p7OiJ<6moq^&VQ~@BNqPady$w1vE8$oRmiUVjWBWfao>`v4SL6tycErL3N z=uHF}xX4Bf*)b&HB3q~nF``ybKSH9`7EnMGy)8y_7^o|V+9Jr%MeRgT6BR+X-b12J z5(NF8fkfRAdechOgN1}0YN1e?fNYU*7K>cohH?i~Q=xegEbY7@vAi54+X^nltcloM!W(25Z)mY@^_6%j~Tp#p#+5L(8- z%mLJ9AyI`I0~9u(7%lP<{Z< z*74R~G;h{?TystH&stctSk&T7i{IWH|KQPwf}j zZ+}brR`^@D-yZk&PKA|1rKnU+Q66&W;c&REb=$dZ^V>daH>chC_M_XM?J%RmpB>kC zn%0TDQ`Q-EcIZ60b6V#gyL9QYyvzBngS!@XYtn5=w@k-{k+_Oth&z}2x zHR-ju*WO;gIodhSbKK(iq<5d*;l1xVwRD>Aw9Dy_KB0Y^_x-Y8aR0aa9~&@Zz|(;T z2dM^6epmkPZ|_|nGHOWi(56F^hqV}%IP4GS8O~KM%U%8)K4$oSS7+CwBf5{+>Spbx za=SZn+{g=~7LQs#y6+f^F{j2xjq5+|-uUk0Gsgcpq0I!x3G*gwn{abttBFG@9PcIbm}y&2^c3YTkl*r{}kypE>`F1-1)97F>LP`uo2w z%w9BU(PQ^@i<>T9vbbdNLysXIyF6QYdV8Mn8sl}y`yFqM_roO%mmK#QT zH;?y@&xywgUJ2_HTP4OOevc$t#nOr3_3dO1Yl$m!_GflV+SIT2rj~ zO7l-@kJJsRd$rBAA=*OiQEgS4JgrOG?6eQl+oXr3=ck`c|1IO~40Xo!43eqH9Gj`i z%*foDc`~zRjq{o%Ytq-;UfXkR?AkqR?`E~gnwFKD^-JomhWyuYAo zEqt#qpm1N|(~V6xI&S>6sJMtL)@-uhRJ?h}=CsY{OD2|tmlT!UEY+5Nyk+=S+18S+ z7q>~ab=l^!?fq@h+qP}{blWf6ZMRR`p1J+f_Fu~6Wj)H~lx3HFT6U}Kj~z{SblNd? z$Ko9;cNFY6v*X8|O?LL$Ie%yV&f7cxF1IP~S-!Mb+~iuE<@PyFS`Q zcE7j#^6qbTU*FSjPt=|jDXB%*H)Ceq+8X4jMm05msZmK{aY{){$uHMNZ_X<@qADx- zw#ep0@u`w6CB-E%HONwpvf%BWYP4=`sXFh&wYl(34sB6uHQHH{T(Y;Az1Kf)JNKJy z)zs<_pHGz)@0M3t$uL9O#)oI9@*>-?6=|rmr&q|diFPv!=aqRY@P1Az-@SZh$rSr3 zGedksl>}i22^THZJnt&6j*vdZZ%LNy{xIw#`-^={z z@ZPUreG)BOCl;(v%D2zXO3PfU%vzg~tI5~oC+4hP6O$X36p>(=s!7!c1@15AUnG_ zeZ6H`YMNH7NL!Phk&&5^oYu61CN)KyqDYU)4&SiaG9jl}v%!AdI;}QKxg%rU-lScY zEaU8q`ePS)MqE~WPO_yYJv}weerNFJCAsdTQ~Z#RBKKLc$iW#U<|ePtTW^`OX>(?Y zeMUyACPT?0XQa+sy)n5UMSzo&B4Im-EG@f{5%TmTZG6h=d{Jp13z{lVxgJUe^Ayt%=!9J7}fY#WpQ0!8*jbR&AiR$FIxP%p!$#JO(33iJ$o-xaUfxFIX6qlEhwv8BWnSe6A}~Slanm7R)%O* z_7O``;-ZzTB{*-@s+H+0)>^_lEl^gJPg;civgoA5)k=0ai0;8x@?h2c$i>?1qow=H zw_2`BTa~#=u{I_zdgBU97?F$R;UUrf{vjKRi%K?>m6b%R6aWaRzrrGUnl?2}lcv!o zr)o5-;#zApX(?L8+FY$xlb)h&qtT{lG${$IS|_HZt&_luDJdzM6a@>>ggRxVBqb$P zlR^n+P;#CGTBa!I`zdzt0)sMENZ_-DIzA~eZna%(t~xJ2H#bj_u1QO?BU1|GDe%5M zGg?q$X=MYt*filU8TJ9iX)h;7&=?l)WDF?D7ERS8R>Q)8m(42Bv%gouF)topj8@WOj>AqVs=WpHX|*Q zYDbzjJFO@(Zzc4;Gjcu_CQsBPCdJ$H+$3p}(^Jwl@UJ%Aa!p!h`Wky}8jK-j1_(DT zIW0LgNt0}8{kS;%33lUVsxIMyOlno4xGK?>WL5=8$Z9Dmcpf0Z#nMerB-l|}*g-M} zm&^N0k6}Lvmf*c|+!_z0@3kibB}PD}@OT>lRQ(ek%5sf^_BA(G&OQxZ784ZYx4u+C zhDrxiyn|h_YsI5G3M1r8*!5LN%m)(5+t^h?LZyTyt`h7jJ$Lr}coSML;h_v}j^j_@ z_(n1wOZgs3;>l1Mx7Aj6W&N1U$3su*Bx!?-aXcH*IM!JXw|+ie57Nl%l~?NyF+Lz~ zFZ2d(ZPp!^a9;+`=bAQ>KRll@*tfbV=_>=a5^!Qs_~!7({1CC>WOy$-zmbd;;GNa? z<*6aDAz|?a`3iRa@#8zv(iH4_WKfzUwdd?UO18kGbR2H>_m1*ZlU_cBo1DW<7#xA^ zzQ8RSOSUsNQ2uDtiN0M&&3WgYujV}b{;Ly@6r|TOd1P$f#*KM-g@t*s5fQPmkxHYC z1x#glpp6b0iyOxqrr6jTQ+x^*Q$?qh=;AF&S` zNkRuM3Up@W3g1Nv_Tkuwqy6mJr|p&vA*}L|lzo_&Uw&A@K0Uv2!FTrT!>2p1V^(R+ zS*2q4j@T^)yIsQWWIQM;7mCB!gU>>2;rsq8AO<%QaS89h?$22nc_^qqJN*C{0B0$C zu!D>pkIOCEOaH_hC3S#10ixs~9&P~QOdZ6-0CA!L;tx31TtL?}cqndzyFfTG)aC@v z!cFl?vJ`9Cr}&sgj-MSmj{9B@|D1@*l`MC)Z1c%0cDVC|;6vlZv#Ryadk)thsc<2A(k zYchj)ktPGlr{q)IWFYp!vvJcaIA1|Bq#YB(V?6B_sETk`+_k9a=)U3=Ju{UCVEaIS z{{wi3@IU4v(G$B5Y~gaZNSmQ z5@)ba|AlZ^ZcX)S`M$3tWQufZJBe0$>_D7nh$>?79CcQjvXd1&nguS0!ygj~j zzOi5aBUbTL;I(dlU=-?5%IjPlKk47HdjAZStl%iDze>dm@D03>p<}oe&K2WNZE>Gp z3yz&qe))0UFSxrMR;YiR^{L{s8C^FKS9_B6JV1)GxDxsCU7GMBWl?yR`w% zg(}21d5*?XfXQId-~TDtTbPk!QT1CyBr{Nb0*2auM>y`uU8`rv@nZTPWhn>@;1%Bb zQI5pi4=>og>aynnGHc^|VA5XtD#uh6n`@}C?H(|&fQAIpNT@zs_}a6vFA08(&~)8U zFVS36N=co%{0cyF07%_RVhUs^$Rv&iP4#jWM~QhMPBMeR%SH^LQoXWapK>jYaIAx9 zlvSqhLB9DLG}5Y%2x#7v%-54)(y0{-N(6e@0dhRF+${IjGK;|#7#!Zj_INZI^;qikf={AoWrxFwL^y|Lg>Ig ztv7h+T^x=R@wi9Wo!19^+7`af#pB4_M_7y9t5d1od>n@7T*mL(_Gk5D zuhwIqSLITV7XOdqo&c!p*8PvkZCt*s&c2Ol1m98h^Btq(o2@2$t4GOGw{O_@r=sk3 zR%NOkd0(2Uof*+r5z!}lR;pR=?}K;{dVe;KC)T>&f7S>(s_LiXiJp$9WE$-Oo#(y< zqdpg_aEgkKdfWn>MwPQ|RRGB%DWnBXk&&zv358l$#aFj|k8_nNoLoZIO10JSVHq4bQZbq=ky`5@(#iqQXVMTyQsZY@9nif> zYXfueP&W|BeIp(`iMqhY_34}e4KD^0G+eWWn1%e_rZ0}~fU`P+qcB1Fgc3MZ#y+K) zyp*Gvyo|lie=)K}y_^|aTD}#Z{KH$s8xK8Ghe)xOcpCdra5m-F=PzBainV3O1Xj-by{g`Yd$D zqYQv}#Rw7SQHOC)$ThDBx#oRCu30JMn)ifU^NKFlB=72m6&?mMtZZN)>0YKIy%Fzo z)VJ1csIbI1$g9@ck^-(9Bz4y$WV@7%CFK%aPDedxazEM8)3^x#c_=Kr9|uAtnM;EY_M&+c zZa9}EXZJqAxe_v2%3gFPxe{w)OZhrc9~F?#HG+e?;H1-46z3*BP@{~<*vEQaq!0q- z|(a(E?<- zl)PO%p0wu1OUMD}wAs=`{F{V5f)RNn!Cq3_oD)mfh=giJV*QK0+vnj7JV#tLf!en@ z)iN2G#mOXmpU>mOQaqzttbbXMek0y5uiYO4GQli2qWuT7eVuXnFQy}}5s(%)&}F}n zcs%B&ZY0mc*?78M60)3Xd*aU7>qXH+iq};4kZ7cfgCpNlOeJGJmEw#KF^eTi>snCi zktc0AS=Vx<(2{eI;T6>mdI9V0$q78q;So5;IqZ#>_RBeHWgZAt=7wNpell2@Zv-pz zK(I15bXMl9Y3arR=Zo>PFgfW~)@u#GTc{Di?`zo=&#Tgdt^sl(VX~0h1 z_ST4p56H+YzLpLj`RtQ_!CEkt-wWB}SrUYYZWD@iH2j-`_+sd68NR5!cmRjn;Rx6LWrvhyQT4wQL7Xy!@OoM6~H>DRs2Y@ z`5cX#DgS$Cva9Q|6bIcnni0;O6b3LqiXymsWTG64aZA$dSIMPQdmrPWcIJ*m!5$GN z1AL2$v}uKkDR`;e$fK!8xn2-n8jk&74x$SlO+zTkEqlCbX_B100ioKt-5by2Hz>o~ zDZ^`}Yy=;g`dyH*$1f8<2~l##C-5|f8KM#Cq zNPj8}PbQObX$@)<(x(O;Ue}}swf*Z9sOV%o8MGswL_^5c9Osb?yqZ0zuIkFEtc3^YKwHR{6RibJ&@uW*a_fK1>>*j+V{-_o&-XsjG8Dog!zR;xYL(jD7vxnE`2%g|0`R>SXw! zwhSMrKWI-4 zyMwa2qm&x|o{(agCmC~yBcTo7^=nTLA>^ zw(w;D4y(RS!tj9VG#P!4W3er6Yw`|`{RP|hfLn$)N!t#@_6dpQ->2|S&{9d=AaQ)X z3Ficu)cx`4MxG)Y+8n5eW{+TVghm{J>ie$?sYf0=oc4W=bwzv=%AN~ukQD8|54*J~A zS_g-w_x}~sd1+OsnEoiFZ?uyswsAOq3?K@9T}1cElz+w=ayK0( zw9fi(d)>RjJaPLELE{Ru0rf)GX6TQ;|C))*aYAi4Jt&piL_!py= z3U%7Qb?eeCM5L(}Sb!d1HfU7$kFu;X1ms@meE?p)90>OI82X>0MuY z76x|$hka3nN2-{ds%_$`eYP-#{SOZ3EF`2z+J!i^!%h@$GR|Cpuf!5CiPfKPg2o^oIb9c1Pp*im2TMdTRRG;2}`9 zx&$?chKYHMFHvfACQksN*L?iuqjWl@)euKG|J5hDLQ-qcWjcG|1hW@D%tr2xn0sQ2 z{bl4UH9m)PV0=`6M*L;?P!2guvSAR(tj*idB}R>D#wlwLfZA|e8waN=g;QrrR2v{@ z>I}NdrvZjIC*we{4vWF9V5y)b7X5Ju&mo<0XPfmnmH1=d`!K3Pxcjz=xUU3DWluD> zrk_ykb9XH!HuglDLfVW|VqYn{bJyneTaIZ0$HQ9xL!?{RxkAq4~ItJR&wcZH0Zfs$kEtt=V5_m35GC6wfrJB23*d8N1XbbR1UK zPe`bmQgT>b7bzcct*FPJDIo!{On#=M4$}7H4y1#TJTexKegJ|BEpC{^@?sMb4>`Pq zLi!o8;9*z>pc{i^3JyAfgNP@HILx785$|#^5%J-d ziMW^_1$By;Jy~v@FDMc0Zm3g>&SD2c7qPXzJ?HG;eursU0i33&r~ z^5)h}UY;5!k{gDYUBM1in@_JO**vvjibYXJ&u_=*97cKx_rNW_z*5+<5YGl@Has|Y zWSR`l11;(woWYZMGu5Kb!FhNQmT+t3zmET4P|pbqyLJEK{rlgZJ@P<7I@Yzx<3%GN zu&~`|X-&9TKDuEp%0`=Tu`juPE|zzuT~sABY=P z;9;a|`0j8{iCt1v*hgh^yaqj{UA7FmEQRfflWf^ZMHeIsc7EjZtv&8_`X1~qn?L0~ z={0&mKuC~Mi&G>dq520YJ0OV+k>F(fTwa)6uwj?|?!18BN;ac+Y=FGRW;KLuU2Sa31Z;a@3m`1LhJa|il$|+ts)U_8?o)n04~>qjBk6t~ zmreMpQGiJ>x$y?b@PUB&Mgy2@<9#6DWv^saw`qK-_(d5QB=B$LjmLus>W&Ftz)F{^ zq`1!@Xr?3mVmEL0&_p7vezvcu0t;X)!(oTzE_onZ4w?L;eH?qBt=#d zv|#%fd(vx4PcmQ0P9pP9JKNFlg-okIeets0DIw_1NDX8D2yH#)C4RSoL6YetXuHv(8 z^UjR+ldxYeipgJ<1*@xfN>e}eJU3FoURg9TP{LL&`f&WYvYeG!vDvY0$b9vfcgP?+ zGV5wbNa7=|{()yH)}&-++L5Ga=?Yn@ZO@dbXfJyYP$wn(-Cab0huz2#5;9UcmPAO* z@usQ{VG(38e0NjS?bK$t$Ejb2yq%iIuC5n-J2gInBjs!dHQh8N1L$<)REEyE9eel- zcr&Ws66lYZswUvR1Orc28?4l7!T%_z|2b}IqqPsseTx}Xy_uqbV;cs1@+E)|);8>B zh<56-Q{V!MpQB-BCWVbsH;nPH`XwlHIZrtosTNYsFts7&j8yAW&TzFp`D1l^Mhrw>*D*F7`2q zZWH8^bYv{3M|KK!h%vr>necAoIn~__8KQZ1Xvhqe=BDkiVU=168TJUg?|)z#?$B-R zk?J~6PgbbZQq>jo-F2wOFc`UPD16lgC1AGw6b-^wxRJ(WwMS}728stagSO{j>t!l1$ zg4{bbWOa;!EmN!GS0semPfy*tNlBJVBeheH%vX5rIqQcl?D6d=-20}IYa`15Cr{=| zp>6nRNnz~Fvz>Krp3J5`{);0;+jlD2uhqD_MbxUOSl+#V$Gi7}=m>D{bx?NN#0~?2 zu-0<4DUq2bMDCdUYD8wfjL1uw^$?lGjhC}q9R(Y{#nE8Hw>s)=_?Aq)4X=ZrFZ8i* zEpcxtHsPdf(JOJXrTAr>d|g}*Cr5F*(GP4XrjB51v8gAhn|xl;&Bw|%XA|OgRJ;=L z+nirU{AK5Qh==-odOhBx4zfSO<^MOx{t(B@Q#BPEzgKMhVZ%odjdqo$21I+cSNIQ% z8wz{<>Y)7#A&8^nWde?`sX3>JIfto!#nuk&YT&$iE4u4Bx=B zAPM$X*&M-fe?j@>c$LgHH64FZirwaXM%cbHmM#xe;xrQXT#MsjiyyutE6gg~vd{it zs-KT4g&cy7SOz#B@ImWfJ*;#+ELc@*0#3oE8v$OZ10b6o%l#y0bA{kEoyMjH6hLYP z>|oVVds2_V1iT5gx9b4DxoTHE6TRdb$m68y8XT^31ZI!$K3nc2iLX8>!|~kT2BGQR zs`ZMs?)D8lv(^*r#Z{T7)4EqL>rCTtJQ@ZDd(VguRxypLIw)uF3s$PqV5IKrZPXRL zi89bUwH8_q0nK$Mm4-G$ZQjK}-En+(9K_x?qJO}1OE(!pv0uuU{plt{`bE!XgEAuF zcxYwA(!}x4D{D)(4iT;Z5t>CW`(ek>qEAiW|4AKaogIdwp8q7re`LU1_c$dtoy1j7 zmvu{BK%@%%SCw6DX+jEiy>3^dFbZ$$f|SvZ*1a$|GONz&_caRpjUF0Gm$&NP)%XFG z7xz6swm$<=O(*eJT*y#*-@7S18$X)dh1@=kd?7g6zVL<#jkS3hyiwRe>K0a%0^fch?4ap$?Gy zYdZj)GovUz=i^Bol67?>*;X6LxjK*>qefd_MqNjP!40Od;3l1_@SS9o)P=e+ep4Ic zPjz5i)WA^Nq_fd_lz4mIV;sj`z}roX5AG$~r`@*JPVnDCPbt_2@GCV?cK4Na(^4yL zy|Wgc(>VSQ=&=h`*0!l@41tV(5SV~=lxfI9i2#KxlIeW}`x726J1r~7DJ-gQVCWa< zK)(?Iq*`VqEC zgE2F%7}1kwT8V?~k5bA$cpXyN8=r&oV1E*VqHhdA(NFrI=!QNh(xZm5+rQ!or*QM@ z@m59@LbYp>Q0WVO5&BvASZ|q1&rh6jI;8S-SRpfss~q-6%;)Y%`bn$j zSKl$pDo%AlH&;kC@z(2uKW+-1lU7;Rt^cOgw&9QPWI+0w>W|x0IfDMzQDdun{WAVr zn9!gTuuytD2Q#r9bQ2p=yo#TkAE18bW0>6-I62yPv7+2#dI20|XJSAve^RjXfO07u zJAB)8)_t8>#hRU`CP(|fXkhU%JXX#QP@B!S>*koa9=h@!_z{>DPJuHe4})(^)xhDA z9hCk%kA$B!n|^+0=J?21B|DRPl(`Tx4Us&T$XM8w#yzAH&;`N-v|;vHX}wOE>!x^w znQjPac|`AH$e`pJyj=oVROVQONp7eH$Nv)}gTy_a`^{u}n?hd}nYVG3lAp1{tBn;% zI!~2dg#d6BkX5R$CKl8#RqzvrP)sb_sU+KFc)P{r3)xt*+iui)iBGzVGo3S3u;&eR zMTLe8gJVHPLx_p6XCxoxLHvEl7U#;?i`%lwuj5ws*i%MYFBszvM?dck{ZT^Zfp~^W zs#`+*ZDCX!$5w&dsTRIt<4JBrlrE3IEj1D))sMaB&0 zI>9sa^c&f?<@8c}V75pJviLcn=ou@y?gRu*- zNlQ(Ad=NKLLLsr`l$&Igg1twE%eIt+EuQKg8>nO}VYTP!q&-Qa?I!!LoT%`DXo19Y zu~K-ya{-p)ZCVAq&sMr?R)sINqqAonetCEdY(!7olSZN7J2mV>TncB!vbR1+FU;R< zzq@dSW4e-5Nl8}ayEqiDKKC?f3C; zhF3r|oP`j8d*cx*<|Qp@rWnag*P1@6LFHjKuj!NLv@u`zmQEBV$V1 z<2;4X_ERi6`8utS!Hy{XiLnMEw&93(RW?8dTiJLz*!zFbQ%y|Qa*zOW_$eN;g=@u= zMj`fs4XfNM0DT(e-gxZ-eBa>mEe1(agbvsXHYxJbl(7-s(uM`fLUr^rv(X17;97?n zW?j%t#gI<>h_$wq916YY)QsB_jqj4^|FywMP20Af;Yk8Q-DueSphG6|3V6KD@J z!*r<8nEU~gFRjpr2+8O&LoynoPe%Rq$*7S42pRqh7GcSDeU*JvTtg`?GE>M)=K-^k zX3QRKG_zsAENQ~e3Gl1`*(j5p0NFG@-DNr^M&fuEz;?_G+l@wJI|kU;gIftCV!Axl z$kcx{Mv7pJnB}YgIR?_lFbwO-T#YDU#^Jvh6%R~iDY8i{Zuuj0%BU>vFt4cRA$!gI zx4m*4yZ3B3hc$Bcg|PS@hGA!Z;eC4`0G0xonv3J=Mh}b_H60nz=+mmu#xABelA@nY zp(-)v5r#4PuXKMut=5IrPDI%d*h;%hn1Bfr7JK;X)_R2Vm2}uj+f>Yrw8e9|lM)go z9YM|v$7kqnS-iOVBpfZ6uY2uTCvjD>Eq0=>&6iFlXZq9E=1K>VGZW}lgcJ{k2C$X( zE-t?Z=R@k7(z&zLS8lz=Fj{rHy>x`o>6}-GhWpiPpA2wegI*ACnO>1kLT5E!tdi;A zz8?2wwar0@zO$^vRZ?3xE@3^yTt_5C1q(GrBd|z9Hb`OlO#vBB4ok2~dLA=h6FAIq znZ6w(<{+MuV|CST+NwYKdL;f@0_Wu5NziMjrQ=Av{%xM*s>U?HURA%CS6Bpmd?z&u z0*9)8sweu@gBr@561t^f1|9&g7kfeg^a@<90Itl8u>gV2!@`aeP?rWJ2@|x>3{^X! zwO-vXK7t*%4FZ7RIrG^um~OAF(4fw`Q)2H6>RhQ)XD1CFhL_>@n4Mg*nA@(A(-1Xj z6;8s#B-p)71rIyN}|B~Dy54c4;# zf*pGp*0PN-tYs7TQ%)jn>vj*Le zyP1#@$KK{ixrZH{^oa25F%2ud+28fk$G;l+KV{$@mg(@T1%IFmavb~AgAcemF02`> zLUnTU(7+7eaqa2EHC=@G!%JZ505bYHV{77$tG~T=c{^6L{}Z-Axk8TE?JWFq#8&QI zTrE$=7LuDX%xbO^58|rn`Mv^ogYzazHsloS)TkE0xnd8r%2F$EHZqwd>1|+aFoG*hk48@rhsdK9IC9;hpQ``tyMitPTH8Cnoi3|w%urm($U{6kdnSwpuYjs4Vw>=v( zebx4jO8gdHCXa~@TN!BYquN}tGw0Be57#dqln(mr0kbjf@HE_(Da1qJ#Cvh!T{-Ep z_g(xhesAARIDB%T*DdlMdDnX|8K}VVwiA+qm-!`^eo>jeb;r((prH!u>Nnw(?YU4k z8Vo4AvP;_}eMHNZXRPrO|iufas7z{8|FGq#kLW`?fx7{6>$ zF#MkASnuh+pih3kgN7F+>)hQ7n!J5(n1sNjkzW-eq1U(Pj`1)+*p~;)UN_Y;#O&J^pta0|h z+Noo>>3m#5M#*58V2Ok@#R1b~c!b5f(wl$7^W)Tn~OlZv5cH%vNV?_fahxc_G5<)9nH$}cp2 zRiuL5yY?7>_JnR~di{@WxRXsG9`+Sj_9L7V9xwme>l@gb>NtBGnM0HxIO9Q}HT|{w zzP)0{a+m!s6UFlIgw+vn?C9x?oZOA}rE8*B!LOZ-Chg>Fb8<5`*caul2#bsl30@vo zd?W>i!+y{axy@Sq7defmu*IMPt>tV5L=%?S6;!7+`HQrcVYf9Bwm20=T`%%3H1Z+v z{O50P{sFYP5GUOC6Ihq!gk9Jt_z9N4A!XTV$G3cLcg^Et@(y`t@r+@UjxEoD^EsYG zYo>WQ+x0m#3-`l)4}J8*H&gdTL(x-C6!M_t&BdG2w`?uVSRNLh9J-up%y5hF_=2J> znFX7R*F-H>B}9b-aw?gQrH^joW>hj4px2LV(#l7c4Z{QRyC0l~YFyg|S4n?RlztkI zfx|&A1IotZx3+G|%-#rcnUT0^Rk*!h;`$tr%QdW!$FGh}h_+X)Ubnp z`fuD1aAV?rqIK@a;orNT3p)2xP5C1YyB{E=F8AX^-A|SDzjQx<$;|!iGq|6w|5NS< zgu%NX7~9}~=DgJZTrl-Nhidzu)BkJ!N7o?+|3im6?|%;ePx+t6RS_x%&MN*ve9%MA z^{RqXu0~6%dp$3PYRZ#TY>(~mOk75%0|tXJF}jYYphU$l`WhTZ&X|L#x(&N)?PcI! zV!^*W%ShXnUjqK6==3Mlzue^g%e!#eKn(!fEhen89u=2^$W`*@)A}AacZ35cUcFqZEFA0zd}9-6=BcN}UKsa2(ro z9jb4^oi$N?f?JiSj4lm+AagK#w1QK>Vgu^ejyVgC?P$d-c{cbZjmvWOP=%Smt037; zk>GXUD5}*_$tJC&ILxfeWh94_Yg2N~&+LT@j4kI{Bl^g;N z12#4D9;3Jyy@sfF+%p$7 z&+q!mdidROuQtCrUeDgEhu0gGb@Q6R^BRQPFL@k*Dyh+1&=^Ja2*PzUF0_SVCB*_nDc|KdzNoL|~o zH|GQOW3vU8g9hnB8m_B3*S|Wz!4buB_AiIJVw^u6^g#~%PS_ba`>R78ygaC=hnHU+ z>gJ^$Mjlku$q4aS1*A>I?F<1r4v>@1h6ueg9^`eCkI>&GgJ^_4J}Cqu^pdmJ(@P;j z4<14zbVzoE_}rG8Powi$5@IF0v{gbb(CA!eX3awLi(ETfquIRw3TE@7(QJ~KRd9|` zE9_c>@@R4y2g#)|I`@O<{5#%?1%YP0C51IS1F|Q1NqWgrcW2SyJY*#V=L*&@ShJ;2 z3GsQ4{WL)CdEn-ybCHK8ZKCnH&Q{vc7@aNV>}}aa)P5D4o3BNJ^(r4B7$J{G%R^z8V%hi8AA6< zK{pMd`)na}UxnYe@n}2lXd1a+l3(_^!bk2CAaZv&;(`YXk^9ZdeB^$`7`cCzk+Y6Q z?olR@`x+X#$Am`52OA@IC?j3LtbU-wPKjh&_AYJ@k^69n+-)Ipw-qAyi*!);BtvNA zu2Yg11NT31Dj&GlX^)@0(!kaQ?zPM?@dUZR2_hXgJ-&vmN;5}a#ya&_Z9gYdg zu9f3*k*}QO;$lORTUX!#Y6KzWTd*QzHc?=OnJ%5-+To2f&DABjS6-InvIlFWxo3nl zS4eVkjy@_dQKW|kAN5#pQ4e3qLxCFMN@Jc2+%=TvLfMJtxx70OG$yZ>^QhGOjw21b z4zqMOPtY0YF-Uh)RUhI`prcLos*}q(akpNU^zJrEdWDpi%@vZ~Z(fr0a(B#=Ug{AV zOnULUdXru*=YKls1^LuYdby7Ob=FJX!{6Y}I0V1L6l1r0*iBr_U6PZ5hx+1Cc+}zV zK}km~`hkohqul$DQ3|}#)+Hgp(<@>7)q87p?AyP_&k0QQ^Qr?!F3~|o zI!u#5PcQ)3{SP_E`5OE_v&B?$W`3y1FQhGVQ?{R5cFanq}Y$}1P$BK^qVscvK$>2YE(b_LhsqCNb>ExVgO*GXr;;COYo;$miAeu@2# zELE&>0O=*qS+{;|k^Ppu$iUFmfy?~VrJp2&<;<=T!SCw9LRFC6TF!>tg5O~)h7#oW zR6qK`>1)%$wJ54>h(dueC9f>o69~ptw-q#^@MBn}Lw@oo*`2+Caukm2`7!9Yx zTXT;-6LDHNdEnR+f$L~NH6nSE#~{0IN2fwf*7@kCzkWOMKt#HN zC`fPl(u6HrwyxP;zH?1L(DH=k%V*ESZHv#)`19l`YFs ztf4lcCawlw%DBgR$!az3UMz*p%&;#uMUB_)!9o@{xbH#N(0iuYM!hk8`b867nr$o(iZ${ntGvZ*?3%louWLBn8)eMGw`eVc>~rT2 z9&5(B$C<``H}MiZw!JndC-D|!)6Zm6tL$&Kah;rGHf1$>sBUufEMD#;W&F(iK>w?k zf1_!Kww-&XGukp#pcliK6L{bGOBJ9cnPr{hK1w~n^=K$x&Cx$vl&=U8O5nW@wOmAb zUMpWPTe-$64?XN-@c<9b46!MGB!YN(6)I3o+59ks*jL!ZTG&q3gm_mvRv)&(ip?9_ zpO8+Q+15V7blUDHd11zx&A+gZZ)h{w=i^g*u36J2+uBjtSSC>7g6)W#yY8?P-COD% z?71Zf9-W2Fo6B;M`m%H4DmnFLvOP}bcHoVIeW7bvM?x_hIh=dsc-hG{f0fO7=uz~A zrh{a5s!YC>`Hk`Buv<;L+1@Ru+CN$L^ybaWa{D9B%tW)%0<%TxL`QrcUybcd{EZT~ z$_G{a6J+ik>_OHsbZ@ANt2l*2FwC2->+^E^^~-zu1-G*!(_)Qg%ND7t9L_f8Q2T=u zNqekW#caCC%uY3v-!lby8up&FvtMt#Ss`?j+z)H6x5}K*O|IwUew(?#{+zkr7V48+ z;wrxA@`z8l;2fV&M{%3%T}+~ezs+%SOK8JsUO&}7PaX&zbpX>fr{P=FUC5>9Bjpyqt}xGV#gfN8Eh;!rb08#k3h<&O0a`5&YPsvW{8|J;fJ@v)qt3Gzis~jz+ zu6!|FR;M@Wy4u|ChFnLUoLVP6d)|iYQX3u~GbCYdC zL0a}_a)33IV={-*#%#+SwwErd@@r@4ecF%gtUT4i)5*?7RhYeMTNLDTxoz;YK)oBi zLk_css+w7@xqS0FOFl23|Ch{SJ?b#~+{?_{%x&g2zI=U~`jW8rj=^u3RgPEw`C|5M zyt%XOGRb4*|6jaP^*p}>lL+F?hBrfCH6*;2JpdGe&GGUmlS;$sU5+&vG5_z7dHC66 zezPQ%JEh-rCXxHidpJkUD0PaGxnvT8&-#qFK6>+MBG1@-CXqinlg4){8h0y6N769XPd7+*|OID*m0X|U|(Is)=h47HL-7#IkxyQ zW0|C#E%%x)jX`|OOnh2CI7-$YhgQ%yRCBCrzr)!{Ub$+=$IE1`Shbh!$}{&Njch`S z#^G!{L)Pv7iFs9i><4D;Rt{%V^Tx5=Q36w)jm&qL*x^HyEzwjvA@D7kY#5PuG zRaT44>VEI)^@{DO9ZTQdm-_y+y~B38Uwt+6hr7Gm*7Uw>*)3@;=XA=uXLOf>%9)u3 zS+?Yk_Ud%WvlGPxBQlUHww}j_x+zfVL>pr%MiTNyT7`zOj#<|tNFkCkI@-;=nWZTSbwJhs!I z6UcS$$_vHb=bHMiObx~iE;GFi|DO8P%Egblot;{&c;f!9>FjCY?9)Ql z?E0QrXNB8&bBkrWZDu|DvfIs!37uQd$w+bD%*#aEWPx*Q3k6Ym(zWrvUIpE|Qbvy=)i%=;Y9+_jEJ<$av@ zcf7o8&6CfiIkR4QY|ylH*~>0dAGqe2*(Qyz5%p@?z-%@${T@?1Kh{2GpebH)nAffQ zqLJ*GCU5%UTbZ;d-Rx*a zX*+LIrEGP`HS_pFYS&cRny;F&+F_Bo;dZmto}Rbcos-P;JuFgdAQwBFla4s%g(kZ` z*)Y3(`qDRa}LO<|<%7>hLLWdu4$y*(B%`5LWubAatwPMxk zCF^4OLU0YtrdQfWy*%h?PwHb!*KgYJ$glx!`H)>Uz55u8ZN^=nnb~a1kY~EP+nTPg z?PCYtF$`IEH6OH@OMTj;?IrrC<4jTTQ5x1bj7@fqlh#9O=FHaUr9;wwkArV89k-be z*{?L0HsA{>>WfD0%;UChrv2M{>+u;>-gv~jX?4UeJc2=?f^5A$a!7oUbxGgIvd$i% z2c+NS%%3!&Zx^?-NAp2%G)yyV_pi@4`ea%A%KR5!cRTa_n>rs(V{7QzFMK02(lJ!7 za5-}>6e8!$5b=ZLz-YRUDnn=JW8x_5Y!ez8>gaOLj>Ocv)U+2yVrmmjJHEyq^>#kJ>83Z}x)-L8&`dNDY8k=}I0zb|IJRL0EQz+ZK zRz;evzF;8d9%I>7ZJ8vV;We2}vW_*B#fNS??A(=gI8E04_&vTKQ?Gn?j(Yaxmmhz2>yFLY_j=Oh z<;gF-@WRHOX1PzB9At2q+g_L3Ubk^pG{B@#?V?3_MHhvo zccps@4KUdWG+GoE6|IJbkA||XNLNjDT|~3#mzaYe4c%o84VE{%*zX_>Ye<#MBaGIP zS&f)ny8$yFRm@6e+V@v7{;DLMW+hvE{b;3_8S=iwXIMY%39VOy)C_Z^W7BS%>}Y2g zoM9Rcr)Mh`fr?!A{EPZ@l+#0y4vs+`Y^XdLAKAM$w8@J0orjqv|LHy%*J_NMCF91) zIH(@STby-*vJO*x>fpR5FO-xV>Rrg*-oxxgy?^0jCyUim4`;Xc%`42zF1MIYv*PQw zV(7bK$9uA(+q}D_YtZDiuNOSBZqxJ2M`m^5i^=KE=kp2|ncFTgRD9v%7tY*WF8eUe$j7XLxmcnPD`2=Qp)4XhKFuepfp zAOoum8PmZ0U=3UAJLHFJOj`res%DGtogdmu%sy+#pYNIw8f$jQTWQuH(&?s(b~k%d)+uL~)i|x!9=6{AirCAHmvMjrpxZ zBygujiTd3a*g}d$#01@sykR20i)e$iJ~e#@2tx7BE68 zb@&>4(N#1%z;(-HET-*(@84aPzg35AEdS=3GHt?)p=pE1J^$`IYc@UiRQ}W{%NcWC zIhr9bv)N{iF`=bwO$i4e$@-fvIqaw$#)p(|an{W%+&<0aY@0Xt`uA%F-8=nH29Kwj zx7hEP)@4F(_w0vk4Gv#@yb2ZLUUV>JGUZK#$JO%u zkYkiRcaGhBeAaC}l(}v2p1b9f_q*Aev1#c0&x*cxn6t6nRbMpn31)tO_-NgeKP_~} z%iDW=`<5KEU-o(HTQ*O!ej=|uC>#5w)f&2nZtKOLF?@`cW2#~Le34GYNX|FI!nBs@Rh9d`Nd^P z4wJ21UGHg~Q!TC3yj?x^2(|b(Rfe$`<>pW{T}< zdBn9Ze@@Td6XvvzX6P=IMXR)Ys&jNg=V)tvH2yQ*C3na!FRf+?bZwQHbd?!9 zxlx&TuydBqM4O> zP3c=y>>2yw(Dmu-pLyK#DnZl+5H-Gt?&YyxZ&l&+UxPvX)#)4aa#JTiF!lba?jDN= zFMcX@)xwnzKLQigC=^l%l->$5CT#RXBKJSatA3$)*F5=?jrGvCnuBhWgKSK#{PdlD zw!HRr^Dnkz_Fb~oZ1W~tQNv{Uz$ft3MpJxhK0p^XKXk+KpO1?dW#UIN(aPSYpSomB zyH_)>xUH8NV_M(2=ldV_z9Ow|vq=}%@abzeY*_O6`llWqm6J1L%&_$M!rQUizQII% zFL~MOv57n6-SQ#X?U3yGjqK_Cys&+8VXoP&$l)-%gd8^W;a_s)-65-8-o;lk3qK1D zaygI6#V*|SdJ#;Uwh}Sopl#jJ4N&ZU9pxWjDX{cenGM-gLU{yS|p1|Hz`%Zqm$Od4Dbq4p|p^U)~`? zagjM8E#Hdj&T*6~+ur}I=zVzRX8Gak+obcQeOq=WKD&F%*IN%gwcGg%8y0=&l2>@Y zg*nT0`lr%E@2F#zGt0hJPiCgem>*oZqX&+^E6t12tN~u?JSonw&cG!TV>=a*tjx;h`0& z56@rx&>|L>iO@+OL)FBeK6Un%?ch$C_m0E4)_0r3+52EK&YHI6tj)V-9y*K&^?v`W zV(%X9{quL;zwIkR>{B5;D#Sh&!qev6tJ~i4E~;~O=maC*cO$RFve(K98oD0ume>J- zsY2z6sY2!;BR=#eBh0a(Lf-d$TYhW}C7u0>arEI!Jd~5pe*5~M4){9nip!O!o}FhO z0ke(XG4`l@z$z!Gu~o@!NLG@wPU3KAk~Q@4dEd#_p4iF?Z!BZGNtNL8=+~Hfs~1Mk z*izms6FMHKqPa?DDnqr^7!b zGPg3(`K5g0)=SvtWxhFC&VqU#W;?F@?X4IXfW0p*ymDN{8fqrrKegWt7U540i+>a@ zuoiwNKXD!YWkExF6m-dN#ap2z){qZlPDd7McQXg?GSw22_6I{>h#sNM*3Ac9C3pRc z&njFSp~nu*{--~u8(PlB7RME?V^ieU<#*PQ`|NKin{x@&R6NT= zIZFkqTw?3-`82(mK}5?0!;Do{`8Y8hm&n_?dUw4(@L4Ex> z(h!`(BO8KyPHhN&-o~(&8Ng^`pit58Pn&nF8&f!UthkyD1s+}C3N0_3YpZ52TK>yi zTYQ!lOQnmftUn+YvXqp%SOJvvyBm*A=C_2Q^7LB*KjP;cc^@H9>Eb@}?BXPPR_S6Y z>(ZKj)*leHS$|a2&bo)S%y#KM!n%+~G7me*4msm#nS3>a>7H`3^9Li;`5xCl9L`{# ztg&Y8PH9Q?O?|V~Cb#o@WAldPufD}_)c9`L_UdchN6cip<)ATd+Vr{8(mpYhuQ$an zwS044YATZtI`Fo1$-Jd$*EpQ}^M*<3^38dC)?KOHN6xy{E&mzg{F_lQXUzkBQu~gZ zm4&{*R9D~l|N0l|f2kHfdR^$%CuQBg+U3|d`EXg;vY=c!Ib&71^73F(VKtY*p8#>j zT9Im4TD5N1*@(}%cT}#CYQ(6A;jn(**oeKc`^_0fvzu=0oME)OsS|Fy+ivWhVRUZa zp|W8AiX(>S<2rPPb(kqoQGnUB_XG9<9+MvFrP`=+PcMI-CfF zT%);mTWPngb~|b}OS?U^+ef>Dw41A4a-sA8`&9 zS!4OqTHV^uy59OtOzoJQm`yRqY>jNKY+1HE+e+IOo6q)*-D0m|Z({Fg&$iFBFS9>w z-)4W;e$al*VR0lmYB`!Z+B$kT<~Y_mUUt0e2slEq@v%vj@=Zyzl^)gpfZcgY%g;nE+ejO+^Dz-ad~mG;^xIIj$0A8Chm#2 zopJuS<7La0tyQ)~+3saWm0eKw>9TK>Jy7;Ux!7{G%QY*PRjzlr>~f>ZO)2+8xxM9% zl}|3;tbCvHlghsl9~*yr{F3-jD;O1ORcKdXM1>UljUa=*$`DzB)#x$?V}kE9qW zsVR+9Zcpi)(mkbj%7B!dlo2VjQ`V$xNqHk>Pl_+)P|C^Fgw$H8%~Ct14oaPpx+HZ& zYC&osEhep2TAQ@&w0UWp()OhtuaZ=yNtLcuCRABc<>e~=DhI0^s`6cxV^vO6jjftm zwQkksRXbMgQ#GgRn5t{5Zm7DY>b9x{Rd-c=x9W#g{Z$WEJyi9(sy|gd={DT8-Cf7CQZq_0TdmVO}p*NlveS{ZdS8f7%i=#GFE0BsOGL# zquPLK!>g^Vw!PZk>Iv1|)!S4bQ9ZxE;rX-%d(>w@``m40;v>kDz<=2jmGdC&RORjSGxGMwpPWm-{~veCQn&fYz!UIC zM`T~X_!l*Buk%yVfA9Ybf(&~ z>L*q2=f{5%E#qvta>V$*?d$whsz~YcjR~~Ix1jfKqq~+-N9iwAKT$|KE$%DEYxxuq z^L3w*NgK|j2DT|Z+4wV-(& zMZQjN9_iIpi}4uWaqlSj7c%KrWYgJoovLM)haTQX3-U*L`0xx`k57*>E0MyeGg64O z#WQ0@izjwpDY5&Jh+eHf%%`1d{UN-V*!{#FF#e2PX;%OHlu@<=pVk5++MgF532GiG zJjExTs0Qdk3k#mA!3bXjj4GP*u0$T+0NN8Oml%}1R$Lh2k;QPIhnPLYyk6;E@Q4Q< zIdin9I8dc9o@eur+w;LPcxE}s4^M$tw!tgDKU4gZs{dy=M``OF^_cHW*LsTk85bJ= z`KuUXkJ0RRrfDZ!02vTq92;OXrYsy$yUcl?#2S0TKbCm<5#a(l+#?ap;ZPb|R9g1xynsy)q4R6Fti%E$S*>;iq@ zDISY6ETRrPp?aG#q9*p|OvXWVI4XN|gufyq!$nY1*`z)v17&;gF?Nj1 zO(?6UhjClD%?tS8B4w3Oyr%f9Ch{Otl@-d3rkrZVh&3G8Y?U6O zu9O`xV#RoY*djAd%7UTByv5h>Y*w8wtg%p4%|(&0K+5yV>9kh+u5!6UO5asA3>SVoGs%e;Q{BMLPe=1iIJH*B1?BCTQ=v}eN zso4J5`i{~@O0}rHOxnN|P!q0X1UZJYMbLUNZQ;x-)kaiHQhZR-G8Y-k<>SA2)DGoGfr9#SbZ^VV%~5JDzmK2o;Z74$Fh%?-B`|2zHWT$_?-9&@f+iJ zCM>DAGI2}N5m#N;beF%sM}Cxpn13Mjb=I4;EkrF~A1wzyV@G836Yh==(-_ zFqk}LgCQUX3d=3pnc@PgOfJEQ~ zNx%h?K_%!kj@)|4Es_Jo02{Ca2Z#k_KpbFRl-zoZ3iNUbK&^5}1Wu3yYJtl^Cb$CB z26e!7w2)@tcFsG1j^GZ^3ET-fgS$W$=mNTeZlF8p2?l||#$`q}7y@#@P%saQU_mq% zfQP_B07n>#BOV4zz*4XbEC(yVBVZL!T(BCf0gr;U;4$zxSO=Z}PlEN}DeyFS25bP& zf{oxgun9a5JYX~U92^8+fG@#UAOOAwhrnTQ1pEVh1HJ`8@FTT$9Q*`+1}8w6S~LLM zB;Y0iHwm~&z)b>f5^$4%n*`h>h9b#_fstS#c$ofl2~cHhW?V-v+6)Y)zO%s)kOPK- ziPX#_Fd0k%Q^7Q9c{-Q@W`g^{Ebst$jj`-@umkJ_uY&^cSMUaS6L^8L#qR=Y)xb$| zVS*y?3vHHl1MsF7-t@woUU<_BZ+hWPFTCl6H@)ztS5(1oRp18cAOj4iR8!Dd^T2fa zy$9jrIbbe$7%ZVojDNAaT7Xr}Q34yV0|$r&WdL*i@br3kdi^OLod~Z@0+YcMFcnNA z#_3=Nm?LI{DKjSu93U2y0nGH1vX_*-q#UGm z1gQry;Ps)B$_Ft&IlX8HR1Ed@vWw?`+XOQv?Ql3G|Ge~&`DbFC~8KgXelxL9g z3{sv!$}?!kXfc3Zn|AD{9s6m=e%i60cI>Ae`)S91+OeN@>?fxla_XTS`)S91+OeN@ z?57?3X~%xrv7dJArycug$9~$epLXo09s6m=exnbi>hl|>I1D0dEh}Fc#sDkyy>_zCsscAi2N{4~3y#c(BlF?Nd@+ve2Wb;?z+Bxn z@{vUzV=i2W{sojan+TjB3DCpCbw0Sx2iN)FIv-r;gWG&?n-6aD!EHXc%?G#n;5HxJ z=7ZaOaGMWq^TBOCxXlN*`QWwy+!lb_0&rUZZVSL|0l3X)&~A+3;65+{(1r|F`xv7E zwq9c_pace^5x6P{R|Vm!AY2uMtAcP<5UvWsRYABa2v-H+svukygsXyZRS>T7!c|_l z$_rO{;VLg&<%O%faFrLX^1@YKxXKGxdEqKAT;+wUyl|BluJXcFUbxB&S9#$oFI?q? ztGsYk5UvWsRYABa2v-H+svukygsZ%8l^3q^!c|_l$_rO{;VLg&<%O%faFrLX^1@YK zxXKGxdEu%cTor_?f~9iRN&J|g2>b#rjmtc6nFlWOz-1n|%mbHs;4%+f=7GyRaG3{= z$%kX|;TXj&UUcTS>9_V`$v;<{DV0x+3Z?aN7t7_W?0Sun*LJW2>;$ia0`OPx26z*A z!CPP#*p2mkkdaHTw3A-x2))uVdZhyfZx_%PxIi+f1S*3RpscfLpbDr8)Gr-mfNG#R zxD3<)jE;@EpdP3X8i0nN5x5F823Lb7;2O{rTnqjJt_RIQ3veT732p+dz|EjFxCOKU zw}Q5y9k?6x0KLFHpf|V|490Gp4TgXmFcb{qKK-$A9~c2ff>B^J7z0>chJNWb#)FCY zp9Cg@DPSs?MlPm<8DJ*3AIt&|fZ3GtK`;l*1r~TA6JE%Ks;?32cCZ8N1h0bv@K^8# zcoTTRTVNO14Nk%vCMW{GV0#;GbfdM&y z1MN=h;b+oL>Euc1$CfHKpg`sq>q^r(J%R6jkcpB~jukLssK_0yv=(gds$q`ceEbhn}D zZbQ@EhNim>O?NRm_F{DG#pu|J(Xkh!V=qR>UQACKq$ds1lLqNYgY=|9deR_0X^@^Y zNKYE1Ck@h*2I)zI^rS(0(jYx)ke)P1Pa32r4bqba=}Ck1q(OSpAU$cYxPPJ74AN@` z={1A&nn8NaAiZXgUNcCq8Kle6RpK1Qr6;I-|LrKyy2R=5_+j?F5?J2{gA8Xl^Ia+)n&Q z`R#Y|8IGvdQO3u1r`*ntDYf-)culm+EM1!PnLz}AcI9YFUE zpnC_{pcA+gbOv{UEYJmX1>Hb*&=d5b zwf6=6Kz}d*3RFS@q(4~*cv=-OU%Z7;g^Hu|4!^gr9^f40&8Y(rlSpf3l|mjmd_0rcen zQY3&B2_QuRNRa?iByiTKEXb%V$fzvHs4U2+EGTNwh8Vqzy1Ff?*?_^Mm<@)295572 z1m{|S&M%K$#1bTyAh86AB}gpFesM|m%CmKHw7S8>aIO{f(ySuoD0O)d9nYd+if}e< zB%3ypO&iIkjbzhCvS}mPw2^Gu2zCch7L*77t34@taW)tNa==h9kM=PiEC3GyNq&f!Jp@S<~g(K)>6 z9A0z|taWH4=YPsr1g&c?u$F9N#^rEZ0B&PO0+3s{jd%6{xrN)%5J4O$3uxiz;dvkJ z(T9HILqGDNANek52|SDE&u7D71S*Kh0<0hg*nk~4KrAQ&m~A9?K62+fPn*5~U1Iet zO6(7DQy9ahGM^F`{ydCC3;V*0!&Ac88N&YXdaiaV1~k~yJt>Q{O!anQ+6dYTr{ z%cHM+-1S80M#xiiDwz%K&x@rE3m|y}oOyLBNhSTAeNKETy;F2N`}yhX@R8zk!kke* zT%RXA{hIo71E@-QRH-x3J+yzWedIN$sjmF#zmjpE8LvvG^t9lz0I{f=V=W4_g5OlB zh+l=^?U=|tMVV+a27DRyrSrBJUz+lY=KL6;5G!_HeEH7Ip-!hbnlq23@XnbYN?wu5 zdFWQsSMhn2W~IfMtmbS;;Go3rx_0$eT}8i zWQ?ZDbnNW!87njm)x?h#d>(EFmksBi2O z4Mjua196qO#`sX&EN(XbE^ZOG8h+7PbT&Q{T|^h-faoTA8lNj#8t9Q?nDI4K9BCYa za&wKtQ0`&l8?jU@HCR(6RvX_dnz7p2LJ7)IGAkui>q%W`SgKZQa7UFkMwiw`X`8XG z`g*MKc2;4xK(|yScTnl{H_b zXqr}nrk`>Dfbk7szvbsNzJtmMQ27}16hA`is+!grn${Vb*3~qvt7}@jG_BJ$t<#}( zVa6H{-soDZbzM1U~tUUy|`TRF0)Ru^tF2|G=GN{F0#caj5?j6nDbgzrbH%QN}1w z>#ktLi$u7)f~YJ~jAW4}(r~MY3@r97MN1<^O-X_ugBmmtQ8aoktDTt-tc zK|G8dx~!%hyH7zWq?A|?yXB01u^Q<0Pz=M!gOXw{W~o%mz1iph-}Z$s$1?vEt9Q%l ztar;ArFY9(qIb*MqIb*MuXoG(N$r*;lGJWlqA`*%tZSz%rA=nmt2V8pHSZ&I*K420 zMW0(pwGwiu4t07x^Hg_G7yUJ@BjK&YQJJ~2y5ylbb6A~_R0Eicnh*^iL*1t!Z|X5W zb_4TUcT$T3nWvfRJL&Sp!U0to4>n{z?j~A#7h3iZ?DSKk&&yE1 zZZzOVaA7OBtt*_BgS^W#rrmpQ&M0fFb`!K)S-Tn9&D3rK?KahJ3+=YiZpXg&j_hyk zs@-1N?Wf&r?GD%O80}8d?sV>Thce8e1)$UI1 zdbPV(yZZ)=xVNwMW9|N=+?Yh|Hqh?v+Rf4K9PK`>-Cf!}lrwnXy*7(>W3?Nv-6ZX% zYBxi>wX|DTyN$HlG-p`f99whkw$g4}?RL~|mUeq+w~uxQ<&GXY!j`MuQQDoL-8}8i z((XL%F4pb}?XJ=86T?RI%e8IL?q=<7)9xGE-K*UXwfm`d1KRygyT^wUh3%wr?S^*k z+AXKuMD14Au3Nh`v|C%d4Mq;m9bj*w-DcWtsogf(yd8T{#{3<*QgkOpBu@A(i{b{&o zNR*051t)UPh2*P*{7OLvr6ETQq}iWOPg6r6*%gIG%;%|I*zI9rn`Q z%h4FRM*G}JtR0!h7$x6$!q~_gtlJqQy=&|jF=$OmXh=0gUC~%H6Rku$^v)ilpU7q0 zGDXZ13mCDi5$nY!@=qD8tSeW?m|AG()TYQ1z0m5^Sr68WXg^{?^q3bt&WavqMvv3a zdOjt3Jt=xD4$r!4l@=Op0%_cgi*#5Vx!n1whOO#SL_!D#32zBKZznsjHR3< z$x_8q!%|oK7nYcR`%$+R;?*U$Bv`6zO;A{BM{;Uu5lDIzT>DaEC+Kbc&U%P@-$n0PtOtm5AUfv>bYhDY>-DKC zVSSfag>{#93$(jUyS&TH{VnLO!nz69V%>};-AmjfdW(BSAJG?1=r0C{f#L)4q4)@2 zv(e{-bvk-oB&UhdW3%XSK=imEdVD#0JPe@k0^)VXW(K347BYGSYJx1ektdCy55j{rp5gW}%Z0*SX*v`?T;#ty(jiw)aFmhcc zA$n{TJx-t&gk=)Q2aj{tfF|nRAh1I5?WsG|re(pYJHn#cK`e+7ZxiAG<7iMaZLOuj*EZ6`9Bk$ zw27G=@rb7ieM6?GN(wI+uL-w4vZ?|}{DQ@f`g7@bownz z&A}?HBl{x!aKXGZp$~7s*rBB!DGp%dFol(B%dnGdV#N0{Y&i;ki>=U2nScZ)m34V*WDn|p{(q6O#Iz}G#+oq|;)q6WYkBj77>Il#sv zt^n`{?~Vyk7t{lazXYR23#~<2G-4RLSVXoyqZFK3L?1?uoymC?x$LUO?xfDBoe?PV zlF?~(Q4O@EWbG)$?c}&4x$8tupsk7@il|gntb(zbN~J$zpP#TTs5`HbIyojksy}6Z zO`VBdVi#l7cf`ATd@saG?W;4^0>z6K_A!7{Ikv}&p<+?*$O_Sv(yLe;$~K0_(PA`r zCyVLib)I<0h{aM>V3b3`et~58Mtp-trb52}GKov&YaaHJ11fjKF&bOfWO|ONB2P>c z)3w!Wfp`d;S3WWAQu!mUzlo2<--Ta%B0d$LA-g{p2gMh}O=&3IYve;3Q-#yTwN@Hq)e=e21-_?0)tU+ahxiy z{Q_GgIr);76Y;6uIj+LU`CPwWiLdbcHF;GroE^3-G&%QI9luIXQ+ZJDg`TdxNNUxo zv2#OZMs>ThL&PCx&i-W(bH)Wyzyfkkm|8l-xj8DsnE%WlZ)|AY?R@!nqeGqPpSzF1Sy2TuFW(06mFY8z{i=1$rKM~m?~z|Ju_a$1wq*G5wBOR=iXqSHrzB8h=HcA@t8ht3 zj$)ss#bYI}m36yFyg+^uX%!KFrNv>PEUI@*xIhdE@VxR>T6mR9#b1%5fko+b`-qh4 zbn8|8a;}e-C0ebr7@h4$#aAo`1yVQ?UoyuGen|MU;w;^NWoQ}U#fV%ena|Qgq*9N? z?V|ogrcwn?I^DX_wJs`eZaBK61Zi}U;WB7nwa@r9zQ~Z(Y4df@`Zc-8ur-iI_0Rb= zy@=2e86Fw)Dt${yU}f1g=uPh={AtcHEUbvP9H(o$NW@qSL&5S1;a)V-O2r2}`yhPM zQhXf2^|@$R%DsrctMLCOahHaJJUbXZZs92U8jY;CMvkH{YZ?27-vrO7`w@g+=lTTr z8`vw3(DNS&AF=#O913MiLwK|GY3~2CG=!hj_unONmk8@V!mw|Th6?)`=OytL_ez8E z+rhA%gMS#!ESG|V)El$yXTzFq#98)IpXbA9!)Ymru|@^UCBXWjQ9;47+NfulNLfn5 zYVI!v>Zq{j(jazH24-?f#X8bm7d{GJ6m5-qrxAWdv<<%iJSFb!w`@^==TVKKH?M7 z)Cm8|v8<)7kyI+y;vZUy7isxt!Lp2Jmx6J8)MN3vfHw@w&%d_%Z;3G=BWJaWd1I}h!Gpmx1VG_ zY6rUc)6C%Q;Qlbqw{qm%vd^dmrh}_MT~Ic9uI}FnYJ*y$VR*FlpGJ)J4I?I|y-~(` zlH>hGnV8u|#h8Y~caiB`w7f_g7-j8tMUsQO@bw=~(^ZLla+FBN} z4qLE_kXg`1AWj_PK68iY`5guCQZhH)8pK)uYBbm3ml@5iO(PIL5FfByO`R}5tB#Ba zBe;$*<%~=P@kRuUVh!e~BK^!bqpI#VdQ+Fvx%U`=zqAZu?_mpX99U`*XDiMbopYXP zoym3dT>MJjzQqr3v01-2l5DHE<{o8sTi)QBW4|4fk)fh7ky zpz34;^w~h&eQ7kNjrPO-(OrYL_u%hll(9XuZpNs+vi5(iQ5}EHNUxdrka#y6JxJ>> zVt@Dpj*)uaNnFclPp<-DmTCq7 literal 0 HcmV?d00001 diff --git a/src/amo/components/Categories.js b/src/amo/components/Categories.js new file mode 100644 index 00000000000..eebac412977 --- /dev/null +++ b/src/amo/components/Categories.js @@ -0,0 +1,84 @@ +import React, { PropTypes } from 'react'; +import { connect } from 'react-redux'; +import { asyncConnect } from 'redux-connect'; +import { compose } from 'redux'; + +import Link from 'amo/components/Link'; +import translate from 'core/i18n/translate'; +import { loadCategoriesIfNeeded } from 'core/utils'; + +import './Categories.scss'; + + +export function filterAndSortCategories(categories, addonType, clientApp) { + return categories.filter((category) => { + return category.type === addonType && category.application === clientApp; + }).sort((a, b) => { + return a.name > b.name; + }); +} + +export class CategoriesBase extends React.Component { + static propTypes = { + addonType: PropTypes.string.isRequired, + categories: PropTypes.arrayOf(PropTypes.object), + clientApp: PropTypes.string.isRequired, + error: PropTypes.bool, + loading: PropTypes.bool.isRequired, + i18n: PropTypes.object.isRequired, + } + + render() { + const { + addonType, categories, clientApp, error, loading, i18n, + } = this.props; + + if (loading && !categories.length) { + return

{i18n.gettext('Loading...')}
; + } + + if (error) { + return
{i18n.gettext('Failed to load categories.')}
; + } + + const categoriesToShow = filterAndSortCategories( + categories, addonType, clientApp); + + if (!loading && !categoriesToShow.length) { + return
{i18n.gettext('No categories found.')}
; + } + + return ( +
+
    { this.categories = ref; }}> + {categoriesToShow.map((category) => { + const queryParams = { category: category.slug, type: addonType }; + return ( +
  • + + {category.name} + +
  • + ); + })} +
+
+ ); + } +} + +export function mapStateToProps(state) { + return { clientApp: state.api.clientApp, ...state.categories }; +} + +export default compose( + asyncConnect([{ + deferred: true, + key: 'Categories', + promise: loadCategoriesIfNeeded, + }]), + connect(mapStateToProps), + translate({ withRef: true }), +)(CategoriesBase); diff --git a/src/amo/components/Categories.scss b/src/amo/components/Categories.scss new file mode 100644 index 00000000000..5892b742d97 --- /dev/null +++ b/src/amo/components/Categories.scss @@ -0,0 +1,21 @@ +.Categories-list { + margin: 0; + padding: 0; +} + +.Categories-listItem { + background: url('../img/icons/arrow.svg') 100% 50% no-repeat; + border-bottom: 2px solid #000; + display: block; + list-style: none; + margin: 0 auto; + padding: 0; + width: 95%; + + a { + color: #000; + display: block; + padding: 1.1em 0 0.9em; + text-decoration: none; + } +} diff --git a/src/amo/components/CategoryInfo.js b/src/amo/components/CategoryInfo.js new file mode 100644 index 00000000000..858040c8761 --- /dev/null +++ b/src/amo/components/CategoryInfo.js @@ -0,0 +1,64 @@ +import classNames from 'classnames'; +import React, { PropTypes } from 'react'; +import { connect } from 'react-redux'; +import { asyncConnect } from 'redux-connect'; +import { compose } from 'redux'; + +import translate from 'core/i18n/translate'; +import { loadCategoriesIfNeeded } from 'core/utils'; + +import './CategoryInfo.scss'; + + +export class CategoryInfoBase extends React.Component { + static propTypes = { + addonType: PropTypes.string.isRequired, + categories: PropTypes.arrayOf(PropTypes.object), + clientApp: PropTypes.string.isRequired, + slug: PropTypes.string.isRequired, + } + + render() { + const { addonType, categories, clientApp, slug } = this.props; + + if (!categories) { + return null; + } + + const categoryMatch = categories.filter((category) => { + return (category.application === clientApp && category.slug === slug && + category.type === addonType); + }); + const category = categoryMatch.length ? categoryMatch[0] : false; + + if (!category) { + return null; + } + + return ( +
+

{ this.header = ref; }}> + {category.name} +

+
+ ); + } +} + +export function mapStateToProps(state) { + return { + clientApp: state.api.clientApp, + ...state.categories, + }; +} + +export default compose( + asyncConnect([{ + deferred: true, + key: 'CategoryInfo', + promise: loadCategoriesIfNeeded, + }]), + connect(mapStateToProps), + translate({ withRef: true }), +)(CategoryInfoBase); diff --git a/src/amo/components/CategoryInfo.scss b/src/amo/components/CategoryInfo.scss new file mode 100644 index 00000000000..e6db8231249 --- /dev/null +++ b/src/amo/components/CategoryInfo.scss @@ -0,0 +1,27 @@ +@import "~core/css/inc/vars"; + +$padding-icon: 20px; + +.CategoryInfo { + background: $padding-icon 50% no-repeat; + margin: 0 auto; + min-height: 72px; + padding: 0 0 0 ($padding-icon * 6); + + &.alerts-updates { + background-image: url('../img/categories/alerts-updates.svg'); + } +} + +.CategoryInfo-header { + font-size: $font-size-default; + margin: $padding-icon 0 0; + padding: 0; +} + +.CategoryInfo-description { + line-height: 1.2; + font-size: $font-size-s; + margin: 0; + max-width: 275px; +} diff --git a/src/amo/components/CategoryLink.js b/src/amo/components/CategoryLink.js new file mode 100644 index 00000000000..445272a98d1 --- /dev/null +++ b/src/amo/components/CategoryLink.js @@ -0,0 +1,39 @@ +// import React, { PropTypes } from 'react'; +// import { connect } from 'react-redux'; +// import { Link } from 'react-router' +// import { compose } from 'redux'; +// +// +// export class CategoryLinkBase extends React.Component { +// static propTypes = { +// addonType: PropTypes.string, +// clientApp: PropTypes.string.isRequired, +// lang: PropTypes.string.isRequired, +// name: PropTypes.string.isRequired, +// slug: PropTypes.string.isRequired, +// } +// +// static defaultProps = { +// addonType: 'extension', +// } +// +// render() { +// const { addonType, clientApp, lang, name, slug } = this.props; +// +// return ( +// { this.link = ref; }} +// to={`/${lang}/${clientApp}/search/?category=${slug}&type=${addonType}`}> +// {name} +// +// ); +// } +// } +// +// export const mapStateToProps = (state) => ({ +// clientApp: state.api.clientApp, +// lang: state.api.lang, +// }); +// +// export default compose( +// connect(mapStateToProps), +// )(CategoryLinkBase); diff --git a/src/amo/components/SearchPage.js b/src/amo/components/SearchPage.js index b2f15761108..fd160d54b67 100644 --- a/src/amo/components/SearchPage.js +++ b/src/amo/components/SearchPage.js @@ -1,16 +1,20 @@ import React, { PropTypes } from 'react'; -import { connect } from 'react-redux'; -import { compose } from 'redux'; import Link from 'amo/components/Link'; import Paginate from 'core/components/Paginate'; import SearchResults from 'core/components/Search/SearchResults'; +import CategoryInfo from './CategoryInfo'; import SearchResult from './SearchResult'; -export class SearchPageBase extends React.Component { +export default class SearchPage extends React.Component { static propTypes = { + CategoryInfoComponent: PropTypes.node.isRequired, + LinkComponent: PropTypes.node.isRequired, + ResultComponent: PropTypes.node.isRequired, + addonType: PropTypes.string.isRequired, + category: PropTypes.string, count: PropTypes.number, loading: PropTypes.bool.isRequired, page: PropTypes.number, @@ -18,26 +22,27 @@ export class SearchPageBase extends React.Component { query: PropTypes.string, } + static defaultProps = { + CategoryInfoComponent: CategoryInfo, + LinkComponent: Link, + ResultComponent: SearchResult, + } + render() { - const { count, loading, page, query, results } = this.props; + const { CategoryInfoComponent, LinkComponent, ResultComponent, + addonType, category, count, loading, page, query, results } = this.props; const paginator = query && count > 0 ? - : []; return (
- + {paginator}
); } } - -export function mapStateToProps(state) { - return { clientApp: state.api.clientApp, lang: state.api.lang }; -} - -export default compose( - connect(mapStateToProps), -)(SearchPageBase); diff --git a/src/amo/constants.js b/src/amo/constants.js index 03ec987db3e..e34af727ffa 100644 --- a/src/amo/constants.js +++ b/src/amo/constants.js @@ -1,2 +1,3 @@ // Action types. export const SET_REVIEW = 'SET_REVIEW'; +export const SET_USER_RATING = 'SET_USER_RATING'; diff --git a/src/amo/containers/CategoriesPage.js b/src/amo/containers/CategoriesPage.js new file mode 100644 index 00000000000..860bd929e6e --- /dev/null +++ b/src/amo/containers/CategoriesPage.js @@ -0,0 +1,44 @@ +import React, { PropTypes } from 'react'; +import { compose } from 'redux'; +import { asyncConnect } from 'redux-connect'; +import { connect } from 'react-redux'; + +import Categories from 'amo/components/Categories'; +import { loadCategoriesIfNeeded } from 'core/utils'; + + +export class CategoriesPageBase extends React.Component { + static propTypes = { + addonType: PropTypes.string.isRequired, + CategoriesComponent: PropTypes.node.isRequired, + } + + static defaultProps = { + CategoriesComponent: Categories, + } + + render() { + const { CategoriesComponent, addonType } = this.props; + return ( +
{ this.container = ref; }}> + +
+ ); + } +} + +function mapStateToProps(state, ownProps) { + const { addonType } = ownProps.params; + return { + addonType, + }; +} + +export default compose( + asyncConnect([{ + deferred: true, + key: 'CategoriesPage', + promise: loadCategoriesIfNeeded, + }]), + connect(mapStateToProps), +)(CategoriesPageBase); diff --git a/src/amo/containers/Home.js b/src/amo/containers/Home.js index 0663af42a56..4d31df01724 100644 --- a/src/amo/containers/Home.js +++ b/src/amo/containers/Home.js @@ -6,6 +6,7 @@ import translate from 'core/i18n/translate'; import 'amo/css/Home.scss'; + export class HomePageBase extends React.Component { static propTypes = { i18n: PropTypes.object.isRequired, @@ -24,7 +25,7 @@ export class HomePageBase extends React.Component {
  • {i18n.gettext('Be social')}
  • {i18n.gettext('Share stuff')}
  • - + {i18n.gettext('Browse all extensions')} diff --git a/src/amo/containers/SearchPage.js b/src/amo/containers/SearchPage.js index 3984abbb278..0f1e115a743 100644 --- a/src/amo/containers/SearchPage.js +++ b/src/amo/containers/SearchPage.js @@ -1,5 +1,25 @@ +import { connect } from 'react-redux'; +import { asyncConnect } from 'redux-connect'; +import { compose } from 'redux'; + import SearchPage from 'amo/components/SearchPage'; -import createSearchPage from 'core/containers/SearchPage'; +import { + loadSearchResultsIfNeeded, + mapStateToProps, +} from 'core/containers/SearchPage'; +import { loadCategoriesIfNeeded } from 'core/utils'; -export default createSearchPage(SearchPage); +export default compose( + asyncConnect([ + { + deferred: true, + promise: loadSearchResultsIfNeeded, + }, + { + deferred: true, + promise: loadCategoriesIfNeeded, + }, + ]), + connect(mapStateToProps) +)(SearchPage); diff --git a/src/amo/img/categories/alerts-updates.svg b/src/amo/img/categories/alerts-updates.svg new file mode 100644 index 00000000000..30604a324f1 --- /dev/null +++ b/src/amo/img/categories/alerts-updates.svg @@ -0,0 +1,13 @@ + + + Created with Sketch. + + + + + + + + + + diff --git a/src/amo/routes.js b/src/amo/routes.js index 414f1470f88..257cab5783a 100644 --- a/src/amo/routes.js +++ b/src/amo/routes.js @@ -5,6 +5,7 @@ import HandleLogin from 'core/containers/HandleLogin'; import AddonReview from './components/AddonReview'; import App from './containers/App'; +import CategoriesPage from './containers/CategoriesPage'; import Home from './containers/Home'; import DetailPage from './containers/DetailPage'; import SearchPage from './containers/SearchPage'; @@ -14,6 +15,7 @@ export default ( + diff --git a/src/amo/store.js b/src/amo/store.js index c9131a4a1e5..c248dfd8977 100644 --- a/src/amo/store.js +++ b/src/amo/store.js @@ -5,12 +5,15 @@ import { middleware } from 'core/store'; import addons from 'core/reducers/addons'; import api from 'core/reducers/api'; import auth from 'core/reducers/authentication'; +import categories from 'core/reducers/categories'; import reviews from 'amo/reducers/reviews'; import search from 'core/reducers/search'; export default function createStore(initialState = {}) { return _createStore( - combineReducers({ addons, api, auth, search, reviews, reduxAsyncConnect }), + combineReducers({ + addons, api, auth, categories, search, reviews, reduxAsyncConnect, + }), initialState, middleware(), ); diff --git a/src/core/actions/categories.js b/src/core/actions/categories.js new file mode 100644 index 00000000000..33ef47a77bd --- /dev/null +++ b/src/core/actions/categories.js @@ -0,0 +1,31 @@ +import { + CATEGORIES_GET, + CATEGORIES_LOAD, + CATEGORIES_FAILED, +} from 'core/constants'; + +export function categoriesGet() { + return { + type: CATEGORIES_GET, + payload: { loading: true }, + }; +} + +export function categoriesLoad({ result }) { + return { + type: CATEGORIES_LOAD, + payload: { + loading: false, + results: Object.keys(result).map((key) => { + return result[key]; + }), + }, + }; +} + +export function categoriesFail() { + return { + type: CATEGORIES_FAILED, + payload: { loading: false }, + }; +} diff --git a/src/core/actions/search.js b/src/core/actions/search.js index c897e605e91..d29618d8de0 100644 --- a/src/core/actions/search.js +++ b/src/core/actions/search.js @@ -4,23 +4,23 @@ import { SEARCH_FAILED, } from 'core/constants'; -export function searchStart(query, page) { +export function searchStart({ page, query, addonType, app, category }) { return { type: SEARCH_STARTED, - payload: { page, query }, + payload: { page, addonType, app, category, query }, }; } -export function searchLoad({ query, entities, result }) { +export function searchLoad({ query, entities, result, addonType, app, category }) { return { type: SEARCH_LOADED, - payload: { entities, query, result }, + payload: { entities, result, addonType, app, category, query }, }; } -export function searchFail({ page, query }) { +export function searchFail({ page, query, addonType, app, category }) { return { type: SEARCH_FAILED, - payload: { page, query }, + payload: { page, addonType, app, category, query }, }; } diff --git a/src/core/api/index.js b/src/core/api/index.js index 923c4ad649c..ef6149b1917 100644 --- a/src/core/api/index.js +++ b/src/core/api/index.js @@ -9,6 +9,7 @@ import config from 'config'; const API_BASE = `${config.get('apiHost')}${config.get('apiPath')}`; export const addon = new Schema('addons', { idAttribute: 'slug' }); +export const categorySchema = new Schema('categories', { idAttribute: 'slug' }); export const user = new Schema('users', { idAttribute: 'username' }); function makeQueryString(query) { @@ -59,12 +60,22 @@ export function callApi({ .then((response) => (schema ? normalize(response, schema) : response)); } -export function search({ api, page, query, auth = false }) { +export function categories({ api }) { + return callApi({ + endpoint: 'addons/categories', + schema: { results: arrayOf(categorySchema) }, + state: api, + }); +} + +export function search({ api, page, query, auth = false, category, addonType }) { + const clientApp = api ? api.clientApp : null; + // TODO: Get the language from the server. return callApi({ endpoint: 'addons/search', schema: { results: arrayOf(addon) }, - params: { q: query, page }, + params: { q: query, page, app: clientApp, category, type: addonType }, state: api, auth, }); diff --git a/src/core/components/Search/SearchResults.js b/src/core/components/Search/SearchResults.js index 58a96942146..264858aaef4 100644 --- a/src/core/components/Search/SearchResults.js +++ b/src/core/components/Search/SearchResults.js @@ -10,31 +10,50 @@ import SearchResult from './SearchResult'; class SearchResults extends React.Component { static propTypes = { + CategoryInfoComponent: PropTypes.object.isRequired, + ResultComponent: PropTypes.object.isRequired, + addonType: PropTypes.string, + category: PropTypes.string, count: PropTypes.number, i18n: PropTypes.object.isRequired, loading: PropTypes.bool, query: PropTypes.string, results: PropTypes.arrayOf(PropTypes.object), - ResultComponent: PropTypes.object.isRequired, } static defaultProps = { - count: 0, - query: null, + CategoryInfoComponent: null, ResultComponent: SearchResult, + category: undefined, + count: 0, + query: undefined, results: [], } render() { const { - ResultComponent, count, i18n, loading, query, results, + CategoryInfoComponent, ResultComponent, addonType, category, count, + i18n, loading, query, results, } = this.props; - let searchResults; - let messageText; + const searchParamIsPresent = [ + addonType, category, query, + ].filter((param) => { + return param !== undefined && param.length; + }).length; + let hideMessageText = false; + let messageText; + let resultHeader; + let searchResults; + + if (category && category.length && CategoryInfoComponent) { + resultHeader = ( + + ); + } - if (query && count > 0) { + if (searchParamIsPresent && count > 0) { hideMessageText = true; messageText = i18n.sprintf( i18n.ngettext( @@ -52,23 +71,30 @@ class SearchResults extends React.Component { ))} ); - } else if (query && loading) { + } else if (searchParamIsPresent && loading) { messageText = i18n.gettext('Searching...'); - } else if (query && results.length === 0) { + } else if (!loading && query && count === 0) { messageText = i18n.sprintf( i18n.gettext('No results were found for "%(query)s".'), { query }); - } else if (query !== null) { - messageText = i18n.gettext('Please supply a valid search'); + } else if (!loading && searchParamIsPresent && count === 0) { + // TODO: Add the extension type, if available, so it says "no extensions" + // found that match your search or something. + messageText = i18n.gettext('No results were found.'); + } else if (!searchParamIsPresent && !loading) { + messageText = i18n.gettext( + "Please enter search terms to search all of Mozilla's Add-ons."); } - const message = messageText ? + const message = (

    { this.message = ref; }} className={classNames({ 'visually-hidden': hideMessageText, 'SearchReuslts-message': !hideMessageText, - })}>{messageText}

    : null; + })}>{messageText}

    + ); return (
    { this.container = ref; }} className="SearchResults"> + {resultHeader} {message} {searchResults}
    diff --git a/src/core/constants.js b/src/core/constants.js index bc1b767e309..e3ce1c2fc3a 100644 --- a/src/core/constants.js +++ b/src/core/constants.js @@ -44,6 +44,9 @@ export const validAddonTypes = [ ]; // Action types. +export const CATEGORIES_GET = 'CATEGORIES_GET'; +export const CATEGORIES_LOAD = 'CATEGORIES_LOAD'; +export const CATEGORIES_FAILED = 'CATEGORIES_FAILED'; export const ENTITIES_LOADED = 'ENTITIES_LOADED'; export const LOG_OUT_USER = 'LOG_OUT_USER'; export const SEARCH_FAILED = 'SEARCH_FAILED'; diff --git a/src/core/containers/SearchPage.js b/src/core/containers/SearchPage.js index d6c3c43cfa8..cb5601a1b45 100644 --- a/src/core/containers/SearchPage.js +++ b/src/core/containers/SearchPage.js @@ -1,30 +1,61 @@ import { connect } from 'react-redux'; import { asyncConnect } from 'redux-connect'; +import { compose } from 'redux'; import { search } from 'core/api'; import { searchStart, searchLoad, searchFail } from 'core/actions/search'; + export function mapStateToProps(state, ownProps) { const { location } = ownProps; - const lang = state.api.lang; - if (location.query.q === state.search.query) { - return { lang, ...state.search }; + + const queryStringMap = { + category: 'category', + q: 'query', + type: 'addonType', + }; + const doingSearch = Object.keys(queryStringMap).filter((queryKey) => { + return (location.query[queryKey] !== undefined && + location.query[queryKey] === state.search[queryStringMap[queryKey]]); + }).length; + + if (doingSearch) { + return { ...state.search }; } - return { lang }; + + return {}; } -function performSearch({ dispatch, page, query, api, auth = false }) { - if (!query) { +function performSearch({ + dispatch, page, api, auth = false, addonType, category, query, +}) { + // If none of the optional search params are found, we aren't searching for + if ([addonType, category, query].filter((param) => { + return param !== undefined && param.length; + }).length === 0) { return Promise.resolve(); } - dispatch(searchStart(query, page)); - return search({ page, query, api, auth }) - .then((response) => dispatch(searchLoad({ page, query, ...response }))) - .catch(() => dispatch(searchFail({ page, query }))); + + dispatch(searchStart({ page, addonType, category, query })); + return search({ page, api, auth, addonType, category, query }) + .then((response) => { + return dispatch(searchLoad({ + page, + addonType, + category, + query, + ...response, + })); + }) + .catch(() => { + return dispatch(searchFail({ page, addonType, category, query })); + }); } -export function isLoaded({ page, query, state }) { - return state.query === query && state.page === page && !state.loading; +export function isLoaded({ page, query, addonType, category, state }) { + return state.query === query && state.page === page && + state.addonType === addonType && state.category === category && + !state.loading; } export function parsePage(page) { @@ -33,18 +64,39 @@ export function parsePage(page) { } export function loadSearchResultsIfNeeded({ store: { dispatch, getState }, location }) { + const addonType = location.query.type; + const category = location.query.category; const query = location.query.q; const page = parsePage(location.query.page); const state = getState(); - if (!isLoaded({ state: state.search, query, page })) { - return performSearch({ dispatch, page, query, api: state.api, auth: state.auth }); + const loaded = isLoaded({ + addonType, + category, + page, + query, + state: state.search, + }); + + if (!loaded) { + return performSearch({ + addonType, + api: state.api, + auth: state.auth, + category, + dispatch, + page, + query, + }); } return true; } export default function createSearchPage(SearchPageComponent) { - return asyncConnect([{ - deferred: true, - promise: loadSearchResultsIfNeeded, - }])(connect(mapStateToProps)(SearchPageComponent)); + return compose( + asyncConnect([{ + deferred: true, + promise: loadSearchResultsIfNeeded, + }]), + connect(mapStateToProps) + )(SearchPageComponent); } diff --git a/src/core/reducers/categories.js b/src/core/reducers/categories.js new file mode 100644 index 00000000000..bc8c749c43d --- /dev/null +++ b/src/core/reducers/categories.js @@ -0,0 +1,32 @@ +import { + CATEGORIES_GET, + CATEGORIES_LOAD, + CATEGORIES_FAILED, +} from 'core/constants'; + + +const initialState = { + categories: [], + error: false, + loading: false, +}; + +export default function categories(state = initialState, action) { + const { payload } = action; + + switch (action.type) { + case CATEGORIES_GET: + return { ...state, ...payload, loading: true, categories: [] }; + case CATEGORIES_LOAD: + return { + ...state, + ...payload, + loading: false, + categories: payload.results, + }; + case CATEGORIES_FAILED: + return { ...initialState, ...payload, error: true }; + default: + return state; + } +} diff --git a/src/core/reducers/search.js b/src/core/reducers/search.js index 6225b4de8d9..b6e316c7d84 100644 --- a/src/core/reducers/search.js +++ b/src/core/reducers/search.js @@ -5,35 +5,36 @@ import { SET_QUERY, } from 'core/constants'; + const initialState = { + category: undefined, count: 0, loading: false, page: 1, - query: null, + query: undefined, results: [], }; export default function search(state = initialState, action) { const { payload } = action; + switch (action.type) { case SET_QUERY: - return { ...state, query: payload.query }; + return { ...state, ...payload }; case SEARCH_STARTED: return { ...state, ...payload, count: 0, loading: true, results: [] }; case SEARCH_LOADED: return { ...state, + ...payload, count: payload.result.count, loading: false, - query: payload.query, - results: payload.result.results.map((slug) => payload.entities.addons[slug]), + results: payload.result.results.map((slug) => { + return payload.entities.addons[slug]; + }), }; case SEARCH_FAILED: - return { - ...initialState, - page: payload.page, - query: payload.query, - }; + return { ...initialState, ...payload, page: payload.page }; default: return state; } diff --git a/src/core/utils.js b/src/core/utils.js index b9e969b83c6..bdbdded94f0 100644 --- a/src/core/utils.js +++ b/src/core/utils.js @@ -4,7 +4,12 @@ import camelCase from 'camelcase'; import config from 'config'; import { loadEntities } from 'core/actions'; -import { fetchAddon } from 'core/api'; +import { + categoriesGet, + categoriesLoad, + categoriesFail, +} from 'core/actions/categories'; +import { categories, fetchAddon } from 'core/api'; import log from 'core/logger'; import purify from 'core/purify'; @@ -105,6 +110,31 @@ export function loadAddonIfNeeded( .then(({ entities }) => dispatch(loadEntities(entities))); } +// asyncConnect() helper for loading categories for browsing and displaying +// info. +export function getCategories({ dispatch, api }) { + dispatch(categoriesGet()); + return categories({ api }) + .then((response) => { + return dispatch(categoriesLoad(response)); + }) + .catch(() => { + return dispatch(categoriesFail()); + }); +} + +export function isLoaded({ state }) { + return state.categories.length && !state.loading; +} + +export function loadCategoriesIfNeeded({ store: { dispatch, getState } }) { + const state = getState(); + if (!isLoaded({ state: state.categories })) { + return getCategories({ dispatch, api: state.api }); + } + return true; +} + export function isAllowedOrigin(urlString, { allowedOrigins = [config.get('amoCDN')] } = {}) { let parsedURL; try { diff --git a/tests/client/amo/components/TestCategeories.js b/tests/client/amo/components/TestCategeories.js new file mode 100644 index 00000000000..834c5c6c95f --- /dev/null +++ b/tests/client/amo/components/TestCategeories.js @@ -0,0 +1,117 @@ +import React from 'react'; +import { findDOMNode } from 'react-dom'; +import { + renderIntoDocument, + findRenderedComponentWithType, +} from 'react-addons-test-utils'; +import { Provider } from 'react-redux'; + +import createStore from 'amo/store'; +import Categories, { filterAndSortCategories } from 'amo/components/Categories'; +import { getFakeI18nInst } from 'tests/client/helpers'; + + +const categories = [ + { + application: 'firefox', + name: 'motorbikes', + slug: 'motorbikes', + type: 'extension', + }, + { + application: 'android', + name: 'Travel', + slug: 'travel', + type: 'extension', + }, + { + application: 'android', + name: 'Games', + slug: 'games', + type: 'extension', + }, + { + application: 'android', + name: 'Cats', + slug: 'cats', + type: 'theme', + }, +]; + +describe('Categories', () => { + function render({ ...props }) { + const initialState = { + api: { clientApp: 'android', lang: 'fr' }, + categories: { ...categories }, + }; + + return findDOMNode(findRenderedComponentWithType(renderIntoDocument( + + + + ), Categories)); + } + + it('renders Categories', () => { + const root = render({ + addonType: 'extension', + categories, + error: false, + loading: false, + }); + + assert.ok(root.querySelector('.Categories-list')); + }); + + it('renders loading when loading', () => { + const root = render({ + addonType: 'extension', + categories: [], + error: false, + loading: true, + }); + + assert.include(root.textContent, 'Loading'); + }); + + it('renders a message when there are no categories', () => { + const root = render({ + addonType: 'extension', + categories: [], + error: false, + loading: false, + }); + + assert.equal(root.textContent, 'No categories found.'); + }); + + it('renders an error', () => { + const root = render({ + addonType: 'extension', + categories: [], + error: true, + loading: false, + }); + + assert.equal(root.textContent, 'Failed to load categories.'); + }); +}); + +describe('filterAndSortCategories', () => { + it('filters out categories by addonType and clientApp', () => { + assert.lengthOf( + filterAndSortCategories(categories, 'extension', 'firefox'), 1); + assert.lengthOf( + filterAndSortCategories(categories, 'extension', 'android'), 2); + assert.lengthOf( + filterAndSortCategories(categories, 'theme', 'android'), 1); + }); + + it('sorts categories by name and weight', () => { + const sortedCategories = filterAndSortCategories( + categories, 'extension', 'android'); + + assert.equal(sortedCategories[0].slug, 'games'); + assert.equal(sortedCategories[1].slug, 'travel'); + }); +}); diff --git a/tests/client/amo/components/TestCategoryInfo.js b/tests/client/amo/components/TestCategoryInfo.js new file mode 100644 index 00000000000..451a61fbe4b --- /dev/null +++ b/tests/client/amo/components/TestCategoryInfo.js @@ -0,0 +1,88 @@ +import React from 'react'; +import { findDOMNode } from 'react-dom'; +import { + renderIntoDocument, + findRenderedComponentWithType, +} from 'react-addons-test-utils'; +import { Provider } from 'react-redux'; + +import createStore from 'amo/store'; +import CategoryInfo from 'amo/components/CategoryInfo'; + + +describe('CategoryInfo', () => { + const categories = [ + { + application: 'firefox', + name: 'motorbikes', + slug: 'motorbikes', + type: 'extension', + }, + { + application: 'android', + name: 'Travel', + slug: 'travel', + type: 'extension', + }, + { + application: 'android', + name: 'Cats', + slug: 'cats', + type: 'theme', + }, + ]; + + function render({ ...props }) { + const initialState = { + api: { clientApp: 'android', lang: 'fr' }, + categories: { ...categories }, + }; + + return findDOMNode(findRenderedComponentWithType(renderIntoDocument( + + + + ), CategoryInfo)); + } + + it('renders CategoryInfo', () => { + const root = render({ + addonType: 'extension', + categories, + slug: 'travel', + }); + + assert.equal(root.querySelector('.CategoryInfo-header').textContent, + 'Travel'); + }); + + it('uses the slug in the class name', () => { + const root = render({ + addonType: 'extension', + categories, + slug: 'travel', + }); + + assert.include(root.className, 'travel'); + }); + + it("doesn't render if all props don't match", () => { + const root = render({ + addonType: 'extension', + categories, + slug: 'motorbikes', + }); + + assert.equal(root, null); + }); + + it("doesn't render if there are no categories", () => { + const root = render({ + addonType: 'extension', + categories: null, + slug: 'travel', + }); + + assert.equal(root, null); + }); +}); diff --git a/tests/client/amo/components/TestMastHead.js b/tests/client/amo/components/TestMastHead.js index 6c57178af60..47df468d238 100644 --- a/tests/client/amo/components/TestMastHead.js +++ b/tests/client/amo/components/TestMastHead.js @@ -33,6 +33,7 @@ describe('MastHead', () => { it('renders a heading when isHomepage is true', () => { const root = renderMastHead({ + application: 'firefox', isHomePage: true, children: FakeChild, SearchFormComponent: FakeChild, @@ -43,6 +44,7 @@ describe('MastHead', () => { it('renders a link when isHomepage is false', () => { const root = renderMastHead({ + application: 'firefox', isHomePage: false, children: FakeChild, SearchFormComponent: FakeChild, diff --git a/tests/client/amo/components/TestSearchPage.js b/tests/client/amo/components/TestSearchPage.js index f71b25111e9..b789d21f064 100644 --- a/tests/client/amo/components/TestSearchPage.js +++ b/tests/client/amo/components/TestSearchPage.js @@ -1,44 +1,52 @@ import React from 'react'; -import { SearchPageBase, mapStateToProps } from 'amo/components/SearchPage'; +import SearchPage from 'amo/components/SearchPage'; +import CategoryInfo from 'amo/components/CategoryInfo'; import SearchResult from 'amo/components/SearchResult'; import SearchResults from 'core/components/Search/SearchResults'; import Paginate from 'core/components/Paginate'; import { findAllByTag, findByTag, shallowRender } from 'tests/client/helpers'; + describe('', () => { let props; function render(extra = {}) { - return shallowRender(); + return shallowRender(); } beforeEach(() => { props = { - clientApp: 'firefox', + CategoryInfoComponent: CategoryInfo, + ResultComponent: SearchResult, + addonType: 'extension', + category: null, count: 80, - lang: 'en-GB', page: 3, handleSearch: sinon.spy(), loading: false, results: [{ name: 'Foo', slug: 'foo' }, { name: 'Bar', slug: 'bar' }], query: 'foo', - ResultComponent: SearchResult, }; }); it('renders the results', () => { const root = render(); const results = findByTag(root, SearchResults); + assert.strictEqual(results.props.CategoryInfoComponent, + props.CategoryInfoComponent); + assert.strictEqual(results.props.ResultComponent, props.ResultComponent); + assert.strictEqual(results.props.addonType, props.addonType); + assert.strictEqual(results.props.category, props.category); assert.strictEqual(results.props.count, props.count); + assert.strictEqual(results.props.loading, props.loading); assert.strictEqual(results.props.results, props.results); assert.strictEqual(results.props.query, props.query); - assert.strictEqual(results.props.loading, props.loading); - assert.strictEqual(results.props.ResultComponent, props.ResultComponent); assert.deepEqual( - Object.keys(results.props).sort(), - ['count', 'loading', 'results', 'ResultComponent', 'query'].sort() - ); + Object.keys(results.props).sort(), [ + 'CategoryInfoComponent', 'ResultComponent', 'addonType', 'category', + 'count', 'loading', 'results', 'query'].sort() + ); }); it('renders a Paginate', () => { @@ -51,16 +59,8 @@ describe('', () => { }); it('does not render a Paginate when there is no search term', () => { - const root = render({ query: null, count: 0 }); + const root = render({ query: undefined, count: 0 }); const paginators = findAllByTag(root, Paginate); assert.deepEqual(paginators, []); }); - - it('maps api state to props', () => { - const stateProps = mapStateToProps({ - api: { clientApp: 'android', lang: 'de' }, - }); - - assert.deepEqual(stateProps, { clientApp: 'android', lang: 'de' }); - }); }); diff --git a/tests/client/amo/containers/TestApp.js b/tests/client/amo/containers/TestApp.js index 20530d2b400..da5234b3df4 100644 --- a/tests/client/amo/containers/TestApp.js +++ b/tests/client/amo/containers/TestApp.js @@ -90,6 +90,8 @@ describe('App', () => { const { handleLogIn } = setupMapStateToProps(_window)({ auth: {}, api: { lang: 'en-GB' }, + }, { + params: { application: 'firefox' }, }); handleLogIn(location); assert.equal(_window.location, 'https://a.m.org/login'); diff --git a/tests/client/amo/containers/TestCategoriesPage.js b/tests/client/amo/containers/TestCategoriesPage.js new file mode 100644 index 00000000000..dc5d89ca796 --- /dev/null +++ b/tests/client/amo/containers/TestCategoriesPage.js @@ -0,0 +1,46 @@ +import React from 'react'; +import { findDOMNode } from 'react-dom'; +import { + findRenderedComponentWithType, + renderIntoDocument, +} from 'react-addons-test-utils'; +import { Provider } from 'react-redux'; + +import createStore from 'amo/store'; +import CategoriesPage from 'amo/containers/CategoriesPage'; + + +describe('', () => { + class FakeCategoryComponents extends React.Component { + render() { + const { addonType } = this.props; + return
    {addonType}
    ; + } + }; + const categoriesProps = { + categories: [{ name: 'Alerts', slug: 'alerts' }], + loading: false, + params: { + addonType: 'extension', + }, + }; + + function render(props) { + const initialState = { api: { clientApp: 'android', lang: 'en-GB' } }; + + return findDOMNode(findRenderedComponentWithType(renderIntoDocument( + + + + ), CategoriesPage)); + } + + it('renders a categories page', () => { + const root = render(categoriesProps); + + assert.equal(root.className, 'Categories-Page'); + assert.equal(root.querySelector('.FakeCategory').textContent, + 'extension'); + }); +}); diff --git a/tests/client/amo/containers/TestHome.js b/tests/client/amo/containers/TestHome.js index 21c65603b29..2cc8ecd01b0 100644 --- a/tests/client/amo/containers/TestHome.js +++ b/tests/client/amo/containers/TestHome.js @@ -7,11 +7,19 @@ import { import { Provider } from 'react-redux'; import createStore from 'amo/store'; -import { getFakeI18nInst } from 'tests/client/helpers'; import Home from 'amo/containers/Home'; +import { getFakeI18nInst } from 'tests/client/helpers'; describe('Home', () => { + // function render(props) { + // return findRenderedComponentWithType(renderIntoDocument( + // + // + // + // ), Home).getWrappedInstance(); + // } + it('renders a heading', () => { const initialState = { api: { clientApp: 'android', lang: 'en-GB' } }; diff --git a/tests/client/amo/containers/TestSearch.js b/tests/client/amo/containers/TestSearch.js index c1bbb3956aa..adec569276a 100644 --- a/tests/client/amo/containers/TestSearch.js +++ b/tests/client/amo/containers/TestSearch.js @@ -16,13 +16,13 @@ describe('Search.mapStateToProps()', () => { }; it('passes the search state if the URL and state query matches', () => { - const props = mapStateToProps(state, { location: { query: { q: 'ad-block' } } }); - assert.deepEqual(props, { lang: 'fr-CA', ...state.search }); + const props = mapStateToProps(state, { location: { query: { q: 'ad-block' } }, params: { application: 'firefox' } }); + assert.deepEqual(props, { ...state.search }); }); it('does not pass search state if the URL and state query do not match', () => { const props = mapStateToProps(state, { location: { query: { q: 'more-ads' } } }); - assert.deepEqual(props, { lang: 'fr-CA' }); + assert.deepEqual(props, {}); }); }); @@ -123,17 +123,31 @@ describe('CurrentSearchPage.loadSearchResultsIfNeeded()', () => { mockApi .expects('search') .once() - .withArgs({ page, query, api: state.api, auth: false }) + .withArgs({ + addonType: undefined, + api: state.api, + auth: false, + category: undefined, + page, + query, + }) .returns(Promise.resolve({ entities, result })); return loadSearchResultsIfNeeded({ store, location }).then(() => { mockApi.verify(); assert( dispatch.firstCall.calledWith( - searchActions.searchStart(query, page)), + searchActions.searchStart({ query, page })), 'searchStart not called'); assert( dispatch.secondCall.calledWith( - searchActions.searchLoad({ query, entities, result })), + searchActions.searchLoad({ + addonType: undefined, + app: undefined, + category: undefined, + entities, + query, + result, + })), 'searchLoad not called'); }); }); @@ -152,17 +166,30 @@ describe('CurrentSearchPage.loadSearchResultsIfNeeded()', () => { mockApi .expects('search') .once() - .withArgs({ page, query, api: state.api, auth: false }) + .withArgs({ + addonType: undefined, + api: state.api, + auth: false, + category: undefined, + page, + query, + }) .returns(Promise.reject()); return loadSearchResultsIfNeeded({ store, location }).then(() => { mockApi.verify(); assert( dispatch.firstCall.calledWith( - searchActions.searchStart(query, page)), + searchActions.searchStart({ query, page })), 'searchStart not called'); assert( dispatch.secondCall.calledWith( - searchActions.searchFail({ page, query })), + searchActions.searchFail({ + addonType: undefined, + app: undefined, + category: undefined, + page, + query, + })), 'searchFail not called'); }); }); diff --git a/tests/client/amo/test_store.js b/tests/client/amo/test_store.js index c97620d3ac3..9e919892d56 100644 --- a/tests/client/amo/test_store.js +++ b/tests/client/amo/test_store.js @@ -5,7 +5,9 @@ describe('amo createStore', () => { const store = createStore(); assert.deepEqual( Object.keys(store.getState()).sort(), - ['addons', 'api', 'auth', 'reduxAsyncConnect', 'reviews', 'search']); + ['addons', 'api', 'auth', 'categories', 'reduxAsyncConnect', 'reviews', + 'search'] + ); }); it('creates an empty store', () => { diff --git a/tests/client/core/actions/test_categories.js b/tests/client/core/actions/test_categories.js new file mode 100644 index 00000000000..8df28f8e959 --- /dev/null +++ b/tests/client/core/actions/test_categories.js @@ -0,0 +1,48 @@ +import * as actions from 'core/actions/categories'; + +describe('CATEGORIES_GET', () => { + const params = { + loading: true, + }; + const action = actions.categoriesGet(params); + + it('sets the type', () => { + assert.equal(action.type, 'CATEGORIES_GET'); + }); + + it('sets the query', () => { + assert.deepEqual(action.payload, params); + }); +}); + +describe('CATEGORIES_LOAD', () => { + const params = { + result: { 0: 'foo', 1: 'bar' }, + loading: false, + }; + const action = actions.categoriesLoad(params); + + it('sets the type', () => { + assert.equal(action.type, 'CATEGORIES_LOAD'); + }); + + it('sets the payload', () => { + assert.deepEqual(action.payload.loading, false); + assert.deepEqual(action.payload.results, ['foo', 'bar']); + }); +}); + +describe('CATEGORIES_FAILED', () => { + const params = { + loading: false, + }; + const action = actions.categoriesFail(params); + + it('sets the type', () => { + assert.equal(action.type, 'CATEGORIES_FAILED'); + }); + + it('sets the payload', () => { + assert.deepEqual(action.payload, params); + }); +}); diff --git a/tests/client/core/actions/test_search.js b/tests/client/core/actions/test_search.js index b7ec65aaa23..3069036f319 100644 --- a/tests/client/core/actions/test_search.js +++ b/tests/client/core/actions/test_search.js @@ -1,39 +1,59 @@ import * as actions from 'core/actions/search'; describe('SEARCH_STARTED', () => { - const action = actions.searchStart('foo', 5); + const params = { + page: 7, + addonType: 'theme', + app: 'android', + category: undefined, + query: 'foo', + }; + const action = actions.searchStart(params); it('sets the type', () => { assert.equal(action.type, 'SEARCH_STARTED'); }); it('sets the query', () => { - assert.deepEqual(action.payload, { query: 'foo', page: 5 }); + assert.deepEqual(action.payload, params); }); }); describe('SEARCH_LOADED', () => { - const entities = sinon.stub(); - const result = sinon.stub(); - const action = actions.searchLoad({ query: 'foo', entities, result }); + const params = { + entities: sinon.stub(), + result: sinon.stub(), + addonType: 'extension', + app: 'firefox', + category: 'alerts-notifications', + query: 'foo', + }; + const action = actions.searchLoad(params); it('sets the type', () => { assert.equal(action.type, 'SEARCH_LOADED'); }); it('sets the payload', () => { - assert.deepEqual(action.payload, { query: 'foo', entities, result }); + assert.deepEqual(action.payload, params); }); }); describe('SEARCH_FAILED', () => { - const action = actions.searchFail({ query: 'foo', page: 25 }); + const params = { + page: 25, + addonType: 'extension', + app: 'firefox', + category: 'alerts-notifications', + query: 'foo', + }; + const action = actions.searchFail(params); it('sets the type', () => { assert.equal(action.type, 'SEARCH_FAILED'); }); it('sets the payload', () => { - assert.deepEqual(action.payload, { page: 25, query: 'foo' }); + assert.deepEqual(action.payload, params); }); }); diff --git a/tests/client/core/api/test_api.js b/tests/client/core/api/test_api.js index fee2101658a..e8d9219e1fa 100644 --- a/tests/client/core/api/test_api.js +++ b/tests/client/core/api/test_api.js @@ -53,11 +53,12 @@ describe('api', () => { it('sets the lang, limit, page and query', () => { // FIXME: This shouldn't fail if the args are in a different order. mockWindow.expects('fetch') - .withArgs(`${apiHost}/api/v3/addons/search/?q=foo&page=3&lang=en-US`) + .withArgs( + `${apiHost}/api/v3/addons/search/?q=foo&page=3&app=android&category=&type=&lang=en-US`) .once() .returns(mockResponse()); return api.search({ - api: { lang: 'en-US' }, + api: { clientApp: 'android', lang: 'en-US' }, auth: true, query: 'foo', page: 3, @@ -81,14 +82,15 @@ describe('api', () => { }); it('surfaces status and apiURL on Error instance', () => { - const url = `${apiHost}/api/v3/addons/search/?q=foo&page=3&lang=en-US`; + const url = + `${apiHost}/api/v3/addons/search/?q=foo&page=3&app=firefox&category=&type=&lang=en-US`; mockWindow.expects('fetch') .withArgs(url) .once() .returns(mockResponse({ ok: false, status: 401 })); return api.search({ - api: { lang: 'en-US' }, + api: { clientApp: 'firefox', lang: 'en-US' }, auth: true, query: 'foo', page: 3, @@ -100,6 +102,36 @@ describe('api', () => { }); }); + describe('categories api', () => { + function mockResponse() { + return Promise.resolve({ + ok: true, + json() { + return Promise.resolve({ + results: [ + { slug: 'foo' }, + { slug: 'food' }, + { slug: 'football' }, + ], + }); + }, + }); + } + + it('sets the addonType, clientApp, and lang', () => { + // FIXME: This shouldn't fail if the args are in a different order. + mockWindow.expects('fetch') + .withArgs( + `${apiHost}/api/v3/addons/categories/?lang=en-US`) + .once() + .returns(mockResponse()); + return api.categories({ + api: { clientApp: 'android', lang: 'en-US' }, + }) + .then(() => mockWindow.verify()); + }); + }); + describe('search api', () => { function mockResponse() { return Promise.resolve({ @@ -119,16 +151,24 @@ describe('api', () => { it('sets the lang, limit, page and query', () => { // FIXME: This shouldn't fail if the args are in a different order. mockWindow.expects('fetch') - .withArgs(`${apiHost}/api/v3/addons/search/?q=foo&page=3&lang=en-US`) + .withArgs( + `${apiHost}/api/v3/addons/search/?q=foo&page=3&app=firefox&category=&type=&lang=en-US`) .once() .returns(mockResponse()); - return api.search({ api: { lang: 'en-US' }, query: 'foo', page: 3 }) + return api.search({ + api: { clientApp: 'firefox', lang: 'en-US' }, + query: 'foo', + page: 3, + }) .then(() => mockWindow.verify()); }); it('normalizes the response', () => { mockWindow.expects('fetch').once().returns(mockResponse()); - return api.search({ query: 'foo' }) + return api.search({ + api: { clientApp: 'android', lang: 'en-US' }, + query: 'foo', + }) .then((results) => { assert.deepEqual(results.result.results, ['foo', 'food', 'football']); assert.deepEqual(results.entities, { @@ -162,7 +202,10 @@ describe('api', () => { { headers: {}, method: 'GET' }) .once() .returns(mockResponse()); - return api.fetchAddon({ api: { lang: 'en-US' }, slug: 'foo' }) + return api.fetchAddon({ + api: { clientApp: 'android', lang: 'en-US' }, + slug: 'foo', + }) .then(() => mockWindow.verify()); }); @@ -184,7 +227,10 @@ describe('api', () => { { headers: {}, method: 'GET' }) .once() .returns(Promise.resolve({ ok: false })); - return api.fetchAddon({ api: { lang: 'en-US' }, slug: 'foo' }) + return api.fetchAddon({ + api: { clientApp: 'android', lang: 'en-US' }, + slug: 'foo', + }) .then(unexpectedSuccess, (error) => assert.equal(error.message, 'Error calling API')); }); @@ -198,7 +244,10 @@ describe('api', () => { { headers: { authorization: `Bearer ${token}` }, method: 'GET' }) .once() .returns(mockResponse()); - return api.fetchAddon({ api: { lang: 'en-US', token }, slug: 'bar' }) + return api.fetchAddon({ + api: { clientApp: 'android', lang: 'en-US', token }, + slug: 'bar', + }) .then((results) => { const foo = { slug: 'foo', name: 'Foo!' }; assert.deepEqual(results.result, 'foo'); @@ -230,7 +279,11 @@ describe('api', () => { }) .once() .returns(mockResponse()); - return api.login({ api: { lang: 'en-US' }, code: 'my-code', state: 'my-state' }) + return api.login({ + api: { clientApp: 'android', lang: 'en-US' }, + code: 'my-code', + state: 'my-state', + }) .then((apiResponse) => { assert.strictEqual(apiResponse, response); mockWindow.verify(); @@ -244,7 +297,11 @@ describe('api', () => { .withArgs(`${apiHost}/api/v3/accounts/login/?config=my-config&lang=fr`) .once() .returns(mockResponse()); - return api.login({ api: { lang: 'fr' }, code: 'my-code', state: 'my-state' }) + return api.login({ + api: { clientApp: 'android', lang: 'fr' }, + code: 'my-code', + state: 'my-state', + }) .then(() => mockWindow.verify()); }); }); @@ -264,7 +321,9 @@ describe('api', () => { ok: true, json() { return user; }, })); - return api.fetchProfile({ api: { lang: 'en-US', token } }) + return api.fetchProfile({ + api: { clientApp: 'android', lang: 'en-US', token }, + }) .then((apiResponse) => { assert.deepEqual(apiResponse, { entities: { users: { foo: user } }, result: 'foo' }); mockWindow.verify(); diff --git a/tests/client/core/components/TestSearchResults.js b/tests/client/core/components/TestSearchResults.js index 2ebd8e10270..c24d3095eb0 100644 --- a/tests/client/core/components/TestSearchResults.js +++ b/tests/client/core/components/TestSearchResults.js @@ -1,37 +1,73 @@ import React from 'react'; +import ReactDOM from 'react-dom'; import { renderIntoDocument as render, findRenderedComponentWithType, + findRenderedDOMComponentWithClass, isDOMComponent, } from 'react-addons-test-utils'; +import { Provider } from 'react-redux'; import SearchResults from 'core/components/Search/SearchResults'; +import createStore from 'amo/store'; import { getFakeI18nInst } from 'tests/client/helpers'; describe('', () => { + class FakeCategoryInfo extends React.Component { + render() { + return
    Category!
    ; + } + } + function renderResults(props) { + const initialState = { api: { clientApp: 'android', lang: 'en-GB' } }; + return findRenderedComponentWithType(render( - + + + ), SearchResults).getWrappedInstance(); } - it('renders empty search results container', () => { + it('renders prompt for query with no search terms', () => { const root = renderResults(); const searchResults = root.container; + const searchResultsMessage = root.message; assert.ok(isDOMComponent(searchResults)); - assert.equal(searchResults.childNodes.length, 0); + assert.equal(searchResults.childNodes.length, 1); + assert.include(searchResultsMessage.firstChild.nodeValue, + 'Please enter search terms'); }); - it('renders error when query is an empty string', () => { + it('renders prompt for query when query is an empty string', () => { const root = renderResults({ query: '' }); const searchResultsMessage = root.message; assert.include(searchResultsMessage.firstChild.nodeValue, - 'supply a valid search'); + 'Please enter search terms'); + }); + + it('renders no results when no results and valid category', () => { + const root = renderResults({ + category: 'alerts-updates', + count: 0, + loading: false, + query: '', + results: [], + }); + const searchResultsMessage = root.message; + // Using textContent here since we want to see the text inside the p. + // Since it has dynamic content is wrapped in a span implicitly. + assert.include(searchResultsMessage.textContent, 'No results were found'); }); - it('renders error when no results and valid query', () => { - const root = renderResults({ query: 'test' }); + it('renders no results when no results and valid query', () => { + const root = renderResults({ + count: 0, + loading: false, + query: 'no results', + results: [], + }); const searchResultsMessage = root.message; // Using textContent here since we want to see the text inside the p. // Since it has dynamic content is wrapped in a span implicitly. @@ -77,4 +113,34 @@ describe('', () => { assert.include(searchResultsMessage.textContent, 'Your search for "test" returned 1 result'); }); + + it('renders category info when a category is supplied', () => { + const root = renderResults({ + CategoryInfoComponent: FakeCategoryInfo, + category: 'alerts-updates', + clientApp: 'firefox', + count: 1, + results: [ + { name: 'result 1', slug: '1' }, + ], + }); + const categoryInfoHeader = ReactDOM.findDOMNode( + findRenderedDOMComponentWithClass(root, 'CategoryInfo-header')); + assert.include(categoryInfoHeader.textContent, 'Category!'); + }); + + it('uses the CategoryInfo component', () => { + const root = renderResults({ + CategoryInfoComponent: null, + category: 'alerts-updates', + count: 1, + results: [ + { name: 'result 1', slug: '1' }, + ], + }); + assert.throws(() => { + ReactDOM.findDOMNode( + findRenderedDOMComponentWithClass(root, 'CategoryInfo-header')); + }, 'Did not find exactly one match'); + }); }); diff --git a/tests/client/core/reducers/test_categories.js b/tests/client/core/reducers/test_categories.js new file mode 100644 index 00000000000..48943771506 --- /dev/null +++ b/tests/client/core/reducers/test_categories.js @@ -0,0 +1,63 @@ +import categories from 'core/reducers/categories'; + +describe('categories reducer', () => { + const initialState = { categories: [], error: false, loading: true }; + + it('defaults to an empty set of categories', () => { + const state = categories(undefined, { type: 'unrelated' }); + assert.deepEqual(state.categories, []); + }); + + it('defaults to not loading', () => { + const { loading } = categories(undefined, { type: 'unrelated' }); + assert.equal(loading, false); + }); + + it('defaults to not error', () => { + const { error } = categories(undefined, { type: 'unrelated' }); + assert.equal(error, false); + }); + + describe('CATEGORIES_GET', () => { + it('sets loading', () => { + const state = categories(initialState, + { type: 'CATEGORIES_GET', payload: { loading: true } }); + assert.deepEqual(state.categories, []); + assert.equal(state.error, false); + assert.equal(state.loading, true); + }); + }); + + describe('CATEGORIES_LOAD', () => { + const results = ['foo', 'bar']; + const state = categories(initialState, { + type: 'CATEGORIES_LOAD', + payload: { results }, + }); + + it('sets the categories', () => { + assert.deepEqual(state.categories, ['foo', 'bar']); + }); + + it('sets loading', () => { + const { loading } = state; + assert.strictEqual(loading, false); + }); + + it('sets no error', () => { + const { error } = state; + assert.deepEqual(error, false); + }); + }); + + describe('CATEGORIES_FAILED', () => { + it('sets error to be true', () => { + const error = true; + const loading = false; + + const state = categories(initialState, { + type: 'CATEGORIES_FAILED', payload: { error, loading } }); + assert.deepEqual(state, { categories: [], error, loading }); + }); + }); +}); diff --git a/tests/client/core/reducers/test_search.js b/tests/client/core/reducers/test_search.js index 4800e746922..1f0113fff08 100644 --- a/tests/client/core/reducers/test_search.js +++ b/tests/client/core/reducers/test_search.js @@ -1,9 +1,9 @@ import search from 'core/reducers/search'; describe('search reducer', () => { - it('defaults to a null query', () => { + it('defaults to an undefined query', () => { const { query } = search(undefined, { type: 'unrelated' }); - assert.strictEqual(query, null); + assert.strictEqual(query, undefined); }); it('defaults to not loading', () => { @@ -94,9 +94,24 @@ describe('search reducer', () => { it('resets the initialState with page and query', () => { const page = 5; const query = 'add-ons'; - const initialState = { foo: 'bar', query: 'hi', page: 100, results: [1, 2, 3] }; - const state = search(initialState, { type: 'SEARCH_FAILED', payload: { page, query } }); - assert.deepEqual(state, { count: 0, loading: false, page, query, results: [] }); + const initialState = { + foo: 'bar', + query: 'hi', + page: 100, + results: [1, 2, 3], + }; + const state = search(initialState, { + type: 'SEARCH_FAILED', + payload: { page, query }, + }); + assert.deepEqual(state, { + category: undefined, + count: 0, + loading: false, + page, + query, + results: [], + }); }); }); }); diff --git a/tests/client/core/test_utils.js b/tests/client/core/test_utils.js index a6b9e6a71f6..324e888d12c 100644 --- a/tests/client/core/test_utils.js +++ b/tests/client/core/test_utils.js @@ -4,6 +4,7 @@ import config from 'config'; import { sprintf } from 'jed'; import * as actions from 'core/actions'; +import * as categoriesActions from 'core/actions/categories'; import * as api from 'core/api'; import { addQueryParams, @@ -16,6 +17,7 @@ import { isAllowedOrigin, isValidClientApp, loadAddonIfNeeded, + loadCategoriesIfNeeded, nl2br, } from 'core/utils'; import { unexpectedSuccess } from 'tests/client/helpers'; @@ -317,6 +319,80 @@ describe('loadAddonIfNeeded', () => { }); }); +describe('loadCategoriesIfNeeded', () => { + const apiState = { clientApp: 'android', lang: 'en-US' }; + let dispatch; + let loadedCategories; + + beforeEach(() => { + dispatch = sinon.spy(); + loadedCategories = ['foo', 'bar']; + }); + + function makeProps(categories = loadedCategories) { + return { + store: { + getState: () => { + return { + api: apiState, + categories: { categories, loading: false }, + }; + }, + dispatch, + }, + }; + } + + it('returns the categories if loaded', () => { + assert.strictEqual(loadCategoriesIfNeeded(makeProps()), true); + }); + + it('loads the categories if they are not loaded', () => { + const props = makeProps([]); + const results = ['foo', 'bar']; + const mockApi = sinon.mock(api); + mockApi + .expects('categories') + .once() + .withArgs({ api: apiState }) + .returns(Promise.resolve({ results })); + const action = sinon.stub(); + const mockActions = sinon.mock(categoriesActions); + mockActions + .expects('categoriesLoad') + .once() + .withArgs({ results }) + .returns(action); + return loadCategoriesIfNeeded(props).then(() => { + assert(dispatch.calledWith(action), 'dispatch not called'); + mockApi.verify(); + mockActions.verify(); + }); + }); + + it('sends an error when it fails', () => { + const props = makeProps([]); + const mockApi = sinon.mock(api); + mockApi + .expects('categories') + .once() + .withArgs({ api: apiState }) + .returns(Promise.reject()); + const action = sinon.stub(); + const mockActions = sinon.mock(categoriesActions); + mockActions + .expects('categoriesFail') + .once() + .withArgs() + .returns(action); + return loadCategoriesIfNeeded(props).then(() => { + assert(dispatch.calledWith(action), 'dispatch not called'); + mockApi.verify(); + mockActions.verify(); + }); + }); +}); + describe('nl2br', () => { it('converts \n to
    ', () => { assert.equal(nl2br('\n'), '
    ');