From 85fc25da629b8b1040e66c0b0fc8a9b3c197c9fc Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Sun, 18 Jan 2026 13:54:56 -0800 Subject: [PATCH 1/2] [WARP] Improve type conversion - Add structure tail padding - Handle unions when converting from Binary Ninja, converting to was already handled - Handle bitfields - Handle anonymous private fields as padding --- plugins/warp/src/convert/types.rs | 202 +++++++++++++++++++++--------- 1 file changed, 146 insertions(+), 56 deletions(-) diff --git a/plugins/warp/src/convert/types.rs b/plugins/warp/src/convert/types.rs index 8421eb5ef..21a86fb30 100644 --- a/plugins/warp/src/convert/types.rs +++ b/plugins/warp/src/convert/types.rs @@ -6,7 +6,6 @@ use binaryninja::calling_convention::CoreCallingConvention as BNCallingConventio use binaryninja::confidence::Conf as BNConf; use binaryninja::confidence::MAX_CONFIDENCE; use binaryninja::rc::Ref as BNRef; -use binaryninja::types::BaseStructure as BNBaseStructure; use binaryninja::types::EnumerationBuilder as BNEnumerationBuilder; use binaryninja::types::FunctionParameter as BNFunctionParameter; use binaryninja::types::MemberAccess as BNMemberAccess; @@ -17,6 +16,7 @@ use binaryninja::types::StructureMember as BNStructureMember; use binaryninja::types::StructureType as BNStructureType; use binaryninja::types::Type as BNType; use binaryninja::types::TypeClass as BNTypeClass; +use binaryninja::types::{BaseStructure as BNBaseStructure, StructureType}; use binaryninja::types::{NamedTypeReference, NamedTypeReferenceClass}; use std::collections::HashSet; use warp::r#type::class::array::ArrayModifiers; @@ -25,7 +25,7 @@ use warp::r#type::class::structure::StructureMemberModifiers; use warp::r#type::class::{ ArrayClass, BooleanClass, CallingConvention, CharacterClass, EnumerationClass, EnumerationMember, FloatClass, FunctionClass, FunctionMember, IntegerClass, PointerClass, - ReferrerClass, StructureClass, StructureMember, TypeClass, + ReferrerClass, StructureClass, StructureMember, TypeClass, UnionClass, UnionMember, }; use warp::r#type::{Type, TypeModifiers}; @@ -65,58 +65,117 @@ pub fn from_bn_type_internal( }; TypeClass::Float(float_class) } - // TODO: Union????? BNTypeClass::StructureTypeClass => { let raw_struct = raw_ty.get_structure().unwrap(); + match raw_struct.structure_type() { + StructureType::ClassStructureType | StructureType::StructStructureType => { + let mut members = raw_struct + .members() + .into_iter() + .map(|raw_member| { + let bit_offset = bytes_to_bits(raw_member.offset) + + raw_member.bit_position.unwrap_or(0) as u64; + let mut modifiers = StructureMemberModifiers::empty(); + // If this member is not public, mark it as internal. + modifiers.set( + StructureMemberModifiers::Internal, + !matches!(raw_member.access, BNMemberAccess::PublicAccess), + ); + let mut member_ty = from_bn_type_internal( + view, + visited_refs, + &raw_member.ty.contents, + raw_member.ty.confidence, + ); - let mut members = raw_struct - .members() - .into_iter() - .map(|raw_member| { - let bit_offset = bytes_to_bits(raw_member.offset); - let mut modifiers = StructureMemberModifiers::empty(); - // If this member is not public mark it as internal. - modifiers.set( - StructureMemberModifiers::Internal, - !matches!(raw_member.access, BNMemberAccess::PublicAccess), - ); - StructureMember { - name: Some(raw_member.name), - offset: bit_offset, - ty: Box::new(from_bn_type_internal( - view, - visited_refs, - &raw_member.ty.contents, - raw_member.ty.confidence, - )), - modifiers, + // TODO: Handle this directly in from_bn_type_internal? bit_width: Option param + // Adjust type class widths when dealing with bitfields. + if let Some(member_bit_width) = raw_member.bit_width { + match &mut member_ty.class { + TypeClass::Boolean(c) => { + c.width = Some(member_bit_width as u16); + } + TypeClass::Integer(c) => { + c.width = Some(member_bit_width as u16); + } + TypeClass::Character(c) => { + c.width = Some(member_bit_width as u16); + } + TypeClass::Float(c) => { + c.width = Some(member_bit_width as u16); + } + TypeClass::Pointer(c) => { + c.width = Some(member_bit_width as u16); + } + _ => {} + } + } + + StructureMember { + name: Some(raw_member.name), + offset: bit_offset, + ty: Box::new(member_ty), + modifiers, + } + }) + .collect::>(); + + // Add base structures as flattened members + let base_to_member_iter = + raw_struct.base_structures().into_iter().map(|base_struct| { + let bit_offset = bytes_to_bits(base_struct.offset); + let mut modifiers = StructureMemberModifiers::empty(); + modifiers.set(StructureMemberModifiers::Flattened, true); + let base_struct_ty = from_bn_type_internal( + view, + visited_refs, + &BNType::named_type(&base_struct.ty), + MAX_CONFIDENCE, + ); + StructureMember { + name: base_struct_ty.name.to_owned(), + offset: bit_offset, + ty: Box::new(base_struct_ty), + modifiers, + } + }); + members.extend(base_to_member_iter); + + // Add padding to the end of the struct if needed. + let mut struct_class = StructureClass::new(members); + let tail_padding_size = + raw_ty_bit_width.saturating_sub(struct_class.size().unwrap_or(0)); + if tail_padding_size > 0 { + let padding_member = StructureMember { + name: None, + offset: raw_ty_bit_width, + ty: Box::new(padding_ty(tail_padding_size)), + modifiers: StructureMemberModifiers::Internal, + }; + struct_class.members.push(padding_member); } - }) - .collect::>(); - // Add base structures as flattened members - let base_to_member_iter = raw_struct.base_structures().into_iter().map(|base_struct| { - let bit_offset = bytes_to_bits(base_struct.offset); - let mut modifiers = StructureMemberModifiers::empty(); - modifiers.set(StructureMemberModifiers::Flattened, true); - let base_struct_ty = from_bn_type_internal( - view, - visited_refs, - &BNType::named_type(&base_struct.ty), - MAX_CONFIDENCE, - ); - StructureMember { - name: base_struct_ty.name.to_owned(), - offset: bit_offset, - ty: Box::new(base_struct_ty), - modifiers, + TypeClass::Structure(struct_class) } - }); - members.extend(base_to_member_iter); - - // TODO: Check if union - let struct_class = StructureClass::new(members); - TypeClass::Structure(struct_class) + StructureType::UnionStructureType => { + let members = raw_struct + .members() + .into_iter() + .map(|raw_member| { + let member_name = raw_member.name.to_owned(); + let member_ty = from_bn_type_internal( + view, + visited_refs, + &raw_member.ty.contents, + raw_member.ty.confidence, + ); + UnionMember::new(member_name, member_ty) + }) + .collect(); + let union_class = UnionClass::new(members); + TypeClass::Union(union_class) + } + } } BNTypeClass::EnumerationTypeClass => { let raw_enum = raw_ty.get_enumeration().unwrap(); @@ -321,16 +380,26 @@ pub fn to_bn_type(arch: Option, ty: &Type) -> BNRef let mut base_structs: Vec = Vec::new(); for member in &c.members { let member_type = BNConf::new(to_bn_type(arch, &member.ty), u8::MAX); - let member_name = member.name.to_owned().unwrap_or("field_OFFSET".into()); - let member_offset = bits_to_bytes(member.offset); - let member_access = if member + let member_offset_in_bytes = bits_to_bytes(member.offset); + let member_name = member + .name + .to_owned() + .unwrap_or_else(|| format!("field_{}", member_offset_in_bytes)); + let is_member_internal = member .modifiers - .contains(StructureMemberModifiers::Internal) - { + .contains(StructureMemberModifiers::Internal); + let member_access = if is_member_internal { BNMemberAccess::PrivateAccess } else { BNMemberAccess::PublicAccess }; + + // Member has no name, is private; we consider this padding, don't create a member for it. + if is_member_internal && member.name.is_none() { + builder.width(member_offset_in_bytes + member_type.contents.width()); + continue; + } + // TODO: Member scope let member_scope = BNMemberScope::NoScope; if member @@ -356,7 +425,7 @@ pub fn to_bn_type(arch: Option, ty: &Type) -> BNRef }; base_structs.push(BNBaseStructure::new( base_struct_ntr, - member_offset, + member_offset_in_bytes, member.ty.size().unwrap_or(0), )) } @@ -369,11 +438,16 @@ pub fn to_bn_type(arch: Option, ty: &Type) -> BNRef } } } else { + let mut member_bit_width = member.ty.size().unwrap_or(8); + if member_bit_width % 8 == 0 { + member_bit_width = 0; + } builder.insert_member( - BNStructureMember::new( + BNStructureMember::new_bitfield( member_type, member_name, - member_offset, + member.offset, + member_bit_width as u8, member_access, member_scope, ), @@ -483,6 +557,22 @@ pub fn to_bn_type(arch: Option, ty: &Type) -> BNRef } } +/// Return a new type to represent padding. +fn padding_ty(size: u64) -> Type { + let size_in_bytes = (size + 7) / 8; + let byte_class = IntegerClass::builder().width(8).signed(false).build(); + let byte_ty = Type::builder::() + .class(TypeClass::Integer(byte_class)) + .build(); + let array_class = ArrayClass::builder() + .length(size_in_bytes / 8) + .member_type(byte_ty) + .build(); + Type::builder::() + .class(TypeClass::Array(array_class)) + .build() +} + #[cfg(test)] mod tests { use super::*; From 3b185eaa349af3acdb539efd7b89ab19b57b126f Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Sun, 18 Jan 2026 13:58:12 -0800 Subject: [PATCH 2/2] [WARP] WIP: Automatically pull types through NTR's when matching This is blocking on https://github.com/Vector35/binaryninja-api/issues/7902 --- plugins/warp/fixtures/bin/test.exe | Bin 0 -> 301056 bytes plugins/warp/fixtures/bin/test_load.warp | Bin 0 -> 1000 bytes plugins/warp/src/matcher.rs | 48 +++++++- plugins/warp/src/plugin/workflow.rs | 142 +++++++++++++---------- plugins/warp/tests/matcher.rs | 49 ++++++++ 5 files changed, 176 insertions(+), 63 deletions(-) create mode 100644 plugins/warp/fixtures/bin/test.exe create mode 100644 plugins/warp/fixtures/bin/test_load.warp diff --git a/plugins/warp/fixtures/bin/test.exe b/plugins/warp/fixtures/bin/test.exe new file mode 100644 index 0000000000000000000000000000000000000000..8ee42be209b98bdf10800c342a4335ad5140d438 GIT binary patch literal 301056 zcmeFa4}4U`)jxbU*(3{WxIq$$fDj~6EQpZ>O(ehuSpF!B8$uEyhJXUD>pz5h5i5bD zH>=rP7PV??`)D62wnb}Os#Jr2Fkvx&6crQ^g=(y*v%P7JNMXUqzTY!*cas2B`?kN| z^SqzWi)Qb=b7#(+IdkTmGiT1sbzghGlqgA(6@SsFBsJhl|D62y+kYZ>-GBHC{iSVv z-Wbtfne)bo`QDpWWvy6w`;9A?+?sX6lG|>(UCFwBS=LJRwyc|O%bI>oan`N3FI_e^ zHMMWH3HpwWKMYLxBK?Ed--y~l2Mh2#qIST+SNJvU;6?nJaqx1UFXMw{xc2|!po2O5 zI^f_aeoZ@=jq5M}n0D|Aem(c#cwFb*bc2^*pWYIWOOobTlBC0<7F-{D*DfVk`dRu* z(g&c(nzhU1;rD$V~VStxk{-aC7~2cFX{JrjE0k5!hfQIKSPAMGK$sI4a6v7A|w zw0P{wrAw40pwR}TQrkD;`XSMv`=1j887s0$-l0gZ2B5yU-qIT&@->dVarsS4SK$@m z_Bh^yhSKUY@;S$@Tz1RtH%OxGpn;Tyd~43gHx;S>|G)nL1z0}-aWsZ@oBy`m6{ z>5^ktV0v~|(3;&cJ=^A0log)f^lUpG(pFu0>7^drWO|paxdhjtE0^503fHW$H{5Xg$}I=~ z!e-eqB!6?hQ)21J!9w`)uxB@0r1Elqqk0v4l~P9loWD`&=S>`fjBlZaa>nSzVfuNQ zetwQ04}0%rdi5mk0X~WS?6*MRD)b0C#FxU3AbmG`9=~{IcOjiE=EZJ*8^uEGH#SKM zgN~9f-Mi=3=@OHH9GY}Hgi?8JqnZL3zej;_2kR<6*OqljY(bJF)wvFBdT0ZBxUFzv zlX3`H&km$gf_KH2(-$bM67^DpWxzXI@Qg$9n)E-om*pA;@ zBp=b@1A

