From 56412543be9d09a430c8be657bea3d2926835ed8 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Tue, 7 Apr 2020 17:16:48 +0200 Subject: [PATCH] Scales bug fixed --- CanvasApp/ChartingSpace/CoordinateSystem.js | 215 ++++++++++++++------ CanvasApp/ChartingSpace/PlottersManager.js | 4 +- CanvasApp/ChartingSpace/TimeMachine.js | 1 + CanvasApp/ChartingSpace/TimelineChart.js | 27 +-- CanvasApp/FloatingSpace/FloatingObject.js | 5 + WebServer/Images/Icons/style-01/delink.png | Bin 10805 -> 10549 bytes WebServer/Images/Icons/style-01/help.png | Bin 16368 -> 16941 bytes 7 files changed, 177 insertions(+), 75 deletions(-) diff --git a/CanvasApp/ChartingSpace/CoordinateSystem.js b/CanvasApp/ChartingSpace/CoordinateSystem.js index 653004e23..830cef1ac 100644 --- a/CanvasApp/ChartingSpace/CoordinateSystem.js +++ b/CanvasApp/ChartingSpace/CoordinateSystem.js @@ -11,6 +11,10 @@ function newCoordinateSystem () { let thisObject = { min: undefined, max: undefined, + parentMin: undefined, + parentMax: undefined, + childrenMin: undefined, + childrenMax: undefined, maxHeight: undefined, maxWidth: undefined, scale: undefined, @@ -24,6 +28,8 @@ function newCoordinateSystem () { HORIZONTAL_MARGIN_INVERSE_FACTOR: 0.20, VERTICAL_MARGIN_INVERSE_FACTOR: 0.10, physics: physics, + reportParentXValue: reportParentXValue, + reportParentYValue: reportParentYValue, reportXValue: reportXValue, reportYValue: reportYValue, zoomX: zoomX, @@ -47,6 +53,23 @@ function newCoordinateSystem () { x: 0, y: 0 } + thisObject.parentMin = { + x: 0, + y: 0 + } + thisObject.parentMax = { + x: 0, + y: 0 + } + thisObject.childrenMin = { + x: 0, + y: 0 + } + thisObject.childrenMax = { + x: 0, + y: 0 + } + thisObject.scale = { x: 0, y: 0 @@ -57,11 +80,12 @@ function newCoordinateSystem () { let newXMax = -VERY_LARGE_NUMBER let newXMin = VERY_LARGE_NUMBER - let noXValueReported = true let newYMax = -VERY_LARGE_NUMBER let newYMin = VERY_LARGE_NUMBER - let noYValueReported = true + + let parentMinChanged = false + let parentMaxChanged = false return thisObject @@ -84,59 +108,140 @@ function newCoordinateSystem () { recalculateScale() } + function reportXValue (value) { + if (thisObject.autoMinXScale === true) { + if (value < newXMin && value !== 0) { + newXMin = value + } + } + if (thisObject.autoMaxXScale === true) { + if (value > newXMax && value !== 0) { + newXMax = value + } + } + } + + function reportYValue (value) { + if (thisObject.autoMinYScale === true) { + if (value < newYMin) { + newYMin = value + } + } + if (thisObject.autoMaxYScale === true) { + if (value > newYMax) { + newYMax = value + } + } + } + + function reportParentXValue (min, max) { + if (thisObject.autoMinXScale === true) { + if (thisObject.parentMin.x !== min) { + thisObject.parentMin.x = min + } + } + if (thisObject.autoMaxXScale === true) { + if (thisObject.parentMax.x !== max) { + thisObject.parentMax.x = max + } + } + } + + function reportParentYValue (min, max) { + if (thisObject.autoMinYScale === true) { + if (thisObject.parentMin.y !== min) { + thisObject.parentMin.y = min + } + } + if (thisObject.autoMaxYScale === true) { + if (thisObject.parentMax.y !== max) { + thisObject.parentMax.y = max + } + } + } + function physics () { let mustRecalculate = false - if ((thisObject.autoMinXScale === true || thisObject.autoMaxXScale === true) && noXValueReported === false) { - if (thisObject.autoMaxXScale === true && thisObject.max.x !== newXMax) { - thisObject.max.x = newXMax - mustRecalculate = true + if ((thisObject.autoMinXScale === true || thisObject.autoMaxXScale === true)) { + if (thisObject.autoMaxXScale === true && thisObject.childrenMax.x !== newXMax && newXMax !== -VERY_LARGE_NUMBER) { + thisObject.childrenMax.x = newXMax } if (thisObject.autoMaxXScale === true) { newXMax = -VERY_LARGE_NUMBER } - if (thisObject.autoMinXScale === true && thisObject.min.x !== newXMin) { - thisObject.min.x = newXMin + if (thisObject.autoMinXScale === true && thisObject.childrenMin.x !== newXMin && newXMin !== VERY_LARGE_NUMBER) { + thisObject.childrenMin.x = newXMin newXMin = VERY_LARGE_NUMBER - mustRecalculate = true } if (thisObject.autoMinXScale === true) { newXMin = VERY_LARGE_NUMBER } - - /* Reseting this to start over at each cycle. */ - noXValueReported = true - - if (mustRecalculate === true) { - thisObject.eventHandler.raiseEvent('X-Range Changed') - } } - if ((thisObject.autoMinYScale === true || thisObject.autoMaxYScale === true) && noYValueReported === false) { - if (thisObject.autoMaxYScale === true && thisObject.max.y !== newYMax) { - thisObject.max.y = newYMax - mustRecalculate = true + if ((thisObject.autoMinYScale === true || thisObject.autoMaxYScale === true)) { + if (thisObject.autoMaxYScale === true && thisObject.childrenMax.y !== newYMax && newYMax !== -VERY_LARGE_NUMBER) { + thisObject.childrenMax.y = newYMax } if (thisObject.autoMaxYScale === true) { newYMax = -VERY_LARGE_NUMBER } - if (thisObject.autoMinYScale === true && thisObject.min.y !== newYMin) { - thisObject.min.y = newYMin + if (thisObject.autoMinYScale === true && thisObject.childrenMin.y !== newYMin && newYMin !== VERY_LARGE_NUMBER) { + thisObject.childrenMin.y = newYMin newYMin = VERY_LARGE_NUMBER - mustRecalculate = true } if (thisObject.autoMinYScale === true) { newYMin = VERY_LARGE_NUMBER } + } - /* Reseting this to start over at each cycle. */ - noYValueReported = true + /* Here we will see if any of the children or parent values modify the current status quo */ + /* Min */ + let minX = Math.min(thisObject.childrenMin.x, thisObject.parentMin.x) + let minY = Math.min(thisObject.childrenMin.y, thisObject.parentMin.y) + let maxX = Math.max(thisObject.childrenMax.x, thisObject.parentMax.x) + let maxY = Math.max(thisObject.childrenMax.y, thisObject.parentMax.y) + + if (thisObject.parentMin.x === 0) { + minX = thisObject.childrenMin.x + } + + if (thisObject.parentMin.y === 0) { + minY = thisObject.childrenMin.y + } + + if (thisObject.parentMax.x === 0) { + maxX = thisObject.childrenMax.x + } + + if (thisObject.parentMax.y === 0) { + maxY = thisObject.childrenMax.y + } + + if (minX !== 0 && thisObject.min.x !== minX && thisObject.autoMinXScale === true) { + thisObject.min.x = minX + mustRecalculate = true + } + + if (minY !== 0 && thisObject.min.y !== minY && thisObject.autoMinYScale === true) { + thisObject.min.y = minY + mustRecalculate = true + } + + if (maxX !== 0 && thisObject.max.x !== maxX && thisObject.autoMaxXScale === true) { + thisObject.max.x = maxX + mustRecalculate = true + } + + if (maxY !== 0 && thisObject.max.y !== maxY && thisObject.autoMaxYScale === true) { + thisObject.max.y = maxY + mustRecalculate = true } if (mustRecalculate === true) { @@ -144,26 +249,11 @@ function newCoordinateSystem () { } } - function reportXValue (value) { - if (thisObject.autoMinXScale === true) { - if (value < newXMin) { newXMin = value } - noXValueReported = false - } - if (thisObject.autoMaxXScale === true) { - if (value > newXMax) { newXMax = value } - noXValueReported = false - } - } + function recalculateScale (event) { + thisObject.scale.x = thisObject.maxWidth * thisObject.HORIZONTAL_MARGIN_FACTOR / (thisObject.max.x - thisObject.min.x) + thisObject.scale.y = thisObject.maxHeight * thisObject.VERTICAL_MARGIN_FACTOR / (thisObject.max.y - thisObject.min.y) - function reportYValue (value) { - if (thisObject.autoMinYScale === true) { - if (value < newYMin) { newYMin = value } - noYValueReported = false - } - if (thisObject.autoMaxYScale === true) { - if (value > newYMax) { newYMax = value } - noYValueReported = false - } + thisObject.eventHandler.raiseEvent('Scale Changed', event) } function zoomX (factor, mousePosition, container) { @@ -175,9 +265,18 @@ function newCoordinateSystem () { let max = thisObject.max.x - diff * factor * rightDistance / (container.frame.width / 2) if (min < max) { - thisObject.min.x = min - thisObject.max.x = max - thisObject.recalculateScale() + let mustRecalculate = false + if (thisObject.autoMinXScale === false) { + thisObject.min.x = min + mustRecalculate = true + } + if (thisObject.autoMaxXScale === false) { + thisObject.max.x = max + mustRecalculate = true + } + if (mustRecalculate === true) { + thisObject.recalculateScale() + } } } @@ -190,19 +289,21 @@ function newCoordinateSystem () { let max = thisObject.max.y - diff * factor * topDistance / (container.frame.height / 2) if (min < max) { - thisObject.min.y = min - thisObject.max.y = max - thisObject.recalculateScale() + let mustRecalculate = false + if (thisObject.autoMinYScale === false) { + thisObject.min.y = min + mustRecalculate = true + } + if (thisObject.autoMaxYScale === false) { + thisObject.max.y = max + mustRecalculate = true + } + if (mustRecalculate === true) { + thisObject.recalculateScale() + } } } - function recalculateScale (event) { - thisObject.scale.x = thisObject.maxWidth * thisObject.HORIZONTAL_MARGIN_FACTOR / (thisObject.max.x - thisObject.min.x) - thisObject.scale.y = thisObject.maxHeight * thisObject.VERTICAL_MARGIN_FACTOR / (thisObject.max.y - thisObject.min.y) - - thisObject.eventHandler.raiseEvent('Scale Changed', event) - } - function initializeX (minValue, maxValue, maxWidth) { thisObject.min.x = minValue.x // * 0.999; // 0.1% less thisObject.max.x = maxValue.x // * 1.001; // 0.1% more diff --git a/CanvasApp/ChartingSpace/PlottersManager.js b/CanvasApp/ChartingSpace/PlottersManager.js index 848f5cf1a..2b36cf693 100644 --- a/CanvasApp/ChartingSpace/PlottersManager.js +++ b/CanvasApp/ChartingSpace/PlottersManager.js @@ -80,7 +80,7 @@ function newPlottersManager () { } function initialize (pLayersPanel) { - /* Remember the Layers Panel */ + /* Remember this */ layersPanel = pLayersPanel /* Listen to the event of change of status */ @@ -244,7 +244,7 @@ function newPlottersManager () { } } if (layer.status === LAYER_STATUS.OFF) { - /* If the plotter of this card is not on our Active Plotters list, then we remove it. */ + /* If the plotter of this card is not on our Active Plotters list, then we remove it. */ for (let i = 0; i < thisObject.connectors.length; i++) { let connector = thisObject.connectors[i] if (connector.layer.payload.node.id === layer.payload.node.id) { diff --git a/CanvasApp/ChartingSpace/TimeMachine.js b/CanvasApp/ChartingSpace/TimeMachine.js index 5a6c07b75..ab252f437 100644 --- a/CanvasApp/ChartingSpace/TimeMachine.js +++ b/CanvasApp/ChartingSpace/TimeMachine.js @@ -36,6 +36,7 @@ function newTimeMachine () { } let timeMachineCoordinateSystem = newCoordinateSystem() + timeMachineCoordinateSystem.name = 'TIME MACHINE' let mouse = { position: { diff --git a/CanvasApp/ChartingSpace/TimelineChart.js b/CanvasApp/ChartingSpace/TimelineChart.js index 44e96a02a..d270d7b9f 100644 --- a/CanvasApp/ChartingSpace/TimelineChart.js +++ b/CanvasApp/ChartingSpace/TimelineChart.js @@ -31,6 +31,8 @@ function newTimelineChart () { let timeMachineCoordinateSystem let timelineChartCoordinateSystem = newCoordinateSystem() + timelineChartCoordinateSystem.name = 'TIMELINE CHART' + let coordinateSystem let layersPanel @@ -43,7 +45,6 @@ function newTimelineChart () { let timeFrameScaleEventSuscriptionId let timeFrameScaleMouseOverEventSuscriptionId let scaleChangedEventSubscriptionId - let xRangeChangedEventSubscriptionId let drawScales = false let mouse = { @@ -63,8 +64,7 @@ function newTimelineChart () { } function finalize () { - coordinateSystem.eventHandler.stopListening(scaleChangedEventSubscriptionId) - timelineChartCoordinateSystem.eventHandler.stopListening(xRangeChangedEventSubscriptionId) + timeMachineCoordinateSystem.eventHandler.stopListening(scaleChangedEventSubscriptionId) if (thisObject.layersManager !== undefined) { finalizeLayersManager() @@ -147,7 +147,6 @@ function newTimelineChart () { onMouseOverEventSuscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseOver', onMouseOver) onMouseNotOverEventSuscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseNotOver', onMouseNotOver) scaleChangedEventSubscriptionId = timeMachineCoordinateSystem.eventHandler.listenToEvent('Scale Changed', onScaleChanged) - xRangeChangedEventSubscriptionId = timelineChartCoordinateSystem.eventHandler.listenToEvent('X-Range Changed', xRangeChanged) } function initializeCoordinateSystem () { @@ -234,15 +233,6 @@ function newTimelineChart () { } } - function xRangeChanged (event) { - if (thisObject.rateScale !== undefined) { - /* We need to re trasmit the changes on the x Range of the timelinechart coordinate system to the time machine coordinate system so that its scale is syncronized. */ - timeMachineCoordinateSystem.min.x = timelineChartCoordinateSystem.min.x - timeMachineCoordinateSystem.max.x = timelineChartCoordinateSystem.max.x - timeMachineCoordinateSystem.recalculateScale() - } - } - function onScaleChanged (event) { if (thisObject.rateScale !== undefined) { thisObject.rateScale.onUpstreamScaleChanged(event) @@ -330,9 +320,14 @@ function newTimelineChart () { } function thisObjectPhysics () { - timelineChartCoordinateSystem.reportXValue(timeMachineCoordinateSystem.min.x) - timelineChartCoordinateSystem.reportXValue(timeMachineCoordinateSystem.max.x) - timelineChartCoordinateSystem.physics() + /* Only if the plotter manager has some layer turned on, we will pass the min and max upstream. */ + if (thisObject.plotterManager !== undefined && thisObject.plotterManager.connectors.length > 0) { + timelineChartCoordinateSystem.reportParentXValue(timeMachineCoordinateSystem.min.x, timeMachineCoordinateSystem.max.x) + timelineChartCoordinateSystem.physics() + + timeMachineCoordinateSystem.reportXValue(timelineChartCoordinateSystem.childrenMin.x) + timeMachineCoordinateSystem.reportXValue(timelineChartCoordinateSystem.childrenMax.x) + } } function syncWithDesignerLayersManager () { diff --git a/CanvasApp/FloatingSpace/FloatingObject.js b/CanvasApp/FloatingSpace/FloatingObject.js index 5551c47a9..88cb75b4d 100644 --- a/CanvasApp/FloatingSpace/FloatingObject.js +++ b/CanvasApp/FloatingSpace/FloatingObject.js @@ -286,6 +286,7 @@ function newFloatingObject () { function positionContraintsPhysics () { const MAX_DISTANCE_TO_PARENT = 3000 + const MIN_DISTANCE_TO_PARENT = 100 if (thisObject.angleToParent !== ANGLE_TO_PARENT.NOT_FIXED && thisObject.isOnFocus !== true) { let parent = thisObject.payload.chainParent @@ -324,6 +325,10 @@ function newFloatingObject () { distanceToParent = MAX_DISTANCE_TO_PARENT } + if (distanceToParent < MIN_DISTANCE_TO_PARENT) { + distanceToParent = MIN_DISTANCE_TO_PARENT + } + switch (thisObject.angleToParent) { case ANGLE_TO_PARENT.RANGE_360: angleToParentAngle = 360 diff --git a/WebServer/Images/Icons/style-01/delink.png b/WebServer/Images/Icons/style-01/delink.png index b5807d379e626b26f25f99633edbd6b099e68d98..47f06ff61246463d6c14aadf4aec95c5adc03197 100644 GIT binary patch literal 10549 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 literal 10805 zcmaiac|4Te-~YMBh_QsRQ>gn^wnCDmn35DiRJLTaQDlp(nM+y95|z**x>ZtHO7@t^ zUWBqHOhZa3Mp;J2T+g}OJ~{a&x%>(?Kd>pJIr&SyWL&-+}LY^}{jg%pGU0HS+# z@3aGe0DlsI;4=7UI;872{39P|<``)2dm=E{J>WRle$4mCag{x%-93)m9d|z#>i_Ea zRshs{_w3xhKcxTrpljlx?x?kFFU6~r-DBY89@JK3_Z`pJyDo|Uc;0tP_c(Y{T6^QW z^Z#^P1e&mS+$#x}KB-i-5LD7%s{An~&Sz-#FKUkK{PkT|c0Jymb}KQJ!AMM??AR^m z`4f@6Sa+xMoUlTt@=Va)&bc4mM{HqrBqt!6@W&p zSl$xoct=>3s;XrlO9VgFfNO4TfMF_XSVsUSjid-zjw>%>o0hQbiOZ+uR)gkT5SV}6 zjM{07P_`^rW;4IU{}?1##tMO-H;}$O$+S^ny`~-!MexZURQ9y2F7n|3l`KM0v0!W5 z>JHsR(4iF<$9aGD>A48TDM#m6GWeN+l=nM7t@dIh0&r|Us7$L1=+Ctvg zh(M)~kSz!(jrUY-XjHb~#ee7_#J$^l3rpt&5V5kQJRGPXrIO>aUU zfKX|)V5W9&98jtHLxJic5wb-pO8>Da_^A$DGXr)l(G)^gLo><(GXOTM2l0^Nq5q*M zDlruPgRLW-_Vrv3t7ll~3V^daT8ommn<%D@xLPE(-1Yl#{{8k_D*+sPdbs@A$IYd)HZh~eo^ES!D=Dc>x(B4d zUEQ~AH-)3@$x`bPt@a1{NH$n;%up*grm^Ftve+k=b+g9VzK1ro90~4sMj#zh62E}Z z@{(@4V{vYYQd*pp5#Z16?eL4BOukgkoo|=^U_R4Z(wFJi2pAqKHxaYQ7rs}Bdp|y2 z{*=ZsaTsAIKX^T3=#hk|f$ED<{!V`1<$3-l*yxd;3k%`vkjFi$jNJG9enm4ytwt^% z?OE6%-5WXFIQ_}ZVn7d6pNbo`3(da8_VwY&o*)2YSKuwNQft}J5y523qPxUX}`o;ydM|6QK@djT3Y zCNfz<{Lk_#PR|El8Jbe*Z^ggU&`w+)xp1WKzTj5phybOCzv@r&Cb`4i!)bH0-ufAZ zcDW4ZWFKG^5`hrIF}3%woA(Zhi}s7m(2?#()?XFVlb#X11!<~)dW1h)-ApAGW4_=O z1{rnu+WIg1Sl>og!R>WP3f&?b6>=C`^sPy=;LsirmzE6kXZx6`JY9#ir=qgH#+B^O zTbB#)k!%_M?B!-EQ*7;_MQ%`om@ig5TvuoQVg%9(lScPQN6G!BEflBUiezNrdb{Zg z8eNIQX*5%t8C*}4Fn;O^v+O9@c?tYUiJxjNvH5^Z)Rh(WGII+}c{Els8GIV^v%llX z2}nvWtJc(NX_(DBZF;G9R+g98amvtzpSmo&_C0z~w|-Dy#C4JPt(Pv&%fO8vD-#vs zek;T$ys9_rlKCRGI4XP1Xw(MU0KAt%SDH~vwFvnacs}t0JQ6O8TbzA}1S?_F(4xLtBd3{Uz2TDT-AIJe7`N4G2cC& zkRQzS;byX<>14(o7F|loS|;30>xpCvOg_Y4)zolr-f|i@5_K8A4ra_%;&3ubKp|0>>7q^WP~F&B zi9hP_>Fg_9e5!WmH(MBr0yCsWPo6yon|zZTpU#Y^;^aCU{xxBW+wRfU+2*ZF6ga9%hTju=9A3C^YEO26jq< zeR*Ec=1Z$He+4c7GxBIEaIo&rVu|qYSK>x)fa{r}I*ZeVUGY#a24u+ElTb6sJbg8yC{SPX>s3PJO)%8w@NoR-_%e7$MXH|DRp$WGS%3+)u459 z^UqHWrb7xYM-63_Wa{4akDilE&U9XWv|HEi1hCU(*0T*H8R&!BfHob!18kcZRUeW3 z2{LbRZm*U=`s=IE9V14AkhEJe&~T=nCVpS<+s8)1RQ^Fvt-3Y3kzVzPs0P%pqxb)b zQ{?Yn2W5^elCxl>x{LG9MPt^QQ=5^$9)f$rcaLPjaeX+xOp4BN5V^osR^e7nW|`%{ z(G9{yPHE_y2Qkox(a%cd(^vC1vrHa3{gnsq?I#RRfwgDT&74AE81hoaR|m3Z3zs^QPKAk0Y@Z&Yb&S z-iw9u$Dx~RA{mHE4qLmlJ#`0yr(IG;z?N+Gq&~N<2YYbkAb{Lbwnzb%Hdh)?tl2i=u_+tE64K^m(NpF<%vCu>KtCbwn7r&M&{ zP=;ZtkJQovb5gTq6PyV5gn_H%X?&uTYqU=2^WfQe8_#4|zP@0?2mTF+HUAF+gs>)gqk)==cG3MCA1QBwDn|#*@paZ%^3~bU3xcC$7yY+P8}p& zoT&b?{KDIX^xy#v+T0@(x}MgLqUXD&eYd9eGh!Iy(bS~72Kx2oP!Z_OEhnYb5mLNM z!PHi6$%V^}w2$vB2gwlujO+wDwzJlJu~7QLUJHgt zU5I;%COc-e&VglvN3yWPB3ROXf#)K9EqoC+PvSmqT?KXeO`bRP0y}f?3OVIs(mwA? zajV7a?xhPKQB~#{oiAlh#&6!F=P!Gnz1AbhSdhK_aqj#IxpGzOnfAmZ3N<3rk`26t z!eSDpMs$C1e=1_WGF;RKn#XqJOHXN7D!Q|l7MV&f(jtdnN1xQv%t?+3E;9|Yx=2;b zQ4#LwhOL^4iY%LJT>-L`&}r=WWoe%l4Y-jH4b&)I^ z`|cSnV8GoIxJKpmJ>q@^-rxZ7`x=zVLGv3xNl`aO$iXEx*G?cuQnYcavZ|@wYKT7EA#2fs@zvM@9v4X8m%1pj zZ7$sAYYDNwiaZfyMOmxW!kT;|NL%w}5ad-W44Bz+I?H}ephlBoMNXsn7gt>(*ruV5 zkUa^>^+>JqZoABOf@4|O*v*a!z!FmflI$nlbwtRDz}2%4+iWJ-k{(R;0r`~2iSEJh zWh=1iyLq5K!vl(u4Z0Zek1y(`EiDXU=T2^Wrz_0JfXoR%M|3K^`LG?D(^Kp_|~@Il(DdQ9aC062g(H>73>JZZ}fYfY}jQBsi#z%?hUVv%i0{C z$C(!0^iglN!ZC#{;Q3C3v3#vined6C8*tx_E_pOSMx_mGbtt#escwh+p$}w%DjGT9 zKmEDH0c&BBXlSNkf7eJzF+l{e*6ZnyGlg5GR?=4ZKA(AFS$-a_P~mopVE2zKH0p<6;{Uj6?zF&? zmU1O|k4Mw6?WI0d`NV%I|HKPYDWIxyW_%UbMlMzhRx0QgkBn7vhXhOWwM&aQM?Sc& zNRJaSC9~)os2p<_GehojGkJW8q_BHLqUEnT`bs5h(Rr^_SZ1Z7R^HM6PI@AHLIQWv zVI>ClZDz=urX~xTp~bXtKK$7xN(0(9M~LahG@x=)jR8L}$7(6Mu7`YrbRpwZUbA}!zBf@IP*zoAEr zEtvdRF>SPCb9+o&cYM~PD#7!(pNr~ATeRKQcWq(2t!w%6y?gvgU(E;RC_6Zr?8%$<1eMd5k%y+jmU9`Xwd08$Z=Z^l zIkD)S{dXs^X$Bf>1u_tZ6~j7TH=3{zhrJVL`L2O&0Cf#j&Fk)`R+qY?VwfXiee$W5 zP#t>EzsABfH>4`+AtMH_kLvu(MK*C`{X^~MdrK_A2g>94pojnRcM)pTxrgnze`aXk zl4{3{QmmtUyPuwI8lD%Tl|h{X3yK?y?w)`7&3rtKzVrfR7vB2$z&Q6hp!QA*ns#KD z_Oy-@1u>E^axPD#Nu$CVa!nP{L-vw7MOkjbBO&du7t#ZX?rW%zZj&+!raHgJ(({YL zS_z5c+m5b*_Gq*v##X$tyua$>JGup|tA#*!8v6dH<@4p8nNyZ$jia$puLsY>lUXZ! z=aU*{V5HrEsP09{cmB_q8tB_69by~s?xSGPe_W>)*X6L=8E@Gn> z;+Jamudo$do^W(ML6?*6I*|L0J?Y_Kb4W}q=Hnn9H@5J&A*^lbczC3jaYCN!L8Rr^ z(!TsQybF7bZ1Bl-*>Km?1^1J(b%QI`EL#k7yi<})^JXdc4pywPxJk~2DrGe3@pX;{ zFfYH4I#?0-`o5xycB)&NV(Ii+JFs5NsXrC=15%*bbKH%DyE5z!Q5cG7+djBGn!F8G z#d+I$ras5qI9kx32Y}>y;6F|~8%?((H5U=1izW{n4A%r?mWD+XdZ${xxIZ1Hw(P_n zDL}R2SBdotucsd*$vq>c8hnb63VX34E6+93=Fpn6Mc#so6H)ZyhOst6eBtPO&O;G3 zKq=u@IXwMkKR?}>B$rK${+N8+`)RwK46Xe}(d~lY1gFvGkt=epHTVf!p8a|Ah`i%+ zv+R*;j{wNg2D)4a4KCS%5T=HV9@ylNz&hKsKkU+Xah~OIcJe~NN3VF401|6JeSUe1 zwC^i*WFZyx!iJTdN4=B}6gA#JVRm@?c5;TT7*TGi77R}dN>VMRr>b)I-{tGM0@bO7 zWSv;DZ57Ltr&D zyanilC7ANKhbk7R*lf+p*9DSA3DpIXwsY*{NZ#YJ1c$@ndfn}f0}$4Ao{@H62J8lY zCr8bp4saxNj*de zKiViIsvrC5oVX-=+h5&rSONSZ)ie$87mWf>c#1gY3t-RGeg-Iq`)axpt;K zft(E}8@3!c2W42ijy{N^P0v=*HHWY|0SlNoHd3y;=MtwK33h^5rm6}bRPJVBuuCg? zx`J&xdhTuJ$|7dpp|aauF@X~mBVO)?H(Q#T-XkYK_S?4o)g{N)P=mEs@cIY3%(2M4 z-D4VI^u@&m!*gd_p#?h*xsOL|+p49BjI2XeaTDl^0})R{$AtG(XBoc;P%TSN!FkKE zWY~o`+7lY>33j4bqB@jxV!!sBRx$qTt7kC^`l2b-PdCXJi>IBUGol-{pB*&W@I%7VOi{T8aA%^KF zZ7cUp(m*YJW~NXE!U5OB;>fm!!F;ceZ{JOtUrGO zFsvv9J%ky_sp<^o{ZeHm-+(5ku2D(9fy(g)X>-h)vmXBQ?US+)5X1T1T|xXVf=$q@ zs$un_O11k=KySVZ3TD^~ul;;hQ_%qX**#n!t1Uzei}d}llDZ5QQX7x0`IyD5DhT1O z4VI->Kbt%5Ykv#YMkipjsEm_4EIGLc39!%12EZvDjjT1fzJw(5gXT)22${E68(DIG z^ob=yhsEsr&tT$e?ydi|a$hXX9u`}85JIxHW}Mz79-#`Ktw#>T(p+H)|7TF=GP}?P zvS0yI-7!}}qdYH2{eO0$2x58uaoD~8Oc(e4{_BE)k5lGOj?E)n?tf`k4Zbs&`42l? z>fELS{}E(MEUg>XcAC&UDM6%%XE+Xj2K_qH{XVEkWr~wm)}@>vao!5_W|_=Soc^&T z4tw}#(^=ugYwkDn6_h_DDnBUFirY|ha`QViL>rs>)i83aOqRYd=6AI5Xy3oPqk}b` zBQhNp`xc*jbtW(()Q~TtX2q5i$vWE73^a8`>0$G4x7jAPT6@0iP?68o)e!4(k>q{w z;f+3SaMeC6#hX4g5oM{JuK~W7#FR)W_3!$}L({$0IreU-YW7!_$!@5vdyWJt^ldb4 z;L)~|fB(Kia@;8LMgz%eZ?}X6r6^oHG0>Aahs6hMsn1&M5!M>ggKt5bu{#Q zcIR2emZK&HLD`8RGRDw=6ga3J^8T@D2ucNvNWO;M}Gzi@`5H)`h6Cgw4Z#5 z#)b|lqsH~3FRRwKu6X=o8B4!spQ;|>ACtBI`^W<)B`KajJ8`E4*w$D1>!hP~*9@tj z9|V@f(0o-H6CiBSs(U^JR?}lQad_^pGO`6_T`->}pbTJ4{GQ|bMHbBh0pB#<6JSti zBGX@wt@J>o03!{8Q?bP`>58icyT&4#%&XJ)!78_{qxRDOUgC)h9Lqv?m3}v zD$~$4v2fMOl^cj%uVAZ|{3GOx)ceLOYqfn8ZoJ~m)-jXDhbt<*OEwyEgDZdZ+=>sM ztf*7evWNGO-K)c;!8bD3vSIeXGv_MqmylEa0cr%rT^dYsiUp3nf})k&#po8;zUC%5 zN2;on;7J1AvQ?}JbfmJA57xHd-ViWi@aib;x6Qh6fgm=NpV~x9*-qMR$i0qw2SF?k z``Gy^VVCYAImHwYc^ti-Z1WvmZ*x_BoB=w$_Y50*#C0-uA*}8t70nbv?o8hLA7K2B#+t?#Zh9rSJ+CP#i8%Qyzld8| z&I_KDG3Rkuxx66(xAI6$&Pc%plV~i7oN~oO8Vc`sXH)Hr5cYWS?6=nfj=7?e>C#zUiIN^Ql(h zmffKRTLwSvTTH8;nt2m5YR9QMbK^;mG|R312B_lmUW5w7-fqPXDz}@|^mMcJiZA&t zwx`7iKybaz#CtIq+K=|8mj2v%nw}i4-@PD_YL96S4MMCt;U%rIG%IL4?slEYi`cUv zo?`5rsgm3|Ss=gi?pQu&{iS z$sP&$IGXM!uMCZ3<=v;pnd&r%g~IzJ?d}@3i_NhWyavI;=BM}>JrHb7VIB?II%)%* zqIfR-rKHCf$UXuwyq=8q7c(*J-0AF9wgkC}@F#5oi|WuZ&VKlvJRZ`sTMhXn!4raL zOF=1|(7YA`&e0~WO`=g`iZMiuAtDy=2F7G!tsCxd-J6IomZRy=O>@J6iUp8|ur&Ow zW`$`Y$7FFr%Bf(32#p`&5pXp2-_h^zcBFYdj%90eFKvmXkW>oU4iMyKuYGnW74Thg z;%Gwbn!{&7iCsdfA$*45Ya!}w(vVd%*Ic=8sVrI|@b#MI9m>Bi`^~ss= zOqj+`fw)j5%;%pR2{jy+z%9c+6kNw+(E$ra5-o(jd8#-)S1D}1Nz<^vZE3-96zZRO zHj!A73JVw7uitc;Ufx#=F8z#6=D8CGpv=P9p-f2AmQWys6*v;opwa2<_P3p}XqP2J ziN!2|7Zy*T4rF;w>M&(1lI+$Y0@1Wyn8nxeqYor_B3|#sQ;v|vbh$a@tAebN>^&~n znc6IgR>G58{3<2n4s%ZM-Y}?2zoXSVK=sPH|RD?T_<$p`?d8+?)_CMk;~gx=w7funO1EQ-(Tz zHqQbCtwW^aXi{}16_!Lza7hpuQZMVm@8aI4qPkEm7lc62dc+IfBl^PYK%fAtC^_D~ zfGPyaYRRyAdhTP74@=2I=yM(O7Jm7+v4ogt$gS#E&%fpMV%s$>Br{+Ql?Rc&rcQ^- z{1SVff!rhFipXJaE#$ypL_E=w5(uxeU`9{)xp=4bzy@h_x&>XQp9-$3Ba$N6Sct`V z{dz$CNVe@;Ny$>BW(*>d%dv;~02afEPl;VHE!+!Kfd`5j(p5?9Qsr8{`u-DslB0_D zr=d4vXm(Ptn$1pA&3?dQ9t04Q)6hUlp=U#%E{3Z6KYx@_!WK?LkA`rjVa3SJe>lqa zaWHrw?N2hiUgcBuoqIo@dx8(w(t}?Om>q!qBg`q2TZCX|Ksn5E!|x)Oep|DYpX5GQ z!Z(LENo(@v9^+KtiSh!LzmS|X?`CFMffuafm5T9M=jJsRxx1_ShSnAJM-LK& zK!uCuGN!0sBU>H0C(nalIT$FfoHqaWBcP!5aDtN&yqA<)FML5tpcAtIUt=-4)nGtJ z4R)daqnp;LhzK0`V}EMcEUd$9N`4~dr~t8E8ecsh7TfomnJ-xHN+{7J#Jz}d|9~U7 zqGFovCx1*i908f6824A6d;K1dUMijvo~bypuu&@-YhGl}R>ckeHu2;;GGE*JG>9L3 zb0S`z6wI)8yd%~!ACQi~veafH*GEL8diK-@3Glap@d)dC~fX%C1shwtO8 zY>UG#lf`|{7r*P0-E^0a7yDMdG*~q8iJ%(pXb|elAwI9GgYq6RND?obrE$A`r^A!5 zzY}0tt%gjm*^QfY6*rf=<*z+DYb zde-pkkVQpb69N!f_z;9HgTTK0TNHaq5{!;;9qV#S-mv$A7IgP|keg=S6$CWF3^P zyx_XtbXCUsUem`~{0&GkajL>6ExE9}K;2-Yc73*^M&S=8P6us9JEyVxq#}IflIF6&r)2Ps}RE1!3Qd+!6G-YlfkWFvHc|NskYHGuXDQeuQu^kqG{O|A?3y aiU1G8%{iZcJ+a4U?=iF9S+Ik8{=Wc1nmdUA diff --git a/WebServer/Images/Icons/style-01/help.png b/WebServer/Images/Icons/style-01/help.png index 373a0470f9d2d0863c046c70767333f8c82bcead..1fe2a4b34b8120a3cc289960ae621ff08a8cba28 100644 GIT binary patch literal 16941 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 Q0RG!-zum52qj&880mh7f+yDRo literal 16368 zcmX9_c_38Z7r$?248zEptu#}X5;3-vWTupTi%QyN>`PgSP+=a*E=sbrjFP2NXp@u~ zA}!V=DqEC2Mz+B$zvuho4`c3q_nvp&eP{W6&Pj5#w-6Uq5(NN=TUqXN0sw`4L;(>j z@@FpM>oW33F?9ctQ0E};&~Uf2USN-Bkh>SrD!|Rh%gM{l^Zc2QUM2vLuUYNeb1>q^ z!6-n2mnI|R>^S*7^-gnX<8Gmrx z_aI<12 zS`bnb*NP9>nLQnuJ;LMNFVKJWp!t03&RGFdFmj#|o{WYMc0Bb7su@gIt}WQjJs-^( zu|E5&VC(iLZwqcPtv5y<)Kf5NxlES0OxJ!&@B9b#?S|*{E~^1c+wPy5n73NLC&s1z zU3kzAzSCP>u`30vZ4h`+7$-F=U^mc_jl- zpm9(k7IH!XJfOI;XA3aQ-r}z57)YVn@$$yeMoEALtXAddKBL-3km@IbwOkdB=D_}G zcDH}M>By0_cos%>uUWZ{0j6oo>LT&`sGIs-H!j0aN%m94(c-(3$nB2FM(tmbxK!7w zO+dGmhUSwaOw1pw>fvK@O?|ZTy>!U34ZmKbi9-GiDF8SkY+2&+z5bSD8gODc`eMT} z@rWG63+2thf)BuC*q4Yw_CHkD|JS;A<#s6+%aXJf zS`aeNPcK9SV}0nY30sz?k1s2L&m~lfI?d<-q7Bw!Z;k)T`NL@Rz((|wubPyt$kMb* z2?gK;Ay;)v^WUtnIU8tzcKTBzPWXr@3sAmYrtacdtiR1w03||d(5@{Kh;&cYmy;JN z<99{7N8`cQ^iSyOxJGSlbrc@lcjbiq3S?+RDS*T~HKes$%4J~)evYFXJ&J)q>Z%Ym z>=ETOWZY6z2@9b?k_a=5yDAe%(w9_6DL}|0twTgg1;|E9^8DlMx!sotXppOmIyNeW zh-t8uYq01Bh&ShU<_RGS7>Y8lu>bDk=mOe%k<%VmkUeO6zkFZ`ESRjNYj^BmzrVs)*hTLeU%Rd$LhxB1<{*E~;W!L<fe3ny030f;Ad$51P`V4tcV!&uwIsYj|$7T--yu3`FwjNmuDaB?0)|Tt2 z(|5IC2pp@^sogv!j0XqNUJ&(pj2cOYZ~V=oM*?&@X^Wlq(y&Bsp|0#nbOSGR5sd?1 zQ|!e`v`8PEXn@G8qiz_U6?uf5kHkdfD;xJN%*Cpa)cEHYe~}0PF4-a>_34?cD#)lg zAyE0%LVz(K@1wTMYtKXj>h z!hwA%{M)~t5N3p7gG`AIpq_pWP~z$w3J4j1a`^5ZNi;Z@OfHCY!`S>h+I#K$;|7My z%hofq-nN>&*#X8jzf(Lm-Dtd3X6BTb+`)O~uIRDkYBvAH1l^Q3btqgtBJtM%V?v-k z*J__2SkKb6RzRL`3cXUZx383d#a^EX_4o?gfTtop&S6Lcd@x6Jb$#cRW-FZgDk87&uO#=M%eyjvn;A`)OyxXrIOp1sTk2R?Rw^(pl=nvzk5|GeB3B(TJ{mRv8?b$oEbo=vjH$1Z{97zNliiF}){ zJH4Q`ED`OW^j+nm0_=IfmDd0LuDc#(tEA>FNfz)l=T<8lEj85qbZL@MfL}RoLPn}_ z1Lk}1l<@|JN3<@nUEp5+v-qwAIz!ceeNXtp-+PMik%1gU?yNzkVb79Trel*}pg3FB zBiesO0XDdM4Nj%d+4&}Iq1Q2!?usPfCq@6eTTdf zYQ!k-lfg1W{%JMGw%3l*@L-T3^sD$0VlUNp7{WLfAo7Pb7(>|{G!~d|l3}ff{@ctb z;mYiTmR3N(gVgkT!OzXDBv(lp$@H2EOy)n?K`PmQ^5Sp^^UsA{H#YJ?X501`4FN0j z`=^e5CQk)2^lu71VEhXxrJx)arx*p%=k~@CaKKY=D1oaq~OebF(KHXc|h4<32_SNeWgoN zw#DE^J&=c$NLLOnLR2wkjs8k3G2g?&(15=T{kD8(J|Xa4E(TXK7#+q#Jdux5{!{Q4 zI&>G>qax2&WY%9NFXClP-wHz!y-wO z!%N0`-8N`eq+tBWchknG@V^1KCK>?+d%$C$i+cW@GBfmYLykhwv^aZS8@`<=s4w~G zpwE?}!>7;Arj9l25~?X5_0W1>AG*UKoqjPJV5;eF+m9_ZrKfEYO!F548XiPbP+fTv8o6&DbAcixtcV=_f2HwRx&v;|JvvQZY*(#W*3%?q4_cN!a-#YqC~OOgG4JbBG9gn15V*Jwja^Z# zEMOeiAzj_p7zosnxgv8%&dL`N-4xavY#a`fFbDvsnQ8Gm8-9hDNRRVoh-bQ{YPjq7 zdos?WNpe}~L#kFRHQKk4u{{0pvBso` z&bnBy#SF=Mkq&g@{z4eSQ^M-0Kab_{&65O~OKZk?Qu?!_wSy{;cX4f%U@0+^%Il&Z z@S}T-+YWw}V6#7OCP6B?KV^M8fhE^(S?ubl4fnyK1^Y5CZ2qwY^_4a^SMa1KuR{Nq zmrD85ObL(749;gv+xi``wJcCt2kujms~*ALOyBTjX@S
o8hmmX0ic!alp*Xe7x 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 L`+ZOL(qjJybBTs%