From 071c75bd7a8e56fd24bc16c653ecd7c4fea96f30 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Fri, 26 Dec 2025 09:22:20 +0700 Subject: [PATCH 1/7] wip --- .../UserInterfaceState.xcuserstate | Bin 173184 -> 184849 bytes OpenTable/ContentView.swift | 5 + OpenTable/Core/Database/DatabaseDriver.swift | 3 + OpenTable/Core/Database/MySQLDriver.swift | 8 + .../Core/Database/PostgreSQLDriver.swift | 8 + OpenTable/Core/Database/SQLiteDriver.swift | 9 +- .../Extensions/FocusedValues+Extensions.swift | 22 + OpenTable/Models/ConnectionToolbarState.swift | 5 + OpenTable/OpenTableApp.swift | 153 ++++--- .../Connection/ConnectionSidebarHeader.swift | 4 +- .../DatabaseSwitcherSheet.swift | 429 ++++++++++++++++++ OpenTable/Views/MainContentView.swift | 46 +- .../Views/Toolbar/ConnectionStatusView.swift | 32 ++ .../Views/Toolbar/OpenTableToolbarView.swift | 1 + 14 files changed, 656 insertions(+), 69 deletions(-) create mode 100644 OpenTable/Extensions/FocusedValues+Extensions.swift create mode 100644 OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift diff --git a/OpenTable.xcodeproj/project.xcworkspace/xcuserdata/ngoquocdat.xcuserdatad/UserInterfaceState.xcuserstate b/OpenTable.xcodeproj/project.xcworkspace/xcuserdata/ngoquocdat.xcuserdatad/UserInterfaceState.xcuserstate index 603de148e75fbf65da0d8cab1be138b8637a5419..b504403973e726ce9b78d83f64acdb02bedda01d 100644 GIT binary patch literal 184849 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

