From ed23288e5b8b94e2ef9677e4233a78219e3e3d0e Mon Sep 17 00:00:00 2001 From: Nuno Campos Date: Thu, 13 Feb 2025 11:09:31 -0800 Subject: [PATCH 1/2] Add LGP Arch page --- ...graph_platform_deployment_architecture.png | Bin 0 -> 70881 bytes docs/docs/concepts/platform_architecture.md | 23 ++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 docs/docs/concepts/img/langgraph_platform_deployment_architecture.png create mode 100644 docs/docs/concepts/platform_architecture.md diff --git a/docs/docs/concepts/img/langgraph_platform_deployment_architecture.png b/docs/docs/concepts/img/langgraph_platform_deployment_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..313c082867505b60d94156ee02e24c198ce78b18 GIT binary patch literal 70881 zcmdSBWl$a4*7q9-1PBQ(2>})k3A%8C6Es1CySux)I|N&JfCP7kg#>pC5Zv9}?Kb<_ z=bX){Tet3q_rvp6b*e(wT-~$hm}AT_X8(U3EG;SW`X%1WXV0F!784cx`s~?rG~gdD z;tSwR{%wWOvu8xl#02@}oHTY*5he+Qu4)3mN&CR~5RssT5Q(D4VjyM&ef{x404<8- z&;MMZ84zVkiXg8Kn4;B^3H8`Pe6HXNF=9o*%B zx_a2E*THf?W%m>3QWyG9xR_>c4w@gDWH4aR(f)aOzk)M}@#^LiO9=8p{O3UiM@Gbq zCddc(&w~*&%Bwr(dn}S44Fi1iDxpo;(9x2ER z&ad-n&x803U@_1VWwr#K4hswtV))aZqj~oOBf^;V+y7}dfuG|&|F2VtNTPgt!atFP zo^~tqWzc)s>^Jwdc_k$!?|VH6vxLJLZ;dIiSt1RThYgx(dvzDzU`Bcmsa6byxEIfE zC^+}K?3?AoMk>q<_q!@iJPtcw5a0NG&fGm~<;RKjCdh)15v)&0I02`_@MI#pwa)s> zu5R5{KcwvD=H?<7sz~q4kXF*pOKHOAH`P>Jx#Qi@q%$rSb%~Bq%|RpmoVnZ1hevPN zEY#K=ZGr-i->`S;9G1HO?(dod?eywuHUG+*g3m@9edEjwMa#dK{3XR7=Tv!Hu zH@K25nTjX0r69>y`EufC9#;rQk6d%E=62&5Gmnd<8#9xb_&X5rNVRzwkp?)Z$8Mg? zZOrCiA?HdS$%6LEaqI1nQiHTmmxWm)*j9PA+&%k0%9P4$CI&+OA>SgCV*{OPSNK@F8su8UP|!6W)9C~^#=dbBlyY?MftD_c;((b={FTK z;77lUy?DRB|RX?~3!gauK}l?(QQWa>E`6f(Y3=C*5PZ zuww9I)fdl`6a@OwKPB%Mhrl0zhtf=JDt$zqm$PaxLmd)_vQv@q-t z_eF}bX;GDld{>Hb&71?ZuB@CP`X&) zpsWMOlmu7(18gd#m)7N(m13hzbJ8iz76G|ePU$D8_ovtnD*MFehBS&U<`)!yPRTX@crj}` zV90wjr6HKX8p>A;r^fdDif=VUB{9?sF*f|yN+hoZ>!g;iN)^yh%C;R{B(~^n;!dB4 z*4^1eiR)bs&)NHvlk|sKn(}Uv#FKIVJ`RkmjbUZr1%Ha= zS=XUE-R#v2;M?{`@2oP`^ir?L!2+`cG@#+SCx7F<7N^J>h;Jjxn3&{#K9v=7bF=VZ z!8&7Bq0$5_v&|fv-+eO^MkNCxxz8bq%*J1rckdF1+_F;(F+2kcx3WNYxh+lj;EY(1 zck|tz0NE&t^LdxdN#5>Cd?Fim`rxWPHoyD&MWZFvU za@`Du#H-iA7Ym-eWlNr?BO*IEt$HDINS&Val;ZIbocpzSK40h??f8iNGz?_@t53MQ z{JvH8GxkAtN}73;Y2@->c&A~YSvFl69NR2EH^p=qtr%ccWpSw>D{?w$ym+;A13A15 z#;zZg%vXiRVQ21$k(HX+YR0Uie$5|P+V&(!0O3$8)?vU%jWCxl2@;0 z+a=*zb&fi4E%Vgo#vsqAi^DiCIAa`eVSW5*#1D>{4@}i|_SKF?)9=TuG(sgN)NI4G zbH3)`!A-(9Er(E>gfGpa-j>Ja^MB8Q^E)W@hiG+t%Cm*DfbLc6eLd+Wjf6wiXACAN z{OS%{Xvc`Ix2!alOAetg+nyKC__#yY>V%00DS62inVtIyX1<;HQ2ju(;vmv7D~k=wpSOsI^KBP?_sc&{g@f-Gxf9n#MmF!u?<7@+ zI5tvLs-_zG7eC1RKJ%t2Wi3S-?M-!@ufq$Mr52Y$LahEh`L!Z%UPMus6a}U~j;?mm zM_eF0l9E&4aUQ0$Ql}ut*ogayT0t-7U6H4zYvx_3!BV}9&Yw-6jhLR#yB-LJ(EvZn z+dD=5dA&yO$wBl%wg%>kLg*AUBuw4IcK53UdC<7$0(I%5gNw&esAlEYhJE92&o~1v z8)`ZA&dRmS@a@NB)>l9ePBG+hJ2no3Z=kH)my5mz_g5SAillNga#g1 z$m0ZaDNHs^ zkE=EAgYKEUt|f?W#9N|C_DxinM1w)G#>r^?k%D{!i9nFYCs{l&{%)V+k7*bZGL8nBCE zC=|CjO4jP&ik&piD55T|UH+baM<6WN^P!;dYfwhp)ibk&n&kz|W8`CaxB|EI%XUh< zYHVBdeqpoUbY`FQM(7shPDAPHbK^lgoPNtff-6JqDDqTGa{U(5B0R^@M)vPN3#W|Q zEcxU9$;aIBo6W2&N!U5M-YKDs#s+7Yu~uPfWlojbx$nTa2=iU8zh=KcTbFsy1EUZ- zwTC1`++v-ING={yK3UaOqRwK|E@peWIa1a6gJZ-2TE%2Ih`)-JD70JZ>d*09($Vv( zPxA${Z=7pC;U6{I0hot<1TnrayJ`Fg@KD6N0+Y#RCgSVnhnwaAZSI{jOp=*YCmUMI zkn@X+35%7)zGbWdNo-<4^WQzqsjdREQSq_85n~&?4_7MiZ|MD)?NcT9BG3G6H&oD? z$(mYrvA%_vg}iNE8}C8)A`O^um^n^S!;9dOC`rwbqNK%xtm&r3cwh#DT4kXu=n#rg5liBCyC(6;+ z!+|`pc}ksFlDWiXp1_JuPN_Dt%87H+Z1|xxJXFJF>u0-ERvdPXblGk>T693$gNQ+gNBOQe(IES^(4c+y-PtnPuEEUo?YRjBO8X^) ziJt0l$4|KVMI;X*zZ}0=ym)mtK(e31d$+Zk8hGIQ)dOx;eMc$VX9Nze6~>kA>qrVN z`2D1AB)187n zM_?=78G&~~#(N}SFb)wV4MWx7YYRk`(lFZndb9w>FmqzJY906nd6nvR++*LS@lA^G zZu1W+R3a#IArE>~m7*!7iVkgk|%c!*T!D1YAuwaIjB1Q=igO;s9gW zOM+?Pt5t7O8uzs%HWu9z3HDW&dwht`VMEoih4tGOuZ=nlCuN1#&6geYNds&P4Hio3 z#{)Z4{nI5v^(asaaYOUg693dT;ou9-26glnvWV|6%9JJIR8#Q9Z2Xk;IDckGXGgdH z>_hw3`@Eyi?-JJ3VwF}fVfI14f|1CeUS}AgksfmV$J_BN&qEz)ic3Yie7>kGH-;LQ znI0RL2w@$~uW)aq=~*^=3x2h^8&-ROyGY%MAJ}Jy4X|Dw{PIRsP*rZ53#iX&fcibc zjFHBmc#`vFh43w6M*<~prm0oXtDe-&dbOZWLwbn|$}pz-2|mFf;)Tso1I%oeu~E;f zjq%88k5lYy)(nDoHLt_4i)Vnc)>p!|?oV=9`Ns}~Wx$mrHMW)SP?Of)*7Fn{%nWcc zU)hk>>tV|UsZgM#;HeEo;ARBAF^Po`>8SV(8@jDLw0t0Y_ZITojsRt7|rBIhTlO zNu$G`b)n`#-nfJyHD#%2)JDUKYwo%~Fv@uT&iKm=u{w=Vvv~`@YL~rWZk|NDn;~1$ zQ3mk`ffdTo66_(^1tlDE0Vw`uBSQ-%)(IVS_uKmv4rpaq-tfLz?g0bla`Flt<8Zp) zRCSEo1Y4{lDW->m_nlrB;t*&lcuK-|K=_?`>}?qg0fVu_z~Ldf?I&f!w~_S}D34ZR zzs`}`z;;LSAI!JLF(e_>L$Ny6h32pfMb_$Q+BL*hPZ=bS#a+-K2!YG=j@wP*lOb04 z&a2U4_r}5Fs0y98wBozJ%cLl;mTX6lbr@R(L(QEvcnSj;jT<}m)=yd(9TXmz&QaeLJy(}w7k zE``GT#C|58+f~V7C1wav1kPn9q8;`dOx2YevKH2F=hLzwSnmhKnG5qVc=s-osUKXm znt5R>NNzZwQt1lCi8&O=$o_5(>vUqZ{z%b_d}a?1o9T_Heon-t#CT;rB#_~WZni&3 z*=&(|yxY}Y!X|@ymgV`4V}jWxzjKVDFTzKYa7eJbo$L>^FMcCQ`L5v>G_c;#ug(d zZg_|(_64ZIRBa;Qf{|cyl5)t+eofWA4DNL?w=jeu(FtaL%+2(!}0vPn5T|Fs!>e%v%tmc zBb+CXiU3C+8(}$M+?CjqK z6~siI6WShKx9fW<$TMp#-Nw~q0b5!GMV;TexVEJFh!tK=r4{{i%M9?S0A0E74R1B{IuzE`D)eOt2^|}j8W1&{Wn{~jZ?su zspke}bWbmBaGb(CcE(uIXw6*@FK0ta@TmB)VnH3-YFPNtCn|9c-9&%Ni{v)H*x>J+ zX^71Hzn-&oxH(3bfC#{qqrDc&ge#*D6fAg{h+q3dZyjHtjKi&3kuFbF$ZtOP^Y@H= zP1e#(N+{5Te2N-#5G5rm8hcoHEPkCmk|6}{tymE0x1ZZIcRQGRZS6bwBU}ou{#_-B zT`IkF{rkma=RrGj*2m4PY7$OIY!vNc*hu%u_y?mkxiSaM7p|%)DZF8uc5w#7&X004?J+gn|6n7>&Lj&T7%tDOc6|lIK&c#-n_|(BT ztOp@eY%BMnR3(VL#H@wKRbx<&uFU>=u0o->-`7CM#FIkClXCz0GvS>mGaiMYaSyjv zcq9c#itXrFU%p4O&^?gnT{ZKmH&WbG?@J>lDN7?{eA|~iHm9VRc5t7vx+#_WR#yxu z`HfK$Cy6U!);ufA)&e(xGKl3n`@)zv=*Se&pL+1C)P$bzPQ|2D;Bm)nx2BK|IaXR_ z^ad9H7ALsgxy)6xJwB?|@VLj1YykIV*B2bY+i`8^C(NCx9}xf#j;3KuSw9iWzhf3{5NOgXDm+QUJ&fj=Lf zYT6X%kj^V&(rH#Pw;^${A@#i+)+ewl(t7Z-ZQ)_|C5S=WT2p{adQv7pryysF!4_3@ z;7pw9RvL0&N`$H~u1tF|5Te#GB$6)gI~;;SZ_=Mxm_ve zPU@=4fOr!P@3i}FSr^J;Fb4|g z8QWC#iDi>41$DW&)6y~}4?fQjm&59;%^mg^5{KIArZP>-{U1cM(<0rkyw&+H?AB>8 zAqu2*K+#gv6myH&v?G*Cl8-e~goZ3WjV6W|9?mvDNyK`$@ur!mAG2K0t`z}>@^kVV zL-Eer=j5u+tUaRypH>HMuwmXXt_bikIG+rBxU=qbjUY&oqk5U{8OX;6TW-I*nG@pJ^@GYp3Jeh+v~zV*E*Lq!@^=`dMNVVE zAyd9`^e6U4xa_Mn{R%?s`hzSsOME8|}VDw(t*2h|6d{5i$LP z-KZ1_b}WKi0Ep*=oy(v~EN-WE%RkslwL!vRSugpYv_CYJh9=yCWq2-9Q`^ ze~VW|^V3|P4A{?W6c#9(yo@NmCJprt6ik&?v6c*5#NE7N-3H;nG3;4&yoY-24%Z$O zDx^vDTIjKk=6c*(+)?dT%`s*na(fyNxvM}Sc5T1c_K*=5lsS<}FYxf)?}$*#7Sv+{ zzptrVU?PL=i%khvVlJXUcP~Lvm78`M2iZ{99poV426HXci;t$gTLD2;6t3s>!;ZBw z%J&DmPPOsRA^6iq!5Iy1G8@PcVV<8&kO4e`k|~F+>wUD`La#$!E{omeH@SD?KPp8z zVuenzDe%uyKs!Z(b>JoMyAR>wp|r-W4@;(YF&$oB)d(rysz!GUe8 zZBITe?4;rAy_%WQd${^IvCot@=%Yxjk=ID7cH%q&J)SVoiEB=@`@2&F4@}l`wh=QW zZ#&s6D!L*bYU02pg#r8WKP}iag^(+1wzf-2l z(uIF8mD$SWb^c2WAjZ^qdSXIe9>B|AVIZKK7^pz5j74!a#zuo!9($aS zPFJ>mppL2B5y)0N^O3u}VxV9kI2$;agem8YI}@~wzh-J_`_XgJ7ksy$Ne7v#W4&>c z-PNwFE_M!=T8L%dyLsng$OzLF_NR$02^-CW_mI0S68?cgk?+XE#!++o>P&BIW*8qH zM0vp=$p+H=b(l<_jpyHVhHJh}Yd7mKV;+2fv7Sg%`-kab;J1c)46k?ZOGM9~C5gE9 zIJ@`TCewK}g_TSruZ6^|`tmlSRzC*TU;IeT-7CR4;@9f?Q^JJGL_g@V0sF&Ty~5@* zGnHpYvbicsWZ$=2QB-4k+=mr?&BFW7s?^y?skLCu=Yr%td#K zn6o9|Zp-wtg7mgZ42qFbRikRWtSHAaWX=>+zc+xC)UuO`X}hL)@cQZ$zX z=E<9xHzej2&$-^FA^TPF^4ylqbVqQGNqYLM--xqp+b)C+^R$7}283Z@z14=IXJ5x` z+jfQhzHl@i`{Ur*{BVDR;NO9gNO!$ES5DimYmZC2+C(of!t*)UE#hYpnhqjv9qAW$umPFf#_)S?BvZ$Fp%o zN)J~EUU{-%%sX(8Bl`y4t=yr^OCcP)8UD9!1)q@pJ%XHEK_tO^r1#JP&0(7k)6FYH zj+2~$xLKZ~4q50>+Wt@=A340ACFoVXOZLm6?`QBYM^J9x9Hrn7_ zzPybXAO!^siwsAOX{V0f%6j(%Hk9d}yE9CFFtkBGmMwLNh2Vl^4l!BN#KlK5zm)j| z1iuAO%?awgQ*fB|3x-=~D=rCE7duj;I76MEYGYCgfgjPTftU0T?A85HGS$9s>&?zPgK?BuAGwir23>B0y@ zrlT-T7vPx=3Z^v2Z97oiAv##!IG{QfXK|IrGq-m)a59+UM@)rTv~As5;3f-MIFis2 zz+9OkYpx_fOnW}BnsGsXaTO!eeBdq{0a;<7rFU36s)|9f3!eq|T!I8EZq zJxV71tQsbkAa{(WAJ;kqS=!rqm|eIrPJfPbXlVJJBV3E%trjuhDNR!MH36v>4tIyB z#QjXr(S66jkAW#(J4lG)l2;npwE1<^du}^H)0-54)z~z3yo0b^=Q(G)pm7|C2S^SX zPDABJqJHFlpOVsHPcoy7*^mS8YocAQ5KdU9m0y)138kI1H3qK3raB4B3){kdcu({j zKmO{?k@h;;hgj$iS+^t%<=JsyFfVoUIqFqe)qzFLHTW{IlwnJ&0DpV{4uyZQJj3Z;5xsMsko)ncAQS(yTV}9m$u@~Z=!BxSYS{p=nS&!fXoP`)}NYRIH z735yK5QwO#aEvEWue~VJ#qVYXNlm6ozX+Ewc4+g6trITr&X9Vp)6)5)rkUwI5m#2Y z{=t0UujQ+p#-{hLW2ilRKZO~_*o?x#VH#4X7Qb#RqNGklWSWS@$g%L@n#5vEFy0@X znjZJif`fxIcvrgG*bSm6@d%ohHYQGo;jNd>I{cxmx|G~^b-{A8zwCj3gD%JF??!)& zmwumjXyH0L+~UD`cfiz~gM>IwfB78zcBAe>w);mn=zulh8=vr{$vM|3kf7=`kU+l>()E!hVlr63h13svDZ_WbMxN%Y}7uX7QnU@!* zL+ti4TIA?Dea4?&t>wj$W&bVm$n5Julvim?XcQ{;nL%_bTiX#X$wx4M2K^EGk|jH7 zx00Gbw~oV@iB4Id)+-vwWiY{8MK@;MuPP-x;05(+{Do#Bve*;6^s$U+ROKKMDsiVI zFQVVL2c~JrntY|3UU_8?jVBVrW`r3hygD?umz=4}{fu`)XzQ36Wky$5`nAz;bpacY z(WN;KB_nXz_=eEMn#lKWu&`={SfxKfoZuE+@^pE7IH5mGua)K~P0*nri_f8@?Y-QX zbmAC6ZA3%TgVt|(Jq7`4A*ezsXFffJ zL)_8}5k6!hUVN*w(IWx*faWkRb^pPnK%0NZf3yELD7MeF#htRliS_*qF4`%QVGj}7 zB&`OpZ~j6K3~WYS5FX%hiW$er;}9Y`QCuqH{48HJEYW8B2Hq#UU0XPi3V9nN&Qq}) z@pHUGGs^U0PQMQ+5fAh0AGQ@><6%0OI+JsUjmtcclZ;3WM05LN_W5(?$PxZaps2auMfGNh;lfR;%c8HvsQaPJCJtCs=kO}6pR32cNcv!!f5TA z49I(ZW%pys;*Y5+0LIjxjS-;Wws?0t zKF4f0D7;sE!O0m|P+0z%Q~6bG!rY5~d8dcKR<0X(e}^h($3qK?&Z&igiS*5yn|+&; zbJ7=#Q+7kxWfPr*>8zS4q8*0xl`}gPMHhQ#5?xLuGu@hppZJI(F0(6aFN3ArNbJLE z4TK!JraTR2lIP||6kZT)5FHhMT_{AKtVIBuI?|4!L{*(>@1kRom@XeK4EyN(xv^LO z2;;zW2VdskB=na8tB?wpSUFIX0wsaNkb`J1GigD zP#lIYr6qL@I-W z%Pe-saN-NKKyI!Aa}S-f&1{fRC~U&}$BZaJZxy~KS}`-tztJr`1uM7H_-yi(VV>zM^QV{gCR8VZD%7gm z6ZMXFk7e`|sA-Q-785%p38F)Pz4k9HROF?A53;@Q9Kix*2;U7G;lf%E6q8||(F8|w zgu;Z2qn5Agmw3O%eA`Lu=_JKS;au}G(eUc3%Z1fB=h#f^IO;4c(Z&2{vvX&;WPH+6 zXH`>Mbz{1R{zYsvSZu{vOVOM6a!@aPbv%~`(y+9$L`mT)NZ2+%o8EpLPWBs>v-UQx zh6J=Tr@zy+noQv2COBDC<5Q-=sT(%ra&^-}Q4Y8HUDB!$7pGBXVQRs79a2zxKix;RVMcw2MR)x^PhF z=6dwe(UAHNK6jFr)%ZZI^~%c%6aWVlFGx zY|i8vGF{Y11X+X~7#t5*jT0@3$ZHFPCcYf(Dugpg{ehb*teiG5iSMjf<}w6_mhmgy zg;T7o4>i?gFTTY!We%m2V6Yz$##m-!>l|e&>Moj&N!SzG;~Wr0~0UBIHtPLdLjjB>>Sb6OoW@Xg$9ow(GKj>qO+AG6!kM@C;WPUiZc4g*vhHnit7QEWXtI@CC^f*Z)s;?-3Mgyvdh)P zNI1bXySR&Iu=iJ(9<@CU*4jR;fxXib31{|P;viXHp=OxUm-+RY+td@|R@hroDXnc|{BTg*1kHAD|2=1Y8!qzNh z$#C+&=)#8Sr|rE#8H>e{;EPh;?PclApgty948)Z;syY{2@v=mnHKklNxM7h&0hFeV zpP$`0`_Q9l`394%ld;=RaKe=-0(WvI4nx01EEg`>UWbs_;CQgzW)Q&HewR9;-~90) z!S*(HcMv1!1JOrS`?z>Y7?k0U*PB_ULbVyDCp0y^&Nm3#KT`8#^k0}H1H$wx#M54A z=<|Mtsq)}lX}@N9fHimni2E}|MBoEk(2l=7Hy2nE;JEDIPVm{2F?X$IQ$oxT?Kevn z$SJN?^w|f*o@m~ea4u_eYw2$~^e8difG8xRTBsUP^SX`E>1+SGDCEExw| z{Um#oWD8M9uQ^TtZ>tTf=NxA6?#UC>extDq0+ME;R6r|^8i8`rA3-y)ftKk)d|$qr zVQPS03n+~Hfe>QCuAu2|Z+o?tfE@X#GRI2di(62?gwwEUfoHi_nS6gLEw}bk0I(ww z!N`^gn*0`^v|*ai^mL!goO0Ge5O|LQFom1bLk*x+ukLxAA_a4xp{IPLd`R&Df#9-fH=HLSwBwxxI`2+&dX^Ac*%&dVeBTs@J{xT zR`Jfn%-x2XhSF9uJcs&O{VKQ&mAM?1;x$M4xJhISC^%7b z(a_&J%-K)q$bGH)8#nRBN5luDiO(ITIYjLNP1#@unf`m&Ia05yk5KcnuW~T_YnP)F z6SxH)y*a*cK_6T4k`J10ikJ9Ofj4Z$zCR17{#L|qa(M#^iXN+JRwRUNu^5U(?Y02> zCXx>_a5f|i+O2S-3k&J1Jl4zYR01SGm?p5*m8YYO=vDZS`W^!okg=u#@1aHdPq#(~ zZ2D*^kG@;WaKKt%RVmq?{zXFwCXUbvu63s4{bgRj!jFeEBOv7`-(iqf{LjT62V4vo zgyd8C>L-vuY#1M*#fuSf$ZT(qU!ET6mvQWW&;q$MFlw)ZTCu1xWSL=LtOeoTE3AE( z2{nN{y+$mb9E{A@7x_;w9mFRLbmT4n7UL6201ZYLV1`~k3itnU{BLB2dPTH)W8WK$ z<;skFAe85m=D0sSI}0G{}wPgAUW(9=YQe=LtY^7*OCK6&OBY>P7+ee$wJb^UE$(OoRAL|BZqqQ%a`15fT-| zL_-WL)9n&2QZt3vB|L5Z3{DLOY%yC)g?v|sh*&Ku&Hnjszxx-5Hb)99AKd33l%GuS z&mw^P*{Ns01Q?0`n1}BIadpWcDileU<|cnXL!sx%wWMFe?g}jGp#9~3+DDxznDXHk zvef_d8^P~*kF1c1mdw-Bd~gDfXdc~@wtR5^8{O>x1 zNxZxKg>-@56GzT{0pmby1rGWPSMlq3$0;tyQZG^T1Z?y+K?|ZI%J&v}dKv~D@ezWo zebV;-8VE9%!5bhLAu?IQLZ;gPUNVb(dPSdjgy44;*#3d82!iBUuK!sG^S$11*yxS* zRt1PTJ^{|W5c#zJ2Uq0v{@eLR;QR_KCQ100sQ#;^T_g}BFDC!X7*qs6g817$@x#-w zH%BUs2MPkB=G>>EZ%;r>z^^9#e{~T3kJtsra+g77e3P|G;K?K8^Apv3<-WlAuhW7= zk8^tEY1{v$xG4}MUOWjB-&^6b#S?Xe!|||-{72y1AD1>wP0h-eA4s1}Z#3^eh(v^) z|3A&=)p2)!e-GCQq>`C5r+;Z&wL{_jv;LX500DHE8%P=EbW8rr7Ir`^`#hnaU;2;G z=>_m$e8z4>I#Y`Fs8x>;*nhkQa4RibSX|%7CGUz)siCY*P(EvB?Bze2z@X>8@ZN;Y z#8djO(`epkk6bVEleYf{xZcNs{vfuvSF^whfLqzh?q}lz01}|t!`f*wX6bpO`n*Kl zVXC7a0L045<$3-cy|BpvUT-8~@615mriXle(HB*c;T9miSO7)ufjwEvIq&`Dih=KI zR#6YmhuahKYUa=XwkIA&l$TMEC~j=@ub&ATCMaBozkY1jEOjFtO;iO7 z5U}ny%|~3TJxmO!BmR}qZ9j&u%Um+=U`)!SPpI6?#xsCEHSJP>>NUmTW>#bpP}NXf zY2RKR830)>4#mF)+dBmP-=L?05H1=fg*d}sq^DAQ*u2XQ?ITPG0n|tnZg)GHY`|@G z(F>+V?OW3x08~q(buomxn4zGkT1Dza)btk6a-%-dgA}}NJMR`Q1K9r^Ddd8lEo<*i zmWhQbX@wJ$0m$_uLK&B(BUhTg<%3Me0Kh3uMb4Aa8_@u%1pcH9ftb}U1vq2LOmTSv zF8W#M&E4Id*eJt6MAhuN;wJx-FV zk_yW@@dBbUoXH$>R@j=a!v8{ssj|O0rvcM*9l%+orUSP6Zcm0Rfyd;ixLQw6PS9}a z8MegLaLPyoD$LJw_W&X|kYe{+EYDo)B7~vZc8J^Y5YNF7kTBG&)&PG^xB;LWEqw<2zHR!KZGR>%9hHAiccORRzc2aP%S(C#e%dNF0=r-az#L?JtV4^2fm*yBKxjGY z#@=cl0>k)@qEUpvK34mzO6GBwX8@o~=QqpKt_f7H z(t+m@OD>9mLZ54EYpquT;Uq31oIap>QV02Qr-O`>R=hCyRRAwsuoznt3NZ+8u)8!m z0Rky$IPUe=_D&@7xe9n^kqhlxR$wpjdg1S#8S;0g%m;%gh>HeqBugi+_0tw8*$GO^ zzwj6CmbcDGw$i0Of`d^A?YFgetyAfATQOxXkXja0{1DAk41 zvb;OY7M6=C{$~@K&DvAI2RS^JT_0Zu>oG0>6}r;6txXqkQy4LS5xWn06F#oGoeYL^ zj|70iu6qqvi5Dhn-2_uerkW#3U|qi?=U%J|E=4IjBNKnsvM&-Yh1LLmL*PQs zZpBbq-N1Qk#ye{A`x^G{PtFG0g{A&qU?(=5ixoMjZ~Wli_q`jHj4X-NqZgU19H&pEAx%YL~8$m=+E@8!!nKp#X&oyz{% z^Zq1V%4`H&vBdQpgW|)bs-Bp*OW9tR93?HdEZgJ!kheIC$N20gcTfZ%n;q^4zL?PS z7Ma~D5CfB|9VL@I7LQ|U<>9Cz{f=e|rp)0sDDp8d^yslk+}7&5uTg7?WujUmf;Nbm zKgWIoMX{Z&?803Kh}FzQ2uE~^*IL^cZurX|2~*F8Z?8Q_UhM`%vp4H~GF)QnN`+1;^tQDaWir zHYWZSQ4UeDv-Gu2lmlo8zKIpW_Tlf1f1`Xn6ecz+$_`~4~0RV>= zU=Ps2Yuk!JZrqlTH5qnwv|86F#4{nQ*EA3-43mV^w+Y-(dFXEWm&%Ktj6gya&b8Fh zYICPi1!O)%lCPf-NUE9Qb;HPOBoGk=H7a0zHo^>t7yL;;6AMA-wjXM+-SB5O_e)0( zXvm0?>LNGVLsYk&xASt60B6V^w-|Q+JF$}f0OYv#^`XJF>K$FDflNdUsa8@4`Ye#R z&%XhZhLtEpqEYMtK+|=a0Jxmu0&HF7uxVjGia@st@wq?2>tYdqZ?E$>w~wEnGKh}}&Ow=X;^S4r^{7O)-qNxTgWD;#Clv>?W= z;_uuDD-5XQJ_o8ywN=$l|q@`Zge ztuKRhuOJaxCc2pG*np_QREN#dofLA(n1Pyj#|5C;29HGX4LFeKTUh$6n0>re*(Fcy z;P-t&Hf9En5!@59Z_uwpf{8tJu$>Z!ND7wCw`=sMA7#CaSf~q21@>$tMF=?^cD-(v zy6B#JU_s85TwU)|F$4C<@OcqjYZC{&Qi*ug=!ki(U!jsi`_M4(9BeiTVc&dQ@pVJ@ z+wENpvl#euSn}&M@OqhPIjNjz5{kU{(kfaI7Dw=-e4_sDUn%j~x$do)L zg+-1L_N-kSomCfx{|{Z?9Z&W9zn|mC=9tMmwxST((QgmIj`62zVFxbd0p4@y1d!n8M@l=h0%w;N|B}t zYwM*P`9NbLqNTo&V(#a#2g*+_NEg>nYrBYI({sb|FO)8%g0p`${@QY2^O+Y>ehXJ& zFMThv*l`NZl<@;z3;BTuL)nih#<-FU@jP8NK64?r$)LX`D}2e1YpkN;I%k4u9^OZ| z1wUNf6)@rEsyp(DgUN|aHD7c286jrneVK}{MFDk8Ig+i+>VM)l9NTj8@VENRhG3E9 zVW%uR?)M|Q&;%M-UN(c|Rhv&3aeBaG-t-Ea2`%pYK^tB%Of=%{*6cZ~z0g*td}rIz z#dJk-Q)JKlk@(%9{sBr&(Q*>WKHD>kF6%^o_!QHJ!KW{^&1RVhvNp^j+(H?LFLzPj zy_K+0loZDQ+nFhk;!3Dmg9?O=Sk8?7&+_=F20G}hIor2s$$>%NT1QYFj1elFI?kIM z8U6xzKgoTp4pBpDC%>~8U`dx(HJkIW8k)+}X5-p4m!oe?GT-f5~h0Ak?u}eAI4*}~BLBaV)8wm5G zH&qH>D<0Q=2sO$$xRN_>wpXm3xrXb-Vfs9=j7!X6*Yq@?LL3b4QhmEL-$quEUENgG{GSym%*Hor-Tpjj08&$UA^iT9s=v zZ4LJ5eYmS9xA~+(Exofh|IwB~`-z^F)?hm;vplO}`htM?0ae4;Mp>=q&*8Fgp}cy+ zJG$y_%IXy`&h6{s7ei6ao}*rSwqr~}^viIWY_djKr$ymXcTRM9VlkRH1iX_YA zZh@Cs?7im#z@V;|f&1r^1i~z7Il4TgiA6+Qx7_RjKOA|}s@vviWtfS`H$$Axp)i)A zl)#2SW)VNKK)wn>E#Hm?#fLzrBbCT$jI6z*oUs|kJ0dLt<9uHnX$ z_z3YtAl-_u##*80ntG2wr8VVNG|8D@nFUusg|s36ICcZQPW1f{=Ar9m%yry$yCS#7 zYUZ}DJ03$`)Ug5rC+AxndE}1T{%$vU=IienrRg_6)&KJbqk~iovy5{IB9ZrSEV*4+ zJ<__gN$x>2?YIKBaqgB`P##Cr;={0()8Av@bgmYxt)lX2 zp<0+*nYJ=Xe*-K_Qx;_H?xUI~=BocCQ(^fj+P;PxW-=oG zd)J$Q@X}QDYW2a2F_eJ!4FQQLD?u?X1ViY&sx3AF{6jV(zAVqXG?{Rr)RW9C7bCjr z1Ia4V69%Vg_{QbNXOj^FBQmlSVbPD|^Rv@}j&%a*5B$qM=TP8b3a_K0l3L>n)K zG8am!zj1aSEIbnJ%BxWwbiBb9ip1Q7KHEs_d_Ywl<{=o&b;HswHg^#&8JbS25cT=7 zGBTcgKdz|TtyC{8<-qP7%Pf}>F)!R9(O|i+qckx+!Jd-h9 zmNU#p20NYX5BOSc2~siARXP-Lw%CMq5w+m=9qUB>bz?575Epe`hPU38Ti^Ed?EY!I z;&z_>XlRI~h0G}7{zHRYyVv(8{%Pdm0gABvk>UJ$DT}%Ay@H4AOzt^0$ywQ#mfo|A zrS-Vg+|=w!ON%4GiJ}r{qY4f8^cHu1?OJr|Y3Z3wciu*RDL$wyu~M?LCh-v)MDWY6 z!N8;JW?ij$%hwcs>%)B?IP{&<(>}E+^=&g&O$SH9icXpdFUZuFU2H4 z9V&UpmqUM$!XmAq`tDmYXje2Ykzo6a){1#lc?bi=fOkQ|M4be-JT$>S8K8-iQFtfB zK z)$5qODw@ptcbQU6_%~nTjLJJpv#+*_ex+@X4=*PZGqVoTd=qrB+c0_XPCP@1H7!)A zuUoKb4((dqZ}&6eH94!4(U*6H*;FVBfiz*ktKV~Pw(MzFnognm2zlR#ZPe&K6TjQC zLf7NyWPUtJRo&OFV>tU}T{|?uI)<}{GtnQ)E@|U{fBTcISDJttdyRomBvU2;r3%tb z{`t-^kSPvD98bLPSSbl#W zT^n!2EJ>Z#vPd;HU?p#7Qt;_-6g2k~%gk+ys@w(?Ev$na%|xJ^lGqciv*9=%oUIh# zAqGrK1cuZtxnnLt(&QG|t(Z$Xo{(YLi-4MD4LXxE3FofI;U9}R7?ZceubEX=UH^xd1c$c^=)&xA zb6ja~@*gbjSu6B4>%80qr+2?w^P?1uG8^#W`{!RPVr}B~nRR~?X>`awe%hboxBjY6 zE`-r5yh{7tb9wK)|6Kk)V$JHf&};4#ZiH?r9bgt;cp;1IIm}MZZ8t07Kgj+b8r1VN zemX9z*Kx>>yC=}yz4B{I(fpeEXa7UuAZWl5aWC)6Shzf_>3fFL0Dw<)_abt28Bg95 z_SX)}__MATtNss#+5+y=6ld|NVh3x7!z}mn0C)EU!4+aG=w{o4p|JWNiXoX5TvU3+ zJ%uPFYE>No=={3L_pbbNN72lj0yh0g1>cadPvgO(Bc$R=Yinzx^SsOa?``?(4=yl- z)Kex&kv_|%o=6?+TTt#>F~@p1(Lep}KO8TxtosYz#rvD_FG0C!O=U}XIvy&&`oDA` z42K;jPwt=F|MwUEf6PpCg=JvXo28@Q{`YsiWfeGX5WTEt`?H+oZ2E3xn-lZdhRJu& zy*A&&_MLQt`9S{H=VOiYm9vNECOesja~TI0JMF*Cx7y#Ai8>?ZHl8sbU7W3&3vuoG zKT@VCmFX&m8hjy}^dbaq&ysgv^&7T)S zg+nKjN{$AGGsnv$wZAA8tna;a_XW$LLTwEG-$&9ZU+Rq0<0Col&9ZHHZKsArNme&5 z<#LgvFzQm_S6E>B&O?6U6UDBPx0&&NpS@_CejFdc(xB}AY_=T17pM99cm49i(~Hwe z$>-u0v*fq4gT@{Lc*2jo^q(Fb4v|*rhzjRxA;yFpzZ(#;Sjlz%IN6%^qi3M!(CWK~ z(4gcnDK*o6+-Ay=l`@-^fH>HV(o7|l|E+i^L6faY46-{Sl_f(=B-Kp#!Bv8B zKBD-J*znuW{hs{H?3`X<5ZZyWvQh}blA*|y_#&r&ITU1WF0^J_c+%{0Mto|YjvU2H z{SP$Mwdbd}EF_^&$Oo=S47q?RBFUwowC%rjuqz9B|NJOmu(4C#$R);i&?I`ulGfO@ z`1q8#maB)7P#Pu<0rVaL@Oc_kv$zbNhqF;Uj5d8kxsu96b-otpFo7~VX~19reuM@tbj~| ziXzm@hC4qs5sKtLY@7P0Q)Saug>)-P3FpqWwFX{e(EF%rlE~FU3=GNA1!x`@ml*%| zGhke(&-=C}(jp6Y(r}pYxmVWF?kwrp$R_&1Z##QHb(nDWTck2_&?!2 zo;>ADs7aXc)MK*<>i{ma@xr_xgpz(~T3F_NIV`@=gg@i+EY@WyzQOj97aBmtwS`!o z*bDW}_UbIPP1pM_64ZM9^_V8OB1jFFViy=Qp)-Z6Jp zp6K?=t9o=EOFE-(W^RZ+H{dO;^(A2NE_#`MzBjGF(o{NrHdjKZrtU!}%iq-K=)Mx& zsc-P^25(SmDb0Dg`ia7@Yw57|i_;8;yR9o>5~93H68p`1g5bfrz}yr=p-2We!_0LY zLAp3E`1yMd;cE`RLNZ0`kRiGE9Bt)C?cK-JFNFI`ubLnHbX1(| z$>_N?WEEAA=KI#sy6B|(3!!)ELDY?ejn?}azUDtqNqFtRk&^~3<8>noOMU=kefu`v+qme ze~+f(lGqyA6x zHcec%^Qn2QB`*k)l2HffIKsPu(!G(N(*(YFh;o_L*IgCzGYrH_;aJH5(?y9F)%RAr z6Q0fy>3!C;*qYyR7J7FpqMCRA=6A1k8Yk~k`C0SH!k$|Se9pLff)vFBplk?`{Io68 zwBo9a7_hpD^P|1m&ZYZk-b=q}kEy@k3|k%lorzZg}6poke+?}Yprg7c%fV=_3BEmvC*FoS|cz_6dStc@b-PtV^aMv z#atvPGJbBA0qf)qOZRFOJ$XcESCM0;^e=6lz<-Y`MIe`pfB4W4XOVf58%HqOcMT6Y zCF0ME@AplTB)R3k_d*Z5fM4RB!QbBP*Qg48l<}7zWEXS7FXP^9MQJy6X64Y^@cvVY zY1;$9>ex$58KIp&6wGr>hHUMwSYA!tQFuA?@A2ELhJdi$Kc|GP1*o;+Qc%LSn0bd}xuI-tLcaC|ZJJ!o$Hc zcC$ySw*R>c=g^s4S`o*@q4B=wEvl;;*i$=6IH2cd_uxm)h<&b5MiVm{oW+|>?}=_v z>miyFeXke)Rc(DVfu1R>Qh&^EJh@-K#fN>+z6OejCY%Vv$;d~ea`$i+C4@iVv(C$v z|GA1>3{)O{gM%$<@@~mpYyr4D9gV#jPWVqI|G(COUlghx*OGz7Y5Gl(MM*W=M-;e} zHU%U^9>O+HQTX@GaD>(o=XJs%*`U&kmt6^BIn$~AGX5;Rudz*sx6D~{H0%&v#j6F1 zr=Kje*X91SUvLq$cBs^oD^_>)1KBK|LXqb$a)}@i)gw6zO?uv9#d}m-*C*F_)Q`!T zlK-mDKJwv+(kBMMGhP;LDCP>H`x;v$3lq zE-*A22nefJkHSK^xgixOy4ty_o}{(Emm^0J<%f6|OT19CR%5$t&-~EL>vz11Q~q6G zY#-CWMO!NgR>YwQ?(!9UQtmwXM+<;*`#PrU;u7@U2bvV|&r(C^fqVJ5kXtgU+E4v~(Mx--k4jBdNd3ETk-14=V@Z5=0gB}>=&Fd3FYAtnc|zov|M^^U90LRilX%b5 zNnan|>-Y0Bw%fM@zE82V8LlT5?{%0JGZ9Q9&fv;|S_2<&bAJApC4hE?x#2;-4U5{E z3(cqbHtQs-roR64btgmi{!u?lq(8JTO`Zs&`V4tn^Upfyu&C*O-qt2F0)#~NXcRxZ zSDst9@lwsujY_Q?SM%p*-*b8UdEh?tH3BTWK%7#|OIMoLf9KEt&835$+4~cHHhUVV zbE99eL)0=u@PH}g8dVESA(c_L;vIEygHVnS_bbvRoWi_&A~=gDbnpG^Ec&!kcwJ_5TbkeUNdPi|=Tr_F9vMnr`DvZ^c{tR_5y1gq>meI*paB}z#ZvNl0Q zy18ulOYQQ1J0`R^Lvm?Rt`)aFgk{xm7U~Y0=??pHJ`*XY9|$^1~pM z5j|7-JFHI~9iLGZbHh!A4|+oVv&}pk6YY>nM$mAY%Ln1e-lEQvr=wJN^Z-E)2e4edpf*yIk9~my)7z;7!W82kcPiHo@@2_m2wXH`qnS{>Xr*xN;SX z8Yr%ZFmuAx5To5IQPF<3@>`n(P2Wxv&p*b7AI$G=%nohedBIw@(&CZ!RWm^5wK~L# zw!DHE;~F3ZsCYaNESCtph)03ohJg?hMr+(V17_swFo$6;&OiHaT8Fke#D)U)wqU}v+!W{0k!5t+kBA$eOfS>C zX?B8i$wpE)_(uG&9=pJLoZr&97%h^qiIq87El|VGhJ>h$0Q$?WqW%12rUgu(+!p~# ztLQI))=jKQF|xh7H{&rph8#>#yXoKxL=Y)n3PAf(|G+NfSDZchmhQju`(mse;LyRh zLVgC1xvRC`^(bMrO;CL^OZfB;ec2?$QT=FoFyPGI5UM9YCUe z;Hyy%u<7eL2g(t@r3dExjmcN3YEun;3}4aDOU4&8y!GT%>tb-c0{|16+D=_@cU6~#(eeqI2p zW|jd}-g03KHSY)_JKy$qmuA?(=7m&czq27%S9gV1|Mk5PBO zi{FPDK|$?*1Z!CRRL^s3z!Tc0nt2IgEgoz2J{|n~D!Pi5fk0^%ZxLdGi7`^cu}5=< zZFWNdh5``HX&UfTcZNk$X^OF?YhSG1kuBL$ccUmh0urhRY|JxtU}17!49#-{&<6q? z7=xGiQ6pGM@3FHteGlhB9>D;h0CSKgSniy%I{3>ctUToG9B3R~pZ1L0hoyD z1p3470IbaH=Z7Vp-$Rl+X(411y-%+Sy~FC3`fh$m1jbq{J|3v7~%cj>jsH^zrb3w z!Ai*<)XzoX`tNj;%S!e3L}UXl2F6XySA}r&#Eyc6bW}Tl#DTsi7>v-6n6;Rg(ksqT0jF}Zc%sI&;0Sf!$+Tw4$Hg{*oo#>YwCKt+`SL`5@YRb52shJUkw zSQKg#Y`mIU$HV?)=AenQ<1T{)XAZdS$YusA*Nsgu-ioi+iU8Q5KDz3wFPB8HXDLVPG5VM!B!n8uj0i)#sQTOi~0)~t80xUERjot z-Xco)$;p0CL8QF~R*LE#&0zH_-7ZHZ?F;lhKk$98zi4d#Dm7?yB`v%h9BK9Q>HA+d zIz1U59KPg#a_xtW58zd)f=DxA3Zo-Y@blj_A8x8u9Df-OOsVUOO7ddSoc;4+#6HP5 z?AV@{{+78B9uCFnO#LbZ03p*`kNstNm%Jd)b}mr`O>E2Fi=E{p)Hr`VccQnD74um@ zlA1&RP%zmF;`-q&^(wyXQ76i3lk7c>fvFA^5mJi{Ld8hIe?+m6Rwl|is7jPeJD)a0UXO(>yjV=B0~!|b_^W`xK}_DZ3a@6LshV9w{-O;m9n4K z+aBAmSGX>Aws|H)X65bF4bkr7Mt13gBGUt~G5ZfU8r9XqT$|Slk;ny<#uLLI+>4hq zA9GN0A-%5P%R)6L8Yq%Cx8La*m?hW6xK(g$bX#0C{(RHxs(`nA$0QT!daOVvK12r% zuUW&e#|nT2XI>-u^(3-xO0-!EjDLy}?&etIC$;a1*lcNZIeO}Wlk#ze-4!3V@Z*ZXTd&JGtGXD^?wW-$o2Xm7|xqt=dT#Xx4yIRb{|mIqmmCEy{?3Dj>7W zfx?#!E|9#`KKsC%elo`J@ra_6>=qD7MD8Ml-ISm$v`A!^7LEsR*M|zA3YmtfyTpH^VPrVLzp(ibrR{|h7v}Pl7WrWd zj*lA@H)ZZ&o7yqfg^2x|>y0lYdd3n;u+_h*mMVh8cGd#|fu~G8 zLu#|tz0zQmdaoJ6OAn(GW1?~(yvyt5t@^OY zeTdty3H`3WnGlDy;C&FhlcR@Lu976lx{ZEC!RyB}gwGQ2k%UD?Dl)(4D(U&vE90^d z9JE*s*|e8IPbCA_z1=0#XzY0^UJ%Pf_otwCRRs2D1$$Wi5|)sv@mPL&tgc>nS@$}x-?0g_OL{z&zRBE2bASsCf4 zD!FwGQa*&VWR4%ysNDiPo%=1-V&82^RsT`v)8kC0EB@c{B-zt^;_>6NF|=X1tV|vQ zf+~~x{dWsq4z>2&OCY!x2{vf5-(8nAY&Oym#eJ`4!N!C32k**62h^M0*M?{qUvV5G zkPxFf=d@L-jQV)Y8nSikm{iQTh!csYIU4GK9gv2h^}!;lQ`J0-M3E(IEYtC{pnwVR zHNh7-O1CZZgB4@CM*GnEVKtyIi{}{K0QT&*lTSJ)(7WX%ZHlx;1witPbaZ zFDuV})71I#lGW`jayS!PX};RY|0+x1uA6Z=sW=~WDeu)=7REkpBbLz;&0sIG70Pf;< zpL!4Qr8r*jna{h$v1FupMHq}6YF**zY`?-ISAFF1w9%)aag`yK)9SLh)9TCyYOd!liBO9phUlT$qOcV&Jr z5n;N?O?sZns;^k8AeM#3lS=>UvTz}JiZ8(cMih21{xam8tmo;g9S%tfb}#0fMOU*= zB;YgN2)cZ;buHhlr-UVM8Q)gNeo+*l zI0krBT40Y(i?4rItJY9_0W>@`B*zH*`fJ+=16S;OLz@;n1)H^NW3?C%WhKW{jzMUH z7Q2Wn)v5Zcm>Ah2!piP_VayZrem zckof1I|#k@Qt(k|-1-({SKf%Uw0bpG{Ea#?1%Uxdi_iE3;U5odge~1yR;mLA^N9!! ztzl}5%Re5^feO^KwiU?oO|E-^85a9BnZrU*tyOJFC84o5DG3dFNPB~366qodTI`=E zRd&nT?b3x`t4LC@d{mycsWMp53SMPv*8B1VEbeuwY6h1&ovjHaNFD)s;8TeQGz>&*?GN-R15^G?W z^O!C>g(q@xHC?$|w7kO^@wi}amaix3@&sQW4N0xx5GAQ=0*Y?NDR~kthSkFB++i9U z6ns@fjJSmJ2n>(Y=5mz;gC{ElHDu~8OP0mH0KX6b3k$XVmwr}VH{#!z%IVPFCvpm3 zZm@YbnqGhL&HKLCWJ5So0dPT!PvA2|UhWK2LRV7tCM)j+F1<){vOpq-C zjNk2?dR&Go@vyDk^0{OjAH~ zRwfh~?|;YhuQBJ|XoNY0t-P(G%DzFvp@q`nI27oZF758Dh3WsS zZf+|8yIXbY(ch!!2orGKCPAmKIHq)Kxzt@~Wo<27idm3R6Bs{ROZXld~(1H$Y69HQv3-^zC?*j+5CQ_Sn$?}1%CQH4!ghHsa~)?S=KU)=8=3R{=6Vd%A$rWqB5%Ui^{S{KOH)pjw?U@h&StT$gBd$a0U`Bc^mFG4 z|LY?wGpAG{T6783?x2ywLz2Yt5|6v5$PO?zx4LOq1+n_1r$%@m5q08_$ER>eIT7ZiY+Kgx2eZRb&gQ*e({zypq!JXp5!kcq3LDFK ze|-i3m#XZj2mZz)OTJ7(>PiM6T~FrU`3+-HK(EIcU5_d)rF!f!8@PE)7>JY&Q(0Fn z|L=*-=FhRDPvG0HH~8Oq=H~?UL=3i{{|0Cq{;8^BBucI0g4P~i{;L8s1N#Er1(8@887LA;ht45ib;q0N^ll4qM8n5)|B#D(}7mAxB@sBRjk zEFp$3sl-=9AIDOwG#tXM6Oje@nG$iO(LZ6I#kbIUB1fsd`;`wJ@Y&vLHUx4}=Y=fW zqEk@4k2I20Lc#sOGQ*Kg1s5SfTETK2YbtPi`OU1&tK%{ zH2k-?k}&mqNX?C-^9V<7uTUd%oZ*F0xjI1|8~oRtoowxi@dnux`sjF#iaJc?tLk58 z#67SqCw+?W2If;TUflEKSFdiJBHIN&o9d+7UFdSz(#( zhpxBFgzyZSs0UK?O?@!F);}M6T+BYq_^Ui}jwfntdR^#%pD%9S+-w0grh&1`wk_qR z^oG8&$Sz&~>vlfiT8P33ZjcHkR+vt?ePmo4oxVSurNw_AW8YyK8FGA9uv?BB`B)L* z2DuibEJ&7JyMl;&9su{-7#Y3}|26fs^!s+pw)(;XF4z_(Uy9%@RdNf=tT#LxOF^xMO;|O> zP{LZL4;}x8&(k`7aLYU=h}5Q+a97q)2D?5d2RW%M3~zq-v?Apy9r58GTZ(x=54|9Y zWfXTud~+aS%g^S(86j(RpFiz)dYECOG!%uYdY9ppSvxE(I|<)HB(*%(J9VV2Y8esq z$}d$>E~iBQBB)~TbnUruaVmL3G^@%u0k$skXj; zC#q8;NqS~>d+`#!_YawOUDCeb+;PP#0{Og*MQx~s{5q#v84*gDk&51q1R-Yq;Fa+x z1N7%)%r>dJ<4b}%%?=_W_oh|y%8WY~C;9?HUe{z`#38?N=*K$dc8H?zmKC zdJI`R+9S?rYL+7m;d+l6J0Auu;`M-NRi`#m2O@5AoJXHEMANYYz>AzL7`|s3o)wYT z;O|(Pv>>)$H5!%AH{bjgvF&?%rId`X9tkBv!k^8qLT+p6QJ_D;RwXy^JVsb-#ZB5} zjt67Mrf*l%0r@B~1nTI|c}>+e6gFqfsXCmX4M7 zzP=g+HKu?~2iaVyJ;~T0v*N+Yv*ZMPA!?0so>=s)fZdk*mR=OWy=NWST0_cgB0moK zSOul;vMX>Yly4I}xc>2V?<{AvB-40V)GiRQ1{NFnN9Ng%QhIO(9lDo*Ggt9)_EiN! zu!_A|hzT)sTmJQL-hfTpKkZ%OTTcjQ`$=%TPE4vEceZ@W)nuz((H`bRYZHd1AzJ>j zVZ|yePs|UWc_yDhnCMT+t4VQo|FX2=V*4X%8h-^vj_bv83WQc)gJwg99}VSf z?QCvuZc9&i-XvR@&CWg^e6u5YC}mUf8%;YdNrX9xmG(C`hfu@5F-bPOVTSh5v(iT9 z`)lNVJR(3KEm~(+Gfa%F#=;1b-?>=aYbfL>=7A@CEE%t-hKY9oiA#BRRKIDOd)=WH%W$K*z@(>Pf zd5D}o;a&9wZ(EP+iwiY~ZWF6R6z1V*i^Yi%1{gPOwl-H?YcsebNxD;IU z0^GY2ONKo3&I5Gga^PAOAv*G1)YNsF_a0rY(((mYy35-3ppSB_-pQb~I0%5LZ10x= zk~fZHjt#CgA5i-dEeq16K?ZCAuznD0Wv>AgXeo$4G?;e>;B_fT^c0>YM`QCwd7zQ( zbSJuQk9q@Q?Fen6z)esxa zd*W#taiZ-unBi3MDkt#7q26s#-lY?<`5u@q6l(%F*b{unM!Q-%$Ob=IBoCSl{s8*o zl338-+XhAGL2s&=H9ywjf3q9BKHuIRtSkcbcR2R#l~bRG&5mKN8SxK;*qt zy6LY)b8qHM3-C@2b%o;bn>ttdypxwL3jjls>%}i(bwSp5rsLz`CXj2ji&zUj^KxlD7;e&(@=I zN(4esXECy)Vy!-}jNdJ-jFi<<57Fb0dq^6iDeQNv!Ud;#CCC3dUtIO-EO_J!Ma-rs zO{pJ97rZ90cJx}jw)W-UU{{D>%v&Maccm50B^4{+Vd}Q}AG(%MRm$#m;5yDfIn>)* z88)c39n|G-JIbGXb>|D%Li^iifQK*H2sIf4yS;MuSsl4O9&M$qU-ouq(`rS5#xQ7eV0-FhiU4bjkpkdx_ zfE-*46D=bVBOr@D1k!-IYd0aZxKiYJl84w}>ir#zBuox|0Mr9vM6#4sBs%O99nIBy zLy{YBC7}_Ga3x$Typ$wx9lGyja!HsZ?qOXGG*Yn<-Vcc;nPmgtG#KXs1l|HE0^D>EXbirm%yXD-xAyHq+o@J z-hTf2SHtZhk1H^@upc)woQVjU=J&UzMGp)uJD<*aZsyB^RAgi2v~R%rqLR$~U4?I{ zetF$noNs_<8%e|u!Fp`2wRdt7N?sTiTZ^((U&e5YZB}*fZ+yq`oQ#R!rRF24f_K!Q z@jwpI2rcGn6Hh0Qm$AQ~;Nl@FgAtr4k>CuK9RU}FS8s9o;21%aMY@n(>`+bUdF~BL zI2a-0!;WR^|r!&;M^lLd%s5x2>G@`d{7uf=Y?f_N2W3#l|B0j z+at1K{5=G6kk-UGFRTYVtb+N+kD{F*^0dhBd3UTda_upaC2uOops*{PZ^Jp8$p$9x zv_KP@#QIj6Zd6AjxptWm^uMry$3uL=a&+^@Zq=Fzqi?r+mrWSP`FDd638}z(#H1Vq za7WT#dKL%QqAzo)+V13X9L|xZ8gtsSBEnqCD8$Rx!9mv*+KzMbJ+96*tFl0wFQ|61 z9b*d~;96t$xk9QUneI{#{U*pVk$8u--8vCDBfT0^rSL40$bjP-#=3(egn^uo*svq> z2f6J;wV3q&M}>L}$mtRn!f1@EiD0=_$Zm&j2lg2Fz)U`0$$+~5zWfr*96oq z)%#W4HlH_FlXkr~A(OibPrD;0;!tYPnkr<=sBFVaQ|OsUV3(hTHU5?P=P)uJH=*zr z{_#tb_SB_86x7wPn!wgy-`_Q)o5=HNZxN(DVxa8z5jFhn)8T~6Ff?fzUWAu0YjH!^ z`rT98)Qh9{vid8}g94*t)}-hp`Qf`<(8o#e(%=nRf;uLQA24)k z6QUm9)t^Y;y1FP~$PFuqp?c04h?}pd+kXz?zdvrP_*f(0&}<@71KuXSNII0oC8}z_ zg_z*;?sB5x&@h}Qp$E_{ibv2qyp3LpJB)diVZ^k-{S>CIv^_qErWiUwHk~MgD^O&X z86O1^HL1?d^)_>SNZ`&@hUglJDr=Tn&N!rc?}~3m3_PH*U!rrG{egB58}oe2{OR0b z%~n;B*Jckpsnj^#qnRcT7gHs2Kzr8JxWb%> zb5jk5<3nX_z|`53=FIYBKi)jodgT({MXJ-;N${ly1*%~%g6nC{#q*UG=$J6SnMsmb zGQMB&?`Wdvwopct(Y|gGoE*iu^KMVDg2{lvQV=};vO#_!1|>>dMnp*ri6-4X%(;qg zsB@VfZSD)L6Agal*K5*<3DjJ2!VqJcC@Z z-#oXDzlImB&!-gsTVMz>e)*O6oNv*!NMhRds_%>1P)4ign5p)E12V*5@(c<&9~&3+h1)jqo<$F1K`-)lWMY>uO6nIl#Xc@`>YKCvri zI^a~5BB#&Ua|=!j8Ae0}W|@SA$p+`MUY}}wIG^uGAnW|IOK;lgZO2;}$5CwXOF}}& zxZ=WrFi6+PNH+tMtJ0ALdMaXFk(O&yHSLwQnS+cBfn^x#AW zxiIk=%wp>$mVh2vD>GKSmR04s;IbIyvLyqzUOtgTm_fR}aISfiJZoMwh8jbWrGvM) zG&^`FbEjoThA9ZGq18m%`NX7u>236Z66Xo@X5oj_=NsCiKEC%Ov=P_O!JLbuH^;Rq zW_SwKlS||ea`)dAVWMS1uj-Cw;>qKi!|f$cNJhSTUpDyki`G{f4;jC&kV9${1-FCJ zd{wwyLfb-)QE?l2NM@_`AgSZogY14>mpKUJNz?{abhhn}n3xZ2j#qeGr5{!BI&w>C zPWzA&CM6@TmU%0hNG3|%Cqqa3dnv@x=$MqHKXLi<3ZM~QujR_D!{;*Ts)6&e>A-)Z3HFzF0t zoah9$>4XH-QuyCM1@WxDSMd#xX?B(CkDDdcwrGOg2AYGfMq(GLOUxtQe4kpsL|Yu+ zarDcw3ll#5z5%fKVZDuXg>?Vhy z#C8&FR*Xnw++@dmTWz?#PLrF8G7CwoJlq^>RQ?ptJUD#`p-Rx~@~h3NyjzT2oR=LwE4)VkUq23ur$~gm?*c>)3NH;SJx(gmWz{g^U*Q0Dqqbb5Ta1 zpgOs|kMkRue+9!yZKxd=s(9v0m-%r4&)*Nsb{ zHYasQIcc+4zU+{n+qh+8PVW5;*pS}-O&E+H?Zg*riPIS?$p-;=O6|GiP_DeHf9*mB zn32BQLbPZcdC<|t7_q-}0rUw%y*~*m+>6UcJ*FIr)|{MOjH6H;SIvP;@+m*tBah&; z&gMHrCm~`a*X$G5tT=0^#qqB*}&4Y}{O^FYe?0qt1f@_ppo}Bp6S=*Fj>6%*H z7J-V%z(o8Ykv!YlwNK{TSd+>jpRmALK+(5#y90|KhrG+8oLLi`ZbbbZOQ>|Ubm(8TK(X>HIm(0Vg;DDoK+{}L4!aY`7O z%b%-6#vb(nGZ7Dt%1eZN>~dxtpi&|P3ecOs&}mt26D zo?D!cw$gg!M#S6x1H(7nikAf;h6LTMccPxhAxJJuF~IySX$_IE2%N*b?b()%)a3!9 zeFme*D$Fn9%SvSsC^6A3QWaeqzT6PqH)?#nKm`8c%5;^KGFp;~k5}6Nmoxe;FNYgW z4U#pM&85W1Py!|uyA*>XmxT{0dl`gbLMz@OvJ&Q~{e*=AXNTV4;s2CR)_^kgz3(ubF@(@5Gh?hZ5U$jD*9*?=nhr3RX`p6}+@MrZ+iIfEupL!w06~l!ViQSvC2>CVs+as+&M` za`ZvaqdA2cCJ(;#VaXk-CoG{5(19VsQHai1=^osfFb-{oXuTd@i)#Lx@0ys?Ltz`J zTJnW)4!o9i7%q&|%~QVr-sYPZ%su+K9g0LapXKm=WEw7a(-7dfYW99wHOQx({VuJ1 zGo(z@u%jD-^0-=%>!J`&GIBvm#WyF?Ap!Y;<`Ce4k=gc}?D+|Z0pLbh5_8Ltv+AY- z%74D?i6^b9A?l4ftFqgPFdyuQ>HqO`)nQFWZJ&(+qer)l1{oy{3Zp~1OQfYkX#_Vy z21qF)A&7K$Nk}6CDj+2S5{gPIB1rk2`M&RWU0j!c2-~w~&pGG5fA=p$E%9XET0gb% zIk_M50c@@}z?ipU?vt2r%#^+5Va(@VqDR!FO7!I}gKEeos1htabEkfQ>isB-B7H#W z(^o<>+T?SsKDIR{4bGG0)Q$@hdJ#9RVX?o&e1G%X8FHluTkI>*BC#E`@I;@q2cbH# zG1VT0i;sF2=;@6aDO}`K_x&F-!>q1Yvmt-Q;Vk(V1Kh{@j62xfu~XUVXIAFkyy4 z#H?lMd<4M7n+x_C7vl#ukXIZUB;L=jb&*-=H7d-{)p2eRyDi3070p{SAgratD+xn6 z=(MQh`zH5|u;!@Hn1Lgzi^PWltS_UYIth%v&0p({PY~iS$mEhz2>e!{K^V-a9u&h8 z3!j#|5V9YZJ7S3 zY^ix*)os5sJ}DK(9Pxoikn<{s26SuEI!clCRlM_Gx zCs{&9KAwuB(sYd507{feRW0PO3fHZNLZXLWqAtLm+^UAh8$Qx+#;vGgT_Ikq%`EXR z{xHB?cv^XC%}Ig=I7mfJ>lXtzr*;0W{9Qgq>>cP`H<<2bhCcc2Cy>MFB@<$mB1>RMe<6eN1Y$uBAB(v@9Lj>yQN zI6{_5ToH)z{-Yt4=ek*WVWx2s>6^|SpizU=}z zQ*rH{?st^8EpKD#X36CIRAe|CusF=k?S~``+c|2BgKsY2M|ps|Z+pwWzk^3d#hVyK zgP>3$>W7vEU)O^z#1mbG!JTLv`Y<2qPclQWS!!J{bwpGzn@_a(qi5~;T-MD?^eY4&K2*x!?flb z=It+Oq5WcM&BphtE6L$5>}hCTJ(odw+;^%5gj^_bHu+hGqFpAU9d=KvSXMG7I8BQM ztF+G$TV-l}oqIAt1{1) zzMYhe^N<_~g679;5Tg+~t zLwmaR{}zZDCMGn#T?=pdczSK6aZ9UPb9iZ)U;Ype=+NGhg`SJob2sqVYO;c z6)FQMsd{1*rDl0>oESspMj;g=TvE{E6Wh3#D|ci^Dl<#(fsTEGK!T09B(V^qEu*)8 zq((qr_&fbF#YH4sCYp_wY`IGtxP z+6_tH2fJts4?Cat31qzhd23B*QnJNkHXl9NwgQsSCaWuRCsNTWn?E9=@@lC1iIyoE zsrqtYxmj`?Y$_i>dQ7+NBV5hvSWFOvW=59`C#d?Vn@X1Nv%~!e+D2w%GRxv)hx9br zayZ2c@(h1m;KJ0zX^}&-#$~m*(v+@#k4s(%bD@9e5_O9xMWwj&y$$S z@%#W|i|zp5Vl6A-L7mHvw&GcbVPAzrTt7`>pAa^3=u}5{MN7YKcy;OH$i%_&L&ONU z*KaT@)9#2Mh8tPq?IbWgKY;me;-TRfV#=v#s0GR0cCMEYU)_09jF5zHE6o2@e*_Q@ zkX@rFr8ofQ)AR0+d^h)3d29o#9x&qS8%P@s#P>TWBs)%giZSIE%w;>zKe2LE)@q_C zqJnNUOtQ?xUwN5QjM|S*BlJxtB8{(Ky(*NsNe3>4pkl`%rIHk0OgOMA<}ad(C8srb zDnmY1$F)pY2oV|w{F?V`+K2VulLDRV^+2?G9Fx7(X0`!@M(J*8Rslxv(5y~xT?lzu zGGkV8tu0iRlY4iPcF*;|WvQUrV7#7QY22!+R~WjtRePh;<{4e}gg!J54*w|VuL)fY zU)eDIjochcV%k#E{M;T|-)~KIoHm$#h@TD(lc->us~SV2Kw|OXs(%3a6+YwvtzMek z1F8>C5%rXgYx+%WZEp)}i!g$TSD#&neup26(6Y6tmwA!yUCzM_>T^rPev+rKCL?az zYgVAYMt6MHNK=6EcOUeRBDBj`c^F%*EvG{hKiFr2)LZ$k4-`C=d*2oH}ld-h3vTm5o|Q(4vzbG;#GqM zU^jVURF8I-iYfy(gUH}z_hXW|fb&;Q54X_g==2C2 z0iI~2t~dd9r{HU`)%oIM_aJTE^trh_G#?BGjdrE6{>_Z*FdUIOPvt?@vMO7w#zVO& z9hcSco!A9zjf~i8*5{JbW4Ei()l_=#a_;l*RVYHpa2@Y3WWSz43!yP1qM)+Ph(_D> zVcxc9bPEbzL*2;KmDrirCLuLK%gG6Pn_K}Dg4dxxJV7x79Q^riPbz-@Zu4xnRxTPM z&9swAKdab*Dq)LQHWz`mI=`(ZhyST(k#GFsc*B~K=tfo}w{1$e4;&ZI*=4v&;`(*z zXjVCfdeJb*UQ9u}n>}M*7rd?%>}=7#@~&qv11#o&Bw@+>@z7;c4QMH@_3)1?SoZv? zwv-Pf)94Wag62o8WVp=~kqAww22J_cnq-1QuT}f!OnMpFXuHgxcDeM@A%E;>_i4qc z_nHqc0pp~^k*)I?%bVZ5RVfN<_t@@33tu|F%YTGsgq<0T*6L>Fw?{+l#umOJpYWlc zT4@)gfG_v1W*)RK#V>9nvJ|tz4(8bPD!qQILY=!|9bXo{B~7PmisM4-KcsYRt|d%` zrElCBRWC4s_FIUv5~*jG`pfu~U`Fl>d+}jA5b)cUmy1HRFEbaXn#)bR6TUR+sZud^ znsPp#ie}^@27C0HO#SsIqHoHj*HSeg>7QVMhronC7N#9>+K=?K)OxbRjrAslS#yjw z9uFRgjsmm(jI&Fc<6pdWk{>ib3oRHk;ZYCsn}M%fbCQgCY7XJ5A28AQLnI@88#e|3 z@LEPO`*CJm<(pry^XC|Cf}|%8F={aHG6ub=mPQ+nDL63`RlxNtGCFmK!_`uaLfOAQ zfKq=`7YT^F#E+nbwWcDSQKo2@SDDg}&=xSg>w(MhVMNv(6LVc3X@}HnA*adVlzgYSqzJ4}ywN>d_$h8Ul4xsZ5j_WD7Ty=JTJ1dm;<`eSa~ zwx-?EX76)oy%F_}sF;vii2I<3aLJ8MyO$ISXfv9@cfa+29=v+FnT8$_xAt{F2PpyR z(YQP7DO1AdXR4vYSoX9V@9@3!@E+6u3hRX_(|+nqD2yYQ+pm)gI<4 zZ--sr*)u!LIOLO(E+>wM9efGy7>#9m#Gh2EXWIDXISC_UKuo?#dKnGn&M}^;D^J3N z{+iTMi~k9ZtE6kw#zDE^ndtv<0fuTvu;gIm{_4I>15jo1cJxesXA6hNzx;Wo_EkU9o=}=ZbPzvP1)O(`No%-&9Pzk3SuaaK!AmT;Z z`=JtHKV1s%q@mM7>w~xhY=qTjsBho#zg(}wheSrNo(HT?pZN{NNOiu)Ky-t4s}(3Y z?W6Ojn-WTx5I~4raY=p{J$(mSG-u9)z>_WdYh@YR0Z}0&lB8oLU-{4HN1nYH2t9%* zHRjWL3<@G+GQi(*Mf~_fA89|oyc$6vBpNa#%(@W#y>R*=pJ(4w`8Nw6zpunRwuuZ% zOd!^p)Ld-%0K=03+%;3YS;`k2K1KSKVMd}oUu+g*1m{8@w*XRdt~K_8*2YrOxP%lAX3pvK3DZ^SrE?;h9-f{Ki#{o> zsOqJCX>hcZK66%TEjts>vrD*isG|pA>wJYmCg@}FLJTfn&b%iYTDZxxt@&3FxyVei z=gWG*DR9lpWRBN{Ws$|Nb?^q%xbXS9TkiMa++7`+a6*X&hh4i*p$P^cpJbipab*m& zU-GFOn(8aMU;=7f@gl!mk{*%Z|6?r!rU#)hBQotOjb%HK@k8G+3!jy$)oH#m$WCEz zVGGqrxQ|?k`av5Q;AtS7gdnUE)dQXAHis_6_~W}eH;%dvfbSvX$fHH|hTa~@L7^fp zchzOqKL=TpH7fAF&QTXulW`uhsnSATjxe#vywA(~eU08=?Dq>r@cl?#GpG~{RM%a2 zpdSTwTJ8$d*I+$>66k9*HE%RcdyV z=st&g-d4^nV54S3jA6!g1Y4ILc_S#t*9J4{W%f4}Kz^Qa&A~2jNiw_)gX6xDIwyqO zlz6LgG)0e?)9bQ7+@9&I(4j|sNKX0Q>1D(55J%j>=PIjI{URJTdYSc1lY8Vc)+?Ph zxW&FZ^k>khkR1;5EqXxp!9(7N`(dB{yU|zw<&{7*ql=%C^1V!k77oT(7M7Z#=Q*qE z@5FRLA>0I?7{GMY_@Tz@I*sNl^PB>+R*_J1T1u572Kvx9p$UNpiXjlkg9%PDTwsiS zOQ#^RQl`-Nw?Hi>OZxP@l&al71(z%J_=@bqu3YV?uZpn4nCQM48n;e60V9%01V8^> z>Pj|obj91eu$Sr&USEgM5YmbTh0X#r5=ls|qXU^uH9UGk@*yq~ba-)+HM*#JQfbi4`4;wkO8JNnxI z?xXcjL%S1~uqNIw;7Uw<(i@p~pE|@pHp#{)M&YTXoSx28y}r_0$JTf8&C9j z^cDQ-=Cvfhr(w zt?tdh0Bq2F{nh2Og5Ee%Wx-}N%#d1=+|)*Pw*0jKdDI`-ir)QMv1p!@8SZ3c;wJS? z0SLHJ;(wpVPoFW}G$Xga+rYxyA^1hoa8s23G8b}OEI6Mq{T?in zc|)AAX}aQXdo1=+;z;jaK&&d_akYB-xv@jCE4TRH<%pS6*+ul^%6x%F0;yEnHv;dw z`5zvvH;N+rsfZh|EwAn*LoT|1gDKGdeC^Jn!2XG2{2yYqqAwh6 z3%WBxhm~7JUkbCt*WbFm$#ErmZVqugY1wdmc@A=Jq+w)m;XBWp9}m(XEbRi~I@}f; zDa2gK3Po+u$YD6P26Qz=Zbu-o#DF7Ukj4|(f}nQp>U{Kn{X6coTV>i&RF59vk#GQz zM+jn{jyg~Cfe}aBq6wkR$>&F~FM?R2J6|iQ?eEwr$;imw+yk~&&riP9IZ&>09wD2bQ@j0Hv*ceeCBW?PxNuVX2 z#`K=9zp5fKR9@{l5^`GxQw9D|Qq zLJxE}euYh5w7qot8ha15xFm9>Bk<9%t{y@noUbJ>t?fc<{#6zFyLW zINsA%zv^AzNBoZ!+#Mlyu&(t20M|1>99*@Yj0njn9?!pKOHvWMvtS;yw|wI@S6J9w z`sc9QK48X0LbImi;z-L>3Jf`}<5hZZio&SzQ-NkA*z|s>+~QCu#~;TsocHv?SrG2D zlww^I+~pjp!ZuP_H)M!l&PaFc$jXk<+sjobB*eZjP z1(!$qIrsDM=ihTtuW)NO5B7ON+nS#zZ@-E5wf1eLHtb z@r35{j%0<#{BC-LHJ#fzC@wun(RwS>-wUQZdI`>_I=pJLf75gs3Yqgyu5gHdwBD;8 zMi(?ZEaBeLqlfPfauda=Odm$w1P2AjJsLQEW<*txc?BS_hafD-Yij^7oGT50emV%G zqImqM2dP9AAoDDEN|r3PZ+~@Q1`t(C!SKCqDbN2L10kIL@rtu%H8dTV>%{6Ex@gyOeo?i}j^_kh%0x zUdYonsljh4E!ROy=_Qg>jsuhVsa<6OUG(_rFH;bb?!LF{!?@#ycb+7ErHx!)!%YkVS_%#juSc-u^&aEJjv|L`4 zs$_HX1l;m+KucEZzBt+1#FG}unMA!CoqDGxDoh1}zLz}N%&4z>c~Y4p;jB3j^f}!= z6IwXY2IVw>@}{Ms*(I=-dwPBhdw!Ae2~@DkbcG>V-3)U}Gf{TsFE7@T7_IDX8(#Jt z2kCY7CcxT6(^lBq#VZ_`piI|x?p6jb2521uV-%h=zS;pOoXCT@NVm$|BC$igXW8>h z=-jFeDtJ8;j4Zf!OJ2_Lg;^|;90DrcZi)UJ(Vy346=Qp=poEI&{Y4BX7*r}ihT2po zfY>!7fv5h_7ZItKu1y1peRb0nJaL&4Pz28b(RQM)&m;ik9(g_g0m#T+*9Sbx@=8Sz zq0~wsV??2fZoDF5_eI%bg>BmXI+0`yhTz(9!Lx5HeqP8%KGJ{?iw60~`hLr>4l@uByDn4mg3>%0AAkEW^a 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 Date: Thu, 13 Feb 2025 11:12:49 -0800 Subject: [PATCH 2/2] Add link --- docs/docs/concepts/index.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/docs/concepts/index.md b/docs/docs/concepts/index.md index e5bc1ae7e..87032f5fa 100644 --- a/docs/docs/concepts/index.md +++ b/docs/docs/concepts/index.md @@ -26,8 +26,8 @@ The conceptual guide does not cover step-by-step instructions or specific implem - [Human-in-the-Loop](human_in_the_loop.md): Explains different ways of integrating human feedback into a LangGraph application. - [Time Travel](time-travel.md): Time travel allows you to replay past actions in your LangGraph application to explore alternative paths and debug issues. - [Persistence](persistence.md): LangGraph has a built-in persistence layer, implemented through checkpointers. This persistence layer helps to support powerful capabilities like human-in-the-loop, memory, time travel, and fault-tolerance. -- [Memory](memory.md): Memory in AI applications refers to the ability to process, store, and effectively recall information from past interactions. With memory, your agents can learn from feedback and adapt to users' preferences. -- [Streaming](streaming.md): Streaming is crucial for enhancing the responsiveness of applications built on LLMs. By displaying output progressively, even before a complete response is ready, streaming significantly improves user experience (UX), particularly when dealing with the latency of LLMs. +- [Memory](memory.md): Memory in AI applications refers to the ability to process, store, and effectively recall information from past interactions. With memory, your agents can learn from feedback and adapt to users' preferences. +- [Streaming](streaming.md): Streaming is crucial for enhancing the responsiveness of applications built on LLMs. By displaying output progressively, even before a complete response is ready, streaming significantly improves user experience (UX), particularly when dealing with the latency of LLMs. - [Functional API (beta)](functional_api.md): An alternative to [Graph API (StateGraph)](low_level.md#stategraph) for development in LangGraph. - [FAQ](faq.md): Frequently asked questions about LangGraph. @@ -37,7 +37,6 @@ LangGraph Platform is a commercial solution for deploying agentic applications i The LangGraph Platform offers a few different deployment options described in the [deployment options guide](./deployment_options.md). - !!! tip * LangGraph is an MIT-licensed open-source library, which we are committed to maintaining and growing for the community. @@ -46,6 +45,7 @@ The LangGraph Platform offers a few different deployment options described in th ### High Level - [Why LangGraph Platform?](./langgraph_platform.md): The LangGraph platform is an opinionated way to deploy and manage LangGraph applications. This guide provides an overview of the key features and concepts behind LangGraph Platform. +- [Platform Architecture](./platform_architecture.md): A high-level overview of the architecture of the LangGraph Platform. - [Deployment Options](./deployment_options.md): LangGraph Platform offers four deployment options: [Self-Hosted Lite](./self_hosted.md#self-hosted-lite), [Self-Hosted Enterprise](./self_hosted.md#self-hosted-enterprise), [bring your own cloud (BYOC)](./bring_your_own_cloud.md), and [Cloud SaaS](./langgraph_cloud.md). This guide explains the differences between these options, and which Plans they are available on. - [Plans](./plans.md): LangGraph Platforms offer three different plans: Developer, Plus, Enterprise. This guide explains the differences between these options, what deployment options are available for each, and how to sign up for each one. - [Template Applications](./template_applications.md): Reference applications designed to help you get started quickly when building with LangGraph. @@ -54,7 +54,7 @@ The LangGraph Platform offers a few different deployment options described in th The LangGraph Platform comprises several components that work together to support the deployment and management of LangGraph applications: -- [LangGraph Server](./langgraph_server.md): The LangGraph Server is designed to support a wide range of agentic application use cases, from background processing to real-time interactions. +- [LangGraph Server](./langgraph_server.md): The LangGraph Server is designed to support a wide range of agentic application use cases, from background processing to real-time interactions. - [LangGraph Studio](./langgraph_studio.md): LangGraph Studio is a specialized IDE that can connect to a LangGraph Server to enable visualization, interaction, and debugging of the application locally. - [LangGraph CLI](./langgraph_cli.md): LangGraph CLI is a command-line interface that helps to interact with a local LangGraph - [Python/JS SDK](./sdk.md): The Python/JS SDK provides a programmatic way to interact with deployed LangGraph Applications. @@ -71,8 +71,7 @@ The LangGraph Platform comprises several components that work together to suppor ### Deployment Options - - [Self-Hosted Lite](./self_hosted.md): A free (up to 1 million nodes executed per year), limited version of LangGraph Platform that you can run locally or in a self-hosted manner - [Cloud SaaS](./langgraph_cloud.md): Hosted as part of LangSmith. - [Bring Your Own Cloud](./bring_your_own_cloud.md): We manage the infrastructure, so you don't have to, but the infrastructure all runs within your cloud. -- [Self-Hosted Enterprise](./self_hosted.md): Completely managed by you. \ No newline at end of file +- [Self-Hosted Enterprise](./self_hosted.md): Completely managed by you.