From 9f32c4aa2e2dda96f23510fa9dd9a2ef2bee5b04 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 14 Apr 2021 11:43:46 +0200 Subject: [PATCH 01/14] Bump version to 4.15.0 Change-Id: Idba4da565319c5b23e781f26fb1cf68722abbede Reviewed-by: Eike Ziller --- cmake/QtCreatorIDEBranding.cmake | 6 +++--- qbs/modules/qtc/qtc.qbs | 10 +++++----- qtcreator_ide_branding.pri | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cmake/QtCreatorIDEBranding.cmake b/cmake/QtCreatorIDEBranding.cmake index 6138756b214..e16c1bd4a29 100644 --- a/cmake/QtCreatorIDEBranding.cmake +++ b/cmake/QtCreatorIDEBranding.cmake @@ -1,6 +1,6 @@ -set(IDE_VERSION "4.14.84") # The IDE version. -set(IDE_VERSION_COMPAT "4.14.84") # The IDE Compatibility version. -set(IDE_VERSION_DISPLAY "4.15.0-rc1") # The IDE display version. +set(IDE_VERSION "4.15.0") # The IDE version. +set(IDE_VERSION_COMPAT "4.15.0") # The IDE Compatibility version. +set(IDE_VERSION_DISPLAY "4.15.0") # The IDE display version. set(IDE_COPYRIGHT_YEAR "2021") # The IDE current copyright year. set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation. diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs index b9454481f5f..d1dd8904b07 100644 --- a/qbs/modules/qtc/qtc.qbs +++ b/qbs/modules/qtc/qtc.qbs @@ -3,16 +3,16 @@ import qbs.Environment import qbs.FileInfo Module { - property string qtcreator_display_version: '4.15.0-rc1' + property string qtcreator_display_version: '4.15.0' property string ide_version_major: '4' - property string ide_version_minor: '14' - property string ide_version_release: '84' + property string ide_version_minor: '15' + property string ide_version_release: '0' property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release property string ide_compat_version_major: '4' - property string ide_compat_version_minor: '14' - property string ide_compat_version_release: '84' + property string ide_compat_version_minor: '15' + property string ide_compat_version_release: '0' property string qtcreator_compat_version: ide_compat_version_major + '.' + ide_compat_version_minor + '.' + ide_compat_version_release diff --git a/qtcreator_ide_branding.pri b/qtcreator_ide_branding.pri index 65ab1901905..4e70b129b86 100644 --- a/qtcreator_ide_branding.pri +++ b/qtcreator_ide_branding.pri @@ -1,6 +1,6 @@ -QTCREATOR_VERSION = 4.14.84 -QTCREATOR_COMPAT_VERSION = 4.14.84 -QTCREATOR_DISPLAY_VERSION = 4.15.0-rc1 +QTCREATOR_VERSION = 4.15.0 +QTCREATOR_COMPAT_VERSION = 4.15.0 +QTCREATOR_DISPLAY_VERSION = 4.15.0 QTCREATOR_COPYRIGHT_YEAR = 2021 IDE_DISPLAY_NAME = Qt Creator From 915b9d0e314889000041fd0282c90076f7062c6e Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 14 Apr 2021 14:33:30 +0200 Subject: [PATCH 02/14] DumperTests: Ensure a set up environment For whatever reasons the qmake call already needs an environment containing cl on Windows if QC and the auto tests have been built with cmake. Change-Id: I7b55fb792d3bc282cc1561e8e3b55885a25bcf0e Reviewed-by: David Schulz --- tests/auto/debugger/tst_dumpers.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index 8cf610bd281..861ffcc9dda 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -1628,6 +1628,7 @@ void tst_Dumpers::dumper() "." }; //qDebug() << "Starting cmake: " << m_cmakeBinary << ' ' << qPrintable(options.join(' ')); + cmake.setProcessEnvironment(m_env); cmake.start(m_cmakeBinary, options); QVERIFY(cmake.waitForFinished()); output = cmake.readAllStandardOutput(); @@ -1648,6 +1649,7 @@ void tst_Dumpers::dumper() if (m_qtVersion && m_qtVersion < 0x050000) options << "-spec" << "unsupported/macx-clang"; #endif + qmake.setProcessEnvironment(m_env); qmake.start(m_qmakeBinary, options); QVERIFY(qmake.waitForFinished()); output = qmake.readAllStandardOutput(); From 241ff84e28e88bb40d8800ec1cade63a7467a66b Mon Sep 17 00:00:00 2001 From: Aleksei German Date: Wed, 14 Apr 2021 15:10:50 +0200 Subject: [PATCH 03/14] QmlDesigner: Update QDSMCU metadata Change-Id: I29d07a91f117d18e0fbfbac3d5547a44ff8d932f Fixes: QDS-4149 Reviewed-by: Thomas Hartmann --- .../qtcreator/qmldesigner/qt4mcu/metadata.qml | 8 +- share/qtcreator/qmldesigner/qt4mcu/qul-18.qml | 211 ++++++++++++++++++ 2 files changed, 218 insertions(+), 1 deletion(-) create mode 100644 share/qtcreator/qmldesigner/qt4mcu/qul-18.qml diff --git a/share/qtcreator/qmldesigner/qt4mcu/metadata.qml b/share/qtcreator/qmldesigner/qt4mcu/metadata.qml index 09afa0c88fe..20ddf65da7c 100644 --- a/share/qtcreator/qmldesigner/qt4mcu/metadata.qml +++ b/share/qtcreator/qmldesigner/qt4mcu/metadata.qml @@ -27,7 +27,7 @@ Metadata { id: metadataFile - defaultVersion: v17 + defaultVersion: v18 VersionData { id: v14 @@ -40,4 +40,10 @@ Metadata { name: "QUL 1.7" path: "qul-17.qml" } + + VersionData { + id: v18 + name: "QUL 1.8" + path: "qul-18.qml" + } } diff --git a/share/qtcreator/qmldesigner/qt4mcu/qul-18.qml b/share/qtcreator/qmldesigner/qt4mcu/qul-18.qml new file mode 100644 index 00000000000..b65084451b8 --- /dev/null +++ b/share/qtcreator/qmldesigner/qt4mcu/qul-18.qml @@ -0,0 +1,211 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +****************************************************************************/ + +VersionData { + name: "QUL 1.8" + + bannedItems: ["QtQuick.AnimatedImage", + "QtQuick.FocusScope", + "QtQuick.TextInput", + "QtQuick.TextEdit", + "QtQuick.Flow", + "QtQuick.Grid", + "QtQuick.GridView", + "QtQuick.PathView", + "QtQuick.Controls", + "QtQuick.Controls.BusyIndicator", + "QtQuick.Controls.ButtonGroup", + "QtQuick.Controls.CheckDelegate", + "QtQuick.Controls.Container", + "QtQuick.Controls.ComboBox", + "QtQuick.Controls.DelayButton", + "QtQuick.Controls.Frame", + "QtQuick.Controls.GroupBox", + "QtQuick.Controls.ItemDelegate", + "QtQuick.Controls.Label", + "QtQuick.Controls.Page", + "QtQuick.Controls.PageIndicator", + "QtQuick.Controls.Pane", + "QtQuick.Controls.RadioDelegate", + "QtQuick.Controls.RangeSlider", + "QtQuick.Controls.RoundButton", + "QtQuick.Controls.ScrollView", + "QtQuick.Controls.SpinBox", + "QtQuick.Controls.StackView", + "QtQuick.Controls.SwipeDelegate", + "QtQuick.Controls.SwitchDelegate", + "QtQuick.Controls.ToolBar", + "QtQuick.Controls.ToolButton", + "QtQuick.Controls.TabBar", + "QtQuick.Controls.TabButton", + "QtQuick.Controls.TextArea", + "QtQuick.Controls.TextField", + "QtQuick.Controls.ToolSeparator", + "QtQuick.Controls.Tumbler"] + + allowedImports: ["QtQuick", + "QtQuick.Shapes", + "QtQuick.Controls", + "QtQuick.Timeline", + "QtQuickUltralite.Extras", + "QtQuickUltralite.Layers"] + + bannedImports: ["FlowView"] + + //ComplexProperty is not a type, it's just a way to handle bigger props + ComplexProperty { + prefix: "font" + bannedProperties: ["wordSpacing", "letterSpacing", "hintingPreference", + "kerning", "preferShaping", "capitalization", + "strikeout", "underline", "styleName"] + } + + QtQuick.Item { + bannedProperties: ["layer", "opacity", "gradient", "smooth", "antialiasing", + "border", "baselineOffset", "focus", "activeFocusOnTab", + "rotation", "scale", "transformOrigin"] + } + + QtQuick.Flickable { + bannedProperties: ["boundsBehavior", "boundsMovement", "flickDeceleration", + "flickableDirection", "leftMargin", "rightMargin", "bottomMargin", "topMargin", + "originX", "originY", "pixelAligned", "pressDelay", "synchronousDrag"] + } + + QtQuick.MouseArea { + bannedProperties: ["propagateComposedEvents", "preventStealing", "cursorShape", + "scrollGestureEnabled", "drag", "acceptedButtons", "hoverEnabled"] + } + + QtQuick.Image { + allowChildren: false + allowedProperties: ["rotation", "scale", "transformOrigin"] + bannedProperties: ["mirror", "mipmap", "cache", "autoTransform", "asynchronous", + "sourceSize", "smooth"] + } + + QtQuick.BorderImage { + bannedProperties: ["asynchronous", "cache", "currentFrame", "frameCount", + "horizontalTileMode", "mirror", "progress", "smooth", "sourceSize", + "status", "verticalTileMode"] + } + + QtQuick.Text { + allowChildren: false + allowedProperties: ["rotation", "scale", "transformOrigin"] + bannedProperties: ["elide", "lineHeight", "lineHeightMode", "wrapMode", "style", + "styleColor", "minimumPointSize", "minimumPixelSize", "styleColor", + "fontSizeMode", "renderType", "textFormat", "maximumLineCount"] + } + + //Padding is not an actual item, but rather set of properties in Text + Padding { + bannedProperties: ["bottomPadding", "topPadding", "leftPadding", "rightPadding"] + } + + QtQuick.Column { + bannedProperties: ["layoutDirection"] + } + + QtQuick.Row { + bannedProperties: ["layoutDirection"] + } + + QtQuick.ListView { + bannedProperties: ["cacheBuffer", "highlightRangeMode", "highlightMoveDuration", + "highlightResizeDuration", "preferredHighlightBegin", "layoutDirection", + "preferredHighlightEnd", "highlightFollowsCurrentItem", "keyNavigationWraps", + "snapMode", "highlightMoveVelocity", "highlightResizeVelocity"] + } + + QtQuick.Animation { + bannedProperties: ["paused"] + } + + //Quick Controls2 Items and properties: + + QtQuick.Controls.Control { + bannedProperties: ["focusPolicy", "hoverEnabled", "wheelEnabled"] + } + + QtQuick.Controls.AbstractButton { + bannedProperties: ["display", "autoExclusive"] + } + + QtQuick.Controls.ProgressBar { + bannedProperties: ["indeterminate"] + } + + QtQuick.Controls.Slider { + bannedProperties: ["live", "snapMode", "touchDragThreshold"] + } + + //Path and Shapes related: + + QtQuick.Path { + bannedProperties: ["scale", "pathElements"] + } + + QtQuick.PathArc { + bannedProperties: ["relativeX", "relativeY"] + } + + QtQuick.PathLine { + bannedProperties: ["relativeX", "relativeY"] + } + + QtQuick.PathMove { + bannedProperties: ["relativeX", "relativeY"] + } + + QtQuick.PathQuad { + bannedProperties: ["relativeX", "relativeY", + "relativeControlX", "relativeControlY"] + } + + QtQuick.PathCubic { + bannedProperties: ["relativeX", "relativeY", + "relativeControl1X", "relativeControl1Y", + "relativeControl2X", "relativeControl2Y"] + } + + QtQuick.PathElement { + //nothing + } + + QtQuick.PathSvg { + //nothing + } + + QtQuick.Shapes.Shape { + bannedProperties: ["asynchronous", "containsMode", "data", + "renderType", "status", "vendorExtensionsEnabled"] + } + + QtQuick.Shapes.ShapePath { + bannedProperties: ["dashOffset", "dashPattern", + "fillGradient", "strokeStyle"] + } +} From 0cb02a39cdb253497f89f1b103293d9d2e357ee5 Mon Sep 17 00:00:00 2001 From: Vikas Pachdha Date: Wed, 14 Apr 2021 14:38:45 +0200 Subject: [PATCH 04/14] Docs: Update Photoshop qt-bridge images Change-Id: Ic2320d84f9b98f2560674acab672efa6a4ff02ad Reviewed-by: Leena Miettinen --- .../images/qt-bridge-import-warning.png | Bin 35447 -> 35765 bytes .../images/qt-bridge-import.png | Bin 25057 -> 24992 bytes .../images/qt-bridge-override.png | Bin 22539 -> 23212 bytes .../images/qt-bridge-sanitize.png | Bin 22456 -> 22985 bytes doc/qtdesignstudio/images/qt-bridge.png | Bin 22087 -> 19002 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/qtdesignstudio/images/qt-bridge-import-warning.png b/doc/qtdesignstudio/images/qt-bridge-import-warning.png index 8f037ca263093e37ce864acac48f1701997ea6b3..bb1dc846b36a7bfce2c090c93b130fa86655c00f 100644 GIT binary patch literal 35765 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 literal 35447 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 U+Au$Xfq{X+)78&qol`;+0OPdp`~Uy| diff --git a/doc/qtdesignstudio/images/qt-bridge-import.png b/doc/qtdesignstudio/images/qt-bridge-import.png index f438beb3c2c8cf008189e4f948063803e4091d7a..4f07304fcb0a5bf06ecb5df3571338c80335ffca 100644 GIT binary patch literal 24992 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 literal 25057 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 Y`0DgNt74xf1_lNOPgg&ebxsLQ0BmJ+vH$=8 diff --git a/doc/qtdesignstudio/images/qt-bridge-override.png b/doc/qtdesignstudio/images/qt-bridge-override.png index 86e045278b5c5f770b6913189914867123598266..daf4922f93a28cd15f0c911afef69e856581370b 100644 GIT binary patch literal 23212 zcmeAS@N?(olHy`uVBq!ia0y~yV9aM=V7kn~%)r3#j;VMn0|V3F0G|+71|*=MpuoVu zps1(_7lVjMh>Jr+6u>}SLIT3YB#n%WT-@9uqN3E))O2-qt*xz%jg1Wr4PD*con2ik zDk>Nl7|hJg!y+OK3=E7-O%08WqhexA%*<@<>=YCf^z`)d^7G^3b zYH4X%+6F~O`Dklvo0*xpdw2*63W|z~ii?YTdU;7oN@{9q8WY?G>MIkjfI6J zJ|V%|$EUBa&p#kw>a=O0;o(`?*#!j!0fB)tX3k7ZO5)++DJdC>l+moA+=d2;`O1B(_dI(P0|dq>B&Z{L|NsB*;lqb+ zZf-5Dt;<)eh>VJwJ!g)oxp_rp<=lDm{`~!;rmALaWVB`5wus2cl+@Jl@bGQhw=?uV zHPuo5@ZrOgCr=EO#KWSZ80Pa#vi5|i8F8=@ZiXrU3`||&( zSN{Kfb2Y+IeQs@reNg_9d!O#?TX<|m_sc*3JyRgF~0xp zkLt$cmcrYUZm&4U+?ush_2a86)#qzpU)iZ&`=Y<@ad_QRXZc@??f;10T9jV@!(BdV z`*gc6yX${w%l~-bZujXS|NpQXc6&ZbN7c-Tt5RMiP)7O$)a{2rJUwZ%Vq+8+(|MyO>dwe~v>g9jVpXOU`&nu91 zyY_eXHs)N}_y50#KRo}g@w2f1j(?FY?-xF->DeoF=r^-|t-+J~7cNJh*dM=C(3a)i zl=}bA*zWls)SUfSHMjra$-2X z-`4;B{{GFA_otC0x;m~Z)Rswdv4@TBKTM^5FBZS&th zdH>_^uT;5{)lWsU1Y_clx5_%%?8&cQvAMCl!@urxxc%-%^Mn7}=l}j4#k!<%{o*|_ zKlo+e9c}Hei#c)RgZ{r4$McO$pRND(&$PR!w5O6$>=n=M->0W8=vD z3c-JRaYr{A^)UTNy{9eFl(=4T;r#H5=#LNb^FE&3S^q=*!};)o-|Ih|KDK{bOoM#Q z-}nP6KhD{wee^sp{{OuHy@2X7@vQZ^ioDM+RW3ij@_udWE`bGiYd*b_lkey*6_UF? zZ4%4Ygce(w<6TY_#s#&`W4PyP*G;`58- zYyQsPm;bZ+!&-U29jo_$mH(gibN2ts;hVp#7q7n-Z+ri1^ZNhpf9>m;-j|M2zi*PmQ)BOjw@7s4TIq2i|=TB{Iy=2zD_FilIc9%@nL&fbs zo}?bzRexGYC?zP;;7R|(k59e#@9g`Y`a-tL=AV`N^LG2cAJ0$wx7zH;{r_M7MseL+ z-&DWHYpFE-}>QS*mLpv zUyt?wDZRO5&+^~q-{trJ8*b%k|8LVPNo@IfQTdGhS1WlZb-(^2d*@mHsr^SU z3DllG^zZDA5AXT&9@koaP2bPJ@aMDi{y)|q-sj)Yv|G7;_3w|;@n37TCwH;y+Q;vD zxBt`nx%TVxzSTcx-~UHE;QQSCmDk&Cr2qZ>Xe+PnckSxKA1YfaN^R|K9 zQ*?ew&N21f$E>H{JNYZg^Y~oR55jdD!#ZO26@;C7IA`+wsX`Jez81&z|K-Qrw0^(q zU+z2c`~MxE+1I>U=+N=zQgZy=&sUG1wDMnmn(O%ehl(dw-~RVkOSFD}TVPv)e(;yi zA9MF+IafE?f8@$k{D0^#@0=&Gi`u?c-CJ#QcqO}yV&PBG-NX>Me&<-dexn zHdtHlzUl49KXt#p`~7`l@QrhC`}*AwA2q<(JKh1{Yr6etppW z%lq$h_#Fd2D&$Xp8@cqlbGPlU?_#R)ZSxA|etI8Zq?pToTkW3zS#^PyJ#8&-Oj91S z?)`Vds^#x5zQ4aSCFg8AF3AXD&)$|H-Sg*{+~3*TUOd_x{(qV7t$%yZSF~@-_+@@p zedE{n@wYFn&gkZxf8n2O_Wxxc`x0$_FwXMN_-A+Oqq!`)~t)f#|F1IRE-AC>CpO35;hD*D3bWG^%_%-Z?Yh33%|BqEe7Y-n_I=JCLqUrz3JRsG{9G3E zDke>obiL>|v7-8Rc7EMc?fm_JcW%G;>(1@``ls6Y`^0V?`*bCaCwki*4q+FTJ&78& z$y;t`KFxK|zVzADC8P1h^IKbOr1CTvSGzigb)Ve!pziVK{Jmd)>eu|5Jpa!Zai{h7 z7BIA@rj^`XbBt$Whd}y)+kf`1tv~##y_un*&{3d?M~X$QT`GUo)hmbAd~Y-}7H&43 zRiNG6cv__GpF*MQ?}8@1bmrqSwTF)F|94J0zT)-d{94VH@6%U^$5%X-eRY7x_*Ulg zj|FV%2NT}vY-Nc|Jau0xe%<4<-X9wGe6llGyDeH`j}FgS=988gsvd5VqRBF{^Yar= zcpl2w!1mQb?n?AqtM0xI`5l~weR;Ffg+H*ruX*S#awC7QtK+|=`g=aRaa`~5xuPU+ znuEJ|v8Vd<2Dyv-*DhYb=GrUjGjG|Z`_+f4&c4siJ3sqlrSwf#?xfJiZ&UKm#@;!X zvGUt@vt3QPSFiFh3U^AsH%nV+-OKa6^Sxcg@7z-d_kTHgzP2xF&)3%N_m>?yByex0 zqyb~7I_SU!2ttk((?F7D)D zn#|y{Tq2b+=#AK#n(B6n7!Yi{l1?)m@kEVuvr(*NJt+xh>`s;?BE|ND>l{Ts)u z&wSe|Rp`XF@vM6EU)4#s*c|q9yPa-iR%K>%`~6ig$iDDz%dFcxKFh4)C2umXlRU5{ zCiuSo8a7sO?%Z!b7EUhxvhA$gq2FiM*L+^@Ba8swi(#fW6aRF0K#qNpEz8|uy_|E$%^ubVVH{EoXW90& zMTzgojg8c`UU=p6o?cGP1^(;%jrXkFaVz28G3lli8~;Sl{`esJ%8WW?Ig?`Es=Wsj zE*Pvd6wEm1 z$+UfnrF%YdiiUe%vHq~{&#~v4`}rFGzTCb-e15(1mksl7?D-w!G4<{7`z^EL17B)w z`uydGZTs$)&IexGmG3+0&N0tVPr0*C{fXu+p`6vWvdWbSmkyWh-13q6yV^Ywef5;w zt^46XXan$Yabrm z75DW4_k3>N=g#cOyL&3$|1!T{#_Ge{w35l_+!iefv-mZ8D+13p8UGMp8NT#_RoC=; zm5+PPuYJ8?F1P37gG;{-E{bKdU-@tE*PcKQ9D;$H`h-(1|!|9#yKNq^JRk3aMYC@Nixo%-pXZFwGFz5QFyk9?Ao_uc+{ zZ=Jvs$!GPK%QW`9{PRBIw|Q;7U0KEDpZ7OD7q+^uzU-gxXV09!v(L%*)YdpXmJNm! z*&fg9?d|`iT@q8hEm)ub+}U9h%dJI8MjVZD7x&LRw&|1b7T1HPPWPN~|LuKifAWL- zyT3%tN?&~D{(Im5%X+Wv&-^>vEb9NVulZ4^+*^DL>kms97fCBlKlV2Aqj}GZCP&${ zD~~72$+RW%|G${6c;{T7>?^5@pPTya1=LPlQLZ>?8}+|MAl2dJw2N{#uO%z#)TwWq zJ4++QB5LOE3VTH%<(I!|y`>~1=SEv6c;rslaODp3e6M9vH+FuvnsH;|)5*Sjnm0XL zX*GZMHO3S%SyyexdGi$Vcg=K+IKDa9-Pp!v&;9o0QV9~tEzc^qN;k=I?Frbuv}*d? z)ek?mv^eHJ=QNzB_vD+6bx-zPCYep2ORktQr-$-3EoEJ(SYqdtY#xx`aMP5B%`M<~ zkb6tigP(bY&lDU=*y02fXO#KA2yx%E|A}Yg{x#fFdarf5II%4;Tg9_vDd!A{ERWWe zi7`2oqNRSll`LZp*PVRgr`tq5$JX1f56i+GQ`fp5QskAaidYcFZ6GI@H7zTbQC3AW zL{Noib+=>brz1M2Wvt{=Qlwa<+5{5|j4BNJR&vM$C2K9&#wrqJTFPNBpl6k?! za~WTLJ81WNZq0Vip8hW78^Z$w^Gfx`)uLZ!W=&q1ruMB=KH>sj(^M|g@Yvwx=bs(E zcA-yb%ccALvt~x+Gk++(V#gEUeuaG;`yn3_8Md$r?MUi(EA*SD(o zFdi3}F@u>;EJK6y%S@?PF|y%o%YWC-nQD4;!&=cDyARymz2G~`i$l!b%6lKQOr7{Z zdW96*$*Bt#aM;XY?<;(;mc_T{b;xGTqgQwR%x2WT_}KVCL2a_wF`w|(vMUoS6YlW3 zu_Tne*)_ee)hfwgq27c$*4N{%hhEs=^=o}O55r@R7n`@tny7sEzV(-Uw?io}DjmK` zOi1VNJI}~@i_s#LL6^~a1=AG%X4aoaXGV(bzGoZfzi4fP@z#b{ng%P%N*SI^{2N@% z_aJMQYkm_~$y!^>J8u-FIgA~WBY6YTq-uq;6qEG$-%HF|efmsHQGo;dEo)0zyQGP? z7P{?jWXPSNxnP|n$CgqC|8EJ*=WK!=pVr+|%Pd+hDK5*Pw)%N=!$hZF4`p8HFnL{Z z3-q;|v1#k~i4n24KV^x{Vpj>~yTTV`Ey?L!S?>7h=)S4PW?gIgW>;+V!r*&vf7|R{ z73P`373@`Fb5l0tUz_Fitf#en%GRqdoA%i-YB=9r-CBA@Ft_``SHJ9S%odxorL-Ir zrC6rQE<7J}I9*Qme_f_}y>-B)ghB@8o!3H{VxE;X1a8oBSie;Cj-24EhTWOHCQTQ` z3MOygr8Ot#%qo^#u~l=q*D|(!d)@S9_rY1F#ey0}>$l!Mbaqbaf+kiqBTH7t6IN_@ z4lbJa?gL-&)6%{FtXj*>Z&@v63OBZ#RC8ge-?eRxeBQnBTx>c|7cA2G64}>N|Nh$k zl@`hSgqzOjC4~5&jd&OEpq)Yy4G4tcI2@pewuyPQRQS?Bk}^B+5XP-sPBhRG|}tl<3@WN%Hp%k`%0 zflx!y7V#C%?j~uw4wgP>2zSUooAOMiG{84K?#1SclgdZbZ~s*dFL9D=QHcG=u~2i( zfzrkAoOU*bKdtlN+v#4KRXF>0%36&p0?J(3$L4s? z4YnIp?EhW2VZ$M1{Ux(*KIIBe)Vgh|_CTq{@9zcERsN|hWfRKXTMu2VdEC)kv$top zUtzCj#UH0~_VBd@yrH}=ud2Q)(g_v(rK2kK=ERThe0GWg-Nz-Q9z+TTYGqzYNnKXt zI^ouvgF(idO_b)E2In0KcI}ut@!*D(Nj%C=uZdX;<{fVex@vHK(n<9XA&c)VG7nOJ z&^EhOPQm4b&+5J^ekYH#G|8Sb7y5YmMcdZ$oXHYDy_RLsvOa-8-Jn*bRgCMz60e9= zAN!TA_(1vb{r9o|%?_M?TKI+GZ}Ij0i5$yUI~)u7pT?DW_s`3(`M2)P|Koc*`1SoQ zM}z(^ds}-i{?a$O56gbG9Q)1j*?jJQ+20>kd&_zL&VHw#EM4!e`~P=|&CS-!?N29X ze4Q@t*Bw!qyy)`p2fXPWoGI(;-MjtuVjii;dUpw1Pdl=+B+>ku(xHqm4>o9o{o+*G zs(NhV%_Y0@98)(aD4B%&Yx=wqp6|k#|KzU9<&73b!IzfGUYRIp62FG``uC$pCm#Q7 zkiyS4v%h&>Le!4_`D|>Kr8vK0*zJD@zelVBU zSU7N+nW*t4cX-!p(y3$(~y_Bf6QegtyU-4M3vdWz{&%)+jCsU_!XYiU3*FPIp zsZ4hHu;af+(3%N*Br2SB{;}Pen{<)!m-+r3>+Wo`a#pie$?}b!-BG{j=|5-2_obm9 zN}cSkA5)&&WjTBA+DrA#*+=;Lw;#9?X!dH&s|iJughH7dFBx{aD0teq>8dPbEp>3b z7;xM(Yqf%=;TA{L2`Zj_t@VdqFJwEevgVHBx$XvYZ=ViJ>CawM-)X(x9sd8@6aGUl zlIHKeb^lDp``7yGW4`W^iduU>aej*a_3P%-b{!0<^sQZRULs>lLi^F^rBb>+Yqa)N z`>vkg;ZxqNdfaE*WV23(>hRT~H!k^1ayeI06m+Y@xbv2};oURSYkpR2JUO%E%(Rj- zng&ZPS>w$txmmV7>JmE0-C(Zmamd1X17C%%qs)T(YM;h7wt!{lb9c?#{pxATSJs@R zeD!)SeDl`D2yq{<4L|UPspopSs_tF6CmSlbx!g3@PrGYt7*ZB&U=mvrej#wm934%) zU1o>Q`O9f-@wB+C8gp>PrlegjmaIyyI#HQhwQIrQkQ%3=PxIEUSnQ+tLgHlT6yCWf zY8n5`Ub-;At#GCZPsK6`JBR+SH`uD5X&XKNb!>ge4QV#+QrqCW=bp`KEL?y3;{4!U z*Bhk02n)BUDuSA63cl9Z)C3Eg< zx^vMJo3RHBOE3Tn(fhys=4Z5ccbc9)!BuTB zxpcxm-S8hO8OwQg2u*wTsoC~=v8}Iz1@n#A1ueWH<&KW8d0w#{6P&-m<|pT$-zkDe z&uqH$ax<&wq^_4;3y(PIrbn&z(bL=_>bLp5ChMF#7pItXzPeZ9x^O{7iN{l&R{ zFTHzut%jUd#r2RUGDTiiTi(m<|Nif}uyT2Ao7GIU6A#Nz9c6!Y-zN9|>l(GiwHvB* zccztXOHC@u-BGgeUertBl(MT=x5mABYuNqgYja%E(q|w3=z7Ym6qpmTfqUt5Z;|bx z=9BwX#f#gvbY09;U;Sa$fhjYN>@0iV(-3^Y_wD6bA*tW{I8S+n+;v{IDW&VCrRqt~ zlU$jfOqM7A`uqOA&R@5LNy&og9TEMP_oo^#Nt^KJZV*@ljCzNE*Xb@d5%u?;+(rGOWh&t+yid88%~e0`)#i7rYZCWdAwN&n z=QEC6xi~RqQv4Oe*gF?5E_~Ya>{QpXrOTdN3|zisLqt@}G@GceOh2|~D1SM3%thd% z#9!%SPUqc(*d{F(&hn5+d}I-x@<32ZPU%rw-0Qb2iRzVQCxmO7e*B*CAY!BEgc&oY zcpO#w8E+>hSK-A~Y^ixy$kR}?RmPhqpYv_-%oWZn<2kqby5>$(X`S8Hm?uVE%|PHFX`VkhdABtmH+l~zyI6zVbULywF)n91a2(dvvj6(M*NXT z!FTUnJpb3p+!J}gbaG>|J5T;b8Ocp8xhx=1P^icgsCfW^cdD*I=~k=Y8=F zmzO^}<|qHGab3pqdga2D_Ve}&KeH##ig$fpf84@;+A-^G6_-H+K2ts?zx?xl#xGE{ zko@J`SWC%`4=iKKmNH`ivQAA&;ZgU&;Zi0 zS^gP&UjF;^;*sxX&ff2W&)zeC&96$jwtU7p(@#H)nC^XPIp%K~TgdXi?@s(B;WGQH zC3gfLy+85G{O$eo_xAJ4y}#h|C+FvEP$#A3+WySN$3JiR=PP~oe&N#k-Wd}Jt%9+mZ2({!DAAy?z?aN_rR^!QTb+MRMxZi!N>ScIyhytYx7S_ zniJCY(c!OkNPWQaZj)NGgDEU;XA74fR?PaBwQ9+=r+3~toj+Ld{_~%j zMP6E=Z#P?h+;XL4h4TCl6VC2xW#6&p%NM@=26HFQT=CdHf8MntR@p{{d8%sfYTV+s z1r{w1o;!8wQnxajoxJH&7Hyqy#X~@8=0z{rqy*U&^~NmsPM);ui#(G2qHt?ya!Oj{ zTOHZF!1FV&xKw#BunIVNTz92Z?d&Bbsgh@#T6#Q;ufA{J-dVhCM}%5s%5JaH-7dS> z+oHQ3ZJyM8p{Hci+Wh3tjQ>ay+qHf!A>Mazi|GWYfiTXJ$68+Qx6Tp27R>|XY4 z%@dK+Dii1KRq>v6@-WNt$m2_bCi^%vPSSX~<=hz))wxsWP7Js`StwO#vX9clje3E+ z{+pfNZLc&sH`ANxRm%2rD|{vePgm(o_b*;?HCU%{m386YMV5Cj%}^0MaZVvsbGc7q z*o4>#dHepqoR&7zF(K%#m9MVf>vuc!3QB(RvR=B7IVo>tbad;TJ>QJkAM|EzGvK|- zrM&cYLHD6n%P(t~zvlOwT~Iu5y5aI`DaOAGPTvVNznVXjx%q1NtK(~?%_|FuyB~6S zgV8Ofur9In{7kNjCyw*?Zhtjt^{yos&RX8Cjn)d*a@VrBE4rq}_2G<=TbCDk&(hvA zHM+)1w|Cbs)$Pyz9)G_x=iKC{YFF=E&^=i=yKC)LE%*H5h+8}RChX6hZh0M-}!uAwXMVDK%|^bik671bMM~cPSQgD8?{B3o85~K zx0_fq``5Y2w^!(IPu{ZKwfs$4Wwqh=xbEO%yTVQ0KiG8awx9aD=JL!NS=lo;`ML=v zYILprKA~m8lxmxKwy_W6{@yN5HVAmX>qhkRaO-7Pt}oMiJ%uOWUaYzq+o{4cx3*l0 zd#^snIk@-6gN~g$4L9!(wb9uqFO}by`^>DrwXjNBYF5eAfAbpGH9mWkSzlee`i-CE z>esIvicW_{A3h=Z$||gCdF7$$=XFB#%kO07%(FJWSi5k!#?JkB-#^&$T~B40h5Jm<3b+Gen?+*mOJ^MpH9Kr z$s4x$nOT-Rnzh>0^h6Zrt^FO_^zDmI%5-dB)UIn?w($1s7hl3d^th{cw}eM8OP?fi z_VV77+h>1{HJwzsf3~aTdXw$$QAMSWM)l91wz~a&;q&p+oDGFrc0W5)a(2RgqdWiC z&VO@l!v7s>Dwm`>*}s|hP0V|$XUHa5SrmA;ocrx|-H z*5~I~nFU*J|M>5FR!CQyFmv*oXWJT;*6dxeJ91W;yWxWq^H1)+^=M}K#N@~6q5Thf z)gy|{bgZq@7oShLc`-`xBg?PtHuuZVCQJ!6XJ1l0xh#CahhGy|O1Ai{GM=Vo>vY;d zIqTd@)`Q>b4wlWth|NpY=d+7AjhUM;E`aKq6oBPh*&yFeCaeUg=nU#5awg%1E zA^u(`^DQ6S{WXm`LP3s?%62f>m)V>TKFby+ef#gU&UNpWUVZ&kTzpzhxV7xrnoYGQ zr)IsJ6_A{gw;+F2?A_fa*X`!q4Ygzu>3^PoYUPUSS1Nv7+H*b9!2FqQ{MGt9hW>oJ zpO$NBOXZ}VeZGELZ`IVF%T^uxw%T*f5|zd`S-mD3mnGbr`)b|9vuAHqX?3rj>@H=g z%ezzE^6c7QOH@woUO0JciHUgDU)jpXOHPMgjGtt0^5Bt3!L!+VTl=l0xhy9wS>nC; zZ04qWN4KrsZo$kq(`%~Agl|3Eey7^Z@73SRmY%zEMW(Qb_FiRA-o?uIl2c88_UiQ= zx;f!^R>_=Qla+4A8hfT`PAz-aU>&^eq~futkbRO43Llh9KCSrIdm`_~yV)Ff67pk% zXL;DJ)S37>MaScOO-6Fk8Xgvuaq`E}V=gK5Klq?7EWu`L*Td=X*A0SM3s# z{nse<^ySZeO0Pn8B+Fb@Ew`MNGF>bEGtczAxfhpQ`4V$AY~B9<61x{3zrAR;?PX)V z+|T|dD*JESU9NDCx_II8yeV(qX8N6b`^cm0u`bu4X|e^=(qq|blCqg$_oD=C=qjEh&XX43S z(RbfnGg4c=#N|NYEup1NnMZXw)xR%!vL*RZ%E!pQVvisre_5k4&uP(0Q%_xbcXG+X z$(ELzR>hpud^_Qr&-H?RzG{|b|H_0*W6VVtd(ZI`78TYyEhc`)cWU~iHZGNIU%#8H z&I-D8&MTrzaqWYg(9lV~S~K$w{{yD z^+*|ay)xokTQB@g;m?{6%Whb!oN254bMe$Sv$yvWAHOtCUvco5UAxuXRkH0K%BK=N zZ+&H!x18!(@ba$l^c4R^uT?gc?KvNI_GQ5a@ojg7-#8fYUY!_ck{)z=&H|ljzrH8G z=FjVrzU2J>HPg9=6TF^q%$sX6b4$E$X~pSp|E?!ln8rAm-R|m8KB69YDY-x4@4;TF zX7+!#l?+p+e=hB~!Esas+^$@G?7=~|fE?kS_mZ!?nlH2SSF?2%k6muv)%Tabvd<6g zJ$U@y{Qji6P@8KKH8uY@WB;pc`#I~&=ODwg>lb}C?f3ep@coXU@jK&(lVAKW|MTE% zaedX1H+N?9KS+OgKk&fsE3=>1ecS*4O~=ju|8DLy_qT1XIh%f7efhmVm-Fl2R@c`Z zc~c$#``g;(j5bw&YTs@B|8ML5U+<3p`{Z%+_`cua@xR}%pIfc7>i3I?i|78=eO?{^ zd-eW5^8fD(ZvOvqdi~d}>-YVfVR*02Px|to_w4-p{_cJM@4kG^E}wC-&d(oYJ3jB_%z*{oUIf zoxsh4b^-s@W-NKYw$JeEHUZ5u*V_;JhHhSQm8a40s>7P~ueFZNIJD!ab&%bsXLqLG z-nm)lk;C6;jqozuLkGMRX=@d>9vbx^LI|> z{@7Ar^GMcEe&&TI3$j{PKbPW}u}o}hS4Z>L{7o!A+3GCMoZ3AFW^sOL3z>cAQ1Y5{ zMLf^0iKd(HI6FW4@$KtrwtDpsIcx>=3N0**B_{%(w zAxd(^QqDDJreBRMH;-G*aMe53)h<4J!{(FS)2{JdCR*8xX*COta-;yy>@6Xs&33%cUl8f%OK;v(2@J9sANYfYLNe&5dG z#Kb$ZS00zD(%;4Wsx|ARlc93l$9wwnm9qIp(kIoFAMTC*pT>Ie%f{Eeaj}|FmMg#c z^r@UrOXHjNRcBGh(Lnom(^gi`e*Z<0w>x99eC}$sz!;h374K*F*I4|&w{ZRn|1TLm zrE8n{9>-qi3f~@7cV1nVaaG%DizK=Edn0bohbyNrE4e8dF@v@zpUGT&-e50 zb}I98es8x*%{p~GIX8M%RNm*}(yOka38FiSZcSs`5VZaJI?kd$o3sD!5%&JPZq~V- z-$V>%iS}2xpK`a`QlI}w_YkjWsEuXbYK09f921v@``MOEs``C*cZ{NUkHZGPn1hNF z9^7R*q>-}G<)`E!izB}skJLOl{`tGyU+HU;ceu5j^yD??IOte>TI;Zq2&X5%j!}z{ z#X|+jD+iq>E!@~`Ql@xL^^w5);)$OpYVMg?!8fJ(cHj$vKYug4W^p;)TU}RF^09A5 zzs#X%{li8E69p%hx^?*TUD(gr%-)o_=Q}9LShkd}ygDm$Yk>WgfM6Nzzt(Gx%en6P zZ`M=3q$Z{5#7)ajDybW_l-^b>5RZHGT|NpUn-|xNuYu_DoG{1c0cF5-4B`zhO_aFYQ|NlAv|3@A-`TwW? z`1kbb@q0RL%6E+V;{JW#$^QEL^Z(zH-H-h%`}^-tGyD7Ff8Kk$oBn@t*Ia+E{^$Mv zdn@0qzHgWHGxYwySC^lKyXyb{eQBq;yv)`=2if!I?PhWGKdl~k>c3s>&x3)d`)dn+ zzT~pI^z**E*8kbtB%ak@7Q6f>|5nnh|DeA9d-gpqf9lU?2MsX%eR}ce>}SGK@0HKo zzqqR2Df$WWNcH8f{z<3ROX?+q|1bNg^6ar}lznGmjnnz%(z}0N;C~=oweN+-nfAJd zf4=A2|E+oMY(Hav=Ks2D|Nd5gsd-`e3^W1yH9x9FXLQ@%tftorw9gL}OKGiPgZSeB}MNQ_Y^K)z7V4Q*`JMT`Rc2_zK40!-Y1<^x$p4!ugIUh-v6gLwzzOd zuC!fP)hwWNuHosoE+$1C=ZHH#p{B@BUK7*1zDRoy7YNRgT3g>yI1W6Z95v3;y4iyhnMOLeH{)vg<44Lz)a` z{rVm_hySlY@lyGSCWBQ!@4M&QeQ`cJwJw13(28sJmPMZz%9pMCazd43@$BUv5Q?E!Lt2Rpi^x;=EXX7r*B8zap$A3kB=JY?Q zZ~r{exYNgEapKk-vGe>a(bYv#QCGsdE<`d!24pk!eh+?neBTy-yP{QluLoL($H(Ot zGx}HiuDsv)+slt9Out&Dywc>}c^mner=wY#_vQ6p-~MW<`CUW)Eg$|WUp={LYTknd zKYvF)+&j15Ct>9(KIxYyS9mxGES3KCeH1ZU4((_YJ@0@7mv!`^Wcuy=1iA!r!N7fEM~0 z%D=zx%d_XPuvC7PO?}8?$Eg3ye*X42e!s*EhKWNw|m&#C5|E`BNe(B{L@M-+rr_FUSST5&(B*`T|1 z=_kJEZ-GnRr$}T@`2OiT-{08@70(z~w6!rVy!@fU$tmNyfrLcki$hz@baNZ4;)O3O zCw;1jVRCD-vCX+I?8N3Kd;GGq)hgB{&sha;5iJWZ`$payt5DLjp^ZBTKmY!>9-u%OmD1j68Ij z8w)F@@m)w->R5MV|MuVBrqUJxn=jbJsJBZqM7#*8kZxGN_*){wnvfNWpA9@*qYs$A zHe%S@bLLZ3!PBqbzFk`A;Mlld(&XIL#%)2-@*jGmrb(+cYS*7)&*G_)dS?6a`?i0% zD_Oiu6ZLafso!?o&aJZgz?&PT`j5M&zxXKm=9#O)R*8dmBnq}R*zkQ2+iJh&+q0gA z7_%9g`}v;DsBByKa=To31z2 z0Iz7^l{%fZ!dB!S=gLE`yG^go&1k;Q7;-c1=Pid^!Gz@u!cq1O)AU8JoA=*gbTu_y z!F0#8QDh3=oA1BA^Vyx$VwSb6`FeDj_L^OZR~~&0Z#25HH!9+}?2E_}BaJ;fGgxPQ zzBc9By_eE#N#2^4H#?rSeF%G?-Fs74yG#3OZ!h=HdySWvCd}sMvR0IOf8tkXpLB$w zpzzaoRlDz}Z)psZe&H6qJmf)^+HwVs;6J(EAJ=|Z-}JlbwXo;`U$MRS?jO%#H!nW; zddGUT-9?&;57Z4=lh-bs!t0gSWXa!i!N6W>e$E5mCAXLu8V(5>DDC8PI530%)Wx_3 zdhFf{+7e%s1lOm3*4GMS_@HTh`(WvXi;jC)LPa0wan1^4zYrSmcJHpx{I|{qtKyjJ z&iEacskHH5(tYdGoUp*td;MlB`zK88xpCt9=^d{`uFq)bX6ZhCeASzkZb6ftZ znp$S11o|33c^0y3zfHsb%x+guCfo>W1wFqKe@ToPUJ6{d@BI5?(lP6{f4<+RZ|vRw z^3VGlpE&QvAG@+Y)2{PpMf)}XB$@dxtnW`dz1tRBx9eHJn%Vms9#=k7y?K*&a%|Nj z9!rY6|b_S@Y~vTLi7Q zeKlLOz{;ds)bUlxOb*8GH7eQupR=oHwHHgbwzQsaQY`&&af#L9b4>yhXSYw1zn-3U zPo7iOpWj{n{fn3PovwYHe7o$Qh4&B6oa1M!c5f39a+275Xr{fpfnja=!smu(In^|G zEWCDh>4z4N#D9x3U3UF36ErR=cF~x|m9qO?+~yzC&i?MWqciR70rO)W{)-yT%a%3N z)||eDH57>G~p5)=%xdx%S_^9Eb-Q%``c2!8TuYpkH96XZXYHYb#|o9!d(2anjQ-GFDtLcx_RE#~&WCa4 z$Ufb*=$*nE-$Ktb;nSCSN7x*UyA)AUjCL|9nj+dRQl-MKwAx^H|6@1D3cf5jAo ziRqo7RoG4%j;923=giH_31l&UA&?i$HeW1%XIa1lhRq9Bq%-8coS%JW{kLDar*lI~ zuU==rG+W%G{;StKsqPyx`V4D%Ld<8}*_)Crv5MiUckiCG`&uhLRjdv_^>FIcsdYaX z_N;x&E2&oe^Xt}Muj~TO#d5Cs!W;TqDty+3Wp9&tsJ0m}zh&tw2p?_`dIWG5g#-G;IkAU#ERtY%{mf`{faz?s_FJ z;MkYF{qC0!?#EW`-aME4RLMq(O0EC%<~xY1pRg<6pH(v9zG1}Sl_y`%ID2M}jiKT6 z@}-%JrY`NjF-O$p@^Oc9eTI(G0+pFrTdmB4`?i^!=Qq1s_|@{l?yHxYKkU2gq4ez3 z)pHvquRPrPRdvDHbw%}S3%0Jj@A+x$+glFp4EoG|?+Xg=PPu;bd)3pZw@L9~;xpE22k?GlS2^sEQGfnV>>J@P z=N5eCePJN6U&G8LZ=K!6#fD9Lo-O+r`a9vL?feoJ zjXi5C7HpMya$kMdvWj=2$sZK{eKQjJ;1!?c9sjamzsiL~Cg-W)MpojE)mqnsIIS+U zJ?yKhW0aWGut;rv;wIU+g?)t?GkqP-boBjuyVFo&MS1L-wX+-3re9vV>fmmXd)&sF z57zC?-?j0+#qAXZiD$ldZFj$YTyoxtxE)o2JFhftyIOMn_ix|u=y%uFGlu70S1JB^ zYQgNDGxuLjS*dwncAdTD)_qGiuHahJv}aA){VPjMR)6$b&^luczsZ4b9q;wF?0WT^ zDf#5pR~y^>+!yB*ty-tP`GEO}7RT9=*Cwn@Fj(OGuGv_8T8;3tu3ZOL+9W2d%9|N) zyyM!F%CvubqyK-)V9$T`U{3pi)OFsD#V*0DQ~zc>b-2CeW=!zC2f0}#3p8}9)>p*0 zr3AD|oIcTD66BNNbHTGss6ew@;I58Bv!o_lou2eDC3E{`X{}XHc>LI!mnMM+Akwm! zeAOb>J$|~WSLL--x_iLyjN%@F8#yu&VzYX0uDBehsm;e$xvhQPCo8^YF3qdAoHXZ6 zbdc~!?X)>@I{k3Z2SbZ*6W(4FI6ujM+i&m6eeY)-)L5Mtr~A#UK>OXgJ@d?$X3k4& z7D|tGt(Fg(5HL~Q=1F<)U90_{?d|HhxzG0HZ0KGg-*a5Vu$iMdMZl`p;KcD(H)~E~ z&pDj#d3*<}UNI=GP;6q`y)$)cV&Z{p-J4c3F0^c)%wt{RQ0#O#`Gd(Fg)>(KXMOqO zn7h)AW#ZC21M#Y7tpcAs+0LW{=od`VbSj8huE!_8_+a6?&E5OUU*EU6nv<|~7F)z3FHE(SYii+meXk!d7Kk@PD($72J=$^K%U%~l>@2wSt{O5#OsH5E+#nbM*zW8UAntgZ<%R}qtZI8s#TU+?T6f4L@lsGkp2kW?x2 zT{!(lOFK`19*64l^Z9%$>`TLyYBm`je)sG+YxOK)Hh!1dw0Vsc{$~@hE{u z__nRDbKXB*Wga>I<(u0Ny-|=LNb2L>HEV^pZni~yAxbIy&{a!Z>z+U-%CO_o)3RI@4o!|03-gj^KESJMVD_m_gt=A>piF6(l_rvEZiMi zC^p|k{QV@AW16z*8NdE~yc6@SvMkgq@7B*PF~J!v{Hg5PxS6ZNMHIZ2I-J~7{wX9XYR<3n zl8=nlc^P3@3d_^#TlA<`9_cD{PTV1f2iE5DY{d(`{%0dPs^M`2Bj8ZYnfHc}J4 z_2{wsXa9Nn*TgnV^(t#LdYe+W&qz1#`1Fg%emiuV|L+T`->L2V)nSkG$@PUI_3rNf z-Sjkq`P$37J~0XT*9a~BebmR(lk2y@v>>I<=`Yh4Mg3vRVKUD1YH_dr=k3#Bd+pJ)XErX+H{0s(?K{K+RTI-_d;S{0rY=zP>-*zRG^b zVxfmmEk3?q@u2p^uV!m)!CQhqPCS-1{Tr>Jqi5st_n_=l4(|Rc)k7JdzPCDGlfM(( z`GIL|{eJiFb~#|lo0`j8J|0j%zx`jrpAe;*CHr}NBTwILi%SVeW>I-G(Rv?Wggj3X z|Hrp)R@tAp_cfzD>czpwpWm$7Q9Y?{y`1#CO=8#c&t@hElzObqN;|k$_VY@G8B-P? zb8SCRy*kb@%4_4cuDzjeC$1F`nX+U6}#HE zt-Gb0wUy0l>kUrk&*xrUX^7yPIJ2lJAtI=?%(l?rUe32n-a{eF)`-iW@%7X$n08{x z<)c3{L)2%M*{GJkUfsdIr~K9Zhnm^zy-e;-o#4KDu5{3CuFjj0Px2;ORBD7L$ewMk ztjfsRv!m|pckzOVvZ#r#x1<(yoo1iHYVN;tz19+$ zMy2pwu{RX-{#3XB+iRDqd-HPq-5FQwY6UiQOGnr2o3@8@>2~>^9@bw{1~M~q9DNrg zh_KW!Sp>*Syvp8^!2W1%{FC*w^5&oOSiNIPTCVZQix*SdA{gtUz!JJr@${0hmq9krF& z^z+4AEI%CfoEJYITFuR>7CP_ypNidCH)Df}Yw99i?JNG|lj?lZXXe`aGm`!_o9@Q9 zEnlu`2U6}XqQPrZKS((}P+;=u+t$(g)9%+-3)wt8F)938u?8on_3iWo| z{51SG_jl^+jnn>JTxk97>77b(vo|YV1fH|zS(iF(+fIe;$F6Rf5F_LMZ*Q~zwdHF} zP1b$=>Zvws({7n_k%v2%R$i~M{NSfn{^QrIREzCu1*zAvt|GoaB^Ns(}V4EFl=XW>-Ukh41 zTZoe$AXdbo~}X%Pv5DT30q@@3j|x17O{Cct=-jjQnF1*_k3A%WkJm%-RyUg z8KGz5_ue{@S9-cl_Pg4Y+_?6`cb~m~EBP`n@eyt=Ujg9>c+{jomvRqpbXpFdf1mWC~~SQoNs>Z#9NkDqVtVtRTq z$+hs{$E3AN^Nvlwxc+}_MYs9Cx@8seyTCcSXW75Mw-&zUf49PAg+p97yItkFuk7XF zN_%AZYlN2mY8E=WeBOh1=YD?X;w)Q|zua}Z-0{TM{Ko=S4`p1pcjODKFKCzjxvRhA z@8stu`<8s{TUdYj=PYL&L}>MKh=E`zR?Ut52?uEz7RtTT9Rm!6V{s|J^3AT%8={bmHj7=V2^@Vx14f!~Tn%%JX3HPn#so z>BLc0=PHoMq8JzQSGti!M)UbepHqSXIwh|vMIA*Ri|apnBp&kL?ZI3RE%Z__(6K1<|fcpCCVinveQZ5G^&vEIcaPW1O z@5pfKns(ahOXl$}>fS7qG8vskraa4gSpDxwWrhemQqSiymZTi z{%9MwWw#C`uzoDrdT>>ni`6PdMnRi9v$zUZ{&f^Hzq=}}gRgUYNP@BI3a%x~KYvdB zZBTaO+u_|7JGW<7KJl3sJz@UzXrMyRLb#k=# z*Y4i4HsEK@2e*z5Om*?Si(dU+82;$QukGsf8ye;>-6h0OIWN-S;kxMAujE;-M{MTR zUaY&IPDfjN>H7PLqMVndUyE9Nl&)O@~EblK}b_}TLB zKlh56&)}&DcW|6wrQx4D;k(Y)M!xjBuY#IO6IV%vEK6#CGI{f=-A$V(nQ(oqeIyvX zFKl-Hqc_dlH*Y!}b$hGDv%SSx8#k?WEIiorG;i1Elb^T8R#vXN{oLP9dXMXwH4`Q- z)rj(Hi+gx`*CRG zCHz;ISM7YvIPbuURT2C2Br-Jj=e=H=zFXzn+2ZOs-p)bug|su7mOcEp=Gn6~H}||# zjn;4YSyZ3wm;H6Cm3p<;?jXlsIiC)Hn||rYZl-gYN4N64tSeb`DJ%4L%O>IX8)xmj zCb{kQ-K$~qrkl^1Vt#+^ofh-83oLFv^w86*aH~;TEK@x_)!9Ym@9oDtC9@yYnREH} z{o=luXuoSi&o@7Z-tg?K30t%0e%c+bwYNB1{nEorIgR`8zjyFndw5||Yj1I7_$;+u z1tI%ImsfmJXFZs8)Z>0dgYBN4ZTbt&R#rAH>n!x;i+k(T9hU#y(Bkj0du{X5mOb21 zk-oyu%Q(f{dtXh~{(nKMf;_*!)z{qfT>QOf^xd7dk8>;c_AGq*^wHT_k;n7rg{Y`& z``xpV)7_J(H0hsi_>WKC-nU;j^UXI4=-bA3ZJXHw+sAwYIq%hLrq27qHz9!URccMj zBAex<+p=BPXt29>S*3%A2X?G4E!?(X^7G$atyfzQOf8rzYvmp8H-E8CO@Q3?W$fRt zO}Qfdetl11ia#dQFcrQNy72mx{_}V80`G3^n!I1T+GkSI<(l`J+t>HT+D6^J zxFR6WyS^do42l1|M?fQn@qLAZ(rS0 zoqqN5yU+e#wy&;yn^3SyD`IcZ{kyxbnQQ0GO3{m#)RAZH(*5@=GkvSa=53i9tQM5| zr+hbyT~jzy`Y`*-sOihXSh`Fv{!M#%bzj+gi8_ma)4aBZhO(a1IyrN<*UiaCn$PWA zoq6i>wuhCTw|XAGnNz+~P5*z*lt=H~f1U1W{t_YC)A6K@D_u*e*-*@T#ze)G&ca~M z?xojlws5{JD%0b%Y&{ba-Oeyw+Urx{5*Md}UU26>`Dyot+#aC>4aek)jAqVh65R7U zj&sYVB>$N1D`Tq7*fi68*(sjd;2jSqd|cq78sNF&VqeIiN})a1vv;>oJM~yoeeTY? z&bK~ip3mL0x!1gh)zBiOWx}fiO)(Q4)s1erR@o{ZZ?2lywndml`1sCU3XTaylh|8N z@jJ0iTG;$W<%~+9qWJM`>t%Zy9UWbqKQ%@C&{3M(XvJPSVb*(DH`|s8jEX7`bMxZ0 zl_wtlHeFir+r#726Zc%^5_!0(=G2zQT&ll!I7Q1yzRP(0SLRE;&!L+E8VS}x?>4M_ zc=+3N|D?n{^P?y3Xg)rD<5B6f8|J%n4$aH^YO`*4i=M)J&ip5qVx8U_7OgOS=z4X( z;p54t?lU#2gp~i^DcafH@V$G||K1Htq@UD!Jobn@(fT|>r7vOCRi8(!SNChW9n?GQ zpXM>6Wq$NT3m28iofD3~xbOaw?QiSb=(F!1@1Gx3*JrrrKdWr#)bgKor?1y2{yMGhxBJeS-8FeXXFW8${;y&`L(Qin z#s2xvV(pfDuAbPlp))>U&-|KqFMIc#K7C$2URbR1%+jSxpUG~&RQ96z{r^AjzZ-o2 zQg!cX@ysnzD65r@*gZb|-TGd1v48s|-J7rL`HX*l`F!Gfiy_a$MK6sadKR;B94El`oB!wVw19f9Y{i@gv{;wv^5K86{03XTpjOPWjE@_xowAU3-o1v^xKP zp6cB<&Z=L0sjvJzJ54Kl&p+3#drOb5KcF~KPF4cRINMMkeL|{S$#znD z?0Q8{Y*Why4&m}eJ48A=>x4Api+%Q+EO})$(cXHkn{|Uuh9)~`j9K#jl}V>8LwWy9 zuw7KY`Le|=wz5+$y~-a2t!_dMV<{25`oPkIZ=JKCu~%2};(GT}*JGsTJ!iQ!-QqEy zN$Do_(2UHL&AHdP|9*biD4b`1>wZ?>iTlSd_kE7(J;mKUd6oO`)3u-V<~#3uW_2&c zY?AN0{_-h5RD$-UdH?pf+_YTqy}pxrn8cE&i;~TZi%avC@y^ZMEh!}EmqpH>fi^xos=tX$Rq_0`XRUv}Ab zw6N>8YjT$x%iW#2mv7$5eEsc`Q*hfI@wIcsqV7$ZWY(&tyG2KQ+I^jXBU~{8AJ`Wq zGIKM{)@XWEbywoiXp3bH&dN zS1!AyH9!2^?OQ(Cm+kHTZ!JIY<=~a*%|+T)A2UAu{c~rJ)dZvXs64yhPv5RyD)@T0 zwe8tIukxSlQQLlR=Ii?9PfV4&x4*ZGTP9VI9qaAAV(qVM-{fuYecClaFJ;CIiT9>| z-Iib49ch2bcE?APXCE`>YhAu5t+~F^=g+y2|JJJOB|rT8@Z{v`T@7b*%vR@o<-Tse z;*eF=@$_)lw(Zlyr!nuF@-ygV-|S0|9@g%2IiJ0$YP$5U4SLSjoeNJ-mtkM%;jEH# z=YOJ8_~Uy8x?6MiWK}fh*(=p?AJBVzC)KRNH|%|b_wy?^om;XWa_qhMJ-Jh5MH|<< z&$FiV@?AcroEI+M6nkvv>6{O<*4(?u@jCbnd-0VsjC(I{`?B%0?K>mxJ!-C{s@wfD z!vB5UfBBeR`A%;o?LEt8t>WKqR%7(-dG+UY|IfadrdPJ}cx+npb(J}My`LxV)L=SY z_CNYY`9!(0nGf_fAIMfq+|_<>`N2Q=Q`kQ54}8u0JznX1{sVTwRi&U)iH3 zIP zF+X=SJ8j+nxmEj?MSVT4T7?d#X?w~uXHDSFw*;6!wO?d=CO zp{Flzsq}Swzub7*&A3nVSI=E-|EKxeuGKr{3qQSo{Nt=vk4oRkRm&60b`@qFwl2*s zoLEy~e#X8|yFKoFdGxv^XS2=1GuhL1=6YYhryF)|x4U_DvfR7pF0bcyeYb3%bN$X2 z-);X)u76VYJGXb`ov50J>z}RP{xARgGu!y@OHOA;CH?>9_J7Il@}zD1^WUT;`~Tm3 z%I@8BqnG!Kw(NQ4UT=TbKK%EGxbBy6Pk){HoMCx1Jm33!^Zk3fVLytQ+iO|5#wx$ykA0smjUdiM2d zNu}@F`m%S=v|mdt4pQ`+q)dd)(ZGE>tM$Imw6ed<#Ubn^L6)E zq?&!YcKeZJ(QaF&inGt`_J^H+H0#a$i`SoT)R=nniRr{|`#I)?%xti4`)9+ z`*-@J2d1B&{`1a^`1j%drHi{IerUB+G5_zio5%3K_sV|7c?-VgTYi}3QRypr=DLe@ zys`W{b-`2FuZkvJ4`Eo}IpzA9(!H!P+53)X$DK5cGq(Sc|M9bFar^Z%PXB)&sPR2j z@kd(j;%C$1j_WS-^!d+T*I6&UM#DZVzwonZao6=J>E-*DDV9}lxLWWvI@v>X-N#>V zWU9F5t)J<=CvDl6XSVU1A8p-S_~PCDv-ftLb5G7?p;tNmH_Kbx4nVby=1f4wbNQ(O8hE#5YKpNK`gaeKwt;un=? zoj;rAGH=(etGssEgD-z)(z1tPe0y8ZT|c84XB_-jc;07Iakjks{W|)-QdwH^`)1Er z9a{L*``~BO;?C<+QcL%xZTL9xYE1Ul#4P9N|63jYUi=sx^x2eqlV$wmPghqs`C5xC zJGM&Mv~lr&$)Lxkq6e~-o`T6o;0WbBdwt5m8s8~<)IO+l#BX^b*w0hd%z07zNB)t2 zynoD-{xBTP%DU|z{_iz4|k1U^5gZ{TwH2vAb{8#wM zSI!r_&ns76YrgQm?T7BmU(&A}uY6?r(pIAxyH{~u!#$zC`xpMZ)$e23EBMR&iT9ST zAR~{#obu^2-xq&@>*@>4=R98;#qacA`qB0!uk%;12Obx`ApL1+$=9|DrYdiXI_Lk= ze}4*naeHxpg8s#8AS0#y72=h?=69%{IB$Ky-Z5r=!@Yue)3aEWx-}7(ca&(&3VRtNW%ql*_7guI7@57f=Onak=arMcw|$uS z`@(-Q_3blN7H{!#b@#k9N1&{H|E=e%?RN10%@1@l*i^RV@ee0w*?ad6a(Jt}HIFn+ zo4Ra~W~ThF`;T;%C|h&bq$qnTwFt{D(VKGP_!>5~StVPqtG#vpA3bNM)Ct)+3pVuW znYuo(PHEQO7%%>->|naW{>|Yk-xmJYT_#dcM3?y!yFd-PAp=eBL+l3;x$CRXtw2w*70`_qQURL4J>l_bSfo=u)3?+532^y@kx=@3Pl>J?N+b+9*UA;hF+v&rX-y7H5o1ou1>)6KMaR(QAZj`tB@PG65|7`!o z0>zg7w(|`OsF3{PCR|_kTKIzW%zL~49$fE`U-B=O?W=;q?a8N~8qJIm`#*JSJ&6q z*VEH8F)^{Vv-|)5zow?9j*gCjfq|isQC?o2mX?;bwzi_8qQAetxw(09ak0CHhmVhs ztDBpfyStj2nzM^bWOQ_SdAY8xuA`HaiK(fhqhokvq?wsnbZo4(jg6JHwW_LWQBhGy zSXfk4RCIK-kDs50hK7TKLu`D!va)hiT%5eTyta;xrlzKtsF!ts$k-33I z6XO#Tb8>RJ@BddT`ES$tzo4*CT}B`&)Y$Ut2iTidXR2q`J4fWSZ_W8={9 za7!yI2?+@&XJ=b``>gD2BSV9Xj0{0R!QhY(9v+^+prC}Lq?oukVPRoQOG|!!zMh_* z&aN&tHZ~aT{*!uI}=c zD;}PnjZIBAZ{B?U`gL_pO>;}jwCU4l%$)h}-@l!^cC~kO{QC84`;HyAZr{HD;6Z+V z{`2S0pFVwRVPRpYqkio8@oU$vY4+W(tg3qS=#hbj!jB(6T3TBRi;7fdeN&(OGBPq! zTTOw@=DV4bkCBRa(bi|C7S@#qz8pDrytS=Oe$jv5poFx||06*W7Q$)yA|^T@a_N6# zQ!`Vq#G@xp7zLH+mTfeNY%(%7GLYxfkQcM}3Ny%_S9ScqxU%upZF5zv1C4E5XYaad zkkl7wZ>ZCB(ollw^z&a|ADxUzE!aJ$WmR{{|Gyu~qunMKg(tTy4a;uHsq0OedE)=4 zJ83b755NA|b?I5SmtB5bL}Z}Wr1i({9bIEy^Pf%Q&Wa0f6IcG1OZo3T`9Htrs%3jG z=)2Bv-0K|3z`(#=666>B`Sa)JpCMpvjJqcTL&$nh7srr_TW|Mr$4FAsPOoWqtHTw%7hRn+L03_L=h@%7{e}qwx%cu7 z5+}D#@^`u)H*6H#_Vieu^eYMR(51gZ zF3tZu*XsUHzq!A*#{V~;AMx*P`v13q6Y9Ud-tYE^>zpQ^@{eal!DiR(p1cwJv+!;3 z?)dU-57X}rPk#t+o4=XGdhV=6^>5=3a(vnHY3+jBJ7zuc+WvIMm&D3T--Mt1D89${ z^h?aE|6H751vh!Mzx0>HTw+@#T$zQ{QrkMFi)Jzu~T|pMcUb4 zEw?_-5&0k(csVX_!uEOzu}@-CXL<^qI5(|piH4lq0>ukOmKQ4TyjJ>PyJg?kIf;8K z7ETp?VrTX`e*f0HydR}!-j|jC|NG4K{FGJxj_MCSe@qtTjIWzp8T$F|tN$z7IwYHxe*fL&&rSQ9=j`=& z|HQxi%$~Tp&pz|~=Z%ra%VULgJ!|iNn=|8<<8LutwrP2rtsnWFoMtigi`kmDc@>Y@ z>sjh1PXB*)XIuTx%DeOTI~r`L`*C;vpAV=1Gac}MT=!Mn{)hF0?B6e~_>wg`b{{KU`{h!yCZJ`UKw>8fHuk<_q!1+7%tp6UFA3PuTfA{=- zM;ZQRJWj7?n=xPhAN!-g`$uiRP4 zJdEYbDyJlq%lz@Yl4pPY)PJ+C|5e?I1smtLGu{2Lb^q^|{r_Jqe;=Fn?T_jY)?fbn zeSYkY|M!x=?(630;=k|L|9NA3&+hPC|Ah2DZ~hZ9tqa!282$E|96CEUd)2L$DV6b? zqk^|RX-vz#y=J>k&)TZ@?EhK*H5opi$$0kHN&c<>S^hnoU-v8dx7r%}|F8V(R{dDK zv;N2HUH0i$ULC(*y07$+qxqfZn^%_oK7Gmk&-3Fs^8Z`fw3l2Cj;npUbIzH`wUT95 zoz1ufLqmE(4L&(+ey}#L;-BoXjI}z=_2>Q{w)(JHUpW5X;rR_#AA-OC|M9bbvt&g5 z5A6cpKc9|0uV-DC_owHdvcbpI^>y#Rw&z@Xd|d3(gf_GOO;wk^sawreUH0Cq&-+rj zT6@)r1Fxs7m6h$3?b&kN=E9n{9^J3l>tio(*m%p}$M3VvQZv5qt~a}6`y=_&`9~th z_gjDZe($_F-@nM~z4Dd2R==*BaaiW&XMXdJ<-4Wi>I?NQ8-Mkkq`Wa;$&AQ5<+9sM zPS2mTM^!exw4ZN@LS5!cX{d6RTgn?IX~{-EFXShrqwa)->-LF z+!gtzYMCOA z$LC!C#XC_;|Y+!GU$QQj2FTwRIwmE<&!f8IxViJc{9@sehv0B>6KllFZ|H^mgz{BI_{M8%I)@DTS`u-)lcc-JD z{@v1FkNN%dZTDR*cwN%iTt5HZf@OzFo=lu@{$78&?QVr5uWKa#3*OwUeB<15tBmuf zH?{XoWX=8jX8HZ?qW#qZvse|Ee^6GadzfDLHom?n!rj@TDc+jnY*OOJLx+B)Y>1eB zG)s*8b#VLFNHMY1kvckJ*Sh~4a@_a&r}X>1pRZM3E3GKu(LQEj@#jU{8+ZBIFAt-4 z^WUD9ep#oec!j1+gH6``~BX{YkEh&?G@noV-e9| zb$L-8!;}LL4lq6Xu-8iN->c0*Ka2xKuKqguU2#tR>$&Uezr4+_f1Dlv``7$^pTDlp zyBPFh)8=A{ljoilF1Y(@tF#zX^;xskk=jpk_O^Lv^6=}Vyql*ukC@B497zxLzoGq=L?bG{w)elhI=*Zz3Lvd50O)7I6BGTd)+;y7r- z)3oBwyHegUlf`0h3!Qyi$d$Ps3j_$3!gen zs$VH~B*utG_lM@BZ3U$UOIVmjOt^CO(hnh4oa4{`^K$$Ck9wEc_kZuz zuYKA5zV5UC{bZXC2Axa%J2g%6g{R(K)cpO>rzpplTi$Gn<^9ggVCJ{3$@AHFQ~3|Q z4MC2AGm^Jez3nR9aB$6+D@{QRNhiWvM9-b9<`B~g&Utn9`u`u^@qaGOulc(7`#!lJ zf4{CbmOEmmV_*K+LOiWZyQ#!k(w67Ir`)qk6$|+Ha-Z59_I%AA<8bp^S7nRm9+KQp zw0*-l_q)ulx3UaMrLJ7+yAysa=V8Ua!y8x_ncn~Xczwpd@9)g_|Gm~*&Ls71Yx(|P z=V~J^9Y~B@YOy1@t9a!^Q-)JJYZvS)mAbOZ%28!i#Lj6AX$=f(n5Mj&^Vo1ffbZOTye{>jz`Fywj|2Dt=i|Vng z+V}nTN6Hd9um1e`vr;4V!ifoc6{TFH=K4Kbxcy+w{g{QZy28iSH|Urg+di>HE&tH0 zi=U=Ho8q#3eMxEKlUtvyuN_?QbZXmCi67-NRzKWb|LLrK+L}MR>uc^G2=?S^b8{H94Z6!|NEjKYH!|ySLmtmi<^`#rMVe^Y53*mKe;}fBdmRVx3!H)8_5c zNm;M0if1zG*8IzOP<~#Oe{+vaqS)ox;fK?9Uts^xa_K-fZ*Sw%j2*A8Ha+DkKVDsa zu|L`E&C5!8iHbt9QoV$AKZQQ=5{EfRSY}Vdgv@Js5l%M8=GcxbE zJRB~{O{l(^dVN*=%!{Ud`M)A9lTpssfJuGd$?_+QI3~j~76aKyEzF(7W?APqD z=PuLxT~cjkwf-;C7+&0AP;GfORZ8NK%=M*v_ISq`K2rZYV`>h|{l4FZpWeQ&eVZ*` z`-G<43*s1Vr~RCKSHHI6@!sznmh))0OEkM1@RpgR zTQF^?Yo2?zvMS(N71Qxi7+j9imuD<6?_N|3wzZJR!?4vW|(Ar}^#6nz~D z{|^6z)czwH8~1+H*=PMOOh&spDD{z$TZhIz!;i)d{`n8|%ctCMLD^ zrf-~ev@Ijztd-0LfsWNT`{kNerf_g)7dtOrT&mJ2G3A3@`{6kih8x=zT#Vj+W8L$5 zuRv4HtlbR-^S&=VV_nHHP3K>ajcd}wwYpv#f5-bTzx8!zY3Ss_UGDdr9eT>o-wB=I zm|56z?{`T7W9F8n94-Be9ZLnhC+Hk3EcUafsS7&?{&dQM3 zEuitV^sHEoK7>NT%@Yn#<4SbfplvW~r^TeCgR@1(+e zkrkHKCBeR>FM6%w+?E^;^X#)!F`MY-5OdKzXvw0xRbsPrrXJ~8ej#A0>FL*geQz?v zxhG5)n6{LmBY<;ELeR9-?ik?+*WRK8u)*=iOTHbtIZ`t#M(&{#grrEN3M zPM)^)60gClPiLk!@h1D(GD!R7h%|Km+qrG$M^65m><%lPEltEY*RwWRwuJGY>JU;`IoCUrWs#=A zJf>AoADHcoiR0bnd)e&%3KiB0wu1p*yp~_w{^kYq#3!ejU)R~37P`=yI{Q@?=PX9H z>8Ceu{{6e)LeDq-^k-MMi}p1sotB)?XQp$PEp~;l2+#UmZ{~(4%BG)u&b+sh`TDEV z2OSt6oOIx~y8oP^FoS1>9Qz%K4Q6{-WW?62J;;|>DW~ALHet^;vAs-I%U*A}cS(wW zhvgl!!s5G0g(quNGfX~wxu$tB>w@Xc<~|0&zeQQswlwC4$GqJv{ahlV(lWdD;sU|9 z@n7TSvCG{3u{BCt;$(ir>okiwjPo9b?yfD3bt_hzEfDW{k0ImR6RWg?H#aZP*uUop z`Dj z)$1GKTAVlK;^~u0Tev+=Ouu*_ym^()Ot**G8`B$%T_60iy|9>J>oFsP6lPxT&r?;e z?{X}UJGrDV*>WfUiPNuk9dqYxj(YZUzqnXoxBv)Cs(4wz_`uu0mJ9K{u(Kf$mgz$!*8#CW>a+` zI&^yqi)l}qXI#+PO=(V9N2@w*E8p?t^ETYtJWX!H!J707l1uM1NWUyHm}+mYxp&{e z9TL-i?y|a&zTnE7se!YkzNTI^2(x-qcK7Dy(z7>th09j+Hz>shscU%8V@a4N@ZrQn zv$W~IzRAp(y=Z#2DHf8adKMdL}#}` z4v(P5fPW@^r!FpBlGJ1I?#v^1?}S?y5<@<+w()VUd}B~l$&N<0=-B3hM!z<8H+{zZ zfMo(NN}Ob#zs!(Gb~CnEbZsI>|FhyHDlIGaEOEFM>Aw5NY+i}>ptZ^~4quVs23JxcfcF22_Puy)t{Pap)J%>c|}P zl*El2;xr?2>Od|2HQ{_>^Tls{RDUo%&W}a@j~(AMr_}4aLj30}Remrb;@}R;m#X5Q z@7-D|@aTDm+Wqh+G;TMyT+O| zGyH!XO-h=luftci-)(tp&l~>L33;qvsxGsIWe2aj=Ji8(wb`cn1rKlK{0~WIw6eJQ zcCs52^DeX5FZmuu{a^^&qp11NaK44sv$G$}h3!huK1#4&Q}p5Z4V~P_URxB`%l4S8 z^PU))aM`c1Ddxh3JKMrGTD6q=uPrIr=N5!qz zOBZDCKAa^Qnii3p?6&&sOd->0V#=Mm?>zF)p0c`pPwH}(ZRN!ecM>!^-pE+_3-5FF zeqP@bthFqbc>A13f37dYEOA} zy0K}Uew9M4eAvc&ul&1K?U*+!VQofl$0h40VN3UDz1p=;YmZi}%BqgUU5TzCK_%f` zhPJmJbWGmu8Y|!7xBcGL*V=13TRwl85jUwc$R(z-Zo{1~VV*9Ie5nFnq9?ff)9-GN zJi2oGnzb({=>-<P-S%95wq);C z)5ld&Pd!=^S9#AgoN+BwLjJkQ_T#ZKE35L@>Q>J)Qm(Y=JJjzme^#2InBCR1(v-Wh zr%!drWv~CWK*@Axgo@Ft6Di_+L*l zJML;Lb&^Zye3c%PxcmMejfE#R2r(6i%(5|wPkZ*`?}_Ci&FW{80~7Uky7X!?f7FTa zDNy`)ui#Vn>C%St;_mz3G+uh~NI3d#pYk#LyEo?wZ-|(=q^46<)3fH$k<&(^Y{L4r zf2S-@I(kmJ%_{%Iv-FL|mvnT*#JFEiIK*Xl$B{$x`-(2DAHBzZXHVPk>C4v+WvxQZ zLl+WGPLb72?_05?GiBjHCxfY9R&a@CnWsDr?nvLbj@jBQrS&SvknXLKYtlAuh^V}` z;ej&S>qd5d_IY|gf2{YnDPdrGy<^Vem61Cpq`1h|2%Ow*5K$oK8T2J=uQ1E?)K8+l zVV^P%EmHRS^~<{5BhKL{#|-g~U;!4v3l>fS>(&c6ELpiHWvz?9AmhZ+Ex{Hq&Z<9H z%yHV3MeW&d?mZ^`lMYSs(^ycbsk<~I!ejEybcZ~9>AhUj zc}(xBfV58oHJtjT-M+fauqe7GsH5!HKdrZ z-Z|C0_igcYh8H5IS5-Yzd-3n9jOYr-_l;Wb1zVmnn(4+*w&i{n$eH1O{6Iiv>Aa-m z9aVbT_qmS6PPoqYOM1D2xABYUSqj&#Wim=6CEV=eTXX(hlj#ZR$Ew$T8=P2Y?7PCl zw*K0!%LjZICp=l&9K(I^K$OGYZ`uiFyX)t^h*|h>r&|f*7CFbWMXX%6oA#abJgBi@ zUEZ1oyDB!HrXXiyft!oH9rqhqGnr&525ov6&7{3c?!oMRVa;L8tDn9&xQJ`E^z7Ny zr-DAox?T=v&r0L9`sYzO^RUpx2u+pS&%5tf1?F3`Dwah3Jdbh}GI$Jy}8=1<))`uUr_$sz8{OR+k zA9IwMwQs!PQ;pm%$Ln0e5Xdg^@v%Yo^Op&VEYpv>?c}qXS9&F3qwyth3XIUvxprXl zhKRFVjAGWc=MN?Ae(25q`iSDR=C;yDEbA;vHC!9*MRn&a4tU@Z5HY{P@U!Y_l>qP#_Yl;6zUhqhy)3f6ub!Ax-*iwwp6k6wtF=+ZNns@$s~_fVla&_x z&)gpEsyzGc;z#EG(({k%2qk^fjgWLm{+1Vh?Msx7SXKBBlF&*!0?fN7Q|`VPVM*iNf86Y$`Zo6UH-t1|6>#A_3@|h$BTK( zO7}42?^HM5Q}6FPr^r3^V9H?~`Sf$f)=?occD4(StFoqwPxa^L-W&f+OkHoW)AzLX zPfqBudTp__)p36Hr?rY-FtjeVGCzhTooB0%Wb56v8?U~d+BNH0&yNp>y44RCNmo3N z(tf;Zvi}jE`^LZKc4t1l`aJ9T-FKSjXWXA3SX=wXDP_slLnV1CN^j=Hb*i7g(b3Z# zdpYmoi=-tF@8xz{EcR4dwNE(y;@gQc^uz9I`+S}AdAUd*|D$vLUteumSp2Br*OB9K z68lB_)cIU@oDIIr+kEHRvJV@ZCO?04G*CB0t;`+nt3?DhT3dS~UP&Ax@-_}wnAiq1NH_;OUmTJ#%BGh*q3kO8e(*RdQtk$#7A*=GT!DstIfasy-L-W`E#pr_fym5RoCzRuh_U$ ze^*1*ZTFYh}*sI#)LTs z-s=XK^m3?tzA7JI@?H1Kw9duCzx6zRCAEv$%gDJsv)!!P_jA^csE==#&1ick{I}bW z+3?QWnDc7|td+W==9u=L`fmGi>$O*|H&2}9=3Q&byzJI2VIH0Gvkg_d_EhhTzIZD# zBd_c7mDk6k{cegS|9;%^RlQy9mVZqA>s%?nhMD{UGV%XYBDD6u{2Gq0-i{zQ6C+4%@UJk6)X9Hr{((oXu~JeCEnPv-1(lUQ1U`TxR|2>uTjEC5Hpz zTlTMc8dm5$YiCM;_WvCl<7VEBF)rv<>fL&Bs;Z{(*_1$2(|}kL`zzJ8RdL1<^8@UX zJY_R1B}3yhE=<=+d!ol@x>V%ps`mB8v(`ADy~Tg;`t|73uhOgYHJLY@O8dOpEjefF z*{e@C6nsocsSGQgcrCK*?_aLm&xc++|26)=>VGk5>9Pz)Zu9G}H?BB-_|neLWs$l; zdoJ^CF8>*KLfF}aKcRE&=RlXhw-N6$cAFM0s9WX|BoP^~ZbR&j9W|?usd=xB-72J8 zsI02)emR=UMfiKv;i}nRzMfhU)xUY0PI8G#rS7`twaG{3-r8~ST+gw@(#XXNRxVhu zev#IvINgh}a`nY47HKCY{5#j6GZl-qv|*mfHv~`uOvSn7`|3r-hrVm25A@-pdfvHA{C@ zH+!0P)c#!Qg=ZR{%Qs%q+@6@Ap>;b@cZRaqVSjGzS4Vt|=RL`I@xGsXcKv?My*u`; zKVlZ)-1BAndA@7MTePLTg$}(|&J*>N?iTwc_WZrbU7d^J=ARa2&&uNqIk7DI*X*Om z+NOO!UwKXH)!cb*k^YQf#_QI+f4w(;Wy8#nj09epzI zj__V}Ugps6Zui&kP0*XaGGj+%(or6^&p&To?9X=H_V3ffjn%@wPdm@D26@(c-%q-< z_TsYdYv)Z{cIVo@e~g}1KFxjF>%^^3w%v!1cU_)y^y3+& zJ@23V+%SWy^QMfNndq$U$&XeC-Q^TlnQATideM}&uwX-Dzy2;Sj`Y5K-?OW(YV#y- z>k5txozyaSS6SDr#N|igb-YB+Vn<8^&`#8lR*d zQ$0HW+5z{}xwp1&Sr{Q%BQt3!$5%-npUDdM%FgJW?a;Gpe5`&%bkbes)|Rtjh8IN@ z#lr7g)A4vyufU(#AAQPVaiwMBrb%TnjP{E2ww^wJ>woi+mOoAr9`8lBE|*FVd3v}y zY1`|vHe2a6zr%OghTE9u+}z{$Ea0E*Q}gd_8Gb3Q?XppwJ?-M@LI54qtPR^~RV_2@Iu^nzE0raQ+%%T0@(wMQJ|``oSK9@=9Vk+Fd#{qZh8xxkrP zA}tx46YfnEl@#05*xtY44fAW`HLnls;seb?YqP#KkBES_0M{tXoWIrc^|6HRjrS*$ z8;i=_y*3v(Ex(%8^w4363V*x7M&rciD^Kju3C`a6-y)M`*@?IAdk*h8ylN%?(ai;n zkvD8#Tz|Wi)th_PrX2#gtE4yOTo(M0`?#v&`A=4x(&Xmo4XwVtitY}Z4es(VB*aci zp4hoGYUZh@i$s=O&%XH5NdN0JFAXVP=3X(c*NX&O+^-oN@B5_DeVS>t&bm25@k{T% zzBvM5!d zRI-=oUOjUQIrDB8pX^%(;pEB{TjpKVpUvLzuTAxz)C}fu-o=CdW-WO zm{!h`Gp&{_WT7SRfp}B%oq8Jk&140|W3Nq1&1XygHtS^Bh0_OKrG@y~&rlO~+5T+7 z-37uf3sUMLHSK3NZjI^AGGkM6wC+-9mlbo7^g8HdyQ17NT++Ze;oGT(O>8YUvl~>> z88o~PhaayeYu+*u8x6+8J40%gM9oTZ;HbB7+Hu&@MDgKc z&l#?Y2Q~QI-Y<7LX#C6Pc$pq~qf_f_*&F0s86iM!j2|6pdLZR;%_tw&=5{bUk9-=)mtP%4a z3|4rbx4z;k$}b?sR9V_?eeLkE&GX!Cx<$h_&$FF(lncDVLo9nUpYWRVHftiEFO<&z z)9$RD|ABv#w9=mUbN>Iymy7yo^G%k?QX}F-ulc`M<#ykr+r#X>ThIUB$787waYTCm z&zq0;F#l88AonDF?*DVo?Y~$5f35xh`G3nLpX&F0+Q0Ar-~M|Q zOhSgrUF!EwcGdpOxBGtkf9)Ij{~zsTy?!3A|MRZ?fBycj)AMc2j5>w0G{d!y%;$K0 z+WyyE`yZ#=>wn)mdYx}+%$^_HR+=dlxEbObSu#x6|b~cJ>*Iq}Rb33w!%}IcASPOiq~j@AJa; ztxIihCT(}xxH^vGh+veCn03~|y(RyaI+zM7J~#ZhMw#jL+P6%dDoT@2K45oUP{yTx zPkjCCt82EGUH@}>@w>~9PQ+-u+7z+njJn-H?Y}p=yG7ZuiQV}b zgHE4Y?`5vuH2DbkydA~NN)^_nQw`6po3))WVoQT}rpCH}?;*3M7P2Hfob!8=^(pmh zHgDE;&F9em$#LM8`G@I~%lFqm+qvNQHO;*rcklnq9{=;%{d=}+*8KZ?|6hIl&wuv? z%)gyCeEjB$?eU5W^DcZkyrIMV-?Q!iZrA_(Q*X27)7kZZe&7Ff`n^rsF{a83jvv*Z zq|dE?y!-zDfBE%K|J$wkbbtS+`*z=}Z>9}mx$R@@)p07M-C&Eg zj=}!Gl8~c7E?RddpnKP*Lx++Q_c}zp(JcYhM>jSqLNXF}cd6{W?P-cE z@h7S)8fJJFnh78I`NMhl&l<_HEr}1EWck%j#zq+2dG;W3&yC319XaMYJ?F(=X#COi zU-aNs<($K8-N)DJt=(N2enOb5l81lZ1b=DAwSTvm+KY>1wDw$6Jmby6l=^D=HTCwX zChZ(Dod;?Z<)@t#aN-cIkz72xMsd$h;iexp`z8eR`gZR;@vx!vznIl&lNItzre*p( z6Pa9eU0Jp){IzR!iPC+`?2wZwHXdFNSz|r) zOHV7USebdLd{e<;^XnOwDH~oGmoBh-eQ9Q@zy1zs_FtzRj9E?{b4-6{apHoxe?ztF zfot4G8Ej$U+jgz>;PXmzTwlL#?XLGJ&#TJJJvKLWDluf$tp0cPtM=d1Zt@zRe7E^; znYw&(``H80Dyj@6Pt~7%V?3`LP*}Nj&gC$dSZTM_4pOV4UoH-_T3vNuf*HeU*R^+a zG?!lZwVG9d>1xq+_qWXoN4Z?q?NZyaJU45xO)f*p+Gz_fJ8WcFkaP55Q>#Ez&6O9g zd)|E!%{|k@@bl?DA;0L&@;nRH9+-HY{lgj2`$wWGs~k43c@cRbX5S)b?iyPKW%c=S zFWuKNM!3b@t*N_s)gnGUy?%Y}rs+3lUtku}X+M(o)?%sAyPEk2ckj8zy-3*MD~HF) z_xcZWz6ceoirIE}u|JM_xXa)3#Zeo!YaUOm3{037e|dGO^g_3}#-uBE_aG33&$kr;h*Gw=|cb^nme+JuH_l9hBtRV&KcO-BDAclZE$%$ciZp z26H&&xgx9;rCO%Xym)y|&O$%&x%;LjeMy-ZdwpW2^xP1G%XQk7Ps$wq%`3NWv~*?g z?w!}9xm|3La&=dZNN4YLpO39~jU_J!CeLH}F>l_gQ(s?yadi&-_p&VN5$E!+u7x#^ z0uD9_%qY8=$+GFjUa_v%kACm9^6>tBRZllHFgTBJ-z*lWIRu&&OdU9SPe|s25pNP)UjW^Qw_uA#Y`MQ{; z+hXd+Tj~v>e_tN>HRVy{dNrM}&2g>~8+UJi+WDO6bhr3Zoi%$mBnhidI>N5@Kgo5H zjjo}Y-K$65Y_HAZm?AbF7x6mGdHm?1EfGI=7H9G->fwIASbxT(XB_&_xN`AT~ z?QVOh;Pp%PlQje%pSym~N8q@0dba9Y%|~rUhbvj%O?X@vti+w|9`tyca?a{Yr@1{_C+T)@Rw4$IV~X(VLq1_Q0-tGrd>ci<8NFC1|?!%C)$d2%W6V zm3p&cH8gk5dKZ~9!*lB94Q1=EP{{nGGbP%4+0n12>!0td*DBw#v2fYllUdjN z%wt|O9*>%JeO1(Nf3q_d_TQdN+wxuaLHF6`)7VTOXBU0nd1LzF1NGlj8&r3FF0A)X zKK0?auWxL(bDxm^JKx~1L5~ZPKSx#8=aqWru0MPv>ssGy1*6irB}?XYXKxpaihe2> z8Y);69Nx0^?zB2}J>Qb$-sgTr?#@tMzAWvCRnT0w$rlB+i!5A@8wJhvTdr(sY8ok5 z(cAj<6z>xI(}$8CN4Bq&K4s6j#^YMr##y2<2|iQ4omrEluXeI8$cB58rZD$;+r=>x z592;iq}r}kPxPAF$UG9 zDT#acY`F28HxjgdcSA%3cxpdOO!|CPsVVnzBhEhs2M;B#EjwTC#1iz3fiJgw=bI;W zriy|ds}k?Aw(D4mW$0H&Ov?%Wz$dOFXLd<;#$;tC=_BXFzs?qv5DTeX)h?BL#qK?` z^RolYPdGo7^v3Po+I{1zk>mO1idO|Ub&MDp7W+NBw9CXMZQ-%KmX;-D7ej-(U$7n6 z${R4{?Wv2OM8wvHWpB(V_K58hJC<4Pr{=kC+QOK=aQ>PF&d2wxKele`hX-fo$V{3( zGg*CQm4I{93{jcNsflm9(jR^kWLWjK;Cqt)mYk}>ZHJOpuQa?DJM*<~;6+n~OHM09 zuBJW~F*SYq^5wp`0FlU0r@$((Tt+oJB8AFp;fCviWP=R13;v>{Do zF6+K?(b9j-!`v`{vMOJEK6+@rpA0*sd4}6o|p^kn0IC_$Y3}# zIozDB=jV3E%K{AHkGF^xf0he~WjJ;ExAp5ZHAf%*7c*F0jki8?PTIUjd9Ip%>YNq% zvvy0~-DMUo`4E5|F&e8KpAw>*uU@HG8%98aGSHUgW#}b*jm& z+|}2)bem>gx+HnqrEyyDfdhxH?9JWxQhV{fqqEsgW;v$$-rg$ZRN=v6b8hm(9d0WY z6?84p4!D-n5xb_?c9gF?;%t>^;z5^=O_k<~Ox(^>pZ|5QXWYPX zr@&0b@PW$$NwLU?(x)$%YOQ5bj#JTzdGXZlPefeHG%XGNgNmW&rM5I%MjA#cdivO$ zdm(ne@{-i7IX-p=tYePW*)!Q+J5Zeb>T*WRV&Q@xR(eeynLZEBe0nCfa^)+*sR8Ow zKbT}mrPUR5ESed%!@(htV~wDZ?u^BuvlO(vR8%FLrnIOqP11}`o;>+}U6rSw-8H$o zgzrxtTkU2&EWbRmqn1&pD${l0{3BLcreAIvi);-^%V*lQ=V_bF8s#~Dhj>r!@>)D) z`RalRMl8WjlenZlK2BHAtNi8@# z>!|nZ*2jM3F_&8P*rA`ZOx#C&kiN&7@nPQVcx2RJ0}(Ev+5j~%AMudyC7wg^lM$+4O^$4 z_g{AZjO*_%Ht*?eC+_{5x=1^BW@h+jHuYuZ&t})WUGX%Hvuf#soS4E50$ z=k1Tn{}LN8?Yq|N-|5k5+S`6FeCZVa>+9?5@8{S|FKpP5&^KSOT!^__TrT41!v*2a zR;(cl-)-yNdi310tBLm?_+%dTb*`PeeEqi~(GMlpO&jiMH7w14VYBql&y#JN^cLvP zkY@cZuwZ)Ll2HF^`tzO%{mz`G7^7FDKKG;tr}6v1H5Hu7N}h!R5tD8|ZP~j2<1lX3>&0-VryARlUTxR%@|v+hz(mi_V##*1d1hC7mgyDmopfr&Y0Kt~ljzLiiVZ zj851Z~wi!MyAo13s&!{+Lrd_p6%M(!|o@vvt*f5-9iw($f`Qo8i)3CqS8o{>tPP64x3 zcZTl1QShGIbo2IET}A2LerNrzEPr>PvvkI;_GM+EGi?MSEc*{!n#G^CgE{-w+Cyvm z+E*l1yS4514rMVhkk*N>YX)mrS(7qzsR(vGn^fNjk?lqGiOhE)Zk=d;raeaM^Q-6GfvCjvAk0a`-(dQ zCFLJ1TJ>m&!md;UmU3CGW!d@`PgfphX8Zfgr|@jX`QN=O`R81Xn4DZb^(6C7siGr2 zKhE|vPM2g_E%Re1&yr^TGuzg;aZY-%apQ}m)QTr@*B=_zO;b21VPVFau5L>f7U4y! zZty2LPt;N`4EU(yGV%M$3^A5&-l_R*N^FG>tdk#INnYQ2=+%si{jxXOk9l6dXT3Sj zg=b#FhY2aa*U9sI);{a6?`7X6`=I@ve$cNw#j+0sQkO?&h>FawH}xyi>H+N}&`j8P z`8#M3gU?=viQBWx>2g8F+Ya$ZRyOY^1u(^B_-W>Uj?-vSw-5~4{F&+A!CL;7iRu|* zOze4AE4R$`;ZUrJ+`xb6Vby$&Uo7^kLggoIX=80-x4DzTyK-h|-Kzt~F1|afDaZOJ zBEre(#|Oq8tqzz7OmU|PCa>rIxUM*3dc`KKDP@_V>fHPq zy=;ydyYJ3Rt~B}Z+d${iPOBHL8RDI*W2`v7?J`N(rMZ85>-)9ymwHa;dw$t!ZNs%s zqBC5zk0ie3=_tP#C3`6G*jy`}h()|TsUlWJPLsClt9-sUDRkSuT&|TfU%tK8!hE9C zq2P{=gZ|T}PZwIY9q=fXkLajnn{wgalZ7His}E>hj%iWy_Zu(UgSC!M~y9dcMy) zy|1PsTd(qdz2ckn+4>R zx`%d%e&VsoHJy3z>4^%Zb=P~2MBh$)de&l3OrDorn1=tJjFPyTn8(c=+TABlPuE+h zvH3<+Tv%swme`}US)13+dB>*SD!ag4hIQ831q;?+ymVnhnAwFj?_SN*p2YlIVa1xb zeD-;o3(j8&`#njmIyU>W>+0#(+hRZb+mMueG{rUh&&pL9N8`TUs9aJT5YfqZ^!CJ> zqpyFkE^bgiP@cKW=JCTccBa#7t5fbx_{PqEaYvPdea5En{4<}w>|1tw-={XA=>6<( zU+=Xpznc8+_3JllwU*uvFLt|@mw(3mYwCiVSG7IE^B3BBztrBlG*&F5KH^hyRe#*2 z*NQpaYtOkKKDhB@{%oI<%YGL=X-}|>s=n?1>h|uGH2MQ z9_zc!&CT0)eLZsSZO%-x<%;1gJ04M%$Ef2S}C$RqDNZ6PiT#YP{q?` zPY*8JkXa>LJCQPR6LO#fL#-1uN3YM!P0@+4Q$*YX=t<%Ts3-g!|1mhQK! zvqdf{T|RzTtp2U+#dphdkG(SXIo?+*b=Tla;Eq#DM?87i4;ijMecD~F*wkmQ@%@k> zgMcrI<=tl`j<^=79B2Ey`N_)O?5$^$&+c9M>Bg0B`}*(8_m#fc*OzATbmMxCHOnW; zURS&rb|Y)GmzkxWjb&5#dr#N3Zbj4GH?%A}epYXMws4{1!ODe(6=xKZ+zR}4)q=Bv9(W5sUo4xi z-hSbnV5hvx8~(-@4yhM)H?H^~Zj-2Z_`~Og9QnppJp!AA7j8N1e}Zq>y(?ipmEL#$ ziQApzvOnCrX5n`011Duu+;3DK_BRndHZ43caql8y@QPOL{`RjkpTD>I(6YW=;m};q ziW%}=){65hzM66?vOH=D$VyPrF!QcgFp8_tcq^n;`G?t;=VtV?{}W@_o5bF6mOl#O zI;feq!9YV#S(C>-q3h25N;QM!|4OPjilXw5aI}R6g;r_2^;^EZO+H{^w#3Kc0zN%4 zdox3pV?AB%i)D87H7!cIQc%JpmLih+aF&b8$;+NvCu%R(wuqK@(Rqh8`$R2g_*BSTd-n8c?5SlU)roie(-rS&FF4RtscR*ddGg6gBi$+6 zqv|W~J->c!TI3!veZ|jJ#-4Ls-(F9NS~B7Eu6=uM6@{6{gomHakhuSPYkwYfWkM zMZ1rlu=_53=vLf?<%^bkz2m$jRb{d2<|hsIh|(`j&-VO_i!Be<)7=?rprfg=`pTib zUlS|u9uSU?+!Plm6v!}ViJQ=K&GQ?U`16W$yja(^uxZ5s-plz1Zy(%$<48oM&gaQL zrX1XVs{7O0wDqcaTa%>Zy>)zQVq|pY)ibDtt$p@7K=VxVr_YsHTcwoNAH0sp{~R+ufH=|6SrE9yr}K?sTri3Hi5~G0yJQy1SD;JnwpF zcu3Ryh+FuQw=4T6CEl9Sqp(3pHgb}o($$A$OO{Gq_WSAj?8ooM@SkDElm8@a&d^)f z_-2jwbSCb!()l`45z(73K6qWewS1k*T;0h0c`-TfUPgRcP@Bpry>xqUSog2$)wfKp zg`WQM;>Xrai(dYmId9UBz|U3Yw+v2Ropf`#cjdQ}uRh)Le!4lmrZ)TJ73PSd_PPc8 z4Xbvz)vn(5Vd4>i%ACZc15WBld&ud`R=_T}mHuUV04b3ZQnw$Z#@yzX@$?<`Bz z_pv##i*LgG?zl;Y)4UuX)R}gjI&$!F}STHkA7R@c3w zk8JnKPOFM}SQ|U(>(yKDp3HVhWG>wmvwXge?1U|qS}JRuofhriw$garwtG*aGj~7N z)h;mQKjwR_U(Y>=f7e69_RlW9>v!(jeCA=r7V%kqrQy%3Rz05d)Y0U1nWfJ;bFn?~ zdRclBS(A=%baTu5B#VnY5vy1=&pF9spSSP~a~>nnZNiHj6}(m)2r8hzuG6Og+&WJkv@K(0< zU1x=}ySc+|wTI3ve70&^%*T00Ch*^z)?dxVCLgl-2Jh>zT;JfzoMQjLWXDqe%M*XM z%c+=KBPFL=bkdzZ99EH-7{l;@Cj6Q8lSNX=B+AFE5`k0m1$l1SH_NOYkV)xa_D72 z?UQN2yLeA$zMf<5!u!=)OkDe$-~Hoi%VT}`rb!g7Nm^)cd0KJRdU5fbiYLO(hi-nl z!oE^L^3$sAPuHicV>V9O_x_Di%-oXKzU4fB0-OV#^KUjiJh#WxBgrFYlV(QJ3B$k` z--XWaWM)Zr%bwGHr?pbI-}v1j<@;w}wI2BOru#%`!4j!nzU9W(6s^8Fdibr>2w*w< z(#OZI^vE)+=*g}d^%V?N?#mf`xOw5;pEdPgor+}3gu0*l&wjnZcEiN?I!|Z+Y+fcl z(Y4ul@#CBmlYVNZUTm2rv1w)GLiIKo2_3n8mC4rbpBD)`rzE#3rXO}Wt?H;?sYxv4(y zYt5lkGnBMURXBee2$Z*We(0Jo%k$7f=9vfGSyX)UIDJ3Hl_YVfaj%@g>c8#k%!IfV zMGiOl9Ir%n2pMccRkGZl=P3N6w_}U%$qcEZ8 z{FbYIx+T(kf*xK`@bC559JOnYgg=|&2A^*ZCx0B{sMI+5|78AYWta8FkKcd0w%s}N zds)%yv-JkH6Az!}=UJrx`cMDMwvKNm8k<&R%IPjm-Qwo@sdU;e)-P%jr{nTYoP07d zOC#XMoJ$juf|f31y?3m4UtPTQO-ptulbTE)@9C<+r&JZ^I{3b8d6sxXM4SKPy}3tH z9<9Cp`0_nILziT)Zp(%v0(Wx!1QuCs^(xl1KAmIs__s=%z_eex>KYf6Z@Oo{_g;MG zci&sP9BwD@XPkJSJ>_cr+Upiov#oZYnr{3_HGB2j>DgvRNfy1ivd*4w7c`4$NgvKN zT`VlQZr#^?MbdvgmVDWI$mQqJZpn?$o%U(JxwG-cmP5rnpRTW3CCB|QVV=o?%NL_U z)R*q~S-He-`|gZ0&Kp*&nYvE(F^9&7J4|~wmuLTOt1(?IyzSoCZL1zeCU>$wndNZU zH(=WxruA3M*Sq{sdA#rH?x)5YRk9r#T5LCp93Nl$bhme2l)^%}zA5{}c)eFmdKBHe ze3J8O38CyFb?=G|hdxF{nH*iaA}}lJyGe?rKe>*5_ZpapZ(-} zbo!E;t7ep~-PT-d)itv}&PnTRU2{ZbSlglw>m6qo^(F}PvP?dExA^nd>*iJ7*ZjV> z_^*kdIm2POV`=eS-3=Mc5i%e68aJ<2jpb%tJW+S9s`lP{r2+QYuje24UM@RVy{PeZyPAhBwaj`8)9f9?iqe7O*Wk+hri`DN+tC5N1v70E{DtD6HAo8Imn+c&Q9j}Ok(+*<0t z?(UPBVW(d?9{hHAZrL;5UeV{TXCDpTckIR9myvzzUd8w~-jiG-eavdD>a}OjuCJ|i z_6_x`e6sG4ZQpeF>iMJOOzVPWisucD1P4wDL2lRH^wqN6vYFwOgDe2^E#@6No zpAFU|cQ$=YUA=$r+0PH}9TAvZykWtEUB(ep7vBiEI9Dj!(Yx~hkGab>RKMQ(mjBu2 zT?hcQ!fx|;%D`0^H=P3}B@DsKN_ zyH#su&Y*_k+bm26X@0;iRYMW#&`gr@?PdA=~oIn0FnD6J| z$mZjHdnZMj985iaV0oKs{lX-juXBubw&bKHXJutAQkigBbhhENSy6>=TAx_i+&o~f z9x;Cd$FX;(Y?k$i2eUXku2SG`UlM1b^CnWr*}x;sgU8nJ$=T+{(wW{TSY|k|O@8rI zeAax{lZW(LB7P~G>3XvXKA-IDtD$Kk>ypTB|9#=Yg>PJ+r8^$syts4AgeNhtIFGqM z-YXd`5w!WxjYrKK>4hnk`~k7&8b63jHoJ2i68PI1aD*X$m+}lH?I~p!BfFS)sq+YN zZIiFmn_ydV`62hr4HNdtO?u-JxpBg~l-jxV0sfN?idrj$J$MsxLw&~GpS)sX)+bMa zroA@ssq2{8cVAueoVok#`6Scs)}x1#azXps!Fw57!82h=i5oXWKz5VOI@$-HMSpX3 z0%XTy>rwdRnOOFN$OzCdDX4Ot2Rb9GyY=WUK9C4#3CVNj?!B#jFkMzlb#%fuJ2ilg zQ;C3Vujf-;bAH1*X7DnxYuc=c`MC{znmX4sQ%zt0JdosUqNB4-deer8h;|_{X{f8K zwkB-+h?v7`J!-Xd4fx=fjy8yWTO-?ruBAtuP1^nNGUq#SZIQbFattzQ`)}x{CEgX6 zD0E(8W_?`g=@0o^=L?gq!nfVk7U+(Qxa}j7bT?Jx?CzFDKV!Z#vu%*r$TDx%$v@ja z-|atOwd$iz>y5r=fhy znxkxQ_T_az-h$?x#e3fAmd(Wb|1}t8UAg zCVtgGpioYwdFMoB{_f@lm1jcxB|ouzIo-d|GP*71jQd-k{VqS2@H8eI+y7zK z&DDx2-xlpsX*qnlOp(Jq^ZvV5p6xOri&J>45A%p=e+uYemaUx4`tXs>6fZBK1=9ZRRcgkR5YI zz~H`;@#7D9+npSr#yIJxzfLedbZqlGcey`#Zi_|oj^6vrW4m$o=MSu3PCQS4D8naI zWB>0(U741S$aT;RLQ>*ho((tttPx0wkkz2wh_{_s{M4|Nj{u3hi4h UaKPjM0|Nttr>mdKI;Vst026zHaR2}S diff --git a/doc/qtdesignstudio/images/qt-bridge-sanitize.png b/doc/qtdesignstudio/images/qt-bridge-sanitize.png index 474472e785503d9f0b2981e0964b0deb9c36e6f6..bcc874f13defb3d81e6d2e997eb352f03689a4dd 100644 GIT binary patch literal 22985 zcmeAS@N?(olHy`uVBq!ia0y~yV9aM=V7kn~%)r3#j;VMn0|V2q0G|+71_lO2MMVY% z261t51{jc$k%2K0v;r6~Ffb@6Du74@5Q&gxV33xUHZn4DadT5sQ;Ud-vbMI?)zvjN zHa0Xgbai)kc6F_&s4zA)H8eJ6U|=vaHxG-5FfcHPiixqcvokR>)6>&aS5s3|RQ&({ ze_npRiHV7-s;ZKblC-q6xus=Xe7u^PnzpvKl$4Z)hK9brzMPz#xVX5fscCp*q=kir zwT+FXl@%*1tEHu-sHmu>rl!4vgMxyBzM-Ltii(+;S!8syxw*NJkdV8Fhm4Gjvx|$b zpP!?%b8K8(U{Fv{NQk|oBR@ZXXn44-y*(2XQ%Gni4-b!lk&&vJn!c85RdscILV~xC zkAFY_CkJOiVWEkI^`ga#lT%WrOqufV;lt9hGM|8ynC)-lV*HeqmA$wAPfSYMv2#ay zMh1h$|LmNcH*el}dU{TuKE1ZC?#R)jckkZq=;(a%=2-QC^P-2Cp{yM6ojA3SvE$B!QqCr$eQ|DTbO z(Tf)^Zr;3g`plW%zkeI)YOGziZsx3+U%q_VxN(DLPi#r%h|NeP)mO<(ax_ zu;BEo|Fu%j%vNyA8_Hyrcdz}_YZfkU$_9av0 zjIoDuV~fco)h)_Lvg8#VZ(LgC5UINHaN>O)iOo{>OgYKL4`gniwT$$ebUAJHW!31- zTQV=HAT;%fsJ)uiO9g?C-tbyygE+?XP(< zz3%1W{U0ax|M|xF+v7p|J^Sf@`)i(<+x_ys{Y|R%OMd+iar=KC`)l8XGk@DSH~#;# z%fBhL&+$(pIZQuiF>_+xq6j)j}`Ozz`%xi9`M{=NUh zEqD7bx3c$ti#OomibzV>y}5W=ZO_Bwv#US+iK+U3!fyJ{*X#dswSKSv`ulsgWJ&7z z{h8c(w=4c{FFqhGmX%@Q-~7Ej{`b-UReBYd|J6qQ|99TxUgF{3i{-!dPq(g!x7}cS zd!PLKyM{k+9c;8T`p#-|u<-c$+~42V%YJ!pUJz5WX8UA|uO`QYHf#v~VgCIDyL9I7 zCxyqEf1Yfw|CnHNFm8HGa_%Z&2^~MB=7}AWpTAVPEc&l;=3#)Qd5!0?R{n|~>*mWJ znZ5gar`svJU55PLS(3z7{X2C3|LxuOhrY(g{{Jo?ysmH4I;SK-zvJ)Ub|?xhHJwKKAc;#nREI?xV)oJF}Z}&DoeewGHjl7S^>t zn`nDAm2vg6$$Mn?@E@6Mu5zEv{&(fe?Faw=jsrV(+Wy^}!YYznUNW_fvia zKf|BXPyFkT{f;j9|9=1Huls-BGe5Tf``q{cS+@NDB7a|0w(I_NzWx&vH=Q^2vf0YF z_mc4&57C_8ke>?g9ug>fC2e0E<|MUMmY5wo}{rbb7zdx95Zizw?zOg>*_dWZ%`BimS{vG{WvFZK&>wSFp#cSg;Y()02e|tQ?^^E+! zr`G>!b7$M%JpQ})iu^xgh6nTC{kglpseY$((8rY8+_&lP>#G00{-yutOS=94Z@0HE z7yoDb{`R|n>+);crZ``_(SJRH!b^Q?5?=kE7+DxUXG(|-Q{r}X{n|1}m*)osh% zqiHYJX}10I``pK!KX3m#>$39B?ROueRbRso)0n4J=7- zc=cv}=!@zwHl6>Yf2-;H>sNVV*6u4~UGy_wtM2_d{qk>DGx8JmIVgMPyJo~^S$`@_soa5L50)zKgYaz zo@KJMzd50|_x*jDhx_AC?5}jXH81sfn|U+i@3*I>zO}dB|K;DpTDD)@?LXg(e=4{& zFID2PIN#^{TUxIu{1ET^aDPjy*!#tQ%ySohd!PK=dQ0oM{Vywo;{Myo|7+P6d|dd} z{=;wYo7_u0!*1_$T-d5E{>h)&=h)A)&3Y%XM(Ew1uh-_bTs|f&^*&fy=jy~6B6eTy zNaq{8t9f`j{@)?l|BGc0FPU+F$&Jsw(>Kg$vubGe+t{gLT*}ViU-S5GxnzFrJMH+N zccOdB@7F39{tmu*Q241$@Ao>JMulg~TH4>$sR^8FQvA=BED`J)B$dmyX2L5$mXnjU zzRj}SI&zSSVm^)*Kq+y2UqwPT<`^0_j{k=0gzwX^$|G;nep5Oa(>iM4r=OWupxk9L9i<8j_ap#>BW%$1wD&+Hi^Pky0 z#FyEe%u&+1Lyg-n&HJ_pshN*Lk9cEdA?Ngv)jOB8 zh-kV-JUP&-dF8~u%reIPpZQpS@c;X8*8Kkmc9A>p?ej`cs`sPiS z)+HSje0=wo?~?_BjfNNJbL{*6jQ`&U_W3_~wpM=L>k#$gc=UYE#GXTMmsKsEctpbg z<9!=r2H#tklBOj{pwT!|GBcp4|bBP_?ZP%{V1pkoG223^`S*K&+Nf*_Dej(_W8n7F)M-g}%hm;KH}5Pk zTh~zk{qfSN3EK)jEZd&QU~a@cwK(DF0o}WTo#huk2Aw>2<&_B6PN&sJH>-R~e)jp% zS;GxS*56?GRXB;m~SuMrb+q>X)fBBx2)6uf=E?m2&C0%Nmt)k46 zueJWz*WVSv!t=JnaoWZMNMX z@`Ar!H0bH^qxokv*34L~qs*$ZzIf-#HrCHwv!>1U%6fdF@BEpb_afYDJ{$Jld-&^B z*@LTF%tB`=v%ibovvP;b=1PwD=WCvx{eJKF75P60m*1;?e|CM1n!^H(jzi2RlM@%J z72Dfe9;i>=5x9Q(1BqjvS6}z)@F;!yvgF!+L9L@ns*EpLPF*T9XjjMySbFjGR~t4F z#|n0ZGpAcpPW}CJ+kWByGu7qWey*~9Uwh1c?ss!He#vit{%qf{kx}Qz0Vg}b#28VQ zmz%x3H}_a+1V?z;YNX{Xp7G<{>+*LwpEs6kc;Cs>u}!%U`SU%q{N`OBPo79xdQze= zTtnf%jNq|t^()WnF?7D)v$=S0W7U+3N0NOX?k}$n-8ygjtmj<^w4G*%+%5|}Rox%6 z)AH}vEzd93Z+@}b_WXC=#`A&yeQ&S)uAAXsy zmFKCib9yWr_J7$&zGOR(*Zbq+{-j+LQ?i~=|Ngb2#3zYcPDw>r)935{Wz1m z(KI|e(!YQDmiqRC`}sd^ESbYw_~&2i=hgL2(r4>0|1p1i|I43A&-Q2jn{77h|FWO? zw=(|C262C%sAAI4u8=ouKlXOdBXgGS9WjEdRIeV)lW9}v{qXX=(*pU~Y>C>^ z#=5Nu>q3$fg)7uJSN6DxY907kn37Q^UDi^T+O=o+rQn!id)lDv18{MiJKiunAKOu?4;ChlLl!@W;>iQQPo8?N|jPL-4V*2U=gY`Z91|V!m;eVI|{a54{ci z4eIMIUDaaQo0}i4KB4G9oP>)c z(R-Q!ORn6LGV4mLEq>r|_lWM^PjAc2R=6LlncFDVynxS8sceDMvaru9-}5k^`Oe_G zFu&{gu7J;{ZTGC#4|Or#JdM$1&6diBX--z@Oi!jZDlM7FWqLMY;l}g63$i~O-}7C< z93iHqx#zg%p8M}kF#OT^e(lkfin{sM{rs;!-$~xvnD?5bzP>_ibF+e_f6xvdnbu%s(JRjnuom0?`);I~5-an+?rp-K zI5&=%ojhAwz8CVYxN@I8!+OJ$Cc~^7J^kX+2lf`}FJ#>-H$nG9)zN!P&srL+Uh*qc zDVX8??zLX$ANW;%OF=%iZ1W<}&-e6!NtgJvs{X!DeX{7s_r!m*PZ=NkEWuMNd_hV)Y^rfc zfuzRSWyc({N?0CSWw~TmY}k=-rHS*9ukGc`Ic(VpUOqv8Z%trdpnsWt-TG)T@lREb z`S+aa<1DYP@c&sLyXEG}HeDYXbG{(|wH@z&@{9B_Phy#>b)lz+QLAljAj5s;?T*%4 zSl?}{m@545#-Fy*VeL}?{aDpqD*i~Sfy=opp7rY=bXL9h-BsY29n5D~xjsB4 zdd7if47yeb;zR&6Lr*h@k zYs-FJnX)WWl>L~?u{o#WjHbS{cS!ltb#$*^ZjJK9n6rk#3?O`V-^-Z zHt}csGr86O``%`+*|X%W<%eaD zIeWje_TAs|&-%}2Z>jeNzszmp+RXp+&HQI=IO$E+qs+&iD~_FB-FazAhhgR;!wTn_ zTs(HK?l0_858v3dW5o`RjVpFE9a-JJaavN;+BSC2!$;@GOzb`8Hlg>_I+;K3jZ1mX z><{xdY>}Njzl9;+Lh+n{sAF1(wS<+?&R>@6_Q~FUOmoyC5ldb+>r%ty8NosWT3}8|wU*zt?T4L$|k?<%?x4Pdb;d zbbdUd)5&tZ@T!pDywoV;{7E-ne(c*CDN~q}K2h_NPO zDsJ=G?%msWO)k1iDW8G8A<#X^}WcaEd0g?9?|Ji=*W%C5b^2?`6>_6|TzGe6P zZI+be^oG>w=Ba75wHtrPMP$s2$}h-n7n}Mb^P}0!D)r>zIg+JmtB)p~*l=qR&*GDd z#b#R`&e>+UiFaE>nYz86^*zDqiCb^*T=eq}*>d$kN4HdOchL==n|z^D4o=LM-Wqmg z4_C$O9V|=IR#n{QzMXi3^UwBU1}3IVRVOEXx~+Oo@7uE73peiAw3?;okK(e* zw%B%WQI}ucrj`3Pp9{Qxb7p-0hGWr_tldvnttt++y{fwNYUxMS^$ho{<~T_Po=#;v zFqP{Ci(S~|7q=zWU+~{?TT1JMVEo>Uii7W7N*51wQE?OG+;)Y^ zq5#Ry-&!VH*X(vNW;n8X!B@i-nXK1%CfM)mGGWa9v+LA3`{sJ}={Iv$NvqDC{#jc` zbgpRW#>r`A%PptJ8(T)*zZn&nviO7F>1{JsB!4x_e!t{o;I(A0m8aKftSq?pR9)hf z%w)dkeoMt)q6eZ+-;7)6*H?V=kj?Z*F8`tv%G9|d&)D7Xntneh^r_^xD)uh+>#D`q zLr?AAe(jj|@wTs*Ue4Z^my`YK%g5V7((#Gj+m>B9ZIo5?*!SWejeT1aF3q`p`=!UK z^_xwP9TUA$8mE=;{PxP^XKulzu2WX+I+n8DIOH?8)z3Flbu#z09+z)=ZEgRf;`NES zM^wC5o|y7#-qHHgiV}xD&T;eT2@{b#IY)$%^JJk%TUW)}n=Kk{jXRHs@=HEC#=hqA zb9Jrs{K(S0qUAdKRaWh5j~6t5xuw)x<+GYwr5BHSqk*70YuA{hGUe{f?b|@Xx_{@p+HuX5N|mGDqvsse1WY z@v~O=Sf3N|{u_~_CTzNQq0uXoI-mw~+eY zcsyG1&g>J?PZOW+=YLpxN95k4GiJ9REz;}CeXM&s_QdLtwcJIu&z;xr71^`$rLt*e z&#r_D?U;X_s_Pyai3Akv_1E~3|6`TvrXLZfuO6sad2X`9C!e`rj=cW7aL2udQ|`PI zi+3J0s7khWJa;9{>*4f;>APoD92T;?ep%iUW`g%X{+VM*j?c(`X^Db1xr_}1K{m-|${_?N)2ERd70e}9kf8{?O zbK1tWT?Gvnef!B*`@d$!XJM)QD!cl?&yKtPamw!3FZt*Dy!m0Dy2-sS6_te_VbzNI zr~6+Ht@hKe>PKXa24I=kM?LpZEU4 z#2+<}%|V?M&a?HG-OfJ;^--+q+(rJ&PBdkUm-|0=MujF*7LQ!>s*u%_of75s^<(}X zWHx0})Ope5Fu|$&k;;zZvXW{9=pWge?2!^6z$heSiwrwi>fzNku2` zw(eG3*>YiS&-bIN?RUf`8w78t?Y3F-$vC*3>&PpKr5@9yjv7P+cTLd}%zM`P$6O`t z$cY>N_vN|`r!eU$7?*BP6`+|uMMe}x!2a@9rm2}bnyAvJ|9gtDI2InuAT0`=Doz5l;6_1snSjfG~0Z4W3Z>=vGvn$7M)(?)1D>tM*RGj z#p~{}J3MsSwBW6gOhnKBV8v4PPxqZ(M{T}&Yu5Uj897GB&rfPO{Z3F?)^Fe6s`-9P z?nDHZHiX5d?mfcwZc=c+x_WE`PfgYTKHZMWO}nfTCabF4;9>pbJw2DxlWq2&qD3}& zTOW668ESf|8J`Fh(b%}D>C@GTpLU!!*Sopm`QxOgX3clfCabGP@w_>rvj6wnd21d7 zE&8A0Io*dX+G&yMx1yxRMqPi8O*7wYyd6Kw<$Tf{U)B93ORaPd3UqLNTD|G+b^kdp zrav}o*3=A4HBjwJ(^@aqF-Q65rqi7{&M}h;Yhup4e6hQP=^lH{jd<;z3Au-Lc}1Qn zfP5+SIbg5XU2d7XzE=~Z?p(Exi=GkY$8g{4@Y%G^q8$fhI^t{^5KHCfxyJoNV*D6#?OaJ}adf$CB z+1NnKR~~t0Gt|^3>s(wsO=R=V71z)C8To(t@i+H*%C?qQY0*J}dHV6HlW)#;7q+%t zJiU1G?APnc%6yOfx_jl=ypLBmuemnw8uvqtg-p<0A_Wrdy zzNVJjF4Cwjo@dVdYseZzZlF7wkPZ%%!wfz8 zYTLs<4lLf4_qun{%ChwG&yx%9eJTjdmAV~o=V22OcYTt<{oDz>{xOT@Z4lL&>b~}z z@0&e!uHBmDDs?M&Zmq9d`Nk`L=HB>ewv%^Xc^C6`#n+5mTAepHo?f>6!?U9vo66Q~ zFvw0n^X0Mb(Q^mtch9;0x?t^{yZ04lf0*dY`*r(kodw4q8>g*1n|b8aG*_4TrffUD zhi~}Gx%9W;ri;tgraV4>Z1;h*4J(r#Pm)<(Gx1Es&2rxLx!-Ii+Pw6T|Lk)vW~Y_R z{V@BBM&>(ea+$772t9`VLUYgA zf0I|Hi?3gG`<89-A}gen0WAM(8!!BQ8{%AHGcM z{WYn;MJXrt7TmYkW_Hm$;73KCP{h^qM`jmky)rbF_se-*_Qd~8S^5(n_wa3k%>6OO z#iGiK_uiGUVvwatrm$M4wo> zSxpkVEu41gNqe^1$*D&-?O`s^e!APxCAw=znJ|Y$mDU`av-O8RvG?-xO7N>6-|NcO zq|%iY!?d%{aZ{001{3B8uuz% zcBgiHTx{&VYbGzUvi6(Zn{#dJMceaIyJv^o+ms=nk+k&;*W`QqORnxQykw-OAFsw+ ztGxQ^qRw}>mJ0p*;`V*X*3`5eE?@rr_6&c#VzRB@tQYaJ3fk-yvi&FA|E@l}Hdwkp zdHU{Y%esVa-$_06ee#vl$>A=4cAtJ)bSC&}qx!!8cG_!G7hk)x@$)ZD<->P{m42Tn zn4PmPyP{?Oh3&g6lvhjKe9`^5od5f0Z@JC7?H{KVDL!S~(QUkS_lBT(@vE+~eoI&x zrs=qG^3QyZG%gk;LCvGy?7yalXz4!_)X~&yGMMurTu#OCmG`5d;+1SHo{xfro`1NI z{_Os?9m}%9Y9{NH8>k0{1s&d}qwl$UO;OJ*H+SE*CC`>lTC{}8J?dcZETQJBO4Dzj zmbaC9pSm$SD}=T0V#Lf2Wvnf&aCw5qAm&E7X$JI~Y` zxgYGEBjnvwd8y{*zlP#3ZMs^@1zNlBh-DXA@Dz%L27Y}o+5PD}@50ib(=NWfZhl1S z(kA`elZsxSS#{cSZQ)|0=;f1VJ)fbzcG{9ZlXkT1?vHTK<~ioUcOaJQ<+s;syuAf$ zm&r6M_y}(HWEFp#`7_^ewr*YGzZCs$uPN3~IyZ`CF(vITJe;)Q&V<=KT2l|E8Lv2U zcI%rK3+IEq5w9Y-MPCSeS*4}hn&zxhExjQooxNM9+c-k+bjX}<8?`+{?$uguOzX=s zTFEu%jLQBT&N)7*3+!})b-otf+i`ng;&G`Eng1)FMXh|faAkv(eUfg*y7pHQX_I4@ zrJ3GdpKrV|^~&zf$+3DJrgtZZM(}Jqos(sg7M~Vexhv*ap5J8IgVK|hy(;(3v|%te zy_znnbaaV{ad3CAp!<}{tbfwVJ1>s{O-Zsc=@~rbQyIg$D`Z8Y? z%-}Pb$h!3KqcgX8=UYv6oI0aG^W(9|in%wIFt6VnUTiht4eOf^Ox8S>e!NSTR@rVn z`{>l+llAtS|2@##sc8Ln|G(JKgD)p^=?2V|H?WQN{ zijR`@6aF5YE7h$2?{*Mta|x&G2B*^;+V{ja{Cg1BdvG%E;zhn6s`?dI*B3o}#V@zQ z@W-NGtL`s(%|9=^_h5S5eEx;|w1l#G?4s+PuG@32kDI(NUTe)St*G^$ui5oWY!?2t zzVpxbv8>&m%)j4TJMRmwa<}U{UM2Rw)~>*Pk(}hchnfCe>RaS~-uZH3Ldar$J-u_m z$pJHtpZ2(-?7h?~Rxv0hDyGAMYo!Rc`hVHRsuT{_M7~LS?IJcT=?h*MfBiOLhUSAe zT78mk?-&hP+fUyO*Lq#y^=9VlUbi`Nk=^2AV!zhEeUl@&SIlbS|6>s?uNte;U*;Ox zyyVHaTC&njcI)hwmzF)c@onFVq-m;l(_d$u+Ix_jWzath>#tc4mQ&ZPCZNsQxntBqBN1oom{B zMTzB{GsjWmANeyhcC)I59C#;mo>~23!u*(KDaW&qBDB`z#J~Ui^TxJwS7*OC5s`U$ z!pF|r-;SK>3E9(sSvmi)ugIZR7lS?gpYL1gO|q-5-sm0DbEdLaD&JdEDw-x>cMk=Wmuef?PN>03Rgbo(+^ z?<|fDchsFLzK>$c!l#x;3H&dM4)(t15-;`QZqJb#gBfx^ zul(EFy?si1_!h31SI4+`dJ_+P`m(cChTU<}MM;^BevHNn6Bjl09=!9S#z*_w%O&T0 z3Rxb>#`OPr^P{%qf18I>uXmt$WAP52j@92QW_oQ5@ySrod?#Mu6w{>Lbc97%eW``! zv%(D=M}D)|8nv2tPd|F%(L|2NA|HQedd})(w70J>a{S1*&i&hC-%}TTLRPgtJ@{#| z@Q-|+>jnx^?}J}YG<4Gp(wX=|)oZDXr?07K;*X2ES>$w|k4s`x94`ogMRQ6I!bNdPnukgv5WHy+zK_rYfcC z@97V(YBT)dGA-f zP(LDEwfBX+Zc?IA3Oe=6}2V|Nly>Y`+*B&j(NY&FWv;dki%3xA^CK zjz{~2l~3|rRpY6$_tg0Lo;$q$!E=e8oR+li5Q~RSxG<_3;OOH7{S` zTam3btzC|#4cam_s>>@6Vobid+^7E2#JKH0VA9Sgl`cd=PZ-xFW|@4@D5 z;dwDlA70eRIZ5(tj8XMis&u|?uj8pBi#ii`Pi;B>?Eb{o@(1^RO$Hk>vn_91?TP1p ze)rd!p9uCYm^f)dNJHaG)y_bzlt)S($E+)Kn?cs~-am9FdfPTpXL|#VuZ>mBWq#}2 z6?46`bEA(>DxTxF)L81;LX&$3KiX|%c^LRFI{DkmW9Adit}WVoDL(&0RkiSnuK3uG zNBNsSZT$A^wb=Uf9bO%mE7-rkpX?PO`*i=`is|~fTFZZZsjA=WxPIHx-CsV2`FKy? z>vebglyYn^P*2D z9QHa2b~>sYbUqrxq3#*vHOYt3?QyNqJx6bWwn_i{683=NUiH81#)|m?O$Jl`lrMQy z8^n1i;M0BajsG5KW(m)WXfjyx>wR~4{fCgPoc>yl5|@6di?93lATwK-P2W)>%Jz2a zYWp9DwsJbh{%7e^uR-KhGOqL%001KJzO=>ivgDzQ={7-gmF*U;6ca z;@9^VUhdDd{j~AlU#Y!vRX4tzP`pxqxhmyN#6Ojg&$3bdH9c}aul)Hw^Sa)GuO}S8 zoM8VknYk*3t%cj=!?#t9GD|Nloi0)M^5%zSUr!u=HPOCija=lbB&iaYgs&!IcIFQx zq}OkLnEoXnVo-w3&Fjj^J~v;T{n{78l)SQA-QoC@@;q%j?sNf*>8`I8<6Qb{Cj7s5 zUHS7Dl5z_muZspB>LEyq15dgwNx@cdDKo{`k8=E;63as(a!+);-Hs zox6R({))kVlbg12n?sqbrkLD2zc#%(>i^!w?rJ9s4N|gV-Lvx^nf==T!{OogPUUd*VIhf8R2! zdJ^&}ulnT?-``cq!WX{yiu&uX&cAx(cUYRq>5EKK?~AW17qc`UD8IYz<-T`s%ch=x zG2Q0Sx-9efeW~nktEAo+AF7V;?^(EV**rI=$&rH0hoe|mT{yH$Li%ObMw4S5nS0_@ z>f|5n=YKI#F~WIAg68xGlLY*dlw^c9?nvtB++ASxzfRD$XvGguP|lH?d9A)Zyx-^b z{==)?`4;}0eN9<@u{&SlU*V|!nmuxsA-^2KjGu?M$XU**dJ^#JW`^yjk5#@={W5WT z)q2Z!fL1;vUgy8`>-`2$awveL3T~PGnSaYG{?1R&1( z!~QRO?0Mt4wMo6uvp+4zX3skxf2C%^Gf+vo5UnKLJ1?)|y7Pb6D%&pw>!1arT+`PJ z{txzN{^x70-|u$({f48^a`FGN-e>+9|7M$2+4+CIzoq_i#pOSsK}oSqABBWAXXG3@ zT<@H;jNy9Mm7d3cWRneDm(2L5Hb?$mkeXn!u!#A2haVf?mRgyF7Tns@A7s?Oa;c-8 z)PDXC_a%aj`3`U;GbAX*C9YRW{p8gc@6YCq&ISc}~P3 z>q?8Dz!Y^n_3uC5KV=z^a^%FL zPo<0aZ)h{#XIV8XzuZ`Q*T#pXbFT0+%?#pJo8`Eay<~%9cw~IvZtK-jQymXVSh@gP_`aO;)sJrpr@iEiO!xBmv{r?OdS^;z_%gFSc_x$;zxm#q_4620b%Q7>BE9%&xdCnwGOzHdl$a! zsb3qp~YPLp4kI!oN^sdj2o}4SrCts*wf9~%xXQ3{0*zG$d zli%!Gm&@|F_dwqi{TU8x=gmF;wSRhV=Jo9@TOTZZRhG-T!+nbC`W=zA3cFcURlQZctn+Y@(ce;0Dh% z2X5i>yWRh;Et(d!onc4llo|T`c8oae-Y4XmA0-aUwLpe+{cRjz~{0f8+LO zrfAWJh3_h6>~1%Z=b8F%w&^MT$L}K|Z)&{mk?Y%k<=y(YKhIQ3%APHG8{wCp-XziF zS@J%0NzCGUQSBaq&M5|Lo~kYHJihNzzRP^e&2X8>D}}a+zqhRLdu<>1;a%Ow$KOt! zIj*cIG$G){M?TsAx_(`L_qO-EP%&h-E!a5ES^axSD=PbvZJby2FCVAITY++S` zi0=~4BOjK0etCM4((^r2ME6+hgq;ZaT46m+g;w6%S`(|r1>&E42Ht777BC&cLM zUt1jgz3Xa=(D4`>)q@kdR`f;j2JII+%yTPt&b!EheAAa#TUt!Kj_@pu(hN{Hmp1pD z+rhr@*v+qP3#FDCTxHGo@|f!|VWr@Y+dH<%WXW4Uuh_KR&b;|am&@+>DxT1ya=XHg zg*L0Ni0++I^TFP4U(2VW>ywPnev8|4OfA47_=lTwu)5{StaYpAsj6O1ZVjlG>}O_u z>vyHW@AKpKcRMf5IwseA=FIm8KE>~fR?lkRI(?^^?q>g8B8wKRKNpy{#wN#frBwAS z*VHn-6u;G5o?cy7dhG?vstk`y+*+ZzlY5T6;_AGsY!)Rw)6e*c$Lg95p2yBdMtrDz zv{&9=!BE-l*tBG9c}zSAeEAKj_nV!r#% z+V!<}cIw6K4c{Nc`|RjS?WuF4H!x4hshE{--pAM>y~WyR%3Y@7Srb>bDV=PpE#l4E z6KfwkZ|jzak=Z$`rPf_K9-ca{<@|Q_jMTW+D+3OP>cfa1@ z@k?jJeO88PKOX%Ity)^1v{mxsm+e1KrEA?i?eV4Sjmn<%X&e#u&(CJZxlY?Heb>;V zerfHlkT<&Vg#u3B@2;_mzr197$s))8HGFqgyWUEB5*jkw?Bp>g_Rltde>41FYsi0f z^_9H`F4`u|0|sZYxZz| z|LPbWGP}$;n?Ym7!iW1!`D>ibXL}vbTWho`?NX{*{IQtOmk+X}I@IpY?bg1v>gXM{ zDPQ+gWS`0VcA(&4LT={8S?n|OH{O3U%j`;(QC^i}>dR#L>}3bb`#I$H_hxc)zc!we zS@+8Kd{U(Lho*05|3!1#-Fy~wcmn(9yEzh#Cl;*Nn-+4fg#YZPyT_hQ-1F3RXZgcx zZFc{6^|Llc+O`NkK46~mY`5am2e-aP)gINo@6=wA@$g#DhNI7AFU*-;FaK=6X-RLR4boZbNvg9FBc?wYPYbxuj_0N-?D4Q8=qz8mUz#PK2fOgabXej6CqBosI4vQ z`f3$c*6yXms+SznW#`m+-Y|o`r+=}=5%$00@=n~l5tzEFq z>5PN4>8#0%4sQJ118N+cuH4Ia{nXvRaoN{7mMbM|?@VTVAMeX(+PAgK&U}u1@I^(t zr|G?FsWN~1jVE0=@an{pDZd<9bu_!VjXBlS4jqkA^k1XO+2Oh(GT_5Io{l9_2{Chi zDSnmH4?fwlXP%RwOX8FIc?pwxgm)$HXwW=h8PlP9=tIf!^D#Z%k}e-@4Ib`)&MM5! zsdgkOh`)lxo9lCh(qhvKY~iadpHBycBkQtNitjJ|&3syro9yg7wRqRt#KU2SXDs2Z zknWNQ4Rzkh+@Ngr^pBC@VwKeMUPgXf8}6;#y|_r2xlM9eLU*hEVr!jRjj#61#a(k; zCRodq-)@;?-}sbYN?yu9?%s*Zp*LFiH&ya$FA18sT1EVv$^|R!%xsbQMvgnRwxy)J z@m*n@^Jw!~$#q@1?7Q6M-}XI}V*5Ie_29mj=U?zGl=^s1w$jPOW7GEQY9)WnS&Uhk zCU$&Telw=2JJV!F+k!I77H^ef9!@6|VwcbV*)6R9HgeIAHSc-tuFPd_-~M~`iTcAY z=5=0tzT;lO25aRzcjImU&EB@*)BP>2)Bi8i-2)ovkkiks7L)hBy}I|iBd14zu)Ekj z#mn{18vFDaIrGegJVm-x{_{=!CoLNN`n!t4!L@7d{c4=q-*SAvvvJ&^9h-M0`7;UK zDbiXs*Fr|KqTTPm?!J&uFaJCVj`+9STdz}Db6$(j`^mDkTBpzX3AsLR63!PUl=iq_Unf33GvSU>wcnRoH3Wp+1f%Ks-k zy7TJ87WI{T%PPuDKK-#S`SacG-r~2(*ZikjXx&!ZeX48MY;`vo-}1-5W%p{EUgPLh zUwEwA;$)?#L4@7KD81%Z+_n8r#~RCifN|u)cLM zYrV1hXK%OaM{}>ux%TARmYCwm8owf!XU&R__Va716`#HKA|<`3?ed)YK_OEn#ZQ_0 zrbH~&{mmbvD;4uICO*5bD5cM@8RCEBwtijjfDXy;e!0!{|*vpTf9z8-d5bvWl5M%#a z@A=pwr+@g>{Sq6_-!<*e{145Uf1%>?=bzoP_%Ho2M_ITcKjq^j*W1N6JuBGz)eW5G zoNpJ;n8Rq#e@`d3wAdy$ecQ7vU2O|{i8=q5{k3NKSF7~j*ZtAwzWXNseLvqf`TsZO z+qu{2Tgo&3{r-8r_W9=Z^^bbK{YroDAbxMZ^Wpg_HQ&C<*ZtG4f9~^b`uzV7U(fel z@bmrirr*Nz|6hv#dvE@qdy;Sb>)x;5_vPnzeWM2pAMcNMxBtJ?{{QCt|K;m{{a(J! z{;&N0|LOJrmYzSn{_>yiH{WiK|9ffv|MUBQ+)_WE692pV|Ig>~zh0%k{89Vu%#(A^ z|Gzr_@6qh|KX;99itqm^UjHq8{{91zUMGIMzi$80djI#|@xPP4NWSfk|NZy=@45ba z>K;D!)cEjkvi;vD@8^lWzyJ5i{C_81kN>_<@iKnXw9Wi`Ma&mTIBO~J)yN2(d|I^N z@{jL~d!nQHMJvACub6XjRx!^#@%#JvKW%JO&A$5k^vp-gs%9QJaq7LzhIw2)r*61y z{i0KmzTEPxrDpY2x#+dq{><8PEil-ttmUz6#HMYor@X@_MKu-}mm2@Gx^}Cxr`mJr z#SY`3sVZ%o)An$CbBQ+x>@w(C=_5M%xQ=->$NMQ$T>fya);Jqqv%z$^imvtjK;`LI zBj?`C%*?!bF;lf#-c{v6?S%h)I+4-Y2j3R+^xm{F%*hkJ~*G+5{u6+8I)fU!0ujl)6URzz=(?7#1lkz%~O*S96xhG_b{M-v6*;6-$ z?o{3M_Yj-l!~5(%-oI7N?(7x){wVE!uDr)ay~@11pGtVdOV>8MddBu$q!0-o9CV`pmimn`C>WnwP5GyjDJaZt$eJ?{zf1O8nwB zZgZPd|Gs~EqiVMHWnWR_{LRtRzFcm8);eS5#xG3?JJ*v`A$7Rk!_pXKKN!)UAuw-PwHW{YRd%b9c&*mtVVPW@)6v z`u^~r@82eE{diV8Ika!7vd4Iiu=d@rX3a|%TQ7dQG4olVuXoAqhBp^|J}uojan{vW$EHTQs~nyD z_oLBH)(B7qgzUr=@Qj&jn&AO~g zw?Er%rB^-)s;pm^yCf|~A#u;jMXL2_ewGo^S1(PRekWADC%1P+O~HKoiNB_=S(;{U zD#mf@jEiw;0MD7;bH_LMY&$8aoVg~rFd-tnsDSfK#wzDnpFPKPGHMQ3S=t+hf6v$H zeZKALHN9=q>~|Snh%=mHeS2@r&x~!a-??qAee&_~mOC7${l7h%{!cY~smei-gDRS; zg;O{?Io0|$v-mJ}KU8wz=};8nC|I?#O+m3IWOoAN_sE~yH*4&>o^`Hc{fQIjGS8mK z?Dgy3_UZJd#l>D$KUEjc{Wj|l$LIGKK7{`Md|GL_vHj8$b7o7&hD-?xnUdIh&LH}8 z_oTI9*>zj4&XM-~e0su%`|dv{2Y(KoD7rth?!(ll`~QEc{P}+WlArH4-?m;~|F7Qu z{MWhv-=F{Y{ph}Z!mC~%{qptnMvyX`&an+b?bj+wY*sE6!4#=`tRoQd-k(yKK!+wU;CG-y1e7-{m%S5maFZ)os;hD z>Fx#f+v{x>zAxupU4QxeD#M^r0rI}{Zj3G#&UA!{RKbs zxpEDeo6jZP2;C@O$e}8nA7j^i*F$B!gW}is;f?>>9!hk->=AohUKo~W^5V_h zS*e;AFW#KLtZwCB|L05Q6kN_NE4yU*KsQ*aBj_8?Kk1|iF%voL7^^!(3O2mmuflwb zJ5I`I^G8C;&RUDC5_o(LOkQGS;k0$q>c>mG zdwgDMew?;aiq~*jP2{4>n)Yf*>~Adg%>A>wJpGY=smaPYZ{K=O+c<4z+-tpkH#L7U z-qyC0Wcz>bXmm#G?DK1rwX|OMCb_>}b5r2Hx7l<3k4l}`2Y5c9Q>KzdwIJ49TQWY#xh^g z6}eHL_164wn7b}3YxQ;JJhS|~Wjn*CsRkAPx^(uA&JmlE%?pbYj_#dt&)%bCZO+t> zjgz-m=S@${ez7b1#*=yPg3K7>ov(|XcplVi)w3h}ajyA_@->zB~y1nbd ztfB;oh?{TT-(T};!~VM#Yzhmrs|>U6#Fn4FxGUk_Dus3CyZo%2 zL6XsI-`|W+74B`;{rpsUt*>u?`fTf4?2oK&y>Z?BA?E3>+WlH7a zyFTB#%5qW`&u^VC_TDFWlTNT)tnk!=I~AJ7GgFTDP49cQa$BR{%^!Ow^=`b`XP9>P zOpkGW{sEtDpMG9@^7)kiykpXbnm*pwdtI7dSa{#6{O7L96_S$Qr%vlvkj|ajP+iX& zJ^%8O?+r83Ht2~T+IlwfX=wR&kuYnG)3L>0^uw8-H@83Y`X*PR_q=rV4O>pFmJb&;vp@cR zr|sY~lP!0BD@tnjl`h@BrA~8uhCTC{6KBs_Y_Iw7vZBfH;4$yUn{(e>IuX7tFSPjX zpF`Dumwr#%bnKLL`yKA@y~+9EUM98Im$xr}FU|VBF@NFI*Y~2f_gCHx?J5F|c3i*1 zz2?>3V(v4cX*=%6yo;7Jy1!a?PjsBs)hXL0GE$`Cqi+N~ty;?eJ9X>3-*-3fxqLK# z=9xK@C%@0w8ryYl>U>rC5}zw+;;B7+J<*%or|J8bT-{b;VeB-e-rh7WZQhaNrxYVz z9nzLrxk1LM)T%ITS;X=Ol368ILgzC@Ca=3D)bvnbbCC4w&@Az|$4?HLiuEk^J>06g zcEveO*YAd1jS_|ySGf^*qQDdJEfb^;?2ysaoAhYO6cxki zv%I|un~oSvi#jVv$3?(*C2OTHfXCE&7eb0BwMKVT0oh8PkKx`$) z@^g-+MqInu1$focj1rh$zuO;w)%(D5S^e^$H_1WoBzPKQ*O#7w?2N-5j$Y5sr+<}>**k)NlteAdGzlI6t7pYb6e(Z za$ZVLGW_B5L(*vres8_wpPRWe{2X&WXOl-#T!SI!J;W|4d(-Za^8x`q>pL<-ye9TBH@`m=Q`d~rU zT4t-+2X8wvg1UriyH7QpKkB%oXs1XW+yB~$dKcbXz7#dA65B0wsaqw*>#>X zJNu6R7VS`fwE2`?dFk{=(-&WFF=k#?;rel3Rocy`eeXW?f`pbx)fN^O-fQ&EWdCuH zf8W38nwMubozA`cw78_EaPP8^RhLDTjxIgg%CTgE*T&>$)8$L{l&4N-+?jgn+x+yI z@#Q~_zRVKnIwYeK%cohvan9jlbGH3{nSatklP!20S8&*;w#VK~E%9_K^Q;T>@+x|_ zneltPcr|C0uWnpK#Ea>UkcCro>f2}jZ`*LC#M1lZqb1(1EnlWoul~FM_nFRJo#x>wxA2JJ zbZ^fD3IEIxdFA$djk>oiE9+~vJSog`N}c?8r9r`*cb`&Un4+wp;$!&`@ag`+FSDF# z^;e`=@6GKEy}CM7rPJQzv#rJTH!n_zNzI*Fs>`&Y&|U)T~+QhFeJ zlbvat+-gvGoz30T>9k{lh1`3AqmvV=eEsA991uP`scIL`%DYKIr!IZd+Iz`*qgD5s zb7}lre`*CaAAA2MEG;s8;+dG+p|#4-UmkfRardeBg>1Xi`<;*0vtQ0Wl>F9qpI&^q z{d(Rjg{g0QufE=t74RhP+^l&gGG=Ug?Wv=2Z*fijwxEAI_Uzh!qRPkV#}=@+=1clJ ziR^EFY5F`n&+OCdAGMF%9=tBQzW44t{yht9OOFQMxn#Zb>h=5VtiAVl-c(l3HTE~l z$}xWYzrH&C|7Dk5M+=>n9NZeqyJeU4ZN9nEdnSwJRnBxe;jw(_lzp+koK`M%$jDF9 zly<07h-*^f`fCZv*}#B z#p?@8xBaf0+;?(Wx%=JTBd1PXsWC~bSa8}kf61O_oL{Zu|CNWuU6$ST?a$B4e%p`c zm}TouX0|_*8SA#Haa-nE`D@eT^LM{o^Ly#K{@#p`=lz^^@r$0DTJFu3+Pz_&n|bHL z+xnG!PGQrprr!FW=H&kVUV-l3rMurA7AcPTE7lmhZ0BjG53}an%WJ=wx8*0t@xrRb z-;+6&K3i-%pB*H2?C6ZX%H+8cZ;Z~yiZxwdvO&-&Z!6ncJ+rkp7N-fmm|Og$FZNyG zbk+x^nya)g+a<~@eO~{(C-z;@bQi}8Ut80cTy=e4zJH%K=f5t~?muT@#Tu@wygAqK zx7b31NqftGU9F-cdi*<1GkusPIpf{L=a~lorBe_5$-h!{__zMV=jI=pJ6>}>F@N=k zZSTdGu}Xiouc`1A{V=Pe;;hia{i#Q?r!oE4Rgc>&^36N)<1Ez&$K^iEddbeDRN?zh zuReCx!cXVV&##!jWpCT`>pBhh%#0`Bp1-|6_S)T!7d%Q8zI}^dJ&-%BUNUi8!Hnts zXSLTy3jDuq`{RJilV#uEeLn3n!*JVAUCYn2tnSuKxm4?J{j&bvi)?irvBUFs9r`%y z=g0k$fiF`I+oZH|JIet*qVr_jSbkr_(n} zzfWrZ^WF1T`{$3detzD+`TX@O*~qGgy{#n8AgRcKO*s>`1&v(yL?cj9H| zdiL#oAv>?~{+uWK_2>VLZJc)fkBD4)+O&1|=Df?CmA7x^tgh<;PG7&Nujn)9%d!rS z+kAL`ndzPsiNE)s&P$2U+CA0JSLNsX)7iEs{p&uTxxOS`@7npb|Gya8?c2H6!s|N6 z)!P$f=Fg4YG5gfi>n1Jk;_-i;RvxzvewmyFQ?Cs8{ul>)e9jyADTw8l_21ndxWl6Iug*()~SF21m-0v6e5huLzzwd?5 z!Fi9>X9xOcho?Prc6zlvr{b*BkNZK}CG7pqk4gb5i?Md^r(Vr%~ zK2qp?@)Z8{ky`KfPhp2p?o;^w>&ow)dLUf!iu8~CFJD=HmR>; z&&=0%qvj;;srkM1#?M)<$Fip>KQ-+?bNx@{veeE0+vm^U+x75#khK1!$u+;1p7=S- z^+@(S_w(6uGuLNI)`af=P`6|HoSP+Q%+In^ei5^d-@KyYY|T$~rsvswJpaC2*!8FI z$n9G-pU=Ju+CMFSzld%8<{1^fu8z;MFYWEOc~;lYdfEJ*)c$AlZ1&Zi&f1q2srWoQ zsAToE>-QWItJWO7^~&zwdPVcNVAefqL10oTZga@Jdd79CK`;J}n8t!d~KNX(8LVdyZp4a9-?!P!ceS!I*KW%@7a{u%GGrv{E^jr1PpSG%| zKYN(}aX$LT@}=$bo|xZ`ANDV-JH6|FTb)3uE#uzA{ZrQ83-EWym%N_;VgJSX`i}W6 zKY4$v-ufr~Cx6RV7N}ExRD>EmVU+g=`-IC^^V`d7o^X9E_%y; z@PFGc-Pix5e>q-fQ^zCTD-w zRnhBqp1(8CvQG9-erC~ZPor}gTYcuJoMk`sZr%0^C8r;je%P3gKdqz?~|2xNYdU6U-QAMLyA&R@yb59+=dmYZY<)z<)c@y&n@kthje)SFe)iDZiSP=2wJ0zp`v@ zpRwhQ`zy{=84lSfkh0#tlYBGuYWLsJH=Ny?8*OxLVcmQ$`;M3D>R)eMtP@bb@yWJm zhd;~z-zMj*8>J?hu=dR>=eYAwb@!K-#R3lx_gxXb5dEj}UgP#{kNWh_ea=(&OaAKj zUHp0F4gICRLQQJd#2>wo_sn8H*PjT^rswaD7lESJjOpCn=UnF;rj_1b_QQA{Hc0D+V}6xxBd?KDOK-(HQ#Tz_u`ZEFUKW6*Irq1^}>9GGx@zyh3jT5 z`XW%t&-M6ASccw~hI<)b-suI0g@(lb*|zIfwqDu(y1oA;*ZIHPWhMK3^?u#puq>@B z;`(!f=kEP-R(0yDH+3t%)g9Wp7mc{V)jI=3)47tPGhx+XsA@{t~Go1>{-+E zw@~9j)F;#BtD_dKv^vbXx;*u2xG2|FtH0gVU7O{Fu{XxN}8FSlW?=+&iX~t-aH2yt~SI0rv&z+&}W% X(r$YULejp24psJa^>bP0l+XkK1CfU= literal 22456 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 diff --git a/doc/qtdesignstudio/images/qt-bridge.png b/doc/qtdesignstudio/images/qt-bridge.png index 011ae971b3d4930d6421aad835335bb64be33c81..9638e188d2dd4eb26d7eabc85f4d4bdcd24f673a 100644 GIT binary patch literal 19002 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%0D$n?; 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 literal 22087 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 D^$ zBljy)AMf){PrtmYo!1ii(sJdu_0?esAWQ&Vvb+cA}{LY~Gg>mxQitC>urCk0> z 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 Hl+XkKwZ|O3 From 4e834d549ab450845a42f4c683e27f1ad81eda1d Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Mon, 12 Apr 2021 11:55:44 +0200 Subject: [PATCH 05/14] Doc: Update info about configuring WebAssembly Fixes: QTCREATORBUG-25571 Change-Id: Id6a7aae453e1e27ef261c11265663108426b133f Reviewed-by: Alessandro Portale --- .../images/qtcreator-kit-webassembly.png | Bin 26213 -> 23043 bytes .../images/qtcreator-webassembly-options.png | Bin 0 -> 12700 bytes .../src/webassembly/creator-webassembly.qdoc | 49 +++++++----------- 3 files changed, 20 insertions(+), 29 deletions(-) create mode 100644 doc/qtcreator/images/qtcreator-webassembly-options.png diff --git a/doc/qtcreator/images/qtcreator-kit-webassembly.png b/doc/qtcreator/images/qtcreator-kit-webassembly.png index d37450d245d83527b2b6796b9d4a18c91dbe7ffc..4f4e316f55564c58373c25fd9451622560812fcf 100644 GIT binary patch literal 23043 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
1`C z?95;ABFcdOF257+{{Ixd@8{b5VrRW4?|v+KCfjV6|1%OiIney%yqT=5$?dbdY!(<- zebMfZ{#q4mWy+tDak~Gl%H5vsPnYcj4g0zOy4`l$ow8T*Z*+3~=KYqX{44K%oWW+F zb7Jm=wUc*=8?Mu0lWfUdkoVm+!2g2!o?AXs{wQ&+-nhSX7xNcere`1IKb4gRKYR7+ z*|n>yqmB4)P2&0g^s@6Kg@@;2O4>J?)RtZras1}FD!Pczc+uTGTG}cv>;626Sh_Or z%<700_wVov?eD*E-!HRX;mz$;>=(TJxyrb&sp~n~pR|A4emrNXY0`!7ZJ&Fd$(3HU z%r)k_RL@nymiKn=Mtx-;IklG6Hs_n)thVF0@Lm)=t?x8_dfvU5T{cHUZ{N7Prq#c5 zbM@|(J9oaA%X8%B#s5!_&Mq*|Ws`11AS-!`f1)<-uxt&A$IVtwlv zaKDi8RXbblyIl3Aj}iHx^K!~_L^vIT|M-6JjTEY9-JR+_X_m-+E7#tl$19Y@Z6~}- zcyqWXL$-VVoT*_#3t!D&&{zN&ldG#=Xs`Ms`C!z?*@sWD?t1Iq6TDn$A=?5w2YaKv z!jJWL3LR1X%v{H`P~;cmU#A7<^~$-9c)$6w^yqB!VD?o`$Q~-IV8T%&zh!T zd0JMe>fE_JuH)X_v%9Bf?2$hyQLbps>htftLDTz<0+YUO1_epqQUAW3OISUP`&qJ_x&FxV@|qXPRm=G=_&>}@m@W`-DE#8(w9m_`uYEr@bH+=1*UBaDJzwlB4*o8@ zd3H+p#!Ws|nrcUHu2|}K=KPyyd0ek~-*zX>+sdzhbaAh9yxQ|J=IY41swVp`gg?HV za;r^1yk+0}=RC!i);s*=S90h2<;Pd~Ymts#)!Z1i^c`zBLR4nz7cu^=bDTdd#p>*r zLx;}Z-d^4sxj*U7`Zel$=3;RV;_@x*gs1mvZ(OnIZ~RS;W!Z}^WiJ1?CZ01z`Qu|5 zF8;86>DTk`$5b@_^U8ne`P@Kct?=v(B_4fzd7ri{Y=W2n-!s1bj$<^vuwOnsF>7hh z1@jHN7$an(uS{Mj#aPS#wdzdG`Uz4mp6eG~Jt6Z(U-rw@3;(|5@`Uss{PXodFt>>k ze67+(9_AFs{Ys$aN-HYa7y2(*{Qg(=)~KD`{;W%qf)YUmYgpV`r_1fDG#hQQp46S5 zKVwG4yPeNpM4$ip^Jgn~)zFfpwD&VOUW9uWZJiNhUb|wJ&P_k{{I`$sDB9E-_hT0W0|SGntDnm{r-UW|kT{S# literal 26213 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 I&MBb@0A5l;sQ>@~ diff --git a/doc/qtcreator/images/qtcreator-webassembly-options.png b/doc/qtcreator/images/qtcreator-webassembly-options.png new file mode 100644 index 0000000000000000000000000000000000000000..73da8e344782e5512a78b04de52daecd8a82dc01 GIT binary patch literal 12700 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 \uicontrol Options > \uicontrol Devices > + \uicontrol WebAssembly. + \li In the \uicontrol {Emscripten SDK path} field, enter the root + directory where \c emsdk is installed. + \li \QC configures the \uicontrol {Emscripten SDK environment} for you + if the \c emsdk is supported by the Qt for WebAssembly version that + you will use for developing the application. + \image qtcreator-webassembly-options.png "Qt for WebAssembly device options" \li Select \uicontrol Tools > \uicontrol Options > \uicontrol Kits. \image qtcreator-kit-webassembly.png "Qt for WebAssembly kit" \li In the \uicontrol Compiler group, \uicontrol {Emscripten Compiler} should have been automatically detected for both C++ and C. If not, - check that emscripten is set up correctly and your home directory - contains an \c{.emscripten} file. - \li Select \uicontrol Change next to the \uicontrol Environment - field to append the locations where you installed \MinGW and - \c sed to the PATH variable. For example, on Windows: - \c {PATH=C:\Qt\Tools\mingw730_64\bin;C:\Program Files (x86)\GnuWin32\bin;${PATH}} - \li Select \uicontrol Apply to save the changes to the kit. + check that emscripten is set up correctly. \endlist \section2 Adding WebAssembly Kits @@ -129,9 +123,6 @@ set to \uicontrol {Web Browser}. \li In the \uicontrol Compiler field, select \uicontrol {Emscripten Compiler} for both C and C++. - \li Select \uicontrol Change next to the \uicontrol Environment - field to append the locations where you installed \MinGW and - \c sed to the PATH variable. \li Select \uicontrol Apply to add the kit. \endlist @@ -144,8 +135,8 @@ \li Select \uicontrol Projects > \uicontrol {Build & Run}, and then select the WebAssembly kit as the build and run kit for the project. \li Select \uicontrol Run to specify run settings. - \li In the \uicontrol Browser field, select the browser to run the - application in. + \li In the \uicontrol {Web browser} field, select the browser to run + the application in. \image qtcreator-settings-run-webassembly.png "Selecting the browser to run in" \endlist From 0337b34bc275a3d268d1308a67b67caba795ed05 Mon Sep 17 00:00:00 2001 From: Vikas Pachdha Date: Mon, 12 Apr 2021 23:32:42 +0200 Subject: [PATCH 06/14] Docs: Document PSD cloning option in Qt-Bridge Photoshop Task-number: QDS-3979 Change-Id: Ifd14afdec5b9df93d8b279541e6ec393c19ce9bf Reviewed-by: Leena Miettinen --- doc/qtdesignstudio/images/qt-bridge-clone.png | Bin 0 -> 23080 bytes .../src/qtbridge/qtbridge-ps-using.qdoc | 21 ++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 doc/qtdesignstudio/images/qt-bridge-clone.png diff --git a/doc/qtdesignstudio/images/qt-bridge-clone.png b/doc/qtdesignstudio/images/qt-bridge-clone.png new file mode 100644 index 0000000000000000000000000000000000000000..09946e22a4d450dc8e2580a8f703cf66a80f1f70 GIT binary patch literal 23080 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 Date: Wed, 14 Apr 2021 19:04:16 +0200 Subject: [PATCH 07/14] QmlDesigner: Do not allow print as id Task-number: QDS-4162 Change-Id: I7cce6fbeabff35e1d4469c93c73b02b56ff6d4a5 Reviewed-by: Thomas Hartmann --- .../designercore/model/modelnode.cpp | 38 ++++--------------- 1 file changed, 8 insertions(+), 30 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/model/modelnode.cpp b/src/plugins/qmldesigner/designercore/model/modelnode.cpp index ee3c863ac0d..f196f5ca406 100644 --- a/src/plugins/qmldesigner/designercore/model/modelnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/modelnode.cpp @@ -151,36 +151,14 @@ QString ModelNode::validId() static bool idIsQmlKeyWord(const QString& id) { - static const QSet keywords = { - "as", - "break", - "case", - "catch", - "continue", - "debugger", - "default", - "delete", - "do", - "else", - "finally", - "for", - "function", - "if", - "import", - "in", - "instanceof", - "new", - "return", - "switch", - "this", - "throw", - "try", - "typeof", - "var", - "void", - "while", - "with" - }; + static const QSet keywords = {"as", "break", "case", "catch", + "continue", "debugger", "default", "delete", + "do", "else", "finally", "for", + "function", "if", "import", "in", + "instanceof", "new", "print", "return", + "switch", "this", "throw", "try", + "typeof", "var", "void", "while", + "with"}; return keywords.contains(id); } From 0108a85c821ac8765e84f07910163b40778e3abd Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Thu, 25 Mar 2021 02:45:40 +0100 Subject: [PATCH 08/14] qmlpreview: prepare plugin to have an external client - export the plugin andd add client creator API to be able to implement external debugtranslationclients - use the private/qqmldebugtranslationprotocol_p.h from Qt5::QmlDebugPrivate - have a basic client implementation which cares about changing language - remove out of date elide warning implementation - remove old ui - remove the menu entry The old client implementation is incompatible with the will be introduced service and there was never an officially released compatible service. Therefore we can remove the old client implementation without causing any harm. Change-Id: I26b5e8a99ba30ae6377443b3fffb05901b1cac28 Reviewed-by: Tim Jenssen --- src/plugins/qmlpreview/CMakeLists.txt | 22 +- .../projectfileselectionswidget.cpp | 162 ------ .../qmlpreview/projectfileselectionswidget.h | 50 -- .../qmlpreview/qmldebugtranslationclient.cpp | 54 +- .../qmlpreview/qmldebugtranslationclient.h | 20 - .../qmlpreview/qmldebugtranslationwidget.cpp | 523 ------------------ .../qmlpreview/qmldebugtranslationwidget.h | 110 ---- src/plugins/qmlpreview/qmlpreview.pro | 8 +- .../qmlpreviewconnectionmanager.cpp | 19 +- .../qmlpreview/qmlpreviewconnectionmanager.h | 7 +- src/plugins/qmlpreview/qmlpreviewplugin.cpp | 66 +-- src/plugins/qmlpreview/qmlpreviewplugin.h | 16 +- .../qmlpreview/qmlpreviewruncontrol.cpp | 6 +- src/plugins/qmlpreview/qmlpreviewruncontrol.h | 3 +- .../tests/qmlpreviewclient_test.cpp | 2 - .../qmlpreview/tests/qmlpreviewclient_test.h | 2 - .../tests/qmlpreviewplugin_test.cpp | 6 +- .../qmlpreview/tests/qmlpreviewplugin_test.h | 2 - 18 files changed, 64 insertions(+), 1014 deletions(-) delete mode 100644 src/plugins/qmlpreview/projectfileselectionswidget.cpp delete mode 100644 src/plugins/qmlpreview/projectfileselectionswidget.h delete mode 100644 src/plugins/qmlpreview/qmldebugtranslationwidget.cpp delete mode 100644 src/plugins/qmlpreview/qmldebugtranslationwidget.h diff --git a/src/plugins/qmlpreview/CMakeLists.txt b/src/plugins/qmlpreview/CMakeLists.txt index 00bda33ab0b..6e2dbc4238f 100644 --- a/src/plugins/qmlpreview/CMakeLists.txt +++ b/src/plugins/qmlpreview/CMakeLists.txt @@ -1,3 +1,5 @@ +find_package(Qt5 COMPONENTS QmlDebug REQUIRED) + add_qtc_plugin(QmlPreview DEPENDS QmlDebug QmlJS PLUGIN_DEPENDS Core ProjectExplorer QmlJSTools QtSupport ResourceEditor QmlProjectManager @@ -9,8 +11,6 @@ add_qtc_plugin(QmlPreview qmlpreviewruncontrol.cpp qmlpreviewruncontrol.h qmldebugtranslationclient.cpp qmldebugtranslationclient.h qmlpreview_global.h - projectfileselectionswidget.cpp projectfileselectionswidget.h - qmldebugtranslationwidget.cpp qmldebugtranslationwidget.h ) extend_qtc_plugin(QmlPreview @@ -19,3 +19,21 @@ extend_qtc_plugin(QmlPreview tests/qmlpreviewclient_test.cpp tests/qmlpreviewclient_test.h tests/qmlpreviewplugin_test.cpp tests/qmlpreviewplugin_test.h ) + +# check if Qt version have_qml_debug_translation_protocol +# will be introduced in Qt 6.2, but there are users +# who needs it in older but special built Qt versions aswell +string(REGEX MATCH "^[0-9]*" QT_VERSION_MAJOR ${Qt5_VERSION}) +get_target_property(qmldebugprivate_include_directories + Qt${QT_VERSION_MAJOR}::QmlDebugPrivate + INTERFACE_INCLUDE_DIRECTORIES +) +find_file(have_qml_debug_translation_protocol + NAMES private/qqmldebugtranslationprotocol_p.h + PATHS ${qmldebugprivate_include_directories} +) +extend_qtc_plugin(QmlPreview + CONDITION have_qml_debug_translation_protocol + PUBLIC_DEPENDS Qt5::QmlDebugPrivate + PUBLIC_DEFINES "FOUND_QML_DEBUG_TRANSLATION_PROTOCOL" +) diff --git a/src/plugins/qmlpreview/projectfileselectionswidget.cpp b/src/plugins/qmlpreview/projectfileselectionswidget.cpp deleted file mode 100644 index 44b8451dfcb..00000000000 --- a/src/plugins/qmlpreview/projectfileselectionswidget.cpp +++ /dev/null @@ -1,162 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#include "projectfileselectionswidget.h" - -#include -#include -#include - -#include - -#include -#include -#include -#include - -namespace QmlPreview { - -class ProjectFileItem : public Utils::TreeItem -{ -public: - ProjectFileItem() = default; - ProjectFileItem(const Utils::FilePath &f, bool d) - : filePath(f) - , disabled(d) - {} - - Qt::ItemFlags flags(int) const override - { - return Qt::ItemIsUserCheckable | Qt::ItemIsEnabled; - } - - QVariant data(int , int role) const override - { - if (role == Qt::DisplayRole) - return filePath.toUserOutput(); - if (role == Qt::CheckStateRole) { - if (disabled) - return Qt::Unchecked; - else - return Qt::Checked; - } - return QVariant(); - } - - bool setData(int , const QVariant &data, int role) override - { - if (role != Qt::CheckStateRole) - return false; - disabled = (data == Qt::Unchecked); - return true; - } - - Utils::FilePath filePath; - bool disabled = false; -}; - - -ProjectFileSelectionsWidget::ProjectFileSelectionsWidget(const QString &projectSettingsKey, ProjectExplorer::FileType fileType, QWidget *parent) - : QWidget(parent) - , m_projectSettingsKey(projectSettingsKey) - , m_fileType(fileType) -{ - auto model = new Utils::TreeModel(this); - model->setHeader({tr("Files to test:")}); - auto updateCheckedFiles = [this, model] () { - m_checkedFiles.clear(); - QStringList uncheckedFiles; - model->forAllItems([&, this](ProjectFileItem *item) { - if (item->disabled) - uncheckedFiles.append(item->filePath.toString()); - else - m_checkedFiles.append(item->filePath); - }); - if (auto project = ProjectExplorer::SessionManager::startupProject()) - project->setNamedSettings(m_projectSettingsKey, uncheckedFiles); - emit selectionChanged(m_checkedFiles); - }; - - connect(model, &QAbstractItemModel::dataChanged, updateCheckedFiles); - - auto view = new QTreeView(this); - view->setMinimumSize(QSize(100, 100)); - view->setTextElideMode(Qt::ElideMiddle); - view->setWordWrap(false); - view->setUniformRowHeights(true); - view->setModel(model); - - const auto viewLayout = new QHBoxLayout; - viewLayout->addWidget(view); - - auto layout = new QVBoxLayout(this); - layout->setContentsMargins(0, 0, 0, 0); - layout->addLayout(viewLayout); - - auto initModel = [this, model, updateCheckedFiles](ProjectExplorer::Project *project) { - if (!project) - return; - - auto refreshModel = [this, model, updateCheckedFiles] () { - model->clear(); - if (auto project = ProjectExplorer::SessionManager::startupProject()) { - const auto settingsDisabledFiles = project->namedSettings(m_projectSettingsKey).toStringList(); - - if (auto rootProjectNode = project->rootProjectNode()) { - auto rootPath = rootProjectNode->filePath(); - - rootProjectNode->forEachNode([this, settingsDisabledFiles, model, rootPath](ProjectExplorer::FileNode *fileNode) { - if (fileNode->fileType() == m_fileType - && !fileNode->filePath().relativeChildPath(rootPath).startsWith("imports/")) { - bool isDisabled = settingsDisabledFiles.contains(fileNode->filePath().toString()); - model->rootItem()->appendChild(new ProjectFileItem(fileNode->filePath(), isDisabled)); - } - }); - } - updateCheckedFiles(); - } - }; - // deploymentDataChanged is only triggered if the active project changed, so it is not a - // problem that maybe many different targets are connected to refreshModel - this->connect(project->activeTarget(), &ProjectExplorer::Target::deploymentDataChanged, - model, refreshModel, Qt::UniqueConnection); - refreshModel(); - }; - - if (auto project = ProjectExplorer::SessionManager::startupProject()) { - initModel(project); - } - - connect(ProjectExplorer::SessionManager::instance(), - &ProjectExplorer::SessionManager::startupProjectChanged, - initModel); -} - -Utils::FilePaths ProjectFileSelectionsWidget::checkedFiles() -{ - return m_checkedFiles; -} - -} // QmlPreview diff --git a/src/plugins/qmlpreview/projectfileselectionswidget.h b/src/plugins/qmlpreview/projectfileselectionswidget.h deleted file mode 100644 index 4bacb41d49b..00000000000 --- a/src/plugins/qmlpreview/projectfileselectionswidget.h +++ /dev/null @@ -1,50 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#pragma once -#include -#include - -#include - -namespace QmlPreview { - -class ProjectFileSelectionsWidget : public QWidget -{ - Q_OBJECT - -public: - explicit ProjectFileSelectionsWidget(const QString &projectSettingsKey, ProjectExplorer::FileType fileType, QWidget *parent = nullptr); - Utils::FilePaths checkedFiles(); -signals: - void selectionChanged(const Utils::FilePaths &selectedFiles); -private: - const QString m_projectSettingsKey; - ProjectExplorer::FileType m_fileType; - - Utils::FilePaths m_checkedFiles; -}; - -} // QmlPreview diff --git a/src/plugins/qmlpreview/qmldebugtranslationclient.cpp b/src/plugins/qmlpreview/qmldebugtranslationclient.cpp index 6ebc13d8f8a..3ef4351d498 100644 --- a/src/plugins/qmlpreview/qmldebugtranslationclient.cpp +++ b/src/plugins/qmlpreview/qmldebugtranslationclient.cpp @@ -26,8 +26,9 @@ #include "qmldebugtranslationclient.h" #include -#include -#include +#ifdef FOUND_QML_DEBUG_TRANSLATION_PROTOCOL +#include +#endif namespace QmlPreview { @@ -39,51 +40,14 @@ QmlDebugTranslationClient::QmlDebugTranslationClient(QmlDebug::QmlDebugConnectio void QmlDebugTranslationClient::changeLanguage(const QUrl &url, const QString &localeIsoCode) { QmlDebug::QPacket packet(dataStreamVersion()); - packet << static_cast(Command::ChangeLanguage) << url << localeIsoCode; +#ifdef FOUND_QML_DEBUG_TRANSLATION_PROTOCOL + sendMessage(QQmlDebugTranslation::createChangeLanguageRequest(packet, url, localeIsoCode)); +#else + const int request_change_language = 1; + packet << request_change_language << url << localeIsoCode; sendMessage(packet.data()); -} +#endif -void QmlDebugTranslationClient::changeWarningColor(const QColor &warningColor) -{ - QmlDebug::QPacket packet(dataStreamVersion()); - packet << static_cast(Command::ChangeWarningColor) << warningColor; - sendMessage(packet.data()); -} - -void QmlDebugTranslationClient::changeElidedTextWarningString(const QString &warningString) -{ - QmlDebug::QPacket packet(dataStreamVersion()); - packet << static_cast(Command::ChangeElidedTextWarningString) << warningString; - sendMessage(packet.data()); -} - -void QmlDebugTranslationClient::changeElideWarning(bool elideWarning) -{ - if (elideWarning) - enableElidedTextWarning(); - else - disableElidedTextWarning(); -} - -void QmlDebugTranslationClient::setDebugTranslationServiceLogFile(const QString &logFilePath) -{ - QmlDebug::QPacket packet(dataStreamVersion()); - packet << static_cast(Command::SetDebugTranslationServiceLogFile) << logFilePath; - sendMessage(packet.data()); -} - -void QmlDebugTranslationClient::enableElidedTextWarning() -{ - QmlDebug::QPacket packet(dataStreamVersion()); - packet << static_cast(Command::EnableElidedTextWarning); - sendMessage(packet.data()); -} - -void QmlDebugTranslationClient::disableElidedTextWarning() -{ - QmlDebug::QPacket packet(dataStreamVersion()); - packet << static_cast(Command::DisableElidedTextWarning); - sendMessage(packet.data()); } void QmlDebugTranslationClient::messageReceived(const QByteArray &data) diff --git a/src/plugins/qmlpreview/qmldebugtranslationclient.h b/src/plugins/qmlpreview/qmldebugtranslationclient.h index db00b6f0056..0b9e3594b2b 100644 --- a/src/plugins/qmlpreview/qmldebugtranslationclient.h +++ b/src/plugins/qmlpreview/qmldebugtranslationclient.h @@ -34,34 +34,14 @@ class QMLPREVIEW_EXPORT QmlDebugTranslationClient : public QmlDebug::QmlDebugCli { Q_OBJECT public: - //needs to be in sync with QQmlDebugTranslationClient in qtdeclarative/src/plugins/qmltooling/qmldbg_preview/qqmldebugtranslationservice.h - enum class Command { - ChangeLanguage, - MissingTranslationsChecked, - EnableElidedTextWarning, - DisableElidedTextWarning, - ChangeWarningColor, - ChangeElidedTextWarningString, - SetDebugTranslationServiceLogFile, - TestAllLanguages - }; - explicit QmlDebugTranslationClient(QmlDebug::QmlDebugConnection *connection); void changeLanguage(const QUrl &url, const QString &localeIsoCode); - void changeWarningColor(const QColor &warningColor); - void changeElidedTextWarningString(const QString &warningString); //is QByteArray better here? - void changeElideWarning(bool elideWarning); - void setDebugTranslationServiceLogFile(const QString &logFilePath); - void enableElidedTextWarning(); - void disableElidedTextWarning(); void messageReceived(const QByteArray &message) override; void stateChanged(State state) override; signals: -// void pathRequested(const QString &path); -// void errorReported(const QString &error); void debugServiceUnavailable(); }; diff --git a/src/plugins/qmlpreview/qmldebugtranslationwidget.cpp b/src/plugins/qmlpreview/qmldebugtranslationwidget.cpp deleted file mode 100644 index f835fa79459..00000000000 --- a/src/plugins/qmlpreview/qmldebugtranslationwidget.cpp +++ /dev/null @@ -1,523 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#include "qmldebugtranslationwidget.h" -#include "qmlpreviewruncontrol.h" -#include "qmlpreviewplugin.h" -#include "projectfileselectionswidget.h" - -#include -#include -#include - -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace { -QObject *getPreviewPlugin() -{ - const QVector &specs = ExtensionSystem::PluginManager::plugins(); - const auto pluginIt = std::find_if(specs.cbegin(), specs.cend(), - [](const ExtensionSystem::PluginSpec *p) { - return p->name() == "QmlPreview"; - }); - - if (pluginIt != specs.cend()) - return (*pluginIt)->plugin(); - - return nullptr; -} - -} - -namespace QmlPreview { - -QmlDebugTranslationWidget::QmlDebugTranslationWidget(QWidget *parent, TestLanguageGetter languagesGetterMethod) - : QWidget(parent) - , m_testLanguagesGetter(languagesGetterMethod) - , m_warningColor(Qt::red) - //, m_foundTrColor(Qt::green) // invalid color -> init without the frame - , m_lastWarningColor(m_warningColor) - , m_lastfoundTrColor(Qt::green) - -{ - auto mainLayout = new QVBoxLayout(this); - - auto buttonGroup = new QButtonGroup(this); - // it gets the text from updateCurrentEditor method - m_singleFileButton = new QRadioButton(); - m_singleFileButton->setChecked(true); - buttonGroup->addButton(m_singleFileButton); - - const QString projectSettingsKey = "QmlPreview.DisabledDebugTranslationFiles"; - const ProjectExplorer::FileType filterFileType = ProjectExplorer::FileType::QML; - m_checkableProjectFileView = new ProjectFileSelectionsWidget(projectSettingsKey, filterFileType); - m_checkableProjectFileView->setVisible(false); - connect(m_checkableProjectFileView, &ProjectFileSelectionsWidget::selectionChanged, this, &QmlDebugTranslationWidget::setFiles); - m_multipleFileButton = new QRadioButton(tr("Multiple files")); - buttonGroup->addButton(m_multipleFileButton); - connect(m_multipleFileButton, &QAbstractButton::toggled, m_checkableProjectFileView, &QWidget::setVisible); - connect(m_multipleFileButton, &QAbstractButton::toggled, this, &QmlDebugTranslationWidget::updateFiles); - - mainLayout->addWidget(m_singleFileButton); - mainLayout->addWidget(m_multipleFileButton); - mainLayout->addWidget(m_checkableProjectFileView); - - // language checkboxes are add in updateAvailableTranslations method - m_selectLanguageLayout = new QHBoxLayout; - mainLayout->addLayout(m_selectLanguageLayout); - - auto settingsLayout = new QHBoxLayout(); - mainLayout->addLayout(settingsLayout); - - auto elideWarningCheckBox = new QCheckBox(tr("Elide warning")); - connect(elideWarningCheckBox, &QCheckBox::stateChanged, [this] (int state) { - m_elideWarning = (state == Qt::Checked); - }); - settingsLayout->addWidget(elideWarningCheckBox); - - auto warningColorCheckbox = new QCheckBox(tr("Warning color: ")); - settingsLayout->addWidget(warningColorCheckbox); - auto warningColorButton = new Utils::QtColorButton(); - connect(warningColorCheckbox, &QCheckBox::stateChanged, [warningColorButton, this] (int state) { - if (state == Qt::Checked) { - warningColorButton->setColor(m_lastWarningColor); - warningColorButton->setEnabled(true); - } else { - m_lastWarningColor = warningColorButton->color(); - warningColorButton->setColor({}); - warningColorButton->setEnabled(false); - } - }); - connect(warningColorButton, &Utils::QtColorButton::colorChanged, [this](const QColor &color) { - m_warningColor = color; - }); - warningColorCheckbox->setCheckState(Qt::Checked); - settingsLayout->addWidget(warningColorButton); - - auto foundTrColorCheckbox = new QCheckBox(tr("Found \"tr\" color: ")); - settingsLayout->addWidget(foundTrColorCheckbox); - auto foundTrColorButton = new Utils::QtColorButton(); - foundTrColorButton->setDisabled(true); - connect(foundTrColorCheckbox, &QCheckBox::stateChanged, [foundTrColorButton, this] (int state) { - if (state == Qt::Checked) { - foundTrColorButton->setColor(m_lastfoundTrColor); - foundTrColorButton->setEnabled(true); - } else { - m_lastfoundTrColor = foundTrColorButton->color(); - foundTrColorButton->setColor({}); - foundTrColorButton->setEnabled(false); - } - }); - connect(foundTrColorButton, &Utils::QtColorButton::colorChanged, [this](const QColor &color) { - m_foundTrColor = color; - }); - settingsLayout->addWidget(foundTrColorButton); - - settingsLayout->addItem(new QSpacerItem(0, 0, QSizePolicy::Expanding)); - - auto controlLayout = new QHBoxLayout; - mainLayout->addLayout(controlLayout); - - auto showLogButton = new QToolButton; - showLogButton->setText(tr("Show Log")); - showLogButton->setCheckable(true); - controlLayout->addWidget(showLogButton); - - // TODO: do we still need this buttons? -// auto pauseButton = new QToolButton; -// pauseButton->setText(tr("Pause")); -// pauseButton->setCheckable(true); -// controlLayout->addWidget(pauseButton); - -// auto onTheFlyButton = new QToolButton; -// onTheFlyButton->setText(tr("On the Fly")); -// controlLayout->addWidget(onTheFlyButton); - - m_runTestButton = new QPushButton(); - m_runTestButton->setCheckable(true); - m_runTestButton->setText(runButtonText()); - connect(m_runTestButton, &QPushButton::toggled, [this](bool checked) { - m_runTestButton->setText(runButtonText(checked)); - }); - - connect(m_runTestButton, &QPushButton::clicked, [this](bool checked) { - if (checked) - runTest(); - else { - if (m_currentRunControl) - m_currentRunControl->initiateStop(); - // TODO: what happens if we already have a preview running? -// QmlPreviewPlugin::stopAllRunControls(); -// qWarning() << "not implemented"; // TODO: stop still running tests - } - }); - controlLayout->addWidget(m_runTestButton); - - m_runOutputWindow = new Core::OutputWindow(Core::Context("QmlPreview.DebugTranslation"), - "QmlPreview/OutputWindow/Zoom"); - - m_runOutputWindow->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - m_runOutputWindow->setReadOnly(true); - m_runOutputWindow->setVisible(false); - mainLayout->addWidget(m_runOutputWindow); - - QSpacerItem *endSpacerItem = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Expanding); - mainLayout->addItem(endSpacerItem); - - connect(showLogButton, &QToolButton::toggled, m_runOutputWindow, [this, mainLayout, endSpacerItem](bool checked) { - m_runOutputWindow->setVisible(checked); - if (m_runOutputWindow->isVisible()) - mainLayout->takeAt(mainLayout->count() - 1); - else - mainLayout->addItem(endSpacerItem); - }); - - auto loadLogButton = new QToolButton; - loadLogButton->setText(tr("Load")); - controlLayout->addWidget(loadLogButton); - connect(loadLogButton, &QToolButton::clicked, this, &QmlDebugTranslationWidget::loadLogFile); - - auto saveLogButton = new QToolButton; - saveLogButton->setText(tr("Save")); - controlLayout->addWidget(saveLogButton); - connect(saveLogButton, &QToolButton::clicked, this, &QmlDebugTranslationWidget::saveLogToFile); - - auto clearButton = new QToolButton; - clearButton->setText(tr("Clear")); - controlLayout->addWidget(clearButton); - connect(clearButton, &QToolButton::clicked, this, &QmlDebugTranslationWidget::clear); - - Core::EditorManager *editorManager = Core::EditorManager::instance(); - connect(editorManager, &Core::EditorManager::currentEditorChanged, this, &QmlDebugTranslationWidget::updateCurrentEditor); - updateCurrentEditor(Core::EditorManager::currentEditor()); - - connect(ProjectExplorer::SessionManager::instance(), &ProjectExplorer::SessionManager::startupProjectChanged, - this, &QmlDebugTranslationWidget::updateCurrentTranslations); - - updateStartupProjectTranslations(); - - ProjectExplorer::TaskHub::addCategory("QmlPreview.Translation", tr("Translation issues")); -} - -QmlDebugTranslationWidget::~QmlDebugTranslationWidget() -{ - -} - -void QmlDebugTranslationWidget::updateCurrentEditor(const Core::IEditor *editor) -{ - if (editor && editor->document()) - m_currentFilePath = editor->document()->filePath(); - else - m_currentFilePath.clear(); - m_singleFileButton->setText(singleFileButtonText(m_currentFilePath.toString())); - updateFiles(); -} - -void QmlDebugTranslationWidget::updateStartupProjectTranslations() -{ - updateCurrentTranslations(ProjectExplorer::SessionManager::startupProject()); -} - -QColor QmlDebugTranslationWidget::warningColor() -{ - return m_warningColor; -} - -QColor QmlDebugTranslationWidget::foundTrColor() -{ - return m_foundTrColor; -} - -void QmlDebugTranslationWidget::updateCurrentTranslations(ProjectExplorer::Project *project) -{ - m_testLanguages.clear(); - for (int i = m_selectLanguageLayout->count()-1; i >= 0; --i) { - auto layoutItem = m_selectLanguageLayout->takeAt(i); - delete layoutItem->widget(); - delete layoutItem; - } - if (!project) - return; - - if (auto multiLanguageAspect = QmlProjectManager::QmlMultiLanguageAspect::current(project)) { - connect(multiLanguageAspect, &QmlProjectManager::QmlMultiLanguageAspect::changed, - this, &QmlDebugTranslationWidget::updateStartupProjectTranslations, - Qt::UniqueConnection); - auto languageLabel = new QLabel(); - languageLabel->setText(tr("Language to test:")); - m_selectLanguageLayout->addWidget(languageLabel); - if (multiLanguageAspect->value()) { - addLanguageCheckBoxes({multiLanguageAspect->currentLocale()}); - if (m_testLanguagesGetter) { - auto addTestLanguages = new QPushButton(tr("Add Test Languages")); - m_selectLanguageLayout->addWidget(addTestLanguages); - connect(addTestLanguages, &QPushButton::clicked, [this]() { - addLanguageCheckBoxes(m_testLanguagesGetter()); - }); - } - } else { - QString errorMessage; - addLanguageCheckBoxes(project->availableQmlPreviewTranslations(&errorMessage)); - } - m_selectLanguageLayout->addItem(new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum)); - } -} - -void QmlDebugTranslationWidget::updateFiles() -{ - if (m_multipleFileButton->isChecked()) - setFiles(m_checkableProjectFileView->checkedFiles()); - else - setFiles({m_currentFilePath}); -} - -void QmlDebugTranslationWidget::setFiles(const Utils::FilePaths &filePathes) -{ - m_selectedFilePaths = filePathes; -} - -void QmlDebugTranslationWidget::runTest() -{ - m_runOutputWindow->grayOutOldContent(); - - auto runControl = new ProjectExplorer::RunControl(ProjectExplorer::Constants::QML_PREVIEW_RUN_MODE); - QTC_ASSERT(runControl, qWarning("Can not create a QmlPreviewRunner"); return;); - auto previewPlugin = qobject_cast(getPreviewPlugin()); - - connect(runControl, &ProjectExplorer::RunControl::started, [this, runControl, previewPlugin]() { - //Q_ASSERT(m_currentRunControl == nullptr); //TODO: who deletes the runcontrol - m_currentRunControl = runControl; - m_runOutputWindow->setLineParsers( - ProjectExplorer::OutputFormatterFactory::createFormatters(runControl->target())); - int timerCounter = 1; - const auto testLanguageList = m_testLanguages; - - if (m_elideWarning) - previewPlugin->changeElideWarning(true); - - auto testLanguages = [previewPlugin, runControl, testLanguageList](int timerCounter, const QString &previewedFile) { - for (auto language : testLanguageList) { - QTimer::singleShot(timerCounter * 1000, previewPlugin, [previewPlugin, runControl, language, previewedFile]() { - if (runControl && runControl->isRunning()) { - if (!previewedFile.isEmpty()) - previewPlugin->setPreviewedFile(previewedFile); - previewPlugin->setLocaleIsoCode(language); - } - }); - } - }; - for (auto filePath : qAsConst(m_selectedFilePaths)) { - testLanguages(timerCounter++, filePath.toString()); - } - }); - connect(runControl, &ProjectExplorer::RunControl::stopped, [this]() { - m_runTestButton->setChecked(false); - //delete m_currentRunControl; // who deletes the runcontrol? - m_currentRunControl = nullptr; - if (auto previewPlugin = qobject_cast(getPreviewPlugin())) - previewPlugin->setLocaleIsoCode(m_lastUsedLanguageBeforeTest); - }); - - connect(runControl, &ProjectExplorer::RunControl::appendMessage, - this, &QmlDebugTranslationWidget::appendMessage); - - if (auto project = ProjectExplorer::SessionManager::startupProject()) { - if (auto target = project->activeTarget()) { - if (auto multiLanguageAspect = QmlProjectManager::QmlMultiLanguageAspect::current(target)) - m_lastUsedLanguageBeforeTest = multiLanguageAspect->currentLocale(); - if (auto runConfiguration = target->activeRunConfiguration()) { - runControl->setRunConfiguration(runConfiguration); - if (runControl->createMainWorker()) { - previewPlugin->setLocaleIsoCode(QString()); - runControl->initiateStart(); - } - } - } - } -} - -void QmlDebugTranslationWidget::clear() -{ - m_runOutputWindow->clear(); - ProjectExplorer::TaskHub::clearTasks("QmlPreview.Translation"); -} - -QString QmlDebugTranslationWidget::currentDir() const -{ - return m_lastDir.isEmpty() ? - ProjectExplorer::ProjectTree::currentFilePath().parentDir().toString() : m_lastDir; -} - -void QmlDebugTranslationWidget::setCurrentDir(const QString &path) -{ - m_lastDir = path; -} - -void QmlDebugTranslationWidget::loadLogFile() -{ - const auto fileName = QFileDialog::getOpenFileName(this, QStringLiteral("Open File"), currentDir()); - if (!fileName.isEmpty()) { - setCurrentDir(QFileInfo(fileName).absolutePath()); - QFile f(fileName); - if (f.open(QFile::ReadOnly)) { - clear(); - while (!f.atEnd()) - appendMessage(QString::fromUtf8(f.readLine()), Utils::GeneralMessageFormat); - } else { - // TODO: maybe add this message to log and tasks - qWarning() << "Failed to open" << fileName << ":" << f.errorString(); - } - } -} - -void QmlDebugTranslationWidget::saveLogToFile() -{ - const QString fileName = QFileDialog::getSaveFileName( - this, tr("Choose file to save logged issues."), currentDir()); - if (!fileName.isEmpty()) { - setCurrentDir(QFileInfo(fileName).absolutePath()); - QFile f(fileName); - if (f.open(QFile::WriteOnly | QFile::Text)) - f.write(m_runOutputWindow->toPlainText().toUtf8()); - } -} - -void QmlDebugTranslationWidget::appendMessage(const QString &message, Utils::OutputFormat format) -{ - const auto newLine = QRegularExpression("[\r\n]"); - const auto messages = message.split(newLine, Qt::SkipEmptyParts); - - if (messages.count() > 1) { - for (auto m : messages) - appendMessage(m + "\n", format); - return; - } - const QString serviceSeperator = ": QQmlDebugTranslationService: "; - if (!message.contains(serviceSeperator)) - return; - QString locationString = message; - locationString = locationString.split(serviceSeperator).first(); - static const QRegularExpression qmlLineColumnLink("^(" QT_QML_URL_REGEXP ")" // url - ":(\\d+)" // line - ":(\\d+)$"); // column - const QRegularExpressionMatch qmlLineColumnMatch = qmlLineColumnLink.match(locationString); - - auto fileLine = -1; - QUrl fileUrl; - if (qmlLineColumnMatch.hasMatch()) { - fileUrl = QUrl(qmlLineColumnMatch.captured(1)); - fileLine = qmlLineColumnMatch.captured(2).toInt(); - } - - m_runOutputWindow->appendMessage(message, format); - - - auto type = ProjectExplorer::Task::TaskType::Warning; - auto description = message.split(serviceSeperator).at(1); - auto filePath = Utils::FilePath::fromString(fileUrl.toLocalFile()); - auto category = "QmlPreview.Translation"; - auto icon = Utils::Icons::WARNING.icon(); - - ProjectExplorer::TaskHub::addTask(ProjectExplorer::Task(type, - description, - filePath, - fileLine, - category, - icon, - ProjectExplorer::Task::NoOptions)); -} - -QString QmlDebugTranslationWidget::singleFileButtonText(const QString &filePath) -{ - auto buttonText = tr("Current file: %1"); - if (filePath.isEmpty()) - return buttonText.arg(tr("Empty")); - return buttonText.arg(filePath); -} - -QString QmlDebugTranslationWidget::runButtonText(bool isRunning) -{ - if (isRunning) { - return tr("Stop"); - } - return tr("Run Language Tests"); -} - -void QmlDebugTranslationWidget::addLanguageCheckBoxes(const QStringList &languages) -{ - for (auto language : languages) { - auto languageCheckBox = new QCheckBox(language); - m_selectLanguageLayout->addWidget(languageCheckBox); - connect(languageCheckBox, &QCheckBox::stateChanged, [this, language] (int state) { - if (state == Qt::Checked) - m_testLanguages.append(language); - else - m_testLanguages.removeAll(language); - }); - languageCheckBox->setChecked(true); - } -} - -} // namespace QmlPreview diff --git a/src/plugins/qmlpreview/qmldebugtranslationwidget.h b/src/plugins/qmlpreview/qmldebugtranslationwidget.h deleted file mode 100644 index de0c7ba3624..00000000000 --- a/src/plugins/qmlpreview/qmldebugtranslationwidget.h +++ /dev/null @@ -1,110 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#pragma once - -#include "qmlpreview_global.h" - -#include -#include - -#include - -QT_BEGIN_NAMESPACE -class QRadioButton; -class QPushButton; -class QHBoxLayout; -QT_END_NAMESPACE - -namespace Core { -class IEditor; -class OutputWindow; -} -namespace ProjectExplorer { -class Project; -class RunControl; -} - -namespace QmlPreview { - -class ProjectFileSelectionsWidget; - - -class QMLPREVIEW_EXPORT QmlDebugTranslationWidget : public QWidget -{ - using TestLanguageGetter = std::function; - Q_OBJECT -public: - explicit QmlDebugTranslationWidget(QWidget *parent = nullptr, TestLanguageGetter languagesGetterMethod = {}); - ~QmlDebugTranslationWidget() override; - - void setCurrentFile(const Utils::FilePath &filepath); - void setFiles(const Utils::FilePaths &filePathes); - void updateStartupProjectTranslations(); - - QColor warningColor(); - QColor foundTrColor(); -private: - void updateCurrentEditor(const Core::IEditor *editor); - void updateCurrentTranslations(ProjectExplorer::Project *project); - void updateFiles(); - void runTest(); - void appendMessage(const QString &message, Utils::OutputFormat format); - void clear(); - void loadLogFile(); - void saveLogToFile(); - QString currentDir() const; - void setCurrentDir(const QString &path); - - QString singleFileButtonText(const QString &filePath); - QString runButtonText(bool isRunning = false); - void addLanguageCheckBoxes(const QStringList &languages); - - QStringList m_testLanguages; - QString m_lastUsedLanguageBeforeTest; - bool m_elideWarning = false; - - Core::OutputWindow *m_runOutputWindow = nullptr; - - QRadioButton *m_singleFileButton = nullptr; - QRadioButton *m_multipleFileButton = nullptr; - ProjectFileSelectionsWidget *m_checkableProjectFileView = nullptr; - QPushButton *m_runTestButton = nullptr; - - Utils::FilePath m_currentFilePath; - Utils::FilePaths m_selectedFilePaths; - ProjectExplorer::RunControl *m_currentRunControl = nullptr; - - QString m_lastDir; - - QHBoxLayout *m_selectLanguageLayout; - TestLanguageGetter m_testLanguagesGetter; - QColor m_warningColor; - QColor m_foundTrColor; - QColor m_lastWarningColor; - QColor m_lastfoundTrColor; -}; - -} // namespace QmlPreview diff --git a/src/plugins/qmlpreview/qmlpreview.pro b/src/plugins/qmlpreview/qmlpreview.pro index ea53ac2f4ea..cfc571521f5 100644 --- a/src/plugins/qmlpreview/qmlpreview.pro +++ b/src/plugins/qmlpreview/qmlpreview.pro @@ -10,23 +10,19 @@ include(tests/tests.pri) HEADERS += \ qmlpreview_global.h \ qmldebugtranslationclient.h \ - qmldebugtranslationwidget.h \ qmlpreviewclient.h \ qmlpreviewplugin.h \ qmlpreviewruncontrol.h \ qmlpreviewconnectionmanager.h \ - qmlpreviewfileontargetfinder.h \ - projectfileselectionswidget.h + qmlpreviewfileontargetfinder.h SOURCES += \ qmlpreviewplugin.cpp \ qmldebugtranslationclient.cpp \ - qmldebugtranslationwidget.cpp \ qmlpreviewclient.cpp \ qmlpreviewruncontrol.cpp \ qmlpreviewconnectionmanager.cpp \ - qmlpreviewfileontargetfinder.cpp \ - projectfileselectionswidget.cpp + qmlpreviewfileontargetfinder.cpp OTHER_FILES += \ QmlPreview.json.in diff --git a/src/plugins/qmlpreview/qmlpreviewconnectionmanager.cpp b/src/plugins/qmlpreview/qmlpreviewconnectionmanager.cpp index 6767544c1d7..0087d97f21d 100644 --- a/src/plugins/qmlpreview/qmlpreviewconnectionmanager.cpp +++ b/src/plugins/qmlpreview/qmlpreviewconnectionmanager.cpp @@ -40,6 +40,9 @@ QmlPreviewConnectionManager::QmlPreviewConnectionManager(QObject *parent) : QmlDebug::QmlDebugConnectionManager(parent) { setTarget(nullptr); + m_createDebugTranslationClientMethod = [](QmlDebug::QmlDebugConnection *connection) { + return std::make_unique(connection); + }; } QmlPreviewConnectionManager::~QmlPreviewConnectionManager() = default; @@ -66,6 +69,11 @@ void QmlPreviewConnectionManager::setFpsHandler(QmlPreviewFpsHandler fpsHandler) m_fpsHandler = fpsHandler; } +void QmlPreviewConnectionManager::setQmlDebugTranslationClientCreator(QmlDebugTranslationClientCreator creator) +{ + m_createDebugTranslationClientMethod = creator; +} + void QmlPreviewConnectionManager::createClients() { createPreviewClient(); @@ -113,9 +121,9 @@ QUrl QmlPreviewConnectionManager::findValidI18nDirectoryAsUrl(const QString &loc void QmlPreviewConnectionManager::createDebugTranslationClient() { - m_qmlDebugTranslationClient = new QmlDebugTranslationClient(connection()); + m_qmlDebugTranslationClient = m_createDebugTranslationClientMethod(connection()); connect(this, &QmlPreviewConnectionManager::language, - m_qmlDebugTranslationClient, [this](const QString &locale) { + m_qmlDebugTranslationClient.get(), [this](const QString &locale) { m_lastUsedLanguage = locale; // findValidI18nDirectoryAsUrl does not work if we didn't load any file // service expects a context URL. @@ -124,10 +132,7 @@ void QmlPreviewConnectionManager::createDebugTranslationClient() m_qmlDebugTranslationClient->changeLanguage(findValidI18nDirectoryAsUrl(locale), locale); } }); - connect(this, &QmlPreviewConnectionManager::changeElideWarning, - m_qmlDebugTranslationClient, &QmlDebugTranslationClient::changeElideWarning); - - connect(m_qmlDebugTranslationClient.data(), &QmlDebugTranslationClient::debugServiceUnavailable, + connect(m_qmlDebugTranslationClient.get(), &QmlDebugTranslationClient::debugServiceUnavailable, this, []() { QMessageBox::warning(Core::ICore::dialogParent(), "Error connect to QML DebugTranslation service", "QML DebugTranslation feature is not available for this version of Qt."); @@ -260,7 +265,7 @@ void QmlPreviewConnectionManager::clearClient(QObject *client) void QmlPreviewConnectionManager::destroyClients() { clearClient(m_qmlPreviewClient); - clearClient(m_qmlDebugTranslationClient); + clearClient(m_qmlDebugTranslationClient.release()); m_fileSystemWatcher.removeFiles(m_fileSystemWatcher.files()); QTC_ASSERT(m_fileSystemWatcher.directories().isEmpty(), m_fileSystemWatcher.removeDirectories(m_fileSystemWatcher.directories())); diff --git a/src/plugins/qmlpreview/qmlpreviewconnectionmanager.h b/src/plugins/qmlpreview/qmlpreviewconnectionmanager.h index c63db57343c..a23c68c31a9 100644 --- a/src/plugins/qmlpreview/qmlpreviewconnectionmanager.h +++ b/src/plugins/qmlpreview/qmlpreviewconnectionmanager.h @@ -52,12 +52,12 @@ public: void setFileLoader(QmlPreviewFileLoader fileLoader); void setFileClassifier(QmlPreviewFileClassifier fileClassifier); void setFpsHandler(QmlPreviewFpsHandler fpsHandler); + void setQmlDebugTranslationClientCreator(QmlDebugTranslationClientCreator creator); signals: void loadFile(const QString &filename, const QString &changedFile, const QByteArray &contents); void zoom(float zoomFactor); void language(const QString &locale); - void changeElideWarning(bool elideWarning); void rerun(); void restart(); @@ -68,18 +68,19 @@ protected: private: void createPreviewClient(); void createDebugTranslationClient(); - QUrl findValidI18nDirectoryAsUrl(const QString &locale); void clearClient(QObject *client); + QUrl findValidI18nDirectoryAsUrl(const QString &locale); Utils::FileInProjectFinder m_projectFileFinder; QmlPreviewFileOnTargetFinder m_targetFileFinder; QPointer m_qmlPreviewClient; - QPointer m_qmlDebugTranslationClient; + std::unique_ptr m_qmlDebugTranslationClient; Utils::FileSystemWatcher m_fileSystemWatcher; QUrl m_lastLoadedUrl; QString m_lastUsedLanguage; QmlPreviewFileLoader m_fileLoader = nullptr; QmlPreviewFileClassifier m_fileClassifier = nullptr; QmlPreviewFpsHandler m_fpsHandler = nullptr; + QmlDebugTranslationClientCreator m_createDebugTranslationClientMethod; }; } // namespace Internal diff --git a/src/plugins/qmlpreview/qmlpreviewplugin.cpp b/src/plugins/qmlpreview/qmlpreviewplugin.cpp index 137c51b4b3d..06c3887dbdf 100644 --- a/src/plugins/qmlpreview/qmlpreviewplugin.cpp +++ b/src/plugins/qmlpreview/qmlpreviewplugin.cpp @@ -26,8 +26,6 @@ #include "qmlpreviewplugin.h" #include "qmlpreviewruncontrol.h" -#include "qmldebugtranslationwidget.h" - #ifdef WITH_TESTS #include "tests/qmlpreviewclient_test.h" #include "tests/qmlpreviewplugin_test.h" @@ -67,7 +65,6 @@ using namespace ProjectExplorer; namespace QmlPreview { -namespace Internal { class QmlPreviewParser : public QObject { @@ -151,8 +148,7 @@ public: float m_zoomFactor = -1.0; QmlPreview::QmlPreviewFpsHandler m_fpsHandler = nullptr; QString m_localeIsoCode; - bool m_translationElideWarning = false; - QPointer m_qmlDebugTranslationWidget; + QmlDebugTranslationClientCreator m_createDebugTranslationClientMethod; RunWorkerFactory localRunWorkerFactory{ RunWorkerFactory::make(), @@ -170,7 +166,7 @@ public: m_fpsHandler, m_zoomFactor, m_localeIsoCode, - m_translationElideWarning + m_createDebugTranslationClientMethod }); connect(q, &QmlPreviewPlugin::updatePreviews, runner, &QmlPreviewRunner::loadFile); @@ -182,8 +178,6 @@ public: runner, &QmlPreviewRunner::zoom); connect(q, &QmlPreviewPlugin::localeIsoCodeChanged, runner, &QmlPreviewRunner::language); - connect(q, &QmlPreviewPlugin::elideWarningChanged, - runner, &QmlPreviewRunner::changeElideWarning); connect(runner, &RunWorker::started, this, [this, runControl] { addPreview(runControl); @@ -222,50 +216,6 @@ QmlPreviewPluginPrivate::QmlPreviewPluginPrivate(QmlPreviewPlugin *parent) Core::ActionManager::registerAction(action, "QmlPreview.RunPreview"), Constants::G_BUILD_RUN); - action = new QAction(QmlPreviewPlugin::tr("Test Translations"), this); - action->setToolTip(QLatin1String("Runs the preview with all available translations and collects all issues.")); - action->setEnabled(SessionManager::startupProject() != nullptr); - connect(SessionManager::instance(), &SessionManager::startupProjectChanged, action, - &QAction::setEnabled); - connect(action, &QAction::triggered, this, [this]() { - if (SessionManager::startupProject()) { - // Deletion for this widget is taken care of in aboutToShutdown() and registerWindow() - m_qmlDebugTranslationWidget = new QmlDebugTranslationWidget(); - Core::ICore::registerWindow(m_qmlDebugTranslationWidget, Core::Context("Core.DebugTranslation")); - m_qmlDebugTranslationWidget->show(); - } - }); - menu->addAction( - Core::ActionManager::registerAction(action, "QmlPreview.TestTranslations"), - Constants::G_BUILD_RUN); - auto updateTestTranslationAction = [action]() { - bool showTestTranslationAction = false; - bool enableTestTranslationAction = false; - QtSupport::BaseQtVersion *activeQt{}; - if (auto project = SessionManager::startupProject()) { - if (auto target = project->activeTarget()) { - if (auto activeKit = target->kit()) - activeQt = QtSupport::QtKitAspect::qtVersion(activeKit); - } - } - for (auto qtVersion : QtSupport::QtVersionManager::versions()) { - if (qtVersion->features().contains("QtStudio")) { - showTestTranslationAction = true; - if (qtVersion == activeQt) - enableTestTranslationAction = true; - } - } - action->setVisible(showTestTranslationAction); - action->setEnabled(enableTestTranslationAction); - }; - connect(ProjectExplorer::SessionManager::instance(), - &ProjectExplorer::SessionManager::startupProjectChanged, - updateTestTranslationAction); - - connect(QtSupport::QtVersionManager::instance(), - &QtSupport::QtVersionManager::qtVersionsChanged, - updateTestTranslationAction); - menu = Core::ActionManager::actionContainer(Constants::M_FILECONTEXT); action = new QAction(QmlPreviewPlugin::tr("Preview File"), this); action->setEnabled(false); @@ -314,7 +264,6 @@ ExtensionSystem::IPlugin::ShutdownFlag QmlPreviewPlugin::aboutToShutdown() { d->m_parseThread.quit(); d->m_parseThread.wait(); - delete d->m_qmlDebugTranslationWidget; return SynchronousShutdown; } @@ -410,15 +359,9 @@ void QmlPreviewPlugin::setLocaleIsoCode(const QString &localeIsoCode) emit localeIsoCodeChanged(d->m_localeIsoCode); } -bool QmlPreviewPlugin::elideWarning() const +void QmlPreviewPlugin::setQmlDebugTranslationClientCreator(QmlDebugTranslationClientCreator creator) { - return d->m_translationElideWarning; -} - -void QmlPreviewPlugin::changeElideWarning(bool elideWarning) -{ - d->m_translationElideWarning = elideWarning; - emit elideWarningChanged(elideWarning); + d->m_createDebugTranslationClientMethod = creator; } void QmlPreviewPlugin::setFileLoader(QmlPreviewFileLoader fileLoader) @@ -588,7 +531,6 @@ void QmlPreviewParser::parse(const QString &name, const QByteArray &contents, emit failure(); } -} // namespace Internal } // namespace QmlPreview #include diff --git a/src/plugins/qmlpreview/qmlpreviewplugin.h b/src/plugins/qmlpreview/qmlpreviewplugin.h index b2455b10773..873564b5ac6 100644 --- a/src/plugins/qmlpreview/qmlpreviewplugin.h +++ b/src/plugins/qmlpreview/qmlpreviewplugin.h @@ -25,6 +25,9 @@ #pragma once +#include "qmlpreview_global.h" +#include "qmldebugtranslationclient.h" + #include #include #include @@ -34,16 +37,17 @@ namespace Core { class IEditor; } +namespace QmlDebug { class QmlDebugConnection; } + namespace QmlPreview { typedef bool (*QmlPreviewFileClassifier) (const QString &); typedef QByteArray (*QmlPreviewFileLoader)(const QString &, bool *); typedef void (*QmlPreviewFpsHandler)(quint16[8]); typedef QList QmlPreviewRunControlList; +typedef std::function(QmlDebug::QmlDebugConnection *)> QmlDebugTranslationClientCreator; -namespace Internal { - -class QmlPreviewPlugin : public ExtensionSystem::IPlugin +class QMLPREVIEW_EXPORT QmlPreviewPlugin : public ExtensionSystem::IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "QmlPreview.json") @@ -59,7 +63,6 @@ class QmlPreviewPlugin : public ExtensionSystem::IPlugin WRITE setFpsHandler NOTIFY fpsHandlerChanged) Q_PROPERTY(float zoomFactor READ zoomFactor WRITE setZoomFactor NOTIFY zoomFactorChanged) Q_PROPERTY(QString localeIsoCode READ localeIsoCode WRITE setLocaleIsoCode NOTIFY localeIsoCodeChanged) - Q_PROPERTY(bool elideWarning READ elideWarning WRITE changeElideWarning NOTIFY elideWarningChanged) public: ~QmlPreviewPlugin() override; @@ -87,8 +90,7 @@ public: QString localeIsoCode() const; void setLocaleIsoCode(const QString &localeIsoCode); - bool elideWarning() const; - void changeElideWarning(bool elideWarning); + void setQmlDebugTranslationClientCreator(QmlDebugTranslationClientCreator creator); signals: void checkDocument(const QString &name, const QByteArray &contents, @@ -104,13 +106,11 @@ signals: void zoomFactorChanged(float zoomFactor); void localeIsoCodeChanged(const QString &localeIsoCode); - void elideWarningChanged(bool elideWarning); private: class QmlPreviewPluginPrivate *d = nullptr; }; -} // namespace Internal } // namespace QmlPreview Q_DECLARE_METATYPE(QmlPreview::QmlPreviewFileLoader) diff --git a/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp b/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp index f04f7525277..fd1d3bde3d9 100644 --- a/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp +++ b/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp @@ -52,6 +52,8 @@ QmlPreviewRunner::QmlPreviewRunner(const QmlPreviewRunnerSetting &settings) m_connectionManager.setFileLoader(settings.fileLoader); m_connectionManager.setFileClassifier(settings.fileClassifier); m_connectionManager.setFpsHandler(settings.fpsHandler); + m_connectionManager.setQmlDebugTranslationClientCreator( + settings.createDebugTranslationClientMethod); connect(this, &QmlPreviewRunner::loadFile, &m_connectionManager, &Internal::QmlPreviewConnectionManager::loadFile); @@ -62,8 +64,6 @@ QmlPreviewRunner::QmlPreviewRunner(const QmlPreviewRunnerSetting &settings) &m_connectionManager, &Internal::QmlPreviewConnectionManager::zoom); connect(this, &QmlPreviewRunner::language, &m_connectionManager, &Internal::QmlPreviewConnectionManager::language); - connect(this, &QmlPreviewRunner::changeElideWarning, - &m_connectionManager, &Internal::QmlPreviewConnectionManager::changeElideWarning); connect(&m_connectionManager, &Internal::QmlPreviewConnectionManager::connectionOpened, this, [this, settings]() { @@ -71,8 +71,6 @@ QmlPreviewRunner::QmlPreviewRunner(const QmlPreviewRunnerSetting &settings) emit zoom(settings.zoom); if (!settings.language.isEmpty()) emit language(settings.language); - if (settings.translationElideWarning) - emit changeElideWarning(true); emit ready(); }); diff --git a/src/plugins/qmlpreview/qmlpreviewruncontrol.h b/src/plugins/qmlpreview/qmlpreviewruncontrol.h index c5171e22488..2b425ee8bd7 100644 --- a/src/plugins/qmlpreview/qmlpreviewruncontrol.h +++ b/src/plugins/qmlpreview/qmlpreviewruncontrol.h @@ -39,7 +39,7 @@ struct QmlPreviewRunnerSetting { QmlPreviewFpsHandler fpsHandler; float zoom = 1.0; QString language; - bool translationElideWarning = false; + QmlDebugTranslationClientCreator createDebugTranslationClientMethod; }; class QmlPreviewRunner : public ProjectExplorer::RunWorker @@ -59,7 +59,6 @@ signals: void zoom(float zoomFactor); void rerun(); void ready(); - void changeElideWarning(bool elideWarning); private: void start() override; void stop() override; diff --git a/src/plugins/qmlpreview/tests/qmlpreviewclient_test.cpp b/src/plugins/qmlpreview/tests/qmlpreviewclient_test.cpp index 9aec2d6cc66..8b99a8f1d7d 100644 --- a/src/plugins/qmlpreview/tests/qmlpreviewclient_test.cpp +++ b/src/plugins/qmlpreview/tests/qmlpreviewclient_test.cpp @@ -29,7 +29,6 @@ #include namespace QmlPreview { -namespace Internal { class TestableQmlPreviewClient : public QmlPreviewClient { @@ -139,7 +138,6 @@ void QmlPreviewClientTest::testMessageReceived() } } -} // namespace Internal } // namespace QmlPreview #include "qmlpreviewclient_test.moc" diff --git a/src/plugins/qmlpreview/tests/qmlpreviewclient_test.h b/src/plugins/qmlpreview/tests/qmlpreviewclient_test.h index 43ae0030036..dcb8d380c74 100644 --- a/src/plugins/qmlpreview/tests/qmlpreviewclient_test.h +++ b/src/plugins/qmlpreview/tests/qmlpreviewclient_test.h @@ -26,7 +26,6 @@ #include namespace QmlPreview { -namespace Internal { class QmlPreviewClientTest : public QObject { @@ -39,5 +38,4 @@ private slots: void testMessageReceived(); }; -} // namespace Internal } // namespace QmlPreview diff --git a/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.cpp b/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.cpp index 0e3306f15df..08ede8b185e 100644 --- a/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.cpp +++ b/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.cpp @@ -31,11 +31,10 @@ #include #include -Q_DECLARE_METATYPE(QmlPreview::Internal::TestFileLoader) -Q_DECLARE_METATYPE(QmlPreview::Internal::TestFpsHandler) +Q_DECLARE_METATYPE(QmlPreview::TestFileLoader) +Q_DECLARE_METATYPE(QmlPreview::TestFpsHandler) namespace QmlPreview { -namespace Internal { QmlPreviewPluginTest::QmlPreviewPluginTest(QObject *parent) : QObject(parent) { @@ -90,5 +89,4 @@ void QmlPreviewPluginTest::testFpsHandlerProperty() handler(stats); } -} // namespace Internal } // namespace QmlPreview diff --git a/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.h b/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.h index 8ceeb6669ca..5c28e9cc341 100644 --- a/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.h +++ b/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.h @@ -28,7 +28,6 @@ #include namespace QmlPreview { -namespace Internal { typedef QByteArray (*TestFileLoader)(const QString &, bool *); typedef void (*TestFpsHandler)(quint16[8]); @@ -45,5 +44,4 @@ private slots: void testFpsHandlerProperty(); }; -} // namespace Internal } // namespace QmlPreview From dc636b63e6e72f7869073c88c62e3e3901c3f2df Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 6 Apr 2021 13:25:33 +0200 Subject: [PATCH 09/14] Doc: Remove obsolete keyboard shortcut for Add Timeline Task-number: QDS-4116 Change-Id: Ic7695ffea5cb6b1d1b224135660a4b9b5b4b06e9 Reviewed-by: Johanna Vanhatapio Reviewed-by: Thomas Hartmann --- doc/qtcreator/src/qtquick/qtquick-timeline-view.qdoc | 6 +++--- doc/qtcreator/src/qtquick/qtquick-timeline.qdoc | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/qtcreator/src/qtquick/qtquick-timeline-view.qdoc b/doc/qtcreator/src/qtquick/qtquick-timeline-view.qdoc index a9fd2855058..0084125fc67 100644 --- a/doc/qtcreator/src/qtquick/qtquick-timeline-view.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-timeline-view.qdoc @@ -38,9 +38,9 @@ \image studio-timeline-empty.png "Empty Timeline view" Select the \inlineimage plus.png - (\uicontrol {Add Timeline (A)}) button, or press \key {A} to - \l{Creating Timelines}{create a timeline} and specify settings - for it in the \uicontrol {Timeline Settings} dialog. + (\uicontrol {Add Timeline}) button to \l{Creating Timelines} + {create a timeline} and specify settings for it in the + \uicontrol {Timeline Settings} dialog. \image studio-timeline-settings.png "Timeline Settings dialog" diff --git a/doc/qtcreator/src/qtquick/qtquick-timeline.qdoc b/doc/qtcreator/src/qtquick/qtquick-timeline.qdoc index 418a68cad63..156d15be92b 100644 --- a/doc/qtcreator/src/qtquick/qtquick-timeline.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-timeline.qdoc @@ -96,8 +96,8 @@ \list 1 \li In the \l Timeline view, select the \inlineimage plus.png - (\uicontrol {Add Timeline (A)}) button, or press \key {A} to - specify settings for the timeline and running the animation + (\uicontrol {Add Timeline}) button to specify settings + for the timeline and running the animation in the \uicontrol {Timeline Settings} dialog. \li In the \uicontrol {Timeline ID} field, enter an ID that describes the animated component. From 7ba558da11e9a8dcc199e1163497d4d3011bd11f Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 15 Apr 2021 09:30:09 +0200 Subject: [PATCH 10/14] COIN: Simplify Qt installation Use the new, simpler install_qt command and centralize definition of Qt base URL and modules Change-Id: I73d0b195c0cb6278d4f79476c42a39446d43eaed Reviewed-by: Qt CI Bot Reviewed-by: Matti Paaso --- coin/instructions/common_environment.yaml | 11 +++++++++-- coin/instructions/qmake_module_build.yaml | 9 ++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/coin/instructions/common_environment.yaml b/coin/instructions/common_environment.yaml index 06f1c75b5e2..a18a1323ee9 100644 --- a/coin/instructions/common_environment.yaml +++ b/coin/instructions/common_environment.yaml @@ -1,5 +1,14 @@ type: Group instructions: + - type: Group + instructions: + - type: EnvironmentVariable + variableName: QTC_QT_BASE_URL + variableValue: "http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/archive/qt/6.1/6.1.0-beta3-released" + - type: EnvironmentVariable + variableName: QTC_QT_MODULES + variableValue: "qt5compat qtbase qtdeclarative qtimageformats qtquick3d qtquickcontrols2 qtquicktimeline qtserialport qtshadertools qtsvg qttools qttranslations" + - type: Group enable_if: condition: property @@ -73,5 +82,3 @@ instructions: condition: property property: host.os in_values: [Linux, MacOS] - - diff --git a/coin/instructions/qmake_module_build.yaml b/coin/instructions/qmake_module_build.yaml index 55751de8027..d5db49ac2bd 100644 --- a/coin/instructions/qmake_module_build.yaml +++ b/coin/instructions/qmake_module_build.yaml @@ -32,7 +32,8 @@ instructions: property: host.os in_values: [MacOS, Linux, Windows] - type: ExecuteCommand - command: "python -u /home/qt/work/build/qtsdk/packaging-tools/install_qt.py --qt-path /home/qt/work/build/qt5_install_dir --temp-path /home/qt/work/build/qt_temp --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qt5compat/qt5compat-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtbase/qtbase-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtdeclarative/qtdeclarative-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtgraphicaleffects/qtgraphicaleffects-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtimageformats/qtimageformats-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtlocation/qtlocation-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtmacextras/qtmacextras-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquick3d/qtquick3d-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquickcontrols/qtquickcontrols-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquickcontrols2/qtquickcontrols2-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquicktimeline/qtquicktimeline-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtscript/qtscript-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtserialport/qtserialport-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtshadertools/qtshadertools-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtsvg/qtsvg-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qttools/qttools-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qttranslations/qttranslations-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtx11extras/qtx11extras-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtxmlpatterns/qtxmlpatterns-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module file:///home/qt/work/build/downloads/qtdocumentation/qt-everywhere-documentation.7z --icu7z http://master.qt.io/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z" + command: "python -u {{.AgentWorkingDir}}/build/qtsdk/packaging-tools/install_qt.py --qt-path {{.AgentWorkingDir}}/build/qt5_install_dir --temp-path {{.AgentWorkingDir}}/build/qt_temp --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix=-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --icu7z http://master.qt.io/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z {{.Env.QTC_QT_MODULES}}" + executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution maxTimeInSeconds: 3600 maxTimeBetweenOutput: 360 userMessageOnFailure: "Failed to install qt, check logs." @@ -41,7 +42,8 @@ instructions: property: host.os equals_value: Linux - type: ExecuteCommand - command: "python -u /Users/qt/work/build/qtsdk/packaging-tools/install_qt.py --qt-path /Users/qt/work/build/qt5_install_dir --temp-path /Users/qt/work/build/qt_temp --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qt5compat/qt5compat-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtbase/qtbase-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtdeclarative/qtdeclarative-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtgraphicaleffects/qtgraphicaleffects-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtimageformats/qtimageformats-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtlocation/qtlocation-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtmacextras/qtmacextras-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquick3d/qtquick3d-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquickcontrols/qtquickcontrols-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquickcontrols2/qtquickcontrols2-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquicktimeline/qtquicktimeline-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtscript/qtscript-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtserialport/qtserialport-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtshadertools/qtshadertools-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtsvg/qtsvg-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qttools/qttools-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qttranslations/qttranslations-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtx11extras/qtx11extras-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtxmlpatterns/qtxmlpatterns-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module file:///Users/qt/work/build/downloads/qtdocumentation/qt-everywhere-documentation.7z" + command: "python -u {{.AgentWorkingDir}}/build/qtsdk/packaging-tools/install_qt.py --qt-path {{.AgentWorkingDir}}/build/qt5_install_dir --temp-path {{.AgentWorkingDir}}/build/qt_temp --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix=-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z {{.Env.QTC_QT_MODULES}}" + executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution maxTimeInSeconds: 3600 maxTimeBetweenOutput: 360 userMessageOnFailure: "Failed to install qt, check logs." @@ -59,7 +61,8 @@ instructions: property: host.os equals_value: Windows - type: ExecuteCommand - command: "python -u {{.AgentWorkingDir}}\\build\\qtsdk\\packaging-tools\\install_qt.py --qt-path {{.AgentWorkingDir}}\\build\\qt5_install_dir --temp-path {{.AgentWorkingDir}}\\build\\qt_temp --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qt5compat/qt5compat-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtbase/qtbase-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtdeclarative/qtdeclarative-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtgraphicaleffects/qtgraphicaleffects-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtimageformats/qtimageformats-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtlocation/qtlocation-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtmacextras/qtmacextras-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquick3d/qtquick3d-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquickcontrols/qtquickcontrols-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquickcontrols2/qtquickcontrols2-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquicktimeline/qtquicktimeline-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtscript/qtscript-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtserialport/qtserialport-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtshadertools/qtshadertools-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtsvg/qtsvg-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qttools/qttools-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qttranslations/qttranslations-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtx11extras/qtx11extras-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtxmlpatterns/qtxmlpatterns-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z" + command: "python -u {{.AgentWorkingDir}}/build/qtsdk/packaging-tools/install_qt.py --qt-path {{.AgentWorkingDir}}/build/qt5_install_dir --temp-path {{.AgentWorkingDir}}/build/qt_temp --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix=-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z {{.Env.QTC_QT_MODULES}}" + executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution maxTimeInSeconds: 3600 maxTimeBetweenOutput: 360 userMessageOnFailure: "Failed to install qt, check logs." From 46a3645181cf8323169435d867cbf67de075c8d1 Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Thu, 15 Apr 2021 12:07:28 +0300 Subject: [PATCH 11/14] QmlDesigner: Update subcomponent manager only for added import Subcomponent update is needed after an import is added to parse and load the import components. Instead of updating all imports and folders, just update the import folder when adding a new import. This also fixes regression cause by: d3f2394e8f9b7b1453e8756fe03f4d3bfaa715c1 Task-number: QDS-4179 Change-Id: I6c0ba5139818004fdf54dfa10f03c7b013dfa46d Reviewed-by: Thomas Hartmann --- .../components/integration/designdocument.cpp | 5 ++ .../components/integration/designdocument.h | 1 + .../itemlibrary/itemlibrarywidget.cpp | 1 + .../include/subcomponentmanager.h | 5 +- .../metainfo/subcomponentmanager.cpp | 52 ++++++++++++++++--- 5 files changed, 56 insertions(+), 8 deletions(-) diff --git a/src/plugins/qmldesigner/components/integration/designdocument.cpp b/src/plugins/qmldesigner/components/integration/designdocument.cpp index c626f4baa59..df157b9cad3 100644 --- a/src/plugins/qmldesigner/components/integration/designdocument.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocument.cpp @@ -374,6 +374,11 @@ void DesignDocument::updateSubcomponentManager() currentModel()->imports() + currentModel()->possibleImports()); } +void DesignDocument::updateSubcomponentManagerImport(const Import &import) +{ + m_subComponentManager->updateImport(import); +} + void DesignDocument::deleteSelected() { if (!currentModel()) diff --git a/src/plugins/qmldesigner/components/integration/designdocument.h b/src/plugins/qmldesigner/components/integration/designdocument.h index 60a0f3f11a1..2f333430750 100644 --- a/src/plugins/qmldesigner/components/integration/designdocument.h +++ b/src/plugins/qmldesigner/components/integration/designdocument.h @@ -69,6 +69,7 @@ public: void attachRewriterToModel(); void close(); void updateSubcomponentManager(); + void updateSubcomponentManagerImport(const Import &import); bool isUndoAvailable() const; bool isRedoAvailable() const; diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp index 5b59284663e..28444490eac 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp @@ -292,6 +292,7 @@ void ItemLibraryWidget::handleAddImport(int index) } m_model->changeImports({import}, {}); + QmlDesignerPlugin::instance()->currentDesignDocument()->updateSubcomponentManagerImport(import); m_stackedWidget->setCurrentIndex(0); // switch to the Components view after import is added updateSearch(); diff --git a/src/plugins/qmldesigner/designercore/include/subcomponentmanager.h b/src/plugins/qmldesigner/designercore/include/subcomponentmanager.h index 674f7dff494..fe9daf24192 100644 --- a/src/plugins/qmldesigner/designercore/include/subcomponentmanager.h +++ b/src/plugins/qmldesigner/designercore/include/subcomponentmanager.h @@ -48,6 +48,7 @@ public: explicit SubComponentManager(Model *model, QObject *parent = nullptr); void update(const QUrl &fileUrl, const QList &imports); + void updateImport(const Import &import); QStringList qmlFiles() const; QStringList directories() const; @@ -57,8 +58,8 @@ private: // functions void parseFile(const QString &canonicalFilePath, bool addToLibrary, const QString&); void parseFile(const QString &canonicalFilePath); - void addImport(int pos, const Import &import); - void removeImport(int pos); + void addImport(const Import &import, int index = -1); + void removeImport(int index); void parseDirectories(); QFileInfoList watchedFiles(const QString &canonicalDirPath); void unregisterQmlFile(const QFileInfo &fileInfo, const QString &qualifier); diff --git a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp index 876bf27074b..8ad09c25815 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp @@ -69,10 +69,10 @@ SubComponentManager::SubComponentManager(Model *model, QObject *parent) this, [this](const QString &path) { parseDirectory(path); }); } -void SubComponentManager::addImport(int pos, const Import &import) +void SubComponentManager::addImport(const Import &import, int index) { if (debug) - qDebug() << Q_FUNC_INFO << pos << import.file().toUtf8(); + qDebug() << Q_FUNC_INFO << index << import.file().toUtf8(); if (import.isFileImport()) { QFileInfo dirInfo = QFileInfo(m_filePath.resolved(import.file()).toLocalFile()); @@ -97,12 +97,15 @@ void SubComponentManager::addImport(int pos, const Import &import) // TODO: QDeclarativeDomImport::Library } - m_imports.insert(pos, import); + if (index == -1) + m_imports.append(import); + else + m_imports.insert(index, import); } -void SubComponentManager::removeImport(int pos) +void SubComponentManager::removeImport(int index) { - const Import import = m_imports.takeAt(pos); + const Import import = m_imports.takeAt(index); if (import.isFileImport()) { const QFileInfo dirInfo = QFileInfo(m_filePath.resolved(import.file()).toLocalFile()); @@ -499,7 +502,7 @@ void SubComponentManager::update(const QUrl &filePath, const QList &impo removeImport(ii); for (int ii = i; ii < imports.size(); ++ii) { - addImport(ii, imports.at(ii)); + addImport(imports.at(ii), ii); } const QString newPath = newDir.absoluteFilePath(); @@ -513,5 +516,42 @@ void SubComponentManager::update(const QUrl &filePath, const QList &impo parseDirectories(); } +void SubComponentManager::updateImport(const Import &import) +{ + addImport(import); + + if (import.isFileImport()) { + QFileInfo dirInfo = QFileInfo(m_filePath.resolved(import.file()).toLocalFile()); + if (dirInfo.exists() && dirInfo.isDir()) + parseDirectory(dirInfo.canonicalFilePath(), true, dirInfo.baseName().toUtf8()); + } else { + QString url = import.url(); + url.replace('.', '/'); + QFileInfo dirInfo = QFileInfo(url); + const QStringList importPathList = importPaths(); + bool parsed = false; + for (const QString &path : importPathList) { + QString fullUrl = path + '/' + url; + dirInfo = QFileInfo(fullUrl); + + if (dirInfo.exists() && dirInfo.isDir()) { + parseDirectory(dirInfo.canonicalFilePath(), false); + parsed = true; + } + + QString fullUrlVersion = path + '/' + url + '.' + import.version().split('.').constFirst(); + dirInfo = QFileInfo(fullUrlVersion); + + if (dirInfo.exists() && dirInfo.isDir()) { + parseDirectory(dirInfo.canonicalFilePath(), false); + parsed = true; + } + + if (parsed) + break; + } + } +} + } // namespace QmlDesigner From 76bd140c7c98d0db152db5104d3e38dbb33f7267 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Wed, 14 Apr 2021 12:50:21 +0200 Subject: [PATCH 12/14] UnitTests: Fix flaky test ImageCacheGenerator.CleanIsCallingAbortCallback was not waiting for the expected call. Task-number: QTCREATORBUG-25580 Change-Id: I43265389a36e568dea7c7ece5524ef597232d049 Reviewed-by: Christian Stenger --- tests/unit/unittest/imagecachegenerator-test.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/unit/unittest/imagecachegenerator-test.cpp b/tests/unit/unittest/imagecachegenerator-test.cpp index dd8bd4297da..2bd1fdf06a7 100644 --- a/tests/unit/unittest/imagecachegenerator-test.cpp +++ b/tests/unit/unittest/imagecachegenerator-test.cpp @@ -277,21 +277,21 @@ TEST_F(ImageCacheGenerator, CallWalCheckpointFullIfQueueIsEmpty) TEST_F(ImageCacheGenerator, CleanIsCallingAbortCallback) { - ON_CALL(collectorMock, start(_, _, _, _, _)) - .WillByDefault([&](auto, auto, auto, auto captureCallback, auto) { - captureCallback({}, {}); - waitInThread.wait(); - }); + ON_CALL(collectorMock, start(_, _, _, _, _)).WillByDefault([&](auto, auto, auto, auto, auto) { + notification.wait(); + }); generator.generateImage( "name", {}, {11}, imageCallbackMock.AsStdFunction(), abortCallbackMock.AsStdFunction(), {}); generator.generateImage( "name2", {}, {11}, imageCallbackMock.AsStdFunction(), abortCallbackMock.AsStdFunction(), {}); EXPECT_CALL(abortCallbackMock, Call(Eq(QmlDesigner::ImageCache::AbortReason::Abort))) - .Times(AtLeast(1)); + .Times(AtLeast(1)) + .WillRepeatedly([&](auto) { waitInThread.notify(); }); generator.clean(); - waitInThread.notify(); + notification.notify(); + waitInThread.wait(); } TEST_F(ImageCacheGenerator, WaitForFinished) From d7b9eac595c7ee55d2955ba80fc7271eb527a1d1 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Thu, 15 Apr 2021 10:01:58 +0200 Subject: [PATCH 13/14] Utils: Make QtColorButton's d_ptr private, again Amends: 03aed5c5a6f645a9eba375c97adb01677808e399 Change-Id: Ic9e99d4e63bc54f7931cefb084a7f5a215dbc109 Reviewed-by: Michael Winkelmann Reviewed-by: Eike Ziller --- src/libs/utils/qtcolorbutton.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/utils/qtcolorbutton.h b/src/libs/utils/qtcolorbutton.h index bc6c9bad398..13f4bf2308b 100644 --- a/src/libs/utils/qtcolorbutton.h +++ b/src/libs/utils/qtcolorbutton.h @@ -68,7 +68,7 @@ protected: void dragLeaveEvent(QDragLeaveEvent *event) override; void dropEvent(QDropEvent *event) override; #endif - +private: class QtColorButtonPrivate *d_ptr; friend class QtColorButtonPrivate; }; From 35f5cec986faf194f3510334c06c1cca35fe673e Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 15 Apr 2021 15:04:32 +0200 Subject: [PATCH 14/14] QmlPreview: Fix qbs build Amends 62a7601d50. Change-Id: I531960e9ad3e183c993149d18855ffb03113d966 Reviewed-by: Christian Stenger --- src/plugins/qmlpreview/qmlpreview.qbs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/plugins/qmlpreview/qmlpreview.qbs b/src/plugins/qmlpreview/qmlpreview.qbs index 67734879620..08e64725789 100644 --- a/src/plugins/qmlpreview/qmlpreview.qbs +++ b/src/plugins/qmlpreview/qmlpreview.qbs @@ -26,8 +26,6 @@ QtcPlugin { "qmlpreviewclient.h", "qmldebugtranslationclient.cpp", "qmldebugtranslationclient.h", - "qmldebugtranslationwidget.cpp", - "qmldebugtranslationwidget.h", "qmlpreviewconnectionmanager.cpp", "qmlpreviewconnectionmanager.h", "qmlpreviewfileontargetfinder.cpp", @@ -37,8 +35,6 @@ QtcPlugin { "qmlpreviewplugin.h", "qmlpreviewruncontrol.cpp", "qmlpreviewruncontrol.h", - "projectfileselectionswidget.cpp", - "projectfileselectionswidget.h" ] }