From ceb222b536b9ac20fa3d464ba4c1ef93f0e305b0 Mon Sep 17 00:00:00 2001 From: carlosgs Date: Sat, 1 Jun 2013 12:48:57 +0200 Subject: [PATCH] Improvements in the GUI, Gcode Parser, Gcode Viewer and Bugfix in Cyclone Host. Now emulator works 100% --- Software/CycloneHost/CycloneHost.py | 19 ++++++--- Software/CycloneHost/GcodeParser.py | 21 +++++----- Software/CycloneHost/GcodeViewer.py | 22 ++++++++--- Software/gcode_Z_adjust/GUI_v0.2.png | Bin 0 -> 121783 bytes Software/gcode_Z_adjust/Send.py | 31 ++++++++------- Software/gcode_Z_adjust/test.py | 55 --------------------------- 6 files changed, 57 insertions(+), 91 deletions(-) create mode 100644 Software/gcode_Z_adjust/GUI_v0.2.png delete mode 100644 Software/gcode_Z_adjust/test.py diff --git a/Software/CycloneHost/CycloneHost.py b/Software/CycloneHost/CycloneHost.py index 58f9651..b2f16fa 100644 --- a/Software/CycloneHost/CycloneHost.py +++ b/Software/CycloneHost/CycloneHost.py @@ -139,7 +139,8 @@ def homeZXY(): sendCommand("G28 Y0\n",timeoutResend) # move Y to min endstop if Emulate: time.sleep(2) - lastDrillPos = [0,0,0] + lastDrillPos = [0,0,0] + print "Done homing" def moveXYZ(X, Y, Z, F): global lastDrillPos @@ -151,7 +152,7 @@ def moveXYZ(X, Y, Z, F): dist = ((X-lastDrillPos[0])**2+(Y-lastDrillPos[1])**2+(Z-lastDrillPos[2])**2)**0.5 # [mm] speed = float(F)/60.0 # [mm/s] time.sleep(float(dist)/speed) - lastDrillPos = [X,Y,Z] + lastDrillPos = [X,Y,Z] def moveXY(X, Y, F): global lastDrillPos @@ -163,7 +164,7 @@ def moveXY(X, Y, F): dist = ((X-lastDrillPos[0])**2+(Y-lastDrillPos[1])**2)**0.5 # [mm] speed = float(F)/60.0 # [mm/s] time.sleep(float(dist)/speed) - lastDrillPos = [X,Y,lastDrillPos[2]] + lastDrillPos = [X,Y,lastDrillPos[2]] def moveZ(Z, F): global lastDrillPos @@ -175,22 +176,28 @@ def moveZ(Z, F): dist = abs(Z-lastDrillPos[2]) # [mm] speed = float(F)/60.0 # [mm/s] time.sleep(float(dist)/speed) - lastDrillPos = [lastDrillPos[0],lastDrillPos[1],Z] + lastDrillPos = [lastDrillPos[0],lastDrillPos[1],Z] def moveZrel(Z, F): + global lastDrillPos # print "Moving Z relative:" if F <= 0: print "ERROR: F <= 0" sendCommand("G91\n") # Set relative positioning - moveZ(Z, F) + sendCommand("G1 Z"+floats(Z)+" F"+floats(F)+"\n") + if Emulate: + dist = abs(Z) # [mm] + speed = float(F)/60.0 # [mm/s] + time.sleep(float(dist)/speed) + lastDrillPos = [lastDrillPos[0],lastDrillPos[1],lastDrillPos[2]+Z] # Relative movement sendCommand("G90\n") # Set absolute positioning def moveZrelSafe(Z, F): if F <= 0: print "ERROR: F <= 0" + print "Moving Z", Z, "mm safely..." sendCommand("M121\n") # Enable endstops (for protection! usually it should **NOT** hit neither the endstop nor the PCB) moveZrel(Z, F) - print "Moving Z safely..." dist = abs(Z-lastDrillPos[2]) # [mm] speed = float(F)/60.0 # [mm/s] wait = float(dist)/speed # [s] diff --git a/Software/CycloneHost/GcodeParser.py b/Software/CycloneHost/GcodeParser.py index ed4a664..3d20f0a 100644 --- a/Software/CycloneHost/GcodeParser.py +++ b/Software/CycloneHost/GcodeParser.py @@ -20,13 +20,13 @@ import os.path def parseGcodeRaw(filePath, etch_definition = 0, close_shapes = 0): # Gcode parser from Etch_Z_adjust.1.8.py (modified by Carlosgs to output toolpaths) - gcode_sizeXY = (0,0) - gcode_originXY = (0,0) + gcode_maxXY = (0,0) + gcode_minXY = (0,0) travel_moves = [] etch_moves = [] if os.path.isfile(filePath) == False : - return etch_moves, travel_moves, gcode_originXY, gcode_sizeXY + return etch_moves, travel_moves, gcode_minXY, gcode_maxXY gcode = open(filePath, "r") @@ -152,16 +152,17 @@ def parseGcodeRaw(filePath, etch_definition = 0, close_shapes = 0): # Gcode pars if is_first_X == False : # then there were etch moves so get to work! - gcode_sizeXY = (X_max - X_min, Y_max - Y_min) - gcode_originXY = (X_min, Y_min) + gcode_maxXY = [X_max, Y_max] + gcode_minXY = [X_min, Y_min] - print "Gcode XY origin:",str(gcode_originXY) - print "Gcode XY length:",str(gcode_sizeXY) - - else : print "No etch moves found!" + print "Gcode XY min:",str(gcode_minXY) + print "Gcode XY max:",str(gcode_maxXY) + else : + print "No etch moves found!" + return etch_moves, travel_moves, [0,0], [0,0] gcode.close() - return etch_moves, travel_moves, gcode_originXY, gcode_sizeXY + return etch_moves, travel_moves, gcode_minXY, gcode_maxXY def optimize(etch_moves_in, origin=[0,0], travel_height = 5): # Optimizes the toolpath using closest neighbour (author: Carlosgs) diff --git a/Software/CycloneHost/GcodeViewer.py b/Software/CycloneHost/GcodeViewer.py index ce1f7dc..f88e66d 100644 --- a/Software/CycloneHost/GcodeViewer.py +++ b/Software/CycloneHost/GcodeViewer.py @@ -70,6 +70,15 @@ def view(filePath,fileName,showAll=0,showEtch=0,showEtch2=0,showEtch3=0,showDril edge_color = 'b' travel_color = 'c' + gcode_minXY_global = [1e9,1e9] + gcode_maxXY_global = [-1e9,-1e9] + + def checkMinMax(gcode_minXY,gcode_maxXY): + if gcode_minXY[0] < gcode_minXY_global[0]: gcode_minXY_global[0] = gcode_minXY[0] + if gcode_minXY[1] < gcode_minXY_global[1]: gcode_minXY_global[1] = gcode_minXY[1] + if gcode_maxXY[0] > gcode_maxXY_global[0]: gcode_maxXY_global[0] = gcode_maxXY[0] + if gcode_maxXY[1] > gcode_maxXY_global[1]: gcode_maxXY_global[1] = gcode_maxXY[1] + if draw: plt.title("Gcode viewer") plt.axis('equal') # 1:1 aspect ratio @@ -78,40 +87,41 @@ def view(filePath,fileName,showAll=0,showEtch=0,showEtch2=0,showEtch3=0,showDril if showAll or showEtch: print "\n Loading etch..." gcode_file = filePath+fileName+"_etch.gcode" - (etch_moves, travel_moves, gcode_originXY, grid_sizeXY) = gcp.parseGcodeRaw(gcode_file) + (etch_moves, travel_moves, gcode_minXY, gcode_maxXY) = gcp.parseGcodeRaw(gcode_file) (etch_moves, travel_moves) = gcp.optimize(etch_moves) if draw: plotPath(etch_moves, travel_moves, etch_color, travel_color, etch_diam, travel_diam) + checkMinMax(gcode_minXY,gcode_maxXY) if showAll or showEtch2: print "\n Loading etch (2nd pass)..." gcode_file = filePath+fileName+"_etch2pass.gcode" - (etch_moves, travel_moves, gcode_originXY, grid_sizeXY) = gcp.parseGcodeRaw(gcode_file) + (etch_moves, travel_moves, gcode_minXY, gcode_maxXY) = gcp.parseGcodeRaw(gcode_file) (etch_moves, travel_moves) = gcp.optimize(etch_moves) if draw: plotPath(etch_moves, travel_moves, etch2pass_color, travel_color, etch2pass_diam, travel_diam) if showAll or showEtch3: print "\n Loading etch (3nd pass)..." gcode_file = filePath+fileName+"_etch3pass.gcode" - (etch_moves, travel_moves, gcode_originXY, grid_sizeXY) = gcp.parseGcodeRaw(gcode_file) + (etch_moves, travel_moves, gcode_minXY, gcode_maxXY) = gcp.parseGcodeRaw(gcode_file) (etch_moves, travel_moves) = gcp.optimize(etch_moves) if draw: plotPath(etch_moves, travel_moves, etch3pass_color, travel_color, etch3pass_diam, travel_diam) if showAll or showDrill: print "\n Loading drill..." gcode_file = filePath+fileName+"_drill.gcode" - (etch_moves, travel_moves, gcode_originXY, grid_sizeXY) = gcp.parseGcodeRaw(gcode_file) + (etch_moves, travel_moves, gcode_minXY, gcode_maxXY) = gcp.parseGcodeRaw(gcode_file) (etch_moves, travel_moves) = gcp.optimize(etch_moves) if draw: plotPath(etch_moves, travel_moves, drill_color, travel_color, drill_diam, travel_diam) if showAll or showEdge: print "\n Loading edge..." gcode_file = filePath+fileName+"_edge.gcode" - (etch_moves, travel_moves, gcode_originXY, grid_sizeXY) = gcp.parseGcodeRaw(gcode_file) + (etch_moves, travel_moves, gcode_minXY, gcode_maxXY) = gcp.parseGcodeRaw(gcode_file) (etch_moves, travel_moves) = gcp.optimize(etch_moves) if draw: plotPath(etch_moves, travel_moves, edge_color, travel_color, edge_diam, travel_diam) #if draw : plt.hold(False) if draw and newFigure: pltShowNonBlocking() - return (etch_moves, travel_moves) + return (etch_moves, travel_moves, gcode_minXY_global, gcode_maxXY_global) diff --git a/Software/gcode_Z_adjust/GUI_v0.2.png b/Software/gcode_Z_adjust/GUI_v0.2.png new file mode 100644 index 0000000000000000000000000000000000000000..5c8d060abcac0bea24434a1175fe1a7979bf6b19 GIT binary patch literal 121783 zcmeFZby$_#w>G@Qjk-Z)tAvVx0ZJoM(wMkt=?0~{yH&sfbkQKCba!`3BM3-HcX!7- z9#FUYclJ5w{jTf#^PSfYRy{H2i2J_Bn9nOQ5&ly+7jaN1)G73%`{F3naYq#Dk4q2vGS!=c&mCu!*&Q$y^^ zXUmvZ12kS!21b*+^U|JH#DRMPulx#0^Z3l9< zIX15^)A`hon!*(!BUYiRgZ}VOlylt)$0LV-Pkk65I{YiV>CgZ7CJOccCIm5u|7Q#b zPVxWM7_{4>g#s~8(*nMH;?J?9LSy_@9NDX$GRA~C+UogZ!7*FzFW{n3)8XTxcJwOS z-JR*%a|K$TJXq^&r<43cx$QIuN?q9Zcb1oX&6=|;U(rzE<0L8FWim)2g&(Va??}sn zpQGeET#1we>gfw;(do@R+at?i`}X-3(|&no4C})exu>GBJMawRY$**w|bH&?pQf|ey zOBa%4R2(csIA=3`*H~Ct$99&Ro0ALXf|^1&W9-)Fx*XQOo6Y5oYkv9opwZJ|(3NOu zv)PG9!7xvwL&a%#WvZPf=7Xt#vi)L}6wiE*QAr3>)9q`)2HA3~-&CK^q}7n-?QKnW zT8nsic(AYcnzhAYcvU5945`^}??hvlGR84FYdC&dyWM@jhuGa-tec9Jl zPxn@0cq!zTFP6L^q^on<8+X!N|86DfPp{OPrPq1#{LRbfZiwhx_AWQ`hQTs=i}K`k ztr4l%Gr}UmKX}|LVi^woTOB##w1i9=bv~LsaJ{ScoAoM9mOTdkA|V`6TFs%GGg`dC zI&INOlKl^elziYo{kwBkd4q1m>Fa%VF=pdUUGVKr>kwojvzyif|w*Ujg>H z+~L*&tNAR_{)l_-n){*bW}3(FNI$@Yve?aL$rP_dF+@pHYgE6zaDmNGv59NBLBD9V z1C6O6wWF$E$qVm212r8&_Ok&rm=E2CU{=QxRvjIs^IaZ+p5)4V$i4Pm^zR^KgT zPIIrc?2O#ttu5K#E=gIuWVbry`=r8cw9jt7k*S%>TgmEsR@YvqiWB#GzmwBiw_b|< zl6RPX_Pk2x2CTaklltd(T#J?Gy7W?tOsg+wMM_eS=9KIjh`^g%+cOz?BN#ypIhc-w z?dnvP_)AWkrIF~g8=|2f;6h8firw7YV4cEsdR8Xe%syXnS8w{j&OVb`VG4FJ7Gl*` zOJddg9=WHSen-30oHMDuO?ETi((>kux0j6e*NiT3m}~dJg|H~!fawpPJ-35}D&-g& zbSD$RoFwJixW>H~=`B*1kWw7Ps8&7l!K_IqJ0&fRF@)1f1mhzR^}%*3PA=E@$#szr z0mGi0$&C(?=?66jj3ANRoD_ZYEOk;D- zs-#E1--E3$z%=iJgebQ~Qm59)=l3>4uWp#OOUaB*tL)pht$}?p@RQo8)0gZlT{3H6 zL|o0A{GQv%+GeM{WiD`*N$?iT=-}K~uu-TmYZtlq4N(XH%OT{oAK1;7YIye;k#8g6 zh+Hn;T*s4lZ-Z93@OH`m?tCzIIRrGDHCSrMZX2s+w6LLh*7KS*ATHWKpa_z`un&>!^Ty(E2Kdw1 z$2au4mOG(#bAjF>96C|sc1yK4mIt2WjeS$|G9cW#j?OXsZu;c`kwz_sVsn(iDX(MN z^y_1Ojfzuj4R8zzYTuyQ0>m-z$6@`c}r-_V>1fxyN=pRmU0v6YQG^^r)Hx7_Wsv=nbCj(F$|u zu;u{+;oCiP;CW9o8d>Y#USLAPbzuQNYp_GX?i7#!pDC$cM!!6Db!r@lEeHk;GWW7TJ)HP#sHk2ql9ZIh?0UFzPxn)S(buWg$+rW08@mQxJ; z-A`V?u$zsIEY^@UkJNf+RGj8iPe{rZ=uB2Z>{uv>naZemQ!~_QZ}XCI>5<0r4T5Hy z@er%zMRo>oHQy_(lY2LBHcRMXjz@XR%6& z<1U6)#otm&T3^Ma7tHDd#AGC-2eKLU3Dk%N-qOfg<=Pl{uE(%(9a7>CV#(K?1UjJu#sgmW~)owSa@X|rCl<~xKrn~4bbbaeD>wB zMg^UuZaApM&c-4QcRvzf?mRy>n%!eqpVg^cP`7NoH5n7!v9)_ygniTpAIG)VxZ)I& z;W4y$^}H{UzO&(yzrnj%xYVmG&>4SA_e(`ejDVQ&|^R?h!`g~2U(0cJW$8p5qisgoZwRK$i z#P1~%Cs{Y@uM)bqyB*`SzlUVi)*`!gW z*nzn7`N;80?;w{T@W%VPa2rJJSRT^BXXFv>%$*?z9D43P*=<(AH!A8Y_DsW)-orMZB#J0@o*}j`gxPfUR@Qrt) z46hYz(R{v-8=S&66!IvN?`@Lkp|Da?*&#FX>5Jg!(4Eo>;N*B5>$4n+oFZ*5ica$->BKFyup)J zH;^NfqHMFXSYrkzHVy$>14&)93fZ&@`e_e%Hfu%4^niT`Jell9;0!pdfFGTLAE1iW zd)(Q2oynWu=Nj- zsaxPOW!790;Jv>~W5LLD!8z;P&Rvoz$i|pR!1KUlRA^)>@)LnW&D{zAz7TpW^G08r z^ID~yd{4$u231FLvq({!(fW6JAZZ$dpphPXZQquZHKbdM043nMH1;8lXw!7G$AhgLO$4pFGD&*0dZm&^X~Dk=1rECmNg zh8V8k82OuSheqi?F8*r)^I5jf9 zmSd{bzx2x&ylz)${nkx@5_|CTFxYxKSS`F!iT?2*?-#G4FEI;Bi8K41R-l1LaSdf z>*L>Wc;`Rw>luq9%<6wLkGT8)I*-6|_;6dNE*zfZSC|SXl+Ls@Oiu zWRr5+GHyO~0kn{+cm&hss2gAfMYwbmxe%Y7r%`YEa1Od3Lx z^)3}F(x;g0e|+%9w2`HAu|y;FiJ#i;BnYWWKOWk`EDtQLC}QW zDM#Mrz~&LS@dN7Da_9Ic#Q7%rf|=ILeFPrEG1CDak2EkfH#D;Ke{jVmLU6_fZd-Gn z-APdyV^h>L=?{y@G&^Uw8zz*y>J(%U%xTr9>lMarXKDHEiMwxhitHyVK$Zy(GlUBI z?{VpKFGIFAVg($COaQ_d*I;&c2JxJ#>C#3nOZOhezAS$kM_U&UmMyR?T%aoTSzoFwBZob2D8FL6R- znHk7A2qrQFz(|gclN2~0tjHnTKvf{G1>}R|Y(?A2sAnq9cz1rSL@uLT3leb(w^$qz zNFmiUWuULG-@X6De&}4-XP}?Uzz13FJjoF>Ein;He(KaI_5tUkrhx4nW5-dloj)&? z@M8DI#gbDAD#JN2lYuv%+!crt&#-U|bKIIFuLa?6>wRdt7$vivC(CB%s_PM1rum=) zf8k@|C$W$uq?LWAU{sXVwT3tZxJez)_RMlbwcTWt|I&8%qx&RfcT=Np>3>T_oUULdT`=E#5(COD2Ljd*GAKx& z7umIJzh2Pa2(!urOJP5)&@X^dv}l(CGORc$i|P>iHNSVfA_bA~R0daaqt+njyB`2- z-cJub1k}{jK&16XWTTB?FC&g=b3;=0;zvZ~IQ3$#j;C&O;@8)eMNjR8^ zl&zm2W~bSl20Tn-X{0u9;2ExIEBXeDK`@{<#MG!mY5BH)hCAt2SbYF$^Z-8;W*Gs; z8YCC3b!+wj5Sw?19Y?ekgd2ECUPJBk|Ga3i8VK95yg&1bD~Az8HwUV0%O7bOCHd2n z|B<}D2GD9lI89o_ZAt#+p{x_{&ASqj1bPZG5R!C%3#?@f_K$E0X+HxM@xFJOojh1S z9S!R2Lod>zIyF#pLqYqD1{~U@{mH|$fw4v%krKGprV>(`5Tpw_t46_Wc0DL1AEE^P zJC-C7b8?oK|1y=Ags}0JWQfaTt%-6OOBrFiv z17Rl5VX`$U4?M=STPKFawHTcafn951pe%29tta?dKf-bl+G`3#m5q3KrA@RMNL(1_ zT<*QY!2&MJ0?-5sK|fk_f3bs1H-g*|F=Z3{FBA^U(9E?ALgji7 z!T}&LA+eTD{NS3zG+<#{p8ZiGb`(Ak!K_StQHyfmwq1FYrwH1tSvpLK21H6ZP%+zD zT2fonhz&9yx5*~lG9CF0Y_O;+`^>e6>L9)m9Kyfp^gqvCS1*6@XJd8|#IYpFQ>cYI zCmbU@J;0tJ*C22jhPIY8OP(rtQWt<}g}9F#S=yHA14$jpPge<(99#cHt%6;%q=J-p z1AUQLM)}$&P;p)FUO6~>8qAEcAFUh)Oex8H1{6)D?PrLUJ5RMuU2rCp)Stx)=k5lX z0WSF+BE&{Hi1O~5+pf=rAk%>k>Nv93sn!nyLPIDwXTe;)-Yo7R1`SXC(=p;05-_fL z-o6T%NdW>}OXhC7j7sBCJg#@3ljiI6fCv!;=N`?UPS#_sMsoGth5dsNyDL0_@aS}0_uuPkv0t6rsL8|EtGNZ9A<<;tYJqS0TQ?!ZW zKu!4%5b-=?aF`Ud8TFOHki+cd^qLAH9s`m`!v}UIh}#yHV1Pn_w`qnRiwOvklng(X=)i&gbE|z1C3yh{TE{pI*pQiet^Beg-&QTeb{vI zoCeRlE*!Mt;<;NVQ;bQmAEoj2IfQbh90ETBR%$Gg#T2+10D*;bBZ49fKDq-?M*UmZ zIuKXkqgYp0kJ=psqeuJ$qeqx|Md~4lR_;IG=FfPF`VBrFU|8})T;=fY`~x8)CFfsc=Z7aDcLCJr;MH&BbMWWF3i1&DW&4jAEY=lq)x1%)&?B_Q$qL59LV2vKTT zHM+A=0q9lFK*#~h_ze#S{^Xs9!2H+39sCBNWZ-V$N?-m9fJUa}2WJw)#nqx%?q0Z9 zf~$2%OMg)Wvu5>*gELRlZeag|2L8J416%mTKmHT0|2LQSf5jpKd>afZ^mgc5{$YFn zJ;NDHR98k2LCf3UIo^Ms>KBmtulDo*lg*SrldJ7zEv%l$0u%g=)%k~_bKq?wqB4em zu)1Fy?U2d-oc#afwZF)z>*hT9d~p|IYCBf{Gk5-1Lxp*DI50G9aDcxl|3A69bo#&3 zDl*#-2o{H8EdYcbfo&wlLmf}uU&#^;W#077vEXqii<*<#jJ((VfK|#-^^;R0XvZGJ zNUiQnoxGvfG>Cks3G(j+#;5lI&pv#6e$gcqq`uJ4P|@>kWbL7Kz566;S7oD|Xz7j0 z&Q*ZL%81z6m7%585WvU|HJD`x(^`;e_8!F?OQrv1gkMb(#`|~1*pQm!ttaI#J{Xt( ziN-)~xS3M8B+vxt7kP(@u(Mav9Fjcy?n>M8{$BrnJqYLT;qYudC7`GuRQD$%y-gRZ zh}aCs0MKRkn%4K4w+SBr{T~r2JP=?nw^D&+Bh>CY^|vQu!a@-p-Ub472S+vFkEOYS z`LR|(24SRV;RI^vGNR&r&$rOaE&>QfMfe7(?Q7gPlIqF$i>;R>s?P-@i6SZDA4IH* zqX-%j^w;2|?L2#;PFoVdywZCik52aHEmM0ybYlFGXWz-wCcj;CPAo| zELSl&E?)b9Uz#uYGg7ofX|)=>=}5kczBTA?rCDxZ1%$||udtnz7a$fCeoxaF%tKyl z+iRE0)|V?@aAgpRaWGtyX3C*?FD#gXrpJxPmcDCQr==WJneb`Z@Tsc3hoH6vGz)V&eV3AF%?x!$}@V0QsO zi{CJf%Bx$bZknHR0-sG;qE8PIEz?O#*LC4vURww9p^W2+bE^2t0u0YRWYkUIIOqt$(AMEvWi7-11VbsN*fI5DV$KlKnja zku$0xSAV7>?R!a~GI8}&JuK_9J#6Q$3xOb@o82@I6gz|*QM_d~bN!WVsQ~HKBIRcL z)dUqKo&ATz20rhv@sHW{Z!3p7taXv2_xE;#N!p--vI57!=62>jvw+GDYw zJnNbr*D`tm00~!l~*{6WH(0LOA0S~Es!2m7pCXEh+byE5?>6r3bARH|lG7TFJljZZ=Ir;>VL zXZ;2RNul*1HvwV$iGxnz=dTDwoXWAKPmBV|ZS}#wpcFnEN08aLRDKuHSi~l}nOx^U z_%o9^ND;q5l^^R5g8WZ4iseA1#QaPPr58(3ndHCy;wQK{8nu}ru3M25Du{%2nx7=| z2z*r=4X=38Thle@z&3t#4n)H*R2oAw%aY}qYJjn>a$EMU|F|7&Wi_=TZ zjMO~d)P=>a>$~&(q@Tn#yCj!MU^xE%>{JcQom`v@V-RX`B9t{{+iW}=9&(p*u=j8Sl$A!C+mV0XPQnb zk!F5)rTv8B8>tf<)Oe22Iq+KQgdT}9d5h=A>NJ(4EPsUT=B_d&AJ3-P>p45t7@qZ+{o~DxCO0&%>UQbvE zmETm+m)z^7FCq1PNZ_l|#_EkLJ?(X_yHZ78>XWDBd{8D$`=hV%j~^0D!E}lfR8taB zJ2KEvpySdx{G#5O>c~A%^O1n~Fqwxho^1a1?v*GF-%vrudg?+_V*T9r14J8qb<0{& zy#TQNvp{B-`DwdH5oC&aouq_#3^IIwWrlF({ScqNB>liddFn=|m@L8H3Jgc9lDQ@H z!2;eKSOEOz@Yi42e}qhskO2-Jyr~<`>?AFKzzB^*X`Q{q4*Da1tJkLxkmdJJ8QIw@ z`CX(~Y}0K5N?*ZAu?aC75&~-cH&ii-o42W=6=U^3m}2g_5@jn=$A~2wzm?os(v)MT zlC%x;m9U|Rs+*?tucMN={V+mtQ%`|Xiszxg!Fx1&OqF-@aIEC0;ufTvmn7mA_9z(= zHufm}>j}aHBLw=*Tm|+kGbQ6UxG6{L=G!C(d4#EaOD_1;qtnXo`uQf9XUOd3OFBOH zNm%B5l(!VtQ!llHCF95wWjdJ6cY0ikrk{dAjpte0DNHY&7*_Nd03Ou)4M=ER4PRXryBNOk0uZ z6)NeCBjOQa8{_V51aIF{+w;h}HY<2XNv&#@l91ZbA;IJUPSvQ3&V$$J zsubghd!wD7?z#KW6v^OL)$#ttfKOfA|AvYl&xrbBnQ$-Hp$6xF>LrdL_tt%OiUusL{Sm#%Wy@s}MG}YQv z5t59j>(z3lZhw4ADvwm^{HNCbI~d7P*SNaX*oE~qQ*jToxDBfaeDU~&b$4(Tal}L= zXLpZkuj3dLwwnRu1hL{@qu5@ePv1cZTt+MvnGj@%9a`#deCA&`6rW9Bq7O_ai{m)d z8xb0L_mnUw>;8(SXy_6NLb@su>;TX&zzB445OcIS3_*AR^~!7sO)NZ^)r%)kw%e}qBVKPh38}=P{6i8TAU7aYLM=O zJcAk49-iiy2&YxbXGZw;-ge18Cv;)lMVfu&GIpv+4sH&m2VCLn=gL>-mI149BfXERyN^_ow2&>_Mj2nJApO$L}jflh}`wP>sPz6+d|`p}lu78G+t zPx=uKShHKK;^O&HA8}e~)`t-vz@@a`j*g2@o<~QBfufU~ijh^OIz9^{%q(b|TKY4$G9RBX|5lx3slWq+;v_#z$Nvt^5uS*e7yenqpF4rxG9W zNA7j;kMgMJ>(SH>`>{K(_cC4!lo%z5-Phoi_oKm&7ZYS}XOGCf^-$rl>vaCkaZQ5i zSpAnif^i#mIf|RBlu?qK&2i#akZ2aakddtDYn5?VJa$IWZ~wKzX7iqa(+wJ#Vddi+ z&H~GQwdw3m2D7)M6PV{iengVH9!Mt?x;055N3*8@ntPz%MIAaR>mi1lbt+knX10mw zK~tJKvh<+$ngRI0b=2vp8>OX@S{oFNco$iin9hMy<>MzM&p#MOcFWOxl)Q@C-dT|n z!s$ZW=H2+457We4r{#sB(DxW!3Bt}gs*}7X0pnH{j<{E~uA2t#CP?7?&A%CQ2V2ho&tRVZ~*qNhP=@hY-Z_+-y zqcJdU#7uv?_^Zr)6;IsZx3`CLFXJ42dR{}-?TDN3v&T+#FJJx{epTUW*}Hd5SZIzA z$GOejMe`u?qUh$?6-=|8^3jbIi5SuE`BFLgBJD}4yjkRUa|P*`p8J{8e>oao5vE=LvKrXe1=P zsK3Z54KCiHPMx=P;TghinpJ#FXfTS?-*Q9F`t2eXV>&I@n*ZmDMxW>766qVcB;1|H zQg{bM5((AdxWf7!} zaBJW=Z>*c!G4ACCCS6_K)+_FpS`9Zr;hF;MENy0H#;blH(jqS7T=wFIqYDqxbUh9H zpcQas9F;_Lro$cpd0C_%n;c#5&)`q)LB?DBeF=&L{snqfuL-)LSBi6oBtx^Y74RL~ z_6#&M_s@`&AG%>_M-Y>iCn(ezU0O6U$ulwf$5N)IG;}YNN^r{rLOyfD$0^|>+l0Qw zSm;tjL$l-;fS*awuQmw~+!vuN6VP(|1<*Os9!aO7nTO}?p_f=)KcHU9R(z(R}WVPpYF>%qNhmrpFCUjUQz?3$I@s@mF z0-e4E3V{jGI$`8(|DzJ%<151;VSy4|{qXku*wu|9Bydvk@(NM|P7mO=8hjNSevLCr- zyE*D_0Zk^;&|s4WO<{K&7T>6Rt>IZ?Bmw=NV>Yvm938gZJDzDdD=!?zqXaEvUQi3O z3^A#`0J>xd<Xw4fo$2({hUP9&GR?gnOfXEIp=QgHt+9<=Jaz8 zy}V|=zq@Yq{Oyl#>C@P>-;yFezQE}yv*@XUIxm1+7nYDF;hVn{l`)Fq>EFl+4KY-H zf>jtrcKlD*YoD2L6|#z3N|-MP1ol3E6@VVh>N+2@u86&rP%v~ZIiQg5BGtF(Q10Gn zQ>uIe!I39fNyM)s60OP1B+>^?4`=Q2RwjPVl+)F zace%OV-0KA&opP9D-e6Tu!PDcE(AFsmF_VRr$2H{J(VOgu&`yA-l+7#zhVhWbvR7R z-PlQw-l{L2_w)HAqnvcHWG9%;@f3U1g4D>_o(BZpSm1z*{`fi{S?tM$xKJ7)=oGz&Bk>dY!l$K|`3HX< z1zsLwM?BzggyUr)f@OC(Sz{QJMY4kyhSCT~AAV71e6U{&JC-Pkr# zpb6g$Vyf=q*WRO8qD;FLpM|z|Fy(T~$=0W>u3r7K^7A0GZqIef0`)HzCNjBljX3(j zSPGp|s!BsPvM#JF>&CpkLWDwphm9#7nzEZ*|`Z?I&}K_Z3M=cQS_543jC&iPIUM#t@Ljm=>aa zzgM`gpB=Z5TV%|sq|u6X?W~)zKKjwCed=5pE1fY#!F`joj!P8T2ARTwmv{vz z&1h*q?XT}X#aZ#XWpnb~sAG{MIX&T&xE z>N)$*^{zR02u|S(D=vQR^_eaQ-#X!X*xUneZ}Dk3i>@j@L99?5vAkd77<(wV+e#?N zH~8fZ_-`(wuV+}}V>6*^BWD(w#WALyRg_(E+78j8>?cnd(>pz{9g!2KHkR~A77TQt4|VSy z#a_$P4$dbyAA@s}L0Pq6r27o{2YydH@q1JBV;g7G)!t5Q{MBFFH9Rf;=J92(i6f=t zc-5ch26y|-3f>k2@2(#N_cYRdVrB!`Vk6!bZ zm$LOMA^`={ox3sQfp&UlsQ&t78Fh=WLQ(nh!vOS`ArlIzA%}MHTw(4&F8QybRDJ#4 zj=6ti^A;38kx^6r}p#F86x9P4cnlSOh-rvB0XFH$&SWXkBxXa1!6x zVFWJWRon}4U3Z`&t)T0>M9*NFBK3+RpdKgDtGp-Y^C`;LUb~nouPe#MC)dwz8*<@! zyL!#aVKh?0MxpEmmq#Y_fc`-{{eGl9F~QBpkY(#rb=2 zkMu$Dx}HL1w^GP4ZZqpp~2+3TW%Z2*c!?;g8AI^5j)hO;0NJ&UuSQlD~>Hl zHe38#-1rYW63mJ)F>#9d66e=0xXp=;;=6-?*ailNnmB5~IT!h4_{Kqa>M?oX6oW!h zzC`Tq=TLoz_~5Vc{1RfcwvFnTs<|tsXw9 z*J1AX?0!@=omKUfl#Cq@dNSoXT~1UjC{Amf$ty)$y-(w%aTJNZ#CwA#wZ?k(1r91d z>&dD(3m(Kq!vT^K)Xhj_VpoFdea%i+-9)p?8)xA+-AlhpWF(;YA{#3&fFiG^n_LcK zmnw|uOuo-Ai}~17ow$l+JWoMklNlyOy*T?3f1V8U(Lh)F)jA&2=%qLBG44HIX=|U` z$cpE3(^jo3WJo6bRe3f}Nz&`ZJJ;n$eyq|Lu9fus z4gdByJRth&8CFtZ!A$hZH&VJ&hO}D`mnpyS<6Oei!1j!jR!x-H*(popdy6&Bh`n?( z1IvjQ|K)p3y39RBRCtVa4Ff>Hrw|~1jen-2mUP`XR$8)L3GSRk7gq zG*M?uP`RZVgIEM%i;*;-Q)pK*-UTYVEnNfUYMxI%7+}}kgUw{t14l?;uhK;pT^}g< zMg}rz>2{@Sd|5f7T5#`I7)E89b;xN=LLcr|sJ}!(gDyWb5BW6l?%Ov8GR4#|Lh~5o z?lAA(Crj8d5hzy>whw##+5rMagMcq()obEj40Vrbm*b=@z~p1c#>OxSM^X1kf7rP| z-0q*-(k9*yjPBLZC){6tNBiNWAkNs8_PrCP41e9o=8+Q@C}T~te)Dzj`rG~l&9dSk zB>|Ehm;82{Kh$!$E`7>wtJ;$FbKefwE`51LM~xqs{ORENP+WZl^q1W#?&6ZKr`^9e z(D#vE$6Z_LxIH+Qx{#L2TK>m&fZ&%qoudNSOE2e5kB*aSGNkt8Q`yQUdq|WScnhZw z;Ao6mt4O&lrt|SH(^fUBD-v?ik9WJU2e{)@Ql>3e=NQnN{`D$H=hY&1>DrTuIt^V% zn}axTiiXoEehtbJ9Z*^dhwUK~P-XEZ2WdkXmx%r=Fpjw8CeD0@+sbV2N9(NHWg z<%a%5`C@yUf_X)#`FA_*?^*x>&aUbKUD_OKMpMubQjAnpN-tuSuDL?43-9bzYS#s) zVv=L=bElxexSP7vvq^tcC1%(OlAC>|#dk}BrKX#O0+&rsAbYV+FGVi?^YdwOnK;Vh zY5{?!#!A#wuALM&T(@Q8C4J2F$Azg})nr{}F__xtB<O7x@N@gY>F) zPvmUm(pA+6%Iqjo7L*T11=k8D3L5t(&03`~<`7efeiE0P5ytE~ubzKyzI; zcYDDicabR9;(h;mUf5-|1rB590DWey(AL4ROM)?nPQlFWE-1ugxGeIwW*d&*aab9ZlPv_1Z!Cr z6Xqw*`9dcA8(W6fsBe9Lr!Q16(h2A;+RMtyn!Q_i4R%Ge&U9s1z?OuB- znVGTjNxJRvQWqJYzL=Vx?s=;JHg9x(a>fdU;y_Ts;c(_jebRo51@B#4C};YU_H+>^ zOPB_2XfLW`H(Cqr$HpamggFgGs?+{&-32rO(Zvg}$doxP&w*JMiD{Kljeze1u=$^Gr z*!>a?Tf(NHF>=m0uL6%(5q1Q(Xolq#z`lbhD1A*s-L7+_Hj5Q@jHUOjM6*pE=iPAO zfo`rGf&eEdwN1vwgtqeYZhaZ}={`U1@LL0X5)WGf%A3=0<@azpo3H^R0x8_pN4CK(wJ89~KaS4T%@Jp<{K;Q+(2fPFp_uz$M+ z^sH5=7mCBCl6GiK%c;%BDi!-3-rfv|vGt2Y$T_m(gT-!5ANFidIUhaULYLE<-gT~& zU2F8i=$umZt&Hrai_x&rCK?**6rkCw0})W5Y^Vzg;+DJ9#_?0ctcg}M$51^~zgtil zS9=Dz$3+$aMA|_19g38g?XGqrlQq9))fmE=(-szD-iqdcYIeTI5!A#*@D{%LKq@J5 zTDM?v*iD$jfrlF%F(Xb9^ytEMG)eD~f-LcyZoyO*4jG2)4L-Dlg-PgKB8_jOxHDj=kD_P-rF#uVi9^Wt#dcBtF!F7p>NJqw>;G5RR zZKqjum@KK3&4#t?nFbCQfjZPqpmim&0@r<&t9`j2uhSzKT$>b&Rv`fFGIeHneaa0+d@U3{!aZJ3hq@aBKuCl69Bvy@N#)3^jaP4y-(y~Nyuhi`9XJVEB zFFL!t{EhFZR>W(_^SkmEv$>xXS!T(O0 za=`^p$k2Pcs^!w2ul!DMYG_X2%YE`ZL7eQ@36)zf2vgFsomTWnl`lVf#g)$0+b?LG z_pyhkXC%vtQsDXuUFxi*M?H8-@i*=uB4sr=Co)-^%Bln;~%ej)$q)bvX$+a#( zyefFFxuRnB356w>+>QVw?@#v`6M-IkYG6P0nNT|#;p7u*j^CY2;pwWe<}dr=Y)#qK zZG(vO4{)v@jdGS$Eu=N!qP<>7AGP)9{c}66hc0WB>GTxcnGN5~cSGHMZ#z*k8Xo1t zGmvF0?O!Z-X0-zmZF-@d=v^BkwAZq!}U9S$w#KGoF*xZAW}^Lwa!-% zi1K4NsBYwjFh3m{IXKjzaQQF5w`dGQ3vr}D{;2EI%I5)rv_UU%5{2~W7bS(Rzj1wZ zy*|yZl9mF^j$c8bLWI7B+c!T(ye&`rC`tIL(3i2Bfn0r&Nu0*>d0d4`z1$z%BeAA2 zLpAT>`m2|BaAFL6|*xSdF z;5}yq)uutWrX4KFQ-idBULNoM;9sPqF+(;|Y)-OS_>dDJ*(@b6kQV!f*G>Ppvp9ow z0)%0eb(vvkO za@-Y_2e_{HUB)4EAA#8PYWIPh_{x01fXT_yHMPobM|j$oWf8}Uc<}@KvyU5J%Fs2o zkyw*G8Ay<4EirO6Gq6{!HqvK=w1*XqW)E_gn|?4NdlI`qE9qZ5{C z0@gi2zS>@|x$^g8@I9Zzi5Fm9dUMuLLJnvA387J&yo%R4-h=IYs@@vfs_i)1ENRZG zSB7fTYe&8ul}mc8c1CE>Ko5HC`Pz?c3w5Hem_8jH`aaO5G!|0&!v}x2v zQ_8KQ_l*mE41}UP3;Eu5s6TyEFmg1UyN=Q3CegC>NrtrjU;^!qjq?(mq{r^zcUygG z9K`mVHLa!PslM+OpI4gq?gpBaWE*$n2`TCHvAQ!SN=s{g38V;V3^k*5bFIhCs!tm1 zHVMT2{6IG;TeKF9J8w|N_ zlT>#e=Skg{r>`K0M$uNWCiy_YGCecxW8d~)(tqZ-2i876h3v@eVRc<+_a=DxzI^sc z*6FjaAJdq>xSQ!GFwCX^`Za#vcyGGE+k6efEb5z@!R{5-E|LNtoHCESrZdETO6jP$ zhV{UKif7HvMJs*ip*oc}d=m2Op2 z$mf{XAn9(J*nhTz!G1fjtKA z#Is8Nw}x3^8gI57DtrYA@=0z_1LUR&(p2A4W^_x9U_JSWk(5sjmPjH_iv6aWG7LM5A20eV{gemAZ`4F0n3qA1)1W~ zJ?!pGOGVH1wvBvp8~GGXbJSffkYCM4Tl`)~ahNq2SFvg7j+u68qSNK&Qm&W0JC_}i*lQvP0Oq{sxW z$49mekJ(Cw4%;{IOaaHJ=;-USP}t3frz)%lHrq$fa>Aa{Sf0gKq7(2mBxxn3kiNC- zoJn}ZKs@poC&z|^z4WlZqB5U=L8lSrSToOoDBSmOpp1;S3mv^*p*J=WG$m1Z@Pjv0 zd6QuKoIE^fL#4ZT*`0Ui4m@|J5K7x8cHyZj9q>REX5gCeR0$JX5SEzXK_8BaKRUut zMO6r5>^X}Rs9|%KEVOS2BJz~OFmb>3wmr0H2Rj(SrXpQ!?H1U<5(f>yf*4P(rAMkx|$ zx%{oEge=%-IsqK{v4n*8Y4(wKmi3|`98&OHtdgMMU>4Xw=qUU1hR?uie)){HTS4lF zD(U%up98k^bOf>JnZpCq;IR~2KA!Aj=XdA#_fmMayPBt9OKT^z;WE*w6f0uj+#8nl zUSzz=bIAlW(%R6HKDS`i01_;8D1D#FfE|b`<6%yYn*@iMuGCTu6b9&CXwnQzQp`&a zONUIz4cfrOHFhl)7M98Qgyhy6Jd1y#TNV1Zq)(CYC?Y)&&+&L-x3;!g=5xn_^vo;I z@cTR>nqXPqYvQ|wCKalzixiLK?v2zwziv%GN7{6aG+Z*^)|sImw!Y}%T3);6q1}6= zo==kA4+U0^C|*9bZ2V49)rk>kG$oDkeRGC1oneK}q*70X0q6L;O0;zXZ~cLKRE8?l zYpPPF(POV&p!w_GqJf&`;_y2hkG!(W4^Cf^{+Lr!qexY}Um)k=0Hs03L9=%ox!kC| zlUQ4d{CGsjQ>HlJ87kXUpUUFmOkQ=+lOP=P7NpaY6o_3w8~z{M&}WZ4u7-7c2OiPo zOTG)cq}$=iMC53A&fKh@k-ol9piXbDi9;Cep;b8#P1VeQe9w7mATCtpP-GW(x`8?= z(9%^Bpi6_0qmL$;&pN?2xE{<<%7l(hWYiMsRG591LebsYp|^=8=k;5KY?hq z(3jG^wh59o1)2k{S}IPGS*`jc^sE~o7R6$_qK$5aJKdMED?|cARC5Xo%pJ#uwnPxl@_MXXmaV@<>Uh09ta)8=PanL_u4o}6>fu6Q4 zXmO9TnC{R4=lVzg#Bz%ac?o%3eoLDz%h$|o`%=%UDn2w?#`4X2^S+LLGN zix;Ar8EiKZ_bnU)iR|7*R{elJcnF>zw8?bCqmP)4`nZGxZbp!09JIKLzI*sW5vb7LvV$99`djLwcpi()uTHk zC94NDIea8a{Thd0{jT`y@AuS^s_A*sw^zJr&sPAa8X^z;m>0RQ6)Aujzf^yX0#d@) ze4Zm+!c=lM@w}hyawlYk{qaC80K@f-H!^ZS^S$EhVTS;)PKux<%}wQM!sDsC z+VaKs^^`Ay-oZwPRHqMXJa_`ujRf!q{@Y-78C&etJl zYKM9{FjV|K6&U>Q^wQzNzVLd8QIg!P%Il71`hs)d&~~v+;kQA9{S%ei?};dL{Zykj zJXACXha=Pnhu`6Irg)Q&o>ddFZ&<}*8_81$RD0yI%iA4oNJ^SR@unu#`Xr6%-aE-t zImb~eCl5*2zfkkTMVvS)>>-$`If)9L%6tDeo=zpPncEzc&q=1|39*i|;v;(bSd(L5 zVr6Pk=eEQvt_J)N)$jOWJS8vAwlVups8KH@oBCQGw~vSm{bYl0{mDf#(koA(P$B1! zY1M5{Qs1m~W#TQWYXB_X{SCWOsUg;I5{|{p-7U^jsBiRKI|CW`P6sa7gO613oo6e9 zvd|dwM&813D!UZCs-ai?jf<5=He8E6JjX77j^Q@X zJuR(-x2N8>^r}B5lr))!Cp}nM$=f!B?BJG*4)j`8&WvUsO%iie3Cf327@z0ZSw7TD ziXJr!vL`bHa!X|+7lNq=pW0GOp70{%NaC}2S8lX@9^a8IYt>c7e|p?j)=S4FdWz5C z;SI{T;h`C_)lA1^CvS44STo6#Ga=Qp+DJLk+2bEH`Fv|orgDGBDGm{*sFL>M`MZ0> znO=S24qsyl@}>8q*`{t5$r*JY3&cV>N4OyjDw|>~^dP&OloQMn+W$B|RkWo?5_d00 zw`=iY4Bq6eq%ZQjUXHE&7Y@E922%omgo|<+icX!`PNI&dq?%mWvGizzqNswD)OwF1 zU6wxudYJiP%$PT`P=#&gj&9M%f*Brz)KhhJ9N+L-h<6uA$M+ILI}2C#eI)I)=6aTU zG7~H(zogT5a&5bYc3uq>y2c{jwu|4MP|RPSBH=xkZkP2?Z`8C%*-kfztY>TP`&>~h zMSlO7046;>dNZwCA!YtcI%Y+0R~mQ5go5H!=S|^tiOf%y6N^jSi~PH2-p-2n|3lb! z1~t`1?W(+rN)wSLO{pqUq<54mUFjX^y>|k^N-qM^o6Xv@?PN=-rXg02d6@tlcGCth8Z{muOP#bS74FGP#KP`ZBJ$=yBg(IIp=B{brjo&m;`RfwVE5)vs8+2TtZJ5 z+H*N~<&D(h;8U_~1&kr>y{_ho=@_c5iK6gv=oUv?hbm?ZJ=ia0dAR;ew#aHdh{a4$ z5fJH#3u9rFo+g{m@67VoeZ0W$MqC{XLG*U7+j)y;$Ve=7=YAia`1d>_v1ccbg|dxn zI;1+?RsSxd?v`zrOloWA88+=0HSjjfpgxFok$70@VLB6ougmEiXW(s87cVyR%g~tw zohoEj8M! zxaq-)6eD_8H#LQ*$|*`80XDB2A9W^aQF*X$GG`*~jt@(p+jklZ2}5{{Er#Us?~#4_ zGy%M`)SXEm(M{cOok(Rd&jtSQG2ym8){z_FoP=pJ;6|>kYenZHb_lJ~^&V~b1lK|~ z>x4~bnXrEwx65134R6`<@TM)l810F!tg(%K6O-wUYg%9Tq^vMgUKB=#Q=NDkKy(WZ zH)JikO8uhKHWB{W33v|w@=n!cY>ee3I-pd=xoCJQGnXIkVNqpBw=j0MdeoorhH?Vj zrcd8*=Q0+u@TDD)J)EV*2vBu1H7jlgev>z$gConWLi*QhI}H#KezEw;MX6_f?s zy*@KL+z_&uKaRh_&o^eXP$G>pWGT#Sdy(9zz>DKJP3Ly%7@lypXx=bCZ#}bvt!n~F z@}`EOIgk^yd<$pTX%e~qSv%do)nkNt64ZG%H*DCc@@th4y|!UFG)eSNQgQVw9T0c< z;4#4`Wgh8NVpU{UB5GO*_fO~CV9y=5-$7^ezpd@Tv8HW8YqR|``CnQ%!X0=iKa_4N z4egze91t2TJwaV*8t8lbbLSqXp5m@V%ua?TD~nAB-NU==IVx{tTu1`X`^x;s*IR3T z1lzSf&QeW0%<|ZeYA)xxdLH^Q_#|ggBZrAD7$x}{{jB>amlUfHqgc?yod7Hmo5K0W zabSQiv$C%4B|wz|z2H3C1k&GIKCJ-3+*7OL-$s9(_T&B4yTT4}K`4L(^j3?;I_^Qi`cf;eeA!BEs&+FU$9ONu2 zI9rVXsi`|FxQc(zU)co_Ma^MmwA$BCCpEBze%ai|N?N0q$)>~&?%;VxDiiR0J;*P8GFRt*Y+W%feM-(ZW#wl} z_`=^$-)QEkQIZ;*x}!$5{%-ORB1d6LT%Zxr7WV(L(?p7chA62XQ?oR0c#hc$sihM> zROe5m$r}^5?sYypcbRtP$sb9Br+GB8ZTf-Qxl!>t-0iws@z zt;x%^t9AW#UU}eh7Ex1SEPg0WUXyg|1xt}D*8MbIY^`~tO@C#lOAF4Nw11mgx~oGZy3WuQXM39Nu;Ig1Z2Hn{%s74&@ic?VaVbIir$u0KW>OLH3p+*|VpS!q(*@{;9X2s!Z!z}<#n=ds$zcU)(LA)ru2I!C;Edcc9GYu_PqC=X7X@9W(+dsPmn(*L4%vMx3F(J z%OI$P*c4#x8bZE!Xq}gn9kimsXCF_^$M?;o_^Pz0YO=Q5H>g6?iGhN$JBefHknpaS zah?k8J;(;rMtevh+v1Ki|8(s(^(o@yj51v`a}h(o#oeyVwyQCBdU6<|-tH={HRYj8 zDsC1xnh=uBR@#ae?i@nQ$pyAs2%jn#Ozdf1R^7O6;VAB$TdVi(uGEQk;Lb#6NNN6J z&DXZkJDrw^TZg7)@_|Py=tMMSCqiITS4!@``LZ)n*tAzpIc% zNvxvh5UFVR(!Ln{t#?YI*dsP+&WQegpz&jcJS5-^B*7nqc+Z!Ovb7XvVy+_<6f4 z5Of0QQl}rfX}Xyf3^43^@|iY1r=X}k&GiN-EL{QmoHl@V358Gu5F)N7TiLaZw_ z3E(|9{pS>^)=OE=wrM*nESfV|!!*YI;#fyL{axtwGCf^k>yqdNwL0ld36?@ve~ybV zWrTyH4^uTNO*LPhr^=5Gtv~@S`xXFQ`nzFC#{(k}K<=UkFuJ{A1s_>o6z9pFS@`?= zU)ajcO-o|C!^*D&PjcDKvN;6HMQ2(flH^i>K;=aoB(~?Jr`wcWPQ~L~kmelR4hu(z zkLkG{>gtIPu&ofc)QF1huyZ?@lRUz4>-M6O&SIExEwxMYT0lOuLiFyc1wEc~LomOh z&+S<|3y(rutcaV5_)^RBggk~q7F>)a@U3oV zRc_}g&9a%)VCiOHNWlUMI!+^{Pa4>M(tC*ac*q+_5W%YCE_{7qV35jsGV5PPIdwwm zlV6*Mi??WsJuATLxK@pAdc+b~yaR_UAeN9ShFVOmW#Pqdwxvm>^iK=u80J{RPrO+G#$|NgX0B9I0GQB2 zgN9i_KKUAIXv6{s94Lq38}cUs;??4dW|sy2Lx4nEJ^7;f&(eQICm0MyUs3p(j4u~+8qV^s5FXE@;1DT!=iIGw{G6|@ z7%hi58lK!S=232$=!W!(aXh#hKMq7^9*KZ;L&4ym3d1n4B< zWeyXjJ9*GkDHy-vh5$_eVb(-Zl5B=e+f+_hTPDeLp!Fq7Q8-F6)sb3S>jFx z0iDYxR7BQ#N)Pp!qq~bqX(IfYy+uWJ51rkF;;T6)0}t{RqY_Gn`0WMI<*3FNpe87rn6v z&=Z>gOj;P9On^LY3-A$vYSP@|cT_uP*R(HvbNyGNWUxFMYV*QAKlO4?!BD>XN zYrT5FV_teU3$zdx0Ohg|P#v=%F#TiWdup9o5yt@G#TdW@R|pW!xs>JxxDZ2^eteJu z>Nf2ivZMoR0Du;9bo0`;fPd?u2!loHW05L}6FE&*C}WJfZQ2D1y8owQ&8e)U8-p@OQT|VDWF!by=fY- z8mrW})+-H`t`9iY`2SWYE><8`cL*Cg;T7Jpz_4EAVCF3Vj*&@LkQWWx zB`n?F7$!3_`DclgNQ%tS`=reNDn~t)0BWw56W7*HQPlCe8XU~Um67EkboVnuB(fb# zb=7@fb@x~iVq9|*gKeP-)v6tbaC=)A&?3-XOljNFbS{&*@ne(&2i?lXb&76b^IlRk zVVXcTFqizm(P4)Y#jVP@V(X^fY8?W;(zOZ1wJ|}UPR4mjdmeXAnTO07NT1}jcaZko zPY>(};kLK;pY97qrbCVvdtnQm16pvCglzE6PA)!ixEUm!X6FJ$;Qi#Q!eI8*ws8;3 zr{1+Q`Bvf1b7P@P?84)lZkb6im zO~z*uSnED^U3iFL_Vb>ZoGjdVC%g6?=c;zI!t{VAW6d|?Ox^0*fP%iTrgU&2V&n19 zNN=6bfxcTx_~GM7yOQ}KVnVyYD}Sx(zP;-LA2r2w{0=4J|9qNPo>Sx}yS4`u@;7ze zUEpU;v|eC~ZBOwv^n<6Z+g=*cBiUeqvM{##`IpK|1L5Z1e#eW_&CSV5QTyL_fckb- z;N+D2i^F-Ey_f#qDo}T2cwh&TMG7E=@dJqLT>#d+5P%QJA2{E_X|W@i08o$2;{VwL zYC!z~%2p?U#hb8r*i{M;{at)^mjn`TtXaV625ikh=9%w8MRcz1RMT6Azy?hP=tynK z7HFp}S6?b&3#vIWYc>HooDeVa%syMYho;BXxH>1?%!(vkx5d(x#`GEfe$WC;Y{wO7 zN@O+MXpx=wEk*lH>`I|6)ClQDhUL~1PUXYJTKh8=?Hk{*dMue#Tl<0X>2#Z~H^FnA zHQJ@!s(Ivr# zvDgsw><$Rz5-95!>-QP@WneYktgx4m5zsf}W-{CGs9byTr?+G!^0cjDda7SHS!yOC z-t_T%EPFqVs!=wfOj4>+cia;hZURvnm3_?MlI~TyKtGx7gnp49re(?NwOj) zWKGX&^``0Pv)pncKo;=*rh96wvEa^CDUah$DT4{Oq2CLS&mH-uJm#8k*IrL=f9Ve~ zgt^kgiw6#u&rD+d8x!WMJZ0LtfaBeurM-qz8_A;_q6Pk;8)Z~>!I4Ps*oy2hOI{z3 zvrd1PF)s?tUeHeVNdrX2sJ)7Br;Md>gx*;Py=b4am~gh$sLdg&pqmC+=pRd)cRk-( zYDpr?8E9$#RS0?V14Xr0S2G2BD;{QY()+}Sc-DmjTIRZeZXKCL*0eTe+mJ^gDesD7 ze44oEx|dP#OJ6%%0IDo3peam&nqEU&+d@i-KbIDK2KcgNFX#9g4hJ{bZka9a(_I{w zKK*^zWaq+wA?aRC!F}!a$;xk%;TVFqUP0f z5@PmB?yB%y7&wZp=v*^!$hbJKuU3fFC16z35*)?=wc!L?%;nW~~K)lj~qQWS) zea8%9NoH0d6?!Dt86FvO8jjzQmKv5q9Gnn|po%-{K0mk_m~!H8TpM3;N=ez^7U6#P zoqJq1&_NqE+aL`Z-d+@LXh7}kVCO;o+!@!hxJ5D}xE-C=xgB?}lFu~87uM^;0?!|) z8LAoRs_B>{51}Ue!bWJou)}_?u&u+>`1)0S!OHcvC*I$;Dmd_qJI=2IgYqS@;h~Tr zXCsH*J5&u(dEqjeE)-j3C2ia2n5d{pM@y8Dws=lr&=TvEU-vqXh@0#5T`+6&;Q?tywOcWf;-cql(V&`uXNwi`L+K8b8n{(lvvLv$@=nwBE9ipW(~( z*p9ar%!h|zK@)j)U2H~QPgSyxM&yP zKiYR-v}n(Ue;fT>t*iEsoNlD7R_F)n9vqNM&s)_rp^VWx6sRF~< zJ3As$Rq?iGswdaaKV~JG!F0y)c30r^=I8E< zw)!%82vLy{2I)RSBOe>$Q77N_&+~=mPls9Dw@viFDz0x<^hrpHLSDfSBtC(Hqps%Y zdVzVXJ8V36F{d$a4e_$aQbC<|?KE%2jbtEWccgYwP-#GSrV3dscR{k$k(HAq!_^m62 zq2a6zJjV%%2O-sBKZi}t`WluV(jA!u!*^WRq*KmgiISs<_Dm|MA=l?&KO&cyw4J2m zsg@0=ehy0|n$Szn;(c7I2OYhGBEmv-*x4VIe|zI1JQab7UUrs2=xXp% zvaZ~bf0JYpvNo()8Z>?OTfAy1WBYyw8>C)rm<8_dt?3rg_fX91PWs%zHimeM+TU_^ z@;d`d9B$9a(zDvmcHa2U>%nEujsY|LebNsbaq(A>3a{Mmlr{K2u0!lqvfuE0O?LVi z%;fRMO+Nlc94!0LZwoa)dc>jn;oXsPNlem0NSo1%?+*u2;rr};W5V9&q63W2dbIDb zio0LaJC5-Tij((c?^{_I_n+`3(J)y@VdqjnP7-7iAIw@(DvkA<4WSN_aG{#*emm;F zBgyB*exF0tBqW@If zh_)Oo>4hRah#d6ZDkvf;0`5>CbqK4prxsFQ?r{}T)kqx}Aw*&nM}?PLx)spV^)eAV+amW1P(qhFUj+tcor z9DmZ1SACv}IrgK?qOGW=Hbh2KjuE>TS-oOIgrMWDX(iK)NW@{?-v(Ycc zqM{jf`ZZ0m%bA#ON3lqM&d_A}`;{K4Tn2;wte!}a;PbY`ek287S63o}gg0tv}dK2@U4>4wNcokvB$sky~8X>teS8F<=pJLgXKBzk@G`rdzU$@<=2F3P+~R9HWg*_ zROZcx+;oYbhWy;EAU)p*}%9i}r(#^#zfJ+vAB#83P zO2qXYRZlYj&u2!<1-_W0opF|4l7srA<%qUx+BG$H>gsG3%ABpTv+=UC6n!ScfgM9c zk&$oDRfJ-w2UlDbnOS*lL&6{I>dbGv91WOg4jB z=GM){^)!e8%Ya`FW=EbLo;d=xyz=JNFkZu$3G?1xzN_{r$SYY9}5c_S$V*DZQ~pXXE7UF z3y4Em+i#o!4!2j26y4HaNj1A#kB1+AVeb2BXPh>W_Jbpu7~s7?ZIEUB7b<{43ezv*fq>5xo4OV ztqzl$lC-iui*&rEElrp z0-b$JD+ghfsYTD^%-Gt5@VkC@N-#T`k-PdwnD{nRuJa(YkM1Bd?Abh62ff+;;+YgQ zp5MDCjSK(yNp?bFWD5*wf8XUC*@Z%|+0tbN{!;V!t{nXZ4py zWpCbku!~h$~OpHni)8J0B;^xwI#lXne=Mr_j(Ne z&W12Gd|MJG-ez7C1Vt6xVSId--W=Gt5u~Xhbks@Ti+XA=G=U_Ufz zC+!*6%_1tq{=>pQqxuB6<1 z%%a_vwyT|D6MdQx48A^|DfRwkYM*aMPh_Zi#5}!Jy`5xMtL97g3zgXX3g>EA|ExGq zS;_9>f1!|Bk?fdriGGnueO(^1@=<2el&aao9f6Zn9W+@D{%7!bsbKUmm>Jr%)jCH1 zQfu;-@=Uu*R?DKt5<~v9BwEJmHPYNxLjtZUoaP?E|Lvd6G8DH5>NzFSMJ$)C@7U2} zMPb-Rq%cBI0hoQ#n*s6zT^QrVE1#`+|Aq1?@Kj26pH&*u!DpYF;#KcvM@TU<_AWM2 zNg`m6XDS0#dwnC$-=czpue0+G>EW3j3FX`0Yl6oqkh;*1X4~3X&Wr`?$-!?OCGxLs zD}&YiyIXQ%TlzgpQ>X67XkT0%xcS<>$9FrwofLp3J}Bykj=;k*|;Nj^mT4O}?41 z-yIxDHIvv$9If~bjRoS;-H~0Sx>yZ!S8*N_SijtnI;lGPU;9;WFvFK?gL>fQ8b(5q zdAIrXlBxa2j#ssU(^P0*$!;%ZCI_`{3OBodL_7KQo`rlYcvuUpzi}_N4LB>)B#St^ zFF5q);ubpE4%>nPxDNG;^=szdB)fkxC$spuTP^is-Bi_0GV>$v+mq$5jECK{`dS5B zjbPts&!Z3-o7ocLC@W4NJd1Jiig&oaHE|-{*AAiA35~qWwK?=<}A;( zU89?_Q{TMGQwG#$-Mgfw^i2Phm>KqROh`B^gt1^=Mh;1q({dC_OwN>Zzr}HvHNcim zV>^&}ne>iDNwmYG@|h}cyRx06Zx$;k@A!p5gRUr-3bGnU2I_~VPG1V1$9cku+ZcIX z&|tP%U&eq*{nb9JYe9*L83W(nF{b_dV87_pqOGW@XCIa6SOxYcMvr4&yMGG#KPhJMqt0ZU1y z)y=541UdSoc583%c7jnKdQ3J!Vf<$1YQr}YZ1NGHK4vBzY261dLu{x&4cA#7LWl>& ze-3(OFd1#QFmjg9TRv#gNkLtuPz-NuLJ9~fJ2-#zG0&ZD?$id>%)Ymp@G#C%CJ;`- zyy~mgbpFUtgD;(+aMqN#f{~H`B#oBi$2Nel>fm^B##N5Yp5e~Cav$7lo%w_}{?S-3 z%4IOC!{t(}F;>~qR<+rd9k~I14O*C%TT4%+PpAxk@(I=Hegp2U-ZDxU!3AeLPAj4a zB7(Tp$kQY~GU$ZDjF)9E^A1qFtkJor2Gd|nP+fkYq@+ImHRLLj(G;aWgR*Fq<&%l~ zQBlts|Jpo2YElhNXJ55?SGc_Ows(&>pVRNB;p_eJsILkIx$)?ELptVV8d?D2nMs2& zNoytm>diMJ9<wz?u#R37rlMD8iMRIxh3o zSm_ifN7<^7)r>0)@ldm1$n4m$J&EJwMah#)oujupXkQzf;e)H$qWB?aQTgPJdRV;3 z-u?XD8~G{h%a660eym^Y+~oc^_#0|za^w@Rk!zgQ#ir^#qP4|Nu)(0rILH0lQLTAu>b=}ApJk!8xd5Hq@^j~N7tmKPjb^?0 ztB>__OvPJwB_;Dej(c2It6JgNhZ6HtYmVgF^SOs_SGODPjsDu0tP?)5H4J&l zo-6c|Xw~XVQ1WZ4Q7`*HS> zA7>bBi2oI{t#qmMuo0eur&Q+^NZw(|$VWay5I6bh1L|0Q2f*KFeo^h)uyf*Huvmd`>{O z(A7eUFj}MTC+wix5lJ_^l-(ox?q(ksHARnC@PgvfrEc*W_p1}%G%TOw^?JfVRbSbR zZ{=qNF$s0J7u8q|@Ti@6P{eSB)vElR`)u0;uy9G;Efc=+>awwbSF68iaHRI$r;9q{n@v2Ph z1_2JXn22|XKbJ!<8D0ng9CG{TT`DB_&Vu`GzdJbFN;k6{4RcK>2_Hs~Iu}HXw7$oS zuC_05i{os>( z+~ERqHhm{7F;BwuRMI*AdhG1%`{SQ4P{HKqca)>y&&}VDlJDBNOBg@5q^xJAkfPb3V3ETwiTjRQw@v<^5%FAWQ*t^8NY^q!))b)2nQo zM=t?ILhrFOfAqNbgZbFB!Z+`<_r=WgY(p!8<%x!E%GRyK;&`#6h39hNPK z@Jo*kq6$FLf^uIxaCmo%U4f`Y6D3IYA)T+6h3r1PPP(ltgUYum4Dz((H2(C|Q5iNg zdy>rbqk4N;_~x*;IR16(WORDnnd zr(H~6%>N*d`iFJthUJ<+rLEp9s#_u>Jt$r^IQe)l+V}xlwuuDpD+XP;+n!n3TBI?H zqBb99uW2%CiO~Q+^CG<1jXzUJMmr@ms+mU1hZ%}C+b>7JN1Gv{LZQ?cyr6{VN= zw1cW69{iwbrdFnA<$=?8M}@s|51MBU-|o4Aj8b?$uM(vIO;B~zK{N|93^?UHrem-7 z7MmW2pdSP{@GOHD2fvf|1^=`}-a{l(OP~O#8XXaDZjjv{cB8<;zU*ECnK|j@WeJUW zOLH;q*vOXM`k%{AP&t{PMQ?9r2!p^<2b880wtUoKnfT0u?ItYnrW>N8$Q@O8sWS(@ zL)3FRe|)D)&SyYM8}TGdS$6o1Sxz9;Pm41nFQY2V7M3&N!d}n^rz)O)8{UZYx+DPK znzw@_$AHc@CpCp5iQl(>^9PSZ?3o>X?w;F-2P7Q3GBg9g}*9(IMm90t|9JlpYD|N7RV+J*i}b9Jc%^+ks#ot+lCtmDj%<=TXwUv>S6kH@|F z+76M7FCt)yuY$&|OsAc6YRT6mExTher!PbjE_VsEizJ_PWF+wo>^%?hNP$8w*WZw5 zGX2^Em4E->qdOBp>>6?pa27}}7LfhjUylsHCh%fL!Kj*Md**OQ+IGQr-Y@@PHEG2s zM16wY{gW1px^=Sd@HKig@3-pChsr0YqSXL(c90B>B)nnneRkE?8L=nJHe0&A*^bSa zZrVOD=*kdr{=Ag|6+e_emX5la7T7G^Iw$aD?9t3TW6H0%s$`)HM;F-rG==}_U2@k> zuCVm?<~oQXHLJehe#_OFqq1RVX%*@|BO}1i=AfT;cx}G#A|d^Q3MC0jLY}U_Jz#SB zoH_L@VY9T*ct7xS8+UjuUgLRF`X0+pKf*Gl>m9cE{hg7Dogm;wLgfED?wr}|EXC+1 zBqlmI2BaHd*~nAO6k!+APE6k~Yh5UCHp-)PY-eua zaN?VY7ee4oB&H ziO?LoRZImsW<7aTnX%JP106{^Ipvyu&y{O?roev;D!2NT8^9KOdQ$Jk8$FbZwSZl- zvEj%263y`@S(%&EDYAi8X$LH@10kLlE#e*jx$sj@FI;#)U;@pF zZ#aXRwe%M|=CAQ?z?ZCvG_J<6w9f{%fzW|8*LL&g9JM%x7c%}JMk!K{0 zFtw4G+|cq`17iy7f}||>TCW#VY0p9bM@FwI7BvLN$=Az}C%52F5^9gQJ?FqD* z;RTEJ5FnN0cjo5sXVJD5knpQz_q%<%R+TL|EdCgo^aU5RvesG-L2WNjHAzD+Jmy>F zW=+XB-Uti>)W1@sw-!iED_w{?fZPt8UTz^rb6P@Ch|k37YY`?tR4$RNO0Y&}JIR-* zCGvg@3QxA;po=Rq&|0{xA$G0g*)nqJ6Y_-cjmg=nmbv_v4mg?`w6h5Rgtd6VxdGB2 zE%Mwh{<$Qf@uTEPSbNPuaR+t>F%0|hf{Mdd5dfRL!WgqN-H?~|i{ z0&EnLnn*XLir;Ckv zsrPg#DLEP1+UFwx-()p=<7mkIj<&;7v5%wzP5{nhpmXY0fY>XhhyPqgBMu7FsAXOy z9<-jCdAtREN2!ufFs~ES{B%(KI1iMt{I7y7@OPnrT{OI}e%Oj%D~n}mU| zYJG|Kl!d`d17FYU=RrU`Z%tmkfk@wpMm*W!>be&~`_kIHkyywliYJb$R z{m=6ml^jqDk8Ah9E-0?cjGdip>;knH%J>9C4oR1N5ApI96gin(9)+@5D}0~slgAFE z$Y|fykQ|N&eWTe)yqerc9oggl{#8&8mJ0H68A)A$SF%qQi@`SYsu4pLSD~bXYN7C} z?;JdVng;mrtH0FZuuw{;^ z5c$d_Y4mhtu%lVF*dMOk!(is$zy{A-3r^VA>PLjlG6kaKKxOY&Jgugk4~;{54Y6HK zEn%}Y2h1I)`tR%=eb^Rwy?1)}RpSRU0iL}LEa&~v?$;x25 zpLmuZ+YI1*vcL1hMxHadE2pF^Oj9jP)fRTaa4~#L*Q*>A`?oxu(+(^Iiu)ikfwN&J za{>SxJ7%%7yeqHLMaXWB2QaH2)N&8ZIzC{IEdN?tr*0aDjGxwGub!U zruA)VYJoY|P!Fry*Q=Z>ZGuH&H{dF4ZZ-Wal|x8>b}IJ-U8{08czkiq2U^zG z!7`IzMJzUV6+hsGHvS>NW;K8?Zzg2{G${QsZ1!iVFJuA1Q9i%K-=3%pW@Qu#9w&Lz za0(b37=U?DUpxNFZRRd&WVGY|N0MK{&SOKtc6Q34$lbzzy7g( z=`K1wDeC3#9^nTF5Wb5==L0Gza~k9(VEj!njzl=r)LB~QdBPq?%V?U<9TJ@rIY$BC z0yaHAuu{(*?z*?BagLF!2kCpXsy;z)M16Y&v*=834i6-Av15T7_!qJDq65U+LBTXo z-lI2>+ujvr|9p;i05HPL{y)GJPM>>xHIvL2W}J3ES>vWNJ#Et0rhpwpYq_cYRA?u?{_E=9%~z}#LRvD^$k5#-066#m7NwEo*ULms}I zVL<(s8YqkH2f|n0j458kOE>fc5J~B{n{N(;Cofjbpovi-eFebpo^bHz?2^$fd7JBo zDt<}!E5JdKAnhW6`r=g{+wX3?1nP(}c-+jH>lUsxJ~!jn^kc`{(f}|R8#vR4!nS$D z+%c&S^C**(WNHVFvB*9dUw2@CYb-Bi+eX-tv-uUwQKOD+1n`5K>P5gXvTdweF zdR!u;ThPX4v&@#0;~n}C5BK3j8^-vWq&(^eU{x*3zB14)nEV~ zipu#m=Qdd1ESA<}Umh#Y<|ErKGaUXB@z1!XLv>XiI zL&O9t;F6o00(c|J-LMeN+WU$m6k#4nS>ngolX=#06yf{4XQEf0z=O6LWRJZ%;Yw&v zDX{5chx7YIELT$N-74=??^L-A?b^B0@Xq;g{j`Eaw}=BZFymtn6KZShl&%MF<x8=Y^O$*Rv_rl56iHT|S=tW0pCLc?x&3f<0MJo8J%@K)(&=@Ax$e=0v*9ml(i71Xg-B0C(Lv z^v5d&W$_|^7V*U&-tJ@T?jFQ44q6A)!gnwAq-hW$xXc;y2N<@}uoRFd@^X36h7uc0 z$Y8EqX-%zC=kG0*U!r|oD~L_`B*<)h(}-NUSJlF|j@{qIvSxE^WeW*?)XcpNOI+Hx zW98|SUvjq8D3S=2$NX@xtsA*~eOlc@Zy7p{sW0Ax>x=KSswm^#>gYwvZ>6E%`3Kj7 zWhwq#P2$q{dcCl-!xs{^AvmYfkcJDk5_(Xh@uLZ(hn8=bu0&=Cm^GZ3nWb?fu)CT} zRT>8Ms>)fm6(rxuk!EywArGOa?sv)#`KMEP!V``!Aq2K&eo?xSI+zF1I=(tVF-+Ytl1)(~c>d<$rw*vfnuTM>K_{QeUBn@%RrXh$XU z-^gI}&S|80e&*P_(*F~0c$>G+8^>?2Ogaw$Wl#@v_#X3|go0gv;zLdk5}m~eleb}e z3AzoGYJJJ^>P(4vPdxuYeWbr-V(w~ggR0OhH#O)S`74=g^&vCQdjQ92s1Wd|bgARL2g7jjIeF!eSV^&rt_TGpTLYPhfsLwG z;V*v|uEp53Myu`M6o@S|P&UX3^U7h%6c^A)lSW%Q5E}70DYoBt`7x2m(+3{)#e;{) zjNyq6-1OHp`1TA*W^N% zag#`uy#jNS{K$jjtc=^m##8gX6Mi?}@`P2P&@aQ?U=llDsb;47p1d(FiFgSx5Sqk5 zkIXu3YJH2XG-+w0n@wWoxy*{tx2X&}%8UO=hWcKHZV*LQC8JrU<6)bOU#M5Tah8U#PXsE*_BoS(d?-8@6EQTi?9)(lBn=erBR9d(&BmE!RR#6Uyp z>%sP4BP$skIl|K4xbh3Cct$pyh%Bzj)--VqzA|-eXWPHwNOT75ZNb*m$0fw^>d7eU zlK-L&sQIc7QnuEb&xpvS|KcPEW^+yY_#YsZH4}Y9KSkq*01Ct{m{%F+g5@=n2;LvC#Hb z1KN2LM25x*Wj!h=y4Eci8&(iBfF36=G<0isUc**1x2 z@K6TonO^EIY+@p%{sDY*j{kh~5eaSDpP)`Wm!c@elyP$q5bY4W4ji-y0TN~PZ&BH% zLCxivBo+1ZO#g?guYjs*jk-kF$v3?rzCLBi$|Cc{tRO2I)L> zcfO7H-v7P-IR=gaLmB5=d+il-&2LSjpNZ`@1E<$fxu?v*1+!)%&X&fjO8R z-))a}+>Lt;RgDLwx#}FxzUe0BMuI8h5VP!MCJ-M0m?~eQhH&jhm8~EMRpnY=`3TnjDSCnrPY7K_O=CK4BS(bUsCK|~Qz?60t1;dgO!)7X2W%3Ys zG21)aU>_=|XAU;M>WP`VbA;JN`f7$nU&UjqHxz!fyHmzf-Ri|^mfE+Px>B#x8`?yb z2LO^>IlQMi`v0V=-oo72L~XZtC!4gF=39=yV6Tx;y{qd=Q_PvBwwVVQj%+F^9m&1U zJYsUxInJcrwAXbrgmDKN`|fsO_Vvx74ia_LBthsi)&6vOuD>iP(to~&NHB;amY_(~ zm~?C*wCpJ5m_`gacfv=xClI@#ZZjV|G19;voU3LZ?b~gEFcNg;Obtya_N*klv%sPt zaCc_|2x^<@Q=Au3lDiT*Xzy}obsZ6~Mm!T-7a-1t47&+`dl8_j$b9?XEQfVW{78Uq zwhC0e=+gqMANq$2&>HV6^R%zaSRv$Nmv!`)vXi&Yz;s~`iZLnfr3GEm@iO2|e1l*<7 ze%@hTgO7l$^<|)c=WoxwOMg#qtNP}~4(N{kf+yYByykSrqLRO}maGXaerr^o6Biu7 z^t4z?kRJD)Kaj&zgEIM+t|LCYe?->Or5~Vy7bha?Gk={HQJDkv5$9}8Q^^nkL*Q!%* zbZsC)7HOM!zVc?VS;PMp!}nd8^H&GX=fx`)fe+o%)7)|WI~24~ z`nNo0ko??3F&jAlUZ7uN#aj9tB7Gq-p&7> zOBx{%nYa#do#>6%wSX);m@mq|RGILKR(49&A(cYxqI;qc`>uK|jm z;^LX?k-^SA@cqTBf?G)XxRVJsH*g;GqT=O*eC$nSC98w4C@K9;cMD5;+KvHDSl=7=Zp@uwv)(HoMhQW#TAUi6)cYc; zyI4kb;;11VZjA@yjI45|Wv(UFztsg|_d2M}*^3YRr&RP3!$N19P{kh|WJ+(1)&!xs z8iL)x!CZL7*h&n-j9wjL5w;QK`C#J;Z2-51o|Mh(Dakd zG6R9foqD!{^A~t?eO0_8`^|dXBlV-EQBq2k-jvzJps^vs(7iIPs`WzxV|x_mv!;Vl z05o5i7=k1h4-*=HG9X*4I0mJ4$)+1TI;nQ!JYv(;qM7zcA(JY}2jB zFIL8?ARm9X>W-DtbW_hv}W)B$iLYE1QZ1nA&U;gzx0d((g)XX>@H_syrS|I9cV{O9f;l^T2Si}Rhau=!v1cxOfz=-!Za>n=A)nQRo&U&}EfANIWRd-)qlr&Sd+xH?G~-2X>$Zc1?j@ zPql%W0r~`H`w!vCU+AlF9StN+k>4x2n$BMh#~NiHCe1n3i;H|-*2K1HUKmzrZuXo@ z2hqa~?(>yLydQrXy`DFv+-5Zxo43}Y#5_6z%R2KMDlX5b{55t=&GBLQ{oW23djTeM zYt?A}YY>gM(cSnbZ~1k(<$C^kg^abF0c`4UF(Y9rLj%Sl5CHEIqvG1Txcn7uPm}zO zUTaIR6Dkdnxv8v!^nC03Erqo}T59*}yGzTctlkutaCcQ{D}p7t>ohLc1hZYa73ic~ z6_^%pPC_!WaE{3GPc>|b;$^ogsy zn+kB1Ut!gKI^k?#_-}fC6aXd<@S&oY`R=mHJz(o4^2%_{@D@|lmwTlaFFS<$iL)%) zgLFypV(^~A?Zcl6q{{|raL%Ep?P<%#ynfpJFKTijCV3`UUQL1Z9B?P*1xw=wuiH(= zgcAYQ%rkmfud-mD%e9-CC`*8031o~MU_((KqP^C4Bo#xZ1A4YJ%2j0ScYD_w{o30h zJPGgKfIX&_JFPh*j6~0n+95+ftM6AF*zH{hGSQJtwMHv#sHcwex+1L$+r zx4RbN{x*XCwtaBUk)18mZYB)Stiu7{X-r*L*CxE)-Qdef$dB6#r%BF6P4x38@eXzDkAe zLYN+Z-{JSaddL}pvn*HcI+aILQoV{KOzZWh?;j$NPDP+5z)0l-VN`DcZ z=Qv@u3MJlnEJR6DtYQmRRED$p2i#_w8609zQ0AfB{A0sb(07{LaTVaMraG0rF-s3r zVIHZ&oA>uEeGz8w%%Td5b*0CM)D)b+0C~vJfX!q|5q-x=oGt8K={me%e$-8i!nXKT zmZo+6ad>gu71WXVlz8m+^>>RWu%_1(An0M>O8?6!Q#O(UCWTzF81!LKCXJK#%d5

