From 24e9c168f53d8490ba4dbe236663cfcf3403a065 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Thu, 9 Jul 2020 12:01:53 +0000 Subject: [PATCH] New feature - LR Finder --- README.md | 29 ++++++++++++++++++----------- images/lr_finder.png | Bin 0 -> 79037 bytes setup.py | 40 +--------------------------------------- 3 files changed, 19 insertions(+), 50 deletions(-) create mode 100644 images/lr_finder.png diff --git a/README.md b/README.md index 36b45e3..cb9c26a 100644 --- a/README.md +++ b/README.md @@ -4,18 +4,13 @@ [![PyPI version](https://badge.fury.io/py/fast-bert.svg)](https://badge.fury.io/py/fast-bert) ![Python 3.6, 3.7](https://img.shields.io/badge/python-3.6%20%7C%203.7-green.svg) -**New Includes Summarisation using BERT Seq2Seq** +**New - Learning Rate Finder for Text Classification Training (borrowed with thanks from https://github.com/davidtvs/pytorch-lr-finder)** -**New model architectures: ALBERT, CamemBERT, DistilRoberta** -**DistilBERT (from HuggingFace), Smaller, faster, cheaper, lighter** - -**RoBERTa model support added to Fastbert** - -**Now supports LAMB optimizer for faster training.** +**Supports LAMB optimizer for faster training.** Please refer to https://arxiv.org/abs/1904.00962 for the paper on LAMB optimizer. -**Now supports BERT and XLNet for both Multi-Class and Multi-Label text classification.** +**Supports BERT and XLNet for both Multi-Class and Multi-Label text classification.** Fast-Bert is the deep learning library that allows developers and data scientists to train and deploy BERT and XLNet based models for natural language processing tasks beginning with Text Classification. @@ -199,7 +194,19 @@ learner = BertLearner.from_pretrained_model( | multi_label | multilabel classification | | logging_steps | number of steps between each tensorboard metrics calculation. Set it to 0 to disable tensor flow logging. Keeping this value too low will lower the training speed as model will be evaluated each time the metrics are logged | -### 3. Train the model +### 3. Find the optimal learning rate + +The learning rate is one of the most important hyperparameters for model training. We have incorporated the learining rate finder that was proposed by Leslie Smith and then built into the fastai library. + +```python +learner.lr_find(start_lr=1e-5,optimizer_type='lamb') +``` + +The code is heavily borrowed from David Silva's [pytorch-lr-finder library](https://github.com/davidtvs/pytorch-lr-finder). + +![Learning rate range test](images/lr_finder.png) + +### 4. Train the model ```python learner.fit(epochs=6, @@ -211,7 +218,7 @@ learner.fit(epochs=6, Fast-Bert now supports LAMB optmizer. Due to the speed of training, we have set LAMB as the default optimizer. You can switch back to AdamW by setting optimizer_type to 'adamw'. -### 4. Save trained model artifacts +### 5. Save trained model artifacts ```python learner.save_model() @@ -230,7 +237,7 @@ Model artefacts will be persisted in the output_dir/'model_out' path provided to As the model artefacts are all stored in the same folder, you will be able to instantiate the learner object to run inference by pointing pretrained_path to this location. -### 5. Model Inference +### 6. Model Inference If you already have a Learner object with trained model instantiated, just call predict_batch method on the learner object with the list of text data: diff --git a/images/lr_finder.png b/images/lr_finder.png new file mode 100644 index 0000000000000000000000000000000000000000..d9770aaaa1855e2ffbbcc2081b21bd90f1cf46f4 GIT binary patch literal 79037 zcmZU)1z1#FyFW}xHzM7oirgF}`7oGLBN&! ziUQjcJg|Zs^#TV+T}mB6)t=ce;zgAa$xG%LhOdQ%dq$nX142e9oHZ7%qdr>;XAetP zZFh^G552dZU@|>wB(s^dQT(jI<-CkzA?Yy?i9TUiHxUF{qZjD2q@iDlh=@>CQcrz< zVAaFEJ+#w~{C#_M^)#j4Ab^4d^O|Twy*w~J@-xz0y1m4jK1__@#|4nE*4q&RRZaXH zJc*l5-U8**W8MNK5F%$R9^OWHH6jcGYATBolAm#4?~eO-r&`P&EHgbSElLR@Z^U#` zq15nG)dUMOi>-(nbTiJkh6pf;ejGFx%3Qym-V19OWDF}MpZ#f~k62-d`C2^_{xn*4 zvz(Mhmqy%$VDqw#_qEkR&Ydd*CxgTYbn^J?n^*P>rwkA_jIcE0sBRw1utw{4Z1?5T z2od~cM362!Ui{fQ zeHEFZx{^wx%ls<$%yCEIJn3YcnX1p@)#B3h(ks6cetviKrNxwn@EATYUlI*W2a(|X zSkjJm7zT{=9*jy8h>Y_>qym$8Z+lgy$34F4WDlWoJ6Qy$5Kb`@4c(vUR-+PWq=U>2 z-WMC4S_EAN;S3h(Sd<$(z^n3QDMC-?OKSu@5&S~fW>G<2WXu3fd${kg1RePHWD9Ut z{^;mml8p$xU~;e#R;d^z0^U*y{v@mp+^0hPgK{IDrSdWXIZtFK20KnnK5I(ljXI)+ zXmcjwHo-Qp6Jis>g@|jG&qrhrG;e<#2wVx2uM))?p3{h)6t1u1Y{kiqN*{)xb8l6y z;gt|feTT&g(=m%SVtb%8wqFd6vjjzz7~xkoTz^_B%ddnwQ3;gzGAt8;wKN}oVn_tH zhzXh46A}kURY4m}zJRI-G0myW-I@rO|S=M#X!L`n3FW3OPfJ`3!yIXHf z@EFI9TZq6gVmVmYPdM_Z2Ww3j=O=>T7eOk&7zu1#O&mt#JCp+C)%1wP?E2nUk|!Jb&IaOmQ690JEiQ2;gDgHP0XdAaG!vm;O9uO7IC2)r9%4|^hfTL z>QwTx@C~PAkg@1V9<5q#!bO620_MPn0e;3rE3u1wdR51wy&{asnn~$NWz@GXKD|hS z(*g&H{SXTmtAKuz%+9W&R&!`G_BRe%!|C}HR*~>kj$W=!&N^>HZc45%@isv!!E(T5 z0B2x!U@zf{$?&~T`4=sA)f27N;+IAHn(s(JXibeG`2t;s@t9^YfAG zLUy$-y?_GM?D0|u`So!655EjK)g0r^OE$$>B9elpNz1&-(sZ|e7!0eY?Fhwl)|hUt zrd-v6ZO{&0AJEM;|EREv-rn9t*!}8MxAT3x1osD!f{Nc7O)rFd`O)Y%qG)+pf=DN?l+Y!5mOd zo>ZjNRYYhnx=GuK<~r+oG<`n(3H>JpUB&cND@e5hngWR;1w?hYW$4wnsc(yK`%*ZE zIEP&!hV_0d-XjMJ6VB4kT37E>-`MV%rkXYPUACo#eW+YyY<6j`zkGE`dS`W)im4s~6M~OvgK0;~ zLgpUDPjYLgh^Q$_+j) zjxK}F{QH+7&554*cRp8JHHsEz=0_=lE8vyR%b5+Tvs}-7x5xcAXA@V(o>Lxzm)z%@ z9>3j%O}=q*LXaR8-qzmTLVaFBw@o*!X9vgP_izt#_e~EP_a+Y|_Y^M(5pt2A=seqn(S2amLg8uSIQq(uQ*aA#B9eD$Mj{r%32${1o1NST071J*st4z z-990FHIlTBawD`PZUmkFe%J6W*0Fd?AhJ4Kmv{#OK89q#7YL&(-WexZ3YlW?8z@WyZ!XJ7YHhLOqHa~IT?T$6Yfw>QkPg?S?2X4Yb1 zNp5LoIr>X*f~NrMr1cvAUJK4pG;u{yN<~Vsw{Pg{kavoS&WX;h86vT=v>BDidNdy8)4R`pVS+Y zP)RKUJ!XUEYaLOM&Luhs-FLb)`HSRo{kistM(f|7Kf3Rpj^GC~g=wO{LVPt{L0dMY ze>2ZGuVGfQR1sykXppO>uKo5{d<84A2eoHyt&QvOla){R{p;&0&$6yLn@{b@_VTRB zb4i*BJ|FsYTyGefGZ=k|^)l+(JOj>x(?}dhf=KM_PUqAO^Yt}VxGUdTJIcRnZOOfV zNP3~is==!{X-#L7Xq%`JtXXHnIalW}|C`Zgs>~{5ck^Iw{K5^Q& ziEnJeXg+NRy{0sb}N9K#( zj%-Iu+YeBr86-NaL~>1m2_N;l=9{Bo4vX1-pZ3R+=p2e=iWT%0FKYKw=gRFj7nVJo ztri%g2N@ZJsDw?A#)sjZ$=S&{6=6?V_t6Ix!v+)&U3bwXT_{}vcHMTpOXZ#gH@3^3 zeOGBTu{6;_roMy^+NZK-Y7Z8@TjgvghUt-;zCFHW_vVjf51v1-kW6MxOsMN1f>bZC zYdbA1VOkbLtkxu8KK_QK98Q~@#6whkL{h-MRu(8~W*8#!yTydbMuR0xj^HZfIg#>3 zQK1OECA5R#=lwa~t`N6rB&-v@5GEHNR#oL%Xx^O)e_Uo~ZC&eZy-!jMj`1vvx&ak! z^bL!^!t|XwG&R@PW8V+cJ3nSjU%O)UTC5;H9zLODXTR#t@5r?U3S3PyZCP_gMHoil zGcpWph$RdH@Cg=p5d$xv8jcHwK?2@!ftN%k+<%Y4C1t|@_cJ`{^NFHr;9yPC;o zGc#Mqk9JNX=bKMJQ`45}+D_Vv3VbGZHmqP%J7Y6eHyiusOJD@t_<)Z#W=>#AHydkP zM?N<}>VMAQ13o{0%|=c6&nZry1gW(ZRVc;nKATZ;vA$&mQ466`Qc?(EW`)t9+{_fp7HV_9J2L}sq28*M+trOUd#nzGLKaKpi z9SJi>lh2m+PL_7Il+W#gjqRMB1gWW?JNkeB{u8H}o8|xZWb61pw*}lF+w&1Nc2*GE z|7#n#RN(nrJ{3zhGiz-LOB-N#fIft{xj6*>IsgB6Uzq4wvx z@xj1|z{pC7s=LANr@dIPl|1RY!cC6T+=b>fv$8CHcpnFqd{2w8^9nyE=`bPAHWo7v zp(Quauhyx+{_%_qa<;tHQjqTEx%nV)R5ZLiy+5>n7&9vTB!Hq65l)tA%lO`FZ=A_%2%NL_uT(nX+s0*jiC~s!_0l{N9&OO1DVA4 z=&uGlM8q@A1RFRb;ma7^eEx3nBbI+Yp}YnCJp8;j|NjfXj|LQjQ`n=O#GYWbjL2c1 z&hx)901^31AutjR3iMVTHuo0Z_y0G#e_}PFq){2rHYfUd{jLoubN@^ParkWWuTcDG z#_;{cdN~GP&pBSo#ayyt3LSm8UpylF>o)BX5MRMHMwlhNsolCJUM8Wv97%uJ{Z}I( zH|(Eg%0c)rtxy3c4wl=J%V*8d8k!$`!a zHd~<=o$d;haNqWLyGPCT_?6f&NSWo-;YHA;WN?T zOcr~}j8+q)fK>1Q8B}8gR3dpb|5TIoSp8GS&;M%P9-$ifB}Y<~xCuR&HCCVR-CuLz zd1~q)Sg|L$afH%oG5o7fSZT^|5u09)z445HKS5G|LjQcFrA`wD+9cn*`DJMP<3+{s z08>R^vZ0U8FHW!PW6<#1Ux7DU8Nx$6%U%w|5C0y!ObSYn1fk@VO&>bV)n(1piZ$o? zNgqYX)siQh0!KeBi`l`rGzA8Mp_hZ(R+_8a!_#qyFgl4{i^Cv#KE;kUYK5=UU$>a4 zhrP|-dzu~2idw(q@kuR3+o1a$AqAt1~sJFoN3eqQfnFJ-T1NueJ70yOrm==}0Hek#jrUv!x-Q|r7Ow6C=L;JWCHk5&%hb0Pri zI&7v`1jo`y2WQ;>VOY%!z}&^1s++eZ;a>JSV?9dsK51TlP&#wkujmPZKOC(&3zZLn}q#ss67bofs8 z<0Ive7ey(=GUtf~IYMc|op-TaQqreIMPsQ|(L=W@nD~{ts=(g!GVI0B zf+El2OQGahZ`X0d$J6A>UrPKzI5bj$8IR`$;QSQxU0nQpti942rR1yOwi%-U3^;es z>(vm)*2BiF^wr#WrGW>{OI*+OqWo`+E$0*RW+QWtb+hKFL4&N#r5pCs2A&6%XCwR} zRej|A0w>*gEFo%}CwW-QnBnQZBD}kudr(Q`C6cy>5%uOFdHH37o9)HQQ(E95_C9p+VDx^)3>JH0n_8fN|9XC z+Cj?);u^f0Bjw^Dm>BXbKh!OWQuLa+NkVR#fsEF*TT)RTQQA6a5Noc9lX{`GDhLdH zu#R~O-Thg{(?0G3=coXl5-^VTN3B;bH|A_%17WAZh5Q=oFQwAkne!8_7&5%#wrZ!F zi7dXeAB*$Zg^;MbThq4&a;1UX?e?8?-L@mQx^$B%bcpY@mhagj-duQoz2}k-xjzUy zUQNyjLXv(IQs6!e9QLrYH!L`O>vsK^W!q>n|IjD=$j*lBE&Wcs_JX>FK+n3Wqk@du zy0EZ4w2M_vdY|5N+4f;5SnE>1{)h?Hq%@Qs(?pTO@^DLbGhKQ)`X+$lk59BA{d*U2 z)Z1;l7f0i58OYs-^bq$=P_Ns1Pv^^}F!7Xlvse+tpck_i z8F^WY4t-<;-{T&4@>5ywH+kAERX#vLH8vCZskX$A4@bTwP42+*!}?TO6`Zaw;d2u; z@T!0D{FgFCwbeY9@V!b3D3{WSHk`HTqn|2I6R;0(p-hZcPS__ zUVJ?L~!eSu;WR^1-9B@2%SPc(hNh!z_Puy33p;F@YIZAE_fkT}Klz5zo)W zu>^Ci8l}hQ~H}VKM$!!q9?IRClId}Fs{D@{AeuOZg)$5 zz0GmIy&3f_A63|u9*~F=uxo#~#MlXhwK$btmRat@$Aisjy1=`_8=!T(-u(pmonM~O z`l#FB+H3>;5zd0knqe}19Q|;K)4%D2k;Ta}c(DsMR*sNAm}+w5OM}1z! zoRT?DsxrEZ!AWiz!}CK9fb0s}%&Pvg&;qPpCa#S4t5=a>%?Jv*m{eoplzvaBebZS> zLKP}>+yM_CCq;My@u8eRK%_kFr+fh~G;duKbWk_Xx~PWV`{`yQSqm|>I%lCeqAAFI z$$e{QUzjP#eC@b$oeYUu~eg3qw1?wo!bCrJH$y!}L^5v=I z;bnFcA(r-rk)|i{eLTy6zd+fo{g4a(bJSB*#NnFW*Ac@6gW3f-QB554g#E*XZRD`$G!jC7>&YpagA3S#Q zx}x|G3zym3{dZoF+{)gn%?AT{E9zHUq))7@zyXCXuzcI-i&AdiJ)Uz05^>M*rY7o+ zf?~xb6NR4qkwWN{_-R^b@XC|RTf`nl8cyg}IaAQl@wx66nh(l{{%o5>Dm~0|Uc%@N*~ESZv_y99ihMq5?3CsslSs2$gY%`)NOe^VrQ= zI2#nmzvX0%aq={@D$HNsZGCr4aHza;k;HZHfJJ(3(%J03nIcWcBx4WGj`6}~+co(L zYXVH4DgPIUxMIbj2w3#tFGw^PjV}_;upD1NglTbenevr-V7q!(kTfOFfm&UtF zF@drGZ2_mE1O(-7woj~bigckvkts2?tc`8&E$K9M&OZ+;|{9&dcXpx=3bhu~TUeh8WlZbe|IW9}5HU&~ilYB5l6La-=!*60HIl>31k2p42XKJi*)%RS4-9SGoynh2++C zxhB_HGXljeAQ2JD2wxz);Xg=c!lR+rnSm9T(MzfAzF}i>y-;5_)OpBl>!kfc;!WQy z0E*3R=PDxc9%3vhjpGQLW(7mQBRlQjuVooDvb9>YnKG%VMHyVxIdOfBF0)+ddX^ik zBVh7npJP}v>Sgcq*yFtO#6d%!yryQK9XhC3$ODx^-Op%^?8Zr*t>6>WQ@3AogCWl3 zM0r-nC7T&M=z2aumB+EtB^ecF{(q*>MhG?++>=3lY)^*T<8*7^306>qBH|rLh8%V) zNc{~YjUo&p1sP74Y(eO#P75>JJqY6dxhUp%{V=#6nBqP_bMvYc*AH zp>f9_JVK#FgZ8CuN~^Dem!njms|7p`<_y88crq*aOr=R>dFfev zXCAAAexH_)5Ru6fP|EVALc`GI=ly;LH1mp^NKmJ_;k!gol9b5+FGu2JU$lhoBC}5W z3n>Me@1*{1VIuV$NrjKrpb9uYQ9{``j9#59Gpp0md6)F69o-a2Nbdff+ zla^e9oLS~{t!{Km2Urt5hbRfII=ZrOjGg@v{9BD3kwmP3@6x?5H@w4_6(0jo zyI8yC#02wJ5#-#r8_%MOPqU#I1|#W}R;>9c!%IZ8hxl&6i7X@jT?asAdO zPP!mc5K!qS&hi=Agn#qa%JHY>L{55e@xTYNiwXQkfZWHKTb}1#H;T+S@>u+$#o>ugR?vtUnDFn9nhb36T zD*2ydbD}W2e(UQA3wn;st_I1oMx{+P`Ces22N!AGC>f8erPp^`TLokI=nmTLBg>Y> z(~MDIZ{tPKF)EoC(EAU-k06G&*bTRca|P@srwH%T)$9bMAyDkbF| zw>wCt&=2G${UTg9MKrJ%|O0FrD(=umMm17dK7&@3wx?+UYIk#G^z zJ)GAok59`9*W!hsa1^vm=p5+#GIo@wqB=2{Ydk|UbuXj{^(o6&>~`o5uxB{2shlOk zyms=E8P7(I3K)G;zpR-zQL4oc&YrhP-al;Fat$tk)kp%JJ)<~gvSh-k*Z15yk+D`Jmf*9W- z+9fbt_G0gv(d4>9gvJbBqs_fUD}PNgr>Ov9UkPR*;r2;r|B+byxgbh~$A$yO5ou`> zpOB7FY>wfAVr}V`?-p)OKx>!LtgE|c&hLVxCEz444dm~im0LdHBEx{IbsCs}9m;_x zOZaiY599rO@#pB1*Uc5h8MQhSqB@jjZ#e^bhXC{=TE%^acRI4h@3NXHXhIYD4%TH! zhGQJj59Kn)dDnteYss7XV2!i$+a3>e#)oy|D%9v*Q^FJPgl1K;#M*W2c_?$6`&||i zw6F_HL*t6Tt{q-TMxjs_Cf(>Q_1tWaCNtLrB6IVl`;=5;>|?ZJ9;1_(aX$tbk&1K!RU?hY~@(GcDa z2rm|WC-JU0qfiugXAISs`a(XJllh+fu64J#gmJy*Tm~uQx|<_d&v*qdkjG^~NT} zho)Q()QnT-g3FR&31818+rzDjR!No}GKT9x3Zdxsq39~1g@`0=gVbMG!Prqw`-(lW zk(@rSf_ZtO&{!Kp)?;44HZIGC6lUQORsK3kfCu+A#4zmA&#Z@Jpqq!Hn|rXq>x-uc zjgOs%{rdTUucaS*TW>G%B?Y-=am5fK*Yj)PXLfX;hXSFocrx-?Trka$!mj44ue9wC z2X?>gHZw{RbA#9YNxq*eHefsNMo@rvz&gD`2mM17rtHuXvmwUqR#%F)xN83KpWcXa_R1YdzaCuSqEL`??y6S&BE@R%mo;OT)r=`*l-|N1!+h4ni zlV?@c@0o5GrmI!8B=-Tm-nKN)jU89n&m6?umbrv8yO?|RA@-i2F*airZCAe(k8 z`#rbowuVrC;>X=#bHM?mCEmr62Hl=I{zvfrgvCI&kh6)cUTfQB$3y>3SBUe?hqrgk zmZZwx9W|kxhpc*T{(n|;qQ>szw^A8y_UK9Se3m^SmCqle z4(epPI*%N+3=@0D6>fKa5!!t_S+@;$hwaP1tK6CH;h(75ww|R`5aYm~VlYc`o4 zWgKXl3?(9qgEhaN>Fi;Guwcl%i9vL(Pa}QLK&wA9SzFvo&!$rH$TI5vAeSOzp~{yd z41g$&rqFZvov%1%p}x6oG8r-0)q;xT{R#?s`3c_S`I96AXtG-TfiKbe)uuG{54y(} z0X^_C_4qX8C@{2-NSR=@7MJ4ANa$>7j}gO+N;xU!XBMh-(C{IOdtfcLEETRDXJ|(n z%hIZzhC6_I4O#>rqTW{jjA=2V#@+hy%koW0#z!v@N+&v1IMak@t+2+OGxe0DN#Na~ z<`Dt7i#)M(MJj9-lWOW-_cl3e!lG8pNO3U{rO|3i7p3cg7fvv!!?pU>HX_o7A*>Kn zEp)jW6b7}u5=4hDo)O58s{{))r54eWtCyF~jF=c*8-yIsM?LX5oWI~nke$kfMn#ya zDk-3M^uC_(Cty#!79H--{1EtN_xHXLai7Lj`uVvPAz1R(94?4i>wME$5vIN(`G!tv%{-^xQ&r$wjo^sV3TM2h`Ux z7T-%$mu%_?@V|reCi1uaQAN9Mz0t{yH}j@W?E0WPl)tR|z$Xl+qjzuR$ObuFzY4dO zhyI1+&Z=NQ0z|_}XJ2izpu)>!j~Y_QVcaP(Zdy2G==+Gs8IW79V?2%=E>l_56CB+S zQxadYFP|D&AlzWVlv^x_TP0}0ltrD5{u(W}ote)R3C&sr{5ev42ysa!?52~s6PZ7e z#xIiPGOsErZz06j8Nma~-&QL~ZyMsjHK-3&uY*F=Wy_cqeQd~J5wQ?AfX?w#)A^kd zVK4P1xwNJB7cIlH2NrI4q$#ERLbGjjUbaUc%^otDA7|JG&z0Sg<)zV|a_Qt{T``jo$c zNC(lN0nB2~-`ao?CG|?gh6uC9X#C$IK&zi0XHqLnll0Ets*i{S(1O2qar(c65D!>b z3uaGPr|5~l6eWNEuRsg%RqBGuf6H~}aBwEIxLePRaTw3l{|Va<$3AoehE;#`+uxxG zh5`)@4G{#ifVl#_DE(V98jDBfHJOe7=&ApA zZ|Fuq3#1)Edpdt>TbT?vA9qTRHSye@9aeeOBDUzE`qW^9IU=FbS z$<3I-j8E5n!b#bc0IAPwq7xSLZ>`6UdMqa*PZU7!Y%?}p&cQ_HAKl1*Vr7(8{Sg^S z-x|gt#76e=?)=gEEjpATy+LdJ>gPY|)yG%S^p6rXH24lD%x%t>)imhwDI`y?r6(r z(DUY*N%cDEA#l&QPy6S|kx6EzJ?`D^RbWL6-G2O*{;ZO<0QB&Vqu1H}*(g%m*7&nx zAkwZSAsZLC3{cOjD*;%T&w`YiMJ}0tCqMwDw}soa0oUky`xx+^Z#`=bherUr7Mb&= zWfYCaML$?}KkAOU{vR3hm$Go#y8g6sn#Dj#p}z4G5TunGAYQF$?Fg>V7pmsKS%&Te z;wd3Z?orxHFE$=F?HRM}2+ruFEPL#g?Rd5m=_8-N>E%EZB*SZ0`UR*1IQieKia|#$ zXTcPY$02jr%u&yU2-yF{E99CX4ta=aoGi3yuRN6_;%(uNXn% zTJJ5Me%UOowaFkxNX&nm;K(KIxI8DfQ0m2?p z1bYC^O~0}aZa%~~47BL<%ToAT-=7uod|djTwPt{%uRTh09C_CTaAhPv<&&N%(SbD4 zFlggyFiEX)f#K-mvkGXf{vkaa+5;w{pY%cBElWiZX8jh&d`F961qhm&`N>tupT$=2 zeyK{6;im)laIMiL2$uwqDZC3lcLx|p58z|Uu>wN*%Zl!iIErF>b3OGjr8ylRK&J%H z+tg#U-*2!v*SP^~*vG9afH1Qv;+z+Ie>)-17L;n&_DbD&b=62d;_MeG=O9T7P7hQD8`q>XN z028-FN5OyCU;?p+qI5A;wBR1LoQ>E6YFNI)3b4cq6}kYJRH#4`(aq*_63z;q2?u0P zu2O(MU+uyYMyHXELI?PHA2)y~g#z4hiTBBRv~al+*a$hqr!HaussqgSE|&U*iR1M} zF*KH!^r_a>)kaLew1Q>1S2*fF{^=$6-1oy?Z@W8GW4;6g5o_!Z>9M^W)6Br!$%`N( zf1@_=jpdP0x?k9YyS>Lmk%9nMg;WRn z>(Z)T;$7}LJ3v>(3L$gR)^=MBs>!%_#|9QSp?p_b4}T$)e^?#&ktSLodpy%v+Nyt_ z>~>4|sVGjCkIsA@5HD@C0X_sOa5j{K5li$ABT=dWm^)VMZNLiE!0&brz~COUzt8w* z5ibUblsqKoAr(zYk=VQhUT-xlv(5TB^g-T*d{~0#Dv5+VS?H_Jva|Y$t-IkY0R9OgXAaI)bc;mXydE@s%)WG!sapFru97S+(`&>V zhOF2A>_zDKDgyeUumFCYmGQ7|am)W)Ys2TVwLgXElI7#|mNJr_T>&-(rnA6YTRzp< zzQAKR4GwL}ce!@bbD9Zl916%hN`@(V3OJOsNm4SfU@7qJz$FWrUCRmF22xfv8%-d` zO1R%9U?@=!rQLOeTI`E|LPA7Vj}hTSWc@Muo|ra*-=%mZcshz5OOecJnCo{SAc(6! zl-G>#fq@MY3(y1%c>yA^3rM2`20(u6Q6;-;7Y!H5FkuG2URNslMb}jtokGny!;tPK zMsf~-tdzOW+0?+Ye$3^Tc2XGfQ$-Oigi)br0URy^+H>e6QwUduWGXia&X{Q<(IHzv zi4lP0?{dqgJ|Z)nq-`AfzQbBHirtSlm_0{0(7~@%`49O4X7?2bbOBk`Oo24)q!Wpv zyW;Z^km^qDuNGbRcy3qtR=%}Oc4Da@$6 zv?ZbsBrCwm#~kRwa(qJ@_$)N}gp7Ba^%NF`Al8H&uC>7KSdB<(U~M@@UIQ-`b3{oM&_N=4=v3g||aEVgKU6#-cO2C6~7 zQvN)6!1)l$`OMT+7ULBC5xiQ+v2r#4R_GiB?3V}o5UO9R5HM%ByOEdb21vedCC!tM zk?+%_f>X5_)2;_~G~DE+CHm6`&hXwPCSP`g%a{MOV&6Rb%-v|2!`s*EIIYfg7?+pkLWE=odz?=3Qs;` zeJ)DrSQJisiYoiG(>FkAE$|zrxE(;z!MLN$pW;woN;^p&rvt^NXSMyI2vY{DMdU}E9mu8IL$t&{oc-5{} z@X>XK1)e^#2bAB|3(Fk_lGK>st`)UD3H~$q^}tpogh$*Nn#CrSEoEqnpcZNff2&7=@h1I8D&b4J*2G$qpHa)v!9$K((OIF+gH3;HH1;K`2!tScR-=SQ!>Y5%_>IuWvN?rO6zSIynmd z11~a7kZb3BI~6)7t6nJLS7BgVsSvX5KW;NsdFlhT#S|0z9F8<;7QY2$50rlKl}ADl z20T2O&-E%X>jQ(g0~r{OsZ&S6^fFOn)hM6=*mZac_d~EK%7L3l$9d(=6(@e{TB|hu zw3SzZ8qe#kVM}DF5|Z<+&kL3LIaxDt&q%~^*D+ZosZ`|bh8Vq6t%{c(7@IsWQoNzE zG1Y>B*zMDw^xZ*>D5-`h2+sbA(>6>+)g}U@FCnLM4BmQDhEhC zM8eh#uc=6a=AoIy^CaqsgFQR}8eVpgd3_b3^C3KmLQ1j4T*2_APE(BExbh zg)lpgkV||iYY0(@J0cCT8fd7ukcRo*|EE@sImYhz69z9r@XyjWR9ef1Zvz(Qqf=0e z(e~edM3`BeL9Kd>K)exy{@iSLpXZ^RK!WE}=5(pM&qjnQt1{Re4wPqoqkwXMH7QETkCn; zCej(3W@29;ZJaY=0>#d2>fCr{i2=O?_%2yq=Ht)Z;P=eDABh4(SfM zq*nD_)~bEF6+vC;OcVrt<5>jl!^wYeq-dtJRuKQ%ztI>x!81~{o%I;`7gAJ3Sm>>m zUVVJ}>0|#O`1G{m`uAn%FhIlaU{J?v{$+YKe1_(2DyZp*|H79r&-l_$?40?3{jq?D zlmOelx0)^COF`$qK<+bQhtI?oMEkqH^B2#+6)kVY@^3e-5ey{&`e9y6jDGni@BPme z-mw0n!`eQ8!DAIDlri+v#2PN9^}2w9dG;vF4X8l6a-xOiw$4rtn~#ElRa2!maRWGe zf&g<)r5yhLcCnc27oMc1nE1D1)%cz5f3BY2pAxO0WA0WBA!+@nw`NicYGLF$)wL# zw&QTaduk6oANg-Uoxb%9EED4(%e{h-2lb@+*z0{on z938d5!vL&A%?*~9l6JK@n!9c_H=nPfL~!7qeS{4wU(lNF0S`|6e~=y`~Y zU>)4|=tux6TlpWY z9{`zI7uF)hENK!e(P2tMOEJUqb`weXTJ+hl*)`0wtk1s-4Cj%*(i4O5jjWAu>ngV8 z8c@1X)Xf-&=Vw>w(K~&2H{$_7^qZPzS8mAj2IvKBaf&?|TMayOs!YxTYzL1cI3HiY z-lnK2y^}<;p8ErjC4h~|w@rEA%F+TrEbSD6g;UStP9*Umx3xpSGKKnVu6wQk`!OqM;_6Rpf#rH6 z4<-UCDfoK3(ql+Rz^WOfQvkZ+?{TP<)e)+wHNGf|7P`EIt$ zTqdo_D%6Dc{?wz_nBViP*D;T1wsGOPrt4J(4&1Wt?hu+pjE|*5vXP@2z^Vq@-m`zZidYi>Q0H9AUUSn|bvasJeKzURg#5xp~8V;Np zUSP^j0Ulz~CC{T)^)UxvIfeia4m1SNCSYJ?d_vAvdgt|Qegx`HjK@=QX6D@v01}o! zU(sg*z`usC9pE>*oPU2H7;|B6-mk_Gg)9drzrd2T4PVj&~bJ;Azeg(B6bt{ zpX>9-V?AjNV{o5VE>mHDf8T=RXxV$rTu%4N)Pt|*2~#JLl{)ve05RkZ~z6lC~# z7;vL4Q^kU@Gll#J%!uc&rpx$iop=9irrMDg!cS7r%Q*j>Lx<;jfUz+Jk|HWZkkFYr z4c*j;8(^KRmL&yh^B{%3x!wRxG(|dI#$j)s$-a22-QqcZ%MhYGHb0^lYP4li8V>>wd=J7tq2VXC01&`f zkK!+HBLNJdV$B!v+|sS{KzZwop2fmp5MZYOAyyH-W)JRF=RsE(Dtxw?rB7oWhTZ|* zM%e(S68@r`FC@o+S5DI$aExm%G-d!K8eBx{IR8-#9sn~K4qOY@Yr`QChEz5)I_5>i z3pIyl>EUiEp<_q_PYov26gmt%Wi`r}ga063KsnI0X=Oaz7Lf7Zu8U z%Lhi@rZSwl`fFQGTxW+qKxD20ti-gOlm(#JmOCrFL|7dkOX&pgv@jZo%V`Fi(;gAE zEdy9xx(+IaMm!%GJ^5r2K@(npk2_?TdtPCk?tr}$#9GyjyL#3B(#J05}?F5rz!~vC(?W|{Na*Vf-|IY@nflVHr2&=0H z;+GWf@cLYLQ3M0O^Uz2uubq&a(;2^xEFM5`og4<1kH!?8g4ee^AbGqWj2A^hqoiU&?oAX_pM8Lr5Ws)XYocIar!b+Jt`6aGKZw zQRm9a%CK?`Z$zsN6ncorod78F$x~M0i;DM>>$3Npw8q8RE1n0k3)p#S6NLjkFSE)5 za*oEIxEpfr9TC4OejO1}efO)J%8f4Y9aJj3i84)i400%v;q`0QEG%yQ)!x}MW-)#= zanH&V^7d)v4d%41d{XCgm;7!qj*RrdJ45Dx6-E=Ca=`e zK!hQLM}!4$w4m((6ZM0wZ|G;C?IQct?B4ZybcT1{1)onpul!AnRvsCGxb z`l7gaVckCLP~M$L77`~jfO{uf@ckz`b*xm(&w(NdbN5j6+R(RS5`0)^6LuBUSu(jf zJ8?diuR}o*p`h10Jg~~k{rm5iWf|gSw(_oz#d6d8W2MPcnzp1~nbE$_#5md)wVubV z%BhlWm18J%5CCYG9Zw=_Tre&!`28Iq2}Hcy6{T?xorPldn~IiH(B!~D^S zMuz62HqTpY9%#eI1?bE9l5@tiqI@cEoJEK*So2r?BvFbb9TcJ9$aHM#*sM~aP>VhE ztw?*n5v1)^m#H^HT1*?wQ$pw}WsR$MK5MV(iT1l$o|K?sPcZX=26aIEn)IyLiV|r< ztQ6$uJ|9lL++GXc^&`bb9YD0xCvo3NwVhz~O8vpVf78dTY9a9r;++Oi&qAT-raN~6 z_h(Ca62gD63nS^ikM2EUkip>0 z-RU$$t)7Nv`x7(}!?mUSc6YF%MY(62f6%J~pde z-2+pD-f&NCJpHNmPn`U2nL1@!7U+{i>zlODuzXb%P-?0C5V?wXw<+fbb;Ym8k=jPF zKLS=sTx<$YOgtrMGj#AlHKsJ?kyT+MOF07)w@EzW96at?c+E7HoMLOCFApi6u0vYo zDuz62xOED9V{9q=L2D@~_RNACsjEiZ3bPtlGAi}~Z{O1A;;ZQA1HWU4EgoXQ1W6l{ zq~gkiRBS}tQqkwi08Sn7J)_3E@=7S`j_2t>v7Kf74!R06&iiod#cDfuE!uZ7h^8WHMK5v1kx^j7M~w$c_zPvJ zh+e)gIPt!%?!}n!$N}U4-m!|Gxw3{oQkCFvdR6lZKUzenwBljWDtw*urlN}oy$wJm zmd#cre|1^5uUkKwNl|^NC>+WMn%`U#qM9F#N1W_EHwz3XGs3B=dH#t?dauP{pnu)G zh+z~8*0*Y21Jca@kE_27sH%^;Jy1HNLAt|DOGK^+IYqP(YSL^m#2r)+k&5otTUat`Q;=H6aIV)>HShS zMDkJ3U3(mCnc9_{(dI^fYkrr;w6EUb7=TN@DSUiHxamF<>uXEZb({p}D! z)h(%oiI?KA;he1=Lo%x`VHG7W>0jD^5KS3fjxQaAhr!aM+8ej}2(d8?+g)@! zFtOrOJ{OM|!*XL)vZY9f%MZ1kpo-Q|Dv6GMi28ZBiHD>&?4HrmUsOVzsNbPN0FJNh z=l-`Ox5xR5lu06uHvC>s8lxYRqNIpQ>$ls87L`uy0rCOdjjGbhM-H{LoO{wB-3kNl zy^|GX{q%t|gHB|{1v(`O_N<;@i9)p?;#`u zQus*O5y(uIf115!BOdj6Sx;NccO$-MToB|>{)$O(gQ^G~+bn<5Ze2$0j!q@kihego zdr}HUa^T58rfQ;F5#}s0GnA#Z2+6|XQa~~xK~Ah841kfmZQB%JcF2)9g*QlLYlTl z1lY+2h67KQqV}}c3KXYgFia&O#KKP9y#i}y3O6760&@3X`9kJAfWzbv>>L>WGmW+@ z2`g#l&!&~%if$miGq@jx*8IuVK-T_m4h{^PZxlA4#AW z*BWf}yb^0TG_0OLmmZy1cIrQLr`uthn0Ncb;Q;|IKO8x*IrzZd3L;;ur6@`?S1y0y zG%2_mphvC*tp*Z1aWgUFZK&}SVu>byxO=v*2~0m&rE5*bnjV5N_mJ|Wl7>(rq0u$y zPz=lxuBmIkmVLIS*lrO*vsOLP0^jIk)Q8i*u3Tx*$Jh0P!QF_|t#lJ*Z9)4mR>@7# zzMP^!?HxSHvjd)wG3K~Q2_aBxKc+)Zlbciceq0^RNEL^Diggg?7lMjALGnU|%fw#U zCjtNPm-1K^FWJ(hA|~~Q7(v`~#)B3W?+U@;={kV}xUe)x6TncHa(Q2^h~8cMZj*g< z{DNgZJ@D2l(<`JQb`;q+5JyA%c{f%-?w^9EEQg zZllMVs2lPS)-mfZInhY>;oFT0=%GBDFZ%!-|B&pXHmSeF{4cW10Xg5PCZy)lDD*X*gfEb8m%yI(Xk?S(rJo z6n?&v0{%&tBG(_ULWKb@h(~NQXKkNNWzTdG#cDtdku|raqJYfc5>qXV1BGz`PuPXW zI6dY_s&75>tv1J~SYZ?Ot?|M`#A-Qs+~(YpBg$*f?!3@^#v>VrCqz2fH^LRBRP=ZT zj{{cjRIkRnj{P)}Jf7PI1J|3*o6@vakS7r-8>l%bN(Ixy8FUs9Y3)DB%i_onuc&>h z!KW3m?ZGgK9FrniQ~h-aH;F(0f%=cv)E*N~P51OL?Ug3uv#toPRjOV-=r?m@mB zx4FRqr^L5CE05xCPo9uBAG+_^>T2I6;l#+o$Np7!kH!gw+bCQ3zbpWF-8njR<$b1E z=iUu$)h#`9o^RLW;0=~Rhme+@z7iF0dS#tzmdX|4Kw7Qh9D1w;@_L-)(at4xMcMY7 zdHXVX%BHh#Y}utj*bZxRIi0&*Dn!9SF&xe#`yd=7jjIr4KP6z}IuY@n{*tX+5F@+r z^$COq#f9X~Tdy%liJCd?GP}3M@8C5b+KX0WD*jEm;0%ha?U0PF*o$S4N_XR1g0<{k z=fa5TOH7aL9P1oAktc5Hh#L^M4$06N?JH6EWO84arGf)$j66cO0BIc&6nsRFH9Wp% zaU@aZf-im88xy19s=3!b6OM`Sv50WJ!XT5E6|{t##~|>e!%dT-qx8%n+3LMEMBeyA z?N!2*G-5m7%-({Xw&qJFXKE+w+!lEzs4g1S*L0Wc$$UEVJgjR@2W?Qk8it_;@!aZt zaiGuImZK=m;TicQ9ZX8(w$Us}Q^|N^vS2+!8O~if^J&vB8)igNzcq3A%Vkkmse`j9gN8T!H;4@d8-8^eN{RA4tP0839=STbKp_2rWFry zu$9Bllw(@q57;B)&7#$MFpxbv*= z)Ct64k`=fDzB+QiQzTCK7d_bh8t6i?I<1HkLzqdc71%x--Y8qW1Z2@4eX2RGPgz!S z-;)M;?rewoDbhJV7JMS9h<@kG8AT<%R^C*!O>%CfR-7~4zw(nGE))h$s#d+waTXce z{#)rs-qq&fyKgaH?*ES|stpG1SeKX@qh5R2@@(w^WW{UD<1!UG92l-wpZIb%{a+{j znhp*S68^_6c0`C$v%9Jzd}kF1G0FN*DmYR_K`%QEebnszV(`Do0Y{%+ont>0Cgy+t zFRPmvr8FQ8h#0W@vg+H<2)gW#P(4{6fMOOe?YGC{QYtI4GkVuTt1It64Ps^R)O!lc zP7DgtHsI>0-X~OQHIOkxoyd!7Uj(r}SeTm@cZK-d^Cvl)DSa#58=n^e8YVdC*j{{e-$E|pB5fw+P*zKb8kyC-%{;2n!^TXZTHHJlSB z{Fg55bFY!SVY-7~S?=QPfyciccLx|itS@=2uDk>kU4SOh5DKUnl{-ASKDEt;_>+8l z(PQXuTle((?^niYJfzS0qjY#O77GX_G2ofj`JI#qhri<>M zF3vS|1(;7X1&N*q{lezMdm%VaL+^RXDwwQTl+os zGW?1}5wwSOl7&ImQ>!w4qx^&H@Ao0!^sQ#=llf)8`~ItYkY)-t$h`VKN@(XoJ7x6F zzGgQ}A^j>hhL0=jOM*~dom5%4Akkh2?8ft;ZeKs8b?9E|rR`9KSZwq>w^Ng#wLsEg z=j~cKbru0-5eBVHv>GqKX-Mr{Vm_n{f?Wy1w_aVIl#~=h#9~+9kGo1qaQ!SIcqhje z6G7JnG`8qj05zgbmqiyEj&rCU#EVQ4uhS<8q+RDf2RaWwwAp`~G)YpD=z+I2QgVrm z?>ZE08LtiZYT|NSaSU&h6v||tZar@xbm})XHv1|M#r#6!TpUXk5XM)W#+C00!kmgZ z7%n>0->tB90((S|u)Bs8`T_GlpUKjx~xM6?o5 zG=^gc3BlKyNkTMxQYd6&hq(N0ROkg|xoY_G{F^j_5UnDR*veD%I$dH|F({HcG$de- zfsQ#tV|&R^53MpBikPk}Q;l_qQTTP#Rkh6Grycz<>H!f74~d^b^-5ZAA1{>T0C8eJ zdff?V(Up>r6wRio@-&3%|Dr?UpVuV@@w8dhAG8JAW!yt{e<__)$zCJUwYteq$t+>i z)%FL=hcMC!msiv&5Xw`P{d;xBp;L+ojkMNbsQ0M#M)$6arcZjop=V@!M8;#Pu=gSu z2S)v<*=9MMV>b5#a>Ktt14=Y4VPHQLcqFvYKQoe8i+Htsy+b1)NucfR8(EOa_9-WY zzc9Mj-)Vos+_D5LL!D-FR;wH`8de)3Zc(QJ@>QaZCj}w7h*a;YzWh+B;eF?Z(5_H; zU5Lf_-U?Kb|Db-WZ`SAU%QELhWVZ%dIDTZbW-f0HCi|DF9QY~&`qQe#_`Aj{%&q>` zpD~g)$UO{jq2RDicKKH7>Ju>$`FVPvf&F={8+$v`Fo6>Ucy`QO0NLqxdNF6X9cVwi zWdO6{Fhq_o36ao<9mh7xk8ntH^CzHAJWhxbf4Lz)+~SdRnM-)w^Vwl>Zfcj?#pO?t z+7tq8OQS&JJttg>(~Swbun(vhsyQL6%I=$Py1oRZDUW+(E{a^9`$7ke%O-}KE33V! zCSJBAp_v`|f2H1~83EotFSgqpFHF9})v@jB^W874hZ`&9)m;J@#jB)KyZE8H(*gt_ zkg_=s8Kmh0#_C-raVHQWEw1J-NaK!R4Ct!=eAX&4Fzm6`gyRcy_$H`R353fZz=YE- z_q1`F!tGon&;T_0=w->AgSS4%a=0blk0M*5EZr7}01l1s&~INeQCZzPkL%eJZC@JB z`|LmFNdFBURg{`bYa=|Uq81V{0+hl?S);Isq!#{9t@;8$pqX3f(%!;NpDyW^DX%jk znca74OHF1$l6EXu0Nt(4Ph&blmB=`1s`|eZYC)!lSFZY?6S)v=VM&fTVTwA7v++GH zAAu*8u(+i)H-O0q)7CZqU@Yb@g)PBq9jsM@U)M6O!Xe%letl6=5NqeTXQx6hUa9go zJ~q8!c5VVETSo4Qs?dY15g9_5_AWL&N*-yS3jO1A*{!e!$3p%JdH$L-O$tW03b@2E zhVKmPhBeC9tgb+=IMYSJmo?hMOZq!V$q#T`y}Py`rfZbG{py_NcD`q>VJ-@)l`50- z>C64i=5Bu6{P~Nd`38bl9f5 zhWd;6Fug50`C2+bhextOn|1=J;;(y~pMhW@=76)o#{YO>&;ccXe1^E^r(Sv#2{ArR zFcS%>B(2uEs?bHSFcd#S5lMOkNnv4y2Szu`wu0jG-`<8LY9eEzRmP$;3GKoIYd~@< zQ)oC$YpwBct74xAs5%%+6~VIjZzRX`FE-skEKsF11$)654r%h(PGcZkN3t%4k|DiN z#vbK{A}C7q9tt;sWpV4T|4&J!CmK;a4c0ZXrZNQFkpA4Du)hbS>1IZ;ttd-$UQCbHn(@Qqc!$!Os_Vt@DcOmgAeU0%VTRc zS6) zPQERFpN#5Wy*)}pP>+UyMTFZ2I_)?VX+Ooj4U}_V)j`P+nw#pwAGv%47W41=)gqE2 zFggTzWMCJtv+5d3{h3(XAa`GZ*hMM$+J2K0wWU`Y3-adZoCOaNnWI;JUC}q=k|*yu zAQXxxlh{`3x<|S~SJ_9LNJkN4Pmp6s(4swVpe0eB3&Xg0Wp?n?@8@_;NW9ya;ut2g z)yKsmN|G7tA~x{7SzP3IuSjN2Vq3!vKCQutX1UP(TQLHvw$ik}SsaV@Ql==KXX*Rx z`qI$E3G73Lm(TyPyTp7Elx$;-lU_E4=G2H=bRh(b?wE#5e!z1r4+-;tSLn>vZGK8) zWP`7U>(RU3px>sf7=I_#w@=tIXVy)%sL}aa2W{+)T7@^bZ%Gn2*-J*`E;Y38lcPMV zY2Gl4V!h6G{cbuJu}L<)LKS(fer^e?2u1Q1{TyeUwMvaU3)mLNS_> z2r!$zVY~JH*(XgigDy_oLRPWD3rsmgNpVGK9qCpmi$bKKCn zJYloXjOAC0s7*Zt&Fnn}=O@HZ79~kHnnYePSQ-BV;rcEOMxg*pc6T$#j&;7oBd{~e z^!2b1m%GHS@u!b8`(^ zUWI6Xup87tEhT1>ufL1x&r_y)hrp~=S`f4386fI_QEFBJikVk)n|9}^I3TcU7_&Y0 z7|UwH%J#IFn*rP~0?W7D)2htpCEju~C8k9RRiv16YK1*=_xJb^1(DMJS8@)K$AMEIN&) z=3*Ty!|}IpB&XbxDCxN$Xc~GO0TE(2T#N6~OKewv#|yL7qx-c(+W&1y!dxLwfTZ9m zo}z9|6ojl^ukzKeS9w##s<`4OKyudfuB)>cBap>N>@BZqQ{WXb1-#Vb9S_ZL2o~!U zjeGUeasfaV!q5BU2%nKMQM-Qh#Acg9ubSFlnHeuc$K%UUW3cxCaDdEMzgm!{-wyUD zphSt<A~#JRnfRU|38%2%s=cuK#gOXeiQZ9dYbo)FydC~{~Ll5GemLqyAd}W zb^bpk)BiI#z2Ltlcxv}of~psl6TCTAS*3;3F4u6y&Pr8jd&*pN?C;#5Y{w_R`3xS( zR3-bWV}Z4W^v-hYdMAHZRf&q!(t=u2q445*3)W{F@&vh{;l%=BU18obElrMVp z)xO-v!r3fiMz_lglReGrj)I#N9qCdlp=0w}Au0pf#teNuI}p06^ycHGHgC@WQYf_KmgNs(Q*xC+`T zU~Ik#7Zy}66K_I2+1}T@_}2hzMco+Fm}?+bv4k5v z2S*~t^8bDEeYuIh{+h-$?WC%)rJaC^1_c$fdYp8ROQpPMT|I_1!Ff!_iUs%N8g%q0 z_>!e~^db@-fzDmt$bzH33Au5Te${pGpQJKrsO2Nl_5BIxsRj8X-IfIwvG^=Bh1K?L zM%J2t%C6rIs^3sli2#dQnUEam0>9-DF{MzgnB1j=Tbg56x%>?1?FQf^b zH*WpnFdG?7j9cw}EgRuN5&KpReu+0uepA33{)jqcN?%ZI-V4U9Y|&z!6h^ z2si9cLk30Rud1kKy4nT@V3_jtY}&xuQ3p-tP-Z6nuM-CmUvJU zfDe9yh1ittaHqu?mc5m>X6MOreV zuBfhKsW+(xtcF4;q$2v_+DY%=X1!Sw%Ab>dS!l%A9!BZMrwsC>`egsu33$gCB_)M8 zsKuqS6w|MQ^d*ef(Vca;ArnB|Z9pHd(<4X1u_KO%nFW|VAaTOCGp_3}c4v`Qa#8QQ z?#*6&UT&7lNl3K0ZKrWPe~74Av0HI8X6QPJhsbTpRH};H54v@}iQ*Hk+)7P(0s;g% zO}#BDn!F`wM$}rNLRbBOJo8guaEJ8N-z(k0yihVWU8}+aaA>d^_6c5&(C%$3oZB)F zNN*N=%6mWT*20oS;G{2DHcv1q6wo3+4EUiceS<=#Dbk+7$t51o?_2kAg}cdlUjah9 ze0B>AHxh<0$ovBHfiqo69t{{1DePfXRe+gJ=z~7+HMl+g;O+~|;1v4(O)v~u?{PNP zxv2eD$_2_5#+s;a!_FWzGDiX?RLev(PH;E3YOa{2ZiL2b$#=uF$KC{RN=H(j?YB(5 z9p&;?;J?V<^DV}dJVZ~7tE)V%!-==7Y*?#Doh}n)6QAt+EAw5z zz%AgDIiU3O9Tz4+>qDk*0Nozdg`&x?c(16x3vd!@pN@De92OFf!e)t1AZ78v`x$xU7nZScthHW>qb_Z!icxC@NWcRt6ouMpYh)D~|Y%iC$B1 z+RclrnHeg$MOssN0BC%CFHKZHpDqYHh#(phoe!OM8u*Y}FztQl<64TzB68UI;IKW0 zCibeL!Bfk|9>&4|u@F-xwNpg>#>^T~ed)D@;T@|%_f=DgBSd8Rf&MTDnV-ubD-g%? zU|5P)ar+IPqOs^vZqVFx)(EqPyNc>AkxaPHpMp~{w;HuDhv#x8k2N97E7x*tG6GvdZ$y5~IghsvlWsB4>YB zTG#C5-`5aY7EA`rKQSr8g)0(u%h)!T^>&)I%)pDr)Q?wEuk zJ_G4Kl^`#`k@~^7kMGC%m?Hyn4IW6;O=hzwde_O4O5UPIX_KXS!zCh3`KVqF_XBzY zO3|0`p4E373!kSZU-J!TmSFjA0~0BOgswfoV|)es;CU|k@8`(P;w5OUnR``6AyS~n0c%R|CZ{ujs}gSwqU1JaoF>8gIYEpO$?Rk0 zDgLuXA0cvT{J|@ubcY;EC$#VRm={99&GNB)Df^UIcENMa(zuV!7WXP#DoxM9`Wowc zRG&$~I?G*aksu=K(FI6of$}5dEb6{j04+2Od8+P)A2hi2*`ZAgct=u1cSwf~+Lz3D z*P(Yp3#B=e*NVn8BOMHV^<^8J)nH!*}6Ru(3o^E&PDlkmx}0gnsOGl zyg3c7EIFYRZWTnYQv`4l&#@CH^(;N|Jc$t{lZp=E)63?PBOt}Zyqlv!`GDG_?-{%g z0d~Pp_rYtZeUx)3DERp}kikUs!oZbbYHfB25`VAaSmW%;ty(rN&f^GS+G84FIWaQ{ z+_39$I!PZ%xUl3rK@>*N4y`4-*-iw+>bwm2vfuOZ|v`O~oXhh^F(%_B)V+;#Lq$ z?M(8l98**Us~2zR8rZ%|0p(c*$FBj_V7}6#TqeqkJ0PYfNvT|C^@RrDWEuPnpoNMX zb75}m5guo=D+w{7e#YkG!FP}#FI$ftTccUST4*lJ;T|p2c~|YW`)LW|0k5brs#(CH zR`W$8b>y?j+Y~{bzBGA=SBMUJJ_Qwr1&1Md8T7EWQnpOd*o;L?(qC$$@LXqj_ivhC zj0nAA1MH*ZqfDQh3&NT>cxHhLnDc^@zsn<`{Z50z*i+G(pq$1DsBkr?Iy$@sB#?X-Y)bmouk?n~4@I6ZwMl~41VwmB-KGJ%dzM@FQ?$T$ zao7)((Xz}^*0Ek#i>)C6cG0MP`$?)>3h_Vu%;uvs!qVfiMm~Z@-p2_CNN2fN_k{^_ z-@s&uOz48X+vHQtLEqat-XMDZ=;E}ghetpYcIBsbu9%`c~!%pO`q_@O2-PUIea z{EZ@B2f44O1*4#okSdPOd_snrhH)@}rTwcBGy9}nCY^od^E7%Vao_u-UKDf=S7c-;jAvbq{ZHXb`rWT7 zS{f$cQ9C93t{&VB1JIjbXP_lpt|ee{um0_Q6J}tIHJu{}Z6#J*Zi)(;BG1OiwVVI^ zof-)Nily-x2^-p0;uORRV_pZZ9*gZ6T;b?OQ_X`KKn!bm*(-(0k|&_Yz7iOqY&C*5 z9c(N0-BXtAxn-Dq!Z6FF*jIzsM)n$h0b>6x)yPFYN@D%pjt0*H>e)kr?8qN(L)#7U zPHPlL^KFpsT7TK-bIh8JhC65nk=Ji2EP?*FU_^n+O9eEQ zrP6YlNvM1*>k(#tdRO`+ijj+`6G(NGP#Yi+TwiTRp3Qcg4>VrB}pH?5{TStt~?U`_elhY7+0T!rOC-=$sw0G5Al=`n9kyROWLoo zWF@0E8OW@xt@1)h@J{ki(uKt87(j!8pMu3()hOH|8c4H)1F|a6L8TrX{c?Ma_s;Vy zkbm-zEa>+Bmi|kRmgm9gi{REZK?wG>al2>AAc}1o0go<(XRbmE643eaWch580?TlY zFYY!A_*-;R1S1l9^~Qt!&W{S>me^5A`?A?FdAm|aRcMl8t_2<7`>Iwq(ks8SD@Q0j zFErsk@t)vi)YiToqQ#i+BaqQ_V2!9}%4!K1TT{AmrDk?v8%(#_{-Q(9WQ+8?EE{04w^BTljCL z_U|jdS_(1!KDHsYt}(=%xR`k5%>$#iu)v&}1O}Q)aER%*5w1j<1vAf|^=Et5bgba8 zNciJ7Tyr`LZ{&>S;N7`^AzR_DiCFeb=Ivub&6QoWm~==*IuZR4o#?mlw(#9&YR5wt z&T$B6rC8-N8I@s$sji$!vX;v%>Q!>q461ZomBHef!2zWK@*dxnWy$Xf@sEjrEh)VG z)-oxdTf@^!P7%C;%~TVdW21^F`$(gn(wu*OvLcr0rmTO2cI3UfO(8!In0SA>b|)(< zmY;^#!bF#?37pAs`Pyt{S6;^~Om=))Z8#84U7X%JO1+$uqZk$aGK^Fm6f+%CW!8qLKp7w!w1a^6C*J=-!sRxYUhS@`Zh zDdB%QH?HUb2N;tA1dYi1|4X}m9i{-Zid?8tiVg?=cUsNll_X<=@Uy`Ef3a?Wtmi9> zhH27qBI<;TP$rg)Sa0*YtbORj(4S}f&qqQYmgjogJp}Jm22pAz-xwzCzkV5@0$xkCPa8-=f@pO`fd&JU?72X!xnKF`H@b&F7KGPb&1awA>NFur>flW#q-V zs`<42TShMIBd!nMp->zj7Wv6)K}|O{J?|*e3c2e02|Ty3`H~WPvQitjh&K43t@pKk z8SM4eQ_ZA~9{0tkjsT3>YwhhidF_olm&M`Q@M%5qzgol99#eX;lj-Bv{~bKmYp&2F zohPe60G$LLEyxC^wzfL6Q2n~~QkXRRb0)Ry1@Wr7qdnauNAyf-adw$(GPN_rbUbZD zR@-FlWeZ(W17A1u_QZEKH>$8W+&Qc@j<>2RQZ&kx2jk+iwqEVJz#TAqql2QY$LeR( zsK_vfdnBJ?2FCR&Z{i*z|6ED|DLtTr3hUIT$Fz>N|N2=~nADHQ7u5cKa7XJQVz1PN z^lP!-!6G@P{_P%bP#4xnuD0QLiiFlh$!3aPUd z2Y`lnI`0lR7MaGr-A3+l4A>5hPrp{=@18i@A2!W(-IlmWmP07D5d8^;qzPG5as&{-n zFe~K8ouOmvk8gwT+fVW*=q4C%98$D(X1zXTmqsnXUp@ift&PuZ4D)f1eP{&M3zFx! zX8UKB-#{OWjL&cO74(Hf1UDzoFiMrZqKeciMQ0G8p(E)hXC!$QB z_~H8WKs2lh7T5}yBKO-;_CvT325wy-&g)Dwq4ix7+7Cd{)4~f?exmM`o`v8jZld7j zpT9DAu8p$*MJoTVMXsHbitpPYouBG=a+Gd3oXxK|nJ&V0Hn%8mNXvB=yB1WZ&}-D_ z^JL0M>&)YXM|O-H8^jdIMnz=CCZf=$$Fo6&TsNGDkMDq#(R2r0{@9`ir+?9Tc$|}z zLegtD0hj*fqwP=*)EI8BnJMb>i=H)No zo@Y96rYOAw^#4-7ZUAwKn@)Gs$sYM#heEDdPW+~G(GyZ~o&HtFG`w2nWgu=P-EMUx zIApjeqVC5T5RG_vofo9GzMlsejChJJ}G{rUC0sugM-2ry}7gAW!IcI<6w@@qO8`?PqVkNCP zNSS#d+KOi08>!8Yuaf-le4M1+bSC1`*x9=A_aB>;jaePFEI6o3Gl4`M0H1mR%EQXL z6{t8cry|y5?`sKPOigWl{on;@d6@coUYm@8IbDzm9}xJ{N|ZLKrOX0iZKw5R0|}g+ z40Gjaf9NMPp39axOW&H4^7VJD4pPfiMaMU!M+C9segCwOq>uj#n5AH4GRF);d`(O| zZj6%BY0H_0plUX9md7M4B^;{Y%~@$Z%FPPg=xGY{^e&a<7+nf^R{(r|L^6N3FqR*3pmtYkPbmbUcb7@d4w|zi{P7e*RTi2?& z#YGxMzmFLWqz>c=LMgzv3rqLEkg`NiGK)5^w*`w09H6apE^Ixk#q@`t03%e&ilkUk z<{g|nfY^J$An3v@-D)ppvmh|E=QTsEDhf#iD{-@_XB}WHl!hgeE_7m-8G!Ilag*>s zRP3iEp8(fcJrI{=wWPbq`QS+7RFA=ZRH^Tw$r=o)GFTx7s_!z2$`&LoZ>|deg!neoB0Lr2%l+a-A zUMlmSAqWWG0t6ZW?AHo*2$t7sI%FTS&S^!$5^CZ)1w!VJ=VQj zSxZ;WU4?%Q|2<9;X{4zVod4l^Qgl9O7=CNt-#2VCD+c{!bxv_Y_3^`NIC?}BEc*d+f&=^E_j1T?L`r|KvTJW)nh$uh zxi7Z<+mm77ibjWJhW+LuT4H{{a*0*TIV&V0B`yOPSWTk}< z$mI+=nX30<;*c_>PW|Vg`)*ySk3rRnrh!kNebHZAWGlr8f!L%E{#tRSNKy3MP!an&-L?5#1S5zk%9&s_|3IW|LPOLPlk( z9x)rbYI!gBy`)4KiO5ijNUYaZl`x~FOv}mf_aE+1Yk-SyeJN&QFo}$7tdoLPVDwhH z@@|27O@jiH04DMCu6Y>Tf46Eql$MxZJxtR@pEVo!hTzQnw{@k^3jvaYe!Gwad}9kTjGY3*ul!fBBXct@mKv{o%@po0vKpc)m^UG{2i8Ol?Nqkb z{Y2Jgdc!o$xAai26E%){XJD#YKtPzk;%o788$ni^zed3E_T3S{TGTnt^-VoB?yG_H z_W@)L`|9U4SsXFWP^sE>Vh4L>K@R8R0`}WclPKm1al63%@^n38TE8Dg!}*6yyou3Q7zo^|!#E3K;kxu*cT zi5llO`^G-2HT%3|%Z(L+;FypnxX~?7uVgCtJ+U7E?T!^-m}q>p58X7>(mAU`&MB%s zdYho~;{g!v6l%c`P18d40vSY=o*k5-E-Cx3+!|1vVtPy4+(ud*%_LoZJfRG2KyrS4 znq?d!Afkm%TP!{S6daI2d|mVvSQjMj;$$M{H&OQYALBZ`erDgT>vZv!^G0;_ zE%7J!^vq*^&_B5{tP}+?GJ8x3TTROeHWnWDeDvD3k!o5Z<}eG+hSQoij1$k#C8h2{&>Hq0JOWM8wAz?+}OZ zzm;Av)^+Z5H|@1Fj&r*(GXBR9ng4s2^^7TyCaT7TL=98?m&kwzcD7}Z zVb%i=Vpr%3e_Uc=O%wMYY-_)V(3siK*1{n!9Z27GI3H!p5)FhjbZox*(5CYgPk`hy zfztZkCTl3Z%);D90SX&iQ=bcI-x!12X+eSRVLibo0M?V@e!7O*VEanqkrk<};v4f{ zRG$*MQtEVUam)JiiaHfg9)SJo)H_b;iD`LiU5JGg%E%e{a2rhtr6G8q>?JFZmWp>1 zQWwa&7U7HyQac1-`GieJfiaDmifm8;hxwwIgIIjqn%yX8y#ivlK%snJvr4;0r2_uS zNzodfFaQ3&xDhR2^y#nX2s-(bE4>SG4{>#D{YB8}*!qEQDN|;HFOGF7vAGTW&=7jl z9LE#f2z9Q0zHRPiExy2XrF7V6Q9nd;K)qwwNM_XBa6r35BWqY_K~~3n&Q+Ib=fz~f zLC%KP^Ior^6!vN`#Kv%E+m&>mE0k}em~mIj{xzPOL3gdg`ckrdHpJf`JRmO%M<)j7 zPPfg_i~GIymDyPL<-&~hEw~Y5Wg3Di%4frw%4%42w`edPNEwW&gn)s(gA&O2tua^) zSseAdYNJRMfyhPO@ctG62Q4bOX^^h$EI+gjhKc&|W`1tY;{MN0UW! zD^L@K>{8K{-_$jVq3)1;*F+hy!!W!1^~E`e+Qik4)$E1S2beCmaY*fCmTy@x=d$Ux z9ASWGga!w;_#o)#YTb|G6b2<$lixj!aaJKUUc9yWr~dT85r7{@ z_bXZ2XS-ALP9gG^Ju)cqL=7b~avm;#J<6wUi6Qx*kQ*`_hC~J>l%PP6Zj5dJ3+}~D zwy7SX777+>k;f~ym8Q}bAfW}kkj+h;)Mf_Rb(yh z!Ktr|Z-f-Vw#KN%3DSxsZyJ5{-#gcq5EEW$&@}$|{z?-|GSwhz<%h}N_cwjcjLI2` zsJicOZq78|!dmIhniLAQHLz@S$G@@OsG>%^|3KAWKnA4-ei{>&!~X?9$=U;g1j z9x1>*n8;J?G%{AmT^weBAG4VZnmcMy+fv&+ZT@*C02ET3q6a|rFPnfuhala}P|Ly<7@U}=+u@ud*=U(=-@f{Yc!SUpH=_a5U!|LWyD0nFo@ z+D6PV|cM? zZ@zenjg!^-@kY%|O#|N4x#!jewaZd?q1OHZP2P&<3~J@(w~wbr@d%ypXDm!&D4BWVoXm@PlIwq1wbmj*}SX&>H%#nsRT!M)Qd60gtwB#m{b=zg{TM|(lKMoSnw8^5@E&JKq zi8A??xM&^9!`Z*=X-Ebh4abcim!ad)$6^c*+{gFpX5`Mv(``ipV|cNWs)#bWd+9KD zz)09*ZxB7bEM>;i1<)>XU1sL~<22J|kcG?A$g>Fzdja3&dpe4Z+pb|YBs$5I$C;pg zTxCz2eh-iCCiC#$;vs;G)%QeZ`_K`ba-fLjccc<57G~~B`u)8bis%8N%}$|*Ge%p- z42Dj*4(n-HDvt?tsh1pR+>x~HZcm^XpcE3NVh6n2YpA zhRK7SuMOU-vEpsppZNtH&&$Au8wF6&zx?v@1<8zaYTau-26+a|MM53LOx^Ppo(kK| z)pdf0sgj(Ga=ow!RD+N(T(MEs?$t^ekaq^xZ>JhqT|4vF@!_x#*2o3jkKQ{iP(nv4 z#-rVl4fWI5#fYR*8|Mb>sz6E&53=8h8l!nq6BF}Azf@>`2uYj zeG2|f1>O@Gkfpu!1@KPt8XAeQNR%J$;{!dTTYvV)h^}AplZDf_@gbSoxaX6H#CmUrm@l~J|Apu!?0a}CU% zg(UAoVu%r(3WEq)P1>-Pdf);n?Xh|nZAQSz$ke2mYX-@%Yr^G{#M^P4J7K;?=8L&I zzt9bNoCd_+Fw5elLc12+tFgiH)lSB_Uc+GsLsN2n?DJT$81;xhqQ%lNB!x& zJZAIV!^{~G(5 zE=oboe5j=Gc9;O?jin{=iHQ_>p6{MHY99?zJ_fBQ@OCBF1AW;}+HjDj$!w|OQEmFyd!hmVjFsrg#oyf#B@BwSr=h9@yOID*|*H zDVAv~NQ{ac{y%)ZbyQbf*Dg%_6p#i{xxsv+a}^IuRc}@nZg{_|Q{%UBTLKBMU*dTJlJL9g$JN zhMzB4&c9<4KAH*^9fL!E&{|MRD5NdjFUsz>Pd!EXk_r}7rssuWEaAE{QM|EFSQQwc zhLKF4y~V!4>PtAIU~>48cgj+<356+RtMdepdD3&_^UE<b+v_1(D13?>5x53x-z3TgNwe&eD2HPzV!>m5_i)LD_DT}vOQbycnx0MfA<_;G9Zv>Maurk`*vCn+Y5iP6A`Fv;}Z+MvQ zVzZDyF=oog+sJ|uUfYz2^F#z8x9~A?*rX_5&u@#P!wV;@M#JBMWo!;fS?;rDbq{^u zbdzi<3X7Dp1NZeV&e%`F`J;`7EQ6n7H}1x*50xuDd1lqTh#Aau8=ATh<0*V3#OPvOLpMmuq9ng8lunEl0cjAiY;m6rc(+M2DIl}I`#gUn`LEitV z1%O1<`PreTXG)zAIO`6fzGr<v+7sh9iH<-+oG4lhD@EUZSc=g}{LtTgrdp`KNJgp^UKA#S$(DDAuhw;$BdRb z8DBhfx8QmslGlfN3Gk9^70+JbYtwzU%x@r=98 z-e_P7%{Ay5MUf4SeZI2xXwW!0jRR>p);OH_U;Z|)H5KIN$`e}76fj>3O*UOjEWAxq z9P;!z+hmhZD>vq2*zrU{j3u~0SVwgF(&b>`a`3kG-7_cpPRFfLaW4_$4<97YvWPd6 z48L>l(|Iwp7d{ZKjx^WZ`r&4oa}%Cqg>24a)JVek0SO&WZ@_2$$nSB)miJI&$Ab3} zUa4R5nwME0Ri>^if#<9X0Ty76bN!;Oh{ zyk{=xPUo3zqWPbIv$Y6Ux>9?J>qkb*=(PcpxMM6=?i!13$W$G~q_jRW))hQMU48uF z7$kfy)FcHZJV;MV7LKqmI9c)}eJMyYbzh3Kfs6vDETbad+i%E%u1(I5vsO7YW{<@(&?x7yRkQ*^&|QV26$Rgrg8S z=&Evw6p2{4m&w{gUDTY!dH^+>fp_8BIbGX{qWbPw=K7zICd|J~}r z#a%+|&%&XPj-hJ_CEE---wCXO`mTl%Wo#uLAHnS}+bn~rsl+X69Q4CHB?;*0$gQ-8 z?cP1u=Iq&(l*DTD?XD#^?tsxVXF{P>tmP{yVt3e7A^}ReI#e1AhZPZT2?32_0`uoo zx+T)YpS$=rkTIWJM)zEQb6F%GPAtd8Ak>d7S1;FV3_5L&m0b7PK5Xxd=R@b0FtC${@6i{O{6 zg}?Z;QyGot@r9XXb?pnXXkr#iS|}=TA_>#_p#KQ+Np69r4#IVg z#G9$@$TpGTVWkDU$;;*oF%RY|_lr)6Nr7KVfwh*ikB0mXJ$sONo-na7Puccu0P zVUVx~QCN4GuJ}-Pa}XGJoZuaB)X0@Qd1WilGmIAdl+f1ZaP6=X1D$IjtI{DHn^DXs zuz#>OlpyIC0+t!3_CVtwtXcr3Wh{^K*>-A3*0p%n0B+^3)bz715=5iIK@i4!Sq+-Yb<)_ zTXK^xSzSxwfeCoWK?!kMvpOtqJ~iKrKHdyzz9TPK%5nzVkbV#_->vpV@p+D+qryM% zJp+gHm}BS^Ct1)+nmIpS+UR1^@{R9AQiz?(t^!{Du>iRo>7g=$=p#%G)^=H>PF4*{ z&w6l`yC^BR^?mDScF^5adl!0g;P(`6h%GBMF57{Tk!z%x-rZi2ZXl9mraUYj!v9X9 z=G8geI8LjU0PY-WIt_~W>7U3$As~tx%qOm!xj+sR)8JYYnG&&G6ets$&+`%+R%E7`N+C038RBV(Fo@)I(r&Esz#h+#A^`Ff?}V5bl( zj%v+ux*5E5qAASoEDvw0eU!PKb)loXLs6ZdhiLH$2E%A3b~cKf)(bkqH#Uk(#sM3# zj%yVn7e65m>3|oR1uOY*xtC)ZT=el1RaWEVQ`yw>*Lj<#HopUx$D{dyjeH9y1k ze=-+?b!q!|x#3|Dr)|b!(x+U>QjB578j0rfP8riY1*I3(Po;%gRz_%EE|Y};0N zgJ}Yl!%v2V^{c!C2kVv6GqRc)J66hipx4I+_UDp*WIpR&SBW!X4sK!^ z$R=+ZN1XexVBPk|DM1URH<#3n`3z@VmrmEH{ID=rxw7SFrU2~U5a}$LM24Q zxM?0cIoS1^xZr7>EXv#UkzD%8+{q`-WGN(P0qZKdOY0*>M9(mC_eQp?=jwlYgt;X) zl{IeDU)Vn5f5zeRykjch#nRw&`4HLpdgfeso9Bjuj(~7=4<+$==2F<4 zsA1afAq8gf#A3Uuaz~<`eW@;HrZLz)|Ge|7T)%v{n1$V$a2r1N&$xOfKgvYuq6&*W zpt>4kN5JnAKHms90rd;}ccm6&fm_>ha?EX?-E$7+B5+NHV~jZ&(BvbL;htji;pGxC~MqlLjxWMc~mcQ_N8#(NXbPaHGq5ydOAVPf+_QTn&zUo)AFH%V25 zj+$T1sv&%CvRrELxk0m}AqhpeNr^6}mr`z-l^DN2dJd}N<^?1#9Ub0>dC3|0X zVo=*&oeX1Uc&?n*Q$SzIsk%xj_4;z;s!Q++6!o2V1jmcEE|PKXbT3``&yEhP5+?1} z)76SSG+X9xey)$b@^?l*#@d|LiMqJ49~R8NO1>aE4!D^WsFLUP6BHJ6RZnEUnF&1B z>HM>PFkkGZ?7(}t%WA3VA+_1abদoJAqLwwk)Bt|{q0`OUuf`Tv@44n_({JJw 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 literal 0 HcmV?d00001 diff --git a/setup.py b/setup.py index 119c814..d5210cc 100644 --- a/setup.py +++ b/setup.py @@ -4,50 +4,12 @@ import subprocess -# from pip.req import parse_requirements - -# install requirements for mixed precision training -# try: -# import torch - -# TORCH_MAJOR = int(torch.__version__.split(".")[0]) - -# if TORCH_MAJOR == 0: -# subprocess.run( -# [ -# sys.executable, -# "-m", -# "pip", -# "install", -# "git+https://github.com/NVIDIA/apex", -# "-v", -# "--no-cache-dir", -# ] -# ) -# else: -# subprocess.run( -# [ -# sys.executable, -# "-m", -# "pip", -# "install", -# "git+https://github.com/NVIDIA/apex", -# "-v", -# "--no-cache-dir", -# "--global-option=--cpp_ext", -# "--global-option=--cuda_ext", -# ] -# ) -# except Exception: -# pass - - with open("requirements.txt") as f: install_requires = f.read().strip().split("\n") setup( name="fast_bert", - version="1.7.2", + version="1.8.0", description="AI Library using BERT", author="Kaushal Trivedi", author_email="kaushaltrivedi@me.com",