From dea4431c876a11912f6e7acd5b4421fb7f80c646 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Tue, 1 Mar 2022 21:07:22 +0800 Subject: [PATCH] 0.10.1 --- Plugins.meta | 8 + Plugins/LC.Google.Protobuf.dll | Bin 0 -> 358912 bytes Plugins/LC.Google.Protobuf.dll.meta | 33 + Plugins/LC.Google.Protobuf.pdb | Bin 0 -> 142288 bytes Plugins/LC.Google.Protobuf.pdb.meta | 7 + Plugins/LC.Google.Protobuf.xml | 9125 +++++++++++++++++++++++++++ Plugins/LC.Google.Protobuf.xml.meta | 7 + Plugins/LiveQuery.deps.json | 111 + Plugins/LiveQuery.deps.json.meta | 7 + Plugins/LiveQuery.dll | Bin 0 -> 22016 bytes Plugins/LiveQuery.dll.meta | 33 + Plugins/LiveQuery.pdb | Bin 0 -> 12244 bytes Plugins/LiveQuery.pdb.meta | 7 + Plugins/Realtime.dll | Bin 0 -> 298496 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105380 bytes Plugins/Realtime.pdb.meta | 7 + Plugins/link.xml | 10 + Plugins/link.xml.meta | 7 + package.json | 16 + package.json.meta | 7 + 21 files changed, 9418 insertions(+) create mode 100644 Plugins.meta create mode 100644 Plugins/LC.Google.Protobuf.dll create mode 100644 Plugins/LC.Google.Protobuf.dll.meta create mode 100644 Plugins/LC.Google.Protobuf.pdb create mode 100644 Plugins/LC.Google.Protobuf.pdb.meta create mode 100644 Plugins/LC.Google.Protobuf.xml create mode 100644 Plugins/LC.Google.Protobuf.xml.meta create mode 100644 Plugins/LiveQuery.deps.json create mode 100644 Plugins/LiveQuery.deps.json.meta create mode 100644 Plugins/LiveQuery.dll create mode 100644 Plugins/LiveQuery.dll.meta create mode 100644 Plugins/LiveQuery.pdb create mode 100644 Plugins/LiveQuery.pdb.meta create mode 100644 Plugins/Realtime.dll create mode 100644 Plugins/Realtime.dll.meta create mode 100644 Plugins/Realtime.pdb create mode 100644 Plugins/Realtime.pdb.meta create mode 100644 Plugins/link.xml create mode 100644 Plugins/link.xml.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/Plugins.meta b/Plugins.meta new file mode 100644 index 0000000..eb16607 --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e96d901bac9bf48a0a27051e2325c098 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.dll b/Plugins/LC.Google.Protobuf.dll new file mode 100644 index 0000000000000000000000000000000000000000..ec9ab1ee5889e559f93d86ad0019da7748d77ca3 GIT binary patch literal 358912 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 AQJgy6Z@UBW!NL zg$RWsJwUi^B|+O(5(1@OWK|}BCn2+7gAjv_GsrBKZ+10i`4$RA?4DKF7jx28bRYl- z5*I=M7krE?h|VWzjEQSL)y=<#HUG1y5XMY%>nVG4L;eVcZ2L)e?S`GL(Vtgyrn#-- zxk56v)t%#X<95rl_&F22_`M?;$d)Z#t?+wCi9WrO-0jN5pxq)lNSAB&tks;r_}wDe z(K<-rUDm<#!5jaADB}zZLAqZQ))oQ@tA==?81DsPnU2ER+Cd=W@g>NLTI z54z9<;UxQ*E@(G_R_55}rh)elEz5oQ8B z+nGxgg>YmB5a#L#(bZkaF5#}&dW@?R3PmI)PbL5e64Pydoorr53i2Nxb$m7Wv#U{z zA3Z~w`Lk$+kW9@Xk)mTab!B4Kv20$7W8WWrOmKS$63u*+u2#5UpQIJh6M)BY8w6Oo zWa6r+3r!u0W1QzuXy)OwQ!U5sgjSnN;0IetQP}CPsiZsg1L9jpGtK*;fhpb1=UUhg4 zsE4t}Mw~jk7C4inQyN_aCZ-0X)PgKt!x6Ec1JDQOcx4aH?U{_LHss9S*f+EJ%oh5@ zh2}H+#wRXZ48&gfq=bycM#!n`=jPxI2v(lg#5|i5a|tKr$2c)L-x}s2^?-S}0khmZ z?Dg~THuQwakigKES2skhG%S&wZ%cvUFNp4-Ai@z=v3lXi`vAMBgJ3)v9}_|)KlgkY|C%qnOy`k}KzND8ueM{xkWL!f^1+UGn==`8 z&JPj)Dta(W;EGB9^++8oA-WeuLBy`YSmWpe7IQ!YP-;_027-Rr-@eE-cRt9ulYXmK zO>Ei_%%%;y=a*r|b&Lg0eR6?Ir_C*RbZnKT&AFU5`*YeHz-goD(OWBnHvRjg!t0n1 z{LAjnMY;*rovd^>!)EMn_xmnU-kVH5fY*J=*~(`m#RGZ0PEu1oGkH@v?#?9#p&+{> z>A#ZE-|BBT;<*KPH|{$aUHT@%n0sKjm$!3T@#+6nv1b&s#!>vu|Ef5BbeFW^KmJ$6 z-cg+UI*LvBfx>s?v2S#7TCwYYRh%)3S?DNk_`fQyGm1}IxQYw^SH+p5yQLLB@INZ% zzLP5T_tpkz1v^LIf&?1xCE^>oI8|g)a=zC2oZJRVIK3k(t{gM7Q@nYouE8 zZLFz~LVA9j#rS4Ao+k+P$!+%(^`pRtG1Kf(a8Y-CxXldb4Azg-f3d;(vRou{(`T|p zXD%$A&q|Xsxhw+XT-GZ=)JO#GsMViAiO!km&QXCoB9YV`$=_}4_@O^)B;_ANZsfo_ zoZp#~X>3AALrnA-5;zZar_`JWugm5;=AmEt4!mpCs&|%E+1v&}1-hGodl5^$0^haz zwYB?AVhn3 z)*7jn?143951P(6f*4~D%k^pio{NM%FpZajH`^AIrt2eT4>%i1?ST!}!?kQ7qZH%& zQ?dn8kS!1xXA5}gE+YUtnCR_5e0)}RAPTSp@shib$X`$~K4=FSnPRDrJHN(`y$QH? z?XucbKd&M@Mnm3?(TpVS)k|AO>?5%s@}`u{lf zFU9xP@P2E9{?mh=mq8`3|KE|va0G9$7OPAE<4oJ>pAhx`duyax(m!iT|MJp*W-%VT zP5nU-{Sl}zW@%FG|IiP{oH(#fMVG(rs^TAv?%T@pPN|Pf*FL z_+Ml&92r9WDigq4ATyUwh$?>58mX34%$icM*4KAf+^FKWfWk{TNKM70#w%8(h@={H{E~Eh8FhR(b^HnHSjz3KZOIOD zI!?Dh{0Zs2j$3dIy>5g0RVIM9LS{N9L>;$UBh`|QSyMVzXf%n%jXG`zDvX($j!DT; zZqzYCPt9Xim5vEy8~Z@qNXI0xCLOC~PRG1bvy&8FlK5xCM8F? zQOCHiA|11;bWDIc{v<}jdCZp5F@ZJdSS@op=5>4_W`%1D9jo^>>sYO&V?xofejYb= zJ4VN9L>;TmI%o(Ts}mERbj<5_(XpzUjtNS~*x;8Ul4{T~R#xcv8tV8{)bUZ&v6S0e z+mRjQbUefBm_L=C*KwH)h9mDs{VEf{J0UY26QYhQ)=0IaW7d?8wIRVH-eYw<2oyd_ zj?{EaN{(`)j!$x8!0CfzpO2=#|9TQlSj@2@!V_v(v%4!Q8t9P&CpfD%59;>x` zrLVE8F?v-+>Xkq=7YXz#!X_~3mDlg0S5-B=5|mzbOOB)(^!i)rbtUzBH1!%&uTp4l zZ5MWs)9X53uUmjhdPMa>)XF06A@UlI5Ls18IPw9&reZ==@s@0l(R9+-r|b31_~$cNVB6Qb>TWPjoaDO0w;T(Be6wxj-;y$ml=Rl1dcw>0h0RJO2U!d0Gm+|qEYO|_Am-o$c&;N_cGK*9zX{Od$MAqQS1&B zKDdlD_w!dI>^gEr!MHqc6Ks(E$d#_VO|Y?Sg20+=B5Rws31Kgg&ld&QgxK)@pwT8W z8nOvqM#J9mH*zq>CbE{a2{qgUtzi@D&crL5;Pt!Pgld~j5R^^e#tOb$4QdTGfn5@8 z;zrs;LYo+-O~@D)nWFIq|A*Pv9Q>Yqv@O(T5cWV00$m3k0^(MBXbSD0LIQnI;qE*(cpP0gr!yk7O+b*-bqu3H3 zkLI-#km#dpc)hA^b?HQ;!+1xkZFZd{5yI4p$ks-P9PFM`vx+CPVpSDc5-mnW_k&aE z2r#~)zB_Z~dl(;9R6oA8ZG7$ckzo$ek#z&W;5iU{C5`;Yry$v)9c}G;VzISVxbFSp zdaiAJ3|3Qq=PEuG*wKmp&~N@n@H4Wf0mW~X#h)R7pI$ugi0*CggS5D z?AY17M)LYt-PG33*7zt4WMG|Qr-w06Z221cPZcn)>)a{0J6I=|xV^I{v#A?*7gl#* zB>0)vFQ^1fu>WxSq|Jgt14WY>@LdS>!{ z&=MRx;yoVJ0V+7|@wa{)8}7lCuq% zniP)^W?E7+VD02h1GR{eIqZ|dOix}gpf_3aDPj7OpBOMB`Os0qtdl%u zz|3U(qlM{DzG1+uWV2Y9b(1>{ST89r7iRtBIs-OHW*#HV?Br4d<|I=RVKz+8F(67x z!@|5TsT)vE-ZG$)9DA&a29m!RFqnMeIAP`{FBz~=vj6eIY@9r6z$VEaCkQhydE9{c z$&Q~EX4B*$0~RC;PZVae$bHePK{LX;=lBH)0vn2VY0Ut~D`n)jv zCr=n~K(fm@!W@`9Y`{UumgfqyH2InV2PYe!C(N?sW&=K+Z14qP4oR*y;LxP!d|?ht zE;Qiqq~ii%K9QVhz!6E|LSc?fPBP$=$v+JERC4r1Dmp6pg8@e;%f2W~oIGd1@?@Wj zg*he}H6TeAUn0zK@`wS)CR=|=nB$WB4LClTcd0NZB)1yy>157j!kn0_FyN%5_i|xI zk}n!?ax&=(VXDbl2Go+^N?}e(P8Kk$4iA*PVeqMhmtVySvv7n}NM11*+u%ZS$koDQ zyHrS48H{DKknDSn@K|CB$$EQkt|gN*l3B{LR{%HFHJI3g0LILk!sML9It%*n|a-%cw*GuZo3i<(>L=P8fF4^A8VUF`jK>m-_7fz=J;}- zQ^T8od!-eBNl~J-J(XZ}JW0eaREbXV^=RxZi4TN9Nv!O!e^sYi6%S zuI&egrEwI`OxY+QG&hF6(Y;gFrZ(kx|-|B&Vuv(fxaV`*P+e?z+2%`>m;-!_V;bQ~`igJS>M-X4xulkVg^Rbl(3XrE(4M?uKu6MX9clDWOv(mKN){WiR&t~P zlatd7=uB1^FeQ1wfT_vL1|W!$rKN8b?qnqc^?CI-WR+C!Ji!d!ysj>5iS`{gXxyOluy6nyG27a4Z@tU{Qk04Q{Q`gVL7g zqGjrTtVQ?u7L!MprY&xIPc1q}4^CTrFVCIt<7?v5bC;^MZw)e;GP*3K^)hIU`(4?e zJ6dllpPuyIKsEO!TPp8!U$2~z?8R#cBJ~M)T+GS(@w`t+)UG=@)7AIisnk!D&+eZ( z`tg*X4txPP)zQ^s>93R0e-ZRkbG*~he?WOp@`&>3$;--nlhRj=&oTW@8$BfLcSgS7 z&0PI-TzK@-jq7dn+v}&h?{`<$htFK5e7Y@Ena8k6kb8zhJE7j%N4O!{IXVhUO5-ye z%Yngp&+uolv#Wj-wcNSU4MCKk2&}8~y^4IyH)KKrv{Ga5P`3 zbHv#C?#nEv>GbK0I@LkhBErz0`^|u5Xb=pa51Q3OGw>4vFCg}l0xu+Zw7`o9;+O%= zzDV#`g7(x0>Ho>ok4{6Eu%P`>US$IKAi_)lvuFD}fOrT;*nfO6Ns5zjgj^Ux{DdRq zCBB3;#8o&#j^Zy7A>P6f@)ci7gg6XG$X$FH5#lo(IUWf2m?pvaax6DhLSX6BSsB5& z6LYmn2xTM4s!Rayhs@>xAym+UgMZSEflW zY)6@>-GSrVv5f7Q`*y-%&QWxndz2V+3W_=9!<=GaPH8Zw5SVkoy1^p=2#!(+0pN&3 z6-Otrq;VuHBS*|VN5b*ufwmM^Q689QK>-V={u&s%JVkQo&So+s<>2h*inJz$;%w*26iEp=`?)GbQe4i4uJ*|2i{g`M_AG65 ziI7Zl$V-J}ni~;K#+i^i8kd}2ft1YW;Y}B`pqGm%A?M}rih{>dMBewA31nBAL@VSi z;X5^h(ko4$^h$Flz0$-~3t{bGcF_rC*(3;SM-p+35K?>%CyQW0 z2r0d`oQP|Mkiu)jM648o^MlVIZ|@)Wk`U|}WKI>9E%s#+g_X%fYlo1~mqkeCSvx#M zn5fWtnQtwT*-$7aE?Tmc?EXbJWJDX`^F^`|-MY{;T8(2> z&c)m$M9#e!BIjCeR*jrnxkZSaOSx5uoIAM<2wRN!q&TgNPl{iP#VER%9Ob-B{5r6< zII%9Rj&;|<;uL*Jbt$wkmi0{sHjFh5IYf!=GFEcNWNVjV6dISsC=Wqqj8PWeLIdkx zv|ty0h@%%rF+-OYh?z2Ut@7TXn~_&y{#rL)fn9ItE}_dq-y(Wnz9aiXVHOSjf|#94 z{d~fKpPB4>*7Hg4Mc9y=4a5xfoBR-koq}+3R2GzcrON9 z{er-+5xh{~eFVQGa1z1G30ml?z8>>^MK^*21bTH;s4@Y}o-L9T58(*=H-tC|N63YR zr{X6ZAukr5iYxqL9Rq$@orty4 zk%S{vAS^H?gcWx9CW;c_90#Fr?i3a@hI1@qILF+FbHX7m5P z2g01JDvlHY1es<5dDZSvr@aqI!;BCA>SW#!AKrrEFlL$yoXCn(LmG^UFQWPENXv@0N7BVg0 zg3K#^Bj8&=srmTrrv>{9B8>!rP5O$qMr47FbXYr$WGudts%mEuVKJK2RQtR-f=JE6 z!rFO6JR}5#5Z2Bh!f4Rc7>6zLk(35zahP;jyMUFyrPdr~Si6LXZwtYZhPBIxu&`01 zMerq+xf26>uID8T(Z^pJr9u;#X%=U3h&DotdJtWZV`Df)aojfSG^papZQyB8MJ?LU zzXM(spm9Jpo`;2U`V=R!P8U3(TMpGm`d#0egSD|*5NM;!bo*BN5;>n^dfDmJo`uqg zx&COtx59YLJl&jRL}NpB^U)BwxoBZhZXQ~gl$(Q(h(>PyeGdq8iVS_IXofyeLMi$h z8OTk`xEEL(w40LO7d7eET%|%gr&#lq3WTU=oQ;Hqy%1C=4%!X?W1J{`Dg6+>l)jt+ zP4C=O82Ow_Tj(z>!1!#_k)XE=~R@XPC5qwqp~7CO*jAh^g7oc)MdvUr3Z1OZAGkI;i4K;iwpXb*-T z^dSA)N4$9z;f$hEr&GYEOn4(N!lG2E(<$`tY2Ra`Kj5-;74zQO70hzyYUwKxk3dyC zLH!X%P+fsqE}nQLh`vt)4M&KKf1DQMhvk8=MVb(5u#X702rE_fhE@AfQbq4sink z8?%hDF>@aq3wI!XXC1iig9e%djj>$2k#(2A5LB?#2}5JYuSmM;T{!vO-qq<}eUK{g z_odjTN5m+fa_yEpv7VHe3LUYYgBpmv(@3mW#3w>j4%P0S@$Fc~cFcV{;n0ryR=fMgw__RGG576+a}u1XLDNdg zwFj7bb<9i$twJ~GnT><~S2k!Gmzek_sWc9nWn_Z6XF@o5Y#N^SKLVDSUi&ADEgE9E z_At`}17DKzrP9qjx{vauu17@Lv5MLGy1(Djuzz|1mL0}Sv;9-_vXD&msz&q& zT{E@oKkJ&QUB9Mlra2=25Rz#Q`KFLebIAV)$<)Xdz;YNf%~dK2$u!$lMI|Abs-nT-~*HzW8+(^KhP$NgKW4u@p^;eamAhn-sg6STaW8{`zFU&Z@6{wh?bRX;31#V7yM|_Ek}b;8 zk4sXflFUry%{-T)OM=2#+l%*fpqKsXc1dFnHej6tNTYnNH%F->K1gbKV56aRb zddW%Kzeu7+*)EZgTtXPjFwej5 z9~NLr=^jzi)y_;)(H~!%WeQKRrSBA)VG2)?r62l=BsJkFt_&}U39nh2(wF9h*F;V6 zlA`dMt0`Vm5}xA8_>qK!*R=KZP2$39=BCH>l3KAeodKF8lv<$=#VnSZ?Cj6>m68(o zl@ij6;2?};U&Kj3zZFh)MVy55N8uzH;v|??g_Bf>lTiL9oFqb=1oBVeBn{#ujDHI! zNf0MNyd#{XK%9gy0Y+d!2Y00O^4yU|jHH@S6hstB7|RA10~^MY3ft3uqGncdh9e=_ zmm4T9?Ll{eY#3)QTtGwWj}}zYJ!rx`XsxmrK1w;nXF~CVYC|wr)*AXE^2#FYH+kGX zZ|EYS7Y$veeEXqmSln0Y-(^T=PS}QigC(+W9o~DEEPN$53-3VPqi95f^^qheJ-%Z(UYMA3lB2ev5qMEg)QW!4 zN1Ra~**kWWt`D*oJ>>VDp9EX{tNm5+@Pmwpf5v$D=ZuFL^d=DY@;c+ct~$fG?mFYI z?m7b}D`W6u5W^XR7@&038E4ovV}-8z!$=WJKf){*OQ&z&P6Lm0$J=3lWo!7h;*PO& z7p)^4c?@laI_7dno>V@gs5KN>zOzD z`o)fK-j5Y^`9z5!^_8M5yd>d$rKn}RH~L5H-t=ewQIzRFM7S3MFr%RVA$9tned&K@ zq9};iO&E*+Wx!%$i*cpqYj`bRgYBj5X&b*UrTXRw2xi}xV&A+eHLh1oRCUOS>Zjk} zE#*sUuW70aH9A%MyE5OXufJP%}rKz>g4c(uPF|k zEGDN&j^D|{rnP(pCP6x{@d}{LYjWe~stwp(*{C(k$wyX4idf0tUW~{FJe%R6;w`t+Ey%?Ly%Z%&$9AMs!W!`+AoN( zTL|Qa;i1HmJ-@*hJpBCwaU;JV^*DclsGY1BC%*x4hElWv`{JYYlO6Dr5#!@!RYhyE zVx0H`e(}OUOd@*AAMkS@fZ^!R{ERrFpAkbFK?TN)vz6bX3!5->JmiUvXE`0urmUMY zq4+d99@(rjpWkJ2vT5Xw;w2!PM>=rhwLOz?8#q%ObUA=D1RD2k*pKmdLHKQ0Q8K4R z5I+LqLKhCCfv-yhL__!T5|db>pN2Au=Wxwi#}(SbaMqXFU+o9{V92N6Ld!zuQg5J8>x zg}CBZ%yP~${W8FIAVbs7d?Eci|AJ@-YA76e9&M{k0KY((3EM`>Y>fieC`-JMu4cgKF|%rxAFGkQGTpZYWPEPp0Z z`uN92D?GbP_m(zT;U(2HE>drFR~l~Wt}xE9!1aWG=C9Nv{gpa=Kd6VX#z>qx`yg@F z6DBjqNSAd!UDoa>3L?X}nCKOUj~_!IrdpXop70L*`Iu65NlWqNDBBd0mP zkbWFu3A)9M9DWsztFNM#cM-B3+zQiQ5bck8nB%XYMwJO**5=QSyLREoUx9GWfna<) zodY3M{yj2t4ut3&4q(r44x}dM@JALjItP}~IWYImK{(83cF%du4m7U?a9+c+1<~Oo z&v~82%efE59fZ;_W}3}wQFO!lD~4sU&mpSGG&i|91~(>6ZuWzt*EF6v7}Ygd*@K^! z#&SA!$*$^i(jAD zcc`b>cc>R&(yN`#UxN5-yo(*kR0YdUPSk$~Tb#t>7{VkLFAbCUqVg|mf7c{_l#}=$ zXgvH+Bz4YKo5Y+G2m<)VV6>ELJ~fJU{xxQcvzK=8-O*L}CPKM4T8^r;7cKO(%afg4 z@zxHCFcn`%+bR>l|0K)=@SB900DhY=6Tt5vbJLn&{5YpIA(RyY)MEk|QpN9k8T>aC z+jJ+y={`)pFx}airu#ow&^X;$#_7)7Pj}(aj*O|@zs9#?8QU@U?Sw-+4npl=8&ff$ux6>(PxBYYN60)b?s~g-aJ;S5(P5nvC$c<%Sejc<-R2rea;t<&0K-ll5huoK z#2HsuCMaJn6OVD3I1NQXL^i`%a{eW-cohH$$SaH~-{^D|%V3D3T%)s)VAe~ZO6}Z? z*NO%20^i!3UQGexQTa};DR>CX{buEM_M4S>iawf)2gf#^dz7bUiwp@>(!+3$G&>CE z81%mJn)C+|j`Z6{>`|@?J*yVkM-Qv=X+mpmF788COE) zekBwR?I=>U>lojTWo*aXw-XL)993j%92HTn;aPNB<5aNJsZd(tf@#(LLo2-M#~Q~R zzbUWM{#klbf~qXnaDrt|N~q?nl$=WOq=cc<1z4BAcJz+6;#qZ=l}OSe%C)tb9*Nn= z$|_8$ssdz@mWc3&eBDzpe;jQ$aElaZUFBL2Q!egojYxqR7Izi8fp<4Dib#Q#s5Kg; zq~AwGqt;kP=`;7z7tS$ZPx;W4%e9$IJrj7!$1$No$3*s&4-5P8l#iHj#O&!A&V_Pq z-8?ZoJ>!U}&=Jd?o)IxTJtJbvObYIy7tW?~Z3Cu!=tVUrr{q-XRXMp)LU`y!^t>t& zlbI?xDa*ADnWm~_VMnc=+l+6=GPYyx+X;tubh&D`{rGk)V>{-)op3V)`DopRS;9r@ReE3U z!@dsn@vk8!zXGLU%rqBiUn3;b9P-OTGPOwiE4pTC*SF}Jsa@ZpYo>PnRb4a95xq}H zrdH`eT{E@oZ|Rz;U4K{COzrwnT{E@oAL^Q^T|cR7rnyd^5t3;R`7`KX~(UjPavSNhn~4qx}}rnIfmqd>K0gc+e-0BFPzC)Ztrpx zXlv(j1%PztajnN*lgD09EcYW{29Vo!L^t_@uZ$_U%@H4Sqt`Q=`#kh8rv7jW>A(srzYF6GN~J7>2qpS zyL&E9R)w-X{GO54<@SZL1C%ZCWwHmODQmzpY;|y!KEp=KaBXE2W1n%Ofw*$n2FlOR zx2K)Bav3$sSLDlS;I3Sjg7W+G<+K`CF55@>&-3M+2d-QOh4MG^%i645wubTt^5wESE0@)w{Na4LEYQkje<*)EUoKm;a!nzWkLJrc zogDwNRFuDzFPGI?d)X|?U&)utepPO6uC^1+(q6Ej-SQxSIi6~R>%))NI~?=$;T7(^ z@55T<&jw_*+SAiq(@$eZvRL71su^Au>Gt}v0(<5!l13dYi&k5ja`w!kELM1$YDQDm z>e|XO9V{z!uq5hWS(k%lDGruZOfL19yUFOw8ic0_WO!MD@Kk+^H75dYg@r9ol|#OVPFb%^`N`m^(NX_03b zQsR~9EsUi>;-tV8!by9?(T_ye2`4QQ$N3xGD4euO9Oq7?!bzjVNul=$ zCv6f(e-qs=oU}^ZgT#G9IBA!-ZxQ!x;iP5aI9H-agp;<3qyLB=6HZzujy@s!k#N#J zar6VxsBqFeaZ>zGgp<~ZlhS`KoHS0H6#krW(l&8Y_6x#E)5J;9FAFCv6DKAA0XSP+ zTp02U=iNhRO;f7kUtkm6_;&Ixg&6AOjiOZ$%$@n4}C6KusNUeT$`U~ zn8#U+mkfuHFMJ2az(+i{5ps{AU6d~w`Y;P$V4d&NSidxDdm^njayGOCiIuA3%DSal%ZO*Y(ySv1;&TN6`8w7RzE)6h zB98Etx5^?RoQUn%jnZAX8|%5-JDej6x6C0pK^9gFu_H)FwD5(!hR_Kcr^~|DToc;+ zLJk>3RfER9@b@_cEq&p$IRwpo;rDU~&Nu(Kt!U7|{o}SmaQ6AfZH1t@FFe&~=%kRg zuE%Y4MJvxv7-`?x2_r2#J7J_vXFnUy*_J);N884|E+;KoHJ^al8Db30bNvK%ot`j$ z6x(XP$R;z74uKA`t3w;E4&xPGYg5f)ba+GICmOEsXhV+7k-V~JY@Wo}`B%e_QsE5q z$2`M)3+xQPjik<_NIS3ONti)A+v=+Gh^nj3qouAoPlLMaJxHwv&tJOgJVxoN^ZcW$ z&U1^dI*%H<>O2?du5&AIwYdj3h`VZoxKB2SJ70simobHr5Wh-K$yB8GD_5rgU}Wt}VNbEs=m zlGG{QbJAbKxk9L$8BA>>-mGh;cHORPrgpuSu9@mueK`$hyJRZSDK*qRtoxXsKW(8PIWs57^JIUlzyD|c?$C6QD z2{>$achA<q~_k_s23(dthwpHn)Qsm#2iFK5vuRd`Iu1wscY@y$daTHc& z@~-Vm&MaKl7!a;Y=J9_RB4~awgqO%0?&a~hW*@JMa~FS$RR@bT2a6TKPIlI{k2Mq7LE28F3U&G#QC0 z*BRq86vW9Aig}k$!Mnh1NF++_ZXB<*7KDWr;7s@9?4t~m7qsK|5Qq3v<2zRHRfe9q zc)oq%+`Zh3+e;kv2#=#w1`qJ0Ek+sWdfH(cRPs}@JqEJnvP6ykPkt|4q9cXceUbbjUE(Wt$lwQ-bd z<7$X?_`gW%Tv)p5bjMwF`q8dB9bi|To@?xyM04euv_JFS+7f2@HL1g|Npmp%bWKW7 zEx#st+X*7RCxunx092?l0lbtj6TlxQ%mnaZgqZ+7f-n=npCZfza7>s9V0LP2mAVf{ zJ_dxXRfJH3gWyKAQq^#zYZY@( z%+@N7q+DB;Cx*3(^{`f{&=JelDiOn4C1T60D|aV_vMARMWy-q~s);)(j+{zycf!!= z-3eXdP6~6+oGn)rXSwzXrhcSYt{gQLI_9$FO2n{S<%!usN_~`TpUe}(Lh6XA&=JcP zQW3*KDq?=5vvkvh8ZFn3W}1!^xBnbDmHLs+Y8)wU|A`(7w&D5@kbj{SRx6w6IU5giIq1jqXBXmZYt+g~& zXS&&1`vQ3WoLg%LK~x9BaOYegW*kB%p+hjk8@-H^Lo(&-;SfuTg}+kWG_8$ z;oEUg`F30R0*)?Uu$?d9FtY+UbIrsRZl&fZwI<S85JZSOVi#YMyPp==2ms8gXu& z=D^+2s79M#r#Wi37K`!xI?VyNGL05x>7zCrwJVdLP?kPwLxH*eG-i~gN3k5cwKE;p zj^TKom}|Ni9soySEN+RTQlgE86W7Fv z=}mS!6*5N0$W|9KV7LwWEZxAcJFOkU{l@roVu1;*YI*C`X#b^7QTsKHk^|qDbS7 zPotWPH}Kshz6*)fo=A%aRE*C!17Yz1A=F?e(J2^ERox*T*pF1vJzHq)IDl)%0mO35 zKCa5|!&KMxmicxPbRA^Ao!vS%GT)Bl8qNFeHkh+`Ug10^X~;(sNIfTs2uom`=X}Lz zg#5ib?}tPOK1V#oMfo970ZuG6_@NyfKl&~{`7u)7Pc$;s^@*I@cZjSB(emF<--(3=c2&Z56-6gfQSx1mFM130PKY=s$XH@px zC2M{fEg93puJCGJ?g|@QO%Ih7qca)`&uqBD-aOavEM7fS!*8BrPCUywQR19v=A580 zkF|HIi3T^qytj5Dv%I}e^7ejo-rmnZwS0ViAY{b9AX;v=e=;gmnZU|VAo zCJ~z-A{UOF1cc2GLa0HeBE%h)s@TK)IEGvt7>tm##mgjIuGN?_id4Z;*R^_OylmBd zyv!@c%gjA7ih(VAXi)Jol5=2$3*ne?cS;5WJ*^8sx+UJz@f7>7fRhae{i~uJ&c!$FNagvqBHR8aA3rAS=;D7*kbD!G~SIzTv}2&U_e&m2018N*|_z zrLH^mL?33=y$|CReHe3&nBB|m97MNs8N0w37&EN#ozsg@A&i-tpJ8)1n#|9TVK;!x z&v007n3~Xg z?9jOkji+`Vi9D&jkh+6=(3s*5xeWHf{gH;`U54iJ?&!nsh184p6QpZoy`N|t$3*8R zM4I=^HI4>9;cd(Ogs9U`koo9~NKBVb8Riqjv{@29vqPUCmX+F`g4fO`;E6!<3A^}i=0ADh{LhK7VgBF58E?cc;Z#kpa9=iebt$h9;Hzda z!gqjjg_k#6UD0rLC9j^Xy`}m89OwTe&i}PI|2d(%>YONJXFgTUd2k`~-rD)h@-u(3 zpZPaqcrOp!-dlA)?|H>}&z$3B_nP-hIq&af7tsH^ z&igx10nbh#wRz9xZZz4vC&O+4*}Uhl+%VTX@9zRp&3jUBnD-La3ODabTr-?NI`2tc zSOROF_q1#N1(AB{v2UZL&t0)sH~BTF+NGpqlV5#eqHAFBWKDkc2%N^{CqMm5e(tL$ zJ=cS2NwP-uDYz7#PBf0C)6IQR=G-UH_`Hm_FPr%K^7yN)+z!#9T`2rFy*REkoU!a1eu50y5Utra} zFW?n@0dr5x_A%tFTw9qZhJ6g{VIQMHM=aaNh#2-UA_hTnEOIOdbISdc{Qi%9%nwnH z=b(_aM=*fEiOudVS&n$nF%;IWXIJK@#1wpz1QSn_pCTs=QY4qWpW=Sf$0*{&KYvIu=y^ZN z!Jo^z?yR?`od0SR!rIP%sYm)R385i&Y24$eSNboGIrFB_^>U0NPbY@ zqTf?P_(nD=RG9!~<#>A93?Is7ArlndO_&MbdkHfEd_Q3(fFC5x1n@(InE<{KnfXOR z@YchBAd_%5?2<2{u@k)xb2|}@FQT!Gufs6+ufqrjH%iXUjgqx;?JlNtqbgYHMkc=L zMyuiwfpkKaEHJz4df(<0B-NKrE5Io)mV^26pOFyKf zLE$t8ooh%aOFxXvp~W~dMwv#1vhvK+YAW@&lBfouN;0ouUr7THUKZv%8>6ChiPZc+G^;r-vJK|~~uQ=KY98J6huQ<*MKeW3UuQ)<| zTVQ)$acugwfT(a({;tZR5AeRD#u5~Kj8c0?>*{a0uJ(h0;aN!PTrlym8~$i_gs&)6 z>YO_ENG#W!t|RMQJCM=quMd*?tJ7^qP2i$V*K76VNqcMG0-|9Fp6Zw2iS(LSg4adI z)$gL3TY_&0BK~$FRzxD>_0nQ|))@#}A_;McoJ=BEB3V`O_{ZsxrxDxutO=R;te^TF?1tDD-xEZqRz;G@ZGfr+fHT!2cO z8gzZ=J|0_HquFT0y>nwnehRtYx6X}a4m)wwO*|oQ(6PCFr*U)iL))#Szi%y0%oqtW z#LIELAqaZI8RYLeMQJ-F73>Kriwu1A>V1FmUa+v_-O zm(jfX7^-F3?l)}{8CTL`e1#YY(>5V$dzRBSt4iC4P}>`f*ETEQGtEfj0Z=q;lZvD2 z*S#^nWv&KZ*Q_pG6Ihe3)k*D9mJXs5e8`tAplfyXZn|bGYcv;)sO!d##^_p|*hn^F zCyu%aN4jS7chj{vF$U*U+MZ!)b%DP8=i-xPMt#6{K5O^tJF0|Tuw}X zi1dDl%b-|&oLN)#2Q0*d^f}SIW-X{J+L+3YFQv-brm^5huELL9jt#IHJn8aLmt$8Z z{L?PSUJ1jNf97{;4uy@UERkk0{sTCU=VJ)Ht0%MtcHI?k3Pkt5Rd(la-5$rTgVJD2 z5N!(nDwC{9k1r-iu1RSy?5Rwc?n}rcO8$rrtK<{#tAxob;J;CH_ds;Ro1ycnIA1Ra zhleNy@ZJYS;9R$W8%CYM@aC+8ofbZ(ypZ5e1#Us`S%T4aa7MxKA|ieU1RlZx*oHMI z-V#7NK8p%$bG#KU<^;{r*60OAXf*izs5^b9`csbvo zJYfc=TVadBhD!@=U>EQ)g;^IE+=uhwZGgjVuFf#N4kR2~GuFTsev_wxujd-NDNLA5 z+8u>xQ%^f&Y+68Q1OujM!YPG#YmTpU+^dk^^-S8E&tWzYG?z^T@iwT@QJIGrbX!32 zjbQ5kZCz}hxM~Bm*bXfQzqe`<4@&+$q0nbCn^Ii8HaqDomRrk?&rJ&3EH6x=Jf?2k zRKVEw ztTyK<*X?fP2;X6coR^UAj%W&N+zHtn%w}KbLe=4f&Fbu&)@drN03Fy$=ad4zq6IEv z{shKgOBf%IiwcJGdF1%s71D@ZSbtOzdm300uH&ua?~+uv)#Zlk1n7h!Tp^1cz>F;pu@vuux`Pvg5nYAx z2iO#{C>EYU+l$dQOxjC@9xURmUPS&UZg&1=tX3%ijtCd!w`~5L1ht#kJ?R1)&kDe7Lo<2*cYAMXfDy3A@WVfwi#;rGeQX zU&+XMn1~vlfSM1YdO;l-WsB0TFru zHvl_>_(>Furk9$-pgH~!IBbr0M|vGgn!ERHZ!Vp8#Jm?v!+QY9b@3M@ zhWwYzZ%53}nVKw{T3B8b7tx1N(V?rXj5Szw?;c;bDcbX0Dnmz21=wogOW<|*HLUz? zC45e@2y&$nW|lVDSI6Vaz{8|sG=QuWR41@nSp5|{pVU-c#k{Hd9I`N;hnL{ukD%8< zOuBm^CpTNIq_n#9H%1wIp+fXE7(w-UHdb^XKOMx|p%0Fq)Ojk!T%SHKFAjU=cLdR1 zsBml$6#B}FBiK9ZvwP+wh;ItzNQUu_qszm6vHM~SyJW@pglUr=n)v^M_jJIi#)PD4=53lIWS@@r(poLoJ; zGvxtUu^MH}Tx4(&?N15tJI$;?3KWZw{1~zq%ULM!V%aw@mRwDVh2JR`|9QEjmBRRe z_b8WKlLu3|+@6MhzX3m(04Ia_>WhSf5oXa0EQ8gT0C6;|#M3}thw%mo&$6ra8?M&n z)go6Dn^9iMuVK$!z)k$l;n&@q2{>8sy->~x3(-m=yoj%$94~^g!07)@qu&o=ioOBf ztG^>3)M>FmdUy(;bNC;QUeV|^<>~PvewOs^G^e(oEse$hX7Rx) zW=Vwemr9jm0j1W)s&8eKSW;_mEPgwq#1f-KIg~BNoKo0fZ;LT&PHDyJAJ|bCZ3%;k zx@a}OXMISO1(YMN!+06^BlfSZ^fl(EVfBT)I3cW{8h_S^G8lAlE zxcWPD`gnfyUVRmdaOV6eue>vdt6&TJovwjSOd$PWR~`LS|BQklVj$ABF?@M=bLz{R zsvLY6>sPsUw;$!|n%84MlNstg?CIl>)x7Q?*&A(}6nI34%6zQa6u$`K)+#<8_$p=T zeH7OLt}d^VjY*{{M-<@ev_R_@zq0TS@kfTPOm-Lg)iQjTpj4IM;n>uaXlmmxAZKfK zz8 z;D2SX3ySI~PcQeD`^q!Q>y&4f`&-NXZRP&884nZPv!FKW-9(F@}DL!@xw!su7`b}Air0;&(R1^sQB!tG#Mw(!1COTTYoG@uU~W5d056l5M2No)y(gd^gBOSO4nQma5yr2 z2=X$%Yme@2@!*V!e~!eE(Kc9F+De0SF?f*fITx-7Ck0lBqXNeW8?1~zirM32Z41i` zx6t5L-|)sD)ZSbMv~CJLfo8xR8GRc@8GVPz!%V)*Arw{PQOAx3^R<@ZSt$K<^N-Nl!Hs^@45 z5FIVNF&+H?T*pVDUVG(z&GFFyCSq&*dyFc&7`3<)#$zp=$XcTQqu~I~g_+~20md$2S9}bvqA!7PTTsI8U6+^Ovc0FH zvVL>eB1}9F81NPH_$RB<(z9}Ox!5(Y72!idWP4J&1G5xg z7Al<-7UN;y%CCpL`{A_17F;f{T#zdp1kttV#aBhuI zdGWEJ%frLtkmI;!RXBj4Hr)f-&Kk=dZ7)6!^QLPP9H{V0dn{LOF}r;q{aVm2*4C04 zA-tX4hE~Jr1_phCdBNdsj#0@Gw3PN^a5V@x<1yd6Qbh_*`J(6H#Lx z+{JQ=LI-(P&>EkFlBq@LcS=({0(h{iX|OLy?ncGVVlJ3!?re%rMmZGF0eQ0@9f8mL ze6wa77iP{t<}y~S+A_N{P?M{*Ea=7l~rCv@AGPo5A&Jix`{R1~J|m|^kSNb7Ji zn2()wMo;=L6?Q=WW$I|KrR&@TCNw!H4sQiQI6EnpnkE&8FTzE8@w_8)I+)whoV=3i zpgFz;Rhr9~vlBE=uA@E4@Zu_D-BxKY#Weu&E2!s=+F#8dX`98yr=U)IrM)?>v+_pp zw{C)>a&Eg6tpu4kMgqavnR`c}dwrX$Jb&-r!(i^=K7sLF4}OLbbHE3Oc*2UU;iXH_ zDNti6J{6q>@oDUP)x?hE>vtBGw+w#YrLnHovQ|yg8;l z=x9*EKxfffwCWxJW>#U^hJ}gKH6s@kro6w3W0sTS#k@8>do{Q|T;_n_Xu~^d#D&7t$I&o4t$z;iz&S z{UykQe?crMa!Xt5Y$Vx4lAjkzmPAj1LTyT8of7MuqdF{!o<^M@{<7HQ&5a1>n&hK# zwBjR(>5@=(C$iyl$>UENd0cKRg2z>;5{t*Fjr})gJhH@ioYq*UCF7ALj>liWd*^*P z|L??_eFN<`8G)XopMtYF@=R^R=YiGsApQcfj)jnO0h@oo6JTg^RbKhxRN*(U#l`Zzaj8+>$CM`z1G zGcI*cswyL#%3R8Gr*;pCxmQ7_ZH>-3nWsjhj#S3kv=C&cTE>!aFB#qYra!>H}cG!_ErRI$``QwDVr}5xFKmLlfIa z^hQ4iOdpJ=743&~1OS1D(B!Z2OqB8&E?>vxGhN=#+}2UdZ~eJrl1a^aTn-Oo7OSj{ z9l8*>(S~1cAR>$&fP%1N7aq@9;@2IBFIL%mVAZ>bCKm`0RZj@9u`~QL-1DTSX_HFP zcR&iqaMSPytX*#AE~AH8cy^cWhtx@+>)c@|uTJK=&MgsS_vJaD7%gYz#o#UhaO{py zdVDc7RGyoxe>WCg?KI~mC#Eoc?2j>L@O*mb@LHI0JRk4EbSvRZq6az7$#tm|M=Q6$ z4)RAU2!y*?Ev(MwI7=gJh{u0m~m33RLTsEI$jd84``l z(6o8K>RjveF6*?Don~Qo#R~7X!YM4w!tMbUju|H1`|u|@COrPZ!Q5d@r?TmO9E^@b z*HzOIX0={P2@%zF0IN$~ta&+V&aSg0`XvS*{R+wORX|qPvzE-FXV?#(@xiSNDkgXA z9R$Ozpi{*oEQ(1i4!*uH__SY7!@>t)s$_m1GCAot;prJ9RA(kI<`&|XS z3%=@iH(j+^Y-u}Yx!y0cb=SMr&s9zK_GC~W{m`PBOAp9t6uhQgF{cSJr*Sixq zi1YrCQeaU!P&UNz$khLdsN~KY$DRbH<;lC81X9-d^E4A__5Y#B@^_;s zttBoh39Ad(L9sfYSyOdW4sMyhnbQq>E=JRl4*#330duxk*aYLenf|^TD+3P1s(n~9 zN+U{FmwLGD+z8EL<(*FWCTdx&Av<=)8$#?RjBiGf>3BA1BJ9AK1NlHmfRZ-cJ<)BT z|ImmgfQeH4vbbP;)l{gX%`N1kSA5{SYz7z!bhlTbNaCAN=T-wFnz7hy5&LGxhPRVg(`CD5!cA_atQQ5*QFZhUJg0*C_S)dCI>HQgN=aJH6A%J9okSX863@!MAghFXk8Ypk(2Ogn`fzH-Un} zjKccccpq0Pz}**aL!Ua}3Umh$2fESQRJBP{$GBl~8$6OW68`aQ-Ye0=T^P$8c#`;T4l4dC(r6tHC!PsQT4TWs7Sw!; zd(fim^7!7YVL!_gD<7SLu|y|fL+q%o^KMjUvEYW$H(_|H-z_oV09g!j4~Vjmv7eNo5gp+RngMoV;CRYkLKN%8?A1CQ(+G#`H&0uaI@%MOC!uI zoo2suEJxeqA8}fjwZiK57z?&7ABShcO0X$N41WVXMvzIRx&sQ0L~gG^N6J?E^U*I>^8g*g?L1-IvYJUH;*tACo#+8B0JguxS)A;X^Te6 zz${uLWyMu|l4D?s>uZFxxG)c#5X#dezrmQo_+c<*F8jNH;zy8lv|z-4%0}E0^^ymU z#Wj_q&zjccDZhuN6I&abwkjmDK@SgsRo+X&sRV~pdmmCgxDx?bUE0QvZFZd{uD|bt zDvty^n?{fEj%@BsT!ntV&u#5&l5eVX=slrIlOEfs&S58=AiQOxh!9j!2`;F@l?`kq zI^xq<)G2NfJ<3abiJ$6Pl!k!2@DhG6EOf#i?~*+d$J;)Sp#^UH;1Vhp5T>YBtaFb$*1Bv2_*)(P?=0HB=h^7&RylKDW3V@_RtLva?me zZH4#=l(#nz3^XhD7?{|seyz*3n>7aq)@qK~k&t{0zZ5@-%gK0{{XTa;E+|w$`(Dz< zZ9H~Q+GijKZG>DLL1W8bpe5t<-O=uA9B(+EM;im7Ua$>f*ck3rGSv&RPXXX_wlhk2 z%JylNSr$J7n6ClpQCn*^?^oTnKD{5b?;~wi=y^dak4+}S*s9jZtn%~{f?8-$NlJI_-AOm1i_frK)vze8?gfKUBBE{6YrB>E2s_%>Uh%>!t& z2HKdTub}!sA0E;~j`u*3&MC!zMplYnMan1MT;CfZe~@~!y1s1}o=5)+YPLfn6xOK} zR(Bb%ZV=G(Pa#hB3k4iHHu3-$5&ab{25={F_%#40X^i{3e)9YlrGmkZV)EZ6OzU?j zpD7a{w!fj-7=~KlFkS~58vyFIIsQ9RU#S%TgGEmS{H2sO`Pw%CtSF}Gx)makE zUfoP(4gZ_TTS&@}2mB69zRiDF_6~7%mf#VF)x`Xl2_9vG)@X}6VLac|*q@?HT20== z7*BKCTSR!0759N4JQUPDv)C~2D`Q;P8zDGwvDHjon520S>L+UTd9 z{#@VZV2{=}I5~NdHorBr=WJe9Do10v$-M^)cD%S6M|TN zH~`bEFTyjaWRlN<91I?D3%9d|r)JvPG&npfkQ3y@N_k2sXE3$cQkqhfcH)Vs-QT~Y z8P}9&jOP#9_C2@*HRTI_4DS@?eL+j6uinDuAI|*Kap)hYRSt14y}OKGfB-eT zjf<4dRZQWUnryGkYmR9s9ijJ3ct0B)3^sL5Ev~ARTAinolnjZNI=19JzwhUl&F(VZ zr9$6kLs4Pt!~9-4EGz*2+u#W=F`*}zA8yySg{62K>{)_Rj2pAS;r3{od=-?A+n{an zVw4U(Lz>)s9D@8i8I7Dk+bavkde?YulJuP8?g1@HL@x(X^!x>6-p@X4o*PuYTK8*fNj1sPm26t`DD(LAuDqEmedisea=#CT5@e=+YXWs!{MbW)KyL)qU zb5ltmfl!hFflCrX3WO3!4-k4M^d_LR3%P(mNVp*odaoi12o@BvD=JnHQBXmps0dc< zii%y~|DH2*Hygn3_kI67PtKip&Y3f3%9)*+o!yn~O1AhLYzw^&+D^}lxJo#HgxuE8 z%ZJsf?ZJr!U%keN&T7mjpQ?v=jKQ@$_y(8L=^BDFH(1F|ryqX61{>+d-Q*;;yZP!w zzMnACn8kjBj-a@F?Z7&RJA?-}xts~B)ew1=hZLDWGv#sT3#(|1TDYfU9kp;r$LYb2 z8%8bSxNufE(WQZ)_OZRpK7(wq_vM^^r_x$;~aXZ=11p7tMO`;0fjrGdt37 z>zYv=oL(KIw}(i9=<=R4OO7t@C4YL$pFZ?+k7ojAqh1p5+(IFe@l2r*iFw=eGcFx0WouJ{y>dZ;YU_x#z+e`_J(ky{z~T zZ&WL5OwgAfmM`cxQ9h%5(R7hBWw7gF$q+N%YSvCGpoh+6TiV2AwBsT29SoLq4ad63 zNvkAhayOjKB;?KmXXaqELm5FkN6sn+#vC^u=fCR8D2Kmen;TPj=N|GaKCp#bVMvj7 z0h%aKMg)_2>f57`?_uO?kVn{^Hg^{o6=-)A;wLE$Puw9k$Pt;^2}kipA{?9;tYg5y zHwK-qM5r;`xWd?zzA*yaqY+4`$;5*`h-~?_oNKQ|Ua!!Y#a8f`MUUq=p#;knXHs3v z8?j8G>}f3Wr;cnd_Aka2qX_xos>Oygb7-*Pehz7q>IBGW2_>&M7#EAg1_2IPbG2-{ zsVdw!1n4Xdrbqc`DJqkty&nJ{w+ULS9pQRNh6OkRn<_KK#WFHDv7WC~j8<#i;%L%>|INUo? zX5<)UH)`aF@yBV+@1q1NVjGptC+sUJN!w)o1YxkFiemlOl>H^_dvP~feT(de{=6Q7 z=>oY^Ww&Zo@&~3f#!6gow35K5#dLG~j`d?nHz zDJ^!TL7#4CA3>q0ZQH4Q4W5;$HHVarDt4ulJm-#Qx~R-fJVq^D#9$Y~Sk9ivDsdQ> zWH3A!uGR?DxuVe%GlQgtNJDiiwnEmao!M`sbKZtx zY3D?;_;TPt1yZ{xJD6>?L?w{LH)hcVGtj^NGSscVdn&mnW`t~4fSd^D`@3l%L@%v} zQ(f5zVs5-0J&3K6b7L?%665^&I<;)GP)8c}d;D;2%TF#bm8}kGrt(2)AYZ{vzOu^Q z1_g+~>*Z?M>8qU12!FknKaW$0;G8bvU>J_V17?DMPQ80ziD>qqsDq*iUHl;$MQK44 z#%%~!1~+!3r!9Wt^|E#ZX`W5B>B7LtSM&B1E7z^9kq*^gE0T5#n%FUimbL1CrO_H{ zv@4NB-8+%8*eN#+xTe$IrEg8x_}RL|#v7&h+SW;)rzu-`65BTuZ+YgzKbId4l| zQi0F2lsU$K;aNiVV7v7Df1lI3tLLUybRt6JxyJ7N3IT5wv>-FQ@y z6H|0T7Y0NpI~xs0HlBvMGN~^P@=c}b5-lq?YKU*DofPcjb|l$IUwliwjya{Kq0OSS z6G7ihT{ES!5Zw%?-Yml-Kcbp2R8Cf@Pet-5P20NUDjpjy0qBOjHVuQL978+mrNx*4 zI_>S(fuWZU1t`H5?{pXVR4WwW?u@e1J?6R!V{;89V^&uL-+u}(8u1h%R5l#ql7o*h zAsj1m@J7 zg30SWjH=>|cSS7r!8E)9lT0#Por#;KmwXAga^WM$d|fqo@AEkM1K)KsX!2+GRKgg% zK*Gjxw(2-n7g7R0(nTz)``^-CiTvC*PSJWL7uph%Jx^n%?;QzS5I#uZQ55#^8)LVk zD`}@d5e1Sx-SFexOR0TQjrbnC+)I{wMsL9O@|&QkdKrR!lI}>^vRO&#Gh%vmygC)b z%Spam2_tIzRodbhd2Z=>Z$!UAPz|mi0vNioF-8r#DD~ zedY*S5>Y*NLw;{kKjzsoCLcUg4m8|-AV`x(!`&C5bf=-a`*9SO#kf#_rh~=@wfs{&2nPVj^67m4f#y+AM>0-3Pn7M&lJ6(tbQpv`&p>eF zPn4nyk%TiU(&fNgyyz}~-93nTG_9+_!$9QYEx4A43!9Hub}jE}b-MCvdGI4&I-B37x04!(%xDgwi^OtM);VA3HYR;q|XU&KZgk?)IGuOhIQB$Hs0$=PC{ zml0c3M5Zrdg^IvcLP~5>5t#eSh@~o`tuJDUipcOqRB?nF>$>TsBT>0{w+CX~qYzB! zg^9#y1Z=#JZ8K;} zC@0OdEHwoyDBiHJIR#p69JF|E0x>hoFlA=({a<%z+DP0dKh zLmeKrHdqaB0h-EdmSX}0YnCGidETHLrr`DEpcE*_L@LM4H!KJC3V5DCd81MJPn9av zs4i1&ti3F-<^NDbxCq~|IO=RK){lU zbB{#+)4}x405Mx_B=mCLV7WOs+Mb} z%Eb%M+iB>)%Qi8ubCwZM?h{?Uoj7Tco;W-`>t%op?~o%+>7D9#2mR7awl&5fS7V6c zjmU;A($$25o24?Glc97vKgq$8Wt1LA6gfHE(iH=7-4zS!;gonkPa^#L!5HVR;?<^h&`X##Bl}4&Rm8VFVzBe za(B^BM$Ao~6cpOa2n~r76MV#IxBA^fzuV0ABDQWT>G>??sZQuDBRMn}i<#}63XQ70 zTTu|LmV{q?`W4jh$T+kiLEV)MD&uBLIip&?m7DCzfTZ_sX_=h4X5fuR4`4RoS_P6| zqSb`ZpZ(kmDKyEzfmiH*%EO#d?qJl8pL?DuRB475QOH!YhR`70wI9FetT@X@Cl7I$ zkI#$P1g*DezNVMrxE{QW1l;AQV?2{vN@8qVf@EO9OH#ZEMFG2e0VETS=pHYA%WxVG zJ|=VWl*7O>9L=-oQDq0{rJLO)CR zyYL=6?4g&GlD-}g^moBH#FXQNr>*2QGn+;%FWWnc+uOB?1!KCF)OpTljH@S9xHelf zj4^q!v`uBvQder(!oslv^Tm=EOkt^LEAvWjj)4Bo)ICZXKCkR_t(Uw#)x60jZ=>XG zt>!&#@-{F}^(|Ky)*A4FPwRH#mJ9|~60~d|he2Ad{cu;nKJOV^GO030wQQo7QisM0 zp752(Q2G!F-DF{D_d@jZd2)^9PtS{slkf|VjSdUZO;bu*atE?x8mT&Xhq4vG8oN`LNj+n;j_5JaRBdMqFi_pUvs#~9qnBnO-uU&uw2KhT&bD=T$ zdSQoa4j6$r4mJtD&Du?X*N`9ki=D9dZT4ffb2sTHJMlvB;q>0{#>u_xF|Ft;#>0~{ z5_{WYCeVAs$0oN#C^;c9%N{c=8E+FW8G;=KA%gKAi~lhE(_P!dM)cC4;q?9>yfz5$ z48mK48Yje{0$hc#xJEt1y;NNf_Ur0_Y$gAB2e$GaXt}D94M^sz*_1R?Z~GK~M@-6) z;KY88m@#Rg@X8b?LPKJ3k0vq85tB=CohdF?#{H`m*SCf}dMw^B&s&z!*`=sN`$;t( zj)!gU!nPEZDYXXCkogJ1TYXP3r9E zrXOrmP`KZfI%lA(mS18JA{W6B&rQf8C?+`=x9JxH2VBt*szPW~k^?%5{(BwcZ=j=P z$Nw(>!W*RJ{JT;9s#24}WdT(kaxrm{CC`lAgF0gWa$zLE*8TaW*zn^Pcn?*pp8oK= z){ATL+JNR(=*wEYW?Iv3*gT-UpTUSZUF|0khpPP~B@G`QXrJoyI%ctpqEXr1bORQ4 zhvE3>cY5t=XU-=jYV@Eynj;Uop40m#dlRf!;2JZYlXIF8sLS`LjrppGHx8r8 z!<;7Dg_Y%|zIw(!E+)EL5+6!@|6-*6{lyl@3#E{^S`!?ViFK$ZD?ze`66ZXkLY$O)ePdG3xA9LaWB5+7sMsNTTIG!ydIN&R8vS%u3#d+pxtqFz;A2Q+^i}u_t z^PWLcID1_!7411HSu=_CW=$4ef=d?PN~|+AS$N4BvE~u$Y)w{(!K^Z3;k21GuO^b^ zB^HjKSy|mAtCCnakY;6#m8>daovX=OBw5Rd^eO8l&gK5Ot zMXb+jvT#e3SbKmc{}@a9q= z1M>Sx6%IvPRblUkR6Rm09F(@QFfSq2#KI|PYpO)aIz%j-gtoHsCF=;Wa4y=)8ZKF{5etW;t*jEsI!>%# zYO=OU)?38FNos2<%m&E9w~2*rU}d=^>lCqmugNNwth2=Wqb6&*WPL!aKWnnqO4fN| z{Z*5-PqIEH*55T*^kGd{_!+VOsmY>m(Sh{^v98o)h0<7??D?8lS8K9jh~*oV`e6x% z)h_lQG*Fvon3XBlFWB7YKfP4vEht;Fs6^Xpd<-rr28j*C)wb2HX4X#BZQDF$q^Fu) zTSoYD<#iFw_vlYAwOymP1rqup&P@+Q$spz66RVlSb%H9dWY2F@csul%rKP)@E6KAm z5Lkr(KfKE~JvsV)6*vZ6V4tTMbI&}e3btm)Mo36TbUhz^L}7kNWe zeKZqCn)#`2`sG(b(D6qGjj5;j04@Z!glUq4Cp@4x9*>C~#~jGB8dW#1n)j*V{aVfQ zwe(#mLL~ChOK}<)>wC+)Zv0)(BOU7FDw+Hr1+5kL9|f(och7&y`XFa*c9l9*u^7;6 zRBVklJ+Jc{0NgrSBGSDE6~I#)!%edqx?OWUpVQC2K7IjG81C1p)V^xUlJ7d!`DuR4 zpJ=anlync_YJ@D4l00jXXS{JD9k#Tj3Dq67V9c%MVQ|H}K%(_bQG!YoYk|aslI>;|(uQ&WlMU61 z$t0y1TVRRkRBRe&kAl4FTjE$Vq;>5r|5JW3W)ITvTf|b$;gE9gqeiwCo$txucD+D3YIz<6`vl#1)Kx=kMU)Q7yYb+0ZaWwFGezCfH zo?hA*vGSE;G;rg{I!DxY&$7x*!h4xW&V2>3di68L7$LU(3kz>IR%!mRY8s1oIYE=m z1@Cu4SZ0;%$)d5(g$UEFl1pMycDb&_9h+RNKXrcSluq*DBUE>z9?KFb1wBuL9W!x` z*Vz;$uSf2CAcF5X8vKGpcP5ZCF$4!W5x^TqT=dASI@XCtX02bK+5xNieMUivAr5|r zCf*+F%7eUm@et&zUpz#674jW@u_9VMYo?1nB6^a1W{B<)()Eoxw`X0C1L&?NKs`@_@EE7@&hL4yb5?_i8J!s8r-bBE z8fB(uf@z2N269-T$p=Qww{93^Pf3DhsIC{lb0*>|WiKKSXxQSTio&tWK|RZjI) zl4iYFuFJ!H)bxBNfnvC?fNS;#*~hXBmj`{(#uQ_X>`S3&tB=T!IGVZ}eaDx2`YXsX zp|deXrjkFLjQb#M^>RANuqMQ+Qa;m(A%_28%d3cM8GsWI6i8~RVv-vBV(Rhdf)RZb zd_>X@fAko~VWSeNeDdK|G5)M@LhP5NHbM5jh9vSC8cV*fBa-u_0O!jA%9jK6T=d)& z)E@&Mk@Vvpjmv|XFN=j+#oS|vZ{~X(Nh~A58wBa>xFM#Y^dGZ7QzRxR?eG&w<6=~D z8s?UD$|xRBFuaMM#J0LWpEuS^3Gy-JvbTsI#bS6EUdb~br)%+41W8JHe|c*CS@u&( z=IikAWP)-4@%6NBxQ?AbEFZ7oV=Wlx=F&Kqea$#`l2nZ}T(#jyt~wy`EsbVT39evT zyEHaxyWb^&`#gGWE{tv2p-qL3_D*s2{rbqt73RD89FXZ-$i; zkWp9a%zr*B__f9q?l+Pwg zpL-_(eD0loaF&9ZN?G;i-dPzw_s+_2ogmZsrBNKf`I1=}hjrIRG90x-ZG~f<{AYQt zLU%2LfZ--e&sFHIRg8&BypAzZ`pz3aP@!`LscND~)fdJ>yN13Hh3o7JB;aqDlV-XJ zb{FL68|G_#49dd7-~!M$VO^A$d#4oVocK$z)DkL|+kX`G6IrgCWwB6N&NaelsTfd91)$Y}1$bK$v}*v{+o$b)Szx>MRUa%3ezq=-$b`TA@>$kz^;ybC`7CKBzocJ_Uv`5|pI@?O_A}CH`kyqL<4K)#$4c)-9Q=c=V=8@$F#8ngW1ngZpTeEmu;j)*ap_JZnHcSJAj*Qj zK+n!a%1v*10p9Wzgs<4!khi=?-tseFP0P{Z+VK8!CNSy^cG5%P>!7{=`G9{trW9P z@)jxX^A zn~kM7R{A{R(D^NOYv6`!8R7rnD=aR3g@V<-LRnP%3MsGQD_=wSioG5A$_L~t=g3#c zF(SRxK_k7~v!ctfc|gAMIc^Qr^p#`KX!Vsh$b6&p3CNcbK^SX)-T_sZ6hV(&5f5jCS%&tw8tb)X9DIy2ls-mTB$Pix zl;)7k7_AKA{K?0pxX;H3k&n?YKhfKO+~PeliTX9I73iNjzzM zmm`TvH=)w0(pu(+MbNcK%@5y(EYJ2xlj`+&S2)Gi!t8`pk&~cf(X5dxj-7-wU*{yy zOZMUcApX-`tR2qa^iB3S7kZROAx0_&@mvYa?G^WhY?_K2AaPKyhT7>l6rD)KaPJAB5RI3Sk>xOWN@V zEqxagmX{7fL3R)n1FtlJK6a2!gh;#TAkQc4FaHL@SL~VOAh;v#^qeOLA#dRK3VNx7 zMtZrQMVB80fRhB%ejsfMn#;6Lpf%wx-Ln?!_A=})VY8Ei*r7oXCsCYbSj77tm5}X6 zd;RpMyFQ~58>N)ay~)&Ilu~LL!Fr5ROlWOoL?DgL2wNEugh{tM)Xc>w#a5Z}JPMKL zeNGl);Y69xFKHxCByH@8*o?W>6NyKjNWVT$kyh>MLFRv+&(+y>`qpo>B-+92lj8u-;Dji7fS~C+*nqDPlj8HU7ZZ@ z$)JH;yyBzlmRHq_G{7i-fdqHMaA|{4{<0b2VmsjN=F*Psks|?H172g_D8W`SPgY4e zwx(?ETCAC@p=&5tOZ7FhQq@PKuRf$Tdyoc;H))WxM@H$=A|5@sY0S}st>JiX9Tg81 z)Ip>r;jC5KP+djl;6inCtEwBCr>gpq&9t|=exw^w1l|EiEkYv=8}l^~-ZkcnV?(|N zl18X55SzZYGUQ88kK(B;pWuG#$+jPsWH9 zo!l8O$Hn38p7xlu6R~DH~olQvMAC>G3fh9^ZykjlHcQ$|l`)h1$WO zjYS*nQPLP~3Jq)uxyY33;@nY}A;i zyBritvmwgIvSe@t`52U;g~4sh0|Vu+^zdBO96RT!a!Uh@@{=UUW2cLaz;GDu8xGkR zIaIPK;MMi<$Rzi2^lx2S1756;M^;ImGzg<6*N1OHMdQ>g*df>HsxG7@zCn_0;lYqA z-W(*^4vr@S%;ku*f#WH2Gya+iF-J=31M*%!RfilasX^ z+52-Gw+6*=)`5saFST?49vunGzGsM1DowU(3IPwk!5rM0-A_G42x@ z<7klbjd9d792`V2vng%My|HOowI^2h3>Sgon7<-rU0=T-&KjlBS$Z5OR9np-tR8+?Lm zlwP{OTIve~aSuIMFMS9hyBnL3PCjQ{`W1!flMEcdScz4njNm}^jTTIvoe58(;V4jw zxw6xZN9dfcItckFR!XK*BJ_D)rdcK6Djz1qS^(ChHWLYCx z)FMk!hWmR^&Lt78-x@Aw_JOUsD*{aUs@+&$4wS0=2M|vzgsYR|Q&iPfVbeAoBJN8d zDw=bX8r?r4I^h|Myb^x|WwD4W>7O87oZzgTkQPPX5Y@btJMN67qGx((7uam_XipVg zsFFRciG_x+vUW&TTVl})-;#>ex1^#a2vX$`i+shxqAM}^ za$f&#c^ZxA_zS}S?AFOC$>}NSsqHDokH4qk!h?TJ%7xg7--kEh`}O^2mfSLJBJK*~ z0a2W~Z}1x82KE=Df7ba)v?g5!7SZ0|bl})Y;N?wm)4c}z(@{Nxcifd2&cSDGq5XN_k3zh?#zk4EdI9ebAA#qdr z76x4y>=eHadJ6{)FM-;{r1m5q1lvNy!$BV{2oaNpwCQCRr#oF394Z3r`y9?2Npk#cHH|KzxacbBb3- zP>wIMC6~fT=RX{-3?uoE5fd%^YmJCG#`4ERtr7GTAf>g7y^x6(S6KeX4kZ8ia-u`} z5#6`yv4xGqW0n0DI>nV4R62ZB5P3D3M)ogYd!}nQ#T*Ylf*j}~*F|1s8Y z7tOghhPW>bP7tN5NOE2uqFJmhfy=v`X`fJ%Nh=}Rw=cc%~LoVYe<`vX~ zU7SF?UHlkAbZrF3GYw0>FgQ(&8S}_6r#L>9>gSyi#Jw`}!r(^YaG!o?yVP+++l(Ok zTYGAYEnLq#D_Pqj>SvLaX5I>-y1Khnn_kIcYEb^T z#$qaJvay)M_4y}yPKNlVf+V$(BVs~CV*ig8bP!3isLw~D4l~4y;F8DQUWX`+P+lC{ z30W81vxt!fl-Gxlj%S<+JvfMvO~f)f$tVinKd!)-^!`xdHNh7{Nb-)b;GT7H^?ZWS zCPwji<2>;$Zy?ELc-M9X&{InZHOJevh&Lu!qBCMAZ0eU2jLkY1ou~qDOAzr~;!{Rz z7$u1BS<6rLiI*gPhZdZE36u!?lt}k?D?%Maibmxdw~ z%^q6TNqa$@Wy$SJN%AFys=5+7BEDqaEsRcxK!a-jt_tFv!rO(YUP@T!DbdKFGQ2;Q zc&9}y^OBkOu_y#jh=yw@zfVLLmYmd{BtKW^ha^J3ic!qlTTCcet6&tLL#V#CmC=hM z2sPFAaSpe04hh-|%sZ7uyd>=me73dZbk{L<#z35Mo+QiF716r%~aa;an6@FryE&97dmT zx{KNnM#mXl(%g)Cat=0qBcu9^y6As1`f(xIGE{GBC!Ld+=g|i+TE=LuK84W`MpgPs zMnR0$>i03a!dkZJhZ*f1K|1f%KV#H{ZFxZt@~0fW98J8#dINtNF&lIs^qQW;yrN-* zj^pchG-gd6Na$U?lRu4Fdj=4CPcLH0DI>28+XU2&(W2Q`hHcb7(0eiJ#^{2M$BK|{ zsfW^itlz}EIJWFFeUd+oHcrm{3w=8CcFiI!U+J@fgh*+7WmqTevc8^C!!?Bb4T+MF zLlJy~P?*T!@z4Q7hwH zMpM}8bmI?3Be_Hw##OwbBuxC8iLz^%22QXc_fL@yW2+J7@WSd%TuV7dZRR!R{PK)A z2ibX&bI3FBTn|t?<`ozz%)5UBY3X9LhL$i9vvAJFB2i>?Wb{adL|Kjs@H|x;7ZNX* z(=88^D4%&d77^-cOyeA`GOw>OlO-<)60e`J3_KzB;Cfpm1{;q#7DJ~qg-|h&0rW&| zA(jC>?$CiEN7C1mMjB5#{DAJj_6Dv2##0U>E=;^vpU^1dSqmC#yx^#W&TW%>0YQV&h9jSO@_vF}`KV{fw3xKQOO1qm{;G<{e3l8 zM(YhNfXc9$(MH1-Kz1Hyw8?M;;5}VpoSV*FZZQHG6)6Du9W?jrCaq!vb7jXJDF zmi9Iy3hBbcGgxxqx?)7*@`Ux&0z%u31_4y|`=GN(>@=ENc)N@Qi83!$rKN>GsBx|CdjF&CEpN&^6=(2ItqU9Ik zn1xpp{c5~vk^Id#X_2gnemCB=@cuB)SkRxw`xf+<@u5ZM-^NE49--q-dq`QB90IRJ?2v!o^Q2H7eZb=pX15~DEjM=D9W75akFJll4boP_}UEsDabV zvk{(wvc!qTO^JTf{8&hwaJVLeKHO|7G=JS}4(J=rzCcV-Jms}Gei7(4rit;{(76vb z_w~M4XCd-+u3FqWU1X#!Z{6S9H)##%%}t1ULHl}NTSK(pOrqmKQ^owm^`J#1M9UX$ zhK26% zqG3#n)=}7C+Iz)Oq&m|6IOxaOYe0ABoJ9K$A957*Q7)r1j#~UyZnew}??Q&!E>0{> zn1pcVh9Bz0i6^E~ZN&7W8g{Jy5b_&WeGa;F6@{N&^&RN1tA2%i>$#$hCf=J&ec)_T zV4J?)iHoVmg8DBCt0nH59o8mQ?43~uGVya`+6?l(ax+ODsk^52An&k=6#hGEEb8RF zwQE{e%QrRUZyirEX;CDfG>Q6lUZdnTabjz|w$K)hd{e~}jdBswIJz5R!fqk?%dGz^ zw(3mu0K_|3^3Fy>AQ>G!7BTu1lDrr_g)N+M!yKPyYoBCo7uni&bweD3yt_I6ZjRr; z@dn3VZ%@r!N^h9U0k(5dw6z8no09cVYE7)Ew+1%1WXZ(nim*Z6TjA-0yj%Jay=5+O zM}qeEZkkKJRs~vJpX-&j>X_}O{@=J(mo~ZwH4_p2AX<=mdtdJ*&}#W7O!@BIB6hTh zy`90(- zqJHGGznW>^Va-DuiHtab$no_6DUOBDzDG|cGh-Pece%F~r-`y8SdF&@?| zQB^{m<~|2_AUL*qzKlSt~f*Y{5kw`Mf^mp|9} z5roNS`-_i9O~0W|Yl*JaMwZOGVJhF~u}HOkfA3lJ z9FkvV%KKzaa)~xv7k@_v$?v=_ehv4x`>%_CoaLXoE?(yQ(sl8R*q&q8#fLa3-&5Dc z%bLG%UHn+s|LUTzQ0KiDd}rzHznPLv(2l8MdjqX)ocJly*_QOzZtL>}YQa>|Ab(A3 z-&lGEy(?9m&7+v-BWZNqj6Rbp+QiT}(5*i8+u0oROQS~6>8c;!c93^H$3(_ZOb3p6 zmNj2#&=N5PQ5leVn`5FI<{+kTR1sploL83y{Si|YIUF&6Vf;)L_cok>n6K)(5ku{+ zVGN&(@D%Rhu6pGNlXs+wzdDnh7coLoxhnrdxxPVfPZiM(NORjr(tLehce90`vd!)O z#b$$L${MVKp3{+=p=S)+Jg4DK#8lMXix{8Hk0JaumvK~s1K_?I`4VE%S;Hd@s6Ky> ze2{z8F=aX4Lb&i0WO|~csp6N0=aDL+-WS|zKPnkbEcEyJc+IvWe@PWR3#rEBI53-S z`=sD6q+MC}FKE`-7jDiM?KDvuCE5-0j$(TZ?gL@$?;F_Wb=(Kma37!%AXWGkP;JvV zFvv?INva6xLV3yYghq^1QJ3||al=;+e#oT@Tk>iF%?4-Snn>;CgbniQe|0RLyEx1ll8~1#Z3e==`p*RS)yM+G+^GJ0DgFOT-THDVW(!CB2MgxZCxBe2&t0m{vl=FI0UduXDYhJ2HR}h`scP;Dh z#yKuvkK3C|GIqYoY~}trx^Nfr%Bi;tc0SK}JN2wAy_wP9O4_MEwER(=}IKB(@>OV1t4Dya=duFjc zv)GenZkLXOGhm_Ux{$*G2Os)?McCC6lPOka+9hhyI5m`6C~Mm~Ozr9~b# zTVyNGQIB%zrbSb2Kg4C3!)59DFXi3GcFycVH87|?rMgj$Pg`<4Wae0lM~S)l#}QK! zbsQ~4vxQWlaec};Lt~a%k$)00bE8f|<_zb!jB}jIIbPoiZMmO3$^B$9_mdl0b=qRp zN6>sDnXfD|KO-!A?-{O{!(20y|D|Sbr0s8uHhX)Yw(IS`QQA<*(>O+cRPTRG+t`ve z=|7}h!u58!pbca;)NRxL#&yy`Y4h1H$JI9*6ts`STB#>eJ;$x~75nlN?8})vGGrD! zo`EZA)Z>`B#c)icf;E^|zZ*p>h}N9y&U{)ku82BGp29IF^T#6QKCILRdAoDWldO3w zG}E{}SlKhk+l1TYrG{f*$v<@`wI}XOliQZL?>8(5*T3Ep&^HokrRix(Yt=4I!`j4& zmacV(f3YdWH*H4rUJeIvxLzVjc3^rbVKXETwz(73J9RJUT~nV0y;}MP^4*S=b)3k^ zAo-r7i1r?P2HX>E&w=({@G;4^`v!Ew>>ns*>}Al;hK8iXiKyv+Al%Y*1(s(`GdgJE zLC`p{C!r4L6CGke@0v~AD{X%O9SEK9Af_GKwgC6dHZ9V)H={qKjah+k#=>=|x4)WF4ZqWT zGvuFcL3ghtm9Xgf_5@otIiS0`Ijzj`S>tWCO@Uq+?)8Iq*ucceNv z_aD$B9sDzWxqRN?G01dCs)d+YV6l z`XKzzpb4#UCUD4*OijdwjR371I3_bf3~e=p12RBo+bI4K zjt}&sc-=|yll*c(Go9T)-C_XfKL3#&?V?ram=L>YA37QI{u$4NP^nLcMB;PQ$3WZG z`T|t1ZRO^KA{XY)Vs0#RFV;^9qO{||U59wP@Wt4|BE@T=zlPdH%kEV3LDQy&k>o+d z4|dWX;}7vSccfjxZRj(}3Di&iNTi7G3dXKcZ@5Tz6naHPN2PJ+fK2}d8VJ5r9PSQBd$_!p*qH`04P#n|X*AOqrcIf)V4BP{ zooPF!4I5CO4+lLFkkx>6cH;Ovrd^o!VA_}IAg05Zj%GTZ=_ICZrZbt&Wm?X(lIc>W ztC+55x`pX>rn@@Xc@(mX{R@6*Z^u6Qx(>b=8GbSKTzj(co=)%xzXw3Q&R0PH38nD7 z+Mj_QuJsD^>|YSp#xDLG{R3;hjQD+ie}I0k*|H+VLwYFa`;PjcJq-#s38|f9dF?5B+Ia1Hhh}j$5 z8Zq0td=LGNYPHUyvb2Zhj6;~1e^Dt*>oLJVcL8@JB>>AyI(jILAZ`Gd!ecDJ$h{V@{o=n7;kFit} zc`LJn$hN1jD_%E@eEi#3IU4jqj@z|?pzR$*H-?S|9aw8}mamL+R?N;CTeD!Ud~{4jDysGSiWpDD0_Ev=4KQTnaBj40&s57G@yhyr$0eqiD}? zOB&HPmJr<)LG(1!=uiq*g%b@3A(}goXp25XZR3beN+o)zjOZAaUs_DzOqM^uX$Nuq zG3fM_aqlSFpIqFZ=!Q6=pMcT~a49ULnX_-cdUP_4IbU_AT0OzLlz;QOBQcL+vUoq) zx6WOkMH;sJ&l-GIok*kIj~|y1eI zI-ceC7E?HzuMcs*(X6!O^nb(Kb zYxR?fHf?p>jBnGQ)@YOa5Dl1m(u}`z6s;yQ78C8gvJKD7AGpS<{oD%QJt=I4lUU$|xpJN{2nBg3g z#W8R2o_QMf%&Ep+xW=~Y^J>WZ72on&`y#KkzvSF&6;dxcRhM?puI*QLkvxE|^2r01 zwjz2rQyD(X;me?3$9Plh;{BNIDcGf~Pj^wf#ni(6)6Wv=j#%w@Iaa*JqtKg7-(h-| z>4!`|$?6kJClfXZeZveh=E&DyoU%bMoqON1s)hvg2m(ga2*yNWT zAU9nP`x^Otw>SC=%V)4%$)2JrPJCjbQvasnTN6#p zju$~qDfddGo0i>N++?D;*-7F6qs^jXaaDG@c#Bb$W8sKf{WF9f&*>ajdalN-(#fdG z@#M07m<@$1^cACMC0Q}2NMwk{3T>OSCOZRfB$QeXZ`hdKR-`NR{)XFtIx@Pb&F+A` zV$oOf#B)6fjZx_F**mh^iJ6S5#2v7uy*Qwdi_v|}D2FQXI@TENMeF9ApQtx(M|OL0 zoKclnnYJgpgE;Dvl82Vu2jprY(ddYMKq(4siMZ9jgJ`GF?;-mf9Yl^o?r@Uqs?blt ztAjd-J_^MRq~{BUE7YiuUJLmtl$W}{6?D>rV6gMcvHM$Pimi+)fgaB8D85y^r^^mx zXNlZIDfv>!>Yyx9q|nUbeU2>ASD}N!goY^8KKxeyEHOr*4X`>(Oj9TgCCU<|3Ox)@ z%@UOgxqCi`{I)XMAnZe4&dwG|NtF8r@xkhsvvb5og}y9)BRf~5;2aI{URnJ{cAnU& z(3I(Cv-8Ef3N@SlX?B6wnoN@G#BHlT%`OzbGuj~9P5(Z-vq-{O8PZZT{g3P};<7>y zt^Omss~C_XdBdjLa*D)KMipX8=<1+uq6bdgpeKvzj25Ly$?2h?Io-r%MwQ}Yv}Sj4 z0FUgGi@=VgbF=uas8dd{2vKNaQJtJ2qLxBuyXWN$6}1(5ynB3| zVWN#fzjyDFGhE~-)DLKc7_LyW9zAnL;yE~(!w%>iCFUsfW%t%~M+>h){b9=(QK`^- zMXls1wStObk`%*}i^w z+Gm_X3wnBUR)`W4?Z{pwN)?LlwKQk7SY)DAIcvm56K%*@Cmt}-ww#UPbrao{vsGMX zR4KfnJF@Q(2Xh7fD#eee-8;qbJc;I`d^<$#e2MCVw^K|hkSHT-Y0fTjkBN3<-z6Sa zD6ITy)^72li9Yq;Bc>Emx(#A*$OAd|irEVN8vbz3eZtGALi{;R6MMx&jO2A}uXvqN zmFV7=c<(DTVHu$xBytqvy17@>>P$Jv>-$~`;_p!C^X;aD?-k9Nw+MaE59#FJA%AD~ z6FK*b4CYli?i{zzaleljdM>U=+%K{u59ywPWG_aQj@NQObnX+w7#(s_4*SGJg(%%V zF-anwa@Z$sWkeqE4A2rwy8U8^IX}$nMDA0fQlTD2Kjl0n9%LkEc?ZN3ig!9=WA*{@ zGNW~3W3DszfcS{fX0dx|{oH3oP!Z`Ql#=_LXsyuH9x1smh&>9uy|i2IOCq+Llze#h z=-k61L!sW|X67CdV@$L(_o!H@P*Cyq+}B0j?lPUL`2O7E;-EsOGY;myDO&TZFe@Ev zrat6+OLSy(M9>`bEpbpGnt#3}Zt6)|s>H(X`y404VTF!k#(6?C=taCr(YmFBFf=i6Oqn$#b}uWbgm9~SClfksFCC;u~wne z8BgS#5+5n_+X6l4lxWkN6v+~u79$v4)X0|8VvdR4&OIX@SBPvmEByOVx+<|HH`D(; z5vtJ6+$j5dqAsJ08d>(f$Y(@z;ne}}ixG-PmVF?mD@2xkAXY0xmVF@JWF##+CoU-- zS$0m?`cm#>=i9j-ilz#YW#>gZMr7Gn&I=+(@yM17Vm+hHVoaa2xfjF^g}yKQIQJv5 zPoV(=zsdbrJfTo-=;ho`#PbT>A96YOQ}L=ojYIy){Y;!t=uGhC+|R{(3VjUTMe&J3 zPe$1Dz7XFkR0Q;;_*J1D;h}k7;h|e9(Pl9q+@ANfa4O`D2+jLO)K=(|C3W+@6>$o^ zm=>4!ooKDl?ZpXs--`hXjp}`WU>cA_Zs4N%F~vxp|tlR-qywL%XEV zj_}GnKdoSplpGK~H_u<&s*pFLGA}^;U7=5wtjY`2dJLA5FQ#qD3)XfjbbIlxyio01 zh3-v#J}*LBR4gT%j60E6M{6)dqWRN5&8w?zS7_z*@AK+uwTBW{=u3rOgCEt`E=dGmSsYwnOBqI1ljpdCW3{Cw`aL9G+h?L_ zp-Ebs;UtMQS5{R>Yi+7R^62kI+A!5V%vgxKnECA zi79=X=VxnMN6B=KwB-C;?Mp_Ov!}JsFVK#TC7x`fB8|crm;3^edo?+eIsD`pMMHxb72D0_eHYc3JBUzix6{cJ%4wZBbty4E1gK8~{3AeyEP%P-c#6&jLC zsF6ZzyAw)K=%$r~G8F3AlTe;QIcao+C+s;#S-!;bdu2mg-nKUF)Y(EMS`^4(faiR8W8Z(05fZIME6uV0q$(YAXe?*pJ&+US`Qty;P)|5mNf zEQw}kEz6&)h0P{ZDc)LjD8E$Os8Ga)H}cE0lsUxPAX@i1lfOV)IhW8nQMvp=euegz zLi3Zp$gk8Q=Mj%;{>S_(tsx_--Cuz+7*)cn{>fjWbv2Q#V3{_b5qVs2!3ynYDQT$? zBbwAHSf%xtFHt+7wc1&QrX|%W*q~LF5pSKiy-94rX6<1{72@Np<^@}{C(4OeCCWRb z6x^nrFj3orZQ4I3$|<;AYr4QESyXU`Hkwg|sLTy6*rDz560bs3EDbK$rCn0!we`UT zyS0uBC2#w>;DWogos8Cr6YB;P+^Zd|B;Go)GG}ZC~p`?Wm^{ocEz;2~}2Qpww2yrkd}?UF*zj9pXkgjT#l@}>=2Q}C2_d8I_J z^jlN#w083}4i9Q`*Am*`I5}WT!9mTdP`?g@mMFBXE1}g2^;$}3 zlR`S9?Fw~RN4(t%{koRW{R(BTAoPet;&hwsK!+5n>bkw)Iqj5*?kad*yTGW@@mI!u z1utk{C{&fL*Lp$wL7^!*d$M29eq%(diT#kQy^cyG_gi1qnkqzd;X~RSh3IN=NE^ML zBx(2cse(h=K1On6IINA^K)em&pQ+Ck9M&c)6zzSb;1z8qBUpwVvsbnGj4B*~{rtqM z+EU3A-TS>$a8&zDp`okaD|k(f!iW802NCMJk#eXMV{-s*o$dqyGJ!#$?Gq|llX=>f;I zqbgm!*iRhCwSY}z*%9$%zw-reX<-Vz+BZGmq!y*nu*^^W-_{y2+ALhf7Yj~lEll)% z!5J;XM86k&pyirK6n?1nQ0U@dQFuWsRw!tlqwr&GtwP5~iNa5`;|e_j^qE#`Gg-D- z8q9sctk}`jeChP zu{kRWgY-oTUD~j|Fj(Iz5$xO-6{7Ev>44s<6RMw=2v%qMhwI;{bos@znuhCP+hl(E z#oG!a^tLA25g(}!H_`6GD7`|VKL+nEtgGK=@@9q9(@!Wgf7Jbj(fVHsJvQgz!uopX z?J|c;8*XXZKySi`W*$Y(hI%?9^2XrE7<~jI>BX`7EQQF6uVLF zd0iX*5+hklZS<9Qkrr9L4E=XT*!^o9-#J4cx|?$l-J2wJZmWA4Rfy2yjLz-#?t3J! zC+3kI^pT7Y7$$C~-doYXl-&%2wnY!;_8hIh`> z2Pw3=?fB05`Y?qmCf3O*&_^pYvFDV|h5AH^94ltc?A%44&Pa~JU3B9f*6CP0V;*=; zg;va34Ag+p#{rWur|qIQVI>~XRg{EZ9%PGaANlch_s*OLoed@1ajuh^{g{^f`xMk3e&b{@zdr5M$$ZWkmzpvht zQI&Xb_Pw3^=`$7b^xNOLzuw?}lB^Qb`#lacixF1r{SI~>pf5Dh;m!l~7Z}O99;|;L zdE5?z_0MYX?%Kz>qaEJpJXqhW5VgZ#{aHq`9R}+!Gm`BvShqdMwxD01h2-sws2whJ zF4lKTp5sWmUaMGtK%uwN!$h(Eyh0Dp{k-!K{fI*EExZKurb6Ej)oTsWPb>82&@eGX z|4Jdx>c2V<)qhlI@oKHhQ2kGZKJz-d4Ab@fY?IfjGLRVMU1BzfITY9+Olo7Rb zY?l%GImM%qXr#X7A<`mOpCk31jAToX)Tcj8Jh{6yO7HlHM6Tkqok!_GkNVK@+|l~q zjAT2E(FZ+7yv?ZV=3U0#9;3S%$+{k+&t@d+dW^o$L}^IZ;&GY7>5TSW#_Fkz zs<^Jl>g^Sxx*n_dP-rInVVpidp(XH#ar#7s7Wc**V|2Gd+j_6bzDb{>P%hGq*S!i2 zM7r_%24A{fMPh<}yF$13T9Z9N-=h$<=0ts;Levfu^~V*Wc9^I?$4Iur&H8ah)DGEQ zZqesILFJPkH%agJq(tO#ll0+?WIIgKyFMjrf;?`r?l>Tkt2nL8Wc{d#j^|F%*F8-< z*$z|n=NVBubnY@$e?=i`hpGA*MzS5I>gO5Bc9^RFZKA$N*YcVF$KIJhM^SW-zNV|X zdlCbNeUV+ou!bdUf(Zd3d&r*2gnbc3HrYWiKuFjLyMo9j0xF;)AhIKffDr-N1r!BD zMFB;Ki16;Mdo!8&`1F1M|Nr^UdFMPh)ziPex0btfbxqHthx$9w)D_X+XrhVY(BF89 z3FFY;NMKqq%_uRza51f&7AOW7&ub!23^Yb-LQiy#c)>W#GR(+9M%}I0A7$hqBSaH< zVvz9)6MAB>QNR@BN{oQ#T5Y3o;=P0+#v7W*6GM&Nn&#`7VW_d+N7iFI)mqWDrA)b9HbqP{!aqXUWe47Enqs&# z%@IRJZjYE^oYO=Rn`Zp3i6S=55PPs*q3k717_pBdrWrX*7_n)_%bF-+(~QNMC}Pu$ zl^!|_^>%8)h@Fg>ZhWGNJU`ty&a&HC=OShpH(7@HnP*hoi({eu%rk0eBG2a;&6&{i zGmXwnL9W9QGmRHLlpj9JSfGh4nr&>ALyg$T*Nu)IN{U=ze5NTEGPzXSmBv}7r`+zy zl}71Lv0ko7=+rZEl`(<|@3*ctCV8k|6W)xAxTH}3980kOSuQRri%=ta6QPvrIm~O#*z0NqH ziQ@i_agpoY&Keu}u2KFo?15&R_lyiCjQe{=H%%1x_l#GVFz)M(FPVZ|j)?U}=|k8G zea`j1k)(+{vBBuCi9E5v7~vx;_#EqD&QFZoVBBXyPi!zs97Y*=VuMj$6XpB{qmGAW zL%mc@=!pf98;wpRbFLh|1gMuLvVEg5m^E)_y&bv9Sj{rb`45b*rfUulOij;UPhys#a{e5M}Z3nF(K>zD?I&j#Adlpc99a+h(I zsaNDVpkJ8kJb5v4w{eF^^sDC(yAA(iI5LXLZlk;=y#Dj?;34M0R7{Z#E$%l+ZOn4T5ZX9O{a-EC(+)!Uqo4B$%Y(!`x`;HhxG|d;My0?lt zVvP1syQrha1g0sOGb6q*rV;5i*fC?SCTiuF5qwtr8oU%Ab!JMcFOAKbX6ZH9 zS>szx^PLwn`$e5MDt$$M>C|at)YnET)5Xk@QQsIdHRZxL`LZfrG%hebF*zsdqH&Wn zMNHFHK<=+~E28w|c2Sp%XEovaY--eHV*?Ye&#o8=7f|!ElkO|+h-!Yam;XC#_#@kHz z-tZ6OeI|Tw_=mAg6Xn@mBVQBd*(Xtd8Uw$>aZ;Y$GXk#=VV>PH%4?!LyJzfY!aTcg z4Edhy3v#^^b>9g3p^);!g}kYWeC?1?KcWo%c__*u6PVDS4%uB3`O_hv(?tGs$kiS? z4fUd~QV%DZejR1VL`}KQ_kXTsr`x3Z!pitR%( zNE60ZL~_(^19cieCyTKm1|2 z_g5r}ZJ@lN31e$V2g(8_jBTLwzloX@+dx@D6U8=Aw(?L(sJBTI&ZZTjOUNB0)AwIW z$bC#0hZ6EM)3nH{(Iw>tCiGxQ`8^Y!9VO)rCOkVz$~#PWc9fFFZ#c4CC!QUpK;0~{i8C5sc-01 zpcGByiN|D5P3VbdqaT->S%w)>Q$BnT`=bo0Da&gjPt=qnm@q@0kjI#UT$#~N$fxfY zc_K)z)wt6B)r2dN>)p=!IQmIBnq_EhOSzQ^t!*jyuqImDQr=|3*tU|5;92uD z4{nZbCE@A$O!?tY$z__z+EBS&6Iz=e9V+)Sp|zp%geI~!RG!mB)`rSU9y$s2{NWi6 zl*#9#!(>TKn8|Cx!em9JzM(@~hsj4Zk+rR5L#}r_>tb}c?8-8|c37oOKjkkLTh8? zVohXitb9WgSsN?YdZ-N4JE{q-trQa{&yWnPoe>ZxzhUYdx+E-4{-}wpjhDZ3z1vwe zVminm`0LKXD_4T-&4kt_$N`#YzD|%!nb6uqd7dfARVF4;1{N!_Hc7^5B5RZ7bDGfF zS~1CTAQM`fEXQjiYm?<#A zwW;zP*Snn+9+M^miWga%E@PO`+H{$$iL6bR6PVCim)yhz-vNnn$txbp56_T~Ka6dX zwQd=%39XHcamz?1wAL-%n#fwW?52sVb;}_hN``t1G@-Tbm`u5hWMHjPB2&J})HgIx zWXf%t$l8wbAlJK{)itIQJg~aR+RieZ39aocqcoAVo#j|2w6=@f!xZF7j_D%rdI&ym zluwo@vbLK{(}dRcj_D>lF`>2HHWDt9t%D83+OxIDm=3~i2-Uoia$ zZN4baF-~)6!)oej3!!xO_dXTWHTN`P0WceW2VY^Oqdf>Gv2#>~_|@nCY^WCR&NlkOP@8 z3ued>tckPt47rpEvmj5NW`b{{#pFrnsrKIIe=-%tje)- z<#49SnzER>H>(Ml3aF0u3E zW~Qp$dI9Zbx;eurF<%~Kx<3Pc{Y744Dw~JD=5n1#_~$u*e%C}f@v?LV73M_W*jHqO zT1b==3uMjOM3@r`WCKk!Gc1rPb*LWZ#6mfuE>VyxFm|C_Q?HQn!(Wvnf{`dE7RkrK ztCaJDV;9M~OqdgkWT+;}iA6F}6XnDriP4~UAumC_Ne!uo6HRksUz0O6QBJ%jmoZ^Z zye2m=VNNWTJBf5oESCFO_DhY3*v0ZN6GmmRJjGNQqPbXp&4kfhEUz&A)^IA&b*6pE z^MMMOPLE#(BpT^aJ1>o21?0zcq~W^QB@&+*fw_CC@wJF0vVtax$`To*3D;R4#x9kQ zHAYQ}$})MG38S)1Ue`oXStgIcGstjG#;7cp__S@Bp-h8=bxZiq}Nez9BoZ=IyMXVpqy{S%$01Rq_rKTDwXb@T3B?0q3PvvNaQ0yISTk z1-XvLu9k;Alpp@4d<>pyhV>4*Z^phQ8+k~^y)9caCAwwY8X3=Y(p@fYt;DCHVZH6{ zC*t0b&olLLH;H>!j`UF5xcB5lP2|t@@&iri!Nj=rat9N7aJ@XNiL!jXJgJF1xL$tk zp^i`wpR|R&pJ>`6?tQsN6J`1Payt`d`TO!P6K44a`6ZFg@(uDL%kaL<26>kW@7rvU zrJlkba-AjnMTw2F8j<+5uLGzd%Z?>K7q?MHF`Z8y0MwP~*W@U%N%rG8 zro-Yk$@xsG*=V4(Om8)h5+BGdTo0eT`+@wFWikXl!<1*40z=^UDdjb$I`Ai-o8=v@ zR~fQ>vy|}s6trP)uu)>OEX{NzI1pq{FkKDC-;QcTB+kQ(^r39YGQ2nXp^Rn1d!rx9 zE==#X!(W-|!}VIWa{vuy8Q!(sBBwIpUE3{kIa42)cel!SxSkv4-K}yL%kVz!R(XU8 z@6&FT7n#~Z{I@+Btp(tbHf6M1RByvT&J)B)Kls?aaX z;||Cb9?B0tD4o$oUiwtl*Mwf$6ZffX!h~M>R7PkbFMTTGHIbJ-l_NZK2yk20Z`K9lu{w3j}U%~;kw^vk%@~5DC@qEnH^Au{xsviklmTkpI^u!n#iAD$QLz{KfjO@JQN7^ zu4qDkmWw|ouaivs^O$rbU=QTaW3n_8`t!J~N~HaHTn4cW=j7wEH51Os$7MPb&dDca zPp*e^@(DSVWv9nijz1yCFkKq|C{V5@^6p7FR}*@-cKj(>z%sn1o|Zilah!Co`Lyh- ziM)GSUSvY=o{=d@h5ihTKO+x&2tE^*5ipY!p3`ULU`^=VhVf_RC?@poSvgG;dH1ZG zqlvtGR<8C?E2w9tP=D}gMEp5fOcP!4&dDlFcut>_4Vlop=VdD*?cMXT9n0p_i;6!l z?_$<6Z))M{MYgr%g|>RWJqd}&o0PTn#gAthJDEoS7Fx0!L z2{Uq3{3UspWI7`+$zm?-k23O-tj2^syDaMvX`fw|AuRi>xl!V>Y{&Fv^FYvaF%`g7 z`#af#>)}f9JK2|IrCJyzzLR5^YP1Lh*-WPJ7E$7ge3eKvgcaQtxq@Y<$B&J_BG)io z8lMZak?9fmKJ@qUGp1npKJ@qUB2#~m{UC1;iMDVa{veGEvi3drKJ*W=BGbq4edr%# zLna0Few3j^;xx<+A`#o3aLxh#L*R%Oo4K>|g@QVwtWav@0sg!#pJK`df8Le}Os|7K3uGqOn+yIdkUd$}WE9FqGsTR`3oDRwm_~r? zce#}7bsOaXdXHsCMxyKh)Au9u!hV-uGgX9ocjQl8&jI!B$a^fip=IT|lSTH6d0}^C zFjL5jQQ{Bz6p^U>B0QB_#pM9Y8Z!cDTM#;=WwMbg_OQ$ksCz3yy+c zyWGz83hKj{)IOHYn`x8~>Lk+}(4SC0Fzti>9O^f&w-NetsCz7H2lX84;htol3+g#k z4W=xpXQ+Ba;(4fNsHQBN1miSR1k(Z-r=i?T+v-ONsd{m}w_u!7^=DZ%s3%nxQwyjk z)oiA|P*17XxLy*}Q)(s44ntlm^#Rk@kk?8bWO6i&5~e!N^{zu+o9aBv@V&jME^DIM z)KoV$;cU7o-csA1LEC9IwbeJz65(uWtE-x5Hnr8#=TSzpsZ;grM-=38#X42%0fm$w z?x+5Ef#{%nd%VB$gEJKC9dzf%KcvbrB?1Mg$C*yLzm6}aLYTI@ug5>E+A#HT--{1a z2_6dQP(pRpMDuk?)p9WQfb(_54kZ=*!9Nhr*N*{3GvRz)QgzZq^L0tpQxnbCCDjNI zt%@zF?r6em__Eki${2!e<~lPcMu}3YBGZtGd10kgL#9RlH9gd> zLuD1hl<02Pp^9q5bkd#Cp{hz`+U|a?Lv_`KsgHYjhZ?G%hjKbRszz&~e0fZLt_kyH zPKU?TNlln9uK}HB!hCs5-Oxn&@|Y^nMEUZV3V<0Fasob4nH=|+TB!;1B|GkMwT@)Y z0WDT{cwFsc8rfnU&^e|Vum-ECejpOrEgV39unfOrR#TONxgWC*zhhQY)n*C@*%PW6 zkqCmgKcOO7_G*ib9iC9#m{zvf3N(^wJM>ORdphP`B_^vV%ekcH~h6#3{%~t zys+A;2U8fx>ZljEUXvvFr64t)Wtg9J)D%sWpLNtLnlL{<>QGn3j=|n(KC7pizeI%d zSv}QS6Xj<;)gTLHG@sR1Uo!={CdbuRE5?!x^D|hD8Ao)`eV{`FHPu6>Iy6)Zm=fKm zIy6$Nm`=K{c4(|NF>QC>?a)N+W$NShPiU%+dZ>ItGxfD5%FpI1Y&`ad`B^iexr)$) z`Pl#{o(c1_x$35g^0T>mRukoCbM>N!HpVqqn>1m5z7y9%?I4-H_uE44(?tGkp^mZU z?W~pwPpY7791Hogr5eP9{%om6X(E5NRGXRbJy$DbPbl=@#<*50(nIiV5w(cvpu0^% zsCvsoi3wq9GgG2FF`>2E$8^%&DGxrIVG*iWF7}@5ED!6YNL7(YIAK1FRCQQ}=TW3;%Y^4qq;fOic@(93b3Htd zqSOeM;rS4y#%iMYMX8yZ@O;>i5UmtkhYI5tqsB5}{9@E3O%%Tv<(xzj!}!IjflNWJ zt8uaFqKERs<5cI#q)Iv=dzsm9HYB|ZA7>9JVg$d)3u8uHa99-%=k)F?7>Ke;14lZ?D6UD)$oKwk5 zx3lUcW~jcJ=sa?(&zUd|Zgq+^@iP>+YBjAW4w>o|rXbg&@tLZ?L;2wyRp;r2aR^E5 zr22ZOZDMCNiYd|EHnEGE#B|b~p4e5r%(UIzJF&ZZgQ<^uXkribzK60Cd#c@h=UIhuSew{a_4UxU#C~cNQ=)rYVt+M> z>7@H`;sEtB({}gQi7%)(nEJSXP8_7(_t4$M!D_cAio+0fTNB2?KWT`%uLd|Iu1kC4knDlP<5OM<1kEpL!{#{ zO#RBTMk!U3hN*{OZHY5qM9SkpHJApaM2X=lm`HR?fnT>)tyzZg8?GWXQT&E0mnNLg z>L!g)`7Fcr=SUSl7ki-f=Sbz!MDy85^)(aDXQNaKtXnXeL9X2RQEI=3^21+Lk@HD* z(A_v`v`X_(o1`(SCsU%kP0~wh5YtI_T2hu8$F$x3Owu@&$JEC?Bx$^Q%|qjpveny~ zD1H;vcbYI_Gm|E$pPBH?nV=jm<5(zS6O>aEMQnnq%3fbkw~0u?Ew0TW%nc2gykyp6&y>hvvlOp*14(@ zQ&?n_n5b$IiCU2kpeI?jDq^@jQ6({Li-0F4tLK=$i-4z>t6^O4NQ47uBFkQb?FTT|%E;+z^Q)*yE6y2e#3G^~*Q-f0RNdDKDL*_<6=pnQF0zdd1FE`!!*{bcvm%4wKAjWqzDAOP$h0_RUh4 zS@U+*;iTEB(h}^Q?3<$!n9#mC%B6|yo1?}u;TbnqeaIB#>J>XzUGY$U_&il-DYi-W z%~vi>Xy3`C`Kk*O+BaVf(nR*nS0go%ee=~c4}AmmHfcipzE65t?I4+RUgkBReVWL= zm(?-Wyq$F?=@sQ%R%G7-)rtx2TcF@!cRFHtMOdKvGNFA7)f-Gfu5XeSs$(94Z`i1E z%Zuz=q@LEKpK_GENOjYc>kP_U<6NSkdHA=l82+Ww67`&xUH01mpSUkkFE9;k?4P_u zjpTYQG6R7oYT6^0)h!D&g=JHR)<|BeW;4xcy2iOwEo7?aMq17^QOn+9s;Xt{nbzeP zC6=l!Ohzu!M@+MGf}n?dP59)whCmZuM{DPZwcT1KFIO`)p|ugoD^$t~l#LUgy_l5z zhI&_1w(v`B@bpUMdIM$IqF;lI3&MLiOvtmzZ>i?1NV8$T0m*Nx zj!b>}jZ9vv#xhmwm!15Ms=JyrQ~OOxepfxqR62E5@_Q=cP2Hw`0^s|qtEM@k`0Q7c z-&e~u(3F+J42fel0Q%ZZ|VL(b|86+dW*>UO1I;2JJotk z`}8M2JJn82dkl=&PIXjMu5$`Jd3={T!?e9wYTI4v8zzx;I(e7+fk?FNcM<3w)0!qf zChu0&-^Si^ox`(#N&ZO15Q%x&m*YNCJ(;$5+M4i@TJE8P347EwO=wX;@?KSZjkWuMDk>X4>8qb*n4*JL3K~lWxuII15!R!)><6PWk&~iX8)(EG*i>?d%^jt2Gh&oJAyw`4VadO ze;a&Awbq1fmP|RUW_qYn%29P*6WB1WX38;jnMjQ4-w@~~(^o*pm0G7gA+{#LXS=HO zJDQ-)u#^)jL=%nklxjufz_FYvJc~^n=V=e24QD)rw39PjPyB`#Pn%wRLVK! zX8KCgi%j_KlyhnVQxCWceolR@DH|fzBkr8K!m_sR4$#VVlEJ7`fbPDFHc&LbRetXw zvZXA$(acJ@q_#742ftiW7nz>cq~53gFwZWj`b3at*>RUt zB-8dz2Rd9*xgI*z;j&t)DO*SLJ2h=1wgS&n1>3(E6{i9X-znvjRV<)4@h%L z_g7MWQh}R^vJzJUjb}PNeSON$YBdv{)7RA%P1&ML=I)dm%Kt;Gmo0XO98CE|!Q)7= zKk?p+M^kR9yClOiF1A3aEhx){XL9|RQlJ7fUG~E(LV>ElGW?cofvU;Wa?B0Ttj`oX z<}OfEroAKW)B+XC)O1`)p!Q6YUn~z4&$Lie8q?fIHis3c&YCXxO@Vo^Kt03M9N!o>&fckyLMub4o_MWEgQpAB6-~256<4j)-&OOiCLMTF~#BEt1V5#hY+ zArt4UBEs3Na$%c#cB|qcoX@J7w{`D0?}nvRHyyhvD%i@SW@#pz6(2LJF=4&O&AOVf z-i_2J%<_9E(y85zw7TY4O*CiKGpB2!>t;RkpeCI8a$@V7M~Os6jeEiM&0>2g4tPxs zHp?(!jDpR|nzEhM;2RUcW*pNqn#Qmu&dI@M4%5ovWz&Mq=}dSY1)KAjs>1mfY`(^X z=U=e-22)yAC8)QSX)64-N3gk(NQ`ds1jtS?HSAYEt$}%!>Aj&1o^EJ9{4v>pb6q2| z1rg-#ve-su3e)yZO*=F)XM3n!hsNd_O*Geqm_znyf9jP^h$%mzHX8&tNeeL_V*0Fk zYTFRA6jP}dNRKeN;5!*1W)RcQ@a>Hdvk4Q9EX3?W1S1<8A7YMR+TN*gQi!?9Lv50p zn1?iBq+6ynHU0MESTKI0;-552Xrf3zX;vedp0A%Yk7&XHFX-}EX z1K7$O@nLNLwAN-jO}X%lkf@Y!Gmc1L4u+c@nHCNmp4P^ksR_rDmDbj*bP!vi-XqOg zn&`?LX*Oh9IlN{{q}hTgrz+g1HN%;#!86h#%_t`HOQboN2>kL+T%V_p|!83#hXht(RC%!T+M_tL!$XE6V42Y=4MSaqa>OQJ|kauik+F7Xf|i6 zIB7*%qM68KJiI4t~WQp{CMwNt-LOEq^fjT`WNTAF#4Y1e>T zY3XLmL)hOeAqU<|bD2Gfob#$W)7@rYmVKaUv!?lCcfA0RZPkRz;Zg)4Q6zKF8iECwiEJG|}AC!_3iyx!X3rr#W3yuJhfImD78g z^N7T>CP6@(S%x{$%lw9A^RiRodzp8cws%^a*vowKu#U9Y-f3InGiHh=%8B0QQX*|p zZ*%!kJu+?4bLP8DXi*}7Z{`!j%@Iu3>P<=?X}+szKKx$ftn?Snfa5f>X~8Sf$Cv{( z;d}d06<#u(Cs1}7ehsOg|4U{arn9puTVu^gP2)s#c&FOq%+V~1jjC*oH}^8l4e#Qg zZHkk+6~Bq;UkB!xb(xN&_w&y+=Q6dKc)!jhb3c>FTI@f`ysIe}o?!e=g-K@DQ#6*( zhpeqV*&L*aenn}rIf|)DwRh7en=@Gxf2V1Rxte7mW2@AfVxD2T)@6J8RP!p+n~_y& zO*aRgrg7r0M9nbAFm0I~C1#joHPL;I8RkqTyf>O>2A-jj-OkFbkY}#Y1b^}8+E!tv zd4(yz%bW_c&1b(vP5f=7Apf7DuJR%1G!>$Vn~K}-u@>H*Y16WujhY$j`>++A$;)ihsp zdLci3v1y#gHs?D}4?GFv$MpCMUjqd)y)*E8pmI!q47?3gMN?s$k(#i-cPcD4(=}1H zE-^bZVYV(a`x5zKo-H>=vJA6zxjB{zv-Nc|k2Ns|-!K<3VeYurUs zTWxM;!mNAK+{yGMWZj$QXG}Y~Zcl&9JWHg1jckqiJrm~H8uKb^#zs}CwZ{CF33Gm} zDZZi%!QY2nYZlW)8M)Scgb6cpof*W0_tw^#%{A%!b^hzjcQs*t9uHV&R{9#-#Eje( z@UFR8(>T#3dRM@Ert<>H^1J*Pu-<&1$ocSG_*)ut7gMFV@V7K(rEgGkoERQsijAg= zDKgd+o6NbIFe>G&56n|c=%vl(Ri-b;R<<^qe=zOn8Yez9OMi=PUUp!Nwwl9N6Zve1c}o+`Av;ZR3G30_ z*PUi-O?c<|V8Bju1=D-6Z3A|hSDA)P|Ge&Qv*%?RXUs%X>@g2(qH}t$`5Vb#=KC{X zuldM#TGQ`H`sZ~&Hsdv2@H-A?>L+F*kps`-Pt4vd!*lb1*@p?w%>!mXruOLq znf|?X(40c#$f|bD$~TuXErdDbGjlW3wAgFbA@eX(=JfBa&&{uxiouL>#JsJE&f=q{ z{}miHopDFa>YC<=i}3r*N6osLE;!O=IK&sG>wDC^;MmZ#G0-!baFyT?$IKy`(4VI3 zn7M{&T5vJf3GhGlawI=HCqCk z&t^p?<=Ei5Zq{JBVsCNXFzYb&cC2#!YBpxFoNHY-%~nibLcLq&(@Z^_TU@uzIHobi zZrAT-D${=FC$2kYXC{BS+jZA`hAGhR6W5>S0H&Mrkn6rVoN1ijF_*B$GL2QcU4}J@ zX)Dx|)-0wn<{_79Eno`pKjyNm5c)6;=%14>xdHS|2yD`^F4g5O_(dL^xW(qHn6Hw0D!xT`uZ9oOqQw^*=nhY##z~Fs|kMH6#A=dr7&ede^srOOtqoE>el;S^=epKS>|UC zEndSq!1NXPy9R}J;<_d6!|R3Dy}J8yb8SsS&w_kYFqVK zR@MIC;o4Rkrr-R(c(|^W$@Eo;dV%$=QJScSU@KP>SsQH4V9hTcE*1zsX%GLTj@VJZ zhD`e$l^b;nXzZc#jec`A@lf$bDx-x@y_OzXM}}h3W3(yo`?4vrH@J%+Kg#?PA(cVo64C>r19SrI%#%u`V&? z1NF16F^MuuG6q_I5AU|AzMM75Ga~L#>XQ@LIenW2iOLOE%0JR-ip0TDIJt zG0a-cgufy`!gBpiviDy2IAesR?hu`AinNqzMslDSVU_-aWJ7u!$QWsjy-QSV>Y0yhk)R=S;>Jt0z+__)Fw0>oC)+0~}(k)#g5Gl6S{i z@tWwI9&5QYWsAnvm5i}gUtw@YI>b0@h^B1O)GjD9&dSw9t&Fo~`)Dp?%^-7j`*GGX zAI-Hsnj2Yjg8T|JxA|!9_t8A;(QFYh&N}I%`K^!UkE}UOxIpt4AI*C{nwA6Y%NFI; zaL_EKsnDVdn#eEXtm>@UMVti9Ad)!?;QNu|tOiUaM&yN!vsy6i1=)BjoasFL9m;qs zn&~MxbF!@@CKuGpwlaxymQS#HXri%9umVCv zUiEUU*I2W%{G)x2wZcd9T_4TO9?b=jIo3`e%};$azhKQEwHGwc_-J1C(fpY;E6bCh z`J0cX!zjwL9LrBrwkU9PjmohCHIXNBtV%wbkFn-)u?aNm_-Hos(F|kF@{X@Tv%QaI zl8>gFHJ_3dqI0ZnKAQb}G>5WgJ=qpCNBd|_^3j~hn$tvg(0tiP^K~E1w^_5Y90!`~ zeKdFYXzuf9E(Oicd^At{XkPGW?gY&%KAJauH1B#e&x59v7?ncLKdgz)ha9V%rfgAJ z{t22@d^BtOXg2a_R*K27TKH(T^U;j+Xto5+6d%p5KAO*ZG~J*%z(?~%AI)r!=19<- z;-fj=M{_Z2eyeI$%CX*NI^!2pDc9QKRd15D&#T@f>kw;JmOsTzvX1*`UhvWUo;9aA z%EeByuKQ@-_0d#{=B2qZ2Q(kjL~)p8mD5CVm}FID&3f`IXx8-6Y~-W)Bx^QTJ>n)= z;XayiKANelnPqf{XUw@kVzuW?DDA+MH$m z&TTfem3x*|+$tK`9IL!0T+I}B&#`)Y$>v!Dy=3#OFEmkXU$(yT(tO$ajx{%$<=rn^ z*O?~!*LS~S-D9!>%exm?wvD}Ki_c2bcQ3R;nX*fdN_o|4uZhm-MOHk^n%YtBMb;pu zfQORZi>>)g!vj0Hms)RVqLD4P-qS>_EVn*n&9i22_i}4Dlhf$$e%<3}iRy~6sO z>7w(O)^AwHnbPG@_e$#=Q$4?5TCcLcC4x1|824)H7frchV*i>cZ(8@67HSG`lC{ZA zCb-|UDrm}ePE4<#_NLXuLrlo9m62;x`S@$%NC*HUG{fZ*}zEx6Fw&)1He&4F-CEH-tVA({gfA9v&&Ge!Fy5No0 z2rtb|)>xLo$l^BXtb==;rt$DX_Xi#--Eg&gvxh29+UWk!Lyafxac}WZ?bIXgtsXk) z-VwabLnqze25D<JC6v-Yzlj`I^M_91E$N4DSE#)P9jV1)#b z49EGYwV4UWnQyfzRuq+dE82&WG~wC!18Da4k{z-Jcx3m24_RZG0v=iy{JE9qrFqzT znPtNR?*$*W)-&BIu`c+Cb=phwsC9v5XG^aOK5E_3MA`F&Wfd3hLn zSQUwMwjQ&ZvutGJq~v4PDNW-PgyTBwViXJ!6|DE)2>-4 zJI2&K6zO+O*!xcvPFZCG^*Ei!<7NbWX;mQtnO*x!tEHyP`m=)bRwNUCR&d^mVfqyA zte>~ynf`>aoVU`5;FF3!-RG@NO!!H~S5{A^FUQKvudE?VJG%O1er;W6`g};shTmAl zO5n)wa|@aIja6C`ea7&uRf%Og;4c5S)@n`U&r8<3nzF@Ut4gg))&WiA`ODUEFU`x= zIo9lEd{OJNb(!ge46Xg0b&YAII8f(`RlFpQ1wZd7k@>wXCtX2M*$W!)n3yD+t-eapJXvP+Xt(=3fWT<|Lg z(Y$4q)I>epvMOrI7N@PJ>fN&HX(I35wpw^;-nPP7^9@I4=4~sAsf{x;v%u=c^xDJS zGk>@GFm*2RT;?5XIuYdHri?$VMJ%gOZD8hI>nhWfl#xK?%iuV(;TOC!O8#kuGPUpg zQszCYy(avI{)Ei?RvZ(4L;t?jMH78P|GxE%CbI9oHPAzOQ16%~{KRj5rm)YF%vpZ= z8mF*tGS!$4Uof*DDvM*ubvBz0&u*~G6N$Rh;n@v#EtZw6x5nwP!;jhIXPBn_OgYLI z{0!5y2Wq0fe=zNfO!)T!mYq@_HSsTw@-i*^u!r))ZM%I1lu@Lec7ILi-Pbdn_E0AD zuG5~ViM;EyXJ{htI_>!$S_k#M(1hOInCWMKNiywSKl@iE^sb-nU$Mx${&qPc?OlI6 zh-K(qf4emkde`4hXF~5jWcTEH=-r3xp_<5p582t8(1Tku1MIylLk||SD?L)=!D9Af zn#hC2?9oiJs4+`B}oQ&V(K;VK-;O{48m=Bhnr$X{WIa zJy_E2&x9TNFU@?a_ZJx%DrGnu9B>nuYLma!wN6nU_WouG+4 zSjJw>gdQwwi>ie_`z*7po#3JT@N)K2P2|Dy_I^$1!3&w??a!IegXQfDn#hCY?JJtd zgXQh(9=Zzk>QyWB;IEk#>?WGvZyYKbB`VnMnO>_#^-meKg_8G5j?-H!>+ z;>z|2P2|DK_Aw^(U=_PsjY1Dz&8%V%^iY0yReQH4@?bUlCr#)<(XpC+lL*_Z>|&b8gVpTj9(oAstNamkL=?RQA#OiQdBTiyPEsZj>fPA2?oo$B^srjK$0 zMRogIrXO>nL=F3AB7uLiUc99gcjTrT`_iv0*vo7^bzs9lpt)XjAO z1+#2+&b5d~?Pi+D*N@tfn$XwfJ3eNgWf}VVaohDcc^-ZJxZPC~`TBADDiiv;raii5 zp|2n6Sko3y6jFZp6ZU3J7B;#6bt)0kyz3go^WCR&ax93 zYn-+1618xgxz4XMOppaJ{gwewxUicLi61iH2^V&Imf@^X$L`F8vql|zC=<>ab?xz7 z4`+?K_8d(Vhr0F(O&Et}9qZZUYh&;9-I4nCTqcY|eS486ibH+-u{z{yj6<-!nkmRt zyJN6jtuD#%Sr`rMRhlRc4ed*s$h!^gpEPBQGVuPdp)KlZ+hOJ55RGi7Cin!^zkhHe z`*AN>W4j*9BCK`6jqTQ6vJg9xWo_&o!69~6FIf}&S(bIPzYT6;kMoi>vnR7`iFGfy znZ3wM*4$pfvhP9G+&)I++%>DE-NHW0w0~APtA%}use9--|0nIAnEHnHt@EUPiwNv% zRHvnF)<~81 zC2JyIhuWE%vc(c(erBlM-AA*(kLEDe%r!TH<`^H%$v&F1JetQq^A#V>6+W74Jet3P z=KDUHJAE`iVa)pP)%PiDf)T!u587;+aVUI@=Q5vp$!L1<{>#@;3YD%#`8*O|fR@?Zu z(&J!-B_5vwOJ$#S@VL~+;Ysy)yS6*-dyn>?-ltf2_kw2}@QR|@NMKPkN z;Sq$_0c;^X4fkqx(75nwxZ>P^MJi85Xev$!se$kCOw2c^#`)AT|OXuU% zyrLtR;Ra}8EgEg%5!CtL@Bi0p(JWM6XU?>Gg}oHc8ziN3jmAS6MOM??@}QJ7|6Ye; z{ZDNT(c)p8VS-^xd1Z)&5&!S)7g?cv#{bp}Xv=RfPZ|Qg?hBUEkq7-5&>wZm4nm!J zF*t9dj>)ZgOWO|lJLv$JZInoZttn8`f_4G}ZQZ*=c(?QKG;#jNaXPtQnvp0^yz_^S zG)PA4=IJXD?e7dmEAWUEtM!!*_YFO>ImBQst(S??U2tu32ycCqDuGgyrQYXb(Z0cF zT+xxjbCyO(nZK(cw*RkNL!9c2$7!3TM_8mo{x7VBu`sxWqJ1eg>MLo}rq~W`Q3~&b zz}tmmBYpA`?JpmOR(l`$pX}3^i$(>{YSg1GrLQBj-(U`oiuP$WLi>UGiivqh)=9Be zkH5$phM2Cew%CgyuJprpXrDA`|F^nm(SLpf_2FEAt--aZ7iu5(4S`;QXGcSih5HZo z>)j*mZ<(_5O?13yzc3Su&a%R@8#N2houbyH$RB~8 zw7{Q*b^o<@Q|nm&M(4r0IFf(Y=7YyuLjD`NWhv-tP9DIm@0x**la1b6@3Ww(&L|v@ zgU5;OJH-E~Uc6hz3^Bw;ecsWvn{o!@Yw(=oy-zx{wxPJt%7>0eOv75EhT~`{L;h-u zvq#|!MrQ}LM(xmeaBJwZ*mpf&b0i)o?~y(oDXLpoi;j3-0cqr~HNz2-)O&<fErz4eRsrMM6CD!sEa#5H}r_8uqgKNyk!Ly?gYoTeM%8Mbz(cJ@=l}SEB#P z{)2Ws=%oj(`>R?Hdj7#9fA6=yYWcrf>z~vA&s+Zgn&g4M&!4~d5}mof!Tsx^>*@d7 z``-5cC;oZx4Epb#q2B%eRYd+?=fU@hc%(2c4@#-EzZ(C4e*Eu8^HPiJ9?X#cN&fub?91Cf|3tt4M4SKgn5q4LZsh-5%m4Jqy*>Zn{@>f> zEv5bc-dw%AG0x0KLhwEQeEoin-pSHBzf>l!Z@u>?j>aQc%b{!0*5D(kN%{_9>-UND z9(In`KE2Nk)^}#`?u{Xi!JR02Z)=D!eP^t{){oQ2i}t0M_9SX{fX|z#M=8d^yH2G? zZi?m2QA*>de(COz_k8m2>lWV6Bu%oS=$)+ZyIP7A`Hk*!(7hMh_x8X`^KhL1No)Up zRHiu81n(!)sOXa*inX^zd-Mt)TY#1Si|CC}sdz{CGVEL8PFM5^yic@0e2a0U zJA_h{7=soahpaP2aky(|={rld2!`X(+TUuD4%RYsE%?+!*P@t%=r%yhQWTtPEH>H1jrueNy!MJ<0=498r*1RnXXdeu8)A3US~lh%ep zJ{Qhc6?1T(wzl4A;0oNmDa;DoFTDFl z`&VWay&ow&Qlwu&&#Uz5=U;sW>OJS4eVo3>vKOvp4)L$|SRA6UzCZRd#K<9N>+J`M9kwPpnz&yWO}ZCXq*HhY`2QdA z_CI;4vc88;9`^PR9x+5iJ@e3f_}|m_ZqvIj8i{u=|G8!#J)hA0Nm)Uy741vW8|+d7 zHEBLE_)fcbUCJ4nABy(>y6y}5%Ij@~_xM}tyP&u=#0PV*-=cjfdg^<{q(f3VLLn$7fjjOL=Eecx!(r!5p~ zj3Zsa4e{W9Gu`8ZTUv+X8Da3sA7fXz-zvChpRV;dTKMIviMX8-`>*@B+IR3LXmpLX z!2^Y@;o9}z?c*20e^SO*q<>iyq464er0pm~xq`N1unBS#>z4qhpdABtun-^}-3z2FR4_^A-} z@?fq1*Yzoj{@x1j%=y=SLrm4{XF9&dg&w0eX-jJ-@?M7-65biX_Y0u-!_{ILy#H7x z{6tA8WuYWOsVD+OO(?ZRG0^}@O(?ZRao8^o`^90ulyHeMq7f8)Z3^W{Q4aRY!G1Z| zuOvc64besfiS|%jP@8E+}bG+@g-?48;YdJCtWcUC{@M3rc?|gG7BX42lcN zC@3#MiG@*&hvI^g3uOw7Vg?i!l-W?`Lx~k3Vj&b4l*Le%i)Laa6c?1YpsW+k#d;_% zD4U>c5iP_HC@v@;LD?r-iGxsFP!2&k3MCfG2@xjFKyg7i59J%tT3m+Wg7O2DpGCO% z1&RyGEhu-u1NWe~pcsxe!g90~{!m<^ttbw!B^~WVStu^iPE>@~DvtJ|1{4=~ttPzI zc0`E!P+THHG=kTrj!5w&6qkq;q43(q5hdC~aS3=P7QDtgqD2xE7kE1jUfqru(HV+M z#E9R7xFCv);dQwqS?qxF5fqn57W?4!pd&>bg5nY>;wZeHaHNVeP+THaoQKzM9BJ@( za%sS6@bJVmcu-)vxCg~0(uHB93(If`e<=9BIJ}lLGDKM@E|DQB!fO@7Eowli3B?5& zR2yFF8=0aJl%`NzB2zpGuc1aq(FRI;C@#@aM8j*m(McphNrU1NorD`+I~$!vcPP(5 zaX~irf!F><7cmIRFeon3MT~;imyE7rJd|80F40v?f!7&EH!&N^d?+r_O)P}h#YT6r z9EuAvdL_KRW%LkRptwX2u>)Q|GJ1-mP+X#?I03I`j9%ifqpvvT=nrLp_`w(iJQ_-l zxMk#sJ5YXxat}(P$PtFj5hXyj49YKX%#ss9XCmlK1f7YXGfC8tlSEA@wV@#Y1ZA0H zlBf^d2uf2ZPs*ucI{dE!nVK(ei^H-&9Fq=*pThxBk`8|<9mS!*JmFa8@OOkte>m>% zSSCt2Rys;KT=4o9ysmSUcC3fu5~UrR;B||moZ}ZLFc&y(!RsAICC56W5^yEQdU)Mr zRCerx;u4h|2jTUQQN?i{iVL#;8+g5J)P#LMfqzL-0=A~8p!ci8)?YN#`z>G_2&Xx6YdQl-aW;K2P?niTY}|lJs@DGhwO?lT%V^D1{6g)IhesRhXm8|e zpIko1TA_7}pKerX`L)GHg?4m&iLqC_FezW`6@Q;NALR#bnr}3rz6F^#eTz^|TUTLJ zTOYon7M#5LNwClL4aPa~+mhEnXG{>BKj9rC9Q*$R^e}zcapN(JEe1Wvv28)wDXO$R zD-GK&t>@H8@Rfls@cDspVC0}gTdmc0PpowlvCjJJs$oW*bzm;$FQ!Z*Q)U`z=^m~r zTkWUvUXe1Q0lgiK+y~B&{>-*lbWQ%!){Lc!cvbsws>j}JmG@?|^-y^?dkgKW7OUKE zd&QcY2HDSv`>Ti8cWINCUkU!UWUReP`}@QOTa_l3O~%sSmQ1s^TCYi(XU9CbxxkaI)l7;+x;4BBtQ z4SCDGYSkj4|TaA_sKG2 zZSUD(>xBF!;4)fcy(Y^A`0jrq`V>q55mt@f-V3WmZ=XAAsnsT9yZ&R?CSzmFIZ)1r zTgQ9gYnvF*K9e0QCM|nBQ$(XC5(fFb4;qYc;<~bUTG03z~|E;vH7WDs0c&j02qi&)8 zTMhimoTJr{^Dws>a?a{j?5j3V&Pv^C$eEQ}XnSKpf%rXUblS^w{NWvQ9W~zk+aT*BXc$~hx*K+K6C7H#@XTad(r1`^y!TnZkKb(=Gf)jv%~H8pts?6 zIiKusdoubNZkMykj-nn$*}sk-fU=xJc9dPt9XrY{=Zr0|uS2T>^foK1z%FNl9c7oZ z$I7+;Evk^(7E;?nyPOZU2$>J`W@pwKqlmCu%Nw(4BMba<Mm8F@v^n6;-t$oB+ujSn4|<f+i@^Pudv%QM)1yF7#Kx689uvt6G5TQCpHFr$@5)ohnDsJEgH z&eB+#5Y~>R*pK@o}6gyN_Aw0+snRMYxMSpKW2u}(xyF%uwF%^(%KWSz4IJx^bFEQd$LXYb?N;vd+C))DfW^g7E{e-7|$@H8s$SVwbVnc zW7zs1QI_+qE~7ftl-Wcz>l`o5t8msik|vD|uXFsmG@?rx?ehkQJeC^isAzP^qiYXk z_ETm*Wtu6|LYWrIv{I&>GVPRUaL8k353!lpN<2wCgYmS5pK-|JT$UAahVI!;D(hkL zc|1H!J}x|A^7u>$lSg|(m^}Vd!(`8Tm^^;;F!{_YkCPR#8Da8xtJ03*-l@`_E7%a5 z6DE(1;b24TC{Pgv#6sezF!_vDKrAGV3X{)n1;j$)s4)5LRzNHyjtY~{i3P+$;;1nB zJXk<1B#sJ`&yNMfLShlt_@R9!*bsY+?#;QBDW}Y0Dlen*Ia>Ov_QBMwILVy2diCJa zq2TVN^XYM_h;uj+X42zyBI;Dk&xw<-5^s!?kF}ZZYU-_)dfP|M;e zwaRm8sRFWeI@$C-fqhxSye;{oxk8ZNiX6E3&Q6E3&Q6E3&Q6E3$XgX-r{{axzy z3yZq#Qr})Wqg%bYzWDZTuj0{n2Qt@XF6<^>H^zuvw6|YXhh4rDdAV1IQxBuK2h6V3 ztpH^lQMBFyT5kcZw}94LK;tZ+wHH#`B5FI6%5$k)4l1IYdMKwJ%BhEP>Y$gvs+!8RRNh48Ix06%xsl2lw8t`NkL{uSe#$pfxrNH7=}2p(Ogm*xQuz#(J7{Sq zW%LNTFTfA&9x5kLIhD#8RL-ID@Cf;+92Fs7T^E2Ij>3pzx;vpTVq;7qC}&44qWXmq zhwUSfku#*uq)d~h4f7?;jgXJ-xe@ZQd_WHMOcGZX(tZ z8;I4^TP<-Dv5we4tfsZp5;qa+hz*>VYu`j;s3SHItC@0CwKTR(#5!UFv6@C(OWZ`P zBQ|heZp9|rmO5esv6|S3k$-6412)9&r>$rvwh;Hz$eW2R#QikdW?~C*KaH@N*h1V- zqiQC$5cktanu#sM{j~OGVhgbqYy8mO4mQM|q_v-8Jy7)KNKs%6LJDo-;taS|Dab%6mVDm=P(DfgEB+q`WV3h#8S`&*u;` zBIQw$L(GVjdo_nRocbR{{TEQVkjh1%B8sU0BI>z_`YfW}im0C=>R~3enoF(9sl1rV z%TWKZ#AT@8V5_ElE#)^+eiP;EDBnQ&M#?u*eh=mMQ@)w<&6IDUd@JSKDc?@{laxP0 z`A*7rQeKaedomnsi1kFt@pz)-coHa|O8E@RXHY(e^1~@V3RJ|XD7l|UMaexp3N^n2 z z{wR6wYC!&<$<35+j*_o`_D9Lr7}@IE6ZUyp&^F)EN;TVwt+cc~O1@%gr*f6H3$H!o zD{6W5=DC6)_H)Yii577tN}kg?qvR~Kx>JrVo$5$_;>w7W=e=;`@z{x!S1J;m^4h{& zdhB#kCY6?EIOT6(<)Dn?-zmpDoXhgH;wYzlMlPV5g~TGK{M)3N_D>`AGZT4l@?2V4 zPFze}Myv+=_pAjK(WG_XFsJ7xr`%U{PPwmYopNt9IOS*?F_J&R_fXkGc{kpZDxa4> zadmQ^KRx_VYLm9$!JS~?%J))rm)vhn+QFeGQp2h2Atn%0i7hmS442%N9GBb{+4JUJ zElzpgwO}Ok9Ls3`q^R=mvfZbtd$p>y5M80S1ki%Z_)tyI5-MpdOxz%PfMR?ne+lREH5J*`RYyTJoKh0&g& zzXIA_n^z4^J41gbo^;9AcxUMEh%+>XGcNh)>!jW~UC}ig(md`%<&9|xZh7COy6JBL zxBR<6cgsggC-&z&M}pgIC0|c=y5v3EN%u&ntNzwc(=yyLljEkxj=OejxAYvhoab{m zGV=KO;bB*JhFfk+hMTS#y8p4dB;A8@S^6lfORhyOZKA)tQqc;JIQQHUu~v`!!PSBE z47a@Z3*1xGm(vT}8)FWDa(2){>c5CM6Eyl3xL?&WKsj6JT*`O49ojW zbs24MC+?l+`g+{*UdteMy2g~f*|*v)_nXHpud!FV<^J@z0zfPCD%9??UJ;MXyxN_f}(mg|7!NzNTi`?gDaK-+7zcUuO_s-zD z{ga?PkF{FlXj_e2)(y*OH42GOR#!OX)x}s`U2*ip^$kP*4ql@%|C$Dyyt?}!YRccV zdsRDCiW?}t08~$uGNsg3|ELN)gK@u|GI3(c<}9Q_w!5T^-MD_uQIjbn(ZO< zL+?-+@)zV<>3Z*8p(Y>CIHDgf`ynGm3CFt+)z)89&Y=9$Dh1_VZ?xg zJ(1ydc`Y~GUOi$(WGl65b<5-V4At)>>e1Ae=piN$Q;8YT@|t8$v^?8nM9V9a!=vSu z#%f2#uwlk1)WI`&w7k+dQ>5L9=LlL_NclqKy-`Kc@*3bw%FIM&R@B^RdCZqnelGH{ z*16I0-Gs$dXEEyNxJo8_-cLNHC*C!<|FUR#FE5LhkA-9U-&bARznU^l>aO|I`q!fE zhxSdxI^r_wts$D8Q=;iPg))1hubzm%E@_SXX(aoj<$D}^_`M7{l0DJww;~h$%%ovP zlUBL<@~mcR+l;X#CbUG$vqTHpeol{Br)Z`A+o?`_bpOIRk?qlP_O_FhIf=}JD9bt9 zIw{kM%yyLJOl{#FxuxMAStr~h=VvRT=OYj0J;)!;@_6LjY|V5gOr?A(@@KMAJ#t>Q z3{U&C$N_D1r6obUKg~TLK}?*M48AdK5cugdFL?X3@!UV51=)o9$Nl zIBmDea;^L6_ypwTfwP7u|r)p$RQfk)yV8r9|0TH$HBv> zuZdPQFbJRJQh&f2Pf-s-llv-MlVeCGrfPB|X__2Kh9<{6K$Bz6(d3xNQXL<0HflOV zxwZpbpzQ(|YpUz6*trk>YQ%}vBQ>Uk&iyoY)|Ks_I(o(}P>YSxILYM2c z>2hB=b$JiQ>HAPl)enFf`Ul`}U50Z|5$jfQzVp_V4mOe_E0A(6b zwu|RP> zbFjUJ>@C%hGcca;@NBt%!Y>Cs z;c}nHh0A@O94^96^6ne0WGw8uC&Y}mq=tK{8A)?xm(W7J!-YB`2QBiU&W259+ z3Zmp%CZGyC5NyfQk{REe+pGxI4DrdN4s{t-Kk{p-Z#v!g@*xunT zFX(lR21mKB0mr(=g9WZau!#EfQ9m=OpV=-shPl++oh~`fa+e�+-y<#nivwCAV~$ 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 z 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

cU$mS4=`!^rG; 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 literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.dll.meta b/Plugins/LC.Google.Protobuf.dll.meta new file mode 100644 index 0000000..5963ac2 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 7b13d1cfd626c4272a39598c1ef53fd8 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.pdb b/Plugins/LC.Google.Protobuf.pdb new file mode 100644 index 0000000000000000000000000000000000000000..4028af043798a3a79ea431e348c46fc52313c289 GIT binary patch literal 142288 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�NxNkJ^79^Pv&x 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 + + + LC.Google.Protobuf + + + +

+ Provides a utility routine to copy small arrays much more quickly than Buffer.BlockCopy + + + + + The threshold above which you should use Buffer.BlockCopy rather than ByteArray.Copy + + + + + Determines which copy routine to use based on the number of bytes to be copied. + + + + + Reverses the order of bytes in the array + + + + + Immutable array of bytes. + + + + + Unsafe operations that can cause IO Failure and/or other catastrophic side-effects. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Internal use only. Ensure that the provided array is not mutated and belongs to this instance. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Returns an empty ByteString. + + + + + Returns the length of this ByteString in bytes. + + + + + Returns true if this byte string is empty, false otherwise. + + + + + Converts this into a byte array. + + The data is copied - changes to the returned array will not be reflected in this ByteString. + A byte array with the same data as this ByteString. + + + + Converts this into a standard base64 representation. + + A base64 representation of this ByteString. + + + + Constructs a from the Base64 Encoded String. + + + + + Constructs a from data in the given stream, synchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + A ByteString with content read from the given stream. + + + + Constructs a from data in the given stream, asynchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + The cancellation token to use when reading from the stream, if any. + A ByteString with content read from the given stream. + + + + Constructs a from the given array. The contents + are copied, so further modifications to the array will not + be reflected in the returned ByteString. + This method can also be invoked in ByteString.CopyFrom(0xaa, 0xbb, ...) form + which is primarily useful for testing. + + + + + Constructs a from a portion of a byte array. + + + + + Creates a new by encoding the specified text with + the given encoding. + + + + + Creates a new by encoding the specified text in UTF-8. + + + + + Retuns the byte at the given index. + + + + + Converts this into a string by applying the given encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with the given encoding. + + The encoding to use to decode the binary data into text. + The result of decoding the binary data with the given decoding. + + + + Converts this into a string by applying the UTF-8 encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with UTF-8. + + The result of decoding the binary data with the given decoding. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Creates a CodedInputStream from this ByteString's data. + + + + + Compares two byte strings for equality. + + The first byte string to compare. + The second byte string to compare. + true if the byte strings are equal; false otherwise. + + + + Compares two byte strings for inequality. + + The first byte string to compare. + The second byte string to compare. + false if the byte strings are equal; true otherwise. + + + + Compares this byte string with another object. + + The object to compare this with. + true if refers to an equal ; false otherwise. + + + + Returns a hash code for this object. Two equal byte strings + will return the same hash code. + + A hash code for this object. + + + + Compares this byte string with another. + + The to compare this with. + true if refers to an equal byte string; false otherwise. + + + + Used internally by CodedOutputStream to avoid creating a copy for the write + + + + + Copies the entire byte array to the destination array provided at the offset specified. + + + + + Writes the entire byte array to the provided stream + + + + + Reads and decodes protocol message fields. + + + + This class is generally used by generated code to read appropriate + primitives from the stream. It effectively encapsulates the lowest + levels of protocol buffer format. + + + Repeated fields and map fields are not handled by this class; use + and to serialize such fields. + + + + + + Whether to leave the underlying stream open when disposing of this stream. + This is always true when there's no stream. + + + + + Buffer of data read from the stream or provided at construction time. + + + + + The index of the buffer at which we need to refill from the stream (if there is one). + + + + + The position within the current buffer (i.e. the next byte to read) + + + + + The stream to read further input from, or null if the byte array buffer was provided + directly on construction, with no further data available. + + + + + The last tag we read. 0 indicates we've read to the end of the stream + (or haven't read anything yet). + + + + + The next tag, used to store the value read by PeekTag. + + + + + The total number of bytes read before the current buffer. The + total bytes read up to the current position can be computed as + totalBytesRetired + bufferPos. + + + + + The absolute position of the end of the current message. + + + + + Creates a new CodedInputStream reading data from the given byte array. + + + + + Creates a new that reads from the given byte array slice. + + + + + Creates a new reading data from the given stream, which will be disposed + when the returned object is disposed. + + The stream to read from. + + + + Creates a new reading data from the given stream. + + The stream to read from. + true to leave open when the returned + is disposed; false to dispose of the given stream when the + returned object is disposed. + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the default limits. + + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the specified limits. + + + This chains to the version with the default limits instead of vice versa to avoid + having to check that the default values are valid every time. + + + + + Creates a with the specified size and recursion limits, reading + from an input stream. + + + This method exists separately from the constructor to reduce the number of constructor overloads. + It is likely to be used considerably less frequently than the constructors, as the default limits + are suitable for most use cases. + + The input stream to read from + The total limit of data to read from the stream. + The maximum recursion depth to allow while reading. + A CodedInputStream reading from with the specified size + and recursion limits. + + + + Returns the current position in the input stream, or the position in the input buffer + + + + + Returns the last tag read, or 0 if no tags have been read or we've read beyond + the end of the stream. + + + + + Returns the size limit for this stream. + + + This limit is applied when reading from the underlying stream, as a sanity check. It is + not applied when reading from a byte array data source without an underlying stream. + The default value is Int32.MaxValue. + + + The size limit. + + + + + Returns the recursion limit for this stream. This limit is applied whilst reading messages, + to avoid maliciously-recursive data. + + + The default limit is 100. + + + The recursion limit for this stream. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Disposes of this instance, potentially closing any underlying stream. + + + As there is no flushing to perform here, disposing of a which + was constructed with the leaveOpen option parameter set to true (or one which + was constructed to read from a byte array) has no effect. + + + + + Verifies that the last call to ReadTag() returned tag 0 - in other words, + we've reached the end of the stream when we expected to. + + The + tag read was not the one specified + + + + Peeks at the next field tag. This is like calling , but the + tag is not consumed. (So a subsequent call to will return the + same value.) + + + + + Reads a field tag, returning the tag of 0 for "end of stream". + + + If this method returns 0, it doesn't necessarily mean the end of all + the data in this CodedInputStream; it may be the end of the logical stream + for an embedded message, for example. + + The next field tag, or 0 for end of stream. (0 is never a valid tag.) + + + + Skips the data for the field with the tag we've just read. + This should be called directly after , when + the caller wishes to skip an unknown field. + + + This method throws if the last-read tag was an end-group tag. + If a caller wishes to skip a group, they should skip the whole group, by calling this method after reading the + start-group tag. This behavior allows callers to call this method on any field they don't understand, correctly + resulting in an error if an end-group tag has not been paired with an earlier start-group tag. + + The last tag was an end-group tag + The last read operation read to the end of the logical stream + + + + Skip a group. + + + + + Reads a double field from the stream. + + + + + Reads a float field from the stream. + + + + + Reads a uint64 field from the stream. + + + + + Reads an int64 field from the stream. + + + + + Reads an int32 field from the stream. + + + + + Reads a fixed64 field from the stream. + + + + + Reads a fixed32 field from the stream. + + + + + Reads a bool field from the stream. + + + + + Reads a string field from the stream. + + + + + Reads an embedded message field value from the stream. + + + + + Reads an embedded group field from the stream. + + + + + Reads an embedded group unknown field from the stream. + + + + + Reads a bytes field value from the stream. + + + + + Reads a uint32 field value from the stream. + + + + + Reads an enum field value from the stream. + + + + + Reads an sfixed32 field value from the stream. + + + + + Reads an sfixed64 field value from the stream. + + + + + Reads an sint32 field value from the stream. + + + + + Reads an sint64 field value from the stream. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + Peeks at the next tag in the stream. If it matches , + the tag is consumed and the method returns true; otherwise, the + stream is left in the original position and the method returns false. + + + + + Same code as ReadRawVarint32, but read each byte individually, checking for + buffer overflow. + + + + + Reads a raw Varint from the stream. If larger than 32 bits, discard the upper bits. + This method is optimised for the case where we've got lots of data in the buffer. + That means we can check the size just once, then just read directly from the buffer + without constant rechecking of the buffer length. + + + + + Reads a varint from the input one byte at a time, so that it does not + read any bytes after the end of the varint. If you simply wrapped the + stream in a CodedInputStream and used ReadRawVarint32(Stream) + then you would probably end up reading past the end of the varint since + CodedInputStream buffers its input. + + + + + + + Reads a raw varint from the stream. + + + + + Reads a 32-bit little-endian integer from the stream. + + + + + Reads a 64-bit little-endian integer from the stream. + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Sets currentLimit to (current position) + byteLimit. This is called + when descending into a length-delimited embedded message. The previous + limit is returned. + + The old limit. + + + + Discards the current limit, returning the previous limit. + + + + + Returns whether or not all the data before the limit has been read. + + + + + + Returns true if the stream has reached the end of the input. This is the + case if either the end of the underlying input source has been reached or + the stream has reached a limit created using PushLimit. + + + + + Called when buffer is empty to read more bytes from the + input. If is true, RefillBuffer() gurantees that + either there will be at least one byte in the buffer when it returns + or it will throw an exception. If is false, + RefillBuffer() returns false if no more bytes were available. + + + + + + + Read one byte from the input. + + + the end of the stream or the current limit was reached + + + + + Reads a fixed size of bytes from the input. + + + the end of the stream or the current limit was reached + + + + + Reads and discards bytes. + + the end of the stream + or the current limit was reached + + + + Abstraction of skipping to cope with streams which can't really skip. + + + + + Encodes and writes protocol message fields. + + + + This class is generally used by generated code to write appropriate + primitives to the stream. It effectively encapsulates the lowest + levels of protocol buffer format. Unlike some other implementations, + this does not include combined "write tag and value" methods. Generated + code knows the exact byte representations of the tags they're going to write, + so there's no need to re-encode them each time. Manually-written code calling + this class should just call one of the WriteTag overloads before each value. + + + Repeated fields and map fields are not handled by this class; use RepeatedField<T> + and MapField<TKey, TValue> to serialize such fields. + + + + + + Computes the number of bytes that would be needed to encode a + double field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + float field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bool field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + string field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + group field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + embedded message field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bytes field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + enum field, including the tag. The caller is responsible for + converting the enum value to its numeric value. + + + + + Computes the number of bytes that would be needed to encode an + sfixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sfixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a length, + as written by . + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a tag. + + + + + The buffer size used by CreateInstance(Stream). + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array slice. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new which write to the given stream, and disposes of that + stream when the returned CodedOutputStream is disposed. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + The size of buffer to use internally. + + + + Creates a new CodedOutputStream which write to the given stream. + + The stream to write to. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. + The size of buffer to use internally. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Returns the current position in the stream, or the position in the output buffer + + + + + Writes a double field value, without a tag, to the stream. + + The value to write + + + + Writes a float field value, without a tag, to the stream. + + The value to write + + + + Writes a uint64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int32 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed64 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed32 field value, without a tag, to the stream. + + The value to write + + + + Writes a bool field value, without a tag, to the stream. + + The value to write + + + + Writes a string field value, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a group, without a tag, to the stream. + + The value to write + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a uint32 value, without a tag, to the stream. + + The value to write + + + + Writes an enum value, without a tag, to the stream. + + The value to write + + + + Writes an sfixed32 value, without a tag, to the stream. + + The value to write. + + + + Writes an sfixed64 value, without a tag, to the stream. + + The value to write + + + + Writes an sint32 value, without a tag, to the stream. + + The value to write + + + + Writes an sint64 value, without a tag, to the stream. + + The value to write + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + Length value, in bytes. + + + + Encodes and writes a tag. + + The number of the field to write the tag for + The wire format type of the tag to write + + + + Writes an already-encoded tag. + + The encoded tag + + + + Writes the given single-byte tag directly to the stream. + + The encoded tag + + + + Writes the given two-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + + + + Writes the given three-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + + + + Writes the given four-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + + + + Writes the given five-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + The fifth byte of the encoded tag + + + + Writes a 32 bit value as a varint. The fast route is taken when + there's enough buffer space left to whizz through without checking + for each byte; otherwise, we resort to calling WriteRawByte each time. + + + + + Writes out an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Encode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Encode a 64-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Indicates that a CodedOutputStream wrapping a flat byte array + ran out of space. + + + + + Flushes any buffered data and optionally closes the underlying stream, if any. + + + + By default, any underlying stream is closed by this method. To configure this behaviour, + use a constructor overload with a leaveOpen parameter. If this instance does not + have an underlying stream, this method does nothing. + + + For the sake of efficiency, calling this method does not prevent future write calls - but + if a later write ends up writing to a stream which has been disposed, that is likely to + fail. It is recommend that you not call any other methods after this. + + + + + + Flushes any buffered data to the underlying stream (if there is one). + + + + + Verifies that SpaceLeft returns zero. It's common to create a byte array + that is exactly big enough to hold a message, then write to it with + a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that + the message was actually as big as expected, which can help bugs. + + + + + If writing to a flat array, returns the space left in the array. Otherwise, + throws an InvalidOperationException. + + + + + Utility to compare if two Lists are the same, and the hash code + of a List. + + + + + Checks if two lists are equal. + + + + + Gets the list's hash code. + + + + + Representation of a map field in a Protocol Buffer message. + + Key type in the map. Must be a type supported by Protocol Buffer map keys. + Value type in the map. Must be a type supported by Protocol Buffers. + + + For string keys, the equality comparison is provided by . + + + Null values are not permitted in the map, either for wrapper types or regular messages. + If a map is deserialized from a data stream and the value is missing from an entry, a default value + is created instead. For primitive types, that is the regular default value (0, the empty string and so + on); for message types, an empty instance of the message is created, as if the map entry contained a 0-length + encoded value for the field. + + + This implementation does not generally prohibit the use of key/value types which are not + supported by Protocol Buffers (e.g. using a key type of byte) but nor does it guarantee + that all operations will work in such cases. + + + The order in which entries are returned when iterating over this object is undefined, and may change + in future versions. + + + + + + Creates a deep clone of this object. + + + A deep clone of this object. + + + + + Adds the specified key/value pair to the map. + + + This operation fails if the key already exists in the map. To replace an existing entry, use the indexer. + + The key to add + The value to add. + The given key already exists in map. + + + + Determines whether the specified key is present in the map. + + The key to check. + true if the map contains the given key; false otherwise. + + + + Removes the entry identified by the given key from the map. + + The key indicating the entry to remove from the map. + true if the map contained the given key before the entry was removed; false otherwise. + + + + Gets the value associated with the specified key. + + The key whose value to get. + When this method returns, the value associated with the specified key, if the key is found; + otherwise, the default value for the type of the parameter. + This parameter is passed uninitialized. + true if the map contains an element with the specified key; otherwise, false. + + + + Gets or sets the value associated with the specified key. + + The key of the value to get or set. + The property is retrieved and key does not exist in the collection. + The value associated with the specified key. If the specified key is not found, + a get operation throws a , and a set operation creates a new element with the specified key. + + + + Gets a collection containing the keys in the map. + + + + + Gets a collection containing the values in the map. + + + + + Adds the specified entries to the map. The keys and values are not automatically cloned. + + The entries to add to the map. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Adds the specified item to the map. + + The item to add to the map. + + + + Removes all items from the map. + + + + + Determines whether map contains an entry equivalent to the given key/value pair. + + The key/value pair to find. + + + + + Copies the key/value pairs in this map to an array. + + The array to copy the entries into. + The index of the array at which to start copying values. + + + + Removes the specified key/value pair from the map. + + Both the key and the value must be found for the entry to be removed. + The key/value pair to remove. + true if the key/value pair was found and removed; false otherwise. + + + + Gets the number of elements contained in the map. + + + + + Gets a value indicating whether the map is read-only. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this map with another for equality. + + + The order of the key/value pairs in the maps is not deemed significant in this comparison. + + The map to compare this with. + true if refers to an equal map; false otherwise. + + + + Adds entries to the map from the given stream. + + + It is assumed that the stream is initially positioned after the tag specified by the codec. + This method will continue reading entries from the stream until the end is reached, or + a different tag is encountered. + + Stream to read from + Codec describing how the key/value pairs are encoded + + + + Writes the contents of this map to the given coded output stream, using the specified codec + to encode each entry. + + The output stream to write to. + The codec to use for each entry. + + + + Calculates the size of this map based on the given entry codec. + + The codec to use to encode each entry. + + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + A codec for a specific map field. This contains all the information required to encode and + decode the nested messages. + + + + + Creates a new entry codec based on a separate key codec and value codec, + and the tag to use for each map entry. + + The key codec. + The value codec. + The map tag to use to introduce each map entry. + + + + The tag used in the enclosing message to indicate map entries. + + + + + A mutable message class, used for parsing and serializing. This + delegates the work to a codec, but implements the interface + for interop with and . + This is nested inside Codec as it's tightly coupled to the associated codec, + and it's simpler if it has direct access to all its fields. + + + + + Provides a central place to implement equality comparisons, primarily for bitwise float/double equality. + + + + + Returns an equality comparer for suitable for Protobuf equality comparisons. + This is usually just the default equality comparer for the type, but floating point numbers are compared + bitwise. + + The type of equality comparer to return. + The equality comparer. + + + + Returns an equality comparer suitable for comparing 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Read-only wrapper around another dictionary. + + + + + The contents of a repeated field: essentially, a collection with some extra + restrictions (no null values) and capabilities (deep cloning). + + + This implementation does not generally prohibit the use of types which are not + supported by Protocol Buffers but nor does it guarantee that all operations will work in such cases. + + The element type of the repeated field. + + + + Creates a deep clone of this repeated field. + + + If the field type is + a message type, each element is also cloned; otherwise, it is + assumed that the field type is primitive (including string and + bytes, both of which are immutable) and so a simple copy is + equivalent to a deep clone. + + A deep clone of this repeated field. + + + + Adds the entries from the given input stream, decoding them with the specified codec. + + The input stream to read from. + The codec to use in order to read each entry. + + + + Calculates the size of this collection based on the given codec. + + The codec to use when encoding each field. + The number of bytes that would be written to a by , + using the same codec. + + + + Writes the contents of this collection to the given , + encoding each value using the specified codec. + + The output stream to write to. + The codec to use when encoding each value. + + + + Gets and sets the capacity of the RepeatedField's internal array. WHen set, the internal array is reallocated to the given capacity. + The new value is less than Count -or- when Count is less than 0. + + + + + Adds the specified item to the collection. + + The item to add. + + + + Removes all items from the collection. + + + + + Determines whether this collection contains the given item. + + The item to find. + true if this collection contains the given item; false otherwise. + + + + Copies this collection to the given array. + + The array to copy to. + The first index of the array to copy to. + + + + Removes the specified item from the collection + + The item to remove. + true if the item was found and removed; false otherwise. + + + + Gets the number of elements contained in the collection. + + + + + Gets a value indicating whether the collection is read-only. + + + + + Adds all of the specified values into this collection. + + The values to add to this collection. + + + + Adds all of the specified values into this collection. This method is present to + allow repeated fields to be constructed from queries within collection initializers. + Within non-collection-initializer code, consider using the equivalent + method instead for clarity. + + The values to add to this collection. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this repeated field with another for equality. + + The repeated field to compare this with. + true if refers to an equal repeated field; false otherwise. + + + + Returns the index of the given item within the collection, or -1 if the item is not + present. + + The item to find in the collection. + The zero-based index of the item, or -1 if it is not found. + + + + Inserts the given item at the specified index. + + The index at which to insert the item. + The item to insert. + + + + Removes the item at the given index. + + The zero-based index of the item to remove. + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + Gets or sets the item at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + The item at the specified index. + + + + Extension methods for , effectively providing + the familiar members from previous desktop framework versions while + targeting the newer releases, .NET Core etc. + + + + + Returns the public getter of a property, or null if there is no such getter + (either because it's read-only, or the getter isn't public). + + + + + Returns the public setter of a property, or null if there is no such setter + (either because it's write-only, or the setter isn't public). + + + + + Provides extension methods on Type that just proxy to TypeInfo. + These are used to support the new type system from .NET 4.5, without + having calls to GetTypeInfo all over the place. While the methods here are meant to be + broadly compatible with the desktop framework, there are some subtle differences in behaviour - but + they're not expected to affect our use cases. While the class is internal, that should be fine: we can + evaluate each new use appropriately. + + + + + See https://msdn.microsoft.com/en-us/library/system.type.isassignablefrom + + + + + Returns a representation of the public property associated with the given name in the given type, + including inherited properties or null if there is no such public property. + Here, "public property" means a property where either the getter, or the setter, or both, is public. + + + + + Returns a representation of the public method associated with the given name in the given type, + including inherited methods. + + + This has a few differences compared with Type.GetMethod in the desktop framework. It will throw + if there is an ambiguous match even between a private method and a public one, but it *won't* throw + if there are two overloads at different levels in the type hierarchy (e.g. class Base declares public void Foo(int) and + class Child : Base declares public void Foo(long)). + + One type in the hierarchy declared more than one method with the same name + + + + Represents a non-generic extension definition. This API is experimental and subject to change. + + + + + Internal use. Creates a new extension with the specified field number. + + + + + Gets the field number of this extension + + + + + Represents a type-safe extension identifier used for getting and setting single extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The field value type of this extension + + + + Creates a new extension identifier with the specified field number and codec + + + + + Represents a type-safe extension identifier used for getting repeated extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The repeated field value type of this extension + + + + Creates a new repeated extension identifier with the specified field number and codec + + + + + Provides extensions to messages while parsing. This API is experimental and subject to change. + + + + + Creates a new empty extension registry + + + + + Gets the total number of extensions in this extension registry + + + + + Returns whether the registry is readonly + + + + + Adds the specified extension to the registry + + + + + Adds the specified extensions to the registry + + + + + Clears the registry of all values + + + + + Gets whether the extension registry contains the specified extension + + + + + Copies the arrays in the registry set to the specified array at the specified index + + The array to copy to + The array index to start at + + + + Returns an enumerator to enumerate through the items in the registry + + Returns an enumerator for the extensions in this registry + + + + Removes the specified extension from the set + + The extension + true if the extension was removed, otherwise false + + + + Clones the registry into a new registry + + + + + Methods for managing s with null checking. + + Most users will not use this class directly and its API is experimental and subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if it doesn't exist in this set + + + + + Gets the value of the specified repeated extension, registering it if it doesn't exist + + + + + Sets the value of the specified extension. This will make a new instance of ExtensionSet if the set is null. + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified extension + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Merges the second set into the first set, creating a new instance if first is null + + + + + Clones the set into a new set. If the set is null, this returns null + + + + + Used for keeping track of extensions in messages. + methods route to this set. + + Most users will not need to use this class directly + + The message type that extensions in this set target + + + + Gets a hash code of the set + + + + + Returns whether this set is equal to the other object + + + + + Calculates the size of this extension set + + + + + Writes the extension values in this set to the output stream + + + + + Factory methods for . + + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + A codec for the given tag. + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a message field with the given tag. + + The tag. + A parser to use for the message type. + A codec for the given tag. + + + + Retrieves a codec suitable for a group field with the given tag. + + The start group tag. + The end group tag. + A parser to use for the group message type. + A codec for given tag + + + + Creates a codec for a wrapper type of a class - which must be string or ByteString. + + + + + Creates a codec for a wrapper type of a struct - which must be Int32, Int64, UInt32, UInt64, + Bool, Single or Double. + + + + + Helper code to create codecs for wrapper types. + + + Somewhat ugly with all the static methods, but the conversions involved to/from nullable types make it + slightly tricky to improve. So long as we keep the public API (ForClassWrapper, ForStructWrapper) in place, + we can refactor later if we come up with something cleaner. + + + + + Returns a field codec which effectively wraps a value of type T in a message. + + + + + + + An encode/decode pair for a single field. This effectively encapsulates + all the information needed to read or write the field value from/to a coded + stream. + + + This class is public and has to be as it is used by generated code, but its public + API is very limited - just what the generated code needs to call directly. + + + + This never writes default values to the stream, and does not address "packedness" + in repeated fields itself, other than to know whether or not the field *should* be packed. + + + + + Merges an input stream into a value + + + + + Merges a value into a reference to another value, returning a boolean if the value was set + + + + + Returns a delegate to write a value (unconditionally) to a coded output stream. + + + + + Returns the size calculator for just a value. + + + + + Returns a delegate to read a value from a coded input stream. It is assumed that + the stream is already positioned on the appropriate tag. + + + + + Returns a delegate to merge a value from a coded input stream. + It is assumed that the stream is already positioned on the appropriate tag + + + + + Returns a delegate to merge two values together. + + + + + Returns the fixed size for an entry, or 0 if sizes vary. + + + + + Gets the tag of the codec. + + + The tag of the codec. + + + + + Gets the end tag of the codec or 0 if there is no end tag + + + The end tag of the codec. + + + + + Default value for this codec. Usually the same for every instance of the same type, but + for string/ByteString wrapper fields the codec's default value is null, whereas for + other string/ByteString fields it's "" or ByteString.Empty. + + + The default value of the codec's type. + + + + + Write a tag and the given value, *if* the value is not the default. + + + + + Reads a value of the codec type from the given . + + The input stream to read from. + The value read from the stream. + + + + Calculates the size required to write the given value, with a tag, + if the value is not the default. + + + + + A tree representation of a FieldMask. Each leaf node in this tree represent + a field path in the FieldMask. + + For example, FieldMask "foo.bar,foo.baz,bar.baz" as a tree will be: + + [root] -+- foo -+- bar + | | + | +- baz + | + +- bar --- baz + + + By representing FieldMasks with this tree structure we can easily convert + a FieldMask to a canonical form, merge two FieldMasks, calculate the + intersection to two FieldMasks and traverse all fields specified by the + FieldMask in a message tree. + + + + + Creates an empty FieldMaskTree. + + + + + Creates a FieldMaskTree for a given FieldMask. + + + + + Adds a field path to the tree. In a FieldMask, every field path matches the + specified field as well as all its sub-fields. For example, a field path + "foo.bar" matches field "foo.bar" and also "foo.bar.baz", etc. When adding + a field path to the tree, redundant sub-paths will be removed. That is, + after adding "foo.bar" to the tree, "foo.bar.baz" will be removed if it + exists, which will turn the tree node for "foo.bar" to a leaf node. + Likewise, if the field path to add is a sub-path of an existing leaf node, + nothing will be changed in the tree. + + + + + Merges all field paths in a FieldMask into this tree. + + + + + Converts this tree to a FieldMask. + + + + + Gathers all field paths in a sub-tree. + + + + + Adds the intersection of this tree with the given to . + + + + + Merges all fields specified by this FieldMaskTree from to . + + + + + Merges all fields specified by a sub-tree from to . + + + + + Class containing helpful workarounds for various platform compatibility + + + + + A message type that has a custom string format for diagnostic purposes. + + + + Calling on a generated message type normally + returns the JSON representation. If a message type implements this interface, + then the method will be called instead of the regular + JSON formatting code, but only when ToString() is called either on the message itself + or on another message which contains it. This does not affect the normal JSON formatting of + the message. + + + For example, if you create a proto message representing a GUID, the internal + representation may be a bytes field or four fixed32 fields. However, when debugging + it may be more convenient to see a result in the same format as provides. + + This interface extends to avoid it accidentally being implemented + on types other than messages, where it would not be used by anything in the framework. + + + + + Returns a string representation of this object, for diagnostic purposes. + + + This method is called when a message is formatted as part of a + call. It does not affect the JSON representation used by other than + in calls to . While it is recommended + that the result is valid JSON, this is never assumed by the Protobuf library. + + A string representation of this object, for diagnostic purposes. + + + + Generic interface for a deeply cloneable type. + + + + All generated messages implement this interface, but so do some non-message types. + Additionally, due to the type constraint on T in , + it is simpler to keep this as a separate interface. + + + The type itself, returned by the method. + + + + Creates a deep clone of this object. + + A deep clone of this object. + + + + Generic interface for a Protocol Buffers message containing one or more extensions, where the type parameter is expected to be the same type as the implementation class. + This interface is experiemental and is subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if the extension isn't registered in this set. + For a version of this method that never returns null, use + + + + + Gets the value of the specified repeated extension, registering it if it hasn't already been registered. + + + + + Sets the value of the specified extension + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified repeated extension + + + + + Interface for a Protocol Buffers message, supporting + basic operations required for serialization. + + + + + Merges the data from the specified coded input stream with the current message. + + See the user guide for precise merge semantics. + + + + + Writes the data to the given coded output stream. + + Coded output stream to write the data to. Must not be null. + + + + Calculates the size of this message in Protocol Buffer wire format, in bytes. + + The number of bytes required to write this message + to a coded output stream. + + + + Descriptor for this message. All instances are expected to return the same descriptor, + and for generated types this will be an explicitly-implemented member, returning the + same value as the static property declared on the type. + + + + + Generic interface for a Protocol Buffers message, + where the type parameter is expected to be the same type as + the implementation class. + + The message type. + + + + Merges the given message into this one. + + See the user guide for precise merge semantics. + The message to merge with this one. Must not be null. + + + + Thrown when an attempt is made to parse invalid JSON, e.g. using + a non-string property key, or including a redundant comma. Parsing a protocol buffer + message represented in JSON using can throw both this + exception and depending on the situation. This + exception is only thrown for "pure JSON" errors, whereas InvalidProtocolBufferException + is thrown when the JSON may be valid in and of itself, but cannot be parsed as a protocol buffer + message. + + + + + Thrown when a protocol message being parsed is invalid in some way, + e.g. it contains a malformed varint or a negative byte length. + + + + + Creates an exception for an error condition of an invalid tag being encountered. + + + + + Reflection-based converter from messages to JSON. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON formatting working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + The JSON representation of the first 160 characters of Unicode. + Empty strings are replaced by the static constructor. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Formats the specified message as JSON. + + The message to format. + The formatted message. + + + + Formats the specified message as JSON. + + The message to format. + The TextWriter to write the formatted message to. + The formatted message. + + + + Converts a message to JSON for diagnostic purposes with no extra context. + + + + This differs from calling on the default JSON + formatter in its handling of . As no type registry is available + in calls, the normal way of resolving the type of + an Any message cannot be applied. Instead, a JSON property named @value + is included with the base64 data from the property of the message. + + The value returned by this method is only designed to be used for diagnostic + purposes. It may not be parsable by , and may not be parsable + by other Protocol Buffer implementations. + + The message to format for diagnostic purposes. + The diagnostic-only JSON representation of the message + + + + Writes a single value to the given writer as JSON. Only types understood by + Protocol Buffers can be written in this way. This method is only exposed for + advanced use cases; most users should be using + or . + + The writer to write the value to. Must not be null. + The value to write. May be null. + + + + Central interception point for well-known type formatting. Any well-known types which + don't need special handling can fall back to WriteMessage. We avoid assuming that the + values are using the embedded well-known types, in order to allow for dynamic messages + in the future. + + + + + Writes a string (including leading and trailing double quotes) to a builder, escaping as required. + + + Other than surrogate pair handling, this code is mostly taken from src/google/protobuf/util/internal/json_escaping.cc. + + + + + Settings controlling JSON formatting. + + + + + Default settings, as used by + + + + + Whether fields whose values are the default for the field type (e.g. 0 for integers) + should be formatted (true) or omitted (false). + + + + + The type registry used to format messages. + + + + + Whether to format enums as ints. Defaults to false. + + + + + Creates a new object with the specified formatting of default values + and an empty type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified formatting of default values + and type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. + + + + Creates a new object with the specified parameters. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. TypeRegistry.Empty will be used if it is null. + true to format the enums as integers; false to format enums as enum names. + + + + Creates a new object with the specified formatting of default values and the current settings. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified type registry and the current settings. + + The to use when formatting messages. + + + + Creates a new object with the specified enums formatting option and the current settings. + + true to format the enums as integers; false to format enums as enum names. + + + + Reflection-based converter from JSON to messages. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON parsing working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Parses and merges the information into the given message. + + The message to merge the JSON information into. + The JSON to parse. + + + + Parses JSON read from and merges the information into the given message. + + The message to merge the JSON information into. + Reader providing the JSON to parse. + + + + Merges the given message using data from the given tokenizer. In most cases, the next + token should be a "start object" token, but wrapper types and nullity can invalidate + that assumption. This is implemented as an LL(1) recursive descent parser over the stream + of tokens provided by the tokenizer. This token stream is assumed to be valid JSON, with the + tokenizer performing that validation - but not every token stream is valid "protobuf JSON". + + + + + Parses into a new message. + + The type of message to create. + The JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + The type of message to create. + Reader providing the JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses into a new message. + + The JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + Reader providing the JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new instance of the message type for the given field. + + + + + Checks that any infinite/NaN values originated from the correct text. + This corrects the lenient whitespace handling of double.Parse/float.Parse, as well as the + way that Mono parses out-of-range values as infinity. + + + + + Settings controlling JSON parsing. + + + + + Default settings, as used by . This has the same default + recursion limit as , and an empty type registry. + + + + + The maximum depth of messages to parse. Note that this limit only applies to parsing + messages, not collections - so a message within a collection within a message only counts as + depth 2, not 3. + + + + + The type registry used to parse messages. + + + + + Whether the parser should ignore unknown fields (true) or throw an exception when + they are encountered (false). + + + + + Creates a new object with the specified recursion limit. + + The maximum depth of messages to parse + + + + Creates a new object with the specified recursion limit and type registry. + + The maximum depth of messages to parse + The type registry used to parse messages + + + + Creates a new object set to either ignore unknown fields, or throw an exception + when unknown fields are encountered. + + true if unknown fields should be ignored when parsing; false to throw an exception. + + + + Creates a new object based on this one, but with the specified recursion limit. + + The new recursion limit. + + + + Creates a new object based on this one, but with the specified type registry. + + The new type registry. Must not be null. + + + + Simple but strict JSON tokenizer, rigidly following RFC 7159. + + + + This tokenizer is stateful, and only returns "useful" tokens - names, values etc. + It does not create tokens for the separator between names and values, or for the comma + between values. It validates the token stream as it goes - so callers can assume that the + tokens it produces are appropriate. For example, it would never produce "start object, end array." + + Implementation details: the base class handles single token push-back and + Not thread-safe. + + + + + Creates a tokenizer that reads from the given text reader. + + + + + Creates a tokenizer that first replays the given list of tokens, then continues reading + from another tokenizer. Note that if the returned tokenizer is "pushed back", that does not push back + on the continuation tokenizer, or vice versa. Care should be taken when using this method - it was + created for the sake of Any parsing. + + + + + Returns the depth of the stack, purely in objects (not collections). + Informally, this is the number of remaining unclosed '{' characters we have. + + + + + Returns the next JSON token in the stream. An EndDocument token is returned to indicate the end of the stream, + after which point Next() should not be called again. + + This implementation provides single-token buffering, and calls if there is no buffered token. + The next token in the stream. This is never null. + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Returns the next JSON token in the stream, when requested by the base class. (The method delegates + to this if it doesn't have a buffered token.) + + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Skips the value we're about to read. This must only be called immediately after reading a property name. + If the value is an object or an array, the complete object/array is skipped. + + + + + Tokenizer which first exhausts a list of tokens, then consults another tokenizer. + + + + + Tokenizer which does all the *real* work of parsing JSON. + + + + + This method essentially just loops through characters skipping whitespace, validating and + changing state (e.g. from ObjectBeforeColon to ObjectAfterColon) + until it reaches something which will be a genuine token (e.g. a start object, or a value) at which point + it returns the token. Although the method is large, it would be relatively hard to break down further... most + of it is the large switch statement, which sometimes returns and sometimes doesn't. + + + + + Reads a string token. It is assumed that the opening " has already been read. + + + + + Reads an escaped character. It is assumed that the leading backslash has already been read. + + + + + Reads an escaped Unicode 4-nybble hex sequence. It is assumed that the leading \u has already been read. + + + + + Consumes a text-only literal, throwing an exception if the read text doesn't match it. + It is assumed that the first letter of the literal has already been read. + + + + + Validates that we're in a valid state to read a value (using the given error prefix if necessary) + and changes the state to the appropriate one, e.g. ObjectAfterColon to ObjectAfterProperty. + + + + + Pops the top-most container, and sets the state to the appropriate one for the end of a value + in the parent container. + + + + + Possible states of the tokenizer. + + + This is a flags enum purely so we can simply and efficiently represent a set of valid states + for checking. + + Each is documented with an example, + where ^ represents the current position within the text stream. The examples all use string values, + but could be any value, including nested objects/arrays. + The complete state of the tokenizer also includes a stack to indicate the contexts (arrays/objects). + Any additional notional state of "AfterValue" indicates that a value has been completed, at which + point there's an immediate transition to ExpectedEndOfDocument, ObjectAfterProperty or ArrayAfterValue. + + + These states were derived manually by reading RFC 7159 carefully. + + + + + + ^ { "foo": "bar" } + Before the value in a document. Next states: ObjectStart, ArrayStart, "AfterValue" + + + + + { "foo": "bar" } ^ + After the value in a document. Next states: ReaderExhausted + + + + + { "foo": "bar" } ^ (and already read to the end of the reader) + Terminal state. + + + + + { ^ "foo": "bar" } + Before the *first* property in an object. + Next states: + "AfterValue" (empty object) + ObjectBeforeColon (read a name) + + + + + { "foo" ^ : "bar", "x": "y" } + Next state: ObjectAfterColon + + + + + { "foo" : ^ "bar", "x": "y" } + Before any property other than the first in an object. + (Equivalently: after any property in an object) + Next states: + "AfterValue" (value is simple) + ObjectStart (value is object) + ArrayStart (value is array) + + + + + { "foo" : "bar" ^ , "x" : "y" } + At the end of a property, so expecting either a comma or end-of-object + Next states: ObjectAfterComma or "AfterValue" + + + + + { "foo":"bar", ^ "x":"y" } + Read the comma after the previous property, so expecting another property. + This is like ObjectStart, but closing brace isn't valid here + Next state: ObjectBeforeColon. + + + + + [ ^ "foo", "bar" ] + Before the *first* value in an array. + Next states: + "AfterValue" (read a value) + "AfterValue" (end of array; will pop stack) + + + + + [ "foo" ^ , "bar" ] + After any value in an array, so expecting either a comma or end-of-array + Next states: ArrayAfterComma or "AfterValue" + + + + + [ "foo", ^ "bar" ] + After a comma in an array, so there *must* be another value (simple or complex). + Next states: "AfterValue" (simple value), StartObject, StartArray + + + + + Wrapper around a text reader allowing small amounts of buffering and location handling. + + + + + The buffered next character, if we have one. + + + + + Returns the next character in the stream, or null if we have reached the end. + + + + + + Creates a new exception appropriate for the current state of the reader. + + + + + Stream implementation which proxies another stream, only allowing a certain amount + of data to be read. Note that this is only used to read delimited streams, so it + doesn't attempt to implement everything. + + + + + Extension methods on and . + + + + + Merges data from the given byte array into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given byte array slice into an existing message. + + The message to merge the data into. + The data containing the slice to merge, which must be protobuf-encoded binary data. + The offset of the slice to merge. + The length of the slice to merge. + + + + Merges data from the given byte string into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given stream into an existing message. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Merges length-delimited data from the given stream into an existing message. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Converts the given message into a byte array in protobuf encoding. + + The message to convert. + The message data as a byte array. + + + + Writes the given message data to the given stream in protobuf encoding. + + The message to write to the stream. + The stream to write to. + + + + Writes the length and then data of the given message to a stream. + + The message to write. + The output stream to write to. + + + + Converts the given message into a byte string in protobuf encoding. + + The message to convert. + The message data as a byte string. + + + + Checks if all required fields in a message have values set. For proto3 messages, this returns true + + + + + A general message parser, typically used by reflection-based code as all the methods + return simple . + + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + A parser for a specific message type. + + +

+ This delegates most behavior to the + implementation within the original type, but + provides convenient overloads to parse from a variety of sources. +

+

+ Most applications will never need to create their own instances of this type; + instead, use the static Parser property of a generated message type to obtain a + parser for that type. +

+
+ The type of message to be parsed. +
+ + + Creates a new parser. + + + The factory method is effectively an optimization over using a generic constraint + to require a parameterless constructor: delegates are significantly faster to execute. + + Function to invoke when a new, empty message is required. + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + Struct used to hold the keys for the fieldByNumber table in DescriptorPool and the keys for the + extensionByNumber table in ExtensionRegistry. + + + + + Helper methods for throwing exceptions when preconditions are not met. + + + This class is used internally and by generated code; it is not particularly + expected to be used from application code, although nothing prevents it + from being used that way. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + This is equivalent to but without the type parameter + constraint. In most cases, the constraint is useful to prevent you from calling CheckNotNull + with a value type - but it gets in the way if either you want to use it with a nullable + value type, or you want to use it with an unconstrained type parameter. + + + + + Container for a set of custom options specified within a message, field etc. + + + + This type is publicly immutable, but internally mutable. It is only populated + by the descriptor parsing code - by the time any user code is able to see an instance, + it will be fully initialized. + + + If an option is requested using the incorrect method, an answer may still be returned: all + of the numeric types are represented internally using 64-bit integers, for example. It is up to + the caller to ensure that they make the appropriate method call for the option they're interested in. + Note that enum options are simply stored as integers, so the value should be fetched using + and then cast appropriately. + + + Repeated options are currently not supported. Asking for a single value of an option + which was actually repeated will return the last value, except for message types where + all the set values are merged together. + + + + + + Retrieves a Boolean value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 32-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 64-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a string value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a bytes value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a message value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + Holder for reflection information generated from google/protobuf/descriptor.proto + + + File descriptor for google/protobuf/descriptor.proto + + + + The protocol compiler can output a FileDescriptorSet containing the .proto + files it parses. + + + + Field number for the "file" field. + + + + Describes a complete .proto file. + + + + Field number for the "name" field. + + + + file name, relative to root of source tree + + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "package" field. + + + + e.g. "foo", "foo.bar", etc. + + + + Gets whether the "package" field is set + + + Clears the value of the "package" field + + + Field number for the "dependency" field. + + + + Names of files imported by this file. + + + + Field number for the "public_dependency" field. + + + + Indexes of the public imported files in the dependency list above. + + + + Field number for the "weak_dependency" field. + + + + Indexes of the weak imported files in the dependency list. + For Google-internal migration only. Do not use. + + + + Field number for the "message_type" field. + + + + All top-level definitions in this file. + + + + Field number for the "enum_type" field. + + + Field number for the "service" field. + + + Field number for the "extension" field. + + + Field number for the "options" field. + + + Field number for the "source_code_info" field. + + + + This field contains optional information about the original source code. + You may safely remove this entire field without harming runtime + functionality of the descriptors -- the information is needed only by + development tools. + + + + Field number for the "syntax" field. + + + + The syntax of the proto file. + The supported values are "proto2" and "proto3". + + + + Gets whether the "syntax" field is set + + + Clears the value of the "syntax" field + + + + Describes a message type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "field" field. + + + Field number for the "extension" field. + + + Field number for the "nested_type" field. + + + Field number for the "enum_type" field. + + + Field number for the "extension_range" field. + + + Field number for the "oneof_decl" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + Field number for the "reserved_name" field. + + + + Reserved field names, which may not be used by fields in the same message. + A given name may only be reserved once. + + + + Container for nested types declared in the DescriptorProto message type. + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "options" field. + + + + Range of reserved tag numbers. Reserved tag numbers may not be used by + fields or extension ranges in the same message. Reserved ranges may + not overlap. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + + Describes a field within a message. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "label" field. + + + Gets whether the "label" field is set + + + Clears the value of the "label" field + + + Field number for the "type" field. + + + + If type_name is set, this need not be set. If both this and type_name + are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + + + + Gets whether the "type" field is set + + + Clears the value of the "type" field + + + Field number for the "type_name" field. + + + + For message and enum types, this is the name of the type. If the name + starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + rules are used to find the type (i.e. first the nested types within this + message are searched, then within the parent, on up to the root + namespace). + + + + Gets whether the "type_name" field is set + + + Clears the value of the "type_name" field + + + Field number for the "extendee" field. + + + + For extensions, this is the name of the type being extended. It is + resolved in the same manner as type_name. + + + + Gets whether the "extendee" field is set + + + Clears the value of the "extendee" field + + + Field number for the "default_value" field. + + + + For numeric types, contains the original text representation of the value. + For booleans, "true" or "false". + For strings, contains the default text contents (not escaped in any way). + For bytes, contains the C escaped value. All bytes >= 128 are escaped. + TODO(kenton): Base-64 encode? + + + + Gets whether the "default_value" field is set + + + Clears the value of the "default_value" field + + + Field number for the "oneof_index" field. + + + + If set, gives the index of a oneof in the containing type's oneof_decl + list. This field is a member of that oneof. + + + + Gets whether the "oneof_index" field is set + + + Clears the value of the "oneof_index" field + + + Field number for the "json_name" field. + + + + JSON name of this field. The value is set by protocol compiler. If the + user has set a "json_name" option on this field, that option's value + will be used. Otherwise, it's deduced from the field's name by converting + it to camelCase. + + + + Gets whether the "json_name" field is set + + + Clears the value of the "json_name" field + + + Field number for the "options" field. + + + Field number for the "proto3_optional" field. + + + + If true, this is a proto3 "optional". When a proto3 field is optional, it + tracks presence regardless of field type. + + When proto3_optional is true, this field must be belong to a oneof to + signal to old proto3 clients that presence is tracked for this field. This + oneof is known as a "synthetic" oneof, and this field must be its sole + member (each proto3 optional field gets its own synthetic oneof). Synthetic + oneofs exist in the descriptor only, and do not generate any API. Synthetic + oneofs must be ordered after all "real" oneofs. + + For message fields, proto3_optional doesn't create any semantic change, + since non-repeated message fields always track presence. However it still + indicates the semantic detail of whether the user wrote "optional" or not. + This can be useful for round-tripping the .proto file. For consistency we + give message fields a synthetic oneof also, even though it is not required + to track presence. This is especially important because the parser can't + tell if a field is a message or an enum, so it must always create a + synthetic oneof. + + Proto2 optional fields do not set this flag, because they already indicate + optional with `LABEL_OPTIONAL`. + + + + Gets whether the "proto3_optional" field is set + + + Clears the value of the "proto3_optional" field + + + Container for nested types declared in the FieldDescriptorProto message type. + + + + 0 is reserved for errors. + Order is weird for historical reasons. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + negative values are likely. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + negative values are likely. + + + + + Tag-delimited aggregate. + Group type is deprecated and not supported in proto3. However, Proto3 + implementations should still be able to parse the group wire format and + treat group fields as unknown fields. + + + + + Length-delimited aggregate. + + + + + New in version 2. + + + + + Uses ZigZag encoding. + + + + + Uses ZigZag encoding. + + + + + 0 is reserved for errors + + + + + Describes a oneof. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "options" field. + + + + Describes an enum type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "value" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + + Range of reserved numeric values. Reserved numeric values may not be used + by enum values in the same enum declaration. Reserved ranges may not + overlap. + + + + Field number for the "reserved_name" field. + + + + Reserved enum value names, which may not be reused. A given name may only + be reserved once. + + + + Container for nested types declared in the EnumDescriptorProto message type. + + + + Range of reserved numeric values. Reserved values may not be used by + entries in the same enum. Reserved ranges may not overlap. + + Note that this is distinct from DescriptorProto.ReservedRange in that it + is inclusive such that it can appropriately represent the entire int32 + domain. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Inclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Describes a value within an enum. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "options" field. + + + + Describes a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "method" field. + + + Field number for the "options" field. + + + + Describes a method of a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "input_type" field. + + + + Input and output type names. These are resolved in the same way as + FieldDescriptorProto.type_name, but must refer to a message type. + + + + Gets whether the "input_type" field is set + + + Clears the value of the "input_type" field + + + Field number for the "output_type" field. + + + Gets whether the "output_type" field is set + + + Clears the value of the "output_type" field + + + Field number for the "options" field. + + + Field number for the "client_streaming" field. + + + + Identifies if client streams multiple client messages + + + + Gets whether the "client_streaming" field is set + + + Clears the value of the "client_streaming" field + + + Field number for the "server_streaming" field. + + + + Identifies if server streams multiple server messages + + + + Gets whether the "server_streaming" field is set + + + Clears the value of the "server_streaming" field + + + Field number for the "java_package" field. + + + + Sets the Java package where classes generated from this .proto will be + placed. By default, the proto package is used, but this is often + inappropriate because proto packages do not normally start with backwards + domain names. + + + + Gets whether the "java_package" field is set + + + Clears the value of the "java_package" field + + + Field number for the "java_outer_classname" field. + + + + If set, all the classes from the .proto file are wrapped in a single + outer class with the given name. This applies to both Proto1 + (equivalent to the old "--one_java_file" option) and Proto2 (where + a .proto always translates to a single class, but you may want to + explicitly choose the class name). + + + + Gets whether the "java_outer_classname" field is set + + + Clears the value of the "java_outer_classname" field + + + Field number for the "java_multiple_files" field. + + + + If set true, then the Java code generator will generate a separate .java + file for each top-level message, enum, and service defined in the .proto + file. Thus, these types will *not* be nested inside the outer class + named by java_outer_classname. However, the outer class will still be + generated to contain the file's getDescriptor() method as well as any + top-level extensions defined in the file. + + + + Gets whether the "java_multiple_files" field is set + + + Clears the value of the "java_multiple_files" field + + + Field number for the "java_generate_equals_and_hash" field. + + + + This option does nothing. + + + + Gets whether the "java_generate_equals_and_hash" field is set + + + Clears the value of the "java_generate_equals_and_hash" field + + + Field number for the "java_string_check_utf8" field. + + + + If set true, then the Java2 code generator will generate code that + throws an exception whenever an attempt is made to assign a non-UTF-8 + byte sequence to a string field. + Message reflection will do the same. + However, an extension field still accepts non-UTF-8 byte sequences. + This option has no effect on when used with the lite runtime. + + + + Gets whether the "java_string_check_utf8" field is set + + + Clears the value of the "java_string_check_utf8" field + + + Field number for the "optimize_for" field. + + + Gets whether the "optimize_for" field is set + + + Clears the value of the "optimize_for" field + + + Field number for the "go_package" field. + + + + Sets the Go package where structs generated from this .proto will be + placed. If omitted, the Go package will be derived from the following: + - The basename of the package import path, if provided. + - Otherwise, the package statement in the .proto file, if present. + - Otherwise, the basename of the .proto file, without extension. + + + + Gets whether the "go_package" field is set + + + Clears the value of the "go_package" field + + + Field number for the "cc_generic_services" field. + + + + Should generic services be generated in each language? "Generic" services + are not specific to any particular RPC system. They are generated by the + main code generators in each language (without additional plugins). + Generic services were the only kind of service generation supported by + early versions of google.protobuf. + + Generic services are now considered deprecated in favor of using plugins + that generate code specific to your particular RPC system. Therefore, + these default to false. Old code which depends on generic services should + explicitly set them to true. + + + + Gets whether the "cc_generic_services" field is set + + + Clears the value of the "cc_generic_services" field + + + Field number for the "java_generic_services" field. + + + Gets whether the "java_generic_services" field is set + + + Clears the value of the "java_generic_services" field + + + Field number for the "py_generic_services" field. + + + Gets whether the "py_generic_services" field is set + + + Clears the value of the "py_generic_services" field + + + Field number for the "php_generic_services" field. + + + Gets whether the "php_generic_services" field is set + + + Clears the value of the "php_generic_services" field + + + Field number for the "deprecated" field. + + + + Is this file deprecated? + Depending on the target platform, this can emit Deprecated annotations + for everything in the file, or it will be completely ignored; in the very + least, this is a formalization for deprecating files. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "cc_enable_arenas" field. + + + + Enables the use of arenas for the proto messages in this file. This applies + only to generated classes for C++. + + + + Gets whether the "cc_enable_arenas" field is set + + + Clears the value of the "cc_enable_arenas" field + + + Field number for the "objc_class_prefix" field. + + + + Sets the objective c class prefix which is prepended to all objective c + generated classes from this .proto. There is no default. + + + + Gets whether the "objc_class_prefix" field is set + + + Clears the value of the "objc_class_prefix" field + + + Field number for the "csharp_namespace" field. + + + + Namespace for generated classes; defaults to the package. + + + + Gets whether the "csharp_namespace" field is set + + + Clears the value of the "csharp_namespace" field + + + Field number for the "swift_prefix" field. + + + + By default Swift generators will take the proto package and CamelCase it + replacing '.' with underscore and use that to prefix the types/symbols + defined. When this options is provided, they will use this value instead + to prefix the types/symbols defined. + + + + Gets whether the "swift_prefix" field is set + + + Clears the value of the "swift_prefix" field + + + Field number for the "php_class_prefix" field. + + + + Sets the php class prefix which is prepended to all php generated classes + from this .proto. Default is empty. + + + + Gets whether the "php_class_prefix" field is set + + + Clears the value of the "php_class_prefix" field + + + Field number for the "php_namespace" field. + + + + Use this option to change the namespace of php generated classes. Default + is empty. When this option is empty, the package name will be used for + determining the namespace. + + + + Gets whether the "php_namespace" field is set + + + Clears the value of the "php_namespace" field + + + Field number for the "php_metadata_namespace" field. + + + + Use this option to change the namespace of php generated metadata classes. + Default is empty. When this option is empty, the proto file name will be + used for determining the namespace. + + + + Gets whether the "php_metadata_namespace" field is set + + + Clears the value of the "php_metadata_namespace" field + + + Field number for the "ruby_package" field. + + + + Use this option to change the package of ruby generated classes. Default + is empty. When this option is not set, the package name will be used for + determining the ruby package. + + + + Gets whether the "ruby_package" field is set + + + Clears the value of the "ruby_package" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. + See the documentation for the "Options" section above. + + + + Container for nested types declared in the FileOptions message type. + + + + Generated classes can be optimized for speed or code size. + + + + + Generate complete code for parsing, serialization, + + + + + etc. + + + + + Generate code using MessageLite and the lite runtime. + + + + Field number for the "message_set_wire_format" field. + + + + Set true to use the old proto1 MessageSet wire format for extensions. + This is provided for backwards-compatibility with the MessageSet wire + format. You should not use this for any other reason: It's less + efficient, has fewer features, and is more complicated. + + The message must be defined exactly as follows: + message Foo { + option message_set_wire_format = true; + extensions 4 to max; + } + Note that the message cannot have any defined fields; MessageSets only + have extensions. + + All extensions of your type must be singular messages; e.g. they cannot + be int32s, enums, or repeated messages. + + Because this is an option, the above two restrictions are not enforced by + the protocol compiler. + + + + Gets whether the "message_set_wire_format" field is set + + + Clears the value of the "message_set_wire_format" field + + + Field number for the "no_standard_descriptor_accessor" field. + + + + Disables the generation of the standard "descriptor()" accessor, which can + conflict with a field of the same name. This is meant to make migration + from proto1 easier; new code should avoid fields named "descriptor". + + + + Gets whether the "no_standard_descriptor_accessor" field is set + + + Clears the value of the "no_standard_descriptor_accessor" field + + + Field number for the "deprecated" field. + + + + Is this message deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the message, or it will be completely ignored; in the very least, + this is a formalization for deprecating messages. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "map_entry" field. + + + + Whether the message is an automatically generated map entry type for the + maps field. + + For maps fields: + map<KeyType, ValueType> map_field = 1; + The parsed descriptor looks like: + message MapFieldEntry { + option map_entry = true; + optional KeyType key = 1; + optional ValueType value = 2; + } + repeated MapFieldEntry map_field = 1; + + Implementations may choose not to generate the map_entry=true message, but + use a native map in the target language to hold the keys and values. + The reflection APIs in such implementations still need to work as + if the field is a repeated message field. + + NOTE: Do not set the option in .proto files. Always use the maps syntax + instead. The option should only be implicitly set by the proto compiler + parser. + + + + Gets whether the "map_entry" field is set + + + Clears the value of the "map_entry" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "ctype" field. + + + + The ctype option instructs the C++ code generator to use a different + representation of the field than it normally would. See the specific + options below. This option is not yet implemented in the open source + release -- sorry, we'll try to include it in a future version! + + + + Gets whether the "ctype" field is set + + + Clears the value of the "ctype" field + + + Field number for the "packed" field. + + + + The packed option can be enabled for repeated primitive fields to enable + a more efficient representation on the wire. Rather than repeatedly + writing the tag and type for each element, the entire array is encoded as + a single length-delimited blob. In proto3, only explicit setting it to + false will avoid using packed encoding. + + + + Gets whether the "packed" field is set + + + Clears the value of the "packed" field + + + Field number for the "jstype" field. + + + + The jstype option determines the JavaScript type used for values of the + field. The option is permitted only for 64 bit integral and fixed types + (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + is represented as JavaScript string, which avoids loss of precision that + can happen when a large value is converted to a floating point JavaScript. + Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + use the JavaScript "number" type. The behavior of the default option + JS_NORMAL is implementation dependent. + + This option is an enum to permit additional types to be added, e.g. + goog.math.Integer. + + + + Gets whether the "jstype" field is set + + + Clears the value of the "jstype" field + + + Field number for the "lazy" field. + + + + Should this field be parsed lazily? Lazy applies only to message-type + fields. It means that when the outer message is initially parsed, the + inner message's contents will not be parsed but instead stored in encoded + form. The inner message will actually be parsed when it is first accessed. + + This is only a hint. Implementations are free to choose whether to use + eager or lazy parsing regardless of the value of this option. However, + setting this option true suggests that the protocol author believes that + using lazy parsing on this field is worth the additional bookkeeping + overhead typically needed to implement it. + + This option does not affect the public interface of any generated code; + all method signatures remain the same. Furthermore, thread-safety of the + interface is not affected by this option; const methods remain safe to + call from multiple threads concurrently, while non-const methods continue + to require exclusive access. + + Note that implementations may choose not to check required fields within + a lazy sub-message. That is, calling IsInitialized() on the outer message + may return true even if the inner message has missing required fields. + This is necessary because otherwise the inner message would have to be + parsed in order to perform the check, defeating the purpose of lazy + parsing. An implementation which chooses not to check required fields + must be consistent about it. That is, for any particular sub-message, the + implementation must either *always* check its required fields, or *never* + check its required fields, regardless of whether or not the message has + been parsed. + + + + Gets whether the "lazy" field is set + + + Clears the value of the "lazy" field + + + Field number for the "deprecated" field. + + + + Is this field deprecated? + Depending on the target platform, this can emit Deprecated annotations + for accessors, or it will be completely ignored; in the very least, this + is a formalization for deprecating fields. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "weak" field. + + + + For Google-internal migration only. Do not use. + + + + Gets whether the "weak" field is set + + + Clears the value of the "weak" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the FieldOptions message type. + + + + Default mode. + + + + + Use the default type. + + + + + Use JavaScript strings. + + + + + Use JavaScript numbers. + + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "allow_alias" field. + + + + Set this option to true to allow mapping different tag names to the same + value. + + + + Gets whether the "allow_alias" field is set + + + Clears the value of the "allow_alias" field + + + Field number for the "deprecated" field. + + + + Is this enum deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum, or it will be completely ignored; in the very least, this + is a formalization for deprecating enums. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this enum value deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum value, or it will be completely ignored; in the very least, + this is a formalization for deprecating enum values. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this service deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the service, or it will be completely ignored; in the very least, + this is a formalization for deprecating services. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this method deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the method, or it will be completely ignored; in the very least, + this is a formalization for deprecating methods. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "idempotency_level" field. + + + Gets whether the "idempotency_level" field is set + + + Clears the value of the "idempotency_level" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the MethodOptions message type. + + + + Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + or neither? HTTP based RPC implementation may choose GET verb for safe + methods, and PUT verb for idempotent methods instead of the default POST. + + + + + implies idempotent + + + + + idempotent, but may have side effects + + + + + A message representing a option the parser does not recognize. This only + appears in options protos created by the compiler::Parser class. + DescriptorPool resolves these when building Descriptor objects. Therefore, + options protos in descriptor objects (e.g. returned by Descriptor::options(), + or produced by Descriptor::CopyTo()) will never have UninterpretedOptions + in them. + + + + Field number for the "name" field. + + + Field number for the "identifier_value" field. + + + + The value of the uninterpreted option, in whatever type the tokenizer + identified it as during parsing. Exactly one of these should be set. + + + + Gets whether the "identifier_value" field is set + + + Clears the value of the "identifier_value" field + + + Field number for the "positive_int_value" field. + + + Gets whether the "positive_int_value" field is set + + + Clears the value of the "positive_int_value" field + + + Field number for the "negative_int_value" field. + + + Gets whether the "negative_int_value" field is set + + + Clears the value of the "negative_int_value" field + + + Field number for the "double_value" field. + + + Gets whether the "double_value" field is set + + + Clears the value of the "double_value" field + + + Field number for the "string_value" field. + + + Gets whether the "string_value" field is set + + + Clears the value of the "string_value" field + + + Field number for the "aggregate_value" field. + + + Gets whether the "aggregate_value" field is set + + + Clears the value of the "aggregate_value" field + + + Container for nested types declared in the UninterpretedOption message type. + + + + The name of the uninterpreted option. Each string represents a segment in + a dot-separated name. is_extension is true iff a segment represents an + extension (denoted with parentheses in options specs in .proto files). + E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents + "foo.(bar.baz).qux". + + + + Field number for the "name_part" field. + + + Gets whether the "name_part" field is set + + + Clears the value of the "name_part" field + + + Field number for the "is_extension" field. + + + Gets whether the "is_extension" field is set + + + Clears the value of the "is_extension" field + + + + Encapsulates information about the original source file from which a + FileDescriptorProto was generated. + + + + Field number for the "location" field. + + + + A Location identifies a piece of source code in a .proto file which + corresponds to a particular definition. This information is intended + to be useful to IDEs, code indexers, documentation generators, and similar + tools. + + For example, say we have a file like: + message Foo { + optional string foo = 1; + } + Let's look at just the field definition: + optional string foo = 1; + ^ ^^ ^^ ^ ^^^ + a bc de f ghi + We have the following locations: + span path represents + [a,i) [ 4, 0, 2, 0 ] The whole field definition. + [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + + Notes: + - A location may refer to a repeated field itself (i.e. not to any + particular index within it). This is used whenever a set of elements are + logically enclosed in a single code segment. For example, an entire + extend block (possibly containing multiple extension definitions) will + have an outer location whose path refers to the "extensions" repeated + field without an index. + - Multiple locations may have the same path. This happens when a single + logical declaration is spread out across multiple places. The most + obvious example is the "extend" block again -- there may be multiple + extend blocks in the same scope, each of which will have the same path. + - A location's span is not always a subset of its parent's span. For + example, the "extendee" of an extension declaration appears at the + beginning of the "extend" block and is shared by all extensions within + the block. + - Just because a location's span is a subset of some other location's span + does not mean that it is a descendant. For example, a "group" defines + both a type and a field in a single declaration. Thus, the locations + corresponding to the type and field and their components will overlap. + - Code which tries to interpret locations should probably be designed to + ignore those that it doesn't understand, as more types of locations could + be recorded in the future. + + + + Container for nested types declared in the SourceCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies which part of the FileDescriptorProto was defined at this + location. + + Each element is a field number or an index. They form a path from + the root FileDescriptorProto to the place where the definition. For + example, this path: + [ 4, 3, 2, 7, 1 ] + refers to: + file.message_type(3) // 4, 3 + .field(7) // 2, 7 + .name() // 1 + This is because FileDescriptorProto.message_type has field number 4: + repeated DescriptorProto message_type = 4; + and DescriptorProto.field has field number 2: + repeated FieldDescriptorProto field = 2; + and FieldDescriptorProto.name has field number 1: + optional string name = 1; + + Thus, the above path gives the location of a field name. If we removed + the last element: + [ 4, 3, 2, 7 ] + this path refers to the whole field declaration (from the beginning + of the label to the terminating semicolon). + + + + Field number for the "span" field. + + + + Always has exactly three or four elements: start line, start column, + end line (optional, otherwise assumed same as start line), end column. + These are packed into a single field for efficiency. Note that line + and column numbers are zero-based -- typically you will want to add + 1 to each before displaying to a user. + + + + Field number for the "leading_comments" field. + + + + If this SourceCodeInfo represents a complete declaration, these are any + comments appearing before and after the declaration which appear to be + attached to the declaration. + + A series of line comments appearing on consecutive lines, with no other + tokens appearing on those lines, will be treated as a single comment. + + leading_detached_comments will keep paragraphs of comments that appear + before (but not connected to) the current element. Each paragraph, + separated by empty lines, will be one comment element in the repeated + field. + + Only the comment content is provided; comment markers (e.g. //) are + stripped out. For block comments, leading whitespace and an asterisk + will be stripped from the beginning of each line other than the first. + Newlines are included in the output. + + Examples: + + optional int32 foo = 1; // Comment attached to foo. + // Comment attached to bar. + optional int32 bar = 2; + + optional string baz = 3; + // Comment attached to baz. + // Another line attached to baz. + + // Comment attached to qux. + // + // Another line attached to qux. + optional double qux = 4; + + // Detached comment for corge. This is not leading or trailing comments + // to qux or corge because there are blank lines separating it from + // both. + + // Detached comment for corge paragraph 2. + + optional string corge = 5; + /* Block comment attached + * to corge. Leading asterisks + * will be removed. */ + /* Block comment attached to + * grault. */ + optional int32 grault = 6; + + // ignored detached comments. + + + + Gets whether the "leading_comments" field is set + + + Clears the value of the "leading_comments" field + + + Field number for the "trailing_comments" field. + + + Gets whether the "trailing_comments" field is set + + + Clears the value of the "trailing_comments" field + + + Field number for the "leading_detached_comments" field. + + + + Describes the relationship between generated code and its original source + file. A GeneratedCodeInfo message is associated with only one generated + source file, but may contain references to different source .proto files. + + + + Field number for the "annotation" field. + + + + An Annotation connects some span of text in generated code to an element + of its generating .proto file. + + + + Container for nested types declared in the GeneratedCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies the element in the original source .proto file. This field + is formatted the same as SourceCodeInfo.Location.path. + + + + Field number for the "source_file" field. + + + + Identifies the filesystem path to the original source .proto. + + + + Gets whether the "source_file" field is set + + + Clears the value of the "source_file" field + + + Field number for the "begin" field. + + + + Identifies the starting offset in bytes in the generated code + that relates to the identified object. + + + + Gets whether the "begin" field is set + + + Clears the value of the "begin" field + + + Field number for the "end" field. + + + + Identifies the ending offset in bytes in the generated code that + relates to the identified offset. The end offset should be one past + the last relevant byte (so the length of the text = end - begin). + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Base class for nearly all descriptors, providing common functionality. + + + + + The index of this descriptor within its parent descriptor. + + + This returns the index of this descriptor within its parent, for + this descriptor's type. (There can be duplicate values for different + types, e.g. one enum type with index 0 and one message type with index 0.) + + + + + Returns the name of the entity (field, message etc) being described. + + + + + The fully qualified name of the descriptor's target. + + + + + The file this descriptor was declared in. + + + + + The declaration information about the descriptor, or null if no declaration information + is available for this descriptor. + + + This information is typically only available for dynamically loaded descriptors, + for example within a protoc plugin where the full descriptors, including source info, + are passed to the code by protoc. + + + + + Retrieves the list of nested descriptors corresponding to the given field number, if any. + If the field is unknown or not a nested descriptor list, return null to terminate the search. + The default implementation returns null. + + + + + Provides additional information about the declaration of a descriptor, + such as source location and comments. + + + + + The descriptor this declaration relates to. + + + + + The start line of the declaration within the source file. This value is 1-based. + + + + + The start column of the declaration within the source file. This value is 1-based. + + + + + // The end line of the declaration within the source file. This value is 1-based. + + + + + The end column of the declaration within the source file. This value is 1-based, and + exclusive. (The final character of the declaration is on the column before this value.) + + + + + Comments appearing before the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing after the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing before the declaration, but separated from it by blank + lines. Each string represents a newline-separated paragraph of comments. + Leading whitespace and the comment marker ("//") are removed from each line. + The list is never null, but may be empty. Likewise each element is never null, but may be empty. + + + + + Contains lookup tables containing all the descriptors defined in a particular file. + + + + + Finds a symbol of the given name within the pool. + + The type of symbol to look for + Fully-qualified name to look up + The symbol with the given name and type, + or null if the symbol doesn't exist or has the wrong type + + + + Adds a package to the symbol tables. If a package by the same name + already exists, that is fine, but if some other kind of symbol + exists under the same name, an exception is thrown. If the package + has multiple components, this also adds the parent package(s). + + + + + Adds a symbol to the symbol table. + + The symbol already existed + in the symbol table. + + + + Verifies that the descriptor's name is valid (i.e. it contains + only letters, digits and underscores, and does not start with a digit). + + + + + + Returns the field with the given number in the given descriptor, + or null if it can't be found. + + + + + Adds a field to the fieldsByNumber table. + + A field with the same + containing type and number already exists. + + + + Adds an enum value to the enumValuesByNumber table. If an enum value + with the same type and number already exists, this method does nothing. + (This is allowed; the first value defined with the number takes precedence.) + + + + + Looks up a descriptor by name, relative to some other descriptor. + The name may be fully-qualified (with a leading '.'), partially-qualified, + or unqualified. C++-like name lookup semantics are used to search for the + matching descriptor. + + + This isn't heavily optimized, but it's only used during cross linking anyway. + If it starts being used more widely, we should look at performance more carefully. + + + + + Internal class containing utility methods when working with descriptors. + + + + + Equivalent to Func[TInput, int, TOutput] but usable in .NET 2.0. Only used to convert + arrays. + + + + + Converts the given array into a read-only list, applying the specified conversion to + each input element. + + + + + Thrown when building descriptors fails because the source DescriptorProtos + are not valid. + + + + + The full name of the descriptor where the error occurred. + + + + + A human-readable description of the error. (The Message property + is made up of the descriptor's name and this description.) + + + + + Descriptor for an enum type in a .proto file. + + + + + The brief name of the descriptor's target. + + + + + The CLR type for this enum. For generated code, this will be a CLR enum type. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + An unmodifiable list of defined value descriptors for this enum. + + + + + Finds an enum value by number. If multiple enum values have the + same number, this returns the first defined value with that number. + If there is no value for the given number, this returns null. + + + + + Finds an enum value by name. + + The unqualified name of the value (e.g. "FOO"). + The value's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this enum. + + + + + The EnumOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum option for this descriptor + + + + + Gets a repeated value enum option for this descriptor + + + + + Descriptor for a single enum value within an enum in a .proto file. + + + + + Returns the name of the enum value described by this object. + + + + + Returns the number associated with this enum value. + + + + + Returns the enum descriptor that this value is part of. + + + + + The (possibly empty) set of custom options for this enum value. + + + + + The EnumValueOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum value option for this descriptor + + + + + Gets a repeated value enum value option for this descriptor + + + + + A collection to simplify retrieving the descriptors of extensions in a descriptor for a message + + + + + Returns a readonly list of all the extensions defined in this type in + the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in accending field order + + + + + Base class for field accessors. + + + + + Descriptor for a field or extension within a message in a .proto file. + + + + + Get the field's containing message type, or null if it is a field defined at the top level of a file as an extension. + + + + + Returns the oneof containing this field, or null if it is not part of a oneof. + + + + + Returns the oneof containing this field if it's a "real" oneof, or null if either this + field is not part of a oneof, or the oneof is synthetic. + + + + + The effective JSON name for this field. This is usually the lower-camel-cased form of the field name, + but can be overridden using the json_name option in the .proto file. + + + + + Indicates whether this field supports presence, either implicitly (e.g. due to it being a message + type field) or explicitly via Has/Clear members. If this returns true, it is safe to call + and + on this field's accessor with a suitable message. + + + + + An extension identifier for this field, or null if this field isn't an extension. + + + + + The brief name of the descriptor's target. + + + + + Returns the accessor for this field. + + + + While a describes the field, it does not provide + any way of obtaining or changing the value of the field within a specific message; + that is the responsibility of the accessor. + + + In descriptors for generated code, the value returned by this property will be non-null for all + regular fields. However, if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, and the value of the map field itself is represented by a dictionary in the + reflection API. There are never instances of those "hidden" messages, so no accessor is provided + and this property will return null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + + + Maps a field type as included in the .proto file to a FieldType. + + + + + Returns true if this field is a repeated field; false otherwise. + + + + + Returns true if this field is a required field; false otherwise. + + + + + Returns true if this field is a map field; false otherwise. + + + + + Returns true if this field is a packed, repeated field; false otherwise. + + + + + Returns true if this field extends another message type; false otherwise. + + + + + Returns the type of the field. + + + + + Returns the field number declared in the proto file. + + + + + Compares this descriptor with another one, ordering in "canonical" order + which simply means ascending order by field number. + must be a field of the same type, i.e. the of + both fields must be the same. + + + + + For enum fields, returns the field's type. + + + + + For embedded message and group fields, returns the field's type. + + + + + For extension fields, returns the extended type + + + + + The (possibly empty) set of custom options for this field. + + + + + The FieldOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value field option for this descriptor + + + + + Gets a repeated value field option for this descriptor + + + + + Look up and cross-link all field types etc. + + + + + Enumeration of all the possible field types. + + + + + The double field type. + + + + + The float field type. + + + + + The int64 field type. + + + + + The uint64 field type. + + + + + The int32 field type. + + + + + The fixed64 field type. + + + + + The fixed32 field type. + + + + + The bool field type. + + + + + The string field type. + + + + + The field type used for groups. + + + + + The field type used for message fields. + + + + + The bytes field type. + + + + + The uint32 field type. + + + + + The sfixed32 field type. + + + + + The sfixed64 field type. + + + + + The sint32 field type. + + + + + The sint64 field type. + + + + + The field type used for enum fields. + + + + + The syntax of a .proto file + + + + + Proto2 syntax + + + + + Proto3 syntax + + + + + An unknown declared syntax + + + + + Describes a .proto file, including everything defined within. + IDescriptor is implemented such that the File property returns this descriptor, + and the FullName is the same as the Name. + + + + + Computes the full name of a descriptor within this file, with an optional parent message. + + + + + Extracts public dependencies from direct dependencies. This is a static method despite its + first parameter, as the value we're in the middle of constructing is only used for exceptions. + + + + + The descriptor in its protocol message representation. + + + + + The syntax of the file + + + + + The file name. + + + + + The package as declared in the .proto file. This may or may not + be equivalent to the .NET namespace of the generated classes. + + + + + Unmodifiable list of top-level message types declared in this file. + + + + + Unmodifiable list of top-level enum types declared in this file. + + + + + Unmodifiable list of top-level services declared in this file. + + + + + Unmodifiable list of top-level extensions declared in this file. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if this descriptor was generated using a version of protoc that did not fully + support extensions in C#. + + + + + Unmodifiable list of this file's dependencies (imports). + + + + + Unmodifiable list of this file's public dependencies (public imports). + + + + + The original serialized binary form of this descriptor. + + + + + Implementation of IDescriptor.FullName - just returns the same as Name. + + + + + Implementation of IDescriptor.File - just returns this descriptor. + + + + + Pool containing symbol descriptors. + + + + + Finds a type (message, enum, service or extension) in the file by name. Does not find nested types. + + The unqualified type name to look for. + The type of descriptor to look for + The type's descriptor, or null if not found. + + + + Builds a FileDescriptor from its protocol buffer representation. + + The original serialized descriptor data. + We have only limited proto2 support, so serializing FileDescriptorProto + would not necessarily give us this. + The protocol message form of the FileDescriptor. + FileDescriptors corresponding to all of the + file's dependencies, in the exact order listed in the .proto file. May be null, + in which case it is treated as an empty array. + Whether unknown dependencies are ignored (true) or cause an exception to be thrown (false). + Details about generated code, for the purposes of reflection. + If is not + a valid descriptor. This can occur for a number of reasons, such as a field + having an undefined type or because two messages were defined with the same name. + + + + Creates a descriptor for generated code. + + + This method is only designed to be used by the results of generating code with protoc, + which creates the appropriate dependencies etc. It has to be public because the generated + code is "external", but should not be called directly by end users. + + + + + Converts the given descriptor binary data into FileDescriptor objects. + Note: reflection using the returned FileDescriptors is not currently supported. + + The binary file descriptor proto data. Must not be null, and any + dependencies must come before the descriptor which depends on them. (If A depends on B, and B + depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible + with the order in which protoc provides descriptors to plugins. + The file descriptors corresponding to . + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns the file descriptor for descriptor.proto. + + + This is used for protos which take a direct dependency on descriptor.proto, typically for + annotations. While descriptor.proto is a proto2 file, it is built into the Google.Protobuf + runtime for reflection purposes. The messages are internal to the runtime as they would require + proto2 semantics for full support, but the file descriptor is available via this property. The + C# codegen in protoc automatically uses this property when it detects a dependency on descriptor.proto. + + + The file descriptor for descriptor.proto. + + + + + The (possibly empty) set of custom options for this file. + + + + + The FileOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value file option for this descriptor + + + + + Gets a repeated value file option for this descriptor + + + + + Performs initialization for the given generic type argument. + + + This method is present for the sake of AOT compilers. It allows code (whether handwritten or generated) + to make calls into the reflection machinery of this library to express an intention to use that type + reflectively (e.g. for JSON parsing and formatting). The call itself does almost nothing, but AOT compilers + attempting to determine which generic type arguments need to be handled will spot the code path and act + accordingly. + + The type to force initialization for. + + + + Extra information provided by generated code when initializing a message or file descriptor. + These are constructed as required, and are not long-lived. Hand-written code should + never need to use this type. + + + + + Irrelevant for file descriptors; the CLR type for the message for message descriptors. + + + + + Irrelevant for file descriptors; the parser for message descriptors. + + + + + Irrelevant for file descriptors; the CLR property names (in message descriptor field order) + for fields in the message for message descriptors. + + + + + The extensions defined within this file/message descriptor + + + + + Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order) + for oneofs in the message for message descriptors. It is expected that for a oneof name of "Foo", + there will be a "FooCase" property and a "ClearFoo" method. + + + + + The reflection information for types within this file/message descriptor. Elements may be null + if there is no corresponding generated type, e.g. for map entry types. + + + + + The CLR types for enums within this file/message descriptor. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types, enums, and extensions. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types and enums. + + + + + Interface implemented by all descriptor types. + + + + + Returns the name of the entity (message, field etc) being described. + + + + + Returns the fully-qualified name of the entity being described. + + + + + Returns the descriptor for the .proto file that this entity is part of. + + + + + Allows fields to be reflectively accessed. + + + + + Returns the descriptor associated with this field. + + + + + Clears the field in the specified message. (For repeated fields, + this clears the list.) + + + + + Fetches the field value. For repeated values, this will be an + implementation. For map values, this will be an + implementation. + + + + + Indicates whether the field in the specified message is set. + For proto3 fields that aren't explicitly optional, this throws an + + + + + Mutator for single "simple" fields only. + + + Repeated fields are mutated by fetching the value and manipulating it as a list. + Map fields are mutated by fetching the value and manipulating it as a dictionary. + + The field is not a "simple" field. + + + + Accessor for map fields. + + + + + Describes a message type. + + + + + The brief name of the descriptor's target. + + + + + The CLR type used to represent message instances from this descriptor. + + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, so this property will return null in such cases. + + + For wrapper types ( and the like), the type returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + A parser for this message type. + + + + As is not generic, this cannot be statically + typed to the relevant type, but it should produce objects of a type compatible with . + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. No message parser object is created for + such messages, so this property will return null in such cases. + + + For wrapper types ( and the like), the parser returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + Returns whether this message is one of the "well known types" which may have runtime/protoc support. + + + + + Returns whether this message is one of the "wrapper types" used for fields which represent primitive values + with the addition of presence. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + A collection of fields, which can be retrieved by name or field number. + + + + + An unmodifiable list of extensions defined in this message's scope. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if they are declared in a file generated using a version of protoc that did not fully + support extensions in C#. + + + + + An unmodifiable list of this message type's nested types. + + + + + An unmodifiable list of this message type's enum types. + + + + + An unmodifiable list of the "oneof" field collections in this message type. + All "real" oneofs (where returns false) + come before synthetic ones. + + + + + The number of real "oneof" descriptors in this message type. Every element in + with an index less than this will have a property value + of false; every element with an index greater than or equal to this will have a + property value of true. + + + + + Finds a field by field name. + + The unqualified name of the field (e.g. "foo"). + The field's descriptor, or null if not found. + + + + Finds a field by field number. + + The field number within this message type. + The field's descriptor, or null if not found. + + + + Finds a nested descriptor by name. The is valid for fields, nested + message types, oneofs and enums. + + The unqualified name of the descriptor, e.g. "Foo" + The descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this message. + + + + + The MessageOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value message option for this descriptor + + + + + Gets a repeated value message option for this descriptor + + + + + Looks up and cross-links all fields and nested types. + + + + + A collection to simplify retrieving the field accessor for a particular field. + + + + + Returns the fields in the message as an immutable list, in the order in which they + are declared in the source .proto file. + + + + + Returns the fields in the message as an immutable list, in ascending field number + order. Field numbers need not be contiguous, so there is no direct mapping from the + index in the list to the field number; to retrieve a field by field number, it is better + to use the indexer. + + + + + Returns a read-only dictionary mapping the field names in this message as they're available + in the JSON representation to the field descriptors. For example, a field foo_bar + in the message would result two entries, one with a key fooBar and one with a key + foo_bar, both referring to the same field. + + + + + Retrieves the descriptor for the field with the given number. + + Number of the field to retrieve the descriptor for + The accessor for the given field + The message descriptor does not contain a field + with the given number + + + + Retrieves the descriptor for the field with the given name. + + Name of the field to retrieve the descriptor for + The descriptor for the given field + The message descriptor does not contain a field + with the given name + + + + Describes a single method in a service. + + + + + The service this method belongs to. + + + + + The method's input type. + + + + + The method's input type. + + + + + Indicates if client streams multiple requests. + + + + + Indicates if server streams multiple responses. + + + + + The (possibly empty) set of custom options for this method. + + + + + The MethodOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value method option for this descriptor + + + + + Gets a repeated value method option for this descriptor + + + + + The brief name of the descriptor's target. + + + + + Reflection access for a oneof, allowing clear and "get case" actions. + + + + + Gets the descriptor for this oneof. + + + The descriptor of the oneof. + + + + + Clears the oneof in the specified message. + + + + + Indicates which field in the oneof is set for specified message + + + + + Describes a "oneof" field collection in a message type: a set of + fields of which at most one can be set in any particular message. + + + + + The brief name of the descriptor's target. + + + + + Gets the message type containing this oneof. + + + The message type containing this oneof. + + + + + Gets the fields within this oneof, in declaration order. + + + The fields within this oneof, in declaration order. + + + + + Returns true if this oneof is a synthetic oneof containing a proto3 optional field; + false otherwise. + + + + + Gets an accessor for reflective access to the values associated with the oneof + in a particular message. + + + + In descriptors for generated code, the value returned by this property will always be non-null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + The accessor used for reflective access. + + + + + The (possibly empty) set of custom options for this oneof. + + + + + The OneofOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value oneof option for this descriptor + + + + + Gets a repeated value oneof option for this descriptor + + + + + Specifies the original name (in the .proto file) of a named element, + such as an enum value. + + + + + The name of the element in the .proto file. + + + + + If the name is preferred in the .proto file. + + + + + Constructs a new attribute instance for the given name. + + The name of the element in the .proto file. + + + + Represents a package in the symbol table. We use PackageDescriptors + just as placeholders so that someone cannot define, say, a message type + that has the same name as an existing package. + + + + + The methods in this class are somewhat evil, and should not be tampered with lightly. + Basically they allow the creation of relatively weakly typed delegates from MethodInfos + which are more strongly typed. They do this by creating an appropriate strongly typed + delegate from the MethodInfo, and then calling that within an anonymous method. + Mind-bending stuff (at least to your humble narrator) but the resulting delegates are + very fast compared with calling Invoke later on. + + + + + Empty Type[] used when calling GetProperty to force property instead of indexer fetching. + + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to object. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to the specified type. The method is expected + to actually return an enum (because of where we're calling it - for oneof cases). Sometimes that + means we need some extra work to perform conversions. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + type that declares the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + + + + Creates a reflection helper for the given type arguments. Currently these are created on demand + rather than cached; this will be "busy" when initially loading a message's descriptor, but after that + they can be garbage collected. We could cache them by type if that proves to be important, but creating + an object is pretty cheap. + + + + + Accessor for repeated fields. + + + + + Describes a service type. + + + + + The brief name of the descriptor's target. + + + + + An unmodifiable list of methods in this service. + + + + + Finds a method by name. + + The unqualified name of the method (e.g. "Foo"). + The method's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this service. + + + + + The ServiceOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value service option for this descriptor + + + + + Gets a repeated value service option for this descriptor + + + + + Accessor for single fields. + + + + + An immutable registry of types which can be looked up by their full name. + + + + + An empty type registry, containing no types. + + + + + Attempts to find a message descriptor by its full name. + + The full name of the message, which is the dot-separated + combination of package, containing messages and message name + The message descriptor corresponding to or null + if there is no such message descriptor. + + + + Creates a type registry from the specified set of file descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the specified set of file descriptors. + + + All message types within all the specified files are added to the registry, and + the dependencies of the specified files are also added, recursively. + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + The specified message descriptors are only used to identify their file descriptors; the returned registry + contains all the types within the file descriptors which contain the specified message descriptors (and + the dependencies of those files), not just the specified messages. + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Builder class which isn't exposed, but acts as a convenient alternative to passing round two dictionaries in recursive calls. + + + + + Represents a single field in an UnknownFieldSet. + + An UnknownField consists of four lists of values. The lists correspond + to the four "wire types" used in the protocol buffer binary format. + Normally, only one of the four lists will contain any values, since it + is impossible to define a valid message type that declares two different + types for the same field number. However, the code is designed to allow + for the case where the same unknown field number is encountered using + multiple different wire types. + + + + + + Creates a new UnknownField. + + + + + Checks if two unknown field are equal. + + + + + Get the hash code of the unknown field. + + + + + Serializes the field, including the field number, and writes it to + + + The unknown field number. + The CodedOutputStream to write to. + + + + Computes the number of bytes required to encode this field, including field + number. + + + + + Merge the values in into this field. For each list + of values, 's values are append to the ones in this + field. + + + + + Returns a new list containing all of the given specified values from + both the and lists. + If is null and is empty, + null is returned. Otherwise, either a new list is created (if + is null) or the elements of are added to . + + + + + Adds a varint value. + + + + + Adds a fixed32 value. + + + + + Adds a fixed64 value. + + + + + Adds a length-delimited value. + + + + + Adds to the , creating + a new list if is null. The list is returned - either + the original reference or the new list. + + + + + Used to keep track of fields which were seen when parsing a protocol message + but whose field numbers or types are unrecognized. This most frequently + occurs when new fields are added to a message type and then messages containing + those fields are read by old software that was built before the new types were + added. + + Most users will never need to use this class directly. + + + + + Creates a new UnknownFieldSet. + + + + + Checks whether or not the given field number is present in the set. + + + + + Serializes the set and writes it to . + + + + + Gets the number of bytes required to encode this set. + + + + + Checks if two unknown field sets are equal. + + + + + Gets the unknown field set's hash code. + + + + + Adds a field to the set. If a field with the same number already exists, it + is replaced. + + + + + Parse a single field from and merge it + into this set. + + The coded input stream containing the field + false if the tag is an "end group" tag, true otherwise + + + + Create a new UnknownFieldSet if unknownFields is null. + Parse a single field from and merge it + into unknownFields. If is configured to discard unknown fields, + will be returned as-is and the field will be skipped. + + The UnknownFieldSet which need to be merged + The coded input stream containing the field + The merged UnknownFieldSet + + + + Merges the fields from into this set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Created a new UnknownFieldSet to if + needed and merges the fields from into the first set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Adds a field to the unknown field set. If a field with the same + number already exists, the two are merged. + + + + + Clone an unknown field set from . + + + + Holder for reflection information generated from google/protobuf/any.proto + + + File descriptor for google/protobuf/any.proto + + + + `Any` contains an arbitrary serialized protocol buffer message along with a + URL that describes the type of the serialized message. + + Protobuf library provides support to pack/unpack Any values in the form + of utility functions or additional generated methods of the Any type. + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". + + JSON + ==== + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": <string>, + "lastName": <string> + } + + If the embedded message type is well-known and has a custom JSON + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + + + + Field number for the "type_url" field. + + + + A URL/resource name that uniquely identifies the type of the serialized + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must represent + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a canonical form + (e.g., leading "." is not accepted). + + In practice, teams usually precompile into the binary all types that they + expect it to use in the context of Any. However, for URLs which use the + scheme `http`, `https`, or no scheme, one can optionally set up a type + server that maps type URLs to message definitions as follows: + + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the official + protobuf release, and it is not used for type URLs beginning with + type.googleapis.com. + + Schemes other than `http`, `https` (or the empty scheme) might be + used with implementation specific semantics. + + + + Field number for the "value" field. + + + + Must be a valid serialized protocol buffer of the above specified type. + + + + + Retrieves the type name for a type URL, matching the + of the packed message type. + + + + This is always just the last part of the URL, after the final slash. No validation of + anything before the trailing slash is performed. If the type URL does not include a slash, + an empty string is returned rather than an exception being thrown; this won't match any types, + and the calling code is probably in a better position to give a meaningful error. + + + There is no handling of fragments or queries at the moment. + + + The URL to extract the type name from + The type name + + + + Returns a bool indictating whether this Any message is of the target message type + + The descriptor of the message type + true if the type name matches the descriptor's full name or false otherwise + + + + Unpacks the content of this Any message into the target message type, + which must match the type URL within this Any message. + + The type of message to unpack the content into. + The unpacked message. + The target message type doesn't match the type URL in this message + + + + Attempts to unpack the content of this Any message into the target message type, + if it matches the type URL within this Any message. + + The type of message to attempt to unpack the content into. + true if the message was successfully unpacked; false if the type name didn't match + + + + Packs the specified message into an Any message using a type URL prefix of "type.googleapis.com". + + The message to pack. + An Any message with the content and type URL of . + + + + Packs the specified message into an Any message using the specified type URL prefix. + + The message to pack. + The prefix for the type URL. + An Any message with the content and type URL of . + + + Holder for reflection information generated from google/protobuf/api.proto + + + File descriptor for google/protobuf/api.proto + + + + Api is a light-weight descriptor for an API Interface. + + Interfaces are also described as "protocol buffer services" in some contexts, + such as by the "service" keyword in a .proto file, but they are different + from API Services, which represent a concrete implementation of an interface + as opposed to simply a description of methods and bindings. They are also + sometimes simply referred to as "APIs" in other contexts, such as the name of + this message itself. See https://cloud.google.com/apis/design/glossary for + detailed terminology. + + + + Field number for the "name" field. + + + + The fully qualified name of this interface, including package name + followed by the interface's simple name. + + + + Field number for the "methods" field. + + + + The methods of this interface, in unspecified order. + + + + Field number for the "options" field. + + + + Any metadata attached to the interface. + + + + Field number for the "version" field. + + + + A version string for this interface. If specified, must have the form + `major-version.minor-version`, as in `1.10`. If the minor version is + omitted, it defaults to zero. If the entire version field is empty, the + major version is derived from the package name, as outlined below. If the + field is not empty, the version in the package name will be verified to be + consistent with what is provided here. + + The versioning schema uses [semantic + versioning](http://semver.org) where the major version number + indicates a breaking change and the minor version an additive, + non-breaking change. Both version numbers are signals to users + what to expect from different versions, and should be carefully + chosen based on the product plan. + + The major version is also reflected in the package name of the + interface, which must end in `v<major-version>`, as in + `google.feature.v1`. For major versions 0 and 1, the suffix can + be omitted. Zero major versions must only be used for + experimental, non-GA interfaces. + + + + Field number for the "source_context" field. + + + + Source context for the protocol buffer service represented by this + message. + + + + Field number for the "mixins" field. + + + + Included interfaces. See [Mixin][]. + + + + Field number for the "syntax" field. + + + + The source syntax of the service. + + + + + Method represents a method of an API interface. + + + + Field number for the "name" field. + + + + The simple name of this method. + + + + Field number for the "request_type_url" field. + + + + A URL of the input message type. + + + + Field number for the "request_streaming" field. + + + + If true, the request is streamed. + + + + Field number for the "response_type_url" field. + + + + The URL of the output message type. + + + + Field number for the "response_streaming" field. + + + + If true, the response is streamed. + + + + Field number for the "options" field. + + + + Any metadata attached to the method. + + + + Field number for the "syntax" field. + + + + The source syntax of this method. + + + + + Declares an API Interface to be included in this interface. The including + interface must redeclare all the methods from the included interface, but + documentation and options are inherited as follows: + + - If after comment and whitespace stripping, the documentation + string of the redeclared method is empty, it will be inherited + from the original method. + + - Each annotation belonging to the service config (http, + visibility) which is not set in the redeclared method will be + inherited. + + - If an http annotation is inherited, the path pattern will be + modified as follows. Any version prefix will be replaced by the + version of the including interface plus the [root][] path if + specified. + + Example of a simple mixin: + + package google.acl.v1; + service AccessControl { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v1/{resource=**}:getAcl"; + } + } + + package google.storage.v2; + service Storage { + rpc GetAcl(GetAclRequest) returns (Acl); + + // Get a data record. + rpc GetData(GetDataRequest) returns (Data) { + option (google.api.http).get = "/v2/{resource=**}"; + } + } + + Example of a mixin configuration: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + + The mixin construct implies that all methods in `AccessControl` are + also declared with same name and request/response types in + `Storage`. A documentation generator or annotation processor will + see the effective `Storage.GetAcl` method after inherting + documentation and annotations as follows: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/{resource=**}:getAcl"; + } + ... + } + + Note how the version in the path pattern changed from `v1` to `v2`. + + If the `root` field in the mixin is specified, it should be a + relative path under which inherited HTTP paths are placed. Example: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + root: acls + + This implies the following inherited HTTP annotation: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + } + ... + } + + + + Field number for the "name" field. + + + + The fully qualified name of the interface which is included. + + + + Field number for the "root" field. + + + + If non-empty specifies a path under which inherited HTTP paths + are rooted. + + + + Holder for reflection information generated from google/protobuf/duration.proto + + + File descriptor for google/protobuf/duration.proto + + + + A Duration represents a signed, fixed-length span of time represented + as a count of seconds and fractions of seconds at nanosecond + resolution. It is independent of any calendar and concepts like "day" + or "month". It is related to Timestamp in that the difference between + two Timestamp values is a Duration and it can be added or subtracted + from a Timestamp. Range is approximately +-10,000 years. + + # Examples + + Example 1: Compute Duration from two Timestamps in pseudo code. + + Timestamp start = ...; + Timestamp end = ...; + Duration duration = ...; + + duration.seconds = end.seconds - start.seconds; + duration.nanos = end.nanos - start.nanos; + + if (duration.seconds < 0 && duration.nanos > 0) { + duration.seconds += 1; + duration.nanos -= 1000000000; + } else if (duration.seconds > 0 && duration.nanos < 0) { + duration.seconds -= 1; + duration.nanos += 1000000000; + } + + Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + + Timestamp start = ...; + Duration duration = ...; + Timestamp end = ...; + + end.seconds = start.seconds + duration.seconds; + end.nanos = start.nanos + duration.nanos; + + if (end.nanos < 0) { + end.seconds -= 1; + end.nanos += 1000000000; + } else if (end.nanos >= 1000000000) { + end.seconds += 1; + end.nanos -= 1000000000; + } + + Example 3: Compute Duration from datetime.timedelta in Python. + + td = datetime.timedelta(days=3, minutes=10) + duration = Duration() + duration.FromTimedelta(td) + + # JSON Mapping + + In JSON format, the Duration type is encoded as a string rather than an + object, where the string ends in the suffix "s" (indicating seconds) and + is preceded by the number of seconds, with nanoseconds expressed as + fractional seconds. For example, 3 seconds with 0 nanoseconds should be + encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + microsecond should be expressed in JSON format as "3.000001s". + + + + Field number for the "seconds" field. + + + + Signed seconds of the span of time. Must be from -315,576,000,000 + to +315,576,000,000 inclusive. Note: these bounds are computed from: + 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + + + + Field number for the "nanos" field. + + + + Signed fractions of a second at nanosecond resolution of the span + of time. Durations less than one second are represented with a 0 + `seconds` field and a positive or negative `nanos` field. For durations + of one second or more, a non-zero value for the `nanos` field must be + of the same sign as the `seconds` field. Must be from -999,999,999 + to +999,999,999 inclusive. + + + + + The number of nanoseconds in a second. + + + + + The number of nanoseconds in a BCL tick (as used by and ). + + + + + The maximum permitted number of seconds. + + + + + The minimum permitted number of seconds. + + + + + Converts this to a . + + If the duration is not a precise number of ticks, it is truncated towards 0. + The value of this duration, as a TimeSpan. + This value isn't a valid normalized duration, as + described in the documentation. + + + + Converts the given to a . + + The TimeSpan to convert. + The value of the given TimeSpan, as a Duration. + + + + Returns the result of negating the duration. For example, the negation of 5 minutes is -5 minutes. + + The duration to negate. Must not be null. + The negated value of this duration. + + + + Adds the two specified values together. + + The first value to add. Must not be null. + The second value to add. Must not be null. + + + + + Subtracts one from another. + + The duration to subtract from. Must not be null. + The duration to subtract. Must not be null. + The difference between the two specified durations. + + + + Creates a duration with the normalized values from the given number of seconds and + nanoseconds, conforming with the description in the proto file. + + + + + Converts a duration specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in duration.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Appends a number of nanoseconds to a StringBuilder. Either 0 digits are added (in which + case no "." is appended), or 3 6 or 9 digits. This is internal for use in Timestamp as well + as Duration. + + + + Holder for reflection information generated from google/protobuf/empty.proto + + + File descriptor for google/protobuf/empty.proto + + + + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the request + or the response type of an API method. For instance: + + service Foo { + rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + } + + The JSON representation for `Empty` is empty JSON object `{}`. + + + + Holder for reflection information generated from google/protobuf/field_mask.proto + + + File descriptor for google/protobuf/field_mask.proto + + + + `FieldMask` represents a set of symbolic field paths, for example: + + paths: "f.a" + paths: "f.b.d" + + Here `f` represents a field in some root message, `a` and `b` + fields in the message found in `f`, and `d` a field found in the + message in `f.b`. + + Field masks are used to specify a subset of fields that should be + returned by a get operation or modified by an update operation. + Field masks also have a custom JSON encoding (see below). + + # Field Masks in Projections + + When used in the context of a projection, a response message or + sub-message is filtered by the API to only contain those fields as + specified in the mask. For example, if the mask in the previous + example is applied to a response message as follows: + + f { + a : 22 + b { + d : 1 + x : 2 + } + y : 13 + } + z: 8 + + The result will not contain specific values for fields x,y and z + (their value will be set to the default, and omitted in proto text + output): + + f { + a : 22 + b { + d : 1 + } + } + + A repeated field is not allowed except at the last position of a + paths string. + + If a FieldMask object is not present in a get operation, the + operation applies to all fields (as if a FieldMask of all fields + had been specified). + + Note that a field mask does not necessarily apply to the + top-level response message. In case of a REST get operation, the + field mask applies directly to the response, but in case of a REST + list operation, the mask instead applies to each individual message + in the returned resource list. In case of a REST custom method, + other definitions may be used. Where the mask applies will be + clearly documented together with its declaration in the API. In + any case, the effect on the returned resource/resources is required + behavior for APIs. + + # Field Masks in Update Operations + + A field mask in update operations specifies which fields of the + targeted resource are going to be updated. The API is required + to only change the values of the fields as specified in the mask + and leave the others untouched. If a resource is passed in to + describe the updated values, the API ignores the values of all + fields not covered by the mask. + + If a repeated field is specified for an update operation, new values will + be appended to the existing repeated field in the target resource. Note that + a repeated field is only allowed in the last position of a `paths` string. + + If a sub-message is specified in the last position of the field mask for an + update operation, then new value will be merged into the existing sub-message + in the target resource. + + For example, given the target message: + + f { + b { + d: 1 + x: 2 + } + c: [1] + } + + And an update message: + + f { + b { + d: 10 + } + c: [2] + } + + then if the field mask is: + + paths: ["f.b", "f.c"] + + then the result will be: + + f { + b { + d: 10 + x: 2 + } + c: [1, 2] + } + + An implementation may provide options to override this default behavior for + repeated and message fields. + + In order to reset a field's value to the default, the field must + be in the mask and set to the default value in the provided resource. + Hence, in order to reset all fields of a resource, provide a default + instance of the resource and set all fields in the mask, or do + not provide a mask as described below. + + If a field mask is not present on update, the operation applies to + all fields (as if a field mask of all fields has been specified). + Note that in the presence of schema evolution, this may mean that + fields the client does not know and has therefore not filled into + the request will be reset to their default. If this is unwanted + behavior, a specific service may require a client to always specify + a field mask, producing an error if not. + + As with get operations, the location of the resource which + describes the updated values in the request message depends on the + operation kind. In any case, the effect of the field mask is + required to be honored by the API. + + ## Considerations for HTTP REST + + The HTTP kind of an update operation which uses a field mask must + be set to PATCH instead of PUT in order to satisfy HTTP semantics + (PUT must only be used for full updates). + + # JSON Encoding of Field Masks + + In JSON, a field mask is encoded as a single string where paths are + separated by a comma. Fields name in each path are converted + to/from lower-camel naming conventions. + + As an example, consider the following message declarations: + + message Profile { + User user = 1; + Photo photo = 2; + } + message User { + string display_name = 1; + string address = 2; + } + + In proto a field mask for `Profile` may look as such: + + mask { + paths: "user.display_name" + paths: "photo" + } + + In JSON, the same mask is represented as below: + + { + mask: "user.displayName,photo" + } + + # Field Masks and Oneof Fields + + Field masks treat fields in oneofs just as regular fields. Consider the + following message: + + message SampleMessage { + oneof test_oneof { + string name = 4; + SubMessage sub_message = 9; + } + } + + The field mask can be: + + mask { + paths: "name" + } + + Or: + + mask { + paths: "sub_message" + } + + Note that oneof type names ("test_oneof" in this case) cannot be used in + paths. + + ## Field Mask Verification + + The implementation of any API method which has a FieldMask type field in the + request should verify the included field paths, and return an + `INVALID_ARGUMENT` error if any path is unmappable. + + + + Field number for the "paths" field. + + + + The set of field mask paths. + + + + + Converts a field mask specified by paths to a string. + + + If the value is a normalized duration in the range described in field_mask.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Paths in the field mask + Determines the handling of non-normalized values + The represented field mask is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Parses from a string to a FieldMask. + + + + + Parses from a string to a FieldMask and validates all field paths. + + The type to validate the field paths against. + + + + Constructs a FieldMask for a list of field paths in a certain type. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Checks whether the given path is valid for a field mask. + + true if the path is valid; false otherwise + + + + Checks whether paths in a given fields mask are valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Checks whether a given field path is valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Converts this FieldMask to its canonical form. In the canonical form of a + FieldMask, all field paths are sorted alphabetically and redundant field + paths are removed. + + + + + Creates a union of two or more FieldMasks. + + + + + Calculates the intersection of two FieldMasks. + + + + + Merges fields specified by this FieldMask from one message to another with the + specified merge options. + + + + + Merges fields specified by this FieldMask from one message to another. + + + + + Options to customize merging behavior. + + + + + Whether to replace message fields(i.e., discard existing content in + destination message fields) when merging. + Default behavior is to merge the source message field into the + destination message field. + + + + + Whether to replace repeated fields (i.e., discard existing content in + destination repeated fields) when merging. + Default behavior is to append elements from source repeated field to the + destination repeated field. + + + + + Whether to replace primitive (non-repeated and non-message) fields in + destination message fields with the source primitive fields (i.e., if the + field is set in the source, the value is copied to the + destination; if the field is unset in the source, the field is cleared + from the destination) when merging. + + Default behavior is to always set the value of the source primitive + field to the destination primitive field, and if the source field is + unset, the default value of the source field is copied to the + destination. + + + + Holder for reflection information generated from google/protobuf/source_context.proto + + + File descriptor for google/protobuf/source_context.proto + + + + `SourceContext` represents information about the source of a + protobuf element, like the file in which it is defined. + + + + Field number for the "file_name" field. + + + + The path-qualified name of the .proto file that contained the associated + protobuf element. For example: `"google/protobuf/source_context.proto"`. + + + + Holder for reflection information generated from google/protobuf/struct.proto + + + File descriptor for google/protobuf/struct.proto + + + + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + + + + + Null value. + + + + + `Struct` represents a structured data value, consisting of fields + which map to dynamically typed values. In some languages, `Struct` + might be supported by a native representation. For example, in + scripting languages like JS a struct is represented as an + object. The details of that representation are described together + with the proto support for the language. + + The JSON representation for `Struct` is JSON object. + + + + Field number for the "fields" field. + + + + Unordered map of dynamically typed values. + + + + + `Value` represents a dynamically typed value which can be either + null, a number, a string, a boolean, a recursive struct value, or a + list of values. A producer of value is expected to set one of that + variants, absence of any variant indicates an error. + + The JSON representation for `Value` is JSON value. + + + + Field number for the "null_value" field. + + + + Represents a null value. + + + + Field number for the "number_value" field. + + + + Represents a double value. + + + + Field number for the "string_value" field. + + + + Represents a string value. + + + + Field number for the "bool_value" field. + + + + Represents a boolean value. + + + + Field number for the "struct_value" field. + + + + Represents a structured value. + + + + Field number for the "list_value" field. + + + + Represents a repeated `Value`. + + + + Enum of possible cases for the "kind" oneof. + + + + Convenience method to create a Value message with a string value. + + Value to set for the StringValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a number value. + + Value to set for the NumberValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a Boolean value. + + Value to set for the BoolValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a null initial value. + + A newly-created Value message a null initial value. + + + + Convenience method to create a Value message with an initial list of values. + + The values provided are not cloned; the references are copied directly. + A newly-created Value message an initial list value. + + + + Convenience method to create a Value message with an initial struct value + + The value provided is not cloned; the reference is copied directly. + A newly-created Value message an initial struct value. + + + + `ListValue` is a wrapper around a repeated field of values. + + The JSON representation for `ListValue` is JSON array. + + + + Field number for the "values" field. + + + + Repeated field of dynamically typed values. + + + + + Extension methods on BCL time-related types, converting to protobuf types. + + + + + Converts the given to a . + + The date and time to convert to a timestamp. + The value has a other than Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts the given to a . + + The time span to convert. + The converted duration. + + + Holder for reflection information generated from google/protobuf/timestamp.proto + + + File descriptor for google/protobuf/timestamp.proto + + + + A Timestamp represents a point in time independent of any time zone or local + calendar, encoded as a count of seconds and fractions of seconds at + nanosecond resolution. The count is relative to an epoch at UTC midnight on + January 1, 1970, in the proleptic Gregorian calendar which extends the + Gregorian calendar backwards to year one. + + All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + second table is needed for interpretation, using a [24-hour linear + smear](https://developers.google.com/time/smear). + + The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + restricting to that range, we ensure that we can convert to and from [RFC + 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + + # Examples + + Example 1: Compute Timestamp from POSIX `time()`. + + Timestamp timestamp; + timestamp.set_seconds(time(NULL)); + timestamp.set_nanos(0); + + Example 2: Compute Timestamp from POSIX `gettimeofday()`. + + struct timeval tv; + gettimeofday(&tv, NULL); + + Timestamp timestamp; + timestamp.set_seconds(tv.tv_sec); + timestamp.set_nanos(tv.tv_usec * 1000); + + Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + + FILETIME ft; + GetSystemTimeAsFileTime(&ft); + UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + + // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + Timestamp timestamp; + timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + + Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + + long millis = System.currentTimeMillis(); + + Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + .setNanos((int) ((millis % 1000) * 1000000)).build(); + + Example 5: Compute Timestamp from current time in Python. + + timestamp = Timestamp() + timestamp.GetCurrentTime() + + # JSON Mapping + + In JSON format, the Timestamp type is encoded as a string in the + [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + where {year} is always expressed using four digits while {month}, {day}, + {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + is required. A proto3 JSON serializer should always use UTC (as indicated by + "Z") when printing the Timestamp type and a proto3 JSON parser should be + able to accept both UTC and other timezones (as indicated by an offset). + + For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + 01:30 UTC on January 15, 2017. + + In JavaScript, one can convert a Date object to this format using the + standard + [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + method. In Python, a standard `datetime.datetime` object can be converted + to this format using + [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + the Joda Time's [`ISODateTimeFormat.dateTime()`]( + http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D + ) to obtain a formatter capable of generating timestamps in this format. + + + + Field number for the "seconds" field. + + + + Represents seconds of UTC time since Unix epoch + 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + 9999-12-31T23:59:59Z inclusive. + + + + Field number for the "nanos" field. + + + + Non-negative fractions of a second at nanosecond resolution. Negative + second values with fractions must still have non-negative nanos values + that count forward in time. Must be from 0 to 999,999,999 + inclusive. + + + + + Returns the difference between one and another, as a . + + The timestamp to subtract from. Must not be null. + The timestamp to subtract. Must not be null. + The difference between the two specified timestamps. + + + + Adds a to a , to obtain another Timestamp. + + The timestamp to add the duration to. Must not be null. + The duration to add. Must not be null. + The result of adding the duration to the timestamp. + + + + Subtracts a from a , to obtain another Timestamp. + + The timestamp to subtract the duration from. Must not be null. + The duration to subtract. + The result of subtracting the duration from the timestamp. + + + + Converts this timestamp into a . + + + The resulting DateTime will always have a Kind of Utc. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTime. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts this timestamp into a . + + + The resulting DateTimeOffset will always have an Offset of zero. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTimeOffset. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts the specified to a . + + + The Kind of is not DateTimeKind.Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts a timestamp specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in timestamp.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Given another timestamp, returns 0 if the timestamps are equivalent, -1 if this timestamp precedes the other, and 1 otherwise + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + Timestamp to compare + an integer indicating whether this timestamp precedes or follows the other + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Returns whether two timestamps are equivalent + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps refer to the same nanosecond + + + + Returns whether two timestamps differ + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps differ + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + Holder for reflection information generated from google/protobuf/type.proto + + + File descriptor for google/protobuf/type.proto + + + + The syntax in which a protocol buffer element is defined. + + + + + Syntax `proto2`. + + + + + Syntax `proto3`. + + + + + A protocol buffer message type. + + + + Field number for the "name" field. + + + + The fully qualified message name. + + + + Field number for the "fields" field. + + + + The list of fields. + + + + Field number for the "oneofs" field. + + + + The list of types appearing in `oneof` definitions in this type. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + A single field of a message type. + + + + Field number for the "kind" field. + + + + The field type. + + + + Field number for the "cardinality" field. + + + + The field cardinality. + + + + Field number for the "number" field. + + + + The field number. + + + + Field number for the "name" field. + + + + The field name. + + + + Field number for the "type_url" field. + + + + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + + + + Field number for the "oneof_index" field. + + + + The index of the field type in `Type.oneofs`, for message or enumeration + types. The first type has index 1; zero means the type is not in the list. + + + + Field number for the "packed" field. + + + + Whether to use alternative packed wire representation. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "json_name" field. + + + + The field JSON name. + + + + Field number for the "default_value" field. + + + + The string value of the default value of this field. Proto2 syntax only. + + + + Container for nested types declared in the Field message type. + + + + Basic field types. + + + + + Field type unknown. + + + + + Field type double. + + + + + Field type float. + + + + + Field type int64. + + + + + Field type uint64. + + + + + Field type int32. + + + + + Field type fixed64. + + + + + Field type fixed32. + + + + + Field type bool. + + + + + Field type string. + + + + + Field type group. Proto2 syntax only, and deprecated. + + + + + Field type message. + + + + + Field type bytes. + + + + + Field type uint32. + + + + + Field type enum. + + + + + Field type sfixed32. + + + + + Field type sfixed64. + + + + + Field type sint32. + + + + + Field type sint64. + + + + + Whether a field is optional, required, or repeated. + + + + + For fields with unknown cardinality. + + + + + For optional fields. + + + + + For required fields. Proto2 syntax only. + + + + + For repeated fields. + + + + + Enum type definition. + + + + Field number for the "name" field. + + + + Enum type name. + + + + Field number for the "enumvalue" field. + + + + Enum value definitions. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + Enum value definition. + + + + Field number for the "name" field. + + + + Enum value name. + + + + Field number for the "number" field. + + + + Enum value number. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. + + + + Field number for the "name" field. + + + + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, `"map_entry"`. + For custom options, it should be the fully-qualified name. For example, + `"google.api.http"`. + + + + Field number for the "value" field. + + + + The option's value packed in an Any message. If the value is a primitive, + the corresponding wrapper type defined in google/protobuf/wrappers.proto + should be used. If the value is an enum, it should be stored as an int32 + value using the google.protobuf.Int32Value type. + + + + Holder for reflection information generated from google/protobuf/wrappers.proto + + + File descriptor for google/protobuf/wrappers.proto + + + + Field number for the single "value" field in all wrapper types. + + + + + Wrapper message for `double`. + + The JSON representation for `DoubleValue` is JSON number. + + + + Field number for the "value" field. + + + + The double value. + + + + + Wrapper message for `float`. + + The JSON representation for `FloatValue` is JSON number. + + + + Field number for the "value" field. + + + + The float value. + + + + + Wrapper message for `int64`. + + The JSON representation for `Int64Value` is JSON string. + + + + Field number for the "value" field. + + + + The int64 value. + + + + + Wrapper message for `uint64`. + + The JSON representation for `UInt64Value` is JSON string. + + + + Field number for the "value" field. + + + + The uint64 value. + + + + + Wrapper message for `int32`. + + The JSON representation for `Int32Value` is JSON number. + + + + Field number for the "value" field. + + + + The int32 value. + + + + + Wrapper message for `uint32`. + + The JSON representation for `UInt32Value` is JSON number. + + + + Field number for the "value" field. + + + + The uint32 value. + + + + + Wrapper message for `bool`. + + The JSON representation for `BoolValue` is JSON `true` and `false`. + + + + Field number for the "value" field. + + + + The bool value. + + + + + Wrapper message for `string`. + + The JSON representation for `StringValue` is JSON string. + + + + Field number for the "value" field. + + + + The string value. + + + + + Wrapper message for `bytes`. + + The JSON representation for `BytesValue` is JSON string. + + + + Field number for the "value" field. + + + + The bytes value. + + + + + This class is used internally by the Protocol Buffer Library and generated + message implementations. It is public only for the sake of those generated + messages. Others should not use this class directly. + + This class contains constants and helper functions useful for dealing with + the Protocol Buffer wire format. + + + + + + Wire types within protobuf encoding. + + + + + Variable-length integer. + + + + + A fixed-length 64-bit value. + + + + + A length-delimited value, i.e. a length followed by that many bytes of data. + + + + + A "start group" value + + + + + An "end group" value + + + + + A fixed-length 32-bit value. + + + + + Given a tag value, determines the wire type (lower 3 bits). + + + + + Given a tag value, determines the field number (the upper 29 bits). + + + + + Makes a tag value given a field number and wire type. + + + + diff --git a/Plugins/LC.Google.Protobuf.xml.meta b/Plugins/LC.Google.Protobuf.xml.meta new file mode 100644 index 0000000..d4fa425 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 303a07daee98441678d317e377b7132c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.deps.json b/Plugins/LiveQuery.deps.json new file mode 100644 index 0000000..b49ba21 --- /dev/null +++ b/Plugins/LiveQuery.deps.json @@ -0,0 +1,111 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "LiveQuery/1.0.0": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Realtime": "1.0.0" + }, + "runtime": { + "LiveQuery.dll": {} + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Common/1.0.0": { + "dependencies": { + "LC.Newtonsoft.Json": "11.0.1-beta2" + }, + "runtime": { + "Common.dll": {} + } + }, + "LC.Google.Protobuf/3.12.4": { + "dependencies": { + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "LC.Google.Protobuf.dll": {} + } + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "runtime": { + "LC.Newtonsoft.Json.dll": {} + } + }, + "Realtime/1.0.0": { + "dependencies": { + "LC.Google.Protobuf": "3.12.4", + "Storage": "1.0.0" + }, + "runtime": { + "Realtime.dll": {} + } + }, + "Storage/1.0.0": { + "dependencies": { + "Common": "1.0.0" + }, + "runtime": { + "Storage.dll": {} + } + } + } + }, + "libraries": { + "LiveQuery/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Common/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Google.Protobuf/3.12.4": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Realtime/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Storage/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Plugins/LiveQuery.deps.json.meta b/Plugins/LiveQuery.deps.json.meta new file mode 100644 index 0000000..04448e7 --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 020c2ba03145f4a718dacf2326a6c4a1 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..8cc8fe32ae21a370ab376190c1b9438d6a916d4b GIT binary patch literal 22016 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 literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.dll.meta b/Plugins/LiveQuery.dll.meta new file mode 100644 index 0000000..dce8430 --- /dev/null +++ b/Plugins/LiveQuery.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: f744a27ab14374b45bc7e2741cc37d55 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.pdb b/Plugins/LiveQuery.pdb new file mode 100644 index 0000000000000000000000000000000000000000..63fd33af73e4f2aa54b5a0443ce141e6f555b554 GIT binary patch literal 12244 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 literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.pdb.meta b/Plugins/LiveQuery.pdb.meta new file mode 100644 index 0000000..71cf173 --- /dev/null +++ b/Plugins/LiveQuery.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 04b9589a578c74d31b9dbd1992d3ba78 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.dll b/Plugins/Realtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..e9c68401888a83a2a4f782a637542c2a413451be GIT binary patch literal 298496 zcmbrn37lL-)i&O_chZw|)|sSdCNoJU34~mFk^vF|Lz*RoJuG40mk@RY8t$-XZZn`L zCN!=XPMtcn z-)Z(g`ub8_DwW#s|JPnCl^#aSf2$S#?}JgWr}sZPz4WQcPcM9U!hTOLJoNN4h8LWh zHcm@VJbS@OC!TXo*15?olf3Hz6)f z+Ubse`r2M7Em|;T!q%nIo1s==OjJ06iWM0bq^?L;&dZfCvD69uNUwt_MT_nCAfz0Oor@ z1b}`Ihybv_10nz{^neHei##CW<|sj%Dsj?1NQCa^4x`PKs9ZrT(#nYLM-`|eD(&y< zh!eP8IciJbU*%|G0w*d*P-k1l!?0K-gQ{&&G<^DmQaRa}9(f)WFrC8ZKry+T_=rR^aL3IR^*SRVK>zRvc%0 zDXwOFC>}93orAKNvZjar##BRD3H97pWuk0<#c{Tu;%c^5@rbb#l%Oo85_nFfHa{BP z3a(`RelYZdyLQBlmE}^oQr-hqYkk8|C@sMMm%5nga)0MwUoA>jf{Ys%P)L;QP)xv$ zJZH}+!K_zaye!(H))-*L>^~4Cz-$8~SF!`8Ym^=2bYEw>8=OG10n?Lq#GD!Ic&ICP znBq7)+?7AX${U*su8>lov1QVc9P;a+n~6btyer^>;$z_7E>l`yJ#cEWn0|XhLS^SxvM8GZGrYrLp{yS zI7xJt8Y{qB8leM*Z)V3CUT$DIsg!GLExBQ=-YZi3G+t@OO45CV3w&g z&}Ws(z*MvV%u3@fhy#sott@-#C(}DiuXde?vJK2al^@k6U=@n6d6}~%#r&Vj{J{T} z%=tDU*9M2{sB@GphSP4ufVG8C1ONUY$_urlRn1DOdQAfhq;@%O+rg3F?_fC6m)tzTg-ve@myA?`AwDYERPE!f8>ru1PNYBxRo# zO-{}qlU-W2ne@JnwhNA>_|A^DyGhKN72F;T>Uc_|2$i6tun#y1{f2+kC*Z6!QAbmFv zhybv=2ShA)wuM-(3dtjs1M!R@{#qud_y1cy^{ol$Ao&!#16!rL(TT&T2)iKbp&rnF z)Adqd4x{SI;&fm_>D)rT2I{YPKVtQ^(dsIv+vgdH%S$95VmA2{67erWOkX_F4e~ktfgBxIc#cr3|r^?cUrrW9c?m6S!3Q0 z-p`-|ZBi(Ui~fyE=%5mg4;+J!fgfwqz%s+pze5L@WlbJa+A$>C)tzqC@9tb%Uou%6`2-wnA0RT zAeXKGSUgL!U^lFob5UD%hSvEgJ5zBrJ6-XJ!O2ux_nESNGe+I_DQkNF<(yLB#5Ns> z0093pKm-6dngJpJ!08MSf%$YoX*P7i|1tl+AF`AEp;ra^9e|jXpm(f<2# z|39zguANvgOPJ;Vf3MR|pe04+uB38q5Aizd^pmv8^!``ryN7s_i5PD(+3YCjIp_b$ zW-Y4)dZTDFCT$9ZIn?hMlO@~({D0d+lH9(fyKEba8D;G&ux~jl`HHph6}IqD-$D^+ z;Ui@39L-K1rP<=-S*B6{#L@=TZ~poWFs#X!!$sX)N5Wa&ExtF(bD5`sF;KbYcuu@r zffuLu$CRS8o?ai-7hRG5St;R{!I-O79`f?SAj0SznT{I zSJ+-*oujUPHt*_iwwl&q#+udM(SFvnXwu|ijF^g9VtW6}G}}4eY$A@2Hl77wSv0$5 zRIL4P?adCK63H|fGr0`5Qr6Zw&e`N>qeWY{mDZy@vh_xCmbI(=z?4YIVR&PuQck}N z<)g;8Vd!g)p^aAqHt|arTiigeR=T$7E~npRUTN8t90pLCHTpBwU_LgnbP?*s{L&G1 zUwa}%F79e#*{s}|Ov6f2nLWkoRO7UWO>H(%coH@_MBu`t10c1 z8s9-|wfny4Z0~4Gjz%`Ewz5fkx$#5fYp-o5dAQd?dvM~VA51KL5;6Y`9}94CwRskn zvscSs#~E+z!$8D2mlv*Km_`xxc2`A+J&_rzN5wP5??|D z`mnXk-^Z2V`ZgQ+y6A%&M^HTWBOaFzvvFK7&8y9A{T3u4bc( zM~t1!GFeO&WYN}(3T=Fg%0$^!P6nQbpy!Ce3A}`NT1*w%Mj2QH!v6SeP6nQVP_~-A z)npjVn|sP&svrYf-O}bJ;|$v8Iw#{DisS5h#ckOQimTb%6^~dp?%ybrspJj8PSk60 zL9d%tCdzJcGTv!23{JXD22%ySC}WF)jCVU3?{PA2H5mpc*f~)TrV29HU)XojKI;41 zos9P>jkF|x3Bgf@OmWuoj8isS6#imTa26^|I3$0^#2 zsWGw!OqRy(r&K1&KCL*;9#mY-9#A}D>;y9gWieH-J^gBFLDnNG6J?)O9A}RzZp%KS zxSBnzc*L?%4rMYmM&`1D%qLVP%090+&OWEOEqhXNHG5p~h-Krm31u=>kV!uqG@012 zRI;a3Cd$6#WPH(N7@RCH8B8VE3>EIFw=x-62`kxGos6$5jkeGJfS`{L*9?oM85$45sXTV|kSR8XL<7HUxZciAyg}D3w-1UY!1o zJ8O3c31`z6um;E4&V$cek1X_k|_jyOGzIj1P+ z4v)f*;`9_E)2;0G9aChaS)CozWs;>m9i0jGH%Pc#{W2>=`AS*N;ixFed$uG3gt}q;FC>X!p+6Wd8IKeK3KE#y0y9XI{lcD+jWhdi5PR74YhQWLy zrwpcSe!o3@*YX_uyBlg;8fj{e6P*6aTSUp8i1Z$)Vd&ST9j(rjsP}8GPJHyB{ot!s zr@_fGtCOk1nQ0fyA3K?h_fSTxvQgHiIL;hGMnB^m*#NhI+d( zl@BfWl#L`2aCLZ<0U`jvtqc%R7&h=1V~E%@!PJTS+rwari0FIip@0N_jp zhyVa@GC%|X_>%!50KlUR5P_>!4Z`Gos4IhewbkA#I@-uYl$;1f&f;x+CBc+jN$#Rf zUj5(~JDYt!Kp~T4$0(cZ?AmU2H8{aej&@}#`5ed{j(=z;A-yGs8r4{P2ua2DAv0L-LU9y8HQ|IZBOTtOeFV964&Us1i#~VRrm&I z2i%#>U9oMHTnImi5_~*YZrlkhZk&P;BTC3LtncMU8FiH#6@-nCQW!?Xdsz+d)P|;c?QI1+d5mWR2*m9DQ?TQS3EHrQe4eeC?2uw$@XSrrV4iiut{kjldUmO zSD7f=S#g~0sJJcLNpUq>rFg`$@nahH8&ie8r@m_oGIv#(DBE3eoUKvZmhGl^Vz!6k zYPMSOh-K%;Ih4&*LH3!Dy|2l>fVNnxGEugl;yBw^aa*>(;)&S-igDgqXT-$pKqJc8 zK_aTzK8i<752!&E5Bj#P|qvlO>wM<}jlhbkViYzbCF3T3L$ z7RubeAoCcNiL&Dr$Jw!p+p^;nSF@uPk65;3N0Z5v$^40Z-`2BYGCU8@B;_rz`{fsJ z{hflYC_ud{CLz-sg~-P^7s74B+;gJp!Z%)u@r{>aeB-5f#Mu1KlMGs`}!d39F>W(a}~!~Lox0|6^|G@fd-Vtl*tN1 zihVf@{SGpj{q&(sWuxpe#kfCI+?HLbcw#oH7(R5l5figF8d1*PWJG(`6j9Aa6pxt5 zWVPwRlPwO6@DWuoluisS5B#ntR>ibsr{V0B@em@4d9=tGB?tdFxTH>gaM z-K03q-l4cHyHRm9yI%2#WlONyP$pB!CsEwiSjs%qWS&Zyx2Q~%y<2gdy-RUhcB|rQ zcC+FU%a&mEp-iRe6Ng|<@WQ3aU~sZ5kTsyNOb zR@|07qPUuUTJeZw<5xSB$LrW&nRxo zo>e?C+oZUf{g>hq%bsA>plqfJeMKKS&SalOU;mcM;7(34?&K8XE>7`?u@kHWl*Lrx z{*ihfZ?aO#`k~51+4G8V7pE9^af)#lr?{H^K=FuW=W`ZiGgY|fqwEt3vVW#BQT9v4 zarSe?ZP_mrPt0CaT+M!}c*L@EV?xrJ-Ke7{ziDEp1#ID1KPHT#v~5o7b) z6Ut($aQ36D6HV3ww88IHCd&S(IL`i{xSIV=@rbb#%EK%3`X}&m2FPY`KnLZ&=Cxtuj&eisCqXS#ewTAH~(|Uy4U8 zTY}k|GMTb7UYN&EHkp@GCcY`hzBtMv#c?)4aW#9*WEnfbY)x5A*}V(yuIz7pPJygp z2*f5)FRKk0vRr9fdR}?>(~!?UGb*<=9s)UKV4wEJ!yu*(V*r;IPikz>Jt`(x(sk09 z%t-GA+CIFSXfiR0l&6&&uxoj8;}M8xZ#;@{*~flTX97%gl3psk z!?qIL+DW{(u#@Q1PU1bbld%0N`wa_6ShLH{E|Z*H+MQh{DjqR*f)$5$VXDw?lyzD` z)-;ugvKflwY`WrVHdXP6vH7t9Wid5I*69UVohlP$vlPeKY{k{AL-B~Q6Ra?l#nc#C z*o=oZcB@R3^(c}!LpxhjLRqvAN5ueh4^DIPI)f)$3c zm>MJN4Fy??R3^$cQygcTE3Re>6^|G@fm2WxQ)6UdQVe?GPd4P=TPnui-YCZ3-Y6b1 zHovlu999W6vx@NimTZ+ zibsr{U6l4vlOqAi22$^w)qZ{ICw!PvJV<%WKD2u5vvd%5Y!s$+W?V>o& zRx7S%J1HJ9c7hdyvX~kp>%4-j-Bbo=D8+GxzhRMHYZQ+dJ2}B*F*QaO7NpRRd#g;8 z?V~u()+(-Mdnq0->VO zgHwn{{0Y1am6@mVkr5*1^pTYFG>IRf4r`yDMrf|s2KseH@J>4_BP9+`Ao^E+1ttwq}V_>uui7`wY(8GfMY#q7nGF;64P` zvZ;%^(lemNor}BEpDXT3k85LkPKrlL#J%Z36B+lVUspUgg<~Q;FMUGs{B(zQru!$S z4;WENmrW8fCB4Upsp-PWLZ+qfF=BdJtq7TsUT4J2bn+A-9qAj5=uBTRVpe+5RIz5K ze=?$)zG0e>uJlDCy3-S;3+YL}Z^WGRkQqXH)2EH-OZS>7WN!MT5%bb|hmiT{gGThH zTXhOqklt&=!gRA)LKdaB8L?T~JzL1;=?z9KPN!6bY>{4R#FF$iBa-xzF0r;u|6)Wf zJ-b`TK>FWCEKN`B5wa}(p%H`WVRM9Rl|F04*6BXILbgf2V8rrtr#>Mo(ua)LHr-~f zkd^6&jo2<-JWt5>=^aK4rE}&B*&)5rh*jydej)YrEk^8^PFNshr*xwcJEwm$VwbeB zP^{JIuZ`F>J!z4UHR+Fy*eyL`Ga(Uup3OO*n+K7YFxF+P_G&ACm^dCkXnw~cx z)?w*OMjW1=vQ)?s>GMV$nI5%F$WiGxjW{~pe^AIV>6eW-Hr;hAA;+bkG2-}i<<>$@ zNIz!8`gF@}gq)b(WyFSb-f|%)rMDPya@w&%$SLXDj5sx&xUG=W(#woEJ^hyvXQaa` z#X2+noe^(HPuot&S?N!WI6FONdm-nf-!`I=t{W0^Zu(Ut&P#XOK}ecDX2fv1{VE~n zr=Kw5f^?uR`b`}0c(%&`uO{5Q6BODKerS$7YznSzNy9s{_ z=_ic7iu4Y<3%{E514h4<^s+sKzm4=gMqfjE;hw^;CH)?w-%h%^m+?i!) zq@Ok#=bTcy*Z#uaOZrKpZzEklKsaXqQu?6LcaYv{o$&XOzSrpYliut=;dhe0&FH&G zcONAD1Eg;-`fk!w4i^4F(pMUN59!y8{t)R)4pE+aN&kg(@;DYPePYmcZ5_)`@3q}p zgf=bapD#TDCRUcuK)(vxpMP>&b%VHN039~)DkXVX9^@M{$4^#z`F z1zuF#lm1KboV5F})*9z*S{ekj;r*lA3s^QLWACPAA!9c(_E&t)?U@se+(mIuy1(K% z>0yd{(=!zJrINUKZaS>=yz~ae^V7Q(WAT23M8O(;n+8Lb2e8U1zDg6>?L_vts^+9$ zm#E(KyNdhLpDWI*{FBo2)AqxuGOFx1qB5@Txtq2Mb-x*P&+%0+QHkz!E5$wO4vY&* z&)c+hDER)OLH8PyasH-lLdH)PGaff4WB=q$%R|nmin?4R9lF!Y6!)ZW8C$ZlX+NT7)_5Rtf1&?`B-=g&CWMLWx(Y_vT*jM_duJT~GR$(sP`3d(*Eg z-Isn>@!a%9#q-iXD4w6btQfs8@hIn|GmMy$_8BqNwY?wb0(0r1T}CEPaYZ(YiA??GUVs@6yZjym8I_x?OX7 zoFV2oJM=n-?Mt7R=(*`X#!Bwkv?@rx7n1v@d(nPLn0yS|+vECUj;o?KohH05ouzoL zTQcUQ^OT;SZlxIgwv!Q+^dKXqq^B4$HQi{$wDf8cv%CE={!_0Ltl*Z_{?1KU>D{{e zJ7^jfXd9i~&Y^M}+$iC0?J8Px)}|eUq?r>7>w<5xO%QGsES8+TX{S(fpjdK={I1*i zO^-QJv1E1A&Y|R<#ge{GbE}?IBdl1mYtt^FCthuD_`LKz zis$<&VzQqiDt>^&JKfiaYI>3pUFk+6y3-qt=t&C{ z(48T=O|p9C+8 zH@2Z{#sG9XX$GJxq#1yoMw$WWnWPzjo<*7g=onG*6spZgq0-?8So!hzwKb%>PgvTH zA5kNxS!Q^2HL7BX;9topvwdUlau$~}HOed`8gcf11 zvrVC*x{W_Nw8} zQ<-NrTDB;fZ5YbYek#{Fz8rZh$Jmz>wp|oopab34Xk_#!zvs9}J&W(xmqlH*I9d^P z*YIbp$PhOe4g$rW7%R=t(vK<4(9%yT%`o{gdUL4?JtdG~4ywmpzkh}9CLMUlhaMf> z_<-yoZ_8Nw6nta;Rb)F6jL&!m)hIHa@C@oxWPE{)=@3Q58eemA@He=IQZtWA zFXk2DP>q7GOG~rW`<$(umb2pdjsF5WHf0-6gLZn(j{9eN9`$uRsR~|?=TT+HleXY3 z@;qt%jATk@@M@kX-NiG_r<&q%<5{Z9Z}xauvL|fX+oBfYA^sbh{y zP2top$EBihb@g*zj?@#b-uCzyqkex_*Rjxz7Ur1xM%wgXHH*PS@r=R3U0vYC@+T~i8&q)|N8b6$qet`U%NGQ!u8OcvP zN^u^QFij-1(d$ek)OUaNEZ0*>#=x%lfvp;B&`Umeot~$9Y|v9Uen7-jw?Pk?^yRfq zZ;pFO*SM4!{J1pDh078iAESHgc*Ryv|7^TUGF@1LzYhb%4e3ivLVpYl!-a}E+iJ|o zbEqfwYBuJEaOE~Qhrb-S$mh4=#jN?DVIBFPp>#iJmOWm3ym_of$xR$3Kj0|&Ax8-v z-$nxc(x_fgc)6R)s4yma{FwL+B!@8p9ob*!Thq~Bzh$f9jq_1DV*q*~X$GJ-L$oZO zJut<{#;1@yBM9E&oJX?pUGhkQhu_?6%NT&3hsZ`5DUPz=Q6=n&SfTBSSY55TfFbup zVyt%xNf+*kEW6*vFvUF)V+fV1`V^b$5uhppM7Zi~*F?=~%_R(db=Wmg5bAlxUg?H2m1JZgEZ1SL0ys;P>%Zs`OZ?|>Kfck7%o+Wt9LwZYP6Mm zSXR|?qa~ZP&M|yw;Xj*WR6FMrRsKh4V54g3=BB|i{74JWBgtP8LGd7S3NTR11ah&;o;L@>&UuWOW3N7txEbZ>J@wyQ7~&hc~ML|mpeJL5Odjj&fwlnr?yD-iadbpWE zDPL=u94dg~2E)SI&03un`8dZ*MOeG1BEN<#3;H1|wKXzXe%#3XQk19|Mow6mRooU| zmf^@z-G1@qnzr24%e7YmG!~?BSYuU~{;!(7|9{?GUWM4FDl-Kd!-rIjLUTi=xkt46 zv~Pv)RR(AKyykDrmM@r;<^5yXbG4hB$ICh1P3QP;I>)c*9P|WRCe>-Z%|X^xaE)H? z8ak0Q3sd3_x#3ngQq?NHYMvBWVVpcOlIH^cvC(K<`1C z0qDI+GXT9WX$GJVAk6^uR*1|yNzps|s5iWm%E&vHlhNv(1eYp`YaYcNw>gBeo^wp>aK5olF{JSxH1D-ciyu^eMxPMA~P?oZf} zwdU>&z4Ev}amtJ7l+W)^q&)6Vq`VV0UzaiTgj#d2qOkcvn3zu3{BRi~VgJZ2K?hQc z)>2Ba#3{UtA&)=1%y@S4YYZ0M#|YkF{oFrOiqQ3H&HWi3@BE^FX3#`j$Wh%hTUGgk zQ-zbD9;NrBvtmx+_`+FH|5~QRdB_kq80J%AvQQvH+e9r^nqeW+mI4`Cre#VqEM(e7 zAj1No8ZMAXYgi`5Jw?FGgUd`KVou9Xp z&4_ZV#pV_7dhml1mYwYk*#~@fHk3QF-=O1onY5M9&K8I4D?G|32XuR)tdngn3c+tv z7=w+U)*1VKU$P4sym+D&f}GuacABA}yNsd5h?A7duF17{_k`t9|Dr^eDK1U2kewN2 zAMnEE6YbzXd6?r9(Zd#PgeY`bde3gJJ9oJOKYE*5z8{I=r**l7}v>H5&J!@ ztfzIEW=s6KY@Q{YCd==|A5!9me2AC~u}GM# zKukv1LYOQ-Oa`b4Q|pPT@q@zDa$;)ua$#yUF*SNSVQMik`a-fwm_`yYHGF4bYBe!6 zdJQm4v+8t(wn@@@&%STRxY1tyuV^+d@m4P49p6-Ln2zBk-^l|zamW4!?%2=gC0{nM zwA??m5?6oA2QLFvzY+xpddmH)>sL#}+B!d0EB7B*eA(n5 zx+A192hQ<4nsHz~Qhz{)CN$u{!JbFc>26U{Xf)j|DksgQyG8B%X((Nj{E<>9OZVy z0B#wK;wAtrF6LdMT!oXrP!?Cxu2C(9z0Gw<6gQK7elxiaYGS<|Mi*7GvyjXE+zHpc z`%P8cy&QyG*wY;Ze#QXwp`;mrK7up@&_|PI0Qxx63_!0Z%>eXCq#1xdl{5p;XOLz9 znz}Up7PN{tHppZEW=fg?=mQbiMw1jbng_E@Yw&ZeNNZDZ2pM5haWXd*Pac(E?3EDal&}pdja_S=z|bp!4JzehgDR#|BHy4&32acMgcD{PM)p>%xuGZw z8%8HgOeZYgFiIFUj74F#VPtpLnx_aLXd&0@%?sSlM*G+o3_HDT6(Z80x>7iibm!uFDHjhUNWLN-? z70A$bkn5FZSjcp;K!%p-bfp4TA@pnW@v>t znBCxZ+f=o84%U>7Zl8KMGHb8LmWI9F(H><}1A07B?j+e(?g0IEbc4^%Mu+UD`s{3V zG5eXG!R8kk=XeI~P-LW@L4)L1l(>e_6!$e)gxlhad^VaS&lV*cJ%hI4R@c4CYU0!0 zm8N?Ay(@k{BU;DdT|`9!_OMD<>0z zm-zi6P3g+Xir{VSd9MV-PVZ%zx zx{a=k3f_@k0UFnBW@%2|G06jqcT7AZ`Ms>Hsr{dZS=dv`lEO980xl~Gr}^@|rYtC2 zgD&Kk^@P)Gd45?=I8B!0vYK$3E5~Iq?PZ_ALrxReE*GuU23 z7t*wa-4Dd2ZQ&Q%=i+S$o6}_F057Js&u#E#dgH)Bc+9R}0Yl+EyMC48r2clq1KVSB zyRx_3zjggu!9(>M6|b(}N;dYsYwNu8=AQRMijS;+6tP#y_P*3+=q|!;?@QAUy`uoo z?n9Rwpq(s@J}~U_)7%56ASE6RJ#d6i(ZmD$_!NyhP)ABTV49Uz<%PlbZx~jaVr8I7 z^Gz|088*e=;HH@S%wed-f6evU6Tgpp;+G+1_&*3n*P(5;(d9PIC~nNK<>dy;0B({1 zaI=Gm+Z06HV04XgW6-}gd4;k#J9Le5N$(ofLfqRNMxwYgp6hqUZ-K7in)T07ay8P} zZeE1^83WLll4bxpBh3Kx`G{;wN{U<3w^G;|{7g8~+SOf1M(eJQJnrfk`(2$dlw&0- zcggs2pTB7;KvPyh26sS z0vQ&-n*=hwL}1^G^*}t)>g{SfQUTmVLPP z%jSuiAnxJ>fs3UI|9-eK$`Nd{00)&(941D|@q3$10L5WG&kyrEQAZf&--wbAAdMk> zIr6*D2}m}6k4L_Y6nK{*vf)jN!~1R%qEdRuXHMK%#~0`?ckUy*^+oL-Kyia%{*o@i zPJD6CTX<7b4H^?H8vLAk$j?cP^Ybr7R;=jUDsHdXDhwxO9GsN>xjgq#6Cj_H&Oe3W z^&Z_?bF0toUGzDVfHz@T7H`78g+-GOp%qa=k!Fm>1OiSMGqjdlR-^ad)^At%?k2U( zvq%o~zfKi+xK)Gsa2p)z@!C1f4RWXt(xFNd;7}6~jLKJfn^&;T!UNoV?=lZS$KW#f zcI!dv9B+IR@@EV{zlAgd&~HR!?m~+0@@Wdd@tT?K!hl(8%{MdTSzV0vPMGBI!oafo z3j?NjVZd0fwhgE3$0+*KEvLbU0mTi5cCw-tPAl^=&Vwt^S0irTeH2-BR$>_*Wqt&+ z@uLcsl$((l=Vq{kN*2DOpa8c$S6O(OYWLqtM*NNbu%}jO_pL%}Ro<`MTdgv3TB7{q z5d^TA1e>wtGECcBEevDdJ8h273+Xb-YA!=k6OMK(6czmA8?`q#Pm+J!OaF-IA2I!d zj?p!$&gyMm#cI~(U-4>gN~T+Ip}XCsFbhHYMKp zR^-SSfM!9v2a||+Ba1h16mf#$jW;qk1LVFMk@*@a`r22i1ui&PnlX#h_bA?ck40JyANi7KMudDdbvJMyu?0 z;Ax188w|~7*&5fn+-KLJ4)a-T?PaI0$x)G#kt`J@&q9p+nevMMOsVo`665??=bJ-( z-?oi1&c0b6sGo@>T)nMl{*AS~? z66)ZQO|5aGq_qKllu)ksDZVwBah&0K?lJo~qfdrhO#8GEhZJ>AoeX= zNHYNaVbTmhQxzNYQYzj^g$$5t@y1UvHv{B;h%^JxkCJ8p`Z3ZBK!1)j1JGX}%>eY5 zNHYNaRniPV{}*Wnpr0kp0Q7T++_s3MZHq{O_fAAM_mJY;^Ap+^a}7;pa}5nuYrcyi z=Nd8AJ5$PvoNFw*pKF-nT*H`0DB4#?n)eWBJwlPkBMoDJq!EU4>7x8K|F5-Qo=_FF( z9!hC#G- zj9?E4bkJJ!(+s^4@POcqAf_`y{(vAO-~mBKaKh{XfgWCKK2j8h2LvZfOeZXVK#(vz zAV?Tm#DSp}eU?&MTSOjP#Mrk;7|L-FsoWFe%aO-&jD0y_8_cQQg9XQ4t@(L|e6Wya zc(8Eli;ITcQCSAybZjNDn-4NDnX19ymB()S6#!k%tEkCr?~2FMr^WJUnnn-Z|Fn1*4d4^=86pr`CLi z;hD}yt18YgFOI*7VLKRF#r&D@SU(nSY5rh1K7d46C^TIl!vfeTkfD|AQkr2QQ?EdV zmTA7y3@yD#X@-{GLTQGDGcnf^x3(0|#6Lhk`FEh7p_SU-v4@IJFTW&%9|N(g{9!ry zjYrv60sXy4*;xVoGf_SpvA2q^GJp5k*=-^Fzdg!+b0{`(TF=AYl>HS-l+aqK$gT=# z8&OuvzAC)=B$GUYT~}mGC4)_6?*%zCJ<9G2=xm~t&i*Sls>f$%M~3WkeRlR_(Yy;h zgI!u=Z0;HC+X6!aP+GE+eFfS$5EbE29kAU;SlrL9iELa(iF&(m#$>0v=OOiX@tRKk zZr60`_2M<1df#~Jd+@?DmVCf?@&NF{GZsC;y&}m8zzd&X$r-GiTmigQ{)I^{A)XE6 z=Kb^oJ4$E>H$NVLL~eo72m8`;50fnC057~<(MjBgX7Ug4*86hw6UUQ_fOn?n$yH3I z90k18^W-qble>U-vFFikoCV}DJ@Ep*ZFD!L^C%G|@*XQI-vR%sBAoji#dxyk-3XX zYsL>!hJ>Rn>$+`kD^&k|F|{tK8b2yPv>^LSwm zw}(kh04${reNB?oo5a+aF{}_bG~kJ;Bin_k7m2A8rwCII5>p4x5T@QE#sQto5~f}x zrnS6Vn0koHaBY3D;)Cle5cAKIFJ8G#xqto2 z&T{{e^{vHQU*CZ|e9U-eeYKFZzNg}g>-&+jYgsej%AT@j$od{+3aal-{=%|mzWP4G zImxM9S@T(a9Z+m!Wfi+lAvtseVfRu?Hy&b@0Q6)+A0Ap+0O-I&n->6j?+_b|BD(aX z>kiRIUIzVk=uc3_19aM<7YG!WE?(peVOImRuzm^sRG~0^*S}5c%Sbw|f14ISuN}I) zP=qd85&{R&(i~`P(#IQ*YCH#imo@ZQ5Ci?#Q=+agK-uOFme98(8)3 zSKQn5lTeHQn)r|G;BUb{#!ILfyo8#`OQ@UBA9!fyeTKa@@lL`h-ZB`)dxNe~9{(-P zBfL>Ol=rW(J1p)7{4+H-0+xfv?XJ;JE97z4P##&0;vuwalt)QR^Dqd7c&0K}JTMpac2x%XI{v6rD^|bDC&odL?q_izE;-=?Y$dWMt{aw-wKx0$h zmN5YRW6}&jzd)J+Xo|P1EL9Y5{3V$T!2Bj6yFwzxE2NcF4QGGWW>-k8tJeGuLtZ3^ zvEFGTMR3CR6zr3AC0ckL4Nr^1^uL z-4-J@*`Ibrzw&;Q6CeMzoO$`f{IPzX-wtQ|asF68(O)>>?IMt&W!gCOp?XTA4Aw~O4{)D9@2vkUd((ZYQVm+V9a4?y~_2-smON_O?xsbeww z9zHvj^=A$S98!2kVbYfQr0i;8(v+AK-5r=I>0H>hXVQ_G zq~boz~J3K8s&6oX-;YVHCx!|j)rQY>TUiv zfR=S=s$Yi=hce+k=2c{KOHzLXGJlVmkG%^2MahvUfMw&?$eJ+#jSXg7#sKsmNHYNa zXVMHn|BW;Q(ElXO0QAeG8GvT>woXZrcq6_{Xv-LY*+!ZH=yuW!KvzgJ06mQ~1JE-` zGXOn{Gy~9Gq#1yoLz)5Txuh9@X5&o}nIYb|h)f1xE+)+Y^sk_?EuN&fcpgQ2VyU1x zv{bxAM(a{R9+wKneyI?Kax|UF{eFBo@>q_sFDDG;Xl9lB)A(}au^eMxP8il#cA+iu z?3`NjuMD}qim~2xv3ib+yk+-`JX2ic8FRSgXY6e*4CUy#Dpwv~jy#rQ?8^z;VCHr28FYC3vKvFb zBS#=e{| zl;a3gxz6$B$YVLizMQZPt{L`z!hu_BRvCtN4xL#iVej<5zKao7Ni?fE>)kitOj`~Y#^6Q^Ggj+Fcf8P zDf|&Y&NQ{=LWX>T3Cy6FGN9(bQ6KXOMu}!t!J8m${H=fA}0vQ&-lLRs>fTsy$Xgl6F zD9zB)4W$_>t+DPFlYH}gzA`biLKiE|uu#*8K!ycyR3Jku`6i_q7BXEWkYNG5Mj*oi zc)dV|ChjJs8Cv>XN;Ay=pj>X^mZiK&w<#w>EBSt<87i&C$t_XZ+Vk9jb5eN2ISx6s zeP_@3y>@b1>oWi3+a<*r%mx|9F=XnOZD`#N8r^Vl&AujaU z*kO6LD7lmj9y!=^L64?K*>wTEf+)3P-xYF`(}tO401c zqUf7FgB@D5$h*m);_O)`2d&ml!?*elUzmMblzNwEuyYGfQ0ijs&$<2ZQp3Rr`!(*< z_rmoZ|3!&<9A}g8y|sGY4nXR6@WSCp{ck+=K6v4KYk7h3G2{v0g}+ClN4PJy=nHZ46}HI^Rq_X94u4lfzi@)&65t)}-%8{frkorDybYcw z2Qi-91H98ck8a{*%0s{lZ!_`~D8rW2>0Q!#c|IQ5U268w>!efGhy zHuJo$UgMcmopvl_#0|{>#MEKyg{ilQsk2TNrk*0EjyheK#yT;M@#HLF>Mdd%+sU~I zY@TN{fUx=Vzq--xN(GGXd7VjR24<-*i=#ME_H3RAxkQ@33$ zOnpX7U3RT7^%pUY$>auM>NjHQws#6spAl1+-3rX6a<@iX!_-^M#POEgu7c_{V(PRz zSps?+)>G$OClTAvVne^x7d>1AyKs=(0oj^E3i_;-J3{@kPr6 zbk-sKtY*o1tj#mL$QgR7kd5v-RD61&uMQReERc@spI%fIy|m@&g)W*uz0f)J^rE)W zEp-W{qIAgo>4mPSOQ=6WtAtL-KMUlJBDQIR+U9>2NC(sxzq+%c>xE0GyZH2?{rgwY zHvVg#raPzyc?UI%cTlr=2gPe7yI10^hEcqyFp4)1c>3TCLf0sd{#~Oyv-hvEODQhr zU86j3TXr6rjp8vFKkOUQJdPTN2TY@QWb7K{!4FmRAhKWF;E7A_V|8%l>l)?3scTe6 zoZjXZNVHsiP4ib@AA<>STC*pZJ&~<&-}Q)@0ehxTAQx_W67Vwypz%{MZ5ad5gQOXN z-i9;-(A$z`02)94(v~p*y^1sg&^wW40D3iP2B3E%%>Xp@va2X*7;oH%Oa@@?N16fX zC5Y@QiWIM+KFRjsR)$*J6%Tc;HERrc=OM;=*D5uLS3H*8U-2--D;~zYGhkD7)?G#* zoOMseK$jVKhG!msh9}K(G>gjN5HhwLc`V1+mlK9^G@;6^7+;P&mSgP833H9Mt0)@2 z*4&PvZ#1r=*dAO(iRl`hUqz|WxQg(d1DH#$E|wP6@lhVlUU4J2Lc2 z;0ntrA*NFzzrvCdxWbYWPMBR?(M@X2U5dhRb>)PK>4fE1R}zM+D+z;H>0N5k8cJzx z5qWG8W8WfS^CP(=)qZi?!z740$DEoS=@lxc_hkTHFd(QH1FpbYkhVFM(El z$fG`ty*|Qt|F9iq=;UYgbj@G9ui(Fy`-e|~9XA--LHS{&85YjvpB2ck0Dev&!vgq4 zfecODSCnR0$n;+V8Cs@IN;97m{_|kk60#-&anCR`SP6Gc1(kn0Ipkrf~iy zepK2Lw#eKY-lvgW2Uc34_$c=%89bNL9N~QXxJPM^fPUViG)O?dM3iS?T7;+8-#`KW zyvEmjcA6$+f5vC0ZHn2y;Tbeik?|ces3NW9 zIycj9UgX$w^HI*1qD0m!yeZO%?rl)^!)Y)an`K8k?a7MZg=4dkoFA>v*=C9OgZq?PNusGGxRDAwF)%g2ZINM}*0G#ALk3 zgvoNmWVk1V$!f%8w5Np0V#H*yuL_g3h{;$_3zMaY$xzP;la+|cNZ$r#!`aP!c6^e3 zm`UdOfeOkt#AKSEu%PoO+yCedm>yPhc3B6z==`)J2t4wxT#2vLR(9bb_);F5-iU1c zZ0#Dv{Kb$(?x#Q!{S*j4SG$88oP5^u7ej{Xx2wSF`Ue!Rt=~sBelg@={Xz&oQ{&DN z2etYWh`n-laG_rQte`zOJ7%bOR$#CAvx2t&?2?wV0{cT}1s!A96Zu(zeUSfz2(6!= z6=-*z6(p7x=UIVMXlz~?&I;0u*3N$ufOZaNg@?lL>b(gq0QX6VxWh4=yOjQeZI92nsB4t_4dZFY z(A(S}K+8UVy5Hx&1og3{819Bz*}=$G*yrzRO~4-FcgTfp^g8e}2B4X@(GyC=8xJFs z0hk9Mvi&wG?zex>day@gG48u5#rEASQfnT{kh?!I*1K9HkNa-R?l(wGao^2Yf9|_I zH#&c36aYS^kxVug3ySvFj+*EA zTLiXNI6X~bA0+aQO)@oiQdpRl$LKm{?({xjf49rVJ0s48RQ$$1_2ir*k$*-CT`0vA z+Leub0J?E5UW=G>4u5J>|E-UigG+o7n+cekpNOa~Yr#C!r4grr&0743TlPrpndTW9 zVxQpeX;q#1y| zgfs)tBcvICzKk>j&{vRV0QySO3_xE+ngQsyk!Aq;?W7rizJW9Y&^M800Qwfv3_!n| zGy~ALk!ApzHg7Bn){i&R@@6UZ0sfR3fcs-$k_{+O&Pbv3hY)29K!2Dt1JLX<6QbV3 z->n5eeTYA8Ca_uPN&I~?fQ$i(KZ3|rNwP7SRgwblGdYi>@koL9Sk5D9JW}92k@H9z zj}&-EAhL;-6erdQF2sqI-olBMZe$ZHeWuntjv*&jG1fablS6T0wd{UkWr`CkV=v4u z3g~pT=K7*ATof=LE(*kS!t#p(3ByH!gsq9>usX(`L@BMuSo$%Kv5fsORv60BuT}2U z@#V;4ImW)6FqGpMP`NY4mm`nm82fU

$n8<<1&kjy#rQ?8^yrmbVKHjXsZAnisdo!#5|)0ml&6%getxQF(lG z!k8BvoMmM3jRaafgFITCvA4J|uZMlB!pW)DY%&b(!nZ0;4{^O7`L`<41K+B6JvggL zkIN~iRS)v02V<{?FzC-2Q03kh7Vg$Co3IN z!h)UJTw88o&gRVwLm!mD3~f<{&=wYJZOhA{EkX7qC!1?pt$Ay!Y%qgtWeBoatX1|u z#><}RWZx#)?`@S0W{|B6K{kuE%Kk%;jkSbJE!PyTtBmhvya?l2L}=IoS2>r}TJs); zxzWH3l`BK2oW)uze?C+mWUqFzxlGrZ_qECfGssqkAe+TnWj_&Qqaj@5*`QCj_*0Bg z_#wn{o=+2Kbvp9sJdC~b2!kB1^fHVH09@V$hycJfU4RGxT*w88;4SSCcY>F2886xX z@Jnug*m8d1`tEjz`Ss^Sl!_Y+?fP@F(hMy%|Uv#+qW+EiX>-A9K%8r&lSk9phzl^VF5f}Aj1N9 zp+JT?s4c47s20x9Tg9c)W&R9JU-s9{Njr+`3_TG9&(QAI-I6JuF?kGQ1{u8bo(3Yw zndQ-rBHHcIY7y=8=$sdpZW zbYJ1Ka|G}kw%@pCg6(~F4uz1t?op0~fbK$+>T@s@4Y`|Va8wi-dwIqlAc|Vg95O}5F`mJ(lk0;^3!U-oas??J@GNC(kW}KZ36-DZ zMRDBZqVUnBXK(=JO@ma9BUc_Nt^|3CBPYl{hazYM4jPYY$`{H}6Hrd~LOE;#$~j*s z$4x*v@eAd^3Fr|H)%bB};YTNUcM@Z}!GCtxia9o(30qt9&^PGUI88ffrs{IMmz& ziAEWCd;4-6ZH}jb2448akps^0G}gcik1iZ@j;G-UUU+oTurpmW=)eo#ICAj0S09Z# z@WMBa8h=(!qYu3BjiW}P@iYc|;svAVrtpm;$D^~ih9dY^75N;Nj;|33{`EyZN2hC# z1}6CYLMX`BAhr56M8Uta$k%W+z6LA!A1d-Wa9z7KX2Jh>k0r!k~3pA$n3mJ(GY^w++`8AG(a{%YK#<2U4RO8jr z8k_p4lmjx?M`Kbr2VyQqV^KH8gtUYt&ldp@I@lJ*)5Yc z!d%bW7?UIptmLP32zrFZmTQg1k@9fx_|~}f(Z-L7bBm;npa5|Y*%-o?6mmC>A_>$c zGd#`mXoUYlFn)(c`%JHlj!K4Ws~K>O7UkD&GvFE}!nNTHcdqdUu;M>JS8la3IZfKkkn@p@COyh-^hRbwe8Y{#!R62!eoDkD6=@OsGR}FpUFZT&t2b!ZaR;X*ldDOk;tVhQeB58VAHQ3=R;cF+fa1 z;9z0$e`0d~!-dKBi5-Pxax?q|HqHK@VbIO@^UpFf!4Ed!U2I# zxDhsP2Z}GZLFxsIYfQ31Y>f@ps-bZzFxxh|;}fHK z2jqEPjU?n{9P(bIyc}9_gQ4U`Zqc!K2Yo=m;a0P^y!MIi`+>h=V`?8TulWVWTe*Ml zmH3b7En11cC!cAbV!t+l@XY!&Tx|^fP>G&;2NL|OpqJp61TJUxT78Z<%j=8C`G`2H z>UcCq_SN;R6z^RhBJ(;iPiIv}vh0ENW;{~ELa8!B0pP68}@&XpAGn_6O}u)puWlwd^LPh z&gpmPBL#qS@6dY;_zrR>oOp+DgUuoWItfsH4|EYYy#R2&9b)exhd$llWIMEH0pLtK zw6XwjnjPA_0C0{Snq`2hw z)FJ%jPSBLo>Ck%%GB}qGy{!OnA|1Na0O@fsfinug;RKE}K-F^o9NLROaihKzlhqLa zuAybOt{$SNzs@v@pD5A{`g8UozI>zBs({ny&@T;;!8vyhfr1p>U)jb&vh@v+U0~VX zLg>B9TiBv6qjoo%NZFtB=+G6)_DFF8<0J~jG=EaDffHY6=0pZfn#!>Hb*4*X&`hZe z_zGd%9El8?9+|;^g|OsJKN8NeF^bP85Wpu8M7J^;<-3BWr(|FvmaEhGIR(al+XBu<_Tdpv zcwM7>1LzvPk1WnK#^PB_bB!f=64QK>Y=bW?k~1ibhcT;O7x2B!&jD!pJY#0#i!gYt zH@O1cj2n9U!-Q`kTkE$K_@-C?qU24;h!^wEBTL2r^i!l6fc^?;2B0x(wPg%IKSP=U z=;uf?0L`lGLjhHaADSYQ0hmuBvS)cxcwrd6l4{~*fwk#n;frLnzATW(mj%ZDWkDFq zQ8ShM^7wM(u^eMxPT290nrqMhY)`HEHHLhIrU|;&J4>jseEt`z7n3zE51;>uQhAy| zN<2-VReAEL1Y@s+FsFolHbCRmnwuDUCGgpRb%!kLmB>FEAhREz4M+(*n9$r*hNhM> z-yzVd40%+Bu~$YI-&c0P?328o{Q=M5_ctGOK2m&NN#24Caf4yue*A3$85Y3n1TwUX z`WuyISjcpXK!$dE&sI1m`a2xiK0kY}GBM0c%9or+74FYJ37tpX_v%-pfG!ZJt-nA_ zuJtI@4d@L-c{@vec|nSCsSnWK>9bSuko{JlotpF7)Gp((|CRq^ysPl-zA$z7g{3+5 z65-Io6{f!b!i|dl;lE!-8MsCZe{ZeU*fo{f0$%uVTx~L*S_EFW&ScBn^^_U~UbxOw zK9^C{u*J@oR}29UYN8dCZ%r@CXI>F?#a6lm{Yk?p_5xf zdNY&MzKxljp{2TgPpCQ8>HHYti!m;S?gPQ!vFhM=g?0Xr)$aTutNjQ1_(!4mj~^}? zTnB3K$bpJ}&k8@YIe4}gZd+B#&A%9Ci}N3LWLxtuhS|#ei($4;KXIi!5L?FY7Yjbc zolXA5Fk2ON4*R^uorBFw$0Fvx<{Pwkc#?Yu{OM+87@M=oD3?TABe|3q#l-=uG$(lj zI8k?va=z_fZp$s5+IX5bdz;?_(6Y34_@(teD8{9AIjYOrVytXQ6`JdtT6mEDMaf5y z3rpS)ASPn~`p2XhfPR5A1JFMw%>eW-NizWbYtjrr|CTfZ(0?G!0Q8?pGXVWJ(hNZV zlQaX+FOy~f`c={lKu>_~83WL4M`J~3QM~c{$YX0YDX!J`v)x!>*aEFEKO&=bg&~hC z3}e5-2*YwmE7+RLcGsHEGvsn7#(HNZ8HLN8W#?B4TyvS?n#-7<+%dMblZLA`f5y-Y z!`ewczQhpI3Cq_`3B%f16lR~K(ekzCi$!7hB+UsE(+SHzNs};ql2#OEpQN$tYRz92 zh2fJlCrnHyEdL};!thC&gu&MAaoPGMN@=wbN> z(>XdZeg>>X-hv=cTrY1yt2}%<*CNk8f#X2HFM+klTOH(y>*cL(m4{E@BoANTFkUc< zp{`H6IG$?FR~Yikp1=%Jm0?YRBfrVkzakuv(N3`~O{9}IpYuW344D7hUFyD724+vyv+q#F8W@zcp zD9zB)PbkgM(qB-TVL|BsV(mTP?5e6g{>#0SJ0%G)DKjCIL@?nnlSGPOV3Z=FfQkr$ zhzb!zkmA7^igNEA0(JorI|@>sSg@j^*s+(VVtIBm3btp%?t4Cc;s5*o_THz=B!Tz; z|L60Wz4uvbx3%_KYp-3-xnDGpumb#d0|_g@y9^`@)qUH~gyH#nekKghKk_qSc>al> z3H@w_MCl4qCQ4iqmE_TWXPn-L#L2>4V* zd?F!W7>;D}J3pNeaIT8@JP3~4VPVnomlG5o7SOLHC`>G%-vml8;UX6f(oK@@fLJC3 z>|ETpsBiPg-4c_c;15zk*jp{QDIwr<6>)b$!0?i8xip?{qMvMj+aqSGiOrQBF+SI; zqI~LIda9JmS@^>qf#AEE|H2iogD?*9NZ3OlT;UHh6cOi95U%+C5Tg-&WeUw~LD~|UWsC<*0 zk7nk<5w1AiXOLn!kB@L0QhSV3#CeE>D~|UWs(47uAho7j3Uj?+In)dTC7+&gs`>Qn z2q&N3BV?zVp(zjaJUWImEa@n%nR#RkXGlu8N5yc4qxAJXB8D>*CETN7xUEZa<};6k z;WjV@+@oN)ZA=082*g8RbKH4gb@o%S+DC-ucFbe$#;g2+Rz;(=c-n zn3?xE!^}BgX55zyGuMEbX|o> zA}}-Yr-B885e@ajki{s3W@A|I*iRMDuotfr|GeILff8E7?5|JsF5~sfp@}ys3ui2E zalCBe-HOL2S^em{G%F|GYj8Gk2Vng~z`lM9lV2P7JdmSwc0xUmocNqG9yuW+ruvSZ z_y*{);-?1gGI+xTySn3x`QptFfUG>a)o4t};D5mI7}?sZpA2jHnHUDNT*xt$Zg5~bVPqq2zE*NL=!$TyLmu4Ykiy{&DO}i*jX0vC8*v}?DH(_OX(Jo)s5}_i zF`O-)tx?*Dr5js5J&&mR+pvpr4K}-~_li0#h068b22+49^+%z!j_Oz09)Z$BqzRN> zNSZ+D9Z3@?y_htC(j%k^lx`~u%P&$azy3tq^7E+BF8Uyd`jP+~E;?~?(G62M8h5z` zbIXCF9C0dVm{wX46P9gsd2D(ILRMNvY>32~9+qt(ds?>f#IlW;WgBr=wn6jQ^diDk znU-zf<HprxME+@{S7$xR=C0squ0@&a)*U0{4hEm{S^0ExZ;|n`|dhJ&*hfT z@xm?fJn&-mH~A&*vFBzFYcb!uw}yLU3%Gk~I9)9L4EHk5_wJSRcz{#cS-dPKcjhLI zvH!x{?p`t1xl?~tORd~J0_G0=w_)xLFn8u(hPfxe;8WJnVCt3*V++h3>eG`{)r@f% zrb^os`tnlsgn4rOd3+8|+kZprG=(i%w;vz2*UtiLMqGC|U$=i;swGTUR51Q1wc@iz zdOa@13QzQRTt9&qK9fdI%MXar$8w90-W4-Lhb=zzK;z}V>GM1I)1v~^%=zME&WF{0Va`1#9U0r!H9t6~&%3K|k3i{N zNE0Z%f;55BI`!9=-9vhrqF}d4VYipih^!R_ZLM|&QMXp$uvWy$S{WvjN#nu((%jhe zZiJXjBR0g&xi8q?kUiO7p0K~fbb?;G6AuDV?*uqHL7X~a7$)=Kn9MyO#e8~l`x@@_Dguxu{=4Zk(QwLtP9QqB3(8j51V>;TyWy)`hMeWIAWxD{y@=<-& z@~uqSX(wfO{WfqkH`l-+dpc(IUo&%yvNwf&bIZYoxn1Fkbtdgc8|J2kTb|Zh?n1Cr zv@6{V2a$;8@4Tv#jNZmpL^Y&`cTTcy;GrJO2}_> zVN*imHWzkaX|^;MG?>iA+INoqaQZnm5MRMS=t9BJl)fN2v=Ma=`j4W?ETAv}V4+_= zy@vobgRmqSgf(iRFbK#)X%E&3C0$>ovONN&GtvY~kCP@)dL3y3r5~&)*aK47gNM+D zRFQ&K#XUjPRS_JjNSsvBFxdkd5B7lO^eH|_Nz$>;X^M17iF!;^2?b z-?8bngsC$5W8meF85t`p{V`W2f6SF(Bp!j0I2iii-EoDCHAlu;&Hb9AW6f+IVRhY7 zVX6Mv{ss~T8*!kY3H@v)MpoKe3cd(BlkCHO%4_>T%}L?2hXKVtP<7QlOe6$tR1j{- zCW6tLYa(p>N*m!;t2V-|2OHtGt2Tl@L>uAeg)4j@x)E@p2eJ`#pzh05ZG>C4&YP7< z=L5xt(_CpI+@j$$RlsM_yDb~x7SVk-xUXu_&-5s?ui?fHFw8BH&kY?Um_*aWI1K)W zbz$o^Vwr7(3k4fNva}I2UfKwnEx&p~gB2U`_37L;;%nH5L$DEtVk58s!6cx3vJohe zB8&g>X}yJ4HxNscfq0CnFMjIg0A*`VY3pmKcOc2IEVPUyA4ac+sf6sne#+1zP?~b# zj*M$)bts+d8ey!b)sgj#R)Z8)<7gU|)u0MnjeSAXtp+%(263_)hV9mLo2ti6`2gTx zboF>@MOUA;C0%`-u&tc1)Kym$Nhoe;xYkI<;UXjKqSN(AinW$@9;bGg=SH<-d5kKy z&eB5Cwb0Y@$*f8H#MEf*B$4u9uZ!RCIzG}7Yp?32TM6?pY;R5PPbK~!UFiSxdI0*~ z@KDnOz)Wo#;!K_7HOoRnObv~}wR*xGG#OcyxvDLHoCbw69XKMOL>*p(Y2t8 zNc4(D;W(bLS+P9ZQLSd@urO5RIdIU-zLYhEnN(S9@9j(q0APIz=P!uL}QmEyrw5oZOn!=<^J!8`c6Ecq)u_3nP zMwpaC_B1K;#H37&j?yx^POH}SM**noIyiKlIO)1!%)^JE+vm_VbZ(2j`ZI*p$J!N! zDV8=P^@Unz&vGWhiUEN1$ciu-)5g=q-^-(3pRW9CMm6hFyC&DoBYUbpNnHbZ@u``e zMP{}lXeB|-Xe&C6rILlBt1a||Hu=*FJ5*Bnwk8dSV-fSRHGLS>Sk*&=vI~WO?uLV1 zpf$AKB-Z?M+Ddxw)~xrmll?TD2}mvBVQ4DoeWcD=&BQcK&!R6WzuJJV6BP3od~>&k z{=2c$)M98T4pz7iWG<4)&74W5NJWrYn*gYiO1cf~y=}k~^ch3B<`olQ;)4kw>5bld z*aW6+ZtPf80-g06JG5KOy>A z)ExBDq~#Z=3FN>RZcIznN52TdTb(0Syhot)V@VSzeGF*=rJqQeKBrjI5>t&P|a8*%-pb;zF7nkUqn7P(!}*)Wx(mo9hg z+;ZS3N1VzTh8Z{%-FPvi*amLV4m@AzR!$gP@1CCtOO?+qGmx+Znro4Fr5#|+uKiTc z?;Yj0_f73M**}&P@loGPL7?+AlXO0NL4wjwg1Qx30)}R;CBXKar8fC%W^S=!2WU8M zAG%GceX%9!wu7tgma8VgJqRX&W-$rG(H%!ePgHx!9=O%GALwSR@Md9B_&}WD=3;`+ zBCj+Av~iNDN_N1lpyCjfU810syER~LY}zmr1I!IwE||pCy>}S=Z=StIM<#3sj;`4O zmgp`M>;Or--#-4KZM)xg3~04nqSIbs0^T+D-RVi2fbU`g9)}5dJSG7B9@&U81+_;Z zLdqh(eEK*6Y6f6gG5}Yrfnu7URJOV;_(MCm;}wceiyqHZt1q4&f|?+sHqsB*cd%q<6wa>S{eVKR1bDHuC=F*f})LX4de z8zL9YD2!dmo{Sw&7&~GtCvn(VfSF^{rxK>hw6OqQ8w*Cp%F2xeSEh{xS0;)W15pf=LFs^@w|A98H^E~cJ3U%$0unvxVy$*ZBO|%!s};q6qZv@_67q9E5PdvBn&gzjeaH!&u{TFVWrU9 z4I~Vi-sNY)N~ZT2NLc=yUiLu)30>0cjcQ*y&>wLo!chGu{7hI@ZwnCZK(S8N+v3Gp z;Oms#(guJ{Iwx$X`Gp34h@<;A8XeAXw23qQ!5wvPjg%X?quvfp{LF|Q1_E~jQ@$!6)!StbVy`^LVGxrLu*X1!L`w{mj|m>G4gVdfGrGwFK6 zEPud|yX+>z%qd`I)GdaYOTf&ecNk_40W*W%ZJ4_0Nz@H+DTKd^7H4z4cAbj!;AEhCd|SsB2v z)NWZZCh3-y9b^Wiyk*5u_?DGVv>1f)bs5<2TULK$fequ!TUM}~5A0(rTR|+n++Hr$ zx+>URdfqTPdEN(oh+9_7sV@}o_?w=xAN~XU@MG}9pMW2JoT?6fH!fyK;WTO|9OrLj zBVJno<9P{;2NeK#LE-na@M}gk;+v$;>tk`08OI`Iwrj9_`uPIX-1?o8TmSFsy?lo$ z$-+=?TG^so4-JO}667p=O}XSUcZBZ|C{5n{iAAYa=Q5B4LSCXM)3v>!9w~h5uhWj4 zA&TK)QA_Z7DKa*_kq{5dhz+q7*N4v=vL{c7CwyLF@2Ni$kLJ5HLBI9nzp6juhGVaf zQ?J7dj^9*~R!$gv33?lQAC}hkkKjW%?~*E-?lgmbTO~cwQblD3H3K|XQsdU<%GA$L zX=}Pi-s9CdT?D6M%?ZUpHx0ytDyn2r+AHD9ae_!84f*~Nu zZWoM>JULNql_yQKk`!(&-`BsuD)wVk?8(YGrB4bBZA9etD*G!S^;|Zx;jVPUg0_76 zay`{FVtLYtpQyyx&2c~bWy%(luPT$TB^kEDkhd!=ZHVCAFrd|WvG6?trKusTM_pH| zb0tUuA+IJ)pfvS|jBcsbp_Kq|d-@8!0P$n)B*TZ-NvZS;6a|eVg~r_j9a<*P4=)p5 z1fsr70LL*nD&M>tL^;ims zCWb(Nkk$#-FNeeGze8SFzwn_F{;K+({ako`^+939ye6W<*$qz)Hk0hSkC|XpaLn&@SLZBe|q^7}HEi1|Q%-ny&EiPphbUySwR1wD@ z^gh;V@z!U?M)mtA8j0-g=pfG;ioz<>{}0D82@JelqtUH-z`1&*i=7OEk&2>M&!F3}0M{ zXQnV={DR1aFo^cxo*`oGO2UBg*$=jXuZ^qm~GE9J~k2z2Z z=Rf^sOxttd85cO#h9McpaeX!2e>Fd&Pxw|&SaB2>QeYN z{AhPC`ZjH4x4!|Wl4lXLA$cF!{FDbCm3eFwqTiD3NFKH};SMXV^rr8UR2Vjug>5K8 zVa#hbM7F1~?lwh33fNo)3n ziY#H%?E-746a_CzHDurhEm`E}-{vsyPx{|!b4KBlbZ zq_e`p^pPp4tq|i*_yemF69p%(@|Gs+hEp$y_6o znYM#6wQ_R|m>IU%1uGUUIG?C%v}OTNv19>Iv0~wyrsfj$nn^pmEprH%8MMMMa|f82 zvj^=*fii=_W~t}=pr==hH_yXg?JB`u@$!iq6_0P=!=e5t z=8A0Mc4PLP_#~J|>jy`}i>#k8_~;24OjU5)gk0ptxNhoi;Dy+eC%$L!hKYLs@7P{( z_QWp@nVir81aGlg{(}ola{b+aqle3Qt>?|yIA}rS@nP40w33YxTmKGctC$UEdv(a> zS6~^lnupDR;bB)yg#BZE)6jz!1l*uwf?LoE0&dVm@DN%-!1;n=`PvdgR$g*ou*$7g zhAHj*9CUHboRQ zeQ#074B=~5_|-Qy18vQ0U!mlYeoke31WJFAG=b7zAx)t4*GLm6{SDFtN`IR)fzsb4 zO`!A-NE0aiW6}gl|AaJw()W-iQ2H0736%boqPQtVGJmUH>g|yd?$;%bWUlW(wR@z5 z`)!FMnd>#Bzb|nl^8@rD#vUo*{!rpb<|l(ACETA%9Lf9x;7AGgml8)ZSCMv) zlyHA5aU}D{YQ5AWCES0NIFk9F^;%tzlyLtjaU}EifFmW`KT90RyakSwaQ|E4NaimF zM@qQ+N*u|21AQSS+;)8huSw?514l|Y)t|ece~BZRwgDK#0?i)anzDL3k~l*C z2^gkwsE^CtHMbl%$`Pk>hDA<Y~9GxIeoiHqRBHU#`!^ft-PnbHPyDYI2M#fH*cUjyC-DPnnP78w-f2k20F*f}p zLOwU;oci2Utj<{7VF}>+@ahgrt-kQNDeTPH^h~WjeQqk&XKbpk{M?kQ*XO2c^@Yz( zVXMZb@2=IS&rQYpj7{~GpPO=h`rMT3)90p$S8kLE_UEQBd1KQ*C*+e*1+u8s86+?T zruf{HA>ngVBv~Y5B)zfigaBAZ1Dp^5b7+7Q0{lJ!oDcxR=NwK5fVDHg2>~#11~?%A zcFh1M1i+XX;Di8JFaw+r0JCL)69QnX3~)jK43q&*2!K^GzzG2`MFuz_0QScKCj`Lg z7~q5eSQ-PIU`4JIE?um}&M-Hg80W^?dVGIj^%DXL!xHvDKNE)MNBEhrT)k$88Aw}Oalokz-JpsSOK16AYlcl7r(_k!U|9?atTOS0qTaifP@vG&bkF8tN<@Gkgx*0 z*g(Px@c9N3R)8G?2`j*!frJ&{r3MmKfR`CaSOLDkK*AE}2`x@*m9yVZO2%{#!sjy& zQvttUvA+`9d)Pd(O7fVN``JW7AE<=(3^tFfuA&bC&84bGC{YwTJV6huLLUQ^T@Iv= z?|P+Oj>o3#h+$F56H<2Mu$uk&gg_vxh$n+sqy~^ozBpEV|Lmy=gN)WNr-GqVNNc4s z8!}Ud*rra|ni-1R7Emmip$KjP#he+6n|!7f_rrpcdx{tzOb&ov*V6|1~p9bmiVYf*n6=W@*+2OmPDNsg5{{ zvT(&|o<%xr+*qK6D^Bw)*a2s;7OvQcLcHTflqFlZVk62D9?Dt1g-iji; zHhxOHl_ub=GQ$6`insa%yp>1zd#ZRVQovh{g#S$yZk#Al~MSc zt9UDBz*{YaXZ(x$t)c;M1=Z#yapk?1Z#B!kOKYWf?$F2do?A0aFovUxCEV(0IC_}& zI-8kQ(QtIIgj)>_NB_!QOsk;b=w6xM>Ss85SLV0s8II1CaI2l+=v%o{X_Ye^T`S>M zH^b4hqMo2?{zWbHt2`RFiW!bxm2j(;;pkHdw@Mj~9+hyblHur23AYLvj^31TtB&F5 zO9{8i7>=HlaI1>p=tl{+iWrVwlyIwt;pjsNw@Mg}9+Ysag5k)23AYLuj@*}Ui@xE= zdkMG58;+cpaErR($ae|1h#QVvm+<=BBLky->u`3~YV6o2eb8UnTegI=`)UC{K((~; z35C9nVBtQy!d_AKW`-1TE%O~95D=lhg+EEs5sADT9 z%%`2#8mYX*YpHCK6w$$Jrb zyUvR$w{pV#3g@*pD=#s5zee6^=S98sZX$VqO-CT$~}GL`(-QIE7tFSEXORnw0E1h!RIbJPQ2am@`>9Nub=Wm#xJGqKJmWr zF!2#Ex?iL6`%Zkq@%jmVzHPleF(Kfw`|rxnw0+(WM^1b_04Kgjj@@}!xx0Fx9~fJ4 z(!{rm=ZPPHZ~A#m_=(>;NoOb8n!MNliXN{#o1)JSUmM+jb$jJO;D?0Q&y|tf!^xvb zKAcjwxs*1s{nKjF$cBFduDue_#52h93THWu=L=n$HYQ%7fr+*L&0vicHJ^KR~|)rw7Wt3gGXJ2Q<-AFg~K+jN@TcL3`z` zB-biPgBi}A7{~Sd18(K_$mnO-^Yss|05In37YD$1$$=$b->d*I%E@kc`AbGUauc>0^oc4*zNV#RR9?6^;cAiV6oR<0${GW*0nBM z>Ys6D##Yl7%(U{@LOajC&NIh6D~~O+^K9=tbIh{x*dja6ZzNb-FvrScOYA&|^A^mo z^4J19&&|#=$NVY}_BVH)Y3G?^c9jRa8}jf<*A~pJ@?dX69(`L`dFGf|<-yK|Jd2!X zj(JrcTUPhyUdj3v%&PL(qB;*Nn=P1A<*_Aop0_&B95bpswxG^)x%131pUPv)NgjTq zZH~=U2AfM~ICKk!QWs(X9#Wj<~2Cz=TFSgPdUa5kYdpi9;WVPm`;N|OL=ZKH@B}BZ>CNcXzFUEddr;e zjO~;hb@JVUu2R11$oEW&?jbmkqGa#Eg7kJuC5L*ukR0jhrz88uzTWH*FWawwNp?OY zh3C=z`kS4d$=T8+guBh3ER(4c{?k zyw9Zb5(V@8wT@f8*En9Jopc%QEmrmudFi8ivm1rUa)B*+?ffx%UUN~~YnS=W4${+J z)XdLUjx|Td=lr>PTHUtazGklwugV`L=Xqg%xWdJKgTsAOlghMs-oWs@T#nJu>haD% zJHNoG=T1IXZTDaKRP{Q$P@wE01>+~Ty#iaY{eBB0do*V4@xvo{>3#$HsV*S$~0cILwjl(pe>8~aJ@ZT@M z3Ux+?M?)+-a)ZLv$ilqFhL|~`{{Ppc*jUnoD=Tt$ljW<~yE)361`E3pz}W>s-gqkX zAbc<6D%COhdhxhvj$X;hfEhjYd~so@8J4%Zv?p(Ho&!bgl^hQ^PkxE=tZq-f16&o7 zcZ3*wb6|2yGJ{X88%Po;hG8vBPk@&5vG-T=R9)?9nb5@G>Y%r_x0Z6#M0i|9d|>y?7}b*JcWTsV|jI@ zjSsj;v-iPR#rs1Q0i0bFs^F;@%Rbx1SE`PwOT{v=d9~O)b)QW8s&@WAM6Icf!sP!V z-Is4xlwT%5JHK3EY0Ivu^y9;^A9pxz^*-WwY41ahy8)eD9Qwmk(Vt+awN+X0?c*-f z?0q8E@v%@x0B5?P#@xu$tU7d?tEl7Cv5wEgI_?a01aS8JPzO)34s7baNiI68#F6|3 zB32(UCHX=nXLbt8zDQr36l~Sn*6Q(jx#r|xC!_u^Th{1D=j8)8R;*|&qRMpFX=j~F zyj#z&Q9qlVJynV7-%HW__G+2OL;JJ+CAH0te(tz0*R;{jU!-=qnfqeJYaiYmSvAz7 zSaYB^PSnj5F46>eiRhU*so4R#pxGtbyi|_EcFm=+h$?w0MD(vR6_?D6E^MyY9BOkl zgW1c#FRnwgmkX$Aps}6l8*ZHS{6Jqr)4>IoH%6iLfY6avc16exo%|3+pmU8nBRbb9 zn%`b?P#}_NXp7{LTjV{2sJm7nkQpHz<5db~98L5F^68akfRpB?DI+E35T&O;TBG&}nft=y zex=yLS>jcS<0w*DbFlX?qV7Hl7s+4lLgw+!4$y_oF45+tU(uZFQKX0}xmuMhnAvG@ z9|PrTTz>5GiJPxgwzp}AY95b42W%}_W@H_84(D;aGeVu7tFO+E2 zZ)QX569TPE^wl>3Mn@Bc57*OHDWnQf_z0rzfeN8eH{~s-Kt&-@g+hu%3NKu)d7~iH zb-5Ce`I>^v5la4$rH|bqSs$*KdAT z!3TO%k?U6DyW+#O=EKoKi4TugBtAU7*?F8&YvdOaXId^MK`Fjp#T2qeaZxN{Af$Mgi z;=wJ#1l=yd1KC>zt?2d}-(K*5uC%hZ1w8in$Kt^o&4VWhB_2FcQJ8lg5lym|2eVA_ zAs%ZA$Rz8h?M2J63NguA%Z_h)xhidTK*%Z+Rje|lqE+tC=8J)q33F!k!a+|%{n^5V z86M2vq3#amw<^rvBXOK*Bs1q8xM``yJB1I^R0+=B1*K_@y67d1)en{&V+U?}Z^09~ z-pbxhPV8OFwq5g-=Hlap5>HN0B)K@TUoNSL?VJb=`f)4tq;GJ+%%xg$0?Q6ZATaCJ z3)}Ue7gU5mJej!rB+5%5v}hlnIZ+=}(=!4=Trmd}l0abD7pj%01Fp(d)O4T(&(VR3 zZKvg$4(NLjjq6P7NkWO%rz)D?KJX3?;mLYH4Tysp^eUumD8_cv!9@iR886HoD_me@(-SNfqhUcvr6%iZtFtU&GQ=1lWA5@Nh zji~(bs9ybx`ZKH7VU|3)+8plhJ)OAw6orfWo0+6;e3Rr)q6cDef3r(m(J;!XCNyku zdsz3GhIJB9YrO5oLr)gWtXw>R)p2u60X_Mii`aqe!$L}y(%O#&@_=|Y zqW_gj$9a~1x3W9PyKd^UT3~EEMUdhK{BEsmnKUoTj|2Se)zhn zub?yM3R39I@+tYM?Xl%kp9zt!4)UbsCDAuRq~#z_n)#(%*!x?>ryImb=XZ(}{Ps_me4(J6z4M8>&ryi8r!~L*cA#?hh&C_%Ug8Ty zRLN&mN#W4C8kd*(`6S6+IgGQLurwTd{{wbKetobxi$f2P5VIvs7oSn0a15SAtIoy2hU_cB?3g1 zIiDhF&L7Esr`n?+xGq;x6@(HR1R>G-lGhe;K)aRoSgY{^QF4=My-+C8`aDIV^_*ts zVx_Q(#QBpX>+1G>`6z6n0xWYUSSwMXmb}mJJR3+NccT*9#PhU!CUE4`p6@ zFVthRbGbrTN1Ryq+ikIqjJXDLHtWLNNK>%xMa1396v8@fb&YR&y~eNE0Ri`jE8L@8 z;$E{u*9Lpg6*w6no7+EPD%autQ2rkZv<*r|(~n2vb(A}>BoOEJ6PxYP%)v%(Cq4Y( ze>PS|ABMh1UTcW;2A^z69e5K=s%3co0&dXTmS1Nj+hVa?*etASGL#&;jcPZMe+|Bmu4 z#@mpQXe-j1x9xL2^g|=QT7HL|(mIDDmn_MdH;_ z#d^ESo2)O1Q^A{HkSQ$QTt(EqLLt1-9^3d#x7h(I#t>B)LyZH%0Hw5^WG>N(o{XPHb@Uui$kv_>Rzo74r%vpeA6a30YXe7s?1uHQav(&Lv!ZH z&|v5ZCm6b@X5o=`exG&^wp;0TrRT3vO|fC=`Rf=OZ36&B$%!{Fm3t9p3pd-B{Xo^M zmQM-!*}WnxB#ULB>ozeOgdZw%Fp(vAAp4P^GLf})$gbk|xc+w%JnAqE(eJT`%=iuO z7Vbum$!mqun7m$*#$*frkhX!h=p;~3PQn|Ay024+lOWq>CjqFO1fmMNDUzIo(d=KM zI64Wg%av4}gc3SO=PLWpG+mLmDs9&aCEDJkXv?%+u@%}VDB7+g>b_ASv}r%hv;h@u zL>1a7l4u*L(&oBcNtLz|x-Hshx<;F%B+g~m3nkiaR3zFo_urrt6Bu!tz_vN}laZZ_ z*%Mfp`>CG^>?Y#wn-wyFT?-HLW(O#OOX$r6qw}_b4&mUcnsf9RC0Ae+s_NXXuY`E`KVH&b%zb+>6*12sI;AE z^U}MMZ%GkV@>5k(>^Zp_mzTERElhAEOYlH;kD!&cc4g0rW?R|M0v_Ly@qe4?`jSwh z>)#cLE^QBfMX9-i-=7W7p)YvtR3Q4kO4R+bLg>3m^lj2CDPaO35{W7#QYw;||3dv* z+&8|v)^fijsRM_6ceNJ#qO-N3HG(aeS+5))WoPI+Gds3N9x{KpZ;cKh!euudL++%z zUfRTUhujmL8~jQY22PdWf$Trw1m{hB8Tla}ZFt9q^QJq$Ud#`W(#n2KPS(tQ4J}(5 zZ#U1rCX{$~mm=}(iCd8LZwS@wd{bfmD){yrRfAmoR&kUIDiPnlMb!PeLii^C#&Q8v zOe5O7^cP7kD56S!uSyEJa5XM3xwu!DKy3*g$o?Q`MJ_IRX+a~+wz5A4e4WN`3nd!A zqi8EMepjew=X(nCS8s(zDiMv}C+hx(LTJ>!gJ}dR8i^`2Qe-xbuEynSG?w6P(MYou z8v7f1b-p3rP3ML`5K1)uNRenfeG8WT$3itbn;gzK{E5S#D&+cFJO7iI$H@L!aU5By z71ehWb$_T3sWUN=VAYXg0jrNAnN{1A(r_T zsM0hJRF;{jVwovYx6H1@rK^^?grih`kdz0v6)O@%U=%W&i+OLVazf#DkiEraGC+M{bJ!{m6D(6ZR zQ6<-_veo^?xVa+NpmEbY7sssx$CKYgWB297xY2Cw+*g|rjdz;H-v}idf2T+^?%$uy z+sZhRQRDP`qV8`MGETDf9w(q0C!)$YQKUXjuEeFQ<5WUtkJHo7DaMH=E92DSPEw@d zUZF(89~A`}+FPN4jH2OBMBP6qga+AO(*RU75LIZPNSy{(;?h+bO6WFdpvf8ylC#FU zJPv;rN;Ldc(U$c`_kP;>e@FTHhvH}zC@A^*8&UT!3Xw0_AzKBYk}smoOMjiL0!1WW z|5PP~bh#RrmvsHBkggIuko~Wq6?T$Sp*SP2%<EYXPy)hO|>&mSL5=cqdfC0!E??$ zPdT@sgJx@Ip6?SK`qvmW)wJm7Q=~C^>=t~fc|zr{hr0VD8;GFXwxm@Q7jCqj-n5Sp;{2H+X{|1zo(XAsKhvc3D~<+((jsk$s5_t# zVU%Ex&z#)s02OIOo0tARkwy`bHmFKghgJ#-U7M>Bg?igFQdoiqviX8m>_){;r1e&| zAmBMa`dPElc)w|!FO+E1%gmzjh(6JNu>ME2SEn8MhS<``7OGsX*9wR79TY5XFKTBy zDiLp>P(gFJ-5VzEE>OrveMO+vjak&eV2Ii(my0xDW{r-Rnz3PtUy&{X!2vE z774bnIki~Ps==uxit?qTvk{V`3VPeC^wct?I7w=DcwCb0q-SmRg~!o+IT?2lX4zHR zhxffoo^D<>x^hQd=*V^!{^o2Kh54=u7IXb+Hzh*B`KMED=iF z8&M?PXsOI0`q$Q1V}Ir8=LM&B{(9~B+TZroEIZs`>zUGA&00p>U8<0)S*m$_(^(!) z5M0e7u6RO})731gpAN*HLlb+6g;u*UC8BhO+S|RIlsncgwfi8o54m;_s2%auv3J|Hx=|vAVHva3JSn z5P|N&T<^*0C4IVv;;f}>2RD)9(6#>F^0I4EoZHp4nMu7qNWY{t#G9A?SFKtGX z49chntTuIn8ek+C2`0cJpwWT1);|Sr3B-Yn3Z8ENjc5jdk}RWq>!0g%hmCj z)0-Wjnz@N8T%?F9L44((Vi=;p!jN>@;d))6=I~NrOK?GRT3c4$FQ6YaI<=l+PfK(@ zSSZoCT9N3~h4S;&KKIYgLuDk-c1b%oZ2y9c4w zc5jVpiLFZObY*>fMlbdQMdgSq!r~^A%GDH2Jnd&{bG0U7xW6JPB{)h-k`tW?CVv*n zD{|7`c(Ud@39op%Rw(iGA&PWXfK`x5J60?YpZe+P#n`?mwwmnPYxE+@EKvS8CWK&$ z=grLmDF27DELj*c?MJ2yDi1NKM%(#$1p8_9ed+C?N<^QMj&f?d4{>*$LQZWz&RFWO zT(%4Zr?$kKm;NJ7B9zmq?E$K3;ow2qos+!N?O=?kKv0 zZQoH`Ja6h;^=j4dyvZl4_52ZP^1>74BjsmC@Hq*5%d-J1aPCVJIOIM@V7+d8;1>megJ}z$iCSVQ2sBCd4iu-t1^hYKf$Sh5%XhE07vT#f zYjUd_E0vD^6{FY6CY;rKnP&&Io1phR-W?9lr=u<4n+maQ+{EI-B`o&lwVU~bqFGTN;UHox_gzg zKvAysPpH0l%HLdKW&PS~_6l_6Jmd$9l97Ez2J`Fcx$;AV=wHSgK5foo2J^F-l;`=2 zWFz}58kU=GYA>f2zHt*KEafO&I&SVq=K{xukz!?WAaVDh3K!|-{-=<49r{b&L2z@Q zxMJxjr<#}+{oyXDgojUW34BSt&flyq6p+sWxw(K;rQpT_%CzIV{_c{yqTBuD&8!lf zZe~^eKY3UUiFDQfgP7XAEbTitG;K&e4-!i9d9WhM=NCn&KY_Ji>Kc8mH&rs;L`HsGcvW_&c;ltRVKC_(f-M}#zoBR_ed{#Gb|WoBZ?=sfH4Lx{T*3R#!msUhPfSD@G@;>vhYNN%Owm^2r; zB3DqGi%RgUx#+LW?b2LCtChK^)wn~v)#NDN9x9Z0`zS@?Et624w~rJe@%C`i+u-d; z;;l2z<}G|FdE4w9q1v`;K5h}?$M=Yt3iGk3Za!{PrjW&&D80__sDrG7F-xJ>G;A%; zZ&&WE53+Q&HppAl%Wy*sE~1x@Chi`l5WW0#9Auy)+o$iE(-?sUJBv{k;us(68d1uYyR(_IV-Yg&DWu>-0i4s9S z=1JUrjH=47(}O-ou|aulDwKW_=^F$5X{0e2f2pbIT}%3W(%Qfw zeSy-MrmS&Zc5LfoBMj5pUE3Z}y{oI{gX#j>X0geHnWAOrT8~~liihakVq9j65-3lS60WPY$2L-@Iby^DG36yOugI*oJ z0y&mS?oe7Uu7X@37>QixsO|n;!u|lpX)x#0hjBis8YdRYmH7mY;jAA|+&x+$&iZGV zPp*`x=#@}`aMp<{qDwi|!ev5j}HUvjY?dnYglwqmZg$6(`O2OA4;X<+WK?YJLe$i_)~#c=b)iT7y<=_I;js zBd59a&qr^+S8L9_=A62hb z=&OnCHMh%&?*c>1|0N2J+`o1aq1IT>!!T z3OP;(aAPIMnEz3Klv7PttEPp6 ztN1#*US%C_kDiqOPDzO%+{y1H?XP029g84sFy|;0DAT*BKwm?l za$xYcDg#4<_@U<#ch6LaANnN*<`k;#fWQ?ct_%$2RFelLHuQcqv}ULH@IG2a2`vA* zf2J=3xjSzW!U_KKC2j50Q}}@GEw`av0`WLu^Os4hT{qT3`#*+{y4^1vu&*NFZDYATGlDv z2ho^S=UxfEuvTYsSWNnoz(rG@<{R6FIoP?j;mKmq8TwzTF^;wY2F7tsKDy4MFBEi# z?Xqb}TK;hbd|PeZ)Py{$jru}#`Re!XG1C}{OO=uDk@Yp6p!&5VGu*oHbZr0)O=U8F ztJ;(QsBcw0C_vSp>UP&25qeq;x=PTo-CCT?I{t|`#e3xQ8n^Z}8glUDV|3Ls$>F7n zG+*ASdbOWYYA)Hpa2bInK(G|OSHQjp&kNyg`9FmQC$lDT5r7t5r zgrL5ZES<|0vKz`%-Y0kf#Z}%5!0sNfdb5>0r#Vk3{6YZF62NeHkIpePE>@sA{VZCBX-0dk`q%-cXq0HZ5;5r~U<0h``>{3oOv9qfc ztvfrc<4Br0sNl6A-t64B3OSoR2N>e<4ui;7*Mq~@>;SIpqYNz?N=p^40fZh8^SnrR6iEa3;gPcU-}NqqPD+qbC8xR zsthSyqvKQ@hp8hKEN-u7`zOfNnqwkHXJGBcx<4Ii9agQA^QAx8apKR&q6OLUir4Hs zJb%%Gl;;fPIXBblc_=?og@@-aZjT>Y5wJC@D-V-TK^d_FYj%h&?(Dvd$9?^&`@~f~ z`9VJ;A==Z^a(HN%t;U}Ut>1A9igb@3Qb&$bNAjOXyygCveh78xz*p%1jA-<3ZU5A1 zs&-tHA&*m+=%Lqxb#1@dUM+Wm$XlHnn$4B|z?G%yppGP0Enb-anPwK|e{^dLX4Wm< z9+%4lz9blrCBa5433kBpI=p?j6zVGo_mj7{8&+LIK1%lMIQ_5FutuAV9@OrMeOovQ zglyauLdhz;LXqa$)04HjO3(TBV&y`av+-hca4;_gTYM<@bBpzNSUgfIbL!Q^-76I` zr`{!@p3y5qK$%d9D-um1O{iXc`+M4ZseSfiy(n^(u1b?sdBLm%rwe9j9r^lOiZu}( zsN65>Yp{;gQdac8QYg_c9~1g7P4vG?&w>8IV6>W@R|_=TW{s{`d;h$dwQ)*|IIOQF z?p~u1hxHrqMn6Xk6mONd!W#<3jnkl$7l}9a4tJ0`46)htP1UeqW>>%H;PVzY?wkdNfr{%zWlv{XLPKUog6YSFY2ypLu*;_>~%tkXKz%bdGReOuX#~h zKAIP|Q@1q1$@>lL>%B=Sy`IZ+nAo&^-4~7!!s^8aU#6gH@IwU^&C@SMtJvh3n2lV` z1>4WPkc#c6TYOLII^yo@74khP9mtJuI+V_JK|N~Hc%y0#ws=Lf zc30xP;^`;!zfxlt?F>Axyf;{tnKuh1nYmffR%GTzp{#Pfe^aX2A&fF}6GIrhGbmcu4fC%0?kbii98&r%uH34V>{9t!(n2gN_I7GCGNgWA-kI2 z6Z<%|0?Mu?afNpjQZ?z+%G;W*$Q9JKHA`@@K2Emvl#EA7_Sz9r4?6iPI|M^TmL zck8*JdGG%l%~T1^?#x@ zeL{)m4=R#vc)iBI*?GSnc%_;+yIg(Md$;AM4w5K*K-f4 zGHZIKGfdC76L)V@$n^XJxTWbCDAO}>ghL&$hn) zGC~QS^?vrx|6Irqy{hTV|BBMU%MS@9UVc=OWGRh6Pff}PqaA|9ju6_Ehf>(5`!mD}S%hc|U?90c6 z60h!5RL)7qODw}rM#+!)q)_=ht>t>3R!Z+C^E{yEX6I8R?{`k3g4&!!vB^uBlg=;v z7$mUb$IvYp`x)ZyCltciABnM>*3-ET2zX0enUg4|n(W8S3w@RJ*^k-7U8eVfcuv~6 z3h|t@LXiFyOIF^RgaK#91YZuumkz6zwYZfV?uUk6_xC=lMq;lulm3`qOMTUA5X_{+ z6^U@Ks~2-GQ)~G$1zKP@y_3>~|KiJ?Zfi*x6EjG6JWKy&4z`q!>N<%__P6VQrFs|r z7kIrDS^1n$l9ewh+KQ}vL8u@rUskHwA&j!}MUwX`D^yUE6^c#XzD-%7Tgb{+h`XOx zh^%ZXWd#JXLR^s*%2i~AzSd^S(zzi z1q8A}T#*&``u`{^Zfi-8&V{CGvN8wzfMo?<*JMRoywPv@s!)=ZZz__kTrGGq!(SK3 zW>~i6F4D)aUYdFt+hP%NRY-pW>@{qTZBQ0Go&EoBvp$_**8di9_iGCAbbcZpeOKfPYO{U`j#j21j*~s4hY1bxbkuk`TW1U*%tib5K>%A3y3&UaNq$UV>3J@ux$AS|^;^Sjl4xYmh{ z{8BhXWWg7@+u!?vvc~R8?zMk4zUc<2?|?w=i7VGS-Q9j)>zvHhsc@OIZ@b3M)6ZAV z%HHh3Y`*H=iuPu~WIt2g+0W_E(*-QNjVfHa@TLrHBPBm2?*2$2Qt}Jf{z9`I1X4m=(FV#%O7Q!2oAy*m zqHfa$*N(l6sSVmH%%4^TpDS>FiXd!Tc@xHMyG=PS_p-*emsf)4e4F5xe=YQfu2#NH z&}ys@KeeAOe%>vV`1wmk;^&LaPtB9EB0m$z^N`X%C%uE<;^!}vHa|(^iv`qdziWk= zrRm-lGiexR{))JJk3yLF%aWNOU?y>enUtH$Oi%D5>PwxO1}_r0&P=!MHfzi*!HJp4 z7X9o`1uyAog_rXhzZ5TZFd$z3r%>YMZxo4_>=jMztG0Eg@&KY;^Mi=|0%3kI$*NI! zqyP(T-#G>Rt?J14!d#tVsgcPXk(8|6RljZJ!w(6Nk36O%Da8*=jfh{N=(vim@%?}T zv^Ij4oy5g~k$rT+tF4CBD$ki-+2E;aFyDO+SeM&|tWwpy&!BU|49uYY_$ zMf$pnz89escSv`NaQ*fTv{l|8pV#0W5*^P-ZhkM6l{leah8# z*zbq??}Gcf`8dRvrpNi@vwy_H`|<9B+tz;k8Ojq3TL~V>o+ap5vA6u&e-ye%k6YQ9 zM*G`2`sJyHP6x!(KMN(E{!Nkmf(zsqND|78<-ZE<$)fjnrQ{XuX9LEoh5#zUTY3G; zuYXi-2hs+v(SH$l|Dq7r==ZSiUo_SMfpXCZ;Pd%pz{$Hd$!E5aHtxP`mC-`CejusI7&BWdRQHbFGLF}73tJwhx?}#hI zMxmP2GkJ%5WxC1hm;5c!uH2Q1QLRFvOK^P2U-YK=<=r1EWSY*@-t)gt`E({DzT792 z_|nwxk%=$om@hH}r>GnHp=?3(XR9?a|M3dK=q2YPAoGGGpx-?QaHg4H1Y8oj&G*W`ohei^w z^c}TyZ=Zg~?~J57BH=eZuM^L7U?ZOOk;S(&@_p5ZAzi6{5UU~CASLxumww5yg#m4^ zId{qYn9{v(y?;}=wl$x7-+DVRT-ci5A8S-IZKd_bdbp#dw9G@eou%|%q;C#+^fpI3 zT+8nFExq;_-@$s3bVBDe>Zdk`7+dWLF$dWCPCZ*rcyCY;-D~Stl%FRbp*IAeLzw?j zcMqp8(GXNT_e1d9&z2ml+6X55lg3bQl5zk(z(OPbB=O~+gQo~AT0+s}BEeSj_8Oc^Xh$Hi@WlAQib}qF} zWAkwR?@7L1r zis@fJ|J=};yzzPckIic|uGYUMH1T?SRbp*g5YxQDyl`+uw)dLB6%X2b(cp@e>z=RF zgwB^5>$R+D46fL7VvX8So{5(#UaxHmJv?mhrGqQhP3TiHJWM=U!1eD1v+`Xk`4oRf z<2Geqs%|}B|C{tbxKfw=B5sws_%i+9tN-Iw$@)nZ)(;kFxMyGX4q^lsm=Sj*?k-fw zjQBUi=nNIrcNYX=MkKCWUZ$L8M0I^={q~`aH*cv8roL^ovE2i0gS%OxMMYeS2F+PHac8;@+R7~FOvKULWWM2OxNpb^=w*#n|RhPK@Z_pBaJBM%OZyk(1x z%-?n+BM-EZPsy5zl6P#ekpL#W(&LmbN?nWy#iy4 zVXIo(K`p^soX3vS9JN9Jm9;2_xi*h!Z>^!pM1IJyP@2cIt%HwwL~tDRquqMW>q`l$SeVw8N&)P?R<(mtCk#1G!?rX^7=XW1P_lQuUTjxd4eRQH*XGXK> zE`Q7~%z2b#&Rb609aYGjrv=pbrdL~jKrrVKSE#3)<~&ocpJCUNkDk4OwQwN*8qU|n zo489fnpm@FK!+sGZ{FmAH@;2azPJxH2`Ry|c=N%}6uhD172dQOzbIrvXMFHxS4HB@ zk%>3E(dDhkMEGVe1tk+Y5fu5mDCGMc{|#rZFlRtWEQl(Mp;TQgd~9b(yPqVDbrVc9=m+2_qN5Mmiog=LgVENgaX zQD0k8SV~lnUI(cP88){s!qqN+87T5pW+FJ)yNIXMWO`$DrNFHW%INMcF^!?SiOatE zKL?wbop^osABx`yfYzG)l{RTlp~Tm{6jg1~n4Y)B%wUr!C}xfmbu)!9^M9gE0xC`t zRX9nJ#L2*s&U{_s^^yZAbE9*l%niAPM1S~&Y*iK-o~3scn?$#^LiZY>ME5#HRk|Od z=WWwXLD9W8QFpCE=>BJ<8>r|es?bf5S#&R`((Oj)(CvoYLXGYcymh+iR)y}WE#5~c z(Y>D{(OuZ$hw6D2-Lq{mC9%c(6L+=wZd)Kjjs#crrLnUO8l>n3_- zxMGX79t=uiTkQO$YQz^--52+vW{XSkEZ$UXF&&?4cMbr$CA;%5A;d4O5~JO@6uUE_ z$7FYO@GzTo#q=FaHFZd29!}I?od;QlCipyxzX;pyGu-C=x&lf+nqVsZP*=Xt;k`EbH-@TA0d?Z zdWfQ`{vE34S#nq~GuRypikXKIb#>BXX6jtpz7SAxlBmK-iX=`(OT0tk2zJMf&e1>NlX;D%{JigZt?)#l#FOI{RpsPKdcGf?P!gV;K-@h}Av{sd zA-WL)NSFwV7^?-(dfVk6dah*fx)Rs`K|iogDT9; zt*OfL!QFGWYTPQpQLTz|i!XksSU*5ajbEJS=yI^uRwoLjHcwJi<=0c_Lw)@)Tdyby zzfLCZK3O6BYQe9o%r6k|i@3rs%9Z?bL#K*gQJXqCwhau~RgAh)JM)A2D;4T<6e<_k zazTYH?uA>gv84njwiJAM&&LbC(CNsRbyKg@)VJ}ef)u|+x}0A?Z|fb_SA%+59rc}n zdL5{z*HOOeM=Fc|hF&YC|3M#DKaP)HCWRu9d06TR@#wN4+JW z-VW;YI_ma-dMBu7)=^&ysP}+6qmI%RG;Q4m>RENvLv`9A)CWPGSx21|P#*?$RvmR) zKz$U{v+Jne2h=A(on1$9MqEU0tqsCNa_7eJj?NBuFNz6|O)b<|?L zUaq#j3M#Lo)&BO*(`<}oW*eyZ8%@5o~4bVTZzU8JD?6C%Nvr5^pPLx-sQe1-h1gKoKvZ~B~S zYIZ>AmmP>IXAqQ1zwFRnz3IiuI(exs$z>bZgUMf|F4r4-xIe$W)yDXI`u(=l-_gsF zeFyD&pFXKDx{xy}*XLdjX1cX9G-Hphgl4)-5#F`i1-|Uo$ggU&AM3j(+c)%0v-I2O z(A~=39WwJ947yRzzxdo0N_?JHBtDOYOG+!Y54V)6*ONN))w#|R7%tbUy+ETd(QlwW z@{;(0@B3mk6F(IyQ z&u-Ldac>8azW#0S8TotVsoQN?{t6ZZ`J*ne-~~k8%M`+bHuCpc)udOX1risCDqNsc z;zDcn%*pOSe}^t)7faIlot)<>-h=Km{;~A119V{iT8%<~X8|KLt`0|WItFoy+okS| zdm-MH0#$;OKn33I-pH?Mw30kk=6C3b@-#Hc7Z2o_>x&1?Oq+0)N8at!=QA5WHa}mc z?BeGYisrYM9njxD+SA1_89{%a{1Kuc*Z-?DLj9dly8kRqX!V~b2+X7+G4m>-?#mUz z%zl{pO%>Kp8Ve+55>1sc^p5GeXHH&ID0XKjwXPpq7Ak+b z`Y`!kp_VL~w|VK~BtW`m_tqrnc1|qm;Y|hiOwP$GsXTN|&dC5>JHTB7fpbD!8EE${ ze%xxYPOo+C;uTae>i*4$Ci=;>y3s>}z<|C0dFE46Lz7?IV&^5C52*9uB=gjGLoa1Bt4aIOWZJU;{Y+)tEc z{T8+A(F+i=4Kn@6vUE+dZ27%jP3@{ad{_Tdf6@fUdke1-zDGTSt}VMo6(7h9*58q* ztsRid?2Gd`3FX|D|pC0ta}yt`5NvuXGjQpf`^aT&$_rn z-;ki!6L(*&kc&G*2;rO5IsIC*KwR7*u3X%qT)eomVAF}pIl1(iy0{*Ceql1f&8bV( zaPM`>98mrJoe|Mu;XJ8FQa3)~VCZznq&K@&Am6B>XxpLvvD#wFSj;WZiY5gj^aIf< z7KzX;(D@LdmAQxj!7WhYiYA$efiQ6_(ksbscX&`Y#&kx2BDo)1;9byxt@Cc?ve_Ce*fVzQ6Jueo`W68E*BF2C*37ISOajjo^?3gSfn`2UEwb24wA!N z^}jO0b$54tiDN+?h#$9GIFDIl}19yJU%(0QPvymLT5K> z*!bmwA$vFx_(D~>pxJM$I53*OU3q%fD|h+ZBs^{Hw@H`?{nI4DcGDTz?l%*4HTt&Q z3mDeB)T3qxglsoa<%dZqrFvHUKfJwpe2vHVz&|s&_vRuYB9d5&M63~HPsA>EA(4m> z`yL{DBq1RwVqa@tqjrr{?MhVa>F=B~CvltT=iA@!kDu4e}dSGqbm|ewZ z;WkdT*F+ho*3019ObZfxydG7J@a~vX6xCHPQPZH7^y@VxD*5^sZAx^eUQ+)@Md97n z|5Q<3qnc$~eF0xnRs>B_lXgLk^j4mH8{P?rK>%+hL))@y!^qGs57FRprsSa*?MBhn zA&egl96tsE_&ORJm^WjQJHg#=a{@#8gD_(n8ad($gNxXGxde=O8Gc{nV}S-8Im z@WgLT;}3ICGpQe73kR=S@FxFtbdf_9t%djwS~mR0tthBj8?u*1AIYi}Oa& zKYITR;_kDY{SSM-crBa&>yx3OtFp?XiyH7b`JxEAfQZdS5p+?sd_o~O=fJ^{xIw-P zlLY$id+-P5oKa9FxbGGClk_<`>oyS7p9;g7?El&YY^;-WAvUWH*%`z5X~4BaEgUrt zutl6sb3i`o!#mV4D!y!H%4kw`O?Qq!$UZ%jm@iQUH*1aCgA+z8Lex~KM z5_mJ5_mqV{@cFp1@pJJS-avpq9%rxFQx96ba;yZOh|)a>pP+{vU+)I%!#PpeM*pk^ zrofNbm4#^&YX_hIhZy=jC~$|$5x9*s#V>>eS?`13^-PKcGpYGse%uK^AAzRD@0Hkr ze>1m2h~Fy#Q-k}}r_c}ZQ{fPWpY+1N7IP@-!Dq(w9E#<%&W7Yk&)?7=Y68mja4cSz z_1vmUH)nkS3Al7vm*Ly&+^qXhRK3D?3IuBgKR2OF2I>Rky zTKe1t72!aJ(IpgpuQScGrKClBL?387G-xUOhf8{9Q_}w%LV^JJUkl{y|7gE|%)hn4 zNpF%5?*tL}(Qfzy^RIJKd#I_NE*$jq;6T#>Ou9|L57a^@ z+tiv4+g1A2F59BMHbXa;vFv7i{gxI=JwapX`1V&XHdn&lz_@$_WvA9#Y_q6yv8yjF@XDgbwZjqh$f(Y!qAO3)yJ6P9W zgac>70pR$>aOqed`n=RZ3l0U;gj=}}@lWPH2=P?M9(@sh7#3sUNC*E|xFV_)9qH)P z70QIPEx$heb!<^v?R1;qH!X|KQ?NvfHW>xHIU#OSn+}2q+VBzlDQ9x>D`%a&1X_{> zAFYDB%|^XoGMo+B1>lz)T2H{(_@y9khBt{d%aWt~^I%DDo-kKv?_vCtc?d#mFU(Bt zSNnk?e5U|JL6h;1MUzpBn;h^pl&TAa-#CZ(_+?OR;C^fxY|Hx>%~mA(6Yfgj%Lp*l zOSp8hx6)1xpWOnblJ&#)aR0r2hoFG}P(Lp2ITYs*zXD3Bd#xtk4$%(6LI|H=T8Yw% zhVgK7iB+_)qGOAyaM-~fz6z2#2Q9;u)|PUyt`BR3i4KxzUq^K&V-{`b$k$&-7tJqx z54s0hf}5QX>?-(+eh+`()D2#khAZ4X!PAxEcwBdvLEI+zZ*dQbz4s5_*$wm3_vAZA zKm@*X6#k&^)Kj$j&6x%TWgUY^U>J9rk0U!~6~Z6zs{!CwJE6P)oC%Bi5>=A3VW3+~ zN~^I0*Fb=~^R@8TLpvB24ZHIb_$Tud2=Qda0UgX4a)jTYhbY*ceBfJD*TEm>);FLUNwZ*PF~`3P5wo2jvBkzzFTdD1Ra=LHWzhTnuUWK`v1snB zXvDjX;yKlF7RB8c&!Xs&)F8MQJ_%Li7Qwx6Wo%IgC{|5C0p1JaUyE6knq(?5i(cJ| z6?JR^57E$vu9)N3Ljz!`oq+bQXdR^{V1LYw@oZdl<=mJ03D!gs;bVK9q&_?*fnR(y zXHgGMz)pg1>C~WetG^Lb6z5HSY>wXqk&WD}C*b~6zky__6~7sEv_Je~0Q~Z@^Z=-* zzp;x<|OKSa%FJPzmVSeK~F4w2K>JX|38EGY0H@5V-i-Hp(p4& zKwd&TjBDW!|0h7)PLMx=YZwruk9&8_2k*=AFZd??6(YR{GI*Tm+UC?)lUPk*`_?M9 zg19#p3goCh&wg=^%oOp`bpur=OZ z9Bgwf(j=~qTM=y%r+qPW4OkKFC<4Zuh;S4MtucJhr$JXoQI}#qHa6&L62C+Kj^Z=8 zb`*&w46Rc!9)9~K)=|70iZKf)OzVc%Qz+#!+vI> zWq^gL)h$vxCPI&xlGDIG&GC9O*xV!*^h90bIEiy_`5&INn}cGycb zxkz>%n2x!94E|7FTxxL|EVg9yR%pvFkf)<~(HpJg5Q8oKyC;UH<1rjeF`cV4=vrQU zG7@{X9kokBTgrNJf1VjRX-h?){%63s_q z`c`pMBK$>7@Crv^4`rEzRRY?iRT75Q-O!R3TjBNPHkkf9@`tPAuZH5tsY!b_oFycT z@3rF|H}j-xBtsBVZPA@%_AQazLQPE}F+!|^63S#fhDofk z7%Ot%C7R_CsMlB|Qp#%nkDCR+y$BEtfpwf1tR}{)7iCRS8XCh4%4K#&f z%2}cl(e5;q%@W-upt#rzTRT_uBAGwfB}yz{`Zy*&##1a5eMq*DXc>Lix1H!T>g>oV zVuctbv!V1qMxGt%38((>W;c+DWUFbHWhZ7bO_4bueHwAHho@L0wo~cbf=>3>F4l_o ziK@3i+RGG3^e5Agl=2mkohTEIxhRQxcA_bfgFH_Z7=^Ox@;=cPf20P|pfKg+K%~af ziReTqQV-dkXd>w)%Uq&rUMQO=*AbN?dRy)!n(m3R>9UZ>on(vTw?yrU&Pz`#EH9Sm zuIxqhJL%O`1w+?OZ2pwOLUh~W>|ejw20_!t7}B7NN<_d zE24KvcGRkg34QR-WRG5+qO4&qQA95!JHry9d*hr^Jw*+}CX*G^b5vOYqphByfao3A zY9xwAh8;x7ut`W1O$|GVhQk&;Q3M!v6T#F2)Y7n*Xau}vnJC&D_7ly5QJyHe7(OJL zN+t9#93nbJC4?Ie6Rn{Vq6|k&RxWnJ4L19pVu0Z&$=;#z1{n&822q})3@0s8#u`2) z*+t4_tl>P-1=342Tp-#*^-MKfB-&2(9B;Tx1SbPf-Xz1fM0=@(Y{M0zPYl?GT*Eb@ zvamHv6f+Gsh?DFup!z)dA=}|CmKw-yfWAkO`%+r(VplP9)iPEm@}tt-j5UZVQ|a}MwTL9O$iwJL)Pd^aZFD0_ zpt>|O)+IVg<+V1}CxR_5^j}9~L!!=9dS_!Jq83zogt0M^JC)wo*p#RWl{d)fMRbQ~ zgwcn{m-=?B(T^yGJTlc7VEuYLj59VP*-ENerm+oCdFtC)#&$#jRG0b2_Cy`2E=!CZ ziP}?L))+ezl_g7TGIk|uNOgJ77(!$VYk#8HVeCN!FAxLmHHHyQCa*hW3@7>&cIb)X zxUm|QTkwj0)W(HFXQ7V;gG>suzN2S}C#uCk?(%}@DD3eNeG$j&E zqSC9Gl8I)~NUdc`C7MWeaWSP4ZKk@^Gi4C%pt>|NO(42XcJVZ2X+5f$pJ@`28(GQU zltZ+Z>e<3HndmOnv#n_=(P64*N7FQ-0;*>>(+r|HRL?NeETV-}vq;k%3xA0=&9k6> zriB*N-?Z3*2AGyv&_L5l3mRlvV?l#W>nv!9X@dm~HEp(_VWw>sG~Be^f<~BjSkOq* zE(;oE+G{~ErUMo<+H}Z*#+W{~ejDbVK5;l2V@*dbWdEeGra}u@oavMW#hX62pajzy z3raMdv!Eo?1q(_xU9zAQ)3+9sYPxDc<4iX!D9v=6dh8|jSi0#B5jY6=b*AYaQ4;x5 zw&{Vj6|CWRM`8P>m>z-*o^Q4iVmr_;l(IH?!3?J1@+DNLB6}!WFTrqzI)JQA{s$?9x<8C z@CLTH3HKe_#VJ!+vz54zQm3I5arGX;TZ3I2VfZ#(U#9Ed8Z-v!3U>@2x_d!*xqdSU zD>rD?&?J`E!SE!7L2m6JKEEMK4^x_q20h_Avk8X3)yL3_Voo;1>$?z|L@&2NaP8+l z2Exb&sSw&W#OpnfzZCr`pNS18!F5E#Sr9g%@LAJ$;Cgi9r4V*(yb8iOjn_5w6o=wB z!F4V79T2wnz_wIxx(lvvHa-a9vZfdlPB9aj9)*~5?ikbG<8!z!1J{w+k6K}PD+EKg zcnn)mxG@p04?`%$phlSg$|e}vd7NozGPSVZ(J(T5T*x^H8+OMqW&Amie%|D32(6l8 z_)a4Xt9oL5M7_%m9mUV7H{iNuz3(B6bH4|nFXh~|36^q>dO`O~tNIvIzcJSH3e`59 z!Vf9*p%$f4{wo?_DR-#c0%~u`+Dh@X(N9prCC#zU4Jk~Za3F^|DD2GxBQd-i{o2}PDgP}!4 z4fn9@=M}N6t1-19eSS}}48%);tq9Amm-5h1QFI(r&%LOW!QqXdl)>XMJeY#vwGa%e z_Q7yMEet=8!!UF-hClYiaHTVbe}-ZhOle}h@p^GOhI67YyhSN@W#IK%3P)4UZ&ksV zbc(qRL0GhS$xg+{e_4M-=Zxt+++CnoG5vK{bUi6NP2mp8^G~XYH>HUr%Z#9~2ZaME`~=b$ z_0Cseeo(_YUHyt<;(G@{j7L2TT@!-bJ%wvbYw)ywW4k~YZNQnK{4gAeA)U}CdpTlE zO^O*vG5si}i9L3e;Gt4z#g5S>srHtj`q(EY~$Aw?r%cOX;QSEUBe++F_mNfPEsf z2adq}ojYT@mN{X&LMX;aG4m;=bSqM+&i6WCE5=mDR-_Kcd`?!K@9rY1IxT}%Jf}3t z9Wl*TO7o_6GA&Hc`xC%IC|DnC8#QnC74T`(p{4|Cid{rWRRKixR0trRz4AJh^r? zw4N{dfD_e!D%IZ~>W`lDq(tf3Pu5VHF4V?MDr*J#b2swm!Q{O&$$Jk{Pn8~_CA|yQ zU+VE6$={xUzeQ$Wq24SNO=|`#b5US667{3k(z9IY8Kd;9@}?Q%?-G{(Fa2J6 zJ}+&b(qp!C51Pq7XJ|f8rg2@BVs28*1d8cN{dJONt$Q?Um7Y~f`{A2>tW2YSuHen7 ztjX0XHF6O%oZe~#`!O0dU1`*;gi(W@S+9gvJ?gJfH1?NQ#@V2Bzn`T#H>3I7nR>9a zeF`XzBYAjP@^IrwobykSw|q<9a*k@afMO0&%nFL>-5F<<^-eg4Y^QO3kLH;&wCk`Y z|4He9X&TYYbA+@ek=7p4`j|?uPo-C+(o6T(f0<*~k~I#~j5^F7eSRjzY@wJw6!T{^ zwyQ>4tWO=<5Bx-F>}V8BCZC^0<67cntz(m{1XHDNb#g{dyqaR%j}{tdzNyrqq_M}ZJSbU zAJhC$hvtX#G(QZWJl~@jTgtN&#mukT1pu%K2UDyU(caoGI}6O`Mu~h%mKB*@(w?vrHntC42l$cQK_`^U^E+8S?+f!MMj8Q3>~W-Kd7kX^dQeF@i09 zP@<)4$hQNk{SLhoiOS#d^gPl7id?LMDuwe#oVEoc#4@wbIy30 zb7s?=GoNA>P|OU9c|B)h9qhRdMfc#HslCH!mS{w?#B6HIZJL?u(ab!W(oCZ?K9r^= zrRh&;9#Sc#=cv-Nw{Wu}-m6my+o{>!>hdItEv*I8_P^%8B*r*@qVZUo~c zsuG?%Wl&##(9siOLLBkbC6wltbeh9=lg%?IWH%ilm(yXF1 zPP8-mj`k0?X#a4KO1~P6Gh~0-`A1UUO{dj4l~(7`6tkLQCQ*zRjm=H%QR_3BSI-T^ z>)$KY^?*|^$Ww~!O73udpW>B6Q@E}IyD}+iIQYVKC%O)FXa?6aD9vY;TETS-x?WW& z7_RHm^_ohZ;o6GQ+dFiJYfrjvRP`onc3UB6dp2wV@QG@Tqq z!gV6WAF31!*S2&$r&1zZkEb-f9mc`+UW&h6X@W;s_9VL<4PC^%UfCWlVrvFI9oSfL zD)gXTH(Ym?HN*4FGjN_6mc4+&IgmaqJJ0T+!Af}5duVVG1LI~w`f(61#r~L;aBZEk z7Q*zT4G=zPwH3k|-3uW9ZxVOH_185Y8p5*cQ$C$345aWo%KtuuCNanFpod9#w!-?P zCmjc^t8G4om>*i9bo$7z;QDM_8F!PI;f?joGG2azv}F91VlBtSAK>~z;6nqvL)Zn* zdxa~UU1R!(7Wq6WPOnqGDb1_mG&;{Yp;*H=rNq+FV!Gy7mUZLTEpmYCsIgcpY!^yh zEToO$x+vbVrLSA`Gg!4`{k==%>0oZ%Sm*2~ZdK^q*ijr;-7QLabNYfZKY;zSjJ-iO z-)vcD-3!Ah&zQ!TXR<|Z=~U-zl1{OR*IGK>vMm^&1igSQ)zaA(TFc@3Sgf{>mc9!y z%f`J|B28V3G);}~Q|XxUpPutNhyN>nH|XvU5a4N56K+`4?K0RT-~7?Pv^Rw|CS zu-Ff9t##id{h75);z}xxDMxq?g?{*lMGpTZ4ZJW+rNcAIbX&Oo!3)Djy{baHbk3Wa z3Ga!beS zQRYYKEk{{1%HIz{Y$MjHgGDJlNs4oImNEK`@xJC^kY{F@7znM(B~kuq5aydFLFiU? zx`mc*<5K9O*RwIETu3Qby&)x*i_(1azez3QH&Jcz8S$HJtK&=OR#2?3%BF za#q37eKu|t)Ewu}qOpJ@9m}$;1GdpJ4Ql;+8a--s&Nz08QtBLZe37T2e_F=>Z!c|X z`~+I@Z*{BxmR?_U-AekQE~Qxrj_9KLmrOGy`~=wzb697sYi_wFq8%*L95#Ip^+_o6 zHPz~Wr5tCC<9BWu-19#zt5 z)EDbY^{)%mK}(C)snTh1zSU`p=50(9ZvM9tU#Blxx&C+h*M5j?|94M#ll1jk@b7JW zT_4N(|I^>zoTi<5+`m}$|84r$ZT#oTQo6l*WkDan7D@3w`B;`w&s3Hp9ajq7>es7@ z_MehA{O>9CT#cn$WqFkvm5sq$uJUfAbj@G4QTNn5YwaPcAfJ4*RDV( z-q5G;M$qd~V>xoMK243yVMM%b9ZbDuxz?0S`KDPHTRks8*V(eRsEalHeOG`(L|6lfhEydZjYf}tEDeOgI zUkV3OIE=y=3gakDrZAntEDGPIa2kcPDO^C|5(-yRm`CA83b#@CK83p}JV4=L3Xf5E zio(+ro~Q7V#XR4bR%g7Ie3J*3jxUj(-{zVVv=#1o7k9&OXHN_t)!qtT`cHdiLn$w; z@r@na5y7du`3m&7Pg&eM<(qMp{4gC?#v-ljP){8LdsomcYran&qQ`H^RTa~i#BncN zeLl1sev zuWKZlAx-b@cAjvO{C|{%cj#HhNfzzWb->)J@qW8>TeKF|?L+IzCF*lF4yE_4@m;tz zWiYfar`u8$>Vvz-qPJO^)x%Tngz;&OLTkaxkRsRIr+P5Fd>KWQV;)r94nFTQm?+oW zylXK0EL{xCg1g$m=N*$+HWKu##CVpafS#3@Of=aX-!s_CAZD>FyC;0EN-Sc%KWe*q z8pSFmgIfcjjZ77S+@NLKnW_gh0NTss(yEE4wK&Y=(JBDwB-2+eZ9UE6OQxGH-GDAL zRdH?WSw`GoYT()p=sr_wowlB3#bc()b-Dq)U^)PKmJ`ZFz`tDc3COdYD97}pYj1cJ zzY^2mt|Ne|GmT5_?P)9An5L(W0D@x}%Hv=!WKuiXu350iDRww{jSBc>{~x&fVFy6d*V z(@C6RGS~S4=n~U*w~sxY#dW67+)e@AW6AZVFqaJux7qwaDHR=&iBbIF(^@rzM!iQx?M!f`T zL6qyfW3<7mh8R{%wqCB{lujv*j5B!E6>hbur^U{mPF@W~0#m0}qpjS?w z<+Tw#Sk^!BBd<21H_>EsOkyF>AeNoX2)1e~MzQQ{h8=v?GEvJYmv$n9Q(9+i^J*t@ zIHhaGE})q#YmsrrD_AUKSxClZpp{xixwIGSIb~pCo}s8Pi#7f>rAQM!B!o`U8YIicA}$rq>0Mwgl30-CyaAj-u8M;V_W{@ z)me)`7S{4Fudcs#&D))+vGPy(2|)qGM{9&oM)9@sO#%PX%Ldk=GDQ zKVg0vly8U<8;EkvGA$1%pQ%DxflZXy!&Emt&(KGF#N?G;VADsOV4B(^&(K$#VVc{c zz^1Rb#FUa%#XDMDXUfT{0d$Y4wevAUKk;A%)DA#P` z{AsoRqB7BBb7f~Y@BX5OmVus|_WWz-Kt#cU#N z>tSL(k?s}vN+=I(-!X-~GE8h~tmzA{(N@F7k3@Qe4;Q}?>0E}3KeWtT@K!LS{F~{M zx8O4v!rTON(fg1Q!j1{|AtOW;rlB>1twstLrWE)9_ejx@sb93M?I;0LDEymjj*EU` zGfFgP*^Fc_V~ps>Bv+Nk8j1|wAF2gJpD@0S>+6OR8#fmaae{|0?j1?7` zOyH4YMOCIswet*d!j)*U*`;=YO`LFNY6K%7UU)M#hY=7jnrkADOc23D$E>iA5=2*` zT(e<(Fi<#??RY!*oOeG9y+kog%ODp!`1DQ+k@kWlv6)EsZIZ}m8Tv$$xS;jSIBO(} zD@1zMNESb^3}=lL@e|8%)<_XgiL^(iidQ-%d1R_Ed!o&B>EpyACM<89aPUHzu1lJ5 zCdxJA+><715#^Y1?nx63h;#|*!c(WD64FI;B3(j;*uaD(WQeCkx`grKh1N4K2>16M zFO)Zyo@-tc-U6r`kuG6^sHA03LJRK+!i`9mkSP{1VF{VS1HYJz+mIzZHI>1+E=vRw z<(N(I1G8D8Em5v{cWAKpMA4V&qfig?B#}up1xY!Qp^;;u}lT@^PVOCWSM=yU?2m2{R*_tALfbK z!iH$Fxqb3T@7ba<%c_BFj(Ce@4L~+W)MeQa82xiaW0qyX=$|VBSauUe|2z@JlnXP; zJTZt(c}ILfG{wAa zT%7kJae-xf#w7z?B|?u(_FgQU1E{s4LVAYx648(7gbc1V+G>f&V_CJR9FRR^S@VS1 z-b+P5pw?Rkv`kE4dfaog)pBu)=~gO|4Sscx$Q4(;R(LNLgP6>%M_a8F8<@_uLAu8@ z5%OFqe1f#zOrTXFn`sl!YVifrE}%8Sxw%dm;~@T3T19t?cbRY%-6`H<8eSvVYM0o>lvKk` z>=K8V0${}L7RQ;|z=+!|PBVQsD$lS-TxZ%f66vufno;(M=R}jurbv^|9wFOdt#ix{ zkv2eOiE_;?Qt}LYg*{W}lmeT*q8d|wmpsEhQJZPJOM%Tk(MS{7WxwdENlfZp$>)HG zW;z3OP>f+J2&?Mzk(j{rG0?|i7L$LEsy?5Hl}xrtwSA6>ZA@=x)b=?p4lvE`-N2_% ze9H7wSS6p6;v1&bP~NBFK2zDAm3%%I&zbgt?6fEotb6QWNK>CLMHQy)K<7jQCPREv zpRYt9)AI4PeZCf*n4Wa4?Q>D|W*XyD+vk!P!L&G~w$Eje%G9Qhzt1;f3e&|@f1hu~ zBBuLZEquNcmzkDlJn{ZcRBNwmW|bP{^_^&^iL84?bYt1`v<&a7Vm{N@gf2c;#dky} z1djJ>;w}@;4A;faOz4Bx#S^V(-U2iGb@7sEFU;)Mg{cFTZpIzi4N;y6cVst&6Vp}L z&D<0E+tENc%V z;CnHQDGWxy_hKwlL)iWPAX1t9L+#+VOD8fd$_%!;BXXJYGVR12F^?%7WOv0i_JJm9(S328WzXy88Saa_|ByY>B<{xa_PH;7I-&)0L_!Es z8j+s8?~80rbh7Y3e8IF2X5k-&9o^VXhB*i+f@yuv?#@4oWkfk*LI}#PFxB@OBQOMO@^R zgL@_VJQBAwi346~K))8#WS?I}^)9HVbNNlw*90rcY@gr76s8cr6+VB6%S<6(?5>6%3C@t^sWlh2qcq~G?jm%-h2dDWsG`c#t3n3^XD-^%hK z(=s3@*}8{LX>MJ?w~Cz2bgoSW->UL5(?m#FO*RVEDQ5z`C9|0}0o9Zjn05iV$ogSA zWkg_Q-`a8tQ*hKAsi0uZO(A6cyjWx3R1hu2W`5 zSMY5jW0}S#^zm&fk1!pK9O>&NZ6Yvbj))$Y;Oi}S5NTWc%F8SpSnH^dpLFY`Q_6^= zKK?R+>6UAbZ-6|+WK}!IH&B`*b;=>BIlj$g1XB!9kj!IRUMI)5xqQfU5~zg?=&kkk z1GSV>m>vMNl4qHIaLMs)EvrZAlpaue8##)}4AfTcW{Lo62Op=@DP!Dne1l~-rU1yL zyFsPGdF! z^&`4j=8w@X@LgI%iS*rdCmCBz`H=E5(H*%kXqRtic|*(0&tmcoo#itoHCl?!vO*k| zmuq$!ooDDGt7{TAaL3R^da%rGbUw)1Gc^XiF0vm}JJ9PYV^}W$^t#INEDMG^zOHg1 zQ+GHg>MFM~4GqaNbd!5oFDeAS<4>Ms*;jD#)lFVzx&*ZfSz= zSN)r1KAyo=A<`~hx2PqYh=<79OyQn+hVHVlCeaC=B6OGjL?^`KxC6f3WhbIL@^Rc@ z-yZS{mRbAc8$xAF0_J%_yxlF>DpaNr-H~a%TiJxlT8SvTBfo<4moRyR$t5h`H%xX* z(lVE@Lf@Y929fURaOshZGVJLue8Z&=6ZUkt>_DV@I$VYj>7EXky^84)q|7D4p1$TA zA?IqDc^&NQBIH`80@&9@$em1|2Id)h$&WONgMsiqmOR0-dEJApddW*ntGdJYy2%Gj z``|<(Qa)k5t=&x`QobV67L1fODY~_f!Ahv$OI;ruuHyuDANg3+=K5nAv^-)Py12`v~c`x0pjM$5rO+JezC zwwRtm%7;W~!I!@MT>62{R$Ie}^T=mML8av{?ckPVV+HHj1$ zV}s-lB5nCW@(2<7uASdt>64DN)|MY44>O_VhsaYz+INS@s0>W0eRrt5z~mD4)OV=N z9Is{QyTfFi2}s)V!(|8&THeWTxQt*z%MX_$h_vO0%dte-^223nF}Z@?3L><81HTdS zT`hyN(O|0)au-u&XE^nfCz#%L&NGaZ=QN3QXOkEyza`R^7%A@&p(UF5jgr+fvDVrW zF*1q?EfFIJ5ot@r$VE)(gQMknCYLZ*ztIv7UEtpxiIx~6+Y)I@#L7`bXbC^RSQ*cR zmWY)(MA{OuaypT=M68@&Ol?3fV4^NzVNfT(v9dK$uDMLzV5_k*jHzN>J26%cW9kVz z$2b|UNp!Aj5^*w}Wq9ThC+9QanMa)5%#>0K&Ijdg)*DsJB;sWu%lbok@$w?ma40Wc z-e(#I=Nks^B+Iv1h8~h6-(f-zNs^nG&_j~t2dsx4k}N-D z*)lkrNtWlC-h;E5WO<+IeBV4nihRm?hx?jDinPwwEyDBG6j_rA&s$TZA5%+^rOI}i zM3dSkkt!ot_NrS&+f+H6$tL85O{z?1Y5?osIGM|ORbl-bC+D#&xJ5q5wlIaYfVcYP z5vJG{d4@E3hV=%tfbZLt*NOB9NRy9cI1Z2vu ziS!7_l=q5h5a_L&u1i=LG}13iZY9b!qlaY451G(IvgBzd^pJ`2vL=BZGEv@S8G6V> z`70B8$V6$JfhFXc(L*LlJ54l)Op;YthMqi0dNQFWPm-OO(37)eFV;g(&Xyxs_7~jy zX3I1t6P&+f%b85o-pVuN$i=K@_ZFPR$~7$OpKNQJBlj|mOnzdMBTqABCg&O6mfx~o zVzNoREq`R$lq6f*x24rg-J*F(Pi)?nRhc#=cF$Jsq#4MRqkODQ{~qzYcqDN-&A>( z>2Oa>`IPBI&jOpNvivOFhD#vJmDM$gGd`WqLf!ls5Ave(s;5?bnvfJ=1XikdGaiiu|}R@zWk2$o`YY{m){d<%g>j; z6QSi7`z?_D7GaCDAOVMX7Y`C3e<>5w|1#)#(IzAcKa=p2`t0i?{b;XgsojJcXLYI{VtdHn6R}gWc_7D z?c40PLS`0Iq3=q0nn<^HmAp@ctv%?sNRB>PgYuiHPd%ed9oUj?)N;|jR`HWPEKTU2|MApPVOkCLf?1gPej@h>t%(Nm?v7| zTfgFQj z?gKW+YfQs~3T!sWCrlGTwo$58ShHM_2=@pZWhEkQrH#^!2(9$eZ6Zh^ht zd>N-nRJJ$4FON-PS&xdrR{3&1Q?H8f-Q;pT(~ydJhV8O|^`a}nTYz#O%XWg^c6o|v zKj>|j-!T<}UV*&BdWS);K>otAhfcv(1@M6i0snH%zd6}~tP+!geZl*(h9>dC$pqi^ zU5{m{kmvid71M-@1vc-?NT%r^+aZUtUJjJEL#D6{-?3?In# ztQXN0ehES5vkc#){6K!hgl|%QAkQ+*tDa}rDZgXAoa!dAQ-05~8Q`ruj=M8ut%O?8NS!GM_yvW_qz7T z2TZ+t!_y@Bg!Q`ihIc{bE0(##8>V|@h4s39LGXs@Ug^rz4|W&(q=zQa6?PZ3MEG}odVf@naX-cqTrKBGM8m1;jCo8T*`DF&Pw*nZA|xJzjQ$EVZEzx zR&qcdW|>1XTiXNj5>umQPizjzUzqwg%QJi^U$S0sGkCXImfxUTv=Q_^l=YbQf!>F* z71I^aJ19dmiBCcApd7%m^HH|82jzIC+fh$!4$8$$rapOwLvj=A{SNIrBtK*su6T#! zQ6^mR4$04n^bGcqyh4OCSY`jia>^#Gr(WMbmZP_5!WryinL?!J`H$uCZ79<-*b%uU zUz1DNXrCi8rJ#rkeLs;8cOdB*?5I5O0TRw&)%}mkBTP7h9hF}Z=^5;({FX@1U`OSn zVyXvvV|QXMIL|lsKPFR&a_LROV{#4?dh0Q{feF3!xcoqqKyN)RkFpHC^|<_s3BC2W zyu*avS|}g09(rq`e8I9xFwYlC`(0R8DA!LwP4;N0y=2osdyX z=yfOL7$)?(lX4vEq1T<1lUP;;cH$@HG^P)sS5C@hOoiR-Amw{ZSGwgHPRYHR#98>= zm{am&BHiz&Ur z|L4+YUlA4hej&dn(*1r~w%Ly|?Dru5)3Os2_WNlWO{Dw%v>ZaD`~9@cE~XBkx9xx~ zVPQ~+{~5WHDA&9V>Ul;UW7-LpI3q7I{RWo!Qr^@g9)Kmjln+?;HSEN{lz%c^g`N19 zviyfwLazB|*omK&RWyko>cS^+q$|tTz_ZA+(wk{JJc~RlJ1~6#JL+>XjP(xHFo|=r zFU#=G^qfp$!aLJ*at0ILnVy$RSP$<^&&$m$!#&D*`7smjQO?VYOt?q+O5SEY+@pLY ze`nb>xUc$3+8op^deEZ4<||p7$*N_Z;eu?cNj!ynt_!ja%l5#Ub3t}y!gce49L$94 z<^`F~gzM(la;heQ>*m*T3Cr;0>ub502~WPhmLD?V$=5|$$a;A4by1#S8Gdr%qP)(8 zZwy|PzcO{JnP<2pU$S0*uJo`TBbm_ulh#rWD14zf^X$V ztQQRTRo}`JENczt8sExGOd)Wt@vVHoGz#`F-^nMe*B4H{zLT$5hVQq2C!Idht;P3S zzmrXv)`9GbY@takh5Pp_vOCN0yx@u)$%N+xSL7rnJTJH^=dd207hIKVScWHGSLORm zc=B~s9%aIluWRxw>*2}QHTez8@Vwxfyvc;84%g&MCOmbxCY=xKHsGnlb=g3Zz*C3o zvIWcVyx_X*!-VGr*JTP5o)_GZQ&|ts3vS5eM0$3+A-53W>=y2SQ+7In<>}e&mh?QT z31_!kvN@5S-EPVG$5EzNwc9fIgeI4;4*s|0vy(+s==;4K^%;_$-F}eGKS#pZt*`$N zvKIKB0anPAo~;P+3g3JP)x%?&-V+=1y{9L|2wh;kzUpA$X-mis@;*XOt`Au zl^L37Rl6%^vJ6+XyK*HHu4;E>0TZrj_v8WA!&U8`JjyaWLB1!yV!{*Td-4two*>_s zk68~-knhVEEW`1BUzR(KZOAp_c)u@eFyVNAARB0+lkNx7i)DD<@j!NA!uyT~axfF# zcl;>hSP$o0Nv6Ye#Bk=vMXuknjK%7lB3NAj#D z+G{+LH(7?egh%pMCfp@FlEyD}i*T3lSlVf#UBY8og-DO1$Fe>Vj-w?1U!~7k)YIeW zHyLwI6ON1x+qt!~K7k^s}TO!~5GOa?wSU>2dT_x?MuT zag^czRJt?aIC?5u66taDRJJG5P1 zKD;BZRCA_ddx(R-M zbUMp+z+3SKmB;iUycKUy`VN( zWmKgbx3kw5hC$W5Uy>aw>!M@U*F%dYff< z+Eh-x!-S_z<w?Q^3Dm z@e+1xw#reHc_ZlADlev8pl7Q>n9hQ%yc)oIpMYL@mBg~`cKINi%XH9Af@~|(WxG5> z1@$58eQF24o~X{S4ByGGpsq9FJNXsVuS^f&w8>7rWW8%}+GM9px2V?Usqjv|opNGY z2JhtCsfJ7+!*08x^3^2Xt7#GyRZEubgnOBasxQ+?xRM6^PCZNpzwyyQXgaVsN%7f`|kU6N9 zn#6+ylW_RU(BDDzW%>cuR0lPL>00l3K%<%N_MQ%u%+wg>g34+hQ_%PVo62e% zQzXb7)j>_76U-Bi>Pwd0hyHU^KQcXs{&Q5O?{%%Kf}c4lCrzRZ_?eS(XW40}nUnHn z@`OFKlL}&T9ecvxNws6bPc%BI2qyeQqmvrR^e`jO;H;7~iCY=)Tcm0N%laoa@N-s^ znPL)Mfo3!1w`ky3MJ;05+rkxSHB-+q4g9LAjZD#FT!9Lhmbx_XtETocZEEM0y8NLp}Q$WqPHoshoe+I+Q*@Azt~uUUq3Pi=LF3Fn^L>Nyk6J#NbI zl1dji_qZurO>`pfrs^=^9OI;)ZA`fK*Hxb|;o4tMonbw^gRZBpvn&IAx1PGo^bAf%>ZxZ;Mwn6R zsdBHVedby)qtsW9nuI;fDD_oMBJD5rRZ}ALmq-2$)b}jIomE5i?%$Y;e(uyz<6VO<7CerWzG**3?aBtICjb*~UO%s)_iSCG+DEOsL zs7tQdqhdbDmNR)*gkN}4JD6HS|20(~v0fnbUsH94Ww_U9s_ro1UZbgc$%K0iPgT}P zB?#PWc&cie$j>~LHxv4qr|QCle&(fmvmW}Hmm0;g3-IQHm&#`P4&Hq5QcIa0z{!cX z+Q53Z;N-+x?O~a*Ua*z7I>A)Fo*l@(VREULXYf(qvz}8u`0Z!)6U*?<)JMUuhLV-= z&eTU$gkJ_lo8g_Qud1#|;GL_FC;X-!z3!B0i7-uy6=@KgO+ zwjJIJ@>AoO_QN|vehPn=6wCV(Wd3Ru>m7r4hWyobmaXVjA;4dqVA|5FGSD@q!d`iX z0QHdd_VzM~0QHh(hv2=g0Oe?{OZco-flYvF%ybuIfvUMCaT(tE3REF1dq%PtCTsW% zPN15?R2M#<(@ZU9Jx3RlXr{KZEECRHnyEsjX>i8UOx<8w19zrD>M`prgget9Wi;!W zos6p<5TtC0^tcUD)roN2)(dE^T9?6;dY*5gc9+$J^Lz_+h)9py7OI~O%Je+nQsvuf zatTubE!D&FMO5h9O3jD0v}oM6R_-t=^tf#t&{}yh;ka$B+7sz<+gf!a(&M(ZiYTT) z&^tne^L*=oHtLj?(RZh`QQt7(31l1fkO@y9+p0e_2|R&ptAst)MUVHksv;AP_qNK7 z3CDXo)kG7G_jW3vNDubH?Nlfej=y$lBomImV3oppIR1jwRF*w~x&*7$Os{Gd*aWNH zOupa~?bRo&=MMhTUY%zdzLC{l-Dbi!vf8VsO!!7t2PG>}i|CE44yr7X?&%K7nFxEj zLqJEB$1+4sHbP>PAZs4_jD)qI}<)R=&Yt!#*{ci2L^Oj4vs}s=-WkYA<`>) zSM`DjXXucCu1Y##N__8rlW$k$K%{%RtExt%d%CM~E2b#WODDpf9vIL~WosF|o!Lz- zV8R~jrZzBPkAJ-cH{vlG`V8Z){ zNc9I3-aqtKhU#Q%f%gx+Rb@?PykF_9Jecr)rMC)Z!uypd6~=mazY?W}5NXRtsRSal z{FHz`>MYC9@_kjyw_aPmuj)jkE#FriVM5DCtEM%IET0w-tritip>IF+j7VF)ziL#o z$nvuS`YUfHw0wWnfk<1vzX~DJmhZ1(i)jhy9VSA{uMQZXPG}kV`~Y={34MNmdccG} zKTtiOI}KDOcoP{tIWB2^z(7@=NLy*3s!oJfDhL>)rmzgHG+13>!Zl#9 z`kqtbsn}o@?4s?0RvMzVFu8;+2^gZxu0=L0^c||wiL{l5sS`vvGwcZ%rcN`Vm4>Ms zMA}Nj)LkNNrD5u?VmbnPy=vb|z;7?nb#?HQ}`iO`-m17g)K zCbVa)IzgoE8LLhcX?w=1%f<8%^cvMGvgdCBW0en4uDLy&0ghGOm?GeOaI6~2lnk;s zm7qxsh4aBUmBTVTJ&#ihneg;HPHkku)AM+>gZ1$AJYF4O8NNLnuRdeKw}<1^Ri?M$ z{3Su%V?BJoJV8As(w0w9qP}j!;wtSNMk_j!Jq%Lzx^yDPft-)){C#xMy zE@2M?l9fZl*OpIFX++xcscJhBT3!UEs@+Uz`BZh1NLxNtogvbePgVGxa4;I-uC*NK zZFScrEDW*_9H%}Y(z}vz>L?TX;5hX)6Z&A9x}k}DFiqWO8Lm}n>ID<7RcXq$5tT=~ z?R4d=iPoxg<-#&t8`D)F6RwTvDwGM=#thY;^>A&>P;o5l1WyAqR4!9EJSogjtC>cF zY`ogWdIR7|;dphBW!Tf>75=ga&P&+SO^&m37?=&QopbsK0%$NL}T3|d=5KF znVCNKhPUFC3)45=@K(GEWP0kIXUJ9^HHo|4@K(HvVwrVscq?ATFgf*xx8hYMQ$TNc zD_%`wy?XEzF-OfO(&H#c@hRg;MH z{4!U~XTtequ3FE8^UFL{po!*}d1@caa6d6meay7H8oZ^h&N8j925+gW+f4hb!CUI; zXH8;zHF!&1{lT(A(3`K!L0Gd~^Lfyluc|Tq1bPcpT}|RT=q*r9SayHRSic3zpXqm^ zR!n$OxWkv;5({%bKPUue~Z*{CiLq?>I)*>e~Z+7xW_K? z>%}Uxr6!lKh``0lp;ZwT`YutTHInYXr7DI9`)^d>QkB4j{kK$2Cer=4RLv&R{kK$o zUrfoMcczUlVPVktz-8(p5$tqeo?oW!GPyzjEmJR;f}sDFD`Q*K%N0%P!mpdF@|w(H zFuyEUj!X+6m*uJ+(<;bixoXC=3vyYZ+G`S``8T=~s8xx+vuTp<9;nS;Cs!}_$iy80OSE+_fc*nk4`D>!5SF2Sgmf^|lYSo7c zPi9xESSCD~U8B-i4^L*-sBD(u3Gy1XfC*2K*QgClc!IoEz0Z1hg1lDkC(_=!R-Gb3 zZ_N(OQ_q62)_OOyPT6sUW#k4%?J)l^oEm3)f z%_@WS@}f*)vzp1WN^qLJS*>Jx3*PnHtO}UC;9b8h>HzE2gR`J5>L|;mgWeYP71KMQ zw?*AydH{M`)nnGX26|i73zqeT=SN$WeW-5VAUN~dsv0njh39|Ul%FOs0-pbEQyp10 z0G>^3Q&CKb@N8n68pE^hC z8}r0wy9!}iFb3ZGSJA9Dc?`VuuVPuY4)hAtRHg#ZD^RPMJ_Wt^)qAXW5cJ+xhgf#J zc|OQ4GkpWI@%!pGCIj3*>`?y?b#DS5Rh4cH@3VJRC6xpc1`!Bgg@hprDpMeg6$UZP zVUSU%5L5~R$UF#IF{q?PMFocz+d@!@qJm;Op%x7eQEX9hMlB>NQAAX5ME%!(&!Us) z^?U5w_rKr&KRkP_cdhq5`|LBH6jkSVM!MrX(i7kM*Nt73_)N|NIa_srYH!XxP}x*_ zIv>v2raMsW@BA@Tcd7$9sa+q^eW{M+%;@}(9!zy%*E735tVdBT?%D=w64eu3hj!hr zr%~4L;ZtlPPa$8KA~Tvx~$s+P_I)>%=xVA zllncXnK=icDydd>dA{2YeVFQ&E-|R%R3CKxrrT5cXR4!J4@3DzxqC>RoDR89>$+4e za!!XjmFjTkiMh|{)2M#wJQ}JkRhMqda%1{zszKf6L*-K4obz(dPMt?}U(Rz-gG9M! z%zx-{qU;&-q1;`1#~3>n_l&t)UpdZI_Kdk(uMy>*F?Z{%NjB%6F`w0*DXz*WSlaPf z9Vj}fp6&9SK6|=V?iurWeUB)69?b6Wy#Bi=`(&EOb6?QUxj8j_iBG+#4~Z&K75MhX zi#iatz3g^kgJ+l*^)yi>DvED8zo>5$b)~vX)I(J3@Hf|s`UO#T4rx&5&#=AVDS-=S zn3wcgst&`fdYfv)l7HmBq_bwal`nPpN9R5IVo@b(>jIy8Ss$jlCg+vhmvvy4tt?Rw zAoq$sTU4nUivM?dMXzUW6Xy4dj*GfpP44(+?kl?gY`?{V^WuK$;mfk}3e#c|EZ|S4|QmI|u z(LFDANBuUQtNE^uP<0z*)o!X>%>7**m@9L@8nmjdr~}SBxVv~44^y|f15VE#=}>7@ zHus)>p+@dK{dSGqe!YEu^>q97ZYn$7`+EI?>fHN!3zf}%pjYBP>E!%A&}*q|?nAwL zQFZP^y`IYE;(E>E>Ren$sci0m-n67TcR+8avbm4+nx)mbk93sE<__v+msIBt>eEHJ zdwHeK5#?U(D|K&CrPv=9B~kJ)2VE(N{33Sb5;6cDx3REFSxuq_nE$2l)HSN>%WL9 zRrNfJ5v(DPbcgj(Dx3R4<0sqyTDxE9W>hwJM5kR@ojalfR5tge-gH%U z?n}L$%I1#h$g1kxQN4!B=DyOC%Bpi;>0&CI`&uvgOLgvReWfUO`M%NDiYiq^Ohchil}1(Rz z%{gYsE!8>4Oro+mZPIS7&S?{%vN>Z8)yNt1eT|&Q?D%W-bRM&Z%1-Asx7=2p^P0_6 zHs>>;_0>6_xtPl45=_tAt8)ov2$jtxn!w+xbBX3`Dx340o*Sxjelvv1=8{a$jn%m% zGla_KlFf-t)wyJoa+j-YF2z(**=>|!j@8K3F^}C{JzX910+pSvu1VQkovUk_QQ2Io zS$}VJF4b(Ivbi+V^Zx2wni)c6bM?$E4^-#snaxx-SKqAKTAizJZW84le+^7jRH>>m zrh5akV4GWMr)y}IKU_UsL$jL7=1wt7wpZs)F{`L-u94aDNOi7}*+FG^|o)6Fba ze(q`1J>4v#>Y9+zy_tzn#hiBCo16EjDxHqqTbP4XqZ4wwpJon=a<2#h6WdumvVhr3 zWk;Q1V*jYlWthEGHrLV|+f|)wY4F3vf1RZ=P21Z^@YU+v=_ZTH=FTwPUaQWXVa}zpxpt=QzUo{%(~ZjJ+M6YBROi~8Ra7>2rrG^w zb?!{FkILrGGAG`y&Yfja-f@-9ooz?2s&k#pWKr(k+SyDORjRsr`*iPY(mr%6?Q~sCEM7fb7qgej=5oxcPpfk| z<`ycO>uMs0s&ie<8Y-LXX4Y3#=en6KR5q7uwtiNf%Qa7na>v=-JSVDDwZff8ce9U` zcDf#>+2QKxdYE=pHrLZM{GvM7(_~TETrZPyq&nBjG^4V)-lpxB)w$jVKa0VdcgNDl z^cGdBUc+5NA2WoNcDkThd$fAGpxH!ab9rX)uG`?flFj?v#)<({Pmn!2Lgr5$J* zi7Le>TMu^`Xqwlm%&t}0ft3Ty2dL~;tFnKs$|0=WW`0KHs9Kd%YE@pu%1cak&OkG} zR^_rk8L%B{63A7kZVeH|*Fsa5$>t;*L~IZ8i( z%6Ds3ep0LQ2rIu*FQf8!txD&6yB$uhdB3PqkLI@VXewpwJH~~vac>ipUt7=uQVP%oN8kINK zs@zzs@;+8}bsj)T$iH$_?grRF1Ay8LCw| zot4e?^QfFttMZasm8Gm4W4=MSCjMb{# zQ>$_xD^KW&sC=(h<)^hOzhvcI&N5VfTdPw4So7#e5>=|=>IPIc6y@Fp4K&3+*-H2G z5bTju_RM##iJYj;oom)m*<8Na@pE-9-@GWwekM1t`ylf&RYK>2?nBHQqTIb;sEKnr z+sjb1K{6$o$>gIVUcbM72N;}Rf@jR#a)?J2S_1A8Br)Ixw>k>JF+EvuAc6W$vN6YW4!CtyJIk=-g_w zd5p@}^V064%}!D7GK?{MM7isFjEN*w&wY$pLuE&Ho;j3UojcEbPi1ps&5o4n+*q@R z%I3zI@9S3Q#+k%aSJ~Wn)2@DXZoE;-QAhLt|AZf(mX@Z~j=^bZM%~dYEzP6ySJ?5N z9{#WWk59u76j6^qnNhFs2E_aoX=x7L)@`S1G}lhGFW2_gdXVj{BS7t{Gu# z+-%1-wr1Qciz`Q2Jc7BLbX?!9aj{Peo4sy~#s6e&+huW-yF_z}ZM?6!T{`O+WgU-t zX7vBb|NY!M<=XmgjV=B@`+FxUl@H2V`hE7_?d|tH{N71l_Fs?i_w)L_bHA*OnoBok zx$VuO=JLAP3&vW1M^EcNHRI2&jo**9rt|xG)y)35$j)V+tjS%nHCqcl*3IsFO)s`t z*Z(~}*3D+|rge-K?^s8C8TK))=E~N*tcBgf_b;^lG+OrCc+3*(f85dT&qv4Deco1j z)!kV3lY8=ovd*W?w2nK@nj`SOX8*;MGn)5mt*IYXHxc+gGyAJJC?zX5|Q#1ZE>&mTh&p%-~d${Kiw;wm_ zIx9QaZF=)WJ6{{0+!l6JTG@TTa6hSb+%2eO-!R-aj>tLFZg(Tw-6PxGE889a=l-wl zj;~STd~&jf?n7n1HAcu$iQ}%5n&;2+7u$Wwo<+Ut@#Sgw-|h&`nF%~+x@*!Mr@PO) zvAaIq*xmoDD^HH3X3d|8?Xh5ZES&7k?(=p(H#j2PW&EvU*O!jtO+ zzt2KetB!O3>os$o9Etxqx<{XjZ;!C^a`DBBY+Q4H`+e-zxENb%>)rT?8gb33{@wcj z-n9S8Tx!nokK+Gt_W$Qc^?$eWkJjq{tpDei@sH;FpZD-bJ^%Oo|DEyt`MLc0%KzT- z{@k@r~3Kx>)}72)kc{-<#^sZ=HX4F8|4R{*!5czeNAD zz5Txb|9$8GyhP=4_hSEo*2<0DzpS5FV()NvceH5#Ce>=a+_k!ndoS&x>wG1j68tpW z-Uqh8-~Jvoc9@+u+SuL=x_83v-q(2k>xL^}^J?hM^oU5j>u>Y{E!JC62Ow7+3AccL9fyBqCZ)m1%!b{y>? zw7;uv>It;tXiua4L*?STqq)$z>P57FVkurjJC61y+PkWU`T*@X+DB-gsGjOGwBu+; z(7sl^)VFBI(SAhx1#3V%y`g(6A2`YBqw1m^SAFmxfe5TV^bwoRkwU`6$j+egnMmw(hslMQIoc?$>Tz}~Pc)wbIHPRV?w}cIV9-trAZ25l_bIJEI-6VN81osTvdZ3UA?FzIj(XK*Ug;s{P8todiYtgPlTZ48z+6`zoqOC<+hjtU% z&1kov-HP^CwA;|uquq}7H?%v@HlW>!wh?U;+FfY(plwDgN4pno3)=l?51>7WwiRs~ z+CylsqP>RpI@&%p)p-+)x67(`(B4JckM=&=2WTIn#nJp~>kLQL1L7MqKzk(GZ~t}> z%oWTN%oi*W94|N*=uH7rKliUv_Ipi!$NEcwX?Qle#RGy>&Z#pqREDboWJ~|Yq~@5^9Fv+oI&pc9XOG@K zqNnGC_VgVId}_o*;1z>%fRD_ce;4WTX7h8cBd~r zJN31V6TAgZOT5jtz&WFFDq{OK^{{jKtTVh}=abxy-U?-gb@R@3=69Y6ED_u~<1(-9 z{|cZTkAru`-{7rhjx5~bZDN)$*yhcWQMEG_-QM+PnDaY-2*-{vOGecWSP93DE!)gp z`kA*g9Ir3zyn{LRl$!p=ZkPVXZWlb`65C~nI77r4BF<=WMvF6AoJrzL5@(V))5Mu3 z&NOj~#VHo2SeymoED&dbINNk==%R#dvwq3l33faWC*+xqL!L@#hOM(NVI{WCp@h}u zvt{pkSDPR6Zu6{^EwxtqSu6dlWj_;Ev`H+NJ+|DrY;1eP{}gdKp`xvt-%jiG|Jw1*;Onh;K+N)Qe`_g80WVcL0AWxG!;&Otnd- z+9XqL5oe1yTg2He&USIOixWnl_a*MY*2lhQ8no!`-z_z}rDnI(>=9>=ID5otDBFD> z*6^!I`>}@K^)|#FQkgVf*6kiSUYZ&A2(tUqHhpaVW66&zC->>(Fs6M@@Pp)coX0zT z0US2_L~@sZGUy2tyd2^2Y6u6VDx5x8QVl>6pTPzzaWGsSsnLn!IQ5-__am{ zJ!Eik%3+MB(t8YedCCciJsun98au~q`NdJT{<6zG=re7^1Hf;j|Jb01(OXf0?JW!0 z4mx23o(+jY+hh`FIxxHaoDpT^==MzcC(a&wOe+1q>$f=X9&0t@h4ti@+9pLq| z>(yx|({|>xu@%{MdLqVmraU+F$U*$o>>zOQ*pa~32ZexTfrk@%dIlHFtkYkn9U{|S zZ>}D4b)C`TOcH0B#KjUXka)SoD}i`FnDoC=`d=yiuay2*O8+aR|J5?pTAAv4GqLOE z82|Lap1SMB-z5GPiMLC}zlYUMJ9+Tcq2p*F@PY529o=*sRymqUl054BzC~-51vw-*> zrPr?WEU#VXSzf!&v%GelXL;>9&+^)J-cF|KEK~KAxWB|hBpxmCB#Ea2pc>A6^XULaE~m#J1tyjtS560etdlf+vj-VVe&Tcqdh((`uddAszyU3%Uw zJ@1gIcFRd4&z-EC*ZeDTZ*e#rPt$=bqMsS z3e|Q|zqE!vdtGSgv)6@&K6_nA@!9KUGoQU~X8G)OGs|bMo5#Fo6l_nkXNjlMPI%>N z>$TU}44jR3r?vB~I`4JhWs7ofCdpawPTH+z#Eb@MDLz|i;}6s3%ALbp{ZYs7(hB9B zz9~L?=1K9{eo}n)+Sgge))UyiUVq=$d6h|>WmFr?b@(mS24k-gb!J-`G+0H+H@CH+H@4mdZU+xkqaDiL+mvAu{cL@q3z$Lmy5U zB0UU|9)?H{l|KKR9M54{ik{}BUJ0i(l&j2Wnf93Uc0zhPA^nV&9!5(KqooH=g5Am~ z33e+_lBrS>>{gy6m6N1$l2lHUY{LY5O>CB6uZh#7W}4JYlbS5)t)28%EcNZAw_>R* zmdawO>@1Z%rE-B(_LRy6Qn^4X7f5A)sT?AeYo&6CRIZiEwNklODo0D@B&l34m6N1$ zy;QE3%Jot?O)86}a+6dROXVi1+$5Eoq_V)=8$P%3HuF+=SmOmU)pD6?xzyVudQRh4 zaTMciNw~JAsaKtshAwWr)BL*NQus$Yu57$hvK8k3C08SE-0Y^t73$SxcLQfG-_m%c z^toF4TrGXRBmJxuf4#db;=k(1@#|c__?yNDO!sEP8dtcEY0&3~#+#&mi_~wC`t9QE z5NC%tTVzSM$TDt`W!xgmxLYdsNac2^*(3D@=AA_sHLWshm(FUsU8dSDQ*D>2nwa7R zk2cNK6AE@Tt(5amPmeu^c}EPK>3aZUg$lRSwwo08}rv)_*F)1aZm&FE}d{z$X0%+tM9^Fn9L0v~YZ ztVYdy;yx|Mvs;$J-v7^SzFS7VTSmTHMvmWiEd01dJL#u$q8(Ma6YJIAlson*aCicULT(**!U5|b=70)idOa2<8bP# z9qNWwbyZB=24|-@yVYJeFDQTOL|ijlpni|)-MYSd8QDa9!mt>ArCJU=q)LFJohyOk zoU4J8oHf9Zvko}T`73a`a|f{4+0?o&-a%asT;MzgT;fy!mpg9*BhJUbmCiBXDklM> zTJ1Cju5mJfYn{`9w>Uk3>z)3Xjf%q;}IP(Z_l6e9cGS2{~nccwY zrUF=O{t3L;ybfGo-Ucp|ewLW`5id6%0VC#9;7W5CxXOG5Ty4Gut}#CW*BX_L?Pa{c z^(F}zHL1W&rXg^%X#(70S^&42OyG9Y7WkNH58Poo0%N8t5a&+d3nmY^$D9M)YX$@N znGwLZ%^2W*GXWSkQ-GCb8t{+_1CJWJ2OcxaaRePV_Bj0kh^-*_v!L?W8pmVz1dqq= zt6q<-X()a`oOYfP^w1uDeboV|RTod@=~(9;r>$1Go@S?O)k~Z_PYd|{JwEJp1EimE z($6&MXSu|yBwm9)v3}4)qT1lGd+A+LzeQ^97iXI|yT#cnQ|*_j4#`x|C#1y3t;{Tp_QWW3kuHaf#PXyHciIBh#*zX*bKX+hy9A z*Y2PDq=&fla9Da!KHFzQ!FGb(e767oKHL8!ai)v2K%9ur&T+NR&hZwX9qlHc9qm@1 z9qkUE9qkJ~JKB9dJIA=s9ubFq_K5i2XOBluf;}G7672EVEWsX+Z4>PA*g3%-kHG}H z?M5fqQH2uhNQx8eNR}kn`L0Z`^Iel*=et>Iwo6S+YW7IY+fq|0HAfTd*iIza@gyeN z@ia`d;|V0%@w7{{b>i{cb&}?{V`%2LV`%HQV+i_fKSTVs zpJ@_bEb(%`?Q@mi_PN$?`;7W+pIiL4&&T|>&)w4JUg>kc^m$17Jm$B{rIPG&r6k$q zYMf-3D=Wz^*V##Sxq2qq)^n0wu27O)uHvNmz$HmbfGd+$0M{g44!kAlD&VH1 z)xfPu*8_JX*)!VQhFj%vDO z7f3cD*;~ZfB+gcGc8jxDoc-b)6GzpteWuj0eP-3Mb2(d_p5lxaCnQd>I7{l-`L3*E z=ewqkU6%EA?6PdGW0z%n9lI>CI(Aw1)UnI*b{)GcN2Q+=(ob4lJC|m4?R?wTwe#&< z*Y+8#Yx^8h*Y-KCuI;l}Dwjy*N~v5UmFuN)vs7-cYv&uQYv;SCuAT4Ob?tmB>&krV z+I4uMuHCyDrrP-iQtf=(rP}#+OSSXupK9kjBGt}!QmUQr^ihgQB-Qr0I@R`h zORC*xqN#SD*_?V8w#(L3yXQQXYWJL2s@+mAq}~hMoBAN|?bPkScg*wgx_*)g1pxUL$K_Bs3|X^A+` zFHfrjjHJ~Eu1q@>xJv39Hnsa_!PntX}G6 zxq;dzoUXnR&QvFa&rqFu+k7XLC)`5~6Yi%b2oGj{6gY@F+ixB@L@p#p$R*?`c>_5{ z-bs#=50LTY3hCb=2gn)ZAUTg5B1gzka*S+$s%^&`Cm$f=Kgr$skOSlla*&)y4v`DV z5poGRO5Q-;2rgB(7R9J{QOBtdknx3NcO2vZIfEP|=aEC?LUM#$LXMI*kYnVX@&Ul7r+zatV0@IR-9L7xdmq9T&Z> z_W^2!(?*ecu6ID#(N3^{|G zNzNnpBNvj3$Psc0xs)6wZzRXayU20!K{8IBvYre%K+YuhBZtUEKsEf#9`Vs09aw)lt z`6%^9ayk7N^)7M+{W$eOaut2m&>gP>zENE;*--nzvi_+vBtLI*CUrLRLFzooFQ43x zI-mJM@mEbQq93Lop)Qg9^^;4f%b1T+Z;`@wd3GsJ&xawh$3`a$YE$?u)qk2;_E5OtyC-<@1U9cI2n{L0Ct z^vmc+sW(Xe>&Y9b%bAZ+@09#6lXp>9FdwHrAo;{82dS%=$5&Hje{{e%szy@`wI3|o zmpVi8EvIBsXEPt9&XatHDgCJPnGaDHO1|fmBI+>n5$Y1jpF5?Lx{Ub^;*XuOk$yS- zUDOrSaq0u$8&%PigVa^bt5dn0;2YJfDTdk)mhCG3qA8j5v+3uFfBBSt^z-Q#ihs?N zBKl$aCF0*YrIdad{SD&ZHDx3Ha{4jqos!==Wfye?^Kt3}lK;n)gVa^btHxX|@QrHk z6hrL?%l4zrko1Wf=6F;x8AN_p#h2jq>3{#hg zKCiG8Z2K*vzd`(|g&XOY)88rnoWfo7E9l3m4@mx!!h_UR%&TVHufR8|s|pRZA1ucU zb%x~E6=u^9($5orQ(->+5dA{&w-<)#N9dP`|7>9y{SBhuDlDhoDf+X*3hFr6F8=}X zzb&kyukZ_V>pS2Zm1n9SEbCo#>eOuNJkiaj=2M5jcDh3Gv!{mXN9dP`-)(9c{V4qn z;t!o#PCrI}r})#RR?v^rKOp|Xsa5pxQwMjvV65k4ct*gDszH$- zEbCWvc2PEUp6I-yeCiO`_8+E>P?vyjRHKT@=tt>q5PxD(IsF*@3hD!rpH@^wtpfJG zv3s5azERCB@`GhPioYx`1AL>pv?v>F{UEqVJ(!nI9TNRnUYI%}x>esY>Zs_VzU9<0 z(YN%ippJ`vxo;J<%CP zqNklxK^+%;?>SY}{!Dki+2nk3m>dCPeCL!=M@0t)mQ%+>PaRl6T}4(|?tbJ4%W_d? zQwOQ@sYBFZ>Iiiib(FfCx`JFq_P64Ez;^%5rVdi)Q-`R-)Dh}3>L_(Nb&R@#x{B;? z&GkmkCx^*p!|BQST@2xJaFLZZ>sLbm-iC>M*&CTuzRG?Ru}Ej#F1rtJAqZfMtK6&ZZ7h=TnEM z!_;NuDE)Hk77)G_J`>Ns^3HGcRe^Yepc zIjOU$gVg!dVR9L{oE!resrBbpP{&2b&#j{Nw`c$0A{EHbrVfgpm7h-?61^ioOdS!O zG^mU^Dth9ea_X4q`vz4|SCRc^y7S8>2f=o|=2M5L!_;Nua&iT^itIm&{gH#(DTD896HcH$%&*W1|T6M7VQN#UU*$+gI8=g%a6#ekSE{r=y*R^<}bSOgly`d=w%b~sY76U{Di3^)MeD= z93hvH%gGhwDzfV8_Uk8Slk>@8a)ew)E+n7`cKRCs&dEy|_H&d~%o^A(xS(U%-71`g1 z{g8v?d~%2!CP&C+ zCkM#cA#_D9Yqhsa@a8M&NXL9Qa>;S}z1K#q{37(QrIWUIf zAcx2ia+Dk+$H{nHiY#Z893#icp|Ng0LXMJS&@a$qVoIZ#AR z4ossa;)Yhu^sKCkM$Pa^z$_;?@PpAu@hmCeugAcz}+p z$@mhhtI2q{j;qP|VVbMSc<7F+$#?*dtI2p6kE_XeFpsOrcx02S$@tQjt55Q3SK~oG z;>XE&ppWPPIYdAf2TWLgd8OYHoAV4 z9N6UQAUQ;ikfY=nIZnnyp4@SfW8^p)j}nu7gp3D5xtbg$$H;Lq9vbELOAeAlPgO@93+Rx zk(2oyZe5TZBFD**r`$Xqedmsc93#ic>KV?D93+Rxk(2ot=SL2aqp4y1!^*WG%f2RLdK&2T}@UmQIqlW zYIptZbvZ_klkpHZ$p^?ma)=x`nSafGp1glTP&jL1NVs?+9v%n(k%<9e@1&q`!KAqG z?UOd_b3a#(fs53qlXg>^W-QwP7WMko*X5|$$^iUCr8O~a^N8IIYN$+)fa9)LXMHu5l%;rkkyy;$q{nwq<@tCkz-`_6{jOd$T4#Kgqsii>~e^V z$9c-~N60a<`jz!y`~N#Za)=xuN69gAKsnN1h#V!y$pOdBk1%u0CFV}^ck`lo(;P9! zjL%cwbGoOWr^vI_v&Zv>=eVbdx0Sb-_Z;sa?-=hS?}gqu-dnt<`cC)d`1<W>-($kZr?+`r+qK_-t>LsJL3D%S3jY3LidDo5+*0iNVp_nSHg*e#KeY)0~1Fj zPDz}Z_()QAW&X`|Anq%BB`q}`tOaoSgDzoaGAYgDgSz5IG(>J`?zzTOM}pjS&gPPTHom7M#-nPI(6u&i%-4%)W=Rec4|gr zUz3ZQY-{p*lTVwpYI<|i*P8y^v|W0K^yTU6(zm5orZ;OgtXcEs{hBXn{$BICEzW7N zrA3F+CZ2Z1X)m3Y9OxgI9atAwA2=hUe@0P8pyh;?H?-W|^2L^iTc&5O%6vTYt<3RR zWm%iEKFreCt{&Awc~yq;sZ9K=thKVw_DoUj@e`ens;=s!Qt_W?X)0IMQ|IF60)tco zJh8Q*8m>;klUf_8QTVFt1^8O&43(~Cspjfp^fpfg)DrZ#RApgr%2vzO>G*@|3_SU? z9iD939yjY};;A8L;prb|t2b2#Jax1qo;2DC&#vu^XVG?1&72%H!0D={INj6*POiGk z>8>7edZ^c(o+|G2QdLfG^|jMS{on+Zqw`df?yItNKXtn9ue$01YM6dcE!9eWecBb> zmAZJa#haR0TshKWVwU~?u|N-t9r|1g{5a!gVEdL9uWDuSMR82#2E?luT1;$dakSuL zt!(_6;59j05m&T)5_o!+jaO&d9-0R%rnGtv_|L4@fwu~FTd^PUlIaJ4InzG{?wY>y(ORdvdoPwo^aC*(H58U3{`d3eEgt)Ymjc*!idnjLM zamT2p@c-J=#-kS7`hiOUB793&G?ZL%o zn_I_St4n0v&Xc)cGrudQy<&nLN!2_XpBQiB9TI1X|GdOUme}QLCu10pX-5*2vDI5v zJ+GQe;m)__vfMeU7pAH?s@F&KgX50sv_ZDdZ)97q&$WH_m2qBBY}e#)!Ak;m85?yw z7f!y6yuDzFjPqj|XH>@jn8a@XzM%BHXeg#~*TbR~w*O+8%ZJlttzKlY!+9ftLl@Zi z(hQ4F$avg!bwrjrLFTwo;xW=s4_VurmfJr6B3L%Uj`Qc%wg|DHkY&@ZZjmLJdaeDX?V9%M= zz3r8ydpXx;pB`o_pB&~^Uiq8K&wE@C=THxuEf{q(@a$2y1Fx33uM$iTZ-i5`|Jxed zKCf)-_W8hXvg2FZ?0K>V+^x1GU@KRMzf630{~tcl`jZQ6eZK-5*X;Qn*|Kj=u)e$3 z^_4Y$_Rz=Sw3l@EUO9HOKi!J=dIjOF24DYi@feop1O5$b1{`m}ldA z=h?XCNZg|!+dUR$y@>1wBW=xlg0;uf(RGIbdk_PJA z-oo|lwz#mKjrT}gA+cY!xKFnDb>gfRbkEX-gKfQguD-FEjqjGZM+IM=+PFy0_90oHuZ*+K9>JrsCx0P(^0e-D%!S=;_MpUZiR;K2 zAZfhyPp-H0-z@JR&9{%7$$QFpYR+q{Y~_PP>{7&s*q+nFt$)*J&QP2EPO`^kD}OCp z`E}W{du7Yk-0Ny?k)+1ju^9I7XR`!jnW#32-kNi!|(0cY5 zsktWID^asScJ4Jtez}}`FOzfci*nU_ewnTL%Mv@ntCraKO}T=b1i_4Yb}lXCsDD-V z(k@cjde&@Ix_3KAm)bGRn!6OvtGz5vnQ3uLhQ;*oWx$$eo|^k=&9luPt&N&nYK4rU zjVxo9EMt23FTd%(<`x_%)q#q?d4wLbiupiYIUdV&o9lsP1cEhUrfz)Qu7$EIsTgC z>@Pj%3f8>FrH8lurnj0s)I9&xT%z=_ePe0OG1R1($HgwzI49J+TSyQ8@SCY>_E~dzYp#d6 zaz30bShKg9XULjsxaQfi=6TXRbN<}Pp2vRdWcPtS@)to*xuT_qJ-uqLVgKw@I5n?a z>EWiosi`@BcYQvSZuiL@>9+r45`QJ}7c=d7?0Z4?=t~c``b}?r<*L+2u1aI%$bCYb zN5#?N)I2U~9?^{?`}OaR`kMRXADy+*!)O0yB#{n1;H>Cim*T;3d5E`+vvICmD|6&p znJvfl5s6pG`E9P8-|mpB+j_aWJ-Wi4k+!d}(@yJT<3d^Ux6HI#VcksY@0IvviIe5% zOO&H;U(P_xH{N+D@cW!mz)QN02kz}U1=u&|0^m7aW&*Ri%mt3k43Lw^HDo z9Q*CV^)oJfplx2n z9-u}`Kt8Hnc`;)}+P$^mM$T*Tdg zc;+GgOmy%i+a8EVt6qr505!hm(g*QapvG5K@(_;)YJ9fV5Ah_R#ye>SAf61=Duge( zIe2@?K*Up3KH?&v#wR6%ffwQv6h~bI)ObV9aKvGt#%Cx6h-U)v?qqzjg7+~4wVIDn zIBEeC#(QcmLVOKS<6Sjj#Mc2eKDC*N__bpvGrY zw*&u)<#5z1K)jb7%c0d9SON#1T5Ux97M1{S!v$)5esvGxI8dttSOQ0V1k~yvmcYTY zZSO<;F_yr=r(E|V{uE2#s6#-F54pDiKf~BHKCpfS{$ZfThtH29J_6MEVEJ*xM}Zn2 z7C(vjYoJ!&sHYGg18Tfu=^5a+SSCk(2h{3&wF~%zdKS))K&^hlQab7cP^+Ku-%1WX zLasm@a9%>30mPf;otF`30=3F=UP0UnsPP`CSAlJu*MZs28}LsD;z)GfLfj6BBhh&W z@tHu4_dmUdcsNk25zhOF3xFE$g!&NiD4kdbPX<3n90F=p=zM{ADp2G3z+VC{cD@46bH0H;AE?zL=Q!|w=R4qo&JVz? z&QHK?&dY9j1K{hpR)NZ=5sW90OvzJM9sF3)Jd6=PbnE1F_wm4nU9Y1oY}I zK%edkOwzfiNd{__qI&>O)xCg?bsu08od;~L`=O=<5NB*X0GOc%!f6S_xmxD~Tj{}Y zS_83H=%K)DJsi&IK1=MP`z8ZM3z6Q=*AofOm9dLoZ9=K572!9b!tHpX9aH+l-&N3j*>iSmT zmHIZ|Rr+?|Dt!lVwcdc5Yk)XE>y5xQ`Yt%v194{7_W;-GayaXNTHU1Y18&gw1Mk!i z0ypYyzLL9I@L~NZaJzmS_?UhY*~fueJ)xfhKC7PrKBspApVzy9FX?B2 zd-U_bmvsf|{|VIU75x(MUHvlfJ^c!BzkU@M*RP}I08p!s^c%oR{T7^$fm(f{-vJ)d z@4=}8V$av_0}tyD;d}wq>WDr7JgN`E`3k7j*ZO1NG5sl=<3ODEbQSP>{W+W;fLi^i zzW|=lUjl#DUjcv7-yr)d5dS@3jsvy%4vqohNHISEedZ@P2|$gfSpN)6GQYw}2I6=z zj@GKKG1^h7K#iwcdx7;$0-OdwjVE3EfsITuoKt}~vP>OdQu4Tz)0v;y`pZQ%3- z;;1p%z&_>-I6)we8q*%w&zuFPKTxXyc(ajK15GF3xuy&Je4ti?OjqC-lM6i0^Z<@E zy?_%w!4R z%wphLvlPxcAdWI~3Gf!P0?w^K+!vY4fa^^O@OD!Q|8GFt5t%E18_ZR3?gZj^G-bdC z%+0J!ubG*J0kNG@H6ua@N=^hc-ZU$9yQMb zzcSCG@@pWjWq6Yxj!p9t@K^IPPrv^n|MBj(-ermRyg8&_3X3Ojloq9h@;r!1?GAZ;B*J#DE9b)y*$ZqdIND3d+Gr5JgIQ{ z0&x_3>H!CM8o)URh@;qZ3NYVuDx5(;tp@!XHfV?f-UdL9IR=h+75dm!#hJr4ta@;n0P1Q1te z&!fO!J&(gt-p3I;-Y0>^`xG1x5a$8!Gr%PkXGZctBQtubQ5#BF>1>UcK6TRO6 zCwY$p&-Z=@EcE_>`l&!1JKmpw7kGaLUg-T5{zX9CZF(IKu7+L%T;TNr7kU$bOTB&% z?i+!)Z}cVuS9t5dxfH0?W!_X^iMJk{%YisXybXZYdQSmf=RFm;#@htA)|-x+bwFIv zyv>2Pcu#|KD-c&SZw7F^Hxth7K#$r|t*h+UM;8-0JNLXB!ZAq~2WMc5e?jj{tE6^!5Ti=IsM~+?xmg z2_TLaZ$IEu-T`o)2I6?}4g|jF%?G~Z9Sq##9SYp*9S(feTY$>ffY|@NqktcH#{fU{ zjs?cOar3T;Dx#x&v`6 z_{xF3eD}fW4aC*TcRw)C_aL0UKwPbS+kgXn55qYJh@-~$2r%FGD4an+T&;YM1Bd#a zgfk3?tCjC5V1e%$I3t0$TKRSY$M|-^IS+`dmG4>Lc;EAICIE4i`6__t`(A=G8HlTu z?`2@2?-e*xfjHKDuOglX#1ZFv9r1-gT&;X>Af67yHOu!F;u%0(vwZI$E(YR$)%PCa z*+AU2`rb!;F%WmHz7G-41LA1)9YDMQh@;ha5b+`){^Ij}jCctU$FJ{G#LIvy5Hn1E1tF;Y2IraJ5;FHtyfOsQ0uqWQN(FUKMP5}1C z8#LPB)6*w_LG>9hPX&_OsJ`kJU_ZREqK*A2bV?h1dO8)DuO`(=2Trcj9N#z#As(cr zA|9-!As(zQL_9=IM?6H$Ks;0xBOa<|BOazMMm$W-Lp)q9Ks;P6LOen(K|De&LtLPi zBQ8*vA|9zCh)1f+5sy}XK|ETmMm$Dci+Bv)M$sIfwr)Z^R^5$w9NtNh4!jrfc(n!b zc=Z6{32H0i3F;xllhk8~C#fe8pRaZxK3_eJcrxB$kq-O^;wfr3;wkDm#3A(p;*fd~ zaUtGtkq-PP;;Cvc;;HI2#MAK3i*(?-h%Zq45nrG_KzyN!Bfe05g!m#=iTEP*3F7JM z5aQ|TGsIza7;#t~K|BL*%}57+jd-RyhIpp>7ICrq9&xey5%DZ_0`V;M3*y;I)lCQL zy3O&quLtoQLQ+}(h$#6^%2ik4H3^*jSw$TjS(+UO%X4| zdpgpAEf6nK0mO?`OT>#+7UIRKHR2_Bi$^-}bi_+lJH$)XnTVIEvk@;-9T8uGcYLG+ za}Y0A-4HKV-Txon-UdFd>#7&s(#Y0_Ey7;2 z@?PQfLAjJmdA$FBt-a6Q=gini==;4mM`!J|zt>)St+m(QXAj^9%q@T)Ft-B!QTzhP z4*VSe{9|Sa@Q;~8fLF~Cz^mpqz-#z@kRA9t4)}sO2Ka)R1pIdVV#p5sy%X>|%w2%r zVSX6!JI&pI-)ZIm|G3El{&8~(@PlR^@Pp+3G=@J{t5FC;P;rH0Q?^FFyM#HPXT_|ych6Knx6sulji+^f6DwE;GZ&&0{&_9 zLBKz49s~Sd^Yeh;YaR#uKJ%Xezt21Y_-D*V0soBo7~r2ZzYO?i%_jiA-~0;T_nRjH zKVp6z@FV6az&~ex6Y$TOrvd**^V@*`BYp#=8~**@1^lRa4)6!ee*^ph^E}`Wnm+*i zLHt5WH+Xw5O@M#dv;h8Pvk~yeO&j2kn@xZ}VLAbS0>9hR4Zr&pfIn%r1O63r z72sbnU4Z}Cya4!*%^v~&9Da3W2mXEz@aN4J0Ds>6Dd0afe*ySU@jEQt*aP@$z+c3# zv2^1TgZ~5YOXeGZ|J?i?;6KOjvvix6apVHO?rQ2cb(=4n2Ebo7>jD1-eye2%{i(wg@9X}huA#oQ{)+mY_1|0HSO3=f!TQnqnff2DKV836zfymp{y)^e zxBdh5|GEC-^-tCRPW>O$f4=_Z`mfgiUHw17RBujorgo&ROT9UDW9mq1E%ij|>D0@q z?f9j^A8Gi>hQ}M8Zur!?&#n8nb(_|AuRpSW6`PaW8{gD8+W4OuUupbS<5f-fHvLx9 zzcpRmyubN{=GB%@w|uFkapTg)m5uM-_%j=SbK~!Ad|~6CY~0q`)B2XymDUTb?`!>F z>o2x`qV>01f4}v`)|XoUduvPE=C-c3>)Up^FrslJ3rdF zbMwsR-{1WC&AnURxaIhk+qb-L%VS$!-128zzJblsJGZ8{erIdr6;oH-c}4k(`>y!4 zE1tb#-?q1I`|P%twyoQ~ar=qwcWr-a`!n0Wu>Ixjd#-%zmB+8V?WN z?fBOno4bCX>rmHP*CSoO*wwak>(1}n`Si|z+W9*@|D&h%nx1QZ{F>owN3XsA+VS3w z>$YFlbKTbKyRRR%Z@)OTt=za{^~;QR8iRj^Y``Glpjz&jg-hc#h+l#509w8qW;&pHELuZ4!V7MkH&XoPE_39f|(xE7NCTFlU1>`?YX^7lgG_d?S5Lc;e#viCxw z_d=5QVh;C0a`!@F_d-(lLPGaKGWS9v_d*i)LIU?>wNRP2SM=!F#Qh4kx%)a!+`>&33) z_hG;E`?2HrM)T{i3V#DO;Zv{({|oHF--O)xE!cuj!xH?jumgV^R^T(R0iT5h_&c!w zeizo???Ey>2g~nMc>Wt~zu$-D_dM*rPs8f_1K50j2#fCp*n6LW{Q4uvO_#zg5R$Q`ywb@DTT#pH3Zy7j+E2&wh9^r|^r3KL~GPKWyDua~+=D4L8FN@Nx6> zx@XM4tot<9J2zvUbF;Z+{b$WFJoq(j*#0-eZvPYWAl~?;YV#QIAH(w$p6Bqq2;9qf zzK-Wx>%U|+HvX0AY5W>~x9@A_VB_DKlZ|LkW4~Ey{0G!=v#H0S{kEocb=NdanX#sR zb4SysO|I#ty8D}s*8Luy&m#Uyc)o_`ADWKWt#7{BbT;2!_lD*_F-HJT^G)EtgQuzGvt|pP9z1WtbD-sBGt}}W zbFAfS<}N(*EmNk_lCOI=@Q<|IRQKVQb#yp`s4aVyzj&Ff8uHAxY=yNGl*vb&kuIAr+x&_yE?j4 zzt!=E)Jq+2N&OSx8#~{Yn(X`mJa0?=%evvzBc0Ef$1Tc1g7zT(rVfh%50UBL66E54R`;fnUum#^qf{V%+?Zfj3< zZ~Mno|F+@OscqeV^|5WKhOcbvXxOs7qalOm_wjsnJI(`K*`E4-JcD@V@VpPt zFW~vqm9q_hiFfl=?Wt{7ooTr9s(TxrhM(b`SN&4zIpF>;JXi1dT55d9>D1{R&zRzl z_SC!ad<4%Q;aT5>K6Ry2@9FwL!+W}Zq2Z;j?$lTD{C(FuQa5z}QbVTu<0$Wu)Q7tt zN&QOqGv?!MkEEUj{F(0d)ZgPVS3i>aemn>8%;Qm#+Q|hc<0B>ukJjZ`qa+fZ}=O$P0urCeNTJp`|#}VNj2Qv z^N*U|NLxexq^HM|OHK$YCuW3)+g69OD`|x}a&;O3+DLkLT^Eo_!iRT-5{u$5u zYui(s@f^TYy!LqNV|f2A-e1IfeJ|pA|EZzS`>zcpJgW#lj^~qjK8t7Qy7ts@Jon>y z49`<|zUTUO{6=*hv=aWiWh%FrJ(gcQeQS1hwr{t&WoB_C?H%Tqc)aitsFJu(+_0Ud%G-9u#-1lv_%da*T1P!@0`DVj;g6R>Gvf zqn@*(9D#g;Rb7)Q9 z?%5b(Zz8-;!nbB-XNU6Tr9ygTu#hg7_a{;vNQC$9?u!@O*Ox%-mvFM&J!u{4Z=dA534%DU(-cvd{@c7RuPkA*2N^KG#7{;NnwDajwYG+^Gu5j%1wBlev4BbC{%x z83c<}avVWL%+9CF1NllBi3bbCa!!OtA97aGrOL6Ql{i2Q6pEQMp}+xda6XqgGqpTd z&XgcuAPq!#AcDM10i~hr{EY(9gkkOO0vSuT}wixn`-GBKpQo7qYn$QjZLyqC&oc3qfJ(1t=}BkhrNd44Ka0n}eA zrB|kMrx(yR7EIlM_bs>XpPfBdN-qJNS)5Dq(H_woIvKqB*dx6dS*+~cV{R{@Vg)fl z@-i;_kkVK`bIY>IW({O8 zeVhhW%z|oKn|LW*nYUmWGmzA?LFA;04lrfpO1aG0f#p-DawUhTEKKD}P`5T* z$&`IjXB~`eTCno1D@!N7hUNyS)1WqYrUCO#1`)*vKP{0nEq<0xqfibVCMAC6D2*q!*S*KZL<2e#{UiX-Bd$ zHa27vI))XijPyhF#8OTqBfy&C6nM1S@_=SR*b3rEOd%D;)Lut$hV85aD8k&)p>JPp zIuP#~)3=8KXOM7Q5k3Ngu|Q)|Sxtp|-(E>6+QEwZeQxUBxG$Qz0B_;sW~cW9j=CV$ z5ReCejEw@q`7#-Uv_qhjD=!rnp`bKaJawv^6JAE#p&W+`r2wAH6)i;(P=dQUfQai? z$zjDNB85!oUoL-E^}-D<165h5`w-!^_eiM8rskaMU`${h2e&PbeGq0thM3j$PQl8^d`W_Ns3Wq9zup z&b5sU*Y1@rOZG~7TXx7LnlH)6Hv&yQ2^zB>s7ti-0HR_&M_5<}-35qtO&8DT^pcpw zas)UrQAz&&QIF@-mC0gpK?Y?H(2-mTIt{cmDI9d$-!MmfG!f&f+Y2~qDB!q>$H4|t z2U``36n+56XcDo2Q zB0_+pY#E$SFP^qj7E$q8b|Wy=R?mK5BdK)&fm`v|&YXsl1WmL+pw$$&i+_X@^MjaT zb{Xc6nHnA+njM%qbZB^Tc539#VKX*$I2N899y}34kisJdk`#Xj3%PV@M2HTXZp2u{ zH)4*Bj31sI8J`}WJkdXDP{zdg`0(JgM@`KP%pRMZn4TD%7?u2Ja%H(ZJv}N#`;b)O zgRC7@#Svsh4ui`bh9!T9uq7l>TJNZKNt=Xv6d02hj!VnNHO08=^thQ?DOYj}yGAAi zH7ThkHPxg`HEG8BPtJNeOplBWPnmg8uQGu3z~JuYi32UvpP!5Gchx521h5R zhG(OYrK}524j-Qxo|=y0+1+U=7CAXw)2>axI-1WK^uUpD)|{o;H9KpTmdo=)SW(Ox zEWhw~8IR^Uwmj!Rtcw6H&sB;``3zF#&gL_@kt|X#=I>n=NUY*nQz{l07?EE@Ay~t3 znW5oRMZVKZOMIOw6&H@>;Pn7Jx8k5Bi@_ojT^cOpv0`8fwX)Fx$gxaeIh$ial}ZT= zoU0sd6zPSd4@}wV|-`$r?SAmOZ>CUKXY9DAZ`JFu)<*{ z5zSf06`nL+fs6!6FuNpT3+6zeD5y=2f=dv|xy6iI-r7>5XxQKpObSMULh&?2NZz^Z zW(^QQ$gUEiH0XTBeP{m7)i&gu*fjRHI8Em&LS2pi+r!LLqJyAMq!u5Nf_%`{6GvzW3Mk0SP>`3wSY9GfTNy8S z>CI>^y@-|1a(34g7#T+4E@uw!qBze4PCPRUVJObKS;_=TxlD+w!iYvJSD{h$C1Sz} zk}SUFd`TusOrK=5pG{RU!Q@KDg>x+#XQy5g9nQpLTre?{QQ18E0p463yA1 z#K}ZYB4yrJA*~ol;^R^w87o2}iKN1EO(8Q*(^L|kRY>?%LCdQ?0Di4R$)kXBxQlWO z?!wk0_0HV#uEV*-TnUxZr6Yb_OcMC+6~tPK4h$E7q=JE6!t%kU)ODf;Sl38a8jlx4 zL)PLGTojNNMj_k6D4cb97-7u^TdEH+ZpIpsQg{@Q!lRHaJQjxPcI62qITUG=YXCFZ zc4JbkQ>n*-lE=a}QxF=7S+PoxI7;#-lG$=DYQj(j-vQumsLlnZRaqr_!)BqVmtvAz z(wG^=^2LfP>sdqV=^43XBrEI>R;Q9WhG2?`#iMzew-Or#G-g08UmN8@8mCP!J0x4; z`V%2FW#neG<@j){B#(}j<y}UUsCvxw9*G{6FtI~q+E*1Z5X^Pd<#sh2Sd36 z^eLPRQA4C-9?jGv<>B*7SZ!-wnx8hk1*J_EwhanGBV|$GT0<1jRvb$&m!rCEAl5$X zgN?V&A>$hpR4YD4`yIzsxpplrI6Ejx`YSHKGEp^N+eUmup<0=0L~2fzIF?V!vcnax z@-hjkwy3Z>%}pz?CZsC;;Ts5u!H5a2F|?M1#xu@ zHvOwoJ7c#xCNgoWqnr_29TPVOtK+S4RvlsIY>gI1CQfyx(6FhFjWiL@2FO{fT4A)9|X^~qiwUv^!qU@N8JiJW26^Yd;#&P&5SB)No`=%Nj zF?Mwn>0_x_9eD`O#%ipbFsd5=iN#5{3>Rvox5d-9U0v8z{`4ZY$VxS$pp)bvUR6~i zWssz&C$}DB z-KDRpezd3?1=ab6mP@jQP#puon#E=S4pdbY2k{1Hdo@0ClUGMkB3>ri&9ciRv8#;B zq=;tVWzxi~smr8;L&)!qiBUEH+WA*hZTDPJa1+h*GaM`B7ivaCV)77%rg(|0vT;&XC{02+%E>{FQWuC8mEvG2!v$;!E~sqH2HFV8J%o7))bOIbtnW=yjN6TuYB937iPO&gW7-oFT zWR($#W7s~(RPjQ&a)_h778P79M4+_GPFRGiF`I!3=#dy*?fdx*${&+UOMQ5 z5PmL(2}MXc1e3-Pwj=I*jq67gz76)J?kKn-m_sG1!?4geMj9BN%#m_c%DP-qvtP4l z%|Te13db3uWsOX_NI1K4SbG&x*d99DC1Pci;x5cgVHkQmid)Q`bIDlDfF8BcL#sGU zBkNyo8%*+uq`}G%2XgVrN%W-)zXZTskON(2sJM)CU1kyoCvaYcGf~}l<}gn3B1Ca& zF;j5lAnE8JrOkuo4&B@)(g&e%-klvZjO!F&*lNVi|_;%h9Bl29UiAF-&yUN^5h+tu!?_ zKpPfM#pOa0FFmgnVcS$IO7i%kZAyxqR&k95T z=jY%WG()+$WgH_eK}5~qSTog3GLi?UJ+8l8#s+y|WjbF8(G#USjI(rsx-CqMFG!`W zR<`;mJ=$=ng!Jc%B^-)Ow&+M6hXEEn-c?NTbV3ixR!4GYlFk}<^U{S&rUE14gsgQ4 z`a*{Ec!dswM=SNDOz>X%yg+3i?;3`E(Cl)iQXRnp(u*rT!dfeWujJ?Q{FK(m(j>Hd zssUF0+lJ0C4DDhTpZYB4%yemGh#wmQ9A4BnSxUZ}WaQyoMPYnJEN4eF#37N7En?W< zlZY68JQkXag{ESm=~!qc9SgeMvlvoag0)%=ELQ31{23d zr(0s^@cczABHEvdVfE-i93}h3F%))wV`1IqjiInf8w+y>Hii(@7sJ4r77JU)OAIHL zAjMYn1i{ZSD7DFdZlUO8GDXondQcZ>!$}0F6 z&a1r`T69tjBbq0UkrS6O)JXKPL=266p;-73zN3gCKz&TH7|O2p5?CQ*EM33-%p!&y zk}ob|D8JtnL#v@1Lvi;hhM3~l88Hl}Y78NtS7Wa(hO}eJ&qQN*bS)OvB|9`x3@cs5 zWQLHB;U|`2!KrvqHI{zU5l@HDJ7Ng81jPafmcc?iGGf^3DCC33hl{XUaro{dUJE|~ ziD7V>$$kwILvyO~laLrvw+|9XD75gyidY5?OeJ2%G`_NkrBO{1Ls4e-<4jSY`OwD% zW+9YE4FSUoA=>lw!STa770g zUAf@;k%cALnsOZncbEgjjr#;an?(R!bND27v8cJyg$%zp%7tanLg*x zl!1~_fW(0p!AU6s*GXUF?P1hJ3D>aXUDiZq4CmMYzL>+1$k~5>xn-g0;!r+)da+opOxyaq-mrW zACi)M&=%$q3&=04B58?8OesMj$*rKxsR8*i+Z@5hE=VIE*<-O-nU^x;sDzZEP$9Q? z8c~>o#YJ+6k+nTM_GKTEd8lE|3H#akOet@QbN6tk&+v$_5d|g3olx9d0S*_bkvESB zz^R9;g>v9uV8~PgWOOAi@HiJt1>O-9UIrk|J&K!$`gxL7zKMc}F=whUy0c|!d~#yl z+Qn?HAZ>9fU5btZc3}0RN=b(?jABV+)%udlf|AF=b`*k;Hwh$95R`mD*yar|G7=yK zzU*8q;}DB9NR0_8%z{#og>4}=1X&@@$6Z;QnP!J%6+kiyWV0!jpN7H~(?niniUs=0u@H)an70v(T-kvl(#Rwgh!x|wjkJkxhTRz)K}G?_z(f)x z-wcb7Kj$FP7AWR&6sz>bf+ zWsV7yXS_0-IInO*jKsiYDC9AQ~ea1)D$1Bee6`9bbs z5E1uwOwS`I*+T^4N8wuakx_^S-W0qMGMKUxEl^<7O1s0bG(AMv)+bTn$t)=(hN#*B zmmL}!(fDANe|fAQ%#UkAv~iHgQVQSF1Om2df^N%@0D?SisUnpH51+^J1Aa>lnTHb# z&|6m1NeTA6uR~G5CQz(r!hM7-&F~@J2C|()oLt6bPmPBQI{nbyI;5pu=Si0WqX6r2 zr_&@R3eaT>4uAozH)pE5Ru3V>@YT*)oHLK508L_H930Xa8oQcNDzFjpOA+n-svU>I zYur)fbi(06agIip_|3En?kJ;Pq=YZ4GdQfn(E{Vrr&F@QYU6Adw5z?L&Xpfvthrd; zBLXmp5Vx2A9+G#91)=J_qwp(W(Ti*xo$pbAqZS0!)C~|yaH>>h&BQZCOG6!RIX}Z> zI@O{e>wrY{smTzwkFs3yG1({+NC=4~2O5Rx&?XxqpZgGd0~uYGl<9(x;Ks1E8_=c+ zaf74pkxSgrY|!bP%X(~o=`;?tE{YQKSok2PI32A!9T)y-DvzN=!dKxQAyN@s5M2=& zXhF1VK}KR1&Iwg;xmWR2WfvW$(p5-gf@&}cND7Mb2%^HU5IjU!l7}csWAoc+8@h+J z-JUK{@SIsJoRtO=&z{5|6iyw-CyWuC|bpVhG6-!`R$091eC!sZ;QrNErfXeMGq$ z9UQqtB(V=M9r(Z>_LcZJhH2tE{CowN3;0eRBzY`*`y%PrQ?oNo3NzWBzh{TX2QA7TeXqYl~ z6f}(B09bn}MC&-zh`_c=Ik>7T%p*;#kp%*$1~xb^85ZK!G&OR_DyIhCu0v|X_!Ep_ z72)Z`5RdZRp~Mia7G|x|!{dixj_5c?jZBn4HPGCV3yW|Yav`q9eq1s-QVn5*-Hi)T zcHs)!D8zuv$!cPU(0firMMvaz!4r@;7XJ%*l^E91iaHX&45EFlld>CJIrVt9t#g>oU< z@_(`nv^P*e4C6aJY@1#Dyr%q&S8fr(p`U&q55P zT`URJWPc@00<9KD48@|SVxj3+NVZVJvZ5W-5Gfm|A%gp-VVK*eVc3m-h||r}5aaev zL)=sj>$7`#4*m%G2?KfrJ61SD1|QN{d?rvb{rnw-6S$vIzbg{^#i8j7iKBI|%O$$y z*2?Vcoc?kG*3bIoOo{Fk`FIA_daj~3!OOxE7JYg#jq`X&A;v(-6e~Cy8n{3(7`i_Y zZ3JMv?8ljIg&qd2z6}y_K~s(8qOBTBkCUB=i4v-@ETI~kbYdooK``aga zNO|HME;PfENd^v5-W}|u=PHe#qyQ;+pi!u*KT2V2?`&um$(R6FrIf^_Wq+-Lt_%l` z4$`-z?SQi#Zl1~9Y5X7pKt?E^FmyQ&;v~FVOfon*Jr==G#1>|EdD@XkMODbZHRG`l6YY`cQf;K$;<1kMsZPlk z1teb-viV|Rd?qbf_-4GSTWyM6GMAm7!SCE_TIff!03OQ{D2c~`P+7k1#izXtuuSW| zb0OyNsAc`B9*_#hJ7_i~0pKU!88j*0X18;!x> z&6jPW>0(W^4kRwdjwQD49(P`Y(v2s%$wv4rwQSFC<3t6P{s@Y3V7XemY)uW5SuR&# zZAI7c7|brJ z;Ia|dco|ZbPPLgzzED;tJOqhs<~!*h?F^P7uXydQ@C{N$TF6D%0~PTow3wV&{i9)& zXEip#*rMbCqg{UMDe6v$N-r(JK8<#a%0_mxuyV|}tsEtcZq2ZUXjh0QJRDlP7kx6| z&_&tMDVvcZc(m3pDUhLcW?O!;Gb@IZ>sTCyT@Qcf$1v7K>cMpvQXi)aNy#o?>Ft7K z24QE+N{6FWki?0&Od^>X(l&`+5HVHe#rrVq%0{d-IYw1BIezS}gynsOa@BzoqIA|q zgw!sY_6{ zCV|BM0lo>6_C`SkaSByMx$3gz^wt-1*OGMMTZJ+o7zHC8jqKywu=XbDW^3aFNw$7 z<|hU>9i=N2f$n!D{4Y#MGPPHw(H694NS(O1SQaUEbVh4)FgA0=cpg5F{dv@*C%mwP zv8O6+81_>FGnwO^sYuAJd$yDN;!p`03r#Hg>-O-m6(n87DlBKA;kUnHvx2|-C3b*2 z8zBgkj9(By40~`mS8@BYqN%44zMP#N@jOUN#o)u3-^lBT1dk$v`U^L_&rgI3uX>Sc z9il84N~}0W#!GI1k%7?5U?iukj0LHXjIe@|2|q`|A4bIx^6)X)(n32kmEpx=8*)SJP3{sM#E$iWPG~Fvmhn=kWL+UtB$lF zxJXA5hha;6pT82zI;cOb=yXM($)V`o4=-vrVT-Us(tZn%4j#@GkKynV`x)tRAsJ4D zE=dF%APy0w5Pu~=r@ta?`!s+ti0R@8YjvoG^|XaFN_b;QC%S{lvF@5X{thtr6iY}V ze}g5l6hP06G)w>$TSVDr3ATTZ7`>nXm!Xs?3!>i{g?)qW+oilSEhW3&M5F^EcNPiO zn&m-c98?Q4s)#Wim7$X}QjFM)$D6eSuL#@xDVy?_{ z8`Qn#7!FYDjJ1c?u-3=#U~qvz2zD-Cd7hCpfcRqj>FJUt2rz~%VgZEE0$D-}Y}X6? z&{{GJKp`Z+BGDE8Idj&Xm_$cxO5Gurs@!VJY8ktEEa{-xqFBi9vj!JtP8T5*(1CN> zVEdk_WX1t5m2#)@=dr>(#g{#_E(z5?Cly*yI%Q$oEgOQKPp_EiBG(J@tD)v_F?|jw zCWE=*?0ek;)StFUpjADMWE1G<&YC112iACdO@O9%APBm;_|a>C<`O9gx>P&?R0Az% z!V`F$%MCE@q+oz@WxAt+K@?pRx(*`}d@9SIAc4!P%DzT~s-z%-yu;ubl9|7&v;vn?UIr8A&wNLI`8e07zgw70{7FN@T`=lCnPsN!DvJ3^@%eOZ18h6^qQ6Q-#`a+*{l-C0GK73b?@t%+}Td0cU1 z5ldklZ$!xUPd?6Z9n?S|*_{VkXI2zqUd*gmcz9t6rH+(&EF5RSBxE`=reN|WXK-%T zjF_x3&C3R>7gI9krWp(Mm<2;@#q^jt#Pygo!WA=b^W{wjm<%vEl(5T~cKjR-!lzJj z0XWmKfWH-_8N$Q2*>DbVSt-M`vYfm*jq)l;n?>0rNr$f!&@MB4$d=P%#>|YFGSg_m zxS5c*wr3G}3izk(JB55Dl-VQgXV1{4AE;G|=7zVyoJIQV^MYh2xqGNjab>Fp@mO6oyUYi~Cf}Pi zLg__d%?^hlHAq+T94Wkn9!!{XC`CB4eGFLA{JY#rN&QC&xRnhw%|tr`S=5xirzB{9?B z&QbKej4=WIR|ZkqBucx}oCNRQXYMe!qh*{W_o1!Jcpovhp`@%iYz`niXZ9kzg!JbT ze?sC-3?K?L8-Y`%5y03 zB=X*az6_wmp+t#OQu7iB;I(1$c67TcbczLcd!_=(FX#|S7qjFywyOW>KD@W*cHb02y$hkSRU z=3%saMq09fmTGw%y*tsKNzmP_WKi}DTE@2Yqr{{5yAR_!g76J!NmfcO;_qJJgN$$q zIWUj-OLOL=^m&iagw#I)niWvqov3$2YG&KXIT_IYPCzVq9KD$XN9~gq<)apHKHMfX z{`*@rgL284W`(?Y1IC`?HC}W4?h(!y0u^7&c$2g6^PKog&Kd=r2TgT$hO^JCyw>?Q z3NCytHIr{f?D!TikI9XF_%{dYA3`4}4@N*svqD~R<4Y|u0*)>s{ghCh^Y;vRHxHU{ zUf+XpA4WMG6^{EnMraTEG=+KBk9@-jYYlgx3^%_=5HpB0N0F9utw>q6azd!Rf*iM_ zO=pA?PJk2GMwU1TxQKG^KrVdT2Q245sY&gw^K>7|96(Dsi*$aoMU(@B=t(~wCt2|0 zslblQICFfD3n#%=w7h)=H4aPLZnLt?@$hb>B=yco3%sNllGdD)792*cD`@#1(Dn|L z=;sW}b+q9)htxSNZKU)Y6z;!W+Q`}EW!fRckoQ#{Q_3DfA2QO%BT@c-k?Z(jSM(8| zv7mt-`sXEzor2hjD1`<0y}O6plB`Gb=;r zQxX01JUJ}$j?}p$q7FG|9${)zd_M=6G#N+E6L{-5aunhmm`UV!^PD|3D;y8ym^~Q9 z0rcsx@Kg1;b9Rj)o}A_MH|Ki+xo9aI!C2h^ZXquZp^g2RgW;@HesSY%R+K|VUK5AV zQq%N@z{B@|Lr8-&=qp=5jv5yp?!#PH*%<0Be2*>d*()t2Z*#_bTS8~kn9PPrJ1?m< z+15~7lJiu8XkYHc9JmRbspWY~f;6}d<3|oYA8|0ONKo6gnVd!rTL4E)q4ngHqar0K ze;u!rvu;3|Ig}G`G3~Z_j0gFk5Bc^WbV}Z|rc~drAbvqOn)=zxU+NO-7S7sBY5Wny zXN1bTQ8#UmJt(z+H#uz??cIaESI{y_W7;yL=Zx*M*RE!T8k~LNEVvCL;Ur5qU#UsR z=j1S^r_Q+prRn&_Y31ZRXX_-&}i`&DrR*ngEvO-PTRb2UTe3jF@<{y#P(KaOqag@l@ zwA-1UHP)v7ZK#R2szX zuwn4Ju0abj5>BU)<0gZe)p|K0HTPi_Y2SB4UO34?X*eS-(RC7A>Zqq$RM%m;uF_Qw zb=Ypul75B5;PiR$4M%6Xs^&hac?t9JQquDIflQ?Nd$)eQscJ%?|8$eB5b7oLSyku`ZspYS>4mHUMP@H-J_c9=)>uP5isKu^r zJ%ZA`jiL6Fw=tacL_Qcm3qo7eTTi#4)fLD-S~jOalVQ+|wBp<$O^49uTGUe8A=D&E z%fYP``h??jrI3&DKB-Rqekb%b{Va3nIjvtEe@c>S8-jAzTc?~=wQSSS=2Y91v+RhB zJ9&e%P5Fegh}M&n+w2ABGpUh99-T$w$U)9gnd7Oab{ai7gPyqZZ|RSqX0I9cfMYnmacQWs%gG=YKNj>MP9s{+v_;gH#5uBvS$GFV)~~O)hS5G# z5727W6!GzL9K{lElJVkf(>3J*&`aeoIn=Fg$f3>-8x~qp7E%uM2kEuXj;FJtbJX4* zPPFk5aup$6=~q!}C@#}f4)`_7Fl2y}w&Vl1Hg)SXdMlDEwE<{D*B4!>jmh|u*OhvH zWpG@0TkS0;+nl}SeFxR~20(4MrZ|-7Ul8+0Ex_ zJ1Ml!yp^Q(nOmith~`4lN^&h;0FB6*70g^+cMV{Mkyd7fHl9iX^{`Nz-2_U7RuE~R zTGZJZyJIVIzk-kV&0AAy+xU6zB?4@!IBK_hghK`}PHGKtZJ1mms6KXn@7JS`DX*P2rtQLY6>UaZwY2Cc0S?2K zET9$hmRHp;%~7bfYP>gsK8B+xf%=Op6SeTU&aS;;qzqGweJ~r4>!N?Rovuay!ZE&f2AySY?>b!cYfMemkC4`?~;6Jr22j22x=l zXd!1IZ4%{awMDqjrN&6E4P4E-zUo6?G@Y&h{QP&k&vg}jhU&5NynhHIsMZqwp7hz# z*1R2*p`XK3Ppul~>!B>8=Tvpipq-bTm0>zknHqw8LHmnqJvSQRdd#e7+r34v^VaFr zWf`A+ksR0gsw+M6DoghE7fW`U!D$dm5YB-a==~GumD5?y4vTAk^)Ar@Ag}j<{#+As z?ZB}NZ41YN>dl}I(>;J0)G`cObA=G6q0J-#z~ZWTI4ac>^!JK&4VL*qBU#T zZJ};cA0Q=R5f+)7cihLIZ;jgXJfs=>;{98cXqraTLTOLfQ%7%TPIaGj+4k)h{}dmJ3!d2o`B!a3nEdSbG| z`*T6dXji-Sc6EC4Hm#f)q@nD}L^*Zsf9agm1YZB*hv-2uFYjGGT7={muA?~@&Y&i0 zo-?AW=-bI9a_*JBEur6TCB{BZqKBluv-s5NrNyV(b4={)*S4CamW=NUkD@)g>q{$U z#ZoirO?2{^t6a`1dbKzXj^`=s?m9Wfr|r++&}|jPi2)_4!FJ zFKr?j@8^o=sg=g}69BR%p=cN0dM97*3GIh5jb9!~XvoUme{%W>pUJkQN)I zo?9!b?U`JasNX{^clrSQnv!;gUsIkIp6(`FnucG#vTRYNLP11&zK5Z*UO|E-MeZIM;LtB%pTW{TJdS_Rw z{Y5G3W{vLAspO&MKZUZ3=mYKaf=#FU7@Tj^a-^>J-AsTl?*X-6zdzHjpU#Mmx>I`K zS8~dc)K&C%9zx%kgZs<6i==&E+g!^g(DQLvP19%(cha17n+2r%)3gLx4r!)*;@6^T z+v@%X_d$1~X4U-ky;HlaHhZ&dErn}kXALdE`H7pA+GTBj0Sm|BTtz`U(ON9;i-BY z?IZ^}`~*Tg6GnU>U} zIBzm#l5$=slg@zR(?ZQL(TcBTZ#$n7{pZdrMXByqY8=PpR>NC|ZpPiE0tI}K^Ro)*BJP#qPXSTrbcc=BdZ| z<~%X4b-yC??Se2Cb%7KE`s;iBEL)IXN9w;ykDI9*`FJ8z95|ox}&O|AYCO>SMglI>p!;}Z&7%9 zk2~|~rQ!-ty^!G?(G!fSF?44-FSAMaHTa#taZrpUa81z%s_?uo-?csEuVt1w`^@d# zs8>q0T)5AyK3+=0n=oeNKwY6FJ**s+5$PK}s>$@BO`^I=XQNsMu4JC~p=8lrA}1}q zO`(0J6r?ny{dN!D)BwqK*bO2*vtrqEG`V8nx?0Q6AcwQV)VFgQJpOu5Duk9jPe!Qx zKZa4^mkMr=onB0~z<+^2UB#6Jcjf6f9Yjv@GNq;ZaFs)9@w7XQ$MNTCmTN_~eoERn zZZ*Vp7`@h^_py4MophvEi6`GlU0pkba-NdKoharg&{knO9R*z}dP~FaO1P7z)J5?% zWBmM2==TcGfzn!@2j_9^$&+W4Vbq=_(YA5V9aq#`izxr-7Xp{g$uFe5p4OcZ&v`DN zN=?pzy)|ppm7>c>t~@Gon`hqid=PiYxMLQc>QJc|%AoJg8|_ZQP?B&QYjcp>DWL=k zr7PvKTl?$TD8B;}UyJB03U^?5f|;~ZU3CNI8rP6K=f@Qn=V@)LR&CL7#8X$XMWKzN zUsJrc6(ViV_&jr8`c&6UdF%Gvr_gH3IL^Yos6Fm|VhfIdE|*)Q(gI`~sW)r4U|QCQ z{scH@k^6qe?FPTvYzxoMsJ~4}yzkg)8dKXI)7Zf}>Vjq&fB-{df^$awBny@YJ*4K?St${tEdXT2T* z{ga$|80Gl07?(aBptI_=eD^jAE#PacC3)PJLDXH2R&Lc)-9oN04hKA_ZLIZe5c~Gp zT1cBYS#xzusWEhqWe6<@_iSqU?yGkX?s?toX5GW3)vK$|Lo!=(WnX=gkaHn^>e7Ed=T0uwnj@4X zeqE)rblDNu`bmzYD?~KEr4P?d0Kt$ ze;%?i&T;e^yk2jTn-$KNbZJkkmwC?HJRXdu`boG4&GGbp>Pt(#*Dg_B&8JUELR*mX z*q_d-mUe8Jx2L}QmXX>{a!~J9OF7>%T8i|8bN<$DneK#BufKZBRAXH33u*3i_!?`s zjF!WYSWT2|oR#$Llj91P;J9<(usF{xR7ttlC*zLW*~hPGsBL+wtM>OfX2r>4ov-{t zlT_V(iMH|!^UKTQ*V!}ZS>Y8WR2QXIjdT>{P-}uLO2YHHpP*PBS^Se5=V$K8B zy*I_Hzl7h-kQaT4)n8oq+f@<2k{SU2I9)Y{G2@Kn`c3<+UvlYQ9Z#tAW6rWZ?o{ZqE(yz=}A}%&XFP%@X zdXHuXB@Cg}?mIbt+Z{@v;}Xx+lBI?i{>*~hpy!i^&}2-p1d#5i8{oX92)Dg!m40zN&AQ<2i^tZog?>d_vq&b6@oEW(D?HdD``f z`_$xl*P^1dh^wO`R)6#K4*SNNGL&kgGEUrQ8W25Ayi$*SJB^koZ>#^(t*;!9b8moi z#q+rOUHo3Jp3?5esO#4+t|qs0Nz1^Ma73u&c>G@BVf}hZYZwul=qRa=DSjsQBwEbd zV$>txdPsYlJnLnR_K|JAEjBK?+Y_F$Wr^yoHONtMQr6jH-lNX19+m3K2fF|4 zPlU6Ca304?U=5>EgQJ0-o^`$iN*aD4?OPC!*Kr>diNaZ>lAiY%@Km(U0?HgG=~XVr zwa@(8k9$qDRgyKtOQ_DT zoX5LM^rXZ*?CvC=oI;?bj?!-4GzLr2q<7HVqeiC&up7Pym7Orx*r$_%7SB-2D?{*+9 zcut=wx%Vw&;}5LM6zZ;3Vp4+FO*m)D-w_a+FDnfD&W`@p|@EYxbvKnUZtW>8wMb z7Oh}XeGhcoaqN`3k|+m`U|hL!%cDeE7|I`mu-El;m(JE~EM7U6)IN&3)J9aQQ=;&M zim#Dhk&`Ba=#!SHw?Xj4DCK)nswVfX$VVmHVm(d3-G267?*XIa;5}iST^z>+$ej4j zmzJP3p}yvxy4qQ4Z&h$ZM%ZG~sEl-^p`IJ0Z=H4-XB8pl&{eFigU*XAqQ+EOaAiJ- zmZ;vD|fEKCv~OH8hHm(wv<4 zLnym;KAp$hZ|3Om=8BNFT?=UqX&ap-upIF&t(T+HcRj1@`>eY_q}6^)D}F0TXIr3E)7MoZitTFmX;P$u!5 zE>E7&gTwU~zvQ4#pW{hC_-&|xCmv{PEFjE1JElJ_VeVs5nyNpg-@Fa~%m&`p$SYlxcQc=jd3L8qBt^4b#A#L5<)mlz?+Bt&HXAVe+nd z!zdt9C*&4NLXPq&)TG>EcDQua9Ad82n?_F|Eu}uc#OGbJsH>f`KyM<=qE^!!jb5w9 zSQ=^ zo|0a1WJl401)-h+mgo0CLCj6ga&VT^%G+<5mfvf#<)j8Vf-w1c3V-JkIQBJ(vp2wY zaMWEZg)-gbW7=8dkwMfQyMOr_O3U*i2{~&WcaVR$YCwB;Y6_j>wc@Ge$^YDoBfUAh zxhhf#Xm%uP;7z`qnH&q1Y=okD+`&7_;BwmFVWaB>IvBE*^0 zDCREbJh_n^f|&vt%i1VO*#^k&R`P+)5X5h$Tw_~!^R?A0m>r}WZ`I~1PFk^*JzEWah-uqA|J6P;_{;NR4VcQXqi`=z2u1G);5pRlC1=5 z_jnok4V;BbC>M7)cPNjuuNKqlW6?&;2lBg*2M(<*A+OVnOdpM?jnlA^vLZg)MjMj1 zSW|)qT#&#=>7jcUI6CVl&^Bs1N~EqPT~{# zERpNVVYG&pODUOeN63+hTw7IMB(OU|os@{f>`_ik;I~eqpG(QQw>b_@q~7Kvc@ppD zW&*!cEx|JC<~+(J>)F9pElKYy$v9XXq$e%PM5#MeLUSI^CF8Ck2lD=Uo;9PTQdRCw z?Hk98@}+7VH_+e78ILioGvF)o*lFAx{-g5GH20WWUR@`-)&q&f z(d;ol0{i&^SUUFI{1%64ZgJ2$kxh;K3x3?n{!$9kr@%Y;WiI2scF(2cbwfj=m*vb*SrPo?881GOVNJ)0CKsxj#b6x??JC9dwCas4%EfE{TlK{NLR{9_EF2g z{q6fl5n}C}$HZpMn*mROW2lpt5Tf7bC~Dq~``-KP-@1+xXuAL`ZOqfiZ+5VDZ*$Hf zKC%KgyHp$m9JXz&KqGiD*)p#KKc`Ub2#kKpfH@hsq$$mX>TbGpF4}IF z$@v2;iMF_o-COY615P?6TM+UxwFqaZdE-g6hV*^2j0AZlgd0~dnyi5uiGNKuSKYh7r5rW#8|VBfthaYz)o-q0TBQvw zSK5Dx{MYlhHE8QOO+|T@lt$)y*2NmgO>D8BQEvst$)+C6xmyu7SF&ENrjx178#o`e zMU)|GC$Yb~`dtR~b$Tzj(R00NNSRO7Swq%6hYoWW1gp_%J9@xB^fMqXPa# zo8K5ut#r6V+MV&VJ;J44s+eAtC7km*meu8$Yh0R3)#PZ!Uqaz%_khbd1ImE2(q>C{ zGy1a!f4%9E;lq!<{iB<*Z}^{+rlF^ed11=wPsoVCN6X-{o~ZrgQb5o3?hY z{%c+5>f->`5UIdA3rN%xE=mAK5s;{lxhMe`ML?oH;i3d!6ak5P(nSftC;}4ol#3F8 zQ3NFFX%{5`qXWeN)07emzsFz)o0E{9aQLnft0T@LjHq4&3#;u(<)VFn> zT-R9Fv3A`$*!rt$jl1jW>NZ_%*0m7VfQgio=XDCEySV1e@!c1!5LrnL@EHEeN)`4z#TYZC4+u>)ZsmX+vX!RMdt4)+;2G zLfu_WjqAIb@NZ*B<2sGfzinMz7^k+j`t^`(^=)l!9gQtrwiLv5AxopF?_5i_wKYTX zX^eDtTDm(;c=gxT8~$y9K+Edrsx>0Ifdq4=V&eV5x)o*rP=$s}W{!U%zbXUXr&b4>7 zY^tlj+O&0duDzqF#a6$O)wpD&7L${F2L0~pVkKSMH*I3qK**~x1Pl0^YJsFDceJ%= z{f}U{K-1Mv0Z*p8YrQZ~lMvx9LESCz-2!I?&I&wld2zeo<^{JT@RGpFqZNVA3;w*o z_uG621$V#TRs~)a`0WC}UEl`=eo)|t1%6oI_X@0B{eFSpFZf3VepKMc1b$55#|3^| z;3piPV~%Lwo)G-UY`YZqF~NPp;!^7>>0^>bf?{*m2N0S6@;dUEs_!b=~XQHi6ALRzD3k z#OpJ7>2&(Ea1-0iD8+py!ZDq+=s9W8a{@mv@bdz{po3p8s29MLm^fslwl2==Hnc-R zP4ZXy8SSH(AU+V?~?62|v zwLVS4fRyx#9S&uuR|NMJDe@} z0|k6VB9_Mod)Uxc?r@SABpXgsu) zs;Q0(ZpBDI8fu9xlIf0)O_<4b!Z*>|0Rt97`6k2y%qk)~?vG&Pr zJ>be8>RkIT-9UDC{t&dof5r1_Z9S>FFlbVptAE?Qt{Z<5+d@)7yr_Mz0B8luHKE+K zR{Y;2+6MZD0sv~XvA(GZdJxn9AGuOk2NM7(w?fS{HStdyCamVfUrd+gAbcehV6)Xy zx_)Rz)sL(4fy&YmgX)rn!x|%>XlzV1b*w&CFZF1h^{BrI^}CWj20#)MpyrbmgkU%V zoon3`9C+b>DCVZ7mU=e5MVsEuR<}rzYu#ud)jJZpqMmexKMAqK0#MiWbubf1x$Dtn zv>r-cKo;Io-_#262$BGKjmEPGf*Nt94Y?Ygay2~FY@nZ!vMnOg(=LvHbnRJ(d6q-r zbiOQBq{q)O{(4IT$??3)@q8!7QYyIG!1O|Lu}ncOitu&oToo_43=0!?)z`i>wrs zwvG9UOCtbFd8)Z_9ml!j;@e%Kue(HFmm)}Y>B%=7o`7J!=`aKYBdsGlM$L?(zU>l! zTZ;YWdi1tq^--7eJ1&|4%hII`%F?9_F%3420%*Q2Wf&zZ7$$CF=^nq)Wg#HNZgQAS z8_;#w_#Lb7kI1g;6_&Gw0_EZmO5R^V()v^bDe+J{&m zlXJPybVXwms%F=u4NVX`Kgsx>)MkSQKoX^3&5K#m)D|UMhbh_l00dSW)FAo-m_41B z3aNrR*KWe($6wLi7ndYL)Xv3RD=oY0>$xV}bah=L7<7e;#U8fNhQ4!f^CW2S zF08#eA3ziGTp!9B>0Ls9joR2kyN`)F*4|{Z%}3e7*xfd^QZshnRgLSlN?9pN8eKGY zKG4F-H9+g)T^8PCtJau~wF6j{)L{TXqfiQzUH!?3dN9O|@betpsO)3tQ1UjOT(%{-LU+I_-_EVJr1MNM?43=B{ z2q$_=3uquAPD^mx>PK1~N+4tj)%oy&wr5NF#yCX6a@5oHp zlbNB8wI{k8A%{=KGJ}#Zz3;}q2a?G@hK@5Mrw-HD9&FJbY;i-h#S&&q)Q2q{Yo7=M zPX-M?=o=0ad#Q9VX!yZcOF-tQECrt4B8(PIZL|(@HI^Cz=2>CTy8;G%&gOq!So|)P zwp1--@p@(PddK4R9cwR0gKJICWL+;xi?XlMqAy6j^U>6DRbe)L@d|cno|JBjNYmE& z01P{o*KJ&9tGI4!k7NK+cdWfEBXWP|c^#4SZbZ)85jh_X!ugK1SH7olLsKUbL-+ob zR;7PCbDgVS)e=^}N_7kK_@zeL#d&cn;jdDt%{3cUf2GkhP-C~L@%?4V^;a7Bs}_@j zbor~!)xT+L?}6B)(D^Dt9czCBH4bmv1{%n~=DIs`I=gbV$+@V>IaXrxI)U|7FR;Ff zXtD7BZ+QGzejC-*`Ce*;)m1F)VQ=7nH=S2s&>jNmq}JDM=`Xm_U+|^B(6MHtX|;$1 zTH6vuqu8~tUze!KQqb3fCOi;jSw)H8h(avj8*mItQ(>Cf3WD@Z@l9HQ=uBI{$=|xB zu_@NUs%qnPemhp@x3BlP>0^RmwN6Y4r~r3d)MbaHD;g3=>hH)v|Ks-EbuxFbp43dX zn0h}yRI-0(Cl%r9gPjMlInp`JL0SD`=RV(K*r;$sah2NLy)JC*1=A&seGo=7EM|`7 z>aY2Hv7`+>wiZpwYLGarCYHRZ0jA@@E(*id2SvuAbzeuOOBBBeVhUyemLr`9AxY#- zZi7k?-F$EpZ54D9T|>>0V!W_rv(|xK5^S%;Azvez9!hc($U>KJcy(3DNXO);GhYtzZn_77KOtZc2%-{pz}_ z)x2`{80{=E%&vx9PT7*$LRP%6J2s}fg)#rR-K@iEp>yqDJ1*31LdzhL@V9lF5a1zn z>6J?l^S+%z-iK_LB`Frw+F=TgScM1Hi)GyQCSkpYV7qXQMYBZy(v?+3E3fmrIxgH2 zEAEzPG!S(#7Ip9nVXucS+xVeamLof~D`=H=f(+7|8mlbIfLcL-Ht?%NMwpj^F`LDT-$Wnl=CX>z(Hb}P}sfF)@0Re6$ce$+b3)$ z*4k+1Niow_Q3~QZE0-PiCD%i&cagQi9#(ArcvF>)VJ^i6#v8#9G?g7XO~e?vY_;cA z57V7PjIdT;`%{sH(IGD(hbClSQ_;| zQ*his{hB1$YfycwZ6Jfv`*C^o0Fy^T+ z@N^h>cAFIXhygAjv z<>=aW5|~@9YsZ`5QqIBVJ+9{X#UXgYnF1W-N8#cTi^WD!fF0!q5-_rdbS34-T32NF z()-c}Ef|c~`HqVmdc<5jDV8sigFi3cg}=@XrJaF=$9f=WX!BlJXE(2f8P~SdZ-!$a z!DZY^Lowk*x_Gy(?C#B^)>@a-=sD>FxA)-bj%c0hxR|vWvRf&t*RXfpu|iW*{AJEa zy*U2{s+YB%&K#n!{YS2YeuV|z2Rdp8qzdtp!GUHvFSODP44;}vRGeqfjC?bvY`!sf zAFXw~T6!=looio4d13pOZ2Ok3;N)csI$@H#DoL#r5EnYolvuus4to##O`UvUE8Jq( z+_c4=Zx{L?8u>_di@zVOso%8Obo4Z^uXNINtc_sEkCS&UTzRdf!`h5?dTr+aZSQJh zqr9^7ea+wu#!Sq_Nl6R4PP9?!LTpS3kgQ2fObFfu4E`X_ZnkDT^I}gto_F%j3?JI9 z^7K`T^|3RP6%2a!^Vs8q`j($b{QbI$uU z{v6lyZ#&>K_ug~Qx#ymH?)Q1;B|Wu*MXVi%dVf3V?KPN1=@07?zcS>n;fKOD8{)wp z&9axbCu>hXg^Rtl$ftp*CZ=RRbNZR&>1X22W~Ie%{>9_hzV+DW|M={`9ghFWKil?C zuKY`^IqKmU_Z=L!(cjR2x?`qKBRxOq=~eCdSTsAUiDtVr&PRyS=0?pdIh09Cn~!LA z$x*_XWsHe65a15g#6HI-_8Gzd5IiLKZ-W0Kr~o8JppEdEhZc?c4$MUp;PvT`X2q); zsE6Z|9rP(qGL_DDbSc#bEn0m4em|j!?vecQ{fud(4{px1&}onE_P*PF+<%s^Ssk$H zc3CoUdh+qj(oH82$RK6hH1kOidj9ga6k6y;$%mkPchx5T-WEL%U6ZJGZf=hHk;b4W z6KnZ(WA@k6*)~SLF?2Z-Yb1DtAWi^}Bpl`vtR`qCSVNE?c$A=pU@bwC;4y+$g2xHI zK=4I^HiD-JAijxhB=|DHCW6fb&l145*u**rwh+K6+r+jKz(Li-wh=r}u$^EB!6Aaf z1pNd91cL-a1V;!m1U3PFw#CHoq=t#%=P6C>TLj-G_(Os}BKT8+KO>kX_%Xqs6Z{3i zd4j(rxIpke!Cw>n4Z%f%4+wrj@Kb_I1V1DATY@JDeuZEi!IK2PO7Lq0>j^dx;Bhh& z8z;yT;P)v^>`j6Rf*b)nqfIPN0N-L0D-gUz09RiVgRiTJl?ciNZ9i`?>lgC>jhR+t zqjPJ_pm}0%qb)5fHg(v-GYQ_LkQ`ponB4UUW(fK|Fi|#rIOmDZ`)h(IPMZ=-!(MC%S)EHiAH>*2+F|~Z%YFf zfQ@TbG_Kv;(AdCC+z5c#mKBW~R+7zo1Rqeo&|3=l?pPx>dk83Jct0`UhhS77=6zsJ zGUXG-zDw{f!S@M%K*{8S@+`7c)&$XWL1>z^#7>22=L75ol5Gg07b$lIcfj(^n`WQ? zr66>fyrzTbl^}FgLQmmXOZoFEG%V>_knegBx)FqK2BBLLB9{viA{Py$rjXuS|PSDJ%-EkUT2^$@jRW#}4#)a?dCHwkVLJRrDBfC@ra1a}A?0#pn^ zoS>PY1z_q5L*m%?8!cj&k##2Q?%PDKBWR<>29ad@ol%x*auG}XZV~ns-b&IgE3n>E z$f>@i>?znoN&NTF!+gZJA1F2JS*>n#B=Y;-t|!1uf{?7g7oeE}4$}L8N>=tujQ3^e zWL#n?t^~1nLOxk^NiVDn!@en794HOrwkRly9oH9aodh8DI%E}9QTJy9Cn&*9h1(PP1#A zzDaP4;5GsK!fAGm({~B(5peK0{ea*hz!^h8+0U@2oMFw*u=|}^N5I;iX(RX&!A643 z1X~EU5$q)BBIs^tWDP}O712&b+z6mdxzwjpx!{LUS9+O<8lukF+mJdZq_Dfn5SA~= zU2;pmOD>-|`>7MAhOqyWiBNqcbWY@^Fx=7ON)<{A<4r^}W3qd-pfnsNcSVxBnwi_5 zCD%xPKPK{U(o}gEqO@%yEug_P$_*R7B=WXK-j>Ka8hIy<-8VMj$+lGpBwuF;^hvwn z@isX&_>z(lmR*cH_u?3+Seurq{JHh|tTmo!ZIc@p(SCO_m&~m#U4}%g;N{gT&IFVx5`*>t(~PSY#sMHHawhC=RLA&RcOdn+Pk5PMk^lQ5u}~197!)pos_7iNq{I#Vde5x8eD~)v)M%S<&DLC^yD~QUI zA;CG#dQP%3f?Vf9^t7U<1x<*BER*yLd8fm?=QS^!1R)b6K%WoM7ZiO#(2M|mAw*wP z^hH5m6uX0;AFqFr?_!wmlIFW4`4|EEQi#5+=*xm;1nA2l`ii2j2$~U~uY~BUioPo7 zt1`%nv!Pd;t6@&DPBB$*xE7{gR}R;O10z6R579RieM8WU0DU7w-&FKXK{EpM%@BP{ z(YFMBD-_Su=B+U2ZOsW=L0jAobKVbwo^ZEAqB}|?*WOc%p!7Q-`eQ|ZEIbLZFlQ3J zLauB^kbNAI-Bq%?LdFQtcSH0&Mc)%NBS7B^(f1X7U(k#IeLqA$Q1k;qKM2L}7(EDc zKGd8KB_|>FWlYj9aD5o$tr*E$G0ZCw3_&JD#}pkCG$TOs_(S_(C9deWpfPGQU3Lzd zGalw_)|}0flMyg#4$&=&ZV@yiK(~bGR!Jws=*X=2lE}Ln;TI@cF+6i-Oz!f=T_oW@ zhG(3bs*5&aMzTK2!%@z0T;O1Nvx+0@1|F1hJ{sf*)Xm-q#@<2^LGQ?TJ%YTa;qsA# z)6w-PAHE^{N&xR{ibn;(gHjhJ3^7R-T#_UqsZynP#YU6Bp-^&H zd?To2QKbQ14lop1Ir)fWcT*7TYGyE46KMo1A+T&)34p~9;oAb=L1}R*NR|-H%#{Pb zWw`)!1OA%uw+0;6ZkD{9ND#yPPfqUvVmg=b2eFNq{#jNxL0l3)B&@7o8As+%n&RNC zhXj)Fsbu*yOget5(Zm^<#z?X3y2v>;8lUw1ZpjB zNcg6}TLK>lyep8k#b_?@jz9{Fp-G^aQ>9tLErPwG4b2V(1xYtTIy!S42X#2>Gv*6C zvm0!9;x#u_IOybGIhnQ#rL2=59Cw`)MGN_O@NUd@%RJeB@Rh-VQYxQGxtYyJY`2Jf zyN+*d-vSPa*1c|O(mvt16MM47LN0acAfjds%IUXLxl$Gp(`=bX`t6*ZDk8GlGL2i> zJMrI`Cd;hsY~Rw3liUu=e0jf}%J<})a;DvR|59dTq;u;w zV^H{}Me>7H(N+SS2=B7Y&cz5^J5{oKocwWAGDUSL^>$-ku*|mFsK-;Ke#ePM7SA5~G=RTc&FfVu;=69xmH+RQx%#+sl^O^?%|}R3XrKH8lOK z@;z!a-~yW8o6Xq=>|!xBW^d{`^6t)LJb8r_Mz)ZS zt4RCpN#{7UCbcE?4k)VTihk9}N~hd`(W7Rf!{w}~bO-K+|REtCeaxG0uVlLh4hBYfU6TWaSb)&tvHV3Z!P-Q(GG)skRS z*Fbr+n0B+Hy0%zwj+>KyC|`_nfC0T~nV090drl5L<92$&6GN75tP1RCp;b!65~Kw- zb?wdSO!ZvtlSV-4>H^_8D19O8_ZCAk!S&^H*}Oku1=Ae*-$EnaybM@lXl@?M?ah~L zH=oM2_d76m7t6^0!2=o=S*TUp^|Urm`!C2t%#ifxfBP-->Kv^X&|}suxlS%8a`YY; zfazmt8K#CSTQuQ8%k(afS-8fbD7>soS#l`pZ8y(uQz$o_%?7C&T}LrV~I z4rUkutEWNqh2?YgCpcNrdc9-$TxSjVu*Ou{moRkJN$Bcr5p1eOm8_fVaf7V6YH zX78{%(e-}IGOyP|Cvs?@I`Q{Fo#=dZVn5dosS|y0#4=y6gY-HT&Da5TqA#W_^G3b+ z&)y$(qDwAuVwum_{Y85xRy$*s8LflRT$9ap_NYf-=%=HW`DPu;nQQAN6ApT8{miFo zn<3KmN{Gp4fW-R@|ZI9{18@Orvagln~kb7?X58Ry2;ElIbD-% zg`I!XGQ)LIg*Wa-xWnWJEz?&Q?)&Xyvf9}S`>xZF&czf@b^_M0>m{z9qwR#Sw{64* zF)zn9G-n>k*J(vUbDQK~D17TT0r`q3hCsEqR zfrq9&qMZs}#*5#kK6gy5lUevD?a96q=$^4V~8 zxz92^i!|B-@;E9F*OE1ytb~kUv|eOWmlyUm!1{HfDQeiT&&`j=9{u)PWgOKCFDPqS zyn3AAScX?@y_VTiv%;eF3~nna73agnq~+XrDd;MLikC3mhyHOJm8R z-U6Adi!NvkoDx=~(i0kR(*?zrWyPd4IcKb>UIn)6I<5whn8h2W+j#XMk!(S!U}!;b+moG;@CUM;gqF%qR) zLxCqXnyY}*{_?2i8qJ{wIb5$RYRpNUNS)F`cxvlaG6RXo-<7*ktwx$wp~=i?ds!qI zVU~$b=7QN;%QQ=H1QjahP!uJHK9A+H)FZQ|G8uB9*0qozBFCvJtgC0M%t#vCwNN3_ zQVjYcyeaEHyfDQwiAlZJ9r4qsy&RTWDwU7b6fK+*dX1Lm-M3$Jm7H2A%a&6M)-VJj zW3F8^ds)^o8itsqGB}dGSDFrYAI~%Bu;!5wnUg+mYgUxl~5y zr~GQWK~iY>ekP`9c*HY#TB(;3SUy<=X6G&wQHxI6pMNu5}vJUK-fxi8FG;r{h*VLGL zOEv~FQjEDyxzGy=wwy$UTs#HJHZ96^muEEe(t#@%nwT6*B|a&Nw@BgsANO+;xD{(^ zYwJoCi>O}iRNJv~E|-T(*RH4gJ%6sJ+hm}`1=_BsaR>2q$9x3)d)i-hoUxqUjs;%H z87&{1gS4x|E0t2{=NJF#{M=Xv4$%XRa@{x^GdF%G=3()e2SShGkIxDB|0rhqe>cQ2 zQwu@l(?76hVDg{-^RK46C-?pFFaF_s55L&?5qWfsJCk;YTgKYQ?Vtx+N4hwkatqHE zGgU#q;vIgVeRtnrhco&n640%Sc1PYWVbl=^Ik?4z`3f1l8D`(^t9lbz4d2Bq-L@xnfd+>(?Upy}Ff{#AG zAG}csxGxD+_*PN>IetFiub=a=ry(n@Y4E^3-;Trw|7Uah45GlnAo#ZpkN-mlcsmk) zmRa8O#CLA--Cw6rBfd)$13o@{_YmLS=D(kdX)g+mUk2aiTEs6GuaAG{#Jo8ZOHesVHteS8q=vkmf_3Dm}+C8vQ&?JKNa7yS(aaN2&J4`k6R2J*zq37 zD9ucbbmCo5)Ct>4^}ZY0=6jF$F1eh%#cC!^REJ6l;$Mc(4`QYn^}LQH`Tu`@`84pq D<6oLA literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.dll.meta b/Plugins/Realtime.dll.meta new file mode 100644 index 0000000..3e7da81 --- /dev/null +++ b/Plugins/Realtime.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: ba1e8906a689a4f1080436268f241663 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.pdb b/Plugins/Realtime.pdb new file mode 100644 index 0000000000000000000000000000000000000000..17d0c8100257c1b509efba4516a4074d82b44531 GIT binary patch literal 105380 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 tIa|=ta_XoRTiwAOH53Hys1F^u6aNPs + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..0a98ec2 --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a20462e482600414ab218dd57a819428 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..156d22c --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "0.10.1", + "displayName": "LeanCloud Realtime", + "description": "This is leancloud realtime package", + "unity": "2019.1", + "dependencies": { + "com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-0.10.1" + }, + "keywords": ["LeanCloud", "Storage"], + "author": { + "name": "LeanCloud", + "email": "support@leancloud.rocks", + "url": "https://leancloud.cn/" + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..0974ef3 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 17e13dd8e66084de6b4e0f8cda818c5e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: