From 62cfd5865efed9a2cb0c67b3175717d57f7ca60c Mon Sep 17 00:00:00 2001 From: Noah Yoshida Date: Tue, 2 Oct 2018 22:10:51 -0400 Subject: [PATCH] WIP project restructure and setup.py added --- .gitignore | 1 + dist/yldme-0.0.1-py3.7.egg | Bin 0 -> 53918 bytes requirements.txt | 1 + setup.py | 44 ++++++++++++++++++ yldme.py => yldme/__main__.py | 22 +++++++-- {assets => yldme/assets}/css/blugold.css | 0 .../assets}/css/pygments/GENERATE.SH | 0 .../assets}/css/pygments/autumn.css | 0 .../assets}/css/pygments/borland.css | 0 {assets => yldme/assets}/css/pygments/bw.css | 0 .../assets}/css/pygments/colorful.css | 0 .../assets}/css/pygments/default.css | 0 .../assets}/css/pygments/emacs.css | 0 .../assets}/css/pygments/friendly.css | 0 .../assets}/css/pygments/fruity.css | 0 .../assets}/css/pygments/igor.css | 0 .../assets}/css/pygments/manni.css | 0 .../assets}/css/pygments/monokai.css | 0 .../assets}/css/pygments/murphy.css | 0 .../assets}/css/pygments/native.css | 0 .../assets}/css/pygments/paraisodark.css | 0 .../assets}/css/pygments/paraisolight.css | 0 .../assets}/css/pygments/pastie.css | 0 .../assets}/css/pygments/perldoc.css | 0 {assets => yldme/assets}/css/pygments/rrt.css | 0 .../assets}/css/pygments/tango.css | 0 .../assets}/css/pygments/trac.css | 0 {assets => yldme/assets}/css/pygments/vim.css | 0 {assets => yldme/assets}/css/pygments/vs.css | 0 .../assets}/css/pygments/xcode.css | 0 .../assets}/js/index_interactive.js | 0 {templates => yldme/templates}/index.tmpl | 0 {templates => yldme/templates}/paste.tmpl | 0 33 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 dist/yldme-0.0.1-py3.7.egg create mode 100644 setup.py rename yldme.py => yldme/__main__.py (94%) rename {assets => yldme/assets}/css/blugold.css (100%) rename {assets => yldme/assets}/css/pygments/GENERATE.SH (100%) rename {assets => yldme/assets}/css/pygments/autumn.css (100%) rename {assets => yldme/assets}/css/pygments/borland.css (100%) rename {assets => yldme/assets}/css/pygments/bw.css (100%) rename {assets => yldme/assets}/css/pygments/colorful.css (100%) rename {assets => yldme/assets}/css/pygments/default.css (100%) rename {assets => yldme/assets}/css/pygments/emacs.css (100%) rename {assets => yldme/assets}/css/pygments/friendly.css (100%) rename {assets => yldme/assets}/css/pygments/fruity.css (100%) rename {assets => yldme/assets}/css/pygments/igor.css (100%) rename {assets => yldme/assets}/css/pygments/manni.css (100%) rename {assets => yldme/assets}/css/pygments/monokai.css (100%) rename {assets => yldme/assets}/css/pygments/murphy.css (100%) rename {assets => yldme/assets}/css/pygments/native.css (100%) rename {assets => yldme/assets}/css/pygments/paraisodark.css (100%) rename {assets => yldme/assets}/css/pygments/paraisolight.css (100%) rename {assets => yldme/assets}/css/pygments/pastie.css (100%) rename {assets => yldme/assets}/css/pygments/perldoc.css (100%) rename {assets => yldme/assets}/css/pygments/rrt.css (100%) rename {assets => yldme/assets}/css/pygments/tango.css (100%) rename {assets => yldme/assets}/css/pygments/trac.css (100%) rename {assets => yldme/assets}/css/pygments/vim.css (100%) rename {assets => yldme/assets}/css/pygments/vs.css (100%) rename {assets => yldme/assets}/css/pygments/xcode.css (100%) rename {assets => yldme/assets}/js/index_interactive.js (100%) rename {templates => yldme/templates}/index.tmpl (100%) rename {templates => yldme/templates}/paste.tmpl (100%) diff --git a/.gitignore b/.gitignore index c8daccf..b105b2a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ uploads *.pyc +env/ diff --git a/dist/yldme-0.0.1-py3.7.egg b/dist/yldme-0.0.1-py3.7.egg new file mode 100644 index 0000000000000000000000000000000000000000..386ce2c02080ff43a99346a9059bcd37b731b59a GIT binary patch literal 53918 zcmZU(V~}V;vnATLZQHhO+qP}nwr$(CPTRKKr#@BPS#jEY=4*RHG`yH-{y zNCShQ0000$0Ibyt$toUDJ-Gq`0Av6G03iMw6%`k!m6Q{cr&o~vKTfLBq}(tALhl*% zsRT7?ApwU5RS^wRMYV(`$;hB>*fNpcy-;?)c}|*8{9l%7Z+Uw&9RmfV5 z9Fty?AyOubOC_TwdmQueWvZZ*Z8jLQZBHEtP@Pl+8(6#2TJcb}&Lt$}Vd_Nq*iieYm5>Cg0d@T$=Pp3E8Y|rNv+U z)C8z3tBW?@%~{{>Hl@JglMhTjcqHqrZ*x4*C5Csa=nY$wDtH*c=zH;CVk$?I#vQi- z-Pm15WTQVLnm?eYGnTOYHo;RW1*N5`f{F;enT*Uu{2~V>DjGNg=41*Y2%!hQcS+AMMT#OVi-%qm zW?Dg$CNkwlJiQ%`h)v)9Z(hwCxv_9aR5J}M?BQx$~N`o!CZQ; zx*OrQtM;=6C$yxRCM3}=^ZU5GX`5h@N?>tuC6_3ozBtvUISnl#^DCq^KO{^ZK83#r z=>L;>0gu@IRve))fHmeR@VTVrpmXsc&OxXYKqS=0`vP{}XLl2)Ri84@Lja zF#kK+)Xv4pQ{Tbf($3|7BctW!=BelAC1dI3=%#2WDC175W+W$NRU1?Rmb@MwIwLbZ zA0E^QqN1VyTLyxDLD~P#5B0xiu(Nle^|ExJbv86J{r~a0A$c0%{uj;j&;AF>$<)!+ z(#iCHbAqmrnU|fVrfh3vU1VNl-lv+RpOTiDY;R>&RK|mnZW)T+CTfRqPy5T=-ZgOncDnk@~Z#y!YBV7OVcYT z3xr!Ii~DY3=YMMRPqbCOn#H4iv66pXn9=x~qJvxA-{pjn7Syfw72p>89vv{6A1R7ki$rfUoaHF?R{GI(poh3X{LTk}B{7^*{ zb!}pfmT;O+S#r(+fBhPZ2+dc_xeN3ymF)AxC#Oz&Dx)7h16H$@Z^3KRjGnW_EtG zi}%fBuXW{iHjrq_pncl*n-lB1A>HfO3>|;-wU2IJY>ur5Ok0}QuI_%VwROa72j4($ zv-N&=w$S&X`eZx0{My%om+!zl_22aRZ|$R@AEEll9ZK=q##6mK;Lx9+Z$m$P+acY5 zXLq9=0`DNVdw26%nrR(D_mDdZe%Xz7+D1@)D)wSKKJQ-jLZE%*_fKE%i(I#2vaj5K zLqB%>$L88bW^ZhWZ-2J_^8|ZfI$f9D9>l{kq*rXmiy<^0wntak$C6xIN_#tV?B|57 zjn$5+xjdcr8%Jku>w(yEW|f<6qwp^_oqgezpp#P_s5dkxh|V+pczM**f&rComuiB* zxu0F`Zt&md=GW=y2NL6*@OUdcJX}FM!sZCBrTgc{rTg+fAl{~jX5BWYpK=1CW+Hl~ zvw8jZgzZT-=EHkAlYdQILLn9Chr5(6pjgCa;&l63{NukCX7G6MliE;Oam{bRmmO&q z0;VxeW*Sh&R*s)8Djtw*V@5cW^*hSX#lNT_$#IV?iB`QCt>>43J`TxCg0~NN-Uoh5%Nli24jW3`pPK~ zVfS}-yc~b~kGtvlebQprkLg|p7S*RPh;IpEjq%7Pc|P?bEDv+@?p{5?OscKTsL81;Ib$=BjkAwtq$il08(x(!{cl@%DtYgEq{qICYeg%?<{}{hTES{)Y zdPTB-&Y}kW{k0GqWVt&nY_LVY(DSfQ&>%JBsFql7g2=8xvFB8C6E z&t5|lfH%O^trpE4b2$vU5p$-$f9vR7@qLEZ~V;teNfHF z8v+-~}{simpON_XK4+he3-NWN+;%O#m(t`glxP|8NR`Dgu6N zT=-f!@|hFIdxOGPMrK4*zx>H`r>&L z58h4=PVnXCKkp^EPg5(kPiQFB=9D3-EV1=2!d{@Y40wNK#QJ5ShKA*fhxH>Ux#Z`b znseG_uxoK7c+d@oAgm46&dB@q;-RPvOR+0J5>s!$-m`LY^kc`6&n!4Fp_tiBfamUs zl=~NSw5!T#Pgl@@T2BJd-rw$@v6>*BjI&XGwMGfn(#1ROM+uq)4}{YQQMmuEqY1{!JCaDSmU2&FsF%*MuZce zH86o>sl`H($(mD^o7GiWx%@E${YsS0nqk~iMIM1 z2nrF`s@909RgJS#$=SE@H%iiCu$H#W7Bx#xq0Ulk>FRe$tQBLGY%!sRseUsSbR_3- z0|{+sc_d6=gQiVOl@M!Ab`{QlyrktEE?J1vrcu6+=-X|_D5Rk6PII#)h~gt@%u3Hm z{#|=b*an)Qn`MGl-Gqz{5ar+wRqI+Twy0>1`f&HzPL%8$QmGXHKCn-jj22m}@rlwx zxqG~M{5c-Q3UeiuG|Ba?dW>!R*a7|xb1*NsOcUyxQ)ADUwbi5kGZ0(2j}KYhqbYu{_oB0F4AT=m7<6h~X^HV|gxdduPqtYvaX<@j@(kE=aB0Rw|L56Wdl4ipQST4}ZS zCj#(-=SVyul(%*a92KHJR{}m7nXv^qMwU@XqiH?bxy9%w*eiJ-R9v&T^H>H%EU+=A z0B(Bigur*($s*i{yJwmZx-`JjxaLQ+DZuZ8kg6?byBlE!9{QHLdM(s51M8;?(Bg=tW0C_O_fLveovJw4Kb4TOfqHAlsI%t zP^R%a%nWaB1uFTb7nmTyo?^yh$PVF@@eT17rqQ?rrZu1gZ>SqyI-_%9eJOO6qHZv=H1?=T} z9zbSr?=1^_F#dPl2{s8bX0L>F-mHazyq>&1CYmE=X7lXhT&5H_6Gb_8?8YgjWRA$@JMHa5OKWl3bOTk?Vpf;Vz6{v5IL$RO||{0#qP(Gj>5 z(QWwtX(<5V*U|94rM;9+zT&s2(C3ng6D65>-_47GE?hB7!YU$pV)`5fifu6qh77@!_Fj-%Avp6O~r0 zM+WY(;OWpYAHhKgH)hrF#89f&M$r(R9uaBDTpTVZeP6$#VM_fF)Y#)zK_S;4c}S`H-C6-<*bnB&sCNP2{=zbhy^$I?Li zyxnYlPzIW-wyi*~JnJmSe}XL6y9)xdvy8JLpIuIV39QhK+^K*L0@x zfs6}Lo?!_}y`+~UP`_}D*H)z$a_>k=G1 z!F|A3F%!=W_Xu-L?cD=n&CxGT+7}CvLcaiu`ozmGfM`@zH-Hsc+9#919tJQZLm{wY z*iArJs%xnpWFx3VOaeqJCKTvTuI@vV@`aC4oSaxB4roE2+xzHRlK~rWsnLOeK_C*{ zZ4(IHki~K}TeJcdxi$98&WxjkqFpfMU$2^*=@Q^nyPVIq@fc{}jFO|6dWl z{;x08dQLPJ{!iu3(EtEY{*#~ouY`2)G&VH0FxA)pzjD&p!PCXU-j0@;{hzWl?$z3` z#}W6sv-a}J8dgRToos4PPos^cfrD2JN5w5GO&rZAGI452^KxgllzV~k=18xy7IEZx zCZh&l2hrThCJ=}lHOe?5v=>AG@tjb`dqg;fhu{)GAb>;w_Jnyf0FmgsyUGhzU-f~U zth}tN`{?Q`_IvrX`unqAKsh+y|NWWo{|4@y^h~d`H&5cT8yx>z-$cR~IcYixXT6bD zsb&*uwW3zJY7={zfm^KA?pk%^mSZ){Rw1_zStYww;x&L*z-0-q#EY^rtjKE=ufU77 zVyx&(R5f0xcAYF^iWSY6JDNF&G-CoxGYPhVfNe%>lM>sAY?G5~f_#mVZBo9Gd04_b zsMjpt*!)VeT&`Q}0>)RLn{?fL?fU7ePTl+G2Q4-2^F}wbx3PL%S@8Y@u zw-2^=uG7BrOmDJjr0lwVBl~*WJjr*LS36-t`}$_yl7JN1+Y?j9bSkywYk|3EdGnSn%Bc#*@ztiR%Y!?K^x{e`3G)O?Af zL_XzCZhn4F*Z&Qp$cJ547!I+Of!qCN>OtgB!gtY!tt$bX$a7k1L~;GG$%=E|UB{iF^g5vIWl|0+ku3%tCbDm2cRtzx>!s^|F3 z`g6ic@VI+^oV-+bRzo9TiEgt|-^$RbJN8)7rPtYmmn)dn-8v}HgE#H;R5;GR;2&(e zE{n+x(c=eK_aISX+^I7_gC@J95Vn@6KgLlVr@^$oGVLg7Z<@vQ)1&lwmHNnUMBbd! zc9!O+X-!dDid&9mFj3xA%#-t_73kiyQCpv{wzOVGfz^Mc8NUYw-_;bo4b^JNtvpr@ z(ROV=V$5t)dpKZ9=tM?<@W3uNX~Vjl_Es!wP~nXfBeor+Tw%|3Q3Exzb1YQHPI0X= zR8g?m9C;R#@p#~nbVR=z(UD7sk5ZrvPD+@_Ej#fl$}dnEqd;WYOoSOt30sJO&Um2B zu16ww?!^eBklSJwm(*U1JrsaFz>e=xcwYsc+H*Jy8V&nS_7q)3r{Gx3AkO_rV!p$& z_g}D6!HgzNoBZ7TycuQx@w_vpXd8c+l`%so7DX+7HmlsR z76h&(gj(xQvrky-`@sJT$e!tE+&gFOiN30vq%ygJRkVvRxUO5Su%Q~iW@EE1;>dYaYa|ostf`p=(IDUfY zDRN*r62Z=Eb^`j`M5SWqG1Tr55=y=7b&vuGF=KA}x-bhQ(y>$81P)E}$VdlI2uZK?2E-$%R4O1;D#TPONQ4?pA{7oo zWk*if8Q2287%eE_MDQM1O(+u(a1U>c1j0%xq!4e!1oDExEHJ4Y_$Slc`FbhSrB994 z1J}psY7RO=btx#nyE=2!W^9VCuRo_T?N*yQzDe!$Vo}R&mgq_Yy#o6uAo|?gk~I6B zpjk>+J&%T7J6=5dRm^z zdNq_gy=GUx%JX6J$osrcVMdEgTCB_U3`w%fb^PP6pcyN0UbkyGXKR|~-1e*%dhKU* zJf4{F&{@eo?UmfqZ1HEvrC~X#tOb< z^`i2{i7caw{KwDG+cK`J_*SHCd~3-ogI#RxdR-K6zCFO{Whvso_8vUr8)ge{==`{@ z4aNy{$4s&!%`qOm8GeY30RZ&2m_;+(;g55G(3=xN_^4{AFYm&AkXk=4z(gW-$o;@s zMfd08EPDucOpR|#4s^P1T$(P!Uz_*cVVTZIpUS%(}Nlx-D2k8X7XkIqsQBkpsH%G#hKqgoAZ{V}WOlkDVNUJ2(aAUwDO5keW#phM3{U|Z2B zj#-=3x%C{T43`($C*5b>Np~%u!s0uIQg3(xL&Ky=Yv_m{6{cb6KXm7==7kwErC~UI zKk8+^69lgMi9`u3EhI_K+WuCZK|U=gJfeT$&N(cktw!q2$I= z*sdaRXl&sWlc)>os7k`-+6QGzCOj8}K++1Xr6mq~Dcea<^6r6a4yH4%S%kW^{7uH( zc>3GGOPEwT_^Kdn4c{E73j+zvH0M0vmsFa#NO7Ov5AhEFf^95$jcAs;;8esi2d4dy zHW%hsb4w!9x1Uid?!_WdoJ zQOYJ;4Ae=v{Cw`7-LYju+TGT*SVv9}DfR8!XXC;5XZn0pf5@&&eUNdsG<(L|@XwOA zvQe?3W<8gl=jE$xy;6%$UOy}A)8rg(##U`-r5w8l3oN8vui8s5I^AHB|Wt2fSU|D?Jx)=dn)PFlOd{Hp|{p(NeuIUz8(miG52!J7JY6Hy$n< zXqT+={G`s{=>r-3Ijhnv^_%-e^7wRo+Ffnv7OkCHFf4amG0E=S5z_s8qu`OzsaD!_ z@X71TWEnf!?yi={!7SU41yf+Lf#h|x1>vJx#nG z=&5>@k)I9P4BkL{BDqeXSa*2j>t-H2gbK_1zzes2XS;GX9;2`fKVkcnlsqK`#AWe{ zk|DRt1AQ;}n2_^eH}^;nv|S_WN;HZpflVBk7=JwR_4z>rZ76;q4-C=}OeDlMdEvGS zA-f^-GzkB-SUz~m2te77OYEq)5EVu3^0*?{kJpRm+Yw$h;Ga`c%Oo3c!-8g}E81|X zdhM(B1T~%DujQ_NIU_G_#U}V?=A!eb2*D{2`iPhMnEn6_RAT|X7OESj37F&3@_a02 zG$DJx>(j!zSJ0dOxKWcm%To3jT~baUwfTn-Z#n`<@nTs6WDq0_psg#|rXi zke5V10b~G#-E(Rxu*qf|rO@19G%fRp`;u>#Yk}QV9PE%pA90&lTH}>6oqtw7pd`JP?86;+Ys3Dx)I%^~)%+#%|v*lWcNuO4tB$gX+goK7i%R4trFyPdBmVvFIaDrPajkjqTc_mhUIbZUgK zmfLdT7)Vg3T@K@2eS62A?i&rm_Bmw2g{3} zNG6QO+-Yu6&>IPZ{Xy(AM~!Z+lg)EY2wA20P3?_tZx4FV__`}O_d#XaG!$mtWm2)? za=@KsU0Qc@);V!UUXb6VNp8W3%ab5;8_L3i6sa9HcQL|;?W)b z6(RhAyN>?rjU#_hjC?$bN6vSTI}lFsV6HR)CM^Xy&;Sr7#7Dw%97IbAj)K#XLlZDP zs2g;P0zlt`9pE@}QemzH(?8@zk`s@CYJ9^OQt>LuIA{ccQ-AE8kuTk;yq_jH!+t(n zo=G_8;Us7Z`Jg3eSjM5P5M`Bq310)^7|s}{4=oVm+$fIh!k(2bw;s(9d?zoq*Frh* zaqsWuC(B9uE#g`Cr|)US|0o^SYHx}i!4?58Ae{PQ<6gwJKDv+1K8;uZ*gEy&#u``t zLdn^yKd~EJKbP7(!$0lWZRf}v& zwPx?;Ao_Z+3Eg&A((!49a4_|k(B)a~l<6cMpkiQQ?wSRt)2%Og4-lk;%p{T48|KrQ ztVRrONIYQYqSQm};%gu>oc{RdQY}(k#%OEz28lv>`vh8^fq-R*1!?{MjRlL$P9TU# z3&_b6&}GJF0R=G=UE4gqCEBkDDZCPa`qTU9tqtAQ9%PJkh67=lWM%D@7{0;aCa@?K zszD&D_ki9@Kf#`#h#+I(hjREvJ&p!m-foq=2RkQB5(#bNl-?!9mq|!?j;iMmlB=5a z+-Mb>86tM7RI9b}uebl2jCX;$dgP>q+{EK4F@zF={Ylz$3H0c0IWgn`YXq{nK5_U| z{7E)WS=!<8QNrFwaxZ|p38Hd+E?mE<5=lk2cTJPkJ50MaNk7{--VpHS!DI^$g}%-{rkkPZV)uP|Zfr5IyHmDIFsOh~zw&3IuU41{ z29x2pae2O2Xp@B^RQxL?|2U|zYuJ|^oIoQ`GCo`DZ4!L3BMp=z3~I~PUjCCT0gbu z2pqE97d~*@Z`0r}05s2SYd8^7IvipWjRCwn7IzxPISarNwDZKloPTUdvB{%Idm%mT z^$XOJu6M&$K&BZ(!gOzd-+i1;+%J$^RVXOt7dzw*F8`fpf^QPfS9o|4xsNwR(CW!J zJlfv82`B$K&QG|;7aLlCC}^S~jK!^C;J6NmJK^+LN>+a`s9AJiB*iF*AE&Io^wOJD zpq@7U0U+89rfk!$mBc#n1i24<;?Ej)bu15h-Lf#6iNQ9^yskYl3#)R&lf75H-Oxzhu@X_lRTE>O5 zbCR|!#TzddZf$PvW;~8~wS&$0(|~BZ7n{Q5nqntOSzhAhVRvKS?_(AOBEVFtZ0kL& z>bAxy2>=3!0HVJS-~Ut29;^?~=IYz)GgH6yy+3TjgH3-t?q3~$!s$<$5B_=e^7Sw<&-}5f$yyV9`1JlP0)046mOPfs7Bg|tG79PLyqQy2m zXfMCTI2%glm8epE_0yL4?APJ9t>b4={nyaBf}KBN3_^+j>uvAn%Ksbx_eb9}HR{h` zrCr>6;fFNmt{z>|(xeC5-(M6<2I~2B#kzhq zaQXS*>0d6Gx>IGF-xN_|8R^@LE9BO+Rnngb(QlBLc7AH8`cYMR zeVS+G@tqV;IxF?F9*O)u2s|ovODuLS}Nhw`TLwFbFCn`Fs`L7*~KvUZ>ozZ%t%7vn+NX{=~7p zylCNvKF;NXh5qfNNr4I#5Ve-0&#m=g`Le$Z2BLH;ue*2p_CY{ZRVOU2rP(nrP{5dc zGSI^F4`E}}tD7n|llA%Bus(m<&)%^kLX?T_&y+#A7F~ZDEdMTny>m+T*_-owuqvcc zuSBgdWZ+m!m&%%dDxeHS3IQ>OYG1B@dG}<Y zZ;}MwsJ`kK5m?R#h%g>9AJ!Om_v>D5GSQy?`F<)(z?J=SnT$8TcJ@=xgL`qf@BT=! zAMO9u%BNd2g#{n~P=VgsrP2kUHPgz=&PHfFzhAlV>4w`|KC6C!6_OmnoWOgzpz;d4 zgG~AtS&zL@}YB9+*5-PT~hi!Uez&Co_8fpS#`nrBI%K$ zTc`gyzhCrQabj8*?VPp`w+{dQs(~?Ax3^DMbmfw?uYuSH+M5ymor)I1OiHR1QWlVt zUp7{OHqh$ZN#Dv3-63Q=89MR;3MAX=VqLvO1Yz<<53&e3IC0^&n>xM052b)1mx3#v z?&ONa;WkAKiFZR(8LqLgiFc9_I``{_&j@K5*Hx9G|BikK%NniA{Ft_&=Hy8zGIWGO zoMP#GUbKm}jaRNk>z!Z};cS4MS3(W8Z$o}xyLbw|*ie4-XiGR+^x$0it&73uPoY1l zjM(Tn@@cSc*^Rs0@U(o5cca!Q9Ar6$L|)pAQ${cSMLpK<3uVf;a6`jt2VN} zSHh)#J;y(x&XBN06L(5XltfO%%d(9>0^t!HGhjpGF+bi^@g&%p7$>gkc}@5||4fz= z$FS0W&RzWoWBU&-2t%-cRoq!u=V^I$8!N+MG1GY7n9ON^CmaO8B+EFV>zXIc@J}uU1`Gb1Y^OJIafq@l9{Alp+rh308mKCYpZO@Qi&F@w7xB+4bQt)*ibK!qn9-CIWcFXLn-ThfHg)BLpMxIMGT&5|@zG^`(BSvG zv`!}cNPkWu?m(k%3HMUK^^B>s*a~u`AvsX1;9@CyrQW9TTu;-McI?KLFfXD+&pL0z zm)C;qr4>;?ba_QtG-96L5}go63n#(trqkJfZHU%wBab%hf42^vJoO{v+%Uhi{njDH z@15S&jG*=?bA+A$-flho1&?%oKPU~wy`jCXpwzbu@4-xedD(JzC;BP3uX0lN{dnCG z04sif>9&_fbc%QvVXT@T0*q*U-Etr16X9R&-a%Pl?td#gNIaK3@CpT~o2~6BrZif8 zkp;i+*9K6Aqe4hf0@dG*(e~i2NkSH5#hh^=7^EX6!Gg|_+nQL1M(vuH!^s`=kWc1} z;%ibj3}85vk}*G#%FsJR1l0F^582nt`g#(b@s)0WAVvjMNzb3%w>wpHlX)Lz@xLO> zfp3Qf?|BHE)>dve4F1e5W}Iy2OEq>qyvi|C#`p8Cum=V2&oPOZUJ8FC@Inl4%Bo33 znObV&x`*J#KM<7(>|{$po>_Wut8C-pv1*2^@(jt0CkVSaof@WB044f58B9m{Tfvi8 zpYK_c8t>Ab63CV3bFb^l@whKxzVxuFNhi7<8{8d^PPqcl=m=K2=meKi0Au&I6^t2!`n0|SZ;=Ch9K!9q0g^q`1-7!hu zGgc|UM6g^f2?H2INyjrukZ0NmpI1mIuJXbI7ZsBjeek*u(~1y10RplHydx7`~)Gf zVRexMDz23#t;NHk)UeBQh}eLg4$VOJangXMF^MEikJ}(2v1UbX;X>gan3XWby4aR7 z{lJ5@*dt~=G%GZ z4QF*aaI}BXtiu#RK*+qnTmyl|6!vij0oD}Gzc&@FV-vMcSY094%@q_ZYqXVea?w-| zj3f?b2!aSXnV(jEutbZWpvC1S~b|m z!Jkqdq@Oi?&!v%^AC;xcF?~<9-o}R~%{MT4ue8qS&zTAc(qm#h2G*Bv>LEHq6zZiF zwl3vY?vuIyCFy{)V~do4qGU8(RzO6;Kb?!g>L8Q_l5f)ot?}G5 z-yR5{+mOw_`hER}sI5Xj$ZIY$>7H6Qi0e&L4_7%gg!Ph{ z`^W9dFOCn5++#@rv`7f#cGm%K#Az4K{+P4_)h+{%aP$k37XWsT72RCNL&Su(P|Z+; z`>yR$7!5+bI&h$lE6x zXXPFc3SO&wfLWA!U@3pB!NEY^_d*^JpfpN7gp{$t;G=atyv*YRMg95EJJX#N6#Ds8 z|GvuX-Ws@akI-9l&#`1s@u|O0v<&IQa4LDue0Dj9uAQ=^=rbN5C4u?!g{i@mdI?*{ zMCWJ&<6D8eXAGlPj_Q7>&RyGu#dX=jboEuBV`r3lVO#gY`zZ9iCuhvoyWQouTw+>m zft8;q^c^=>+Q?j9T)C#_3%7*)k5j|ccA*X`gD-8AdiLDv^z`{BtMFIyNT560Y&C?k+1 zcYw8Wam}=&(?Kh3C`&EFfp66wtPP`y(FSV*^h42srjA>e-C8toyKSnOkVt5~Q&o35NQug zr_h*9usl+os+kDy&E#ujcjruvZ+)9IJaT$$jX2hOCHhg&2>95@9EmoC*oqQ_t`d}c z;3^$}2zxbyzgnpx&)_0R;P$0NK*NF$uswd?snyQOUKlr+$UgYAvg^qC<6ng!!C8A* z)!DMsWq)=|I2eAF*>^XudFMh~+kcg1n!tYZ^6BiugZ-)D@ufDd!u3uGG=62)?(`I~ z=gZ}zRoT?h?QVMignkrfN$63b`jZ%w9fW5G4okls++UM^GsFbe!`a`sXS;jb(K+8@fF8U9nT1m0u> zKpX$8FZE~SkIGpr;o{W!HrlCIYd*l425M+0B89*)XF&74BGul4hOK@6<0XR!eZ4ui z{^RQw8@d)M7IUP~F8tU^E6-RoEa+%z{tBcnPGppvvm zplgiu09)`7kJSWV^9dbGG(W$Q-Kk!Fs&&U{U*(J!3#L4Mu+q$RNY3$USWs>9fRe#_ zb#4~aOH#YX|`;E2|srwTi4b@9EbFaxTB+`*vm!1x4OGJ z`yRx^mg>$*>kS7tW-QZ0$T>x3KB|Z-c}k(Ai&G~wuSE#C(|1Ms-6T_4cV*AVuGuwF z6c_(Ot6&}5^s<&Mbjz`?EC+AajG>8VTh?bK;-FZ1ibOYEjPW>*=6I8qDdUMjGttp$EVB1%^X1F~M*8VB!fArX3oaT}D>}MW(GE7Hj{kc7EE; z{Iu6{$8et8hH>1Fj$wRvkTG0PL4$2o{@Y7@cbFJ%xG`L4f(rwIkC7o)1wGHFyhep-U_2W^A^S;bkg*3#W&?eFp5RhAl;FOz;G-q-;emX6> z7V<1??Uk}ktS6*ahUgXtISp_YxW$DuU>gMEO^&ggLIcxa8~0kc@5M~ahZr-(Mq9K6 zc9}!=_S)6255co!%2grJQ8erbEVS(V<7+Xp!+O-$zXnUw48x!$Z6NtJ>=_p=6h9ht zmf1F9d$^#QM@H(>fADg1>#H|X!!apLoDixpxP%MUrrMY+-6~k%xe$vA1dfHTfue72 zD|0x5mprPNRbo|rD9z2GG{4P=INlq9|6t1aV!X5hFTSlJr2K3LW@4K|%=z2_$iIkZ znyL=@ZbLIxY^zqiJbHtpPjg#pQL-Tg23L z2y^b*xKUgyv5s_BZqk%`+)v>axXB&(jUva`yrkH-3k0>_wDoi_Je@2p`G8U}3h0r( zQrDTZY0#NR*CBaMj(|?&t9b%iB_QB=zCbSJp-sOmRTbOLjc_w;O@3H10w2RBs0V*X zQBR&#JAsv`9G9aT@7>7Q^3I>h7r?J(FOw0xphlEEUQJy0Qo?xbY{b4Y8P7*y$Uzf`H)+r zw9#2m0-9S^36lZ$fl}|(PTiOpQiG-m56X?IG}~M~%T|1%)HLSUuVULuQ$c3(Spt)n z-K@8}ozXFI*34L+%M|3W^jmDYAP=kg3M9f$q(ltmZ5bLg9P=NxYyF-kHEMXll`N8M z%ULZ`=af~Tjs{|8(Hj^nQxjt;&r2;mXwk7OTNoNc2we9LIHRL~b=GUI3}vEcsm=xp zYrtBT(8n51d0J$$BZNeVsjTuD?b-%(7d;Y~wWePhQ56%xB*)JguZy|L4L6rd zqOS*j#Rz{(C+a^X77!vl4nvTvv>~7QdU7!L%F~~677Dsnskqfm|AEI|^J*oKsm=0yK4qSBZz!YMlgAp~w5h^1= zokL}VEVH>{zzhqsH${L5PO>mYfCzE4mD|!0*wkmQ3r#*Ersz@4wiuGj%GL!lH~wuC z76^F#;xulpRVSSTHJwj<^)w{M`m$7fTK363(%c8Mdon!+0aRU2Ed263521(c7Fk=LbZr#{1N)OQMojuRQLBl zPDUCiyMe~HaXw^6$hntTz}^6$d|ZSuk_3NE8ZzCQuohrjYS?CKBFdeOy|!&(OOl_X z@Cc>bkdhOIs8KgW+Hhft z{4>EMQ4)-G1J_>lx5^2d{Y9LI8N*Z#zgeOfO*&)#e91Hg7W{I2y7Bu#qlF(&ZxbK% zx+OT*tzikyZF6vrYh4qZ`^vx^_qr!I*S+Bh&TV&)j%!^My!+e$9rwB^Sl6v#8qRHF zu#Rh86}Kppp58T@m3kk7S29{0K{Sl7Mb3eIh3&D(??qHV_#w4G;y+zne+W7QhhLQ%F;ilLF$@ z4zJJ{OQmyqTokhg7hKr%FZrp^tbq#h%?~qQjs>d-|9(2Hv_YoRq`I?EK(u-1T4`_z zTUnqq+03z-!UdR1X_z2cUAB&(Q!S&3)JrI+oY>zQ&5zH;f=m!Yl#;=61Qg|zpj}}J zd0i+2$RPVJWd!O7Ny<4vI$Q}N+UN)Y%7sBW!V+@vP)=Zk3RC2G2b$F^^bMKf#Dxw(4Ioaf9Y9-1pdcAq zVTM{8U<0wYf9Y!?fNLoTdzA{z{O#XVE zK18==yGSXT+$Z#a7D9L69?DP-K@&(kF$9d@7I+~SMt!+?v~Kbb(0U`ojwC-g*+U6i zOb72;1oVX~AiC?7d=@jWS?wgR>arvoZrvwhyc@uHZzbF`@cEROwx`-XW`Oe=*+TSs`^o@Gn} z4*NF|F#{H1A%alL;fP_sd9;YOl6$ZVr-KFq6Y-rYitgA>7RKMm1&LcwP`m~Ka$RUK zYm%Ml0b=Wgi0#06>}nmw_CMDWnRN})>PIdq4E<1~>i!@XQTlHPRd9jB{BEP+YVb$Z;0)+R$lO)6Ed&^I4+dB2H*DtQn2BzaS*`zW}S|1hi?5TXmMw zJ*0wmG&;r%t9|4`PH6m?V;W^c7PJ2U0KESKR;h?7GaBdO&E@=`qK*NCdd=Yoo}-Sr zhKkHjI#k&HA6Iw=_dGOSV%e@Mi=u=(3bpkOw)3r42dAGZElUjJVJ&?hL`LL93Dq@hl<-i91z`-A&gAyP0WH15Bk|GxoE6Os@o zG%lnW$U5JB9D!5x8NeameeJL`lo^-3uYq>BT0M@{ebNvoT=!o4n!yY785eiSeQod^ z`Yhm$E94m$^LYE~jU0x*I4WQFrkRzGUQlaz7)q;EIa|WU&r=<5T~BoWbLi!@UZSZz zM%(wNqE;e!sK+g-`FFnd$>=|ay?@_LAf%KF$Qnd+h4Q3vEJ3BK^~*iPdvXiN%f7UQ zgn;jv6DNjENA^kc&R-%d?*Kchd4h_nL%iXsJa$xMy?Dowa~WVQ98QcuK#zcfD<$;H zPbU@UGfBzS61p>AhuKqarhECUCC>jTz=N&#uw==EswI_5Yux(uhva*OKnuUb3h0Om z>A=X8z0l~J;afm*SyTl26bkQ&0t;e{3m}LwSc{5w5n%<#O{kgIPg1ieUExvpdU9TwtF{>-wyf)xJ?1+%f>wsWP8$Iv%J67#7*->>bLpUn>GJhgWy5i8nbFj8x>?4rN)*9 zyhd~c^NJ*z(LtBo1_?W2XYiRFkyttiRNlfg;yHm_qRpeL?u=_=9$|(uH=q^?0guzK zMMW#EZiPw=;L z3~%rhaJI&f3tX!tHDmF9zoUs#2 zZ8klUPg#@lj)Gt8cJwAY)-R^TZ`6EAz!yoB(U$G!u>2KjE1-1-#na^#js}89P1vb^ z>cpbXZ(W2IZvy3n7n?z|Y2l!l5=q=5y@3zEd6hO*v*f%5@A%LHi&uFU{Ss%Y4MI}9 ziZbK{`e(zxuXN{TA_vyjwGJ7zufTM^eu(qUGEJ0j_cgN9N6E%HBI)fX&`V_P<2FAO zdiABI9RufSz5X(7-HXv7ixZMe_dmX_ZR3`AHCF+=4rStYFlH6Sx6K*-99r6;AW;w! ze`-Du{vvqMO65fKThIAdDBL)v-%K|}SA4=WdT_^Q?>y|Ntg{CO*)z}4|>o9K)cci zMno}QpLoChK^Wwfg71bG!^;)P)AHiDcaFyDq5}uhwcT)t3fz1>_~;njg+RiaXf0CE z;#$#Mkj&^dR82855rh&?H&AhCI2wg9k6Kjcy6NyXfk+fSGM-3~nnDzwk6?Hhha^ln zv=TnVg|VuYhJ2B00zjUF5qsLBlt*8e@BFCy5In(I6qq&Ff7t~Yrj5^noZEJX|2Vmv z?u63!IMRJ!%3eqg$T{5y%^%D{qcq3>Kyd!91nu#{*)~SDc3o=2iTT7l^Wh7iQqkLK z2?{bA2bduXsf#>K__aDXZlMjG?4xqA!D_gV9RdQhCEm-wKgWyTiCLTjVKMTU04AWG z_V^YMfN>#F3@hLvIt~&RM-qt4`z_?{;Zaaf;T__BX(jv4T!;{o zu&#i)W}_vgIRdFZpc@-!`@`kaV1nDg6pmHSIe@{nC`1d#hEVzSqy{xIMQ!39I zBig(bNqe9WwdJ*Rz_E#G%V5I?^HOyiEhAplE9iJ8%_(N1mS3#h)(*MapxhsyOdH82 zgy;Zk6q8|t(~mf>TU~qqV$oz|8BQ;S@Y~ED(HSYwkH`^6=am4w65q#tBt66+`+SS= z5^&biY?XZxa_RQgYg^>K`SY+@z5mIl0mbF>4dwT1X|K>NSa;(3B6+|IhlW<7>{OG> zVapaBtpm3iy(J~X-G%8!RL_MP%H?M#wqcNU5e0OPWe*WXb&r$MI0$n>O^am{T7!>h z5M1gmIlm1<`&@h041W}>tqFVISI$1K&wjKoQx7>N{g@`(-7g>GJwp=tdg+@X)y!*u z4k?-~Bk~!{Ow3%_MZ2sernRv*lPcR;LL1nfGi>b~0(EYK?#B&_*fo$E+d0ma?Hn3C zbeDVWEFZD2WYX;Dm9xit-*=Dq2!2p?m#(n70MVMOeYgGR& z^%c68aKrknbF_NK8uet&>(jJ~L1b$+;8T*wQ5kvbU?yhk9D7$)5HkP#;3q`#hFZ(bV?Aa4djB4`pA~7ue9Z8H+btKQgG4jGdsRdimm%MX4?8K zw0dky0CvvYwaL8sq6S*p6oAEusNVzAz-6$S%PoQ7mSDj3d5jfAW_%6FHnsDC07(uW zBRqiV07O3hF+L5WTE^7Ym}oe-{rSDz)C9oz)>~aShmD%w3$Q1&aoc~RBY!!=lHhA64@N?sR^tz>v-`{n8SUcIPB&o+S$b7kdGy#*DFv}~#W!VK znf+1y;PANC*JB0I&EnyDy_L`AwK$Wg|0BZar*gL4g7ng{ZNlX`Aw(1Y_RVAQO9hov z^D(MiTMlO`O#n5(IWIP={%7lF-&-9R=mTtc0RUbp3)V$$~wR>2E9>9sdr-OU1!7|P!i)T33MC?zX`F$DPeGQ;&BVLdIHi+`b(0p)iB{$0b>n&u&3vjmcW3gqqeX9S(L>y*I$0@4#_kXwd@H$GH%u8U z4;)UoaV(1JXABRZ5y8Jawy=`Kv)v_ZdeaYhCC^+f2$;4sI(BW0xk{nfz+6RVe|A+ zF}>ai+tF)G-x7CPA6^?l=?q30E;+MuaQ*6iGvp}ar%E1NLMtyhN9qpIA5{2;4{@1) zUA?FNUsv7!qZEOmi7Yw67GT~UpHr$A0 zk&(0KsyGP1Z?>(I6zS zJ(XwU^M(FAjzGTAn#3`18X;m9^*`1JumE@}-$IDvux-DM_xF+FU_){N6L5;1UoZkN zyqD_qj=Dfytqm1~>5-bD;`%QA+f>RM_bH=5n;Z|;pFwL2#$Dcg7~}1<$(b!RPL6Wq zBCohS`_j07Ggd`9#J$=iBYg|q8R&^+{bhNrH+1X$@BUoH`3?o^!vm^OdO~aM5RGk?#PRI3k`ukGrYVCt{ z`jK+2o@@(pFQLyUddfT3_DX8(q)Vm%^CNhHF>mDRv@x(z+Ra zP9uaPIbMSNW_a&phiWFxB-;4O6V`j|RhL!8_eke^M$?Tgas~1b#P;)=^T|}uy5r0E z=<}dPnBYyT*J0u2RUZ$=HRRFry44A7@Vdo|R-CG^@$2bHZuva0LU;^b*!kg3_1SNs z3vl^P{$zx(<=WRNl%g+YAwA`G{t?4HndOg@Gs$Y5TN(V^o@|MgLjeWCPL%7sZ8#k*v~vRu=i$0&9_?_zdhz=YrjPWwMGI26q z&Wh^2pO9ZqO6|7#Y|}96s`7X;(`pbn9p&yx9F$^loV?F6F{pWylF28#%tux9+i;gD zpf*dtJa&f2nF^Z{^e-=tcNyJs2^YjT!M=DtxB{%hMq2iPsn3it4>1y%5`b+n3aIvM zGuH(2OXudec6l6Uyn_u*nie@Q*%R4kS1RRJuhv5G*$c}lUqlTrq+cuup9hVP-7mS~ z-M&+=fZpd5@VaoliFYd*;ba{aOsYwBWWV*{Ru(%hj0ws^kUP2C=Ku(Aa*;NLb4)i1 zg#CPDOK@FecD{RNn-8~gSH=xbek?_Kg7xGs#3D83M?t6N`6@4kt%opZ*Fv7F4^t)$ z4tgF^-fNkNwXvf|olcxyCaTRk7hq=vD8r*HxTnK7_&6rz8#(mhuc3DjF5E`=zG$nY z8HCL{?P}VP$iA>iqD?C>OBZ-q&CVTOGS}g5kLJG0v+i2htNcv#Wp&8-1wEV2*)xF{ z-BZygAHo4S$<@sP^}Q$hq&2n~)38phNx?{txId&=hj@@vAiToFJ(PjaB&s#?TBZW! z<>qas6#&gi=AOXayjOI<4r(1!gxt+5w9&I`G6aHd#lc(eXYKC9{jRjLN2}9kr{(5S zs;3)nuY?`xsgGI?i&HP=<^5o>vRsICXk<#rMgTCl4H`#m3{PLLKrT=>tWdl^0B}k3 zAf6=OnX&et0=IB^RtmK_*~fw!feMB1gTEb}=ZSE%_Kj0qTy5l=IzV>d2Tz*N&}}w~ zI*9yqPBdiz(rFKrKXv1o@dr~|i&qqI0ytoWgy&y`Os;_;4BiQ9u^}#ezw}I(HpdL4 z6S!9GdNbInNp7JYD;C*~85{Mv1v1OW>W$>@REUU~1>C~hs_stP>Qc6usg2N<07y7& zVJ8E|s;Q~XGp_xtoT?2-M9792PZ&v@-y*d(L(xJa2(7)Ux%oDXp`_@4WAkEr2vx+83I9vyuX|5EKfOpNF>_Xs>VP6kc_GHHos=*)kg~0N^CD)p#~vnZ)c2DLblP!d~X)@FVANUO;i+ za#}EYO^3tqP9JwJVHl$-ox;NuA|QeQC2d`@3`xA_XLmWQWFN~SfjWW(39i2!!Z97U zeh?i8ObHp6qnLYG$F%2?#Xnmn@i;?CK3p_MYq@BcRkrx~b|r7)1K#0K`T0!w%hvg~ z=~gY(l6Q#5ZBis>UCv~=0EtE{>j)Nb85F#{W`m?XW->p|xyx$U29Q5OIOLkXmo}NV zQo?`_mtV?Y_E(rZ^rj3BTtM8ik4uSqk4J(pbMB6=@NL`(m}x>CwhZ>*fG&e9URE+6 zQ!;jj%_pu+$&H}DxTy~0g2O?rUVWxh ze>EJ}k)P$xN>L-IJ^s8jeWc?K*e;4Z$HKwPUfHwDjpmm)Jp4#j*I`+v+HC^3=kX_% zD%@9%9mY%)Yd6nkz5vVyor-MUR<3iiQVK^LGV3T~mn3<>+!MPQCrQU(oDkH^@u1U7 zXKF=|p&O2bqVtv98>2%@nzdg?v?Aic`w*G%^>UFWR;T4HROJWZozT5KYV7^}6qwVA zBw5u5Ifa;OjYsqiw}_{B@`zPyeY#<%$~4LY_C)Q4gFxek%(rtV-Z{80H-|>fJ$xML z{V$t)bOc-y7S`pO&VVtGdw0ojomtKz&Au;l4A2fxGY}4(3;%|TdnFVs59&k$%WdN? zh*)$nUar?+7q%OY?EM@bGqz_hcb2PO|AW#UMI={9*;vF+bk8-U+GxiPe8s;g#s^m; z@QhmT#*;wadSpzF>r=N(suW)F4l?|n= z74sK*a*!7a8Z{7`NU+m%Zfc{Aj#?}xs+i?ANM1Hqr9^WMTHGNmTzDxt(2*k#PywPg<@&RY=o#1OOM9G9ud?4X$ z0*Figm(jK&aFoSyrt1#?lrwF^3a6rE2=k+4s2$1Zv)4YWrWD5-IPjTlBLwOO|9XJa z8(I}_J19USC!$Fl>;l5~V{Iof^Ea-Y=aaNrNB>XN^B2T*B@o2eNP@uVu9Vu(5bZ-N z_mL0W0`lj*u_w!5~gn zUce?RcJGxUOk`q6;R2e2Py z+*uc=Y5C*7;%!EuP@R+2GthC{&RgoSVG<1{Bo`BC>i8lHFY&?A23H_Y%d9&n~Xy^O5j>X`y-cP25`*L=Zqw0TdokIRp_ef6hjg z3$rV*TV`>A>RD$% zk>J~cPUu#W8+tJHsxceKx8GzMJMv42%Zqv=ZxfV}QGy(kv$plqSR-Hj6HEBn%o8t^ zO>9pr%&%YcoQizXc{wmwIUN-y>9kubithSN$|*tn!J$=*?_*oW-Hb3+A`m8#e`ut4 zy0LdQqwh2JwXKyLk!HkdNc3$29lfyWVwOG-<^~^1jc$7vrQ$|)wNM<#4YR+D>M?O>t8kltQ!Nt zU&zkE=) z{x_=dmG2CCCd5E(7hjV1)ZPgqN4FcY>!(k#zs-PO0BhsfiC4(>^5_VpU%*+E?bb3- zgd?muC#jO#kRp=3;_gqSt9~vIM8{(AOmyFw=ygyw^@W0m1mre$jGh>LL4aR+m&StO zCdIiF{A5IxVNuBRvz^|icb-EjDeAmn|KxAhEeqWjn+n)qLEo@7t-KLM%bO8QTzyWW z-nMnubne`tb%;{T$4D9RFDeAglZNccq9BcB#ws?AB^b-zqy$EVDO9}ZASZjG+)rBy+cQ+`H|a?uNdt|M zB=(Oujzde-G}ysUR9tTS$J6dMv6g_nMWXhvD+JNvK?n6Qvf4{&I6&DC$xS2)elj?s z`lj&qmqZp_jh_mFuC*)ukI_QJ=)zY26jSR%n=1tRAuqubCbc$vE8 zdRDo1jjLEvb)AXYkT~nMr5%_3HZOj>R+zp+e$z?pHGsm>`!}gWK=&da35d1B|7pN9PHyKHJe{#N-Bw4j=Re#4`^)XTX=UKOH_ zW^d_NgeskA99?e$Vo)@;pTY1h9HAloTf#kqB`k7vv}_23j-P;lp!gt}dHOm3w8hIw zw}(Mjnqyls&WGrj)z+Y}Nkxd3$>MzIQ$PQXWb zn@=Qh4&*D%i34ik-?IL^+7ePvF|8hgD~B(OySO8)&au!BZ1-}vZ>^NE@k+89o=gj`n2uZ*e%HhU zHzNI(tKsq3HEelT`5Yz7)=>@*`b@C2ft6}a#He;o)|-@~GkY+y7;^YDnW^2nAhq@F zx!Rbo8bdbhMLu|P@809P3HAxEmoWns{Xj04pG95$4V?3)~s)WL*M3gLwa; zNr_p5;TaG9y@Po6L@CTRKKC+CT4R`MQ?3*u>zbsFVr+YyEIo8WT@@ANbJM z)Aem-ITCh2qBoKk?YZfb(0!zp?8I9P9Dh@ACnrb+DWY>o&YqHPKC5h5edd8G_b}}; z@p4AYEiwKYvU=-w4G!vkbrl=MSh=(vd4SJVX*cByc}xJbWQI0;P;{XKv1WxdbO0Ca z-7EY!Cn3Zlw`)rG29gH%ePixbzO@jd8k;|s)2V9X_=WwdO75ef{4=vdL#{;QN0X8<$c3xyNgB8PC8#@*Kye0J6TCgn&(E1z(78+D5lURwKvR73P?wRjb(z)sXAt8hvIjM7AOwkJE?|Ial`|-}~*biKOMm zo4(7{sWm6C8*Z%^p!Wnd{r503(finUQisLm5w=hDdg6ZH4#gktKO=gUWBtZF-7r#! zuu=2g%Dayy<6NjrkW+~1Qi2S@dRx}@c@LY?>^1oH;{o?EA}7(E@}^WEeEqVJd|I}n ztL~Y(n|X+)2>!t3vME#y4?!3lygw*Az#Z(|{xuf-rFM@9a#F;nejU~PL_+2UyYR+4 z2pI9cXLOifh7&pPnZrd*Iyq>mXJv~KezFO3gx zm(WCk8hdkV@Y9-tSmd|~deu`xqQrc8_fVPD)$enT*lH$$HmeZ3=b}=NeVP7;h?~YV z>)pO(x`{fn=dMR@ip~4=X~u2%sqMSN`c~fsGb8)80O6Ea`b+V)Qp%RzMs$@;9Vz`) zgugnziabJJz7wiLwpUS#7V;b3`0-SUwF!aBks7)#ZQ2V>?HPqUus|wVTAb(yfxrPX zH}mR=^L>@qW3vM$b$a7zxngiR0ho6g+;e6nNkNo20N5Ps{ewG_XUIwl3D~d{kBV4` zh|q6H;cK%v-1lc}Zdo4s@QpEXd5DQtg}`60NCR@-mt7C#XfkfnzTTbO_j4IRjQ4fW z@V*iuK;mwK{KU`wg?Kyf{U@j8Gn=jG%2_AK*-y>aWoPE$F&6=a!Ic{lVx23CLY?eB z5uxN-`p})=m`8J}AoZp~$)!2_k#ESWuIH7P&7+$05|Tsc=k(q0!{)8iI^1q7-y*8J z6{XcMa)Mvx)vlM;FBSGqmcwU|+He>q-w)${*H`PC4*LMx@jk|4D8_>8hv8rESIegk zn+QhHPR;#l>E=I^3Jl)e$ARjuE!DbDsrxD(0_K7Y_S9#Pvcv<&y=aIeagqiQB}!NJ-S_ zQ7N?-ZDyC=#Vsx!)(G{Mvd<3ykaCTNN3GWrn`C4G8^i1T&`WI9B2D^j=ADm=L$CLE zLPzTUE_nAL*B(Mr7a-~MWdu{kY>Ppe_3SAE4kXq;M%3X+g~GN2(_3TF;MvLCfTtFo z0=+n5jmBa)!SDxj`X)VL1W?>$2w27*Y7RM9*;5Zll>5|cUmtTXv}6~X{*;N_j)5{x zXc%t!qgK%f)V{dmiW)nQJ0jrq`cUM^*z>sMdzu>;%yxjh+UeM~9i!2RQOM%q*(aGN zINwqLeDVw4@Y2vfIL!h9G^0LN-m~3{j51*=qu5tJfZw(ahqsYfL zv>p^n20eXh{lGA6IKvh~{PI%ZNw3?%EyKeacT@5KjH>2XLH4f0$Y=2o=?n%>CCT>U z0z=5%Wb7jp?d7U7zs84x!J{i`%Co4ag;pL`y4a;8av%2*T8v2ZhaN(Lti%B-wkp_K z6XDcuuD{+B6dfaxB-%jNu0v_xT158W>q;Em4p@!zDXLj$ctEl&pOdFIptH!8x+n2I z9Wv2xXW4J!_jy*pubv7oOh)#;WB{_>T&^DVT1D3cpm^L%)R|vx8z@ImRAd+M6;Kt4 z>w-1jASoHo7-;Umn;;=p+}%rGB=u4ONN8Do-ACvCaqEpaoAs=bkH>5k-DkT#e?Kot zzD-WCms#@)hSlSclJM>?IXCxO@!~*$=~vrMsP-vb4ftnQf*>+4k*E#b4kg=#D(!5X zf^8-bQd{a4Qm##g{OGE0NPqiymVzg)uLZ`qluXM0OW(8By@#8_T{(ZxzwydYcu!Fu z(2@yH=B925yZ*wRXmRMvwKuQ!t~oAA{V-TcN_Fz-Nb{P8fPnrJK;rBSYj%A_x-1Ro z^o0BZ*i9b$*?k*g#}J9I+UP^py(EsoY0cupO-uIkOZfvk^0U&d1$0~96Q1lly12)v z?q3xl!ADK~IU|&XsTroPOj8f}Dt?`yb#EKs7HRk?c0s7Qg^Ta9g??AXxRI<~R61Sz zcj1yG;NzBlMScHc?&F4eMNj>s|BEkwkG#lRWbkAWmt5nph*WTu`0)9Ea8(JeOOKN^ z?ZI8(RY!XDV%s5Hgn$DSf>!5)uuhp3_^aYh3AW_}YbV}=lAlmT-se7{6k|cqctP(n zs$ME-%4fTT!d{DUl&x8=ZSs559?pl|1AV?7k>E$+yQ?2k6FJa1ieO>&jrP1;^G7Jb zE(=RstR#>~+j#y76bwtf_qD5O80v?#%S4BllPV7lO8_Sc@*0^7a0{)D^hOFlNmu0h zWT6cyd3uuKz0U=@H!ydh!TXrk-%H1^;FS(f+z9?&HavPEfajrI1KB)k%lEN1Wp z2d61FegI%~2edZ-m%=~7n9XtGGiBOR!{RuK+`AJ(;VmEM=$K-Na{_@vkBAk_+&KPSlPXxA_*Zg5f>|KM2bQ9g69wTY1Y=>R5L}nf%zH_b#CG)#M-!DnjPg$9C5z zoEn;zKXv~1Xp081Zi?H^ON7M2AV{0HY?e;xEw$#;5w6>TggKN2$EA(wr z9AwJ@rY?9U~b!AnQz2TPKZ=txh= z{6oNK#CzeTCfSpN9i!|XO+Mer<~fz;t8rD;|%P3ZPo7&h1H>Fx*1_)^~i zxU-Ap2HH5+tt-pjAh_I`D*2K_E~2pZthXy&vJ)+tkBt*U7J;-jPaAB8?DLD9s_izr z4Ub%tj~7i36J=uEJP2``Y>odMg=xA0k!OC_*v5zj8fHD)=}>nKCOI8*>{oj*-lf+fDM=Bh*zs?R-1qo{4pO5jnz+w=x7MsEG(Q zh;aVg6ejibV()Q+e3Rs;K&L*q2P-At9o?SH%CuJxi&dY)JL1Q=nfY)XRo6mV9w&}t z;K9IR!VzC(Gg`Ior9{8KiPcp|rrlgU!ZBiV@y~~#3%XdX*VO;1q4D|C;Wb>7DCSk0 zc1f?3cJRz{zEkn{UB9E3?NL9aw_3t`;Cy}d=7~S=Y{UDsDh)X!QilK@(Hft4c#Z0l zIs6zs7|v=%xIm`B8>Q!S&>r%Kr9wcVaM1k*pc_GxlCJ zlKv`ee~(CCEVZHBRma}8agJ^D)BoV%`XRpy3R$K0tD*;7Y6*H+HvMM{HZ@?B#=%zZ zW%DS5eOsLBz?BSWMjU~A?PiB~IOQyMfLpz!yH*5w+3l@|5h>~8P&qcgKMjzPtjc4n zIn2BI4mqkYo!vzD)aw+WTKX|sZ#Cp0*7ahMC~#`LZo>Vqji>o4w3rnNZ-Bd#E7x5r zsBzW(BNV;&`Z`{tjdlCPe?%2d`?sIW?9#`xTNW)CWMY;7p)RoX10i11JPO57TeEA{ z)#&k?{H;kszC+L#F8zqP1Jd&xp)A%*#I>1=Xn5SrO>v53_m7x9S|GDx~Z&p zs+px4v?6i*<)^3E<{66Xoi?dS`_ZD)KztLYyk$n1T;AK8?;kXq{R|0>xmG$A`DBM6 zu;Qm7JOohIBO!rYcfjMuG*gSAMMm@>;2>KQa*(y$@3&!kZQ|w{Q=jC?k6am${t&_c zn`vdgr_axEmB8lU8`Dt){(uif+^haA+?`N@yDL5Mc7uKYRoC_0PMbChpMXzhyaJr^ z!nh)CkrElu>JfcDQO3YfYK+Fh&O-=yAJxkW4k@!+V-@`f4qw#{)0#W1aR_RS6F7$P ziHU!)2IVn3dXyA*<15F6eirq@cCM%oW`mko|N}Z%sA(?lO1o>Q#Rd7@jEh1=xMa}93 z9{!;vfI(j{VDu`wR&Y4?WuokfwV4`?v6cn*0C)tJmp()Q9C}KC-PPU1pV(tfGV!C5 zXYom2agb_%bSj*)dZVkHH%oFF3#@7&ZQ4)6UFRprJoo+LEgz$&&vO0AxN?L+Tkv|x-GYq(?4Bv z*>WmM>;6zZ`Lwh3zCCA>cTaJ=xpGj*gHoh9gZ@kt{Cq#Of69(fthRb}@|ZQA@0P-C*@3?2u>ePXVBCuSj*fy{5sb5eqE-2x-Jp&3=U9z&k?Tlxd~v zVA-2}yhb-9$LtLHr@SUtMa(*qTybvBUbGF&^6chawZ4AI(1~t9m&0Cs>Qv0V`~3{R zIBxxABV)>A`(2H1g0jrk8!3lXSK&%I!v=5Jv4`3)+?p4B1#v3gY1_g5wHt|%WDi7hdS|Zf+BWvSV?#{)Q^Z+=h$}5TBw}EAZ~j6vY>9@jvu^LS($-a8yH7u>s zL2b9rY~VQyK|I#ieg}wykeTA3L?20Qm4m@?X@o{v;V|7v=jD#1ximw#oE=k%`pDR1 z>ti^DMUTp16*U1h-iJqV*2zOxkIJ>IUD@#d=(Ou^%Hx5L=8no)#TUV8tK`F+eoewBLiXsY$hn8OlXt*K=VcEd7RT1>h0E!}5jnv9>-B}R7rWxS$3s8Ql)yePHh9umuLxahYxCY3s{R9)>zOR5` z;O9b{+#qienmNofDaJrHAulHbWWAzHRV6EBRpSh1lNblalm?urbX@I5E5q98o44;u zy=s$wfr@gmzVbbK1kPmH%TqN%+G!LHse@?_)2!%wh(toaLHZ9vNfji}xOt;|F z8}S~J?O^uKx*9=rk%h6wyN!VyZq#F56+|d)j#P|umEjEl_QgaO!m3oW^;eoZI`Wh;BK#(=@_T1UWitD2mYFqxGj3vI!r_1$b+NiGG)O#U1Gs2OHdZl37Zx)}YM`HAfQC#;P& zp*qLW=WMj1&(Q+i{1X3%+h>~mpY65r5Nj@hy%m!UolYEP><)J#>uZD_H`DT&@VYjF z?-UUEgJ_GYW$tXMJaysoxOIzWjhFf!t}$N0-4l(1lc0K@X>dzl&&sgYr7>6b46{`I z*X1Ay-4#zFDfu^MS1R}B4Y)^ZN0){1C!s~6#k@ImjEH`VVS1&Q0(XBA^NepLt~=vM zJ0PmCQI77r%?M${`(-w5>9<`&IvsKM+a3wGyxPO!B3ou{ z7#n6!CpMZ0vUuRKcehz@p#jM?Jw zbqxho`tRHQ#`=?Fc!(ZdP$ZQ-bmsGU=g6u7Ya{1CJaOfzD@WG->0rkMKmVHXt?npj zuEKoZ+?;XpP(IF3Af^$g&Z|>y!nQrtkT1(^OVW;bobhy4;TGo+KC-G*aU7^nVR~pq z?UHRaNdpeKbH#8$7GoFNwkDWL*`kw8$;LLAM727bXKPN=ad!;(t41k5@^l%smB2pinPS6rmTRQ4E;_YLJRTbx=Ze zj6e={$)L!$|oUo{Pr~z@f0CV zwZ!nz*bugOd?6@7E9*sa6Ps6raw?h*9b_;JwKp9)`;vS zcB8|Zsk0UYRw5;NbXXbcPE86Dkz41HLgfNO%Xg#oS$PoZKn5V21dF_Tw%*zw%jR2~ zr<_2<^BVhsmp<0kD{}*innxeNG>{!YW5Zd;8gPpWp%6WSyr&P)m>3Y!S+yEy@#k2g z5^vG2c>F$_VMfjyW45nh3#L%yzNxwgEMY?=FQ@r&b8_SM?_8elU>xlGR5lxLt&E1j ztjV-xPRF9@O)`zt>^T?jwk|&wsa0uZ3ATYCzpCU;^yXucdp<n#8ah3Jv0{QuK;&l@8`0bd>O1+6$Ajy{TZBv6tw$O;-aNrRG+_kPYe80x-?pau~dx-qyB3??QC^l6rPU7!zKn zX>z%_Ty+DbwLg`AoHL9M;1Zy*H9nIzzdfD0B?7tFdLCt!Xa-*~Q$a3t4-F!%+y!$& z?$`$ej?K#B3^F)HbDfb`yzh#)okQPjN-fgNvyl1sEz_mXlsl ziys)qSt%r}X4TV7wUAY$yrE808RoYRpQMy|O&%k`wcM@Icp*9q?}p|-P zWQp^qT%Icv*&40r_Nc!>vzM{cPnHZzO2PKi$IoE@|BtbE0IsavwuU>lZQHhO+qP{d z9otFA?AW$#v%~J#PQLxV_dEB$=dG{K{a4jac2axIO4Z7kW6Uw<^E^y&nh`4inBuy$1gz8uokA^z_@!m z%GX}-4|*ua%(IBwNoi?nJYyPoi&a1$>S8z@pjpp;gc(oS#MdD-6QvGitDnjTffA#{ecT>L#uYjH%dQegUV zj6&i=Wt$t~!g03Uw--tJVKef>xogml6$f3mRG`?OiU203XLxfM@w_C*;BSPz>06!* zv$JrDwR0C+efPF#FyN~;5D~C;22)s1=tsyUoHF*{Lb!9|8}m?Sm&4Axu{OuGAnZAR zv0X*lLXU{)t_eRGd7N9-04i&H26G@khrz%$}^ zU0b5_T#j0H9klE^C69K;43g@?HjuW%)K2{4f7U_g-l`Pn+qZJ?Z{G<2V^TNv_$#5O zri{xEG9n6I`G%3%r!uCPv@1;zt1FSt#Ica7<8ET}G@e{n2CW~boA622I^SomVhEg#d+8*& z72cpJ49n~TrAsa}9zIlmaU+tm8mu0|a96@YGtTuHzlip+{nRUeK+3T& zAhZ7}>E;id9;gT(`Q`22z|zKiv#g~p>z|u9=vQ9gz;Ub-uh^eeRZsUe_}XCW_epm+ zDW{`oM(_`{0d!aA4D#*UA>6lbg4yIGelK{`I6w)aUK98BzUqH3%>47BFQ{ zl3W#tNNt+!t5>Xj*hheVj)=EN;mEx`Vc9D4fGD#I6uQ7a>F@f~eB>ZrrKf*;&Tvwn zzvnXzy^*=PkjI1U-gWRT|8}t|=F+vh6XCIwg$7o*;PbQ}8_(IQxM`O^Q%1jj;a(Dl zzUDaNDH6~$CRC@nbck1U`++i`MbFS3ny8xGlRt=ZU?pOLeo@GU?V>{rUpyZ^?D+n< z8YL;qD2A=CeZ6kWZ$Pj2j3+^6p%^0YW4>pUl|)=qQxnoH%sYv9K?anG5Kcgb?z6HK z0{b0HX^83GL^MIPgBeSCPh58l1h8LATA<-6GP_u&&HZk=M=Y8sD53H?uj=rq4D z!OB1RFKhd?pRdboXx|AI4f!7I=37%~X|{ti{hSzcO8ReYO+9kZN(!P|j6be@#fl0~DRT zvd)>?FLCLzloC3a@m#Kis1^!QSY>@2?nlXno}|jC!5PbxI^CH5R*vx~61ZMdfkXMw zZGL;Xi3FT;9uakXw}OZKjuEEV;JuyLK1{ae`H?ffz|$R00^!B`5*Bw;2Dydwu{^Gu zU+HIKnBTY3=|_2Aqc!?P@COh_Smeg>wM8ij!1iD@#$OhlO?J);xUs&1vkPCDKY=`< zx+Oo|_TI->z3bmBBI%3-IqdfByVq^|n&d@m<{H!bD8!-yqiP#Beg{2Y*P$qOgO9mdCm|SJ{B61*^?mxMw5&J;W@F`rd{7Qdt%5`t zH$fSQz#1gv6f)w=>2(dFgjF`)Wogl|>%tlM9@(Nj;g4Kvd2&96iy%jPvz;2!9i|CC z<4*bdt4a>H=;-(&7?bY!un&Iy>OV>srMOW;Da2F;^_Sl+ z)Xdz-&DQmAz5V}z_Muvt%1CL^RRK|0r`o2HT{|z@zW2UJyL1}oXz1h z$HlL9w!0-8<=4A2^0!qi3pBY}LXwzWE)1GxLRbF)rvhNsfYF`m*B&k!@uSoPp5RMd zTA+UD-?|3eEb6G=rB7~OqoX-@WmtX?i{Yi}NH7MgoDj$HHM1Jca2>Gu+J)VyBGy9P z1v#co@|1`w%e}_A6G*p|GDW+qFvM!5dw?$^fV!g(Q zlb*>3kLO3af?JFMC_9#SWFc5dx`dK6!9Bb)zj(@Dm>o#OlEiuguvCue-Xa+oW;OF$ zNiFfWfxNg@X{|F$Jf%+lrEqURL8@rNcTUj+Ibq(#z&9e;Eok;<%i;{wTIw6wT3o&s z41XiG)Oh=vV_Yj)!tAQbpsAI5{6cwbC4BUN()u7BSFq{IWLwtJk)xeOJPfqdYxTEd z5Tp>W>Y|Z&GdNz&4JHJyt@cI;Y ztZLl8sB7v(62SY4{T|U7R?f?rR5KH0WONWUK$6l#ZaF9a2}LTYpe+rt(t6=Y{npu1 z$`IrTLCuD4o^62EwnG4t`Y0=MtUNbvqNroidl4ko!_vJZ5F7f^k zEC=f`t@_6`laU}!_1GH|{+v3%4tXa@rDWmLaqXs(=Y%PLB2Chly9~GHma!#o3jC04 z#LbXO`hnE33razp=#>uHYcTg+E!Hb^+sVk&<=`#%m`f=W26Ac$)vLD;;d@cjIxT;s zug@mO?I)|(xNAg|-Dnjr5uND{terplOKpsX8I~Oj)1UObhY^&*q96sTPGY7^QoYpz zzK07QCy+N-D4Rov2K`VU0P+^L_Vi;$UmF-rfRlyfe)DHWEd7Hj*N`%K5RqSLTdcUWn4*$+Kw0(6xwTVj#H-j7>pj>7>0$-@g?9H|ty3?GFc`RZ}GmicH zGvI@ttK$M~I@}<-2TBaiioFShlr8B{0auqXuPd;-f8LhKMwgk!$ZXY~)2!z4JI4>?*&#`O4*4#_ z_2%PZ6&z`CjNsYA{cs)JWdW;Tv)p+s=G^BsQb~^C;o^?DcUK>>w~XveEX8WDA+bW- z$U~(NGJn(}hS*M;@zjcz2$sN#1rJfb$q~(zi8=R9(P|y?ASA4aCZot4J*dfi3Q$4a z;#9TAL4QlQFK+M_i55Rbz+%v57B_F$trj?mq%e#A3t_x1xkGlV1)aaPd7MHzX`w8R z92Vq5btX*S7Pb=PW8VHW)Y$~jHOgY~uSF~w{5!3!b|TYq0}wV2K-hm4qvp<5X7;AG zUjGHMN%;dt)a^U8MDqwy$=$xHd<4P4Z-vWs?m3%7l_nA`D%!EfyQ8tWD^}U^-1_1t zTPN*LBMOuc{yszl(VEveVj3AL^p{-@E+34KpSsVQAQQD8-@uHnx3gVJYl^j1+U~v! zr&tzy`2B|S$^ur|IeG{~5VnU6yW zBb8suZ4o6Ac?CLSuxrV8;^_E=HKhX%Ol5;pc5<@!HB~{J!pKP85b|7k?E#dzw-%`L zweKLUDO=6r6&lbb)$hv?X9b=?sJ#|RGCJc|NApI)hzR;dlAqtF$_x%y1Jghnvq;Ni zxu4QQ6 zsTTvR^(*FF@0zvIRZG1JpI%5G81hc6QIMk_?ofjlNhs zjfZOUEX@R_C#-(qRe@>nOt5c4B?f6fNyXXYZ(tjvvMxr-0w4?Y@`$V9zDW~<|8C{R(eI{P#B zm~yXyZ1<>`Y^2nmA#VXG_oYeBiJd1U+rQl=dZYP9B35GNGi}*q=3YLMFWXO>!CR{j zFXwFLQN&k?Ra_flRg`?I+&OefrT$k&L)F37-ETysxUbH#nbN{s;P4 z@1;&C0O*^7|KB`Zb7waz*T1n>ohGMnz=#-r^&TbZBQgMr?$+t3t=-c^tJ8N|vL(dMYlOtjaf=_Dt@lhVXmu;*=&duNl5GW|AtS^70b}LwRBOzS*l^`-e(G zsTvH{ZNd%yG^B0gSMr|OW6sBBk*;AUgBrEK*yr>_kdF`fF~+>d&B@OvOlU^;dyQ6R zTav2S4E2U7Y7ZAS#WR6tkC2LKs(3~;SN{9<=WZZ*MGq`-zcJ1u&as2=2ziW`vVbxi zGRvSN!d)m!r@%hYk2~fFcZ%E>!rWjoX9Oln&UvsERmZ`^bD1mX52}pP7-t{MhMrhP z*Z|w|!!m!)gajF*tJoaB3#0H9im6;tKc_#qkZxI$zb>*w{S5Q_qiBQhuI19o((c`+ zl62kWll%p{qiPGUfJV*yYVK8I=HoVnYtco&`spM*7s4wc> z!RNA@z-k(AR65eE&YXoSdJfW9`o_@#U$jRj zX2_)F?jHLoNnGFbrQKlXJj@nHA)HS3;+>uDZ^NUtTIj;f)|g0qBZ}&ZG6uK@44Ehr zj^m-txDyEPYJDEJ2Aec83C6`!HafJPN^x|&4e`^BadsSnoL^~BwqaQ%5EShZnQ}r1 z@;7~Kq?bF5<{r%oce3Y3s*UB@+hBU>CgLg_)~Hq(OEUG1b!~cryWRauUOGMHqGkDd zk{4*TSs1^e+99Bvnj4R&y^PUUNnMP5^rtt#s=2kt-H{kd(5s4x-)0z;>llVX=|f^W_@ z_8`%K!}Mn=j;4lG2FiX0>JQRE{z%s!A{tx+%SHGbIOv>7sp-hcgF+==lDO0ZSy5i!BQ`Nzkx37lmQJh%{|7{^X9iyQeeV9r|twNR9#`%Z=7 z&l_+Q%)~FIPZg5h`n40qofR4w=Mh9QtHOrin3W0O+kfs6 zS6Fq4y(tldWTFu!G;DAR@KbzgNTC&k1|?E*BMSk}YXCzHHUa5*j`yq$Em;CjetW(! zzE7b2h9YV+&APt*ObPukAG?4C_OV~6>6N6CJ8uhc}>eIuO3^@0$Qn*5kiV6+P&?Ft5$cRs@g`_tCrm>W}dy(0-hHuzaK zjpuSlvrTALS}nyKRe6y(&)GZ*CDf z+c4YP+KI#XRPm7#W)8#p5WHCIh^4j7q*F7i*8yFZm{ADi>hZtj$`z;;y@R72ME#JH zZ8Ncs;ssid)>n*c9fY^WVwo&bGrO+iA1i-rh;|y-;WDZ9LJ^M|tW;Qs{Ch?5cuMfb zvCOkK>oUBaL>uqYmMs4aeu)*j$(bxHc%AZHNkr7mFO09#^Ii}!8~>$GojVza-lEZ*M{0fx}ZJdIpeqnSo76j)E# z&R^;bwqoZCX>9~lQwiIor1aiZ&yNC5k#Dx4EB*$h-H;wBqmRoSq}`YZ4|)BUpu+K4f?xCe#h*a`o;Y!X z6Ub)(O*A$@m-#=p#_b&J9c+yL#$s%mp2H>~pw0Y5Lwix9Y?ah3wWwDu^;+O&x1@f? zHbTM93=ZSS&w9}tkD0@{9Fureb;8&8;t6CHBNkAInarD7_-mXCNp>vz^z7*V_7z7o zpqJ1%@c8P`nz@TP05A`2Ngf5<7B@rR0|1hk+-OMu^4{Cm0K5?+CcJH6Sc>qk-MGp z$Apx8F2*@Smmk4F8o_5SB_6Q$#Fb1%hpKgy6H^OKdWB3e;*Qe%&S1BQI&AeEf{U`d zqVL0nTBuz-xT63tG z>d7W1e>}^8sS(rC_^fF#TIqJO9(P3e@20vVRQZWxQrsNgng-9|+Q^`PDv8XhA%*0k zEu$=|)>S}`;$74$puHBrVQJVy@IJ~icT|^S(dt0T`zl$$(wK40CsIr{X9rRAB$T2I z&C_r`*tzzzE%U$xGn^XB}dJ7WG_)y0*qZC`v2WjUJ$0Dl3Pca zbI)fI3~aF&Z6`&K!&{dx09aBdBk*fPVd2{*_kMYP=~tJy=qca{U4kNgKLXSRlZCc*7ZI!Qyj{lF+3{Av9oREh%95F(kGz*CxVaJz!{0jVP&Q zrwczz^{%BNMrmY7N-bf`oGEX?Lf}u6kBp0Ry-zXINkLoo$oTu3i9OX<1)vmnth`{al_P4i2QaH|+b;{AoP3v^s2QTJZd9K^^YO zx3e$Q0mp+F;?huF+%^TOJ`iQ0A z8?tuQOoGZ@jeU;8kzkr-&MwH?*bOL_9h9nsY%j6#s$pj?O>D)J;k$F=#p9i8$=!>x z3M94L17}QsYbjkwn59ZuP;BRr0$R8SsXP--^FEjBnq5IZtj!KYav<)Cs|4>fj4E#i z5}sxDxyl)43I8*EN{f?m*kJygDu?%I%bx4+`iv&s7vpv8z6SY=@+F_&--l`0DNrL1 z!j!N1R#8G?bQJy%1~Mp_d+JSD+{cbo$@cpGm3wFBVKG#QZ=eO*CwE>=X^XH>TAFHem`7*BR&(SVO9z!Cg z1{4GIkXjEQ;01P`hOiw`20xQ;N=__rhmFYwX?Fg7bEfvH^OpqkixY!GmrWe8!$NRflagW+N2`=cH)K{oHQLm7@R0`+WzDJK- z3-bX(W{qFx86@`s79yTz1_fXLn2-X|WsxuiKo#eIg{r-gtChRi-!k%lQkT7Q_mEUp zai_LGi~8A$b#;pkECo9>fV#3QHv$O2xAvN6#&SAOy$~EdXSs^WOvY$oQE~F$Jgj;V#-$zo3h(3kwS?J>Q7L+ppRST%l+^m%ZZAKwQHxnKAaHrHOKN!(ft?-tJ-s%E4jKK*lWg2&YT6&G8t^C=ExxfK5^bT6Tr4$59g)JqJDJ@As%5Rry$j zExme8h2Mm_O_ZgPlyCG?0n(7DdTmvgn_vN^ zKUKVEwtD;qh#rWA^eL?Kcy!bo)wRxJ6NbuiP2lz zC-TF0|GqCny0)#<`$Uj4CG#g;`0IMT@58SyptlM<+1b-M%H~tLiGBr@&t9tYbYKGP z@-(>8KbMFWS=m?%dggJAU1|cv4lUCKG#^2vV(odpzo`6UFFz7K&wtSH)qmi=Sl*_8 z(#m0-qo^J!g{A)RanSh5`H6xuw%$m6fVx`e#v6O!&=x*mU_kbZ)nn~K>PU%?n2#e_ zNJRk8JAMwNFdF$qT=W-c`e%1>gJ#d~m_kB%HXu&R@aX zbCkoec&I&VR6LbU3p!uqZy^7!Fag#0H-NzW`=SDT^|Cd!Gh;AvaWMnTTLK0j82)?s z($UD-$jZgR)X3T9FQ|h21MYuC_*Wq6|386jtt>46ZqxoVQaERSt`Hz`DF3gC!_mma z)#~rWQLQm<58(LjCmPUubiyd&vI%!IS6gDTQ=3$-JuEoZ{Gqc)sPgM6Ce7Q6F|e7CZCOIK&TucfuGJy8n{4Y} z=9?sOF0?(@^CNCNB}i(vDy>M*&|J6x6=ivyW_x$51>-~pr&-KH67vdj*Nh8}RSV&) zfA8WW(J~>@9YHi~h+Wt*YCbD0kIqBmkqvrLg*FLpGd6Y9%q(3CZRM8=4k>+8Z2EzE zU$_1?IND>SsYq(04HQ&IZN}za~4raRfVQw!%7pCkUUREZ7_B{R1q7845uyD zp`ke8mm)PmGjJ?%OfP#c73WKnxr|%yc}_;^3&?O&o@6J)j;FfIF7VKcV zTTQF$XH?DtxdGJ$LK4-0{a~b(1Pp>4?$O7K!^4jsErnF^Vm$-0Zw`@2?-swXcAEF! zX(-NZn^=b7P{yKIW!%ZzLo!P=b?vfMwp`%qvxzd-GR-AznW3+EBHn32Rw_1yqt2&2 zatS$zfA8q}JqfDp2jo**2hmtAe;kI^1k}>i!J!J-$CsO4tz8NNSF6bB#BQ9WhS>3R zD4Q^2xa(GEg)qP}!4EF`3XQiVIg}@RpH*+H>Gj8|C-LFDY|<-_`e4-D&}&S`#wem* z^s&#@{luQ(&}^A*oeH&OHo(btM{aEp;HxgP-P}uqI`>B)pPbM%b26Ya<#1JLxhlRT z*aCU}N9VWLk%$-+0Kv`wweEB@bG9{gF!?JZq^8L^{QAop|3FK8RIi|_vm0Mnyq!m| zYgGlan{8qFTWQ0CRln}84#_*Ulwi7u%<^Ex?_%-HU`2n5VPw64m8ckADy=jMr%D53VbxqAB}hos<#)pUH=f4w%=UGrU((D#W-6WP2h zpim6TQ();!!1O_Ad>RmWB(*A zND0<#^C5hUxs7S>qvrkc@PY~@RzGW8V!;2CVYUx|9#!OMpJ2$gD>!&f2u-&UJDw&+< zpt(c1Y|yuRl!_{Jt+JkI6gbOFE0pTEU4-1cuNr9Yb@0m{a*2er_38J{#kG6%ByC$5 zd)Q#+8g z4oXhk%z0C}eBUR01K$LnbGhMh_@g{usX^_$5_S?0cw(2{z^bx$dfCk?-H6WWwAn84}%=E+;jysdhZKcI{cAmX5;PaTJK3X78lA4jtLqE1&uQGkOvMK zf{&-sys}OZHj|5tpFeEIbTQC~Wm(ABDZ)ZF=<%~EDl4+9qCz9ZxtzOm!=XklG&|KcZqw%WMp=Mt}K93hj$gDG!jFc|!VakpOl{df^!;K^(N%Kra0uF-Ye5aPP2{&B@DTo)= zq;CU_IKjicR8Sz;wH#|EhW`OKwBv*oO_UhOqk-A3j|H8|ir#9M4{{Ivy$@Tb zrWoZg@H&!(k&B%Eft8?-101>%_b0>}9p)Ta+kSD&rk&;t(ChsZkq4J+XR9t^;8@Vr zR`3Y$MOBTrUXilf8kkAU4%efqTCYpeLqj)giFh82)C^y;8H1X1`W^gh2-~Ox&X}EI>_I$ z6AZ11k7p+2Zx0-`Y2&Mh+`TU}oIDg~YHG4^)FFldV1YjXhhn(&tDx%}%eS9;ov?fW zEO4H?dho+tck>JTBCo4yPL*`!YN~tQLPRp`-+FqUe)yw(DIQL4$03ODD9zZf?N7k; z!gB_?6f_FX(!y7`=F|3#HlX3cj*0Up@a>6w;5V?ap*5}jw79a3^TN42Z`KBa$BBP_ zTeGq@8Pt6)l(1maCHj*GN*+30;RoaeEdV5YzA`-s zvU{O5O7IN~Yy`%IQs=^<@(6g4GZJ>Qx$W$L&iUk|T(MlGr<&^xOtBne@ITF-7PoUz;u*5bs{Y9OvMf-@Eqw_ zGJwBBlq3pS8$^LYbn~o@rkqmQJZA2b?EiWK7!P~!2=&n}7o%IvHV4`4BPB9P_03Pu z^eLEJk}MEBrhoYk9S6tiR3-PFnQ-#Gy5^t2C=cFX`9xJUr;S>_3kB!*krRJa>XY=^JmRMJPDBa5xPfXK$QL9{+h=Yptlcji=>!HtoPQ1UHC)H zP{)jXXd0NM$@I{mZ)8KlFUarEE|^qcV7`Pyfuc zQF|Up!DUyvTpUX}#uj|69Qz0iH1s7q(Hb!S5E+_XPo%Ld*;zm+#x@f17*U_uRWss9 z-`k+g`I790yCx6Jap$1jYPZBag~xG}E^$DS$14v{H~ATTf%1b2;T+9Zi`Q_MMZXcW z@h%MYD{YxSby?|hdAEf#%4IUY3rWH}TU_qxEeMKo%lpdC zA})E~fq?>I`NhYQMv5^n>*$w%pVjXr%4WPoSTy)yN&1&j{)q5ooX{{RDga&yu&pt|$z8My5eJ}>QVDd~!Ahyc4*cC&JPksQ zqwjG=#Y_Zz6|P!ZxfXg_IjqMf1SOQx5o(=B8v}XGsCIm*t7RK4b!ao44`)AmRHVkE%SsA+W{2lM)1J@&(S zuH3CSdAZil_w6AT-K>&nc*DBKZ+=+2*lE5iqG49KcAiB!CBa7UFTr-;;Y$429D1j1 zxs-heR0%ar(}4$gIP-=KG}iWMc6=23VeE%UBGOuw&$L7es9l||vTmoqI;}#yG*yM3)&o^VATzWGjDX zoC#gaL50_@eqPY!mfLPtA&p_3NZj0Ijd48cx%$J2YS28Oh$xOl6TAha?1g!RPFied z&KjdKE1EXI54S`e!#eNfb6xBKl{9@~5q)C{?l4>kZp6f0ONi#KesJOzq(}DrF?jJY zeD1G|PHNiBbK;x`hGd`7ce&r3FBH>xJlA1Xb}sW1ZMV~7=pR}nCOu$;5cRxtdNPkVlCB_F3D6-Dr=&EsxxNK*(sQ+czqeIz z1tz-YNtks)h8ipaV=ZTE|95OhH#SVqy=q1qOOGlw!&HvkAhM`$OjKO+WGkxIQ6yd- z$a7aoRuh!1^NGK{@h2)u8ePTc;s%zblugl9VPkX^Too$xKm10v%=)d9?2^`W2!{CQ zl1=XMK9;l)3D9OjNgd$$QOU02J-x?Xh|RL$3gkT&Jym%YSG8#`V}Fru?!$q|o2nrI zBtO-y$!B-!(QX_k$+UhKm5X4ODWX`%v`;c5f zwf&=mMotV!?1h<>lqg18UV(lP2SH(XeYynSeOui1;>orzpkwP=Oz}ChAq*yY-R&%T zqq56y0u=~H@v0F&mcnCXFo5Dgh*Z!0q~zioBKL~jKEb(6HK`^eYqoLB_X?sb6%Rn` zZKiVE>k)KSx?2pp!9Eyw4H2up{nSIEZ1F$H(|e2Ikn@iYA5jkL*~8p2{evw>_jNn> zt#WMxRolajD25YA~_d0TV zvvxh*1BFK6dQXsWH))24_?Ukh7!15MC{HOW_z={12!O^>Bqe=KFLFRxvvbCT*PvB@ z`WNc?QLQW7*dsek7t+5{Su3zC*H#q$=8oT%`c){=TZ7OpX0iF`rgyd*-ITtU7`fJs zh;h-n^b~bcdDm%NcHS!u)7=I!^ADIM!VOKg0wn(jK=Kp*M>=x?3F&&{Qe18J)u2tGvk<`YxvM53|$+ zyV#o6Kg!$(jw3Uxzmt->bDc5+Z>*GjsiK0r>wm(qd+0&1H$?wrf&c!783B!~{z?Zk zV>vu?brtPl6m)tW*h)YgZQM=%3&}k@#mUh0>BZ-zc1P5%32fjaatg_S*wZy>&zab# z#Lg~!k8#*LK|2FPS0s3KW@Hl41KeCz!l;RKpGQ-W?xpY!Zhl(QL2y+rrvx7R0m=Vc zfilz3o0WfL&7CWyTgHe6(sss<#h%|XF51$>EJD(3E}Rmq$U-I5D||5$Wubc-C=by) zIvywkX|Ae|HK@2RR=!4@W{zPV(YH^atYLQi`PJoB<#&nRbKYe~UfN%!U33mm?-eBZ zjBoz&(~Y;Hr=LHcx4t97=WOOsK8%-*ohJ0g@t{;zt=>6U?G~lcNii#AaRj$;l=JS} zueCVlPChNyxdPp$h$R@G`zDw1ehbE?S@fDg$hPk;!b8~P{Y}Nr$O?NGV^MA-Bc5r2 z`%xymb9%E}^Yc{ZpKW?DLZ<^mfCkwCtabg*#e%1agX!OfWo(+kUxV_)yKhv)7u5?} zpx|NMLV?ZN8j3o0vvDSUQGh945h0acpG932UUJ+Mq>s3-ZI@XvJFfUoaV+v-@p0`# zgUCZ=zxbZ2?D&M!3+O~}&d;o^9r$0I-qH3oMXG6JXyhF|?ZT>55mB26wQ3lsH$?m-$bAJ|fjW0|vnh7aV-sT{3 zl(Ip4C^=bvuDz|5tZ!^+KoGPlH$WvGT*M;y^{)`|5Io?}gtKIW-8Pf7&*hmYrfDVQ z&M$FS>PFna&@*9{ZiQ1_p5l9=kL<#Ta6Hz_V3leib0*IObEC**dzoWW2_CYm)Dn!I zWNRvQ47YsT)#;hDU%D}*)W)Z-u*x#8f^HTsZZeMJsj&+DhzYaew=SfH(kpo~DpZ-Z zL@V{QhDI=-m&zExO5vtWoxdxXI+tVi5QHo3-uJu>*y~WSmJs${hT7XEm%I*{oQk{7 z<K{v^O~Y*0gA03S>ppn!HSD%9Lvg z2M%OLmou6`p;x{ZZR%kVF~|JAQ=#_5*E~Z5vjiEb_!93dfq8eIUVhQ zy8Brv2yq)>&@=qA;9*aXYw56p^2~4J`=%Y;jT2uHsrq}_y_a`S`Wv*pud=Ccpci32 z&Y!);d#e7}1*y8mTFc_fp5c2E_j9CehN`W;-9;(i<5))-GyQ>cDWA79*IR_loB5hu zVE!thfH;37^-8pqEb=^x8!jlbxd*+gYWSv^nuEP7&nDwY+Tch2cBXqg+@s=(C! z($yPbX!0XTsz93@(xpg=D5gx}xHAYa2HMlu@JH%Hpr6`d$D-P}U;r zTyV00eTSByY$F;9d{3Q{oU?9r9P^d~B)X9K3A>cAuVBWCA%p2sknBNv>kr!O5EA-} zUXD&)dRaU*4Xj6t{FBt00#93B16zYqo1h~|tgkGy>GQW}{79PO77pFYECsl0r-JIBeGtBvYOUVy+<`UbiLp9; zz9|j|xj!HF=mb0X{6TmmFeI(}^v0ii`1RI!!q&D>C<;X^SdR3aotR;ysL2e&3aRVj zsI3>j2`#B*DT1kUafr-*$gZQwy+WyJ;wd@GL-%Lc2}hzHho}k5Yuo}9HV!tcqryl; z!1+Hcr`?&>6=u+H-?jlP^8W(qU)?UV{{pG{zd#BtF4(JP+|8=FDuum3E5bvoIcK^S zRfuVML&{VnnOb~~8T9oQSNxvFEn>a~>BWE$?}2cYl=uGrHhfWbCbQ5XpSHO5MU+%g zDk(^Il(I+R5Om|rJuhH#Y!9QSeUcPwZ#GF1t+{AVE z=C0XOrUG~rZSpufkfx?V+M{VCyUZ3!-9ym8qVZgf)5svlO_#b6$8CE8dq<08<}#$?%s}#;keP;6NRG?6;9Otu zVX=?lh^uKrD%FtGJW(S??2~&qA zFe1w+QJ`hVyz4d=vAgfX1g=lDKq?^M_>)gr#$vVW!4|v|ABCl5UWF!>zL&y*W_d!V za&0;~JOTSN+x|Atp=al0BVm)V339+uA(p+?ygY4Nm(tLgdzA<@@CL6MxsvRr>oL&lHW~AT3c27rXXVu0#eBtsRzn9l|qMW_2(ExR8`3`yzmVys0F0_Y7KGTm}!}OyIu!QSD&q7m|1mtJm z2hLZ|=Rp`{8xdfxy4m3{GKLkV{4#2kDQHyD(Fbm-Cw2(38wo-qi80Rzp%Lp?_P2qx z7mHog?xeyz8}nz)mm)lr4_+oJ=0@B|oK=NJ%p#F2q}htzLDX9({z(=GxQACMeUmbf z#(ADL534Xfi!Zu+hz)zkJ`d?lCM=d)d&IG!e(2>;(E7odKWPI*wkwdU@ON_@EqZC> zNA9A}z+JrHfz9sO>YWg`(GLA5CKmG2y<`U~B6uR&^y!(4;!LKfQ!IAa(9qeigZl)#>fyWnxIlI^tWr{%UD>-(4v;;nh{XcPu=@;B+lN94Usqdq6l z&&gd^eiuLQ=52!#ttP4ULAeYyBR1M{~OGYUIn ze`UU5D9Qid0Z*?2f#nhO& z7%~>4Td()Bn8lQO&q66zUeRPhN@PK-yl10qENo~!Kb_NU z{@ioEzhC8EXOB6ek9o|!$wXuEz;xINj0Xp8oYZyo-9f9ov`wD*M6H~wp46BLku}1D>ATlu&i)6b3p@a>?6n5>FCts0t zg2iYbh9tK0Ql#geup~A2LJ|8Pk$59NV{gZ7jBZFsVtX1Qmw&Kiwpk5oQ_u*7wAr7W zX0}B^6WcV9*&(~Ty*+88X#g%{h#6E8Z(I65ttE@;t zAtW&-LF9dgBXgk% literal 0 HcmV?d00001 diff --git a/requirements.txt b/requirements.txt index eb49ede..c3ee74e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ Pygments==2.2.0 tornado==5.1.1 +prompt-toolkit<2.1.0,>=2.0.0 diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..8dea9f6 --- /dev/null +++ b/setup.py @@ -0,0 +1,44 @@ +"""yldme setup""" +import setuptools +import yldme + +LONG_DESC = open('README.md').read() +# VERSION = yldme.__version__ +with open('requirements.txt') as f: + requirements = f.read().splitlines() + +VERSION = "0.0.1" +# DOWNLOAD = "https://github.com/dylanaraps/pywal/archive/%s.tar.gz" % VERSION + +setuptools.setup( + name="yldme", + version=VERSION, + author="Peter Bui", + author_email="pbui@nd.edu", + description="Pastebin and url shortener", + long_description_content_type="text/markdown", + long_description=LONG_DESC, + keywords="pastebin url-shortnener", + license="MIT", + url="https://github.com/pbui/yldme", + # download_url=DOWNLOAD, + classifiers=[ + "Environment :: X11 Applications", + "License :: OSI Approved :: MIT License", + "Operating System :: POSIX :: Linux", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + ], + packages=["yldme"], + package_data={'': [ + 'templates/*', + 'assets/css/*', + 'assets/css/pygments/*', + 'uploads/',]}, + install_requires=requirements, + setup_requires=requirements, + entry_points={"console_scripts": ["yldme=yldme.__main__:main"]}, + python_requires=">=3.5", + test_suite="tests", + include_package_data=True, + zip_safe=False) diff --git a/yldme.py b/yldme/__main__.py similarity index 94% rename from yldme.py rename to yldme/__main__.py index ffa9c61..3fb14e5 100755 --- a/yldme.py +++ b/yldme/__main__.py @@ -23,6 +23,7 @@ import pygments.styles import pygments.util +__version__ = 1 # Configuration ---------------------------------------------------------------- YLDME_PRESETS = [ @@ -51,14 +52,23 @@ ('cse-40175-fa18' , 'https://www3.nd.edu/~pbui/teaching/cse.40175.fa18/', 'url'), ('pbc-su17' , 'https://www3.nd.edu/~pbui/teaching/pbc.su17/' , 'url'), ] -YLDME_URL = 'https://yld.me' -YLDME_PORT = 9515 +# YLDME_URL = 'https://yld.me' +YLDME_URL = '127.0.0.1' +YLDME_PORT = 8888 YLDME_ADDRESS = '127.0.0.1' YLDME_ALPHABET = string.ascii_letters + string.digits YLDME_MAX_TRIES = 10 YLDME_ASSETS = os.path.join(os.path.dirname(__file__), 'assets') YLDME_STYLES = os.path.join(YLDME_ASSETS, 'css', 'pygments') YLDME_UPLOADS = os.path.join(os.path.dirname(__file__), 'uploads') +# current_dir = os.path.dirname(__file__) +# current_dir = current_dir.split('/') +# current_dir = current_dir[:len(current_dir) - 2] +# current_dir = '/'.join(current_dir) +# YLDME_UPLOADS = os.path.join(current_dir, 'uploads') +# YLDME_ASSETS = os.path.join(current_dir, 'assets') +# YLDME_STYLES = os.path.join(YLDME_ASSETS, 'css', 'pygments') +print(YLDME_UPLOADS) # Constants -------------------------------------------------------------------- @@ -265,6 +275,10 @@ def post(self, type=None): name = self.application.generate_name() self.application.database.add(name, value_hash, type) if type != 'url': + print("looking for", YLDME_UPLOADS) + if not os.path.isdir(YLDME_UPLOADS): + print("did not find") + os.makedirs(YLDME_UPLOADS) with open(os.path.join(YLDME_UPLOADS, name), 'wb+') as fs: fs.write(value) data = self.application.database.get(name) @@ -316,7 +330,7 @@ def run(self): # Main execution --------------------------------------------------------------- -if __name__ == '__main__': +def main(): tornado.options.define('debug', default=False, help='Enable debugging mode.') tornado.options.define('port', default=YLDME_PORT, help='Port to listen on.') tornado.options.define('template_path', default=os.path.join(os.path.dirname(__file__), "templates"), help='Path to templates') @@ -326,4 +340,6 @@ def run(self): yldme = YldMeApplication(**options) yldme.run() +if __name__ == '__main__': + main() # vim: sts=4 sw=4 ts=8 expandtab ft=python diff --git a/assets/css/blugold.css b/yldme/assets/css/blugold.css similarity index 100% rename from assets/css/blugold.css rename to yldme/assets/css/blugold.css diff --git a/assets/css/pygments/GENERATE.SH b/yldme/assets/css/pygments/GENERATE.SH similarity index 100% rename from assets/css/pygments/GENERATE.SH rename to yldme/assets/css/pygments/GENERATE.SH diff --git a/assets/css/pygments/autumn.css b/yldme/assets/css/pygments/autumn.css similarity index 100% rename from assets/css/pygments/autumn.css rename to yldme/assets/css/pygments/autumn.css diff --git a/assets/css/pygments/borland.css b/yldme/assets/css/pygments/borland.css similarity index 100% rename from assets/css/pygments/borland.css rename to yldme/assets/css/pygments/borland.css diff --git a/assets/css/pygments/bw.css b/yldme/assets/css/pygments/bw.css similarity index 100% rename from assets/css/pygments/bw.css rename to yldme/assets/css/pygments/bw.css diff --git a/assets/css/pygments/colorful.css b/yldme/assets/css/pygments/colorful.css similarity index 100% rename from assets/css/pygments/colorful.css rename to yldme/assets/css/pygments/colorful.css diff --git a/assets/css/pygments/default.css b/yldme/assets/css/pygments/default.css similarity index 100% rename from assets/css/pygments/default.css rename to yldme/assets/css/pygments/default.css diff --git a/assets/css/pygments/emacs.css b/yldme/assets/css/pygments/emacs.css similarity index 100% rename from assets/css/pygments/emacs.css rename to yldme/assets/css/pygments/emacs.css diff --git a/assets/css/pygments/friendly.css b/yldme/assets/css/pygments/friendly.css similarity index 100% rename from assets/css/pygments/friendly.css rename to yldme/assets/css/pygments/friendly.css diff --git a/assets/css/pygments/fruity.css b/yldme/assets/css/pygments/fruity.css similarity index 100% rename from assets/css/pygments/fruity.css rename to yldme/assets/css/pygments/fruity.css diff --git a/assets/css/pygments/igor.css b/yldme/assets/css/pygments/igor.css similarity index 100% rename from assets/css/pygments/igor.css rename to yldme/assets/css/pygments/igor.css diff --git a/assets/css/pygments/manni.css b/yldme/assets/css/pygments/manni.css similarity index 100% rename from assets/css/pygments/manni.css rename to yldme/assets/css/pygments/manni.css diff --git a/assets/css/pygments/monokai.css b/yldme/assets/css/pygments/monokai.css similarity index 100% rename from assets/css/pygments/monokai.css rename to yldme/assets/css/pygments/monokai.css diff --git a/assets/css/pygments/murphy.css b/yldme/assets/css/pygments/murphy.css similarity index 100% rename from assets/css/pygments/murphy.css rename to yldme/assets/css/pygments/murphy.css diff --git a/assets/css/pygments/native.css b/yldme/assets/css/pygments/native.css similarity index 100% rename from assets/css/pygments/native.css rename to yldme/assets/css/pygments/native.css diff --git a/assets/css/pygments/paraisodark.css b/yldme/assets/css/pygments/paraisodark.css similarity index 100% rename from assets/css/pygments/paraisodark.css rename to yldme/assets/css/pygments/paraisodark.css diff --git a/assets/css/pygments/paraisolight.css b/yldme/assets/css/pygments/paraisolight.css similarity index 100% rename from assets/css/pygments/paraisolight.css rename to yldme/assets/css/pygments/paraisolight.css diff --git a/assets/css/pygments/pastie.css b/yldme/assets/css/pygments/pastie.css similarity index 100% rename from assets/css/pygments/pastie.css rename to yldme/assets/css/pygments/pastie.css diff --git a/assets/css/pygments/perldoc.css b/yldme/assets/css/pygments/perldoc.css similarity index 100% rename from assets/css/pygments/perldoc.css rename to yldme/assets/css/pygments/perldoc.css diff --git a/assets/css/pygments/rrt.css b/yldme/assets/css/pygments/rrt.css similarity index 100% rename from assets/css/pygments/rrt.css rename to yldme/assets/css/pygments/rrt.css diff --git a/assets/css/pygments/tango.css b/yldme/assets/css/pygments/tango.css similarity index 100% rename from assets/css/pygments/tango.css rename to yldme/assets/css/pygments/tango.css diff --git a/assets/css/pygments/trac.css b/yldme/assets/css/pygments/trac.css similarity index 100% rename from assets/css/pygments/trac.css rename to yldme/assets/css/pygments/trac.css diff --git a/assets/css/pygments/vim.css b/yldme/assets/css/pygments/vim.css similarity index 100% rename from assets/css/pygments/vim.css rename to yldme/assets/css/pygments/vim.css diff --git a/assets/css/pygments/vs.css b/yldme/assets/css/pygments/vs.css similarity index 100% rename from assets/css/pygments/vs.css rename to yldme/assets/css/pygments/vs.css diff --git a/assets/css/pygments/xcode.css b/yldme/assets/css/pygments/xcode.css similarity index 100% rename from assets/css/pygments/xcode.css rename to yldme/assets/css/pygments/xcode.css diff --git a/assets/js/index_interactive.js b/yldme/assets/js/index_interactive.js similarity index 100% rename from assets/js/index_interactive.js rename to yldme/assets/js/index_interactive.js diff --git a/templates/index.tmpl b/yldme/templates/index.tmpl similarity index 100% rename from templates/index.tmpl rename to yldme/templates/index.tmpl diff --git a/templates/paste.tmpl b/yldme/templates/paste.tmpl similarity index 100% rename from templates/paste.tmpl rename to yldme/templates/paste.tmpl