7n2FqXp!MiqCczQ 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


-U^ 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 literal 0 HcmV?d00001 diff --git a/Software/gcode_Z_adjust/Send.py b/Software/gcode_Z_adjust/Send.py index 988e379..9bc5125 100644 --- a/Software/gcode_Z_adjust/Send.py +++ b/Software/gcode_Z_adjust/Send.py @@ -25,6 +25,7 @@ import time import numpy as np from scipy import interpolate import matplotlib.pyplot as plt +from matplotlib import cm sys.path.append("../CycloneHost") import GcodeViewer as gcv @@ -56,7 +57,9 @@ def pltRefresh(fig): fig.canvas.draw() def pltShow(): + #plt.ion() # IMPORTANT: Enable real-time plotting plt.draw() + #plt.ioff() @@ -93,14 +96,15 @@ def probingResults(): # quick and dirty temporal code # Interpolation Z_workbed_surface = interpolate.RectBivariateSpline(y_points, x_points, probe_result) - x_points = np.linspace(min(x_points),max(x_points),100) - y_points = np.linspace(min(y_points),max(y_points),100) + x_points = np.linspace(min(x_points),max(x_points),50) + y_points = np.linspace(min(y_points),max(y_points),50) z_points = Z_workbed_surface(y_points,x_points) # plt.figure() plt.hold(True) - plt.pcolor(x_points, y_points, z_points) + + z_cf = plt.pcolor(x_points, y_points, z_points, alpha=0.2, cmap=cm.copper, edgecolors='k', linewidths=0) # Show Z probing height, with a light-tone colormap plt.colorbar() # plt.title("Z probing results (interpolated) [mm]") plt.axis('equal') # 1:1 aspect ratio @@ -111,30 +115,29 @@ def getZoffset(x,y): - - - - plt.ion() # IMPORTANT: Enable real-time plotting -gcodeviewer = pltNewFig() # Define a new figure, this doesnt open a window by itself - +gcodeviewer = pltNewFig() # Define a new figure, this doesnt open a window by itself (real-time plotting disabled) probingResults() print "Must be zero:",floats(getZoffset(0,0)) - # Display the Gcode that is going to be etched -(etch_moves, travel_moves) = gcv.view(filePath,fileName,showEtch=1) +(etch_moves, travel_moves, gcode_minXY_global, gcode_maxXY_global) = gcv.view(filePath,fileName,showEtch=1) #(etch_moves, travel_moves) = gcv.view(filePath,fileName,showEtch1=1) #(etch_moves, travel_moves) = gcv.view(filePath,fileName,showEtch2=1) #(etch_moves, travel_moves) = gcv.view(filePath,fileName,showDrill=1) #(etch_moves, travel_moves) = gcv.view(filePath,fileName,showEdge=1) +# Truncate the background to the dimensions of the PCB +x_dat = [gcode_minXY_global[0],gcode_minXY_global[0],gcode_maxXY_global[0],gcode_maxXY_global[0],gcode_minXY_global[0]] +y_dat = [gcode_minXY_global[1],gcode_maxXY_global[1],gcode_maxXY_global[1],gcode_minXY_global[1],gcode_minXY_global[1]] +plt.plot(x_dat,y_dat) + pltRefresh(gcodeviewer) # Draw the figure contents, still no window pltShow() # Open the window showing our figure -plt.show() # THIS SHOULD BE COMMENTED, USE FOR DEBUG +#plt.show() # THIS SHOULD BE COMMENTED, USE FOR DEBUG toolPos_point = [] @@ -211,8 +214,8 @@ Zlift = 1.0 Z_manual_offset = 0.0 -maxDistance = 2**2 # [mm^2] 3mm (longer moves will be split to regulate Z) -minDistance = 0.005**2 # [mm^2] 0.005mm is the smallest distance that will be sent +maxDistance = 2**2 # [mm^2] 2mm (longer moves will be split to regulate Z) +minDistance = 0.001**2 # [mm^2] 0.001mm is the smallest distance that will be sent def splitLongEtchMove(distance): global toolPos_X, toolPos_Y, toolPos_Z, toolPos_F, X_dest, Y_dest, Z_dest, F_dest diff --git a/Software/gcode_Z_adjust/test.py b/Software/gcode_Z_adjust/test.py deleted file mode 100644 index f8681cd..0000000 --- a/Software/gcode_Z_adjust/test.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- encoding: utf-8 -*- -# Based on http://scipy-user.10969.n7.nabble.com/2D-Interpolation-td4248.html - -import scipy -import scipy.interpolate - -def pltShowNonBlocking(): - plt.ion() # Enable real-time plotting to avoid blocking behaviour for plt.show() - plt.show() - plt.ioff() # Disable real-time plotting - -# the two axes -x = scipy.array([0.0, 12.272727272727273, 24.545454545454547, 36.81818181818182, 49.09090909090909, 61.36363636363637, 73.63636363636364, 85.9090909090909, 98.18181818181819, 110.45454545454547, 122.72727272727273, 135.0]) -y = scipy.array([0.0, 16.8, 33.6, 50.400000000000006, 67.2, 84.0]) - -# make some pretend data -gridy, gridx = scipy.meshgrid(x,y) -z = scipy.array([[0.0, 0.2, 0.4, 0.53, 0.58, 0.6, 0.56, 0.53, 0.5, 0.44, 0.33, 0.2], [-0.03, 0.07, 0.16, 0.26, 0.32, 0.33, 0.33, 0.33, 0.29, 0.23, 0.15, 0.05], [-0.07, 0.0, 0.05, 0.12, 0.16, 0.2, 0.2, 0.22, 0.2, 0.16, 0.08, 0.0], [-0.07, -0.03, 0.04, 0.11, 0.15, 0.19, 0.2, 0.22, 0.22, 0.19, 0.11, 0.04], [0.0, 0.04, 0.08, 0.19, 0.23, 0.29, 0.33, 0.36, 0.37, 0.32, 0.2, 0.11], [0.13, 0.2, 0.27, 0.37, 0.44, 0.51, 0.55, 0.61, 0.64, 0.55, 0.41, 0.22]]) - -# create a spline interpolator -spl = scipy.interpolate.RectBivariateSpline(y,x,z) - -# make some new axes to interpolate to -nx = scipy.linspace(min(x),max(x),100) -ny = scipy.linspace(min(y),max(y),100) - -# evaluate -nz = spl(ny, nx) - -import matplotlib.pyplot as plt - -plt.figure() -plt.pcolor(x, y, z) -plt.title("Datos [mm]") -plt.colorbar() -plt.axis('equal') # 1:1 aspect ratio -pltShowNonBlocking() - -plt.figure() -plt.pcolor(nx, ny, nz) -plt.title("Datos interpolados [mm]") -plt.colorbar() -plt.axis('equal') # 1:1 aspect ratio -pltShowNonBlocking() - -# Comprobación de que el error es mínimo -plt.figure() -plt.pcolor(x, y, spl(y,x) - z) -plt.title("Diferencia entre datos originales e interpolados (error) [mm]") -plt.colorbar() -plt.axis('equal') # 1:1 aspect ratio -pltShowNonBlocking() - -raw_input("Press enter to exit...") -