From 1eeff55150f97df40772ba381beb5298bf686a63 Mon Sep 17 00:00:00 2001 From: nkchocoai Date: Sun, 18 Feb 2024 01:08:18 +0900 Subject: [PATCH] Update README --- README.jp.md | 45 ++++++++++++++++++++++++++++++- README.md | 45 ++++++++++++++++++++++++++++++- img/save_image_with_metadata.png | Bin 0 -> 28667 bytes 3 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 img/save_image_with_metadata.png diff --git a/README.jp.md b/README.jp.md index a18d708..1a4523c 100644 --- a/README.jp.md +++ b/README.jp.md @@ -1,9 +1,52 @@ # ComfyUI-SaveImageWithMetaData +![SaveImageWithMetaData Preview](img/save_image_with_metadata.png) - [ComfyUI](https://github.com/comfyanonymous/ComfyUI)用のカスタムノードです。 - 各ノードの入力値から取得したメタデータ(PNGInfo)つきの画像を保存するノードを追加します。 +- 動的に値を取得するため、色々な拡張機能のノードで出力された値をメタデータに追加することができます。 ## インストール手順 ``` cd /custom_nodes git clone https://github.com/nkchocoai/ComfyUI-SaveImageWithMetaData.git -``` \ No newline at end of file +``` + +## 追加されるノード +### Save Image With Metadata +- 入力として受け取った `images` をメタデータ(PNGInfo)つきの画像として保存します。 +- メタデータは `sampler_selection_method` で見つけたKSamplerノードの入力と以前に実行されたノードの入力から取得します。 + +#### sampler_selection_method +- このノードよりも前に実行されたKSamplerノードを選ぶ方法を指定します。 + +##### Farthest +- このノードに最も遠いKSamplerノードを選びます。 +- 例: [everywhere_prompt_utilities.png](examples/everywhere_prompt_utilities.png) において、上段のKSamplerノード(seed=12345)を選びます。 + +##### Nearest +- このノードに最も近いKSamplerノードを選びます。 +- 例: [everywhere_prompt_utilities.png](examples/everywhere_prompt_utilities.png) において、下段のKSamplerノード(seed=67890)を選びます。 + +##### By node ID +- ノードIDが `sampler_selection_node_id` であるKSamplerノードを選びます。 + +## 付与されるメタデータ +- Positive prompt +- Negative prompt +- Steps +- Sampler +- CFG Scale +- Seed +- Clip skip +- Size +- Model +- Model hash +- batch size >= 2の場合 : + - Batch index + - Batch size + +## 対応しているノード・拡張機能 +- 対応しているノードは以下のファイルをご確認ください。 + - [py/defs/captures.py](py/defs/captures.py) + - [py/defs/samplers.py](py/defs/samplers.py) +- 対応している拡張機能は以下のディレクトリをご確認ください。 + - [py/defs/ext/](py/defs/ext/) \ No newline at end of file diff --git a/README.md b/README.md index 36ccaf1..ea854c1 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,54 @@ # ComfyUI-SaveImageWithMetaData +![SaveImageWithMetaData Preview](img/save_image_with_metadata.png) 日本語版READMEは[こちら](README.jp.md)。 - Custom node for [ComfyUI](https://github.com/comfyanonymous/ComfyUI). - Add a node to store images with metadata (PNGInfo) extracted from the input values of each node. +- Since the values are extracted dynamically, values output by various extension nodes can be added to metadata. ## Installation ``` cd /custom_nodes git clone https://github.com/nkchocoai/ComfyUI-SaveImageWithMetaData.git -``` \ No newline at end of file +``` + +## Nodes +### Save Image With Metadata +- Saves the `images` received as input as an image with metadata (PNGInfo). +- Metadata is extracted from the input of the KSampler node found by `sampler_selection_method` and the input of the previously executed node. + +#### sampler_selection_method +- Specifies how to select a KSampler node that has been executed before this node. + +##### Farthest +- Selects the farthest KSampler node from this node. +- Example: In [everywhere_prompt_utilities.png](examples/everywhere_prompt_utilities.png), select the upper KSampler node (seed=12345). + +##### Nearest +- Select the nearest KSampler node to this node. +- Example: In [everywhere_prompt_utilities.png](examples/everywhere_prompt_utilities.png), select the bottom KSampler node (seed=67890). + +##### By node ID +- Select the KSampler node whose node ID is `sampler_selection_node_id`. + +## Metadata to be given +- Positive prompt +- Negative prompt +- Steps +- Sampler +- CFG Scale +- Seed +- Clip skip +- Size +- Model +- Model hash +- If batch size >= 2 : + - Batch index + - Batch size + +## Supported nodes and extensions +- Please check the following file for supported nodes. + - [py/defs/captures.py](py/defs/captures.py) + - [py/defs/samplers.py](py/defs/samplers.py) +- Please check the following directories for supported extensions. + - [py/defs/ext/](py/defs/ext/) \ No newline at end of file diff --git a/img/save_image_with_metadata.png b/img/save_image_with_metadata.png new file mode 100644 index 0000000000000000000000000000000000000000..fea016302c7ce43b96db5ae59285180f796c8dfb GIT binary patch literal 28667 zcmb@OWn5HI*SBdh^lx~oa5|EN^k?!u6ZjcrbX&AaeYG^5G2dSZZh@svC z-uLf$KE0ow59(onbI#s-?X}nXUuzlhUPaU`VbSnO*fbl~ep_OjYeNJzNd_kWQ4?S7adA=$;r zNr``O*WX*hoU&1O5xMs1A{9p#M{7#`;}wsKGV%0-RJ7Do+9zYzjaehUJo@&DDewzz+xegPKVB-FzUK|zFc&Aj1FzA!q8z~-&NDungSw5cRu%j? zZ)WDNSUV0`xIU*?YE+ zwLe;wUm$wFJ>i+nrE|Fai|40xGdy-Zyjb+-aM5Xu7}a+?Qhy3!?{}I{O}q+oCiAPb zFXz%-=y6C~g0I;H9{Al|72?>qwO;gcWM35uN?m1akJWA4J+D1&^USD+!e1#}Ip`5B zs8k{{=5bF;Md76_atnGpNHaBU`h)4gXXmS47@V$2d3&o>Illd)jSB||>g#39LR+)b z&!|Dil&im>1s5^C3(B{?)QHdFD9SnZ-$HKKy&#k}v^rC+yYA3hbk zRK&z1`-+q4-!;SX7fa}Bx8^Md<+A&Lygt{tyj%F$`EzHK3Ntjtg^Gi%w&J4}Dnwn5 z?>wF&W^DUG!_AuQXVGm{j1Ie}>?*YJvM&fDdeY*0=>J_!fguc=JBFMt;lriElY~a#H-S&np1*LAd${C$BfFAte?KYX&;N5n z!`^94gPR{s=O;f+VlzbQXY>7p+Z&)e8A3dyy7IoUxVFc$R`x!V2t9d>_kNY@pE~k$ z&Lk)6y>{!YGK9{^zTMnxS5jXEFzi(>C{3PCQopwG6ZN64C;IeFa_^w%4%0~VroJPm zn&?Ip_sYRW)T9V{)(^j_r~bN`3$5l>x_P_MFYJo2=|JrGK+7qA@LCs9Urx^`-B#ae zsxXDx-^zzL?P>7;8z4q3i29Zr;-_@Ei^cl1NRM~;?&b5j4#|cV{h;fBsdp^pQ)$Wc z5920fk4v@4_Au9Gz}cYVFm6BTx%gg9d0=m|5H+;Y8!1SbDo)46%Hgvmk8L@C^KViU zpA7NF3ZKn_aTI#?Rr(L#?vyv^%dAMuGHg-BaZPk0;1e>k@{{XD|0X^^OkprlS>#ga zc;c)2k2_abTRAYx@<_y=tP!pR-9?kl4M2ePd`!YAO@ zQ_dX<{}%HIg)BlV##Aa4y_K3r`kiiPmL%4HzO{umVNCy4i298O8MA}7S+e@Zpa0y~ zysY(j(2O6`=+QBk^#lqXJ-Z^6fAYTtJ_aoiUTIo57GrVC|66>)svA`N6i92&PSq=} zm4vyJhcTFA^K8cimQ8U2ACWr}Js1qzR8CD`V-G=2SipY`3n3AgG`qv45Eb=bs}im? z|7fT+_w2tW_00}V+mfC$s1HJQ*>N^+)o?Qw;A=El*@0K}bY1kR5QBT#W7OtZ!=NW6 z@ZUO>*FNHl{kJ_t${(Otf6hw;4_a$Bt)GkMRQke8OI?0z7d3Bv&nPLaZ1>zxUB|O_ zozZh+yYXC4*3`fgy*^yz5Jk>duvtYae6nx3)Nk6UyUBSI{$DOJh0>jZQE_X ze+zjJ!QCp!xhdEECRmD$#Te$z-+9f}72@e$5(C{Oml-{$j?#>7z%H3}RqEwBG* zIXR?%25z!TRVL*NFK*X!nO29j`-uG3b6YwV{00+K{U{zQpTf#)Mstku4Jk5eYM|As zVg7TeL^!Iife(B-Qn=S9Ofm0|X8Un+q20ijxLT*jow$(bG=8Yd+D`xXXzdruUZLnQ z6QqSu-&?%sn&~rOZoTy>0h2p2MCYzl!mPb&&oCja;qF3_TgKuiR${=dk?Np(jnWIs zvtED9YCZtHJ!>dc_CrigkIPW&`JC0{l#dFX3?CP%Z9^UUDPd1sBewk8z1QMp9vg{m zeB=&A$=^q}N`~_-~E8}mN7)bwAsX@NOx{(V*?zGsmp>*gZh}r)$U@Y zXo%<3j`z-vtkQ7V0NawSIs2zy5#4TSW^tezBk}QJ9glJ_%Yw_Gin%V#YaQ|D0HxSh z&97mPvE^wKYXB0t*Gn`m=s2TxG9^5Yd(GZQ52K@4)D$Of+76|yyD27Q?TwnIZ6-BL zn%{*IC7o7>aE326YBbVU8*9Gp7O|6hasUJqFnAOFJ042|qGQ@$HPM(2{P z%7#ClR+ozDh*aF6U87=le7$s`<7!Q~B_0`py}*-0DPRInr3nYtLkeV0mmzRyyI|YJHVhK7GP3VGCuE6rCPAZaevSH3&Bf za?$%SM5^B5;&wyuDf!Lz`;;>oN=T;fn?D4Km{aTadU_i0nl~M#g7I3}hM8nC-ed-_ zX{}ej(efgBson6tf*IEt<&h2D7^Br_UiRos^yeH%*aGFFl_Z-_1I)&R&sp~xPbcI{ z7wkHG($#j*W@cgjPqp5Cxk14V5I^fPmot@lzu&_vEmihHr$U~TUXY>osWtIei+Re=Z__7qcYQK+p4nK4bNrdNzk*77P~~d0 zPwmDu2P1Hc_r`8=dp*^lowWr&KtW6+W^6DdPV?+b>$n99+PA9SXF5q|SGQY5Iqa|r zlB)#t6S7(ZL)Yl~MvU2R;qyf`XND@5$6SH4?N|Fc7?IJn;%nX_YjKkAmMn67TrC-I zum%ysEFdpC&&iB0Sz7N}?{2Rm%Tg3KVQY!X>|iR_S)(Cq3F?7mW=v**&D@|b+15N} zci~U7#*vK`4tUUIJY7VXf`)hZN=hqU-t_$aQRK49DJao+%F;Bu&kxH~+hvl)z1fyr zRqaU35{Z6u+?W!zR@i+=(@xi2T$KG$HnBZf&gBZFev05ELXwR9`Mx3PRUN2d0{ElPffxpoUO~YEIg-d1;)QKm5RjZ zz|&=ixuo0p-FgdS&hJB+KqSSNn9(%B+7W%P(fhl*LJ~KhjWVLjJi~2ZPLjkx)-l{b zipQ=LV3GYO$OrAy3y3q}^@4x-(U^_OV?y+UPc0zj z0#9U}Q25g2oDc}|tRjB(vbXGl%SHl&PPTLoL8Y#bZ39yUAe+x!9?|+bJvo-rn29Iq zdOzd+z58Y?CZ5~6ST~* zick8)EBq;klLVof(hk>8ADj?bMHioFKG57DtHyZ$=4qku498Vd5g zhCBRp>0h^fjGQRhvK)y04z!NL{~iI)5c~P4G^jl}G90Theoloq;hU`)Go}%~R2B=- z(}wbwq7*Or(Z$6-i#Vc3nbNG#V%cBYju87#(U4+)K=fale;*fFFV^X>%y4~_jUd{h zwL>Gs%o<0>;+o&{4p7AB+L1vDOnXE)UzrVJN0|Z6Yqda9;W);?SbpEiOn!z%DcVzlk5w@VFKa7fvy z1>V>Cur^DndS#YFbk;bbabznD#$AkWQj;g*t=0`zc3hO4e=TqTwgxnxq{w*_^V>E@g zfk6HjBj+e?Xi_$l7+{C(Q$}HfF{Jo-Uv$dgo;UjF;s@v+HaIJ9W9LhK;pq5GHidLu znYb(GKcH@b#7k^wT+Gl?-(0`F_aa_W`?bn~v|e2pJ&Z?Lc-svHLGM2qWPPZiJ44z= z>p@G;vom=~!LZ55^KDq5HmHrJ4Z)Pl?kLTG$@~#(TjkcWC`&`nbm<_eg_D& zySqN%r^=zg%$_m2FE|-O1AQJBWjekaaJDz6U_qfnLeq(QS~r)O+gE(GWIZX__0tlA zpD2l6LOkIF?N`zk6()?fqKbx26fMhRxXDc84ik?)Y&m&$GqairO zu$G7GnV2=M*_XHz%{)hBg69z((It_Ky-G^Pb36N_Z9LV%+A_h`b1zbgcAWfsV57b4 z-`tE&oN0JaXnJj@0z1s0!&1Qi>PwKGA}-!COW-p}L|&~B>bDD_ZvOnN9kkU-*?qEr9PXXLkg&T4AW)fV(HucMck;g%{b#^?e*0bC>d%qeBP$u z4?Kg^v89lZpj=(&++F5)z<2m=PA6fbws<~>KHm0f)4sT;s~?sS>$4`YY}zCKB2Ru! z%tMiVo+gI)3$yRCst7CV7X8LouI+17}ZN{m@e93&Ve3Y}Zsn;lUID&>M#VU!0#c7zc{{v&T zyYXBB%UdeTbB!O$o;u`wdIcf*GBJFz?`7h+))>N7Da`{a)W*DV{hq$(B}12SZ1EvW z2Tz%I#1%g3`QDBv6DN*UJCvQI@rmf>F)gyIgau08ln)E!uYiDM(YZ#Py7}95g#ItW zP5cCbQw~9wY=z)q^aN%np5j+L`1n%T#nOYDrG zA@ZqIfrfu}2PS%VDN!43f|$^#Ur^MJkov~|J+yHu$h~3Na91&nV|@wRSQM4tRCjoV zZ(2ZQxe?7A5Fln3Asz@;qy&0%H;T+(0=EsnGDXpLX@(7%UeL z73j`UZ8?lhyod6M6*tx)fb2)TMvyy1ee5l;Z^fajbEzfDWNKErw zv@oX&c_ooiFq9OBlzjVB9W_=<*-)tx53Iq{ytmHCs*P0;NL$U*zQP*C%JiJx?{Q(f z{Fr1-4~mYG68(iMo|r+Dm+ad8M65*>eFHP~C( z+;Yb=*NLsaL}64VV{!Teqy5@S8M=HxW|>H$vMcJ}JTJE+topx63jq`r1etX-=6|+v z`E8ubFv)Ic{NvTX8oa{!6}|jc+U*31KN;^-dj_4B<~_*UL9o=f$Y6+U5LJMHY54o9 zU~}TpFA;=_`7WMn?8#|X;mh^vCk>`N>dr`B?c-Pp!|wvV-Mtx3J5 zgPfs&$SJEh%BXjT&w=rpW@8Jf_96vlO>0w!^^*_Wz?&@fd5VKab9RViD!A2Yh!dp9 zZVpwr8Z&1O=SmzgP@rG%6MpKCpYHuDOdtxcKBi|nBK&;YsfuXz7krJO(zDyOF39F0 zyF9Gp-3xQdYxEXg{R@;z5pqWHYcF)s{QKaqBplm5ZEc*Ct4{547^KT7Gsu}LGaGlM zb7};Tv*H8(LbAHMXxTDz>l0IJHbDF$u;!Rmc*b%c|75(?wmkM}QM7qzW~~_PS^$mK zkv~<9_&Og~X~7Pq*6?jih*)JeExRh*chbD)OTH$FM_Z9#7sh5F6&mZzW3fP#o8lpt zz*MopitA@RA*1k?W;B-Od^~tsykHKy5ci9eMS%cYbY`D2QC73sp~k5(wb%u79d6&f zaCscZU>W}+D}mo`Yv22g@JT>5o&$=0wsUT{wRG&JE^L?A73FybdlR@mc@*mbR;OC(-rZl`R*A?1lG>86i$zIn|65xbFKg%j1)ncxzW z8aXN?ra8;1RgibvhO*yTRs>GU0v7CZq^%Y*oa!RQR1NMy znkyTVY?7b)NfRGSsnq3}vIvZhkdtNg6+iE27Tt&MorXLHVFGAqm6;A`K^pd7Plq2( zMhI*gq@(Dg<%i_55&Wo?G(=uQLq7E4JM!ThLe<0i zz{TqPBK)z0sfB268OUA?1Gez0c!@{ncMZ9zdWHzybA zp9KbAMx9>ZLMmgbDAz3`k4V<5iavSG{y1o3#A~tW*p;K?>^sfztb2PE=v-Y5M8N*l z){DF{*zh!Xzm6e0Mhd(-faPA1ngNOeLqWK{jS34H>K$sOMOD z)-8L%B<8S`ccIB<50b1G1SjmkMv-EwNvuJpt;}`NWE_whWfHPUrTgfsy^)NLszi#t ziP5L(2h-6n=+K7uSDPP}fw505;s~`99S6AbHgwKeZl%#$k9KtKWUV5^YqUZIZ zlj_Nk%1d^wGGYi+1*FG3qx1hE9tw+| zJLS_(W5SxU(iGwXt+>x4c>v`(rl;3YdD1$f&rrY8d!0pop6MS`*yDt`GqD#HlpLGRJ@8-q=iV{@$2{hL zrt^ORo&kFHNR1yF7jwy_Iod8Gp9@`hO7)xfd8Q*Zz0~Vg-j!-ZY7G0OD?Pv+kDhPQ zJo7(Rb69=vuAp|;W23iB137H)W5&ox4exPPF!*gZg<1Q`JZofN<%`VMu zKPlP%JET-j)$uoTyQzqZ4eEyKSJ?)vRf?#!=f&T!A!><#i@S+;YpRlYPAz%F7-?LV z#&LG`*l+kci26GBnnR^U)Lq}9ZdyZdP!5|CO;xM~DnMBgav$O>-N>(fBQ8J0wved*zD2AEVv}oy&@YbZcIJ+?I+@&AAW)DgAKpN$2}t9>dXMj~*y3%bG`5=V zMVGojFaF-oT+Y=-h*oXVV%h0nbV;EiFz}uEgov%+_qoJ(S4^`-n5{zA;N}3mMW->_ynKY(;W6m{D)qWNa3pEQUoMJ zqB?$SjoWWoDtXRFeqM}oD}Ol8@lkNO)9xSk;TF{ZSPod>G$FOMpc#-iN{VuPo9Dex zMoJ6!IOJu{I?CG4=HIFSG)l__z#h+<8lb*c+v^;D9v*&oH|Lr&27W$pfS(K}e^h5F zuT`yEa$Qibbnj((hsl31z?f5J3lNm;KVAoV^{LV_6-^sor+@3%>6wmm4o>p#l+`G? z05~EA9Ds9A97;xb7RoZQ*V^`*ciz=AiRF-6SBdjO@`eF`_PzP2kGvGf2J*fCnO7R= zB~|Kwnc;tgHYr~Dw;cL5d!P4w{s^BJb3bd_v?w_c_11*qdS+fKhlK zcC8Dc1qJGL0B`v0+dXw5CPWPncOsyN^JS8R(X*Nc#qcaSPkx5_oR|ML@VilMa2iF7E15>ErZt|m$r;tBEJZ9N&K527`3T8UuP&@}LI8Th)%1QUP(@+^x0 zA0V(k_E7oF+i^LPFs>q!kf#6_h|9Y!BgQkrd$>GlWOg=C-frb}^2ZUG95vA?cL!6}ebU z%G4;^bGujqpUPt`{#ck6WcAmp5*H0?T#VK9b3qMz>)}tZ_fr_Nq%_7{zPl-^Tmo~` z#Y$vpKeb=0sT6+Jy}&RhZA2OMY5-UJb2C8LhCBx8q4)ePe58-uPIolfOeG9gIw8{y z5RlaGuE*|lA@Mx_2&8-()5`HG^-Y!Mbu%|i#HG(kSwvUZY0L$9H*tHvv$;aF%`nl- zs}07(IaOsOuQDQJ?XN^ie0hjr3lX*Op!IL4ctTa4GcAAAxfrmNKxgM@Mvp+k;W0bN z1JzT(q;q~wJp?jI$18D^U!3Bel06@iwDVe6C^_%AyP4k6KW|Rxs)iOa4=Fx)$plV^ z@x6ePc3t7~DLSW|4H*y8CA}F9gjep5z#~YTfeR zV+F#5s2Ihjvlef7sX@7t$mQBLV1O)M)~43306zkkB|R8FtI&-snTqHFcJ@eS2*W?6Lxon?*Z*zO@%9b4(i+Yv^q6LFebsgpAN{ui3 z+|Fu2FObQd&E)VO$@7DmmusH1h@0b+T$#jW_C}JV(&r%snm*bF_A6UQlWWJ#S?L+z zlV~G-1kUEY&s(5uQUkZC%{UKqe;9>fyW*R_S*`_jW4Y%>#ZHOEeoL_@BF3tO(YCG8 zbEVm-M5Yp<0f(3seGv8Dy=|&#>GpObra^Z5<6)s~i@aBRIbEY;%CRettR3})cd=@h z+MxkA;hRvfM7n-5?3tOoEYHC_UA{F8vFjO32Z?qfAbZj60cK1|Ofs8`z>$q`Y5?4* zDm$SmD*NS4bbvrI?D-1_Vf+ajv!2t)8;;qQ2Or-9s@8?#-UwY^+?BwxeQSj%&$k3C z_1@`Mlw>!-LLFi8imh$Nzj}IWbmMTe37{~X|HSw?y%{jruL;Fqg?)(!!A)|%JBs_rkP4D)z`_3cK4o+KnzU|@xJ zNFf`2HRi>b@sTyjFYVFju=xNkR^I7@ceE@LT8tqM*{rbw|LP_fQg&o+$6n%RcjF3{ z;Zvc}%O(_3UTIwWULW<0Mg<5}M!F#&0ezT>#I*G&;T_dh&|btR(M zN)XK#m+DUW`Wc%xxPZ=qz%)Z+|D#qm_rDUC;g^fL6Yq3EU=Bt6#k?hW(}xFRmiopi z-S*+N177aGYKQnVy#IeCjFv4gZ2oYS|D_@7uVe30*ZUb}Alm;;AY-FJ94YJ|yx*Aq zbPaVg6ifLB9O4tZbpYcje;9fnGAA6^`w!$JzH-l zl|}XDr9~VW?x&Me4!^bc6|yeQ$t%t3r<{jRUGKseA(1Al5`?M95 zP`eGbpHQ`V*b2^pjT?CGyg<-u=C^SL?4D#)ZBoo*es)xpZ|ll9l($pAOyG9F34bgi z_Yi-6CrCgBv)-RA5tbVG3ZpZ?QCnU1ISQ3qPWM&qeL+Rl#J!7Z{u@d@=()_NX8G_O zoX1>*8u%5!cO*=Ap;G$uW=!T!xMg$;il1@l>;6V5th5F8>~ZYyzYY5Q{_xmN(XnMt zbdr~`Dyx=`2&#!nr(-8ATFAW7S-+2-v@9R2wFXOvnw4arUFdAqWST|)=nJ@E@-|Mp zSD{X!1ZSc3{EydtOhI?>^xgeIJdElQ?{UO2vY+C@JbEHo)$i21fpo=k}iRPpfO{sqeKMv_I4UWcl4* zPKT1)YVCF0-4@dMjNZIS3`o}0Z}Qx;GSIQ9?tNy)U@W#H+VIpDaAM`Q?Ux%(+(Z#Q zAfwj3>VB%}zhTt+C?ysNjVeEDYTIw&m72f_dOZtXUAwF^xT?D^1!2$OXunw5roR14 zJy_n0Z8XHzP$qKy7caH*n&a-6V;XoG|M`$|HLwdmbO2F>L5ltD4fM_@J@&H54^i~_ z20l|May2)mVQ{mpIph`;%vUI^0a|ofb71HWb%#Cba9Iho@7c+%M&TOY@^^*0IpI@; z(s+x_@z9fjvZuLNLoFu{?$OS6%YA@nRnhdlV4XsM?N!<6yVpVO%To8HDqxIV9*G-9 z78vPF4IY5;LLDr)E*Cm(7U=!$zyl2Q;Rc>th3iVBi5=&yFyU$H>n`dKK>Z0>)7Vpv zKd0Y$)pcy@)aPcu)an8e5v3e<+%!BU^f*$7AC(l8O{ysU1UBi)mHPvc%NY=gtE#N;>Koe11(y9$-_`%Eyxp!W!SmUaoTk1R zr&g!FgvgZS#|V^|iU0=)Y&%X8mpO4v<)0=Z-H{WATJmC2YAdhs1!Qo-^<| zwe~YhWlPaRVSb)J?yJWJg!hjFE8yICkY?|&S&>bV^14zSe-2B>ObCuDo+Qk0%9`{H zd#dsIAdahzOVv#FiFDg+rDu?H)6O74!!ZBM8?f9UsN=R`=B?69Vt?J53>r=pgH*hN zsYYmh0>?haiO%&CRIL?lw90r6X^V*VXqc6xfw<8Q~vMYDyC%LYP^ z-5}A!m|7cEWmbzHN8eyvf<$<{W2#$#LMDCQZih4x>33)kcvxaN=V;!Dt&|Z%In} zb{?e^C#i%cuq7RYta7Bo;@}Y7HSnukcwVX%s47dbLf;|X*!RQD=9%Mqd z{5A$Sg!*})m?u(ql=sJ!&HJ}!5keTTT~?sE{8eFo98>!xfQe`gs*vbChoHRarYSl* zs9&&M|A?A)Z3^k87dFcIzV(G?&x#_ab44cdtn~- z%mzr_+nAykT?yhVm~jDe4D5yzeb8~i907%>uZ_b!ssz1QLeB+oHl5`q&T6rA&tzt! zcKA63ENJ3J{AU4!AIue6jp8mj@P-MR6-&H&`r!#7B^u|6W>H}ja5T0RsG)mwkvYFe zFsb){&8M8slU{;K5YGC(6D0kbkHGBXkb115Q~2~f2XCKY=$iM(=;KJEV@>%ml~)1W zy*@739z)Up1F2T3o~t(VNgy^m6YkiC1vo@W%xg+n8b-$CyrQeL3m6sKXgvF-Zj0`! zGK6)NrjFtTrsGDsMas_3ve=gN-2`JU+z$n9Jk`h1;iz2i&-uM+2v3{Fd@5LPXc?{p9~E|ZUQQK> zsNc-^-Dsxk9%IX5s~W3SIbEU;^>44_#K%F7(G+kl-x56!HhGReSN^@nD1noRjc|Fm zJuDelGQ7%K!9aK--5hg?Ri1_s3-dRd;bVWTdc&6&CVysqml|=jq<&J$?Ac^n|xK?tmIjG6CQ?SilXH(es_ucNu4KG{PrehGn_w)7Y<_QN_poEyg?4 z?`$e2ilE~S%YBkbGC@FIizF_o1?k`VmD;?8L^e(Z^@5Wja}iBG>%mjujH{D`($KkV z%D^mhcAtHV_^>UC`0E{JW)RU+)^+hZCW^(Re1WWk(`Kd9z~?Wv!4IGiuQJ)k5;DSE zl&R|d^Im#LNk+X+J5drk>e&t^Qes-oIasM7_%=J!HhpD?v6W{eq8X zYc|f{{kabWiWW`{#^**oPIHOxn!sly5_{%DU6r{`;rR7YdPuzd*V)~0U0+6%hWDZ? z!HbX$P?GJ5WQjx{K(WcL<$PLQv4=WkQAG_MNqi&lUgMfcvUWiTF)s#Z4LQ74bWP@t z)h<*-qAOP?pUt0jGSa;6YZ=D58;ON{Wmy3Ks=Ywr#H6(yCj8$17H5L9ILjn1PI0-R z)?|(zcZdT6q(Lo3hjA?tB zht7zeV;mDq%U4PS@wSZkT$z1kM}M{}1CvP4;SppK6V3g>mCN!UZ?qW?L%^lsiI3ve zjlHZ`vxcU=&N@dr^cVc-Sg@XXZL}SM{i+_zH1Y9}FqQQOQIWIiSarX1H$P3Eqeuhq zYzLR;)`8&RKw$<9>$0)i6VW@TIj>3FHr!4thBCu_P|;2Zl&)AcJ2*wTz?T3?=Z_+OQ3Y z3SGz-J&I6Hif-)l@u5|hi5k$TRcc3sj382idX{{{F<@EA|RP3tG53zCG{g5E`#bZK+37jpa*#ozNWy}GUK-P=RJ$| zxRQyoBE$7kKK65M^vN46INs6tK~qZe}KzmMPKDESV_!RrUA zthhVaz4C4HrFX~j#6bqpzS2< zfYl9+Og<&;l8A_!2*(7ES?rmqrFCZm$6?!nkKLTr#s*S`$&$?r(uE#TYuZlCS*Wy< zNH1ahO)#>J6CF~*31X(BeX%|IM_ejiwYMEKYd5;k!q+hgAM;YWIhJ*t)rcWnzATKZ zN-l$pj?{MC1-ot;)`W6f(_JH13EuJeBaOYC#rN=yGxf7aV5h{Z3CbbDrZSC1I#xE|Ve1GbKQUkHcIxk8$FcQ8@F zifB&?LfYt%l8h}cF#}pHL^(8d&1JBgVkOc}awme7W_VnFw3`O3wvfLPrTHvMQy1+r z4r(|OEp3+N@~2duOQqjExhLsD=G#$yUO{T06n$q9)nHZ3XL~90t~%#E?Uyb=CvE=B zLCXR#NZ=<63UgEpELUZA1?ck0pE}6f#nC72lSPBhZ~`|4=+4qZRKu9J5&6pYDN_HoJ_n!o}h2ML7`@)$Vs&# z<1Ym0+L`5-ZqlV2|k}1b&NNxamp4d&*)wo5+**H1CfzmDGRyL*lH^P zsjD24BTWzsc@*owb47UtaV^tQG~dK36@^;Xg~$`}*R3U@48d)I!{Cpy$}Q?i#Q2f_ zsi1%Q4mJ8I(#Xc1+XFTDMw0fS?P}?u!WZV|TePbezn-l9%-}n6c%Y1?d-4dG`t{q7 z_{j(scW4ZWvp|_K(&fTU`#t@lvrPBFRIK4ylCYRtwnR;xGA?*Z)Qt}QlxTCU*eS7$ zRG?9=nK5nJ2OvO&$BVoEwX+B2j|QMvTBF$*E3}hFt2HCT_0Plo!n>IahmgQDl7uoo zbDw@`)dEU^>kD>)@-42|z9{2jEG8^|Fj3~uGEuJf9($T(*zdPKi;rf(idNzp#&@zn zMjk~T*dh3}hoF7Xx5sjzel~7LNm)d_-Ym&c=cPnK&k{m4e)gAXF&3n<)pcfUm?~9Z z%0!JgzlNEIo1NGM zLAJ9DzMxMug8mRqd&BQ02%Zj65#6-aO&ciu=8wzJkhNkyQiy4mz`Kn zRL-n-oSpcAR`xW~`2N0ges$KWKy96m<8^UMF2J@+UsUgQTNC+rxD9&~g!W z?$9va$mzHO2CDnrtlyx&8F?3M{GcP@lRTDc7V0*GPiu0#o1!}Jq%-}K$U$oJZ=@)k z3X8`a*SOWQe_cQMX|SX`I$jMfI-`9F2oR9CNtiwXC;$APFK_R2VcE^+D-v7zX!Z4j zFH4hT=;%18e&^@6-3u^4IqAcUY@(qd5mc!zA6O~$^nSoofv@R0*ywWZZDiQ7_n`MI zfmjq}<$1MgM+J7At(naXMHKPBNa=oM=Y50h!KPeZ-S?cnbcOQ{Pv}t0s8~+xVHV5d zLfq$u^fgw<2~FNedY@d}Ih0WWoQZ9Si#ph{!2jQeHon&6=BBi7mQkdN0`S zS20Z+gtf8+^Z==!wcKOFq1z~jr1u6l;Ro|afl4y{J42P+C>bfN1V*0$;eKG&?c+b= zdffPSeo1&GM?K6n{flYnlftC;U zqk=8fcY?F4jsQ=#%=F-&=t+h0W3Z8TJj%&-3S2*Z9H< zJ6w-N*BD6QJrgmSIdhp~itnM^lV8$l*w5--g=W|`7ki$~S-{$DFk*g7GX}2%CD0b| zdszve)Qu771M}d9J>|c;2X+tq7SIq|$`X~hXXlN=C^gDEZV`pTH}jH$qV{~W6N4q|Hv~PYn8U6XggLP zqvHg35uwTL*xSw6l5-$#n$8QO`q=jOiJg1bQS(e&1zM}qD8I#i$p(Jag$hp<;J#DL za74&el*v!3o7`Mvwjr_GSJa=@UAAOclsekxxrTP}nd%&{7zS6u?5dBD5UCUeK zH)oa_ZJNR@mmA4PnD~Sn!9B{CFM!z0H?Y6%_q&#HL2MO`WzA7DOj9vTOUL_N>HF@@ z_?A=LcgVc!D|ux4@wA3D*HSbi=>lNk0 zf{<^jV|}du6h5`O#!>t&{Z+T6oOppX3K=uANZ)i|o`b&ti|uW1e&PtmeNoEKR^i3| z;XiLilT*|fmgZmWD!qhy2^`+5(Fl1;)$^2q0x1(c@=8&fxoc?fBdH<|o?8 zG&dFc2U&hVL)udh+E;YZK(C_CCF^SL&1eh2WlMpsq=ub03%{ES1P5q>0^+2%pAHnH zx-Tc3)LsF~Hq%beazuii$B@n!g`zCikJ>Qw_4~%hLfrLV)JwlStiCJV4S-}Dwz16w z$NG4omfSZbk{#m_&?M#WES0T}=`oOen-ubRqnp*|#V4Dnu8cMc8fZ+`lG@I`K)VjS z^>&2d>k+t%X>wPoW%|I7#9G#CzzS!p0jb59*GS$uPiRcWG28d3J!#WZ_@WZ>Md;VIT1fk z`E)Tj=6hB%4X6%W=R?dR$NQ ztFNQ&yz^%>cTuPv?y;8KH!!@~!5ff=MC=YCtGi@aSayG=UF^GcvndfTh>5=tEXU6`p1E)Phatu7T+WSl9UvJE`C8A#+4L2f0v#8=1`;MUFF2bHZDc)@fv|Nz_GY);_OUQy0h{xhZb3@c zmX(h()v*<|V{w~GyVYi}$SedP*qRg5r;LWobn`#%W?wQ%c7Tx`s{^Xk5yr~fs59iE z)`F%J(omK}$~CG~5((&zJP#WSQ!X3Y8R*x-6`_fW=&`|WPBc~-;uxTp9QC10P#)7)e?t5&?XokMTF`92=)*`WgS?mWpZG9z5SUfMt7F`8&uHjT3noj2v#ubxD-lYhbs z`|Rrc^AY1yAA4C0cA1DqQc?@@;JRbb3`6H|AvH`ZQpc=O?RW0bU zN$zUpz3Eq9ws-o&S72Oo8}7q_tC7B@LXtig=PUIRpSj~|mxn*HlY!t-NA#c9v3D1-^n$d4 zU7|p_1-seqrl`*n!gzm*f zme83T3|hX7S4`C;RC0 zEDUwZc?HHny2>2_>LCr)`N8Q1j0#PGLJrtCro~%nE~jthxlVJeL7EGCs~?e5ZN10R zCn$^lUtwn%71bYidufmwLIYCsuU=^8*nQWOwLX^@UV=}c-`utCTUfKsIlogg-~HKphi4X;lqn8YsrV0N9jqq`fg|8OS}aP% z$N5lkT^iSL{sKJ{79;cx{h>}AK@!3&HwVuK>8xxB*dIh=8L|`K`@L$Yh29R&te3ER z;FUNLy+_pMBold(LrK%iE-7Zuep^@MjRQcN$j(M=sHAg(F1&No3cG?WOl zLK#)5APcgqDR1%NdoLB?W5(G!qRVAhA?1E`LUhm(=}1)2!AxE-0ZIGOwOv+qIMU(XZuTW;Q+_$R)q-Qqut_E~1L z%(%H!O8LdFW&Oc3yXRggU)AoI70L{9M-*K%W3xXX9(;m57+KI2r3W(v5k%_ZlL$`Y z_I!Z7NNh3+30?w`ZBCHBU~CKogR11lLk<_nX2stC)Du*qsyo1iLJ7x0i;{B?KlKy6 z^uZo*U2Klk&!bAd&;|;0QB}ywY%KR}2qxQ#0i?e{)<=q|$noQ(z>pE$(9PhY!UYOUOuZ*Kg&mPFL`n0`eed1K!op!h63n{-i5 zIIyL{&d5nQr?K#4$Vbcbb&4zkc*Ey7f$p^AP)rQf_)!|IGp}yM1qc!}8w+apa<5HV z^hlSDw>6Sxn#2)`aDy8XUPvEhQGV)+aGU-pbPSD{;yH3?Xlmm{@wwXJzUpJB?*g(m zI%O{RT@mleU=}gH?+pL0m|U)yeAV<>r2dtUCWld^r0DLEcRV;yyaMc4{>B$qa>Q4R zabYfCbk#(56uhYvd;>0?Id?M0NTsGDOvYu>>HIy7k;~bBI88Wo>hZt=y=;9ZlC%p< z4gO^-+(n;4PA8d8VBYY8e<73Se#5HN?)}YH+^Uvv$WLsQ@NOPRxS-LNlVQo%YboNTrYG>hf5l=$>H4f` zd;!jb8HsQk{ZsD;(>t8XsoSs+%rpTW?^Bxfb#*vKWh=T3L)5J*n)3rh!dX&VWlU>I zXQY;Ka?Be;CWmRg{pU=b;Tf_`Npn~G%vUa`6Ckc<42uuYn*7S6dI!f$6;Xo13^2rH zKhU-N`becSisQ(^p08`3^iM6`Up>0dUoKbX%Q@H?dtMbNH4;O%Ds#~$^W6U|(SHgh zueI**e302f@GN}dRJvBSl*q=v9+@yLpCZF=Cw9G%SwCMr5Jx z%L;~D+_#z^E;hMXr0wnFrZ|{xGhHu|j@ThOGB2jxm-w4x-gEEvlt5H>dc+G27TVai z!z!Font6Oae@HF$yDNfBr*8Mbmm*B7jHB~)69YY)3`h$`AoV-9LAqFwv2rh_A zu5=>*j+O=KPUH|8R8&${{v7bXJRBHd_(Jb(T<7wI6vouWjk{DJf5W`UJ?EbA>IFOp zk;bPGaBEIJ?*)9=maY}wJC~f6rSl?kCWhLeKbsn7PZDvQ_MkUbKEgY4C+>V+ayK#A*Rp)HS^1tw<}d4ng} zg^9Zq^*9KTlU+)k1KQBG; z3Y9uI`>XjNvL?cKb@E})^!W5?E1VRPc(BfCu9JVGO`mW;3?IoBTl z*LHgl#Q$-V@YC}K>Q+cVX;|Y1jeQUwfB7GVQ%`Vkq=zUj-&x%M~A zr7xrE+*i=MM2XH&Jaj3$z_4r^s>byRa+g@9gCunwb;4p5^zsH}o9(=Up7%#LRwMm*s|q{;EGiNKTTj=Z`3&VjO0l^b6|z;)+OLP%bf z%aoIVREg%udo(p~SuMhCRv2W%NLR;s-+17ytl9K`X8Ux9DiWV#yN2u`a(hrfnLYyg zp6tUBNAgy7jN_fIE(qe+ZWzT}yF-K39o%YolI_hKLBU{{bl~ix1l?Je*2zFes@p=O z!7sp18xQae@ID>#d+R264A(}y+iA@rzKQ!F2&7L7d!lbKM5rq6o<+glJ50N%Y_jb> zLQ?V(8oH2OlGM${jmA|W{;`&%mL>0yiG1-L{0sxPq2Q@duHZOYcv&~dTr##QAS6%^ zgRhBAYeY|P&2}lQiMVcX!b`||EJ>fHyNzX)*f4m@xvs~IcobK3sWn;XN|#CCYcQ`* zAj%oIp3%sip&ymxHo-lHWEjl&_NC5@O4ESwh41fbdo(IIoTFUV`+h82nb^xC*W1d- z;dzt@#&_CG=mbd@P8zBEz18-Q!t%W$pE|sXcHylTxfdx?mpjpZ$TDb9k;hF zHr+A+o}$1vg16;pd`GAs81&17sRC+^?nbKm{&qa7!K24r?S+nB6@?j{rO)+0WP2PI+93y3 z?=O9o{0=zMDa9YbhNA87E4TY(8eo+2hnTlaGR7Q+C#ks7g3Bg4WBs%VCGe?v%t@vu zOo%;Xo4A#JD3|)-XT)IWUN<*FnL5Rq{XWfzH=ebX=^zi|EVN5@$L>g*JqKs!@*cdM zCo^;GBbTFS9J1g>{<-*0jWX@d+b@AVH-q&U2;9LpEILy0X0IXyp!PJ z?aDl;y^vK;aDX5c%ZetREjD$oeYy4BJidXIGa~14M-Pio21_7td{K=C7(+ma4f)Z+rGD#`7=R(1@AxA$$?>tHN#BHd{<`HrTZ{Ly+ z2{tL~R0;`disqPn3Qqh$c!Od-kMrAzqbrj#RrpZz-J(b9j_4GJAKCehyy-TS=&D!M zDdozgg6}FNHv!sIhJ^ynjMefJ%+!o9J6*cUmEaGpyepB<0L- za+Q3<+kZozOylZ>(%*9U3~iQR4F;yrh7Z2Vx5e<8i47OEKj6umYWjPoeC+(ea!Fywh5i;-EUsiuS75VNLGYLR53X5km7vMnM6qT~ zd3u3!0wl_df)-i@Y{U94*i*|Y5FQp@{o(_teO0C9KV%&)uGTYFeZ>DCZV83Pad8$6XmX_EFLuZ!+S+$7Ydl7v2 zXB`>_hlnF^O0im&JU)Twtj@Ad3fHID;O2k3a39pZ%}k|~@%C@>fw3Cgn#z?QyPNo0 zIWrj;@&GuZO=>T`4fIpv1J3masAO@?hI!!0Zz75=qq~ZSfP}2&+2kd80Id!>ko?ve zN2mvwtiBLyp1R???5F7o{)c1}3kKXEUQADaeQO6)gP`pcz0!IV-h1Ou6Qd-J{u1VF z6iZ{LCvlG{3S1wF8g;u+`E#E`z6-OWZxKM^AnjZFM=r@zADIN9moH*)oq)ONMqY~J zgJc?o2mi}s69-{0yy?jkSzhNvxuDzU<#Pmsk>Qq~|6eZDP zeZ|OwC)AsCf6>h0cREck42#B1d8Az{RnRuS*z?_{rn+I@aSiw2hKWmn#D8S+)YZ_!SkK#cwJ)2E!B^)5P&PBwS-3xsCNh} z8nR5vTrN}i^g6SnrNvKro&R*udZaAZQ+E{&m^BWlH#>3XGdU&EFS0%gv784sjrW72 zj}VEKC9d&ptg=!72doMeQEvcT_cx;p)xrr7U18UN8s{!lZ1Ma2su}A6_ywsVN@jY9 zNWl8N*0zpkocPQwK0X>RFh2Y|@f7F@)qHI2wo&8PG1BUXRBsYi0+rT%2qFjCe zNr;K+C&y*Ki7;2w6OG?b39gJKptvbXYI}d2e3lrBJR3HRe(~1KIM&+%xH@;--RRS@ zLJz~nS%=n8Mpxx(z!Uh%CDgmR7x6S;6j6iT5x`~QkXRPc0gnnA+79+%e+J4+h%Ex$9|H;L2vNqtI)bYTQlGw)r zGaQRXV>48`hkX~RGYYN|FO$oIL{gQ733c%f@^aD`LD(e~-jY6f9L#7Nu_i`Xlo6qaEOB)NGA?0V?h% z&=;sY;fH+Bpp%SrN~Y;;8A+#CBcp`eu2?p10y0!SEdknLv4#|CbmQW1fUkz!2~a+$ zD=8H&TtuL9C?I^c7QH|u^TGj8)!dqnDX8D{W@pzudYLLB9Fr&7T-4{r4VZTo81)?M zk+crAe?pi>s2_BYr3Bn~koeu&^-u;@odU_i8VVR~EA+`+0kpCD#=zTO3yQ2! zk_TO1G#y~FRlk1_Q~1^slI+!E7>Pr7*SU|@L?)PA+NpA(@Fg#_Tlxa?x%m+@X9uA0 z&@bz1`oJCe2CYzBBis#x$<TGOOi1s)$(Vx_d!vNEZW3$9z`oe9Z^U?1EXzg)c*3R_s;H=W*&t{}v( z8xur5nQh`OLneZhxaqI4Axx~<@=aj#{;_-82-vV@1%xxzS(teY5hoU+ba%nKbBfN^P zlF9e>>28*YH7XXR4zDS-QZ=|kU!_iz4RfJ;bJUikp`E@M}FA~}<&jR=P@T`B9 zor8Hzp~>ufMhVfZYf-nh-mom*T8KWi-lj4+JqdG5+tU9g)PHK`XO)yGFAi}^tED?9 z<-ntnORKFig9xwMr7GUMO&VBP$$li_e<;F{Np?#dFlyqMKNJWXZOKAW3iFs&iMt%CsS| z3zhn!`q_?wB^p))l1+~Sg=18iaK8lfyr3$^1}<@chSOSlsfLL1mwfPL8-SmT77hd$ zR#uDK4}IZ0p{ByD&R-LG@x_Cs5|ms2u<+tG;!N{|E7ippK`l78;uyn{yM!pF}_SlKtZj-(%C}9Y}kO=cH(>? zXxHWm*dWtb$i?GPU?!x?rpfY-D(ME*=h)z{X41OoL>0nDhzaFYi z&_eF)x7Epw*}(I%OZ)XBL4EAmuyWKf%VWq*j|R3Zw9eHrUfqcGG%dTdY`Sg(X98te z=h;QQN_5-qw$I<3AQJ?v5$g$C&ZFM&vmEC~wLi}1*WRk6#`8$e#bvMu1cm6tQ7L&k z{J=kxJS#nu9p7jB_zPJj{mfYs#whe3+ zZW0QTYsa}H-G9v)tC)ea^3Ve}h^ZkBpm1{STL^7oYantjGVKk+_AK6K7V=Q}(O_Hd zi*c{wT+oD_CcYT_xs$=OwcRs&S83luPmsq1%$gKMPQS{ADR$+32s5=VhHt!N&o6Nc z4G)e~FFl99gwc385><%O*m;`?Q^gS+_jHa221ra=T5v$$W(^k`S7JjP<;lu|s#*~|9 zK-iq;6FAXfb>Ns_h!l}<$CDy|tkV4YilXuiMg-+w(s7as=#f3`53o^6z!$IM-`h4n z#iqM$f%Emxz#={@kR6NioCRJm5v%#z$6lkZL9h?Xh16%?dKHif5q)JmZB?z!xds5- zuD&txvXxp{Ox$uL^w9E^Xu}PR{)gdci_g)B(H4QPdctg0GC2Luk?-u6-l3}*NNhX~ ztn%#N^R9(Pp@N0S64}?~`JMfm-%itFUQX0E=4OnOX_jh*N>hq$W||1XNA$v{f=E6H z{7zTDi?;)r3&SzTP~)T*IN5MD-hP7TkB0FSv2BXu;)ph`unEHt7qTiyOwV}Wx5=-9Hbi;7=* zR@m{-Vsz}bg*7KSb_syH zm7duG!krx4S4JWT&`-yL^3Ne}C-eM1zD89Fm#Ye^*GxzHh{~W_=G3}AANF0CiN!@O zM<4#Qqi%SRVzfadu2*wBl6z^k+mk~CcUS~DY!jjrj4Ib_i@K2hD&!A}OECu2)9grHzz+FTS}EkVbCSCFT@YQG{dc}h=OY-GDa)dq67CIs z(Q)GE(xe4c?xMcPGb!Bc=JyJN(aDY9qH*qM)G{y1?WPK2h!upUFyF! zRGZmrJQ!75Mrw}J{m2-Vax$HV?81Kkz^fnMwQrr2%RCd3o@Jwod@Jq22&8ddeC8p| zxVl*F6(;m+2ieG&~;mOx{t4UrVh|aC=sp&5T@Ll#w;x|NMwF zb7PD4Hl+62%#va+HvK+5l~lZN{;7C06on&*6dPI>@AGs?M{aBvzMypg}2!J%t<5W+62!tLtgx zqQF9PW?6#1yL%Y$(UNEAfQveKIm|7q8q)yovHMh{18-7F!%SP5iDzBK_ybvIzjf=G zAE`Z%6r&|M>4Oke$Z$ziTWjf>Kz^)?ZW1V)M%L_+PP0-xQt?`2puV*<#h!CVNZydE zcPl#8Dy*STO#;T5lqD!wxSjM?LvW2HEJD52Djz%fqLYEXYQ*Z^p5J?nDQ=p5vKMS} zy2VU?_KGcBmATn0hIHMUq4c58+h3yL5p}s1^v<08j=lGTKil>Rir(n;m|N3D2vt{5xkYcli`U8DGFI}85$(B@T1nMXuXo0$c%mm$ zt0d*DXBb|Qk6q$>izyOVboXN%ch<^;Hz@ZY9-de1Efu+|)6N=c0c1Ur6t2P|WX{gS z-^t_CniD74XE#IUvFUEU&O1ky4y}2{(x%Vx{g>M<0n_~Mq@czZl@-}Ha*;u`H*#5c zQ-3~^kMh2q5_e1HJ&wZF++?IFdu}p)Vn2TX)gc`3$DJd)%Dsmm&+o(J-789<*-2sm z0r!);w1heoh&-*nKlPh2`>0U3vxssi3@?TXudW+ZgEvp5P;evLx{McMpE`1kbD zO>z(Gz^XcmoKfRl<7;@|ES9CLx4ABb>ddnFxo05O=0 zIDqc&&J>vFxI8(G4Z1XY@~PcYIkT&)`2}gDgiy!S)b%*jJs6A!nTO2oq~2+Qu!L~9 z&{J{Ar~K4*m00;V$93!~2x}wmW#1W5`#*&<{C0~6BQnSTTnjNt&i}7c8lacN>^JxI z?kId=2D(PnT6qkvHwny=C*via0DrPE{5OxDY7sT_{@(_ij|<;dpOzK?|6XQ8{a0f0 zX1=E@JmRJV)8NjzV^l!sq~-X(6uhYbx?Miv4gEx~*%Ra0lj%)t5yKZCtmf({l10vP zpBeTx^k4DL2zkygnP&!1_u~zeFzY{D$nHh}h<`&=J3$JoGBy6p2gS3*zZWL|MWWEY zX_2RtdMc3H#{}nsN zy;#qFb1#`D6#2{d>e)lol}^s9cQMASFa90tdf+4m2!VQzt)@A=EEG?8zeopBR5bj; z@`5h!7zhE2f3Ef4l%8mqbss!p#z6@9u1Y<~BAO$88XyT_5AT^XbQVAVx0ZFGq8Q-& zpDxxS5k8}3!umBX5zcOfpgYrk`cpg|m`7~@zZ0PNkV?Mm52)Sy77JLSna0?nB`cu1 zHLIB7&_^8BNu($$F5n8#cXD-Y2Vua zxcP84&Rm(9m%Nzg-ort07tQ^hEvKR-K3F8iU6Kepae2rg_!Q1nLt=p zN;2D?JV3t^&=Pe?89!7+k@o`=#}6kQ@-c{>0r{5hKo08t7Q;wEWEX!M zvM;46dYtSeL6%ywT-ACOQnW>G!Rk(@Eba%O2&PvY8yRJy>wS{$=-ibLuNZ)##O|@f6_7Td;K`o zLNUr8(tBXc6tfQBnSr3TFWL{r4T z{=F}|DMu0rZ?kYx5dXr@Q^rykUzuP|@l0ksyXiA`S_hUk(Xa?~=c6}Ry0r1Bj9^qV3frr7Zj9L~DLkZ8I3JtK z*|zUQfxb_uiV46!fA`lq9(nF50Pk3rK$mCuIaq@lvrUk_SA_=j4I8GjjoHlSBr~?t zCz%*b6w_L#Ul+4O>1J6;G`w!?a?eP;lj3Y_qy$4PZ-|Ru(uNvQGu-OY4e9rY46c=x ziPCET&Id+3V4bt3T_!ar`)fNXjz;_r zLbq$C2jzrwF@NemM=>1~H5r|AM%9kOPGMyC1htH*@ouh;R2>G_21NM*bz<7{o}?Yw zm<^LIt-ryq$B^!OYk<))pP}}@MzJgaG>* zn-y4!wV~*v_9lDyDkEHhx=iAjR(VD>@|MRr=|P+_8E!-ZRDU?8mcKbqkrr0ZoV}gz zN4JX7{^-GUbXSrvtI2QB3A5DLXrd-}o?^^xGa9ZM7w;j1Y7?D7I?eI-A5+SC@|PUf zCtTqHsg0yoSs4D`6Va-kWrz#vhE4*sQNFHc)9a6zZ_B* zGH{bIzr!H>Z*^+y-uf3PsT>K!TK$tW|3Cd{PqcKdWK>W!dDL8cuYkh78!C@A6iVbw GgZ>AMgqF|% literal 0 HcmV?d00001