duK3><{|Dm#Nc^9O z|1gX z6eUoWKve?kN??5njF!NL64+P*n@V6a32Y&Ott7CG1h$jF4ieZ=0y{}yq6Bu9z^)S5 zO#+i8FjWH6B``w*vm~&m1ooD|J`&hZ0tZN7t^^K}z#$SiOaey;O~3-jNZ>dLoFIXd zByfrZPLseH5;#i&=Sbi@30xq7c@nrt0+&eOG6^gYRJ*{{61Y|Z*Gu3=3EV7!TP1M2 z1n!i;-4eK00{2Vc9};*-0*^@GF$p{&fu|(!j0B#OzzY(1Ndm7(;57-nA%Qm~@Gl9x zErE9>@V*2-kibV0_(TGq3C)TEUrFE_34AAkA0+UT1b&ggZ(Bvy-95wY6E>J)2fv6dBUd9hX$Yh|%k5i2HELadZn8L@I= ztt!^)Vy!9G+F}*ODvMPWYhAI{7i+Xw8;Z5DSeuHqnOIwhwUt=gs8h_1y9qbxrrflf zakFmD&AY3*tGTPYYq)E=Yq@K?1-Iyy+_GD7tL{4Py6$@J`tAnqXm^aep}Ud0vAc=8 zsXNx)%-!7G!rju{%H7)C#@*K4&fVVK!5!!B=#F=HawoVG-7a@$cNce8capoCySqEt zo#IY)r@7PJJ=_`YOm~($+uhUM%iY_Z+a|7?;hYD=+1S;J;*)SJ;XiKJ%Nh`?mXz`>y+*`@Z`h_XGDs_apaX_Y?P1_cQl% z_Y3z+_bc~n_Z#$juoHH};qZ{~(D1PE@bHN6$Z$irG29ex4!49`!;x@XxINqv?hG##UOK!? zc-ioB;pM|CgjWo&6ka(T4X+X&6^@1D;Y2tYPKDFqOgJ0Ph4bN6!>ff?53dnkGrU%K z?QkJn441;?a3x#~uM=K3yk2H9@S2Vs(kNvsk-`wX0Z@#M(`)$zn|rYpPh&#F{SF9%9W9Yo=JU z#F{PEUSiD=Yag-p6>C4S_802_u?`e#u2>@0L1G;&)*)gYD%N3Q9WK@pVjU?KFL1P2 z$B1>TSjUNVf>w2+n5bH*khH*6zeXr?iTAFvF;V?KC$i>>jAO;A=ZOpJtWq{Vm%_(qhdWK*5hJ5A=Z;(JtfxD zVm%|)vtm6b*7IV$Al8dwy(HGlV!a~Pt75$-*6U)uA=W>|dQ+^o#QK+5{}$_QvEC8u zU9sL1>wU5QBi09EeJIvPVtp*uCt`gn)@NdUF4h-9R~YLnvA!01!dTym^_^JXi}iz8 zKZ^B}SU-#Pi&(#k^_y6~i#I*t5mnQ|!IPo+I`?V(%;Veq!%0_5oraDE3^jMeKvb zK3MES#6DE)!^A#Z>?6cJQtYFIMjiICVjm~=@nWAK_K9MjB=*T-pCb0DVxK0o<*?5X z`%JOV68mhi&k_4vvCk9xe6cSOd!E?y#lA@Fi^aY~>`TSIOzg|WULf`rVqYotRbpQ) z_BCQ(EB19_UoZ9zV&5qCO=90H_AO%HD)wz+-!AqYV&5tDU1HxY_B~?XEB1Y2-!Jw9 zV*f+z2gQEKxaK2#e0K|M-{s@njrNYxb#>OH@sp!n-8st9o<5XZ&9&3y@l$vIV_;N1 z7tbfsg?KbsspO(`)=x!q@mM)pDr6Fsav_n)B(gOaw(n57h~ySEy|f1Iq6pxnD#Z)vEkL9DeRK6U|aPLN@T1gbr#bhnYe2sFQ zHA&bK}~KS<&fq z+Z|QpMvOv&JAaG0d=i9Ink#_gl_;adbgIfsss>H2(g-(sn@2fY$fXmpG|N-UM7iyx z#Er5^Hd!)LsgyINLONfloyYYW6&C0CB;V%bVGlPNQoSfv=v$5X{@#aXksLHYYM%3a=25}A0slq}_=rD~D6WXh>%F`FwzE9nH+ zLZ=F)T-iW*NTb~24JDmQm5O#aOY&HOhVc-^JB< zyqYbglL)LbHx?HPVR7!N~L%$ z%4-_sVQ(mze7RUE7Gu$JrU*TXkiM8LR-=h(DO<^>)5TcTpt`;~%J*phSF4oF7qZBa zC|4%1TIp&5+9!%|OCnXx#$%OyE>k;?clA6T?>|B&m&nHAiA0qC`FZvfYnJD9VGkFR zfTjxBYHio}u)g8R_hkPO61h?=k%h52{y42NRrXXYnPy`ptA$K9QDocJ&Ou+=aJv3vF9 zNxm1op(NP7sY<#SO_nlBW@Ssvg)=c*$srkw$ynJy8KN&m^1a-D$`>-_WH!h5#$s8d z3DXQ zc)Sp=rXfW!&Y_qpl~5iyIHJ``vV#6tjaSRHr|uAa*^uuoZz$DRJf64l`@mw{D4w0?plOfA!>G+;EluD))%W|tm zG@XpY`1!ojwmDVG*?2KtLaWFX3>1BpkMBR;P>S&?*BGH_SJ1MMUm56? zg*4kMR;*N^OR*4z8LQDs22m3)R^pj>u9olhl{&spy`f}dMK)6!IUiHH3NjJik5!{( zwgf7DF`X&Y%HkpVsvO_vUQseBz8iA0Z`sLdWO13zP+?neWm>$H`eqy7*WOUzZuEE-E1OV9SQRNytS~j? zP9~Giq>?BYwJ7?+8sE3xP%0QC)p$7`jm3-TEX7nlS}3LXYoc6AO0JAdM#40rht9TEt%|O<)z?0wF0McqQD7*T3Ix9^3EFNcW)@Me6AADp;c6~2xi14 zdn|^S$)w84%#Nii>3r=T+r1mbKhPUWqLiy9s#vJ%Hc<9hIgb^Av!$r4?|2EhUpDsG zbdBQkhLTTX_HfH(l&jN`Fib33C{{SiGEA|MX7^PL>d)3Ff&S|+xKgs|0^~??GBS^9 zBAPFuD>1oPs$9xfIeBVVYafkZdz%Lc)oKcw6w5e`Qsrz8O)n3L3OK9s+#iaGQHye* zMj7M{rIJvWa3UHD1q@T9J||dGIT0$kOeIq&CF12;f6_@#YCl=D^?h)oy(CLrQRD#xx!^p1rFj;E{1fe6!03T{hTSsxVMhW-4k(x zF2`vU#~VsAovx-z`BXHYD5=vJWxtRw$D-UDR;gl>RSL#smqSk0C}D3X*+Mm4;&#|* ztXgD`<&sHGFw{)^II(0gnZsFFYZ(nWL!%7!h7!jfO%ymHp-q~zMd`@NH0D?gqb$d* zjFpnH$IjI#!@Z$o%V@6|_EF$cRFzk>miqHF%Ei)p49oWJ~xjP$`Xj=Z4&@QQG=XlLR^|)(PUBcV@Mc%IZd0N~bEZVges-CTUnk zcW8tTZ}X_6D;4b0I4_RdE2W$u#R4w94A-j0;+YEG1Y-x^t5KHnh!W=#%p^=+LElq) zOAJQDnuz5wVVO{>R5f<+gBoR-{;yV{98YC&&qvGnJ(&mFIA6@+G>qelj3bwGhL2*% zV;W&OZ}Ui1GTgYzi^oyGm`4JgC6xe$OFp@AncbDE^+gVOTBEGs4F!)N+7MzSrVLfw zpPVTL4Dq;9{mNVfj>2ENgI~}nEA@Z1N~K~fgSi@w<#I^+L;-(fE|1k+h^L7@z(Hwa z9foMpWbkgen$bPq@Bz9&c)tQQlCn5^+%AHz?!tR-B0L zmBp)9%x212^jIvJaxKa`8YS)x1;vhwb~%AFS-3ov#hIQ@VCt8W*$Tk{ZYho#JNN^Q zlI%ZC(iJS;YB`N`tSEl(K1K*~Rk;}(%O#!4aVkuu@nf8Ay`dhAwYq^H7i97IA4h?l?VZY#=_BPAS5-yCf?>j$c9)Z z3Pg-!9r2Rkup+`8<>c*~Ud|id=%Jfvlwddo|Ei}qFZz%9!tcs5d?Ga($oy~xU2)twobH1EL))*+; zYLxNbP>RV^g%p4i*)mK6*$=O!^X@mVDgc${jVz1aBzmSiFGRf~PyL{1Uia zP$3g|rAn1l9&yjg)oMmVyEICdHVm0{avvjo$yfjR4|IW)auAyFhDtXN7Ils`bDO!J0PPL&eGx6!xr%m8ahnJC#j zk>^Y%Q!Ey+iHy}cSflLG|J5pzJfvdsMAMY#mcS-D3x`WO1-Dc<{IU9KSL+CkFw@&S zl8IQAFc6ZZ0y$C%xF7LM9$qY)OcxW0L@aBp*0CC8cK_#*D8Opv0%uA*#yl`d@qASB z#JDQ)6wH~*ny2td8euPw^T3^*PbdPUGVn+S#f98}1iKeuR?Lxqkgv5-hMulb=JbCa z6_N@nWaL0>rQH#lC8Gg{4yhR!#%Y4+$=ZnE&~r4xzTW1MQ2{2b`Dika`bZ2gi$zCX zB;NEQ9FxuC9KoF zjjD){VuB&4sF;t-|`%Bxj|Oi8b^JjUxT0NrtFTo+L7;uB?ZWA~;S0bT5)V z)yB$I4T*BCMmX5pJUEgHr9v`J%#nc>xx7r@au7?)Y9a3jdFPZSF4ICT1K~05=EU>glP*!6v=8lm&7bq zzHh?@zDFY*>2)4SoY**`2-ko@Y6&qx9IB~AJekesOO=8VLmB!HjdHX%6qY2LN@M;q z0VrQ)LWI)@p~Y~hv3BGX8hrAoMmg5QY9Vo}6_^kS2-PcSUj>*C)i{C9l25{pwSK#y zPichXz0D(2L2e{6khw^n3=wp+FV6ZXXJNX^Jn$$Oa_f1Ga-ugB?8S01pCgqFZ!I%G ziNp{_v|u=r@SBg}Dy-dGuV|E$y`i8~ClW_<_>=bzd48CqQ7-R4N9HMf$d-wkU|1UNH?mrO@=M6QEu>tlIHM8 zqYm@6YHy{9(iE$BZAqBR5vfV@zgoR(SX86j)PKsWObn8SO5}TBI;4`+2jvSYe3mX& zGn~q)q#?V8B{ae<-sVC5L=IBpt|=td4z4Qq5P4-Pt6bSbXiK$c%CM|Pxy>62>k-Q; z-yL2WWuM^mB26((Oe~dynq3Oiml`@e8~|8a~4rC;$-1g z%>7l+D0g{7iIYW^%MiGR7+4N@5{t+q=X8m|^T_9N+(fBrlzaM5c|4tz01>`SCzTh9 zYBYFW?ciK75hsLFj2XEe!#2(E8s$lEC^6&-iUcm36ls1`T5vuV3WT0=$~9QVj3^rC{8Wwdv^NxF zRViD-24=xnF;p0|39_Wp35uO^$x)Zz%Ct ziBd;Y78p?F;v|ujaU9aIV!D*&q{*cVhCDtLOOB5-Y za_lsX@>c)PmNE&7l+`GIt*W-*gu#h}i!HBeEefP5V~*F(<7|!aZ*TKR!{wz?fy%wA z%2~@`cX4#FmDBNJjKmLAF=KySpi$oOhC)RhzEeVg*__giRTWGQ9TQ2ZJO@OB$!V*d z%f%YyJ#Q%FL*`;+C{qTCXBe*|1j(}jqs_rmC6$=N#=QboSp38 zf{JM)fGM8G=R!Rk1-ypMb+<eBh-;E5KA|AUfeGH7a7>^Y6{ zy*CsR6^Uoyq_3)=P^zTNU~0Cb9P?DvqkNMUREzSmM)}bjN;+4`t6XQYdNJ?N#W-11 z@d)NiRcS1$Ahj0d4UO`%Hx!b$<1w=K@!%?cSMf&9kOI`lVxhqVJsWC0Q^WqPQGWHX zi>sK6RlYnO!!AwXxM6=0YpkXdM1xW#e1^t6-q#4fdz(k0L{UYCbBZ7klvnYNyb9hB z|HY!Hl2(*3&iIeJQ33DBtK#*P#(*L{R~IO32!8+SSVxM)l&XjjS}#Pf|D2k%JtBWLBU;w#QO8K%f-!y@`!qYUzf!VW{>BECWG z5p*H$i>*Q$d_J8?;tk8i%jH^GJlwBQmgxU3R<L>5H?NG(wdam!K-W zR_h)HC3us#;D_{F2F|6B{T)HA=YutEKW?F|0_0Bte|xiv}s=lU4XDmP(F@0kvs0 zJ9v15Mi}aC9_2&@I~d1GtUz*6s!G(HC>kby8P$~psYJD4(4Ey5` zNFc6Vt>rXAqqlhwfXJp)A_kopRLl`>A!j)MZc^|_w z8l}w}O1Y9oV3m^8>ZzD!ygQvpSzVki%BD|JuUk8p)ig>+|0%DMFUh6H&PpRoQWZSk zbWUK&Fy^XQF3M$4i?FsvSjyWx$PC9HhziLLMqfcULP^D^L+N~}OdcuPvVl_3D9d<5 zA@LapCobDEi^ghUIO1og?zEUmr>K1(0l=XA`Wj_9ZzyzmQQl~QHAq`6DiX*LhbvSt7(GSxGRTqGoj{F9*7}HsPtYiFZz$9( zlQPN-3V9L~VF=}mptKcmBE*!RW(+%P_^uiy=?x`|Z!S)iKO0GT2yt_8zAIIgBpkxS zxD8XaKGoqj&DEa=+gRH&`3Ia`*y7MGRF2aXHs2Q&f%S2Xu z)zlvL(+I11n+I9~MfsRJO0k9uRYh0|LtZ8GCSnCr_{+u)7LBroH<)Gs){BOB@$DML?Vs6^x=nTl(qW5T9g3N)B$IZiZd%;1Wsohf*dJS?Wu}G)RtOl zay0mc~UZhbr@PBv4F{0E$7IU`k%Apa*Z;^8w&ZN zM1fI%i7r6-?y~X_dpHcw*s4H{*W{!^aFEKz1$L-Y(%Ruz0g7eczyA@n)1D0V9w+QY3HVXU`#6w+l5 zSY=NV)>GL8_(^BUi~TgiH*#pehthR}6%QHNw{3=0Tf4S_IMx zi!2rPZILc$`R*#AGS(@Sr=^ggZ#|(=w(b8s2*;C+ND5?Hg#uC~(!1yiiW$eWsM?`o zC~3&xXEnn1-sX|TEsKVjAge@m6sV9OUQ|8^mEskr*$3&ohTM8dqm1*0LPr{PGGQV> zW~h$#m9LW0OJs)X?;?3JM$gXSuWOX?-cXVhnP5cGr7EMmwRDqGaXD4v#Qvq%OOCwH zS{eK=jWWR-3gr^`vst17S)Ay>;Bk=9sIEc{GucIyQq}q%hrg#$y1b!~fS!jL$s<(F z0;#J(eVfd)lk;nt;Hvh+CJN!qDGNu0(1 z%4}~a7$H^s=m}U*)tIZ^ZUw9fD9@>hhe&1K*6{s^AsS^bZzyy`NyiEbrG%q4MaC$n zF#dF0^c5D7I+0|p{xxExMw#Ocr9w+na)k@jYT;HP=L63(%660ttP)iO#5;_>!y{TW z%D&!E;snoBr7V(5*;@(<-wM5bC_SR#YDpcSwJX-4QTF$SLLO>0RwUyGzZT3NS3M(1 z1EB(mm;*gPa;apk-ZElYjdGwjl(;G^M3W;iRe9CAR}8hD?6^dZrh!%Bwzc}#h?O*o zctfEDR+)5BmE?idNIf9@LVpY_BD|C2eIk2|6^m(I%)pkuWOV0~a^H z6;J|7=|qD3gIc7r6Qi&b)!=}DKwQ;b1mR2z?2OQRg=4JA%5d9>0jjjt%&Ng=XS`~)MC zY8%L5Xk>)Kt8JtB_bG)Xye~ zq7m#!8JSBX#%h!ky`ki3YfVRJRfK{CoKoopXh~$nR_P~~AdA?{!x^!aMmgCV3K4Ts zFED_K!6PX-7?lHB6`q!9q=4v0EYz;p_8R3>Zzwc0CV>n$H=X{O3-K&a_)|WaB$T4O z$3~^wh@CXb>E2NArjlnx8V(f~D*k}_iXXS6ijR>7v}PccxppqQXp}Si&-X|v%Hqi( zM)I?Z@rc0poR+0>nbfi*|7L1+uo06r!r9*DkswvPO074dOLcz0kpQp2{8;%3E;pdh zK;GEJduWt%`#%qQOQds{!z$aB9jq#mXug7uU!v$OL3$avC$%fJr$#ux{|FTlI7zUh zt0sj)tP~+e@`nfzZ$}ok33YPTCIZvZp z;}IoBX(@d$aIUC&rvirxt<~TaD%h2_ieJ*u@8@fj>%5_m=ar5rvw@zFNXI-^C6KYo zK2WtB#S9S^Bfnt8Wg6v%{&OT3RA6;cw?&maz7GsvY%U^C+%kYEOnFMoh&+wBN+aCl zZ65S|MwnBMLM0gUpeK&Xz`{6EjiL!UQj=n=*7X|Y7H=pqTASTj*dYneZP$@dhtX78IsZs9mhJs2; z4i+I(lvPC+yy|$TXa$hNcqzrp>9SG#KjJ=(a##N;Pb4Kz2RfBKsG8%@*%*6^4mqk5 ze3=3pY+_>`4{3yZ`j3ElpxT2aqjV%hs*r0(-2=G{6g^P!Smnqx`TcQ?aG$r8s%GhZ zgd3WMWZg~5s1%{uA&kkP$gz@-(ZsKo9?xi$2RzIpN!vL(P_dg-{{qb3?iLKtzN~Wo zs5>>{@grW;2oLrjf!F8W8`h_s#cxB4GK#)aI6&z}N^F~kq&P-u=kS_Fc-Y%YVMP)7 zRVBHq*eRvz*{OI!P~yJB66)@VSBvtNMtRg53hG=jK^x|1GKra;$`XGfwuP@qwPwcU zTE>r4i}J2UdA$FtRl-3_EK}8>q&TCI7m{)A))x2Y+L#l z7<&BI8s%AUDClj99|!~Fls}c2AVJygyd~<_X_;Lv7(G5l{Gd^u_l6QjBC1w>xSUCh zf+pyWTrU&F163vOfPEG>?DtNM^nM;Jr2SbO4*9HkLH^n!rr zmqZ(tQ-F?zlFBNPTTSL$g%lb5Yes$i$dpF-*c&Z40BPc*dj2L=-gX?zBu~!;Hdm6? zV7P_KMh?-)yhi!d8%h;f*xea0hhd23PKG6Hj^~MnE+mmAp;fJ(HF8aj^0_w@<>KJp z021p|A1d@wrEB4i;4Ufdw!|LA+f_^Tl1BN`8w!DN!mspi%Fv$zFNe~JNMxZD1!^Hw zxO=kp#2UG-M)}$sN)-n-nSuCc)xk?i6Y+mK2@yD@D5aDj;E}KO5{w+9QNHzvk|oh2 zNff@CQ#}}HPJ{m2o%tG5(PxMsuhmmVZmLnf_lAO!jW2=(GLm69eUsSl^lu{kfb*k_ zXDUYdWG!8`)F?lCL*Ygjnpu*ZR#Eqn(OsC+g`1s|f-iT~u+g z>hMK#17j!etWkdVhN1$qWp1coiIgs^I{fel7LbHHT(#87n=)+oZWL>vHy+ zF9^x6x?#oX&Ws*_%gdO{ff{9yHx$zANU>9~KPpj_H-$ZxCnvUyN}ga>VA&fo`4Ek= zghv#*b1MHeW}NcgaKI>67v&Em*b|?PqqrKpf22mK_lA~$2a?<0J>JbH0Vf0$x%E*&7O1S@L zK6QAi&V=w~8HG~Yz%;KRg$&^<9$$)g+x_yK5%`} z-ImRO)n!!VjyzW*4EMHD2$rn6pNi8&b(&W43)dqzEm1B_sW}azvxaswPos?VhC+=1 z#Ye0bw`>q}ppHsqWRPaBE~P_{EhdegUL!BnD2?7w;z@$OW%9&}#7;p`Hdhu=Numi! zSR`T=jlSF?uhb~b-cT^INiQHHBS*S|I#-C*aAlBc#DhLgn<}o3s@=iYX_QuPD0C;m zYKKLj2s@Z7Sm1e%OfKh!J`^TlkJX~wtWny$p>T&@8n*;?Q1{)Mm|@I{Wuxg21u2l8 zB*t2lJ2Xm1|95e`NZOjZT8V3t@uJg63hjul*~A_3b7zpoSwjxrs}Yv+HjioqC z^_WIk&KpXB6g=e#q*G_N9LD-0KZB?&xsu!`#dV=^L!W$FqpaW!g`_cx@z}d`Nnn3* z@i?Az)t;ZG@3FY*$#2{iH}VCIvXVCxa_Z@MM@A(1y-53biZhI)+h`@uoyT0Az|B#{ z`S_|viS~bgkxZskZoW6Jw21=YOfGb!#TPZ%dD^8=Qe&KrZ)${5-sVB?QIhV6(Lo4K z;0h@c^o3-#D)b}d03ffy(2U;EC~<9AG@kb_TD?`MV$SDytTwt|4|EWevdqbfrmuNg9o*Z>}MO_q1 z`@RAjA(kWGgKD>AZCq>QR~jYj4JAd9B<+3Rc63LDf^APX@FCB<~*WwmIH!)mGASOg}OTqLX;^+6+l(Fm(~n+HYxTnLFVj}XDOFVSw8 zoIAXQB(PH1p^_VFV~q_1HOd;^P^hip4pLPvKxPL#kM4z$ig`?@Y=kGBLJj@C!O|#e zc|)Ov3qaU(sHfN}X~aGo4vwUT5>EwYm*MYjSVE%|yrIyMgt9PiZ>Jv zC%y}pq|#cEE-Dh3W4B@574agIPnxJbBO97D$~xXqRO_SeLKJQuWG*T;Pa#Z|l5n|J7um3iM%l<43Z*Bc6scrxP7`HG;HOY!h${aBJDGY~BVV;4sZloRzYHTMk^@AA zx5)BP-Zr#-E=HgWINV4(5qd7wT0;#vjWD+V2;|uz9+8c-i{yMPKol+uq+%L}A)a;I ztQkXot)US%_qI}GTdTIc2rOdq=#ubBQFSt)O+U@4NM58DQY|+YHOiLWP+$-G=}|3^ zR5u5qOJWDBrj8Z3FrmV1g|F6l zKd;n-e?-Gk>L*8vwfmpH?C}jJnBRMH!zt##=?!Nt0_fa^^Zy5^=N0BRT)c?ST;8z2 z{Q9dJt~Lj*Yq;JVxT)c0bKtgyJJh$|F4mrZKEZn%?pF`rC)VD7{_w*MkC;%8H#}hu zJl*h&Iq-bL3+BMf4X>C3uQ$A54!qUyFLU6XhIh?@|1^AH4t(73i8=6j!x!ej*A3s8 z1K&6NU=IA;@QXR{d*c9OpwZXpHwWy-pgFKa( zm&7{r&tH1I#`Volk7?Y{9N46BQ*&VR#x2!0tzp`QywtdDqbZ#l$2FSLsc}N1l1`0C zrwjl5-F9m&VDb`hgKI8KnFEGD%e&a>vz@?3snFCieUTF?o z(|D~pa6{vb=D;nDx0(ZYG~T7&@lLUB{_}UdzwrU{(+@QwiTd0RPc%MhKKe}Kv*y4H zjW3!5uQa}D4!qI$Pjld3jsG?W-feu(9QdH|Lv!Gh#!tfu;dXb!yr*qJ80ZX|kGZ^U=XgOPB+pCPY!6pB>gT+P+v>4Zqs@u z%;=^u=D@~Hh#N!X_AKibO~{=Zb*X8arftoE9h%0O13NWMR4>xU;_ceBoBBx~Yc;jW z6f#XSnoJd_Y0oB81!~%-XzfwO~*Bzu!uK2rRg-a zL^UF%XNk^gI@|o#^P0{#2j(@+HwP|hy3`z4(1bwgb7ih=y3Ty`#-^Lhfm@qyGY9T$ zLbBA-?B1qs9jA|Vf2iqU^U=qe9ybS`YI@onc&_PrbKs?>m(79KnqD^t-fViy9C*9w z9dqFQrvI1&A2oe!4t&=1xjFDv)7R#}cTL}$13xwWY!3X^^t&<8T-WSp*_(Z05ByUZ z+&rjxu=(lw=8!oMZXRL|3~wG`4m375_f6;Kw&o7?limk>^D@oLnqRU)^Gb{Ol2Oeu z^U-8;${ffx=gfiCnpZam)@okc94Iv-SZcOY^E%DQlfE`<^O$B+k7?ed+0E^)9=Gp4qdmkXpbDH-t zAKkzC0CPZ^ktco5`|#!?%tw!IKE@n4z8S$%yND+@pURgtpCWeWpKrahn$KAT@&(No zn%{d-Gp1E7&}Ge+n*&!iV^Q@vjq96HTKZg^TbplR#82*SzQ_Ff`0|{rM`r-u#A%{8sb7%z<~B(ONESepl?&pMTv)&87%y z{;b&)LCs$^nvzK*`;Uz$x#re#3OK;zw7{4D`Wdo3(6i4s6x3wK=d|%l78LjxFQO zfr%|$=D@Bklgxq1EmO>a=`DMh1G8F?JGD!f1$%GO|57* zHE-D(X>BtHI$M`kFV|a(Ze6~0MfH;!bGT5G?I z*KRE?;svU$rj%)2zjXuiuKh|nXPA;1LwA$XAWH0I?o)qxb+fq;PTc5=D=002%g$4cwOuD z=Df#+JEHwRv7 zec2p%t@U+t;LX;z%z?LC-vz(cgz4d%4_ZGoAN{1&^vJY+(fXzN#5b+qngc(ynjV?f zUs`|bd%BUj2y&-p86#H2HU|brmM{lG5yu=D5*ca^jEFP<*N41_v_x9XN82N&9urwQ zvW)q}@{twHft4esLnac7#LXvCk+eCGi{#CL)gx<|18YYL=0G`8F$dO-tiOm!Z5Y{D zt!{4_5ZNrUx%nkqMNB;=vR%Z~V>imMnG%^A znHHHI*&{L|GBYwOGCQ(oWUt8HkvWllBKt=6i|ijcAaY=2ZbZa>MC`}JenRZ0#C}HX z=fr+N?3cuTMeNtaenadx#r~JrZ;Oql{l3^Ai2ae+pNRdL*k6eKmDt~i{hio9i2ak; zzo<7kIC4nj(8ytt!y`vTj*J`?IXZGoevLL{5yH6gfF^O61hYX_3<-XGG47 zoE14ca!%x2v44|biv*(*+)jeKN$^k!o+iPIBzThq{~^H_B>1)r8X$v0GH4kYw6P4@ zQ3f3$gHD%0H_D*UW{#S=%d|aaPn$4t{H#$M&zQDb*MwO!M{P8{YwBj>cbeQ)^QX;r z?V8dxs{8jnWMJsnml3JlrHs`-WWRV(|&TC zyXhh^wwyL&_nFhjPpEzI|4v4Oj2S;^>cS{y-#|L^(|&rKyZIu47Q0lXX*0S;mB-H- zzti}cU8BZKV~NW%ChgfZqxYnA{-^!yICq=BhNb6JnK)_Iv>Btu&Y3!E{NC$M+GW?t z{F>DlpiTv~pa08~(|}_qP3+ofJc#=LeJ`X=3bkJx=Z^myCRdy`ZTBhTXY8)$swg;P z+T_W7%~7X`+AoiDH(Vs{;&;lJX%o99&+MjQY1i>ncj@X)Ih`eHzdFv{Vv!(=-6baF zHW{tw)%Qy3WKsL|aqiZC1K7HgX0lu6Y&?Ey*W|wOblRv*q2^Y91KuXHyJpN;-1Kz* zs7=M@mWza2Ji+v0ZrU|-_GILj;=OfdOq$sDNozc;6G%iKaGXojWWN zu^(G>?5r8HC(N3SOzVdH#>bz5%O3%MVdT!b^anj61Nl%@9YJd2DlLz~^ZFCZ< z{qbKuK^J@I=mb>z({b+D|2wo=c!F*@Y3jsjd-X}6Hl2iOfBu)}QJ6lx+%>stm+`ZD zi^Vpbd}@FBmnBsnhbId+6}@EAw5h$saGOp;wZ9(cPFUo+c@Z5-OexK0;hyN;@qMqO zPEEDH9p|pQNaV$G*B^=r3)*{PIw#fsesOzy@e})>m7If&S_C7t>C{yF$G=Q9wL~*V z^)OO((qxp6MV~KiI!V?3d7L|Lk!!d3$!WkpWKn-aQ=3j&wJ8FbFd#uog0=*M3)+$cmL0J4fTi2AZMn8Q|6gsuvJxCbLSFscdI>Hm!3GI7sy{aA zB)z7w(`L_@&{aZr(XY75OxU!WZ^pSTy??mtw7temnmTF9`03-^jy`{^zN$10#dZ8H zUE|!gKA%}{>YkHkPJ&}*_Vq23$IqEIdsby{at3F@zdW;4?{Ar)6uGgplsuWX^UgE7 zX7%+=Gi#ojJZUQL)Ay7(mUo>t1EAhNp1^df(V8pz(E!wt} zAe0HsYumbQ8wolR96pyKiS~_IkX>d>n>}^nLS7kdE)eg9Y@Ib;6Yzh2*aI@IZNh*N z^V@c88{f8*1YHS+B{*b$+r+l6z?l*pD#2kg@MZYBNc>vrvM z@{f0}xRHJJE2n<6)(=ONW#Em^wN2;QJ$gTT)<#bsu-ovBjySn~`{Rdwbn$qe?OB3Z zZF{lKfh*hgl!3QOaKya2y0$rU=Sy(p-0Th$r%jkWg(TI{T~l|NwQG2AVyU$U=zrYi zo-df&cCh+_TiXtjfpvcr0z!byKm6ki^2nwJ@0r`+qG){ zUEOw#1Un?yIj`-yw(BLhlmwSm8)7k=s~?-Q2jrHv+ZD*Ifh#4rH0wXF?T$Jm*fMkH z_g?&^H|zP-eQgi+wQC=0dsyw-u5{`~=iRXClW#Az z`M62lJLhSheWv%bSHC;w+0B|ZJmTOjPoHBY8J^d@+@ zdlRgzHo+Zg7cJ9kB0V2@v+bh+D__y}R@=YY{@wO=+dFOVw!PQ(e%pWAK4|+;f~!by zlmufEj7u;f!K4IJ5==`lBf+c$b62!|yl^Lc-u6Y?mu+9M7rs$@A>XqX){x+O5=823 zt+vB9|KAhr%dbcO#cprK#xuJ1!Fkw5#@~R7& zu-%3U+k@?c)GrCHCc)M9?=WHAxo%Hle!JT~l#SIMZXY7SH6^&#y!K)3!zH-31gn4B zG0@)B9)Y3So7-F3TP0YKU{Qjl`R#4(?TVqw60H26KL*;D8{o7r- zBx+A8NwjWXlIWUMmRh?-i-3j9+`ei%?(Iw3S8HFreU0`t+t+G`KpRMKv;@aUa6<`h zB*Bd@X*+Ac((UB|mkm6teH|pV;>%6uX6BwM!7Ws2#E`9&TCs35&s=4jY15{ldzgb` zQMHtgSX2i;s!7uyk1tfzO5>;QIew;Mg>i1<|Nd|z6fm3_O2KM2zjxzF7)BEpK97R- zzn?5qvN37ucx5@M@9vrQ#_eO(s%_G~sRa3N?7a5P+BcWrW)j?dZgxBD?Flm`P2qD> zXKlCZw3)L;Pn*#F6`M`Qhq)Eb)9#n;`LgZWcNj3@!uIVYxaEcI<0QD%|9r*PrUzUP*?k|-GaA$mu|tkErPc_sRZx3ixRx;Q`^ZgSP*OoHU^u5&B2ynYcLXQ z3$}C2)vYRZt4ZDJQn!ZGttoYDN!{8~SCG1*)Rh*r@1tdI`vHO72kr(f4^k3$`yPoq zP6pmF_h3cUUH>?I+YeKGf4Bs9=;8aL;QN8Q>3?}z|9er-bWUtPMJ?z_?I%lcM+uIf z*M4d{zWbdd*!8!ay6tDTpQk|1QG0zt_g+6=?e&R$?e%1-=hZH5zZ@YE+$6YZaIDmg zmbx)gx8eNu1?^WTA+fUrp#Zw#bM4o_eAo77zNXc_>OB6u!dVBmB;LMd#pTcMX4D&a z_Qu}NR?j*ue*GmIw%m2`y35@;@sYD@81hkt<65$MfT&ks0h>*cO5J$Lnohu?PR#KTTe9M}=$*+IRZef^)0J$l*3>+N^3 z@7Rp}R`l5aa$v`j9ggC_D?38n7L&k%9bv_R2le8>@KS3p6dxTUIvTtAwxgk&Zx30_ zr+Plp*0CadJNSUX2M(S)SOy<7_~5~Z3_f)5VS^8sx_?OBgHrd9)IBV9k4W94QumnD zJuY=mNZpeQI#$wr+cBym))61DbO#O)2_DwNw?|6wBnh6ZB=sqZal6f=jx4*aBPYSb z7w)!>)!1zvs}I~w{gU7ja}VzR4IBNWo);{2RGCvpxuYV%qa=9rypDA`)|KEf5A%$rotM5de9W6C9`V%`bJjm-X!l;};@O>hKl|wVFD?6I zV7-G+o_EpL=iUDCT|B$g+OdUp^2nYy+P!0{-T+g&H^8ZjnMcn@W_29M2B=@Ae%bov z>X)xyp?<~smFicnkJhguz751TT6|-~x1snp65qz++eCbuif^p=He1j!ci{#&L<{bY zBh&^sy=McQ`G?@1_h0%Sqv(IE1kdQ9{|SqeHXWyToTX@gMhDAzmITk9*Ku~oITGZ* z^Zzz!({W+P#Za++yZY_xcM#vU;@eJq+t2T~q~lUW#d9Ti-a;x~0cEc2O_`5>-g>E1 zuihwrMB_dCzVz{0(QYboK6mtSKEFKW#+KOlb*+PkAM@;mSyG)5PM)Tuix{L zsh!FY`wQZ|bD<&Dc|hlZgUiso+Yo!Ohvtt+@L8OiissM#m*&b6>%|)1) z9Se3v#ok2`3yOOGYwv6VCSp09@4fH6-}%lDdBff_&wAFg*3``0x~>0!4Na@>Yw*lZ zr!E@pH~Zh}F2Gw{1^B$|!P{j4zEHOSy$|an11>oQ;(w3-{qpNa{O@xO`j;;Abx(F5 z@jw1A3*fn$L4U%%efNJ=4*FL-1;9zznj`U3wf+C5?Eklf&#RvPXZpX)nE%NCQ`z$$ z`+p*QUKc)ZRQiAB|GDsaQ~11n<;MJJ|1)wW-^e5Jx5#>>|9A38{A7Jc;>{O((ss`O z*ZS(^H~-&dy}ToQ-gVcDo*7?X&y4?O>$xvJxp=_z)lctB82y<~e_1d3CVbYXZoOd3Tw5=CoxZuN!}ZNv9sZu|@b6^3oUBtXHIeIE>HRq8-RO}< zk2ZR&(XmF4H+n+fq0y6#o@(@TBTmLKRXr@c9uZ!T3a`h6*D>Mqf$(}36z{P4TzF=T|xQf0KQmsoyuQlamq?=5^j6+WL;>ig>1R!}crU9o9G zAE!^C+Z&y0^m8Njd|nV{Rr&$?fwJ4b5I$elbo)@ca#-E2JT?5xn(NOEX|*ad z>*^|=^XuyNL_RyR?q_$-FMX$|cdX(5wzK1ZGHhe7%d<16AEO^H+d5X(?ANkp^%G>x zp02NEcNq1NL6=Mu`l)(;OK877MW3oq(@)c<>obH8N9o@QpR+<<4gEp*{OCGUs?Sjl z>hrwVw|1Q={i%#gAHS4s{vSV6`d8;dFMlr8Qz5hTb7j_M>*olcbHeB6zj>zA^Yw-L z#he?}FA_fI>peH>+s^aJ75dfgQMt-BDt~8G>L-tq1~%RDDV^>^v-k-58D ze?+Jah1#f6f3N;Np*9w(dc~$<{Zaj+GH*BPnSWSM6PdST+XDU|pwf+A){cqsrbKjc&H*jUF z+R)G|OA=~J4!YzY%&tW>p&E1sxuG#MHL#?sh1#mp(8Ay=)Yd|6cg1E`Lu&))r|QhE zhW3UIvM1XJwXM4+4PBHL2EV$!^SQOl#KM??k+*(&er3u0>ki7EH0b%Pq3&mg-TD5T zl@}u#`=q;~Axo20klTiKSrKk%J05e1z;$+fe46#D(EYvRlY{D`O zG7MqDG7J`K*ZL={DW2XPX&B?GUBhTs?HVrAV$WA58Q6v#GE6ok8KxML4O0y%hEzkE zVVWV`kRepc&@5DoP_06>3DquChftkD4G?NKp#~l@WVvhCkk@39p};U*F&K(u?FM;j zH&h-os!>86ENgd&tlj$V^7-$*C+ctS68*p7(z#)woH3Xcx_f2}j^wHhOAX5;p#}>z z#Qi68#&Tbt!{K_QonftEgDl{6hV?@2A=I!+!$!jvsOPY8Q}L@awr}otc=?kRpDh~GN}ljL zVc@XQP|snb`Q+ktjqXi&@TNEOCQQHK!LKfwv2HfF4;u}x!$!5Q9KZ6gQH`uSV;OJp z^v)3jzfHK`aF5|$!+nPP4G$O|6l%0kV}#0l6DQPoq4sm_1{xkw4jLZ2Fj4hqH&7k; z-?|%Uc+T*mEXwB%F9X5iPW|IKxA!}m24>bWM1w0x%1U*&W<+%uhylGCa8 zQ8|}RzOWx)^kP&Sy@fiWW>gy+F{+J?jZGw>CJJ?=`%gyo-M;3UAdSt9Eoqmrg^?YA z(Lxhy%>Z!|F%{P6<0 z(QLHHxnQDDC%N|^j1HxR(OGw|VA^KO@YyYgWbHRj+y2#0bGpj$Xbj}DL3Ka7am|u2 zC2LSZ^~4Xx4j9>%eG|{|nK8r|=IVK44_D78T_$)>i^-Z>c**Z;L)48o`E-wf%m6(q!@FJ1#-aU z8S{n8|1YRCPB#_`b-GYzUa`%nai)=@<0|7U<80#`p|bcQp%zyeOO5m7&?ylr=bHc1 z_aPe>GZe3@I~32I3cX#objWQF^=;gycV&%#y=)y_|Dq*PU~|T;dtITa3Hdj2gEZw;9Wg+l@Pn?1jt~ zYN=4?33a|u7YMb?wHY<;HC9}-zb}Nk*uB61f8oBfzdmE~Z|_X=H2X&5VOf+n8E+Qq zLZL4DX9p+7yNpNJj2iD2>UH&QMm?)}!05h$X>?t|RF__+Pds0F+$gVL{)=lG#+oab z##i0vQjGEnrn=lShjKQ@eM(#1T)PdG7chanp*ao|{&_O?iAww*^DH?YN~?$oU5!J0XXn zsVSdrR(B{yp1rmFgFB*DF1dZru{94=T(ku>`I_WCw~daNu5xWbw_GOpn#fJpn0SKA z4W{;{4yKN#PNvSLE+#)ySChXaeP*LF>brje#m zLcKw#hlF}#m1&GgUfWe~5-Qu8|MXVTl*I6wQg?WL-Sc+SV>xjj?F;#G#_#Xn;JVk$ zl)`6I>wea}{Jt48N+Q47@VxeA$}(x zxzN))(@n+h0bJx7z_&AiP1$nxse9jo=PPqe*ZsSB+q9%+0IzV*+om;g0N?2uz;|Dm zw~t3b?o6{bp|-YZmY4fq?sZFAY* z*6}3Zfay?ubMK9&n`E)E|9*eX+=$c${6pE}9|`p_Pmg~prf6Cv%de_%;8=vW0(^;90Gp6r^ z`lL{wsx*CX`a!5q3-$Pw>-t|zzti=9Ja9EDW-rvrc8Ss?=^ z4jlYmWo+vwe(YYlPj1yT~M~BS* zX1&>9HkwUlv)N*{nr&vg*&)=Ih5Cw6Ulrkf#|V`{{OJ|jPc~09C&`KH zMl&~7FtvXyOE+1T?k9Chw`JG^p3tV5*(z3<)6E%XPQrX9RHl$Gs?6Eu964aW6e{Ou z|I<4L<{~D5;<^(+PLCVcIqeC9E1qvPX~BRkp{~hdCZC;E_p?nt>VIp)-2<*Kn}2?7 zd{1t#l{XffF1g}mE;aKQ(Ea9l=K1CY<}$M|FBIxGLj6{#XN1bEc~+?3yN-a(OO%7= zWfx8){~%8!pZjk;k!;>zmN%xEH<~vI^+%!p^v{lf%{$Hf3Q&caW09ZhJp%S^;HkB0 z^8s0*N6h0#W?-rP59>b%!HTul$C%d=2 zH-3)h8Y`dk*)QsT_Q#z~cHX%pX8OXGd-u1#D@5>FPg}n>e=FO1nhmSQGT5-5VZ*BF z>f5jetn_^AC-X1vj^|G62ZSc?DKMX5YT|o;vQ@QsS(?)E|KdgxOEY)JTUxq1-qMfSuA$>C?SGeO}6JiOmgvwrTBea@32`oL87M6&*J$bXw z5w9gd^QYjFcU(Fn0DUzj9Y$=h1)>UZ!?mw9$I{JEksozp+Ss*hw&oW$&>SS7Jg5(&aa_aHe0sH8l$A`?wQ51 zox0gkw{9MP*=Jj1Y23J*4wh|P^ycy3T{X6w&+e)F+0T+v=J*!IpIw%?sKxK44LJ<= z%q*5l%k^x0Emf9k%Rb9~%K^(lp*e*XAhd2m3lv(A(7L-ezLp#1$!E)9_w6QHu>kU#LJJXE=s&xPYk9=-7#m;9qe2U-cjN2nQ#nEL#3_20meVhq3r?A1Yyaw`MGU&}5P2BY9_xCP_tcJXKKG%n6t zc;E3zIZ~{?e70rXkusrA+wmJ-9`gOxw|YDhIdnU>aCt_GwUxE4?8_UiZRC!=7Dr$H z*9KaQa!%RvOo2$ADbVMlX9^5+JyT$aYj9c3R*TnmL;`T?AJ25JWFy~ z16jE>z{;rXFSLYzwzFsrv-YH3t>Ho&c)5DD_OZ%elWBCsN|M-P82mTd*v~rR-<@`| za*0{tnO4>@?mY(U1X-vp2gN#l;lpz z**Y$E>Ya`H9Pxfm`N&nC3;FD#x}Tl%P*|^XIYai{{c2>FZ(Ao%yr?{vSmjp8>e>p8 zm0KaJYb!LazOB&hyFGQa&brav;Tv2XE+4*Nbxly?{%nG>mRlkjKq>n`hV z>mKV~YlYAz2`x!z$wEsJTAI+(g_bF_?1R=SYqfQsb-(q1^`P~7>kUH771|o1-6pgb zh4!V;eigdrLT9<;5yjTSu6LzslX))ZEaxowR1IfwMqyfVsxv)VKInBe4=qk{zkalD zL1BJMT2WE&pup~7Ci#4+-eEzZQ9-f1M?NHw*NKP7m!yZs^AgygP+p!L77`s57ZYW2 zFRypdMb9p_-r-*D6rNK1w^!ReI3zgKz24C7-Q(h7d1W@Qf#p@b(ehp9J);AiaZ&Mc zp<%p$J|-x(-u2$&UhmX@vfj`h;h{C_?HLpo9UdAU?J%a09?}P63rv9V#hW8BZ;chQ4>kW_MrQ^KgK7{ukM}_mA@UUQB8y+v;vmMht zIyySE-t|7}UhlMjwB8df@4BLc^A7gC@_lGPKSref{yLUTh3zxE|B9o-drVvddFpeOqV+71no!HeG(9 z)-zZI;mH3GF(eEfLx>p{v`+1LYpnLIYOH&w9>L_-d|0y zDcSLb$+>9}e&HddF{2Vjq~*~J9{V#eZFXW>@#y575}tfm7*$+cm^rniIL(iT{3I6@ zrR7e|nJok58I85i^Gj;!HRh5<2A4V~u+SKus+^Ob?w3@+!_0YDV^U#SQGU*hG#+JG zySDhk{9M;V;zy)Si?ra*Ezo|%=1s0tr`1`Hl3}h&=v@-tkTxp)%|8t&PUBuvWG4Yjq-o>SqPrz!)h{Y7Y+Z%6 z^n|iW*=*C>45No64k^jWskG^pa`&fAOtChz&0@3KI1{s6Xe)%aQfRBns`Zfu_tgu1 z;bPozH<&oF!!jK#IfZXKlv>}P| zuNK#F#H`{7t6$NDhbDV^Y_e^NEKRx43LD2ZJ8OqPsx4g(fi&ARq3sgd?n+yRjU%2t zLc95&4}m<}45iHh&cHtEdc0Zfqs?+X&o!%gqS*o4OnK03n}bq$z`WOWo0(R{Woqq4 z4xYo@)mJ8S!EmgoIa0PQt~pY+E%nOcOza||RmxNAzO6h>U1gKEui94II5?{o+P+HL zI@@}o?HAhhvOQPiaj~{7wsLvAd82Kc>mBJ#amzNeSo%iLmiav2;*JxxoB8bFx}SBP z{H{swd9feg*1LTNf8}HD+Vq?OvfXC8QwD#;c8BX=`KHSRpX3{RVWM(xaNM<5v*%m0 z+ZZs6C+8QH6xHr;Icxr<=5y}8yuY@t-9I=gfAFx-Ze>0?niuJsbUe8_W_vyM=Z{ zX!i*1UZHWO|Ni~9w`?bEZ!^cdYda;h2ZZ*h(4Kb9F<)&?J?$ZhF=;tD zen~Z_I*R^ckMh#p|4_L@=~+TXa?yo7{!|{7&vVaRM*@Gf#1WUYCa5$iX-Hzfv|{%X zqViHNEVRhAx6fAI74c<{DSSs=vd};l>R#%|nyB_*7w}tkO(B2gqGvj-5!ic_jGz9l3 zO>(_bjVU81jpOB{)HDuJ^Hcs}?$~k3LPASj%ZP~J$UBAy4Hp;n`oj;RIoC0=m*o#X zO~{k4Q%L2#2SwJPK7Ar0QuAZeQVMz7TV8QuPX5dbUl^8F$gxpwY#J|(DCVPo5ncQx z(J?2M6uVaB$CHeCb=Pda{AqsfDdjH~bjjgfaByj)oL&85@^eaZ^ZIjoIIU1lKLJTe zoRugfb*`nS75>Fi`&|-VcR6LtnI~n|Ecw)A`NktTxw%dpTy{yGA(d$7#M_B6SkRH1!xg=e5_ z<_TB)o*9S>@Ryr`T>B;VnYG{Yq++gp-i6%}`+T8&b>W(pUD&zrt7gZ;zF25q*Z$K| z`tf4A5F`R%p6+P+^_@izLV!hS$#Kh%zv8|*j9(Q-&`uYYuHuWy#y>!1E) zd+jN@+wJVASJ>|m+PQkig}YksmDMWO>Z$Pu|4xlRUi&T2>YlbgTU+C7lz*!&mhc zpVa=H{d-xFpU^iI_8)|{=CK= zs;pMI)|wi3H2WJh?r2^6t(qElT;t#s=rtF0936#@`{6zR)Wy+N{uBE(1r-i|q4TZ% zC!@nbjsL}^8i&&n;OJ)k+7ZMFDP2pUyISbj52eOU@`RLYusT8s$(ck%W* zs7Gl^PJR*ZB=pmF_v0YT^^(8zEfxJvgS;oXyc) zzM8+;l#`zfA7RG!!eT+ zGrG<~*TsEe#xYlE;V7+pvgNuCuQflhuz!QHC*C`~xM~4Uw7%nnV*#HntNYoC;nv~7 z#}XRe5p~0&);&A&&|uGr8OI{W64}MxM*j={cA4 zXTNcBCC}wJ_&qUC9lHyAyZpfpp)<>KIf+LvK9}RzVR2Lnowask?QhAMa_dD))Jm7fH z@sQ)F<6)t52%S^t0)(!c&;<%z5W}&hSBs0sV`yn^T48!xs$Y6qURq&hieFJdS_)_7 zYp$L7^-7d)j2@K`Fp_<14)QO0g=8Oj95AgU&vn_ruP8H}_m#+T{l_Il6{b%JoWy%t z;%4#2J$Z2>Imd5gz8^2_lkZ{8;ea5I{dUf{5Jo?D7_Mb|R$W+<$7(G}NihLK5-(ho z^)vaof5N}zaQ#qTH1)jQ((32zqXv!gAT;0FL}G&PYh9dwqZLodFkrC%CkT zODJT|6EZPz(mFHG;);YnFMo>Vk|VC}o`qfVnn^>=;x50SZWl)tR4Tvo7po4u_#1(8 z)rG~E{fcKyKJDOc$qL6aLKj@&I4*P{a-#aTr_($OebMoG_Hm~o=!7JnS%*!9i0rRor6UV2H&m5mS*cXcsx@(25m(a0g z=_7P~TKrZ&aMQZ8z6K8g)UK^#&Nn%iwD=dTGM?}-1VxW z{F0(ee&{;dPV#kJ=JO+ynP-aK%ec(P6J2k4y3~?kS3k6I;{C=1V%GrX$=xOJtkDHpTrjcR%!z{m@tF#$DVG z(asoWtn3GNswN2Cc-asCr=x;ym{PST!S;T$h?DVGlSB=>OVp2E04EwGvqSJdsohT)>W zMR8M5aS>%E?+z;VJj>HL)tSxxpUxC#sx!?w&6)1ZaArEQgf3O+(u8iB(4`AqhS0Iw z$q%y+I&+-4&OB$nv%opsS?DYhI`%>fgsxEN_Cl#fzC8r{s z$=p54cil^J=J0`dxCC_XevzT|cW7lvK`e!|IZyUqp9vdQ`K4xzNv zp{{d-gq|yO`R)pnk2iEK61qHjY!V&NjZJj|N5=ul1qGS>m*jPukeOdJX+lXJZ%r#K zO3s-yftyuBX30M$P4N6*YI0$=>+h}`6P!z(%aVLs#f~01xWx4qYS$e~G%&5W+PU0o zrPpeu{7?Sf9o0&&Wfjg~YxAm)%sJ}X8hJ`^ zgLC7hCAh`8O_tzRp_@_RWRHKQ?8O#ovkH>A$t~5@i?Qxk=sI^f_f$A{3*9WCn>{?h z)kLq=&dN&Jj`8jumD%^KYM*oerK`H$$~P2yNOo*tipLj=tRw4uJb-+gZq;Ko=-mHUF5O>QODowVP{bhpf1VXr!0 z>vf;=RM|S__CWq$cu-)lGcYiyM{sCdOi)O0U`$|8TvBdwN`BES_kWU-3v+vfc$WFT z^CP)M`oQ_2&{31CE1e%ZKM}e$Lbukny>KrxxI4=Xj0z2m?HLpjA08eU6jRSK|6vI3 zM11Ld**!nM#ybE=fGazvT|Xo%o1HK5Lr<`0oSc!l-ua#Ltn+*456&N*KRM4ie|G*N zbnAs~gV1dhx=lj2S?IP19i_ib=*q8GOwQjFLx2+C72qAvAfO=!^DTsKyF8BHA#^*1 zZkNze{d?pw{rJqHIPNyfoSMTc9$OW=_F`gPw?Xns=wf+YCCRtV#Xn9c8pDl`yjEMz ze(rxrj2$>SxiFLWGX7x^p1m8k?CwuS6{cil7IQs=BdKv0zMSOS`rM!P$Al-l;n>vsh-bU7ddz&1B1tUVZ;Gw4i1eFtEd8bJtuGU{f|!1=s@|0UR4& zFLXBx-EC!_$s`~!AcVc9fS`cx0l`AY1a?U1ZmjAO9?&D8lYDWz?k1WjTPDZ+r7gQ; z&BF>ax!1LrNyUEo56b&l6Vo{DmCOycNxs(0f7-nc*UbRKJx?tO=o1iKU(DMBVgqQ)^)S#5z4*Yd80sDuFn2MtafGj?LqC_^6i@V(Tmc?;i`SB)LQg+kXo4u%wY zlQ3@{uf0)$O+ve}2ICS-Qc}{=*i60Dx=r)8*L0AvXQ$0B8qa@g0;*_N*07>|S);P6 znJ43!<6rIE#jmS>bG^Z6GF$jrB6lIPu4(Z($?0+>%;vl=wScsW&KTlPWZ?S*Wm zEz8x-Pj{?ueWx&7wWeC zAOGc|2DZ7X%xiJOG9THppwJFg{EAAMTBeohs(OTlmo?>%vDRf*v$yG9glxoxFLP#) z6Z|7(An|FgvoGv$$kQ~nw~sKKJRcdAFiPH_dEwh9+BEMIS<$zwd08vD?&!Dqzbaul*Na#kcW^Aw!1^AMftbJTf}g z{ns>C<}ci9S~+Y4UEiH?3o;10pHYz8L;D1hGC-bU{sx8%Bhm}+LdObf^e3X_-d+zA7D&3VZ zB|#aa3|A7Be5FJwRjyN3DdoxzWtXx?xn8+NIiftO98;c9o>HDsjw>%K?g?6UtE-pZtCv@d*CekwUZq~bYmwIquQgulyf%1k^4jLL-D{`UZm+#w zcX_?xb=K>g*Dqebdj0O**jx41c{lU+^}foxm3JHO5bq)0!@Ng$kMW-Bo$Wo#d#?9l z@8#axymxw6d*9`KpZ9a#FM5CI{h9YS-rsru)Sy`d_X!Hc+sn1Hs3<8l|E>8CFICXp z>e}N77#uKU(uLk&$0NCl9}QK?Num5-H5=f7;Q?bggUO7U7%(y*IACElk1YfmI#ntM-V^EWpKpWw|!fXhxX*4J$Y##i0%kM4}{}d^hPA2F$&xe)tX{)2|p`Jr!F7|omg+DnOKAUIE-6x8}7s7cpmTIBYXvx)9H6bp}9(D zZ_p2&yTXD{kk8Jvtut-wOxrrMj?T2L^F$DT=P8(qR7}G>tj7(Y&7Du+CA(FcPCN7UMx~{PVC4M?ud0iPN9>{K>aJ{pSA*eg%2Z(|$c2pzi`duyQ?d>4`@_ z0E0m8^}~^fDM-dtq+&W2V+odF1y+GN(67S=Y{C{?k3+Z#hjA-z$DOzv_uxJ}fKL>~ zphEy?pJ6t3gMKx9swhTcH4Z^8R)S?4X{+&DMKQGjc`}hB6a8qK0Q!*!Q7R^4=Yf%m zDF@`qRDeRzrzVzT+Jhr_38z5)n?3^TG<}XQ6~)XrvJ#J#c3CS>jr|}7EA6w=KI@Zs z5iH00ilW$Pr|l>n1#PhL@3yD$EabnxhBugQo1s0-u)+=}x*-U`h(t7E5s&^DfI%Q9 zj!Z1VF3=Xo>v$97)bS0@;4G*I2le3eLIX4cZF8#7L5~E?1G#q|zzw(&H-lw6AI5W_ z4II`h9EK~-uW=gmh4VW_31C?P?a&F-SwL5qV1W$|(1rl|IUogD$Uz?HpMaSl-vM($ zECCBZJOSi1;31H^fKNfY0)ADLZa&b^6wToa*4>TT?nXYlkj~HZ5XJP zZrPw7y0NZqi?I{*akqOwe|95}-F{J&Kn1iTkah&pSAikujlPIN4B{{ZEIV)nMuIj5 zjzt=#AszHr;0(~lK-L>LA7xmGl~|3niW1B+gIQKEaRyJoBqSjjxw zVhGTV;3ZfNmKV(Og12BBwkt}=P!LlHF@><45SA0dazctw0`eb1Y#~*60xy7EaPmb7 zIf?i1IljPG_(4%Z8=xJi<VL&;I-A>4~&VBI}fXOFgs0N?3B{5{BHk4-p$>%n(=+<~Ludp&4J58Ba# z`t9+xqJ(+D7sM8JEyjR#hOy2t@*PIL!;+DL&7cm$_JQSxvHUQWA9fRnD~#obJ%i(T z9;_?u9h|~viV{wphBpK45AO-q7fua@Q$yi{K<$Lnj&N!xob`rhgZ>DoKf>vc@VR&x zPlIKKe}rEYrDsF5KucT=`nM41_Aov+PlHBuKfbPD@rdNtgyq0ZU{m!SXQqv z^u)Co32Lktx#~3@6G0n#O+hAdz_{pDfO%K|*4vA=^;(5;?7%MU!TUIk9~Gr{12jSt zsGxs)kHQ47{N8gwUG}Cwdq0ck@B&WYWxR^_Kwf&&&%HmvXP}+E>AOCiz%u*H0D0)c z_xq5$KEJWsP7eAu1+~_fy6DTe?Arl+r*9X~kA2B$Uvk=)oc1NBeWP(5)_^wk-HS?8 z<9ZyzO*o9Z@Brw?z9(^BQ6gz?q#oopG9LZV9|JHQv^R1+wt(eC(#}ZQ8A&@M-@sdV z2d6+DBR>Rfj#A(aYCNhj7(-FiX%y{?YK@NQ3_tk80Qx(M{*I!*qv-FbSP)Yb@k9|% z)EJBdeGxSYS;zr>9YtS9%>#WMMPElP!c!oYXxbR<3)UM=PNT_bH0zCKz0pRP5rg3v z50)LBgk&rO?T=;*MsGp|s&N1}fSg2=+vrE}EM5fpiGB^_Cz`Pl{T05!clZInDhjJp zV#rTSBQycA#Sl*nZI9^-+8i?q6G1F7Q;`PR8vBV+=9I?8oi69}nRX9K(|! zt{CEqA+DG=@iyMYr#J&*iY10vVu)o7#s(k=A)qf}BM}YyB$hsjCB9htBsK%r;UFFc z^&HD`W8cR|VEM7se(cxy7H9FJqQv4E6G~z(s`VYi3WFiODP5nLi?I~Tu@dC7|Dzy({pquWE}$k7`hhkk@co3fAl3x>CV_rVIIAcFhPzAM`N6f>4Bkb_}2$1IW>URagW1c)&(Q8OX8*GHwU*{ei?WkbW7s z6W8MqZo(~~KL`Gx~Q;-YtG?+XMF2+50 z9Msa_r*T|ShENwnSpN`mF(d@UJ|qIY5s4VYV-&`M`D(~yB!j#Sp)Q7Gfj$|s499Rz zQHEME6|`&U6L=YK;3VF`2lyDDfm{#$2|wdJXveTv35 zpf*N4i{}+3aR6w4B7KlJ0h93th%fO|e2%XaWh8YlvKTW!4n~rLk;FU78^k!OF;px9 zIT%I1joO5*oZ4%N&hP_qjwa60dvGIe#x1yAQN|GS7-Akn%wvdo3^9)(<}t)PhM30? z^B7_tn}E?63;Jy={Wg{ykNptDJ(jq~Qgh?dK);P6?s3FDZZ^&;%6RfRz5yD+2gE#{ zn8y?Icw!z;%oB)t0x?e@<_W|+ftV){^8{j^K+F?}c>*y{B<6|4Jdv0u67xi2o=D6S ziFqP1PbB7v#5{>SPZ|UAJc&F{nvB=+5k3L6FzHK9f0F0P#5!Imkl+ ziop7(u>L7?Fb@kLup1BHJw-_-rere)V>-xT@?p^CL-=@NsUE6Ohgirk%Ba2ARDw9ON$TYy6@pd|jE= z0F9wTb1*)pT@7+NEfG_Y4r*x{u}v!gIh{sMr_Dnd7UB@7hiShlN;)}7CnxD<*bt0J zu)Orqpv~#DH=XvT=b;ECm<5)bPM@dK=jr93F4HSO8`G}`>q);Ex8NZ>i}ye~(?0=i zOs9|1>7(@T@B^sF^z-;#Q8I`tqb;sM2T+R{e$c}RV$LAu4Ei!70AYwgZ}dff32OBqAgj6aX%i$V|W73f;MEmh?np_PJ{l> zI*0T4T~V^B^=x9!Zi*Hl=4|53HX{P`b2jm0)4$o|GMijx&j9_HO+RJ}EWt9Y#A@us z^>`4(lub<8#FYIsj^hOoQ}(NP11Iq<&Vu-|>F4a9@vEZbC?LN%4bcR|nnQkb$X`xB zWP^3)+zRR^=NCoECH~x=7!C54OWtzRkPd1wcQ%MWcODjiHsmhCI&8)^?7&`7qq+NW z5XbN-z6bH;5?>zi<8O;Pe`Z$8V*?+V6XelU7~Hs<$1B&eHwmYdHQ$WI2#%%`3CrJ#-Z3vnHmVI|gJ zJvM>9%D)je;}+b8J8=Z};(j~?`ZE7fJPT@zJ1mv_m+>|}#;5okU*c-2X) z{L>j9)6e2ZoX78qQs@oFMImh|jKy$_#yCtwGEy)N8JG!TE?kav*oZAC2k{mXZz1s( z5^o{#7Ty8kE2NJLiK~!&7Jj8Dq(CWZ0PdYe5&0}4pGD-ehfx7Lm`QtstL8J3&5+h_8tFiiof1Aa1}- zIE-6CofbWSqj&_*fVhiZ#p`$zC-Dxxz&H2~Kj0VqrYOZ;pk2j&h`}(7!dOhe6r>;x zw4<1~ix*)9R)d@tZv=4{?*cIwSAjY$rtgdC^Wx|5B8aE>6Z{OuNQnk=S#lLxqdmxL zNf(gYl0fvv2oO^VF_jQg$z&vh+?Ehi3ArsHwiZZhyn!y)WqYbV>2Xq2$m`P2{3_=LP z&^{XVk-^!H5aaV9a$ycM^DzMRz@-4G69okdP&O#r!= zH61K()>6>kS=9KfouHkwszDviqRwZr+*$YH0X&W8aRRS^KAI)h^Df@QH~3XiX46Nr z>7&{0KpSUw2Kkz8fEhM8L7&YguG#%D0D~|D!!Z)0LCmv>dG;hEp%k=z_CsKua~i>p zp~%B(+yHVg=PulX`|ud(pE<-o=S92(+AxQ4JLf}uhA(j%XYnJby*cL)4K`XCC#Gk*-Skc&B3fQ7gYE3gV{u^xMI6CMFE%_pY$#5DgoP&@Nq1~JWl z6K~@bzQ<1>zWLP5{NEI1ffvZ_0&=^+2Rabzf)-$GEa(7YUEl{Rx`P^6&;#L!0Qp@& z-7O%O3#hvV)ZGH=ZUJ?-APLmng2kx7&A1asa33B7@h>3$1;oFA_!p4Z1#f_SE;t8b zEo%h&y37a*LczMrdLt5Xpf1bEV;TKgHUSwRmt_T@AIoN84(5T}maV}K+yeTyjImgD z5AMf9Ah%`2Rz_@P#8yUZWgmdJ%09*C_!5lAvNJe~A3)4yzknJLisqnB1-TUd zFu(-bBWwr*xfFd74ca4Uj~I-h$N~K?c7j}rY8=3gIE-6CI|Oly=kY4Yqd19oLEPdq z5VJUqZ$T|AY=ZXa1mam3jCjze3rB-oE}RVdap5$O*M-?2w+lGS-o)EDh4=9xJ^`^V`~u{4;g689o>!DbjX*9J z`GT5Q)Cz6T4n~m6MNR~QI$0EsYtb81Fb^xR9-FWg+d=$`h<_3BFCzX$s z!8)&7fPHuhpDN0dCNO}!Eg^49sDUM+=!1S30ODUl{7Z%-5u-2_>7WfusD~wmD8Veu z!7kj3CqQgV==&uvgSeKw1M<1#Lwo}Idnx_7G!|*d!(6NZeYKQ6T6zF1Z|MVg8qb5a zE`0@W;v}f`r7U;pH#mde6=hjNG=YW|px>5JH_Pa|Wz@{F?&t^Fxoj|ofi^CqpO(>2 z%O)ZTw09Y?Et>=CXc>82Ca?%gupBF~8tbqD)Y!6H@dC~&%5v7ZJOb3>^2MkEeYu>t zm(v%^srlt!gZP)9Q^xuj=(0?oFzZD}uf2>%D zrC0%CTR~hah-<}Gl;a@o#Qk^(#IxcUo&`BxaRTIc1^q_zl$G5NjOS1XU=Q9OyKaU3jnB{i^;_EP%Fss?Bb6|`{`{j};Tv_?C0KxfdlRXq?6 z^0=xO`XUAMU?2vAK3qi~t|Hb|laY=B6rvb2F&os{D&k*7epao+Mr^|l?8aWu zhE=EV73j-VKjLTnswk_evDNg^YWiq(GZ6o3;$BVPtR~jg*Mj&~4@WA9V>Rnv&AL~U zzt!Y#^TbRe2mZVCBDNCIEV8f{+qwzeGfij+oauKz`SSft;@EjlLkK>!^oyv}N5WjKMfe0Bu^A z3u<*8ZCXcr*3HFyl%WboaU3t>HBblZ-UjinBmQ;7zmE9VQ5);1iS>=p4#c|N0Q!4< zEc#(2SoivgNJ1*okqL6Uo?Nb93Uaxgeq6r+TTzakAh+vp!o8q>*Pp;EcpY!y9gy4g z#I~N;))U)$V%y*i;@Z#zDs*U$mbevV-$3jesMif&;+&#vY>E~j zwvEKJF&x)|^>1X|8;5~@-8dHGF$v^#V;<&$KHRtnjQ5Qzu^Q_@UN=_YW;}|=@f4l~ zdEH1}HBP$0XN|= zh<)>EoL7`B4bT|GwS~C0(AQhq;2Ly9XY|8tY)2Jt0Xf-1PPUMXEyTNpK`=(Q67$w$cmglrCAcg$+OqWw&f*9B zgr5~<8*SP~j<(UJZC9Z!+M^Tbt8KJnTN3D>ZAF*?^0uuM#J`RBw-Ns~;@`Fg^wYL# z+>LudeA|d?+Xwg<-+^^+qn5V)rYPkN&=@`-x8?Lvxe1KH@&GW8l=nb5t_8U*AB1tp z!*mp5Cdh3$xh*HR<-}G_Y~{pOPHg4WeK~QJ@5ezPR!-xxBNal z269^dG@b?HqWm44!u$9TALCPe4{}-ltDd$#M)3^okLc#zBOQ$a0k&q5CJ zK|8h+_x9D;1oF6@g>Byj;@*A$#JruDw;#q4(C^z{$6Fwt?cXZOj)tI5ceDbz+(EtX zpdWV_KwfuPL2h?MpdTiJn064;4r1Dofozc59mKSQ-0mQ^JLX_5Hh}ncY{53{z;5hC zCH8?>cU+Ih@sXnJRKYrT4h3U;XE}&}=W93%@6nC%eaE z5~iUDEN}O6(B|E=cQ@_bO+D@24{B-mA+X%tjLY3m;W@mBm+=PZpWSjjr*InQ6=hFL zv;yti(;l>Ok010f!3qbufwt`-u007Dh`|_!M2x~15c3}Ta?fO>gWB4Yi+s$2z+%vr zJ+x)dO033q>;ZkZhrZiGj`q-&J>+N)<6_S%ID_96Wp87sXo?nS1NvxhN67Tte zgkb=PbMI)RU;!q;%ewcn?!6D-5gfylIF1+a5{PNMKZxCx`0?1`$CUQV7D_M6X{aU#g%draNwQ?Qy;6~hvJ8(Dd$AfqnkKzR0 z#aaA_pYf}r5VBI$0OYoc*s6%FirA`%t;!7Is&as_SQUt1^guWwK+IKr5e4#EH5kJ% z0uw+ktEM3XS;#>i=AsOXK%G=kCsnkkiaM#T8gK9g7wVJxDj>Q;^2jirgbyw%35Hm3c^lLS_t)@?_w}V_(SAu@5z5zGlFvxB7 zQ5?tnpnt1B#TWP*--6s$6I(U0RTCSFQ1(%u`-p2_dvru+P^0?{Aiw*pAiw*Fc^~=R zNB;H^=e~8g4X=Xw+3yGPyniyt-TuW`iWOJ|YH|N=>;>`fCo%i?;~?(Dy?6jeaSYVx z{%1gY_LI{C%|MI?i0uHe9U!&?HUuFAiZKEzk}Sy2wMyo0{z z1b-M|ffL=(9W3`?4C28UJUABA%t6|CFa@mVU?6?c>qoaP)Cxy&_w z<`;hFHureIW1jMF5X6T(%k#X1tm9=JpN4d#CnK4WeZ1`BWgnj#cNTA_@v@J%(|9|L zFGdOMBHk|ID^Q85)SxzY6K^;1b`#&2Z}=9wiEm2>I@1liitj@-0~pLOMlg!8Ou!Ar zPh%#r%wr)-h-U=}xZn5;f!Pqns#)g3*G5O6#W>;5Mua_(TrmvQ<%;y<}jZ{EM*xhS#5QJ5kWqXeZXM+GVcL4q0yY9y$Uphkik32G#$k)TF`8VPD7sF9#Xf*J{G zB&d;~MuHj%Y9y$Uphkik32G#$k)TGx|7%pG2DPb2L%yUj-|#K1XiEn=(~X|=A({aU zW*8$F#aJdVnQ6=3Gu8TfwgR4Gh5lgZuW72gB;;Fr#Q<6lDNusZt@#{aF;)M z#1sArg4F@Zc#aoIK`K&{mN&`3+hpNAvXhIv6rdm<^C_QEoKlpfJQb-zb!t(U1~lSp zn$nz>w4ptn=t>WI)0h4XVkpBI$r#2niK)zBHgj3PV&YiND%P-`O>AL1yV%PQ{K#RB zagsBf=Mq==i5vXNE$(oihy2Cg{1*gko*_9e@G>cRjn{dDx5&ghWF;Fp$wPiVq!6D_ zl+P(i86t?JGS#R_9qRK1U(tkSw4gQZ=tvj3(~BtjF_0m|@ExNW$3&(uomtFbK8sk& zGFGyhb!_B&wy~2v>?e^!9OVS3ImbmVbB&+*h2Oc&Js$9wr~DfPYeSypd0yfbUL_6b zNKZyG^Dgg`gWTlf13scKMJPrIN>h#sRH7<1s7*Z@@+FP=hHq&_TRPC0ZuF!N(F|ZP z!x+IR#xjA)Ok*ao%wr)-h-U=}tYrh6*~$)fvyTHDxsBuIt56VldY_bFH((b+@p$b!x0rW4%1r*F=Wv z>(T(Tt#>2q&9i7P)Sj z&P--A7rAZ?Nk(#BK(1TAr6sLthg`S1jje|{%84M@Cf98RDMVq+wN0+uCNi0+m}}dw zJmN2&;@xepMkBtWG2Xy-hqHYbd)SA$c4Qg-ZyS3deN5_NW|vugrBb02kfsk7@z5bUl* zebm{l&hD@A&USA@o!#o}-Wvpa-sFAM*`v-L``Oc%5va3Aojv3DiMyz?N1Z*7gJ5qY zbx~)pI(xsweeB(WI(yaG>kaR7AN#VR&OUYa<-&dJi$R@z>g*fCRc@osK6Umz41)dT zsf{}O)!F|AOIgoGHnTMdet4BkWF`ym(T#x&W+=nCz%Ts9E$#%tfl^eZIyI@oV%DP0 z0d)?19|Vah$$&bE>Lk8P7y6@4qB@DgIL8gtNmM8Ck0AK*Gb&J#%2Z=6D_F&9)&;@A z7f8z+q$eZo=uH&S4B!YCN#Y9jbLeAAQ<}ByA6a+`y$B|DdN-@0OBktqKZ00bJg}9HS$$6d^NrC$~+M2esrxV`q(Ssc3 zDBkZe@Ap_i3Q-vE_t+wc>MPtl$T&~A=v4?$_>x5iS z{ z#x3py!P!z&MV+(ioUOxR)}qc?bx)bM9T-{ki_Ab55Oe!*KWKZlKON zbP$NAN$b6%bEn}Xni`?!!EbuOrL;T_z^g=o~dpw5LMxQ`20 zxW;wt=c4<#7(oRpVm}w%$Hir=U={Xr=^0Y-8fi#J3%b&sp4iVN_i^boXE~3%PjVkg z#VAfm>?g_HC(ULK^DtMEyT6>A=XnuxU3T}ETho^InCtRxj&hunoC$&}?*2+a3Q-ty zU2*qUrZSzGnCr?t{tJSuA<1|Sxn6BdQ<`C}t8%@%j~__nP!L>`>$SY(=L0@s0HYbp zcqSp&YY%wDU;G^eKgso{hBV?UnjqJocCd>*><@zLa=o6F_sLE!dN7!w#9*%La=q?O zuHWJ|=K5K#KUb$FwW)`@|9L$d*^Ilt;qGr_A~RWdk8TV^og3=haQ8Rd{f%Ex=Y~2r z-2Kf`R7IVe>fEfuV%DP0O?7U%`(Iw-4bqc=w`oI9dJ{!Ij*-L_uJLma{Q3!HiJ$_N zm_;1RSV2M%{Prxbk%qLqNpm{WmG1Q7N6vDdi(C$Z-#?@{B`Hlgrm%oTEFqqMgW%T7 zyh18c^EGX0Pe;12m*bq|H0Ofgk34)zQHoK5am;28^H|8^Ah?~J=XsG7d`WB6xvkFa zPVD9=>fBc6_L(5K<38>bMx8tA-1(d_%tW0#>fD*n!yveu40Z0RbJu?EenCsrxvS3I z4(#MG>fBZ5?x`TSmxDs6b5EUnpD~K*sB=%9dvp0S2=0fdb6=hNFVKK*QRluo_uJt< z?*Bj{2RRZ1f4)n8KA<2UGmME$W-2rIgQxt%e?joz8EVm(rZl4k>)6E}_HiHx9=eZ* z?~|RJ*w4ehj9?_Av7d+Trp%#*~}KU2f<_a@i;SC$VxVP zFqoml@Ew=<4Rs!?^Y~s6{8fhPsPmUPf7Qc%{I#03tY=dYJaHdS(vyKqyo39A5>0;w zG6eVW|k44&sjUM3}9)0XyhqzgMa%u$YWDhR_I6rwPn@)@I;&P--Amp_B> znUG{8=LPD}lxBQOD>kr)ef+?WL740NG@H6*$z$47{Y$fW`kVcs6 z+2w3z3)?VP^4G~iR^G>4$-6O-!3-m>> zgY;zJZ8{J|H2oQbT%W(jb#Cx$5WesUWr?5y=6YckaV%p62|@Vcv%E$c(()#9eX%<| z=}ljbaFHag@KX@J^dZG5NomS4g#|2P3Gw_JgfF|3mtP?j{+r=1%k|~9w5KEP<>kE` z=Om{&7lbL~nxYVeaW5&{OA7arVmdRKjeAMqUS0`FMsnQCD-HOTmb9iF+d0T#j&dRh zQ)Z(e>ZDXBWf8t(D(a+ECuJ=6_%8@ksgp{bRL@b5W~h@&om6eu#6Er?kwZcF>O15m zKOgWBLm1CQCNquS`HQFg6NH{{_*xCVqA^Wr&Ib0N&THzt_G1vHb|0y8qfTmdQrk~z z_mO%m>ZDdDwf&@aAE_UqPHJ^h+fSNmG(w#;>ZJLGb?ic&H0q=|5QML1Bq!>;uFmTP za38OaU?ig%hx>T_F86uB;~-2MNnPsGkS|%u7Phg2-9eZx9a(vw?Bt>kF{qPHopfWk z%5Bt1r%t+uLHI^_YNO5@>b&s<-tQZmQRfYH-td0ke4Q+)^QJm)y0bUCF_6IwWjGi3 zh2OZvoghsAITfi)RqQ9d`$)fx6|7=S5We*csd$YvnCq<;bfr5zG1pt}0&|$h0v7Wm2;Y957kQbKd`(;0(~&Oh-N-;_> zis{T`Hgl0{=70Dv2;T{LmO3=08Q;&RpTnKJpO!Z;*ZXbgNpGU)$1#$)!Zpm5?GwrpK?N!? zi#XKDrcSnmAj~e;?CvDHI@#69{wB@oOjo+oi~XGBG-okaj$9PxQ|vQ`xpIub9&^}Z z4tJAdJ`aO1XEKuWJTD>FoGochTRPw!<~+<%j&mvqbLF5A>f}-<*JrqwT<#^8I=R%z z(LB#@~V^9e)77HyosojSDn1}lh1wR`v7(Fsguus^0|+E zlTjz1I{EA;pZoCN*A4TjlV6?u_LJY;=WmKS`PIqaitqUWb@Ho||40xPc$?hhB|jhH zJ_?LvG-Gl11>8r0`#j(gPlE6R_whk}8q$cbaUUOSV+Xs~8-yRaj}PA`J2}ZiUq+zL zhw6Mdj-R-TIv=X@;o~4ISdN<1rY`nVFrJNUW()T7QED=ig{)+w2ZI?(4Bv5y-?+tX z?ge3?GE_&MLh2N%$3j-Kmi253!jDsso(yE-9Xb(Be+DvyGhF8ezwmny7XF-yRHiC5 zn9nNIDXdQ64MF(HbEF|HZ}1jv=t*y)u%Azkk;E0Q@pBM<`Uz!;paPYcMI6gmK|&A~ zaUVrqL!Bb(6nPW(QKUQS6j7&${S+{Q8^RfZHiP2=`NbJl z#jM4x6yMBN%vXFTW-ES-lbqok7ciUu_G?)DAN~!(5@sv$3Mom2*-E@k7TzN}IWbp> zPq2p)pHmXMFJbp3YEYYcG^7z<;Z{q?zJ%}15*>)5FVXa86r&l#IPA1UEOW5e5-VBF zIyPd)5?eUJMJ{s<_g>;Azw%EImVAkqaRVjIRWbt^$wX${R7pE3nU4Y#!%QWMW3G}_ zs7f`=R`M&prZG+FfW4LML>J6b(%woAWH4qaX>TR%t>h%kQqtZ^+FQv*tij$&nyaMU zmE6N#_VEL!@D57aTSc?0v6{Dt3m%wIggE=#%hQf4k?=2CW9%J)PmGnX=RDZ4CX zccsi+%FLzm^BHC?W#&>PsEnCQnYolZE%ha4E@kFY?zB{U%v!1|J?KRrMl*w%%p#U$ zEN2C)*vdAx<1R}b#{Nnjv;Z}A7Wxy!%&7li)TNMRYXl}SZv%v0t~?5>QxmC1>j%Gg~QbCoGV zQS7eF=TxK;m8r@X*jX7fmTAVfw4@tmD`RhE?5&LX$_yih5lmq^W-K!Yw_3)XmPueO z8`#Vi?6J%-k}z8tdnBvLR+Gn~da`udKb5wYReA$cnv{eIL6k`w@ls zm`^B6IU=Y)9qMDovSuvXn5LMm>_F_T>|o4Rb^?=`hPx~~8*`O)lV$C#ti6>rTUoP| zwYRc6*oB)cdld7PJ;4>Oa*gYlt?YgNJ`QjYGnX@OIrEk?Z#napGjBQbmNRd;2R!B}|L|WBM)*#Rc!iX_N+#YRE9Q;J zfxC?`Ys4pfN>R)jVb+L9+--zeBg`7nkVcp_!kiHu@Gc{|(jB{v7|amdZNx;(8Znuv zm^H$j5%Jh>#45bW2)m82+lZa)#%?3b8gZPHm^H$j5jXjbTioVv%o^dHmJcv%d9#*J z#cRAxX3SjvUGnoGg)ndVB7BBf%bT-&RccU+IyB`Qn(-}NFsuJ2b6CCyW-V{l@0T3+Ha)&M%r(r{YKhvr2R(PZ>0T3+Ha)&Mw&O$ek1KS z(tab&8hM#(T;~Q)g0SNA*lEQVvDb=klAgE7NKSH*o4gdkTdnvRpHq=4RL6W3%~!D= zW~(sImO$-I@eunqH8I?OSA zH&r^#S$@VYE8XN*9`TsJcp8M2?Y8pEq~tZsTsbYimnvuFJ+e^{w_CXog(*W>%2A%$ z*lXp6n78uRG@&a4aI=+%F@lkdW(H=fJd0SCVYbRE@J=gl#cY+gvlH`GHecnFoWb2z zzQ8a1&TZ_n@}E2m!YcMy5E-f8N?9GTxB|oS%N)QiDx65*o+-kIe>eua)jfUv5Fm5v9l_6R>jV$ z*jbgQL0I(#%vALy%vCi#-ec7an5}9q@?xH<_ExnJc2?ESs@hpqJF8lr+L)sdX!5faha>wUse07 z`T+A*eZt>CSk0`}%v#NzR(l1rRx@k0jM!tf+~mQ`)$Fm_XB6Xe?6F#9s!)~ce92dQ zO%vMFfsS;hA9h%60QOkTtkotknQ6>m7ID~RwPmc}d+f5>R^-emPc6s8RJTit%E+i&&S*l+c^*suS7 zeptOFZ7_57j+nQ)d8?bZx_PUcxB6JdF`kLc#eS>L$9}7?#(t}>#eS>rW)FMW&q+>k znzQ_j@1W{8`ISf5Z}q=$&oy4aj%(O)4fk9lJ$73oGiI*w9@#K&jgR>hJFf9LC8){Q zG^IIatkIgb^dbr~)))hi$fATO0YbN7alJh*Tla_S6$@`eCW_EI7zMAH%X}+4pDM@LnQJospqA^WqN;5jq znJ#o=AcGi;d23FVcuGQVdmN|;9hIH*V^v2c6!WOI|G?8Yi+aE&O<)TTHCC(i(#j=D^Zmi z)TS==al5tMZtXU-rz3V++pM+CS$haEj9?_OEMqwSo<

v;un6FMl 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 diff --git a/OpenTable/ContentView.swift b/OpenTable/ContentView.swift index 3f02b80cc..6f00d3266 100644 --- a/OpenTable/ContentView.swift +++ b/OpenTable/ContentView.swift @@ -304,6 +304,11 @@ struct ContentView: View { escapeKeyMonitor = NSEvent.addLocalMonitorForEvents(matching: .keyDown) { event in // Escape key code is 53 if event.keyCode == 53 { + // Don't consume ESC if a sheet is presented - let it dismiss the sheet + if AppState.shared.isSheetPresented { + return event + } + NotificationCenter.default.post(name: .clearSelection, object: nil) // Return nil to consume the event, or return event to let it propagate return nil diff --git a/OpenTable/Core/Database/DatabaseDriver.swift b/OpenTable/Core/Database/DatabaseDriver.swift index 48901fe9e..0fbf3b090 100644 --- a/OpenTable/Core/Database/DatabaseDriver.swift +++ b/OpenTable/Core/Database/DatabaseDriver.swift @@ -58,6 +58,9 @@ protocol DatabaseDriver: AnyObject { /// Fetch table metadata (size, comment, engine, etc.) func fetchTableMetadata(tableName: String) async throws -> TableMetadata + + /// Fetch list of all databases on the server + func fetchDatabases() async throws -> [String] } /// Default implementation for common operations diff --git a/OpenTable/Core/Database/MySQLDriver.swift b/OpenTable/Core/Database/MySQLDriver.swift index 501e9c1ea..eeaf06b8c 100644 --- a/OpenTable/Core/Database/MySQLDriver.swift +++ b/OpenTable/Core/Database/MySQLDriver.swift @@ -448,4 +448,12 @@ final class MySQLDriver: DatabaseDriver { return result.trimmingCharacters(in: .whitespacesAndNewlines) } + + /// Fetch list of all databases on the server + func fetchDatabases() async throws -> [String] { + let result = try await execute(query: "SHOW DATABASES") + return result.rows.compactMap { row in + row.first ?? nil + } + } } diff --git a/OpenTable/Core/Database/PostgreSQLDriver.swift b/OpenTable/Core/Database/PostgreSQLDriver.swift index c41cc00a2..8b90f6433 100644 --- a/OpenTable/Core/Database/PostgreSQLDriver.swift +++ b/OpenTable/Core/Database/PostgreSQLDriver.swift @@ -385,4 +385,12 @@ final class PostgreSQLDriver: DatabaseDriver { return result.trimmingCharacters(in: .whitespacesAndNewlines) } + + /// Fetch list of all databases on the server + func fetchDatabases() async throws -> [String] { + let result = try await execute(query: "SELECT datname FROM pg_database WHERE datistemplate = false ORDER BY datname") + return result.rows.compactMap { row in + row.first ?? nil + } + } } diff --git a/OpenTable/Core/Database/SQLiteDriver.swift b/OpenTable/Core/Database/SQLiteDriver.swift index ac9fe4829..79f255609 100644 --- a/OpenTable/Core/Database/SQLiteDriver.swift +++ b/OpenTable/Core/Database/SQLiteDriver.swift @@ -347,11 +347,18 @@ final class SQLiteDriver: DatabaseDriver { } // MARK: - Helpers - + private func expandPath(_ path: String) -> String { if path.hasPrefix("~") { return NSString(string: path).expandingTildeInPath } return path } + + /// SQLite databases are file-based, so this returns an empty array + func fetchDatabases() async throws -> [String] { + // SQLite doesn't have a concept of multiple databases on a server + // Each SQLite file is a separate database + return [] + } } diff --git a/OpenTable/Extensions/FocusedValues+Extensions.swift b/OpenTable/Extensions/FocusedValues+Extensions.swift new file mode 100644 index 000000000..c79d8acd6 --- /dev/null +++ b/OpenTable/Extensions/FocusedValues+Extensions.swift @@ -0,0 +1,22 @@ +// +// FocusedValues+Extensions.swift +// OpenTable +// + +import SwiftUI + +// MARK: - Database Switcher Focus + +/// Key for tracking whether DatabaseSwitcher sheet is currently open +struct IsDatabaseSwitcherOpenKey: FocusedValueKey { + typealias Value = Bool +} + +extension FocusedValues { + /// Whether the DatabaseSwitcher sheet is currently presented + /// Used by commands to disable conflicting keyboard shortcuts + var isDatabaseSwitcherOpen: Bool? { + get { self[IsDatabaseSwitcherOpenKey.self] } + set { self[IsDatabaseSwitcherOpenKey.self] = newValue } + } +} diff --git a/OpenTable/Models/ConnectionToolbarState.swift b/OpenTable/Models/ConnectionToolbarState.swift index a4afcb033..e8a7d37c0 100644 --- a/OpenTable/Models/ConnectionToolbarState.swift +++ b/OpenTable/Models/ConnectionToolbarState.swift @@ -111,6 +111,9 @@ final class ConnectionToolbarState: ObservableObject { /// Connection name for display @Published var connectionName: String = "" + /// Current database name + @Published var databaseName: String = "" + /// Custom display color for the connection (uses database type color if not set) @Published var displayColor: Color = .orange @@ -188,6 +191,7 @@ final class ConnectionToolbarState: ObservableObject { /// Update state from a DatabaseConnection model func update(from connection: DatabaseConnection) { connectionName = connection.name + databaseName = connection.database databaseType = connection.type displayColor = connection.displayColor tagId = connection.tagId @@ -213,6 +217,7 @@ final class ConnectionToolbarState: ObservableObject { databaseType = .mysql databaseVersion = nil connectionName = "" + databaseName = "" displayColor = databaseType.themeColor connectionState = .disconnected isExecuting = false diff --git a/OpenTable/OpenTableApp.swift b/OpenTable/OpenTableApp.swift index 9e5469f56..f030b4129 100644 --- a/OpenTable/OpenTableApp.swift +++ b/OpenTable/OpenTableApp.swift @@ -17,6 +17,81 @@ final class AppState: ObservableObject { @Published var hasRowSelection: Bool = false // True when rows are selected in data grid @Published var hasTableSelection: Bool = false // True when tables are selected in sidebar @Published var isHistoryPanelVisible: Bool = false // Global history panel visibility + @Published var isSheetPresented: Bool = false // True when any modal sheet is open (blocks ESC key handling) +} + +// MARK: - Pasteboard Commands with FocusedValue Support + +/// Custom Commands struct to properly access FocusedValue for disabling ESC when sheet is open +struct PasteboardCommands: Commands { + @ObservedObject var appState: AppState + @FocusedValue(\.isDatabaseSwitcherOpen) var isDatabaseSwitcherOpen: Bool? + + var body: some Commands { + CommandGroup(replacing: .pasteboard) { + Button("Cut") { + NSApp.sendAction(#selector(NSText.cut(_:)), to: nil, from: nil) + } + .keyboardShortcut("x", modifiers: .command) + + Button("Copy") { + // Check if user is editing text in a cell (firstResponder is NSTextView field editor) + if let firstResponder = NSApp.keyWindow?.firstResponder, + firstResponder is NSTextView { + // User is editing text - let standard copy handle selected text + NSApp.sendAction(#selector(NSText.copy(_:)), to: nil, from: nil) + } else if appState.hasRowSelection { + // Copy entire rows when rows are selected + NotificationCenter.default.post(name: .copySelectedRows, object: nil) + } else if appState.hasTableSelection { + // Copy table names when tables are selected + NotificationCenter.default.post(name: .copyTableNames, object: nil) + } else { + // Fallback to standard copy + NSApp.sendAction(#selector(NSText.copy(_:)), to: nil, from: nil) + } + } + .keyboardShortcut("c", modifiers: .command) + + Button("Paste") { + NSApp.sendAction(#selector(NSText.paste(_:)), to: nil, from: nil) + } + .keyboardShortcut("v", modifiers: .command) + + Button("Delete") { + // Check if first responder is the history panel's table view + // History panel uses responder chain for delete actions + // Data grid uses notifications for batched undo support + if let firstResponder = NSApp.keyWindow?.firstResponder { + // Check class name to identify HistoryTableView + let className = String(describing: type(of: firstResponder)) + if className.contains("HistoryTableView") { + // Let history panel handle via responder chain + NSApp.sendAction(#selector(NSText.delete(_:)), to: nil, from: nil) + return + } + } + + // For data grid and other views, use notification for batched undo + NotificationCenter.default.post(name: .deleteSelectedRows, object: nil) + } + .keyboardShortcut(.delete, modifiers: .command) + .disabled(!appState.isCurrentTabEditable && !appState.hasTableSelection) + + Divider() + + Button("Select All") { + NSApp.sendAction(#selector(NSText.selectAll(_:)), to: nil, from: nil) + } + .keyboardShortcut("a", modifiers: .command) + + Button("Clear Selection") { + NotificationCenter.default.post(name: .clearSelection, object: nil) + } + .keyboardShortcut(.escape, modifiers: []) + .disabled(isDatabaseSwitcherOpen == true) + } + } } // MARK: - App @@ -69,6 +144,12 @@ struct OpenTableApp: App { .keyboardShortcut("t", modifiers: .command) .disabled(!appState.isConnected) + Button("Open Database...") { + NotificationCenter.default.post(name: .openDatabaseSwitcher, object: nil) + } + .keyboardShortcut("k", modifiers: .command) + .disabled(!appState.isConnected) + Divider() Button("Save Changes") { @@ -129,70 +210,9 @@ struct OpenTableApp: App { .keyboardShortcut("z", modifiers: [.command, .shift]) } - // Edit menu - replace pasteboard to add our Delete with shortcut - CommandGroup(replacing: .pasteboard) { - Button("Cut") { - NSApp.sendAction(#selector(NSText.cut(_:)), to: nil, from: nil) - } - .keyboardShortcut("x", modifiers: .command) - - Button("Copy") { - // Check if user is editing text in a cell (firstResponder is NSTextView field editor) - if let firstResponder = NSApp.keyWindow?.firstResponder, - firstResponder is NSTextView { - // User is editing text - let standard copy handle selected text - NSApp.sendAction(#selector(NSText.copy(_:)), to: nil, from: nil) - } else if appState.hasRowSelection { - // Copy entire rows when rows are selected - NotificationCenter.default.post(name: .copySelectedRows, object: nil) - } else if appState.hasTableSelection { - // Copy table names when tables are selected - NotificationCenter.default.post(name: .copyTableNames, object: nil) - } else { - // Fallback to standard copy - NSApp.sendAction(#selector(NSText.copy(_:)), to: nil, from: nil) - } - } - .keyboardShortcut("c", modifiers: .command) - - Button("Paste") { - NSApp.sendAction(#selector(NSText.paste(_:)), to: nil, from: nil) - } - .keyboardShortcut("v", modifiers: .command) - - Button("Delete") { - // Check if first responder is the history panel's table view - // History panel uses responder chain for delete actions - // Data grid uses notifications for batched undo support - if let firstResponder = NSApp.keyWindow?.firstResponder { - // Check class name to identify HistoryTableView - let className = String(describing: type(of: firstResponder)) - if className.contains("HistoryTableView") { - // Let history panel handle via responder chain - NSApp.sendAction(#selector(NSText.delete(_:)), to: nil, from: nil) - return - } - } - - // For data grid and other views, use notification for batched undo - NotificationCenter.default.post(name: .deleteSelectedRows, object: nil) - } - .keyboardShortcut(.delete, modifiers: .command) - .disabled(!appState.isCurrentTabEditable && !appState.hasTableSelection) - - Divider() - - Button("Select All") { - NSApp.sendAction(#selector(NSText.selectAll(_:)), to: nil, from: nil) - } - .keyboardShortcut("a", modifiers: .command) - - Button("Clear Selection") { - NotificationCenter.default.post(name: .clearSelection, object: nil) - } - .keyboardShortcut(.escape, modifiers: []) - } - + // Edit menu - pasteboard commands with FocusedValue support + PasteboardCommands(appState: appState) + // Edit menu - row operations (after pasteboard) CommandGroup(after: .pasteboard) { Divider() @@ -286,7 +306,10 @@ extension Notification.Name { // History panel notifications static let toggleHistoryPanel = Notification.Name("toggleHistoryPanel") - + + // Database switcher notifications + static let openDatabaseSwitcher = Notification.Name("openDatabaseSwitcher") + // Window lifecycle notifications static let mainWindowWillClose = Notification.Name("mainWindowWillClose") } diff --git a/OpenTable/Views/Connection/ConnectionSidebarHeader.swift b/OpenTable/Views/Connection/ConnectionSidebarHeader.swift index 2cc7b81ae..bf91f4a19 100644 --- a/OpenTable/Views/Connection/ConnectionSidebarHeader.swift +++ b/OpenTable/Views/Connection/ConnectionSidebarHeader.swift @@ -37,7 +37,7 @@ struct ConnectionSidebarHeader: View { Image(systemName: session.connection.type.iconName) .foregroundStyle(session.connection.displayColor) - Text(session.connection.name) + Text(session.connection.database) Spacer() @@ -98,7 +98,7 @@ struct ConnectionSidebarHeader: View { } // Connection name - Text(currentSession?.connection.name ?? "No Connection") + Text(currentSession?.connection.database ?? "No Connection") .font(.system(size: 13, weight: .medium)) .lineLimit(1) diff --git a/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift b/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift new file mode 100644 index 000000000..31c938a87 --- /dev/null +++ b/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift @@ -0,0 +1,429 @@ +// +// DatabaseSwitcherSheet.swift +// OpenTable +// +// Modal sheet to display and switch between databases. +// Similar to TablePlus's "Open database" feature (Cmd+K). +// + +import SwiftUI + +/// Modal sheet to display available databases and switch between them +struct DatabaseSwitcherSheet: View { + @Binding var isPresented: Bool + @Environment(\.dismiss) private var dismiss + let currentDatabase: String? + let databaseType: DatabaseType + let onSelect: (String) -> Void + + @State private var databases: [String] = [] + @State private var searchText = "" + @State private var isLoading = true + @State private var errorMessage: String? + @State private var selectedItem: String? + @State private var shouldScrollToSelection = false + @FocusState private var isListFocused: Bool + + var filteredDatabases: [String] { + if searchText.isEmpty { + return databases + } + return databases.filter { + $0.localizedCaseInsensitiveContains(searchText) + } + } + + var body: some View { + VStack(spacing: 0) { + // Header + Text("Open database") + .font(.system(size: 13, weight: .semibold)) + .padding(.vertical, 12) + + Divider() + + // Search field + HStack(spacing: 8) { + Image(systemName: "magnifyingglass") + .foregroundStyle(.tertiary) + .font(.system(size: 13)) + + TextField("Search for database...", text: $searchText) + .textFieldStyle(.plain) + .font(.system(size: 13)) + .onSubmit { + openSelectedDatabase() + } + } + .padding(.horizontal, 12) + .padding(.vertical, 10) + + Divider() + + // Database list or empty state + if isLoading { + loadingView + } else if let error = errorMessage { + errorView(error) + } else if databaseType == .sqlite { + sqliteEmptyState + } else if filteredDatabases.isEmpty { + emptyState + } else { + databaseListView + } + + Divider() + + // Footer buttons + footerView + } + .frame(width: 360, height: 340) + .background(Color(nsColor: .windowBackgroundColor)) + .onAppear { + loadDatabases() + } + .onChange(of: searchText) { _, _ in + // Reset selection when search changes + selectedItem = filteredDatabases.first + } + .onKeyPress(.escape) { + dismiss() + return .handled + } + .onKeyPress(.upArrow) { + moveSelection(up: true) + return .handled + } + .onKeyPress(.downArrow) { + moveSelection(up: false) + return .handled + } + .onKeyPress(.return) { + openSelectedDatabase() + return .handled + } + } + + // MARK: - Database List + + private var databaseListView: some View { + ScrollViewReader { proxy in + List(filteredDatabases, id: \.self, selection: $selectedItem) { database in + databaseRow(database) + .tag(database) + .id(database) + .listRowSeparator(.hidden) + .listRowInsets(EdgeInsets(top: 2, leading: 8, bottom: 2, trailing: 8)) + } + .listStyle(.inset) + .scrollContentBackground(.hidden) + .alternatingRowBackgrounds(.disabled) + .environment(\.defaultMinListRowHeight, 28) + .focusable() + .focused($isListFocused) + .onChange(of: filteredDatabases) { _, newList in + // Reset selection when list changes + if let selected = selectedItem, !newList.contains(selected) { + selectedItem = newList.first + } + } + .onChange(of: selectedItem) { _, newValue in + // Scroll to selected item when navigating with keyboard + if let item = newValue { + withAnimation(.easeInOut(duration: 0.15)) { + proxy.scrollTo(item, anchor: .center) + } + } + } + .onChange(of: shouldScrollToSelection) { _, shouldScroll in + // Scroll to selection after databases load + if shouldScroll, let item = selectedItem { + // Delay to ensure list is fully rendered + DispatchQueue.main.asyncAfter(deadline: .now() + 0.15) { + proxy.scrollTo(item, anchor: .center) + shouldScrollToSelection = false + + // Focus the list to show blue selection + DispatchQueue.main.asyncAfter(deadline: .now() + 0.05) { + isListFocused = true + // Find and focus NSTableView in sheet window + // Sheets become key window, or check attached sheets + if let sheetWindow = NSApp.keyWindow, + sheetWindow.isSheet || sheetWindow.sheetParent != nil, + let tableView = findTableView(in: sheetWindow.contentView) { + sheetWindow.makeFirstResponder(tableView) + } else if let mainWindow = NSApp.mainWindow, + let sheet = mainWindow.attachedSheet, + let tableView = findTableView(in: sheet.contentView) { + sheet.makeFirstResponder(tableView) + } + } + } + } + } + } + } + + private func databaseRow(_ database: String) -> some View { + HStack(spacing: 10) { + Image(systemName: "cylinder") + .font(.system(size: 13)) + .foregroundStyle(database == currentDatabase ? .blue : .secondary) + + Text(database) + .font(.system(size: 13)) + .foregroundStyle(.primary) + .lineLimit(1) + + Spacer() + + if database == currentDatabase { + Text("current") + .font(.system(size: 10)) + .foregroundStyle(.secondary) + } + } + .contentShape(Rectangle()) + .overlay( + DoubleClickView { + selectedItem = database + openSelectedDatabase() + } + ) + } + + // MARK: - Empty States + + private var loadingView: some View { + VStack(spacing: 12) { + ProgressView() + .scaleEffect(0.8) + Text("Loading databases...") + .font(.system(size: 12)) + .foregroundStyle(.secondary) + } + .frame(maxWidth: .infinity, maxHeight: .infinity) + } + + private func errorView(_ message: String) -> some View { + VStack(spacing: 12) { + Image(systemName: "exclamationmark.triangle") + .font(.system(size: 24)) + .foregroundStyle(.orange) + + Text("Failed to load databases") + .font(.system(size: 13, weight: .medium)) + + Text(message) + .font(.system(size: 11)) + .foregroundStyle(.secondary) + .multilineTextAlignment(.center) + .padding(.horizontal) + + Button("Retry") { + loadDatabases() + } + .buttonStyle(.bordered) + .controlSize(.small) + } + .frame(maxWidth: .infinity, maxHeight: .infinity) + } + + private var sqliteEmptyState: some View { + VStack(spacing: 12) { + Image(systemName: "doc.fill") + .font(.system(size: 24)) + .foregroundStyle(.secondary) + + Text("SQLite is file-based") + .font(.system(size: 13, weight: .medium)) + + Text("Each SQLite file is a separate database.\nTo open a different database, create a new connection.") + .font(.system(size: 11)) + .foregroundStyle(.secondary) + .multilineTextAlignment(.center) + .padding(.horizontal) + } + .frame(maxWidth: .infinity, maxHeight: .infinity) + } + + private var emptyState: some View { + VStack(spacing: 12) { + Image(systemName: "magnifyingglass") + .font(.system(size: 24)) + .foregroundStyle(.secondary) + + if searchText.isEmpty { + Text("No databases found") + .font(.system(size: 13, weight: .medium)) + } else { + Text("No matching databases") + .font(.system(size: 13, weight: .medium)) + + Text("No databases match \"\(searchText)\"") + .font(.system(size: 11)) + .foregroundStyle(.secondary) + } + } + .frame(maxWidth: .infinity, maxHeight: .infinity) + } + + // MARK: - Footer + + private var footerView: some View { + HStack { + Button("Cancel") { + dismiss() + } + + Spacer() + + Button("Open") { + openSelectedDatabase() + } + .buttonStyle(.borderedProminent) + .disabled(selectedItem == nil || selectedItem == currentDatabase) + } + .padding(12) + } + + // MARK: - Actions + + private func moveSelection(up: Bool) { + guard !filteredDatabases.isEmpty else { return } + + let currentIndex = filteredDatabases.firstIndex(of: selectedItem ?? "") ?? 0 + + if up { + let newIndex = max(0, currentIndex - 1) + selectedItem = filteredDatabases[newIndex] + } else { + let newIndex = min(filteredDatabases.count - 1, currentIndex + 1) + selectedItem = filteredDatabases[newIndex] + } + } + + private func loadDatabases() { + isLoading = true + errorMessage = nil + + Task { + do { + guard let driver = DatabaseManager.shared.activeDriver else { + await MainActor.run { + errorMessage = "No active connection" + isLoading = false + } + return + } + + let result = try await driver.fetchDatabases() + + await MainActor.run { + databases = result + isLoading = false + + // Pre-select current database if available + if let current = currentDatabase, result.contains(current) { + selectedItem = current + } else { + selectedItem = result.first + } + + // Trigger scroll to selection and focus + shouldScrollToSelection = true + } + } catch { + await MainActor.run { + errorMessage = error.localizedDescription + isLoading = false + } + } + } + } + + private func openSelectedDatabase() { + guard let database = selectedItem else { return } + + // Don't reopen current database + if database == currentDatabase { + dismiss() + return + } + + onSelect(database) + dismiss() + } + + /// Recursively find NSTableView in view hierarchy + private func findTableView(in view: NSView?) -> NSTableView? { + guard let view = view else { return nil } + + if let tableView = view as? NSTableView { + return tableView + } + + for subview in view.subviews { + if let found = findTableView(in: subview) { + return found + } + } + + return nil + } +} + + +// MARK: - DoubleClickView + +/// NSViewRepresentable that detects double-clicks without interfering with native List selection +private struct DoubleClickView: NSViewRepresentable { + let onDoubleClick: () -> Void + + func makeNSView(context: Context) -> NSView { + let view = PassThroughDoubleClickView() + view.onDoubleClick = onDoubleClick + return view + } + + func updateNSView(_ nsView: NSView, context: Context) { + (nsView as? PassThroughDoubleClickView)?.onDoubleClick = onDoubleClick + } +} + +private class PassThroughDoubleClickView: NSView { + var onDoubleClick: (() -> Void)? + + override func mouseDown(with event: NSEvent) { + if event.clickCount == 2 { + onDoubleClick?() + } + // Always forward to next responder for List selection + super.mouseDown(with: event) + } + + override func mouseUp(with event: NSEvent) { + super.mouseUp(with: event) + } +} + +// MARK: - Preview + +#Preview("MySQL Databases") { + DatabaseSwitcherSheet( + isPresented: .constant(true), + currentDatabase: "laravel", + databaseType: .mysql, + onSelect: { db in print("Selected: \(db)") } + ) +} + +#Preview("SQLite Empty") { + DatabaseSwitcherSheet( + isPresented: .constant(true), + currentDatabase: nil, + databaseType: .sqlite, + onSelect: { db in print("Selected: \(db)") } + ) +} diff --git a/OpenTable/Views/MainContentView.swift b/OpenTable/Views/MainContentView.swift index 4d46768f4..b542220e9 100644 --- a/OpenTable/Views/MainContentView.swift +++ b/OpenTable/Views/MainContentView.swift @@ -63,7 +63,10 @@ struct MainContentView: View { // Error alert state @State private var showErrorAlert = false @State private var errorAlertMessage = "" - + + // Database switcher state + @State private var showDatabaseSwitcher = false + // Global app state for history panel @EnvironmentObject private var appState: AppState @@ -256,6 +259,20 @@ struct MainContentView: View { } message: { Text(errorAlertMessage) } + .sheet(isPresented: $showDatabaseSwitcher) { + DatabaseSwitcherSheet( + isPresented: $showDatabaseSwitcher, + currentDatabase: connection.database.isEmpty ? nil : connection.database, + databaseType: connection.type, + onSelect: { database in + switchToDatabase(database) + } + ) + } + .focusedValue(\.isDatabaseSwitcherOpen, showDatabaseSwitcher) + .onChange(of: showDatabaseSwitcher) { _, isPresented in + appState.isSheetPresented = isPresented + } .onChange(of: tabManager.selectedTabId) { oldTabId, newTabId in // Must be synchronous - save state BEFORE SwiftUI updates the view handleTabChange(oldTabId: oldTabId, newTabId: newTabId) @@ -372,6 +389,9 @@ struct MainContentView: View { // Toggle history panel globally (Cmd+Shift+H) appState.isHistoryPanelVisible.toggle() } + .onReceive(NotificationCenter.default.publisher(for: .openDatabaseSwitcher)) { _ in + showDatabaseSwitcher = true + } .onReceive(NotificationCenter.default.publisher(for: .toggleRightSidebar)) { _ in // Toggle inspector (Cmd+Opt+B) - no animation for native feel isInspectorPresented.toggle() @@ -2183,6 +2203,30 @@ struct MainContentView: View { // Execute the query runQuery() } + + /// Switch to a different database on the same server + private func switchToDatabase(_ database: String) { + let newConnection = DatabaseConnection( + id: UUID(), + name: connection.name, + host: connection.host, + port: connection.port, + database: database, + username: connection.username, + type: connection.type, + sshConfig: connection.sshConfig, + color: connection.color, + tagId: connection.tagId + ) + + Task { + do { + try await DatabaseManager.shared.connectToSession(newConnection) + } catch { + print("Failed to connect to database \(database): \(error)") + } + } + } } #Preview("With Connection") { diff --git a/OpenTable/Views/Toolbar/ConnectionStatusView.swift b/OpenTable/Views/Toolbar/ConnectionStatusView.swift index 11e6b92cf..cf60ca49e 100644 --- a/OpenTable/Views/Toolbar/ConnectionStatusView.swift +++ b/OpenTable/Views/Toolbar/ConnectionStatusView.swift @@ -12,6 +12,7 @@ import SwiftUI struct ConnectionStatusView: View { let databaseType: DatabaseType let databaseVersion: String? + let databaseName: String let connectionName: String let connectionState: ToolbarConnectionState let displayColor: Color @@ -25,6 +26,15 @@ struct ConnectionStatusView: View { Divider() .frame(height: 16) + // Database name (clickable to switch databases) + if !databaseName.isEmpty { + databaseNameSection + + // Vertical separator + Divider() + .frame(height: 16) + } + // Connection name + status indicator connectionInfoSection } @@ -48,6 +58,25 @@ struct ConnectionStatusView: View { .help("Database: \(formattedDatabaseInfo)") } + /// Database name (clickable to open database switcher) + private var databaseNameSection: some View { + Button { + NotificationCenter.default.post(name: .openDatabaseSwitcher, object: nil) + } label: { + HStack(spacing: 4) { + Image(systemName: "cylinder") + .font(.system(size: 11)) + .foregroundStyle(.secondary) + + Text(databaseName) + .font(.system(size: 12, weight: .medium)) + .foregroundStyle(.primary) + } + } + .buttonStyle(.plain) + .help("Current database: \(databaseName) (⌘K to switch)") + } + /// Connection name and status dot private var connectionInfoSection: some View { HStack(spacing: 8) { @@ -121,6 +150,7 @@ private struct PulseAnimation: ViewModifier { ConnectionStatusView( databaseType: .mariadb, databaseVersion: "11.1.2", + databaseName: "production_db", connectionName: "Production Database", connectionState: .connected, displayColor: .cyan @@ -133,6 +163,7 @@ private struct PulseAnimation: ViewModifier { ConnectionStatusView( databaseType: .mysql, databaseVersion: "8.0.35", + databaseName: "dev_db", connectionName: "Development", connectionState: .executing, displayColor: .orange @@ -145,6 +176,7 @@ private struct PulseAnimation: ViewModifier { ConnectionStatusView( databaseType: .postgresql, databaseVersion: "16.1", + databaseName: "analytics", connectionName: "Analytics DB", connectionState: .connected, displayColor: .blue diff --git a/OpenTable/Views/Toolbar/OpenTableToolbarView.swift b/OpenTable/Views/Toolbar/OpenTableToolbarView.swift index 49877fad1..8d57d16d4 100644 --- a/OpenTable/Views/Toolbar/OpenTableToolbarView.swift +++ b/OpenTable/Views/Toolbar/OpenTableToolbarView.swift @@ -34,6 +34,7 @@ struct ToolbarPrincipalContent: View { ConnectionStatusView( databaseType: state.databaseType, databaseVersion: state.databaseVersion, + databaseName: state.databaseName, connectionName: state.connectionName, connectionState: state.connectionState, displayColor: state.displayColor From a4d8bd3402db8728de8c899d053bda5ce1a0f00c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ng=C3=B4=20Qu=E1=BB=91c=20=C4=90=E1=BA=A1t?= Date: Fri, 26 Dec 2025 09:29:56 +0700 Subject: [PATCH 2/7] Update OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../DatabaseSwitcherSheet.swift | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift b/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift index 31c938a87..38841421c 100644 --- a/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift +++ b/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift @@ -293,14 +293,19 @@ struct DatabaseSwitcherSheet: View { private func moveSelection(up: Bool) { guard !filteredDatabases.isEmpty else { return } - let currentIndex = filteredDatabases.firstIndex(of: selectedItem ?? "") ?? 0 - - if up { - let newIndex = max(0, currentIndex - 1) - selectedItem = filteredDatabases[newIndex] + // Determine the current index only if the selected item exists in the filtered list + if let selected = selectedItem, + let currentIndex = filteredDatabases.firstIndex(of: selected) { + if up { + let newIndex = max(0, currentIndex - 1) + selectedItem = filteredDatabases[newIndex] + } else { + let newIndex = min(filteredDatabases.count - 1, currentIndex + 1) + selectedItem = filteredDatabases[newIndex] + } } else { - let newIndex = min(filteredDatabases.count - 1, currentIndex + 1) - selectedItem = filteredDatabases[newIndex] + // No valid current selection; choose a sensible starting point + selectedItem = up ? filteredDatabases.last : filteredDatabases.first } } From 09d83a3392f21e69f30952618dc2f3e04b542f60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ng=C3=B4=20Qu=E1=BB=91c=20=C4=90=E1=BA=A1t?= Date: Fri, 26 Dec 2025 09:30:03 +0700 Subject: [PATCH 3/7] Update OpenTable/Core/Database/PostgreSQLDriver.swift Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- OpenTable/Core/Database/PostgreSQLDriver.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenTable/Core/Database/PostgreSQLDriver.swift b/OpenTable/Core/Database/PostgreSQLDriver.swift index 8b90f6433..aec228479 100644 --- a/OpenTable/Core/Database/PostgreSQLDriver.swift +++ b/OpenTable/Core/Database/PostgreSQLDriver.swift @@ -390,7 +390,7 @@ final class PostgreSQLDriver: DatabaseDriver { func fetchDatabases() async throws -> [String] { let result = try await execute(query: "SELECT datname FROM pg_database WHERE datistemplate = false ORDER BY datname") return result.rows.compactMap { row in - row.first ?? nil + row.first } } } From df224dc5688eaf6e9eeb3557f62020332c1a9aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ng=C3=B4=20Qu=E1=BB=91c=20=C4=90=E1=BA=A1t?= Date: Fri, 26 Dec 2025 09:30:11 +0700 Subject: [PATCH 4/7] Update OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../DatabaseSwitcherSheet.swift | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift b/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift index 38841421c..2f20e1656 100644 --- a/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift +++ b/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift @@ -139,25 +139,26 @@ struct DatabaseSwitcherSheet: View { .onChange(of: shouldScrollToSelection) { _, shouldScroll in // Scroll to selection after databases load if shouldScroll, let item = selectedItem { - // Delay to ensure list is fully rendered - DispatchQueue.main.asyncAfter(deadline: .now() + 0.15) { + // Scroll once the selection flag is set; defer focus to next runloop + withAnimation(.easeInOut(duration: 0.15)) { proxy.scrollTo(item, anchor: .center) - shouldScrollToSelection = false - - // Focus the list to show blue selection - DispatchQueue.main.asyncAfter(deadline: .now() + 0.05) { - isListFocused = true - // Find and focus NSTableView in sheet window - // Sheets become key window, or check attached sheets - if let sheetWindow = NSApp.keyWindow, - sheetWindow.isSheet || sheetWindow.sheetParent != nil, - let tableView = findTableView(in: sheetWindow.contentView) { - sheetWindow.makeFirstResponder(tableView) - } else if let mainWindow = NSApp.mainWindow, - let sheet = mainWindow.attachedSheet, - let tableView = findTableView(in: sheet.contentView) { - sheet.makeFirstResponder(tableView) - } + } + shouldScrollToSelection = false + + // Focus the list and underlying NSTableView to show blue selection + DispatchQueue.main.async { + isListFocused = true + + // Find and focus NSTableView in sheet window + // Sheets become key window, or check attached sheets + if let sheetWindow = NSApp.keyWindow, + sheetWindow.isSheet || sheetWindow.sheetParent != nil, + let tableView = findTableView(in: sheetWindow.contentView) { + sheetWindow.makeFirstResponder(tableView) + } else if let mainWindow = NSApp.mainWindow, + let sheet = mainWindow.attachedSheet, + let tableView = findTableView(in: sheet.contentView) { + sheet.makeFirstResponder(tableView) } } } From 3a71a52c3d242068edc3a4cbc35b17d0c0c2331b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ng=C3=B4=20Qu=E1=BB=91c=20=C4=90=E1=BA=A1t?= Date: Fri, 26 Dec 2025 09:30:21 +0700 Subject: [PATCH 5/7] Update OpenTable/Views/Connection/ConnectionSidebarHeader.swift Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- OpenTable/Views/Connection/ConnectionSidebarHeader.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenTable/Views/Connection/ConnectionSidebarHeader.swift b/OpenTable/Views/Connection/ConnectionSidebarHeader.swift index bf91f4a19..6536a4af2 100644 --- a/OpenTable/Views/Connection/ConnectionSidebarHeader.swift +++ b/OpenTable/Views/Connection/ConnectionSidebarHeader.swift @@ -98,7 +98,7 @@ struct ConnectionSidebarHeader: View { } // Connection name - Text(currentSession?.connection.database ?? "No Connection") + Text(currentSession?.connection.name ?? "No Connection") .font(.system(size: 13, weight: .medium)) .lineLimit(1) From ccdc895fbc14c3e4726e8213181e010cd68ff6c2 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Fri, 26 Dec 2025 10:19:59 +0700 Subject: [PATCH 6/7] Fix database switcher selection and row deletion bugs - Refactor DatabaseSwitcherSheet to use custom listRowBackground with native selection color instead of focus-dependent List selection - Fix scroll-to-selection timing by adding delay for List rendering - Unify all row deletion paths to use notification system, fixing bug where deleting newly added rows only cleared background but didn't remove the row from the data source - Remove unused deleteRow/deleteRows methods from TableViewCoordinator --- .../Core/Database/PostgreSQLDriver.swift | 2 +- .../DatabaseSwitcherSheet.swift | 67 ++++++------------- OpenTable/Views/Results/DataGridView.swift | 53 --------------- .../Views/Results/KeyHandlingTableView.swift | 10 ++- .../Views/Results/TableRowViewWithMenu.swift | 2 +- 5 files changed, 27 insertions(+), 107 deletions(-) diff --git a/OpenTable/Core/Database/PostgreSQLDriver.swift b/OpenTable/Core/Database/PostgreSQLDriver.swift index aec228479..8b90f6433 100644 --- a/OpenTable/Core/Database/PostgreSQLDriver.swift +++ b/OpenTable/Core/Database/PostgreSQLDriver.swift @@ -390,7 +390,7 @@ final class PostgreSQLDriver: DatabaseDriver { func fetchDatabases() async throws -> [String] { let result = try await execute(query: "SELECT datname FROM pg_database WHERE datistemplate = false ORDER BY datname") return result.rows.compactMap { row in - row.first + row.first ?? nil } } } diff --git a/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift b/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift index 2f20e1656..eacb25ac3 100644 --- a/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift +++ b/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift @@ -22,7 +22,6 @@ struct DatabaseSwitcherSheet: View { @State private var errorMessage: String? @State private var selectedItem: String? @State private var shouldScrollToSelection = false - @FocusState private var isListFocused: Bool var filteredDatabases: [String] { if searchText.isEmpty { @@ -109,19 +108,23 @@ struct DatabaseSwitcherSheet: View { private var databaseListView: some View { ScrollViewReader { proxy in - List(filteredDatabases, id: \.self, selection: $selectedItem) { database in + List(filteredDatabases, id: \.self) { database in databaseRow(database) - .tag(database) .id(database) .listRowSeparator(.hidden) - .listRowInsets(EdgeInsets(top: 2, leading: 8, bottom: 2, trailing: 8)) + .listRowBackground( + RoundedRectangle(cornerRadius: 4) + .fill(database == selectedItem ? Color(nsColor: .selectedContentBackgroundColor) : Color.clear) + .padding(.horizontal, 4) + ) + .onTapGesture { + selectedItem = database + } } .listStyle(.inset) .scrollContentBackground(.hidden) .alternatingRowBackgrounds(.disabled) .environment(\.defaultMinListRowHeight, 28) - .focusable() - .focused($isListFocused) .onChange(of: filteredDatabases) { _, newList in // Reset selection when list changes if let selected = selectedItem, !newList.contains(selected) { @@ -139,26 +142,12 @@ struct DatabaseSwitcherSheet: View { .onChange(of: shouldScrollToSelection) { _, shouldScroll in // Scroll to selection after databases load if shouldScroll, let item = selectedItem { - // Scroll once the selection flag is set; defer focus to next runloop - withAnimation(.easeInOut(duration: 0.15)) { - proxy.scrollTo(item, anchor: .center) - } shouldScrollToSelection = false - // Focus the list and underlying NSTableView to show blue selection - DispatchQueue.main.async { - isListFocused = true - - // Find and focus NSTableView in sheet window - // Sheets become key window, or check attached sheets - if let sheetWindow = NSApp.keyWindow, - sheetWindow.isSheet || sheetWindow.sheetParent != nil, - let tableView = findTableView(in: sheetWindow.contentView) { - sheetWindow.makeFirstResponder(tableView) - } else if let mainWindow = NSApp.mainWindow, - let sheet = mainWindow.attachedSheet, - let tableView = findTableView(in: sheet.contentView) { - sheet.makeFirstResponder(tableView) + // Delay scroll to ensure List is fully rendered + DispatchQueue.main.asyncAfter(deadline: .now() + 0.05) { + withAnimation(.easeInOut(duration: 0.15)) { + proxy.scrollTo(item, anchor: .center) } } } @@ -167,22 +156,25 @@ struct DatabaseSwitcherSheet: View { } private func databaseRow(_ database: String) -> some View { - HStack(spacing: 10) { + let isSelected = database == selectedItem + let isCurrent = database == currentDatabase + + return HStack(spacing: 10) { Image(systemName: "cylinder") .font(.system(size: 13)) - .foregroundStyle(database == currentDatabase ? .blue : .secondary) + .foregroundStyle(isSelected ? .white : (isCurrent ? .blue : .secondary)) Text(database) .font(.system(size: 13)) - .foregroundStyle(.primary) + .foregroundStyle(isSelected ? .white : .primary) .lineLimit(1) Spacer() - if database == currentDatabase { + if isCurrent { Text("current") .font(.system(size: 10)) - .foregroundStyle(.secondary) + .foregroundStyle(isSelected ? .white.opacity(0.8) : .secondary) } } .contentShape(Rectangle()) @@ -361,23 +353,6 @@ struct DatabaseSwitcherSheet: View { onSelect(database) dismiss() } - - /// Recursively find NSTableView in view hierarchy - private func findTableView(in view: NSView?) -> NSTableView? { - guard let view = view else { return nil } - - if let tableView = view as? NSTableView { - return tableView - } - - for subview in view.subviews { - if let found = findTableView(in: subview) { - return found - } - } - - return nil - } } diff --git a/OpenTable/Views/Results/DataGridView.swift b/OpenTable/Views/Results/DataGridView.swift index ed2066bda..ba96cc336 100644 --- a/OpenTable/Views/Results/DataGridView.swift +++ b/OpenTable/Views/Results/DataGridView.swift @@ -551,59 +551,6 @@ final class TableViewCoordinator: NSObject, NSTableViewDelegate, NSTableViewData // MARK: - Row Actions - func deleteRow(at index: Int) { - deleteRows(at: [index]) - } - - func deleteRows(at indices: Set) { - guard !indices.isEmpty else { return } - - var insertedRowsToDelete: [Int] = [] - var existingRowsToDelete: [(rowIndex: Int, originalRow: [String?])] = [] - - for rowIndex in indices { - if changeManager.isRowInserted(rowIndex) { - insertedRowsToDelete.append(rowIndex) - } else if !changeManager.isRowDeleted(rowIndex) { - guard let rowData = rowProvider.row(at: rowIndex) else { continue } - existingRowsToDelete.append((rowIndex: rowIndex, originalRow: rowData.values)) - } - } - - if !insertedRowsToDelete.isEmpty { - let sortedInsertedRows = insertedRowsToDelete.sorted(by: >) - for rowIndex in sortedInsertedRows { - rowProvider.removeRow(at: rowIndex) - } - changeManager.undoBatchRowInsertion(rowIndices: sortedInsertedRows) - updateCache() - } - - if !existingRowsToDelete.isEmpty { - changeManager.recordBatchRowDeletion(rows: existingRowsToDelete) - } - - let minSelectedRow = indices.min() ?? 0 - let maxSelectedRow = indices.max() ?? 0 - let totalRows = cachedRowCount - let insertedRowsDeletedCount = insertedRowsToDelete.count - - let adjustedMaxRow = maxSelectedRow - insertedRowsDeletedCount - let adjustedMinRow = minSelectedRow - insertedRowsToDelete.filter { $0 < minSelectedRow }.count - - var newSelection = Set() - if adjustedMaxRow + 1 < totalRows { - newSelection.insert(min(adjustedMaxRow + 1, totalRows - 1)) - } else if adjustedMinRow > 0 { - newSelection.insert(adjustedMinRow - 1) - } else if totalRows > 0 { - newSelection.insert(0) - } - - self.selectedRowIndices = newSelection - tableView?.reloadData() - } - func undoDeleteRow(at index: Int) { changeManager.undoRowDeletion(rowIndex: index) tableView?.reloadData( diff --git a/OpenTable/Views/Results/KeyHandlingTableView.swift b/OpenTable/Views/Results/KeyHandlingTableView.swift index 7deb194e8..d7a594b61 100644 --- a/OpenTable/Views/Results/KeyHandlingTableView.swift +++ b/OpenTable/Views/Results/KeyHandlingTableView.swift @@ -95,9 +95,8 @@ final class KeyHandlingTableView: NSTableView, NSMenuItemValidation { @objc func delete(_ sender: Any?) { guard coordinator?.isEditable == true else { return } - let selectedIndices = Set(selectedRowIndexes.map { $0 }) - guard !selectedIndices.isEmpty else { return } - coordinator?.deleteRows(at: selectedIndices) + guard !selectedRowIndexes.isEmpty else { return } + NotificationCenter.default.post(name: .deleteSelectedRows, object: nil) } func validateMenuItem(_ menuItem: NSMenuItem) -> Bool { @@ -114,9 +113,8 @@ final class KeyHandlingTableView: NSTableView, NSMenuItemValidation { override func performKeyEquivalent(with event: NSEvent) -> Bool { if event.keyCode == 51 || event.keyCode == 117 { - let selectedIndices = Set(selectedRowIndexes.map { $0 }) - if !selectedIndices.isEmpty && coordinator?.isEditable == true { - coordinator?.deleteRows(at: selectedIndices) + if !selectedRowIndexes.isEmpty && coordinator?.isEditable == true { + NotificationCenter.default.post(name: .deleteSelectedRows, object: nil) return true } } diff --git a/OpenTable/Views/Results/TableRowViewWithMenu.swift b/OpenTable/Views/Results/TableRowViewWithMenu.swift index d22867854..9e0ecb7fe 100644 --- a/OpenTable/Views/Results/TableRowViewWithMenu.swift +++ b/OpenTable/Views/Results/TableRowViewWithMenu.swift @@ -101,7 +101,7 @@ final class TableRowViewWithMenu: NSTableRowView { } @objc private func deleteRow() { - coordinator?.deleteRow(at: rowIndex) + NotificationCenter.default.post(name: .deleteSelectedRows, object: nil) } @objc private func duplicateRow() { From a30537a64acba1cc8b8a88b33363e0c731c4824a Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Fri, 26 Dec 2025 10:38:03 +0700 Subject: [PATCH 7/7] Address code review feedback - Simplify fetchDatabases() using flatMap instead of redundant nil coalescing - Restore missing listRowInsets in DatabaseSwitcherSheet - Show error alert when database switch fails instead of just logging - Remove xcuserstate from git tracking (already in .gitignore) --- .../UserInterfaceState.xcuserstate | Bin 184849 -> 0 bytes OpenTable/Core/Database/MySQLDriver.swift | 4 +--- OpenTable/Core/Database/PostgreSQLDriver.swift | 4 +--- .../DatabaseSwitcherSheet.swift | 1 + OpenTable/Views/MainContentView.swift | 5 ++++- 5 files changed, 7 insertions(+), 7 deletions(-) delete mode 100644 OpenTable.xcodeproj/project.xcworkspace/xcuserdata/ngoquocdat.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/OpenTable.xcodeproj/project.xcworkspace/xcuserdata/ngoquocdat.xcuserdatad/UserInterfaceState.xcuserstate b/OpenTable.xcodeproj/project.xcworkspace/xcuserdata/ngoquocdat.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index b504403973e726ce9b78d83f64acdb02bedda01d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184849 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 hx2y>I%F [String] { let result = try await execute(query: "SHOW DATABASES") - return result.rows.compactMap { row in - row.first ?? nil - } + return result.rows.compactMap { row in row.first.flatMap { $0 } } } } diff --git a/OpenTable/Core/Database/PostgreSQLDriver.swift b/OpenTable/Core/Database/PostgreSQLDriver.swift index 8b90f6433..1a6856319 100644 --- a/OpenTable/Core/Database/PostgreSQLDriver.swift +++ b/OpenTable/Core/Database/PostgreSQLDriver.swift @@ -389,8 +389,6 @@ final class PostgreSQLDriver: DatabaseDriver { /// Fetch list of all databases on the server func fetchDatabases() async throws -> [String] { let result = try await execute(query: "SELECT datname FROM pg_database WHERE datistemplate = false ORDER BY datname") - return result.rows.compactMap { row in - row.first ?? nil - } + return result.rows.compactMap { row in row.first.flatMap { $0 } } } } diff --git a/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift b/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift index eacb25ac3..3bd42a94d 100644 --- a/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift +++ b/OpenTable/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift @@ -112,6 +112,7 @@ struct DatabaseSwitcherSheet: View { databaseRow(database) .id(database) .listRowSeparator(.hidden) + .listRowInsets(EdgeInsets(top: 2, leading: 8, bottom: 2, trailing: 8)) .listRowBackground( RoundedRectangle(cornerRadius: 4) .fill(database == selectedItem ? Color(nsColor: .selectedContentBackgroundColor) : Color.clear) diff --git a/OpenTable/Views/MainContentView.swift b/OpenTable/Views/MainContentView.swift index b542220e9..d3c9efe41 100644 --- a/OpenTable/Views/MainContentView.swift +++ b/OpenTable/Views/MainContentView.swift @@ -2223,7 +2223,10 @@ struct MainContentView: View { do { try await DatabaseManager.shared.connectToSession(newConnection) } catch { - print("Failed to connect to database \(database): \(error)") + await MainActor.run { + errorAlertMessage = "Failed to connect to database '\(database)': \(error.localizedDescription)" + showErrorAlert = true + } } } }