From 54d208ec5c3b58611c7c5e91a7d3b1f2e8410a27 Mon Sep 17 00:00:00 2001 From: Yuhang Zhao <2546789017@qq.com> Date: Mon, 12 Oct 2020 17:56:32 +0800 Subject: [PATCH] Update. Signed-off-by: Yuhang Zhao <2546789017@qq.com> --- examples/QMainWindow/TitleBar.ui | 6 +----- examples/QMainWindow/main.cpp | 22 +++++++++++++++++++--- screenshots/mainwindow.png | Bin 18477 -> 19738 bytes winnativeeventfilter.cpp | 2 +- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/examples/QMainWindow/TitleBar.ui b/examples/QMainWindow/TitleBar.ui index 56aa5ab..d33ade9 100644 --- a/examples/QMainWindow/TitleBar.ui +++ b/examples/QMainWindow/TitleBar.ui @@ -11,11 +11,7 @@ - #TitleBar { - border-top: 1px solid rgb(255, 255, 255); -} - -#iconButton, #minimizeButton, #maximizeButton, #closeButton { + #iconButton, #minimizeButton, #maximizeButton, #closeButton { background-color: transparent; border-radius: 0px; } diff --git a/examples/QMainWindow/main.cpp b/examples/QMainWindow/main.cpp index 145adbb..6748eff 100644 --- a/examples/QMainWindow/main.cpp +++ b/examples/QMainWindow/main.cpp @@ -25,6 +25,7 @@ #include "ui_MainWindow.h" #include "ui_TitleBar.h" #include +#include #include #ifdef Q_OS_WINDOWS #include "../../winnativeeventfilter.h" @@ -35,10 +36,22 @@ int main(int argc, char *argv[]) { QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); + // High DPI scaling is enabled by default from Qt 6 #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) + // Windows: we are using the manifest file to get maximum compatibility + // because some APIs are not supprted on old systems such as Windows 7 + // and Windows 8. And once we have set the DPI awareness level in the + // manifest file, any attemptation to try to change it through API will + // fail. In other words, Qt won't be able to enable or disable high DPI + // scaling or change the DPI awareness level once we have set it in the + // manifest file. So the following two lines are uesless actually (However, + // they are still useful on other platforms). QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); #if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)) + // Don't round the scale factor. + // This will break QWidget applications because they can't render correctly. + // Qt Quick applications won't have this issue. QGuiApplication::setHighDpiScaleFactorRoundingPolicy( Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); #endif @@ -62,9 +75,6 @@ int main(int argc, char *argv[]) titleBarWidget.horizontalLayout->insertWidget(1, menuBar); menuBar->setMaximumHeight(20); - titleBarWidget.iconButton->setIcon(mainWindow->windowIcon()); - titleBarWidget.titleLabel->setText(mainWindow->windowTitle()); - mainWindow->setMenuWidget(widget); QObject::connect(mainWindow, @@ -95,6 +105,12 @@ int main(int argc, char *argv[]) } }); + QStyleOption option; + option.initFrom(mainWindow); + const QIcon icon = mainWindow->style()->standardIcon(QStyle::SP_ComputerIcon, &option); + mainWindow->setWindowIcon(icon); + mainWindow->setWindowTitle(QObject::tr("Hello, World!")); + #ifdef Q_OS_WINDOWS WinNativeEventFilter::addFramelessWindow(mainWindow); const auto data = WinNativeEventFilter::windowData(mainWindow); diff --git a/screenshots/mainwindow.png b/screenshots/mainwindow.png index b1b6518445fb08ce685d4986512e6090cdce8d22..21c923ede66619c1f9564909b11956b890498586 100644 GIT binary patch literal 19738 zcmdsf2UOF`x-Wa{wxMFg2nvEm5drDFMkN81-cgzXLWj_601HS60-{J2PLic0wo&qN zL2LV{>6rW2nM+#0;Bx0>yrcjD2ecdNyqAN$qpOscEbIqeDe#*1F+c45k0x$*vastk zhUX1bHO|XpT+rvm_yl;(1q6i7i%aqeiirq|30yrdBp@WfFCfG(D9kG$C?y~+B_wqI z_kS?J&Bek}N(-UzJ1_7~7G~|{<|M_>@9F8u=PAsGak1hTl$4aD(GU{i1ub}8y&c_9 zUc8R37ym*5fp#@_v2k*NoI5_>4tfTAiW&#G|_d+@G3-Srj zRQgLpRn>pq)WPAetzF%a9)Qd5^8SZ}U3I*j(EM6xSB$%hIU4DKc67V=7iLb@7&nZo zHRd14_SdifMnVhozcO@kcd`Fr9t(4Rv_0AZ&~^oF1%JrrBqi^HM!8{JbTAnEzc@f&JQUby}0<;%Do2r61 zut2$?{=LQ+3mZ%Cf2XOcs?<$KS2vWSIr=6-76ydkv$3&|l0aLE2@8u#@LF1;%y`Ab zMNqsbQM5R(Aj(`!(85d*Whp59LoV<<0%Pt@vjpw=pJ8i(F$XmMYE3B%GZ8a!b1@-a z5i_&^uY|dX8LuSTT!L3f+}vE;+|1nE(n91f)YM&UK+i$h|CuUHDhohS6fGzqWF}<6 zYiTBK!HX6Z5#=?r6p`Q+loS#%7nDGYOG-$>&i}zz9%GMjQN>sQ>jG&l%%vT28qZKWh0d=5-l8q~Ho%iqkLmTb<`zw2!^FM-43S~}&Bk8{<-M?p5y-;MgQHb z=GG`jD>O)){4km_{InGF(<%Ia@2@}nt%LS*Q$cy7U0i?H{|3tH4@>;f?nfInlmmzh zO}F!^C>zJ0-SRxr3+3QskN$HE{b)-g{EyoHRlJ|f`2S$@H{$%z;7>{OFG_(-Ondp) zAppGj>mY)51O{*cL&TpEToOT&lXu+E_Ry!HBZJr?iy7E6jP)K~U5 z-!ikBXb$ndnNk(a7#YQ?xZmqn4XDx6oSq`y+gdift!i#h9#}uWdix;y&Rgq{arDFU zN~B+pJw44pSHFJm;5{#fO}~BnEj~I&8HAEo&N8nhOe_>+`cAif+9liO9Fmjyw5HOr zhNa5!OVZQPX*6<}fRXYV5)6CX;DrW+j_w{FywTbJ`-=k=FbbTG?ykZyYhU`Hlix#Ot^LDST6<4$8Gqc6sA zH+=BkB*hcZp>xCIz0`Daa7s7cHp-jdsEPSL3RqRQMtn33O)25{BA;S}eCznYnuQ^3 zj*{?#3WoMIq(AG(DX6L>Wb{fW8kuJQz#1Q%VY#(HUk!9vLzWS?Anu>3OKyy=(17q7+){}@- zjseH0tUQ<$2f~~YQO$mq)<{@eZ66&SVQoIQV45n<5g$thsD&&o{^>>X5$*zu0W$=f;>$WH5!jIfj2PppRvvRm=i z_PAzFMCoCeiehQo1r?*{WBslY9*cdQsfrP-k}h5?7wG6-@)tq8nDN2Ccr!;^X+}D{ zZWdDw6vR^QhG3P_?8B9EaB7Dm9UdGapBTTu6D;ujwg9V)*UJ0*`*t^pqh*-U5iVbv z_RR|4P*>OvOrk8<8fRWzxuIsk3puc|eeMP90m36NH~u7ne&qkI2;uqGhj^hs62OD&E+#158!A?LTVMVbgc zeolxMS}RKfB?~}u#RxW8?^TP5CkskSZrYIT;kdKVNDhQo>B=RL0QZn`=zK@IOw39)3<9` zaa(UkynFRA?05ksB>7Q6xOvdLTR72sz1+*G_DY(yfo9KZsl$EaUH1K_RQAT_*x&cmmcpS9%VXIs`#U18`QV^yUk4q;ETAR=l0kXKY0wE#;1SG<_#h8@~sv z)wi~q++lGU*O(1?mI;$YJ;8(Al4VWaSudzsZ2>MVN{qiFu4o}GDtbKZiYA2g5LSdg z#PH0R%d8_w_Sv&%fC)bwPJsvcmv0U&H4$ZZ;iJAA#F1Tcz{+#R0`lUH>Gs6)8h4_y z>CQAB&Hp;7uloD9u~g21sle;pAfvrZabM_h7^(6G5~G*{zP-O+7tFve?Qu0gbfNhb z#8?keDy^-ATcNv+48-;md^hXs5h&!|C#FW~vY%DmQb1eo?+Q(z4{u;xL5Qs>dJlBGOGLhMg*J8ZjI`& z|M-Vu>K6E&q!7tnmB)>DnhZz%H~R_#$U*$%{%8F8Y`*Kd(EBvAHqC#{ZE9-bynMM< zz<;#bZ#ywQo;zioZXpK>VLNXM0Vcl%R7>Cwr>4^PuQ1*g+w1QSShcbWaGBqz2_8&N zCc`Ovi}1t>a`8dRpgQ^ED{;TI`|#U)eIK(Oc({LsexSQuwepmUo@pjPs&w{CcCtx@ zwY_zQ_l_yUbkshbm1WPG-2uA-^7Hom>Ye!xzhzfpxx|2-%zz!~n(xw)re5C@MvWvU z)z(&9`7uM~g3|9R)<5HRcv74->f^F=n}dQss(p_)fKWG-C&KKlMdX1&tjc-ib~`d0 z3%q9+)m4X0c0czAtamEbxQ*6vs^=Wi*-vmsZNWv~CvCugqvi|~ubLPT4P+9Ml$m(t zsH271B>%DQ=ke1U+H7n}dUSQm!5Mq-#31B+0cF0ReansVo?-7=>{AB6S$PNQMw92S`m+g6?TaPwn>ky|IWBk?k zHYYw7Ho0A4?XrONm452NSTWUSuD{n$1u1Z%c9-f`vrZ{I#!^Hj*D}?3jgmLT{hsIq z;%AMKMqV!)1DN>Pa=rAqpw5nl^|cKnEcfuUo=R1l1fs*R24uU~`T$bqF5l3GsNtifC%-Ym^^ct4GGxQx^yyY9FdaS?a5mq>Gup`Lj zP?=%}r80Z4BVfE!T4(>hiTelHs^&5h>J-oKc~3NkVRome<>=PaP{A8e=bI*u8Y9yY z>D=Q(29!Obdu4>ihLU;cX%nC2noy?1n$Yk~?D8fPUzNtmZAJUI>7mgw)&re=506|! zuE8$}5n@YGIk@M!ders+%BC7(Dt6F-(<72rSb zG1t9R)YNX0H0-Dg$vU*72U#jbs*Gl4u9x2r#K-zGg-9!x5IQs%UR^xRTm6PB<-2UM z9e%?Q5})Zk;P=)ZX|s0Znl$R3@6AX7oIV5{^a{H%PhL}}y74au#B#%mt%%haIm+b0 zfZdB2znO#nq*4xj%EwY=b_w_Xr&OQ*)Bu+FF?{ym^N3_W@`Tl>fP3W)q`-S$5!vsH z#T(Y~P^h5shmq@f=A>!+*=2)=t_&sCr18S+u%n?&OvA1-#*y)q4DV51=r2*EXYlQ3 zF_$zT=^_rH2IWq#@a5LM%d!F0lVh9I4PyIto?*fEnmMLo;W-acdhbzi&2D28Wg~~P z{n21TlEf~(dXitA1NVdbG8H@Y;rU6b&`$49qfHKwu*8^E-*d<^WSTDGL+PP=W8!H| z$i1Bcs?XLa``!okqX8yw?%v0j&wlO71S4Rf|3pS*wFl8xZY_Dnf3{11lro!8T}4qH z?V|?pliT^_w#njf_l+ENxg9k0!^)d9whzG6uiuXcbt!zCYeG&Qq|8ud+|MiQ=!MWf z6Il`*9CgjcH!tmWyL^5mO!$@C%<|;8AJNxzA{f3`2WRzn`Q9epk&pLU|Juc={@aB! z8RR`s=lC9H^+C^!xEq!h3`vl_RH#Pq`%W{K1x%l-AyG$GO_#T(I%GDKO-;ztm__fd zfOpi^OLy=eJgWlElnpjdBh9}^!E7>7bA-1T)NMoxxv zlBMRG)oqM}WyAsBZ!4XtP3kWsyyw?+)Ma*S@rud*j@!z1dYE{l66f(L(#K;3_SDcB zeO~|ZxP}O7!%{Leb<=OLi%41PrB3+5NzZrLq?}jN@Yj$6PnX7Ja_9(RXM6K0Bz7uE zv)aR*c{$ii0=u>~@-Vo}akRvTycNn{;OE~kU&2!Qnq{=YfA9GT=)p{v@y@1XpS^4} z1AJrhX;ZZ9YIku*zCopBS7}TS#@l~s`uW6Qk`GGNI%KNDZz0K-7(kj5&CE!8Ok-?z zcnt4I_X&4D7ia9dQB~zwr)<|)YCl@+-_^sUmv_6wu`b7*#T4s3OwZF>Rc^b~Hy!fT zJfX+2ugaBppBx+x9$5^@jNvz=EIw^Y!mf-pv0*1eFfwa>vZ3sRfRCx_@ZCK5;N#-5 zsE0aW!t*{$xBgXKu(*Ra$J^_(!BZUtTRkl$6O7V5_I<3}u=+aX+}_|PUj9?@(A-`O z7Cnd;HD3^SJSst_S`-hQI2K*_11P)!Jg2i2=NHY_`xmPrdI)Z6#m}jXbRV z#;>WJ*N{_QZEq?xH#$hjpcvIv-yYK&QD9K)ztqTk;gX5LyPY6iJN>-Da#X8DRwz(0 zuJ0XYrdnPxJW*oU?R+UP4jtWNEYhNupH+4wOTE7~=Bdk+ji-NIsIAcgVM%wd-vDw9rFEQLvdD9k z@^MMp#Gr8gV~y9wD~#Mb=YMfrG;QuZ{MaCnDekY+Xj%E(5EK_qtt=`xT502!SvgUKe8p^Knz?9Ew4`+pB944c^92*ye;UhAnW>U@yW=$_)VB!gV1^!+`0>Qv!^lzu6^+>88UJ^9q22(Fk-(o1+?Rgo_$d%s^g0(4<6pMW)<=Dkxc;GH&5cfqeI(yilB z=f2%;`6$tN`_q_dP$@$m`WPXYZ}O{|a@2UCYI+~{7QVYXo3!)R3{&^W~1rVeNU{0zU{3nIg^Z>fjE3OsG8&B z8)^#r;FjRK9Dsc5JFm)^5HK13a66-BcBPwNM5lkI`;H{dRB^I=<3nn)Z4(21%;JTx zI|sfo1$Ts*Dzma}zJ?9Rt{V(o(nDls$}RP3iSw^H$seVoD}D##4o~BE7}n-2jXYln zi(gI=WM+Gbx8CipJe&nMtaZ2Q2L{p{_R!0yzAq)np{KS3?*Lg!-uY%98tWl$9?Fz^ z82DE3d=pYd+H>yhK71hKK=v{W_R^;5yyH% zLF`!?B6X@vK!6EU{){}@Ur;^K!cwppN)iFz^wCyE1SX-V!4q_JeW@QyaXYPGhN)Bk z7T>34MSB25Fs%*ujUPb_9;Yp;y!`Q5)*&#-0?C{%&xEiOZielV`}u z$(i8K>@OrJNb3O_kmo$(`3Zb+%kJ#A<+`DQVqzO#3q}ZTb6>DZfpC7m$;g6H*N&~N zav-5SlS4Q!A_EA`hiyEc4nmqSAX`iCz+9+Z1GnX84J@7 zGTi#e34b@6Yf7kGBm_P2n$OOhZZkcxyi_6SiXkkOmYIrk?s-!l{5A%)mNmKYLvGt_ zTsC`hK~Od?BU1o+hpGleOi-f(CNCP>f7sgMl!GX2s|L#lCI=>aYC>i*Ew)$fL+jBo zrq2Cn{Z9$v)Htgo=Wvi9bPy3duwCZ`exsqW>?Gr4Irm*+&D6Y|BjBq(?C4*K;?n13QgB7hvWAog@V&hm zOx4`9YJ!-ke~~kGk7;yIxn?zagwpO=om;tURN*!UDrwjL?o!-|lf7+m3Fj{Uj09OY zpP2$TY|ndnU3`eLo6N?-vM^qb3ue0`WVJlhT2Sr+Z0tGY+|*V!bdrJvzL(is(Q5i( z6dx^!_CaZ*tcM%EBE~9@=g&a6#~-m^?i5?LWzg3q*QwWbw2piQlU@(4USsudRNV>-G8Rz^6NJ6;@qWb8-Ipg82U7HWiW3%%%R2Y?|D?nNw(p$am zP_ye>v)LKpf3-3Q9-Qo^2^q5)@t#SfQs7l+AmH}QZnw7jFt(Lf-_&(!*mE@R2UT*p zhdZTg!0}z|hCT<68A+ajya5WZ`wad90rc?0aH3hOg2&Q4XA-t(Zs4oB3~5q!bBJ*| z_-EMXg2~q3ceO0snVdu8RcKn0=Du-*7Sh~0f!nl>M+=mDf9j7vM;!3Y?;Z1x@Bg|8 z`mYA1pV@)tsGoz@-z}y7ecz{zYkz9;rvyVIK}SmuKb!n90RBusG(G<;9L;{lhdrQ`w(n`HSj5$Lqfrm!{W$Jf8p1=)WxPKQ1X5 z4f6YkW(bENs;!sR=*D=6r>tL<&8d?V@jZb(-L0S%yODU2*L~}@SR3m&>u}KRLH(fM z`U$f7(rF5Ngcb z8lu>i7PSPB-cl!x)!Eglj`PdYNCi-ZKs5(|h}?WH>)`B#&km>QAiR1?Wc0EkAzP0I zohRMKv}euE%W2d_omI@eAkgBk)LIQyybEN}*$-Cz1j{ehoMmbo%db7B_aZH9*YwzC z*M?qi1+{`3Hk1P&{U+a$$Q*_#Z_e3V)_cz|@GC)wo5}IW75C0ZTW{UZZXMrcrOkf< zEwd9r*S)jJF()^jb0m5qUb`;Ml=+$=b&}HrqFCcFoqjWuP+WV@eI+89Yv{ME zZs|8ppS9;l#toscf+dX(2v{M#hI|RL)V!fn_42EeE&@xZ@8>4*SoxX2X$IFC=QJ0u z2V)Ja(e5LpJlFK_!0gTPcy40YtE7v-0JLY1;%n(O+ZIoUH0w9q)k8d|r^{re+S&+7 zTztN!s=l7Y&P9>SUbqtQqxb_Be+84eC38;0xQs76lDPu!)%LJyXXQ%t<+>6T^%un< z!3y;W79MOD@?apA--{pTP6+@3o9Hj$zSYJc>$yDdg4*9z9z;C`zv|A3?l3#`?)!(= zIBuqJoaxK=U(%>Y7~ZI{ZgM7h@{o9khY!coMmnIM2E@&TQ;|%KgM*@FlBN1 z^uE<4lN?y>lfuwooT=icFBS@?+N0F0J%d9dl0OLnRk0^DAXzxJ zTm9abb*^W3I&DowJ;_>#?Y^Fm>Ko=m6@?)1vj4-3gpitfrzS`&htZv{3=7 zd86eKuIR8P_ob8KiuIef*eCHc7vX!2qst(Ns;l4k!!*Ktlk<+#rDQXyz{?gYzh#bAPC`Lq&#rTW+=D_ee{#F6K0 z6!A}OJ&B*kCpzy$3-@bUjNM<2fM(xzBr;wWwf21A9G6;R6H`HKSrNKNZ-|f^ruUHiNMc|w@Op4 ztHF=+QsmT4;~Ug3X-r69Ky`Ta0R5=(9459lQ)6D);>792yzk3mzFD1>VE|dl1naOyicUP`AT<~g%-|b;AAj}NS zsv{A$oaDfSv4>|R^9haVHx2gO$*|y%n=((!;pROVB)zRsEp=X*#QI}qLAtEe4C0#e zf=Efw?rwwW*DV1zk!ht#`XZe-L8k4~#{Ar{Pn-3a1u)l1zXPkzyGpL_BJo1OP3p1mrLC<4uZ$rsdXz{1MAsQ z#^+}aUI1Yq<(u$mQ?-Ha7`4i&zjLRD^$ULX?QwoGPjQ!QAaT9<#H$VH+Y(c$H<{)= zdwaZs%5o>K<%^}7H;_77Tc|AbZPW4>4#U|t%sepZbJ`8R-Ol7>tEOBm zxEZ1Mxo69-t4q*M>`X}0m=3FX13QeOwy<^`SAP?G>72LnseCWCI7uxJo31jBn_fHa zsw(5#Bv@gmy!I^`EqR!Yu(`ptI(brX&<#~#)|FPhAc z>qJ_e8nGNp=kr~DmLDOMM}Xz;BUFpFn z%|e)uo5O0o)cjnmXqC`d*d4O32%5tVYs3tH`EKcyWs`+x8Nbo<86hFpG|XX5+nZXw zOdkH1bOtR|21m|RC&Oe?`_C|xm^j0?oW z*sC!NyyB_2_QxwpOCDZzFcwldllW1hBMH#~s3u4cldp{E>Um)9gaPUh}>NmI1T z+bO=b*ilPZku~ibNu;1M{d$V^`KuF*n6$OFELq|tpK|%W+f3rS$-V4t#If(lXmXHz zUDO4emiXrCbEgDBa@^Wj(78vlRK~tK;Qc{PqO78nZjJYg?Q5LL>+USS&=frL2YiFO)lSnp%cEod3;;@(e2@- z{e3nTaRe(^Q-jAq$$83yQ_EzbTdrwN>PZ>m-my&m2{PDA%6WXMx1XjhzVG+AH6Qsh33V+@TMVeuZnn*e(DksKDwEBe#8bfJeLaD-phFGuV53N zhPBG9LRLy}x-+G&Y$c|>*ngQ~H2yukC9-<11Gai5oBR^@OExa*IeHsxbyg`$9Nengq=;!Qd6E$Q!no7RW}!(-AXA9O;Ls)_G{UBjPF& zZP>b5I#^6STe67gD+^}9LAv>lE+5%Y$SWeZ`J1(m-u@&Mm#(7WMX(%Sn-H{a?G7PL$su}#Ev?(kr%5)Ivc`p zPO2@cR2VjxUfnHyNlxAle#Pu1H%w-8D|8f>rS!&~P`ORV*H^cj>2%?Vi-=lFZQ4$e z?9`d`WQrVGxb-MsiZY=MmY`?*j*Yg!z@4&f-al8Fw$vMtY3hjO={AHIUoo06bmrBB zGcA)G+JfW>wRXPg5iY9>Z(-)2d&)eq9^FN|#5bQJYoY$>kMeY*g@fd&Yg}Bc3=O8w zw$75&o^^VBes=D;;k?6XcA0fE#rY4w`yEKH-^P#G=(rr3Vkg39cODQfZgXxma(xm)A5aIY4pJdc<@Yj%>6vy)oV z?)Hd;F6VTG4%zrBS*&|RYy>c8;jgd~f+ShuzR3}-!VK}?T#(k zF>bI@?AmnPW3A?L{vt)Eie(JnW6dU~h#S{@q%UKON_@&4jBI3BnRV+7DaF(@i#kaS zt6Ll$4t)qa@CNp!W5ZC;NAd0lIqOYr4D!^7;UuG`^R01d0}nxqvtPdxa(;->xpr0R z*pY+*!V>qVjDlxdy%u2|e2?KpuJ{@jns+fG}Q>S@*7D?WE1sO3P+rohfs z_uumSjUXiAql_4sKgW~$!*+LO74*g4|J)E#?Cbg2d!hcV!*HX* zo2Y%hT5@M)r7HL6^bjp_B*MtB9mp0yfS`-X%_pkHqt<5S1+{l|a&fO-ALEZn1vBN@~R1?l}_f=Z=Tk;_pi(MRjgDwcvm|$8y!P}=; z32WEsqnAf!;jZgXoI&RBtJ81BoNL76uuoY=s~rv=$uli0(MQByoSS*156K(Xe|*b( zA=)Q-ruEW@KuE4HuzfdWy=Oh4ifLaz_vUSGH)&qn*^V;p(bD{zVMk4T-8Aao>mjlu zjr!{>6)ZpG!+b1~_@*4cA2d)DyPcMNND2Aa16ePQ79prhaVVNs>P=$#RR;}V?!&1d%mDncpiyI@ z+C;wMu0Cy2cGM23GuoQfn2sH590GirM+#A|M(3n6)>+c?@i@~qx$50Oyi(1xMmD>- z$_J-L99kOWzrc&R%_ezZ)g_Vv8Rcrhk7k$IsDZS~AmHRQi<+{8eZWAu6C@|0Q^<#4c z2Q(nwB-d4uobs+AqTAYyNkTl-3e4O3f z)%lB(0{9%*vuxDKYTvJr#$yT6SIh)>QWjr*H8$lk>-*7hf(BE4JTrQ$!E$t0L@A!x zEoc;5QU$m5jvC9uMHQ-zS*Q9SPqhaLM3TrYI*1+mFMXFkH*6Jj^%au*7|$4GBu_WQ znJoA{V;G1tp&#WA3mD-Ni%+u8Bx(4gZ7nWzRsKjC6%uWBy`!ad)pyyK@Ub5jkoE9W zWLBYUoMt|*HgErM-VJ3__UP&c^DLeeCufZ#9&uqi$W0$Cd{$xIJ*Wt z31?T%L|r#87dsU*!tw-vrBc-0DPKyz{IoEdSkl}{2#Z=;<8wIYbDGTz5_gWKF&z(# z{Bj<#9c24r8F)AO4Rzxa%CULd^|k~fBM1;4C6C=2C* z$+d;_Ch0)X!PbdvS15Oo8$pLKX-d&C6^~}E!Qc`Q>;F=zLEO8=E5AGH)bhz^MIP`G zF;cI9A6Iwm(>N)L3mEpQciyd>J)f>O820{w-&>xPm7H^tUs<7rFiqag6OE4PpWm#EsgFi9-diQIk+toiy&#~ z=kp^FgEtXQ$h1WqI|=aV4zlw7K_}Yc-4F&Mm8N?Ng5WBGXvynYJk)d6A%Z z{h05DSs?3~y2dclZ6*0-CmwM{R7KwMI|8y~+SO_;g~5`lk9JkzR%739nO3sjK4jI! zSTkbOa%W?a9`>b7R`y2$Kv8Qi%3B#uqJ*Ej|J&{%eZ-h?1H9pD<|WDo^M)%=HtrX# zt*PGOmNXxthm#z`ur8v7 zpZM#3t1a;)iF@;MrYakG^|;&`UC~d}i}CQ`M_OvMq^l`Z!p7;h_r?~%Olilql4b#0 zWEys&iN+q(>5NSVxj2eL_!X9uT!$fY=5wQbL8FY&h+m2B$WzsqNto~?km`-Dym(by z3>!aa;3-R45D7x9K)mbEZf3EiNIor6w`?ihje54s+g~8lQC$iG-PEwPEQ{)4QoGsDTNk;hGN>tpDy;V+jwu^mFo&2<+Zq zwOiz|%aQUIE$3h2g#F&V*BhJRpraWL3lCwzbSlz8YT0Y8QWxwV zY^1=X!t{@L4(A&{xF*u}l$oMU$C9Jsi-F5q97VFGUiRH7Z3z3q%H^K;ZPAa-aqQek zD3c_a7s4j1A}=O5H}Q>6tRmWBcx$?d4gFn1AF&5rUc=CHRyvtPfUd8^lOp)k=Bj$_ zp~~)@zB|#E#;(`NH^JY`bzG@@@9lB*Q7#RB#*&J4^4Y z&)mcn*|GY1HY1(`RD!pfWF)o$0MR>dAi*|d`svSen1-U{`XcsRNWw+(?R`(>c6|i% zd3|pdRjn~)It`iH#(qs!o@}>A)_ckp6hSVc33YGy`>asNG~z_e)|A#(9Ip(oK|wMO zAB%)`b`dAI4{M@BZWHCOP#&|U$gb_Spt0!Hc(4mU@5gLuIvFNt$CJ|iOV6C){jLJf zkzrD5s<>i>N$clOypoJt35LF-)~+u-Vpn;op*PvN@u(hRELU?Yl7CMt6l2M{@!PI_ zE>24ys*)Ug=1lLpm2xVc`4(!w_O6R$rM=a9?c8$b!AzJBNwhzdehV=)2<=imo>uAr3l;zS^4!+M{h*kNirM1d}XM4etHsN_9 z_RT_cbGxF+?mNBYq^o4Xd_i-t&{1?Iz8WLH@Dx^rNGO4J&dt|+ZQ7aJ_u1sJW3Xp< zpr?JdF?)iZE5ZXZ=P39z5k;tclkKc)+G6+A<+0w*wKVuaw~Ff>|djz0U%wWGw{q-99L67Q3~ zlVie06A57SOA%D#X4QIYtcB>Q>=*zGgjEZg{o<&doe93i_*7ZNqWhX-M+WR~e)XA4 zFnRs>kY_@5^AY;N0Z*vXnb1o~@>iWr_o~lfB`<;npCAL<5hDHb5OHjyKT16zxltspG@0a{PPK||EX=^ zM`^I63|!e&u&bW(4p!O~_XBzXOi2S|{S@lQuGind4#0}dwOsvz>gjkpe!}8vh9Q$@ z2{?%X&aGsyKT1|nQK8`*bP!Yc@`ViL4BuhJXa;xWlVcsq?B0_L zn?u5Ka`^y5paJ>H17knl3SX^=yBQ*C*JBhwK1PG!%r?o5loP%i6ZzaZ8J|5f-5uy1 zby*j6o&MyvHI^Qh3}5^FbYc3F_rjq6Hsv524Uv(B^WjO+JSjf>wZPw?&}`~rgp3Q3 zusQ5Cp<1(@KqO#V_A$t9Ef#kG01JCeMJ^D#DcNg$+R*VGKx`G%j6G6h_Y>K3n){OO zI^BK@9w&~W6ro#b`{LXw6udQg?kzbfes_G_)T8Y1M5#Jo#k^|GN@H$*#U7rg06>Q@ zUK6@wr~Owys`Ks4>l68WF&8c+`OIf~e`gBxt#oW3GQ?CaE%mk?4oIrGd)@1|I}tHI z<-WshHs3U3hq7(0Z!nFc)M)?Kxm7d8zOBS$C?H1(Q4iGg?;1NX#yK`)tW&?ub-P+- z5a!%JrElcX5B)yf7BC%W^&*u9#p|5FH~SCm&@*{@u90XFOfu<<#7a{A6&76>;5zGr|} zbvyrXW|B^Q_lM(5^DoJ4s!WWjJ_>>O^0CGQ0E8=^d$2OI@@(aMk*BDjU}R$VIsmC9 z1Cx4OtzVsLodK9Ke<7>(A%IrP`4N!(`Am`g4?Pt1#VP)GoQxzYd^+j8sO+Tx=w0A*+7yE*Kc`-3Vx z-#C$)S8B+YLDv0a2>AAp{nKbIfM8Yj6-63X?u2kA+gEt3GpfsYcgSuA zZquMMAnZYs`@gyxx7j1^2NIaupc4h+p8zOg7VZcX<^Q+vrXPLucRbO*NK*e=i>f9OY#5vkstt0 zdj1&(_OCHK|J^>L1?nF#um61**pI>eANPp=Zvlb-`;idK{?D`6|F>!3-v)910SHXt zgcgEhb>G3U_ycXGCZF#>z(I`BVylkFy7lde(z;+kIEqBRHhSk`Z-4dZw_4-CF3`AdHm>kbcNjLq<78ggVjS*8nXw+a(!KnZ{723#dB< zw8{ayJ2-kA>O9|_y>gePVER1f_4W?ah zfMY+^>4%*3w6%Rf6qRv0ee!~}$MVpb7E3cT*d?{tdSJ>Ro8dR8x*e|D`XCX@LJy4m z&D8>rztkBJ*7q0mKf?74$K~k#IE$We@$3c2Wi*vSe#KE6wbWO5QDuB`auNWF>P}&j zPGluAwTU)rq5!Xy??*l4g{6!vEc%usCaN@DuiAVa)VRFE_VF&l^f(mpr+5&qg8b) z(no8Hy$;o_3P^N_U9V?^4W8)q@XT=JPH|AeZdQ&u90_Su0GCVzj(>E4@f-nCWEK^A zG6x2~@~UPps>`l>N#MG$x+^rr2yVN0JDi=(bqPd7PQP$2wA&XI}x0NhdIEtddEffaP zjJGv`tbR|z-q&f!9BpPHpExid7TB!T62*b&KL*K$MxH#`e>>rhA-D_U^%c;o<-jcy z{nk|_?5llVx81;{3h-k*J6q@S1EcdNaffSRBu!Z2}YL#IfgoP_Y z?h?3l!`eQk`FB-4i|$%CH;(nk%7g}&CY-;+nBpXlutg$nz-m0Tt2tIBJNvEy#n!Ha zJ3ny2fZC=Rw+ikocZ%qxJL0!2cq69}saMWw(wf{cKamvnv6$oy?(#@DKX4h`-GB>5 z41#Mo9&)TAJ8?A2_MUyX()gyz`4A#g^~Bs^O(RI+jg%#Ykc=1Br;yq|BJ(+Wu=s(Q zFfW|_1Erg|FTiA1I^!8tf3Q&XR~b3Q5R`Bp1gOlVRo=*s5G>7h!dKw8IwD4-9UkB~ zf%I;+Axdg*6@CL3g9PNIu6fDS@4j+Fx*ZAWd4Y4IeX8zoa6aU`SIU=kFO4|3cn&9s>Nh%zMU>`Ek$youc O>24y`5cxOmKKMV@rQ8<) literal 18477 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%0DGNS=flD7)Yshi=!=9aOi`aF)>hihj{J`yk zMuCdiyuh5*8`rO2AG!BE-3&DBVjAM)T!`d0G*;T*1B=CWerp?58YpoNoQMXeb-)lA zy?6+1;Wg7MmdI9zS5iP;m<(YC8{oEs~FTq^ajo=n5FsugYq zCX5U1)C_?`8$?ZGqbiNGpMfd+&I5XT4IA#dVWFQ-iQss+cz*d<_#4owL;Ic)RUUpA zaB1xhHraj@R!PB2-E9Ro(<;Z?JZYfI3Pko}-{oF9Ft>DbXhs%f&PZ4XX?PO^B=nm;u{1PyG9Rio=W z6un_`Pib{7(HgXk(R;g$&npa-gj{p~=z-171= zBk1D^`n((f4gUJxnbxFdk6zFkveb6IncOhs~bcY+#c*|<6yDhspaAiQIRxs+a zEl9aY689JJulYcGG6(vf0=5R2e8|}E>F5#A2Q?aSaJPx7U=PbKYd<;;8Ntgmux?Dm zgDyQUJGR?b(Y1%}a_jgdqaXc=e{}Es|7IV$-hMP_Fzkjba0Stse%)>M`m@92XLrsY z{Vo5+y;Ah!dAipEJ{Z-(^&j`Q{GWpQ-_XYMZ>bMthd-@Bx5+RR79g|A~^BL+}904|Mb^sQPzF?`BcpD?haI-wO&b%&3m|XWsk&YCGls zZ#Dg24WA}8w8rq;`*3z?0Y<=W@SrIP%si&~EtE~~!-3g9dNr7sj>k|*jXXz>)lG<0{v-lyHHA+B*mvMY!DoxF2 zVUQgROMba7^$^d-M1#(82k$&#P}u`d%&|f|5IsbH_7ciZ0>1E}ugI>WI$-N44^JI} zHqji@fTw`6pidJ)owHNpW5eB$MeeK31OuMR+DUk@M8Gg)cIrKc9ojaiBEi7jOxG)E zyY}a5fvOb`x-KFf?1xw*CbE$aERz7W*h3<^Kgo#)kybkO1m#`7eo9wovcqtjXOtA- zn|R075+1U)FlK-Q0&iZzb*U=Pg~75I5j_D_e-pY!wAs|xA3l6ocnB()r&_1P4#qkQ z@er5L{-6W*PIKet&c2#6HAqL3&5-m=1ZEujO3@=E&9CSQ>U%K3I0q^# zByw~*I}JPYDjVzpmg^7cDbpz9VBWx|1`JM9#lb{y1eD4ZyaYY`$Mo%Dz@i^Ahc;K# z5t8obz5Q}-Wnn*LV38XW4nY$6XZe*gYCBmDu;zWTw3)5A4^ff&XP z<>im-@u+4HHdjt?)D*d4AWuS(zL4jk`u8AjLJw>$b=wyW@zgbHMxKVUJbudC7ZxoC zPpk$m_V6QHjNe34G;|0Uhm~7^LvI{kxD>kvP*t(jEjk?+V3|Og2(U~cW3emWKZB80 zJ1_l8OxMyv#2886f(33P0{4FHs{^ZHq#fdCkp z^0J-L+Qynn0W%SIasI||nDph7s29-JwJLBFB= z`xz));IzyqNIIH@cbrv?aw+lCjmr%mBI1cu`1b0>4Ee$!)auVa|oZJ_ayY9urx&EA(gXBj)NcN0|^gZ=!TI!Bd8lORvn>bffI+eaK-Y<3y#O38a_5% z6OIDYO1}w$@o2snp3dJ*cy615;p&-lP$4j890_wbhF8l8i$|W51*^`j)l?`Ul28=w z+jB(N$DE^AV{9QJB${HX;f{*m6OT63{Vq0ZWgY|@gw$1> zFWjXTSt$oFVJFl{PBy8LUn1q>kGlVMf!qht0>2dCH`a#F7}YBs6+(sMLRFIeEO38gf~!5p3f(G2V@>|QiHrG| z<4!}zBEjgpmHlCBz+B?{F_S9!5UByTXagQjri^paLN8#0Ku`Egj;QW&i|D6EotZLn zU?JCqpMoLqi#u?xUg5f}75LpF5YZP0rh&E)zlw#DIKTXsjDLBA{$Q6w64MZC$QqFA zoyCDp`X&S4f99{S{= QT_VERSION_CHECK(5, 9, 0)) return QOperatingSystemVersion::current() >= QOperatingSystemVersion::Windows10; #else