From f55dba9a8602d44d8ac57ee33d0826fec138d93c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Supported texture formats.
formats[TextureFormat::Count]¶formats[TextureFormat::Count]¶
BGFX_CAPS_FORMAT_TEXTURE_NONE - not supportedBGFX_CAPS_FORMAT_TEXTURE_COLOR - supportedBGFX_CAPS_FORMAT_TEXTURE_EMULATED - emulatedBGFX_CAPS_FORMAT_TEXTURE_2D - supportedBGFX_CAPS_FORMAT_TEXTURE_2D_EMULATED - emulatedBGFX_CAPS_FORMAT_TEXTURE_VERTEX - supported vertex texture
bgfx::setViewRect(uint8_t _id, uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height)¶Set view rectangle. Draw primitive outside view will be clipped.
-bgfx_set_view_rect. _id - View id.
-_x - Position x from the left corner of the window.
-_y - Position y from the top corner of the window.
-_width - Width of view port region.
-_height - Height of view port region.
-Warning
+doxygenfunction: Unable to resolve multiple matches for function “bgfx::setViewRect” with arguments () in doxygen xml output for project “project0” from directory: ../../.build/docs/xml. +Potential matches:
- - ++- void bgfx::setViewRect(uint8_t, uint16_t, uint16_t, BackbufferRatio::Enum) +- void bgfx::setViewRect(uint8_t, uint16_t, uint16_t, uint16_t, uint16_t) ++
bgfx::setViewScissor(uint8_t _id, uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height)¶_handle - Frame buffer handle.
_attachment - Attachment index.
+_attachment - Frame buffer attachment index.
_flags - Texture sampling mode. Default value UINT32_MAX uses texture sampling settings from the texture.
BGFX_TEXTURE_[U/V/W]_[MIRROR/CLAMP] - Mirror or clamp to edge wrap mode._handle - Frame buffer handle.
_attachment - Attachment index.
+_attachment - Frame buffer attachment index.
_access - Texture access. See Access::Enum.
bgfx::blit(uint8_t _id, TextureHandle _dst, uint16_t _dstX, uint16_t _dstY, TextureHandle _src, uint16_t _srcX, uint16_t _srcY, uint16_t _width, uint16_t _height)¶Blit texture 2D region between two 2D textures.
+Destination texture must be create with BGFX_TEXTURE_BLIT_DST flag.
Availability depends on: BGFX_CAPS_TEXTURE_BLIT.
C99 equivalent is bgfx_blit.
_id - View id.
+_dst - Destination texture handle.
+_dstX - Destination texture X position.
+_dstY - Destination texture Y position.
+_src - Source texture handle.
+_srcX - Source texture X position.
+_srcY - Source texture Y position.
+_width - Width of region.
+_height - Height of region.
+bgfx::blit(uint8_t _id, TextureHandle _dst, uint16_t _dstX, uint16_t _dstY, FrameBufferHandle _src, uint8_t _attachment, uint16_t _srcX, uint16_t _srcY, uint16_t _width, uint16_t _height)¶Blit texture 2D region between 2D frame buffer and 2D texture.
+Destination texture must be create with BGFX_TEXTURE_BLIT_DST flag.
Availability depends on: BGFX_CAPS_TEXTURE_BLIT.
C99 equivalent is bgfx_blit.
_id - View id.
+_dst - Destination texture handle.
+_dstX - Destination texture X position.
+_dstY - Destination texture Y position.
+_src - Source frame buffer handle.
+_attachment - Source frame buffer attachment index.
+_srcX - Source texture X position.
+_srcY - Source texture Y position.
+_width - Width of region.
+_height - Height of region.
+bgfx::blit(uint8_t _id, TextureHandle _dst, uint8_t _dstMip, uint16_t _dstX, uint16_t _dstY, uint16_t _dstZ, TextureHandle _src, uint8_t _srcMip, uint16_t _srcX, uint16_t _srcY, uint16_t _srcZ, uint16_t _width, uint16_t _height, uint16_t _depth)¶Blit texture region between two textures.
+Destination texture must be create with BGFX_TEXTURE_BLIT_DST flag.
Availability depends on: BGFX_CAPS_TEXTURE_BLIT.
C99 equivalent is bgfx_blit.
_id - View id.
+_dst - Destination texture handle.
+_dstMip - Destination texture mip level.
+_dstX - Destination texture X position.
+_dstY - Destination texture Y position.
+_dstZ - If texture is 2D this argument should be 0. If destination texture is cube this argument represent destination texture cube face. For 3D texture this argument represent destination texture Z position.
+_src - Source texture handle.
+_srcMip - Source texture mip level.
+_srcX - Source texture X position.
+_srcY - Source texture Y position.
+_srcZ - If texture is 2D this argument should be 0. If source texture is cube this argument represent source texture cube face. For 3D texture this argument represent source texture Z position.
+_width - Width of region.
+_height - Height of region.
+_depth - If texture is 3D this argument represent depth of region, otherwise is unused.
+bgfx::blit(uint8_t _id, TextureHandle _dst, uint8_t _dstMip, uint16_t _dstX, uint16_t _dstY, uint16_t _dstZ, FrameBufferHandle _src, uint8_t _attachment, uint8_t _srcMip, uint16_t _srcX, uint16_t _srcY, uint16_t _srcZ, uint16_t _width, uint16_t _height, uint16_t _depth)¶Blit texture region between frame buffer and texture.
+Destination texture must be create with BGFX_TEXTURE_BLIT_DST flag.
Availability depends on: BGFX_CAPS_TEXTURE_BLIT.
C99 equivalent is bgfx_blit.
_id - View id.
+_dst - Destination texture handle.
+_dstMip - Destination texture mip level.
+_dstX - Destination texture X position.
+_dstY - Destination texture Y position.
+_dstZ - If texture is 2D this argument should be 0. If destination texture is cube this argument represent destination texture cube face. For 3D texture this argument represent destination texture Z position.
+_src - Source frame buffer handle.
+_attachment - Source frame buffer attachment index.
+_srcMip - Source texture mip level.
+_srcX - Source texture X position.
+_srcY - Source texture Y position.
+_srcZ - If texture is 2D this argument should be 0. If source texture is cube this argument represent source texture cube face. For 3D texture this argument represent source texture Z position.
+_width - Width of region.
+_height - Height of region.
+_depth - If texture is 3D this argument represent depth of region, otherwise is unused.
+RG32F¶
+RGB9E5F¶BGRA8¶bgfx::readTexture(TextureHandle _handle, void *_data)¶Read back texture content.
+Texture must be created with BGFX_TEXTURE_READ_BACK flag.
Availability depends on: BGFX_CAPS_TEXTURE_READ_BACK.
C99 equivalent is bgfx_read_texture.
_handle - Texture handle.
+_data - Destination buffer.
+bgfx::readTexture(FrameBufferHandle _handle, uint8_t _attachment, void *_data)¶Read back texture content.
+Texture must be created with BGFX_TEXTURE_READ_BACK flag.
Availability depends on: BGFX_CAPS_TEXTURE_READ_BACK.
C99 equivalent is bgfx_read_texture.
_handle - Frame buffer handle.
+_attachment - Frame buffer attachment index.
+_data - Destination buffer.
+bgfx::destroyTexture(TextureHandle _handle)¶bgfx_destroy_texture. _handle - Texture handle.
+bgfx::createFrameBuffer(uint8_t _num, TextureHandle *_handles, bool _destroyTextures)¶Create frame buffer.
-bgfx_create_frame_buffer_from_handles. _num - Number of texture attachments.
-_handles - Texture attachments.
-_destroyTextures - If true, textures will be destroyed when frame buffer is destroyed.
-Warning
+doxygenfunction: Unable to resolve multiple matches for function “createFrameBuffer” with arguments (uint8_t, TextureHandle *, bool) in doxygen xml output for project “project0” from directory: ../../.build/docs/xml. +Potential matches:
- - ++- FrameBufferHandle bgfx::createFrameBuffer(void *, uint16_t, uint16_t, TextureFormat::Enum) +- FrameBufferHandle bgfx::createFrameBuffer(uint16_t, uint16_t, TextureFormat::Enum, uint32_t) +- FrameBufferHandle bgfx::createFrameBuffer(uint8_t, const TextureHandle *, bool) +- FrameBufferHandle bgfx::createFrameBuffer(BackbufferRatio::Enum, TextureFormat::Enum, uint32_t) ++
bgfx::createFrameBuffer(void *_nwh, uint16_t _width, uint16_t _height, TextureFormat::Enum _depthFormat)¶?U_a&({~YYM4xb*zz^Q#nr~wg=(*Mvs@ITMn|+51B95$BFh?h5geirlt1kzmGc)M zIH4$r%=ZpgL`rC|3_c?@_~vdLGeU+ZrZ5^ZSn*a%0b$Jh*#mE`-c2fxO+lG^QTc5Z z2o2x7LXe?W@JWiU-4@$7BC*C%$bVY=!iKLGrZ8J9aS`d==iTrLzU?$d(s*jg2MR?a zexYJQ^#~McH$IWzipFFqloTFmJ;^G0+cgr3=i9_~(};%bSrIBAiUreNzL#0UOCwnr z?4~C&|63T;-kRk7uU0CJKQ{68^*b7ltYi$XK!ZwtcNr@FTBMgv8??ypW`E5p8*;qM zfj}ivl7g2@_;hmO=uK)j5i=*7LQx=;HBlyyY3ayWkbfPFbGsomyl@+h^S+`hYL==* z#A|O5J@~qp-6XJ#tY!I>eM6jT4Lrgjk$En}cku2eVj@*2WH6G5SbUV%MrU)Dt_G6$ zc{ik{NFuHAOHl%UUkmZpDiZ$wiVP{#;%;U~@gefJ?de*elW-XqfBb1>OWv2}i{|aa zyV0WHwFCuT6<+~kl8Px6%@;&iU2Ji?c@c+k_Z5myNMkivuMrKbE&I% z!1dvpF{z61B)v0~t&7%WXLgfCF%fDgI+K=31Zf0cXPHyW$RAO<-6Sxm;F$O{fJWMk zhzw+%K_vGmsnw1ae^Wswsw`C_Lh<+TfO|K%M&b+Kgid8Q^sZJLA;Wbsd|OUZ8VyRq zBY}E!(T=hxNe3A&G~c?b4FZJr7CIeyT_sSy-9$|OE;*20Wpr(`?}MuZ`tL$RR|GA0 zqdUlZPf<8&`A8mL63&O0qboc ($9|j6Yr;N{Jnf+r7W`(war+icF+XAqCRTV!2Ecz z7rrVDze{dZmGf;EP2dgImiTl+^syF96ys69sh}OQcHQl=Z4*lHmUBo2yGph3>p}>2 zDNR8j4R#kzKo&K8i<0L#R1*YY4Ng`I@s1L;?w|=xe`v+@vPQmnITv_^ 6OEO#?}1Pv@vBpxD5$ G}4rAS!=p9$!Ze zC#-zY7GGl6wZgqzfr$-DN&&I)jb0AD?D-N 4*N_;C7 z5L75qE$8_#i&Q};uQl)8#{&(%oV%rTQ@$>jf0%zZFZ0XEyueZVLjUpl-P_;K-s~Nn zoW1@qIov-xINYBc;fKlL=`ZEgw^VMfep#%b{3loOX!YjP$D_}ulTl^&kN1A#3J#7Z zZ^og&J>Glw5luNmqfXy%XY%QIe{y_q_->Td`-A wg?j61v zf7{q&9-rgM@!7}EA5ITW-ycu*_9x?7b@JQZ(b=2#dk2T3il0t?KmB|>In(=F6=$c| z!+-ZaeCV?KF!`^~d*e)hogBmZZ142+_~7-~`@IiupEKK^y#D;|?BMPDaRm=Q9ZtrT z#2B8Qj4R3yJg($#m@IJVkI%LNehHIbe-GYF;2$TSK72ks_;fhNXv_n0xw+Sk@X@0; z2WJQSXM4|2l)I7#ho_SdBg>9y?S0W-5B3lCMixH#^!D^O_Pyi1lT$qA|Ct;=XNhi} zoU#|P?~W_{_QS!^+1^`JaMzt<%|4&J@3H&*;ls(B UOCvW$Vf5sL@{@w Aw|O`_EB_Q`a{2w+3}v>O^9+dL(oZoC zF6()r+wqO@cNR~f4tZhgVvFvX8$1O%y1G4|o?lhYI&5Pr**NbtQkgf60+f>903e zS2uMFUy2Vlo8e>!oZJkjI^fi1INbrKH^Z3@II|hfcEH)qaIOQ+ZHDt5aQ-RWZ*>0U z>lPmD<_3>IZ|<(9I~aix9}2IrfAy-Q@|BJ$)frU#epzNS^?9`TU^xlj&o8IWoK25@ z%zo7BY&uxi$@%}#w)IK9e`Nkx>BgFVyE&h3UyXRQU3jp6KlfzU{4U@%eL26}x<<8V zJ$b0-=?{lepUz)8yqsn5Td|(4fg>?dgDf+sTgs?6 8EWQKQ(B4dlh&G}2I`=u=~!d_Tst z{2oH1{5qJMt7&@B10%7*z0o>A1i{POi>)!GTrgaR`vb1}f2p-wnr;Ov9_?08=TYtb zBmWx#Db=FYTEO4V>-6hrJh@=B0@p6mm)o&Gc2;@?;pPfA8-sHvwPP4p0rNjeviC?E(CA!GDftso;^^KH~&(q5LYyLK=F`m5$dY zpv6zeuQDy8tu8h#WA2~dP?>53g{^_5cr<<%UcCffJqI7RMvo7so3O_%#x0|+tjR3{ zex&KB)wGr2o0)CGJp6vKJ)~i)O^Bba>GIu&tufu)e{L9ca b^MXXsThe&6v`4 z^eC)`5a0H+5@wq*Rgb^JY6!8bl`tE^>=__Cv)hcSd*TtSh7h}+9cCLbC#OAu*s$3U zrs~5~gP40AV>GiHM(uchH#gjjJC5qEd-<>lfAR=D-qEXeW;cx5(XVc9IEZUHTWf|< zds}M;TdO+zRt@&8>g Ubzq z;g<(}m uqJXLf_A2c4(~gQzE+s3(J{ zpF2^9#;Plf*qPlR>Om*!!654APSl|u2tEG)E({@dMbURd^Zs2p>BAiIsPMTDbEr2# zEA~2QnZL6fLbhG3e{ML08z=T{UyIpte+YT6Clb23;WN0ME#4cBhy444Zsdb!kWadi zPo6>k+>Jcw%X?kX(cf7 qaJk5yfECmJ#l!B zJM6 cG=W7T?0Ex%q>mXjeN_FH`<3%V9tI6Tgi5AaWSOaf%7W0oE zhd$@EHRtiWt{3aJGrP&*;4A#ae|jpFt4iBf 1A5l z%Dss9g{BJ|+_plE54I~$wyC1=yZ#re@pqP!ryIpr@zI2y@re(%8#?K0y6xz6SdHnJ z+ds~)w?{W@_Apl-fYZgrRT+n7XJyy)>g@A_%iC$XEX4bx7PhZFi>mYnfAf`d4ZKHv zxyDo8ipimBWM`OVtI1J(_<5*?bGn=!V7mXc)l=Dx0Fxsn)_uOAUmuFjhjOb%xXlP? zg #sXA3<2;h|9_U6j@B>d!lb zT``*+OL_O#gUfa`P;q|De>sEixXM>5f9(B8=NH}6BMe~-&5=jDemB-)7-dZ`SYxog z=W6*3%;Y&YEmzlnk91Qmy8c{IxuG #@2_e|T(k_E%bKh>B!0lA&G+!^ta#KScj ze$&L=K0wOw)bi0sf1ittHGknQd2>N&^b}jPd7wji74ql?zi4ASZOLfB)zO{*^H>wz zPH(RM?#^d+BfvzNrytJ4(}vo6*z9J6iLz@xUEhH1(^`0HIgx(hZ|f`CK6QnsmZ<32 zF73)*a;@=1iRBO0*SK9WGs{*JsqcPT5583b(@RDxiE R(7G;UugPp(Ea(xzAL?Ke}BUES#vipylnmC?AHixv0}CiIG+P|4mEZq%0Dq& znN3G4KKe8}f6kW0?oY)$?*RA37aD(lIeK-0i>_abed;eqj~5^u9jZJ#+A~`lNz<#F zg_l_0(jRn8BeSr-E4`#0<1r!6-_qO5qsONL;i%ii9=Tw$8hDm~myaHf0)9MwxCk_Q zMc2;C4&6HPfO?yL(8-n;W=OMawR8~&D&8gr#)tBce=+81Iz4oIrO@r|%GwQV_bGq> zGSZpvi?0!Y_|?I;^o7PF&5AF?#ie<-;tmgNed#ftS(xHFwx%a$*=ij%8FB_T?py?u zYmMO=GCciwZPg#s%^%yi&Aj}o^BtuNnoenUtJ~N}y<+w-s%xA1 <1Q>2G${$(0bmXYy=ouXnM9mTQ6y^ tDVR+*FuyUAXy6sdQZ2f#ar#A#8))wOR&KM<{lsunOJCfb{~r(}n*;ENx^(~m delta 10609 zcmV-%DUR0URLN72cYj%Po5zynd;bbY%)H)?+84c1A|xTMM6tQp?s;L YwRc2XaG$9)!qs*$-+Durig~ey^|NEDJZIdMdKYw*!YU#XG*30NbR-{X;sY&IP z7Dm?2?z>>KZo-7vN-)kgjgDhLgi(fcXG>!;F?!5>X+aBXbE`VHpuEX8>f8mYLUUR~ zirThXb%at0m9&GF sw<|YqDV^i0zOzDoD-d9 z8Y!ogZShTKleG#l!$G+W<)vt4U-x0{QhzqYj~1HDTFTlA#vuDx;9*3clTJZZS26_; zt#?| I7}BDiAzlDiw!+!KGLUSL!tEpnuPyREPON=9HjUuz%!K6`Ct3L2 i9>bSE6rB2^mC@sx?r2$Hdx&TC>Q_E94TfZ}!RQra9VcTXo7&VRk|V zi dg2k7@cJhs(E-n%zbN_a~>4Jc;vnijqW02gz9Gz611QhSu!)JB7b4By3e9o zO%i#d4W(*?k^l-6m|irHKv#U9?YAaiK**dd=)RC(Rwic^Fw97W+pyWcOyBADIu+ty zb7qcgTnM;71Wp?(NPiVNd$e40b6Xdt;e1(yXyHe^%b=#kl7;W`rMYN3F_G?Ahg7#9 z5qB|WffP6iE2_;&c42}t7k{lxfYBpANjam%m~~jE7tN(E%ou}KwIv@@LNWrDV-WWm z@_!j~tX-JJXk-!KCLEY0Nw`0iH4 wUOk*tt*KJL$Y#(=7XqR|7iI;+ zZ6XnvLrJkZ4fZHN^Q5T8g|6{LYJ;gpl#|?E H1{la7hB z6bMtLR?=V=5-zI?Gr`o8wOLfK=i2bM3SFw;5g1aXx-enz#=t6(;e(SQ8X06JU_iNo zR_D@#35AhVEAran36$S^3pOgCo(`N`b ?Q5roGLh5?o)}yavr?Oa z6$BELBS=*rW+s>*A`#L#=&33QdFVVL{vn&pU6}C6aF$v${^Q~Bz$2?_D!_pZT!VXt zX?0a_^hV~KKt)S{hFa)CDh?{v6+3jmY!F429LR`uyiye5JAbs7NJT^+W>iY+5(@&6 z*2u|KDfn$d-{Grc?7~EEn>Er|ULJA0`bGwNWehUCBKmZx$_(xm9da?)BPp1sO-U0q zl^b=%I8Bynvmyl7LZHxuQoN{x&vj0w_F<-$VgsA=S|JH*!B9=vQAA3v`t;KXlRbQ$ zF1|3KNA4uO(0>Fk1)DNm;|aO|5+9xPm?9_^D7h)YB4Ofyn!9|msR>yOHPa}k=B2NJ zmmU;UKEq3O`6bKlO@efJOpYQ-0Upj9&bzCLxho!7a0DonLa(i5HdA ?kB7%EaUqa*r;|D&XKOQsQVlaykv&%&;G- zo^;85 hAT#<1_m}-K0 z#ZJtugbARr!Yd(^*TTcDiY?@9Uyk6M5HS^S8-Ebw)`|(5JTGB7A7SxbcI4od!9G0i zsTdJ>GeD^56Yp3?LB0#KH7To#$+YN E#r00Fm#Xk3eHfp zynn5W>C$=bB?+Y0MiX)cS1sqY$y=LvfzNA{|1q3aXfb2AJfo%Y@|BrxrtBju4c~ zh<_acmIP`ng>lLfQf-nF@yT_~d$90w1pzK*xV^}nTi~xQLPc9|-(4uhAPGh?*wAxV zI6o|nn15I5vLmpqVx4ZK1z0+GxOdvYNBQhP#VK@QR>U+kQ8`4q;u Hx y4*G+1YlJ}EDQak)q|8CEN0A10J1!dX^mRgNYpt&9rO zMOIn+a>Hm9s2pe^bTaXZLxsHy5fG#tMwa?8W6U8~I1w~9C7~@+FsTvqord!EVSlEk zLA0|`CV?ha5Zub!swwKAY@aSUDGMP?xZIku$X)Rh?8hRFE2S@wi-AoD9>jy(d8Do2 z3W(3GLYa_@bor$u5#MaHNI0#qP|4z~sv;0{l)UZIPb9`@pfGS9NZ7qLQVMWqPuUdV zViyNPLvu4ouAo3oM~|!Iw4C8-HJ2U*3T*A;64mEfwBK2rvdrJi=#=SsHEoFbix_ zfiQs@YCe#~2fa#$4**}RUACD;0V75ROSyo>B2_3t@^Q43@JZiVWkzb0rgmskh3OMv zIN_oLvRcrlF8xGGDO`&(Se@WbGUBJQpbrw3siN$f_Y6H3Hc1H=3|=fSgntHEE!Z ?TU9M8_ fl*;W2p<%qgj+1c|Ilw4XUnD16Af-i_*sx z3&^~3)v1u6_1?na3Fs-Ny+nyv*M$l8ZKTD7TSiM7-cNv!kxH@nzJ0EeT|ne%QABvr z2y2(#`4*9B2c(I8?F5@ewgqRbp{FV$w?RUaI9p(1(xsnOtCD7?#DAzYkP)Sngg*vT z#1FD7hegyVy6L7; k{j3IiHE4c>@-hUp~oj=+pbVEFhTR+ZU@;xs6f>+8F3IY|#SlC>f^V82Nf zlnmg=k-O}@h6+-Q;C~jN=SXKQFI~0hg(_fAeQUq95U=*;lmlXBjS>I$ydsMH8!2~} zy%X ;gTaHtCWV++!RcaF2qvbl?|(TFb6SK 4LlXUjEQLJQ*2;1;IT?kmBD491V~-T%5}A~S#OhyEg&VZ zV6<6g2`i8d1b>3y`@1laV7BBnnr2+%jeR7rq =IkE0Y-@{-nv|<~(-`@@9L1GP;~R z{>Ypw(;{y&=BXiV9d`V;7dr`u0?6fqfQ6D$#VZgV6@PVA+Syl($e_wWx8N=^X?8@g zZz*9em5* %O~k)PIa{Un(Cl=S@y9d~d-{HUGk!pWAa+;AKL#&~IM*iMc2^$7E{t)};7zwH-{1 z;7M}|R#l`R#7CvH%cVx%xA?gVmykj5G2twcpE}tzRjqRdkwXGx#ZRsrX%={bcFyDo zHlCCMBMTLCfgmt!eW1JYtl(roGjb5fel>CzaDM_(B_)ld((0dEIl;^Dbtexu2P%pW zw2~NsT=_Pb|EZPpA?!@HaB3EmQM?CJGII24TY`K4sg+X+7K9{9O}w2zUI;; uMcW()5tt|o>=Si(JiTEm$_o?<&Ued)y zPJiW(v-4L8Pmla&ZHRAAMi*q@J4uBPoWy`o0J`yNd@`!=a!BG;29rW?t{L>2yyNq7 zuf^9G b;K~>J65*Y=u{U~0GZ%ozD(&>H>IBAd;c{rcAZ^b)R+-vcz&6On5 zW@v=LAQeOaKGRr5(9+cOTKvWvO&S3 HN__{6>tA+pO z1h!OBDzbLb<;oZFVXy^U#39S%jdytJz&SUcV{$gVetcl4$lbL^@NJ0s(0b7vHKcOZ zfC+ZtU*C3$O@H`$c71l&4FCqOqPNKT;bbi4xgpRHL1zi9LU_@StYdc0W!n(MM1QK5 zqVgu>EL*|El-7@IIOCN~D%m(?_q9ddKY(@UfL!1e$d<30WcXiR=uxqHjgSL3q sKK2!6cD$bP7L{LAH>pC(w5VDyv)VNA|_Rk%bgJFL}nSJl`JCpe!od6!I&ONy7iu zA|n`w3y4uL1VmqjVJcuj{m3B;FMoMUhB%1{krNlNJJc9kMi2Uti %_guU#jf^#C;hU^h$ zJCMJfeLt(ca?_vaZ+fl#?Cc}_B66jGj!0Vy!L!sVttGFOuKz$4&IPhA1%FLEF}_g- zA+ZQDUZ8>${*fvQw5f5Pk1!GxW _F1R6$ZV8Q~fEF%IbwCi#>LRKO## zm&)~50b`52>5!-?X>64~=m^!-Afh0b@)ZM=QiD@-uvqX~$7k8AbO?@)?^;OI@CxWE zoVGS8Bpq5b1>10lAJ!?D2Y<4k{3_@Os?AGR4n)K^<(0yu`Yg=!oX9Jn`9%fh9s#XH zzK%(4p^zr4I9Uxn0pvS k o?Zw;*Sx|+RLNJAdIsu-E-T%f zwVU*vy2Sx7`TP3S@_ge;S7if*$cKlkuhft^Oz$n4s8g3~*|v%#MM0jM;WA5XR0u>r zK&Yxzk*dmFbTb*~e}Ah@3jt0Os*e^ F4~ZU zk4V~*0Bgp_M)-!xeHFes-oo2S8?w;3A;KXXJJ42)i=1AtE`NMtq}g4xAuF;v^6pnw z4ZjJQpUj9w@)n5eVwT&tfgg`hwRtdGAzd@P5lvB4J|vQ !{uH(fz Yww`5O3CH>v|UOC-m3k?uO1dAg9Tz0hsr+WHXYZ z=u0r6G!Zd#)`0ww6_VU8>PSNKy{DWbR36j|S-x&CB<&()ZDiX`Bls4qtRlE5`6h7G zGC)5f-$~Q0%cMFQVZBIDN D zK`8{kF>6#);HEyPz}L?-`Q11xetp1j 3fxF2K9*^-rkylGNj?!+62I_O zq~fP^oGyY8%!LbbSB*%@TM=~01+_Qpe9pwLdXZI5h21p5Cw>IPRz4w~;3_J#6QL_A zNK)I4pV0i;7@~Jk{PwWm!|#|4aCCk=%y+Gvbu Ej>D%jw>`4NXUWK`Oc`L)y_u5Gn_^6nsTBM9e_p&D@9#FIO-0P8wmdtvPtG z2@ty=W0fj-1Twx$Csf!`BdXUvBq9TEq4;SRjEe!wVVm{U?5Yu-7tU=-$SR$Pu#jj3 z$r4MgWjBgx5U+@DVQH N7DiRk_lO`K?L>iSHaq lIAfxxK@{G-n@M<;}>j-L%}v>SS7L$ZjN8cNCfK)l7R!7Xyg)>ye4#YDFyl0RzD z$6B?CrGQ0P6bUH{v76Z8tcb=sQZ2(-7OQm1H7aDGra51B6UrSwmW>IqjUOgO=6_?6 ziCQ!Xd|wZ|mi+2Qc!#(F^58Xk-mI6(WE3~Z&0P+5H?hM92|vltdbFD2^wn^Lbfl;m z*=XKT0P}nbqe#BVOj%{nE5vgla`vUv7I!lp!DVd?f5n5VFi$7=Dcp$sxJKs&zES-8 zMj*LxGG|PJh*l8svuwqC^6+9c?tf f9;-i)V zi7}sN4}7?KH=#T>h0NTG%DYt{H2nGqAq};HZ&Gxfw%EQAiE|u 0*hC z2=6}chEMQInlX|_uO(k76peU8#f0kNDAI0pB0&|6$x aCRr0ZG1QgFNYVD>G z4bij0RUj!AOnY@xLPJX dn&eZeRw|7@Ht}=oJDQHHWDKq#2bH{c z87lr-q?b(_w8-yf%_6Rs39wNh+pP zG(Qkwb+N_mW+M*s?td#XJ|T_OV7*2(u)2WEqwvF9yHQNu `XqP_`~w zmz~*76onzwP;@3OlL*oXe$p|gmJvUqbh`;)$bw_yGy580Gr}{Fbq1c?qoh_lT1*9* zsIpWI55?ab1Mc0R8i^lL6FQaM(7Re~L>jJ(;n#AK(r8c;9)AJUV~BPXMfq#Tz%!N6 zwN1Y|tP+^F3k|IZTJDDOlSc*~g_D+V!|{94d~Z0q!b2l=w4zIi_}#dyv}nP4zNIDY z^iA)eT}iuf+tYij-a4 Ptx%%!dI|hjNSSYFiCA|N zI|v$pk*I?2kAL!WIyOcHi{;H?YCAg40{) 7fs-^&6fCLK!5bH78r{0sNYmXd|A7mRoS)) zC3xG|WI$|EZM;*5Tv ?q+)go_3iCTBigeJ6NW>+IW z{F@83!tqlK{Jj~`bRGWsK{s$6XO+su>!hb&T;!!hpozvJS8<^#k$BhACkm?XzTsj8 zT6%tXD}RW}->=56VM7Tkzj4Ly2X-wkFIHe;LlUEa*!VFmhf((YR;HHxV!w8;uK?+* za0)KBK!v 82);T*CAFOQkOF48s2PtQw!DCE@@M7Ta=T-rOU zY*5qX5<=imq4FzP_SF@XNIpyD`PE|(1pZbW8-Mt {w1;f(c9Ax zXXE!DhZQ{daxfZJ5_5QRJgg{pcv#8bU@TDS&o8zCdI^zV$L~hakK-?&PEW>P4u%K~ z=^&SzY25%FJ$yGl8}Fa(y=*A=CC3LRqfZ0N4r%Q}(O<{= `Hgk&Xn*hc z1l{~UqobE3G0dYA) Eyw|npY{r2?z`=P`5>+yddynlPCDElq;)rTMV&VD-@zZ}eG0{f%)dx$?n3nPAS zgU-DjSbT)Y`3Wxd_ymFDc#{X_zrT62H+!M9TwlK_7wPtPq2SrO!^0oy!0;z-R&ul? z`R2{r^GUk=N|%%2An{S=Io!Lei>n(k9LvoF)&R+Ef#fQnyKOpWr{$l+jDIfgzE4r6 zt2r-#7%u%BV|-c93*8QHjK7z74t2l_TNhgl&rIMs(BakX`Q-fSayV3Y5P1%EvaKrl zlXZ%8LVvxxy1J=b=u&)?Sq~>W;N*HZ)d8p0!|4t DropyE&h1UyXQ@o$J`YU+UR4?*+W2 zujiLr*Qn;DN00S9|KULDli8-j`{|y;ECl2Y4H{k6o&k7}9sSsV{eOP?R7-DXr_!UB z# 1o(>h&D7!3P=?6H*c&3cs z>3gP|%^=}HVi{?++kbXD7|7oXEaQB=z8j38QFvMYd-`ktCjH4XF}yKS&5NyoeE$|6 zAO7b%_{tWrZdr5%^u6bJbiIRs&7$B6*k8}-&*3c%4-(5ruu-VZ7Snn!u#EHYh{_2w z=;6~cFSZPMdv|?(bu*#i${Qa=ma%@Io~xT}?BGG-32D0O@PDEyY7|?LL3;5w4HVQU z`dpZe@5hjqKR{@dUj=h>HA#>8z(B0 b{(!1}Y3-IKTfvGa zxh2$@SNr(H{{}!xH7~Ui@VE0i`8F6&&Iv8SwTtxib|{dYmR>^mwpHKUw^g0`bDQqi zKNtJ)dG=u80Dp2lEBPdOc>l`XK0jFavb VN7GR7L~dVD0y$TH8DuUD zy`)M {P1aOOgEF;j5<2r8aF&hu0#Iy z?&6PhxqW+Qa!;tolZUKgGmM=UT#|!}yuLd*|2~Lv&Jg^)#5yE+6#9R|;gDC)$vp%8 zx^?ruu77FX*UsjBUD>>a<%}VdxVQka2I$S3y|6u)+6!y(-oBID18PWZKvZ3bY6GI~ zLev`&O&6lsfM~lA?FK~maeGL^VjD1hS1bK`#1BV3Dru*3Yf%Rif+f@?MzDmsFOEB! zYFKPNrgR-63aL$q?|WJavGtg$N8cf}39+k{5P#c**)u_QDz_e0_xK}7Z9?qoJH*yv zj!t?Uv0<@In5qv`ZN%K`n4_uOX4H=UyP4p6++kFA)#k%G$U}^H$Eez=+-B5{adk7n zjku<>wPrJFZ)?rQ)~e32RU5}vb&kOX2YA$>uIfl`z>^=Od@DtVYmwqfdP4<0k?Lqe zq<=c9e-~`J?%u@Gy ?1 za)!HEhkHEc40rvUonHQNdG+UIhc?_xzJ$C_*Y^hrwo4S%y!=xor?boBLpOEhT=|tC zTdd&DV=b@WE+9Uf_}l_d^GVNjXoFUU=Fyhcg%;q(mlL^d>kJF6!TStCvNawHt;aJx zcxDaWuT-|jW1%O!U#It+_xZ7a0e?W^srV|0H*ZoMcp!KlN<(UNuyF6h^Fh l4UvH0YSnSbO9)Z)v#Z?)GW~XIWjOz6B@#XC#T^8a~Omm0KUPM)Tjrh{-13pQ< zSmOyFm}FNqa4^iG)aWoi{=BJ%bGn?2VeWrz)hoLeV05U&s?XPq>toT`RBqJ>w;lnl zkSl-j*o>opTX4qe{9c%YWy$UmknABsMyd^8T;m%XalR{?C8NPwsu=rce1s<&V7| z>HMNw6T>EqP3rh0*RL^JY(`mOcPj+8R}w8>fEm505m(oL539>?(bX4i$_=Fn?f-q5 zzMq%v&CRTn-#BgaG9Bh+*8;2?vvqBl9@*TcZt0&1j-K1jYLi(v_ fYoZG+e z&oZy;Dqr#C N?f_U}wH4wnFnZJMFpaXd6dC_q9l`YSBO3 zw0C!zwzHBs!O=g}n1B0RZ98qb7vej52P@L$b%wjWgOuU9 af0&+J-&kuuLeoVlkpwf7Lm^#~(n zSA4p<0o#YQ@LX~v{oLPHSG0ZT3eP1`(ThXc6}{w2;gJ%HAAhW_al2q<7Ntf~-~Y54 ze5(Ma7lf7q YVhsco>`Ov`2A0-!8`n1Tp>D=VUvNJ- {ed3Z{3<#HxRkz`H?d`PeT(iH@ &y(s^1<@7~y zH!Hj-{p>Q-0Do?=B(?}Rvw?es8oKD?p9wBm)8UeiK97#m6{v@6A}=ezL-D!BpI@F2 zT*EV5boH|5bA35{dJ*98K;`LOm+3M@nq1w??H7Gdf6x&PjKcoD^g`|!j|g%8mfl|; zKK1Hm>B`*8lOg9sM)N>}*EsF8?55W;9#L=84?5oRp??Qy7Nr&*kU+)TxT^SA{>c?Q zk9r4guN1nyU0Py+>^|kYuLE`Nq4 m&ES+}04?vfSLX|G+;h$L!nP zq&^(D8Q>4^i_a0X+q?XID1&vg!t2r>zwC`BS9e2mD?2Uwd}H Dispatch