wnA?rR5c1V@WJB=!2C;?cUvx^6FQNR6 zi#M;SpDqPb75dFsLBHqULcbHd^gC%OewS~^xSwBAYx(8;#r%?V9lzu(;FnA0}&ZQel7{zGU&OHylKx@5tBo9N}{T0FHRt-&wh-IBDHzmwFvr<|IY%+|(}VsS?H|J$vsbzWNyC(Ld!)_t_YgGs!Si zkYPU9hRC41ZU48)a2RCx*BTEb19jAX(YB=Sw$*fGiT2bAaq&OVp7!r-k5*-uR`=Da z(j?WYEwf8_?!P)kciCqJTy|WXo2j$Sj*YdIgpGkrUCw~33zvy5`>G6Fb$6FulBV11 z19t!YC}tcIRQUpEm_5$5kKXEV*|d*`zthTlo~LQ;!+lxhqg!>C?VVOf5{YvD63@EZ zZsx>8sXnV9u~mM)Fg;k5nYafx$v1b7N<1=gzj7WjPQ1##vadeXmN?Zuv2~?g+c|3D ze)X@8#zhq&eW!5(!woPX6s_YLD?;1d*Gkgze4BcN1Fgv?vr+xDp`V443p3@1kZI|r zOt5H(-2-uqf{EiA&7{&Dk3cf&9;;!UxJOBIH0rN)%75&SJe}hj7lpQ3AP}4de*?7bQ+Qh;TS*SP@-DgqHiK=P3JKY1p!`^^Oh?b;B)uB-}lchXB0BvJPd{KwP_Mg4=Qe$WGuj56;QLdlAx z;|IzIH=b%VrgH`fsz=MfB(D(0oKv*cXpB<=uA>201kCuWU;XM8DlZaH1Zi6>NUdB% z4CqT@YawuU`)uA$(x@-P@+4+%5R8CEIVH7XQvohDm?}9X&Jc693x=r6q}P+dK-=lv z=q67QyAf)NtI~_KHQCbI5vDTPYB7fEt_~e)xF!!^8|8>gCkJ8ukl z1Fe^vSWptA%Zi223WJ;$@?#`gA%i->DxVs#!6W>x(wqFC-Mwv@S_5459N!z@Do6A=j4M*&xHO>CB)Y->-Uc)_nvo6Y;-0M~a$?kmyfnqb z51AP37jKbOYRA~Z5KUo|F+_KVLJh4b9b&`&0l7BIs@bf8SyuKrNWz~I@Ps<@lk8|L zWJsuC0a?Kf^XV7#6AHh$6e`~f9*FBY$FU$+#NOQrFkU@@342frI|00aLBPKOtQH8? z(eJ~x^!r#f{r+h!{l2^gzsol~`~<%QAK{nB6n^oq;Fn+B!Y{w`;_~Qy{zq}qUDkmA zA>0J%=5gG#a16)@(4AdAPr!daf4c=H_X;3_0>GukwIu^1pvCnx1SQ7WwrIvE5VAD5 zAbR{@(6t3)QM6?6LG*3?Wc6RemmX{J@aL5lPg@MGH;!pmj|5O%J+W z@UqTzT#u`wui%*8B9vi!WO!$|b?T|h<9lVoP);;r85Z{yP09LyH=E4{EFv8g7H z58}_vK|Cu{J*cfw`mcUhYhb`$B5~_=z~mQLQU{UFk!td8SaoZ=nxm~rOH_yJ&h$xH zNe`Z<44E{7F6omlpiAl`$@w!NHMT$*tce4<`!H&*`SPaQmd(~(?GtWOmfg}1D*uqrGGXSj+thxo z3w%=f870+eD4WwcB`Qy9OtwhM$VrQn6C`Emq!o0@nB+-Ll$8ER#3coZiIO@%pL76t zXm42p{KiN&6RILGTz~~b{b0_3t7GjrU&;bUo2WHdaUhTwSY-`dZ3`3wof| zCupbi(cVfB;3^kAN&Xe(R?%{6OA@sjIVGe^Hl>6vY06wjn{3%b%BTdyKdQSUT6?mi zO^YO}4sh$Gn}}>$t4$P#Z2%tc%-T$;$~jtVmPm*Gka(J-k&hD+Egr}c;@ps)O8nqx ztU2-Va3@cS=Fk|6=J2^k4$U^AIW*ab=A`jolBm%f60*@8lDW|w62#FQl7-P68pzQc z8g9`X8dfn*6IU<=Df2SD%C0ACkyA>lKG&M~mcyRMsyZQ0X4v$(cK%$ss3Pn`(i!Eo zj-kbXVJ~ZTMKSj}N+LvGWDCwnbDU3BpQjjo5~zr<`$?WwrIoQiK|f+hLhu}OT9?cI z7f>SLIvhkdRxy2@Just7i=L8e+mIfdnGm$j)aPi{pjFc|(Q*DZWm&K^jmd!WM@yYM z>Tg`Ld|e3unj`!QZPIn1rlgGZ(v_{z63N#9u{>CxKq>m0J`3r*8kn)s{XiXF4iXW2 zFvks}bMn{Om0OGj_3o(twf6NXC0(zGgjW&v6%jNLSV=~9ZJRO%&&CjKo&A(D!b?p> zn_r;mw+Dc>15i}$C}uxH3a{X(7>c1-R{cH7_W<$*7TJS~(uy&n+08WJaCcIHcl6md z=EUpWEDc^x=EI0)Q(0|mGpxekfKj-19#4`L+fx+5qHdxAzjH$~22VZ3G@ zhbGU2)i{4~H1leOxrTUj}6MWtZ{d}QRz9=M~--|ytR9xVM(!HL3wR}D@ z%!`TH)5zKr)BUk$-J*?VT+v)DexU_Grdhsl8(1=$3WC%$lQ7y9e3^FX2Z);pG zuV|DK-;xKUXf0{l=bfY95+K&i2|kgHJd%02f4RIq1%ETs=qHPQa_PrOKOXv7Og}4v zuT-N@O_+Xhs^fUmaFkW953bE` zkH0tZKi))|LFr$YG85z%PwJ85O;$>^1<(eo7PcO5ilAO4E7pSl!dnUIccxWqv1wtO zc(4A=1S;e*tOR|2b{f*sLF&wsd7h#o@74?BHpM0qQ`}i>TN=nAh{&3&FR&r^7{__~ z3cGgdlrj-8#%m`}Db|TcR*wyiUmd*e*)+XhV3u9G+bXHMy%zMDKF!8{1UB2w1wI}g z!h^AO>3xtoWZ`C#Aq242`5-a?G-z1Qiw(@3Bkf$-J<3+5tiY^CIVhCB2-M|s?T z+!+Y>O~^av2(32I58c7aIK~HUTFASY60f5lx&vn%ioIDwi369UMfoe9GVKro>(JLwCMp24|so(@u#8 z=!fp$7I4Pi9Hqn#`k_0xw=Xo`pi^jU88U1Z(n7SH)R$&}s$K2i?n&f;Xuv$Av@AH( zpG)jUR!~1ZgJiJwR#bmYKLYoRqw}3NCmvUB0`FL{;&FqnrcG4SmB9d9ZUVlP15Q^v zL|I28*z{tkT(I9QU>&^^Ww99ZIi~jI_a++KMK)9pGXv z<2uNmaI}><8iNIoWdT8;C)2cB=?9B|X7eMPj1qn5V~=1)0$amIc4KigV})6#dXbO} zTBJ-(EiH||F%lfdVBz!uN8Fp@Xfy`s&G)7N<&@HBhL_4VFRBy>(7b_@@ODU{ZW5+( z5`v-$6(NXQvzc7%nOJbkits?Dq1{->SVSThm%x$S3A|A0nS8m3>}(iFX&~L8sG6?7 z2`4LAF_7*zVVV=&51+)i1;R)xJ(GKf^(a3Wu2?D$uWSs&g=c~|gUt`3yJ9H7in0?3 z8|(PujLM1mdkuq4JxXRp)hsGW{@`9HY(5jv8KY)F4?r?%$9&`#UJUJCR1wWt016YQ zpE;_Ap(LoMccK(X*bgPgi3*dW8B0+tM!7Ra9j(cnRx)_;XUN;yUyf@#`xFLpgHG$j*VJQNxbx}OMWs7vP-&ATB~6>%;34uXNd!s|zZXf`V)%ub@B~Uoct8Ex1G(Q?O*Mwcv;AvI`1v zy>{Kuf?Qnl*QFO!ue27NT5Ug`q@Ysruqye%X_l#hl9#B930xA5wCZ&*C;I{~i($oYLM24QLb9|-c$V1o1WXR6S_6gF_=FLy>D>|{ zwbIXL!P=*X6;fr*i_FO-oLtDBUtv>57yE46tAQh13)dP%5p}iR%9g{!qaW}egi&>> zH9N6xhSf-{TV#z9sW~u=(BX4mK*EZU+lD;m>p(IjWoDj5Nq1Hkz|(&MaQk?u%`cqW z6Aknl3Y&$rNCMnWkwnGnXfqP@Ry3w=u2qXz)Bzs01_D2jOmdK@k!ZGrcV%-S`fdsD zJL*-fV+>~+$E%oZ(WJY{(H3wWg7sfz3#upTW?5?%^UMKTo%=+c`;&=#*Qc$uPCT)y z@9~eCU7uJ6?mhlNadDBa@4T|PtaMeP6sS0`u(~N%kM!GF*B?$h^)Cza+@C1cxy{L! z1l=b_zgeWa50$cyGSDPcrc2I6sZ@qyxA3z%7Rsq-u+e# zQQdc5@ipxIl~j2mS|h1xsvRiXZ>mN*eqa zn^)jIkZ}usjs98=T_r7t5;2L*+)P}qyV3&_uEWjdwe-{!NL_$ybJ808Lg?*GC*G}h z+3JXCTP!PpP`9t6#d1HM!6$OP$69?dK}o7UnW!c>8hf%hnxoCOM=8l==Z$EwY~^71 zxG)E_y(PJtU_~*ds<8PFDr0<7nc(q9#sS^dz&cxCE@s#;(qX8Ne!t$@ug+4aePL1m zVc4|gR!LiKgKgbC;2;!vc?=C!0uW-F@&95JzK9^a9;1*(&cW_c6&OY%a%6l&{`In+ zBXS?<)dPWHm{`Qdz_*P+jJ_0e^zo7B>{WHIk%xgx!)&034JeHbvpzJ;j6`r|H@+B6 z+Q~k5W@-5#+r$Cu2kP@5Ku_58z5$zl6|D>z1AGZaf-e!$fDI+Jf`vCBv$T#Z-F*}* zjnU``SJ%kaO~hc1x8W@=-9h1dqM#K{>}ifml=> zxrsnR1}o=r3^Bw!qFHe=WD?f^<$o~dQE~;-Cy%@0ve#TB^VzN)WIgy zzA>n(4GjvoyNv$P3DiIgS9TrxZ4-?b2(Ph}@B@U9=@UriI{B#5-_#mYwDyRH^`(Wi z{hKK>M4eI)oj?N&Wjw64P?9(lz17HYR-epL?R5hTi?cc}OF3yI)D0-CPlJ=~)B2rt z7M_o<0%O1x6@hyJf;6~lXYZWgM7suUqn;DNDW~Nbb&}^9{cU+Bi#%|c_JE_qmB*_I zoU6~aVvIpf-A6e{@d(v*mKrY{p<%Ca^jYHK!L^15kZ^qL-m5my=G6>(Cg8NhHi`4=UrSkgb><2U{8!L57=p zHG3={#r;|&l6Z9ste6Bel7IViRJHI-c=Je8K`_mRlFlE76$rMMAm-Q4v?8`nF0d&5 zKt>vw`XqIcR6Z#UD%uK$F_smMV#$%l(7xi5l5 z%<(;20NJKn{b^rKlhj1`zr{?8TBLu8j-@6EeZp*L5~@ho`)jl8(H4o68N_H{jg6QD zW|V2~z*i@1Ev;j5&9Z$YMd9-%cXGhBhkY;;guyb^0eJA*ocXe1KR(kc7V|pP#DKel zBqhRq&H=N-iJ%<=!CkiSW(48Ye0_@E$Ynf)CWB8S?8e76UwTq!V&e5{LoIwLG(*Xj$}nIC*=qcubiWY za-<=Y6(V1*E#t+{lJER@z5$f)QskQ?okO?TxIG?{oN$;f(o>1xP2q%o{AO?X_}*hp z7G-SE)!<=+QIZtKR*x?$=x$^m97U^JSt)UwYb(g6yS4>f`;38?WQ$`2<5od-$Jbo9^c(T7e=X#>T6{m zVZdD)^teSh+`NP0$u0tGw_J9ir z@Z{uJGH8V4ZD#Tp=aUO7(-;nT7scVhm#Lm-=6C}+U?LDiEX@ zc!f(lz&PVzpa_(4n~3|g_QeH@$t+O@vW?S->NeeJMcV?dU53o=rX+NHBl8gjIiKog zXDGQ%Sj*rndm#~%pdh5g!@dTmmxF1Z!ZL>m4lC=NRq^)E^p^9|Ab@nVVZ2YyckfZg zn#^=z837`u-@-oqlK1Hn0OHWWBT?LAg4It?p)oMi3cz~R(>0%yObNJ;YE>OlkusO# z@sa~I(HLSL?=76g9%uF=9HPu2GLFXYa4+hX{T{HD;}}-|^$_gq*<$$5jH$x&E&^fE z_eb##QG}4l=EN-kKQfBF8BmX6G(C>#Dz944)z?@9YM1eQQ-H{|=@@V{LH_`p67LS; zk{{Ce;i#@KQC%V$zw|gTcCi@icKF7Cci2QA%?B6b0TM4^C7ut<_E>H)=y>jJES2Zp z8iN7B0q$${uxF6l7>m}-jpITb=A@T|kGI;y^lM_a-)w1POJLGJtK#jq&0ZWB|YaG@kH7AZV7b^(gTK zB)8z+)uP0M@q}5tNodB+&=4Zegl-@S1O(`D<{7BF_K*VK2L&Eb_k?T7G6OqT?So1T z--V|#!g?U8*eJgz`*^{2r{Q#iJ@seGQXX8AgYL_HovHaXv zZBLMBfcUY6&jZisp;t(wz;oAUWXmO_Nl9x0lj8?oAZ0nE(dlp0Lotn-Fmfk4>jFKb zzsVKq=$+)0b{>C!NSnV^>Fa$2{1g7UL~zdr@;jhiB0+if1eoG|2>^{b{{plt;<#Nx zn!6{oq25lDy?r1K@XJMKn2jDo0RTiT^x7n84SM1uvZma7V1>B%kriSjQmahboYs)I zp>du54g!V#LbitfX3a@z55f}#dDINJt0<8SiddrZ10jO9c8j_Zf8(PkoAe?Sa1};9 znOnwSkrRx1bSUpa8%Zf(=Zaq1s-QNba3pKlf3SMJz+>Jae=8|QL$VLwTMnoc7~^f&o>4LVZS_72ez)@Tz;l!w`?b>*hqK*`%K$ z9sqLu=cGg+g20L3wyJ%`)!$atXjIkDCmjnlE&!JseK5v^kN~@MqdbRD{x9-d64w8e zX}cv)tk;$Crf(aVtE1v1SYV=jILuN0oHS4mlwrD)FZ_ad{-tLAZ6g2k@%$L|0b5{= z6$@hIrReTEtsM*4-0)}C<9m8MCH8ufdp(`g>j}CfUXBdo_(K!JfQ&zJqeIk{Luk_+ z5A)M9z7I?`-PYtM3rse=avmY}!rIUubAB#Lza3fq7y#U#Lh9@uitOt=dx z6QQafFRnhZm?GZH+|a{4+Lndz5&lA?a@Tn##Vgtn0o&UnO^Xq-pS&>K(N$J&t3KhB zYj-1|`oy(zEjm>~+bOuAzi$lY_J7985zk7i8*(ivB6&xf7S7d9z<=m8y>6^X=PqI> zP0)gT0@tIQv4|q;^+*kNE5IhDSZcCe+1PBe`q3@r2y(EjOBbcJ{60z_p5tXO4{pef zb6yOAi7o2D*a8Dz=SdL0I%-kvcueDsK0XU-E<{=G@-l4`{+{ z#3aeJwYVds*lXmFE$J$U+iiKgvC2Y_M)80wiY%tv>2T_WH53xfHv0k$xy91Z4(?Zz z8W=9Tk>nm6Olk+dWgC1Pa9{2uFUM7)EZ2k)3=8bUx#BF~B&bz@+ehGxejFT1c!B~h! z;mxo^ACjX1qEJcmUiS~uI}!F%Lf_R@U|D~i-aHo^T_Ok$m+RF**8vK!nGcb{=M|Wy zEF?Q^@~0@%%3h!m;pz;!g-w3cR{^V>Jpe^Uc0B=~iu>xSF3Y+nH28*A#%jlmF2bkX zn31Xk#1_B|#A!9$m(ha#(qC|ztV@B%JIHUuf}qyzAXW0LG!$i9Sg3dH<} z&>3~OaO0NiXqT|$ZFN7ye=qj4T*I|6$zFg5yO6%zM{aPM8gC4Pk6#z_mS z4h#+b1JlkNdIAXqPuE)zAyNyM%TE$9mtS^NdWAS|L{+5FH&=eHQ+qvntw50Ct0x}0 zbFN%l3d1Nk<7F+f5R)Edtr!boC*FJ0kYaRrGwJfF zcPL#x^k&oLJ?+#ra%}{BFW>V9ezjA@@;%t*j2p-U?B2yqrR;wOH}&TgVv~o!W#Ufx z-d~fvtNj^%waCmnZ`L9+R#jpoxU@*NGE8fH3DQfx_Z__U7N90V=n6uJKtVYm+8d@N zgp0@f5MI;FWC5edfb{TVKpC5ysgqC&p+c8YxgVmOcRJy`O^eK0S*1m0ug=sWSFg5f z5%-<9d9R~aKl9F~%a6Tt=%Rba)1_96T%)YlBJ-3LTBKN6qD4xSc?eojrfH2^faRT+ z0h!qzQ6rm*SZnfccwp^PoImE_{!?fLxPWth*g_P26oA8{AX&W|=x!L@RnuKM-6?d} zm+riDhyINEPAx){^@Aj4jNninvn!-yyGBfFshE?ufxOo zk3jt;JbGcj8k0gDYyg=Pv?$aOUPP6V5DX`f!2VGCB+;1CvspJ&xOcB+siVvWa8^Ca zeg;ZRnJjhd>xhjGXc21BC7p;nlc3&nMZ%AT#UaQ{Efih`P$#p)oZ{O8gnUW zqni{v{%rWOj&4$~5cnTP52FerHU9VnucU+hsvW4dvMpR@ABG%&2ZN7)E>$i-+YfUW zPX|j7IoBa4B@%{1p>aqyp_BOVf+gXjMUK2_nuBkp^}ZI|e?02uGA4sx@QzgR`aVxlZYF{7u5& zbo^b7zp)-CI7YHq5)u*G@36#JCP>e>*t&& zG!m`KUE6ObBqLX^!r7_J*FHX_ov__`p@QIJ2`jy?p(9>HC%mTS`x1={eOBXwdB$*` z#TepCG6rd3d;I-*zGNfW2QNHA-Y!6g3laIiUrfTrMV65Y>jBF3(vQR&v7V-N%-3D5 zTu+i{LdWsuK$_KKTY_AxB%!ftCRQuQlm=aJ47<|sx7))`+VR4@n}V<4Ap{mjOX>|cdp)`N6%Z7LG5R*@ZWL$mCI6S!(0OF14nnTWYRUlu?lZ(yRi~Ebdke-h@Hd`Fe>HelU746 z_Tv#ZCI?)FCXB;mDd^r!P1wz*6ZAgp8WZ}{c;R7NNMq)a+qMcrjT!04afu22Fng2+ zSk+-pe8GU#dD&`KkB-{~e+W5=<7EH6&{t+>=_QBE{z6yHMlYd@M!%2V3Hu<8 zcqUqnPLA@mZtd&g^1WL@7`|rP!G3Xw*eU`-YgqLOxDIfcS3vl}ZCi2xW<#K)6O9~C z{$4o0_614~uuAbBqJRqy=oBkYKMKFLD2K2Wu-O&l`*!a`agfM$fQ^Wi2Bi;S zHyY^8Yi;Jt53hK;D19uHCfAY@!@M!Ymk`cCqY)@Vtyx0_h@rh}_*(tb?A?Pv8UD|Y z3G>|mKn^@tXRQ5{Ul|^BJ#`-zo$)tqCur^V0=s%O z7~DS)Sw-tiT%UoDk#PNn*u=z@a5-NTg1Zlh1Su0oJbdss7Y#kip{y_@Yu7US~ch`gf-L|;8wFNN0cFfJ`MuyKmu<^b+46YdZJ_opaC ziPTpUsO2S{{obptied!81kWN4gv9I+<_JYTn=-UD{5)2ww5m)Ao?mQALge8>sv0fh ztsqLr>uu4(gDBg@+v1YW2W<-&Sy+3g8?q0P zp&a86^qOQph}Kr0n4-+CKCwW-swM})BD4}%9wt&awW^53r`{?}O}S0P3IN1dW#-1D z$on|-KD&@oOKHcevj%pV6pflw_D;;-Oe|?y&O9uY5H#mo<^+jIQH^@FT|u4R>*cwbdScd)cxj95*9#uwba+otFM5EC@Jcft+%ptl+HMWy# zJcUl=1E1UyQ)K_2@hnDno=qK@H_M_zbR6=q2LOWSD>ss3f?Pt#*H*G>*lbj-W5ZS> zwk|qpQ${L$Rj_9j+Bat4#E>pY|GMc5d1R#eYs)%{D+uHU7Ffg8@!Gj+e;b5`r?B=l zTzRd(hEo-bi3k&rYyX7A>Pb8vPFab!W^5dBb3nyT&`!1ll;Jq)2x+hA#ClkDo)cR{ zl`0Ob9Kc$v*(6m>b%;^U)n*o0kB@n1Ff3VOatmV_%}OIutB3UpW{jtuq;6Wzph};b*NG}X=>@48Vj-#|_4@!%r2N^b zX!I4n(*Kd{KZpm>E1-+gzrd+j5gT@u&~yGt)aS~D*cp6*{{wZ{2=^hhuVz_0u^RXa z%1QuJn3&bsg*KL#8~tnB)NNu|HN49i$uv1JtYUM=OoX&l=Oa+^lxi=0Wf$lr z<}iHkAdiEvu)9U!Fm1#@-0qx${PnXi>DAb!g+CLy=XuaR8g49aKgX*R+W>b%?!wYF zF#H+ILOOQGf|uhlaABJL73&`w7o*)S1O|^Q@T?yT!15DcSv6Mpv!>6iiOqWFzz@vn zbv*^Uy@OqdqEb+5pf7=p$`AJO)){56P`{v4F^Wq;GL8{r1Asj!MHpRaVgwT)!cL%& zaV~Q8CH$(9%YX$JVXLXNy)lI^vDcKF&-?QWD%A<~h2#Pli`ySy^QOQ{-eCduF_%Cj zakc5+8ZWTKW->%)W=YLXgyV_`TORi!B;yivBi@_lJ+}iXB5+UBU*+R(7o)RgjNGrJ zJW0%>V2_08#utej$m2Akq6@Xhs%Ds5KMxvfY`)?p6ZSg#@z75u{n+uNUgtfENsZz5 zGP=xwsM3!h_z1di*ii&9jIT(mx8~13D6#3qJ@CZl8=1M0v4bil6 zpm!}@?A}_sBzZUBLQQxLtiU14J0#QYWS1%Da1W22|0dHfdG&?wmCsU%o%$25t!w~^ zags46v55b>-8g0tsD)T~kZ2sSnI26AX7rbC{#}ae5d2+W{s|Yfo0_(bv`5|%NjxE-YEjGT3w;Q`iLlGT(8X9k?qpMeJ-9{q9*4e%MrZ0P ztiH+QJmkWe9YrE1C3iNEQv{O(ECi}Hp<#>>aFrmtZxL)l)=VIHs46cbVnxYdj^$1h zezI*uUpiq5^tIKrNlpmdG-96hkOb#oaiK-JA2V_z8?91gAuN8khx){3Tn8H*t?*55 z#^FUbgSkZy8xxRMy%>%b-BO)*p=w9KH9!brQ_>G8X=^-bsvrv>B4RNXF;5#;yUh^3 zx=~8;d3-NE-)oiDd*OigJCUWtrtx3{c=0W`;f~e_WN4g$d|B)%j4ST^64d@Zi7Q*6 zKe@o6YUf&eiz=-nkBf3_>@gh>DIMb+Se(@d2#q8S4r#-@gH21q?kb(a7< zFb!95Uu7poDz}?xA6J?FHKG$SSZ2V$?b1F^kZU`@iPibA6Mji7$%h$>&6e8PZ{7qf z#Q$)~D*QfB&|REqh+U@9@)?^$Zgj9G{L7I1tt|2eFQxEO?Q#DyG&>he$wX1pi_~FY z1&+ox%EI1lWw(nO^F&$RFNcK?CRvzbl7%QG*FFK1VdD57#+6I*LalwVsk;_az(?o%sIC?Au=L1D|@d9FI#k1bY?trVVyBT}fWuh6sBe~qeO&)8;l+%b}OlRj( zWnA7Sfr*RdYFgaqUs2%2NVj}RVKzMJBlcK{cheXA96w1-7B>0(82!1 z8`<5%@zDP-fFd7I{d;Z?z=GgcSVKWn$_Th(IRZt(?}k+r(VL^#m#^~*Z#`>;(@|ke zp#6h#m=S5{!GgsKnGNTVcBBUFkH2mTQ)7?s^-y%>0QM}LRHDt#A`60kei={jqjNYZ zo0u8&18x|={y=dO9B7Rw@r!suF-ky>4k107Olounjd$IBfE4B-l6k3OJHZ>&te!I{ z;WxA$?iK8PZcqA*ive*YG@EzZKn&0A1}at3~W)$_mvNT0@9XCkJ*j z#13{#7whjMviWYCo+1jaHw)rqh=Kau)>yLFOoku~=|wj9uWWEu*H2H2h5$q;Fc6St zEVuoGtX1?%#N%5`%5%YMz@?S#gP`_Z#2GWf!a{1BLX{R@wdNGR)lRogUncNNP;y+VZ^x2 z)UUC_fVU#fE-^6EHu^(^HU}!x3>?8`^dH?En3)EMTB9{_rrlg%7K5M5Sla3i`}iE# z#|V?>_OTf42>dm&U?+YABXra z(#>V-Dz!+yeBW$5$vb95qvQS6*c(cGdch{<6TVdZ0sPJ(#CsaDi_^w zbV1$1>4hy^JLo5MSp2N8s0DT42ziV1Kw4)HER13HN0GX~! zzKKQ)CaZl(PRON@Zy2^<5(dI%4Bv&`#8hyGAO#jQ55VNV zfIHyr5Jz&GfX$RJrzIqW8vk5~vTZl{cQxI|Hj?O-MmMnn+`n zNxtu0NPjIdT@JoW8ZwfuNIrxH7`0~C zQerp@IM6dX61`1H>~?Bp$zgbcsv$nz?cs4~fEJmeI1LMhfp}P^pbzksy=gR(%!G1Wu5%Wr;S&PhE1<5zKjtmOfXkKZ zR&e-9vUVeGP@OHAFoKDDi5wvk>=0SgkPLoiY-jKHw1a@&kBq(lW$*Wz`93lB{zvrw zViP{t_$ov+!JpI0K8AGXH7uqaLOL?`I#R=Q7@%PKQyql$0Sd)rzy^br{Ba%Zc9h`} zzVJ-9^L2Whn1!iWI?}-%23AXmP2xm<4P0!FqtytZCaX~>cCu73g8DxxfseUUJB2ED z!+qY#*S#_cp|25TuSH7bjYD~#l&yPDiZ~$bP;uF|=*!`sW;tTU?J0xn%AmehPomA!Fa1oj! z;4$zAhgS)BrqMWsh^~%c8$d%+#f%+`u^v23>L7EvBC|qT4dof$MFwvpci=PDNJx-W zVpLm4_!GEOsW!8!@B$FUd?v;Y&pPdSCGtC>GX;Xw6HAHxofxqGs9bv;-ja-#YpZcr z{0nt1L7mcM4Eczi`GbA=$7iEllAyaIs)B`5-c=FU6ynqp+ReuUvWr zK0O^Tk)riga%~s*261J#V(P0D6RKC>N8L4|gyK@lVvgBPG_DYbYI2rgw_?G8^X@M{ zBvv09CRX%WsEsC*u~wvn$)nOU@qr`6>W~wq;UD9b#^#Cj!nsuM`5H@-{j(rldw}^l zc5H-sP*k%CIX_QH^LV$x?LZy(Ac^o|G}OBbDQssG9%q_4!*n=%oX!`&+LO-rlhWah z@iu_Y;Rlg5J}tW*K*h8#?#$vG52uNUJ=;&nabM5Q{A+{pd03G`Z6XpM>78(y7Pu4VucCvx)y_QVIoGsbF~ z^r1&!r(g1C93G2x1}6qpxq@gNvOwT{8pXX&jJ@25wzaZG)CGmFmmD>QQT8l|AH-;y zna3luu{W-p7jflm42;uY5lRahn0BPOd>&hF*3k%aK5T_c58RMWI;N27cG=-=t4hny zRnE=70_WBuo(t@!_JIV5uy=^xkqT!>gf-)VP$JqWLTr4rLcPclSxRcV3W&t(x)yaIpfWArp$tNzIpFT4 zR6=DUZn!XtEF@_}u|x6R?{(5gC+h4W4Z7*V!xCQw?&w_EPixbHG2|V2+81V=ffh}? zb1k3E;1CFR*IrihF$t05dxYO+i$$q2x5Y%*CSZgR&*Nx`nCRS(1k9$c){h_GKV#%^ zy_tp$_e@^wm4rvJ%XG&rL)PQ_N1jrKd99|CaUPP4T|y@8+risljE3Sw+kb?y5%&!V zuh0N$VlU5YoEm&ApkGMFrvaX5B|Gsl;P<7TdIt19L~O9!igCO+Hp z%pKI8D!x2(4tB5T?;HJUKH+=JUr&IR!s1KSQG5qtp4mvJ8lc4xT0$ktTt}3#yu@i( z1=WF#c|lB?Y1zJk;so2-d`_=JM6Y(xOW+?~hZgq^iVfe4B=I)rpAWF59$!V!KZodm zhWe-DhT8fR<~$^7TG^#kUn@(-1-)Pi4+8*>WpI|II=@nNLs(8xXM&~$C@Yi^2Q{8R zN!aCv0DS?9G=bjQz1=$2SlLf=hVV=j2>Qq1*TdfUgby&RsbfwZ%tjisyeQgFKwK2i z!B?EO`Yxgs=lMVnC=8{-cx9~iIlUr!?ooDPJH2x~;o)|CFqlrz#t3Maa%fKw-L`;k zdMcf3L6OE-NqE%5ia}OmVw5YTpx=&yrRbE0uqNc%KzFt9ih^2evF$`O@uSAxP2>^P zwJ&t_u>KV?{5-w8#c*QWs5rv~K7bjJ1K67l;N}o=ZQ#zkhuAYOa0-0P>tG69$a9K# zmKl6QbPu1c8Q)#@N)(c@7``P8?U5~kVL4F?AKoO#fp`dWADqB~juw01YiY3YZc(T5 z@QDJ7a-IxiA~9sh%3&V%JgiVM=;sS$K7XZmyEzOVJ|6dwFTnXX8K^T8654X5X)Lzcnbeh5}u7rIG`YP^%Xcb zit=6dE9B#DDDxZyayP-*Q>IOnl*{4N8OqWzvP!xCCb-5@#{Le+B6k1|Hxi*6gEOQ0 z>xs>tQuZL2tr;`Z6nM=No0BCTv>rQT11>Igkk9IU2^ItDr>d_c>4s3fMBo)Wgu!K_ z?^q<)&$iatoUuf5hbcGo)AZbu)c*UM2&zd>QF^xh@bZ+Z*9aXAJU^*2- zbeNWH>R-qp;l8#6+;Y|eWX_*sh(Ga34;t%~pngGq^K;?c5NT*&%yKXW&Enaxw2~l} zQm!Xd;{6O03E}vocj7w}6I<8eU?PxdFhcoYHR(r2pVV=D%oTOXGc*Io$DqwYYhTU{ zrVyK=UW79`veo`#9W*1E3_;@p$Okeqh1vLJ2RPAAB7-_?CMIAs^2~1*XdP=e@uNxU z=%8ZMYJ1*-<7b;;sMXxa4>GFbdbS#;7RY{ze>Poe^~rTrpV0K85NV{G^GOFTJ1mWh z)+}SB&Bh&+ceI+DGA_nmjKv@pJHZ%nEicgsHhD$q6DWYqd#q z4w0m+@}==eEB7w;BjllbwiYn-3G|+yMe)EUF#UeSXeh~^a4GJ2j1jb~w}a1rA7bf$ z0#CHEL8Kl?%fefD09w}j1l~j8vd3Sd7f3~X#UW#5F z+G>{H#}@PQNJaU5Mz*%>CA8|Lnq`gDQKV5|jzD3Ov!q9d2#=xOJleIJcEk)8eMou= zvj+rG{Fa~!7i!gENy)9Q`UJK;w&=XYu0%_a2iqoC2av)6CU!6FAHl1A)JR^6Gga*~ z-{2rrvN>BS9d9%zajR}2yAzU#MB(n;n4{NpJcNGeW>n7ov?Z#v-sZ%V`$S!EJ;=)W zU5j2N--nNrNm_J<9HiqEv@c*KCh!}0uKo^4IE+cI-6C$34DE}7vj2I!FJ`+Bf(YSl zxDUFju?}()t?(-V?O_?Xudb@K;3U}lXew9z@*1RDb4nu_n-B-!iHv=&JJsgSP-2>-Q|0-O6%>;z=QH zz7UXlI8nS-BIE1q<7e=$FJUUoN|r{rdy2WYz%*-LMjqq&Vpe_vdC8oK$)Yd?5aA37 zAe@Cf_5SsEIc8Qt!kt+$a7`Z&ILa{^SkT&aHCu{1?TZ;WjOGiABGb=R^pk@hHD=zj zj!3NFk%m}70uckeJO2Ld`1^i6-aj3G{|vpa!kny{4aco9T#FVd1GMNoB~ObMD zY0=VkV<1*vXLdA$m?$I;EXzYU7O{^uQfi(CS#|@LWyYUly*ZOAF-NYL0=$Y8K6qcL z!xwYJ!Fo>EDV^oYg?cKD<$${u!uh>zfW%?vCS_9m44f4!<_yxF}M-6oqQFU<4@F5w4 z2t5y5`WfHVK!NRM%5%_JI(?IXEJ`fX(GGn2J`%;TSui=l2x<4Qq7$5{V4~4#$N}d2 z1E8O@hr3rpjKyox5YDob+XlyLrlKV8Ki>0{kNK1}{ z=|@uLU`L;d(+9c)Lc$e*TC^-Wu*ZOH3itUgG5sf__$Z&;Gj{0roD3g9{QGb)Emor= z#t3o8>1}50WY3C>lZBqyOX?!thN4(Z3_dvMIQWVLu3uDrWu^YQ+Gnc%mWb4-Prxdi ztpJNK_ke*4z%@?j`>E(;@m}7MKr1%)(L@guWBig3oQW%TCCPsBWmo^u;!!PA&Cm~C z;Hve5#8SfOP%P+bhB9@Ql^pH_D^lA}zE6sfb#(&6jCn*f36m1?|U zg=RXuCdo+4qTHEsa5!+(_aMQBgui4eL$#AO$gPuUN(ST!)VzcYHEjSP;V`;3Cq61d zm@r^Fx>*^9KY4Vsx(@)X$h;THxW#X{S=^#@_(j|{&@o40`kaf22gsGXHVaFdL-~s3 z-o%~47TX9h0g+&l!uKFEgdU0+sGYA;-Gnx2kqPUT(SoFZA)Zj%{m9XV9NVditN4Zp zq&`B`Q8_kEL`-m>1I6g_n;-F;RM~$nfJ~(cwAqV;tG~`&TU!0~g!M(B9s;1+q&g~- zn^zH)9|~O!KLoWbM4RdRy|2ICgP!fl8pAhYK$AZB%MZUu5>JqB3`l2Ow-ui1nrm2WD6KHA?n|$v=z(>5oz@rz}OL1L+>qWS(!F6~+zS@84b~c;S#3o0v=Nirigc6YR z>&n;V`|{AuF)=9DCgX{Vn5MmiYbTb#uqy;BwMS_Qtc%@(y7>H@P?KL1+{9L%5CAshW};m8`!M#**@YcL8V_z8gG5X+tnS!|8b- z+w;JO)9;a<#m5M_Yh+*f`g+=X)9HcL(axS1s8o~4$AWo(3bMqpgE+d=oTY0W1)I93 zPv+E!W>NLS=(m8(Vi+NuiKUy<34DO4~hK7C7Yu+Q*lKhX&eX3$}pMC5eKa`kyow4$U$> zj(g0xOgnoBy@7CUV;YA5z-+;pKtjLaK$<~m4rCu4MCFPBIl!*rKu|A=UyYiKE30W0 z2lCOWVt+*|&17>(shbl_V^G|+w~Gz?HK2+$-NRTc=0*jM3m|*QJT3r}qm8J6K9Gg4 zWHEd@L`-n_VY-jrgEz2Ex${3qa^j=}49zCikB(2^cm3%OU#GG_p5h9ibi-fS(m>g%;TpSCHNIG1V1>V84Y_Zq{ARPfK2VS7Jh9rmVx-}WV>;iHT7s{(B4{fEf}a-Y zMt@mv?N4X_{uRy}aV|UFI2!rkxrI0YTs^_H0%B@$6eA9Dr1;qq8((|vUq2X=X4{qL zsn)55#^2=U66ELljBdj5{l2B%wANnO9xi43ABF6oXy!@P zyuF#5YjF)sxS#*l@!t*j#n=CadT2dOsHC8K11knw)AeZ@fLIzhEaJUpVGNmHyJN6j zB)x^Dqv{Z??4iOZsX{_3myp_a|Jjf#{GLeRNPT{weh;K}z_&?A4eE{5vk-HqA+;V= z$B;_rNTEYcKb(KtkHEwHGwIU?(+4Ss`Wx>`M8FvDhoCDRYY1_gu$Pb*2D|BmfK#r7 z9BbapjZX5ev5vusQiW+fobkP#ar{$2v+$Ws_B86m_jb~B&!~C2Cwm^l<|R~ZJL7XZ zBw4d8oE^x2@b&*Gr>LE^hX)1S4m+0=n_Q;8enc|zO#VxjrrAV=d;d}kW}YVNWU z4p`SKvg`Bg`9(II{Q+*r_ZW*_%&o>j-TllP0I>(IwgskH12@}CiaZO-E6Nw{v`W!E zd~lO~Jna)IXZc!Lug{?L{L+b|jeiV)f5W4%_$0RYsxkk_&F}c|6bK5O0LQA^=r{)7Tp!NeES_!rJ_T0DS>S3i%x+SH0_OMQupFu+q9NO~B_6Pv42^yba< z#%IMD1HjcMZQhMXwuB1qvTKv*3CB0Ssg!oXOn$j{O zjqGl%Id5joDF$%rA1d)x6+xz(UADX=s)NW@$~u0GZztaZSEu6`uOvD?nU&!iYW$&G zw%OWWhHh<)ubTKZAjp)@Uwq-JCfDh|aa_Rp@^We%b%a@tbw^|8Dwaoq?av?%hh7vOa)ew(KyO zB+*IM3eo}jP)m$6QW zf%XvSVZA`V{dEt5Ts8M!#rii?oCwlMphNfeB*>jTK|lU4V?Bq1=Hdrmdk1F(-BI$1 zy7=ZlSZYDqbbBELbeoWx-;(PKu*7%gS`TUe-MQrNRpWv0Rbv-=#;g$y)TR65qB{-# z3h1B=)~v*Jz(Y7X1nR9Vq*bL$%BMkh8ut-nqL>+QV`s5V&;|#Q1l{Q#97ayw;-Gsd z2nEkI?xO6oo)yOHxW2oN+<(80i_TidDF8Ng+3uD9c02Z+wT_>6*Wvy5>$tGH3n5ry z{c(AB9oB!pjvLR~j<*5Wq}Ahh{M)p0V<4GKR-{!8mB3VYbXPDXRss3O(%`Pi#3U*m zaT1yNYP$HsD?ZQxpFTfy<}nh!73ug`Q7zn=5*r0TQ8io4RVIG4`Vu`eIMYINDIS3k zfQ^iK1uQDn&AOc$$v-#JsZ>T0Te+ByrcWC~Ny_6mnKTZ$$9|xzXnXI_G{0LD#oB`zM*h%=U+Dj3nGBg-mi_Gi|7YO3E z1z)}&PxvOn+rPy>y-9zWKxyp>0sjWv;J7HBA@JBkcnUoH2!7SRbq_y^E4VGC*-v)} z$;b-&36Q`f=&!~-JYktZju|+m2us6HAdyu}1!b}A(|kOw-%vadx`Vz6_3kPfW2i7mdoyah8iS)Y_)aaVn=?FWJi`^) z_o4o~x5Wql=39C1g@^nT>R&Vce}?*Hg}tah<3^MEMKtATw`i?WocKzd6k|dBTo8YZ zu~-nFvK4{)LqL6ep>cU2#Yl_grjOh&57=j#eXs;<_MLrDwDRnI@F(;EfuCM^%J_rX z4V{>uY>E#8a{xdBWCr}R{sE?h_+xWGeNze#zD0Bd1=GZaffxm8$jw^7jeHd3;i=~+ zAXt19jKU3#0?H70tbl$WcH);t!E{{3D4;t_(9bgkvnZ2)41R;bIr!CGSpvDBKb^lC z&lBwde>Uaeczc3=N)7xe7r%HgF9Zrt1Pe#Le-(qs_QLV;ZNr8zJbl>kmYgwcL{4+q zY(O#g`)Sl=Lvbrr(zqc)nd3%p#;D=m-(Rdat;@_B&lon}r@tP>daK!AJ~;g$`NLP8 zy}t&5fB!$zUki`K`zvYLw+=Luc)bQ1b=TPkn%QOXfyR3+0?K@6ud&ZRt(EKxP^YNtr8S00x>_z?YH+<_LFiFvC5ReUW_CX+WpQdfTn*2Tb z;FFur-Unw60)7-)2K#1toYJo^ue-r20xT9+#H^W)V9Q|s?hM7J)my;pz5HzTx{t@|O^TbDSuDS2&11R& zpIpitgqpSOR`TDe$=tsi(rY9`tLs@yfamtGBT(+;^&xD^Z`)}VZqHtoPeJARJu9D&%9}n*`1acO z1L|37f2!cL+LbeF*S3>S)uN_qh3Qs(b~@J8x{Pb|2gtXooxEXnI(rIaHwW*U8!SYS ziHUD(+sPwqQHMnD7$ZMdc$p_yvlI!4F|+Q$c8bq2OUlq|_uhgu97+T=__Kgzt0hom zrSF~z#`(^QFYB&2iVtdhpNez-BNaEGnP!XcIeW#=7mn-Q;^UwFCt5tEyW-UES@G-N zr(){b!gTb4yu;abW>5SdeSLa2KX*ERU4@pK)XrS;{kr+9!#%0}-1p0{f|`q5o$AA{JYAtw)l*SZ~i_NcQep)-_BqE2VS4f zU;ht#-vZxMk^P^fX&WGr00oOyC=a#r&_WBgv_K0a1+urdRb!2;qT~X)0@n7DgaGsjEKn!u^mjv(iV_foPygz#}tQ*yiwo1??zxD(+!Vj&!;gBzmP!PD?rkuM{wgHUAh z+C6iFt6yRu&+nJ9JWuYb`mO&6rJSTxKQXFwMI?I<@KvC$jFD_@50D)aAp2!$*xYt1 z;j$he`y{fc$a9{;My)F7o@ryH7PxAQ;KYlPmO(qQ5G9Wtxr zdu2&jxH~l=#eWMHu0qVY@>d{XjDR||?_JX$9iZ=>9~=FlJxTv}$h4aO@bo*0TkD5C zng0NN?`2{0---UqG0+c|yUwL^`o4D1Cq$-C2p#l^NdQ{GTrcN2iars?#@wHL0L)c= z0&AsdLv$Ej}DFfS8is7YoDYw^P}i(-U;B575nxk?t{^XBQ3U zo^53!r>2zW5a@@{43kR48{5SqFUJ1Dje4PfB^GxC*~o84<`jG{yM*DJ8+ibtXZ`hs zJCV=9>Hvh!ePvxXt^y6yYsbcgCcwq^i(}*B@Qxnm;uZj)U@zG{r@*O4-53so#h`Xr6wv6d|AwRNQcEv?ifQv~naEx9Z~ z)|Ijtg(C~X)Xq+F>3cI46uQO5PLNi(c+46b7q9m`7jpt!B!}mslUxct&&BH?tzdB< z=CZ?-NGC3AF>!Ia<*uvr6^R(A*m>;oz}Jou_x#`<{B>kn%|B+zk^ij7J-9r}{qwDm z$N@?ZZf8Sod+3NSM%uFivk8i?T@x} zg}JQJ*+n)0?@%5+`^^zo*4&+kEqkc97;>+48ggeiaj`{3Gc*Tz9Ze*EJHN_srLzzH zbc_<^6Qy>QGbQ(0XL9ZhIEa#SnsZk=jk#r@JUR^JSi{<(@z{CqRn9d0z1BGbe{XQ6 z;4kMKjK3?LX8bL4_Qv0iWKJP!^(w6_;=pO5ppR)21U4lMMwj@ z{C+)FkvX(wPMjU$(M{L}!saWTiS)CK(@kic&?JjZP-=#HjX&iOw_ObS5b_fIq37K& zrt8FcdX=f@uMnvq4ve&26AM*vD#w;OESADqoUG!|9!~aU1HP=iJ>-jl*XTt}eO|ji zY$P8$<`Fss3ggu|&`&@tu_Q-Io%k|UUb9^Fh&=KaQ z9mVzj!KLU+;{~2t& zwfjE;jhR0>8`#Djwyk|~7Xf0V=6zK=j$%X`zsevt@(JRWKF!W4#q7Kq_jFt-Dp=E` z_+2`>JbB?g)lKO*ed%x2ZLG~tQrmp0HgyK2&3{>3)gILBZ`*8E)Yt;%uyLmDIx1$&I7C+`O~>G-C77_HJS`?R0Wum$^|opzzh|;ttj7 z`F9j}c&b*W4co-ODZP@vW<~0io?(?NxMS+Fp1uAK!>d~y8h=y{N1OzQj<W(laYI-rW#R}Y&yox3zilvgM(LY+eutWS5B_>@~ zAuW0pyOE};v|2mT8XiKcv{<@6B)lh(I7W~dyjqNy9Kn8UAs_3cl7xI5{E{r>o9Xm1 z1JA_NZ4z?PU8 zD2tG0SO%_%5I8&oPyaC%1O`S(Gb{rmA_NZ4z|}D!upLJfg(+6KDUEPoBb_f8?LbGe zbz#FTdWMz)qsG0M?kehq6RzWMWUglrKjpGt&ctTh{_76a;3(C&b%*I^hTfB3B2{6# zppfWZVJNnVvn~<(h_hx1{iGdNX>r@-MbcsXiYD9|B-YUBDV5LYu(NfmPGD~!rNx~m zFt;gtP{ATk?;+(^QhxU%jPm=0^82vzdyn#4r~FnczblpBrOI!W@_V`RTc-Tll;2s(Z=Uj- zrTnJjxB6z>?|_oypJ1oeH2cP5J21}J{0mO7Dlcyq`}31=Lk&t5JEL_1c4D&wJ6~qz z-p>`YIkF~mWiZ{q_Ne#_QxRI>f?WRroFd_c}A}uD!=lY;eVkiILoJn80d^C_vw9;gQ z)xb`Tln(~7Nds`vOwe&aP02X(lbzlp9+J*MvemEBMt^pG4?7D$KEJ2b_Y$2uBs~jG zaKtz+OliTbJC%}QEN$)gjhD9JVBK z=4L_hqa0{MN!z3=z^NQZdYqv^N0^|*Gay3MuhMBZti*{o<>VQZIPolP0QDkoV^s>4y}cpM9e=zHz&XA>|H-gn^(UJ_dg!W!!@I`*~c?HakxsRy6tLb-|9At(?DSm;-B@ia0>aX z>b7*8;yPP{H*!0VPJWAvn|up*;hMF;^6u+Z602a z=;!FU?_~d#Tta=Bj&Ib7cdXPL#OJk`rM_a+JiKhIu6IDaAa)5vbDszLSJq%N0*{&tB>Qo{+sIK#hmVCEf$p} z)bGlj!Rh{lFIPI_tB=F|M=jmC&Mm1uVsbr65o|SEEx~ZN$|#O}GMQRTABSle3k()VJIyO_`6g_PHcd zeBmlD&pCvT9!nPI<1U=MiyMP5Hs1<8hTyGO#DkFad&w}wd_I5=|9a}=y&RpE)gNnX z`y$5=G*WgSY??s#f%&Is{td_+!O9bc%-3*qADNLjJ6=X+2wc&S*#YE3k$Dw9F(X6J z&@DISQqzWC=p9RiLT|Zg!ybE1o2m9Ql(9YM8&fTIr)o;23z2R~o#hAVTsTUp)L(d? z`J9lRhNHgl2bf4u{!6n8eJ0oAh*Mv90`FD0r_DuXgHp)|Fjx|C3MxM+^5PWZRC&1; z^74yL@>1+uW|aCCtEj}mrJ^!ta-omQ04)gHSOkNO-z&?=0Z?Jsl*sSz;XQ!N0LV-~ z%IE`)_MBavg{C{usQEe<4jCG(OhHZo4IHsRGgij(2Wcc6Brx5B=G!6_8VRnhq1gs1 z!O(2PdrZ)`j=d>4CqjRW71ybK1leMx0>VTdE%nW6dF9g;5;pE^LR* zMl8S$o$Z=gj^0H!DRmOQ7Se5_u=E!g(bE{DGQ0Q>J-ARGP16cFt#e z(y8Y2FGwMBK5b!W)}1mI!jXv;+$GuYrCMD6o#s; zyHsh(n)@!AU6fYi>RHUjpOvvMyV7iOZAG6gX^@_>muI_4J}Y%$vrw5ORHn4L5Wr_O zXICbh?j(iKw>-u4vUNON>lybA4)eC+{se>bue>*L#THxwJGebhgUh|18G!9J7JhD; zPpBMKSD7wUrV5o~>nd|SS@`hU7V@l`y#@$AEM08cBPZ}A+*6N1<1dqeQr zNO(O5kQBUb>DvLXC^B{SzdFm*f)fm(-Dp{2MHA%KwY3neeFN}%_LiBo24$)OT`wBRGhsOZ^`r|nh z&oDe`c*f%i!RUg!Loj0X%n4u=jHdVLfKilsRtzzg>)A!JFm|eE&uj9jWqOoqQbfcI zDq__$gAt3zbtSBxJ?%#fbC}fbM6PG=!0bXHlzMjlS7GZ}3b;B4&tyC^@LYnY2+smM zSKx4T5FILZH0we{m0lhom6{VgnIM`XHHftF|zo(iM5uuTN@ReGk$8d#0pq`zL zDK3W4ZWSTlcsc*wuV+)iM**Hic&^5CJ)UKFZpGum6N1SObV@<>>>X-*(gB2m$qCG% zW4&3WzdySj0eGuf$2v3`u~LV&!HU~&ZPKkCKPazI^W1{w`70d*hg46$rAvo-%vWWKM-mSKy9d=q4pRFOGMP>^}<&YrQhYl;qTOj4a6Ju?S(38Gcsk= z7P8ETpjHkq1+{|;Y7;5cc1i!GT;ayDNXf0k>DMR3W}67J_W+b4TTdo*z$}_<-Pzh%wkF3jl%6H&iHOp*1_h-z@`6#yBn^vDdR#?G zm?)zZMYcK!lSP4snke-7FQCvG@VtX(51vo(9KiE6o+EfduyG3^*syxnkl@GW_V{jK z^R(0%o1Y~xY@Q<-iHJ>oqJqu)(}J;?)?dNqxQfl2le)wPP*yQ%?y}y!g<^XTPb;2p z@f^pa0lU5M3?R0Hb;+w?P7i9ISiQRk;3zUwsqcVOw0idwzPU(7EqcAvvtHa(tJJ%_pM|S;S}@id&oDe` zc*f(Igl8I_S$IM)8-GU#W~|;V0#FKOqvJYY7OmdB{6%Nk`jdg7^aM#yM3kP1$5(2d zzL)}szjd;Z#ziRIt)g^Mc9*ghz22P%cGB@!@XW6M=v zJfra+{fbGR>>8R8=Xz(?&_uTrRyvv%Iz`|0TAY5M{1+Jk-mAqtJ3BN(=P}Z(yHS4A zaB&Dq6YBq_a3JmfuQ15<@k77>=@D-~5jglO(lp3*kN)6xkMWq*c8=qvIOhmnGC0p* zCl~a=JD0-GPBnN2b-+DRTG3Q`(@V2Amrx zd4JHTeN0O`UExEm44dkf?#Ie6gc*j0f3qAsN!k_&{!13T65%VGrG098&jbQ2_opWv zQ9lcT&!zs)GPz3vM8&j}{y&)vd6 zfb)aWL%?Q6(gooka99eH2FWWln=;qdT=@VH~jrUoT(Im}H_Mwo}jT~~!p^WFw zF@M`-%%TV}uZs{ORK9SZ-jqMd8e^5F8gtN<<4v2IvH046JYoG8*7{mt!o}Pn7LQLURxIBi$XaC} zt7K6&Z`NeHyHZw^Yo5|JXL9~A1j$e~#O6~x8&G8eB0b8%)@ zTx5P4kqbM2^8^))n#jQz8+Ly61Qm_95Ef`03g+XPZ^NMxOrg&|Vq#=Le{Wv;_?_a712RQn|U=FWD`$i2jwk$ahQWNwwo zwHJP3zPUQ9iZkY6Zz#rUtxfQA=vp`8XG{KASjRQ3lmOfYa{m^8#3FOOE;oZquD(S( zfg9kSuESTD^)yJLwHCj*lej_nmdTmqZ!nC~H_vrAZZ8SP?U`}ho)O3G8F1X5KDUf3 zMtqpQG@dzdz!IVHE#xo2Kf(55TQx2AJ z2Fig$@6qA3K{Pw4MN!ebrhjBK{|*S1M)CLG{Dfu2}cJL=OWi)9F zC~hv{k6F310v$Wf~MM+@t60`c3#YTFTpL=-piclJE|7gb2gh?ka6nf?b&9oA2vNG9sT?8MMqC_ zS?EexM^7oi%{qEg0MOB!Ht2Y71~ zp(AjI&Bs%$FMh(kCvkshNEF%5GF2Z3L3CC@4JaQR~8q2XHh?ka`YVB~asotHK>NUCOwYZg*7-dza zn_L%wL-8%UP|;pjaUx^4SeZIqY{vewCP`nr*?FPZ+$1Hyk|A3t})`9 z2;%84Ht&+~u@}5j;Wgh|UoyV>7?h#vV`W@liW~oo)~Ww9ZSUDvee4Qnuj*s@bRfS6 zX8GEEoF2Bm)Rvij+tU$2`M7?iC(cn;RyVWn4}6mjWJ<-=quiCrV^(Lm+3{Lq+KyOL zjhwl-)RAhFX3`M`b1nBeGa0CgEcQW2dfUX=42MJJ_EhYi_pOBdMaU@fOCTHhOT}#YEh^{s{o0deC znCs-AJuNZEQCKlcOxuMhVv?BgQ24r%nBLSkk;I%g3yvU(IYX70+fwm?BxdT||9>QA zC{9(1ATdXlb}ccV{4O9d9qa_HEnCP9?_mdQbTT7XudVF(hS=$+Kx#-hYYfbN71u`2<3pIRCcpx0)?5hOs%v+zy=^mo#( zNq~-{8~gu7FaG`05haF4r_+_hEJ1WtVhmMLB_>}E8Z0sV!K8KmBN>%JRsI4;8Ldbv z$GB?6b*9?;Fha^{S~1l*3Fh38VbyXrth&7h0eG)Gta=t2Y>@bT0p&CDu;So0CIwV$(!djs*m09jhw9ISFhw^~SR_sVEl?MEV1nUrlg9co*rU+xM z!{QE`+7E15!J)xeU*yF(SsP957s=Wr+DR28YrmR^capVKRn~H_ z@iW$b@PAjhWmH zu4ge#+Ldq}B$*=NDx3mGkZ|2gCQK5p(PU4chU`e*Pr_9ym932=TuZL(O1M%GR~4?k zmq!+^!;f|puIG21KH>7A(FhW*=)L5bqaY0=Tu=9bql=d7d6Fp-uB*r{86;c+SvyI% zGBM}DgzJw}V-hYzdGO8uZ+gjtzm6npnk%}Jwe^Ur%351xWLc||!v!^D(|4RcSsRGH zEJ)U(_mT@oKsZR&p6>-m7qWH*i5SV+-DF+}lC>u%;GJY`A(^?TA*;Z=%1^!I-490+ zuBRX_(bfH8#8rjs{EEoJHAW5>BwU}rO~NIw=pIGu%2#8arsKMA1MOElx>ukbiXqFo zN7nN;B?}ZsOiftVgSYpmd9q)ov5LYvCi$-_2 zszZ2iWeMi$53k3>RZ|zFlvUv@2fh9r16%&Z=Rj*NB7m@bzKk(4!gUH zu%V05!PpruGR9T~Gxkh#WWa)n6(Mf4!g2J%k+#8)0q;Ri1D*5S9PTepWQKpozwZ1@ zY%IawX63;f9dE6k=WF1-eO8P%yY*)pZb~4cU*zxU%a{qgB@rFsjIYE62el@7*fptx0+jml~~Xcln$bh`7vUpYuH5 z^0Bld&gNUL$BiEE-NqULp)%97!G!8JfOf6zYW4JUBy6!}(&3clwC8KFFgJ^4R*^Do z2&7{qF_l|l!?wWG8(D#uqD^)*G3OlIAhRkm$t(OM(TQwGR7greB+F!y)~tn~Nt3x` zq>3ds3I3#G%}uN+KUZ_AIBi<$$EmC_7M!yEBzqjEkE^?zo9H;faHz=BOWjVnqdYAN z;ADL*GEM=K)BPlS2&X{OU#>Y_IJvu>az~tw-Qbs}%uTW2bf%wVkK^>(>h9u1xhbOc zJiDit(qb9WnucEg4D2n=y#kwbunfhKfPFQ6%W#*kXE08!o;$v}?HXrdMq_nb0T(Zn zq=}p3ac8{7y*ke(?vUQWK}Ap{OmMD%a~yp_RPhcy+F=}Ss}r{f)=V^r261juv6$}_ zEM766ZW6Y%OBTcsAE%JwR@Xj+{e)H+Ikdjz2G&aYmZ#Z@kg^0xBVvOP9@nLLi*bxD zj!l7mlz)9JR?{q`MJcp7j_b>!W=cC?zQRGo$kjF2c2vO0wp1*;@rPIo8w4&iDapkC zrg2zSJU2COy1?G9#fGKXz~XwuoXZ(_d+N~^>-c5vTeS7Pr(-{D+n5j5YZnV8S^nMD z1SmsOS|S@wYZn3rG|anRVdx~T*S3;f5?}-OQ^LEV%#U{>oZ;~1ul9mAbrnD!XxXG3 zR<%vFZ=eS)ra~)?4fmyxT*7@V!YjBxql=1r=@VVyeh!B5CyhHmZ(V=F=bO;DI0XEj zl4f6tAKho+42N!HXL^^Yi_H zmciLQK+i>tSODF2s|@Io%lv?9HBkXw&x9~q^ROBt`;!*aFo4Rs~hbNa%q(JlVJYvRzd(kgs+*c#KBFMrCYULs}%UQ6^MQ@f9esv1C zpYG;i|2#js^>B7in#&L)7F3VlETfu+@CvFKKSV|KA52!GN%Q(&o&u^JrI`+%hyLKW zW}%~iREX*5))u2vJCo+Ic`uf;Vo7j_9&rXY$h2YZ1bfa~q)6Cvc7#zRYK#2XUI1rw zY&+-?KiI-RJE5~4@x)3Q+IJ9Mfp+ilAZRYH^huDHYGaT!1=GO2uMTsX$>&cNCm@DV(^} zUkcB_8LkvMw;xg!MKaayfO>&`?FK~bB=8VSW@5Vu5*@Q-*m7!Yd-Z;%GFO&wG%tiwWj~ z_x3o<>Zs)@Of^vjRvMU!7Z_5frGZ&{vA+}w;0!11og0|GS5qW^1Je%?V=0Y4-XxdC z$8-Fp(fWO~()bmV&yn;W3Zcz&wcvv0!b1HIfE3HzB+t z`Kt~`!+P9(F-!ipcbyv6fd6YHRJby^1BvYD7~k_*i65FR(_YjluYkOm0uUE z6!bniUjA)Reys`eyN7<6rM^_L^pb@{HuioA1sgLyF!Sarrr}~4Q`3gLcG>U&y9F&4 z%a}#*S+ii_xM>#_`n{gC5J!ET(_&56dWMO2Go#8j7)o|1>D1@7*J-y{X#=@NwYfO4 zY)x35iCkB*6TZmgLk5aa19Y*Ur;?0DaXS{+wbLdc=>weC4MrD1(HMyJ*>EmLMihR7 zc%>8QTm^n^U*GBH_9DjZc*IgUA}f#$3BH1!9)d_aokrsI&%a~o501?LHkN@P<^!1C ze_gDYeq!}=IW)lKsbLzHB~8pMT@qkPgw}K#i+PDdg(zL( z-?#g@jaTgJX^7Fu74vh~s{D6Vb-XkETwWC5^3;l%s*c|RPXcXCLM@`H z8qHH@Qax3$BI)2;grONDra`Qxn1ZW` zT}W161NB&`AapCBdixiZ<~M4kC5EKIN+(%MO~H2Qw*OIZ60J=ArXN!BKD z>Gc-y+TLRMK@*nWTtB}98NYqyP_$wOk7oTgR6l(!Byvi-FPLHq^VXZ*w=m=sbK$zI^CUuy>gq1;%P0|Gr?A@1-o;r z%F;>I4J>`Yrd3C8=@IJP{cj&rAMbxFq8{D<_5k(k{y;}V*-c&^eFt@bMvGpr$Ico^l9ewFoAr+uWC1l+kKpo=A3<; zf$LRVD&6>VpU;y}D!EbXz)h2s2wG?ItFtstgJ{jH&PsP0eRDI#xtT56be|PdXpb`Bt0s6!z5V@-lYiKCp2i8m z+nkBg-I#mwES6GnF^;DUyoG+f8Y;FYU-}cqeV)mkzFvv0$um;gUx1&KPG4QX#S<@m zoG({%7**+-kB2aWMYaA>YR+l9HZD7*?dO={KYWq}Fnns41+W@gAr-(HYD!oEET+k| zs6~K=UMT>%ucQJP_HlHHwgYM9B#g`_|7#_BXKt5(z5<<)09}XPSq8K#ID;iR0OSO>7G!d)z#ok0T08s_p+aHhIM0|_+Dl`#1 z=4Hb)5gV=W&X-IWActupHs-;5q%?_Iiq1{MKH!2TA`=yu+61ME5HO3?!%f7A>@Eu+ zUMYZ=pq89U6Vd)*bcvn;q!rNnKlWcM(SOM5642=wJCH&ro z+K65S=dj?KEM@}!Z_*+@yeJZ&T2+f!g8>c!+IB?{phHQEaHKC_iUiKbbN1z}nJ1u0 z*oFR4G>MWAVs9qy1*(d~E`|aMfG-TENfcpX56#3sFjX6-ndmhG-uY4$#@u0=i9S={ zJyNQp)}nJWF%H6pX5#kAAOY5by*0HLWQG3IDWZW2uzdcvKYc? z6T9AzF4@UITLJ!yU;WogwlA|wP+Osv5vb$*prWbh64LM*#jWo}2elbUDxlu`@P93+ zzsu+n)JY1cix;bs+FeisTE%(q#@<}~45%sqr~fi?bMXwUX=pC8F)1FVxhSH+L%y^T zgNHE9#e8(pms~L$;hqDGr)WxZTN((=uDEH1!#)k zu6Tg(^US0%-NAkm%`W$FCiZ_DDCQNZ|vS9EekueiaJKP4i>*prd;nEdii!C(l0L613D^NU! z{3}o_0d*CMRF(dzK+%C_mP&JUfTkD6MW{5N+kP70ACK`!5d3Fg4w}LL`@b^)21sj> zYXyMoz>Ez4aFvzQ1phdhdXh9OK>h1`15m7crw5?u0RP61lp_B_w<{+BmdV*%h zwdSLt3_q zN^@+0=CQj2G@pN~2a3ES{3EA_z;C%rf&UMGQ>6cKgUP-jQaV}e?|Sg{ZQ1;`fsCtc6=B0^Am@oe%|wa)X%v`@tJn2ZOKogU2Zt^yf=QN z_rDD9-;W9*O!yUqei;At1bZ0&)`Q{w=Mm6h!i$7(82_yVZ5V&LASayvO$26`@GlUG zVf<5$z`w(8w8}K-Bv|IaANO(bufS%$1|5IU2D@b!Llb9fE{3>Z7f_{7*YzV^eeX%YUd>@=04d2VcQU87eW%p$99Tk<}XDGW);#A8B28mM)_y$%K z9GIo%@T@TMdlM5D&meqCRQ8KHu(b!5I%D}#2a@i}%wnl}B7@a|AXRrTX9Z3WPUC&3 zJ+G;?2h_#06bZg6i2gp#@CvIxm6@f*tp0qv}v_lS^lOV zT9((SBs*rgrgN74!MTIn z5#>9X1cgC4B4NJED9DrpzG0f~thbz8f>8wJ%b=s!-40*Czn|QKpw0*^QPqafX3inrR+Js|x7SOs&;g zkh98g>mG3ntYUtqV@qb+&>l(Vww_5Qr)QEme0Gmy>JL$pVJk9veL{UZtiUrBK$PAnrrnV12By!D>nqYELCq}PiRN=rZ-NZCl1UErZNie zw)tRAanI5UbIn|_Yxl~W>a0=RB>vb{tHz7B{|0Jq&d$|3aWj-RfxU{`nG)CZ554>L ztB`_28@Jge4Z!MJ&nW3a-ap>@p@xlk%yGNL+C57UP(;5&hnA>^(07Mt@yXM`^Rrk> z1fG9!o1f>|C(rYpop63PEYCW^`7+>~Yv;QJn)<;GKu?pIZULvt!1jUalLopo(?d@S z(;uMtfpq@>)1Rz~$aK&(toe|a;ImL-dY4b)h$LNUVQR#C zCeLXx)QE6A-~9M#;Q5z2#`Co(9EInLPM+t^!qpU(=Tof_<7B2^1g8qqx2-y9pgS{d zJS|MWp=C(>z^TIYJGVw;I=DtaUP5X_Oz+tm(}Ru8q88^p43xwG&2mPw*(R;UV#)Gm z9BPa2*9E?3%ioD4`(z7z8rtF0#K5OG|0h-z#rXz)vIaXcEk;3CZ!y zwqmmxOAC{HoEhs3=SlZrJpin!UrG{EP+)oa7Yvs7yP4D#SgXO3S{q2}x-dx%VO(LU zwAn61p$iM+b)9Ou>IL)5{$ zc5~MbpWj~HmVRq_bzAnD%N)Jkh3!Q)sp=8dAh;S=Peg}Ko%p!y$Eb_v23O^wcUF39 zjZGT(zzK|Lj7WLQ?UW?ykH#}Zc#Pcj&2&qQ>=xhUkLkFtX^p14(Cg?8B5@!h&d0Si zM)xeAd%9M*>ltVWxW--~)#%!`a%lDBQQQ!|?W$EtiUP59jSh=v?;>Tw^O)2J$SL{$ z@Mf0pJLM+(b!DZupg2_+0~# za_>n4U;vq*;y+mc`lHwt06tkR1AwO0|DV4(MT1K^Z%#>c4wOCzLQ2>_v#=B{Bt&x{ z#J%A|tP6y=A$*86fe?lM5Nwm2bUlntXhCrXp**tC6_;`gl|chHPh_>(Z8bN2s&{Xq zaX?&C&LQVy5d)7z@e`rcKoh&TIZTUtM)9W){%|8`IlM=&3{d0-DXxj%V$RviZG%yD zArABV8f+-}euZNgNisj0e-A$u0e;4W@Pq2~@4)9BFrnb{h%*?UQU4x(rUdxuqwwPw zXp-2CtcT%d@Eh51lbbBwOI-$k?8@Z>B~2jm_GOfrX5WpNBgh}mMm;rbc&Vr1<)3K+ zrpx612nG~v)mUs@zx_*dv{8@<&tapi>1c^2_?xm{W8*LahKRz%s1rZL!mTs zN!2$SHU2b2U45R>GuWpQb-p}q+vBH*K;QY|{F_K;XS}j=+PB73vN_F+!{}eB&wGOPFbU zqtB<&;5?Jyi2OnGx{zB+N~>4rYMhH`{p{)zadl?KK5SOT0g~=DI{xZI8k-}5w#c|G zhiuZO2dKYH!Z_f(Y|A0%2=y)uA9sj_xr;8&keZ+_&d90E;x>4O@pF@Xo+18l%d_NL z3Vq8nrC%c$*6Pq~7~ORtaX9=|&E2UmIV2_~Q(|NCd)P~Yn4Hm5Ogit61<4hl9s`oL zP$nO9_7IXgu==Fy;-($*F)$ey%4FNJ9%6EIOia@D{ur37M6jUZzO1L1bYWFX*GTS% z%_jyXHzHUNlP}y9grq$BV^x|f&+uih&RRWBtjxrzOxS%W25nTv2?R5+qy>{xII$6< zzH_nRU%5f_(c`3=IOBcRWN2Hcz;PAcf}GV^+{UQ&`3MGri!0Y_gLW~?`5`e3 zvBD)BGp3Vc=Gs$Y=KKiE+;;4wkogGKnowl0qL@vcGHA-=aw@`R1>E?GyI(t(7DiDI zx)p#9qqI_s1I2Yy8&-c7dgBTY7a%T`(`%lge4j|o?mv2h8ABvyKKFKunfX1z%r9Vd zW1`a$nX>LNgT2WeiYd60O;WmMqgZH$zMy5+r;1jbQ>u}*tDp`!LfGYMSUSkrD1M03 zql?725^oTJWoC_WyYHobB&rajFvOGVgIY80DL^Kn3Rxu_`>SL(A@22q;g$r!WJ zkaHZAj+eMIrzzC5M6Ix$j67Np)K+R&8bob?VlpTmS1D#KMuk@hl30rsN#d>&VSc-q z;X1+@rG?i5AiNzCGQRe=$r>I%%+#)#5Zk{2P=UvYCIPf zK9P=>?JcEH^ui=T%V&+|Qo)sDn)C(>1zjx>`ku*$)Mw;W9Ohn;-z?t6{8SB>fazeJ zkU)njMB(n$s!rU=yt$1R%j{jo*xSI^yR8#@t0=z8-Uyk!MV;8=n{~wC#x58X3$ZrY z*sI2d2EIaGEG>IsVll+iVq_EGkPUhM8-k0%s%Yk?T=vVE8rfRQCMgSz?tJYO9G0nB zVTAT++Mu5`(qgV?rc>6L)baZ^!y~ja!|A+<0dwQ6f7Ts72LmuCPlF9$B__& zqEdv41?!LrwFk)S_r z6$%gF2T!3-di@YOt?skXFTlb_SDzvaU;OK&SP+qQWo%P^sx18BpC`qFA;7|(t4=&icgh=fhSiGx&RA1uRKK*wjJ~rgpV8L<5GQGijPb7PcG1q%KR-E08^EU z6ET?7Ay~MiCLW`tQv6AU3-ip8uETuW-gTIQ<6Vb2c(m&h;>d2X`G7JL6_dXFtsMVE1M(zR`$tIKTHdR1H@y z`}zKCi@~WUFU$aTb2n@wHq;Ea9Zo9^3K$~%$rDnoWQ zQf@NlY~{We-*Rm;)%K@wHyd0&Q*8pAyf2>XlhG)Y8}eGc)T;WlI3awiuhoMW(W)mU z8qK0r&)=*!m|Pp+>z+Q!ZCm0=5Xub1^JeadSZQd0zTcRwT~XkiT9XZ3snL01O*WLu zMrUeGHq`D$XaAaP@YN_bb3bdSK{B4QhTG|P|B4;;%3f3q#fC$Vr4KDhLZ>YzQ0IlDF)5m;+W_~k6%@HT%{Q)TRUab=+8gae&Det*wYP8Nce1tWJm3Ym; zc0jkzZ&WC89QF-z9-6_5!a0XO;d5G0s&2OdHpY5goi-l_CFN{&_AzbH@tbvaq}!U& zXsfdv7hHM-akIZRw~NA$**d$(R^l79lF}<|&v>U&+H|$QvVy-So|E}A)&3KiMOu9o z9!<4>hevTqRdwP_O;r;5)T+JUUHTpwLT{O|&(&yhH6lo96)AC>dfzouV}EMEJu@{W z#lAteg5GP#F^WKnXH>n2BuY!9zsON3;vI|mmssj|=CjIVtqD(kmQgsksuMtz5h$*BkARk~0A1_2}1CN!m2M&GZ z&aN`2YBg0}#3_-I*Rz0F-qu{v`U^l*O#dXh$4b6*gGVXkR#_pV^lCzFj zbGEMNi!jp#t$VgUXAgIzlG&@8n$@)9H4nhnNXY|3np0MmQawff3dIs}A`uX`XG~N> zZ-*v{dhh8+8qan`koT0sqR0}U*7;J%ZFz7q;V)$bf8Q_|Ovd-;5e@ z36wDusW34M4#9E=8fkoWmWGQLTLf6l3J+set_ahwxa+p46!I|$;)YX=xx;k$-mels z0T<4uGA()#Q8q3XvOE)HYh1gH)?MjuN8R8KN&CPk>GQL*I4>@B=u0WkWe%SR zgD4G~blwzzi8M;2v&khkvqpjyKqzX1I-ph#tYp;E7BSSm3sgGugEC-pg_mcV0l}qH;Bv$V!}SFSMS&|7F~h?(3#3Efx^Gjr;i5Ebk~c?%>!0Kbh6|mi zFCFy+y%@%JU!Xvk_O4Whpl>oNij)^&Pz2dbE)h9%DL+z!?raNb_82qL(pQ6!&Nrfi zGEUf5SLmyrHiGM0yKVgl(*sQfc=t^7#kr0+ z=yO567qGKl~Z0y=gTP!|JeIo55hL~%V0PzL&iJtGs z6RjlLYNKl#m>SPF=>-h>EJ;2MZXG}+))nN{o2uIuIgeJijo>c8RK!_~lG9kdMmvIw zEAaHed&chCZKek-zFm^1&n%GEwD*II8O8(@FOh{g8on{`|~WuY%TX-WWPOeNz17-&UI7lYXZyD$Nn!ifB9 zN)TL*Wd&qp`AQ`=amv)HLmH=14owjF5|L^vHZl7EExZksWBEgCKlm;L!f_amBL|C- z0e_i5?R<)wRHb5|Cc%RmjerNHS(^L}KLVWmJ5~bXKCjVPsHEp=%4rX??33KdC&BN7 z$nNj#h3;@Vt${i!ZpJ#Q@V*c|d<*<-wV-n0KWi2$T2E{Ybwc@)|2H*@ zP0bC|MmIN5)6>lQoo3dS(!wjbpOu-u@}iE}DC*=hEyxGk0OUESVOvNOVlz;r7c!nu zAq+LpKYY`cWkW|sCCb=+lr!gST{hbELZP|o3!T_0A)Kry&(6SCLY3kDNMq;d!Uzdj5qk-rxoe2?t zir$*njZ*z4kRQD@uS=2rMr6mQ!sSesrc;$^boP=Sg+hiD5?Bz@aMn=>_#iCBLRi?N zbfnA!?d=AhIldq|DqAhqRkYB%^(^Osu2Znl$RXld>g zr*^uy-F>sRUYifYTici&*0^uzBX?l2xLGY4*s3`L22<~vHY8Bp9#?ATy=qkGz^o-> zI`EENZSKsuP>D?&`iV_;*p1#_Tq$mbuF8mGdIH*2#%^3O@m+nKCpj8@tPgYOZBh}6 zSM)+(@j0)DzT}xFzU98r&+c~Ex1gm|ADiO5h(v58g+7GPN1WqfBZsmw580RX>O5NH zq*1!bcBwQIK`q|$xV`lQYj<0%0nZOgs<>FI0rcdA;PfoU*WE;xZM*pO{iv6lK zGkBuiqJiPgl2Q}wgx?WD8ICF9)`fHBEWFCMDjhM!eB+F z6%a7fV3RJ*ARG>tyHn5?#ECnJorgW+kc zb1@O9EXvqN10aXbhEY)c>j<=$wB~)zxejfyG=NH3K>`~_FdlUHd>2s^sS;r+WTW%! z;u6WT9fL(_I%x7+^biy;;HSU zPfvt?3UvH(4|qj7vd21drE3iRVUSQghm^p^MEy%i69JN}P?Ot$z}F$@p@Xf0v>KUx zbzo_-K^oF2vTRcfB(Rr-NJa8NeLuSP29mJm2G+TRxLLo}zPNc_6^euM z*4hNEgXthLdLu7X(Sy!`|E=rMWw(BSKUG6s$=7Too~1UFKvgEa67$kPQV}K+*V6l# z%=Jwq)}=N$%gaM@8R)+kAi<9P_f6!-a@~4A5&aZ@M5BJ1C7b`5cM*Rc^k*#^$u;uKB1yrOkk6LW5p>f zyE|YoT9=N`Ia{3lGraHaKx-c;qN>aB#nT%WO0G}U61XMn`5>pjFD7IsbN#DoVfn0b z;*YeAnuqeLJISMtJQ|n>Y`X~9wrvx6z6!XHfLSD7{3010+%jIx})s0sO= z#Kvtg(il*%NbbTDZWM>*pxfee=wMYU3rLJS(FT!OgiKLVPTe+`0Syx5Q85lmJ`@I- zb5pNcho(>?=2bOG1`NWnhXO1az>>{3$cP_`cQesuAFAQ=HjOx%NYzE-HYlBO@66m- zxB!dHuyTB~I4d`9YfZMzf?We=H}nBfdv<;@wiMp%?6=&=Z)G*I40z=@#s&zzuHnWD)9@FS;as_~No>z!8P93(XbV&ARC-bk@g z4I#dcq$(TL*BJ{@UsoAxd@PZ4{8B1u_@!i0=~s_|5&h~kPP63jC)@fbls6hy{=^B+ zEX`y7z2MdQIR0RkrjFFxoQaqJdZuRC8XUOYmLL@F7hCxK)2`c@CCvXw)Vpc*>5-Yb zG#u((BHc>u2>+H(s5rn{TFZV>@1hW5;YUYiYSVE0t8@@K*`gsTo_;W*;|&UuxEE2> z2Dvx9#AeTMFeX+UD3SJ2s?E}${Sl>_0#p$i(1x_yGW4**8At*2g3Bgf0vHuDUnL&u zXAVxQUo`l9)5}|HKCK1~p|Bl&K}{Qj&4yoiI`i;Lu#KW$z?DM3SnxUBSY3w%L_JHZ zWv2Ojt>=PHey}2qT0`MH1C(z@C4B$$H6-j@Vgr%!424Mv&OA5=W;9kG*TM)e>m01I z*TfTf*6;ZS)uB#2MMi4hpgYM))>nDea6=xPAx4D;3fJ5~L-FPY3fSC`OMhi~v=~az zRSuM{2XeBhcZwA#w|M%AeJKh|Yo7@iCaJnVK$Ig)@kcQFBT%|Q5zyQ)B2+D&Iu~W- z*B;5|-cCMiR3CIWUJ~Hj%G6G}5=ytflfDE{s4@|)lfIE6QSY^v5}W8xtiL}oi;?C* z#XS8XUrZ?uQ&Vi96hA9f*?VoX%ATAe8HYcGS1eq&|7vy^s~#rC=J**qS7mI|O4QZYvT9(Z=ML1IxD{{Cr0l8AKB#K01K^-szEA#eN44*>=`Uo8yW&;)@GC`_`t)j_$!p2mErfXPC>nG~%gzoOMy zEsMqH-%ITzIgDnq#R?@^&Cl3ZDz-W13k8OFn@*##%_|Wu!r7B`i;dE3OuNeyti70( zg7j6g4HQfJ@|gl8k76oDAXtbo_u@`I*?u3|7l4`68}-;L;2Y0qI_BG?zu%+M()tZU z98n27kitqrfBjM$7>=z3# zwR1o$z``s^EHKhitpc+Hexd5$ek`zp`lrL-if+(uV6qucmDV}HRz<(k$NNb}pCUKu z<`-jriz(^TRYx{+5W{GH?0=`vjAI%i$q6Pn`(PsRL6#6!*in1D8SIm~3q2a~mR=$z zAo2k{e63_&u#)kCyuQXLNStfHz7U0jI?_FHtE3G-Y0W<5N)eK3va&uZ+`gxPUtVgs#uyTd>P7=6C+5}S176QoQe zJs%SZX426dsir1Q$6b0PzV;3%`kWQK%DA*3{5nFVyu4DZs{>y`-<1d>8ic;7^qZ%D zsvZ0_vqT@FL@D*n9}%2vyff=n1sWdEb@FK+>JOu6th6SfxYU{Fm`~Zb|9YT@IcWa){AJ_Z z#tI$KE|N4z2Zm3S`4IQTS~R_eqEczOTScL_xP_(*u)ft_-{L7F8I2pM{PXU>;DnT8 z^b!s|4T@OJVIye_mE?*s9McL)2LRKQJO4G_JH(xzx?G1QS5akD?-g-;6Ru@ZyrJ=} zGM55kV*k$~@np<60-eX|zM~r4+q2W1gKbs%-Wa1`aKVB-X`o<9HEg!fo_ª}nx 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�qXAazRZARaJCTx444 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

