From 1eeaf0f9ebaf9915fe50f30f8e8be8090a638a58 Mon Sep 17 00:00:00 2001 From: Eric Duong Date: Fri, 13 Dec 2024 11:51:52 -0500 Subject: [PATCH] fix(editor-3001): fix tabs, error state, loading states (#26881) Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- ...error-empty-states--long-loading--dark.png | Bin 50764 -> 50682 bytes ...rror-empty-states--long-loading--light.png | Bin 51086 -> 50972 bytes .../queries/nodes/DataNode/dataNodeLogic.ts | 18 +- .../data-warehouse/editor/OutputPane.tsx | 188 +++++++++++------- .../data-warehouse/editor/QueryTabs.tsx | 2 +- .../data-warehouse/editor/QueryWindow.tsx | 28 ++- .../editor/multitabEditorLogic.tsx | 8 +- .../insights/EmptyStates/EmptyStates.tsx | 130 +++++++----- 8 files changed, 235 insertions(+), 139 deletions(-) diff --git a/frontend/__snapshots__/scenes-app-insights-error-empty-states--long-loading--dark.png b/frontend/__snapshots__/scenes-app-insights-error-empty-states--long-loading--dark.png index 53a38ebe97627e9d4fa5ba069d0a9fe28648b010..7f17c93cf8695cf8191172297a6104f08d28a3e8 100644 GIT binary patch delta 30756 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

9>ju$t! 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 Hk6!*iPo$%i diff --git a/frontend/__snapshots__/scenes-app-insights-error-empty-states--long-loading--light.png b/frontend/__snapshots__/scenes-app-insights-error-empty-states--long-loading--light.png index b6956d05b33b5abef7c8a88b0b30cdd79a140f17..149a6d0c31e6485c3796058bb45b99899147823c 100644 GIT binary patch delta 30514 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 Ss*zm$r%$S#NK-Jr_J08WbIqUt delta 30648 zcma&Oby!th*Dt)q07L}=QA9vgkVaZsQ3UDklm-Qn&ZSZUQqo=0B_&-V-7Vc9-Lc6t z@Oj_&`_8$}A7@|pb*rqk*P3h1F~|7Dm_++s^z*;?qfQK&R(y5q7UqL5sxoSbVzy#- zQjwxsc0t|i%xu-=f#G5E{xVGK`=6&Xyr+%oKauo3$Pc__({OTP@h;L})C~{6q)JOF zj(>B0+>(D`c6Ot=y_7SCyT3}Dl*DLo_`zA3n^6@B6$x41JKc0!HxztwN$BZw)bPC? zv9a+^O(!GuKDQ&ei3G7C4r&jodwU%AR!IAb4825lPFnPf=%x3sM6yp0Ek>n}6x|9p zuByFpehuncZ_+0jJ%;`IQkkY!A`i)NqUMRLiEf@B!_=w2aVJE=633E6bMu5&HPOlR zz5-!f{`&nNRy`l)82|HqTC5X&{bbA2Gg0f>o{053ddcjz#a1l6`kd#-rQL7wXtPWU z8e1pGt3L>mZ_x{3qxjwSjiq3EbJaf7x4q51Y5fA6xZ_4oe*T4zra#_b26Y)DNY%Ko zqGD)RSeRG+n+S1}u7LByC{0t|*oe~7(xM{YXWGeH*uiOq(*AX#qF3#CEqO*7LPIfF zSx*FL|DF30KV4o{K|$pKZM;5YsY7=(sEH$bjS>Kq30PbxAjjk78VwEbaXT|T~-ywdL^r=sj04hyfr6A=08~F z>?r5i`{ccOA&JSI_qm3sosagn?miHoZ1{deANVbDWo=C%>DTq>xruVy&bGEJRq}<`$0f&AgNtGORA4m8u#$&c+c1devaNf!;a3fQxq8OY@O-}A+ z^9}6oDtb4fNEO6~oR0Q=>NAZdUvB85ET~}m(w(vB-LWG zcl!GE`D*s|Xpie8E@vmU^f(vKPwR>b%s>A9`y~@oE`!=nqcO|2aAu_(bz)w-A2QSb z=G(Qot*!9KkM|!wuvp*M{%ehnBqStMR#qPE`4keO;Nns>EC`dVn5C@aW)$@8+m##l z{!UGG=V+8uiXow2>fbz+r!_1z5PZ?s<>~3_T8ByQ6knoW?|tjWjT?J#RUJKW`H^tkt|^25>IYMyRmM+}eBYC&WQQ(Lt4Z@cBKI9_`e(*b&oy=yma zWpH9yuSs>$*3 z6L-8ePfw0&Yimm)VvI@o9IR%W0?n(?Dd`u}3Dk<=7*1s_B;UM`S z@a>-;I_u+=#Kgq0v9Y?1elh&cWf2h(WI~rQF*_qz4gYo}SmPO73&1@$lZmI}4#x8ZWWX9n8@vyO$G;tg?T(){pi3&E|By4}4BeP6SSN zdhe39=0y~ow&A~0&67+0F1tA29>rt32CIjRkkD$f=7Pb|1aih_(w9ah5y@sg?$q=B zH6v1qK zJvV2NMph{Xjk3P6vC91XZ)ihxb#)PuFP@&lFuvkQv)M^ka!$7|2O9mt`RtR*}xPsoKP<>#h_pJZ9(TO%7+B4mPIX^^}yC z@Bi(d*_f(}yz1rUg?;0Ojin{dwQI+#Nby7=+1ljfj}LP#5E13&<(Qb56V(VZR%V^8 zR=l^lsgkefHEkBf@$PUoNNRL!4BpT!N6lW|naN2!Vqz}44Q)fih0#&gw>Jai8AZV;d!6>=}!Kmwz|5yiHWm8EkwadbhSw)W`D^l7+LDM8k%Fk zq#|ctfEx?R=<=mYFj}ct-qOTG!79@2rDYmg+NIg%AczKyAKJB(wXV16l{c1is~Z{` z$hfUU{CkEAja|#7SbAG$8vQlY)k7IIG9sVm$vH6cBcR8Pt%K7LkF{@EzPEL+y znbo2zCazKBIJ_8nd5Eh0^@+2+5%bK*a$$5h8l!ClE6$D{r$g^Q$AjNkB-VqO0L~yqh@CA?(Pm; zB$kru94ogiHXBnVo05Xn(m-NfQd;Wn<`&IsFPn#Zt6X05v%i05k?CNW&Fa$9(r|&H zR7%{O&B~wdB2%ULu@c?J8}+F_-wyTU=_10nZ->F4pg^QN6B18;{rWXTp6*qDKR<)m z!;}4qkwW8#A)*loKXR&0O_=ii``>N>Dq=GFC96AqJ9t#5`mLc{PoJun+xVs|&b5ZM z3jb;jdh9MZ1rg&<%EMvY^C&_34mo+QYE!ygs+-`HC%MZV0s>aUj(Z8xcE<;Z#a>;6 zlFnR9NV(0b$v~FM$j^5Z&ii9fvAhT#Uv>W_aC-2fN-a|{J4Gsv48Ew}LYN@k)Fwl} z4by66YpYdgBqJ^^E+phW&6d2#*Ggu%J>PztQQZz!-gDP0*zUhZip?|kbl|4~M=PxM z0hl-LX~*`keUM+MEF()s$_fSLlnTPK(u-9b*lB4+sR>=SnjbSWGxw%S?eFXaI2kHH3?B;n?d&WeF`2X!nXh?;B<-vmoP$k7gMbCry(cz>kE-cx^T^d*kb75M0 zYh&f`=!=VsTX$6=>mKm%IR5@}6K3RS8u4Kociz_^#f%szK7_gtFo2YVBq}uYr};#c zWDIw+r4{7qz=y))W!7{|O#Ug0yUT-+m^t|QPuHu@#*0kDJUtuTac=)9a8gnl3F<^3!^G0BT3$@87)0=`jQ)B-K+GQh4e>uGU1322xJ&Sn_*vGAW=5 zjdGjF{9{<*bVMEBG4%EIA%{XjG1wc0dZnx!K7OKmJXM?H=kbZm^ND$7Mn*<_d^|jw zl9Cdg0s7|6n|zLY!6J{?Bp~0Kjg<+#e3?eX@_w>ra#EX$GTHbL5)zE}_R&<^#FhEY zU+y^Wf)ofVKU6(fFJ;!tv*qrdo~?9C{h3M=Rn8HOk@Lj!onEpR;cw#wD;9pltRD8! zv9XMVS2^GQi68ci{H#aJm9ecE6#@@>Wzc>zd%3Q?3sqY@A*{Js|x>?J3aVoXEH}!w=bWJB% zxo<$W81y)O$jf_N(8;e$_Lzz)pFB-BG}i`0CvIXEvU-<%mY-$$K%dNOjW&D-J#>Rw zSmzT?POXyn6x()yTH0J~R)-mse>_`faTnCFu&~h6n}uZsGb@3mQ)LPjVF}4l$Ry); z`U9cHIpM@gO)V1E<9CmX#klADVsGks(d6Onwuf$;E>Kq#>Up6sV*yXnEK^DH8s^1qhR^r1B4Yh85v_xvm$^H2)-Xbo(O&k3mb&5 zKX~|1;PCImltf<=&Kq~0e8i?2_T_2R%Lg`8{slOt8w9{P1DRalNup9o4w7?YOsMzcKl|zixfB zl+~n<+B-2EdG+em(ub#($=4~q%Ot&W!<%O`x3RHt!>gyf=Y8Av^5x42fCPX0EaO-T zx5BqWvhP^gD-DNc-cD5UZGW_PZf$9i7aJgabkrmxo0?R(rkZe`CUqDiM zhV!?w&cjSjMkcVbva;tD@FIijBy}Srj&&Z_-2&iLU^?clp$v7NxW)PTOC!Zh6pwg$ zqwVAMP7Zfh5x^)F_5~3UDlcFDhN?E0t=4#aS#SQ`Jg!_AqsH;c36pxsz49nH+;leM#=zN*AU(2kPdk5DK|Id z8=uA*D87UFHIOQu00OU9?rYlF9kfNT9_=nSzKs(=PSwmSt(W@JTf>-g0UyENpmxO! z^bj$sKLu=>TYVad*8^|^vdG$>ycg`PxVX3z1%{oF!?Y^wy31|X5kR%-6?V*=oW-w$ zsJ47WsJ)j4vPTkyeB@1a?7d6xXdfSJLi}^vZ#@e7xiogqAngPa384`7B@B(dL0VQ; zRsn&y*G0q>6ck(ZTBoNJZhCrpK!2#KRsru>qlesL`5bA9I>d{B9RQ<;hloA)ZFf>O z6r`o5mPU>@YCfb=)u+z769__#azI?)qEpl}FrcEOTpcZy^X!oBJg9p?=Zfp9diCnn z^VF`GtI227bszmIGG$J#z{zJRuTAB8(TFuybc{T0h(Ktw-WCRXJ1afgc_{Vi^JS*o z9}@Qa#!Z_1%GCXyV=nDLa!KWBTc)o#PeQqEQ$Ih=Hlfv{x7d!g;tO;nwy*3LS(O$@|noX_W_1Ssv$*T6Hqlx zB+kvvZEkJ~CcKA4379PQsYRk}52S{^P%3<{;8TvY%C-me^j{lifQ4qk$|fTt)6vm6 z4@29v=;M2Lwsm4s7NH_Q>W8D*g@y8Asp0#_z-s`q8@5N*N2_)X-?LFvRJ?LeuWdrC zp2x5MFTzcdT>aaGrt*@vXEemZv;d<~6b}~{jU)!J=<`ygN$B{FIc2u z98XfcdwY5`E9~+tW?nt~e$aNf1+x|v5h3*IRZDgJkGwo$j<-no1vw`Pt7zi$a`OF^ zWqC@U3_(yQenZFBySH!m)+fmC-fj810vU4f@5b!xY~|IK)>do^sLZKSaem(3!%(BX zzYYrLydxwN=d{&)KBZ83Vt8yD>g#DvNv&;d1)LArwnKu__l((5sQakbFQ3bQyZP|d zJzl$wD08IB%g@j6>({T|-rsWRW%bO>CrT|B0Q>`Hi9+AaNlcuEch@G1*8s~Nu-_p7 zSTX?@r~V8D-G;AT-rhZjgsz=iqs?826>gz>4!mSf;0^*TyS(pe&(@B;o{#Bl9aGT|9Ez5n+jW z`Aq=Nz6Ez50nvo{G%zp_3#He|e|nN8F>94D(-yyo>qb@9xk{g|d!iqmX`YmnBycc! zQG<~u{Het>XfS>Jl=8LeG`j%rpn{f{mDw!zQ1bJS_xFdC@_t5Rs{vz5k%*EEfAXpH zTC@d74Nwf=v1imUFJD4I zpw%Efk1POlkey(_t+`JO5Yf#oKM*up)?I6RqRVPrusibgTaS;ACFA%{j?vpt^XN34 zGwmc8EMpigci*Y14g=H%Y#NbiuFnzyv;q0;ML;g#a*u?BgplyNvY@nd7x1K>o*tXE z(Z#7Lit5WPK=JzETY!*&gB|+|ocP|L*4EY_BYs;4P&_#^Gqbjqv&)F7$|S?GwUPGF+G;m@nrI%`@j8z4yg~YA z?PFiI8fX2895t82j!|bUA24|g42;?0YHcp{Jk9!LXNBBD)spv9u-YOy-euV7UJtc@ zl`iCcrf1)|grAz?Qwi*@C4}yrW!c*9gOUl9MQBqc^m#J(I#+s)`}3VzQSrSecS9*6!@@XW&602;W_>A65?;|gyjhFyI#@_)WREZf#`4-<$%LSI!p2q@A76t7WR02tf&vnm z@084AOgnyO6Ji+T&iT-nCh(5 zyYULH`}b?=>nR^Rm1lrkIQWIjV+s56;bLVk>}~l zUoRd~Q}M}xue|JeHIF7;?!v)uylh-$&CkJodbazK$Vp57=33s&(h|4TU+E+TOlyQ<9VSv^P|K)u^~Y_$)C=JabLjjkI-iJc9gAH~w%!8s@+}L*T6K zx~6p_x;y768&@88)}|Bn_xU;};hhQ70~+}o1SQzSPN7dWV%SWr_RZ3YH5afYZT~L{ z{WXMN><&xo!Zw;Eo$cYnx{vywH!DFL3T^H?eb3fp;ZnHFckSuKe>D2*7*y{GGJI5i z1?Z~)O~AR-FKY~D1}LoA+1Yu8nHO&Q)B}hCRPV$;p?W`HU;}eplT)2^wTS$R`YJJs zPg~R7<1#_XX8+>3&Og!JEhCS}3O4Hz`iFr|uAo2}C~{4izmJAL&K#5sedE_Y^$LV@ zv$J|jUzXT&{Pu=%FXrt1$6u)Xj6Hg=WOeQ@tWQo#tE!615Hf_Qswpck+a%$qX&FVb zuqN5@CP*7CNiVVc`R}P-yXf~{-o(XE*rR$&2Jm|Ni;?m1aW+*iJz&f-Z!zKHe$SauGH8K>G5Z(}40wkP4m1NY?uAf1CWZ z_(n=+g9>7DycBL&|ia5IwwgVdDMF2K6mBv2$cFpz@C=eok=$s_H?05Sz4a(hPymD^J;F5(Q6WF>M` zJpW`AHwrbG_2DCGgfggQ@ZY*~ z=kN41(vv8J<0}6ss2Q}b!Sg~L!)=^BjAfNIHu-!&C=;;A^xT}jv9Zcgq8^Kilamtw zd4PXrH5m$8&Zv)vC>4HGpBIcThR^Y*R<#RAF>Rql45}i@J?HAq_wSc3Uj|U#+S8K{ zBnuLMVR1279wpYxp{1qvp2!W-@Do6=u@Mo(ckUROnYk##BTskD?!NX89s z?-v~%UBoIsKfjroS+V)V9(*=70@ecn!-j_|D=35@adF7*Qa=Fy@Q8>!`Rw8MRC2+b zwS$97!;mY+(s3$k{&?s#?h$jGwpc#dx9()DWT2)!u&fZ=@Q4x?_Iq1GXC_yB1y>k7{ zPpicqq1f(*#>UjtRA2zU_8B0ifo!Rl&nDOex@OY~8sHH8>=q#*8!+R-LN-Q5Gtg52 z;3^;r3QU?6M*SH8sxx0cxM|r3R35lcmhx@KDR||hpkG5S4hiXpI`6Q%WDR-?h|Hk5 zfdYe^?B2FSKNl1f1VOw|G5gPZdxEPtI3(;QkMO21f2`l`$OPhsggrO zL$4p<2Z{htDz=?)Rx(~O&VZ#?07HCq&brUVU>12Uz6dR6&mwSR&x6hHdF{An`Wq z<%16aab<63rw)_amGFXwhK7{es;RwwEMMOzHFcrTxEHL|Gmr%!hX8E{bzvREGnR;~ z_;~GKZrBiL@NR}dtPvFz1zZ?`5mBamwX><|4*((`A_nA@KiNA|Q%BHaAen62Rls2B zI81i_c7xCYQr9^emt-)_R?VB@;^GoGJ1!_L-ZzYMHh}MdECLiU2A%<+zPAPKF1FZP z`XV}y_IwgC5!Ge=M12|xPEJk=iUe4f@c6uBOn~wMCfeKE13nd>YLDVX$ibtDi5UYb zcjMmE`|BGZG{-%)cmu8_I5vsK4v+w0B%&9;CXd6spB-;^LZ`rl)3)!@7yaBw%JWyP zZ}_637=^NO2dDqqI#4!@PapN2ISM`=frqibx2HJzK;Y5Che=@asc?4kvI7yBzg89& zcAMgN2h!n(_hGi_W@O4^$!H^eeIYDtEUX`(7g$)x@V4~!%DE60*uBVO4E+Vn0~i<( zt4{h=tZUbRXjLx>zO&zA(BexhGO70<=lbB5n6^37$SSe1yIWLPNKZ|zy-pDNN7+Ql z8M|+-0sq^8Lxhov=z9wbl^@y{2wuPfvOp}Dg=7R10`NYp{9)#g6VUl}X+8~dAnDWh z&&H?Pl6ychV3Uv|WQPO&7WJ~Z;#6W{V&~~@_(HQLyI5OBE`MtW3e|Al+;NSGhi9a| zUT8Ja_)5V?wb;d$;-)Yw0sAdCm6lFk8!Ibt8i=>$9UQp->7?%N?*0fF-_lq)XHdjV z!M67HljGxAO5i&!o#m{;%xCghVscYpX+Y9GmzerT+9GuOacm%6YAPrsmuQ&wZ+YA% zBI0*BehU7`_@xMOsz8z1y!2Iqz4NDb`2U`Ih(tkN9;A%}plJ}&`S~o7DSW)VmoSj$ zGBPrvqTbUo@HV_j*Or%~!oy2!*T=yGf-vdh90G%OXXnmIsNFnm7e zQ0sohuwAIx$jHp3#P{lH0NsY{>HGVfoM9?AbHeYWo7o?1B>4LJMn#cq2fz8S2iAtA zTZ{+rRkJVaTrN0o_yK@1y&wM?blD#v}ZXU}RtKVN8zc(^V*-ye*O zzRBTLT-ku z1=rq2JI#NVLHiShgoTmwIh@O+&!0ax@!#6nDa_A*!-%bIGN@|z`ZabzWg3$97tDwZ zpRI@&moPq6By%gaYr9a1pL&Tr2n1uhp|+Od{{6}GzNbSsN{-OsTe=2AzLbyVi*G0| z=|?um{sMW9F;D~yx{lwLYolED`06q;2?r(+w&2{pw$OJnGt0@%H3ym?Egj(QF7)Qj zgI+L*s4STfz_Ch*l2YR5$|XPzCf+K${e}}Nfbnx{6&&6g7&L5+-9~*R3z)n3aSFJU_x`-WSl3 zq>baYZt3Zfr45PYvP=P`4pLHvu-8i@ab;x%9FroSt$w1lnVGtoO`v-!%F0c@)ipG- z_tq96S%C@(d=B#NkD{XfJd;5 z9qRXE=Rc+6&3SC?Im}7u(j+M5YPtmgYtx6Rhl@hNfDhbS-0{VW7l3pCPPqW00gokJ zp4Pttj3rniVDKJ*N(U|yK7b9g(Wl9;^7>lyskKb|>6tUD4(WMPQ&P6g9v#-#4t< zBJ3GTa!FtudY^lK3B$L`pvmF^5|}oAQ-nYI_nSOvYCRWw(fuatT3L3-HqqRwl$Z#y zPZ4pAiNi%?9 z`t(x2y4UNQHUBdJd*0aN+wW<-Wz`Se3CU4Q7#(vLQE7Ql`oDjFG!Lcg)2C1C72A@0 z%?;wW)STA{P$;wB8Fl`AClqQIKtHrxpq;7!80v&w?2k=taSD`bIPOso z+y?cL1=xU`CrUb(0>1n!apB2n#Y3y*`@_Q>eR(KU#TvEu^ftOgh5w`CfdV~hmA;JN zdfs1--+eNuJ0FYE&l}=qYD$B;Y`uaejCqlRlpCn{+5nLZO8h)|ss!WVe;2W#_GX#c zL_1mXPyB)(u%XTem1L}Y#x(_CG?iTX21iV?3N zq)#mCg!mqR~c56ZuYJ(|VoHkHC3JyIve-|H#-W*e0 zK&2s1xGw&95sDjsS#tIws_#X3^o2j?4~bz5GnnT2?*cF7&`brs zO8Y!Fx^BG_zW)`u<>OFpySlr(eR3F8Ut8%w#(O9EpzpWWOtlI=y8WAoAlA0_^zY3S zpI`}w^6sXG85gc=&#X{=Xl4dhmrY2f2MPuHH!P<}# zEkieuTp$!;Ry*8VeSsC&td}}1Mb3*C67W7f{zpw?YH0)#LELJSE`Rs7?R3p)nwwA9 zC5+lSPyg@_cP5-F#Kiaqyq1I)u1P4#+>j($!sMpskgdjZ_2o!MOC?t}7#?e1HATE@VN@ zlH1Hnp~4}(dvtUJp~b^fF3=H!dwn^3uRi2EtzK0wRc?4* zFY~RMZ7*E7ps0v}{^ZTW^OU=_bl*QOvT~ZE+o6p|5 zz1bu;WEa|E*bUdRva*mBfzuLgH)(7NfY#gd2=Vx1dX7D}o(|}xmRIFAKMiyK^~;ak zUza16$CjUt&aq=urC_10BFahWK}bHEcT5UZv2kz1=qSMGt){7@Pcb~k48jjWM3eI` z<17@t?e77fZgU3QKtU|~!<}>=p91MW%Do*9wn^XMfv6EXl>_u`Oa3V4RfC>vz@v*} zzSlG~sU!mFUM2s;9?aFSwYE?xF*=SE4#BvR zX|HvSjQ9Ou4&P4>4xHQV{$K9k5fIS%zuc8rT39$bu<%xt~rDtHke0i@O0~)WNyFM@*6_FjT9sN~NSO}~cocinJr#A`$Qx>~^jBh1D&*oP= z=mh~t?!;d$r`yo$OP(R1{3uR4JMTWLAeSBJ> z$I*%=!**TMi9ZhSjk)>4%JeZP0D?`Gj=14LhmkfM@|<8d7igWm|MX1T)Rbp23D?Of zl5RELk<%pc@V|n2{9YF_8IP4NugZ|am`kmcE%xsnrav1~%SOa}O)?F*ekkR}f>t|N z?5g}=v8RYtNT#ZaRI_SZ69@mltx9_7m3zsY>Dk%u2y&@tXh1oeoh?6gamgqeJUxG# z9_CBXu8$*|9-OjxeC!k<4y)k7nVKfaxjpSHh`Zu{Xf-U4Zus>p5iE7Ofz~PwfWwH^ z4#9a(^dD1tM#j+fmDyQ&b@{Bqx}$Y}F2{Lwr(L_~lj<#G>;!QP{O9JGzF}$`lPGbl=9U&(I;Qo(>fD|;k0oFx=loBOoz^Fi zE|7LW50Z>IWIpP+vWPT%`-YF^7x$;>t|VcXVR$Y#`yn!N1N_5-AZV+#v9zU=C5|o& z&g%1wyxLdUU)GoQ(6t9XGiT`dk2ib$=v!+T0aJ9fvWi0eG5R}oh7e91!1NX+q<=YEDR;83@3Do&S&oSD z=pVq5{=owue!ML%C~!n?C6|};P|SklztT^$`qt1qwa^u?RCr#JaipYVRk`V4EVOig z9*T{NTL)i?H-KCrHDRf?q2cF`A6;NO;>jv2rxnRu^G$r25#3ZWiktVdj z_N`kZ`@6d*i>VBxJSjLNBbj^t-y&_2hCTia4S_)Rga@``n6~WRGG2N$28q#>z{Q{Y z__QQXQ&R%4quF>xvT(C#ArWR_DaLo9$<9Yax;>K;*B5KiM=B)q z@YS{QsN;2$#hRKLs7b*gp!(*!xrudmH~uLG8;zM`?>R-+lyfH}CGdWTX#JbKHU*1H|nM0e0|iVlOJ! z+_TpFI*68mPL8dL(EMRC1YL)^-ON!Orw7fC<-&PX|27T`?8WH30N<+pxIikdt2ebH zORHFhHiTo-gk^TM_)jr7`}GYC*@rs5?#V)D$mt2osUv}{pvdo<3sIbB$MYXgfuXJS zKHmB56_n|s`~qvSFI`vp529#|bLn%HbDiz#u$+wM)XECTr{!Cz$0troCqJMI*)L`s z>&Wnvd5lMfu+-l21SbcF+1!5Sfz#<^@f8rgqbg;-Lb6PB5pbGs8#*=LgLcuM&4^oo zxA)d)g?fZ|!>Dy?iqnbH%(UbUa(?mUSoYOdMc1)$aeaJvHtSmY-2!53`JkO3sYtVE zEKOv&^*han`m{a{oj)51GBVXZne~+~Ui2xZ7U@x%;AF{UviC!xn4WL2DK3lj$gqn~ z;Y>$9P9#j=!fTgoOf0MlMoD)fGKoEr&ey?q8qY}1F~mSUjW5g+@lT?qr5(sonMl<4 zftJr7D?gEmPtnn%#=QdFRtVpXa8C27t+|Ov?yE6fZ0%Xe=@}WSWwYhx)oO`aT-JlL z!HqPA9nmp|&B0~Vqte&HR_?jRUY1r|fL|;qT z*zRX^Q|vl>UoeXAIJ5YK2c99)QA7Diz3O0sscM33OA)k2!C#a~m{={0n&Myl_!VVj zC;~+QWBncL8|k}AL*VriVq8xBOb)mI%q$Cs-Naf)C(tuh_(W<`t1}G$qZsV9s@VW< zdv_VxySCOmdi@2G^TKma)KOJU4fBdknZ-jIHbTw});vGbi7!5Uc?P@OdCH?%_60W| zdPH$2o`JETyjvHkn60|>A<3B_V_{5L*rd+{6LZQ9d*GAB7HmmuNG)MU}eTRap$5(j068jW_W01Bq}j2I$C|E0muFp_|sb$6SKu6egOsBzW$z5hbc%3 zP}`yX4^G&8P&d%vf&TOwzK(Kz7K$tV`19v7&8lE(BA;8Fs>EP)hFR$3}`!}tb({}r*dDW1XMQh;0?&QQCO^RA}TBq>}_bXQm4D<(t zDy?UcoyCG8CcX7oXOA!SD7&CY*~~`i#r=L>C54V7wA{E+!ZgQH6YbKBVqar++QZD# z@;plG15c$hqFWm&M>0%gebyTpv)!`GkMC65pgs;>%6Iz6O@W8?%I{vF)x*V_Q&-4= zZLfgq!DrsW*mw~js@X&pt3#V3BpfQ_dZ=qh%u&*w`&Y8dl?53bJr65L zDBOa>q&cV4&SJF&5{hEM}AVnt!SGczx-6~(~ z7eJ0a`-O{g8XJBmN`KLL(C$`r5%oUm|4&uu?|Tf26qU$UUvw8l5~OhA+}v7~a@Dib z(u{_)X#5-LKr|B*D|bHX_;ezJMl(&2bEZJoHai1)Wymrohfxg~vjKz*z>0{$Df|dc zuX^Wo?@mrkd6b<4_fzgBy?nXNR9vzzq9P^o(#n%Fy`ybyU(t*0Cr7yVeEeREmMsFz znEYE4JXCCskP9|Nur8b)%v4lYllwOYi6&cEJif8wFIr;v`aT}7)4`V^VXC0|`q-y- z_m`&Y-Jm0eh(S%75IEFggYS3fU&9x48Qqa{(R9fi$i|`oko|7BZ=|Ec?EfG&baLhn zhdzAe`@idBDlB=13cONNG6RtQfwW;gg9Y;{P1-FTv8VOpha* z^Jjx1q&=(f>N8u-dLJ>;R?=2=oyVKO7>WVUl0cY*Jok;JGI7DZnp!3|h9YK)a(o{Nj!iMb2yY9&tS zmemnk&5D4@2GU)*)ymWJ#quy zMDdW-vY~C!a=wF>j={%Ypnk>XWY}8ic9^@*ywn|mwclQL^=}C98IyTkcx_gU0D)q0 zIqvyGeE?z>3;e9FPabUs8f#}qa|HZz$kL#ysp% z`UjnT87;KXkW0lYW4u^_*4o3y;c?;hqcIum7;`>yXYy0Ob9dkfH0Q|S%%89NsaPLW zYre!n8@$%jj&F$bQs9<;_tu*ylizV|6rGi|!ewdL9?QCIwx!`EkJe11XD;Xy!b(US z?3p4kmU7RdI9>?r)8v&OFPGq)t3!Ifr7M2QJ?$=|+vSb0rzT;EQr$!HDGI#O0`47n z#BL=;62{?;N9N`0Xf?Z>L|uy!iy7L>Xe$`;QsNm3l|S6R*f-vU941Ew&vpy&$2Yn( zs#P0!T)TcIAUgRhD88IeLX-O=LB69lnr@px4rcs` z7&JFJc+Qlf$_+g{JV3+#FE%z_MmaHFZp%dV{IMHs;qs+0ukHtV6xwbs+`PCp?p%~{ z)PCUv^M-eTXmUR?y|m^10i8FPdlK<}v*!SN2Dm~514!N%F>n0H&&S8Q1mtDTk!57= z!e~k0ODqd(Yaq9mFS~cfo{ZHNSH7gB0cS));@wb2^6@ZixA=VEFyxVSrECw5vt zi>2Yey;ZK&>zR1nzNacF=I?}CgmTHM*MPpe|chLmn**30R0V zcX9o031!PqojCI=D^arSVjDBZhjS^`WmIU|sFtQ(4o~#I2lD0pO!91_a2pu6L7@&X zU2fsj+=0jKO&PyJFHP+f(g4o3x9H2Q)vZf0DiH<7y#{E3fwuqDPEEK|!hX)JRY^(7`ZK~FFvp;)LC?^z*r@w+ zVwz#+DNrM0Q2l2yS(NT?pq(OJLh>rlPQwcfJL((bY;0|p2bo5}C4J|}-k;Vtdsl{A znw?|M5ZoF_#m=Jd=AvhE$5q43eJZ=TqKF{++@M6^{td zbmWZJapuuYrJHJ)b~cr6$A^?+w%-=R$x;w&D&pqhM4U@f%o*{X8G{JLGLy)Y3sGwLXr|w{^zhM? zm}dOLBnWKFzxq!g1eLLkB^;PDkK^tHHk;X7uu6pmb##+gtA$BjkWpo(Tq@|n;WR%z z;;VsOqvs53<T=jgdw)2SFQU{n#dt}T&AeTCs6kH<%e<8h8Cn_pu75wB8Y)It5rtbo*5ll& zuqM$H+p$2umFV<}1*@Q+Zg{k3_U(R`QFg2FI|`n;0%MD4X=wpP|IZ%+^Glb~#vVU; zvavDs5U3za1U ztgNs80_`)Es&>8qp^f6Gf0VJh*k~#Ue8x`Bf}cP4HjP~tY(C61?187()8`F0hh|%S zLqj=2$WDv`xs}dGH|qV#>Df)*bS&Jia4P!oyM74Wp!FKx>!r&D*XNfGj+iN6_Gos$ zyD*<+zOw~afOhwO;2Odu7?!j+u4^aLnl|ku8!nU>8u(*>PHNMpJ;*m)>Mbd?F?)K> zcUn=eoob)4RxvwPjI^C2w?rcxx~)zz!B)MOv=sdzeVe;wKR>5iObmXna0|XASAM&T zg1y}E=GY0TN#`3`iU+rnA34N09aU8x$&sb@rBMS?!~Tu-^({x@0)tWs02 zNsQlOdNzZ608bD$SluDoGik1Z_KD1>Or;k~z$QbP9b z1qHonGV3fOV%}n-qo8%}e1nx9VZ2umHOVh8_b8__`UpC+bTuInk-eQm-x=W`AS)O5rGDC=J?c8~*3TvPj@(k!*w$3httLP8?3%r(tkAGknDYVKxUn{v8<$cx3p=X?dv~B4T{*E5L}YRCuOg2=SXz=Wzi|VKoKl8G0gff? zHE(TiPo`cvJ6%764MU1au{ylYhgQ&6(0f{4dE{rF;czVAk{{{!-Bm@gweVRWM*efR zd1 z>9EzK(4XpBotXaHB4%r)3$ybM&J#gFBh0$6)hz0W;jdL$BRNt5yCwy(%Ew@nbx=S+ ze78}o-Lx09t(1+3%F6aIRUdzgjn#zx1gUW@(C=QnvAbQ33_-&gbYS!w6cj zBQgY+gZ&?FcnJxhMaigU|J=~Mh`L&<%#XVLk1?u(L!Sf%=9RE8G`QQrZZc>`O&;>( zg1s=1$zW(O`=?v2Ot2YXQE?Y`zOg}!z%l63fvvFabyIkP$Iw`J!&4VF_d!?wF*KOK z{>q1LPhF1f5a@-6z?*P6T7_l^X#V=%&d?0qm&uA(b=dAIWvjB=ZA_{Z z7_dVZF1$b5?+g^bp@UxV#S7T9QwM{wBidZGIRfal<4|eY3{@_Q-Sm7b9&De4O-I}S zb-fdyB?R{W!$fSsth5;vfQtaXjm8{WBObo`8qTcik(;{?BUIN5;Wgjenrnq z0^L?jz|YWIbDwFs@A)kc=0eNlAdydfwj_}xHwTq?_!Iq>;OOXR_9vdThud(JFS?LzhJ0jjw^Y<*I!EkhKvdcDT2A3T>{iSKbu5Vg#`=`|pyHp1=x(7WZ2{1lfq<2>g}^ z7&COt9sZ!+d9Rm+X^BmTbZn7^``Mm3=Q;1W&$;)x_j%9DKjUl`d#zu8zu!+REd1Bn{8pf$ zLf-(-8gQYb!4tycN=K?~p8f{b3|OL4=6hLK9HFy?9SwnYJn-^Tp-nZ)yL4zbtAvf9 ztk5eVuKVRzy#4(lpZJ6eXr27U!&9&}Fi?!7V;Jv}wbcSj+_CH22M>zqXB+@QDMc6J z>aARgzPsyUj;{+WXJTWc8c}$X>I$7GuujRCIy{Mf#r{>*DiB`XjPU?fnwH>#+#_B$ z359PrH@EE^$L6b!)`Fr7*B4~F`Ub7m;t;+Y<=-y1$vLg4sFG!re`op<1mbT5;7veP z6H#3XmJ5xF^|?OcQ90edpBvu1N5aO4Yw{adY?uM=W9gr8tI(miz=P^AsOh?LWENtS zk(5gM*mxp7RWJShg+qHo;z*tik*K z!w2Z8giQ*+#vJ#6mhS3m7Q3BC|SK|w)G=zFS4mnaGTmF8gC%rCh&uw+5_?l%FI+y{6!v*uNhl;GhK zE^1K^g>+~@z%(90sWL@3soE?Yjv*(u%QEfQaTC34;Y$HG8I>-fW4$t{X^g?xpuUe^ zCvkp$zTbVeV6vEY`*vcE>O~G8hA$4G zR>RF7oCpjWMj2+AD-hxVYe!46^aQbjV8Kui?zJQ~Rcx240@SUE*=Hcqu@gfa@%=f= z>O_Q0^OYl4AsGJdl-Gf5+*BgG8eHUXSr-R5;Y^4q&zRS}C=ItQel`>n3>$<#ta$f< z;Pc=T`6*r|j_-x8DM>$b5St7n3O84mof2%o*&S&~6{#+xdefXddH>C^we*`f?qXtq z#&D--ShIpoH$z5cxJk633&!S&bzeWp*!t+s1_f%&)_%+#D{KlD}WQ9qT3Dt z2mF6YQ*U2i?W88sWHz5>V1~h{4k|MbCM^Kbj&DAPeG}Y3 za0?fgmZ<7p2nlU+IPq}U5bD2K>*;-k8V@JblRzR6qDSu10!(<6EvUl+o+gZ7YHk`m z_`tOx88Z@nb|TCw9g)b?)YR5p{E{*n8itscR01#P?}xiyGW3G%4TS`TJ0NP%Ht9Di z?@z`7N@~ymA-r{-5Rsl~2Qd)T$KZ;>p*0LQ04odhC;^GR7Jo2LpmJD&7#tI*r-go| zVpv9SP*7vBn+pnT4Z~p)w!&_4-I^E{Vbfw)3{g^3zEz7b92v3IXIQ@*{GCus-NT@a7}#A9mw9X?gcC5o>AL!=mF+1Xy4CVES;*68Wz z?A^l_{QV*#*s~0-i?V_rO<-O5Dem995rlGh5RGDfK+Vs(Yu7;Gw$G`Un&7BMi(hX; z++>^64q969Qd7sLGUyawW7Q59DXx@W2V4FbB!-;5B7 zL>-(PA_77}1|!P$SBu_|tC4-WcgKzZY!1xK4&VeLEMU%*-{|qKwzhUawY7C*bW_0J zG4)pZ2YrZ89!D7nG7no`!P!FfoI*IVf8RcM(D3PCvz^0Jo7F}cgOC7Oyt9joD#hnX zU?7}jAg*qqQtrpB2@5TEcXv&m2Fon|U<8!ySB~tJcVEtGF{x~LuzX#L{ShE{Wk&58 ztdb=lGO-NH9k*(wLUF8^;WWTkKXD&`qsK&sP-sR*Mnspbl5Jv4HW2E#hT(|7D|S|2 zV%}jl0`+&PTB56Px{Pggb(Q|XOH2W*dk12?4S^3jHc{g_$-&_Vj)hpC^+`?q+?PYI z!^mkH2v&dqb(6%79MNR0D?yaGTALIjF*-hukFAC?tuPRfJIB^7-uv-fwWhDRr9}eF zo|tt!0s@r_ecc^P8k?s_l2Tdy${_2(m~Cej{XCHVyvY*#sNzdv7!mY^3o)gare|g{ z3{t3p5I%wLfR?6ah@k!vgb^yi{CQ(TkmYJ=X+Z=ZS7(l4f8)Ng2#+i!kpU@jG#rK- zk%1ZB%V&??C3rLuyS;z^9-PsyIDcT7#;qCx7l&@dYxPXOT9|k@S?VM;)!#@xz)SF& z!wc?I&D%d7KGaLQa2zfZ9{28fOBtVDq)W=AMspY^9znq~&a4a!h-f?E)OGA=9UM^> z5!0zE-$t#bUdS1OBAmQjDGM;3Ql(7p+Ik8_9&BRV_rJp8hC(l;$*#@Igop`&?cySW zfMx8E*r-E^!4B1RomjZ#UAmC=B1vEtHsTe6L}&pTg*ba@#|c5Y14A6mMQ}h16SFb_ zlXWQNeod6@C`NqgbZQHvZYr6_W0m>pwP%*EbMx>(zM;Hs3i$!rf>28j{9c^Va1IGp zxr)_p)%XgV>;k$_DLh!5h|}PWy~4@BFx9A~4*#eAVUNnWrdVah;UnFMA%ppK>MgTS zCV~A>o@*xl*Usd&6g&M;h;g3Z7qHK`?@#_5@^XvXU|rb6XgLm^NgU8u(LyLG;mLI6$ci~ zD)@~rP(9hOf)Ua?7s+8|*yN~2f5!5*mo|&!faXZX}mFa&$5`*bM_ zBC^re%=qu{V$nfBW1a;=Ao56ZJys*S7t-*y@gF#sF%=6s?1&50pKffD235n-Jb}YF zoZ5?AawyH-U?JxX(GSlqBC5b1q{`@5yteAX$Kno|J5(NN?c+Fu=%63kyqSRn`#dgj z@#dZzQ1Fc4?9p77zS;Yc#nkm;x*kBg73@-Y3WK(cYO_F|mj@3VXiU_BX;>10qc+p5 z`U%g+9BimqW8UP2_C&q(UN{K;mLi3(#Vk_ZVaj^2d34sfs8eda)sbhgAv_GVNrxjX zLd8%H_xTfD?@sRD$uj) zK~rKyC+uSH42Az&wcO0-{nT)@&Rmq$4>E8&lePidB!>DW^mj9)IVVUY%n#%#j5~M6 zvMov4ehY#f8XKFy-X_@75Wx;Um6tyt8^n%|V>6?D96bt+5Ij+~Y~5N>UJkRKC*KFE zFkG~GT-F#}h5fUb2Eva3QU^B3=%zb23mrNpVPj42A3_u# zc)K8qR7k0jA#L_k)WY+fH+5@rs-!?cHmFZQnqY#@aG>k(Hz7vjsWyg{g8`a=RSGFt zl>4HEMKv0gqL+RNhY1+Y)Xn?qXGibv4V!4pQ##TH_KupNkcaJHWZYkUhw7>j#W$8WOw2AKixk#N zdux^{hC~X-LcLvRbf_xIr7FtG&tx25tHfDikN>b;-snph%KAo`W`3d-*nNSfh`~b) z5z5!`9|(8Uk<3F$)1Vu&3!K@~{S{I?R#cw4s zmx;>|4Iqqxg~n^ldgM{iNWyszc2R7MjF-j3n=I{dp2wxF!Zr+~`!?%rBx`(Hf3DxS z5oQcrM~xZl(KrTeY$|ST?!2lBT9zu>9GzW_6fmjeYCoGUFWn z0|!m7Ym~gD2-4(9yUr6g;#7i-YK9zIkjuki!dsq?6IG_%TSJUVIs!MeOSzF7F!^jE z<{G(Q*5x7yJ2tl+>RxUirv(}nb)1+8y#OoSnvkKP$>l`CszE&ru=2E;p`1`y#V4pc z^?Lq<4RRj^T_n#|tqcsxVZ4d-#8zD7f1ccS9|_?Q2m ze`pi$8mDh9zjR*nZv zjwT(w5}Rj8i_h=PGU$89jH_sJuVfiinFZF}Y2jigoZaqjGMqXzK+ARJPawO= zhyV-7gRMU=?2p$@#Ii+y78SY4w%;52*?S5LA6Nd{I*Qu=|8{WjI|ZA@t7K|_beCv8 zvEAdh$DyDoSw{0m5Pw{W$$7EdjB8E1%6tpB$=tZ+?e$P$lbez!6=FJTYg^h44V%e) zsyu;GNB0ZJl4CUZM;j9c-ZB3iY+e^!dM+`Dc>Y|hGJpR-WpK&s_VFKW6Pw%ysly-R zOFpB#i^MQZq1}?wb3@W5uJdNjzMt*CT6N*`_w8Ro?L{j12x6tkWuv220JTFjU>#Wy z9c`;W_adTxc*R;gyddkZo2^Ynw=Tvtn%v4w=3BOJX) zKV`}5CpW`7#>7&{`N<3=7gi)V(YJF-FRxTIb-6C-n42q2kJd!zXjEjBs=sFBDc)0X zvq4p)Rwb@%b4%g=;yYzS=FoWOZv)+vLy)A!Kp;#qhK&r}lb z!6u7inF}={M)aK0?3zihMfaatwCi3euN!Z3NIox-Y~23Hwoq;YiG9s=uf{|+%_JLb z?cYO>dy4W?&EoD)+lu*^FKBp_)%rUhmXgYQoHJ}~(^m$eu5>efis`bKxQ#EY3iSe~ z9zI|dB_`_QmQHh4pH-J&`Y!z9g_ja7W$yW7HytHtaA?*TkpI5kYp@n>8=|Zp4XeP0 zm&T|YGUXR9S`N=k929@m^$HIpaNae#p!d(S@{XfzNyk?d$@xFp-V9$Gn!zZ@Kb5^U z)qT<4QUdkP+@OzxwT8RVtZVv7RxO{W3C6N5Tp>bB!j1;Tgvy1oNBy2Gr-h8>J*&-p z{8knc;vcAT&Bui*+Wyf#Vl?#S-G>MC92}0>X(BT94Rk9@bSMoae*eBW%hr-=3wd(O z;!{r49=*pD1N>OG!3=LBtZdIZ+b{iyM8+&)m&sRN&UmmeGB8kU*{gWob(%ogy4Q8~ z{Q|8|@x0w6=Th@(F088yJ~R8gWC}wU@Y*6zhm%5tI^s@*&!>IwSoXXZ@!GZrI#edk z5|;(XF3D@5f(tXFHsk{L)rDoyJJq7tQ|4OWfuvsX`(+b0nF|UfTNuk$7Ogs-wv;U{ zEZC2;@-;0^6zr-c_jo^>va9lS5nuWWfiNNv|?VA{V`XQ!YwzTwX@S~xu8*ZYp|RZZ$tL?fyXD-XI?^v!dijk?-!>O9-ngWa>FZkQk^LB7RX_HOV?N=Q6Q3A zSaEcjo!A3a;8_OeGA?;bCKG?`%0>+fl;rG zmjW3`FYC_y;jW&by>b1cQGN{iQWZEIWNz@MDC=oaNo>}WB zx_cXZG+9XVi}Q$WeM;@do$K~boDy#{pOG=_&ECS*XgRyQA$nnHiI(fd%Y*Vq?X-Ks z>FDXBO1d*Uj?Va4D=-X5 zl<4hm7lyR>9N-dND0Xw%W%6vDWtM8OL4?bSS@pgMf5U9oE9AA_*@QrXo|OrenOMI! z*V~;xc*t)h}5%2OJmkGX7A+g(!^blq?D(bb7G9vfW^aN83vuZO3 zTQi5Yw$>m#YhHOntoD~{VSo|0=96t$NRsTOBPRf&mbe=))_E~adorN@AY_**X4O2hDJeeJrwFKHuc-NjEs9f`=GY%&3KL9TI)hXXh)bf$8;6snmyMWP~6G9#G1&(V!rcV>mo4H+2)AZZdzvxa{kjOSq{_u@9hZZlXQ|owBpa+Okz7F&YyCjcI9HbPgHu} z@e`@V;?7MYyF50Yg4q&g^}40)I5N@i;HIEwW8n`5>xGcc#9WAZ4f;cb$KCn)HxWEb-H1 zCn_GO;LD0RJ0BkTV`vkO*N^yxdacGW`4RzmOg>9^C0uvT{j0C@}CAjzEO4 zYSD*vQd@vIeDw?GQGX=<>`a$?L804{gJo75c<7yld?_e?rLIhFdRMA_g^{C>4=tRT zL?0G7l*&ZQeb?|nV&J+weGv636ker4Jh@d{oCb!b4S7{YYz_4{RmQTCCZxQ%xkA|O zA?i71vG5Hb(bRGYkJ?j6zx=Di`%rLL8qbK^AjZnhUTAgA_2kKua}&n0-zXqt$S>V? zPdK$)A{JtsrKhQ-1-uOjh`7^CkSA?10|{*NLzdk%78`~id_W!9X&|@-_K3HJ>j%{3 zBZ-y+$6hGk`FL+3T6I*35SSYYPGS);si>-AA}N(T6=(H3sCFPqdUgn!-yz*pZ|gTM zIj=PnQ9+PNHJ#=7@IF5bEyB_}NgO{9JUm0DIiD`g<}Oij>G;VyHrJ~fuH7>%9%5Z7iYt! z89TRa-RkQ*2G^}23$6I@Gdvb60sEtC%G1w8NDjaK-2=tT$2MvE@59x5l*NZRLNY)U zu6VJrTBd>q8cO$~OS&6Sf2vC@3<(Pxv3UTLXWyx1t`nO=)jqP2czyQ}j^vcSnWzcU zLod1yA?_4{SZX%Q^mCplou4N==_VQG)RcYQZNa{>a83ku1T6zOmmj_XwZ3G`Uo6>CK6}}5)$IC~#hc^mWxm_|_ZM$kieEoCa2`>Q&S(g#8ehLt zHeN$JUuh>!uC9z%={JOn`Ft6jg~S{6eV5s+^Op#T>yP&pGhCYJ@JCk5#?YPGWT|CK z-buoojXr@{QjvWl$oZ4KkOiPMQiP^YK zllh;$I-RZFV zddKHy6Vbky2;S;*u74c7OwGv@wmezUTkYz9x5`&8V?hmx2fRgD7CB#ioQTC{f{TCq zr(jy46=jsGWKX*a%Pgm<(@x6Nui$kt(^AuSd>(Nmyo#goXY3s_w#RqR&+9G_RT}>Y z$zyyWL4QDY7nsHMu^ou!9^H`C=Fd4H<5&;sguK@yOKC^q8-ZwrzzzHkf$sfGM_kU)@#Aj+@9zXxttTz@ya%wKe(E`v}^jU@= zvk%!upicM~YW}xot`ev6vJN#tyjR01dxPiUzSoM#D=gq@v^TCRcKiz=I6Cw-HG=8c@avW- zS`DxJRvU|7TFzdvaHOZIDDF%J|IjP8UphibE{0%=c{dLIXT$hc*tOZL@h-i@NNPFa z%JVl`#n)^7OHErdR$nf)vQTdjrQ%ZdX#5gs`h2$OQiBK28J-4I{gAv}6J-_9No+*D z^L8u!ZOm!~N7ldQ^XD(aw}GmO{X#>k}ijiO9%cIC=u zE&{2AT7)E6B|euN$~_(qyg}(4dR3M4OrRAgojD_D_L4*3{P62-?rw&g&ra5j^fXl2 zI;I_rp1T8s4E7x)Uk=%Pl)8b&RHldz|TF;g}g0x#OU&-n;M7)iIk zed&R1=vUanPHPo!+EH14;m}xDNeTRfNe_{$vy{B}RH2hEaGKAw!R5_h@To^G5_{>F zx?0ts4TLk7Bub0Gq~K>?IQ5=3&os**1&X`+%kqT0e36NWEJV>~m6g-=1W`cVNzzW% zs~aezO*FalQdrEUV}7y_G4kDd@HqPW`Y50G`zxu#sjR23?^f@}KlTY22!^05P~FCJ z{{ZIz-2%s0;7R;yFF8&MDkJpyoQ78 zBwX}>5&=yVgX{jKY`xBUWBor}btoL!mkr}Sg&iz2H!=98RB+LK?(k`q-#Ha-;sqmS z04{*Ib^#ii>ms^P!-OT;{@;F6aE9HaJLG8OS@=F zkuVMeL8NkEV1%Cm3u<4r?|J?;mq}(s_bsFFKK4$23h!0;mc2HXiBy|I+m}(9M~NKN z6ycxE`vd-@aNt5-RY?WO;Oa^<*#3*s~H z2IY9WU}B;|a3CqnzD3O^bMJENv4ZHq=@wBDq1&;mSHn6=1DqFZZKNb6=gE#;XVuj~ zZ0^Tw24tOuQx)ta)zpm}Hpo({j@I`f&g_3JiN}D;55O4QnCf-^*DzvjY?m%Fu|2dK zWfZ3G;|_oeZr51x-X}zjhp;UGzvx31|2_jkbs@6~kz<#rAXAuwOK16SV6AikiUkn| z6N!qPg0Mrc!rwuAYK5@3oOw^y$CNYVZ=)^0OBCi zfr+%~Vlj{Zy+oGISE|0PpbTzOf(#eM-&^oF14C&m7Xsms$VlTWdJ@mh0N6m}gq*4^ zYmKMq{{8zvdPDUE{7L(CK}xfNYqU2v+-P5Tic#JS`ogR_Y!@>#&&osb zW5+rc66?%6&<2V{RJ7OnO`9A?;KeED4knAb+;FeRBr|o=83UsVqTI|2E8T$o|FJ1t zXh33M7BLws{PYMEu)Dvk+nQ>RhN0Acn$xXOie|0pyyL)J&+a6-SMDz!o zj-ae^d!9`G{P{C{->V{|GQpih}az0PR z@#^xZVP*YIqSqu5N6#m6&=b65NTe9!>xkE`z}jg2`t`>!D^7TAyIE{0%G#2w-{%^( z<|Rd?Ng(P5eu}c*K;bj1fF@eo#<-57Ik}g45N-|OEh5NciqS2YIjVdP_`3S*qO@FR zTgqj3y#UV(n6N|V3h-%FRvUtar2R^ROT9wmz$H3%$uD^60Qw3<4k{Xf-JQ}kQHVbQ zdjVFCRK#7?T!QIOqc|CAkYKp$Nnon@tF^RG<5y)FjrxTsYyPPvliTNx*-%U6kAMG( zA|wsy?iz3#^|eY&%Puw5*Uzk58KX^@)e^#s`)CNNmpHEdO+7Ahrbw}hf3+g)ciXPo zVtht3qus`5x})vn(kjo@mp|U8cC$q;Zs29hYAG&JZptPS9H?&weC&B-el{hsDKJr2 z*v6E4RL7hQ`T_bPw#+5Je*-({%NDkE;%s2D|LV{=b7gVFKyl{CZKv7hMs?Bam z66{x-HqqQk)GKP;m9295M&#XmF8c%-vOa+w9Hb8C$0q?4LT8m>4H4%yXaOEQMQd?X)yxR}!}yPFX{KeOHJHBM|aDj&O~ zTt;VqvC-ihPj~ex-DmtR=)ovIJP<23<-BPhXZG==h~uSU10FgdZLI}wKF#3u9Z$b( zq2Vqi|H8GsY(~mT{K;Q8)C;+Hj_R7VyR9Ov*u7(F;#X`0kjA*fC>^%QT{nw>X9*+p@F?vNeID0{aie+%rgFei7t;f_m99<5z3lOeq=i4fV|h zcri%;5`ITnt9I*}nyQM7{-@&(;lwpV>Xnb9fs);^SaDqeP*$7W?er7-(~t{(_cy4k z@H_}ZqfjIap)3k}rdl1BNI+R4|X3-|sP2fa-q diff --git a/frontend/src/queries/nodes/DataNode/dataNodeLogic.ts b/frontend/src/queries/nodes/DataNode/dataNodeLogic.ts index 988b5a1639f0b..f1bbaa4516c55 100644 --- a/frontend/src/queries/nodes/DataNode/dataNodeLogic.ts +++ b/frontend/src/queries/nodes/DataNode/dataNodeLogic.ts @@ -191,6 +191,10 @@ export const dataNodeLogic = kea([ if (cache.localResults[stringifiedQuery] && !refresh) { return cache.localResults[stringifiedQuery] } + + if (!query.query) { + return null + } } if (!values.currentTeamId) { @@ -337,6 +341,12 @@ export const dataNodeLogic = kea([ ], })), reducers(({ props }) => ({ + isRefresh: [ + false, + { + loadData: (_, { refresh }) => !!refresh, + }, + ], dataLoading: [ false, { @@ -474,8 +484,12 @@ export const dataNodeLogic = kea([ (variablesOverride) => !!variablesOverride, ], isShowingCachedResults: [ - () => [(_, props) => props.cachedResults ?? null, (_, props) => props.query], - (cachedResults: AnyResponseType | null, query: DataNode): boolean => { + (s) => [(_, props) => props.cachedResults ?? null, (_, props) => props.query, s.isRefresh], + (cachedResults: AnyResponseType | null, query: DataNode, isRefresh): boolean => { + if (isRefresh) { + return false + } + return ( !!cachedResults || (cache.localResults && 'query' in query && JSON.stringify(query.query) in cache.localResults) diff --git a/frontend/src/scenes/data-warehouse/editor/OutputPane.tsx b/frontend/src/scenes/data-warehouse/editor/OutputPane.tsx index 395d32f47c1e4..f3ac96bb2d949 100644 --- a/frontend/src/scenes/data-warehouse/editor/OutputPane.tsx +++ b/frontend/src/scenes/data-warehouse/editor/OutputPane.tsx @@ -1,7 +1,7 @@ import 'react-data-grid/lib/styles.css' import { IconGear } from '@posthog/icons' -import { LemonButton, LemonTabs, Spinner } from '@posthog/lemon-ui' +import { LemonButton, LemonTabs } from '@posthog/lemon-ui' import clsx from 'clsx' import { useActions, useValues } from 'kea' import { AnimationType } from 'lib/animations/animations' @@ -9,12 +9,13 @@ import { Animation } from 'lib/components/Animation/Animation' import { ExportButton } from 'lib/components/ExportButton/ExportButton' import { useMemo } from 'react' import DataGrid from 'react-data-grid' -import { InsightErrorState } from 'scenes/insights/EmptyStates' +import { InsightErrorState, StatelessInsightLoadingState } from 'scenes/insights/EmptyStates' import { HogQLBoldNumber } from 'scenes/insights/views/BoldNumber/BoldNumber' import { KeyboardShortcut } from '~/layout/navigation-3000/components/KeyboardShortcut' import { themeLogic } from '~/layout/navigation-3000/themeLogic' import { dataNodeLogic } from '~/queries/nodes/DataNode/dataNodeLogic' +import { ElapsedTime } from '~/queries/nodes/DataNode/ElapsedTime' import { LineGraph } from '~/queries/nodes/DataVisualization/Components/Charts/LineGraph' import { SideBar } from '~/queries/nodes/DataVisualization/Components/SideBar' import { Table } from '~/queries/nodes/DataVisualization/Components/Table' @@ -39,12 +40,12 @@ export function OutputPane(): JSX.Element { const { editingView, sourceQuery, exportContext, isValidView, error } = useValues(multitabEditorLogic) const { saveAsInsight, saveAsView, setSourceQuery, runQuery } = useActions(multitabEditorLogic) const { isDarkModeOn } = useValues(themeLogic) - const { response, responseLoading, responseError } = useValues(dataNodeLogic) + const { response, responseLoading, responseError, queryId, pollResponse } = useValues(dataNodeLogic) const { dataWarehouseSavedQueriesLoading } = useValues(dataWarehouseViewsLogic) const { updateDataWarehouseSavedQuery } = useActions(dataWarehouseViewsLogic) const { visualizationType, queryCancelled } = useValues(dataVisualizationLogic) - const vizKey = `SQLEditorScene` + const vizKey = useMemo(() => `SQLEditorScene`, []) const columns = useMemo(() => { return ( @@ -69,70 +70,6 @@ export function OutputPane(): JSX.Element { }) }, [response]) - const ErrorState = useMemo((): JSX.Element | null => { - return ( -
- -
- ) - }, [responseError, sourceQuery, queryCancelled, response]) - - const Content = (): JSX.Element | null => { - if (activeTab === OutputTab.Results) { - if (responseError) { - return ErrorState - } - - return responseLoading ? ( - - ) : !response ? ( - Query results will appear here - ) : ( -
- -
- ) - } - - if (activeTab === OutputTab.Visualization) { - if (responseError) { - return ErrorState - } - - return !response ? ( - Query be results will be visualized here - ) : ( -
- -
- ) - } - - return null - } - return (
{variablesForInsight.length > 0 && ( @@ -215,7 +152,26 @@ export function OutputPane(): JSX.Element {
- + +
+
+
) @@ -303,3 +259,97 @@ function InternalDataTableVisualization( ) } + +const ErrorState = ({ responseError, sourceQuery, queryCancelled, response }: any): JSX.Element | null => { + return ( +
+ +
+ ) +} + +const Content = ({ + activeTab, + responseError, + responseLoading, + response, + sourceQuery, + queryCancelled, + columns, + rows, + isDarkModeOn, + vizKey, + setSourceQuery, + exportContext, + saveAsInsight, + queryId, + pollResponse, +}: any): JSX.Element | null => { + if (activeTab === OutputTab.Results) { + if (responseError) { + return ( + + ) + } + + return responseLoading ? ( + + ) : !response ? ( + Query results will appear here + ) : ( +
+ +
+ ) + } + + if (activeTab === OutputTab.Visualization) { + if (responseError) { + return ( + + ) + } + + return !response ? ( + Query be results will be visualized here + ) : ( +
+ +
+ ) + } + + return null +} diff --git a/frontend/src/scenes/data-warehouse/editor/QueryTabs.tsx b/frontend/src/scenes/data-warehouse/editor/QueryTabs.tsx index 35a41c0f402b7..85c9d80ef6270 100644 --- a/frontend/src/scenes/data-warehouse/editor/QueryTabs.tsx +++ b/frontend/src/scenes/data-warehouse/editor/QueryTabs.tsx @@ -14,7 +14,7 @@ interface QueryTabsProps { export function QueryTabs({ models, onClear, onClick, onAdd, activeModelUri }: QueryTabsProps): JSX.Element { return ( -
+
{models.map((model: QueryTab) => ( - +
+
+ +
{editingView && (
Editing view "{editingView.name}" @@ -85,16 +86,13 @@ export function QueryWindow(): JSX.Element { ) } -function InternalQueryWindow(): JSX.Element { +function InternalQueryWindow(): JSX.Element | null { const { cacheLoading, sourceQuery, queryInput } = useValues(multitabEditorLogic) const { setSourceQuery } = useActions(multitabEditorLogic) + // NOTE: hacky way to avoid flicker loading if (cacheLoading) { - return ( -
- -
- ) + return null } const dataVisualizationLogicProps: DataVisualizationLogicProps = { diff --git a/frontend/src/scenes/data-warehouse/editor/multitabEditorLogic.tsx b/frontend/src/scenes/data-warehouse/editor/multitabEditorLogic.tsx index e8960dfa8d81f..740ea33aced83 100644 --- a/frontend/src/scenes/data-warehouse/editor/multitabEditorLogic.tsx +++ b/frontend/src/scenes/data-warehouse/editor/multitabEditorLogic.tsx @@ -54,7 +54,7 @@ export const multitabEditorLogic = kea([ actions({ setQueryInput: (queryInput: string) => ({ queryInput }), updateState: true, - runQuery: (queryOverride?: string) => ({ queryOverride }), + runQuery: (queryOverride?: string, switchTab?: boolean) => ({ queryOverride, switchTab }), setActiveQuery: (query: string) => ({ query }), setTabs: (tabs: QueryTab[]) => ({ tabs }), addTab: (tab: QueryTab) => ({ tab }), @@ -311,7 +311,7 @@ export const multitabEditorLogic = kea([ }) localStorage.setItem(editorModelsStateKey(props.key), JSON.stringify(queries)) }, - runQuery: ({ queryOverride }) => { + runQuery: ({ queryOverride, switchTab }) => { const query = queryOverride || values.queryInput actions.setSourceQuery({ @@ -328,7 +328,7 @@ export const multitabEditorLogic = kea([ query, }, autoLoad: false, - }).actions.loadData(true) + }).actions.loadData(!switchTab) }, saveAsView: async () => { LemonDialog.openForm({ @@ -418,7 +418,7 @@ export const multitabEditorLogic = kea([ const _model = props.monaco.editor.getModel(activeModelUri.uri) const val = _model?.getValue() actions.setQueryInput(val ?? '') - actions.runQuery() + actions.runQuery(undefined, true) } }, })), diff --git a/frontend/src/scenes/insights/EmptyStates/EmptyStates.tsx b/frontend/src/scenes/insights/EmptyStates/EmptyStates.tsx index 06f0928dc54f3..da29f417bf1f3 100644 --- a/frontend/src/scenes/insights/EmptyStates/EmptyStates.tsx +++ b/frontend/src/scenes/insights/EmptyStates/EmptyStates.tsx @@ -31,7 +31,7 @@ import { urls } from 'scenes/urls' import { actionsAndEventsToSeries } from '~/queries/nodes/InsightQuery/utils/filtersToQueryNode' import { seriesToActionsAndEvents } from '~/queries/nodes/InsightQuery/utils/queryNodeToFilter' -import { FunnelsQuery, Node } from '~/queries/schema' +import { FunnelsQuery, Node, QueryStatus } from '~/queries/schema' import { FilterType, InsightLogicProps, SavedInsightsTabs } from '~/types' import { samplingFilterLogic } from '../EditorFilters/samplingFilterLogic' @@ -82,25 +82,22 @@ function humanFileSize(size: number): string { return (+(size / Math.pow(1024, i))).toFixed(2) + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i] } -export function InsightLoadingState({ +export function StatelessInsightLoadingState({ queryId, - insightProps, + pollResponse, + suggestion, }: { queryId?: string | null - insightProps: InsightLogicProps + pollResponse?: Record | null + suggestion?: JSX.Element }): JSX.Element { - const { suggestedSamplingPercentage, samplingPercentage } = useValues(samplingFilterLogic(insightProps)) - const { insightPollResponse } = useValues(insightDataLogic(insightProps)) - - const { currentTeam } = useValues(teamLogic) - const [rowsRead, setRowsRead] = useState(0) const [bytesRead, setBytesRead] = useState(0) const [secondsElapsed, setSecondsElapsed] = useState(0) useEffect(() => { - const status = insightPollResponse?.status?.query_progress - const previousStatus = insightPollResponse?.previousStatus?.query_progress + const status = pollResponse?.status?.query_progress + const previousStatus = pollResponse?.previousStatus?.query_progress setRowsRead(previousStatus?.rows_read || 0) setBytesRead(previousStatus?.bytes_read || 0) const interval = setInterval(() => { @@ -113,21 +110,21 @@ export function InsightLoadingState({ return Math.min(bytesRead + diff / 30, status?.bytes_read || 0) }) setSecondsElapsed(() => { - return dayjs().diff(dayjs(insightPollResponse?.status?.start_time), 'milliseconds') + return dayjs().diff(dayjs(pollResponse?.status?.start_time), 'milliseconds') }) }, 100) return () => clearInterval(interval) - }, [insightPollResponse]) + }, [pollResponse]) + const bytesPerSecond = (bytesRead / (secondsElapsed || 1)) * 1000 - const estimatedRows = insightPollResponse?.status?.query_progress?.estimated_rows_total + const estimatedRows = pollResponse?.status?.query_progress?.estimated_rows_total const cpuUtilization = - (insightPollResponse?.status?.query_progress?.active_cpu_time || 0) / - (insightPollResponse?.status?.query_progress?.time_elapsed || 1) / + (pollResponse?.status?.query_progress?.active_cpu_time || 0) / + (pollResponse?.status?.query_progress?.time_elapsed || 1) / 10000 - currentTeam?.modifiers?.personsOnEventsMode ?? currentTeam?.default_modifiers?.personsOnEventsMode ?? 'disabled' return (
@@ -148,37 +145,14 @@ export function InsightLoadingState({ )}

-
- {currentTeam?.modifiers?.personsOnEventsMode === 'person_id_override_properties_joined' ? ( - <> - -

- You can speed this query up by changing the{' '} - person properties mode setting. -

- - ) : ( - <> - -

- {suggestedSamplingPercentage && !samplingPercentage ? ( - - Need to speed things up? Try reducing the date range, removing breakdowns, or - turning on . - - ) : suggestedSamplingPercentage && samplingPercentage ? ( - <> - Still waiting around? You must have lots of data! Kick it up a notch with{' '} - . Or try reducing the date range and - removing breakdowns. - - ) : ( - <>Need to speed things up? Try reducing the date range or removing breakdowns. - )} -

- - )} -
+ {suggestion ? ( + suggestion + ) : ( +
+ +

Need to speed things up? Try reducing the date range.

+
+ )} {queryId ? (
Query ID: {queryId} @@ -189,6 +163,66 @@ export function InsightLoadingState({ ) } +export function InsightLoadingState({ + queryId, + insightProps, +}: { + queryId?: string | null + insightProps: InsightLogicProps +}): JSX.Element { + const { suggestedSamplingPercentage, samplingPercentage } = useValues(samplingFilterLogic(insightProps)) + const { insightPollResponse } = useValues(insightDataLogic(insightProps)) + const { currentTeam } = useValues(teamLogic) + + const personsOnEventsMode = + currentTeam?.modifiers?.personsOnEventsMode ?? currentTeam?.default_modifiers?.personsOnEventsMode ?? 'disabled' + + return ( +
+ + {personsOnEventsMode === 'person_id_override_properties_joined' ? ( + <> + +

+ You can speed this query up by changing the{' '} + person properties mode{' '} + setting. +

+ + ) : ( + <> + +

+ {suggestedSamplingPercentage && !samplingPercentage ? ( + + Need to speed things up? Try reducing the date range, removing breakdowns, + or turning on . + + ) : suggestedSamplingPercentage && samplingPercentage ? ( + <> + Still waiting around? You must have lots of data! Kick it up a notch with{' '} + . Or try reducing the date range + and removing breakdowns. + + ) : ( + <> + Need to speed things up? Try reducing the date range or removing breakdowns. + + )} +

+ + )} +
+ } + /> +
+ ) +} + export function InsightTimeoutState({ queryId }: { queryId?: string | null }): JSX.Element { const { openSupportForm } = useActions(supportLogic)