From 1c5e9ea9c2d521f74edf19decc369bde542160db Mon Sep 17 00:00:00 2001 From: dragonmacher <48328597+dragonmacher@users.noreply.github.com> Date: Fri, 12 Sep 2025 12:31:19 -0400 Subject: [PATCH] GP-5979: Accessibility - Updates to the Search Memory provider --- Ghidra/Features/Base/certification.manifest | 1 - .../Search/images/MemorySearchProvider.png | Bin 12965 -> 19050 bytes .../MemorySearchProviderWithOptionsOn.png | Bin 24494 -> 39514 bytes .../MemorySearchProviderWithScanPanelOn.png | Bin 15611 -> 22707 bytes .../Search/images/SearchMemoryRegex.png | Bin 12815 -> 18713 bytes .../memsearch/gui/MemoryScanControlPanel.java | 19 +++-- .../gui/MemorySearchControlPanel.java | 71 ++++++++++++++---- .../gui/MemorySearchOptionsPanel.java | 40 ++++++++-- .../memsearch/gui/MemorySearchProvider.java | 12 ++- 9 files changed, 114 insertions(+), 29 deletions(-) diff --git a/Ghidra/Features/Base/certification.manifest b/Ghidra/Features/Base/certification.manifest index 86346a4e35..66ddb236cb 100644 --- a/Ghidra/Features/Base/certification.manifest +++ b/Ghidra/Features/Base/certification.manifest @@ -100,7 +100,6 @@ data/typeinfo/golang/go1.20.0.json||GHIDRA||||END| data/typeinfo/golang/go1.21.0.json||GHIDRA||||END| data/typeinfo/golang/go1.22.0.json||GHIDRA||||END| data/typeinfo/golang/go1.23.0.json||GHIDRA||||END| -data/typeinfo/golang/go1.23.2.json||GHIDRA||||END| data/typeinfo/golang/go1.24.0.json||GHIDRA||||END| data/typeinfo/golang/go1.25.0.json||GHIDRA||||END| data/typeinfo/golang/golang_1.15_anybit_any.gdt||GHIDRA||||END| diff --git a/Ghidra/Features/Base/src/main/help/help/topics/Search/images/MemorySearchProvider.png b/Ghidra/Features/Base/src/main/help/help/topics/Search/images/MemorySearchProvider.png index 86aa4931eb372f2813082482f2cb461e9f7aecb7..0bb8d69c1a84ba9118d3fa46f8ea60f0a15cd8dd 100644 GIT binary patch literal 19050 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 Sj{?t0*}%WGV_b^`(Y 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

>rtwW{wu2s7E05kpPvGgErnWlvcvgJm>A-K5 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 diff --git a/Ghidra/Features/Base/src/main/help/help/topics/Search/images/MemorySearchProviderWithScanPanelOn.png b/Ghidra/Features/Base/src/main/help/help/topics/Search/images/MemorySearchProviderWithScanPanelOn.png index 94a13ce3baa43ae7ab149e61fbf5664d213c74b0..329088069084e486601318d9458b50bdea6fc451 100644 GIT binary patch literal 22707 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�bBcA7EUFy&t$ouw3Us$DJ1Q4jqH2V zB9-_hRv#PC^pG-Gugj*U$XTyH?DK6PjpSmOs8_(+-UCGmp*mY-_7+~S5Qz0@sm=_e zG>!3-^(lsdE)Pgybibb?Qq%mi9@qyG2T{VX!9ceoK=R&4t~}xzcRNG!N^A6JhJsad z&D-V5i?xDv_xE@%e`|j}GlH=5h}vBHyg4J|_A32hGW80gMRdr)=fA!Yu*GA}wzT3BsK>WIhp3+m~A?>T?n5jPfuj8gSL@O~0sg_MfdH>cQnDJ3Wx_ZK!r z7W0Zf@5A73Jft5sKupiiJm)xn7s2SACV7x24Lom~p%t2? zMWcC7BsY=&{3+FP)4wghv`%4%P91J&Wqb`X65mDvF?sw-R0BmB%a$y}V~i*v^HPWPHbUY@^74HWC-@#dPY$CI*v+jldb6g#%*I1-}UQ>LmT16Ts2c{{Disv25UVp zQ2TB8jrs5E^jxUA;Oe-tDKG9SR!^KBg>C$y&a71b)c6336SpspU98E5EPh(Yg=jU( zL_kX%mLlVP2#$vRV@$mQ zTwq*#O@EPBNQax&}p6~IFTucVH{9BF= zpyK7Nrd?E(L0T}udK#8s8u#szgz;M^0g1Nb(tfD}!A@t6=MART1^5dJIg6cBT+uVsaWoFKQ)L$ErW{fQ}a_4u7!;F)G#DTHrjJY|GmkBct`9AvT>_Og$##)%tdRtS~UX74H0 z$}tm1Fb^In$DKS+@zXGDpIuWmzD8WvytpCNAel%`Wj=!q7C&B8Jho7aK`n0verv7OY;!_Xmrn}u$?C_ zAp%x75Pfsjrma1Qk@&a{VdALrXWK%2iKu|>P7D!URBi8D7584kPiD?xH+ z3r3)ZIkH?=liX`%JxS9_=gB^BEB|^+_&uN1W>spfQ@&J4xYzQadoxTS9ayAM>l68F z(hVsbUC>tB⁣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 literal 15611 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 diff --git a/Ghidra/Features/Base/src/main/help/help/topics/Search/images/SearchMemoryRegex.png b/Ghidra/Features/Base/src/main/help/help/topics/Search/images/SearchMemoryRegex.png index 0b77e07997cc275a8866dc8e7329b1e73fa533ad..75f1cc6eacdb96173436e5caaad81f7f2c68f7c9 100644 GIT binary patch literal 18713 zcmeFZbyQS;*ETMqfKnn#hcI+^hje!i9YZ%tmr6eHie1 z3Ih%JUqOhkbnl-0ih{I+wztV%HoEt7otv8}<6H4X8)LuOhH3}!PHV--Hoh8j!l92= z8j<9+Z}Q*0p~e{ZgD&~GPL5R@o^x%%sgW?}^K$*5(9Rt8 zrofJuTa7LR@V&5o+t&tOd?pND+2hNd#tdFkDv>8=bW!V+Due@~C9hrTEEdleEsBCj zT5m6VkJzg=qL9lYsc=+r7AU&fRvtmGZ!=P}NDfQq+^tM|%DzFH!l^--!oj$*A6xWr z!cKJ7x<#A&*CeCpVx#_8yiEqDp~`qdp)Uhb*CNs1=|?8CWXg7u&Q8R>ZoH|0UkTqBku=m3JO4p9lyrO9b9 z>ioK3JbsXLF*Z+&y0Mq?_E^o~>$^p+nXmDoeo0}HQK#@4Es{>}xM=-$Jy|xvDh;Kx z!5>;Ab&k2wp(%t8S$T)drvo9+FO%sc-7c-h8C6VLOp7a(O5)c_QpTA+5%QC8D9e~YzO{nTM zu(zFUe3qNyq6U2)_WipS#LC~k*0XSsNvgt&z#%5Dp$+Gv-uX-d>|)!)=(LbnTyN)6 z%SSo~V^?Y1S7Jxpyq>kT^^>gqj=d*8{L{`xGi;Zu{_H$d8u>wFwh28bMJdO;tu-kP;4w;?VFZJIIxk zorv#xzfcliSv8SP#e&Jq80UG$4CPHe^rX}lV)w7bvaG>j8m&-bP5?XsO76?p*AZ+m zR2Yc5)<|%Y2JL8kgOC5S^daCmZhgd!u#_n6+Ddj>S{dunEXEGMvlOv_3;3A$Eek3- zPEv0ap^~q!@5^)bbqL>Z-`0EkJ!BW}rP2xi<-n`zlf;tSd9@t>hFpJkf2l{L=2p*~vGh6*K0V|6jzk~3-sq`|p^Whf5Vk6bAWObYh90vc84>eI<; zMh!f7F3%UfpH#W{f8-ts2v}U7bfztmkJ(MP$zhx}_HugJY8>>^&CPA_#rOMmpWdJ- zUSFP_m6>)0+LMO3az2b97v}pwQA#sk+D!yDQ>lP6Jp#>Jo|=Hka<_;hGfY z6Z8xST+hKxxa}5PKR{uGg1qIEqy=S>jydPGUdz@qsbZs@+_4Jsj^`8-C+) zI^|H;Iot9uAuWmZpq*QtkK|JOboJebKR!^0e}O4U>A5v7QwGeu+usW;`(wxRq|oh_ zJ3Hzfrd8(}ok%&vpM8Y(dU_uA5;CG*q6^BU&tkH-e@b#V|Iy(l|gj)IdD?)Am%w zRI`5C3nH{Dxk)S^MBan+^mHz#IiA@%8?~3ls_tB*ftHYE66UVTp+jM`IX76Tyy~-@ z_;+g$`zGDe>o+2ry5zHb}x6_H7CvW1U#MF(<4%h_mLAi`Id%MMcF`qS@n7VYPI<3N!05!A&xqjn|pK z$0}lW(>N_9pAK5sMm12t%VLJDryQ-b$M>E=p}l*X-Bu7BgK+w2gAR(@7^JQs=(~kQYtwHlait2b<_%ogQ4QTE~aAQG1G{dj5QB;ZLD5lT&0+4=oy50$2v({CG3m(IPJ*nkBy` zV$fh>q!n55aNK8uLP030np$^Fw+L>$%yxtnpXF1PaWiLdKgP5|6u&;-JX7*NUzx9+ z*Qq}%H2)BPs@GF^lGdSy13@bJ?z^1_cH?v%Vaqw|Xdv3(;loBbXvaMDiEB(Yj&gAp zSsYHSFN-WY)xsQg&xJ|R%0j}keT1+wI?t1&7tLIWu9)GKCUPn z-fsC96kFkO6=U+;({?vE6{irT>s3Sla}HSZ8+q=HuIgC}D~Lp)?CG1s#d0r$Ep8Za zdJRIBId~waMO67MGsu{9ws{fU=e0n>QGf4Bz$g50F>a8vK(vttshHil)6EA104|$U zw5I~^+&$>TZ02|pl?OL0qFL22wLHIfrn8tdcX_vS&<28MOx_^E_~Yw+GYW&B10Q1S z$#gwX;HI~dRO~;@^IoSm2 zx!GBBRfW&Wp}oPzb6+e-aQ(7{R~^OiG3_dkGhc|D#RSu2eOvSY@rh)Y)oYt7yULg+G+K4Qtd^lb}P7{1vIN*}vHIBD}A45^hor&V}fv&iL)z#$gpHjy2fVJj$h zO4iV7g2M+gA?sgaxcnCki1~bzv54{LgTvSo@uUdhsoB#*$g$hu1#; zp{Js1q&^iC{thr@6Dt>pxUGP~cdrs9jc<m07U^eTe$z5F;l*oGm|uW!-#Gfc{Mx9U zE9-YO1|-pK{`!cj>EJ$v?P`}}(}_f;=)}!0ug_<5F8<=LvJnSeoK$+)tDiRM=PT8r zgI&aQf&@~Sv4j_-VB5(^)G(Cgs%RE0q+b~4LVSEdv}1M4C8Qqea#lm=U3RRv{PkT4 zmR9867e`2NUJT3JkAR+t?YxJ)z8|5%g8fFo8sr33roR*>2~i)O-5flJL8xr|@f18z z2vWep&j!&Yf^ox4v$%@m6QL>tqp1g2!KL8@{+2|_Mi@T;m{LQXFXT5NaYEUrjm!GU z>&DK#-Njbo*v)W?$Qp=mTp6+{z|xoxTcn{?sQ5p&_u5OWex z6)O{$CGi)MH@SJ;Xmo0E_~c%U4>4}1u$EBFGJ74tK_XZQi}-S*GPKPK@y_^Yr=6V3 zve-O9nAm!2(}(LaJOfs0RhsE1d?eymH&+tHAoyG%Ytu=2T z?kURlnG1Sz7{*##k@SbLwCv7WtnK}wYJ$YGtsde(FJou=04{QS7IZt78V>Uni)j$6 zgEmBcGAKE8rD_xhP`e>%vad9PMH(ZQ7i%_Tijj$_Y{Go5@>#aX)=*H(ki8X-YlR7F zaNhCT6A6~IJYnUg<&pb&h2UdXVR6>YW*(wWnd|AMvytQ00KygRF0G7{wiWL2VXLa; z+X9J9h}xV6?-z@?*5GmXqu8_Q&SOt4Xdo2=if{xPC~IbB-1wrWFXJ z)}Q$|+Xg3$NbDY6mEtKWXosiT!xkl)^KS_8mPPpcEf2T?Gnn`@!6^q;!g4;BrAm{} zR)MtNxET0X+v$KZ7W(5|H5wFu*#D41|ETV%a2P7F;1f2ax zQyF)T*2itKV|D{P0+U1MkJZMU^M1NE7AoK9YSK3*d_ifT36Lfq$h@o_cDUu=njaFR z_B)v8j=nyrhq5v;iRE;|JC|)U963+lw-@wd;b%Ie&9L8@XG|5_6gfq( zlz7%@)g0CcJ-u9u6KBGo&XDE6rj{nfN)1B2f2)EGhJ6l^r4Sa&K z7HFt8%a}M_$N-9}Eity))7Vn2UcO(;0ede?YOXKQjO*7T1L2hQT!;PagBzH3J?!?m zCP=y6OJj}2^}FVwHHq2U;}6Q^nq#GRK8^y8{C20ulwrtaNkc4@w_*_Xhm%yqX*$y=Cw{HS&VmA~cs*&gjec8n|Gy;#Ui-s;HrGeITb0|PjO$48KaKKp~Ov-ew z5bvDq+hU8L59i?Bw$8%w6)C~fuN$&krTFO90XsqOeS&vzG{nX$+ZcD)Vg8*IXSpzX z_lpkt$2ot(Z$-KARM^2UGv`+%$k8aA)YsSc>dz#}$fUF@GY`Z#Njq zimk2TcuZ7)!Ho%ux+M~i((@Ed$Ee5}Oplq!=Cv7U*1}UI0$&d@iLgABO7r*;QCMQ5 z6#1>>{d>E<)*^Xdi+rq%M7mTFQ!>G+v{W~}y_UYy>SeY!rFL&uZR3b3G1qNnTX#w3 zC7<>Mus;GV;R!DF!EcQ;>28%a&TgA%8k)t;vKw|0gw=E1!j{Vp7Zr{ir@0HeJqaX` zKX=~qG4IpM9$azx4HT#y5kj8?oTi!9mdYv~@g}_EtK67ZgqAG9d8iCMlDKCwwI14Qi1~Gy!^4{h z+a>r7)RP-Vq{|U-z12i8tRL4zP_wSS(63s02B#ihv@XB(gIL-@4iWFZ z4JA(MgR#Y0Y-bNSP5QuvduaD%sl>!gu79H_v))we*GkHmo>a8BVz$u)&h9j3yn-w| zZTC9~S#f&ce$>1wcq|i34#k&qM|wLqu9FYOFVqLSGn~IEq^FTL*%l)f<=0^g0Jz;9 z_02wD!%7#tFd?$kD^NHxxR{$J&@cZP`2bF9r?b0#Q$j)}6gyNMU}o5# z;1-!u4|H#*yHCS%rT9vKAh2kVszrL3+QF2!;XI(e=3{wH0lt!UI-B*IaypX_oMp~B zgZFKxc9?JsH}JvKOAnw`wq3iSwk$#UchH4T2!z=?=xXqM$QK_UU#I^0H<5+GUgkJ6 zN4zbm5G+{&S&QzFN86i@RmbRwiL)G}C0#-F(qa_8Z~>e`(*77MJ3hKafxbfG{%oE# z?<6`?EK!DBTp@-NG_s`DYt8jwF~%deWmL^76d-KOrHW8 z0?LlC(4qiZ@z68~XAl*ee-OPRaXpI4PGWjmMRm`*#7sl~6%E0-$uJW?$RVaPqon6O z+#VF=geCcfvYX>R#yqLXw@`N?i+kp_D1eUE+HF_hDg)ZVqhgBYXEAeR5=#w%_SW3r z`FfvZ_Q(aoS--M_SE6!9B>=O6$P#d6j>?Y|>(uhVo`ey7diklnyMBAx?X&)h1U1pT z>yqvVbgN_f!baTXhoICL ziErOmEzI?%F}8#Xll1)U8gA8&zDhulP911kOhx~3xl~c)RsrU!_!a~iCNzc5u$w>? zMjYT@*}D?zt%IOdLwpYaQETmjWXJc=Au8IV?_w199|O|l0FlQ2^7p((iJ=rXaZ=(a zjX09p@FKFz>EWx{h=ssJ6qMf=y z12!^q0hB-tlnu$QsAqJZ+mmGp2?{fF z&{&x!K&nis!0Dq+*-BEXd%BuT?AIu)#;w}v#zyK?PaSM5@)8_DB;dHnKZyDds)j^6 zS|umWGN|>Hi45L}awfZR|8pY%eDf5>XjRs-g+Er=#SOZXig^I3?7x;GDx#8vPpxE3 zJhkFiNLvWwpL8Wdc{}qbxWOWu%w4|nnM|_WH@N1XR~k9bVp#sJMJoIsR_aRLY1G#n zN8fv+rr6!ofgST6^{bGHyOA}l&D2`L+}30%Of6~ZL38+f_M)kRjP&$!o_lk&%(|5r zrEyHllDT;YU&9fB9#3N&X`kVAKYH}Y{b*g`_%QW}BomE*1i`asU!?ovC{uwPPx)FY zIft=GXCKbL4rjMHnhmp?pqtYBV)$X~tJe=Hhc2P_vW-ve2NGyS;7=u)u?%u7qE{an&XlJym%)2HPRs58+>V4W`-BAj3zY!9r9a+5{F(5UP^3QZ1qPIQ11L zMjJGzZ_gf;blE|e^O_U!C7JMfU`zC5mOWxW#a4fLg>u7evfN}}k|5dl*F)k5AH-Ci zJ?fvS!CiQ($21l)vCIQYRyUa)0Axj0J!6mLtJ9{g2J2)dn{1C1qrh|Ic!!^t0|C_+ z)UR;gT-Rvq%TMGavs#LZiV0}gByep0g%_JSejkl|kja`Iz8>kk4!SRA$2A3H39Paq ztfU_;G~^T*XH;)C#c#oljBVNL{o|9-(CDnFdT9zWqG@q1^=)7z%CK)7pNDM1uzVfmV+l z8c|VWfD^D>Uz{ZR?YGe1Y3$jSDws0R(al2rX+ouk^8@0)S5UVWTIzUb@tU$xG^V<4 zuMc20V-&Rh`}0lJ4QZ^N9;rG398HLG%SB!1^N@JBD;EqJlG^A zCLXW1(>kB-y0K!yGaQ_7>)rFv|9sTL$>$uPKBrxwtFq*GAnNh?9sSYaMWcC7*ns%$ zxthZ_%>of8LQmipX%K^rz%Q5_RQNIVs8up}pbj5fWZ9Zm?w4s4gcTMSUmQ(;G-hV+ z{GA^ecD;%l6u+4pWa0rEm9zBPL8!?1jfos9Cx;Pg1YMs@ZOxoPCJZxPQ=o9Q$i`cB0xpjzV;O(Q8@9BOTe8HLhEe?Z43M#w7XS z{AUlY6_6k+eo76b$Wr6PF609|=ZRh4idas~pJ@Qk{63DxlS1de1Y4gA? z5v#;SDBdRh^WXM*jj&3d+1?ok~?HuzeBc=*I7JLwl9#4p%D{X$|!m%bd){p zDA3neg{w&Vi~UNPW8s2)?|6{8x-?My_Uaf}lxm`hB8`1PEJ5^}I$)oLg+-fC@h69# zkz44T?l3YOiWMTD3&no=xS(xq8cP;1bMXnL4HZE*KpbZC$F$ zpdo=tr@R!cTPeoWZ;!W3uR4eQ_H^DQ)o!A=?A$zZIp{W^3|v>tP8ow;_eOQn?nhcU zg|B=^JPG?qs1HwS(0%hgjzrZK_ee=YwBXscgnq!xU_)!@`CJ1{tjk z7-*hiXC9k>v@xZU9fR6+L1J&Lx;?US#wG7ykYC6A5P6lN$k;#K4x!^!q^(XTo#a2Tp zgFP#$Fd+ST#ip)KAtiw)5Mu7U)ZSwGq=W^dq^p1nX3HThd(gawBeNrs-41u6@0ajc?GEjBk_Hdu!4 zPJLq5A44V+AHGLM*+W)siqe)c8eE_kGG|N=>&@{Ho4@Mg}_a3 zjtBu6Z?I>fGpy1WS&f3+Kg=s%co|)2gVfsKPA#R%-^vuZ?zYEJ|DZP&^bRpZ|vt&sS!~r z?XT3&8`-Jux*CO1`sn(czqYBqQAfvfSk zBcrSS`X$-oU z$esK={pgo?-*?+?;$VBUCZS!Ew&!*MpPcFMqFbEL@Y4t@L$DhV-$KGNp}d*1>dGwZ zugN?Vr}g8c1kTLG`)i38{EtTh@eG)u(vV=hQBLNR5R&&(A(oB{7av6Kb-h~h**q^^ zyddwi`ML7hUf^+9mih0uEiQW(#1wS;(uhc712Ep7fOP12AB%0N*{#6$;wiRni7Gj- zr|wtr5PT+dm&*jl%p;BmCiI9Mw49ezz0qXN?_Rs28XVhp?1ENp;eClg5=AdRH{87!|z zPFVuv9w0>3Dls#6Zyl6I@9xglP4$>GM@nIkt_l9EA^6DQL5wA6JN+@6#3l0UIWW($ z0yD`Ga&48^h&LbbYA z*Xgl?uz$lRwkE+Tf&rLzs>r@TF7&^G^g}|RzKtuoTeG`7bwo6YYXo<69oufnDO`=K}^A9_^vslhfnvW>r!`i^8{yQY- zDE6ebK&1XT)tB@m2*eV5X$jR*`x^i`lRPQoXYf^nCg8e~p|C_tM~*&=WZLHE!3oTp7uhjp{Rdl{n3Dt`bTrC5L~Kk)SL+1%*qL$v9bGN4t_z$Y{4OY~Vc#n7sd zZd46VTpm10c^MjnEP-0int(leTy-t_-h0o6oT03c=~o%c4NC0~FGjbXS9s>%?a_nc zZOV?@2mtAq0KHUZSvq?UKz?sl8el)vy@*rkHiI!M)ousDL!qy(CI>Qu=s&oBWuFro zEdD|8gp6x1+Px1gJl@=uVoKu2W(ov;2hN(W@P{?X+RD|_&rSKVy?Ppm{Y;!Vt~94X ztlS?nAgr_QCf|YM|44E2CIG5b`U4``sQFCiqPtTbWH?YLoDCFvMkJKt9;ni3&b9K9Bxn4C}o%P6L2BqiBX;9v?Eg3>% znyGS~M8K~eCPgI=4{;9}#O4DmkRjoiR)_B$XG~mN>hA9D8<7fiG%L)Xjv4Jl16E!32P zP^*?jG}j7l5J>6{`nUY-#zbE1RHw$03tvH9yvx zj-D}Xs%c=$>mOgK)?2G~o<>UY!qkD{yJ~T&rjyUTUxW|Z3+9emcRp$@_ZryLAk#yA zeNT6{QV~Gyna|mx7wRBDo|99k1x+=r3gnf`CPaQdezh?S?F_h71h{IE*TE8(dG~|a zT1&Z?VEW!ccyD=*Ysd=06>6t&$e4Ux3TAPF{y`csm?$e-*h>-cOyp;DN^LuQdex*% zm(JM(`yYEv%PAWpndrmSzkE^Ie`RAK;9h5O50rpcH6;y0^GuM8=ZkHnP+ceqMhC5@nWBg-Q?p#Hm*LlWDH3}dXzqS$pBmoA4nZDL}?imns zLFE566zZXG%z^CTR1M~DB8*(<27xk91r0*j9^~*m|20rP*vSr@Ek64V+A7f$~j&GQPJ zHMBbRv%{<}SVoUtB?B_gCNE`Dda~_7Cg$JVior1*iiuiTZAfbPyaCFqb}(Bf2h4K} zaUw?%>`v=&sQX$Be>vKhU^AfX?^PD%yU%qQ8FiyV%pbC{zix4SbLl)U_LXOx6f%D^ zF+T1;@!QdazwLylq-E-Wugl}yx@C&|{X#U$jU~EaS6~OpK{U4N-57LYh7ta-b1*b` z&Z4#hSfU0p@anMtjR+7K$8~8omC79!=r{D>yzcHF5|3PzEAK)mrpQgq`W6t>nEqvi9P4Nl7E zsQ)tCfTPC~s#lmEey??^Vj8bU`A`JEJ!~|S&nbh&pq{~u*g3Kc8d_<|RGR>x>Nfw= zSsQz!qS^Ho6?DY8x$g+xC;5E6zvX(v>sb^i`z{O z^sh*knpd7dJt~BshFU-xYHH0F*e;$=IPc&qNFy?=2|Qo7zrSyN5f^k-z%`BF0-|_P znfz#~_AGoL2`zC#gb0BaEa1BG^10I$z;C8%WM4hN+raAC|HadeN?q_X?Lykm2^6Xd`k&?M;*Ls4|6&B58u?i`#$@8rr+98X%J{#$8tQ=PN9uRqV z0J2*Hr}?fmPzF0GFrvQmMQCjgod|@PS9#uMF2dZ`kpD_ue1mthZOX-o-oXHvAts5y z{^&bI;HK6pkI;PAXqJ%a^eyafP61D#{Bcm3wz(-{M;`;*gL&t+5wGV$*26?CJ0IJ~ z`X#jh2MGJO1LO?{zaWqP4s<GTBN->iNO$5k2d}s7fDw)*%@dD$PYen&AwXfc9>xkoH~Wp! zXF(0~10rq3&t{KVgF2frU0gr&T~_K6BDwRM%Y#ef_svsw0pp!oC8~itA-0Uef*ZX( z4$b9{Y_j);GX$~qd`tt+iy}oVl$lZ}?H3WPk{Zpj1Wm$bFAis&0yvUB0P>`LCC^1Z zFhjZn=7c_JXOfd0e+KAY@_-U_Jy;;t&iL5?_us+oac`2r^HC9u4<1|Nz5Ljg#Rq0{ z1CHwpgVgeR33#(+$A%9J?55e|>tX?7;Kl`eazFd0TZD9G|Ie_3(rCw0-;1phRFfW^ zB`cdBOp))1XZ0OsVOE1*4eoG9dwBwY4{DRM&)oq-!x&uE73iz)e!VKbWbx)zIa}~6 zig&_9TyItu_ZQo&c4ulk|HPPzez=7of)m!<<3y2SR^_+9&;nG8auN{sQ11?+DNS_4 zvX%_qn4^5&#sHAu(|d*Kl+Cz$wDu6Zj-KSfs-~swv&U@g5wd*lQ&om~*w7i6Rg|yJ zbU$SfnR-}0!(au|djKtPy<^1g5BgA<2<`R3hAKoOCoLgC=SadXn;_RrvL-m5lMHb? z-&3il9-XuBmgL^nPx0GL1ZlZNZ{L3*SE5hEu#EQTiNA-DJL1(_6*kT|QVFQMOs}Fn zLVpt5IeQ3HfkHM-p7`LD#8onBfH1iu(A!;g%tx3H@}V(CL~>E)Pg6~N%PyvPW9^C< z%Bjm}0GAvnZNHXgMY2nOz)Nl@4lj7h3)4Q=Rv-lffhv+EhrI(N68*q3lEHyN65JM^ zQ9ASZn{7MQ;~v$K>Xk_8|BlikRf#O#P~rc+MsYA{z5{II*{T>+H13uCx&V4Hz1#T5 zYoIOYoB3a8_y^D3^#F-5k^tueUN8(M{@<^B%mIrcVEwZjaItr7L`v-v0QTU0pQJUT zxAZmuNj{?&qHR)hI|274qxjN+dO0XuQ{9ew85uu_8RPiy4Z7RGr_LjsU1s2ky6{L6 zWQejNvG8}ByG=35+P}he?|DBt`@7BErjktTJh12Y{`cV?jRTd&cOvNcYEO98EN9OU z`XPWmo!pb}pXzug^>Xo=>@(BnJB`_HvNJMSnBoNu?lj5`Qjma2EgE`0eR_A$b!)=K z#l_N6d$+58LxY}~X{a2SMQaV&=}tX&8tr+LkWYR3{IEpC(GO`(F8>1A2Tz$o(@Yo& zg@(QdWWaL&J5lwOre;Ee{-m_u6FJfa-<_(v1VPtpzeT5r2S}V@RHzKkyh)8uF!CX2 z{9JxF56b!(*$tsWUz8VwdvKoBW_3J%8efclfIfg9Qi;N=~85#GL zPblZ#quAF0WXF^2PPc&U%@`cltM0rg|Ft#IpHXSM*xJy3x!;C>75d(k+>jnkPhZ3yZ~)VT$CM-5 z@?As<+{07wL)*zU+p`H@^i0UkX1z;lTwHyX!X1D^LDxra9M^!H_oF$G;|r@neLOI& zsIs;Hlq@rDYa|nN|B@|1-nptj&8%O*7_s$RVGvD? z2%M!49K_AzlBm1t!g?g*{HS(9yG&E&F0;kR$awTkj`I9y{~v939f@S@(W*8P?Xrzu zbRV&E9+I5}l$@cZ4!^0`2L{}{-Yz)I5Xo|>3D>9J@80FUV^b#Hw)v%S^<9al4V4^b@@j&n3)8CMpC zxv($W#cTWZQz|aLi1UKLz}T2x)9{k_8urA(sz&<7HlQtO?^#=~e0sZ`Qb3pGQEzDa zD#K7bOsPIVM{}kjm@et`%ORFj)(ii>c>4bww)>W?erL`OFiPjmDS+7l3C-;*+tU-X z`Kl8l{9Pg&R;5Ao91d6nh2t!&mp_J?#;C~d<|wsGKsKy$g%6!tlB5lpF|h#Hm%ysS zoz@zKW3d?-6@~dkbz?^2ryzl)b%AKa&cWsJnD`LT^zlJ#jW52F*Kt}lLw$~0|Mr1{ zxUl*XlM&QqseM*&17Le6GAeGFm}|Tm)j7+9tW68wqn^A2YOGsM=NtkifQ(hc>%BQ0 zfGPorFwOLf$7q+Gm;1*`Ju@?AJr3`x3KlPb%emk*%HOL<=>ABaRpX#`e28@!bMC!? z2wP=o<6*20&>=qGa|x#n zp&&97++d$90+6J^T{GgZE`i6Srk!_IfM~56!r>DKZhf_CcN*BpM^>pG-L0duxgq$+ zS_B?wGAN*;|B4)Br{+MKQOoR-T3owPR8%x@ryU~{xb4PiTFy5zkzd~9Gxz-;cZ22HtkVDU zyYl4K+tjS3|A$jN1=?19vud5gJ6Rxl=V^2B|foUp-|dAl~x@-&pWj&m7dq5m8s#wEfNJfp0+dl zYDfGzF7ROlig;tQh{za5uU-8Nrj1d#WP?Cw8cHSILY2Jv{# zH+kHCn;{ohm|X$lXGErt2)1ejkQ_Wj-u_;TV;T>xc)8OomWCtp4VydIUj)P41OX(# zwwrqHz3QBY?I8?HfD*g!B#}2~UAJKSN7=Tx-#wQF zy8!9a>gxxI?eE=@^FkTomX#!7>t?$oeSLXx!{^S|L~P$qbrkR_N2Ki3uw=dg&@XmY zgzsAwb}(xj%O4~D?8@dCPA=@Jy{U}l@;3J?Vg0AQ_DIWCA7PnU+fxsbl?ZbcOad15 z9n@7-yjT^d`Nosvy7|tk%ecOMAP9!JTS4|7n7t4?U&r?tx(}2Ul5uzi|AN7%#F^$1$0Z_8+pBk&Y_1FXiz(!eJ=5Y5Pad0a!v2^*tzn~a zMqg{dN|`R%rzeYi!SuiJjK668w%$eH;wr5AnJqle(e8Dqe4;R^oW>!s-@3#0{G@jt z^CyQ&p>}cSxET>Pb-%Y^`12+Yo*>ytG(wgiAZh)duiXUx84B}7^!k?!d+!r3PNq$( zPsxo+(+>2T8_XH5jR}&bJIgCSt*pin3v{lC!n{TEedJT-eV)&+11d>rqlUDL8(E~a zY5zms92E({_7T)>n}rSz%ccOsGfF@wPE5iEaEq?=&%q}|lj@Mb5sl`bFDT$Z%&P8- zOX2@d9~joln^mU3tL4iu(t^{WowXj_rJG_ERipi7oDbfB1ic-2ShC z-~(P5yzma90$B5iNe-m+PeXf{Y|5Wjckibp;J+>J3bv3(cg^k*^m$NP;2DD|C*=Qa z^#6w7|GyQu{ZYj4s*QA(o|{3SFaOpcX_%14#|mng*sW=45v}uHM|2vXRZY379Ie)EXW#w!j?C_`A|A*S%jmB-CuvThyza0 z((`yg(ANk-lM~jtjhNgJN?o#cSY!066HzK}D-r*J=AZ_C?3-F{R| z8TkA2*q5+;fbgJC;>Ylq19G%>MWxki!L~6gs=r}D``JSDu2L9OWmJf62Mg3DR;G@i z%~mh=MBdy7!!DbL-;X7BpvRR`p#crCNHc_n&-P_6%E<#QS=q2Jy}jqk+h@x`>;nS> z_RVh-ama<9sjKmfhd4p1?0{U*pD6QQ)LHhl7l#=+F@RpQ5u!btm5UvCRh9B^5enn>@Qcw^%x+@}y1|XjUpzOlG<(WK)orkDoU2QvnFV zCjZ!7CD!5LVeAlw4iD@u@|H0O5YIlUm?%Po@RW&*sw@#hnUuT;;HQ&`u-9IBlN5gH zMbjL^PEBC&wnR;DTU7tBHHqx$tnMl?I2wvwe8*K{;$(ih0|go=CjtW_UnDbXVk&hu zM4HA7_!nO%R)XvL_&Xe?*;+2PE3P*H9ZKnwKQ!X6Cp~{i4>Ek^7|D~7PF0O7{6eX5 zb5OVEi!*mf>Fy-9&(TH%#7+SDp?yhQ0h{wB#4|mwe&N1Pxs|tUBcRwzgtl#4gXYV$ z=*5=_BX_R~z;~zS9bp^WszbDF=8&32j0x?qboscuyWii40<@TaedF38oWV?~grfa4 zZJ!F4e3qp^qx6|x;kY5gV4Tulw5Oky-)eQv!y?RGoHYd>DM4%taS-aLB zm-?Lf3e-jY^S&YH*p`Jh1pLrb-|qG>Y+deru-Km?+(6uh`A2@I6`gqvK?_A zkSV;IR-cEO$rAXs&$^dQdE|;r2j*UR8FaSKa7&aoD#UNE9j_zH&K22JILFntfF9JN zmDIdA(@>z|l!lY@8$kOm2Kb}R5S8FS9|Mjy1P~31zr?Um?EVo?$Dg=6-=*W3qs-BO z5~L>IfZ)X|)&H<7AQH-DvZQ<&_CJ5E0mYhQ<1)*XU#_C=h`AL79#|gB)Zck^fWWE7)mKaop`772C%5(d?T@`UA%2DIP{>yt$v`lM~5 ziGyL*q`6m*iwKH0v(&qeJWLm7fnYEJBtjrSj$4tV6i81U5hH+~vp7E*j+~OZG9dW} ze#8NX&2?(m2O6HNTx2_U6~+=p?R;Q6N#nSL467;+!;jVAP)quCX$`2zrHZ!{X63uu zUgk#Mv;C^T)u9a2r{iD$TwjRy1AdS&WCO>i#3@VU=-j{MU`?<@r%C?|k!@TVXFb#< zo(^gVG++Z+?_rgev@1#dg+$-+fOZ3`f5-o?aDsn-WDAKZDtmU9=LKe_@_hKV2U9_1 zXG8aY$$#Y*1OMM%MQ6g6+WMb(70uiOE>JiWpGpG9_n>XA#e5n{)2H-*xX@zx7+c_51yI_sYuN$$t0y?&o=*=kt7? z=Y8)xIao{YIFlc)zJEDRq{KVz zb}6Gn`DZXb?|599C!IYE)Av~WJ~hd!lZah=rrmgx`zRguXywYf0xz|F%jwa=?O&h7 zQLAV=)@zL%+2u?{-&Qx(#zl^H>XqO;HCW>uF?~Ix8^Ob;Sr5mw#8KGcMq{^|FDOTH zjx^q41sa+2?#6q>IyYcQDFZ7e6nDCCb(n@D9IE3)B;y2?+J$i^eXF0+$7w4h#N z{nl)5$d@gRajOz|Sstb8JZy3t1Y^hbrbK~W;gsK>i zqO8VRQxoe!*#lD z9T7&qU(N1KhMwrPAUg%!G;ef@RYHwS$l4Ccq2`}j4e2gQ)P+wUtwUbVmXM7SEu9Z( zUiz#y8&gc991lZ9j+*Icr=j!rXSZO|1dTmx2^~=8*$f$@DBhK2`_Vf(I-1LmgUXIQ(t>V8#N zG=*jpY}h&)DYML5IgU~b`SK@Gm%cm$Md^ny(H;(Q!TFcs;_|OF_9)t?=@*2T_E3kD7T8Y+7xxW6eqSZ9`(-?E%0<*KK$FqqlK8`?4q zqiadIA=497B9_mNKBwn;&uz)B^w+2(yrTJ}(RxWO4~V&x>tu-Qg(~PUJ1Gro7-%%{ zEZO~qMhG%AoAb=wXYi#fB<`Iw2v>8e1{KOWYl!sE$dU*OLS}$)?ml+z*|;>MJ2?xp z=MMw@>FeQi7k!s%{GER9xWn4g};I@8W!?7K0iL)*Nyu5JL>0qNw#6*aCHLrVz1r0}d!NUqi*F$)FmZ$Dp zjTWjlF3ehuhN|yQYZNu@S^ipWHQL<_{4n)>8Y6sYm_7D$TX}{9)h#xp|DuuT`QDJG z1l7@=!bgvtg(;6`^DHbKR=({p`kuEpWT0PlbmH`dmfqMimei1`9m~z#7rqQ14lgtn zO>=xW(+jxSZ{LKmX3fHv3d|sWIvD+CEAvm=BDKywkdN% zz)&3}RRQSH7#cE~4zH4e$t};FNvpMfc&^TcDtOXzKlNeE$mO&+rIWl&$r4ma-TLBq zFbzb0q~Y#Y7L19Tv+Wgn%9&Z9V}yUp*0mifl6~!nnabdm#R)A=tN2k@i`#Qfm&wWT zRct>dN^2U0O?2LoQP6!6w!1=@dNO>pCCz8PoIh~EOtTwlBLj{e)+(nu;TKXOPz*7WCX zJ$?PmWJg^&;~!h5o=6pBo=zgQkR=UTBWDBCGlGLpnptS@KD7i7GL8+`6Kx#cl-i`Y z1*a5PD~G#3T={(8<9+wuxa8SIjAy$d2z&8U#KrNi~Oh#>{=LF>v89 zt5ySZGr;an=qp8_sRPi@2jPPUpb21(EJ3?x!-5*rI)!7EzCqHj1OuTR?^(NN8U#aK znS`-1-~JjOyUAOv>1w4||7dyyBC(LAuuEx9EPTLUb+oS6-J8b9@0tp<@OBqfUBpa> zAiUAdG757{*X0baLY=nn_ZpjS`K6?1j}dK~NrN@^gG20y@szMH=6n~0sOC>K;pS)Xei# z`3={(ZP4={E3eSN*t_DmD-XfgC2?HW#dyXKapaDJaH~BVxWrW5568?yYTNPgf8oeO zCkG9&H!j|}V?O1ghpZ+45;#;3X-ZYm(R8gmk*n!_BJ6O4EO%0s{h3UDR(r`vB;aN= zpcie&XWHTZ7B}alSRtxB(P~J$lU%U&(_Mzbi#F1`KiEi)% z2jScU&?Ko1^_HZGY#Q<_BbT|CfH1HhghtZ`EK8J~Ufv_>JA#%0iCr&#G1cC42ao_q9}{d*qjG zjlXEnTmw&nW|?%zTk(1%OD3(I%Ue-Y;=yDqHw~%VBZt2FG|b0UFxh4(iqimTbgs3} zu8eohEx0%G-6bWs>K1c5m;0K{qhI?rp9%E9e`vyYzJvh4f{bdIYf?O&1R?$aBM`0+ zkz`CdGlok_#igwSRVm2{@qoEpA^sArxS~(M!$w35ZFske>*F$ef^q&^|Rv6y|PX)vsDyoj%#(~MB1vzdw9s~TZWl# z#E`>skD=#@O@F-Xmz;4wI5-n&VqEG)35}eT-%4!o$__*hA8{woJZ@7Gy&!ryhE0dJ zteb;&5d`&DNbT+Ta~zWy9Lb6kCMHd=SYw}nynU_)?N}}SjiuZ+%pln>awqN$aopL? z&8a%M9e!{Mo%RBZUHh)G62CGN+KB0EAbewhR-ZrRVvPgMl;QkcmFTc3vw=BwSwVEg zf-J}+^%*JoM=>Ku?Q6vWN$6*W6*r=v-jy|?4@1NI_Xaq2^X;R)Mxkx z_3hAu0s1Y*dYva1m7!{K@XVzHP&GtR_!~_^3UnJZiDJotKLK-Yy1|v^Gzqq*oxl_t z4;+9>0{nrcD1kH^ql^6bR7k^zviGj|u}RR5IrHe;_@R^{fgzK%=kNF^WJ0`r-i^@M z{Wf;qpFVx&E!;iNTUbiqExZx1U!9u$;@qM0SiK-$JvBATSs5LYVye5Mj|y4BhO~Oj zwy4C-mu?zy%<8~Fc75)6s}I>B!!9`Ic=mwadF{FzHP>~2Prn}1CKWPAA7OWKJkttc zr_Khw`3ZQ9ANdR9U~=~Gdi!;SrFX^P;8otFm-pA)H86Uuw8UqQXAd}#=j6o1uG(Bf zGHoWs73J&dF8A(ZW1zetVK7Em_2sQ*ZM2JP!{p0cTQ?0C6Hn=FOp7`j8KHIDLQ+x! zq`_7(*lqAkQodvA5oyAq>)kyt+a4BdLB%~nS)XRmRcNRTx3Xv?J_jqxUcY7eUGu74 z0GS41S#qh+i@k>2Z-&Qd^HFW2ge=?xDS|C7*k~dJw##|y0Gtbw1QeclGoCRNQq-f{ z$#j=_5+IIKm4homBybIEa5eexnQ6fOfy*PCJcgJXxy)mit_R|_z!xUIB@yilOzXnv zt{)Rb+X{$?-mJF0KungAB3%AyDk4RWcCq|g*ks4qT}6hDnRdZ35be4(wYsQxTk9q& zZt)(*cF+>C%{4736AH`hgwz(YPM%hw(6tx01%Q;8<$?PlXyl`j-;fwkIPFZykeF^l*Xs`7q)4GpMy> za8W~Go)(mO{cQ&shole)VJ%I`$eM=m(6AtQrlZpEfp^`z0b;7Ki+~Xo#PxNQ7rTC} zG=~!KisP^6KTF_dA5?lUV3s{29qlDAktIQmmK=aR1kLeNy;xj?x4#ro6mVn&gXys9 zi!C0Xdxn$(xdT|tjyIqkfZC~UgQ^gPrLXs(#Bs6!EheQ&AXg;x@a$M@Jk~zf02jt)tTO5<+(K2*)778wrVkW1qB*~=8}|7A?6F}E^Yhw79NOD) zd}dmPT1LoYfN4U&Ullb0p9slw!JL5bjV3YYR6fQy8F#)OJkt`Fy>FKUI} z#%taGK`_=NjWjH@5zqj8ZCvBy*@=olk2&~8YGC~{dH8roVO(cw%&2M-2y2@K#x_5e zA_!BDVHtyl$O#v})ugO|@yi*cZ+q*K3|{Pu+dYXO>r?WGpq?3Q!ft*z--*IK7(JsH zjELy35Okh2)9*YvqYSl<+z!wIQWo$JedEetjp*^9!7_IoL6JizFa<WMD-=$g4{N zvW>f7#7Ey2TdVR}{ge5$vNg-6iK+l{CtM0P>O?E(Ux#;gqE)!R6mDX0oZ#cZ5`mQ) zc%ZS7ll{)vM9|WnpI-_SXT1$a%Mn<)ddsp{vGS)$8X#*0g@EzheT9$8r0k%xi_-kxrOqVLWh5W z<>Gx|s;|tbfh&n%uk{ZYUW<=2rVMd@gO|26Y%Oo`kg{5340k}N*#dLcbXA0 zV`yj9fWQVo1Q7CU8ECi_`S6Jt79Rz-QtX42mk z34RMGr-QMn(Q&v~y4#6M*Q{0nQhwU+Qo5h)^|>A}hdN~&_saIp4Nexa#@{)&GIeqC znSR^1x43M31fxY&$B?E@?GIO@1B|?*fNvYNLJ3yw#Fpn@t{FUF#(lyC<$CwGaD4c+ zt3LdU@q5!$wSe`6N|pIk-S7zun{GbrOn&etR)9}=SB zAe)iF8YJ1P@>bwrZ!g0#QP{-EdI5O&t#nUXnJ7!5l)T~Ey9rd5OpF_x?>O949q+on zfXu5L4tdN*!#N6Y3|XmX#9c;i)9*L5m`}gkL8#NrabCap=k}e_yB{9Z(O%uVO`0q` zgI=8OqF)nadI}3koVn}|=9nfLZ~D^e45Q)su;;I$NbCO4vX&}jO{6Mt8y~c1Cy+U{&_Vm1@YVoT@@HLH6PM^emHwFyTB756gB+8GBS8NE1zXNx`I`2 z`EefMJxn6~ljHb6i`py!Pbcq(7ty^O@GWnx%antKegGSgCPB%e38cMo8kGlg)jAD? zAjz2siPC#<8kZ!HT?e4j1ga(hLQOK5%(_$XGyB8g4IWjp4N7!<-wmaqdMhE$Z-o_Z zf(47YDK|C$cXZ9T=+BoVaN8e@7oe*a{6e@($E=D~m5bKa{>_%*>Ze-sD4h8f-PDdS$sop0+NW{9{?=pjO&??E78IOLbUw_Nwv|AJw>%vjd@z zv<~s~A!fpdA^nbV8XddyA)D$_s@5=;4SLX?tH>_Y@%VLIHYoj}3c}&~u$~pG&9BR) ze<>3}_t8Z_0nGB!Y_Q~rg}p z^01Zr0${Wo`EhJfxL`99C;tMcM=e$Ag+UPtaF+%?_|DzLYtr}`M7`ec6FP_e-?hzi zx3@b@+>+160{<1H#c}o>5i-xL> z_e{-sifPT%lk1a9lRS0xRL~|LE%F;mixt!#cN-E!=d4OLs<{oEu{q8cRhfp)eb(ju z$naUX-R-@kmTfbyA9q{|mJ0*)@t5!dM>x0sR2f%WHQV!VR&%AOtweF0r7~51xx}_P zeY;D;6uzlZ0+MQk3A^E1$mvbDFZ7J{p%k$00qL;Pe-w!@MK1b*uKUm6g3PhpZ0m+L z@OsgoiMs_JFAw=PCo8IRdht4(!p}|>||1Ebq^`rE5=sDo{^!%DU z965D<<2ulLCt;)9d<_`!zdr*huRAGFW7X_0h10%I)=q9UpuWY+YhC*lhr{`ZP9GB~ z?A<$GUU*PgS6ryFcv@|g0aWUMx_~YKDmBZm1+SXpm1U!^_j###e~x#RWzey1w6#^y zpcDLN7;MtK+X*4?ySR8-4BTODbzbIE z%tBP>$OmQ3BfvYI_G>>jDz|6Q@9pgL+V0la?P3$l0FSIVbdeXsm^e`9K>^Z(KRqA) z>)5d;j{j?GV?@Yqyxhe$!JXxyqO;li!vbDT`uHyu?nTKkl<_{d;%ScZ z{c!kI-r-*%i=p~`nEgy^8zkhSqFdVvr0FHU)xE=ZB^<-~okLO*i8?1Jgk*gQfUpp&knW2Ub={F`3-pw&$u-J!;0>o3VC*N(% zW4@R#MUrV%S){=6dl`hl=C{yqEup*V0Qq=CcIOewZoqoUGIO!#KP9?R4j=8n(uGe(VKkZ40wEa?gR}N;h96 zl+0to>S1+%ld-{e|7M$V<)b|o!Dc%FvSwc$PMKDH2l z%sQr<-3O9-n@YvzC_%D>2ZP_Kzwe7lvkNX2NE}02xKA4pSaj`X1l7Qr zvAD+uX{$fa;tTk80nV1;54nEh1lrs)Jjf0ZD5hpR)08n^`*QE=aR>C;rGQ#)P(P{c z#`wKn5EWXIvFWBb$@2pW$rpjXXJdm#F{9{iztXN-{-YjcrkE{aHI{$FK~HBqBQ}cV zQ~n6>KQ&QZ8Mo|$2z3aF5i45S125j&8oFCQtjJ~HfR_0ugmr<$3km>fVuy`(5IXMx z0CUK^(~=9!`Rl?hV$tSXq40CO!&V0*nK`HZz5rl2f|uF`7UayBP%Nx!Hk%M-2*NfK zlsUq;qX0yS;MQQbHT+_xyzu6Avu(=*3GT}Bybphhem7sdSY#{c|8twvm&Jczv@9#$ z_2cxHOijDL@wlthjy)JT+{Qofq%-u}2sl;JOnbU|U(F9N#fO&F_1@U4=~0*B7Dd>g z+aX_fcX!%mM@Ns2UAE9!2(_}XnD(=6!MT&a)cDYB-A1Ql`b0hd+RMX@xY4&`AADo2 zvKn9rr!Jd;_w3!P`7QS4uM9i0p&f)@dX#u^!eQ2mOnVa?<1{peS;hA z#X-PunU~@RLGkkY)jE$J{loKra|_!lXK!z>i(qKw7>5TOC*o78=YOBAsQ|Oe998fn z*t5(>trZ^RXsWBDo<=8=%N%6&QfJbxNuE2WMNYr;z32AZsJTD<5eQ90ZGZ|F>lNq@ zI(+8lUuS{hVDt-E;}uG%$VCZ`1iez$4PLKI{E&=KjO`Z3;m5GOA7`SK&Yk<}rTT@PJ-zhW_E~HKb2`M8qYNLRk%Cyb;%MSaTq^fqg-e(66bHM^ zw8C(FhQNyWBqp+v0Bxzn5Mc}|Fi1nD_b$H^dB=0~ni8ts%o)JewTMn;$k;;vRiL63 z&Ex>Z7AuU$U~d6&3}H8w?F(dK?zLQ!{2{;Wj0JvjM~*=wQUGFAlLmX61*TW+pbohf zuVAiNX#&ZyOUPpD)h-a{SrO;XRc;P-<&1QW-=oBrQNPYlDtaLxO-W6VZeaow!zc6# z=s?!@_ATBF(bk*QqtjL)fpcVa@QM1Y8O1`MnPc226YDFv$VgfyNyLo7k7JjcSOze3 zeJakcIvuPSZ0Byl8sqHmYUk!^niqOpIQL0-&F1CJv7Kd^DK@*j&8=1~`ITIVXmhmN z6C0HfduA*IL0u%o+PEHo&-Xe1dCqa!sOFg*oO2_X1?b1@TY&EQp_|Y2nhriD$jdsB zQaxnoH7Snnz&C-_D*%a_`k?8gIJJ3E0LcvJ_zduE^p%T~HWqgB93?n+kw62KYznyV zAqT{A(t+#O9_01}HH(A^Q>3=uW|A7eI#kr8P6T)is15p6<(Vq-`o=7xnQ>#>e>!oA ze6&D9KD^iGj63eE*HuXUJX8B!0wm9x*#Yp^zS>IQUtoPsyuvfQ?K$9@5z1OA^h8J| z_~HExfI5Zu-t{%03%LVztn-iOGh$oB#9AJ%UOHQuy%l=ts_Y&yvD>z<3pMTmi>RBh zmXP&-cqVCeIux2KZ9?F0(GnoJJK-Eg|31AFZ}HQO$E#1VF)mttFtG+jGs!)0DH(O% z4{#AEr5^uan@FlC(yEBN<>pZxnXSwpEuxBRuN%dp4Yx9t#r|)b;Z!#kD)Si3=|i3LRJsCHYBAWN5J=gz}SLNQ` zoia&acWb?tldB>@c2<^rH`L@o*wI<8`ZjT7Y-&%m+{R{HkmkISx00jAyie z$Cl;**I(zUQ!*81zF4K%a=Iz;<+nw*;17|PmI5HJd@I%T+{!&Qhy}7d=RPpU{Fi+5 zE+!{=JF{6OZlwq#TFl%cvHeK_{#x~i2>er1^$;@1GBu@>RLcTbz~m; zL!UB44Zj#b>nb=m1kPRfWp;cw-3k+E;qDmF@m$F(+XLjkW(q6`cOY3^n=cf$TDxZ* zWfcyi;8RnbRxftLMOgAgEzn+7xJ4 zNMupGE4~GqB&~S-W0EX+Q1f`l{Q+cBX9;EoaL>b}w)Xscj5wy(k@23VcA=LDmyQGt5elzE15v^X7{yEyPn&oL|d z3I(6_QgK8P(QDSz%&_D~wY4igv+(}s6%tn=BVI8hNQ&b_JY$C*b8QOrLP?eyfgXSa zQaUQ{{*Blm2dGKU-^NKn&5sq)vOt>1FpOuL0LZ7(l1TQrp@Dz2u!B$JzbLeBb$2}4 z@zhoV2UJlypmr7Nfbjl_j9%^WR|!)9oi$5E4Y>`*ubJ8`F-M5DOpG_TckthbUnGoZ z=c+cIewe|K;g`LRXDI)SxWuf%E>EQdu=G2p4)kdiL{Ghni1G!tQ(191QzWy6 z)4~85mOPAvEZ)$FyDW~Z+B2r;M&slCio!X{Q?uQq&)G=#@+{vjA=Afwo-ak`Mp32} zGyY8>caf16aiz2>ApJQMe}M&S*g1Uad%)tG3LyKg**B#Kv#|STTBH@>R*Ax;7N+uZ zW`rQ=Kuza~c!pW(dZ3M$CF|E7U%-s^%%QCC-*?b~1w8-IGNSrr8kkdHg3MLgKbu|J zwh`!eC)eWhiLmm5o}hocX1ZfvZ*Mb5#GHQPRJaEs3^Pn7HAXAiG&@|$#Sbpp1knCe zQYrjsScoJiwsc8OSzB#q7W}z3=`LLXsb60caescjc~sDSPd(E#UOu(*KOu72-j9`* z{{^Tm@-D17n*YB7>;DS<_v2j^HzLVi#lhc;wry+=JR!anx_Q?7pY#9d0kDVv?{@J1 zZ{l-JjwX(i2eP@ndmnm3is<4;f#Z)7#SXkrJgK4KZ^CnfxC{`ijWjT!YYZqGOA`%G zssim8&|Hh?5`)Hla74MX_r|>O{{*v2?||JUcW!LRb#mN6@G#y%2!9Ng+PHZP)R}@p zW-g$o%$DCb1b>N~jUIU%$?>{M2~Ejc@4Q|YJ}Oy*vUBfWdOq=MC*!O*2zaU|g8)W< z`xtCzCvxboL1qWKn#lBbRn0t+We{m}FE_j4vv!&?#J09J-p`M+v;%I}kBl@WYa;OE zl%SmijBr5%Tlcn`bO7@2y@^&S;}=CK4k(OE+1KTpsb3)t*1mYAYOU)`mcLzO>!$>k zcdv5V+{1_#dWppoDdlTfCOrDX9Cw1eCCh!cXb^N z9s6qZi>pX5tHWX7GzSy+gaDyybF7WbE%T{?BNSa?vjIuBqtgL7!bOT9-=8LjG=(aT zHiVi!^q^#u0T*qWfeN1(np$S9D1#}be%HT8idXum0>hqYtD_0Gnk zJrUXW`fO8*k|x#_cM^e3NO`-RS?LyN#a*nx2UooyX#vSI$@A4F>Xob8#FJj3u!jw! z5>`S!95>>;lCHVAYHp;nt2Wy{C~dwF3CvFfjiX7iOk}bB1G5 zglJi0dhhknwi|*DPhh92E|N*8L0P^`fY2|87fJhz`m2d>0Ug<<9hvlxc*S6JQwzT< z_>YHqyd`K(UAc$+g&T`^E;iVj1g*&|zt7-|c2z5~pA_4dy2~!uauI25-29Mf>1A2R9F`dpSa!L) zEA4(sL<_l@tA*<7E02B0r3k)c>$JwkVVONW#}JH4qlq@d;h3L`f7)amS7MCybRx!I zU9k3$z)3y0g;asTSXn&<290=M>15p1{{RR+*0<$Zn+f~Fq-Zql{Lzo*drjY+L^Dn2D9YCq!I1aQX#`;{fTeadr)49?^Uj*-|4BG&Q01YB;d7IuswsBDyWk zu+*E^PY#15U8Ua$>DPfQN_+M5Z!Aw)C4fX<{C7WB$$fLKy)HZ@hJVnREoFgPevF~4 z#0V@ioAlG6FW|n){9ysUMzb$TOJjqTno+R_nwC#aY zHf|Ovdv8Pze$QCyP*f-b){~8>u@QBuotP_7`Az5)dvM#ZQyj2eF}Z|~;yCSJ pH)4@|+m#~vy4A*7mR7~OieOI&{K}#I*EU+&oOd`^W%>J`{|k8LoYDXQ diff --git a/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemoryScanControlPanel.java b/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemoryScanControlPanel.java index 82e8522eb6..eac955f614 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemoryScanControlPanel.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemoryScanControlPanel.java @@ -15,7 +15,6 @@ */ package ghidra.features.base.memsearch.gui; -import java.awt.BorderLayout; import java.awt.FlowLayout; import javax.swing.*; @@ -38,20 +37,30 @@ public class MemoryScanControlPanel extends JPanel { private JButton scanButton; MemoryScanControlPanel(MemorySearchProvider provider) { - super(new BorderLayout()); + super(); + + setLayout(new BoxLayout(this, BoxLayout.LINE_AXIS)); + setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0)); - add(buildButtonPanel(), BorderLayout.CENTER); + scanButton = new JButton("Scan Values"); + scanButton.setMnemonic('V'); + scanButton.setEnabled(false); scanButton.setToolTipText("Refreshes byte values of current results and eliminates " + "those that don't meet the selected change criteria"); + + add(scanButton); + add(Box.createHorizontalStrut(20)); + add(buildButtonPanel()); + HelpService helpService = Help.getHelpService(); helpService.registerHelp(this, new HelpLocation(HelpTopics.SEARCH, "Scan_Controls")); - add(scanButton, BorderLayout.WEST); + scanButton.addActionListener(e -> provider.scan(selectedScanner)); } private JComponent buildButtonPanel() { - JPanel panel = new JPanel(new FlowLayout()); + JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEADING)); ButtonGroup buttonGroup = new ButtonGroup(); for (Scanner scanner : Scanner.values()) { GRadioButton button = new GRadioButton(scanner.getName()); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchControlPanel.java b/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchControlPanel.java index 4a6e8691e9..cf6c1180d3 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchControlPanel.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchControlPanel.java @@ -24,14 +24,17 @@ import java.util.List; import javax.swing.*; import javax.swing.border.Border; +import javax.swing.border.CompoundBorder; import javax.swing.text.*; import docking.DockingUtils; import docking.menu.ButtonState; import docking.menu.MultiStateButton; import docking.widgets.PopupWindow; +import docking.widgets.combobox.GComboBox; import docking.widgets.combobox.GhidraComboBox; import docking.widgets.label.GDLabel; +import docking.widgets.label.GLabel; import docking.widgets.list.GComboBoxCellRenderer; import generic.theme.GThemeDefaults.Colors.Messages; import ghidra.features.base.memsearch.combiner.Combiner; @@ -89,9 +92,11 @@ class MemorySearchControlPanel extends JPanel { searchButton = new MultiStateButton(initialSearchButtonStates); searchButton .setStateChangedListener(state -> model.setMatchCombiner(state.getClientData())); + searchButton.setMnemonic('S'); searchButton.addActionListener(e -> search()); panel.add(searchButton, BorderLayout.WEST); selectionCheckbox = new JCheckBox("Selection Only"); + selectionCheckbox.setMnemonic('O'); selectionCheckbox.setSelected(model.isSearchSelectionOnly()); selectionCheckbox.setEnabled(model.hasSelection()); selectionCheckbox @@ -132,9 +137,10 @@ class MemorySearchControlPanel extends JPanel { if (!formatComboBox.getSelectedItem().equals(searchFormat)) { formatComboBox.setSelectedItem(searchFormat); } + selectionCheckbox.setSelected(model.isSearchSelectionOnly()); selectionCheckbox.setEnabled(model.hasSelection()); - searchInputField.setToolTipText(searchFormat.getToolTip()); + searchInputField.setToolTipText("Search Text: " + searchFormat.getToolTip()); String text = searchInputField.getText(); String convertedText = searchFormat.convertText(text, oldSettings, model.getSettings()); @@ -144,23 +150,53 @@ class MemorySearchControlPanel extends JPanel { } private JComponent buildLeftSearchInputPanel() { - createSearchInputField(); + + JPanel searchInputPanel = createSearchInputPanel(); + GLabel searchLabel = new GLabel("Search Text:"); + searchLabel.setDisplayedMnemonic('T'); + searchLabel.setLabelFor(searchInputField); + + JLabel bytesLabel = new GLabel("Byte Sequence:", SwingConstants.RIGHT); + bytesLabel.setToolTipText("The byte sequence that will be searched (if applicable)"); + JPanel bytesPanel = createBytesPanel(); + + JPanel panel = new JPanel(new PairLayout(2, 10)); + + // row 1 + panel.add(searchLabel); + panel.add(searchInputPanel); + + // row 2 + panel.add(bytesLabel); + panel.add(bytesPanel); + return panel; + } + + private JPanel createBytesPanel() { + + JPanel panel = new JPanel(new BorderLayout()); hexSearchSequenceField = new GDLabel(); - hexSearchSequenceField.setName("HexSequenceField"); + hexSearchSequenceField.setName("Hex Sequence Field"); Border outerBorder = BorderFactory.createLoweredBevelBorder(); Border innerBorder = BorderFactory.createEmptyBorder(0, 4, 0, 4); Border border = BorderFactory.createCompoundBorder(outerBorder, innerBorder); hexSearchSequenceField.setBorder(border); - JPanel panel = new JPanel(new PairLayout(2, 10)); - panel.add(buildSearchFormatCombo()); - panel.add(searchInputField); - JLabel byteSequenceLabel = new JLabel("Byte Sequence:", SwingConstants.RIGHT); - byteSequenceLabel.setToolTipText( - "This field shows the byte sequence that will be search (if applicable)"); + panel.add(hexSearchSequenceField, BorderLayout.CENTER); + int spaceWidth = formatComboBox.getPreferredSize().width; + panel.add(Box.createHorizontalStrut(spaceWidth), BorderLayout.EAST); + + return panel; + } + + private JPanel createSearchInputPanel() { + + createSearchInputField(); + + JPanel panel = new JPanel(new BorderLayout()); + panel.add(searchInputField, BorderLayout.CENTER); + panel.add(buildSearchFormatCombo(), BorderLayout.EAST); - panel.add(byteSequenceLabel); - panel.add(hexSearchSequenceField); return panel; } @@ -181,7 +217,7 @@ class MemorySearchControlPanel extends JPanel { updateCombo(); searchInputField.setAutoCompleteEnabled(false); // this interferes with validation searchInputField.setEditable(true); - searchInputField.setToolTipText(model.getSearchFormat().getToolTip()); + searchInputField.setToolTipText("Search Text: " + model.getSearchFormat().getToolTip()); searchInputField.setDocument(new RestrictedInputDocument()); searchInputField.addActionListener(ev -> search()); JTextField searchTextField = searchInputField.getTextField(); @@ -220,11 +256,14 @@ class MemorySearchControlPanel extends JPanel { } private JComponent buildSearchFormatCombo() { - formatComboBox = new JComboBox<>(SearchFormat.ALL); + formatComboBox = new GComboBox<>(SearchFormat.ALL); formatComboBox.setSelectedItem(model.getSearchFormat()); formatComboBox.addItemListener(this::formatComboChanged); - formatComboBox.setToolTipText("The selected format will determine how to " + - "interpret text typed into the input field"); + formatComboBox.setToolTipText("Search Format: how to interpret search text"); + Border inside = formatComboBox.getBorder(); + CompoundBorder paddingBorder = + BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0), inside); + formatComboBox.setBorder(paddingBorder); return formatComboBox; } @@ -252,7 +291,7 @@ class MemorySearchControlPanel extends JPanel { currentMatcher = byteMatcher; String text = currentMatcher.getDescription(); hexSearchSequenceField.setText(text); - hexSearchSequenceField.setToolTipText(currentMatcher.getToolTip()); + hexSearchSequenceField.setToolTipText("Search as hex: " + currentMatcher.getToolTip()); updateSearchButton(); provider.setByteMatcher(byteMatcher); } diff --git a/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchOptionsPanel.java b/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchOptionsPanel.java index 4b5585254b..489f68d27e 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchOptionsPanel.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchOptionsPanel.java @@ -29,6 +29,7 @@ import javax.swing.text.*; import docking.widgets.checkbox.GCheckBox; import docking.widgets.combobox.GComboBox; +import docking.widgets.label.GLabel; import ghidra.app.util.HelpTopics; import ghidra.docking.util.LookAndFeelUtils; import ghidra.features.base.memsearch.bytesource.SearchRegion; @@ -57,7 +58,7 @@ class MemorySearchOptionsPanel extends JPanel { super(new BorderLayout()); this.model = model; - // if the look and feel is Nimbus, the spaceing it too big, so we use less spacing + // if the look and feel is Nimbus, the spacing it too big, so we use less spacing // between elements. isNimbus = LookAndFeelUtils.isUsingNimbusUI(); @@ -93,9 +94,22 @@ class MemorySearchOptionsPanel extends JPanel { JPanel panel = new JPanel(new VerticalLayout(3)); panel.setBorder(createBorder("Search Region Filter")); + boolean accelerator = true; List choices = model.getMemoryRegionChoices(); for (SearchRegion region : choices) { GCheckBox checkbox = new GCheckBox(region.getName()); + + if (accelerator) { + // The text for the checkbox is dynamic. If the first letter is taken by a menu, + // then the accelerator may not work. At the time of writing, the first letter of + // the first option seems not to conflict with the other accelerators in the parent + // dialog. + String name = region.getName(); + char c = name.charAt(0); + checkbox.setMnemonic(c); + accelerator = false; + } + checkbox.setToolTipText(region.getDescription()); checkbox.setSelected(model.isSelectedRegion(region)); checkbox.addItemListener(e -> model.selectRegion(region, checkbox.isSelected())); @@ -109,13 +123,15 @@ class MemorySearchOptionsPanel extends JPanel { panel.setBorder(createBorder("Decimal Options")); JPanel innerPanel = new JPanel(new PairLayout(5, 5)); - JLabel label = new JLabel("Size:"); + GLabel label = new GLabel("Size:"); + label.setDisplayedMnemonic('z'); label.setToolTipText("Size of decimal values in bytes"); innerPanel.add(label); Integer[] decimalSizes = new Integer[] { 1, 2, 3, 4, 5, 6, 7, 8, 16 }; int decimalByteSize = model.getDecimalByteSize(); decimalByteSizeCombo = new GComboBox<>(decimalSizes); + label.setLabelFor(decimalByteSizeCombo); decimalByteSizeCombo.setSelectedItem(decimalByteSize); decimalByteSizeCombo.addItemListener(this::byteSizeComboChanged); decimalByteSizeCombo.setToolTipText("Size of decimal values in bytes"); @@ -123,6 +139,7 @@ class MemorySearchOptionsPanel extends JPanel { panel.add(innerPanel); decimalUnsignedCheckbox = new GCheckBox("Unsigned"); + decimalUnsignedCheckbox.setMnemonic('U'); decimalUnsignedCheckbox.setToolTipText( "Sets whether decimal values should be interpreted as unsigned values"); decimalUnsignedCheckbox.addActionListener( @@ -145,8 +162,11 @@ class MemorySearchOptionsPanel extends JPanel { JPanel panel = new JPanel(new VerticalLayout(5)); panel.setBorder(createBorder("Code Type Filter")); GCheckBox instructionsCheckBox = new GCheckBox("Instructions"); + instructionsCheckBox.setMnemonic('I'); GCheckBox definedDataCheckBox = new GCheckBox("Defined Data"); + definedDataCheckBox.setMnemonic('D'); GCheckBox undefinedDataCheckBox = new GCheckBox("Undefined Data"); + undefinedDataCheckBox.setMnemonic('U'); instructionsCheckBox.setToolTipText( "If selected, include matches found in instructions"); definedDataCheckBox.setToolTipText( @@ -185,9 +205,15 @@ class MemorySearchOptionsPanel extends JPanel { alignField.setToolTipText( "Filters out matches whose address is not divisible by the alignment value"); - panel.add(new JLabel("Endianess:")); + GLabel endianessLabel = new GLabel("Endianess:"); + endianessLabel.setLabelFor(endianessCombo); + endianessLabel.setDisplayedMnemonic('n'); + GLabel alignmentLabel = new GLabel("Alignment:"); + alignmentLabel.setDisplayedMnemonic('A'); + alignmentLabel.setLabelFor(alignField); + panel.add(endianessLabel); panel.add(endianessCombo); - panel.add(new JLabel("Alignment:")); + panel.add(alignmentLabel); panel.add(alignField); return panel; @@ -215,19 +241,23 @@ class MemorySearchOptionsPanel extends JPanel { charsetCombo.setToolTipText("Character encoding for translating strings to bytes"); JPanel innerPanel = new JPanel(new PairLayout(5, 5)); - JLabel label = new JLabel("Encoding:"); + GLabel label = new GLabel("Encoding:"); + label.setDisplayedMnemonic('c'); + label.setLabelFor(charsetCombo); label.setToolTipText("Character encoding for translating strings to bytes"); innerPanel.add(label); innerPanel.add(charsetCombo); panel.add(innerPanel); caseSensitiveCheckbox = new GCheckBox("Case Sensitive"); + caseSensitiveCheckbox.setMnemonic('n'); caseSensitiveCheckbox.setSelected(model.isCaseSensitive()); caseSensitiveCheckbox.setToolTipText("Allows for case sensitive searching."); caseSensitiveCheckbox.addActionListener( e -> model.setCaseSensitive(caseSensitiveCheckbox.isSelected())); escapeSequencesCheckbox = new GCheckBox("Escape Sequences"); + escapeSequencesCheckbox.setMnemonic('c'); escapeSequencesCheckbox.setSelected(model.useEscapeSequences()); escapeSequencesCheckbox.setToolTipText( "Allows specifying control characters using escape sequences " + diff --git a/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchProvider.java b/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchProvider.java index 95060011d9..a572739c9b 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchProvider.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchProvider.java @@ -698,10 +698,18 @@ public class MemorySearchProvider extends ComponentProviderAdapter } @Override - protected ActionContext createContext(Component sourceComponent, Object contextObject) { + protected ActionContext createContext(Component focusedComponent, Object contextObject) { ActionContext context = new NavigatableActionContext(this, navigatable); context.setContextObject(contextObject); - context.setSourceComponent(sourceComponent); + + // the 'sourceComponent' will be the focused item if the focus owner is in our provider, + // otherwise it will be the main component + context.setSourceObject(focusedComponent); + + // we make the source component be the table so that the 'activate filter' action works + // from anywhere in this provider + GhidraTable table = resultsPanel.getTable(); + context.setSourceComponent(table); return context; }