XRdL^Vs_6gUmA1^6GgoG2CL0@C1oB!2 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 + &self, + container: &dyn Container, + possible_sources: &[SourceId], + view: &BinaryView, + arch: A, + function: &Function, + ) where + Self: Sized, + { + if let Some(matched_func_ty) = &function.ty { + // NOTE: We only need one source with the guid, types with the same guid + // should be identical across sources, and types should be referable across + // sources, otherwise we will end up with a lot of duplicate types. + // TODO: Add a special type reference system for referring to types in a different source. + // TODO: If a child type is in a source other than the function type this will + // TODO: Fail to work, so we are enumerating all sources here, this is just + // TODO: so annoying and a bunch of wasted effort. + for source in possible_sources { + self.add_type_to_view(container, source, view, arch, matched_func_ty); + } + } + for variable in &function.variables { + if let Some(var_ty) = &variable.ty { + for source in possible_sources { + self.add_type_to_view(container, source, view, arch, var_ty) + } + } + } + } + // TODO: I would really like for WARP types to be added in a seperate type container, so that we don't // TODO: just add them as system or user types. pub fn add_type_to_view( @@ -248,6 +280,14 @@ impl Matcher { // Adds the ref'd type to the view. match (c.guid, &c.name, resolved_ty) { (Some(guid), Some(name), Some(ref_ty)) => { + inner_add_type_to_view( + container, + source, + view, + arch, + visited_refs, + &ref_ty, + ); view.define_auto_type_with_id( name, &guid.to_string(), @@ -275,10 +315,10 @@ impl Matcher { | TypeClass::Float(_) => {} } - // TODO: Some refs likely need to ommitted because they are just that, refs to another type. - // let guid = TypeGUID::from(ty); - // let name = ty.name.clone().unwrap_or(guid.to_string()); - // view.define_auto_type_with_id(name, &guid.to_string(), &to_bn_type(arch, ty)); + if let Some(name) = ty.name.clone() { + let guid = TypeGUID::from(ty); + view.define_auto_type_with_id(name, &guid.to_string(), &to_bn_type(Some(arch), ty)); + } } inner_add_type_to_view(container, source, view, arch, &mut HashSet::new(), ty) } diff --git a/plugins/warp/src/plugin/workflow.rs b/plugins/warp/src/plugin/workflow.rs index 1f4ef1016..105a9d133 100644 --- a/plugins/warp/src/plugin/workflow.rs +++ b/plugins/warp/src/plugin/workflow.rs @@ -196,6 +196,18 @@ pub fn run_matcher(view: &BinaryView) { // match if we have not already done so in a previous round. // TODO: What if the new round changes the matched function metadata? Unlikely but possible. if matcher_results.insert(function.start()) { + // Add the referenced types to the view. + // TODO: This should ideally be within insert_cached_function_match, right now + // TODO: we have this code here that needs to be duplicated when applying a function + // TODO: manually from the C++ UI code. + matcher.add_function_types_to_view( + container, + &sources, + view, + function.arch(), + matched_function, + ); + // We were able to find a match, add it to the match cache and then mark the function // as requiring updates; this is so that we know about it in the applier activity. insert_cached_function_match(function, Some(matched_function)); @@ -301,71 +313,83 @@ pub fn run_fetcher(view: &BinaryView) { background_task.finish(); } -pub fn insert_workflow() -> Result<(), ()> { - // TODO: Note: because of symbol persistence function symbol is applied in `insert_cached_function_match`. - // TODO: Comments are also applied there, they are "user" like, persisted and make undo actions. - // "Hey look, it's a plier" ~ Josh 2025 - let apply_activity = |ctx: &AnalysisContext| { - let view = ctx.view(); - let function = ctx.function(); - if let Some(matched_function) = try_cached_function_match(&function) { - // core.function.propagateAnalysis will assign user type info to auto, so we must not apply - // otherwise we will wipe over user type info. - if !function.has_user_type() { - if let Some(func_ty) = &matched_function.ty { - function.set_auto_type(&to_bn_type(Some(function.arch()), func_ty)); - } else if !function.has_explicitly_defined_type() { - // Attempt to retrieve the type information from the named platform functions. - // NOTE: We check `has_explicitly_defined_type` because after applying imported type - // information, that flag will be set, allowing us to avoid applying it again. - let bn_symbol = - to_bn_symbol_at_address(&view, &matched_function.symbol, function.start()); - function.apply_imported_types(&bn_symbol, None); - } +// TODO: Note: because of symbol persistence function symbol is applied in `insert_cached_function_match`. +// TODO: Comments are also applied there, they are "user" like, persisted and make undo actions. +pub fn run_applier(ctx: &AnalysisContext) { + let view = ctx.view(); + let function = ctx.function(); + let func_start = function.start(); + if let Some(matched_function) = try_cached_function_match(&function) { + // core.function.propagateAnalysis will assign user type info to auto, so we must not apply + // otherwise we will wipe over user type info. + if !function.has_user_type() { + if let Some(func_ty) = &matched_function.ty { + function.set_auto_type(&to_bn_type(Some(function.arch()), func_ty)); + } else if !function.has_explicitly_defined_type() { + // Attempt to retrieve the type information from the named platform functions. + // NOTE: We check `has_explicitly_defined_type` because after applying imported type + // information, that flag will be set, allowing us to avoid applying it again. + let bn_symbol = + to_bn_symbol_at_address(&view, &matched_function.symbol, func_start); + function.apply_imported_types(&bn_symbol, None); } - if let Some(mlil) = ctx.mlil_function() { - for variable in matched_function.variables { - let decl_addr = ((function.start() as i64) + variable.offset) as u64; - if let Some(decl_instr) = mlil.instruction_at(decl_addr) { - let decl_var = match variable.location { - Location::Register(RegisterLocation { id, .. }) => { - decl_instr.variable_for_register_after(RegisterId(id as u32)) - } - Location::Stack(StackLocation { offset, .. }) => { - decl_instr.variable_for_stack_location_after(offset) - } - }; - if function.is_var_user_defined(&decl_var) { - // Internally, analysis will just assign user vars to auto vars and consult only that. - // So we must skip if there is a user-defined var at the decl. + } + + if let Some(mlil) = ctx.mlil_function() { + // Apply variable information to the function. + for var in matched_function.variables { + let Some(decl_addr) = func_start.checked_add_signed(var.offset) else { + tracing::warn!( + "Variable offset {} overflowed for function {:#x}", + var.offset, + func_start + ); + continue; + }; + let Some(decl_instr) = mlil.instruction_at(decl_addr) else { + tracing::warn!("Failed to find instruction at {:#x}", decl_addr); + continue; + }; + let decl_var = match var.location { + Location::Register(RegisterLocation { id, .. }) => { + decl_instr.variable_for_register_after(RegisterId(id as u32)) + } + Location::Stack(StackLocation { offset, .. }) => { + decl_instr.variable_for_stack_location_after(offset) + } + }; + if function.is_var_user_defined(&decl_var) { + // Internally, analysis will just assign user vars to auto vars and consult only that. + // So we must skip if there is a user-defined var at the decl. + continue; + } + let decl_ty = match var.ty { + Some(decl_ty) => to_bn_type(Some(function.arch()), &decl_ty), + None => { + let Some(existing_var) = function.variable_type(&decl_var) else { continue; - } - let decl_ty = match variable.ty { - Some(decl_ty) => to_bn_type(Some(function.arch()), &decl_ty), - None => { - let Some(existing_var) = function.variable_type(&decl_var) else { - continue; - }; - existing_var.contents - } }; - let decl_name = variable - .name - .unwrap_or_else(|| function.variable_name(&decl_var)); - function.create_auto_var(&decl_var, &decl_ty, &decl_name, false) + existing_var.contents } - } + }; + let decl_name = var + .name + .unwrap_or_else(|| function.variable_name(&decl_var)); + function.create_auto_var(&decl_var, &decl_ty, &decl_name, false) } - function.add_tag( - &get_warp_tag_type(&view), - &matched_function.guid.to_string(), - None, - false, - None, - ); } - }; + function.add_tag( + &get_warp_tag_type(&view), + &matched_function.guid.to_string(), + None, + false, + None, + ); + } +} + +pub fn insert_workflow() -> Result<(), ()> { let matcher_activity = |ctx: &AnalysisContext| { let view = ctx.view(); run_matcher(&view); @@ -395,7 +419,7 @@ pub fn insert_workflow() -> Result<(), ()> { "This analysis step applies WARP info to matched functions...", ) .eligibility(activity::Eligibility::auto().run_once(false)); - let apply_activity = Activity::new_with_action(&apply_config, apply_activity); + let apply_activity = Activity::new_with_action(&apply_config, run_applier); let add_function_activities = |workflow: Option| -> Result<(), ()> { let Some(workflow) = workflow else { diff --git a/plugins/warp/tests/matcher.rs b/plugins/warp/tests/matcher.rs index 880112d03..eb209a2cb 100644 --- a/plugins/warp/tests/matcher.rs +++ b/plugins/warp/tests/matcher.rs @@ -7,6 +7,7 @@ use binaryninja::platform::Platform; use binaryninja::rc::Ref; use binaryninja::symbol::{Symbol as BNSymbol, SymbolType}; use binaryninja::types::TypeClass as BNTypeClass; +use std::path::PathBuf; use std::str::FromStr; use warp::mock::{mock_constraint, mock_function}; use warp::r#type::class::{IntegerClass, ReferrerClass, StructureClass, StructureMember}; @@ -14,8 +15,10 @@ use warp::r#type::guid::TypeGUID; use warp::r#type::Type; use warp::signature::function::FunctionGUID; use warp::target::Target; +use warp_ninja::container::disk::DiskContainer; use warp_ninja::container::memory::MemoryContainer; use warp_ninja::container::{Container, SourceId}; +use warp_ninja::convert::platform_to_target; use warp_ninja::function_guid; use warp_ninja::matcher::{Matcher, MatcherSettings}; @@ -180,3 +183,49 @@ fn test_add_type_to_view() { // Make sure we actually added it as a structure type. assert_eq!(found_type.type_class(), BNTypeClass::StructureTypeClass); } + +#[test] +fn test_load_type_from_file() { + let matcher_settings = MatcherSettings::default(); + let matcher = Matcher::new(matcher_settings); + + let session = Session::new().expect("Failed to create session"); + let out_dir = env!("OUT_DIR").parse::().unwrap(); + let file = out_dir.join("test.exe"); + let view = session.load(file).expect("Failed to load view"); + + let platform = view.default_platform().expect("No default platform"); + let target = platform_to_target(&platform); + let container = DiskContainer::new_from_dir(out_dir); + let bn_function = view + .function_at(&platform, 0x43e83b) + .expect("Failed to get function"); + let func_guid = function_guid(&bn_function, &bn_function.lifted_il().unwrap()); + let possible_funcs: Vec<_> = container + .sources() + .unwrap() + .iter() + .flat_map(|source| { + container + .functions_with_guid(&target, source, &func_guid) + .unwrap() + }) + .collect(); + let matched_func = matcher + .match_function_from_constraints(&bn_function, &possible_funcs) + .expect("Failed to match function"); + assert_eq!(matched_func.symbol.name, "my_signature".to_string()); + + // Actually add the type information to the view. + matcher.add_function_types_to_view( + &container, + &container.sources().unwrap(), + &view, + platform.arch(), + matched_func, + ); + + // Verify that the type information is present in the view. + view.type_by_name("VOID_PTR").expect("Failed to find type"); + view.type_by_name("test_type").expect("Failed to find type"); +}