From b4879b5e38edfd5ed5bcd92e422d4926306f5b3f Mon Sep 17 00:00:00 2001 From: Frans van der Meer Date: Tue, 12 Nov 2024 11:29:54 +0100 Subject: [PATCH 1/5] Remove old appendices --- book/fem/Appendices/appendix1-0.md | 6 - ...ndix1-1_High-order_Lagrange_polynomials.md | 1 - ...appendix1-1_Isoparametric_element_in_1D.md | 171 ------------------ ...pendix1-2_Other_type_of_shape_functions.md | 1 - book/fem/Appendices/appendix1.md | 3 - 5 files changed, 182 deletions(-) delete mode 100644 book/fem/Appendices/appendix1-0.md delete mode 100644 book/fem/Appendices/appendix1-1_High-order_Lagrange_polynomials.md delete mode 100644 book/fem/Appendices/appendix1-1_Isoparametric_element_in_1D.md delete mode 100644 book/fem/Appendices/appendix1-2_Other_type_of_shape_functions.md delete mode 100644 book/fem/Appendices/appendix1.md diff --git a/book/fem/Appendices/appendix1-0.md b/book/fem/Appendices/appendix1-0.md deleted file mode 100644 index e3bc62f9..00000000 --- a/book/fem/Appendices/appendix1-0.md +++ /dev/null @@ -1,6 +0,0 @@ -## Appendices - -The following set of appendices are: - -```{tableofcontents} -``` \ No newline at end of file diff --git a/book/fem/Appendices/appendix1-1_High-order_Lagrange_polynomials.md b/book/fem/Appendices/appendix1-1_High-order_Lagrange_polynomials.md deleted file mode 100644 index 8b137891..00000000 --- a/book/fem/Appendices/appendix1-1_High-order_Lagrange_polynomials.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/book/fem/Appendices/appendix1-1_Isoparametric_element_in_1D.md b/book/fem/Appendices/appendix1-1_Isoparametric_element_in_1D.md deleted file mode 100644 index 21188c04..00000000 --- a/book/fem/Appendices/appendix1-1_Isoparametric_element_in_1D.md +++ /dev/null @@ -1,171 +0,0 @@ -# A1.1. Isoparametric element in 1D - -Considering a mesh using finite elements, each cell can have a unique shape and orientation. However, when performing numerical integration, it is preferable to define the selected integration scheme on a reference element and at the same reference cell, define the shape functions. -Then a special technique is applied in order to bypass the need to prescribe several integration domains. This technique is commonly used in software using FEM and is called isoparametric mapping. - -### Why do we need isoparametric mapping? - -Let's consider a linear 3-node element with the nodes located in x=2, x=4 and x=6, respectivelly. - -In principle shape functions can be defined globally. For example, considering the quadratic line element in 1D, we can state that all shape functions should have the form of a quadratic polynomial, as follows. - -$$ N_i(x)= a_ix^2 + b_ix + c_i $$ - -At node i, the associated shape function must be equal to 1 and zero at the other two nodes. - -For an element with three nodes, there are three associated shape functions which can be solved for the coefficients $a_i$, $b_i$, $c_i$ - -```{figure} ../.././images/Chapter1/1_7_1.png ---- -height: 300px -name: 1_7_1 ---- -Linear 3-node element. -``` - - -However this is not often the case in the implementation of the FEM method, where the shape functions are defined on a reference element. Then, all the elements of the mesh have the same "reference element". This reference element is defined in an auxiliary coordinate system. - -```{figure} ../.././images/Chapter1/1_7_2.png ---- -height: 200px -name: 1_7_2 ---- -The new reference cordinate system. -``` - -In this new coordinate system, we redefine the shape functions and the integration points. - -```{figure} ../.././images/Chapter1/1_7_3.png ---- -height: 200px -name: 1_7_3 ---- -Shape functions in the reference coordinate system. -``` - -The next step is to link this reference element with an actual element in physical space. In order to achieve that, we will use a mapping between the $ξ$ values of the reference coordinate system and the x values of the global coordinate system. - -At this point it is useful to recall that we need this mapping in order to define the element's stiffness matrix, which involves integration over the element domain and derivatives of the shape functions in the global coordinate system. - -### How to implement isoparametric mapping? - -The first step is to construct the relation between x and $ξ$ with the shape functions. - -$$ x= \sum_{i=1}^{n-node}N_i(\xi) x_i $$ - -In isoparametrix mapping we construct the relation between the two coordinate systems with the shape functions. - -We parameterise the mapping of coordinates similarly to the unknown fields {u}. - -```{figure} ../.././images/Chapter1/1_7_4.png ---- -height: 350px -name: 1_7_4 ---- -Mapping process between the two coordinate systems. -``` - -The next step is to calculate the derivatives of the shape functions w.r.t. x- coordinate. Here, the shape functions themselves do not need to be defined in terms of x, as the chain rule is used. - -$$ \frac{\partial N_i}{\partial x} = \frac {1}{J} \, \frac {\partial N_i}{\partial x} $$ - - -where J is the Jacobian: -$$ J = \frac {\partial x} {\partial ξ} = \sum_{i=1}^{n-node} \frac {\partial N_i} {\partial ξ} x_i $$ - -Following, we integrate first on the x- coordinate and then on the coordinates of the reference element. - -At the transformation of the integral, the same Jacobian appears, in absolute value. - -Integraton is performed as follows - -$$ \int_{x_1}^{x_3} f \, dx = \int_{-1}^{1} f |J| \, dξ$$ - -Then numerical integration is performed using $ξ_i$ and $w_i$ as they were defined on the integration scheme of the reference element. - -$$ \int_{-1}^{1} f |J| \, dξ \approx \sum_{i=1}^{n- ip} f(ξ_i) |J(ξ_i)| w_i $$ - - - -### Example - -```{figure} ../.././images/Chapter1/1_7_5.png ---- -height: 300px -name: 1_7_5 ---- -Mapping process between the two coordinate systems. -``` - - -| | | -| --- | --- | -|$ N_1= \frac{1 }{2} ξ^2 - \frac{1 }{2} ξ $| $x_1=2$| -|$ N_2= 1 - ξ^2$ | $x_2=4$| -|$ N_3=\frac{1 }{2} ξ^2 + \frac{1 }{2} ξ $ | $x_3=6$| - -- Mapping - -$$ x= N_1 x_1 + N_2 x_2 +N_3 x_3 = 4+2ξ $$ - -- Derivatives - -$$ J= \frac{\partial N_1}{\partial ξ} x_1 + \frac{\partial N_2}{\partial ξ} x_2 + \frac{\partial N_3}{\partial ξ} x_3 = 2 $$ - - -$$ \frac{\partial N_1}{\partial x} = \frac{1}{2} \frac{\partial N_1}{\partial ξ} $$ - -### Stiffness matrix of a 3-node element - -$$ \mathbf{K}^e = \int_{Ω^e} \mathbf{B}^T ν \mathbf{B} dΩ $$ - -$$ \mathbf{B} = \left[ \frac {\partial N_1}{\partial x}, \frac {\partial N_2}{\partial x}, \frac {\partial N_3}{\partial x} \right] $$ - -Every entry can be integrated separately - -$$ \mathbf{K_{ij} ^e} = \int_{x_1}^{x_3} \frac{\partial N_i}{\partial x} ν \frac{\partial N_j}{\partial x} dx $$ - -with isoparametric mapping - -$$ \frac{\partial N_i}{\partial x} = \frac {1}{J} \frac{\partial N_i}{\partial ξ} $$ - -$$ \int_{x_1}^{x_3} f \, dx = \int_{-1}^{1} f |J| \, dξ$$ - -Substitution gives - - -$$ \mathbf{K_{ij} ^e} = \int_{-1}^{1} \frac {1}{J} \frac{\partial N_i}{\partial ξ} ν \frac {1}{J} \frac{\partial N_j}{\partial ξ} |J| dξ = \int_{-1}^{1} \frac {1}{|J|} \frac{\partial N_i}{\partial ξ} ν \frac{\partial N_j}{\partial ξ} dξ $$ - - -Note that at the left hand side of the equation J appears three times. For the 1D case, this is simplified as you can see, and J appears only once at the right-hand side of the equation. - -J is a measure of the element length, so we see that the stiffness matrix is inversely proportional to the element's length. - -In the 2D case a similar operation exists, however in that case J is a matrix. - -### Recap - -Isoparametric elements are used in finite element software. In this case shape functions are formed in a simple element configuration (unit length side and width sides aligned with the coordinate system). - -The characteristic of an isoparametric element is that both geometry and displacement are interpolated using the same shape functions. - -Things to remember about isoparametric mapping: - -- In terms of implementation, only one function is enough to evaluate the shape function of each element, irrespective of the exact shape of the element. -- It allows simple application of numerical integration. -- It allows higher order elements to have curved edges. - -In practice, the point (x, y) in the cartesian plane is represented as follows: - -$$ x= \sum_{i=1}^{nn}N_i(\xi,\eta) x_i $$ -$$ y= \sum_{i=1}^{nn} N_i(\xi,\eta) y_i $$ - -where (ξ,η) are known as the natural coordinates and nn is the number of nodes of an element. - -By using isoparametric mapping, shape functions can be defined on simple shapes, such as the bi-unit square. For example, the displacement in the x direction at a point is given by: - -$$ u^h= \sum_{i=1}^{nn}N_i(ξ,η) α_{ix} $$ - - - diff --git a/book/fem/Appendices/appendix1-2_Other_type_of_shape_functions.md b/book/fem/Appendices/appendix1-2_Other_type_of_shape_functions.md deleted file mode 100644 index 8b137891..00000000 --- a/book/fem/Appendices/appendix1-2_Other_type_of_shape_functions.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/book/fem/Appendices/appendix1.md b/book/fem/Appendices/appendix1.md deleted file mode 100644 index 5a4f32e4..00000000 --- a/book/fem/Appendices/appendix1.md +++ /dev/null @@ -1,3 +0,0 @@ -# A1. Apendix - -In this section you will find a set of topics that expand the theory and applications covered in Chapter 1. \ No newline at end of file From e725eae57392587e639c7d12f623685e2b6a7267 Mon Sep 17 00:00:00 2001 From: Frans van der Meer Date: Tue, 12 Nov 2024 11:46:04 +0100 Subject: [PATCH 2/5] Update TOC --- book/_toc.yml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/book/_toc.yml b/book/_toc.yml index 6e5436b5..c7d0947a 100644 --- a/book/_toc.yml +++ b/book/_toc.yml @@ -131,21 +131,13 @@ parts: title: Finite Element Method sections: - file: fem/strong.md - title: Strong form of the problem - file: fem/weak.md - title: Weak form - file: fem/discrete.ipynb - title: Discrete form - file: fem/matrix.ipynb - title: Finite element implementation - file: fem/shape.md - title: Elements and shape functions + - file: fem/numerical_integration.md - file: fem/poisson2d.md - title: Poisson equation in 2D - file: fem/isoparametric_mapping.md - title: Isoparametric mapping - - file: fem/videos.md - title: Videos (summary material) # END REMOVE-FROM-RELEASE # START REMOVE-FROM-RELEASE @@ -444,4 +436,4 @@ parts: - caption: Miscellaneous numbered: false chapters: - - file: references \ No newline at end of file + - file: references From 8f377bdef7ad75405f124b192632bf447d78c177 Mon Sep 17 00:00:00 2001 From: Robert Lanzafame Date: Thu, 14 Nov 2024 06:31:49 +0100 Subject: [PATCH 3/5] update isopar page and figs --- book/fem/figures/isoparametric_1d_example.png | Bin 0 -> 58077 bytes book/fem/figures/isoparametric_2d_example.png | Bin 0 -> 18322 bytes book/fem/figures/isoparametric_quad.png | Bin 0 -> 43445 bytes book/fem/isoparametric_mapping.md | 6 +++--- 4 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 book/fem/figures/isoparametric_1d_example.png create mode 100644 book/fem/figures/isoparametric_2d_example.png create mode 100644 book/fem/figures/isoparametric_quad.png diff --git a/book/fem/figures/isoparametric_1d_example.png b/book/fem/figures/isoparametric_1d_example.png new file mode 100644 index 0000000000000000000000000000000000000000..6d5a3004d5a69c7de2f4173d949514d1dc708f5c GIT binary patch literal 58077 zcmd>m_dnMA|Nn(VA!P3ml9jzjh$3Wf%E;b(E1QtLH`!!wmqPa5d+$9idwiZ(o%c`Q zKjC|Bw-Y(8*LXf3~FG zCyx=iJ(GuxT0v4${-&#Q-6t&g@z-F!ZB*PgB0M5&Lg#1%zvCC0WF~kFnwr?YqS$C( zq$aXuMpoC)I}AmCaoNAKEq9;ynv0sxUPvI|x?G>P3;SbPg9aW50uhj9;Q#y0Gm)XU z2=MQ02me3+x@mv{mZ61aGIZ@sqoP_ndGH~pt8DRXMZ1^>SKt4aFbv=o=$E&vy+mn!sp_BP(0d)5FD_R7xIzPD;*tRQIR9 zaw2i(xZDq`-m=LTt3QMpQi~Ug3$gz4w1R$X1ld2aV0b!l>Q+MQ>JcQdE3%#;aTC!vr=6FMo0O-)Mb9clg_=KvJ2L_i(r-5^PuZ3{ zr|F9ot&qModi}Xr(reIRXDxdrUzJu{mQ}fGH)z_?M%GiK$uUTe5wrfLJN-$@*C+)J z3sKE8P4AXyZ6#g@u?#G|({e;96CdMji1*1j>0If!{MazkLjSIvVlA_{-t!h!!nh{A zuDKF&eyGVARkylN)D_ z`Q;%m0~qH@$*lynWa%xi;0rJhR#Do_Y_u@z>St%84SQae2+meL%$7r8ri+Tsh!0BZ z5|Kw_HEGtjU3StQOhqe1NA4~`&wwq;1C2D{PD<3U$J4x(|B!3h-!Eu})hmTO_?|-n z(t`Y%2J?E_x+wkBe!iB-CS$351rj+Gx;CCEHohXPes)K(5x@s}zkVThuE-N}s3ATvpS@19A6LffppmJKUt=i};fn6(6@#JJOlpa2<})W5nt7^b21|ahB+0 zAxrHGV*5)xSy?Wl;!AziL-4SSS-vneuxUL=lCX zRy+EOr@t6XQ|jvY@QpY8GgUom@u(FYrr6+q3B-udFA+Xu{3(i zJ-q1j=_^N5^bDK^!D7{|MbLP*^RO}rp7TPXHLiP++f~vPa3FhUBv%;2UBeXx~>d>=>vn&(SL(=m>JWGcj>=W)c>a#iE>g0SL z3GU|3O>!#25sh~$vh!3f-V+QDc+wQY_cHDTEqh#FSjXDdxHf48(pP<+U3O=^Rg+uv znBXQcK;kjP_+^Sp!{vC8DgB&F$7*y>L#ONmt!LQ>->+IjuF&1X49``=^evRkKe&Hw zdnMxY1AU*vX|>Kt%){XAJkG6yM(FHYA-c_W0^Mj3g^TQ!#4@gW3&PJ&>zMneKKpp% zPUktsdhqWl8*YCX`C(yQy0a!BYW85ObhI*50bO{;%uG}=46~W6PC;h8;(OyI_)d%>!v3!XSWA_~2)mUks27BpLg${wI(lW%jl4nnu2*}e~+ zm>KL|OU(M-+_*;{3C-uI-Digk1P`s*8-L zirURzYPf1Xl7o*Lf{$_;o#Rvb3Nf--&3@zI!t~vV7QRKHd>}p1@~EL~*71r!ThEGa zLk$fL#Ol7g2je0Y&5!!*nsdSeMt(ZFT>DTE&lrChZ;4O)8Kw*{JL6gw!Tqw8!w^U2tEcOO8G+?n0BOYVQJ+_u4=MFEJeDon=-e*I+g0v%n-V+Y z4=|?t+jc)(;P>n^=9G_ujtW*1k44V5`7wvL z3cSk;&_PGB%G@2#wpPl0TAFsNK0C+}Nbfu5lvjQ}c{vs2O{-`=me#mKI91rq`RhFy zI_l-aC_Z&uatZJh&ToUJI80AaL<1?)SaPDTxMh+)fG*qd^Ye;r3EMB#N!i;XrC2_H z?C}0i)UzVrwUrW1&r(4gsp0+La3uyWy7-9Zv*K_r8ak))wsq%*^ojIT(tMhBWtIP4 z9Cdjlr0*$i+MwmHA3s?!A5(r^ZeR`Pz%n3EexhEli~1?A{F{!72tDjo$}R-r?LEl+ zyvS*H&41Z0REYvV--?8u`{}Gy+$2BPtl|sf$#@ho#ru|2=0nOvu8dD6=K(+Nepxcc zr65}xl~0cH6->Ls%1AzctCZ0I4@towP%I8f3o``{#}fUx=iiaR zkj8%_YX7cs$Cqp=U$tasPNDz-C!=@c4dSyjcuJtGMz%15jP55qtwc^<7-5W&2>o2O z43FnwFjz#LvVjocYF<{H^Nou<-X9XSy&|#2$%r||_+iFhnG@zp4i7UC_V|i%)zYpH z;f2C3+&uJtyqTyX>-X+DUhn3)e5|4fA2JU~4)pQc!e0)wIg5)+n*8W)g_H677{Z6& zX*SElK%0W8k>HWAeasu>@y5&oA<`JwWg0<-5QoL~(fETq_Y^&(>#G}PunSCgo0fG~ z{c+_(_`TMDcC@vh|`oTd6PY6j0;a z-gfN8g>eByb&7-pPiwEF76e5POr=SN481)?0Q8)C; zHYqsbYk9+$_Axa#6aYzOQ}=VGEQ*MD6o^*l^4h!U&iKH9v=Q;P&i<$AMZq4YHX^9IJ!sewEU=xCyaG7=IxR@Pxk5EOp|%d z1nT>Do^dYJa)%SXm=G!01xSD7#< zK_|I>b*&8MyuWKtr1Ivn?B;!%S_wPkkO2Tr)F*3Z&mPb^dLckAzFl5BJulWwFY)xn zub4TgZs=2~Y` zYb1(OxY&o}Abu?wgbI{mRhSYCway+d5LLZ*lwbRvb3Gz-^QB3`;|aWuAmLMV%J1Zv zf*KN1(EWV<=nVjvcohdVtClr*6rA@Pb|8aLDSd6nKQz&{vR0B$)3JU#P}s?H6)@QH zl*+ft0FmzABBrVvN4zk{n#}*vV4~CU>B$ADTXCJ~kS?iPs0v7|e&SUL#Am*Pm5(rj z57r6&7w(@|ywhB4FD97fIf3_{m!-aep@xQ;hibjaa}f;1tYb^E?6E@X1jHV*)QUI+LiIo_dZR=^m4d>UL4 zy)d&#Fg7lAQq>Vl7c4|DjZ*{HORjAeBJ)sGXFSjcaj;vFhw&?3o(=Up_Qgt~I~zCQ zEMG|{g75VM^mdgB7v;%K`wWaoGB9)Y7EJnKjmoEq!Mh2hF{Np|7fiey)3E0 z-MwVG^U6w}W62&c!&}RR&+bS^fP1qNDD(Nm$Ctw*3^`+FafESws^NY7<70Tckx3}t zXj5k2U;&`LJZfq00%3)t)5EExZmCrc1qI%Qmt+|aU z!!Qqa%Dcx8ofP}_<{A_|N^#I19D5ePieM~xsZ@0@bx+71|$fIbmN}pacz$2An zH8d##cSc@N_FuWOJ#mf)10DF}*vcaLZPrFHz%V>uZIxHNO%F#O zlJp<-%C47Om{3aLI&8L8HdiJZctDry`=m+Q5lpgW z0JaU!xS=b@juz^v$ZTR0kTddQYx%>=ABD=BeC490`tQ|~ zzde#WAb38zQVp6Z#PfC87}*7ULYm_BUeAd5jVuvHT4%M;y#4o|t8f$)6bfG3)ozAT z`@7R$J}6%Ix91KH7>r3jMz+X3FP5AZ4C#;{SQ}?of+!Kx9)K|v9RSQ&K9eeRlL_62>jH2yw*PK}u# zdr(P>+Al=gVN5w9BEs!_UpZiCXb5_9EG;fBu9%t>7Z;bDJPYp8LM-+B3-3pZAZEfn5NRnW_X$hGO4p(lxd3!6FndT+@ zLg=+hDn6*NrxBDz8o0)_5|34{*5Y)-NO{@p)_X~;8s$B*Gc%W4F@?>SM|{41^~GXo zzMyiz_3nv@mwA`Qj0GPWP1b|N%2zmin#Q#**X^sq9#eknSqBq!SLlP5!Uyeim1M$W ztma@uW*Hya&FltPD!Ww3Sh@BizM65ibxvvXl@zK?4^xf6Q5#Me3IVg0^H8Q_=;eBn z6$f$Of!Dp8(;5<1UQux5=@z1xObp-q>*ZEuzw1>AQ$Crb!K*Y*KP<@)0XZ2 zkJ{hAe-8-XHwMYcNl68VgxDELKoAN5Gz-)BP+RT1D17d3QZks~gnYiq;)@!5Fuoru z_c!$r7ai<_nzD4AS(bkp8K9VOMYVGo_1JV+?<^fVK?P}8F$KPXRqgKXR#2sT{P=Mq zAMA$v$_jexSdsb!Qj#-b%DuqH%Gun2B}##xz-=j^Wn8=ap$~@_Rt3fm$pKeY9BgWS zGzd#hP~cI!vSX{*S4UaUnF0QC+4T>5deYLWHigQpsHNrJj;C6rR<<1Ob(4ja33e@* zq2v{D=(gPX?$k)Bt}vaPu@eLY{;~mUVB)BqSx}l6i)XMx=FU`?|Y_ zjXAg%+$&}f5mD{=iX9!H*rW0ggr4N8yV?Ff^BZU6Wncm;O&s*$BQ^#*o={X&WI0#w zus=I>)Oor!QZ;RN|K|=?>XpK`W-jH;7sSEEHQq#z(4skI)>lpqIW$@?f{mH6HM-Oc zN0-Q#Q;Q%H(`&64mNwTL;~Upl&ix4^DhAiI4Q4!mezY} z;r+Xz zi|{%fH!(7ZZVrZm6N9p(!Wm=L%d^ul6iJp9X>KhLLld3d-BNGgTJOHr(7o-+M#E<` zwstY1jX?Zvc}mbz4QFu7nS|IrdPoFKttKpx;HIVTb3TUbXYH#Lga%{m4=tRy#m2^O zORzAgHI*8G_;k_qIyYJj@ZT=BE{I7X@?2w1-rw0WF0cedK-n6E`hC`^=6Oj)q5)BXWF1Ob8UR?x73SwD1U2UixE3mScw z<9<3MIa6&>NbYsH7AJgj*!o7!=qWv9YZ&JmFh*cfw_W?`rpRpd@ySY{OZ-Y{N#h;f_g0yE?SrG`bA~LIF zQw1(ZJt&4X)-~NpZ~D1?22OxFX)KjEaqfTVZIESRco{5qpXT92P{Yz2L=Vj{j$20GycI3tVL+ z#xkKlCtg5U3`#jw8#%gIi{Mu~c^Tw_^}#sXxEQ2ue+oa{^XFQ}z1Y+e&uM7#J96dH zbedeNE)Jd#pY6>waMM6)eLWo3a%+`Iz4z`de=3?a<3y*_5lT+_Xg7o)XjFzK`N`J?mVPIFqM|- zhq@eTQ_)8d_S-ho0m7>!?=9b=fRga0P|KEXIHb~KWPQNvu0o&3Zv8zx1|CiPv5)^A zzf1TTy}3fJs5xk0OuS9}mPQN}8@4LC{Q_czKkN3vZYK|G`A5kRETD9sXQ^KN(2KZX zj+r0Hee(X=>z;+3{iH4E^UWMRJ$>DAH$&gL-AGg_e(7p$?d zvGKZDp&%2poI+j{`+QCk;dK73=3!3NVjZaScT%}y=BbmK6h!4)89Eh;rP*Pb>R=n| zFi5y=j(b=H-OkMSag2K7mw0}FH)aBDhL7nW6@nNsr)Jr&v9K5p@;QG4Wp18&yftDG z#aZqR8i;gNfcKOz6WtD+N_CnfLWya7KY~=g&zJ-?)|*1{oUvFZO1|ol9)x;_&R(Um5UZCnhFtZ<`j5)mzL|Q;PX>tmW)Fx=BfO@6{~a-JA?G@N+?G zRhuwPg`KutQ|`*c{pH@u?K1G=Lu%iH$<@K@{sSuOu&Wws1{i67(XxubMJGt5)Y$J_ z(g_S-EcFQam6GPq@R2MsfOQ4eo8srov&$K|JpM3G3-{byTiUD3bDw1#gN?6giz!bb z-YSnsPI9kWmE*K&0S(~R6W1ORnhUA6<;@CpAHZT_K)-qFw1)^;L3zS75D)pZZMip1MINFW28ZQ_+=8?EE%1; zb_~*l_9G_{Af*a`zn=Rg7-J=y8x0RRaHB-fq<8aeIFnQ=j~&?LNa0i1DOq80@N(ow z$e^oAyU=aLZ-7DZp`t*~0c>?)N3;S58koktrGEmD(9Eli3Zx_#Gbs~!W%X$SipP{H z1p5>}g|gbrZPmpg#`#Yb=e*yz5g4Z3+;#|qZmMzk_)NoY&r7KAJ`mQ1O_1Yr4=11& zzs;$Y0Imn{>j1nkIg=G;&R$IMhker7%IB0kZ+J!lsT6Jg6%Dw>MnzgmUof{dU!^OX zoYm)oX2)83$51Qj`sDWLRq|yPB_z{dCx%R_24E!X zgg^c`c@=eF6w9JOift_ds>!InlC=UF33`)XM8lGe5uALb0cd{kVRY$+1;a}$$mA_D zcxlDlw*b;o98F4t+cJ5kfC<(M3e%@-i#U?=+Y!|w02S`-oS718MmYNAYWTzt`%u$M zGkUHJ!vI1KO!&Id0v-pA=v5_*qFSn#Rxu^V%z!^G8_|2bhq>V90dpjG0g4J}?qYy!TYL)0-zjWy&wR?g5KNr$#^wU+v|UEXjrjVn;YA~-YV%Tg zRe5g55_dbk99)7=x$|fOV)gw zFuA-U6hTwRyY3B@1Y3?P`rHA1L9jRtu%1|1Khy92^xNJK|DHLdMX6zU`LesGhn*08 zYHA9=XpvUZwAfWoFJXprG)XdLc}axIKR0`Hqkx+0eLr!rv*@cA^AJ^hI^SHzQvx z+xwQ^pl~edBqSu5n3#lpl92clO|SSIT-cu;{wv#0_9Jv8m1zrUvyU4RammMqJFn)$ChW{**OxS@{6s-2uRp z#G5y79zA+QAXsa+(H|X+OYZ_{v9iX-gDg^jna47_#3VX8I{S&Dq9XDR34%zWVVcl9 z5ST7=9!|Z6IQwO?*~ur|>_vZxT_UERZ7=&V)E&cc&~P9`*#>Y-06Gzs+5##>Bcsh6 zFh5`F-@X5{$e(*k3J42G0(j=+`iu`0M7Db4uwfM@TjYi^E!2#lzzDJjsed>XYI^`+ z$S40s#;+ns$YK0lr<6d{{bDI#SP#KFTza8wy3A+`Ko!97MF7r+5fq-|+naon$9`D; zFME*8o^;8M+B)jHv`a_5)Je=fQ+R+29&v5TC=E~aeG*rn4X;w}h)k-0I_eRiD>~ml zeD;yP8mO)POlO-(?^UE~Gp}wCzCyz;*=Tk9MF8D8&Mz zD|#3LXcbLdJiL7AU7_PnY8ZtoN&c^oo&Ei>QRpHq3UK-ch*E`scsTH!eKg^h9Dlg$ z+h*WU3p4A0s#|hvwL=pe!Q!4?_}y8&ALe$knrhaa<&2VGQIJZCivo4!&>X7 zFOwzYaW(2Cz|0&53x&KrT-cNF!vea!&@EY`Y@s%%`S0#e=a%)bjM@+Dt4IjN;X(rX z=9yS}YrbaH0>g9yZFJnF!HGxyTrX7w$0gb&1a6Xn()CJ(>+8;#?#K&4L2Xn3qJ6Qp zg{yaW&EXOA3C@?Y=vwzk0Dl5XyKbW(9^@huP*7UVKX-A9^|)i>1UY4aGI0CbjnNVp zK6^Ix_V!j*a>$q3jay}_6jp)2dgwz*O|9P@O>diph)Vib^vW&lfYS&xXO5mikd`R( z_KwP-y}T@hzy`-9SE%+#o)EbGGe5wiHE;`!NwhzFOV%e~^Wyr{1{9@Q@2=(6oia}C z5AKK#9ItFbahX+=l%l_Xf9BiS(_{CZs@N-32~}P}VK_q!k|DkwasLB{%y3)qZR zfx^%9tVw+CH<4I+8l}+yXO&%HFJ=K@;O-1Z8Y&obF7BlZWg##|x01Im`!mi_5Ds5% z9Eihc!HfKagTjsw&rb56Lahc>ouLoXk)_@{AmQ(&RIJth>oL1L-VGqPq*MwW`jdG@ z19Q_nr!Nx#tpm0Kwmn80)rIs6^2{2}+p4;Dv+iQylLLV?9z~=lyE!h+X?wOK8}t=| zjpXPg6l)wXC2jSvK$S4T48C*I``YK>7R;5hEr7yv^Gpqb^>+W=+r;smSzlDZq7;0> zSzSjMWYeV6wr-eO(ls-niI6KJ0!A7p#_uUemanP(76&@41 z$c9m3l3j0XNR0tlfI}6KZb|5)SsjsrDGtHKwUDSh7IMrRhqeXlC?f)hg zKD|~2Xd6iN_lo~5a&0W2xQ>RO!-d8bTcGp$KE=AG;dxDleABW!%79c8cIOYqk!z3G zU0iF{5-?R4shC+?{{%7K9kaEyMQ~gB%PdFZxSmsR;S1iBjy`&ZB%T& z-F+~>FtbLS_Xv5of6y{I^G8_h10r;j%Xlc>I2{4A?$h9jj^0DmY z*;X1JZBtXn2ScLk0VEZ_B>a>iz%Mr5K}Y4i0QZ3gip|>E+9OJGm(_@MAytcPkYD`# zGq5hmgLr^t-U!yc+V1juee|fj!nq0vFNCHA2DuQ#3D6z!4bx_HIS!(?=B(s+g((j8 z!4rzu{qG55naj8rvUGQ9FQ-W0&QAxMs{KBNbU3EUk!)B~l0XWeHwTC{Ik^bDyh zV^26kl|qZnv-Laxg(Ogz**jZhGK4wh;xw>{Qy52vg36PCA`SGI*Ql&aIU}0-^;?z1 zQ$Y}3_z3#1N-R~%@%=wlVn5_Dq!x(CxCGs*U%W|2gc%xP+m1EofiYxl8-TC^II3JR z-Os)psbvFDT)do|RYn7;OwEn?C03_k;5^%z7^s>8`WL_iLHP3tFZjO-gCV|DCu#_A zit2;?lAvOwF5UoC%n<@Wq*8R5V}y}GDi6oYyO(E-$crhaT*Y})wV)e?28Vhs2}uf)bVW7P$6}ZL-4y8lxKJOf{ygv79011-P7lbJY zd=EP(CWCn*glyK!CGGf| zX7vyJ#@HTJ*1@kNg^OA2j13i_?EnH|76{bw9Z;F8tC1_WSRK4M9X-O9fYAlB(GP|R z0Qk%bc)ka=CQy@2=`l!7KCYf}`*OW?e8EBT_d22v(cxSb>o-?hN=5(Kjj7d7VS>_8 zdi+A;D-Y{{NXTmDym93gTGDqtX0W89-~_@?T!1fk?;;-vT5({rkR-8^=WC;P(&FKYCk%#61A~aKSkmu zH64RRex>G!pfUFIx=7b-3c23RATWOc@H73d+H}FR4!(M;B;56FyiqnRSA>u&>lH+i zAsphsN0mX_!pG-KSCssp`gTU3m$L;gfc4JONO>11!?R%Yf%oYYr8&V4@$v1*Zn!9{uChizf=MzBaJXVT5XhUxKF2 zX)ZcH#~!K2-^^{040;fq`Guk!@bj=4Y^<&-9-yoFoJ7d6U3*dC2-3Qwjf}7%u6SObq3VgAegpzF_h&|?{YKkIzHO@jybrW1I8y?NVCOy< zR6ATzgKsj)Y_(CKwu+>KcLke(^;4?%#}f+ZD&cl3mE3#hSc%6h(TyMF=INvKoj;#p z*ev~edICZCdJYu*MG61ymmX@_`WNrEDe|)pWlQJBtL_fhEQF;WBR;^Ne+uSm5?Ig} z1=0N|nCe9X9|d*M$2mo$pc+r^3F-k2K|VY;$3D^P(`!Ep1#{7|t|til(|(fH6U>nG zyaGl6p6ARQT8>!h@<6RCyBGMmBq!KVjTV!Fyl==ItIF&wMMBj2=hZNn2Ofd2$0%T! z#G5_g69V$SK-a$j9kuxL`;P!&tRr++93d3$nz98Rt%BIzf^O$Of2}M!pOlxHBa#+a z3SI)T-m@^TH`(fy_LaZ|Cy=q1*CgRH6R3BMB_HEv-y(zoDe-%YC1WXY6<}oorvR|N z(Hl+uU>i&*icMIsoYruE{$J7o03`bWs#iX_ZgI=IR5c6ID4r46fs8?kjtC!cf=|(j zuRh~+io-J}@n3K6_>j-YX?3lnNAB!Xa}4DgRmz70s(I@hZ-7SWfTt{wz;@l7m)ZA~ zlKT9WT-mPpcgEWD^uKPOO8K%Omd0G^T_%2c5jYJXATvVCu{^{Z_6bCjh1Y$2o51&e zgR0)Crgql%!F%yQ8P_AfNT@wr%nsXN`3fk?#=KreR?NoNlbfgDl7AYnSY*V%?J|D( z``(~1HO!HunP%yMN5{q#?pT&UVAdkgbGM#{gZ7J~!6Vy~mV0;i1J1COM;U;Qq-M#)Rx`G{tZ;=FxvEW}D#6)gNvs{sm zBfhgAQ0qspk*z}C)zZ<+=8koSAuXuE*`m5DWg?Bd@XCFQwrpJmez!y>mv${SZ zo3(RW+s5M9SI zr2H4S74--oL|1hjQ^gLX);J{rb5sg)@xRP)8EaQKw)^C6iptrue;*eRmbJZHe{(I|#*X4@Oyhj(F`_s61sNTM@_rtQQCgoOFDMWJa`VhW2+dD*~OvuQ!cw#ke{j2&f9$^ z!VY{Pz?iRR^MD}pzhAdf1V*(wB#B{Z!7hWcCRo}suVz?9AhUZAJW~6BXA{hyC)-fp z*qKgk9~W=~f;^puHh3UDPAA%C>Ebs!kM%H;>*~Yd0izl=%WChGtromj7xgiKLS4%N zMwXi?H>SE7KP)N3e49(Na-2&{&}q}F{&`Y>Ezb&AYd)x<;|R4BykLjU{cRm6?GCZ= zbm_p|IiV}=wEjn5#jhc65%!g(wrMu9p$SyeB1TWRF~b-S+`+Vq5jF{a4DLjqbLh!e zd=@n-T(ENl*0Y{cCU;FNVuJ^N2v5{L5VfT0CGhmhWSHO(^X`>~eVRE^oSN)a27nh> zjWuP~yRTY-OSx;5_`(x=b|)(Vw)EF9&s{K5Y13z9Al>7aaO zW`SBxI>>w%+$R0$i?QmzeeqtXz@uRI*tl{wZ`C-ygQhA zZTTEBAI@?KC`@A5)mi}=;1*rVex7PFeil)nDRmjkToOeA3x@t1o) zaBxx$pXS@Cw9mWTIf({t_&a%S*7vlEscoPm_`V6(0DA}rrQSPu%vf|nPkm|vzn_)3 zt2Zd`dWxV@K6DqSw}|b<2?$e3@z~tn`RzbiUQrv;rN^&fx}SyVWGgG5a2dSGRb=8T zlEutV0Ss-}rHcwM);|715M2t~5oZ&v(Y>2_O~FD7SUUM3)|r0;YDQfn}6zmfCkvq8;AY z9ABH^?+YM6IFy0ON~Q585Ln!IpCKG0FZqrY{vjfP)ky!;>KK5Hsx|p|2O2AYTYHy3JCqR`$qz3 z4B)OW7Qm~ZrW%%V_Q>M4oH_+^*=z(b)8`P3$t$1JX}}V{tPV_VK=X$J-aHB3VPyT* z0~-pUa}elSC=TVMWp;XKQJUvQSm_p!4U;5?SvcplJR4<86yW?x=jzI*p>+XfI+z+%B?I{G4|pM(IBl{obJ{6N_A z#)3ERm>~xKYBf=!4fVVQmI`7wvIlI^`&_^#@n6!icsGgeNYguv zt^htXA@O8t7J-^#a~=wmf+-u{i-UqUqJdNSs(ieC1(WK7sNOwrJn1?6R)%)OAA>~4 z>lW77DA3^pxH?#Y^bh=yH9rC!XW-lchNOCj9mmZst^B=A(@(5k_W^x$`jHHpc3lq>tDlmCTgq}4i7_0eZfov z&><)p^pA$T$DKWGGAWS^{Be~+zs2@R~S0uN4KH&ROwAV~nvH~I0^&6y+)?R#gSj(T4ASwW7=c+tHl;NHC7 zerTZ*D}Z$$yLLV~J{}$({_5ki(U+vEr1YFdSzUb!#10dFPqW809OT#TmiOqm?Qv4J zUBPzXHZZWo_iHR(E>1EgH8s)QoV8d-T<`m&{WK!ccTaI*RdENAEs#WXZD zTwUwC434c|afqSe^O^n(qc!{>IcG7`MIE-X&fH~Ir9r@=ll=Yr;72k%(bcszn&;0M zbs8s4tGJFh73(Fos0ZX+JZyH3erzBt`gR#e$;rt{OPj$juTrWr2i$hOz3(wmPDFt_ zkM6;5&fyT}E}D^dQM4Y{do{XVw+`=nkq-y?X1hfxG3{}Oo^>ug*Z?CvE z-Hp=YE5htf*87s!jbs)3M|WTg?k5;dL@rf7bm=Xev*Hq{Z2V`$L<4UWTCW3a32wg& zI<<6yLy;Uu>VUC5-5k=av9##!0vX!ibYQtW)3=-)rO1u@nDR%Cz3Zy0U?Dz2F<4&v zl~8W3@i#1N7Sok}Xax2Ak=(%LgM;`pqF}Y3?G||JEbF&^Xg4@w5WZT>q(~9+&?ptI z!JmakmL!FTk{~k+%fV>AqKr%^)^du|e1d>Wd4rf}=GBfZ=bH+l716LC@Z@lMrOsqg z$w$YqpI8(dxK^?8gz&O~x#_BH8*U7_*X);85MC*e#+PX>)7Nsg&VqL8%~&t)0v!SL zuM%`?gu*etk1gI;X}2X4l4z98>`EMG(K1O~$j1+W&su=;BT2qbwDb>ZiEn}5zG;E_ zV&zq--w_5Rel$uB;?Q3oHwQC(RwVuW{L(zmrW_`;oknE1>*xs^zjPUF&o{Z@K${&p zJ3Hgq41<%XesLzpfoDGW5VxuvUTR5lG9p&tms3JCaNu-4=5>*l){RHm29BI1vt**R z_~EnY2smsj!Fb+gU8db>rxH!dpxVHWO9v83?n>24CxDgo`NxfDws73T2Ll6a#f62} z+l8ed*G3oRpx68SuyoZ@9T*VYsaRQ$g6LAy!>*dtD?W3oNcwOjdVSk;u`owE2vN+H zjp3vxmRU291@$qv(dpHMjaIZ%x(n!W*bAEABw}FB0vj^Y;rGbMr;=nAg(D?0(kgI2 z$b!=;+Av3BY}K!i#=GpA&j18S#UUq8O-*g~y1#2|Y&049k&oG*z)nX=2}Dm`cJ_)b zGkGlqYwN?i+iS8yBJJmNbdrL#Yq6SIFp?$B^C~<)yH%DtM(Yh7=RQ!jXI6e9_3Qm{k? z?zoL6-im!CxyYw|`~FT`ypljPa4s!ywkosS#c2!4xaln8m+pey?V805D&<|O*Ro$S zb@d-%ObUKS##gFX*?)n2zl(G17O-bcRv5{_E`UG`OfUTd0ry?~{p4&0Z+(QX1}I7n z#)Ouq0~3rYBf`f)3Ejb1IJi}rv>=y7jk8t&wNyx~5Sxqzr=5mCfDoVQYK}&)Au#mB z7i)PQd%2#R%B*zK?cytYsSI9~gpFQW9=jU{I|QY8{i-=AsT6AKeqLC8w?-jqbM}en z;{>-}mw09HkBEjPO)pz-MWckrlT|Tt z>}|p3cW295i;SPjX$@g~XSA$mv`6zB%MC~yo>%%&)xijh%#^?My6)ZS#Ep`Q`Chzz zZvWJ;T~-$EutBPbfQP>VC`L(K7Kxl@u|2vj*Jpd%2t5SIMImRo#RH#fSlAru7BebB z$5owqQ&bwco93)2pd0JeHbd@^LmAGs4G_$k9jG=A8)ybo7a#xU1(4;j?rjZ%aC9rs zz5FH`xSjrt(wA_u^>Pao{Bw~PENvuDHQMJn`uKR$M|C|WKJCxe0bDWz^|}YXoBiVk z$2~_k6_r@mx3vIVLthad79W>F5zH%fJP7S2w*M1nrT6 zB)aC*Rw`evfITGhU;s1f0E_#SPxxl-+pBSBAzW_>!#zPSfn~l72glZrX+j>esT~Y9 z6U@&7qRFKEuz*h+c%6z|XVs`ZmV@Yk8vvL-mzoK`?>t4LWAu8fH7=v&5w+6xn7&YvhX#_(bahvRvk)vSyVq=1%h#8;H#mkEFM@P&&-9! zxEp3j8F$d*mAZs^+53@(vuQJJieZAE<=6sWVnRs;>YDc_biFLNk^-KP5tEYcIv{ox#>vW&#(z?wPZWnZGTZ1 zPrm-e9nr0JEN1c0WOG)^0l{A|`Yy;~xowe&D!VBFX}JcRb^sg!W492!?-It0`X~d#iU7L9kY>Bi(uLRp5FUj z)BV{-lTY0?zKk8px8yl1-xW!WBC<)LZgs=k((LT)+iMnBPGs707+H(h@yQ8jMdaAn zHVYo-fCW#X*HBgE25A&GF@!?yya+lWIj89;#ob}RRd}f`R7Y@gtWZ^K0Oz3bL>8ixj3hnZtatbU z8Voo0gw24(>(^gajz9#upY(BWA0aQ)-mAWT{cEQb+H5?OIXEa`b>`!>2|yVzAtqiI z0e2qHT{|!^9m}SqS>3dKcaHND3*pVrdMTA(lW5;GZ`1hVIve)e@^Vr?T)T3)g=PzO zRWt8ect;Hr=3W>nb}4oiuN+~@HNbRABvxR+Rfd3Q27%-jUv zFH|CnpE-Ek>FU&^1bg;(~O&RjWOLoA2`Zhb?{!ED2b|m zgk~o%SmC8lmma%%GSgF)d+0N8R$D!^>Q2sqZw^cni7*lIZPP^UTC(rx!DrANt3^^rjtc6*R75t-A6p=zh%t1u`*QlRz{j zH}PSAlPi;S)=3@iZ2qVU)?~c@$6y0;zK7>^^Y6{K@Ow8Y-4$I$Upp>x#iG2`+&nJcGv{?h-GET zFFo&Mw6nY>8ayaGoPFq4H#WjS0DpYNaiNIPq;n5WdvKkFMd_MebX%X6k#lcWhU&!r zCt8RGW>1E#JawH&qei(X%Pc6bL31n-Of<^NmkQpiz2D!GmDO>7maA!St;t8r;fQnt zLUSM3=%w$5M@L7M3ssOW?hZK=oJGAkh9AZacmTgGsL>?k^M@U1=Tmid8z2~%@TGxA z)6C4w&eqod3E9;z6bk$OS#{JhP);A=(2@$dI}fJ625WZ@uKf4-$uh7}?=K}EKI~uM z)V%*}qP+WSVBa2HRkoJ4$tnOJN=!UB%U6&YUBA#+EIcq}yDt?Y#I`zm;-hi-6+r0q z-UQf!F*6((!^1h|C@ztP==sFrb|5LElv zOqXuq>>;q}2>gPQ|8t>k{OB&Mw1zEnn+Ak^x+dy=Q)RovHSeY7yM59vrTR_ zSjzwul7p8}Q;W~e{w~*44K#ibUlDmb$xpBmv*Ms@zmTv z)sL`(7dcEo_v{grSGKI?t6M(^;YI~OF?8-YVud*Wq(?k~?uo}yk6ew84XmY>LBoaf zk#!*mq-6FErxf0$n?$c$k_XJw-nLAex0c5}{H)U6ytDC=()WZY zH!*i0jv?*hf?06~p5xQ+f%XTzzmOD*dBd?J9UF15alSivHeNV0H_XH*@VrxzNVCVF z%H3gm5-_>TH#nD_eFs)dLYd@tUM!7@z}opcae_>2#pfj1+~a?IZ>Hk;Ynzmm-YS2y zI?tI$&(b&T>j8`gCsl0ZajgMO&vTF|8tC4NZ07c4-!|w3DY0-n@8V#)0VbVaf5n_r zX=6&Jj0regSxfPS<3Kr2MWPb4x~3D(ek=9Lm%&+}l3O+{o1SkVCNeSaew8!6?oXAf zYn0Zf(>+cToc*$mS*Zd*MP8P-w7WxP=H1|>b^~xIfWce(y@TbGwHPfmNoDg#is4;) zc6SE_R=H?*>l>+gwsur3F#XGftJW_zsyw{Bz-oJ=;L~OLe^kA9AlC2qKYmL}si=$) zLYbim*&?#{-a@h^d$-JxoxOKf$Q~_QGH;v6-h1;s&%5{g^LzhZfAzXO@9TN4bDitV z$2s?lmkej)rB`~d72rt*EYIDr=5zVc((>UolGm@V(I@e43z84ME@Ju6))87kE_kpN zSJ?n$J^MU>YUEFxm+!DO97Kw;Relc6C978AwGZjZ+7C%(-yGH_F{Q`{5Tl(Zo3*oq zf>P5Of?$2D)YNb+&dy%Z0m&U90kse6u2NLQ^X`=M(8QQcq7we}RLISVlEkF))a&Re z`J=~IMHL?qaX%It`E1MGuGB^>e=$~?RWqi)xQC~yj-FXQkt;8p#nDdkWnPk+)=;W{ zW^zvY#5tw_W`>Knm)h>Nt%eMX#~WIo`xxUEh2DHYIs2m1V;oz3p}~D-v#ua-f4mxB z>N&|&w&6E{oU+*YYHm6`!Ej}*+qrF%g8g6e9`HS2t?^jp`zy%%iUtyGC|h2w+7z9< z=otIxNd5ku4(vwXFIwMvO+L0CeRAV5pJ(1Z7C*aN+@bF1O1C)K%62g!LY3jIpV`$p z5oOWkC;5F5&zb)+D-~v(-lHt>WLx-UtUDrrFUS)9vxBLXEtg^S=14?N$}j(VB9wQ} z`u0wkS6Y&LLD7cjzTH;Z-!=<;{f<^PWefW+q)C%ZzLr)R!LjZpyG&0?Hriz9nBx3! zE0^`VT1J#&;ttEq1`1_GTNNdf3#ICA!t#Yj_n0)Se|}D9p8cZN+|1O9UfBLZN~Ht+ zznx62`f)BAGl|0bsv5!{*8ij|MjKmOU+=BZmbfvU-9rPzV{9cG2aI)m4fgqxh9k`Q z$JjI4{F(_4gWK|D$pPPIVn2sG+-=D!O%~>YsBWC*ytk&f6aJH; zo93zROh-pScwzihQov#=4GyXz@$JXV3-@LF$VOvoK7V7c{AH@;At7Vn@@@A`Ab#x{CCE7zEX%{8`D&0=XiE#nTB}r zl*@Q*G?tOavhT++7mkxF$*J2l`!{vw=lz`IalzgePKT->3Be=*SS`3)N7 zif{XhP{Y(wO>WK7*5F)hy;-lMv~SoZzHMyn>D;%zoON-M_pI-^1D2ZlAkz+62gb^U z0IRGGd3|Q-PL``8pMpY4?Xx6_cV+Zq+UsL9i&-omN_@oK#*e_?y;$OIW2qd-femG> z9naH0#p!#FqoT*;{FGN&ID!aTTbWwr>s(iSH|g!#dWYE(xMbXVx)YR$(HaqyEuEn` z5{H}?9r{&n$q2(r)V^*{8i}AOei4a0=EmOwv8r@A%sDf4DnHj15zuR9#TO~$sq3?z zA|qzreN`YVtzbv_5<_-&DnDyYZL#bSdr@e6M-yHFE_M3Iv+Jh^g!I2G-6vhAina2J z*#qO$^`6diRa|F+vKikZF>wW#pq-VwaT#B9?8vR8RauSbx)s}kURjTwL}HnTrT*!k zzP-dTsZU~SRaO7-#hRg~_(2X+nd_T&)5~s&E1qdGM1@h`VGecoWjHZY>(VDRB* zz*f?zFF!faaB&w!pJVSIu57?CQKk%;y=uH;^{GbxXizrDYE&VU2JRFy6B?&)^J-uI zg{3jOJ|goV)(5}kpOMX?%_^zrbh!j0awIZ@-Bk|FEsGsdDkGrzT^Nh=b~KJK>B?o?2(xE&`U2{en~ch#vF@RN z^Ja}t>`b0k*{Z8RwGWs2@ngT!L9Z=ILG_R7sj`CV4D~-k39+Nz_C_C?#JU&!{>T;- zav`!M+I-swXwc@$rKe&cuDYgZFVkzmdPc`6X?N!IWK?6h(0?_8!05$nNS)I;|Ma+~ zrh?{-?eqf@u@Cvg?bS`g&YY))XPUNmX?5%&* zo?v=$GqrxdVNc;%V;TWX9)o_JrK3o9A}@Q#?Asp>jlV73t5?_^GF!4xTD5vJZH?uN ztZ)6S`gzm!j=S>H%y}&5PFA~R z#O1b7)4~1H;{}$f^}%AV=p4E5f_Ogl`0=VoQ)>s8r^!S5dlt4y`ncZ`fS40Mm%2Xm zvw38xY>TRKisgG&v%Np9iBn+Y3q=pn8F}H%&p3!AWfzx{xKg$#N{{y5YrCHMmZ1A- zQKl4Iz{XPSHV@tvzwh$?8`>GVZ5Bz}gM_rX%(xkhh26#O;f_7)i;>ZIVL1}ms)BUX zrp(8-H1acT;+%O@qx?nEB?n5gCB*tv+1)-B7iI%CGpx-Q&-FWUPJJ70)9GNzn-L9f z6%O%+I$RfE}0=s3nFnpNYZ4Yw5o=hWhIAIn_@^Pv9c^&b=yMB%KQeD{pHJCwIY#Pa-8C504)X!hd= z8*`O}xo6LZZhA~>^~!0TAI`un6;v9|EcRO16j;80&iUbD`GwGD@ltFVg!Loa`|o-SIFnxTSy%-u%a^CW186$~mt-A|dAkC| zHhuGIrH35Fc(16aDhr%ZhNn=V zyNL4cu5lL=Zp(Fg-7@+@yAEBR@|$>!pYLgaQja^kY~2YxlniK+JI z@d4vAjF{kt{g1N_Zg)xa>QWya4$J8sw}ieqgKC&TIBqLAe`c#%ka$<rl77wndXtxsqIr zrN+R(AR#TS>`I8z@rnLwpx}B5qbi{i7R92yvoh+ozhUy`>u<Igxo%nnT zkHXNWVY2iD5|!fl=U=hb57Wvixkzuh7CJQi_BJ;w8}d9pSRSvhFDkkR>(Bo|-HVKj z-0t8WkB8QT$)ACShK4Xu;rMX3ezBmM@a8oEuxlFu0Rbl`yY=PIyCz%clSb-1+!PfR zpFNv_%*E*ex_)P_io4F#}qq_&jd8^XWQ96-cO#%Z2DBC#x^PUE;+Z}lkc zm75Lgb7Q%ey0^#1c%v#wZT)DU1aGa3YNvJKQnTvS+@Pc^*z!Y$$cU%8%x6SHQDdaY z@H-A3G5_&akD#DnV;)q*ZgQHd^km9~qF8OrCal>E^8;GKz#vSnf1KgqH z^cW6PVnV{D!ICU!s#G1jXZkBXTF+IIS58jO^JIUP;vw((&+LWTg9+g_Z7Wf;0UT6A zCYIhrC!0y9kW7-8S433=$z{1A#ZK!{G6I4kkHZ~^bU%(1K_S#M$-@ygC*lXmGKTx& zh;w77q@=`UJ+cSQxg2-z%FKL$lCfTfl4KJUHu&84ibTa{h5HH$EhIxSQuXHYeR;-* zoejJlprCnjyz15Y@xJK%D^x`X)H|V&%=*@OI#RvLe*UTF_hO@__f64k`i>*bOvo)^ zc-9fiDdGpE)57`_t(h-HMMd|G8YP-sYds<56MQ3{wvVAuJ4W8)YV~seceU$Q{P!9z z5)l!F)5!*egdo-1NJ>0!?JJc0dr(Wkqh6_)x*~lc4a&#k51s7)Hirh2>)b*7j-OE7 z!J`&DTq*$)>ed^{*`1(48|{1q*^?m;<6xD*8f%kWIvQ3{d%at(1%y{iECqR!weUz- zYk)=Psoaydgi#|ikRIwcFB9>DwBG*Vp}I@w#Md{FdPEp~1Qm85%Wer}^O@!qSF6EnO;A*Hhy#67mRGi>wb%^S>i zfRCR0(U){^6_xWnM)^!zM!> zrTon*@9Wvw*&q2`HXxN0dGQdd=x_b$aiRTh5b{I;HzvLtE?W{F7dkf^9h9(s%wE>od&xBy6f`p`GrR%o2hQ>ggO&#M)(`jq-?>?80 zkB*jvcn|Z8^hmB`^~_(P5_CVKYQ9A= zj}%kOEYM?Kryd#S�tSR6OM5+#acX2{OM5vfbj?k7+)lg&u(yQ;h_gXUS7hKX!51 ze~p7T=DL^-mmpcn#~#=RX683Ttu6E`RO_>`e@KWtOs^3a_aT^! zF->%V`n0=;$2$U;juQ`AP)G+?1C#?)z~*eH5DbE$@;WL$vY{af3k@~Yd06hS*x&u? ztHHo$leSmb=YJ&$c{Ncu*)R0YL%z@w5~+6IYy5jzQ4CX%ek6x{;tJssgO}tm}`>`umPEm_n!X1&1gC^l37vV43`(GXj;{d zR(g74kWhqgkP{JY!!Q!mOP)=PobpF5jdEH#Ds~%;!9nK1!n#rV4 zJ+w`RX^svCF}77Y6b zGpN_JdZt$e{0quVf1a!M}C z0r+F0$Bw4a>)pm6@=mA-!0BOQV}qbs+!4}cN1<*m!swfmlM@&)!dd?S3Q|*@vz!+F zH#*f%1lFMuv~M!5^{$b&Q?2WE?lF}w(MtX43Dc>DPNbTZ#FF7&&UF51q>h5COwn`b z+I#fq5!9;K>j^0+SdL4!HaDSA{K;Oa5PkmKIkMBA&y0sZ-%8aCjku~RDiX81tK&BO zRK&z;fvXxSD#qwftGnY~`hki9`+vh53yW<3d}GzEIs%u6qdq@1Rpg)n-PB|XYnAPZ zbA4?pMol~i29tsQ2QA#eX7+$=KG~!#3IH9PiK}C^hyD55?+75(9}*H$_>(&*Fp$r2 zNdpS;`961>Iy-Il*8XsveinyA;biT+=djTG_U+k254Q8vg^Rr4G2MrZI}|eo=;#`c za@TSAVCV|?8WK&QreJ!OQkx0P>Z0It{Pc5|Ldeq{MB}~wxDSW|bOhH`x#I+hbGU5$ zrB8HzUBepR0oW0!-mZgPjq9{3I5LmrFb#eXr-IuBQ@6amy}P@WsDHpv38g?AvKu!Z zf@4`k6b&BkN z_+4$3FVh|9)3;d+rn}5Br+X^Y>QM_KoRX3P{dY6bP=5{@M1y9l+Q@)3cBkN>i0BY(kW^k*z>t)#33YpalRO;-3ZZI9IfERn& ze1pOm6lElH9b5g8(##B~3CVJRPd&7J8;RIx-=Qy7+Hi(>OXZL@2fZlD8s1&Pg!0dGA4%c?F~44D8#)_GOuRpM>}wW*9R;MlgePP2O_A=hCaegzm!}w!0KC52SKj z&PSDrjV%d05l~%JP&5X${t=4L(z3FkNR1=agV;2Tgnrkmp0sBJFenmF9`+G6Y zMwKNJ`{nruAw%IFkbw zGEwW*1gQAeUk&c9m@ZS-v#|^UNP{+n|LMIOQEd8xCar`SzDBfv9Y)*MrJ;TGp6iU0cn*RR&-H&E}B?#PpeY=O1OWkER zc4R~+hHv>TI7{*0z~?Q{t7W19LiGo~GR(o50ETRBXJ@R+!9qtTe*ZEQ@?kqc0RdpW z?2gvV{c8$_?-vXY78^YYS5+G62IMG=I0Fc#KX`Cj`w?;pyrdyUPoILhFiuLr>f@+0 zIDhFz@{+{OOfX7~Q{TRcK!VvO$f)i`Fg8Tr-pcn*>MY@0GQ2y0E9ME&fZbdrX4L`3 zsnWKtnW>b6j3)$@S>=@jKF>IKOrWWtY`6q>F>==uJPjyS;^5#ooH||+(L+;^>KDNU zF0q%_)hj|=G#I&Nlyxkj?>e8+MCDZ@-gyxp{}f!r+}dU6$bKLv;s$_B5fPDeqbaNj z=SW(KD7_*~Ra(b$pGw-EcN9!IpvA01jwMzrrh-o)kV)WkDww~{2UoGkP&9`)zlPf^ z5(?Yzo1&tsikLlVVOIln9@X{+^SdUFj*j4;0*@4{O$GtsaOLJhg~Roh&n?3pP~k)Z zSAaW$>ImOoj*E@e3LNi{qA6T-wC7E@fA;x2PBl2Z2rjpu<1@r1(NR%qZR@JDa88^a zQUFl{_Xzd@PFrKZ)_M~aK0bco`UFZFAq~*F8AgCOfLJ*tIe7y1`spVc{P^+8m!`nM zW#8v9<>gKgDYAGjy12NE0vpCX5Az8oA)MUcR{u539M+AbI()0_rduIM04=BNvdovS z#%zT{_qGBu1G(;#;MK)}HHOmekjFTL6svIkN}gDBjgQxZ?sPb!0S6ImU%hzRV6B_e z~aYF(E9?c)9BdZg@!)c5T%OF_-TGXT6Cm_dRXJ^M$ zFIyT3qm4#iG*N(I^X3?Ur2rHQyM}n9!wij*$=e_w*`WK^IAW9L;^7X!EIQs zdwmBs3<@92f0^3>Buml*wjksNCEwK4)SWQfnZ!*A)&5+^@d8%J;4}cHTL}=_Fov+E zwifQjc%C}j{1IHV_dWc%Izh?cg@T`NQ@5X4?zHT*Yz}4$B0TeB`$I-HHgFMq`^>jj zMysden85J|JM01RCa^A1V0t;H-c@r=g)yVKXim!+5R{x6d038;)=)8*A*_su;>P9zlVd=g(~)zyzrq z%-tb^2hGm%;DWX%J#^by0%4Pf0UP(H>~AN?kx)_9gZBY}065A$-2xdI8R$a&&gSOd zi`%R{w08;@Ten<~Az;h!Hw3^E1dbMipP`E_Uya;U1vaQ|{Zj&lMJ9P3%pVfW8;s1Q2-_GfY6ejj;=rB(L!mW>jERA+7{R~?R`RYwnWQfRmJ4w)2W#|5VIkb zvpv9_OixX1g3>^c<)9J)b^W|AH*#GQQVuYAg(=b;EWpJ}T4s@^*_l~ce1>S;mDasQ zRowgFnaw8ywjQ!oo^vU_zy+tJ0Z6VHZhV6A29Q6vCn%^Fnw^UcBT^heYJt*G2;S)A z6Wt-J6*tad)OcyWBps9(67Ij)yYY@d1e$MyH(F-1#xGvDIXVvX!X>nO9Zqh0|8m)zDP+4}W$QW>rg z*n*CO87rNg^)Q2MsNBX2juT{2LfabTB&#v&lYadP0G;*#QIUHT|&mj$nGmpdPb>jZ+-1B=kF6lu$QXs~HYT$)~kr&wR1*8qo30UxiurNFD z5S_+cOdH>mcK1Q*#RZ1Wg2`Dy7mfq;8*(cE@~DC+u~qhlQ#YIeL>zr{jBr+E8jQVN z-Oon*Z!OmdkML*~e@*`Kxuk>&CN}_n2V7uo^WNuR^8t{pTjyR`N<0m)5qjBJq_v_9 z2J6B?AlyvO}_aQT(K4v{un~|BhGv7lG%)NN;@ZjKJZ_nAq1*U=|$f+wT!UPv7 zX=w=hYfRdRGtT32mxC1sYi<4@7F2OmbTmCZJw7G>z#iTM5Jy456NnTbcW2d|-U8{B zcLd;#ER=K#=4~}B7nGK6LFdCB%vgIz04yNCXCMrU!PWI(p)W6lf{*y>RmA%Vq7=~j zdQ}N5avGR7RsdtepAoDXL;zfCNZt=tJZWfg>a? z1P13C1C=O~ozbvxgHnkBDduB;a2`>37;;T9 z>s`crjO4>nsu)_15nO-)h6z_5AsZdWETV`kV#|lH>)}O&x=751UP(Z^^cp?pV+@;5 z9wU2hLfj8wT+IG)KER-KZ-jBJ$-oH|^1_Hmpzqh55zZ>$0`t91G2FC6Ucyg~c|sI< z!T|FGA@W2P4Z^8z%o9YIC&ZB_B#lN~QDw`PUc#t9y|0U$<_;bi2 z^q4JjASbeR8}m&%|1|N-Tzy1B4Wv>zHp+A*A47 z7G%MYLWUs)4 zq=*9}Mf8Xi*^(hduHC~Bi8%m#j1=9J*{FhI^b!{tP+!4~FooVA5xu;@I?VvT6B7d0 zaN;aH)A1zmcS>u}Ik;7rd(hp!S%tlWn{?2685j8ssh*|gwl69LgHVzp+9LoXH|J>q z)ueC*VH`g>@{kCIE9=M;7ct~DVV=O~NMYD~G732!xRSsr1&H$n7k`9H#+73yK-TE=Pnf3KST22_ic(#=O%J(E=YZ_jlkja<4Gg+FJnG zkOpEaQ3Iq1Th3s<_zOA1Tnym@RLB{UVm_uu_VWz$c3(tPDku<6OfVq4#b|#J7N77#h%g86tBIhKF6Vd4SowBb93M!7f0lGiW{h(V0|KilvS z5&5+n7&^kKVH=6BFuN86W;9?Uh=Tl#n;`cA$jk5z!q8U7>9_$Z)(@bCo*NNNC(}eU zMXA2?J`?vXm{}8tkg1)=UMS52CNUlx4x@q-^HP80>0QjxJw)`z#6RiIdIEg3#t6Nw zE9j{P3Jj|Yyg_m*{++)V2$%OT=CbM_9*r#&3CvwUMI(Yff`d6y za||_@lhHx0O9keNfOZE`&=}QQL5GksiQ!x{a&uXOG5gmSY5mocQUBBV%THZg*WkV1%AFbFX*XpDlb zAVEl>`S(pk&RHR!4FbrAkV1qx#1%;Tq8cI4KZBn_U*` zI#yRVW}lAL`=Mvn;qtVJ&*bajUlEZDtVzZ8^(zY|qmi4cdP)w}!`&q{XUO&**jU+h zS4(Qh!dQudM|s?Pu5OG17aLy0&shakcQ0(?+i2f;tHF0$uvbU{&>6OjS2`CL3TGwG zS1rBt>3%w|@zOYH{hU>!p@(6jKwa5PLvR)UDBI^Ob%i4PrJg0Zq)ZlT%5uN84SWI- zXHMLm+*$pmM`yfs^99@;j;h`RXv-0AN|u%%Cr7vXaL#$-WlP*U0z<4vJN?*e^U*X%;Wimp;UU4b8dR>~?*LsVh@pZ;pLx7dx!ALS zS1`X>An{03RPmA60hJ?ZF8R9kjmcp~@gq{|ouD}yzw_8d^`DMDy9vs5Fm~VQ{L%Eb zAjtG8pYvIz>K#=LMQgifo~>VkOhc@x?gyP^L-DB1I&7m~rsu>dP3Kg{XH*-%Aj^8A zD%airdWx_7;2S?9za=HL+BPZETLp(|?bu!^c_Qz82}#}X@XCdYW#S~+8;Zsf-n3n` zWz{3>4kP^;W-fztv*nkP*i%*M#eB{-3~Dwn#u6qu#5uYp2T#Ir{3AV8gQZZRNNz%=lI?b17uSx)~tc{}3ER`G40h?l6Yy~pcavQfTYZvz2II}&B zdPwIT4vusb%_t12>0(qpe59nA_r>i~#BmH-LT_$+NQbD&Env>0US_fNv-lbVyryJZ zq_H_k{bT(5D`s_O13$PP1rd>6L(Lj8u=VJ-_3H{wMb-`!>IJO3Yd*7W3C%1!`K&7c z-ts0>jpXamrwpw3BBBRvhVpYe6~_Ho1)U!3nvKP3<^a5r>W;prwQ^=lOU0G1gWGOBcMA-rvcdX%?J%E1Bdo9psb9F_y-*$+*WO za^sVhb(ei=+F=u@)=47b=}Y+)=~bPYPvdQ5t(Hn zud_NNL^)|@+XwG*{5O@q#Kec#pgsDMi*Gw)ajThJa3yCGU0dTAJK>%3C+E{zyto+S z#i*K;(mivh+g;8z@e19xio@WnJ^FK*X>eb$OolKH{}Uy(KOg((+rz8el9tCZ?_cn8 zW?)h>xvk5?{p@fdzB{#*9-!NvE(Yf11Y^Od6%m9~^Uj++iL&VQrB9B70|%o82j$h< zIh7G;PE9`F$sRM(0K6^kjm5f^2$kdmv7I%u{xDYV39eGt@82j$W^DLO?F0qs?E41f zECnvgi;LynC{x>9`=UB?VeDryen&uns<8xW;g^C=a!2d$M7|t>1hq7OKROrPH%>(< zv+`p>-?N2uql?A+5@ib?x>PuNsK6d`t(^`_{npGp=}&K$Og5L*`~j6E zB9>c2>%y~pT+z<|wVK*mr2bicBpDHk$2EcV(EVplZ$NLlRxeRwLG&&~hmG~+FhTuz zZO_Hve))iAv?aIBL&oFno4PxdTK2u~2*xgps??r46x-gh>hWKICKFIREBK~@GF6s# zo{sgzf#PBxdU0;6q{}_ZL(7kB_f@s4gm3;w_eAlXi5H>BRWRGcA6Hw>v$i722>feU zPT7w~^kxT-ZJamc25Uz5r>R(R_Z&Ga`iMw<$IhmlnZO$?CHcwxmFPW%%<=S** zIm8J+lbAWw=I zVCuX@ui*BDkZiP9I{ZoSkJU0SKT7^Wuc;! zX6F&AmaZ4`coH^&vm{p7W0HivIhMw=6}P>*mqD6RcU9NCGU&F8Zf|@_jf~T}z1TrY z?1^^1llskKy@rC|zuBwWuD$#@hi#<=qu-jVu~gG&9F(-#jNc!*ylZKh`!EydBWroR zS0j`f%UW{iQ-=Gg*57#< z$1eM;$pQDo`l(8C0GiC;DpAg6D~mGy?E;SRBKwXHFD@)UMOedSAN{L;PS#!5EkzYP zhPYg@)n2dWG&l?oK6}$fMg;_OD@Gk~BZj79!C)Ko`IuQx>6@Sp47n zw`y|8+!Xj!|BNTeX(vN-la~C+9%dJeMlpA!^JO}3@n|eO? zf$5T&|K^w`4Dmu$SV%CvP;|}U-`nI-XCmiW6Z&qBDW42K^Dxva<7VdY2S+SkIEXCE zGgRPsmEya-azl3OvUpnDdFV0=S{8p5n@ZzwUsG&<*Yf1Y?XS$hBFfGK5tTm*G%mUi zW5`&zWz8-YjWQU#R7o#*@;{f*QsW}Nu?O`63H-K_TfJ-TdFC2YTKEb}t(@D=Ti`IA zNfsv?gOsxKE$QJP>yN)H_2Yb`f-c%Rz(TpLm!(1D?g(yOB9HpEJYP5)u{!)rmfH2@ zssg>sxQreNYpQtC_TD&OBU>)_OW8kT|D#tEf$Ay{L&GSpyC#*i70iny%yx}LV8XxQ zRPF>`DGJqb5F43&(oS;!X|-YlUABa7T*hT-;PT32ty{gZ%i8e=0{2~XE7+N(d$c!8 zDM~Ck4ZKuYpZ;)6^S-PYTJ`3ietSP1JYjtj->0@LMW}7@^N9md%N9yx?#an-XtJm64q(+3{06-NKo7NF+28 z8kxa(UG`7vm&{q&QQKDct7#@iya<1_Rno0ZtY-eK`!CAM`QV&A-e~BBE)me*MTyQY zV_pA?1xTs+M8lG^HM`wk^VK2hXTT@$daXNJO+Fm?@@o~2<965B!jHTEpB5D?5M3ME zllVf8V;LOKJF20z;#X@pQM1LnJb2xtnybae*O}w2bLTOuvY*t&D}Litwc8(n%xJF7 z=VkZZR(+^X@ZZyS;AN>!pRkJfajqv^dm78ce!F2A_(YwrSAW}M9GpzqUr&4=j6blX zar@rjaw7n*)zO1(Tq~4VD#vN}-YOmIz$`k_Z}hlj@mtB9186z5YQh+O<4$kIaGhHY z_#r8MeO@hdU{nip9W>ik2$wPuyAl zUltdNUJU9D-3_gsN5Z?c+ddngH)@4c`MMq$^ct%lH(#*+(S5>t_vzV(D54xbXoGm^ zHNNqu_;&c_(q-%n32EZUleKs40)l_8Zc`=BNcB8sX&I$H`DnjL?V{_vTh z{F>(O^6Cag0XmnQ9iSk}Ih3xlvu@w%o9XE06m7gy8VK&?+Cx{}pX+b#jI%_VMM}); zoIb*@YFT36sPevm+=$2X_{`Jaua?UEk@%0kI;;l2*YiZfSC}X%1QjeSws3WT{G3#A zCS&dbN3YlK=T32Q5a$;O4{>EKHF2_EZ#IkhhBYvbV|z^{o$^Qb*uA!M!K7We;WVPJ zhr1U`P35!E$Lg7k3%M4vT98UJz_I9`xqO3j&?EJ_Etz?c^+BUDc=WOHrd}k%S5?vz zf5H;$%T^GFw8R>q%31 z$F9!>JluonS2?31AFJMIb?bLB4wlM1lUGby^Yi{Qb(DHoX{cNZ`xefhV@+U@A7biZ z-?qM?tTKM&`iz46uNN3`)F3LnP)HVBm%wp1L#&~KStyxs+xlg!rxd)dn-$jc3%l1IM!boFgP^dFb}_>b2yMDg|yJtEFyfmdhkI z9v@F>+2adezM}98;M0nP-Y*X!R*rGMjaTRI(kM1_zwJ3hBayDPFfm9(>$MMV5J54OSZ6 zVbk$XQ7?j&Fi@7?sd!JKpbTh-r6V`F z-<)#ni}_(j58bR;lq;^Ni{{|YDSeL@?hVe$vC;2yLP#Y+LCZl|#)j47hp8!La%(^Q z&X25n7PM0aQ{khS6+^$Jmc{rs(HC$F$(Qs7{m0DQkqH5}XveK$#@c^Snn|})niHYMhNU5ZM2-nV(lhAom(tEv`Ewzm|N)>Vl z4@o^ET$1zWU6i@wTN%4Q#%FO}thmUeq|&KWV&AsLNUP;wcjRoKT_tTQ?WJcifBB}{ zu_mORY}GcD@%cThY`IhW=Q3^h%b=;S#YHR4+aiVLo$6gq>8W9dQ}+g=S9MHc;_rCF z#()20`)t~fEh$s?8PX*aBk5J8N97$+QG!qNZbXY)5ZaQfq-VeSuV-MaA^iLEE2HO8 zRmA&RDt)HUkGqsLDsu#-F9;tzj#TV< zqISqKfNxl^3}uJXY*RHWIqSQ_)B&C%*}DK@b~&gbVrXA->w2)Q68uNRC{n@-HI@Okf6V^vyM zUOx3?y7(`*U!l+r&*>}t&y~-uAVoA1ec~GIx}6%ZCDhL5!hI=6=vihi+Q8F}_ZnQ= zmkOcZp50y6B%|nd?p!7_m&BcuIe=emnF<&u+ysbLH!TC zG;i%xns-6@9sD|QL;tHs%;~{ob<4K3UaQa9U@FVLjC|e4U6*X{N1&(fA+M(jB@J`E zs&Q<_f30Jh9S_8EVo4`~lCr@-Lc{Xktd)}5sO?^|(XF7Yeu`h9+<*$M z%1UWQ%a-_~pjGR+vZ^h}A7$)m z_AfZPDFhuZn=bsTZcEV0GWz%L->ubgAsAj!QK6Amx$I$TZ2T7hg|#&`#)+QmlRuHU ziO|yJT03@RZeTD0eG}|Zz$eEi%f1l9lH8K75tdi*v4p3j^?xl(1jr1|&6c*9qRqV0 z8cPtt|HR0%Bw+-p2RzbP__q}ThoJm8eE-HJfCvFvyY*MycG&43Un;=&X)eD6pceer zEc`?gK%;NJ^$QO6gytZir2s%+tt6%1-<#XB4DRb)hXDW-^{n5a(FArL6tK2EBX$`{ z(=dqUq1hzIcXc+NZAu3kQN@zFl>6G?)0T{*hN~Vz$s?``P}|Ug;kq^V0x-1m?ZESD zk3&c1q!SU#)E9wHp=tGpvy1;Fb+A z?-@utwMBtpmi(vr*lnW3F|O^?xa7uw_fnedROKZR1#do}%gO*B2OSL5oSdA1_0O-{ zk9q+AjOH?rOtQ7{8y3pyxllD5jn8a{m9jB2(ZnIv+?y*i za5Ld`F8}(zZ9F|4qdfx;g16$IJU`z$nrQSx$T`{o6k#XUtAK-M|l^ElW7Bu64Z zH~=Pp{5M=aJzP0cMiUS!obu7RgV4n>@bbNP(40etP(j&)eW5jflH;l!hrN%4MrJRg zA)%Kf)c>lV0d;|hF@Q!OvsQj_zY8@j#Kfn;ogK6pk9IE`I0`sl z_eSxCi!L7w8~hGn;wV;KSAfShH%rX#%E5sHaAO>>cjifB0Iq>S^w5`wQ|K5Tf48lg7ZG#%op0JoH+fIb<-h!grYn$?NNeQ-i6knMp+%`HG^gX zz^4$4z%NpFRU|9AxKtMFGfly#@Kd2-iB~Ev7P_8XPITwl8@D*3k>%zE)1kcPH5C|L z54lohW6LW=oC1Z=g5A;91=?g1rx=hHGQVlxy;QW|>~XTuiH2c58hQIC_AIt|oUZJINA;Qi+11HlJS`&ZhsS~BFWo$QQ zrN$pNsGBf)hEP-wEtn~vR0puV_IB;XSb*cCXO129nhkz70T5Dpdk?+LM_ZVa36rIU zog%z-=MfA4vyCKHAF}Y>2956A1C=Uy-0lfcZ8NMW^H%|ca#C=^WMt!$K6e~-Th#h= zEDHW`Q0MQyxmVWu^Tz0mhrjew58di{IDPnW@@N+AXZ$4q9fg)9=_crtiPZn>Cz)0e~#nfR#gBf4LHz5I7 zt?bwaCBw2f092J(4%)#aEqVU+x9jQRX=Z@`mXizKvIUG0AdOT7kKsruc(E7Mw5V3gtPy}&&JyG`1zkxut84v}7QDt5G!@CwxbvnR z;sZ_Lf5|==S=3q;8EGw!wq}09$CiAvEE4u}ff|O|s_dr&mTe}+^gTYz)Af*+2Xt*# zbTk?mu*@ye@Ub_&YNLqs|gcOiV;@ zp$B2ADddT`c&rfo8mp~oloPAN34sm75n!`4zT$ez0w*K?lfha@rt)HCKRqi4AwbbHh-mJi6Nt{;s14!t{f5TkzvwFn_f8O-T%Iq!J_ z!QlR#CpOyVF4*?7`f1;;hoZ~s;V>H;8$H*5lCbaE&v#Elzh^gsaH|53zuF>4Nbpmd4QY-fBaM zH>8^$!wzM;CkJ zjYnZdUszNv?0dKqwVWQJL3@1H>LecuNYF(M01Ry8ty7%8)ee((Y| zoB@1>rf~p5`eTdZJ*1Bb;d}F}-YSbI#Q13yIL1O=pG4yt@4iDdM8VvA>u=~`z7$=V z^}lF{owzGYkGto;=+|x^r0AEq)>_r)WDvbSqH#NS>L%OJOwaHnq3i$C0lr{dk$bo? zolWpte&^z-wLT{iT!r@aZEx#> za5suk_lxYJIM2lfK#_dAOo4Hqn5%u9S@I3iCnm2K0jloFd~Z${|4v56>0fDtpa;i*9$bhIT9597Tq_Zo9rYeg$Ce9Ox|5tFZlgkadZI_rd-9io91YU4mX60lv^PQ5st7&Gh^ryyt#Qj0~OWOgzt~ z>&XkMa1PUFg5@9M(fc(*t05eog;?HqZiT*=XFCTg$_{Ff4%c z9W#Ib-V=h5$NTVey;@AA^*OfpCtoQWQ z_97dyN>ft>qWbn;Wy=etN-fVox$^Xk7^5W z7zqPlnkLK)ev+XCpk)@V(rit(XsHb7WQ2}$7+n2>M#=lx{UZ7pbiBOkD{B2Dwpfof zxhaxV84}b(-^UlfNb6s4TWjkO^h&{fgkOP=iH>f% zSz2BWbEp3T{(3Y+IvVC9-q=@zE}t<_gvEY@4G(zBeJdw^durt|-m#<44_C~@L-D_Y z7qD*s8I8#~-`y7I*Ze3$%jI+|?#>;pSp)N4Eno}Hv(Cg?!|&&uoSdMKMqOQ zN)`U0t*x!BJoV?#i_;SiZf>jpIzyD`Iba%c*gFMyIPgt?i=OK z#;g?B)E>4!q4!^@>9LxvkYM*s4>?EjN}a{QfVvlk%EZZULbo5)vZ4lZbC39vEcgBx zEui;uDvH$N^j6*@Vh|#pAckcbLYvc=nUPqz?yGjwV{YzY(V_C6jiw7(J5l{+<#*23 z9U6VT{-ShP>W3m=))>)JRZH%@4};G!!CJUR9%G8&>A3G0&q;La2_Y!=)oefw%a%Co~kB3tf34GN*o_smcaA;j@ zchYL2cr8*pre(Iu_N5txh1wFK!6DBGQ&G#`SD(sJ++MM=%V3{BXfZKsBCF^6#%4SF z;ex>Nns$8QZ+#M!rH@XI)IpiSU~zR&QULDO08g>BeDV4Dal>JcZ#v9JkI0jvHz|YjlTrT{j+*6^3>d1x6ywuBc>9`0V2^a$ct^^LnUsaz3)mDv+8>JsP zI;MR~yh5h(44!^fs7U4a;bzED;`4HPYC7s4PRC8lMr}V1y9Bx`>A0!bkXvqGi?)^> z7R_BlUViV)Q}ma6>UEeZpkaGybQL@3L2p8F^K#yRzJNWAKc~T{>ZuAnKN9r$g~IKj zowdy$S4me+2G43LBcB9!=DB4?s783xMJjXS!Lnh{C_2>PUGKL~mn|w{&XFtryB;(c zHS~_cFSz+0;0ECql{@R39To+?IFZWXY~D*~E}ojJn5SO-r8la2b~^ssC?V>VfNO7I zY`j$`^nX@Pqr~oWanb`v4>D5K` zTbSXC*3M5pJ>kw+j}-E}W)-KUS-rX17)T?CXE$S0f-t9g4I|z~w zcJ%i5V?Db7kIrPvxfNsMhg!BGue@$c7SE@h7-;BY_cpWs6A?GfIla`vwEQG97kUP-M_xc+b8Si;_+4-x+ zNN?WYxXxAl`>uI>Hcq_s-wJxo3Wtzr8ZiOCg9q~R$3?+W0y8bPCzD%~S6%vIRxbG! z-^50;U>`f=WA;tQSq;zO7+EAQ{n*5gt^eBOq)2-reS(Kfb2$T$T)-hEX%Ugc)nG(F zRXhLSc>fNJR+oGjSLOXtg(Dv!ua-Cc{G}K4aw09WvP~0X=xdEl&(oO2RzIwuPvH4J7Ot!^nejT+d&{oY|9v`D{^@v@!+AtN zHD)2>=5y&G!-oA}>L>;VQMXJoYIXIpodpHd993PSDZ#I!}e0!CT!waiTNFmppIXau_vc;43dXr z9+5E%tB!e`d#+#qXce@2>{cHaP7c5DzTNnrOaKG96=k%SYG}!vxB-1l+M;+}uLJ?tML+LECfs9wr<4iYRjWJqIRr~ZTZ;<~JY-B>R zcZm6ACarJ68B!i0C%*r2>o1gR?8a7)2(y=5U=>G=N<{%djU)*7pok+o;ez)VFYo0N z2RofvH!Pge!b4b==zNFJ6tN{HX5Wf$$!ruE9^m~oDC|Gr#dwTOcqPrkC@o2(e1g^| zD*Z%^ir{TnV}YiO%oE@?A@YYD3<4;*K*mbbe)62SM^>wTBGO84_d@t$L*qi^t?r4O z8c`#L*x{rH3X8M4M$^Chw^;ap--`tUJgLMpRy+}P@EE(>^#+wKQGNlDAfvsFjXat- z{Ar3Xe0Qa|3b}A)XCax>Y6o6Mg6dK`KJx5(EcWK4d0sh|O6Ymty#HbWcrx5w>jrI{ zP?%R;kL#GVeJu+g4;0#P(6g6GD?usY#fwUZ37(xB*qj!kk#gsJXwtvT=2sO`ZLs6q za)Z0RVk3L$^s0yFq}YSf3qLU|kfn2*FTm0T;Ca&Rb=73G0ag|qy? z8I;vZq#w?BqmN{Nb~s74%r#O|cX_SdVRL=)U*BUKg@<_I!`I(oF7kWl+Q_{#DxC7& zxKYw)@?GYWr-{m%6`TxkSCDmrGnTor3gK*gd{Ga0Ez4SN3gPr8csaUsIVL7E{P8V*FST|j1cT6_@ z*Q}Ab^2j!qf8&#ig8Z-g(YoP6m^Di0(`(EfRpSiY{hlgl7(K62VlFB*+~$?NSH5tY z^cGeS3*7BxOCHOAeAifEsX|&wD(TcX9fx1yZVZEbqzPj;7j`0P6{ z;r4#r7diX#;HETi)5~S(h*P;X`hR!vW}|NL_SCQUk11|W(;2)qaOe5d-o=O9f6D(3hp>{k7Htm8^g4 zvxvwuEQA|O%tN1AuivQ&^P@Sutc=9O*XOlHSMk(-X39P93MYk$l<|(;r4x= z!2Rm5$67cld|~yU&qHNMMNvkPuw#}Uc@>+UyD2e9gdo#T(Rk!q`_sXxQf9Wa9|$z@ zEA#)k_wdw6Se78>-ulnJb5YSV8~(kM-1EM-Bd3a8yf449l(g+U#CeCyhN2O&jEPKo z9QzA-pCkh7>uVc-SNrv1h7{!w&lLaXnaKum210gdg|Lbe*xxxjZxgpNTgmkVjjHO^NTVjA;6#_=kU01UqDsw?( zg-opr2O)ok#2nna8-{o6iQs@yRv@7D6F-G`whh0k*r^^;P~gtyz)cTh!x zHnFl|p=u;Z?PYi{F24MsO1ZWv8~0FMOFUOPW@Bl9d>Is>nM~m2kBBh?R@wc4+(eqo zOUWInVxuo)N_fd#LgjM#iSse?7?LmRppcyL_qXO4t5h)0eNd+V#sX@|;=WY;umpE* zJWg~Fh|G@R*<>RV{@YS6ark6`-}okSk&c+X@-n`BnI^1nC9ln^yk^yYBCv#%c#rDN56xXvVb&`S=q=KB7os;9RqEx*c;Oe9>v2_B7r}I#)* z*}c~O&#rrbVGJ29)XXg?AbS4*1xC@9r$MXcMzj0Ztam@`QwB+1$d=*qup*8SVppEO zAso`~irM~;t?U2$2Yhr@g-1@<=?=TdcO=UHl~PNkf0#^=)1CR$CBswfB8nYA3}O z#4w8lb5C;3L^3^pacb(YOGa@GJ3o_&-aio+`!Y@aHyXk}6vSnB6O^b$(mC&t*U*Y5 zB{X8zm;e?9HG&<4#>n%NUEFZsJ_jzPSuDPSvtF06wV(O|vUgeQyvE0dl)$M?s zF3;zD97)-x6k!*`NmF@Svz>o`J~o+9@{pz`TKfGv?8WyC|5(`&`G3s1_(l-UMR1?V zg?n4k|3tbzpUfgdaynQN`lLUJIx!^iEDP_94fHERI=q|A4TrJ)x9+3`?toh@lwfCq?C%7UFcP&8qQbzmdbq!H(|C)CYB`U z`iCv`wT6qA`f@@CR>c(LVY%|yLiA{vyP!89`M_vyA^Ty5pY(HlIT(W|m#~~TR8S3! z-NL`woZW1e`^uMTw=N|K3cYeU-1HZm3BKFIiy1ddd6QNqInM7kzQzhCy=*SxZg4W~ z?{6R^trRbWV){VQ>f@;P-zXYg!HBGepz#J?yOD*i4pGdSr3UNJh(z}0l~lYEs0>*y z-N3P!K9^%k@fNZ#HLVnj)nB0{kY3a^uvM|K;cXXBaNmM^+{3*1@|xwm^u5~EtNjnL zh%{H;HwoS)T6EhM1>Cpk&bCt1@St0k9 zsxVK-LiP|-MsxI#6H!|PeB$lK4QX+Y_4Snca}P;VKfIkk`Lm+Ve0$D;j*yK;uh^YA zqb#N^ksowe?_|7>$RjOeDEKnhhA;KrP&B-t*^6t=4e!TWI)v!<@T$3&D(IYv z7CGKhQk5SdK^pZ;1u_tbRtsrXAU~@S?wnKUgdmY+n3(W`${4_ z6DuB1ohcAqm`C@!|Lhned5R{@iU-0>l}hS+6H*mRLuc&_8LSci`cIVyp7DRaTw&5O ziqqseIk+F((wU8Z>!-gJzk~>V#vNIjAwmeeunq{}enV5b6ArpB@5Z#GKfh3#@NfQh zf2n2^FMM!Z-X2zE^H|xd9=!ABi@qsZ zMLfCj@iH&@i5I$OYp})E_*|(b2h+54tjUqiHl?9CvUQD^UGlcgd-1npxOXKDDwI#3 z6skvzvuiatIt>2O(Nia%&|US5x!BqkV<~r;aAn@s#ib<{TknMeE>~;z#`Ig__mQ$T zyDpJkvgR!HnOK!5h1@MxxEc9!@dUF?V8-IdgpX!;F5HdoLe1|K7B5-csHkh)fA7rS z@dVAG0QCTRx>ny~-Mki(N_|qUoa@_ncJ(4_u4H5JB7_iV5{;W6t2+~`R4we8#$Q++PH#L!3@fw#bgw7>XFK2FL!@t^YV5>I z3@Sfh8-B?3F~QNI|9Z0Z@y*YWy4{Q*EmN=n_IasmuOUwgC^7r?&gQYkYka?~0)z9q ztXNPuD_Vz=$gP1)UZI#t-@o1ihojdE8TDkaOD3w|W~npW=kwl;Uko2z5t_P9(bRwh zvXj-^EU*>+<^g5gfW@<+cA_97gid`Ovc)^YLmZrsgFqUrTM<}^@lj%edi?a96f81Va zMWIx_%Hiek__O44S?WQGtXmZ4aFi2~gY)5|UFNj7lq{S%RU`8wp)+5EH$$vTCWK%2 zYMHv<{2|7qCGFs9q)EE;c=zR8Z@i;%`Pev77HJSCyej&C7$u=wp{=7|3+DcwZ9d#w zXYv`Jq)2Twoj~&AJ$HBSF8`7}8Vo0lOds>V<(OvPclpxur|6F||Ho9`U{^xBSxmQ_ zzNMsfZ!f;5M~R%mgpi51dcWzzm;C-!dWWVkJzkZkAR-VQ z-_d5J_;=Zqi6!ZoNZGyqOO&tTjU66O_&kL)YIT15o-tn|c`$NMm;@nYh{ZGeNp`&V zH6YW4ONIuQ_N}!<+ViCJ@l`4YJr3S@a>|W>r|fqJugALfB`bceJHl-lyQwk%{eEvS zmVSI@bj-y(gdFzI1MwTQvPo`3%FG3K)$cZUkrjU@HVznFrP45DoqgdE@IGogS>V@o zCM`9}o9tieo>0IWM75RkAvAYTWK~^e6_b~!Qpdf%fEG5*j7NHJH4Mq~bOHYo-hB5Y$H|B94d;}B`%R(Tzz`<=C=_0=Bft)U%kUkj{8I_KI#{6oY;X~50{;VmXeU?1Ak=*gS|GpDZKrnsx zb4t3=OLy}jJ`#>Qj%ailQA(t3a`;A*!6^%zWEsiHYzayOH|3Di;f8ye6QxWAbp8!g z#6gwUWAX56eb0;74L)uRv+a3RCstYwtJ5-HCERxK?wbnF@a1LJ+R3(agyHcfS}8xi zMOBTp&Z_ecQ?nD)eFDB03m}LCF3ACvbGc=@_kP=D7#`0J#?yC1c_L4m?|~YW z|8&o4kG?FDlaV<=ZwoM0f`V~jKKmQM*Xn!WLMZUH0ZgLv!-sT9?_uMd3*T5x99~~l z!s^Eg*JdCM@g7?xXNbm5({??|`)PLbk&z;8{-u1=iOSJX&(_9=k0vr!&kx?l$xW0& zIbF9jBoF`J`$96^W1r}SQXUBBo&gCFNK(zt%vcYmH#kj;u(B2aaTI65M`&t4ehfUj z))4xXF#mqBBiGU_I;0dH+6b3gl9ju>MAqpXzzXmZ?@yn2y-4nzA~JjY#&KkDny! z{sUW1|F~@Xsi`SoE>%%fyhP-&F(U>n#lSh`7)^PLjml*!S_7{Q#iX_ROcZY+uO?nQ z?iQ?a2q{}hzaDum*u5usk^J@D6C4SPEW5ZD3Q_TzT(hqXtm{2_MyhO;+;2fD$-ik} zW(G3SCqQ3!H8w5H$lBW4)|O4;J?>T1Q!QlsHmb(rKh?|yqJNtdFtZMC_kunP?NG7X zEAm|L9caDc^N3kq-IXjZBgg7|&m~JL1|m!o1j5kDp;3fM>%CGQfp2+I`B6<D~);2aIu{k+E0iA_L#fHDftz<4##o@caq*d}%6puWcH&!I_j3MISP8-3C=QD#) z=-<`d54hXm8|rmv2vQKC=wiik?UR>xe{Twgbi3$Ki4JT%%a(ho0F>`v`vVVw`!{0h zH!ku#7$!sk z?pYoS^iV*y^ zyF2;!gDrbmoO6$O>-R42_xP%xaeBK*iug|=!r02=K7~GPA24CD2S&SnkbF+*2A$j4 zS|@6w&CBMD+AlwLa~3#k;J84^toa+hZy?tYVk-i#p5>5c{hthNEbP_+6b~w#M|pz% z{>IwW?+JYV@|USMtJt06V6Wo&%FVFsRU=T=2AeEI5*P;&m2>pe}aJ})v{M_+C_`IxP)fY(!Sm&WHNI2F4*a60EYjG>Wt_ z{8wO!!VAF$0t8OV|HvIEwY52PinQtI=-^?%a18{z^;TUt=6PTh4X=d9?_ZS1{LIVGsKKLg7$VkEYX;CdfQ~TycNibk2SIrIXy< z@65y2xSxL$p&tDu6OPp80Qxu28%|$@949M*TC)I{_VV&ToT2xAm2R0K)NEwY=>AM8 zBQCi#a)j~QV}jSXaA#%aqIgGx5SJT>Q5$*$f_N(DPs$w;`HvNIyDn(D2@MM02EN3e zSVmyCuC*U4KHOdu47`dAp&IWLVHy=OU9Q3?#32~{@veR%VxE?~_fB<#M&@x?{&=QB z8X0L{CIN*bqv3)iTd*N>0^W zIp?`MlK9#7n861QZY`~0Ac?I9PX2EU@z_H2#O#}3qk{4mQCvW8?Ifh zZIv*p?{U=%wGHFI3WHkVTh zxj)TXrQB*yC&Pw2bRj%mo~m2Z*QHfg`Nov@(F0MAZ^8-b!}%Ihb}N5z4nI^L4ps?> zOFUmuo(iU-xJ1zqRarlwd9Y}XpRJSwO`U-y=(4I)C{wz zF9crIkq9_G08VWn8U@dc8HlYhy04nPwrLAQV8k;IB%kHIQJOXV>gL0z2}^}!^5H$Q=qJ1{Gc1+ouJu0)&%dzwRn*k0sWo20WeenkyrL04A{O1mhV!`MuqH=?$`K_$_FSL0ibmI3n`$xLa zBlWMh_}gd2jGaH;L+S8dolQF}>{XM6+5?2Yr#Yd4>iiWGzeI|_C;^G6v$Hc0aqe$# z|MU?>YO%9O+xVEYqOV8aiL9hnB9g~N|5M+bOiOFoh#6&3*X6yjzCdE$n`+v}I;>^) zKJW2L;45~ae4ZPqAw4)SseYR-n=B0(TZ2}Lj)BGfIMbu*{0RZ09(}G@DzhZzz(*VrcALz9 z9tfO}2nwM7xq!r0)ViONkkC}692%Vggv(v?I7)K64wf}`u|GRw zZIpU)eC+ALki9p0td7bb@L3t^=m`5AY=N7xrHu&>_Xak37Pa&+EmNdg-~ldMQeSmd z6^Pjajj;Qlc|{bUXqJEv)ZozP9HuO?m-ml(P@JoFTj)P@A9olIJiEKi@Pn_{s1(;RFYU^!(trWm$o-v2hpJ zd{9Y+!mya=H$CDYgQd%Po}p@Vd&d|3&0+wJ479fWrRRgT7-Fl6-o6#Oe!cyH-bq1c zSpXe%nKx9!^hajkrSYhs^sG*{NM$ghjDC3gd&Q#-K?VlV4}EnY4x@zuuBRw!;(W09 z4F@7l_v%`OPo4>M)?64SspGtn&TC&~z+_?X>oHR#Xgc zlrGc$@?cH3Gpp2r5%jx6WtgP?APx}=*|8P)8-^}b2%^L7(0Ti54xTM&uc-#!zpu#y3vhm2Mywr%0eC|FcRtGl zGc+@bf+DH0QC#gAmN`Cffy&Ff4;%K6-Dism3j;~0pY!8nK`AgZjC_1U04x|36+hkb z2vN!tBShL*{If=-NFS0Kvb8q;aO|Ch5=E5bm@?Y^`}w@NEQ$T1Ql(8XwQ|y{YVDs# zy)WWEy|!JhQa!WS;XnDMCWO;3O&}^dy2bUElD76JP?>U{Eh8cpFgF;2;hB56y&CrB zb~r)8cTiThL45+)@OPyg7@|`HZOun$)|VG!47+y&ELsZdjj!*y4IT6UC=1PtA*j(p zhWfrnV;kMAP$QiU`GQONx0ob}T`=ZPq=J?*dQ?3Ai@fIiT$D-{8hs;rB+9IiEz-WG zsS_K~&u|W)n~RCI|GAMZZ6O-p)!ki?o2zf{j#!7HKVsuBH=RXXNueG2#hA31sWY>j z$L3g8d^oSQahCVX=uwb)llwC*;SZYTan&Rq&gxR)TCd7SKaLEga7euL)+(bvabO|( z{CF^yBGFs|VMX za=@oE*jOtBIgQEKlzm1jWio|7M@FsKyhX-%B2#Ehwj{(xV{M4M<6rh!x;pN7{*jY5 zX_6Jg)izWVkV!)!$W~J8jgXq0Fus*9x95hR39uI2p7r%Jey~{-9`HFkVEeq}93a(6H;X+(yS}bM&o)Vw@i*G%(O8o@d(cD3w#D*l zSe^AU2Lt_%b*%(Vi&|#$r&yBgCa3!&MdTngU%E02?6-B>w!ds$=1M32Xn@qco|%81 zf&2S)IzD8`IL~8PId7l$X5*Q^skM){TPmSc;?S=&^_}YzEv}hOJ~SBqX-KYqKF+Mz<_+C6ss9-R%gG%zQn3mym7Pq zrf=PfhVEgnL`-B!8h^#c$X4N>j@ulABKFnfEE(s+*-+1qR?PmqRyNi+V0hRKPS(?T z%y8abwXY;sYZ)>my)whRhKgMPI~Ay;5EB!3%+@2X?OgNzwCwzzdf61ZVU^+c!pPXj z>DXbqXN~UkSi)*H@9|4(ZpF5MTn0Xc+%>*;%tg}wB0%znpDE*xoedOCLZoOg;SG^u z*1a-0&u!|fYqRAE`1$JJd5?Y+R^KFwRf4LEs(?RA`{!2!ZKIgf?q8~Uu|ggF$h@9j zI(LI_R<5~=vrl#THn=O9>1TfekAxT*EuqW-7Va*6doCMtmN2g9Mt4*E_qV;}AMc=^ zpSJtu-+=W(q)gM{xffbfP-h!3((D4@D1)RzZs{Qu!=UEmbbJUdA8g`?I9mdHxzvl= zdE!cSiBB6&GctZ2n>R0sv_GJ+Vu-)PsFi}Md&iTb@55H&2WdjS*%lMdD*k21FQsw% zTs&-SLlO7$Cpw5^4{)zsy6oR#vbZ6Qb=|aOz^6=1A#WJ!Bp}^jSY3ZUE*p8rtjAH! zp)9}=p_+Vg?A`70gTJhdjEpE$_O(qGa;QR5n>@O04jY;=sZTzd#v4L-OEvPyPC#{` zVtaaN`I*B}ii^Z?td?yf9-u!(}wYlM;`($R($`yb+$PSicr)Vy(L|})#6m$-`Y(n+t_8!053*2c!cf7NL0QEa^PB-UbXq!lR7?z<8NBPZ z=>mArSug$Vx%7xRSNZ}9#WV>KmepCvMPZS_07|kZ^tqON6odhc ze2pfhCl`CIx@G>*wy^G1XpUR8sV}HbefWTW|EmeWg+R;w;l_DPQ~NI{mvleBmQ(#X zR-X%wH7fT}H6GgSCmT+d_E2)oYdv~}!LMZk+>b>Z zP;Zxi$0xEdF)fua-%A{?+hR=aQ;I844+oN;cTMVPEm-RY22U_!7{E~$M?RsQrW@9G zwaGh*Fv`4z(=b3#nIl2%m9&W&cQ5QP5U_gAOK_EgNz09$n;V$l8^B7!SsB2fe<@IZ z1$qQ&%Y(Z31?tP6A_rS&-}yvHsU#mE8!6=S*DmJWX?Oq7{JV1DkALsLFcnGhiDHgb z>R}5(u9h97UUG8h1+9Dzw(bcANaLciM?6k1Sb$3-%z?_8 z#LkkN_qP=vr{>=ST)FTs*UXmi5jl%LHuqG=OcXn_d<_D%;mZeiW4u5T!tHu7xa}4lq3z7luHKkjyC-a4+H6!uyC>ng8Zwzryj@;;(O(XQp z#@5HrKh>2wo9YOBo+?XVZHSMD3;ZHs39$Wt~t3;W0!1DU#;tQNe{0zxwEO`DFse>hi?x4gfbdKA44E(=7fNMX+v zKX8h&UL7PKoaRfOO2cw`d}2Iv;oP~%8A-li9PC6h6U|wTSDKoBO~q^0R+l2r!cwPc zsF8XMLL*1VsORG^Vd01({p2r~J;ycL>()Z$SmKqOQPEV2ZVPdpTZ(9+U^?}hhxD@p zgu7dk1sm(V#-??C&Y@Xkclp!sbVCjHdVLOi*_*KpAycnCC6S9l(;)@WY}b*u#A2T0fRBX^Q7Il;zn{)v{S@%P#qx>m5~i& zS|$}eY>9~zJt@b%<8N7U@XMUy76cj+9pef~1g)4{ch{(gGQ%LMAR*$J2{!33Bex!m z>wh763BL@>@iM@5!+bar8tPrVrwhHRsXqE9uG2d} z^|vN!!NpqrO=wai&PG;HYGZ`dq1yTh)#d$W9d8(ExRWwoR6wR zKUJ_xbGs1NJKD!!J29S9kz#`=egfv)kJV}W`p{$kgyvOADQsPopm{8UstgG95 zsmZN&sbdQV66aaW{{;Q-U#uyPsW$R_h1@YE6EExU-KiB`ofEoqa1Jqfp%CnuJT*#9 z=)kc$zxF7MpG#T^jfNlxEMAxbt-&SccE8SJovfRzV&P#1{VLXJi=!R=y(N9lmjZR# z`je-$2b%f&g>3RdQp}jMKhrky%O|tz-cjT;;}6t<8;GWK_M>;?Wfk%Fc?6zW%a>=i zSn#q^9P40VsyOZTwzYBhUKU$vg|e^&^To(}Zd=mXTI+G)I$pOX64=(4dZS3C88>O# zZ+CgY88=QcCDlm97rVk%tx!O5OrS`HB<@yn_sX~8OlM{k{E=9`%T>F16_iEegg^|p zTj(7Ux4OrQnYLB9{~S3eDVPd=7Iwudfh5)dKPW1XTW(u^AP%?odz8wU30qa?}U+=&ofkN%Gypf+RpPgIS;*RR&T&75$_C@Ev6UrmOEh-%**$#dXYad z8pvkfpIdh%zYr7d?YKc@$jBe4ukz~puF3i9Ct1KQ|3cw*&nStr3XOp0DwW$%dcv5Z zl#T;SYFwPSK|t5={r*4|k9#75)8Tebl?MG!sYyadnKKe!-4{$*0Fu9zB16H?>FJ}r z5vP{+!Yvlgc;<%G2p2#k9h1Z>iuJA+vu>2KSp}zxH% zOEu%`*vRL8C3E=S-*A|;5Se7>w%l058}Ec*Na5s?JUHF5Qp_QL9BT2okKxtOi%DYGy(^CjF|zs}AN)W!60(u+@<3 zpN++eu9<}=Ij}TjU*lcweOffd5K$RKf}Fbm$F?k02=A#H2J6Q8u$S^bU!%-TASSS^ zofEuF^Rb~x!Nk;M%3uN}Ip8MJS9I3Fr!18`Hl8<^MBK}N*Udj#&!64{> z+!?O=$78_!jJetf;G_PzzMUrqjRef~07mEEpX%Y9+P^=|05t61pPcm#P-W%iU5|tj zgsZq%;8Ca%f}}mJkVpC|tI%ISaS0SwqE|IRJNg4iG5+0M?cN0fc`w$RH|Id9DL3~i zoWQvFig5zR_8C;Cr|VoIJ1xpDSa6=so&602AyiPGA(+6yLfk<4Fq2>BxQHa2RwYYN8Uqor@(Uf;j4wRy)E}WKQek04!Rfg2 z3n)K8+k@0gI_UF2mXM&t496=Fx7gnMBD;C8ingKI_-JG15EMTiczDoCdR10bZ2nuK zB%`JE|K5RHe&HhGcRj8bqPn&9vSqCl?)od|@T>F1v|<(JmzNLWs zfw??^-2-GKjbqd$bQLqEA7Uf) zAOJl+Ito&8O{Jx!`T1S&y%Q5R7#Pgqi7PII!R;Ol4>|`qPBX{G$2Y#za56Lhf?7W4 z`!O-)LJbIB8aP6rtXfi5*6g{NSyy*s;{99Qv*X2^&~*9@PlI0~(o|7-4n#6O<+lJ! zD=PXx{1#$92Lv*8P%;PADX1aX*erq^%-_R9Xj?(lYTV*?_=HdzD#q6)Ebos%ze>P$ z9!{jB#K(iEOLiBl<80$@&4ejqHs(n#?|wh)#Ei41w)R`Vw*qwxxO3FXY?J5Ty>(g| z8W=}jlSWb!5;rK(mUs8C7+=6%EPYLS4@AJ=pg(BO!4zXOo|se0|2tJP`f`q_S4gw0QQWBQYs=+Fg;M}R?4da(H-%hY(&jRD!?1E(s9`JVW{EGQG5MmPWdiZ!O3hx3pkrJ>X^=pK~ruFxEI@#;<`6 zN>@D~!wVcAdr&M!DJdvSR^EG3SGNycbzZX;V^hG_M8RQEsT+r>kx977w)36N-tHXV2cV~x&-{Rav4$f84Q{D9zP}fzVVb10@s=Zh> za2^TjgaxGn`!GBQaw^`OHg|;|e7og*!BSDHNJv5= z&3kQib$b4A#m(NqA>}+P!r(|84)jf--ZP+cx$DFZO*VL=(o(L4+qZ5ZEmR0%sBn^} zga)ZA(on`Xm9WPF%e3$YKq7IAO-)TD^pN{c8^6a!zQWOM-MPx@B5(?)-|SF21saw- z4B%||28?_~cAKFelNaFF&$5}isI8}$W~G9(v5NfNz1T)CIeYR8BfHes$CwTG*VfTV zv9oyxTN+HCu#iyY-&&A33=R$kFJQUvgoUV(laS;Dl!}>s!wr*3|_)Ym;|gZ>p-ac#@jx>p_t5`@oGk@OYWM^sxM(0qAny#-=2R@=Xu8 zVAz_at=vdZuZZ)E7ZjmDc$ET{XLq+J{2jD@pz#0>VQ+6wS{nLtJ5!)Lsaz`+78&^$ z6!VyfFGaq$78Mhd0&PK-cUK`)NEL#{7+@a&8fKEG1(Ke(dOv=kq25Ym6d#g2_)G1=haEriI_nqZ(`z8s&Gkpxid(# z!7c)ux(co>Bg5q0z3<>)z)?-VM8okkPzx6)zi=68vjK|;d&U>GB1Wi~M(hq6{4p3v zXJG6oE-4uq9*zc=046n&X&9tfFJBXQT0>NwRa>ijQr~d5y|iK(K>~n~Vj5xy6O&o! zGQxkrmVs5a3VPV*adF2cCKeYKHlV@*#WrrmTo88zBf=GZ?Uuqpn!-ex5k`|YK&L3sq|Ga3R;8bd=vA)Ekq1wPQ$EAPIDmWeq$Ic)fj~1$!t(?u_B#0(uym zeW{G}bP!uN?+4nztI5!j14f+jsi{K{c7$f!ypJe(-qeZ=OPsKGi*+6kF?-NA;65M( zjtxOUx3kj|@ZjH}IWH378SXxiiqR~l=C}9&9n=Ood>haQ4g^W?M~e#3g$ozOGk*d) zf*{`)^5x4H(6IkJ{)3GO_uRQcdg>8l6Tuo(EcV5(ARG;{_ObEt003*d9>6?2GczL_ zNe+_<@-To9X7!n!pH zbb43lBq^z>n`}R$FaU;;wFbI25@?`n>gnwRPt;Fw(2@BC@h=F#uR#n6v+4@N1G?tn zXw(Ai{+KjLGq-LE#~-*1<{36ay z0W1bWlLK$)?O^$U_Tgli(T(xBYe<`yQLUq9kv4Dh&db);R$S=~AdG^|*rg&Xl2l#2 zU8tD@GN3A6PAV#wtEW|ADa5hf^gDRreU*-GZ!*;{ffEb#D1VXCKLJ5^1 zW{B?rS+E-eIE94=z-k}>Q85T83dF#oqa-8S1yk_Gl+T(BitONORM8+{YHqkBoCw#; zmv_*x4u=6+%`GmCRMrE&ZK3^FUlK&KKp5EwJ!t394ndadR4+oW@XJ0gmK{8s=3%DH#HndSKHWK$+G6_YH*h&~PvcFbBOP zfZ&3#^g6&+%8eU_52nD(lp9npKwejS+=e)wQzt1h)YSY8C>r>e#Ds*r-BH*UR1^E4 zwT7jXhY^a$Oi^oKt1dMmBxm4b8RM~o1~7;shz1}(0Ea6a1BPsK@(s>3DNgdGIg+9; z5P3rlp#h*2fFxQ7gJ1%d;Q1SW2-!TR}ETnn=I zS7*mI5Fmgd1t9M4-@l=#WRWJ~1XNS>L`3boOCZ$u3BL9#Fyz6es|A!6IF`b~C9sc> zxhp6sb!7S?=6$ee-$9`XQcxmIc<*?nUyvfeDGTU#{aRe?hWnh0+zi)-5qAKlI1mKp z=jVsL;p*-_?}LV!Dy^#e12fpr&;aNyaB}AG4)t^(8OtjqB!t;^@bxf&AOel462PBe z+X(-+3U}_=<|+u-VXj++P(=LaryyztkkrFm{|_ZRIDh=_-`@ED`*x={1&~_%=IcC? QnAcU5RYRBGF@OBO0P>;mIsgCw literal 0 HcmV?d00001 diff --git a/book/fem/figures/isoparametric_2d_example.png b/book/fem/figures/isoparametric_2d_example.png new file mode 100644 index 0000000000000000000000000000000000000000..5a66dd8a49be7f542885176b8091c2fec0190af2 GIT binary patch literal 18322 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 H^ZEY)iT-(% literal 0 HcmV?d00001 diff --git a/book/fem/isoparametric_mapping.md b/book/fem/isoparametric_mapping.md index 899a11fe..06a4ff2a 100644 --- a/book/fem/isoparametric_mapping.md +++ b/book/fem/isoparametric_mapping.md @@ -69,7 +69,7 @@ $$(isoparametric-def-1d) :::{card} Exercise What mapping do you obtain with the reference shape functions given above for an element with nodal coordinates $x_1=2$, $x_2=4$ and $x_3=6$? -```{figure} ../images/isoparametric_1d_example.png +```{figure} figures/isoparametric_1d_example.png --- height: 300px name: isoparametric-1d-example @@ -140,7 +140,7 @@ $$ Isoparametric has been illustrated above for the case of 1D. It deserves to be said, however, that if there were only finite elements in 1D, the concept of isoparametric mapping would likely not be widespread. The approach really shines in higher dimensions, particularly on unstructured meshes. As an example, take the arbitrarily oriented quadrilateral element shown below. -```{figure} ../images/isoparametric_quad.png +```{figure} figures/isoparametric_quad.png --- height: 320px name: isoparametric-quad @@ -190,7 +190,7 @@ Consider a distorted quadrilateral element with nodal coordinates $$\mathbf{x}_1 = (0,0), \quad\mathbf{x}_2=(4,0), \quad\mathbf{x}_3 = (6,2), \quad\mathbf{x}_4 = (0,5)$$ -```{figure} ../images/isoparametric_2d_example.png +```{figure} figures/isoparametric_2d_example.png --- height: 200px name: isoparametric-2d-example From 408efa8d8c7e77753ebe981092fcd66f89334342 Mon Sep 17 00:00:00 2001 From: Robert Lanzafame Date: Thu, 14 Nov 2024 06:33:50 +0100 Subject: [PATCH 4/5] add exam tip --- book/fem/README.md | 13 +++++++++++-- book/fem/isoparametric_mapping.md | 6 ++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/book/fem/README.md b/book/fem/README.md index 62977f1e..fd8aa7fc 100644 --- a/book/fem/README.md +++ b/book/fem/README.md @@ -12,11 +12,20 @@ yes there are extra files, but it's easier to remember to just paste everything Pages: `isoparametric_mapping.md` -mofication placed below the first level heading: +modification placed below the first level heading: +```{admonition} MUDE exam information +:class: tip + +The contents of this page are _not_ part of the MUDE exam. It is included in the textbook to provide additional information about the finite element method. +``` + +## Generic form of exam tip to add to top? + ```{admonition} MUDE exam information :class: tip The contents of this page are _not_ part of the MUDE exam. It is included in the textbook to provide additional information, in this case <...custom message>. -``` \ No newline at end of file +``` + diff --git a/book/fem/isoparametric_mapping.md b/book/fem/isoparametric_mapping.md index 06a4ff2a..bea92f9a 100644 --- a/book/fem/isoparametric_mapping.md +++ b/book/fem/isoparametric_mapping.md @@ -3,6 +3,12 @@ $\newcommand{\hpder}[2]{\displaystyle\frac{\partial #1}{\partial #2}}$ # Isoparametric mapping +```{admonition} MUDE exam information +:class: tip + +The contents of this page are _not_ part of the MUDE exam. It is included in the textbook to provide additional information about the finite element method. +``` + After introducing the first 2D finite element formulations, it is necessary to give some more attention to how finite element matrices are in practice evaluated. We have not given much attention to the formulation of shape functions and numerical integration. In Chapter 1 you have seen a simple 1D implementation with linear elements, where definition of shape functions and evaluation of element integrals is relatively straightforward. In general, for 2D or 3D elements, particularly when unstructured meshes need to be supported, this becomes more complicated. Most popular finite element codes make use of the same technique that relates to the definition of integration schemes and the definition of the shape functions, this technique is called *isoparametric mapping*. The basic motivation is that we want to define shape functions and the integration scheme on a so-called *reference element* and that we want to use this same definition of shape functions and integration scheme for any element in a mesh, irrespective of its position and orientation. From a00213cfa53af48b8d84a053fb01bd390f8debd2 Mon Sep 17 00:00:00 2001 From: Jialei Ding Date: Fri, 15 Nov 2024 15:26:06 +0100 Subject: [PATCH 5/5] release wk2.2 --- book/_toc.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/book/_toc.yml b/book/_toc.yml index e50bc6c4..b5f09d13 100644 --- a/book/_toc.yml +++ b/book/_toc.yml @@ -126,7 +126,6 @@ parts: - file: fvm/unstructured_meshes.ipynb title: Unstructured Meshes - # START REMOVE-FROM-PUBLISH - file: fem/intro.md title: Finite Element Method sections: @@ -138,7 +137,6 @@ parts: - file: fem/numerical integration.md - file: fem/poisson2d.md - file: fem/isoparametric_mapping.md - # END REMOVE-FROM-PUBLISH # START REMOVE-FROM-PUBLISH - file: signal/intro.md