From e1d57eae3288f7d980041724e13538d4e0718c12 Mon Sep 17 00:00:00 2001 From: unrealdragon Date: Wed, 12 Aug 2026 14:32:54 +0530 Subject: [PATCH 01/11] Http Version - Fix to show error when requests fail, and changed display type of distance in UI from float to Int --- ConnectButton.qml | 12 ++++++++++-- Main.qml | 27 +++++++++++++++++++-------- SettingsPopup.qml | 4 ++-- WaterTank.qml | 19 ++++++++++--------- requestworker.cpp | 12 ++++++++++-- requestworker.h | 3 ++- 6 files changed, 53 insertions(+), 24 deletions(-) diff --git a/ConnectButton.qml b/ConnectButton.qml index 9225e44..dd058bc 100644 --- a/ConnectButton.qml +++ b/ConnectButton.qml @@ -10,6 +10,8 @@ Rectangle { property int font_enlarged_text_size: 20 property int font_normal_text_size: 16 property string text: "Connect" + property string text2: "Stop" + property int mode: 0 signal connect; layer.enabled: true layer.effect: MultiEffect { @@ -20,7 +22,7 @@ Rectangle { anchors.centerIn: parent font.pointSize: root.font_enlarged_text_size color: root.font_color - text: root.text + text: mode ? root.text2 : root.text horizontalAlignment: Text.AlignHCenter } @@ -46,10 +48,16 @@ Rectangle { settings_rect_pressed_prev = root.color root.color = "#5A1F4F1F" root.connect(); + switchMode(); } onReleased: { root.color = settings_rect_pressed_prev } } - + function switchMode() { + if(root.mode === 0) + root.mode = 1 + else + root.mode = 0; + } } diff --git a/Main.qml b/Main.qml index db445e4..950a2b9 100644 --- a/Main.qml +++ b/Main.qml @@ -39,10 +39,10 @@ Window { color: "#0A0F0F0F" SettingsBarIcon { height: top_bar.height - 20 - width: top_bar.width / 12 + width: height anchors { top: parent.top - left: parent.left + right: parent.right bottomMargin: 5 topMargin: 5 leftMargin: 5 @@ -77,10 +77,10 @@ Window { anchors { top: top_bar.bottom horizontalCenter: parent.horizontalCenter - topMargin: 0 + topMargin: 100 } - height: (parent.height - top_bar.height) / 1.2 - width: parent.width / 1.2 + height: (parent.height - top_bar.height) / 2 + width: parent.width / 2.2 base_color: root.background_color distance: 0 tank_lid_color: "#F0121212" @@ -119,8 +119,15 @@ Window { bottomMargin: 50 } onConnect: { - requester.start(); - root.status = "Waiting to Send."; + if(connect_button.mode === 0) + { + requester.start(); + root.status = "Waiting to Send."; + } + else { + root.status = "Stopped."; + requester.stop(); + } } } } @@ -134,6 +141,10 @@ Window { tank.setDistance(water_level); tank.rate_of_fill = fill_rate; tank.expected_to_fill = expected; + status.color = root.accent_color; + } + onRequestFailed: () => { + status.color = root.danger_color; } } @@ -145,7 +156,7 @@ Window { console.log("Loading initial config"); setConfig(config); if(root.status === "Initializing") { - root.status = "Waiting to connect."; + root.status = "Press Connect."; } } function setConfig(config) { diff --git a/SettingsPopup.qml b/SettingsPopup.qml index 051c306..41f5cc7 100644 --- a/SettingsPopup.qml +++ b/SettingsPopup.qml @@ -23,8 +23,8 @@ Popup { border.color: settings_popup.accent_color border.width: 1 } - height: Math.max(parent.height / 1.2, contentHeight) - width: parent.width / 1.1 + height: Math.max(parent.height / 1.6, contentHeight) + width: parent.width / 1.2 anchors.centerIn: Overlay.overlay Rectangle { id: settings_base diff --git a/WaterTank.qml b/WaterTank.qml index 5c1b5af..dc264f1 100644 --- a/WaterTank.qml +++ b/WaterTank.qml @@ -14,7 +14,7 @@ Item { property double height_max: tank_base.height - 10 property double current_level: 0 property double percentage_filled: 0 - property double distance: 0 + property int distance: 0 property double min_thres_input: 0 property double max_thres_input: 0 property double rate_of_fill: 0 @@ -33,16 +33,16 @@ Item { bottomMargin: -5 } radius: 10 - width: parent.width / 4 - height: parent.height / 15 + width: tank_base.width / 3 + height: tank_base.height / 15 } Rectangle { id: tank_base color: root.tank_base_color anchors.centerIn: parent - width: parent.width / 2 - height: parent.height / 2 + width: parent.width + height: parent.height border.color: root.tank_base_border_color border.width: 5 radius: 4 @@ -72,7 +72,7 @@ Item { Text { id: water_level_reading - text: "Current Reading: " + root.distance + " cm" + text: "Current Reading: " + (root.distance / 10)+ " cm" font.pointSize: 16 color: root.text_color anchors { @@ -125,7 +125,7 @@ Item { text: "Expected to fill in: " + root.expected_to_fill + " s" font.pointSize: 16 color: root.text_color - visible: (root.rate_of_fill > 1) ? true : false + visible: (root.rate_of_fill > 0) ? true : false anchors { margins: 5 top: rate_of_fill_label.bottom @@ -141,10 +141,11 @@ Item { function setDistance(distance) { root.distance = distance; - console.log("Distance changed to: ", distance); + let distance_f = distance / 10; + console.log("Distance changed to: ", distance_f); let current_min_reading = Math.max(0, min_thres_input); let effective_max_reading = Math.max(0, max_thres_input) - current_min_reading; - let current_reading = Math.max(0, root.distance - current_min_reading); + let current_reading = Math.max(0, distance_f - current_min_reading); console.log("Current reading is: " + current_reading) console.log("Current min reading is: " + current_min_reading) console.log("Effective max reading is: " + effective_max_reading) diff --git a/requestworker.cpp b/requestworker.cpp index eff8079..be64b2f 100644 --- a/requestworker.cpp +++ b/requestworker.cpp @@ -48,6 +48,7 @@ void RequestWorker::stop() if(timer->isActive()) timer->stop(); stop_timer = true; + qDebug() << "Stopping" << timer->isActive(); } void RequestWorker::makeRequest() @@ -70,11 +71,18 @@ void RequestWorker::requestFinished(QNetworkReply *rep) rep = nullptr; auto now = std::chrono::high_resolution_clock::now(); auto time_diff = std::chrono::duration_cast(now - prev_time); + if(data.size() == 0) { + prev_time = now; + timer->start(); + emit requestFailed(); + emit setStatus("Invalid Response; Resending Request"); + return; + } unsigned int time_in_microseconds = time_diff.count(); QJsonObject jdata = QJsonDocument::fromJson(data).object(); auto data_water_level = jdata["water_level"].toInt(); float water_level = (float) ((float) (data_water_level) / 10.0); - float rate_of_fill = ( float )(water_level - prev_distance) /(float) time_in_microseconds; + float rate_of_fill = ( float )(prev_distance - water_level) /(float) time_in_microseconds; rate_of_fill = rate_of_fill * 1'000'000; int expected_to_fill = (max_height - water_level) / rate_of_fill; if(reply_number == 0) { @@ -87,7 +95,7 @@ void RequestWorker::requestFinished(QNetworkReply *rep) qDebug() << "Got expected to fill: " << expected_to_fill; qDebug() << "Time difference: " << time_in_microseconds; prev_distance = water_level; - emit networkReply(water_level, rate_of_fill, expected_to_fill); + emit networkReply(data_water_level, rate_of_fill, expected_to_fill); if(stop_timer) { setStatus("Timer stopped."); return; diff --git a/requestworker.h b/requestworker.h index 05fbafa..37d0888 100644 --- a/requestworker.h +++ b/requestworker.h @@ -32,7 +32,8 @@ public: void setStatus(const QString &newStatus); signals: - void networkReply(float distance, float rate_of_fill, int expected_to_fill); + void requestFailed(); + void networkReply(int distance, float rate_of_fill, int expected_to_fill); void statusChanged(); public slots: From 99bc9209af266aab2af1652a5360e1ada3d0b0af Mon Sep 17 00:00:00 2001 From: unrealdragon Date: Wed, 12 Aug 2026 14:58:48 +0530 Subject: [PATCH 02/11] Http Version - Fix to calculate the fill rate. --- requestworker.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requestworker.cpp b/requestworker.cpp index be64b2f..649d515 100644 --- a/requestworker.cpp +++ b/requestworker.cpp @@ -84,7 +84,7 @@ void RequestWorker::requestFinished(QNetworkReply *rep) float water_level = (float) ((float) (data_water_level) / 10.0); float rate_of_fill = ( float )(prev_distance - water_level) /(float) time_in_microseconds; rate_of_fill = rate_of_fill * 1'000'000; - int expected_to_fill = (max_height - water_level) / rate_of_fill; + int expected_to_fill = (water_level - min_height) / rate_of_fill; if(reply_number == 0) { rate_of_fill = 0; expected_to_fill = 0; From 07bd73bb334b5bfdb3dc639d5cf11a86bd0f0c60 Mon Sep 17 00:00:00 2001 From: unrealdragon Date: Wed, 12 Aug 2026 18:22:15 +0530 Subject: [PATCH 03/11] Http Version - Added Alarm Button. --- CMakeLists.txt | 10 ++--- Main.qml | 105 +++++++++++++++++++++++++++++++++++++--------- echo.mp3 | Bin 0 -> 260014 bytes media.qrc | 5 +++ requestworker.cpp | 59 ++++++++++++++++++++++++++ requestworker.h | 13 +++++- 6 files changed, 165 insertions(+), 27 deletions(-) create mode 100644 echo.mp3 create mode 100644 media.qrc diff --git a/CMakeLists.txt b/CMakeLists.txt index 103c3b1..eff65b6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,13 +3,15 @@ cmake_minimum_required(VERSION 3.16) project(WaterLevelRewrite VERSION 0.1 LANGUAGES CXX) set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_AUTORCC ON) -find_package(Qt6 REQUIRED COMPONENTS Quick) +find_package(Qt6 REQUIRED COMPONENTS Quick Multimedia) qt_standard_project_setup(REQUIRES 6.10) qt_add_executable(appWaterLevelRewrite main.cpp + media.qrc ) qt_add_qml_module(appWaterLevelRewrite @@ -22,11 +24,9 @@ qt_add_qml_module(appWaterLevelRewrite SOURCES configinterface.h configinterface.cpp QML_FILES ConnectButton.qml SOURCES requestworker.h requestworker.cpp + RESOURCES media.qrc ) -# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1. -# If you are developing for iOS or macOS you should consider setting an -# explicit, fixed bundle identifier manually though. set_target_properties(appWaterLevelRewrite PROPERTIES # MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appWaterLevelRewrite MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} @@ -36,7 +36,7 @@ set_target_properties(appWaterLevelRewrite PROPERTIES ) target_link_libraries(appWaterLevelRewrite - PRIVATE Qt6::Quick + PRIVATE Qt6::Quick Qt6::Multimedia ) install(TARGETS appWaterLevelRewrite diff --git a/Main.qml b/Main.qml index 950a2b9..1b6c5fc 100644 --- a/Main.qml +++ b/Main.qml @@ -21,7 +21,8 @@ Window { property int distance_count_thres: 3 property string mode: "http" property string status: "Initializing" - + property string alarm_status_text: "" + property var root_config: ({}) Rectangle { anchors.fill: parent @@ -91,11 +92,13 @@ Window { max_thres_input: 0 } + Text { - id: status - text: root.status + id: alarm_status + text: root.alarm_status_text + visible: (root.alarm_status_text.length > 0 ) ? true : false anchors { - bottom: connect_button.top + bottom: status.top bottomMargin: 20 horizontalCenter: parent.horizontalCenter } @@ -104,32 +107,90 @@ Window { font.pointSize: root.font_normal_text_size } - ConnectButton { - id: connect_button + Text { + id: status + text: root.status + anchors { + bottom: button_base.top + bottomMargin: 20 + horizontalCenter: parent.horizontalCenter + } + horizontalAlignment: Text.AlignHCenter + color: root.accent_color + font.pointSize: root.font_normal_text_size + } + + Rectangle { + id: button_base + color: "#00000000" + width: parent.width / 1.5 height: parent.height / 20 - width: parent.width / 4 - font_color: root.accent_color - font_enlarged_text_size: root.font_enlarged_text_size - font_normal_text_size: root.font_normal_text_size - color: root.background_color - accent_color: root.accent_color anchors { horizontalCenter: parent.horizontalCenter bottom: parent.bottom bottomMargin: 50 } - onConnect: { - if(connect_button.mode === 0) - { - requester.start(); - root.status = "Waiting to Send."; + ConnectButton { + id: connect_button + width: parent.width / 2.1 + height: parent.height + font_color: root.accent_color + font_enlarged_text_size: root.font_enlarged_text_size + font_normal_text_size: root.font_normal_text_size + color: root.background_color + accent_color: root.accent_color + anchors { + left: parent.left + leftMargin: 5 + bottom: parent.bottom + bottomMargin: 5 } - else { - root.status = "Stopped."; - requester.stop(); + onConnect: { + if(connect_button.mode === 0) + { + requester.start(); + root.status = "Waiting to Send."; + } + else { + root.status = "Stopped."; + requester.stop(); + } } } + + ConnectButton { + id: start_alarm + width: parent.width / 2.1 + height: parent.height + font_color: root.accent_color + font_enlarged_text_size: root.font_enlarged_text_size + font_normal_text_size: root.font_normal_text_size + color: root.background_color + accent_color: root.accent_color + text: "Start Alarm" + text2: "Stop Alarm" + anchors { + left: connect_button.right + leftMargin: 10 + bottom: parent.bottom + bottomMargin: 5 + } + onConnect: { + if(start_alarm.mode === 0) + { + requester.startAlarm(); + root.alarm_status_text = "Started Alarm; Waiting for Trigger: " + root.root_config.alert + "%" + } + else { + requester.stopAlarm(); + root.alarm_status_text = ""; + } + } + } + } + + } RequestWorker { @@ -162,6 +223,10 @@ Window { function setConfig(config) { tank.setConfig(config); requester.setConfig(config); + root.root_config = config; } } + onClosing: { + requester.stopAlarm(); + } } diff --git a/echo.mp3 b/echo.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..4373d95b8e589c822768b7332ba5baa413d9f696 GIT binary patch literal 260014 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Á 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

aM%HWXseM2PGP4U zvUHwRCjN3ZD!CM@y6<;e$>-|}LY2h+Ptd*lf1%u~`eV02rCc%Zq<(ql$<|R0PR&0` zb5=~_mZ|6B$z9qg*8lM28pQ+gzoT`_Q(f4?zKSFjifP$!@KjuQDz?BvV&+{9lN%cY zgO0mdDc2wMOIs%3bkY3}J5S2@#};PF%+9Z3T=HSgXUYVHp$rVsaHS0omH6|-J$$F zF#X;01+Tfeu2%Kde?Jkw{QqCh-xagBR$1F}ubbGw7}db|YLX4tgMF&Y{DMnkj7+~p zW!zZwKC6A!SN+%C?js+<4* z{}Pt~1?k-0N$h`B_g!*b@nU}ZZV}e$d8W?y|F{0DdLDanrOqy=bC1tUAGx>S5pQE( zSKh}mS#il_y6pFKMW!yBS$0dg>N3YEMH7!6zuoGG+Lt^j@Y6Ne6?jeWN_T-@z}ze4 z>hb^oO<)UQ5UAv0U@mgIz_^7YK++;ZQ=_D(DCR@f$G6{|O6EPgy2Fo&k~}e}>*@0=XBs&} zfB0t3DV=|3f7#oYp)5WeqV8hF>``|U6(ao-MeI!EoX=*iW>A{K<(Ok!^Li`qrDu!& zmOrz4X5Fjw`u`(M)@gg>tlvDDdzeY^mNz4V#m1POlQ-R1s-D^O*Us(qzKHK@O4Mhc zlyJCeXpzLLw)oYxAfd2dsl9T`6kbh``~UyMyk-~97q8|79SRiCV=-w~$Ml{bX{Nha{l ziN3OJqL;p1|6}_}K@q1`%==wh|NZ@2Z$^LTcTU%RzSP?^xowl=mAbznEhTXho8hCE zzoHBtuG89Y^D`uPduY>&EpLr@d?wVy{n#G+yMMCsw|eC(xuy&*rx=y1@9zqg(?2<< zaF*9QL62&?O*~u@KAsyTJG6t|8E&=_IRc8IEse}cwnw;QoE}&!|BSWKYUN(hDsXn@ zB!}<(3y-c@^QcbaRp<@YVsOiW7!K27#9Q@x%U};J{ql= z{r}_ob@O!>&3_ZE?<*F&>-*FQCM^ec%_--%YIt>SFBa_(V$5J(GJR{}hl?A2gw}cg z@3?$%;fnPuX4~)Juyrq7(6VS(R>)2U&eA-Yu;BbJ_5Z)szqo(-|0OR5LG?$Cs=}Pj z5?^Oq^qO%tJa%?C;4JTUie=I=osjp}7PRr2%x4#z7q@lSN&Svl7a2D^j5?pY;q2S* zu4lj2bmSBU-M{(b>g!ySoL_n`UGM)|{(tMeT~>??0u0?>PY2GJV>JET%>LW5UM^SL z*#ulxT=-S+-SX()$#Wax40u-_SrvZ8py$MyrD`|o3fHZAz-<3l{#*Um`hWNCpZPtN zLDPZZNO+NB>wy(ZZgMj_dkD66CokD-IaP-7?#2#gmj#Oj1aIXZxvjZ?Yf`vszHRk= z%SM~?aki5J%=X96^1ps2|M{%)|0ng|s|)5^O?~`id-e7IKXmdNnb<$ni2s`%TMLSz zOFY7?3P(0uXDx7Z{xL0I)q?9yGoR1fjDrIFiw!4E<0yOE^x*&hf80Oh5B~pn?El9@ z%oiARkM3J_W}(?>M#Vtm4LNa6X6!DriX~!Nzerk@EmK-+sv>8yZ9-Sn(>Rwomh;+f zN_4rsaagECgq#@(2{yul>YD-hLVJW(6iaORZ@OI?u+x-j-#wXjSdC1?hn+t{+<*-;?G%{n@fR z|IS~S^}2HXip*8p*Uze&wNI`c6hrTOnY*$MZtfQe@P1<9mhWr9Goh8oH@D-UV*kUL zD`p;;I*p&H{(5kD^w;abX4gUsnRs0z3={+nxfu>AY*uSENHFCyUQlw>_m;ZPlT#x9 z|M&9L-``y}{rzw5wiVA3Pu$vXW4PGx>_zdvLMr|*cN%iZJ!HzS{{8*$-QUqy7OESt zaq+~|pLBf2o;*W9O@hbZLJQX(!G;O*Y|WWEd7>t>w>dosmgp3@_V}QnQD&H;zo*Z~ z?1*VInt%4buDWKre}Aw28h`7#L(0 zb24y=<~8~FIB)l02ysw5u~tGxXTpI+76zu?QarhJ`tOy6WX>{gsc20($Qp7u@qvR9 zhx+CHm-j!PAL$=jAQc&UB{WCG*UMv~daHm_tx9%*q{t+#i&ZbcH+cQ*4Nd+2x8;=gM|O$@^`5ZLyobLECH9(K(k|FR2D>I%DfT<*^L2 zQ}6K`QlSmAQXZOn&k!id|In(`=I+6C=y&k5MW3Fqht(N=;bhPfTbOf&OEmN1n*Q=s zp&%~nm*&&v8&>$VLmzQmtDEE?eLOytAjWKVdtYwdPL?BYc8fk@4{`_)iOaj?suL1+ zF8!GH^ZPq*+uaH`i8^+BCCBz!j_W-PItv*7dPF!p_2TJwzREB=j47D+OW2MhJ1$zu zb#NQ{d_k* z8ckr`YWOx<<=*w5F`BFTCHi8R1CHhJykPk(uch8C(8}mnF)`-+$&TSE+%KY^WS#bGilMRSJrRCJyu4EwWluKvM9!N zRp*os+eK2Btp^8epn|3{3Y+xgR@eH&XZtT>X; z$8+h=QbpmShi$M$^HJzwjr8i*%s&=nd7nahv?s_X=`6Cxpe!uYW`PybMd6 zHZ;tz={+$yQBW!%lk3Ff8y^+Z73^4FiQM)*2s;1o6|bfzkYjNLb z=JUzyIM_U4k>r{g4_X)`tRFd-zGPsq^HlL*T{3UQ84pPf=a$AWQ!Psd{RFAwy;J(- z73yDK@`(C4p_rFd&_jnq`6y@Y`J$S-b&_{2UY1Cxw zNZLmZdx0;DR%k^mXps{&v@n+}+&HOURVhrUZ?kr@!=hehB@51l0VlLvPl%cZE>7?0 z$^ZX9V1mw7&c;L~Mwi!CtO483Ok_}Ku5IN||F?;`LPMs{ zXBxxx@Jasw4DoHis|Iz=<8~%XJ}xsNbwU-w1@e&q{|_u$m+DL*a1wvb_S=#I6b?U@b_jhC3pl?ySM29~^1nUMLi za+**7jG)=wsVYf(ciozG?#{)?6)$(D&fWDgtm)xO+bEkl70sZs`rniHtaMQ2%ighe z!!(b$!?H(W4likXm49jvyN{LS?kVdgzn$v3hdtbUjs4dzTzM^(yJHh;gKoy%YSp;% z!A@6*qhmpdPuiqg4xGV;N>#DnV~r0s9%p_c#*ipHE&a{v2_H^WWvtX+^xN(CKQ<Kx`Le=dBT@&^O<*Yx)u;t}NrbU99M$AdhA=7F_>n3Pj(G$|MIPt_tld~Kz@mICE~C5kzKw?`yxw?X%Z0fn|Gz{YSo`7{`Qq0pF+Wj57U?B=;vago&P)6q_u%T$jaKx!9#_Ig}uWaaq6i_j&Ygw1+Avkt6}Xg?0vuFT)lQ%?YDYOV!&PFnez*R8GTMM z%6f2UGBNs9>;=<=7&5R-0*$+Nu^e)bdX$V0T$+*cZl84{ zhBPb$7OrMF+Y@n0+BD(m_AX67n=>qnYR_6cYTuQf6{d6|+WO1{-LyoLGlzt8oW&(M ztO~`~-quf+&)>Wsbe_on-(og(&m21R{`TzU`Cm8dZ{5ePj;SXe=PsOnR7EL><1E9T zN9TFJOt!nXxq0sM`x%e=pKezXJGwY{afW~x7n{r^HsKpt6XslJIs8g^O_FLy+XtQv z)8b_u(p7e^c-T7U{rBJV-u~V<+pqqL!UTqnl>s}MOs}MRUFYIg33s>>%fXbmu~5<7 zQtN^Wb>?Em2}bHbj*zT3A}SBb-!J@&eq>|Wow`T;wJLe`>$$U4PP~>v$f3Vv+VOCbZR(}?jh06_77Ipjo|9`6GRejPq zZckn96mGBDpeB}!>{-`T5Pu;lx?hQD&Jj@4H-X>xOmoo98k z`vy8)F6C1LtGDN&$@wM;;VG70k}tK+_Nt5PE{OsSZC`DiCvg9h{lW06tf`AmtWSSc z`TqaJh=#6}SMG_wwDGYK*snI5!|%?Kr8W}}sPjy@?4Y1o^NEwgFY?GX-4h{&1}lX4 zm+p$#7E=AG`MpMnEkmdO>!|LQpbJkw-Lw1u|Hc3R-(URyfA8A=Kj2Mpx~D|~TbLJ! zx?JE`tnk8DgqPn}#PNd6XAoqrwdy?k)*<_{(i~X>neHE%ym8Sw+PeQ4V%g^ZcqwcD zq^A4-#Qp!=l#Z{THg&2uw_W7_KV5GB|4*z}60BGLDgXcf$1CX{ucS$yR1gT7?bBrJ z8M&p;(09{=_3o0XrXOXQKLFSEj(6>8H)7>{hEZ)P=s#e-GHRVWSqNWp<$+efs-+Wtkzq5bRC7P&z_rIoj{k!n0 z=t7+(3m09_`0M@mZ1rCUKh z6Q->8RZ3mN%dI>$`dpJ|@GN&OWtQ!at+awZ+iz_3iVHi{s%3L+weo6d=d5GD|Ns9b zt#fnA&M8|{bY)AY_WZeJzcT;N0;SN zDIqh~vp&3k{7muEzqMO+4hGCC&_dMxtLO(njqPVWP3t+fNxqa23VbN`l1I(ZyK>SN zXO7CwfLYU18h8)V&ozV4rU8i+ + + echo.mp3 + + diff --git a/requestworker.cpp b/requestworker.cpp index 649d515..c02ea40 100644 --- a/requestworker.cpp +++ b/requestworker.cpp @@ -3,6 +3,7 @@ #include #include #include +#include RequestWorker::RequestWorker(QObject *parent) : QObject{parent} @@ -16,11 +17,13 @@ void RequestWorker::setConfig(QJsonObject config) this->interval = config["interval"].toInt(); this->max_height = config["max"].toInt(); this->min_height = config["min"].toInt(); + this->alarm_thres = config["alert"].toInt(); qDebug() << "In cpp config values are: "; qDebug() << "Url: " << url; qDebug() << "Interval: " << interval; qDebug() << "Max Height: " << max_height; qDebug() << "Min Height: " << min_height; + qDebug() << "Alert: " << alarm_thres; } void RequestWorker::start() @@ -51,6 +54,34 @@ void RequestWorker::stop() qDebug() << "Stopping" << timer->isActive(); } +void RequestWorker::playAlarm() +{ + if(player_started) + return; + if(player) { + player->deleteLater(); + player = nullptr; + } + if(audioOutput) { + audioOutput->deleteLater(); + audioOutput->deleteLater(); + } + qDebug() << "Loading player"; + player = new QMediaPlayer(this); + audioOutput = new QAudioOutput(this); + player->setAudioOutput(audioOutput); + if (QFile::exists(":/sounds/echo.mp3")) { + qDebug() << "Resource found successfully!"; + } else { + qDebug() << "Resource not found. Check CMakeLists.txt or .pro file!"; + } + player->setSource(QUrl("qrc:/sounds/echo.mp3")); + audioOutput->setVolume(0.5); + connect(this, &RequestWorker::playMedia, player, &QMediaPlayer::play); + player_started = true; + emit playMedia(); +} + void RequestWorker::makeRequest() { if(stop_timer) @@ -85,6 +116,13 @@ void RequestWorker::requestFinished(QNetworkReply *rep) float rate_of_fill = ( float )(prev_distance - water_level) /(float) time_in_microseconds; rate_of_fill = rate_of_fill * 1'000'000; int expected_to_fill = (water_level - min_height) / rate_of_fill; + int percentage_filled = (float (max_height - water_level) / float (max_height)) *100; + if(enable_alarm) { + qDebug() << "Alarm enabled"; + if(percentage_filled >= alarm_thres) { + playAlarm(); + } + } if(reply_number == 0) { rate_of_fill = 0; expected_to_fill = 0; @@ -93,6 +131,7 @@ void RequestWorker::requestFinished(QNetworkReply *rep) qDebug() << "Got water level: " << water_level; qDebug() << "Got rate of fill: " << rate_of_fill; qDebug() << "Got expected to fill: " << expected_to_fill; + qDebug() << "Percentage filled: " << percentage_filled; qDebug() << "Time difference: " << time_in_microseconds; prev_distance = water_level; emit networkReply(data_water_level, rate_of_fill, expected_to_fill); @@ -118,3 +157,23 @@ void RequestWorker::setStatus(const QString &newStatus) m_status = newStatus; emit statusChanged(); } + +void RequestWorker::startAlarm() +{ + enable_alarm = true; +} + +void RequestWorker::stopAlarm() +{ + enable_alarm = false; + player_started = false; + if(player) { + player->stop(); + player->deleteLater(); + player = nullptr; + } + if(audioOutput) { + audioOutput->deleteLater(); + audioOutput = nullptr; + } +} diff --git a/requestworker.h b/requestworker.h index 37d0888..f78e3a6 100644 --- a/requestworker.h +++ b/requestworker.h @@ -6,6 +6,8 @@ #include #include #include +#include +#include #include #include #include @@ -24,10 +26,14 @@ class RequestWorker : public QObject int min_height = 0; bool stop_timer = false; int reply_number = 0; + int alarm_thres = 0; + bool enable_alarm = false; + bool player_started = false; + QMediaPlayer *player = nullptr; + QAudioOutput *audioOutput = nullptr; std::chrono::time_point prev_time; public: explicit RequestWorker(QObject *parent = nullptr); - QString status() const; void setStatus(const QString &newStatus); @@ -35,12 +41,15 @@ signals: void requestFailed(); void networkReply(int distance, float rate_of_fill, int expected_to_fill); void statusChanged(); - + void playMedia(); public slots: + void startAlarm(); + void stopAlarm(); void setConfig(QJsonObject config); void start(); void stop(); private slots: + void playAlarm(); void makeRequest(); void requestFinished(QNetworkReply *rep); private: From 1d999f6c33a805b7b2667e37ac82f5d8172c0656 Mon Sep 17 00:00:00 2001 From: unrealdragon Date: Wed, 12 Aug 2026 18:32:45 +0530 Subject: [PATCH 04/11] Http Version - Alarm now loops and UI status message spacing changed. --- Main.qml | 4 ++-- requestworker.cpp | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Main.qml b/Main.qml index 1b6c5fc..8c2a35f 100644 --- a/Main.qml +++ b/Main.qml @@ -99,7 +99,7 @@ Window { visible: (root.alarm_status_text.length > 0 ) ? true : false anchors { bottom: status.top - bottomMargin: 20 + bottomMargin: 10 horizontalCenter: parent.horizontalCenter } horizontalAlignment: Text.AlignHCenter @@ -128,7 +128,7 @@ Window { anchors { horizontalCenter: parent.horizontalCenter bottom: parent.bottom - bottomMargin: 50 + bottomMargin: 30 } ConnectButton { id: connect_button diff --git a/requestworker.cpp b/requestworker.cpp index c02ea40..983c554 100644 --- a/requestworker.cpp +++ b/requestworker.cpp @@ -69,6 +69,7 @@ void RequestWorker::playAlarm() qDebug() << "Loading player"; player = new QMediaPlayer(this); audioOutput = new QAudioOutput(this); + player->setLoops(QMediaPlayer::Loops::Infinite); player->setAudioOutput(audioOutput); if (QFile::exists(":/sounds/echo.mp3")) { qDebug() << "Resource found successfully!"; From ca73f70b63f8b80ffb1d3d2238ff1623d7de1f89 Mon Sep 17 00:00:00 2001 From: unrealdragon Date: Sun, 16 Aug 2026 21:39:28 +0530 Subject: [PATCH 05/11] Http Version - Alarm seems to not work on android also added env variables to disable android system scaling. --- main.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/main.cpp b/main.cpp index c438cd2..87ac2c0 100644 --- a/main.cpp +++ b/main.cpp @@ -3,8 +3,11 @@ int main(int argc, char *argv[]) { + qputenv("QT_SCALE_FACTOR", "1.0"); + qputenv("QT_SCALE_FACTOR_ROUNDING_POLICY", "Round");qputenv("QT_SCALE_FACTOR_ROUNDING_POLICY", "Round"); QGuiApplication app(argc, argv); + QQmlApplicationEngine engine; QObject::connect( &engine, From b8201398e19a8be283acb0962349406c4f617b22 Mon Sep 17 00:00:00 2001 From: unrealdragon Date: Mon, 14 Sep 2026 15:31:21 +0530 Subject: [PATCH 06/11] Added a text to display wifi status. --- CMakeLists.txt | 50 ++++++++++++++++++-------- Main.qml | 25 +++++++++++++ SettingsPopup.qml | 2 +- WaterTank.qml | 12 +++++++ android/AndroidManifest.xml | 61 ++++++++++++++++++++++++++++++++ main.cpp | 2 +- requestworker.cpp | 36 ++++++++++++++++++- requestworker.h | 10 ++++++ wifihelper.cpp | 70 +++++++++++++++++++++++++++++++++++++ wifihelper.h | 17 +++++++++ 10 files changed, 267 insertions(+), 18 deletions(-) create mode 100644 android/AndroidManifest.xml create mode 100644 wifihelper.cpp create mode 100644 wifihelper.h diff --git a/CMakeLists.txt b/CMakeLists.txt index eff65b6..55fd9f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,38 +5,58 @@ project(WaterLevelRewrite VERSION 0.1 LANGUAGES CXX) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_AUTORCC ON) -find_package(Qt6 REQUIRED COMPONENTS Quick Multimedia) +find_package(Qt6 REQUIRED COMPONENTS Gui Core Quick Multimedia) qt_standard_project_setup(REQUIRES 6.10) +if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/importedcontent/CMakeLists.txt") + add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/importedcontent) +endif() + qt_add_executable(appWaterLevelRewrite main.cpp - media.qrc ) qt_add_qml_module(appWaterLevelRewrite URI WaterLevelRewrite QML_FILES Main.qml - QML_FILES WaterTank.qml - QML_FILES SettingsBarIcon.qml - QML_FILES SettingsPopup.qml - SOURCES configinterface.h configinterface.cpp - QML_FILES ConnectButton.qml - SOURCES requestworker.h requestworker.cpp - RESOURCES media.qrc + WaterTank.qml + SettingsBarIcon.qml + SettingsPopup.qml + ConnectButton.qml + SOURCES + configinterface.h + configinterface.cpp + requestworker.h + requestworker.cpp + wifihelper.h + wifihelper.cpp + RESOURCES + media.qrc ) +if(APPLE) + set_target_properties(appWaterLevelRewrite PROPERTIES + # MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appWaterLevelRewrite + MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} + MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} + MACOSX_BUNDLE TRUE + ) +endif() + +if(WIN32) + set_target_properties(appWaterLevelRewrite PROPERTIES + WIN32_EXECUTABLE TRUE + ) +endif() + set_target_properties(appWaterLevelRewrite PROPERTIES -# MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appWaterLevelRewrite - MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} - MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} - MACOSX_BUNDLE TRUE - WIN32_EXECUTABLE TRUE + QT_ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android" ) target_link_libraries(appWaterLevelRewrite - PRIVATE Qt6::Quick Qt6::Multimedia + PRIVATE Qt6::Quick Qt6::Multimedia Qt6::Gui Qt6::Core ) install(TARGETS appWaterLevelRewrite diff --git a/Main.qml b/Main.qml index 8c2a35f..b3be173 100644 --- a/Main.qml +++ b/Main.qml @@ -14,6 +14,7 @@ Window { property color dark_accent_color: "#FF5F7F5F" property color danger_color: "#F0AF2F1F" property color water_color: "#F00F7FAF" + property color water_color_above_alert: "#F00FAF0F" property color background_color: "#1F1F1F" Material.accent: root.accent_color property int font_enlarged_text_size: 20 @@ -21,6 +22,7 @@ Window { property int distance_count_thres: 3 property string mode: "http" property string status: "Initializing" + property string connection_text_string: "Reading WiFi Status..." property string alarm_status_text: "" property var root_config: ({}) @@ -73,6 +75,19 @@ Window { } } + Text { + id: connection_text + anchors { + top: top_bar.bottom + topMargin: 20 + bottom: tank.top + horizontalCenter: parent.horizontalCenter + } + text: root.connection_text_string + color: root.accent_color + font.pointSize: root.font_normal_text_size + } + WaterTank { id: tank anchors { @@ -207,6 +222,16 @@ Window { onRequestFailed: () => { status.color = root.danger_color; } + + onConnectionText: (text, error) => { + root.connection_text_string = text + if(!error) { + connection_text.color = root.accent_color + } + else { + connection_text.color = root.danger_color + } + } } ConfigInterface { diff --git a/SettingsPopup.qml b/SettingsPopup.qml index 41f5cc7..b62624f 100644 --- a/SettingsPopup.qml +++ b/SettingsPopup.qml @@ -107,7 +107,7 @@ Popup { Text { id: alert_thres_label - text: "Alert Percentage: " + text: "Alert Threshold: " anchors { topMargin: 20 top: min_thres_label.bottom diff --git a/WaterTank.qml b/WaterTank.qml index dc264f1..6e20cb1 100644 --- a/WaterTank.qml +++ b/WaterTank.qml @@ -9,6 +9,7 @@ Item { property color tank_lid_color: "#F0121212" property color tank_base_color: "#00FFFFFF" property color water_level_color: "#F00F7FAF" + property color water_color_above_alert: "#F00FAF0F" property color tank_base_border_color: "#F0121212" property color text_color: "#F05FAF5F" property double height_max: tank_base.height - 10 @@ -19,6 +20,7 @@ Item { property double max_thres_input: 0 property double rate_of_fill: 0 property double expected_to_fill: 0 + property double alert_threshold: 0 Rectangle { id: base @@ -137,6 +139,7 @@ Item { function setConfig(config: var) { min_thres_input = config.min; max_thres_input = config.max; + alert_threshold = config.alert; } function setDistance(distance) { @@ -156,8 +159,17 @@ Item { console.log("Current reading is: " + current_reading) console.log("Normalized height is: " + normalized_height) console.log("Percentage filled is: " + percentage_filled) + console.log("Alert threshold is: " + root.alert_threshold) + console.log("Is level above alert threshold: " + (distance_f <= root.alert_threshold)) root.current_level = normalized_height; root.percentage_filled = percentage_filled; + + if(distance_f <= root.alert_threshold) { + water_level.color = water_color_above_alert + } + else { + water_level.color = water_level_color + } } } diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml new file mode 100644 index 0000000..2598885 --- /dev/null +++ b/android/AndroidManifest.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/main.cpp b/main.cpp index 87ac2c0..ecedbf4 100644 --- a/main.cpp +++ b/main.cpp @@ -4,7 +4,7 @@ int main(int argc, char *argv[]) { qputenv("QT_SCALE_FACTOR", "1.0"); - qputenv("QT_SCALE_FACTOR_ROUNDING_POLICY", "Round");qputenv("QT_SCALE_FACTOR_ROUNDING_POLICY", "Round"); + qputenv("QT_SCALE_FACTOR_ROUNDING_POLICY", "Round"); QGuiApplication app(argc, argv); diff --git a/requestworker.cpp b/requestworker.cpp index 983c554..c13d223 100644 --- a/requestworker.cpp +++ b/requestworker.cpp @@ -8,7 +8,16 @@ RequestWorker::RequestWorker(QObject *parent) : QObject{parent} { - +#ifdef Q_OS_ANDROID + wifi = new WiFiHelper(this); + connect(wifi, &WiFiHelper::ssidRetrieved, this, &RequestWorker::gotWiFiSSID); + poll_wifi = new QTimer(this); + poll_wifi->setInterval(3000); + poll_wifi->setSingleShot(false); + connect(poll_wifi, &QTimer::timeout, this, &RequestWorker::pollWiFi); + wifi->requestPermissionsAndFetch(); + poll_wifi->start(); +#endif } void RequestWorker::setConfig(QJsonObject config) @@ -54,6 +63,31 @@ void RequestWorker::stop() qDebug() << "Stopping" << timer->isActive(); } +void RequestWorker::pollWiFi() +{ +#ifdef Q_OS_ANDROID + if(wifi) { + wifi->requestPermissionsAndFetch(); + } +#endif +} + +void RequestWorker::gotWiFiSSID(QString ssid) +{ + if(ssid.length() > 0 && ssid != "Permission Denied" && ssid != "") { + emit connectionText("WiFi connected: " + ssid); + } + else if(ssid.length() == 0) { + emit connectionText("WiFi might not be connected", true); + } + else if(ssid != "") { + emit connectionText("Failed to query wifi info", true); + } + else { + emit connectionText("WiFi disconnected", true); + } +} + void RequestWorker::playAlarm() { if(player_started) diff --git a/requestworker.h b/requestworker.h index f78e3a6..6a87bbb 100644 --- a/requestworker.h +++ b/requestworker.h @@ -11,6 +11,9 @@ #include #include #include +#ifdef Q_OS_ANDROID +#include "wifihelper.h" +#endif class RequestWorker : public QObject { @@ -31,6 +34,10 @@ class RequestWorker : public QObject bool player_started = false; QMediaPlayer *player = nullptr; QAudioOutput *audioOutput = nullptr; +#ifdef Q_OS_ANDROID + WiFiHelper *wifi = nullptr; + QTimer *poll_wifi = nullptr; +#endif std::chrono::time_point prev_time; public: explicit RequestWorker(QObject *parent = nullptr); @@ -42,6 +49,7 @@ signals: void networkReply(int distance, float rate_of_fill, int expected_to_fill); void statusChanged(); void playMedia(); + void connectionText(QString text, bool errored = false); public slots: void startAlarm(); void stopAlarm(); @@ -49,6 +57,8 @@ public slots: void start(); void stop(); private slots: + void pollWiFi(); + void gotWiFiSSID(QString ssid); void playAlarm(); void makeRequest(); void requestFinished(QNetworkReply *rep); diff --git a/wifihelper.cpp b/wifihelper.cpp new file mode 100644 index 0000000..739a9dd --- /dev/null +++ b/wifihelper.cpp @@ -0,0 +1,70 @@ +#include "wifihelper.h" +#include +#include +#include +#include + +WiFiHelper::WiFiHelper(QObject *parent) + : QObject{parent} +{ + +} + +QString WiFiHelper::getWifiSsid() { + // Get Android application context in Qt 6 + QJniObject context = QNativeInterface::QAndroidApplication::context(); + if (!context.isValid()) return QString(); + + // Get WifiManager service + QJniObject wifiService = QJniObject::fromString("wifi"); + QJniObject wifiManager = context.callObjectMethod( + "getSystemService", + "(Ljava/lang/String;)Ljava/lang/Object;", + wifiService.object() + ); + if (!wifiManager.isValid()) return QString(); + + // Fetch WifiInfo + QJniObject wifiInfo = wifiManager.callObjectMethod( + "getConnectionInfo", + "()Landroid/net/wifi/WifiInfo;" + ); + if (!wifiInfo.isValid()) return QString(); + + // Get SSID string + QJniObject ssidJni = wifiInfo.callObjectMethod( + "getSSID", + "()Ljava/lang/String;" + ); + if (!ssidJni.isValid()) return QString(); + + QString ssid = ssidJni.toString(); + + // Android returns SSIDs wrapped in double quotes (e.g., "\"MyWiFi\"") + if (ssid.startsWith('"') && ssid.endsWith('"') && ssid.length() > 1) { + ssid = ssid.mid(1, ssid.length() - 2); + } + + return ssid; +} + +void WiFiHelper::requestPermissionsAndFetch() { + QLocationPermission locationPermission; + locationPermission.setAccuracy(QLocationPermission::Accuracy::Precise); + Qt::PermissionStatus status = qApp->checkPermission(locationPermission); + + if (status == Qt::PermissionStatus::Granted) { + emit ssidRetrieved(getWifiSsid()); + } else { + qDebug() << "Requesting permission."; + qApp->requestPermission(locationPermission, this, [this](const QPermission &permission) { + if (permission.status() == Qt::PermissionStatus::Granted) { + qDebug() << "Requested permission and got ssid"; + emit ssidRetrieved(getWifiSsid()); + } else { + qDebug() << "Failed to get WiFi SSID due to denied permission."; + emit ssidRetrieved("Permission Denied"); + } + }); + } +} diff --git a/wifihelper.h b/wifihelper.h new file mode 100644 index 0000000..ab10632 --- /dev/null +++ b/wifihelper.h @@ -0,0 +1,17 @@ +#ifndef WIFIHELPER_H +#define WIFIHELPER_H + +#include + +class WiFiHelper : public QObject +{ + Q_OBJECT +public: + explicit WiFiHelper(QObject *parent = nullptr); + Q_INVOKABLE QString getWifiSsid(); + Q_INVOKABLE void requestPermissionsAndFetch(); + +signals: + void ssidRetrieved(const QString &ssid); +}; +#endif // WIFIHELPER_H From 93995959d01d0de275a517f9c89e687ce81cef69 Mon Sep 17 00:00:00 2001 From: unrealdragon Date: Wed, 23 Sep 2026 17:36:00 +0530 Subject: [PATCH 07/11] QoL Fixes and Changes --- CMakeLists.txt | 3 + ColorInput.qml | 21 ++ CustomCheckBox.qml | 17 + Main.qml | 155 ++++++++- RequestResponsePopup.qml | 30 ++ SettingsBarIcon.qml | 5 +- SettingsPopup.qml | 660 +++++++++++++++++++++++++++++---------- WaterTank.qml | 147 +++++---- configinterface.cpp | 7 + configinterface.h | 2 + requestworker.cpp | 99 +++++- requestworker.h | 9 +- wifihelper.cpp | 7 + 13 files changed, 919 insertions(+), 243 deletions(-) create mode 100644 ColorInput.qml create mode 100644 CustomCheckBox.qml create mode 100644 RequestResponsePopup.qml diff --git a/CMakeLists.txt b/CMakeLists.txt index 55fd9f6..957c9c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,6 +34,9 @@ qt_add_qml_module(appWaterLevelRewrite wifihelper.cpp RESOURCES media.qrc + QML_FILES CustomCheckBox.qml + QML_FILES RequestResponsePopup.qml + QML_FILES ColorInput.qml ) if(APPLE) diff --git a/ColorInput.qml b/ColorInput.qml new file mode 100644 index 0000000..a4cebe7 --- /dev/null +++ b/ColorInput.qml @@ -0,0 +1,21 @@ +import QtQuick +import QtQuick.Effects +import QtQuick.Controls +import QtQuick.Controls.Material + +TextField { + id: color_text + text: "F05FAF5F" + property alias color_text: base.color + Rectangle { + id: base + anchors { + right: parent.right + rightMargin: 10 + verticalCenter: parent.verticalCenter + } + width: 10 + height: parent.height / 2 + color: "#" + color_text.text + } +} diff --git a/CustomCheckBox.qml b/CustomCheckBox.qml new file mode 100644 index 0000000..0cdbb38 --- /dev/null +++ b/CustomCheckBox.qml @@ -0,0 +1,17 @@ +import QtQuick +import QtQuick.Controls.Basic + +CheckBox { + id: control + property color font_color: "#0000FF00" + property int font_point_size: 22 + font.pointSize: font_point_size + checked: true + contentItem: Text { + text: control.text + font: control.font + color: control.font_color + verticalAlignment: Text.AlignVCenter + leftPadding: control.indicator.width + control.spacing + } +} diff --git a/Main.qml b/Main.qml index b3be173..2cfde8a 100644 --- a/Main.qml +++ b/Main.qml @@ -5,8 +5,8 @@ import QtQuick.Controls import QtQuick.Controls.Material Window { - width: 640 - height: 1080 + width: 960 + height: 1400 visible: true title: qsTr("Water Level Rewrite") id: root @@ -24,12 +24,36 @@ Window { property string status: "Initializing" property string connection_text_string: "Reading WiFi Status..." property string alarm_status_text: "" + property double water_tank_height_factor: 1.3 + property double water_tank_width_factor: 2 property var root_config: ({}) + property var base_config: { + "max": 0, + "min": 0, + "alert": 0, + "interval": 0, + "url": "none", + "water_tank_width": 2, + "water_tank_height": 1.3, + "rate_of_fill_enable": true, + "current_reading_enable": true, + "percentage_enable": true, + "filling_status_enable": true, + "expected_to_fill_enable": true, + "accent_color": "F05FAF5F", + "dark_accent_color": "FF5F7F5F", + "danger_color": "F0AF2F1F", + "water_color": "F00F7FAF", + "water_color_above_alert": "F00FAF0F", + "background_color": "1F1F1F", + "font_normal_text_size": 16, + "font_enlarged_text_size": 20 + } Rectangle { anchors.fill: parent color: root.background_color - + id: root_rect Rectangle { id: top_bar height: Math.min(root.height / 12, 100) @@ -41,6 +65,7 @@ Window { } color: "#0A0F0F0F" SettingsBarIcon { + id: settings_icon height: top_bar.height - 20 width: height anchors { @@ -57,12 +82,40 @@ Window { settings_popup.open() } } + + SettingsBarIcon { + height: top_bar.height - 20 + width: height + anchors { + top: parent.top + left: parent.left + bottomMargin: 5 + topMargin: 10 + leftMargin: 5 + } + text: "🖹" + color: "#0A0F0F0F" + radius: 100 + accent_color: root.accent_color + onOpen: { + request_response_popup.open() + } + } + } + + RequestResponsePopup { + id: request_response_popup + accent_color: root.accent_color + font_enlarged_text_size: 20 + } SettingsPopup { id: settings_popup accent_color: root.accent_color - font_enlarged_text_size: 20 + background_color: root.background_color + font_enlarged_text_size: root.font_enlarged_text_size + font_normal_text_size: root.font_normal_text_size function setConfig(new_config: var) { settings_popup.config.max = new_config.max settings_popup.config.min = new_config.min @@ -73,6 +126,9 @@ Window { console.log("Saving config: ", config) config_interface.saveConfig(config); } + onDeleteConfig: () => { + config_interface.deleteConfig(); + } } Text { @@ -80,7 +136,6 @@ Window { anchors { top: top_bar.bottom topMargin: 20 - bottom: tank.top horizontalCenter: parent.horizontalCenter } text: root.connection_text_string @@ -91,20 +146,24 @@ Window { WaterTank { id: tank anchors { - top: top_bar.bottom + top: connection_text.bottom horizontalCenter: parent.horizontalCenter - topMargin: 100 + topMargin: 40 } - height: (parent.height - top_bar.height) / 2 - width: parent.width / 2.2 + height: (root_rect.height) / root.water_tank_height_factor + width: root_rect.width / root.water_tank_width_factor base_color: root.background_color distance: 0 tank_lid_color: "#F0121212" tank_base_color: "#0FFFFFFF" - water_level_color: "#F00F7FAF" + water_level_color: root.water_color tank_base_border_color: "#F0121212" + water_color_above_alert: root.water_color_above_alert min_thres_input: 0 max_thres_input: 0 + text_color: root.accent_color + font_normal_text_size: root.font_normal_text_size + font_enlarged_text_size: root.font_enlarged_text_size } @@ -194,7 +253,7 @@ Window { if(start_alarm.mode === 0) { requester.startAlarm(); - root.alarm_status_text = "Started Alarm; Waiting for Trigger: " + root.root_config.alert + "%" + root.alarm_status_text = "Started Alarm; Waiting for Trigger: " + root.root_config.alert } else { requester.stopAlarm(); @@ -213,14 +272,16 @@ Window { onStatusChanged: () => { root.status = requester.status; } - onNetworkReply: (water_level, fill_rate, expected) => { + onNetworkReply: (water_level, fill_rate, expected, data) => { tank.setDistance(water_level); tank.rate_of_fill = fill_rate; tank.expected_to_fill = expected; status.color = root.accent_color; + request_response_popup.request_response_string = data; } - onRequestFailed: () => { + onRequestFailed: (data) => { status.color = root.danger_color; + request_response_popup.request_response_string = data; } onConnectionText: (text, error) => { @@ -238,17 +299,83 @@ Window { id: config_interface fileName: "config.json" onConfig: (config) => { - settings_popup.config = config + settings_popup.config = config; console.log("Loading initial config"); setConfig(config); if(root.status === "Initializing") { root.status = "Press Connect."; } } + onConfigDeleted: () => { + let config = base_config; + settings_popup.config = config; + console.log("Loading initial config"); + setConfig(config); + if(root.status === "Initializing") { + root.status = "Press Connect."; + } + } + function setConfig(config) { tank.setConfig(config); requester.setConfig(config); root.root_config = config; + if(config.water_tank_height === undefined) { + config.water_tank_height = 2 + } + if(config.water_tank_width === undefined) { + config.water_tank_width = 2.2 + } + if(config.rate_of_fill_enable === undefined) { + config.rate_of_fill_enable = true + } + if(config.current_reading_enable === undefined) { + config.current_reading_enable = true + } + if(config.percentage_enable === undefined) { + config.percentage_enable = true + } + if(config.filling_status_enable === undefined) { + config.filling_status_enable = true + } + if(config.expected_to_fill_enable === undefined) { + config.expected_to_fill_enable = true + } + if(config.font_enlarged_text_size === undefined) { + config.font_enlarged_text_size = 20 + } + if(config.font_normal_text_size === undefined) { + config.font_normal_text_size = 16 + } + if(config.accent_color === undefined) { + config.accent_color = "F05FAF5F" + } + if(config.danger_color === undefined) { + config.danger_color = "F0AF2F1F" + } + if(config.dark_accent_color === undefined) { + config.dark_accent_color = "FF5F7F5F" + } + if(config.water_color === undefined) { + config.water_color = "F00F7FAF" + } + if(config.water_color_above_alert === undefined) { + config.water_color_above_alert = "F00FAF0F" + } + if(config.background_color === undefined) { + config.background_color = "1F1F1F" + } + root.water_tank_height_factor = config.water_tank_height + root.water_tank_width_factor = config.water_tank_width + root.accent_color = "#" + config.accent_color + root.danger_color = "#" + config.danger_color + root.dark_accent_color = "#" + config.dark_accent_color + root.water_color = "#" + config.water_color + root.water_color_above_alert = "#" + config.water_color_above_alert + root.background_color = "#" + config.background_color + root.font_enlarged_text_size = config.font_enlarged_text_size + root.font_normal_text_size = config.font_normal_text_size + } } onClosing: { diff --git a/RequestResponsePopup.qml b/RequestResponsePopup.qml new file mode 100644 index 0000000..468bcda --- /dev/null +++ b/RequestResponsePopup.qml @@ -0,0 +1,30 @@ +import QtQuick +import QtQuick.Effects +import QtQuick.Controls +import QtQuick.Controls.Material + +Popup { + id: request_response_popup + property color accent_color: "#00000000" + property int font_enlarged_text_size: 20 + property int font_normal_text_size: 16 + property string request_response_string: "" + background: Rectangle { + color: "#F0121212" + radius: 5 + border.color: request_response_popup.accent_color + border.width: 1 + } + height: Math.max(parent.height / 1.6, contentHeight) + width: parent.width / 1.2 + anchors.centerIn: Overlay.overlay + ScrollView { + id: view + anchors.fill: parent + TextArea { + text: request_response_string + font.pointSize: font_normal_text_size + color: request_response_popup.accent_color + } + } +} diff --git a/SettingsBarIcon.qml b/SettingsBarIcon.qml index d360331..35072b7 100644 --- a/SettingsBarIcon.qml +++ b/SettingsBarIcon.qml @@ -8,6 +8,7 @@ Rectangle { signal open; property color accent_color: "#00000000" property int font_enlarged_text_size: 20 + property string text: "⚙" Behavior on color { ColorAnimation { duration: 200 @@ -15,8 +16,10 @@ Rectangle { } Text { id: settings_text - text: "⚙" + text: settings_rect.text anchors.centerIn: parent + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter color: settings_rect.accent_color font.pointSize: settings_rect.font_enlarged_text_size } diff --git a/SettingsPopup.qml b/SettingsPopup.qml index b62624f..47d555b 100644 --- a/SettingsPopup.qml +++ b/SettingsPopup.qml @@ -6,15 +6,32 @@ import QtQuick.Controls.Material Popup { id: settings_popup signal saveConfig(config: var) + signal deleteConfig() property color accent_color: "#00000000" property int font_enlarged_text_size: 20 property int font_normal_text_size: 16 + property color background_color: "#00000000" property var config: { "max": 0, "min": 0, "alert": 0, "interval": 0, - "url": "none" + "url": "none", + "water_tank_width": 2, + "water_tank_height": 1.3, + "rate_of_fill_enable": true, + "current_reading_enable": true, + "percentage_enable": true, + "filling_status_enable": true, + "expected_to_fill_enable": true, + "accent_color": "F05FAF5F", + "dark_accent_color": "FF5F7F5F", + "danger_color": "F0AF2F1F", + "water_color": "F00F7FAF", + "water_color_above_alert": "F00FAF0F", + "background_color": "1F1F1F", + "font_normal_text_size": 16, + "font_enlarged_text_size": 20 } background: Rectangle { @@ -31,170 +48,461 @@ Popup { anchors.fill: parent color: "#F0121212" - Text { - id: settings_label - text: "Settings" - width: parent.width + ScrollView { + id: rect_base_scroll_view anchors { top: parent.top horizontalCenter: parent.horizontalCenter + bottom: save_config.top + bottomMargin: 10 } - horizontalAlignment: Text.AlignHCenter - color: settings_popup.accent_color - font.pointSize: settings_popup.font_enlarged_text_size - } + width: parent.width + clip: true + // Use contentWidth and contentHeight to define the scrollable area + contentWidth: availableWidth + contentHeight: settings_column.height - Text { - id: max_thres_label - text: "Max Threshold: " - anchors { - topMargin: 20 - top: settings_label.bottom - left: parent.left - verticalCenter: max_thres_input.verticalCenter + Column { + id: settings_column + width: rect_base_scroll_view.width + spacing: 20 + + Text { + id: settings_label + text: "Settings" + width: parent.width + horizontalAlignment: Text.AlignHCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_enlarged_text_size + } + + // Max Threshold + Row { + width: parent.width + spacing: 10 + Text { + text: "Max Threshold: " + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: max_thres_input.verticalCenter + } + + } + TextField { + id: max_thres_input + text: config.max + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + } + } + + // Min Threshold + Row { + width: parent.width + spacing: 10 + Text { + text: "Min Threshold: " + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: min_thres_input.verticalCenter + } + + } + TextField { + id: min_thres_input + text: config.min + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + } + } + + // Alert Threshold + Row { + width: parent.width + spacing: 10 + Text { + text: "Alert Threshold: " + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: alert_thres_input.verticalCenter + } + + } + TextField { + id: alert_thres_input + text: config.alert + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + } + } + + // Update Interval + Row { + width: parent.width + spacing: 10 + Text { + text: "Update Interval: " + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: interval_input.verticalCenter + } + } + TextField { + id: interval_input + text: config.interval + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + } + } + + // URL + Row { + width: parent.width + spacing: 10 + Text { + text: "Url: " + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: http_url_input.verticalCenter + } + + } + TextField { + id: http_url_input + text: config.url + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + cursorPosition: 0 + } + } + + // Tank Image Width + Row { + width: parent.width + spacing: 10 + Text { + text: "Tank Image Width" + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: water_tank_width_input.verticalCenter + } + + } + TextField { + id: water_tank_width_input + text: String(config.water_tank_width) + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + cursorPosition: 0 + } + } + + // Tank Image Height + Row { + width: parent.width + spacing: 10 + Text { + text: "Tank Image Height" + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: water_tank_height_input.verticalCenter + } + } + TextField { + id: water_tank_height_input + text: String(config.water_tank_height) + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + cursorPosition: 0 + } + } + + // Accent Color + Row { + width: parent.width + spacing: 10 + Text { + text: "Accent Color" + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: accent_color_input.verticalCenter + } + } + ColorInput { + id: accent_color_input + text: config.accent_color + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + } + } + + // Dark Accent Color + Row { + width: parent.width + spacing: 10 + Text { + text: "Dark Accent Color" + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: dark_accent_color_input.verticalCenter + } + } + ColorInput { + id: dark_accent_color_input + text: config.dark_accent_color + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + } + } + + // Danger Color + Row { + width: parent.width + spacing: 10 + Text { + text: "Danger Text Color" + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: danger_color_input.verticalCenter + } + } + ColorInput { + id: danger_color_input + text: config.danger_color + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + } + } + + // Water Color + Row { + width: parent.width + spacing: 10 + Text { + text: "Water Color" + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: water_color_input.verticalCenter + } + } + ColorInput { + id: water_color_input + text: config.water_color + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + } + } + + // Alert Water Color + Row { + width: parent.width + spacing: 10 + Text { + text: "Alert Water Color" + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: water_color_above_alert_input.verticalCenter + } + } + ColorInput { + id: water_color_above_alert_input + text: config.water_color_above_alert + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + } + } + + // Background Color + Row { + width: parent.width + spacing: 10 + Text { + text: "Backgound Color" + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: background_color_input.verticalCenter + } + } + ColorInput { + id: background_color_input + text: config.background_color + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + } + } + + // Normal Font Size + Row { + width: parent.width + spacing: 10 + Text { + text: "Font Size" + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: font_normal_text_size_input.verticalCenter + } + } + TextField { + id: font_normal_text_size_input + text: String(config.font_normal_text_size) + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + cursorPosition: 0 + } + } + + // Header Font Size + Row { + width: parent.width + spacing: 10 + Text { + text: "Header Font Size" + width: parent.width * 0.4 + verticalAlignment: Text.AlignVCenter + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + anchors { + verticalCenter: font_enlarged_text_size_input.verticalCenter + } + } + TextField { + id: font_enlarged_text_size_input + text: String(config.font_enlarged_text_size) + width: parent.width * 0.55 + color: settings_popup.accent_color + font.pointSize: settings_popup.font_normal_text_size + cursorPosition: 0 + } + } + + // CheckBox + CustomCheckBox { + id: current_reading_enable + checked: config.current_reading_enable + font_color: settings_popup.accent_color + font_point_size: settings_popup.font_normal_text_size + text: "Enable Current Reading" + leftPadding: 0 + } + + // CheckBox + CustomCheckBox { + id: percentage_enable + checked: config.percentage_enable + font_color: settings_popup.accent_color + font_point_size: settings_popup.font_normal_text_size + text: "Enable Percentage Reading" + leftPadding: 0 + } + + // CheckBox + CustomCheckBox { + id: filling_status_enable + checked: config.filling_status_enable + font_color: settings_popup.accent_color + font_point_size: settings_popup.font_normal_text_size + text: "Enable Filling Status" + leftPadding: 0 + } + + // CheckBox + CustomCheckBox { + id: rate_of_fill_enable + checked: config.rate_of_fill_enable + font_color: settings_popup.accent_color + font_point_size: settings_popup.font_normal_text_size + text: "Enable Text Rate of Fill" + leftPadding: 0 + } + + // CheckBox + CustomCheckBox { + id: expected_to_fill_enable + checked: config.expected_to_fill_enable + font_color: settings_popup.accent_color + font_point_size: settings_popup.font_normal_text_size + text: "Enable Expected to fill" + leftPadding: 0 + } + + ConnectButton { + id: delete_config_button + width: parent.width / 1.5 + height: 80 + anchors { + horizontalCenter: parent.horizontalCenter + } + + font_color: settings_popup.accent_color + font_enlarged_text_size: settings_popup.font_enlarged_text_size + font_normal_text_size: settings_popup.font_normal_text_size + color: settings_popup.background_color + accent_color: settings_popup.accent_color + text: "Delete/Reset Config" + text2: text + onConnect: { + settings_popup.deleteConfig(); + } + } } - height: max_thres_input.height - verticalAlignment: Text.AlignVCenter - color: settings_popup.accent_color - font.pointSize: settings_popup.font_normal_text_size } - - TextField { - id: max_thres_input - text: config.max - anchors { - right: parent.right - rightMargin: 5 - top: settings_label.bottom - topMargin: 20 - } - width: parent.width / 2 - color: settings_popup.accent_color - font.pointSize: settings_popup.font_normal_text_size - } - - - Text { - id: min_thres_label - text: "Min Threshold: " - anchors { - topMargin: 20 - top: max_thres_label.bottom - left: parent.left - verticalCenter: min_thres_input.verticalCenter - } - height: min_thres_input.height - verticalAlignment: Text.AlignVCenter - color: settings_popup.accent_color - font.pointSize: settings_popup.font_normal_text_size - } - - TextField { - id: min_thres_input - text: config.min - anchors { - right: parent.right - rightMargin: 5 - top: max_thres_label.bottom - topMargin: 20 - } - width: parent.width / 2 - color: root.accent_color - font.pointSize: root.font_normal_text_size - } - - - Text { - id: alert_thres_label - text: "Alert Threshold: " - anchors { - topMargin: 20 - top: min_thres_label.bottom - left: parent.left - verticalCenter: alert_thres_input.verticalCenter - } - height: alert_thres_input.height - verticalAlignment: Text.AlignVCenter - color: settings_popup.accent_color - font.pointSize: settings_popup.font_normal_text_size - } - - TextField { - id: alert_thres_input - text: config.alert - anchors { - right: parent.right - rightMargin: 5 - top: min_thres_label.bottom - topMargin: 20 - } - width: parent.width / 2 - color: settings_popup.accent_color - font.pointSize: settings_popup.font_normal_text_size - } - - Text { - id: interval_label - text: "Update Interval: " - anchors { - topMargin: 20 - top: alert_thres_label.bottom - left: parent.left - verticalCenter: interval_input.verticalCenter - } - height: interval_input.height - verticalAlignment: Text.AlignVCenter - color: settings_popup.accent_color - font.pointSize: settings_popup.font_normal_text_size - } - - - TextField { - id: interval_input - text: config.interval - anchors { - right: parent.right - rightMargin: 5 - top: alert_thres_input.bottom - topMargin: 20 - } - width: parent.width / 2 - color: settings_popup.accent_color - font.pointSize: settings_popup.font_normal_text_size - } - - Text { - id: http_url_label - text: "Url: " - anchors { - topMargin: 20 - top: interval_label.bottom - left: parent.left - verticalCenter: http_url_input.verticalCenter - } - height: http_url_input.height - verticalAlignment: Text.AlignVCenter - color: settings_popup.accent_color - font.pointSize: settings_popup.font_normal_text_size - } - - TextField { - id: http_url_input - text: config.url - anchors { - right: parent.right - rightMargin: 20 - leftMargin: 20 - top: interval_input.bottom - topMargin: 20 - } - width: Math.max(parent.width / 2, parent.width - http_url_label.width - anchors.leftMargin) - color: settings_popup.accent_color - font.pointSize: settings_popup.font_normal_text_size - cursorPosition: 0 - } - Rectangle { id: save_config anchors { @@ -237,7 +545,42 @@ Popup { let alert = parseFloat(alert_thres_input.text); let url = http_url_input.text; let interval = parseInt(interval_input.text); - var new_config = {"max": max, "min": min, "alert": alert, "url": url, "interval": interval} + let image_width = parseFloat(water_tank_width_input.text); + let image_height = parseFloat(water_tank_height_input.text); + let current_reading = current_reading_enable.checked; + let percentage_reading = percentage_enable.checked + let filling_status = filling_status_enable.checked; + let rate_of_fill = rate_of_fill_enable.checked; + let expected_to_fill = expected_to_fill_enable.checked; + + let normal_font_size = parseInt(font_normal_text_size_input.text); + let enlarged_font_size = parseInt(font_enlarged_text_size_input.text); + + let accent_color = accent_color_input.text; + let dark_accent_color = dark_accent_color_input.text; + let danger_color = danger_color_input.text; + let water_color = water_color_input.text; + let water_color_above_alert = water_color_above_alert_input.text; + let background_color = background_color_input.text; + + var new_config = {"max": max, "min": min, "alert": alert, "url": url, + "interval": interval, + "water_tank_height": image_height, + "water_tank_width": image_width, + "current_reading_enable": current_reading, + "percentage_enable": percentage_reading, + "filling_status_enable": filling_status, + "rate_of_fill_enable": rate_of_fill, + "expected_to_fill_enable": expected_to_fill, + "font_normal_text_size": normal_font_size, + "font_enlarged_text_size": enlarged_font_size, + "accent_color": accent_color, + "dark_accent_color": dark_accent_color, + "danger_color": danger_color, + "water_color": water_color, + "water_color_above_alert": water_color_above_alert, + "background_color": background_color + } settings_popup.saveConfig(new_config) settings_popup.close(); } @@ -245,7 +588,6 @@ Popup { save_config.color = settings_rect_pressed_prev } } - } } } \ No newline at end of file diff --git a/WaterTank.qml b/WaterTank.qml index 6e20cb1..9814428 100644 --- a/WaterTank.qml +++ b/WaterTank.qml @@ -13,6 +13,8 @@ Item { property color tank_base_border_color: "#F0121212" property color text_color: "#F05FAF5F" property double height_max: tank_base.height - 10 + property int font_normal_text_size: 0 + property int font_enlarged_text_size: 0 property double current_level: 0 property double percentage_filled: 0 property int distance: 0 @@ -21,6 +23,11 @@ Item { property double rate_of_fill: 0 property double expected_to_fill: 0 property double alert_threshold: 0 + property bool enable_current_reading: true + property bool enable_percentage_reading: true + property bool enable_filling_status: true + property bool enable_rate_of_fill: true + property bool enable_expected_to_fill: true Rectangle { id: base @@ -30,7 +37,7 @@ Item { id: tank_lid color: root.tank_lid_color anchors { - bottom: tank_base.top + top: parent.top horizontalCenter: tank_base.horizontalCenter bottomMargin: -5 } @@ -42,9 +49,12 @@ Item { Rectangle { id: tank_base color: root.tank_base_color - anchors.centerIn: parent + anchors { + top: tank_lid.bottom + horizontalCenter: parent.horizontalCenter + } width: parent.width - height: parent.height + height: parent.height * 0.55 border.color: root.tank_base_border_color border.width: 5 radius: 4 @@ -72,74 +82,93 @@ Item { } } - Text { - id: water_level_reading - text: "Current Reading: " + (root.distance / 10)+ " cm" - font.pointSize: 16 - color: root.text_color + ScrollView { + id: rect_base_scroll_view anchors { margins: 5 top: tank_base.bottom + bottom: parent.bottom horizontalCenter: parent.horizontalCenter } - horizontalAlignment: Text.AlignHCenter + width: parent.width + + contentWidth: parent.width + contentHeight: settings_column.implicitHeight + Column { + id: settings_column + spacing: 10 + width: rect_base_scroll_view.width + Text { + id: water_level_reading + text: "Current Reading: " + (root.distance / 10)+ " cm" + font.pointSize: root.font_normal_text_size + color: root.text_color + visible: enable_current_reading + anchors { + horizontalCenter: parent.horizontalCenter + } + horizontalAlignment: Text.AlignHCenter + } + + Text { + id: water_level_percentage + text: "Percentage: " + root.percentage_filled.toFixed(2) + " %" + font.pointSize: root.font_normal_text_size + visible: enable_filling_status + color: root.text_color + anchors { + horizontalCenter: parent.horizontalCenter + } + horizontalAlignment: Text.AlignHCenter + } + + Text { + id: fill_status + text: "Filling status: " + (( root.rate_of_fill > 0)? "Filling" : "Discharging") + font.pointSize: root.font_normal_text_size + color: root.text_color + visible: enable_filling_status + anchors { + horizontalCenter: parent.horizontalCenter + } + horizontalAlignment: Text.AlignHCenter + } + Text { + id: rate_of_fill_label + text: "Rate of fill: " + root.rate_of_fill + " cm/s" + font.pointSize: root.font_normal_text_size + color: root.text_color + visible: enable_rate_of_fill + anchors { + horizontalCenter: parent.horizontalCenter + } + horizontalAlignment: Text.AlignHCenter + } + Text { + id: expected_to_fill_label + text: "Expected to fill in: " + root.expected_to_fill + " s" + font.pointSize: root.font_normal_text_size + color: root.text_color + visible: (root.rate_of_fill > 0 && enable_expected_to_fill === true) ? true : false + anchors { + horizontalCenter: parent.horizontalCenter + } + horizontalAlignment: Text.AlignHCenter + } + } } - Text { - id: water_level_percentage - text: "Percentage: " + root.percentage_filled + " %" - font.pointSize: 16 - color: root.text_color - anchors { - margins: 5 - top: water_level_reading.bottom - horizontalCenter: parent.horizontalCenter - } - horizontalAlignment: Text.AlignHCenter - } - - Text { - id: fill_status - text: "Filling status: " + (( root.rate_of_fill > 0)? "Filling" : "Discharging") - font.pointSize: 16 - color: root.text_color - anchors { - margins: 5 - top: water_level_percentage.bottom - horizontalCenter: parent.horizontalCenter - } - horizontalAlignment: Text.AlignHCenter - } - Text { - id: rate_of_fill_label - text: "Rate of fill: " + root.rate_of_fill + " cm/s" - font.pointSize: 16 - color: root.text_color - anchors { - margins: 5 - top: fill_status.bottom - horizontalCenter: parent.horizontalCenter - } - horizontalAlignment: Text.AlignHCenter - } - Text { - id: expected_to_fill_label - text: "Expected to fill in: " + root.expected_to_fill + " s" - font.pointSize: 16 - color: root.text_color - visible: (root.rate_of_fill > 0) ? true : false - anchors { - margins: 5 - top: rate_of_fill_label.bottom - horizontalCenter: parent.horizontalCenter - } - horizontalAlignment: Text.AlignHCenter - } } function setConfig(config: var) { min_thres_input = config.min; max_thres_input = config.max; alert_threshold = config.alert; + enable_current_reading = config.current_reading_enable; + enable_percentage_reading = config.percentage_enable; + enable_filling_status = config.filling_status_enable; + enable_rate_of_fill = config.rate_of_fill_enable; + enable_expected_to_fill = config.expected_to_fill_enable; + } function setDistance(distance) { diff --git a/configinterface.cpp b/configinterface.cpp index 258560f..8f40d45 100644 --- a/configinterface.cpp +++ b/configinterface.cpp @@ -2,6 +2,7 @@ #include #include +#include ConfigInterface::ConfigInterface(QObject *parent) : QObject{parent} @@ -37,6 +38,12 @@ void ConfigInterface::setFileName(const QString &newFileName) emit fileNameChanged(); } +void ConfigInterface::deleteConfig() +{ + std::filesystem::remove(std::filesystem::path(m_fileName.toStdString())); + emit configDeleted(); +} + void ConfigInterface::saveConfig(QJsonObject config) { QJsonDocument doc; diff --git a/configinterface.h b/configinterface.h index 606b496..e3cb75e 100644 --- a/configinterface.h +++ b/configinterface.h @@ -19,7 +19,9 @@ public: signals: void config(QJsonObject config); void fileNameChanged(); + void configDeleted(); public slots: + void deleteConfig(); void saveConfig(QJsonObject config); private: QString m_fileName; diff --git a/requestworker.cpp b/requestworker.cpp index c13d223..308c73b 100644 --- a/requestworker.cpp +++ b/requestworker.cpp @@ -4,6 +4,7 @@ #include #include #include +#include RequestWorker::RequestWorker(QObject *parent) : QObject{parent} @@ -63,6 +64,30 @@ void RequestWorker::stop() qDebug() << "Stopping" << timer->isActive(); } +QString RequestWorker::getRequestResponseString(QNetworkReply *rep, QString rep_data) +{ + if(!rep) { + return "No Reply"; + } + QNetworkRequest req = rep->request(); + QString errorString = rep->errorString(); + QString resp = "GET " + req.url().toString() + "\n"; + for(auto &key: req.rawHeaderList()) { + QByteArray value = req.rawHeader(key); + resp += key + ": " + value + "\n"; + } + qDebug() << "Raw header list size: " << req.rawHeaderList().size(); + QString ret; + ret = "Request:\n"; + ret += resp; + ret += "Response:\n"; + if(rep_data == "") + ret += errorString; + else + ret += rep_data; + return ret; +} + void RequestWorker::pollWiFi() { #ifdef Q_OS_ANDROID @@ -90,8 +115,53 @@ void RequestWorker::gotWiFiSSID(QString ssid) void RequestWorker::playAlarm() { - if(player_started) + if (player_started) return; + + // Step 1: Copy the qrc resource to a local cache file so Android can read it +#ifdef Q_OS_ANDROID + QString qrcPath = ":/sounds/echo.mp3"; + QString cachePath = QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + "/echo.mp3"; + + if (QFile::exists(cachePath)) { + QFile::remove(cachePath); + } + + if (QFile::copy(qrcPath, cachePath)) { + qDebug() << "Successfully copied resource to cache:" << cachePath; + } else { + qDebug() << "Failed to copy resource to cache path!"; + return; + } + + // Step 2: Use Android JNI to initialize and play via android.media.MediaPlayer + QJniEnvironment env; + + // Create new android.media.MediaPlayer() + QJniObject mediaPlayer("android/media/MediaPlayer"); + if (!mediaPlayer.isValid()) { + qDebug() << "Failed to create native Android MediaPlayer!"; + return; + } + + // Set data source using the local cache file path + QJniObject jPath = QJniObject::fromString(cachePath); + mediaPlayer.callMethod("setDataSource", "(Ljava/lang/String;)V", jPath.object()); + + // Enable looping + mediaPlayer.callMethod("setLooping", "(Z)V", true); + + // Prepare and start playback + mediaPlayer.callMethod("prepare"); + mediaPlayer.callMethod("start"); + + // Store a global reference so it doesn't get garbage collected immediately + m_androidMediaPlayer = new QJniObject(mediaPlayer.object()); + + player_started = true; + qDebug() << "Native Android alarm started successfully."; + return; +#endif if(player) { player->deleteLater(); player = nullptr; @@ -122,6 +192,7 @@ void RequestWorker::makeRequest() if(stop_timer) return; QNetworkRequest req; + req.setRawHeader("Testing", "Something"); req.setUrl(this->url); disconnect(manager, nullptr, nullptr, nullptr); connect(manager, &QNetworkAccessManager::finished, this, &RequestWorker::requestFinished); @@ -133,15 +204,16 @@ void RequestWorker::makeRequest() void RequestWorker::requestFinished(QNetworkReply *rep) { QByteArray data = rep->readAll(); - rep->deleteLater(); - rep = nullptr; auto now = std::chrono::high_resolution_clock::now(); auto time_diff = std::chrono::duration_cast(now - prev_time); if(data.size() == 0) { prev_time = now; timer->start(); - emit requestFailed(); + QString request_response_string = getRequestResponseString(rep); + emit requestFailed(request_response_string); emit setStatus("Invalid Response; Resending Request"); + rep->deleteLater(); + rep = nullptr; return; } unsigned int time_in_microseconds = time_diff.count(); @@ -151,10 +223,10 @@ void RequestWorker::requestFinished(QNetworkReply *rep) float rate_of_fill = ( float )(prev_distance - water_level) /(float) time_in_microseconds; rate_of_fill = rate_of_fill * 1'000'000; int expected_to_fill = (water_level - min_height) / rate_of_fill; - int percentage_filled = (float (max_height - water_level) / float (max_height)) *100; + int percentage_filled = (float (max_height - water_level) / float (max_height)) * 100; if(enable_alarm) { qDebug() << "Alarm enabled"; - if(percentage_filled >= alarm_thres) { + if(water_level <= alarm_thres) { playAlarm(); } } @@ -169,14 +241,19 @@ void RequestWorker::requestFinished(QNetworkReply *rep) qDebug() << "Percentage filled: " << percentage_filled; qDebug() << "Time difference: " << time_in_microseconds; prev_distance = water_level; - emit networkReply(data_water_level, rate_of_fill, expected_to_fill); + QString timestamp = QDateTime::currentDateTime().toString("hh:mm:ss"); + QString request_response_string = getRequestResponseString(rep, data); + request_response_string += "Timestamp:\n" + timestamp; + rep->deleteLater(); + rep = nullptr; + emit networkReply(data_water_level, rate_of_fill, expected_to_fill, request_response_string); if(stop_timer) { setStatus("Timer stopped."); return; } prev_time = now; timer->start(); - QString status = "Got Reply on: " + QDateTime::currentDateTime().toString("hh:mm:ss") + "; Waiting to Send."; + QString status = "Got Reply on: " + timestamp + "; Waiting to Send."; setStatus(status); } @@ -211,4 +288,10 @@ void RequestWorker::stopAlarm() audioOutput->deleteLater(); audioOutput = nullptr; } +#ifdef Q_OS_ANDROID + if(m_androidMediaPlayer) { + delete m_androidMediaPlayer; + m_androidMediaPlayer = nullptr; + } +#endif } diff --git a/requestworker.h b/requestworker.h index 6a87bbb..c759e44 100644 --- a/requestworker.h +++ b/requestworker.h @@ -13,6 +13,7 @@ #include #ifdef Q_OS_ANDROID #include "wifihelper.h" +#include #endif class RequestWorker : public QObject @@ -45,8 +46,8 @@ public: void setStatus(const QString &newStatus); signals: - void requestFailed(); - void networkReply(int distance, float rate_of_fill, int expected_to_fill); + void requestFailed(QString request_response_string); + void networkReply(int distance, float rate_of_fill, int expected_to_fill, QString data); void statusChanged(); void playMedia(); void connectionText(QString text, bool errored = false); @@ -57,6 +58,7 @@ public slots: void start(); void stop(); private slots: + QString getRequestResponseString(QNetworkReply *rep, QString rep_data = ""); void pollWiFi(); void gotWiFiSSID(QString ssid); void playAlarm(); @@ -64,6 +66,9 @@ private slots: void requestFinished(QNetworkReply *rep); private: QString m_status; +#ifdef Q_OS_ANDROID + QJniObject *m_androidMediaPlayer = nullptr; +#endif }; #endif // REQUESTWORKER_H diff --git a/wifihelper.cpp b/wifihelper.cpp index 739a9dd..835cea7 100644 --- a/wifihelper.cpp +++ b/wifihelper.cpp @@ -1,7 +1,9 @@ #include "wifihelper.h" #include #include +#ifdef Q_OS_ANDROID #include +#endif #include WiFiHelper::WiFiHelper(QObject *parent) @@ -11,6 +13,7 @@ WiFiHelper::WiFiHelper(QObject *parent) } QString WiFiHelper::getWifiSsid() { +#ifdef Q_OS_ANDROID // Get Android application context in Qt 6 QJniObject context = QNativeInterface::QAndroidApplication::context(); if (!context.isValid()) return QString(); @@ -46,9 +49,12 @@ QString WiFiHelper::getWifiSsid() { } return ssid; +#endif + return ""; } void WiFiHelper::requestPermissionsAndFetch() { +#ifdef Q_OS_ANDROID QLocationPermission locationPermission; locationPermission.setAccuracy(QLocationPermission::Accuracy::Precise); Qt::PermissionStatus status = qApp->checkPermission(locationPermission); @@ -67,4 +73,5 @@ void WiFiHelper::requestPermissionsAndFetch() { } }); } +#endif } From 314b57b9c4566ba686bab739b75535ae8f8ffcbb Mon Sep 17 00:00:00 2001 From: unrealdragon Date: Wed, 23 Sep 2026 17:43:30 +0530 Subject: [PATCH 08/11] Minor fix --- requestworker.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/requestworker.cpp b/requestworker.cpp index 308c73b..7ee209b 100644 --- a/requestworker.cpp +++ b/requestworker.cpp @@ -277,6 +277,9 @@ void RequestWorker::startAlarm() void RequestWorker::stopAlarm() { + if (!player_started) + return; + enable_alarm = false; player_started = false; if(player) { @@ -289,7 +292,10 @@ void RequestWorker::stopAlarm() audioOutput = nullptr; } #ifdef Q_OS_ANDROID - if(m_androidMediaPlayer) { + if (m_androidMediaPlayer && m_androidMediaPlayer->isValid()) { + m_androidMediaPlayer->callMethod("stop"); + m_androidMediaPlayer->callMethod("release"); + delete m_androidMediaPlayer; m_androidMediaPlayer = nullptr; } From 8cb17f188002c0283b4dff749e1bd19a6007c1ac Mon Sep 17 00:00:00 2001 From: unrealdragon Date: Wed, 23 Sep 2026 17:52:39 +0530 Subject: [PATCH 09/11] Minor fix --- Main.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Main.qml b/Main.qml index 2cfde8a..28693c5 100644 --- a/Main.qml +++ b/Main.qml @@ -93,7 +93,7 @@ Window { topMargin: 10 leftMargin: 5 } - text: "🖹" + text: "⇅" color: "#0A0F0F0F" radius: 100 accent_color: root.accent_color From 26b489ae5f0aa03b0d2f9bc00654ff4dd88d8fba Mon Sep 17 00:00:00 2001 From: unrealdragon Date: Wed, 23 Sep 2026 18:00:11 +0530 Subject: [PATCH 10/11] Minor fix --- WaterTank.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WaterTank.qml b/WaterTank.qml index 9814428..633fac8 100644 --- a/WaterTank.qml +++ b/WaterTank.qml @@ -114,7 +114,7 @@ Item { id: water_level_percentage text: "Percentage: " + root.percentage_filled.toFixed(2) + " %" font.pointSize: root.font_normal_text_size - visible: enable_filling_status + visible: enable_percentage_reading color: root.text_color anchors { horizontalCenter: parent.horizontalCenter From b05724f7b550e0e33b3044be83cb85419075fa64 Mon Sep 17 00:00:00 2001 From: unrealdragon Date: Wed, 23 Sep 2026 18:06:00 +0530 Subject: [PATCH 11/11] Minor fix --- SettingsPopup.qml | 1 + requestworker.cpp | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/SettingsPopup.qml b/SettingsPopup.qml index 47d555b..6a97c2b 100644 --- a/SettingsPopup.qml +++ b/SettingsPopup.qml @@ -547,6 +547,7 @@ Popup { let interval = parseInt(interval_input.text); let image_width = parseFloat(water_tank_width_input.text); let image_height = parseFloat(water_tank_height_input.text); + let current_reading = current_reading_enable.checked; let percentage_reading = percentage_enable.checked let filling_status = filling_status_enable.checked; diff --git a/requestworker.cpp b/requestworker.cpp index 7ee209b..f0657ef 100644 --- a/requestworker.cpp +++ b/requestworker.cpp @@ -192,7 +192,6 @@ void RequestWorker::makeRequest() if(stop_timer) return; QNetworkRequest req; - req.setRawHeader("Testing", "Something"); req.setUrl(this->url); disconnect(manager, nullptr, nullptr, nullptr); connect(manager, &QNetworkAccessManager::finished, this, &RequestWorker::requestFinished);

^~NR|%8+$n~6Aa%vZIPvI0+C6;#Uf`5z(ZTqs= z6gXCPd~j`x&~5+!PlxqarZ`)|CjbBc|4ILt&GJK~*=(YUqgYb-|NsB5pKj+DKl!DX zSEMmxzePW!k^i%1{j4>D$|jQChpgTI-I>SC$iVgI#Qr6wY22K?3l20s*R7lok~&{f zn6+a;;Uh)2Pn|QKBy-H1{m4@K(KaQwQ(}S)hwe4HaA&Y@GZa&_`(DL%o`X4sT6>)F;Wn+?kyYP9559M~@|8JN*Ackv6;XC{#h8Y`OC7`X)a ziCj49GTHw2OcOUt#p5a~JA}^lvDR$F1XY5%pqq4rC4-`Xp8Q9)7`@YL-V5@Kc z_5Q5SggLt9(LZ|{7!F8eG8jdulsqXUP=oCCD{Mg_dy}8T05Itqh-g%h_fN+0M_x9% z_g2>0Z@FWXzD%2=*sMLa;Z=)XznP_k#lb_aPndEHmIN6bciE9OeIQpSWH! z;4omjQ+iUp>BrnPPfup3wWue1`gQ;Bl5KRHaH&7>4c9Mam7}v=j##(_`G1`r@T$zO z(>SeU%A(6A(}Vn;uQb2pn$G`wuk(k0r;H@hOS+Ff*%D~_yMB$w(nU7)S3`GXx`wD0 zUfOCmzdJX9!-^q?lcB03_?&gm)Qs>Ajv-Z7zB!jp)R?Hgwf_IFEoT;g+i*j!(+f0P z_gihZ%-(>P>;5<}H{{7O9x#(nVqg%^6e-{=l~B^YQ(|Pd<;WDKHbWH;Mrnou)nBTh z7)ohi4s;9$Ev∾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�XHfB6f>q%e<~m28U^KL0U^i6McZ$1^Hcn4yv3K!k?yOflKn z;@2fr#3a^Cn3J+c!h^TDp?g#8f>S@TT3;SGGDX%^DCp7mS!tI0TU%WMCcV=6X8EH| z)YRtX@rUd3)AD{XvsF%+oW^)bW!vlX=IaWNJ*eFO_TP~hal`n(_2qy6&Dq?+xR^oH zfsv!Mz$De>TA0-|Vd>J8=}A)^yQ>5O{$3WCle57ly#BvLWV@;3-gleN#vL$-0au>? z{~!6mnBer;bwliSdC{P}ppY^n%fd$iii#(N7CE(UIx1~^XvyjRVwUnJS9dN*m?$u% zE?q-a?qa&s`ly+G4}CAT-Ip!6-w|hgqiW>_R#O-5<42>6>MbukZj%26ilJr(=2nwa z#=B=dusQszHpQ#6=g38S-@PFhMfsnvT(HjT{Q3obyuJVPyH>AGty{{lgwsGl!28*w zJCl9ot}(Pk&flWrAYt*1Kc$oJg~rV#5<9BD+6`DE_?$l9d$?%lho9JADaF`54V|CjaP zhZ=cyMg|8(2Qd!KCKjRAc~3Wpsp}=UcINLmp&X~y8yZ)^AmPW?^Iy2R{=22?<;~Ie z|5cq((wV_v2--FHe+myzpu-OtdG><`90U@UbucD*Sw<^1d=prrd3Ne=PuGwcneK*? z4;xRJ#AJ$p+^cvrg{LNTd+4>l+ofOay7zH+p6S{!(X1`8QxqO*iTLQ5HuYSsbqK9> zIm+|?zq5V70@>OB|DVh`7|yg+fO!E&hzpBI!q(ydSMH}y9evf(Vp_c?o1d!xbiTG5Teje0kBN=Y#N;<7Mt%3>8e##XT;OGvUgg7b ztUAQg*sb|#T9i;~(-Ysv-0mChu`#&qRSS5a!+3sLSI3;Nc#U5N0$E#N=%t?{S68Z z2`5`vX0P|K5IHcH{}+o4$JVL6d=3Hk_q)0r%=jV8ojUL0A?4;pj!q{p=*xaTqw960 zd-G~np7N~~YZve`T6!|D?OA>L#U!2>1(xHSEucKKzJZz1#P4!`&H}f`FPrl_+_;}y zH22-OrBRH3>CJ76I0_F;VCHnNpZqZ~p=f3Ogq&X-^WtY5+R$ISAc(8%?t?jt1Wf1F z?e=kD zvtH)d=$-eup&;Xvn9hEwNrFeWp_%8%Gj=P*w!ClYI~!hn?ptk~bEeVYdNB8|e>a$n zN|)Nr_O3fOYXP%^Oto1AL)zuHXH%G2S+q8!E)SbxJzLrN35!C+0YweHj_c3QA3qSp zxa4cNq)$uw-~UFHqQ2P+w_SbJ&00KHF2Ay~^=4i3%&p%Re!W(qpzD!b{ z=($8X$n19JgiA-(G;_!ZiTRn=9Ascv#-=n$Op|2-9~(2%xl11|wD8KRYWw(j$yciI z^<)JrMVFQBRM7C1xx$}2&3>ZWq4#T)oBb|c&3zX4_UP@MIoFFcrv~syc2=iv=;}$` z?zhWE@ptkkfzDU;OLZHa5_e1H-H&Nk()fS)+x0b79&fI7o4%G```Z5A+x^pwPp+|< zn)CVH;oiq{F4zD6w^jS_8^a`rDIa(Kbr$sb8@gztOup-CulbUpEA+b7zI*?5`k#cY zPgmS&C{$l zWngGvN)wy&>cE1wsk;TOmd>-?xcWqkPT|Nl`_1DM!@SS}ed+`6)e zy*{b;OQzBd?Kc9ywoP#QbC)Ca=#CYeC#^Z+5+BjWmT^<{noq}(f?12-x~8e^zm}AB zRr&vkESsAuQzl(>)z<6MeeQk#zrOgSGGq1mE}&84e|-@S4h)SN9o(XFX-mBpJ<}?@ z;uW&b$#S8I;~Pt3H94*Q$;O?37UtRH&u}T6d8%de{#S1{^;ha{Cu@nOr2bU@Xli&AEVh->2oYE?(TX`(lA}lhEHIHd}El-W^((uza{qHPU z?jz#8aA6NaXM>;E(#Z|PUr$8+;+4oaCnW5A!Oh3aaQ}zGMwM54Dl?PI znqP3RX#W3UqO*15ned(E>5LD4-dE$9YMZh(KQwQ~Gkd+de;s_6!+V%>Ls#gi|7%$L z|Mwr;|F6H-TvHKHVenhNg#D)Xj*q7wW$CdnP0CHlKC^&&U$I+OD0~WcE&8 zbm;cc6hpU&q9oC^i)>gOT}1yDSQPg+u{`WgSfROkzx|AK-X+?ne|b*7cXt|Z;d8(9 z|36Im5yH1S^uot3iT8iv#N+?gEu8)TfByAU&Yl^9o0*t&Mf1F$mUHy?=`Ss@O6dEd z&c);NP2EBx(c`wFXAH;w^7qFUFvLrX@c;KLZf|+`r1Sm%t{pAb|Nk%4|Nk|S>&D|w zA+NO!Obm?PM?f*OhJl&Y_QGr5&2`meS157b-ms&uYw+k&kk;mowrk@Ls{r}%|VtM}m?XQ10H)^E1aMbx6zG!&d zHRbDyvr;=v()NT*&{^Gd?)IK-A(Ex1>`nZ%PR-?tH!+)2ByV$mqU`^l0cSQ=Nc5~! zHoW!mw%+`&yOu5BF=5KscD1jVt9HT3;GG=-CAv8?Gfr?Q6zFiZsw(aGpPl{xcXIju zcMIyE0&DkbF8tw z{QrM}cP(%F7#2MWZnfo_!^yq(+EXo-1*~l|7w$Z~Qd})^iDP1~fTXOziC?h^;xz#e z)R%AHet+WmmG|cVpTFH_+P~sC?;HdyG+Op8e_oPz@BaV););AvG*8GIESi?OUtZ~G|$@AFO!}^84^n`3?RmEl@lw*J~% z1A~AWS=`OhjGfDsRP96;a56Po%qrY-KYVeB@EryQJ_e@DHQS_49cNUNxZ81mZ76$*iEvqn)(8F>nU4|-q9M&bZT<*9ScfECWbePd zDgzWl=Ng!e?Lw3FgV(sZMeC;c)Sv$G+w5(wx1-$TWlQHy)!1@u;o6R_|34q!_+@)_ z#mc(rH=?8e?_Z;E`losQ|F^#$Ffc|i2VP)M{@iKtcAwHg_7v9X6ZOxQ2tH$L6Fp}C z%td3xd&`0^H!I`W{_BS;a9x z;B;f+sd0{`#k`$cfosXa3!rvQTUNugTtb9GmoB z+5c((TJN|1wgyW>#<2*YEuqT;uCjSdFmybr`B3P&)0ry=eUBZAU!c%)_+dRqR?VkR z{fDNMZ)bfdW_@k)%e6XA>Rn%J&wKWqX-SCEop4sOsX^I?Ct|gm z7#Nm)Fp=DFd|6D+j%8<`)SavO5`F3~D25)lFgw|u-dxjk!A<4m-Q+AYz70P$^j_&Q zddyePoVzk;Qi)8Dxm_dUw?%ime3y8azVVO#H>2|Y|FV~JI2|hs@Bc5q`L*u;(g02d z&VUA8qo%7XTT^xkg$n5gH!wKv6A>Gi%HE% zuhlimGp;Sab@l(XYu@Y2ix)OmSD%0W_T#ht|6eV=dsFcLpW3%C{kjs%Iux$nY1RB$ z-nf2|lK0Yt2%c(}@)nor5kC_Id3YoL)KB`l%Ed!S;7+ap(~^dRiv?$v`51niuAXr^ zZq7=x<|h$_${Y=|wa?`x9KKMVrgVG7xp&``iyasgm3~+Fi#QaYkgEAnzwpHWr5BhS zqsrO?FUdUUeWtRynU`sSTf+;9Sq@CeiKp&GEauS-UM8-#(pW0)=1HY_=S2SUigHAR zlpdIO`ootJvqSlnB=P5#XUV8KO@&DRvL;3uQF}!eU`cFk7451wLMqgZH~I|ap~HesN4Ux zTrK|ZdiMXX*SifekFB2BNyWW_*^XGgwW-HcN8pu+EM+^xmNFGbiWQ z@MX=(!5cf5J$vnQ{QsXYlf%AY$~ zpfQszi{XM^b2VXRgJq&@X-fp#_?gqVqtp`GR%I{=&NREX-M~Zi$O=aBr+!_{L7G0c zs_zVT%wzb;m*p+>rRns9pr1{4U2G@Ar?}3F@a&cg(iZU$%wKl%($#&r|JO{>T>WpW z-mgPYHVI{Ur0>LUVO#zKaq@#9_0o)ECxEp1{P{!n!cKXe0QpS zSp|JqHF%}G92)|=qASlnoH4;dWyeX0KjHxur*^z3t~$q4TA;+Ruj{1}pQ%TbWB!3@ zH{DjPww@`xecG-CK>g?vjtRxNAq)gvm!6bPlkjus*2~PGfprAtJcXTTrj&|NQCvm0B@+^Cp~q|EtsO zwEnNNSO51v+OhxNzXIWhXROcF|NmP5>j6W8;>rfbdAdJr`wT7|NIKO!>B>#PHrC>F zH_jdRc38^2c%zl!8gt~^qW@hEcjA@Ir~VdOn!M7b^{7w#y{kWXp7z*Y|9&}jY6A;r z-GqWlkarfJ-3CGUdkoj^neM8Gt3$`Z7nO~-Rel6J+q?$4j6hkk2nRnWGGVjg~aDHmJ zD^s;}#0|2Fx&D8x>;AR- zs^XVr435%lP0Zer7h(jiA4zm(kPtcdsK2o@T7XH@pRXbN*P)$Ryn7DbH4c|J-J{+2 zvi8n7zOKIBw6Ed+|LqZ2@b+o0NZS8T2N)hPSa~z`H6~1KU}oKC#CYM+vCC2YJ~GCZ z8)}XnZFctVpJr>gV~Pgj^h@Gg$_(>`9=?cUoWRC1zb~UjshK%{2G0bCuN;aqg?tUq zscED8w8~(QKjC%D_tWW-L3Hw2Q|G!t>EQ`u)+p_BE3kCt! zm7a`C*DlivVd%>YX=Rg**7g0+!g|FpfaU0#vTxg>Id(^Hs%}0RcPDCX-LlgEU#>Ja z1zb8?A1_nGC7)>{YO(k*dq-*g39U&=ono7MyN)jIOG{#9|FL4?ycKaN%+n?uHDKA% z5iFoA`he@#ZPWLTyFTjRPp-Hx9NH{pgp7C>$ z|9>UbzZWzG_W%Fy_w_$Nf75)adTF}so3cBMO4&lvcVAm3_kH~TbJ^_v|6gWZQaPj- z;F&+QbAbZ`<7BOkB~$LQh(1tQc*yj|FIgV(pet3G63*(Jiit<(@dg+^oaT7IwE2$j zd1*Y@#}B@|NoEg z|L5?e23EDjeOuzw-_A5`NVupMvNU^X>iW!LsdW!J7^Rl!&6=ikmH+q_H5>-2v~k-t2p?LBUKX8#YIaR2L)$!obTnnuT8f2}vW{+Gt0q*%S_ zzUBY_2d=LF_W!O@R2l~Z0|V0rmed{VKzZl|1A9fvwRhpBTl(QS@+o zq0?`f_i|+m+tb)x=CGCgkDl4{scB_MO(whkk#vPkQM-3dFjjFm?Qo&*&-1TbPehaU ze=<;t|04Cd{{98X$p5`X2J7Zu53axH8<3k*C7|Ho@R)a(i&2W-a;IA&i#|2+iYlLx1Apqwxz;o(t(SrwjPB z_}1!AUJ|=`{kJ80M>Xz07k+mC{R>{DZC7va@`~cwQvd&7irId@+tym$u{yg-oRofi z++^+dI#R`bg49h0llgj6b5?z{6Q8@%dGXDpXJ&sDHu?U~nhc7er3}ow68vB1h6!1o z;hLrTRI6XL(S6N3pMYocbxc0Uojdcf`O*Dfwh{(kKi}Sax$|^==Yi$_=KudOBdviU zfnmutEiq#j!38FV4+>|jKU2VAC~fdD<1%kUk2ITwLBe6b;I#_L+>9Z05g~GXJW-p= zo~#kz>t}rP@3XN%gTD~-W1-uI`z{|aQDL1?sLXY0iv7ZSlieq{$<&6{rs)ElX8{3ZPyAr3jfUtmYRHc!t6=g&sk*}&tlo|WNn)It1F*_ z6rTRQn6&ZEp0>MHTHgg5t@5|OsSaNJ|8L$ajz*EY@$FMIUI`m>FiLQEGO@~J?2^@J z&Dv4D+UF~1LE|PCmX-u>7 zg?j$!PadyulKi}ajJF?tH>xg zt(nz0d4p6%aMQ8Le-?gkxpVzbHD7sOaoYU*M(01&?N6Nc|Nl+VX##IHy?^@o^u3Rn ztF_lx-_J?>%Dt=le$n^Gp2q?WdsbGTJ$o{F!xIH-R_31Mzf<4;)9gwA|KXVN|KA_O z|36XqR30eF!jZVV`zmWMmjipkt@1qMvA2O1g=FiYJy;Hn(nrM%H+s-NyUA3viL zQ!5(%AI0SqY`p(}|K9!o_W$qy|No03hu))t8b7(eDjplkU&oc+DE4ESHn-bbw9nzZ zNWa*v4r|2+bKh2Ip1qrwaBaEinro*RABk-8cvJk5?|(q+RGHV0|H&4<&6~J+$?G}S zdf0;}l|8r4j(#=o;q~o1lmDLoZh7CtVcM*w4V)~#X4yu{7pG4D|NoCe^#4!Nq79Q+ zO{7D=JI~DXDA{F~xI!S|^rxJLy2Pq2@3<|Vc#@PATvHPu4zneN=gJQ*Ao!hsTWOeZrod}*FIBkVpkCMZ_BSle9XD@iO zO2c#6|2h00^Z!4+IN@(~cl9+l^HPRL4j|NrUx|NqmB4x}igi~axlYgNo6jh(CK zOmgvIU`*uHU|=e%^7(jzjX5J_w?EUqg6lIy7)+jgQr*I_`;=UfSG~Vw;>D}eUo5(} zEmYI&LKIueF($?ZhpJke6%;fZJ&!Fqz&y!Kvtlk+t%RR&>l0(E24&vB%NzbF3psCQ zWlUyZSkNHD5+uUFW%JHpgTpQf&b@h2P7>2xnOcq-MNfNh`)+dJhfPsB^Y?yR-||3X zrTDz7M)PKFthsq5`Gxw{4vUMmKC55vlyC_B=he5)?f+kc150M>|6lw6|DQ+P37bBE zVrUH?%hCjo=DCv!Oj%y}+9_pBdg`mBSLS)(61S#dhw8jE>-~ElzUI3X73RS(F^z-E zXkJH`*7VGy9tMk*x^ul(UY+LhrD4KfPGx_~mwiW$`Wr^Gw$A?-WW%wn{{NFK<`9Mk zOXCX#4lHcU%1#SgoFo@K5s>sX40vdjXkh4|syNffO2j8cnKz!J=Fkd`9ySLVErx^x zJO;`P60#vmlN1^x3GxO*pjR{ z_BL^CM58sWCDEHVNn6++NkYM@$M5e7N(ZByH9BsZ_TR->zzyE=YWm#T{tLp!M zRl3yha;)G42hN7M0t|AqG&UtGsk}&YSmctFY^pCHzd7lXTgMi)yZaybWMBM$Yj(zi z-Hh9RS2ZRcVl)uxdckABAj#CA#@wVP+u#=Fr{>zKaOA-&wmU~2D5QNhmN7M4v&}qS z{xWX?2P0!c14B215g)VCR|9s{ZvxC0ELaxjTy1V=cZ^V4{F=Qka{s|MY&{IhPm_d9 z80Ne2dI|HX>rIL)8AwgoQd6p5+*szW|LdgFeI?REGn?W}tKb?O%NQ+mbFEaW6pZ}Ks zpT3Mx=(y;#iGh>lqyk41i^0OlGg=bnyy@xMYGD8TinD9xGCrf4pC|7>y#N2VVhe-X z`rE&>n5MIEu5|J~x6sg=;qYY@1D+-}gA*U#rWP3dIK=nC)Z(y*@s&~@1Kz^fU9&lL zC-|m2D632mJiCh_!e`-*+uJSkHIDpb`Lw%m&Wl4F?eXs>P4L+hv#~I9CCl{^DYe5F zr@cGnnAddog2qh~zFk@A%AfQ9&FbfjSTu>l^d{@_Qe(Ac(f|K{@ahz=zq*K#fr0G` zgG&Bg6IOR|7p9NDm85llEmErFci|8C*`ZcVDmPz-gmu!IGj7M_)Tz>N9j ztCYu8!mPfA>uh&2{Fw2)aEj=Gyr;c0jNGOk6MHMQG4kz<4Xaf?lyc`MSS;_Hxn$vj z<6*s53RYY)GYR-rCGT-e>G=V-)2;lKZYwt3`z74>`5&j%dxh`Niqi#Tn;Iu+*7!a5y{QEI8d-9S@MzY!Y&2N6yb*qPa^97 zNJVVpZLZ_BSSu#`q37O|W66I6xE)1$VrHyipMN@To6EdNN6!cZxTE#d1Ft|!egzr z8wx(@+wqkamLA>r`**tap* zh7Ud@`LM_sMOX-ZFxgV$CS&+W;Jt#gJddvo!wM1U#Rt^pJThR35Es)_?`~kw$zZ>` zU9^{r85BcxJuI9Fr=)kT-e8%+<(sgwW1_FOieHtl!yDn3U)wwWZD3*OTEO(v;%w9Q zoXf2YAr&ce=KNA|EPTCk@8y+BlP{;{M$Hu!U}9bU-%y(O)io~xlhq2Gzps8}52*V8 z_y7OD`5p?5M)_Z^s<=!vYKc0)*q_*(8oP91(1o2*?i&ua81W=-;_~|P>!Qqy8)iR5 zxBgqmefaKSvp-M&|Gmecu(L+|L;U3h3{1%iYz+RN&ITy`KJ1XV!6{wBfLX$hL;4?A zC)+VD$-`%UHYPv3sGHfoV3NgI^%b|4FE?7Fut+!H`Xcr_iv;Du7p~P%VQz4EY4B~% z5;?2yt8Xd?y=(t{#kudZY53)h3CYnxc8@PVwSW7S>tpc$@Bjb*z9PsVZvTFB+0F$F z9NprX8B$U2B@{y3qMkS|ebsaDap}RQ%?qx4v0j*U-|4s2mAo3ao4*ehu3oPF)jDJU zU3Rwo`Q{s(k`R?Y>64ZF5;GD%o$VsLKuNjY=+_JL4E&kwwx+eGe}U3jo3vfuv5 z!tjSbl8!jLi}hPJUf7)3vhy$#@2whU`_utY81r{%-76$QEO>TUyiI-d>SezU>N(0}7U6HNH z(U3pNdj9#nIqz>ym}p#l>&^<}|NoaQVOR9z{deE1f`Nf?ZwF^dpsnbqXL3vu9zLne zk}Zc5Stifq@KF)s*6v#5tS#Tq8EzQS!lKTt&)v+$CsrA=E?8LMf{-%n3AK_D>{{`p6KA9p*I$&jV!i)=nfjz% z`TyVk|Nk{COoAhXfx}^u32XU5+XWpfHmu%rHneVA%Zo!ImT^iiuO#pE2spT|X5x=2 ziT6)%|NrZ2@I{ID7`y%2JC*PK{~8K4C>n+6K6w~;>_);OnF2ADS4IMC8%%E{%4ke< z&=C@peKKPS@4n3^cPoj^P~GrctWp1H)X4=in%C>?NvNxl9~jJ4?YiOz2^pcral zU=a)kPl8)JzkIc31;d=ynbAAv2nfaq=hvH>IYoMD9C)EL_2$mGz0clQiYG_BkE z$L0G|yzRnkeeZsIwJWJL+@$Bj-aC4q+5FYo?(fo!*_)*t8g}KvxRj@t%mA`cF2jTCpwVvJzs}NOmjBs)j$^9$C1KJYa*!yqt zlmomi4Kq(|Yi$sCe5fZd(^y1>L1(M&JZm|o=ZX%S9b|GQPE45Vd-l{(WuHCgHgETM zYJD!GdBMtkA^z*XtxWH)>$G~f!87pZ!w$9Lz@DfyCa-QA*2jB}1+BbSFmsL3X`|1A ztz1qYKFbOkR%!GExLw;SKB;7qK+{e2{&ig%JqHV2J>GjNt|*pTbo!-?tl+=(7wiB3 zpR2G4v?1=V%3n{uhk4Qaf0RhEIR=D?O7>bhFfgzln!v&|E4uxm&Fwyxn@7q-#Uoeg z^q7Xq*POQf42mJQ2IlmDsP~BrSZp49<-S?L!1L1CcdhF>MvfI4UwdV41U!sjI52VP z)#-~XcTMPRnj5#_X#L%n{|nWts_l0-Ffg$4CkQZkPGW9m`qA7GxbK;Q_aqTN>5o~< zEUttuF-U9v;Qrj*i*?O@$;ZMOZ&O{m*sz1 zG*<18Xcb$jyZ`^|^`DpTkDPwmK4D;BaAas<6lb>+oBAztHbde4!%Q2@ zte<_HEV_%2(fiY{y)|JRQ}y%zpPKpq|EW&h%RBGqx&QaS+6@}+`2T;3)YStF46LCF zE(~0*3{w^|3Kxp!I0mXbYLPv5l-*a&O)ag_|3^$uzQ%@S3nXrcGVfJ(kLOru8t1n4 zT8hEkSe2FSfo0)qvbtt}{k?p(%C*qiOU3m9-O-?9-?x9VpQ>|r|NqxMpsh5_4;@4j zR=xNbJMZ+%ge@w&ba>=nMtQHj#kzcb^sk*AdaMgxO^uuXi_50&pp4t>74TZx*}=C_x$+(|C-|;?_cq3{-5tByf`g*7`!)S zs4(zan7M7(dd$QiRZ=Y@?p>q#)}ZEUgC0BiNq%u0d*!>^tp0|l{#yTQSJhs=W&8C% zEp<5YXJhC>5eB``q^lM;LssP!E4)1rP}O99#wRM|rMJHWv+t`26(NPr#6LZg_yn6H z4IZg+ez;ISb>6eIssH)H?sqWxe^v3hwy~qj<4bUm$8}zrxlt^h6Ytjl|9^3R;Q0&v z8u8oz|BnARub4MlfI&zlh(XX(ByCdQyOw=x&;53jJ6m{Ui)Ew2y*u-#Fa77g_}PNF zzt_A+FpE%*Guc}@JQ!Cg^E8}f4zguo3$T46V)AOK4pVGb zXll*7_56Q)9vi&axb(+tCWAOfV}Hp#ue5Tm|8+9n`)iVNYt%@^8XGgBtvi>8(oa`-o=A;)_-R=9meEI+X5=C|K7b}kcztEy= z)1qW3@!a~WRgR!TRctQHWDAW03gCJfA2m#P`Shzla9;480J^h6TQQ4wasTv^C7M3RyAoX`8?H@h zsofq`|09<5WOMRj|0^%|{{(Ns`BMM?(~d7yw({bw94rn??BrPmYFHJR9GDbD0$tr0 zk8$spQa%|b#t@p(<;KK#*KW=MR_C%=k-r1>J`vNCGTs%u+O~@G&5sz3?Q5Tl9;%RI zyH4OE}}S(yL-{}ZhS0S1NujulF?PRk1}W+UGpuKC3598yRROmyN)z+OYV4H`tohT zd{)M)^YvFB^?cQTI+0!bmvHJ?Q@kPsHf2-(E)aD~Rt%ijwCQNflqYR!Q*tb?eCJ{ix-T$;;m`8>_y2$U)KY&_ z=2=$J|NlP=K!+gw|9|9A1%tv&PS3Kb%?nh{l=(TR2AT*usxI|(UZXH0;~dlGH7D+^ zt=s=z(&(Q~|4E~+xy?6H?TcAIa5!A4pH}}*JNr)3q(y#e4I&IrReLy%GP_bPEq=zI z*;i2Y|IGYfGyk8f|NnVK^i%!6NoPuy|4jWKn8nDzkj8h{mEnfs7D-kUqZ93ZX>4yC zet0_y&H6WsEA>H6w7^5JtX`|yzyH_rcqz>l0maaY7Uqgz-`7R98yvg1d=u2mdLMdQ z`@UQns4^$>%U97`5r>kWYU&*Gl-j#L@A}MiDURg-|7}-%No`C zJYt)72%S~2U-Q9ffvm%xYSsP!7Che@?ZYpA_*GTf5|f_EHm9#fxy=6l@vQB?*#A>z z|NkEu{`37mz0+Hm7#)}B9rsE<8^sEmS1o`)QtOj!wo8``(GX5`DDj#r?kr zp9yg@s;g>U`q?|Xkbz;zicME?i#PAv6BG0P|Nlpz8`2wtjxf&Z5@rxvb5ZR;R+gi0 zke7!=5Z|^S*LFt5mKCN<--YHsX}kNU%JruA{kc&G4)SxYoxRPzS%5>@<7>#?>8UzA z#}>U5Z|9UqXq0CQd}n#t)Yxv*k7Lt)1xk1(nYnnIth~!|;GF)x<;y1Z&dyig{{LU+ z^8eqT<~I~fNiuX-NEAEheT9|1YOac6%FWL z%)op(=+x;w3qQCXIn|r6thT?>+tT;px{Ev-T3b6b+xFa=EunDpf3$sF{lEEVg+UeE zzyFK)u4#ZOMg!k}8{(ZVc=B{Lu!$^*5@=9$KH`!lA#s@{qcx3pj@Ql2C+)l#M1D{I zr&#~*(Nz7DrM=hIe)7-h5c>aJ_m1bU?X}nYcD$V>@U7z!Z*9%R*Os1%voxgV*i^am zW%VytS#?l&rPkq>rYtXuE*|HP!5J7TM~1dp4w zTUH)?RjuXyvf##U=3@(f-48zZv#R>($xG(N3r*9F7O#@ss`SP1|F^pP|JVQCd&6l7 zgGBhhzrOF+F$one5xMoLnnU%#B~HB=N(};kwklY4OkxZ${pfOT;WO?p(;1e&6p8L% ze6z$zV%w%W$1T+wr(3jKyt6iTThL*>v^6VhcBELU?6iqBpMU3JsJh`rS2q`5)yQ9M zGyknCx%*0AQaWOZYj^$sU;Y2{ukF1c{Xv0|N##vXgD`7erNXU0oO(|-UXWsaQ7NX@ zbpF%A=Kkct9L2?jg@Y$m=QPaGd@m|5C* zpde#Gr@+~1$D3K3k6v(8IJQ~q+ptC=vp054aCHrHRGBh)Nt)xd=6{a7_G@qddHnzXtNhph zpCm>xIAqN7VUU_?Y9!>bT%tBs{eV-#zUQ|rBbO}Lu>N0ud!6U|x-Q4frdv0;t?ln( zyLmZVH@P(TcP%rsaZ7`s`n)dlz+=YYVT=ATFbD{|Tf*XFbl^bbyhrLPjNMGfo79BZ zv^Gq%d9kQ$j#r?@G_E$Es%eRZUS5X`?>3u+DJ@$c;Cm=fXPTh+lB*KaTchR`du_h| zT55LK5}wB&GCl3qJ)gE~briRXrc^WP9}@b;k%49w?(PVb&Q^Ml9J zTT+Q{Gy7S+^?iyG5Aukw{Mu@|Z+7@ozjw!$zTC-}Sn=eA`eU6x4^RHv|2gl6cSVd{ zW+MYj%aoSZb8A=|I@pyG8Kqb`+4(vp93&2}>|dq$;?#{)E*=>pD*?;;$1L$-lk->K zH}9SFwqv8-X*J^s|C^8e3$VY^HT|st_oowL*9tF1?wG(4@G7eGtk=3FQ(j!w5cs=m zS>hc%ZIhB9$s-f@dOfcPU8nP+a7X4W2KDGeIy!tGgWn_ZsRLxmjq!g5O+M0x7$ScQDDyVpf^zjQoey=UT$;`zE7 zA;R+gpggpJf%$mQnai^$mUupw;!Ist*&pg_yme;-qk?$mw+#!}4o$Ps;S|^Yv$}9* zTZYKiMXEVlL;aK(wiMb|OKlA|XlS`UZ|>GpEX%t1ETdM3ugP50q_}Z{pNM3p>q?Of zJwZX;1p#La8s0JnTCzvEEbEq-<>SJrz$3wypsQe7z`?P$rHplntVI5zlWezG54FB9 z*JyT_IlXx~gExnQx6ZK6d~;-8o#L;epE;q}itcmHu(@-U)NVxpVb z|G$@mjV5Gy89dvN56Vd8|eT4OKR>F z3=9rF+myw+nH&T-7!)6F;);IwI>puRR?5<1rsW?TqpBS)4TMkNO)?fv{J_EXDVF&|8?YF7kxZ0 zakNXF$3ji_)47K2+hoGo4w7Tullt}|U*nT@%Yxv}0lB6WG) z=TiIdEuA{MCzqPPW-Hp%=-Opl|NH-aPzUhk%IW$4|3;%|NpB;o z5Mt^2cAUA%ucgmp(}CM>Rc5@p9jWLT<>*weSOcm@4r)1SC(o7lu4}) z+q-ieXSdnH4uOX!yTh7va{vE-?l5hhy~@5{zy4p_8@Dxd@&6^Z^Z&1`|Ns9=&|KU9 z{~re0ItVd2@O<6TD~uJKKrxiWz?_~P zT0qC?NX+@g`RXe3^^v=mFRec-R1XTk zt6I_j|1Y@tnZrO)uUo0Ow>k3&pDV*XDJg(Gs}U&ZbXzf3C zE?uYn!t1xazWo2M^Z)<~fPsN?p^8AmyVVINB4S<~%Ja8Ks8HZxSuR*$ zQuNxv(Qwu>n}DDMjioHP0_zVJ$%agPzU!ca+S0zFS?s00VoBZae#dS9b#&qM^j&AX zH1=No|8=YL4@b#fh0fIIT{HTY+x310Exph%{{OT7|Nn@6F|CV%zF)g&}BV zc3;w~Lt=H_hi+ffO@6TNvF1NL?&sZab}4LadVT3<_=|h@|Njjt|NrYn2xDi<68C^l z>q72q>Ho=~pxMOW@YL8rqr*SGeUe-^7YeV6YOG$e3=)$G5;hVMTMoMwU>o?;a}M zPga_hSV@H*m>ylA^>1fm)$T8vtDM45ysQY7`Yb(X@@3mI2?5ItgTFg1^z&c&|NoD< zNlPPc-|Jrv+79{k|1bOh|G%7OV6bOwSitO`!@(da#GuG<-$y~Qypwa?!=-Ltk4;{~ z*v@xvdGHy>U2_9I`QQCqvu5?LF!q4+|JH{V^91oE&HtKOfBE0^N$h7L-6N;`O251g zR4h&f5ziOPT+(Bzd!@@Hv+=bEBi{tx6) zb>w;2vNN;p+-_g8msi)KgY%@{wRZQnQ8FP8pqo?b8kim?1YFh$-jbjr#g+TK+*{*p z_!>jMkCQiQZk;~$uBhCKxlw8L{}wDbuA;P|z<1#+`~Uw}|G(43;K-~Ow&j4o(5s3l zkLVP(4I3{Wy1>~{ckY@*>B^5v>+W>jnYj9B@;C9WYix^%^{rfd-KFD+b|NsB9L`*wXLXRtPRRJK zWG)7$b5G0C{{Ll&_->G~vguiq>e=SC>Hq&<{r@G1Nxy!yYvZv9ud@|J65$CBcenk2a7au|*ET#jcQ$*H)SBNvKA8Srx%;yyyTJ6=`s>fz zRyl;3C|I&IA8EOF|Ch{=}`WhUJ77UGHmjly}d70e% zr}@9rbk}{0Q*+u}r>RI+#45=>{x9~{F;Z}uAjg>k$=x+!w+gpz<+%O-|NpmZ6=s8C zsDXj$q)Bi#xAv3pWnE_zpT~A*ob>eBn{SvZxyp3f%5~R@TkD_HzrOlw?*A7p3<7?h zB_2#m&xLflh6UQ>S9v)sVVl9|7QKb(Or!N{@t7HAo28ex{IQU^crk24lkn!VMYmWB zglsx_6@zE8F7CFHOn&Ib>+^fj|L-Nw=Pc0)zy1He`}g`^S_}$j=DV1&TjqDu&BE7EEH0yK2{%>~bVr#y+ z)aX2$5V~!dapwPb?>e-Z`vpD3r6#(S?v>An+%==y!0|O`I}-a?hM1$v z!vqpKZ!$0CW@_|wII!sA{wqa>P7O;Zyt%iz@Y8IM6?v0pefVJYS2Zz&PpV3$vgnzN z&cY>J_f+P`|Nn9!&LO5@$BCskr2qf_=heWFB)f`5^p~N6%htmk7dR&9Pt0!I$ha#0 z_@9|vQ{vwh*41;`+E>SaV!@necel;55{b0a zaB4W_{wn{)Va2B}c$B#JGe}&Pv{mg2$Z^T4;$OZb(%k(>n(wiMy+X|k{;0fuBw)Ps z;@Y&v+SF^eZu~pfPt5mq`@i_w3UAbsQ=FZ`@`}$v~ zS^wSVd(Qtl70fsoMD&+`(O%kA8t8GL>B0v`ha!i_%j|qUS#}XY2Ur#;gmBK}Sn%rA zQK@P7Eb9ETkFWgHl_71f#N|I-^o{cF{o(>lZ(XGw}1ClAiyre&^2L z;<4{7m30+w_zB0lzIr(`dAmCI%BwMpb#C~)I_78us)r^s99|yey}Q#+!Q#-)g5nG< zK|xPTKU0H)I!o0#_lT@Gknm=E^#joII{jdHTiYzA!X6;~TxKjC9@6hca-w6_+<#H1l znA3yKU(OBfu~vThJfB^o=c%``@7{F>zRy^-wRP(KQ+tm0#~1nA{p#wEuBXU zk0xpan9c2IJ|L15H$O-q`#^6pmujX(`J__j>(9^Vf6#1>`u%F{$Kt)?ID|Wu$^?CJEllw!Ztm-9yt~=LP%4a+O|FxxzRhbO7 zjFVg%K2$bvPj%pAU|P;pk&vGF=+KD?vJJulB`esD9CP4R`MNxOqEq*-*4tH)i*(nC zH|8zOD~QQ%Qux2R`r~y?Ll0l~v>>5pJH6^Z|Um)>t05jNR?ajSm&n4TK{+7mV-R;|CuiX z!)Y%i2BFg5Iz1a0H?Ilg6I5ea_Tfou{{9D#t{OBmu3qh(&!Nzsa5qZ&f()DYPydJY ztMeYj{hzTvxHK~V|Npvn_4V|Pw-`EC~Q2C`_UjE>craC3a1C99MLa$WrZ4;Hl(oq z*nH4(iqi=O-Um7hL=rZ6PJa63z>GsLSobhgFum;HV^C#W+~;v}*%D!6hi&1S6ALFh zq%vF*ICg;NfRunF@9WJ0Ne^%E1~9NlpUB#}*3xq!!InHJYt z1;#mLyskTUHV74}rhd0nV5l@qbD~CR_w;twXGhpi1;@PBW*r1}Qz{l97bAT(b&GK=H zNWxB#9v+u1&Fw^XaUu9&Z-lH=MoapEHpoe74GIcIjv z%8>GT^L6#gz3E*4wu;^Sa`ycH|L@Q6D()wSu!)tEDq3-|q=R~EeW zZJyE5O>YkfXIlN-r^d0`^FqPwRXe>nTx~=3)RGu?mPCXu+MOgQo_ls@)U^kZd^=Z* zoUBmf;4#>DDr8sCH&u__N7_10RBBaTpH+~*_j>iG>Cb{>PZjQRreG@1AO^|lL4|NsC0p=|$u0;s5bWor9>87Pui z6d4#a6tXruHZeX^+_1cGnb>l3K8~hi59QPYr?9imW93{>sCal91Ji-y=fu4~@3^1T zneZoHc)?}H%QH6kIBz`99KgYF-2EZ{(+@BE{P-r`y!y&>a{TMHQ@XO(a!n4e-M4rD zJlj8S_itNP|NsBLR{8&b-v58Tfk8kxmu0Gf%!A^Vm8l9-E%;u{nr@>#E98*Mr)h!N ztF+pdO%qx1@YJ$aj$1L8j?GeJF*vb*!bGkoYXZ0Z|Nr&pGCRY(|8<4uO=GTw+q_&{ zu*f2e$teE+mG?)BL+)SQrGC!j{{KJs|99VJU@&4~XplV7BWT;8cz{W1d+?gvBIbs` z2t&csfokjB+3Oc|MgIEH%eyQjT7FBMHm>Yv}C>Hs+|p%Ow12BB0W8Dk{16d zt$L@FV27HGml(f=fbx($1M|MLfXlfdChjSoZ}WLA_ycE#uUYf?r-0n@uY2a)*;F%a z*R09?uCW%q|GV|vJeb#|jDHLatP>ABXkglUe9lCP3I-KZiGNpkc-SsrdXW`)VMcpst|6hIo|G|aouMZd7t>vdK%2QAzs2R(7F|oyDSMMRVZ73mbO5|5tbLWNnh9$eXQQS9isn)7;Fr zvfcN-eACzJtnIs=mu%e4A6|9*-lxS!Uz}kM>i>VG|KZ+sC+2%yJ?AiMdHw$dJJ)`H z;UGPkfq|)wnSp^r&ETddyW{c)84A`f61w*(axC3dw2+tCZ13DlttSm$m|1RFseD!E z(Zw0Ze>(8#F0xzk|Np&ui7kTpt|`| z&yf=v9_hQp>}O7$!|#9f=dl^iHcM+wBI9&SW=*vJ_g z=-knNaJu_ig+CKH__R#hM2p_V^as9)wJAuKd|@?l-B!uhK^b}}91ndSUkqMxka_u; zu(Y&Eo~qHBr`Ww0i~I^X@U1NP|5yD_T<@1GsV!ZbIom3yx6c~B7 zX&+$lY`L&ZOGt*rYg+FwP0^_dO20*$^cQ$NRjK^cmUb+8#gr5w&fetP?2|12bID20 zI<@vf`~O#U+x~w&#ON5Q6Lo8q{)7gRTR9RRkKFEmT|W1d*JLNf>tUY~w+qa#`>fiv zf1}24`9qTPkMCT;?Z33+lKnbTDo&40Z&iUUl-E^JR_El$lR^Qm)v0|IV zv`LdowsGIR=B7PCdqTf<{QskJ9Z~%oc>n*eUwA+Ny6;y|t~lkuRHp!rckN5syp=Jl^{ z#fsIR(n?@rEZmSXmFa=a`G)9+3bP{5etxPKy>w~4N3@b#Z;1W(IL*S^<)Td6g8%9o zmw~!N;tb51w*IfxT~$)mSM5#gi0zG>ZtOdE>qMV&` z{jND)ZRbw0O4*Q;pTsBTME|)l@3XLqGS9l`skJ`$1#T&(MQ;~+Hp|iXgUO_6i&U>} zi;&Y=b?55q)fSf~y0b54d9cJlone8Fs+>0a`ugw~v2ZW*gWEv?_Dg_4TEXoW;{wyE zOOlOU(;C~{jQbi*JvJSib)hG5t6?pZ{oh0SlkFGp`0IFGb3w>{v3mhOi;l8c)hOuq z9$S?yl;cA%bo3kPfkA;&zz4&A(qso!x{>QV^r%GJx#Im}sYlZgZ*RL!I_c@aoywvMU zzw!IqZ@M+L6JLD1`Tk!SV?%UdqoeA_i4Dm&=QB!OpVWQu=~|^nJsfH-6^8^aR?Ub# z?l~hgUwqnAHieZ*^S?13F;>6Y-M9I|_mH~f>-wv2{I+D-s{$HQsD@WY4*cn3{7#d1nWcxDOvm~l>F{vF? z|N8ioYqN*)LMzE{&u4n9sSD{geyY)a;M?VA+n5z?TGs!6(j8~>BxvT;z%#D;J4^On z+Y*}cZQ|VMMXGZqt=-0Y4GS@48k$(&nPr!SkE28tnt4yL8H=Pr8(?+JC^ zC7byww!7lH!P}*N7sKakmQJ5r#^bXoXw`iGugSfJeiIriHA2sXJ2Nma7nurquqZda z=V@l)V&7``N9pF;jSJ3Cln@POcP-Xhxy-XZX6^gCYJIJC=jS)b&rdb&ul~-*`8G(z zY0Z20`m3hv=H>r-o}C@MuH(fLho)<1SF1$0hq5 z3w(5VOl8^GOdRk1OqRW}>{$l8(3j)`DTac_9Va}lZxv5Wn0aSs`{F6(%hoRZdaHO& zb^MZVc~gI#+q|${Q6f&5p+1E{!FzUabOvkOu8L!xenKYa_9f0)J2hdxH2dU$`=25Y z?VSF_iHoPE_fX!ov$9QBI0S_zJGd_S-?f{Uea>^EqJI7LXR}x5J+u8~wc791?NI&F z{)AUis}vX*yo{7nn(bwlc)GP*J@9UM(Os7VjgpU_7oOh#<O!afRa;wUoeQ?iid4&UB{2M7i{7B@GQ1(TE|Wf!|Gp;Dr$Fq$~ZJ7XmQo@U~8pCXZbcIX4T1lQ`+#` zfysM&^yEwL_Mgf8rX-=UWy8kH0?RsIU7LL`d9F^l|L5D1GiS`bViNO6%Q@&}4EIyT zm4#ya*WI1k==62LmGqK}iw=c_onLY_Z|PP0`NFq2TeKP&7y@sX<}$==o9lO=dzQox zF^!VsI8he6wa>yl*%s{o^(TMd;@d6tGaiOIALhG1A>m<}xW^QZ7f0ULe_rXJWFuc8 zw&v5vtIP+ESUuBOEu0hLu>0E8@>jD(|0)rn+4Ete zO5WB&h9CT^Oj~5INqLh9A8R z_9WRfNEx*3)Rt|JFfI%|%yLM;`Xtlq~OK`?}`~#E|oiX1#m6eWiruM z)Y;o^f5T1lPc@r#BwHs>6<&N+Wd7~n@1DQ?vdzF{!`u}+PlRY~4{6e{OsTrikh6NX zkWe#+pr}^A^T`D=v)m84Phj608ZRHxo!n$_c=n!)6FH9m`FG`p+!xUzE@cL-hc9gZ zpT63_z!8-3rIBHlV#C9L^${QW^BdzYEjV_uQY1>x<#OC!*_J1tJS(hf61cWqEy*>$ zI`fBhSnlti2O7e%vSzCl*jheYo;KHa_2O%%*QLEkG5h~F;fe!;QB)wJ2Fh-mf#(c7gIx zLI=}Sor|yev)%-^@3Kv0t?eqA=(@GN!7yl==C%zV*jD@BDA&=y6nVHL=e^2Khj_Vj zG5152i`J>_|Nr~2Vy?WwcHiWs`5#|b-4^uVIODSTlz@$eJn!QFs}^u5-i^7|!nB)b z&g-Hn{RwqEQWtBPgkyK^-SXBtCZ%J_;qvDtH*WQ4A3mnN?RH7er``Ym|9unv?B}+Z z(G}uX=51fQ;c;x(?&H_A_xwuYe0bnTuKZsw1_mKd&Dd2}B|w{{SuUCwr*JfO@o-$Y zG_}WY&E-RWH34UO8A^}!Fr~CSvtvoue8SLl;32cZ6@fDX1v?dUopS_sv^s1$AjQSY z!Z?MGcMJ2fEu3~ri!5a}GIu>lIAEOB=Af6rv!Y;U;wurxg#t_x+qAnII5S1RI2`R} zW$kH*zEPO+i!EJfR%nU4M9t%#bG&utZdIbV3^@K+f#CT10yeY_HUyD41F_R zDE5gkaD7#}>CG0bq;cnw)`VHDPP5{VwrP9Ktcp-`5zTeEoyJ) zJy-Qu%C$B0R^7*H>vIQtrpr9?tQ0Ai?f&)mbNCVtng5!B=YM`U|Nmk0Q+);=gVqbI zA~HOQifis1;<){2;lu-yj4r+`9w`ow#EvjMePE>E-l!pPa$3_Ildf>XzsVb>bA0mW z?e4gDd{d=fl4N_ruA?!wG4dWoHt*z`AtMJM`>eeQW4|NnpORHKcjuZipz-M0Gw&v~)+f0S!2?#iS#E_$fUC4J`7G<&WP zJM$l}C#gqDDd*RJTJh3V?Y>=o?zQq6Tj%Hb{I~ya|NrmS_4%LYCjSf#Idj+V+3vY> zPhMbPV4OBB_HSkpv!Frc+kJW+85#Sjkzv#ZCI`pg9kj?J%m z-`FtrOjY$;J9fyg#@1u?M#5i}$yuxUXF6MNIt(R9DYJC<R+UblTX+15-~P>2w)_9j z;Q9SeiMN5l-k{kouimzBEzbe{8bvi8gh<~I7-I4dB` z<;^VjC>Mn${iQ1+RsSY^16#b9t8}xR#jnom-}2qJ|NqQ5zy65pLPaszUG6yy&N=V< zdF+l~-jU|na8vU5Hko^h)|HQ3K7LwtS6kMEb;i5EMLfp>zx4Ya-f+4u`QO6p-YE-1 zIzyGtG|acXkTmzHyXNn#*T3%nKjr_IZ2?o{q-R$r3VdIGNAk1g#F>Zq?%YvYed=b7 z?;bk#}aMQ_Ck^eWkg#UkaeC_`O`)_Jw&6pZ2zWm$Yv-aE8 z?O*%Q;8y)SItW zS$EJuA?s^X@Avn6ep-Ine#f>jP{Clj{{c3G*?%uw5x5sv|MB7W|GzKgZY{b0|Nq~t zmEvW-K8LTeMXr*%U{O%EEc@Ri-oou$bo@4SbS5MjfL8Yj7OVyeZ7Y2npe^ylb`ux~`_a`fRkDU1{r$tMzPPw(g@Q8q=>pL*K0$mgC!Q|Op}IETL3t>U zfvMB!Y<8ygg3wei-^^FGT`jflYgF?-`Yu_qa(QRoqhkSKJ31KJQzvel$gySJdu^#Z zl?;!}zUJ-k;Mw!_{G;vm&p4U*`K_HV?YgWmz)e-*i?V17z{vW0KT(vG=3#5e?LDn zJzjq6ZhP+VtmE!G_H?sHX}ru|eZryX^vb?vwxaymkwJIgyiZr zouV!#@-NLN;mmvnh8Yt!Fi0z{uXBw)6ENpYlTW$Fkw*-U0$=Kxwo7EGu3el~api7K z(ytzw-=2mbTF$ecdq z)(n>n{VSOfmx|ak{+^xxwWRZP@C-X^jrQS>kxini!yn2(Tp3erx<_m%T z>~0qKZu_dPJfc2v%}Wht?ln1y0zH2%9=zf+N$iz6ZR0e9;egzd%xs?5uX%Q?nSG>5 zXyM$$tWzpO6ZaYaWzqc~_+Ymu(*Z?m`~OGe*W1>8k^^HmvXl;FH3)t6jq#l==rCj{>bV%g7trkCNOKC)n!mn**N{r8%OVn zBHIIaz6gANuu0}e0?)OV#}$)O-m7hI@vHa0cw0JRkA8<@SFy)JjjT(DjI zD>rp{cJGq2?rZjT?D)XH!n8xOXPW=UrsHo8^#6O$Y`OdPiC{eQ(>*#tQ%b|TsW5UU4p~{C=YS!62jNZF{ zQN*W4h1AZfo6n|+OpWQyzgja#y8Qo>M#kia?PoF{Z#^Jm_RPp3Au~zyS?(h(opv?m zLl)+H7)2QN2rEphdFDJtceBft%r%-C^CUbCo?8a#ir-qPROrwaz`Nb+>bvVXzW?k0 z-hTe{|N6h3ESe_-ma@2RR&3jw+@l$usn_y9bcIgO)CgA&rcZmGel&lrB+#X>)_))S zf_vi6ikChB#n3bc=6EA->s^r_tdoDqCY-3`c~dK+Tb2Lp~ zy}n)S8M{d8#%0Rf)4$fgihH=y|NpOZRaaRU4}WH2^pO)Wm=uWZiF(+3n>A(z=Ibm+9OtTC+*677Fb}U`}(|c~tn#4BK?P5Q^@G@N6dBa${zK$ty z-v2+!yZ`^cen+=T-YdX$laAP&1V^Q==v7hNm;e5cbzyMb7VE&m`j#=M@0^l|p+bct z)A|>OxG$ThZ@R_2_M^##&C}1UzaeUWvpTRfIbTa^&d>cX6hJ!}|2u4u)Y#dufk{H9 z+p+mWheU8A=Yq_vnGQM&U!HE0PoJU5m$s3yuw`u0WNgreI`ZO!iQPJ&` zg(>rLvoSt)4VN%1U70vR&7){~qVL{Sv!!I;&poZN zwNypv>J#az|7RIQetd~?oMw{wxX|&5R{S*w27#FWAJ}J3Jh<{%S__M@g=b&PVh2Xu zW^RvUIRFFjs-b=iZ7dRB&9d^hN!T}xpZ!^To)$JpU)o6YY@-1PCPr|#@*W6 z(U&i+-tp4;)zS+L3=FDbi#Sd&Ffb&ru`d&9TBF2bpvkAC*}S4wN5Z0!v8JsascHoq9P(i??aR8QuSDzgAjw?$|y{__=TAv89{#hrPaK&3nO9xVS{X zQ8Z-l{(sxne=fOdGmEW5N+m0A%j*CC|AXc?PPMu=FmS~m1#=4WcJn#Cf-5xY$*0;VxzxYb# ztDoWJllwbA|F2j4mAn^Tol;T?89AMHCAZ$K2leLv|JM@b4)s*fz3rdA>16c9XP*ie z%L*zTV>VtoFW}OG7zK?5i6R;i*%@k#Jv&3L=o_3eypr{)_{YO(4{`z`j>YfrR$cC~ zWMk8B&WMP%puO5`kIbz$N^QE5ktrB1I@@HI#Z|f7tbO6%qK@{gly4B0y^+uH>1W$- ziF2E$9o_YF*SS^Pi>)q|rYRe*_xXM{?EcmNUmk{;daUA-nqFZ2VfUwZTW?$6v;Xz~ z|371~TQW22?zYv;0Og^u2DZ;BH{PW)u=%8{GC6yKfvq}jpbdw9pGQ_XEY1*#=G z471;FVb<(<@JeujH)rIlX`2OYC4xeB#TvQHvYq71GG)<5N0F%RnM=N2F>G|R_3fQh zrF!Y3iVeHr_KO}{)xZ9~E5FkEuWJ3`|NsBHf|t`-s3)G4vx}L3fpgiC1_ln*S_j?C zj@7Ll**P;BR$URWyq8{{FkLz}mc^wa)pgH<(DsQs8Czu}M5kKKJ+|Oe)~#Zex>yP3 zR|$-K0$v%@9M1PhF|bVXYA85V*x2I!)T3cJLzCl#!{?=@sNLZSx~ubt?Z%-JvFKCt z%ID}iJU3bWd4Ix{&+4tSh$8ucVTFRr*Xj z?bn$EK6oLxV&(F!d})8q1kJ3CfBZA;Z?xIA|4VDHepzW{{{oyQ*J!wRzAa*4bn0SI z)OTy$r&&6|v~kIk3g(p^j*H(UWa`>z=bl(1>ob`@aYDSsD<`MG<98zX-tO+vxEyPr#aO#s83avUhR8!(e|E$vwi0t zZ7A-3*0JZo+y%b2K~4u`_QfZyKhIcIRbR9uZp(#Ig(ZPv$y(WetNr zS+AVHv8CrCIo8x1>|pPovL!-_!SB5rGp7zy_OzLMJ;+R{z3Rj&KWCMm7&jr*E)ruwybFoX47<>-soZeJDbY8U^L zxnPH@YD4;jldrd3NpYz3t4v<`|Nk`x25XM(D*RV2zd8`&k?FEQC2x`%8{3LwPVtV3 zCpj+f7P|QV_XHO=24;WF^RM%RONzK=aph)2oUu4*=u?>5=q96~x^?BUfcdk{BZC!s zR#{En|6hRp+hmi=pS~Hq|MT18{Bnup<6<0peRMC`=w5uW?EcdUX2-kg|A!0R{a+tz z|39S zuvO5xX+r->jtmxg{4Fw^eK0 z|D<(IsrzWkuOmxNrLVcF5~#)Pr4n>(V}x_5@RDouJocmoaCWX-=y^SA%Bqo$pzT0}Sq$R+(M$OcFSdbs}K#)TyFUKNfWw+tz(pvgXiz>;JDz z`n(U$w9(N0g=leKEL7MJEOYkVY|ZInPw_GJ3A7anOF`R zNP0Ay9LQmIZMBXrpK zsOj~NOD|TfG(Ewanf`Tp%j3UmwcHyPrtC_5YkurOm%fc?*;59&3U0|yTnr3cD{dvQ zotnPpgM!+XMjftXX=R&~36mrya0Q;MnZl5-()%v!6w9J^SFPT#mIDtbUGU}j=zqgx zQg2X?`hN#6yH!)Je&3Vr{(t|qBs)3pxl;}>FdDqpVYoa=go{C|iK)rhp~L~Q_r&+Z?w1nuV2aWqf)OdSb?Ec$VGtR zLWP9r0q3XLZ9EMYKk|DIXdGzhVThc%;FR^_k=O-M_2$b&CHxaB`YuQ={#M2Hy%91qKr_?wP)9TBehF9{jp|CG@yW zvEr7uxv>{lPRjm!V#d}-3|z%~4c)9_7A6^`DoJeEJLzDN%)XMD=YRZs^LqR8v;6Uw zZ%7&)HwaK?v{GB3;3<`=~VcLjjr9>zBB=SKobq;NpWHc6C1T_5Uxiu&@=d^hb9JFx}R@ zbVK)LNY)gojqMCGK5iA}(RPu}N&jGY=lz$Sg(nT(~4iL2dP#KG`7G8%*yYM!&6;kY8W)$&*7>*%hI<<7o_yc=Cap0C`t zah>;c)rM!c<)SW4`4aH`>3ZWBk@weDZMFZm|Ka4TNq?Giz2&rCiZVN#39Jvu)(uM_gO|125da!eG#Ghk>cV)TQab1Dg#(j9tQt4$O@a z$#%@n9IVW9-R6n0Ecn@Av{g5Jmq3eoSL^fVJ1;)0xY?r@WwdzjDNci^JFoHz6?o5= zm*~xoG)?qSQGapCVP5IB1x&0nd>EK)7g!$PVD1rOWIVZZD#Om@rGlGg=ro*I;PvU< zLajJ~$XAPdbIa5E)}@#CS(F7VHd>P#v&)L{utsdip~aE$U%Z=+{MQKgF}!HJfPp== za{*KMVy}(MJzlt|FwB@CK0}jZ(jr!w@0^SqO^?cje)?mXX!kJL!T8E#^}tOllx8Uz zB$ZlEY3c~p7xL>e{CoS1)6*2QrPZ2K*Of#oFQ4Fd%yt6j+DK3-*T}$hQ1jI8omLJ3 z%s->b-R-?jEI0Ifx?ItQf4OGwo@vqw47Mg`CM)!`F4g9UHu^uAkDIM=NphC_!xlrv zH;=h)g`9IceDv%5ZgbA&t+!>&Kh5NdyY%<slrM%#>L&5lou?|KrPWG*}0Yw)N^aFa>XJMc=BajBP&fa^nMiG*0CXcLAkrZrMR zjLVKKIn-z5+I(!y>;(mJJ7-@z$+2^H&Wr7j82)G9^i9=Eu>B?I$@2a7Uk?VxGYkxc zLP@HP3tZC7HK(Weys=@rpma^k*C6L_wHcL zik{u!u=jka`uqR?H2&UK5m}(pAn<^f!NK8XBg3g%MlJlt6Ll=z_nDq3Fbt?Nejvio zpm2b9t|HgM{o#eo9(RsxQ`=WR*VHdXZS_qrIdxI}qysNRr#$VNH2>hrm3#M{I2YqEDp@fr^FnXR1;P(7Wd5dUvOrfwuPLH8>jbFJ0bmuDIpH z|J~UgLb4{H7@En!^jY&bbKOD%_vW9T*`2!FJj<2dJ@jT&pZ0_#c=c*Wf-%g2q zSU)2oG4rF&wa@dP=Dh#^_w>nVe}Dh~>*t@Jd;jx)o6k9X^^y0FWnE}tU{qT=iG@L? zC#KV+WM)#6&MG;Nm+|k8h;FObocLpsV~eCus=-6cs$Aoj+Bcm(rH1@fjQ=#F)&2j; zB@IHhd08iQ`kb-~*=`F<=p0oz>N#DaprIw7&+I@w!wTUKam;hCc_i=P7Y&;uAlN;1 zY0)I-RRetq-ZrNQRne4xuhrPgbPd=xZ!LFSDGWXpiE~~4}@18I(^z5JP%G1BUCSI>vyx~#N z-Yu_NFZo1m?-ehoTN@m=w>-Y++NZ-7%OqSsgJNh41M?d#SJ7$(2CK!tbl2!G&gq;U zxN~lU;2rVT|BWXwoxRf)yL9PJU*EE6(`JLZF#rGayuQ7?-Qe*2|Kh)HFD;OLAz$Ac zv)X0ey8lyDzKWUC+)hU|?Xd_dNHLwLQ~KrFUkNm2T{jv{t#f ziOYkg8%iZyWeZO@!7$xq@mhgqIWFnS#P!F54&SS|s8G1+fYG*U_R~r;5~mpSf4pA( z+OTtmuo*uS|>D_+4ZF|9^Y-uWD%!?zNa;WHJ40meq&V zSx@{Oc=`{VW)O>9eNw1XQO#IV?gYz+B~O(V^%QnKaZkt>I;rY#qR+_X%f^zaFXniE zZkb>|Y4iO5FDA_Y*QGH@ZSj@rqB|?LgU&_<4azLqcxv*stnT{%zh|m0VK7(uzks1c z`0h^C2!jKOJKn5XZ4_a7J#2ft-lKO8w&H!Ix^dS74{rBjQQM|EYyERUh8dd*kJta2 zt;o?IeOZXXc*@!dlN}j5y14^WHQ7~sjfLh0Y%!R1me)}^eAe{ePyVzhi?Po628y9f z24?@1%kNVcu-LO&t$Cxt*qa*ez1HEo!EcdQTN};9ZtoWD-#cCKrtj)|d#C(5yerl! z+c#DDZ_3Q~uLbVb|6iBJw`$i--_W{U4eqb*UrgUDv&=nfk?|&Dy>nl$C)cn37a(-5 zN%>s3LJkAF)Y7KQcYZWm%XePiCaqNZP2+j#^JgzK=9b@exwg1cu~TwVuAedcd{zE` zix(+g>;M0A#?pT;ytX!|ynCGx#IU&E)QE5IS$9*@byHTJ>@F)Tj-Bz&l|xM_J^y9N z9e>m5ZTIioy&K%V(qfbU+4^$~kIvQqUsL-3-_os&?J_U69R2)Y&u{y0n`dp)XkcKI zoU9ne;6B6Yk}6k7E4P}=jJ&`FD>p38Y|~cmUa&j;Y|Jz1&x(EP-l?m;c^`T4+N^zr zGyD%vi9ah|*%cP_v9#>6V z|9|Iv(w5Q)4-%c9!Pqs)A~7{$DyXGU*T6K%BrKaJM=y+R=Gxr1SzKG52Cmt-dZUk2 zhUW6E`4=7JV?D(hczjzg>!}DSCdv4uwVH)D>Ln_fBrTe_da7#GyqVFrB;1!=t88+- zm+Kz2!azFOrK>$)$NzIpufu=sUpt9K*uF&P`?Zs%hAA_-ei;5~Z(v~d^1i~Bvs8d7 z!Ba#gL8e9m1~s&Ho%E9sK+H zrjQ0bpSMacW-wVT-DYu{^|xp0jdSdLsoKk|%Hzbse_HF-%DK(#`TgUcXQ7=fo3Oy~ z$v0ZxC`_!L@X+VqxwijJJfHur{&!g5)%J^@&t1Es_ie_D@MT}Zw*TJpD}eFxM6(-= zv0GdXiX|j89$f1>6Or>K=7UX2GlRvJX&cYpKX=$mr*O%W&tKZ-2Z3T}Dg)DE6W`03 z!3RRrI=gaT#d1|#4qYP|Xc!`!`La#1oO7}7{wc5j)&KwK|EJN>(OK@&e6P=w_HVJf z{Ak`?p2LOy{372b>8DO*V31srcBhx&#k#N^XGA#ly_Tf=#-u15%n(p!`W?T&Zlf4yqT7yn=uem(Ca9ZMg|^U z*Z<#R-<#u>O)9ermu(U;W!xHl@#*ta_gx2KUf;bnU!x5#I zp4ar*o)vKy#BJTRX~EVl8_Js&DExbImw$rcnb{1RWzHUzIQf5`SyK9c_ZzLM?rN)} ze*O?(;4JCvz%)n8?{%j2j$l`>yNOzpyIL+<`l0x#P8Lczu=Q!oy0}FzEUupRy>{MW zzw=`C;5m!A8#+CMwq);)y0b!CAmFps{2bSb(GM7kRxasa@{4iX_fqjk0prA`dDA60 zb)0OH+E)t{CkcGI>?JgXt6Bd>nx@<&&Lx{tIW?TN$IYMb`QP&8ErE%D9z-R{r#W`5 zmA+AvrgJe=QEc^fofDkDT3B}_WY3V|k(i_`$#G0#o|r_DuUh$j?E(qxHobR1anq<25*_?EXY=6I1irYsHR@i+RpP`bPP-xYP+oFN*ZZEq2k0h}88z#r^)N zw)oEdTNW_xPLFaFo0}iFDdm;QTg!5d)%{Y+U#|vm%(A%C!5TAT&EA-`E`rT7tqSBi z3{s7yTAXJwO}ty&wR7SVXR`^@*-lA630%C=DMTKWhYmL|UD7-o+#h@1wsjtK9_+M6INc9xeV``bAqdD9x^xThDOmvYu(4 z{$ClG4(@-z)9QI8z#^rhfmL~Co*CaKi;&wF67;|9Gda8HpZ|rBDV96-trh&U(QNmG zG!XA28?kzc)}U)&Ji)VNH$8DxYHYGyIY)rfHXMCNNv|CQd)4`20tq z`PDMs-5k;d@?uhn0c+hYwn|q{N`IL5GwAEQ*^4;8eA|EO+TZTfkdxc&8g<`v?$gip z{*fBW?b0qV{q(Q;@$> zCW$!fX1&p1U|>)SUd0mYY4E{-Rd{OQ#74IkG49YaVxP?a%sH62G&lBgYQj&Oz^ywS zT@4mbbIEK=@as5zKgPM)_j+0DUaN2Suhy@T;QG;Cu&0)7>)AI~L!G5puHX#`FG}_T z#n24~rh{63!Pb#W{Eud?EcP}(_2snxn!VYEfm1cMPG7iBbhp^$jYbj-3|F@+F{tg` zA}hego51$5%`>gEpO=$?`2nZsx3Go5s*85I_q|s4SiS9L>Ysm-tEZ*2Pq^)Jst4z3uhow_KxIceg!->)Nh*CX82+bsVt^r)I^5w8^OoZ_%?<#X|*S*t@ud{i1N{&lT89>B2U=mCQnI$BbO8@3#D zO?Hw$TWf4^vgUAP@VA_v3A${J6K2hFV%Y7`v3Vt5+vFQA@BG;x3%O@cf4}6i%_lMQ z&p%%WKb$xH%KCrbcmK(g*l};mHE~wW>tE>O817xYUdujR;(9! z?0ZMHV50S(@0=NwFD;qt6XRxzgY;ItgkSK zJ-%G_f7&d$@Y1lzGpmiJZ8^Mxmj3)%(~89 zJ}mg4-6)ppF}FjJL96m(2P1cbO6COzBpDe33>cl53^%*3KI+480My!k#l!4k;wjx9 z{2)U07H_I<&xQ*zv_4Y|9>?@s=IKT1MeorJ1(K3 z3~QVhHcXUgXnAbe$J&``znZFw`)$uHU3IQP zJvA@YVy;x=7<^bRWsxNizz=2Z<)30KbQaiby6VX=nUAe_ z7WZoNv5B)~yN@orbZGN01F?Clw(nZEK0D%qX8+f+L81h_T?dEjrRZGuokBv!kdbVfNj2@=mIU77~XI)XN^)%7k zayMPY^YEvgI~e*&t~ts`_fj0){}fqJ&jX z-~C(fsr_7}d&OzNOy9E&${y1SOs?8|c1(HtyC?YcJNX$5hy23c+*u$XxM^PbEtRm) zyd#_K82ckuGxD7|E&K7|GNte}zs+v7rN?av+%x@>cet(G3#EegBIzH-|GytQYMHzv z;{N~tKRCXIR6I30S-Ym-(5_W?|KIx`3+W^O|NrmI8N&Qv0t=oDkm|G(&2u zvP%7;gz0nmGFR8X{wgXE9XO%<|G!k*3xc`K$$?6Z$J)82yEeGG>Xs;^A2=lYL1E#u z9ZyqBRX6L$|6R87%hZTPz4gzRbbSB+vtkcdV7Z~D>aza$((OG7dY-}e|NrmX|NpQ3 zzpe!gtPETYDK7W7SY#F-nUi#-uP}DOrS_bawLSbSMhTLecKXeFk&(4hQ*C(~E|G)UPD%%V{r@nAeN@zuSbnx5^vaFK|377`0qTi(fbT z>#ZY=jsidD|6{b}-nH2N($js7>;G=6e`JAG?7x9yUx^Os!9A`hwXO8V)ZM(s;u|PtN;Jw zj8#hgQR^$$FL<~!F*q10WcucQO4^_hz_?9~V-p8o#H`{RcLq;q{NH^I4mCIs5TF;Zw+nn76zt-|)>WILTi(6lr}J9Tutrr;jjz3$ z!3^?0m0tQNIr6eZGw}q8G34z2rOgwqYvTI3Apg?->7lD1U;7y-u`uW;`_U8avG$pl z4?T_FeS2GjjNJuYonjxMITE|>Ff*8WGch$7ZPW`ZRFvatY-)?+78bhw*tO}B%zK0h+u!KbhWca`@(CTjRy6lR*X)j&w@nxq&XSN8UK#)Y4u3vxkm3-2p`2Syg8d-Et+-PTDU~Y0? zX!_NVv}(hF4IOEPEo)eRYA=Xgq%%QE>P_LZH7SvoKfP}dz5k`=$jyl*eyjE_bDuWr zt@r-q#gW;%@&C6!uYbn2Cih~*G1rydCsH2FYgB%A#`mz>0%s;Sg(>q|n0ia$wYc`Z z#-(P{HA_}j1XM5|57?b6_ohL!HqYF0@XOaPzt@QKYXA5Db2ovBLDIy5tzD}< z^7fQVER3KS+QiB%Vt3X%rYXVYSm&zrTr-{rzx8yBG8;uFFE8!Y^h#!1(r}Pb!sWul zBj*hoT;_<}Gwl%Cd%HDZZ`tEVA=+DJ#yF~VKskjF9O z^0c|LofZ|g3o#j7|Fybw+kyj3KL1zO3IreVKES{rTiU>UY(?IxW^4BaJ5D52e~J2V z{)w_-qu`!W+vJXkOPt>EExg>k{MX#fk_(F_?+Ur{Lgg`sv+KRHE2m$O`|JDvYh8WA zsvZW>E5agazLNVT#f`%PnkOXu+#z8c%o8R2sxow6r2Bm}fxZ4GZZ`Aw%5K`uYTI-3 zgTcw4TTkViU)j%;W1A~-eo+T)`kte4~e|4Wg{|NpOq)l*MNl!5iCOiDul ze@9`n+Kp!pVig=s1!|SO^Ny!8D`uqUiLKb(x<=3EBF70KS^a|3Kw9|4w_*k^qz%DY>k#kw$ozQ6c%@ZxT$Q69qfI1TCB!* zzSzjORXRI3Coa-3V@_=A>(QxXK9}y@0E(gGEY5~@XD@fe+1uW2 zjY_jrd)Jvd6fn>JVXS-Vw$DYE8Olq4|L0y-CV2n(rPH1GIMTXva-jH{*NsT*}86tS2>vEc0aY+v1?WFj&3_g zwfDcWAFbW?gXvuC5mygpt_^1=TXOo^Ijh_JmNtB{z;u_Akpr_qgpJ9U^#(C=23%^4 zj$WTq!#1VfxpCl7a$bYmu|;jnlN}T`mT4Cz2+IZ>FkJLuQ=`UA~bf*A@0?}FVAq6}WmYq2!Ul6e7(p{fB28X>G z6<_vY}}QU2ZID=h3&A#>k#$@z~H4!obK zkWrzxj_YK?ONIrJ6%sNG1#JaZH8!02OU~Gz>o)lQe7~ycI)~1}4U^5mbF6neg#Or_ z-JKk|$n~h@@!Zwry$^ot=$55k)D>Q~vUkPK_m`A~qPaK4|NH;kr9nC?=Kq|ZpA^_6 zndT^^Z*E|Cz@S~-6Tz`6-~n@Fd!svFt!VGfn@bORtcm!_qRe%$fV)>o=2JwHlb-qF z;zMSN%RhxJnw$Us+;59#g4TAgyuXVs`Jf>evoDCDaZl2M$vwwS&&VC-;`}^$hp>d( zXV$*UrJRh9L=MR`TvFI@K!AmVN$-2-qslV|j4L}G5)(K!Fw77un32G=Va3b_hK-Y7 zACPr&EJ$jQ`RE|mm-&7{|3bT8_dJYdU%P+m%{FDv`k()QoM&#I|Ns2YLsCpHo$h&G zVDe#LSl9jF`^pCozNmCK_~q;{6y)&vv2!&?9q$Il;KRb-HeS=3=JI>m)Kw{ln`XZK zJLA=H*GI~;ZYlpeuvc*H|NoEW|Nqd?Gs>CF;Cj#?M}>(&O>qL7(bqQLb~gzTx1Tc0 z_*mIwFR*=PJMchfhQxi(Mbpm&vG3S3VWq$shpk2#G9i2)7@5-=56?7En{ocFN!*jn z`M>;sUXj{5Lr!<`|J!PyJoKj3dAGw!<~_3=JX3x;Cr{GgyYgFYOV2x6Qo} zTPzfJf9ai5JCo7w!5JB|mlIvnP|yLdGt;{%?E$iuZs;yyEsytWC-mP&qR z_+ikZYT(>*{?Qb^JR5-vkNV%<6!@$B=GQCtm_4xTKl@c1KhN*o#V@$Sz3cz~y#N2l*;h9h7`RR{u<98E zh-fhvoe^Wz7i>P#cCBZoj8@|3&XvAL9e&O_@;pyeVuFEyK)dG2V1+H86f_x&*-Ti} z9t4Q^DM%Vf_#R<$Y|LyrVdFa2mCgCgrEG;IXZm&r__Rxd&i{MU?>yb!vw6>K2lrM> zqr&HDd~cam_}=9*D#@$HZe4jn<(Y@}f6YZ(&Tzf__quM?Du)uTtJnW;y6K_7>d3;# zC{$#^z{^;=ONeO~$7YVqCr6hT_9P}v(fYY@dQDy5gAGbS)vYt**8X#0WDxiubofTq z|4-9`vr`Xi{EqXNJs`Da=jC_*b{wgk_2t+97v)UMMh;Up$Cj3BvN#&-NWGAqSl}DP z;3l0WCEDl~2pQ-7+Mzu7=p)nw5F4Ls1Z^|#nEfG6*q43Ux`^>$J ztydh9#0`_qYrD*IIQKB0sditV((7JPmB?vPcjAtV*|(KF(t61Hpvvvuh-b zJ-7XP{&Sbd zboZSljSo14?s^MW|2{73{aC-u0xbUD5_FR8^5xs(%=tI6Kb|tD<8Z~L8%+;I6DKS< zw_wK9TJ!%;W&b~)TE{X&yO8TTHw(K{V?!20)I^1c5u7oMD*F|M1v7r1Qb}`Q@&RR` zw++nS>`q@TTEOJx@=JD&4#V8NGc$M2Q4l<8w8q@jiJ8gc(BegpRGIT7%`|%w#RRf< z?)uc7xv6aTB-QJN68HB{c02PX`S<_-pAS9NYr7@rpy%{;|NrMUFLwX`|6kwVyY=x- z(Dh$Y063Y^kcx|^oERwVGN{k;jZIZm!FUGlYGWyMUh zb(1{4xOV^ln=#!tFjcAl|KE)I{qFxg%37ZaL{4QgU{ql6e86}$q4(zdwp%f=i>xj_ zI)7l*vRC#_&-WK>-g)%XyyUrmgV+C0E57}AzxfpX??sIoTuLWbKCi!S@j!t=K}6zi zg8J@fX)HocGTcX1xs<*yv8W9!^0>wDP+fDf@4J_?&lFwDPPW|#V_|BVI%@5N^CH!po1-p|+C z+CF8GA)Drrmtwvs+uy)6;4%O@b?mt~55x|z`cYnG2e+enj<%_56e_dU} zz`)3%zA$-L~L$wm!5t&(RiP6*)9OiNt2jNw7HW`=;kjQrayV!ZoG=Igsn zQn?0zJmWhYjpNsRO1WL z^8f#w;exvN|M&m@|M|!1uxrl0>7HKqwg$T@nu@5*Hs2h>rMSiU=L4pF6OUa#Wy$_M zZ&^@d(&E&)1zwr&1@9P#p18eL{%c9}2F;Ph zA`yXq(%NzY&dPBnOFof$y8XLBiJ+BUs^KiJ>p$hnr^&y0=QdsNzmeR1ga7#fg|7bp zZ~y=QKESJs``5N5-Fn++dAY4JlkU=6S-kvO`o{80jv@?dTNpY)F|?wEMKAvB<(ljO z3m2}tiLbOK`c5>}E%Q8Zm;cq556hJNj!Y5Z*nF19d76TpP0Fl~&DZ`0X>}KW`akR0 z{{Qv95}iLcZ2qRwKM9h-oj@1fJWxkuXmPm5Nrb&+>1|V2>o38A8;^)CJv`%Li$}!& zXUkp}8(Qq@>{fUln03*|G~;B^@n2mk-SvS!&3cQ@|G&uZlVtz@_W$p{=3e1^klFt? zH*UGr&S(0Y(mkh&-CDf-TE?$}dA9Bp;X})S%!$Yjtlb`z{s7 zB@f~(jNjg?+%2_up?{VB@2-%|ny=pL7W7QmvmyF_i9qH|ucx2Oqw?~$2sj)FXmjgO zNZE4P*SO?znyJ%L^EDH$O<&0(5Lvidzqg9R8f4+W6z}@)v-g+2-M6W|T_oUbn79)t zhL$(5982*DuALlYdi2#_L#B+06Z`$woSc5+Ay?*>;~fi37k!HS_2tEHCI%+;yVDpL z7&Klm?66Vg(7f#`bZAcIgtv>>ZY2oLD!vyhzqY>hAO9YC<|c;r4-E<&Obj!O<6~UQnNfFi{d(2}5w?a`*Sa1zC>@xvRYCD#cbuX_WMe1$3xhU(9-cN~ zV@VF53?A+U4}NekeDN1#P?e8mv->%NgHa{Z2WOrnUe4Y zgS$H}+-thc^jzs-fv(>#_CTLKuAms2)53B!6Z@#VS2i7PbGs68-=Gmu`s6G-j;xZ=~Q zrD;c0WR3b0E;jsC`KRiAT>n3#W5Z$5*!!QC?gyQ|-@u@dz#?EW>9voRP~?NQ&pZM~ zbCtz73`2zrk2NLyIi&LA)Q1Bc70zB@5(SE(_7+x_gj3G7 ziwcaDtnAa+5=2rLYWsf6JaCl%#g{)a3pg00-466F)0(g#u~p&5x58_Ny<|NsAr@c_%Dir~9PRhecSF-QoiY*Ibp%fFJNd15T`pU>@IAHQ~I^Ut>$ zy&?=QoHLjvI;^vuanrj|RhP3O1Q=j3^_1N5A4)!5_~PX4)2U$;#2z%j1psS{042+A-Y zxphFGS3u^Vqhq7`#f}C>gDX`LUOu6nj6IC}H>WJB(>2nPT$sy}>)OMi%p=Lv)S$I* zaeLyt(+Y_Ui(IZdPbqG45|?B;HD%UJ)|HbTg-s1NuPpP=I%=})YB6fLZDs{hJ^|5JDbI1V#Z9CMlRDxZDg_1{6OKJWjjbrDoKn*Zfl zaNZ|zqLG=$k49&y4=oJm4@50EnUKg3k@9B#v`2(E1K`|8DBC3)YkX;$_!NkqV((tK^ zV5+aa?l)hDLtLvqe3&QJ-Isc4#bd9xxyjB^`!|Cs(E4)ic2TCprJUJ+!W#q<8$4uV zG-hpgYi;E|4$4Z{04hM!s#XGYNBAjyPNaXbhFp4ny^CZrk z!Q(LPZL0Ye0qL)ErcKh)xfuPn;aab{b)ZSDlu6#=&`XQ%dR*lZ%N zbFZM2Em8H_{XLmAl|K}AEfH1y|Nq~Dki=`8j$4}cmL6b;WmqxwwUDPug&Idfcca>L zk>idg1x8YAKBBA*rysT??L6~FueYIKN@i#OAJ zw)w5@f(-^PCqv!}WQQCtt$O#uC|GvdRO^W1IenV7Ivl7LksK}BChf=U%Io3 z!NFih;q4wq$HoPPOYCwU95KvLFi11G^0{z!A^Q&wb8dUzs6R9G1@~HS|7y8e7{ba4AC%geTW@~d{~yNL`6dGmkX-0a!;KUMDN30=b?sSgXaOAs*bM72R(xs`}yX5W@THn(^5mY`NP_d6}(}W zT;>T*;(FP6^gmyDB#!|5tkBYfNmk*%uXP?uELZ=fz1l;sS$9?RrFFZ`@xRpnX;WMz zwSWH#Cz1XCw*UWIA9jdOGXDOj=$D0U3@!{AObowtS4ym%%gT}Fa7@NWbi?%*m$%8L zx2qhp50RIT`gxx3|Dk4EP#y|l5q=Qtn{AU-VBw-Ao2XjUztPt`^b`Zb!wH$&Hf&(~ z|I|&pJx=le|NpO9{xC4kPEoJY6bUyEmrU=`@s;9|FlkHNROB<2D?zcd4X4Ij#w+-CWo_^l$vrFTNpYj`OFL)_Dw9%VUXZFAT~#5&3gIdF=3m;&qz zug-hrkZ{FnLhj8+s`WE;y!hLqo~(bdU<6KnEE4dbW<;?ZXOsjg*%|va&lGjG{*lY>8|AIe~>i`2&N7%Cd!@g?M<^R{dJ$LNw z{&IzsuMJY4Tdwc?|F!y~$K;r!%Um9PSu=}s(Uhaf@!`M!e=aC7Xa4=&QKTm@Zf29g zT3`9Cn&5)z|NEmn`@*I7{k`C=Ds-lBXL; z-o4e4e>)gBK2F#AzF`5=dGKD;|8KT*#_W?{t1}^fn(e0Y!j8b=n$w@|=eT_=(DeHM z|NoB_>bp`*R3)2Sn*$^m7#Mh#a0mn#e=*w>Q~1o!@$yQIIiat3T3f}~r4nPeujtFz z%kQ+osZEDz7nj&qrR7V`Ykc)r`MN*;qT`jV^5zZSYsGz392k_(D0wg)t4WwLt(p7H ze_=_}kjR{M7abQC_vqH9L zC8sHREzBR&16~Kaey}{g%Qs0qOfa`nU(YA9;l;dHUt3L!W|-~Te{D(jB1ilGzs3Il zi2vWJVliQAavERbhRrTV&ib?6Z(`tkz?{o4Z)VTpH=#u*S>{X;ImzlL<6(So{zq-a zQfZ@ljyF zwM3?a4l>8N7k)Qv=3<+%bOwjOzMD~2vS+g{FJPNn>2v9jYIB*2w$f(d><=!{Rp&BV zOH}mEJ@eq~`$O;C`%) z7i)ud`-^8K|Nnoj|5sqv|Nrm)@BjawiU0rqFc+)D9GMMXYeoGEA2x0~`;_xQW5Ugb zLk-QWg?#G_3}zg8@I^qza8XkgUqjj*Mc&rkmi{k8BnxwbES8BiEjg%twKvjUyU4?+ z)ZkT&et)Cbzja>@ygyuWqP=|eMj!B{;CgK?PU&9Vb7u!wwEWUd(n^?caIUuQx9oKLxTvPi} zmXWv7EkXU~t&Wa{kk1Y8ZPK{7pI*+1SKQcdyuvD(@DISFc{=-LU`u|0^4nRqFrOHM0KyU)7YQB>(@_nysFDf9;>UU;{(jwWO2- z-4DOSE-KyRc%^4jaE5eGgn$l5mh2Ply;G^^ES=P%Ji3-bwE=}9GfOWr^#xqX-BMdo-YmOIu*e)S$82hIFk@QE; zp!tWF=GY0ES5KEO=sXp|VDY`hS7>|n-M0da{?k{MZ*eIWiCOT$*#-_R_j)JjbY#!bG9c~g^ z9!Q#6sTAkvEZi`=PR?=fC7b_W7rJz8tvzpYf7;S|zMr{y`F`cP)@ducc+6~zCcey$ z<||IP_0jR|#eBZ9tkU4nMh#;j;m*_i&S#zX|NsB*#Qp#0`HH8?u2-3LQRCLFtQX5Z zWQ70OWafvJI+fg?A_;>5m*8GQ*6saZ#y&dO|DX|QlYANMCAX4$7J5}ePg zgbMGu*1b<~PmHRqr^j7yjzovA$!@<=ZZ-UW$r{(XM(MkL?~(Zb`f`c~KFiO!{Ws&f zj{N>G@K$hr78kDA)0eGh6wQV~wKteP>lqd_tkGK+m%YCC{caD@ zM9vh2|NG=0i534p5ajsc<(1pt4b4`b=H36~`|35Oh4JhEzv#KKVt3a6MSUeT^?#$o zcs;wh_W!?E_xAnOKTj1HR0;)*eR;GhHZwPSS96ziKc5smxoI13>I3hc)pu<~EWE$mhA<#6pUG191>1!j#*S-uk!L#x>v$P*FZJj zPnidPOkSS3aPFzkOB`2!PuRDjwEl16yv6_jA2(c6P3z-xVk3?+UP?K@dq!GBf-Tv7xsj4YgivBl=jJAbix>CaT#!(* z&+H8E^28#^r>4d%YK#|7&3xJHopc~Vc-o_%mo9rdElbjUvhSpu*vLHeEXL$j|)>}O^&R&T_)sjyCXDkzYI_5|G&Zh>$Y$- z3Etm*HT+Zk`SAZ5pRzbunihAQdbBNNui<28t}te2j>Y^^rZHU(&y*P#20S^mC7^`2 zWO}l+F=yB8*vaQVGU(jS^0_@Dg>4GU@3~Ljq|a)1T=-xM*LT0Oy@{rt@xM+pWbXpS zkQNIIN9;-N+F1|mpS)a^xu`;Lskh15jWGw_&CfQtAU1D_?rnT^;cw{vHdp!jqtf%Q7kzs4&9tLv>#1AY)~=2&s5f8w za`tT2y6 zbYHhTcT=m%gu=w2y)Ki^W&B^^@&yz_DlE*qg3esdU!q{U{FH2>YZd=gZ?&9Ho(JAd zexdP4(`#a?YS>y8v8JGcBfENToMrLp=*?JJn>=IH`Ztp<6v>30$T&6c|Mh?E|9?M< z$o=p2Z=nK%K;hp8z3GhCD_-8@i3<5+mB==I0?*7ErQGgn<%~aZmF1x)`W(;mInMw8 z@Bf8)uVSN@|NsBFQ<~9X4FjJ5lc%wWaPX>~d5-tyc#FiPMin(SYzR5zbK%mD4IA7;C#|9^z&@mX6% zChlKzQ{;;Kq?4H;Tm1OGzql*PRi*KwwEmi|%Iy08dlvuy_mxFMx9h(~X9L5Hq#Y9J zSA@5`&<^8Z3T;u-I_7nIg5!(-Rcn^(u`_>Se7R;%Pw}yKLHqxI?T;V%`d8l8HtqiZ z{|7}@F)U=WIXZWRtn;zf79p-@tV|LoYPKz#prI5lDcHu_cbJ3OVY~E7<&)EX z{{K;1{stN`FicZ#Vi1^PWqB;(yTS7xn~Ks-oUD|P+nngU%<7}i{AKG8C9H^v?8|zZ zI_FBs7rQlGLMe|YX8oV*{{On8M2qIlvMG*hPx1;dhu4bp)G#k@b#FbU5G7lq!=W_e zUqs~h&*Bw_E?qtJFMPQKqhZ$1g9n)(K4_kwK4sRv55Zjvj;*vPW(uiZ{eKP5!{_^d z_2?a0nf+ChNpS1x6_J|P|NnW=CBFavkGKE-EsZEX*pU4zXnJX>$3+&Fh|RYpLY5sn zF~Nva^O2O^`IMTM7Cy^AW_|v?&i?VEiknMl(p81$3?if*z#|MY*CDS$FR`ANqo^q z?vngppU+j7c~va};#wlOD|7yeqlyXrpLx7A z_MWOL4g6)raU|(@>53#>$?2D`FL}_;8(aVX(9_S(&R&%Z7oIe)e*5bGii~Y8{A|q! zD)<=`_$2;0nQq!<*pq%(ZsyJ(D$@-6cO*-mzH#c_@3WwLXJcctU}63vA@QG; zf$2YkM$_W8ESEB`ES}(a<*bNC$b_j+1npIu!yFb^iFy4yy1uJn*T4N+*7u%@iax=m ztnyr@{lF&ul7CZcrL@J?MrpgMO!A!MsnUI7QSZL@@=YSYHTu+*x#Bz(LYH;*&04AS z$=_8ZEUC+IPE&XN|Lgz%A1ki*PGRt5sQkgNn&tFaYmXHdD2ALEnCApt43^3^u~$Fk zYtNd%&+4t>SH|n`RbI1HK%A>2u-QR=ntwuJdd^H)uc)g1`@`%1|Nnj}E@)bEeJ#U+ zts>0qU9r6GSN5NEEQohtIS{HGf* zcJ~&)>6p&5D{bY(;FG$Z9SZgC|Nc&M@Xi1KKK9K1|37BC*tsb(C^Lv7`_|F-qN3kii#Xfs|MML4=6{%Ax#4ri&J68kch&1#`?$ob zZi%unx^Y!pIxIBr#EDhO+h-M+@iMFNPde7d#&AXD=&1}Hi5>>e4in}Xb=fu>#D1+4 z7l~V=G;f`!oVxgvK*7VN#!0s?cE0}`bzsKj*xbJ<*Z-es;rV|>=Zkgyzry|h zf3E-kb=|@X;*$H_i5+plXKp7y9^PF{IKM7VtQ_3aw%(*D29 z{eK=@|M&O*f0||-3=ImRGIHN0^sl?3$JHrSX^`L$Y4LrEOCyhq#0N&7CXSa&*BoKs z*!uEZOEX`mq|WyXq7IsCG*X%jW*Ul^{;ignD_3}P;~|p{?soe#{^9?xu*{o&!O%5i zqWaeGe~XvC|2kFw|9_S9_5VLj|Nn16gJAp@%`aCN7+NhISg#A;V`tL4-YlWP`+;3r z&FkZTZ)RDEb>};nUrpM4&!>@n&evw8;ztkfOkaQHhHd@Ye^Ffu47(THcHZ2)ATyP5 zT8h@ODQ-+5rKzuW90+wtT4v`^G-HyDwJOt(z|H(eJF2>_&7Pt>YZWI$6i>eG!;=Mf zq@uZ$b+c{#>%X>XT)e$9)@#-B-`TqLD~kMdSN#7MSpWZT+Wi0TI~K+Nn$sk}#j<4) zgLh<8k{xGI+$$BoHD1e>mzrN{i?e-czxnJ>{txS1zZKN@89n8`p8u=<-|AEKJN8IP zlxzEbUF7J;aLB_js)e;etX*=drA4%I5-5gZ8kn7ePHnDT>|mYxN;V;@wD;%K;N>gU z?|3P`;>+jWuTu-&n{u3BoBExBTT4?ik7eP-2kn|4N`n9Yd~tk^c(MA-|3B5;qJpa9 zP8??zjMX^x;<%Ht_G0dDd%8+Wl1~=@|Nmj({duQe+MZbFJY%^PAAgT1e}_S#>xn)# z@q`nMVk=4*Wc2)H?oMbky!EKtbe+PoOHZVy-n$m*FH_X(s~9-#x#^kYJOBTi+^-0q zJ$qBIQ*ni9rtDTV4_=2QIUC~JA}6HU=EN*ttm3KaHGOqs?D5lA6;AJUV}11I=Y4J6 z|M#O+-R$(b<{YV$T~uc6%9t1Ec`;>zd;XmA7nP^Zw4Do{I`L{>{Blr#`iF~bU7*vJ z1(DJM?R*=g7;2cannZ%tPcTjth;$WdG`<$(lC3eWPei*-!Z?i3mX1SJPYT$yotsZ84ErF@gamfE*nf41TClAHej|Np=5Zua8Y6q_u? z*2yy-ADy7hn6c&YRh8-b*BO$8w<+y)U)X5Ewr}Et7QqLb4m8f^+Lm-EI~}x*wWNV* zd(gGax7L5k&Q!;`WIaD)>TUG)#5YDi!;Gyht3-4o|1aYf-sk`LUt+_5L#C&@f8XQ# zy}GYv?K%Muqv~0GZ%Us3asE>=F@R0~&*EJRubL)3|MKAS%k@$5j~4TN4f{7s`v3pq zhqo+XVw$3n)D%{(CcQ*)ebCHxXYZ*T+;bzxDt&|Z``RlP_qd#I{QZNKh1I7rbYVyN z?f+K}>?<|=W%K^o&i&v1&;S4b-2eZd>;M0n_W%EPQ+em3L9I6(BwQPMTsN!}Vd!EA z@7N$Ektr?lO27|re~03&7Q{$>6zzXh{@??5ck7#f zn*6!lzr(*W8{nV8F!1z<8jtXKAQVr(JB^cP{y?gb!OvxW(EZQ7{@3^3G?;94anr=yl8hy%SFZkbrT^FQr}h6IZ|Kke zU$-d!|DWAfj4ZZu{$DpKR9M{S8Nuv#$YH+GU5*E=$r*W*Jtdq@d}rBKeK2bJC*_ZS zrs_*vS@x=s7ETJefTF~hot zE4Rh0TKlU~_QuQzZ=HsfK0Z-1R=n#}KRPQ+PdCIy()PEP(?7p&+>;lx+-{mUM^rt~ z?BXer#-iHq8~g**zHqwynwaYv?XJ#pt;l2(_dekjep|igm@TZd>Upj1AJ}9VX%(pa z;^KcW_&v#`xq&6Z^PF^k@`1Wnk;QqQZCqc~!B^Jm-1X|6ba&E%V+u+S<6|esYR*atiZ{$~Y@V1q{pi8}5>1@iGXI|niW*55 z-Ptyk=jp7g`(0-Ttyr_v_-C2>`v3n|aLHy|RQSC5r*x7h)3YFLDdvu|<|hL_1?*@1 zxY*>}D%BY?+FI)`F8=uI%YO?E?hkK^3kv^#I~cnD^5Uh(_SgSE%*oFvXp{T#&;QNw zx0bGo`rWx=b+=091`e(ppR@G6BT}cly8b^kc}_{^=A#Zj|NlS2tfj!fz^JIedSt5i zmIDob2^%&fBw0BasqHwq`=EkDlZL;nA6js@>W~)&5eMa<&2%oE3)oI z_2TpM=ftls@1G@k`%jBGW8CvKf?UBG(f?;EDMWt(DC5dtOENZzibn=TKgw@ zOXYrD>+oap)4R*e1h&uly#G$s|7l+tlvo&M9(H(P!ozErz|6($+}L|KkU6Z>3y(h2iw8N zt9(~K6fnE~S6FH?%TsZUy;**f=1!Ihx|#bmGPC~pqF?c#rO*HWf3;(KDENQ157SaV z4<@;DuU|bp6t9?m{?P$dpBbT>JX8wwZ$JNT7QJq-yh{K3<^w1EJ!2F?BcDDXDRQGGSXz<)b!>P5YDMLg2$N{^A8Eng@FnFja zDl(MqKIWis@QuK_guP5OIK~X9rgM8uPedcv;OV>_W%Ej`u~naAUxs|^%kRAW|F}P$@Bnnx zXG$y&^P!+)!f~q->{)*KCcg6S=k%8F{krnN5ApQO_O0g(YWqZ8cnn+=R!(T)l(1K9 zV4Sgi<-|_LrUNG%QXaN2bha+r_|h=5<3V9&s>h_F7#LB-sX1MtOugU)>d3@Rb-|GJV?d$*l+Q#>g z%l_Z)26oB71q_o;q;$MBIsKBUrEX+zWtwF8P&qDl2Oftb>2?R>B@5+Ivx-doz>j5{t918edlS zXE!G1mz`o+=T%m@&zU6JW}T$svv02GhaQ&eE$wqT=ksw1IB;k%&uL;j@Q~wv0FMWQ zh~oJP0ll3wo?HKUe;a(b{Qv*lvH=VxOkuYK*Bm(Lnsemn*#|!JTQ`1mlkEEWb*or; z^`Ua}mowJgd260qIB1sR$IV1gQ!bT(**)mgg-399lW((Ap{@L)$e~;hpEqgCE8K_BQ#fF{!-0|v2i`I&+|EKdB zP5%Y#ZGUCqmYscb{ftoW8EL7Zp>kWluUoa6m2>|uPnBmU!-G6kCa>A$)v3A2lhs3Q zncCJxU8b8fOjRZ=>aLp<|K}}>$eIX#5som&7KfcP4@x~Zbmj3p%y?M1=QuO#kz&sG zpQp743wSoa4KP-4P)rbI^jwtl#CxTn#=BldWmlH0hh;Mtzj<;md&`x_47n_AmTRoO zY=5BsvT-uU#bfI)ovvRiCXv;B;{TNjwv(?`&XQhN@K>NpIAqrTS>0h5ZoXYKNsZmR zF;D!wzWYmk&`H_z=CV(;_7!6YOj@17IK#*J9aENu4%_3y?>RuFTnG=#jG&|4yR)y@ zv!9Z+U6neK)mzA~YPF-l^o*_TTlQ@ZdK9|gpkjZ_%CAC)8xEB5JXUT#bpEPm{U7E+ z`Ts}i|93oo|9kfT{}ZM$GcYPdW^lion9z7}Ekha?uf&OO848ho3zy4Glkk{k)upD= zu*^brnMJElf(TPaLR;s&L=)DGtTvyS|8*Fpt9=<9mNe+w9eWsfDy?O9e%45@F{PG?aqGjlh1&c0z@f5>6q^ls+$HjQVM``?~d`P}7^&vyKBqKsSK z|9>llb2|S24EXzh-NG*})>G<#U1bPyV2D_FAf;u(40~CT#_hJhO^%yOnRg_Lar>BT zJ#$d#jEYR}t|A{Zc4mezi(Q!|4y?51Sk~Fa@XAkFbeSuw-T%u+?$vh+KG1I9_OPiI z4z1VKycCt7A*s~Sqje$l?lj-FSkv|2vic^b{+}Uy|Nl?V{h);tKhE*Q?|=F7$|H`3 zN1e|Z!1a)GkMQ?k*V(p<66}}W;T;v`%UWz83zmXxDN( zFZTtLr?a15`-=A-Ymnz`ZWadiWy$=99A!_}U+LZ}z>p2fX{$si%HE*A?7nNeZGfTEY9W`lhGZbK063Ft5J3UXt zYl04=S^Q6(2~v_<-YvU-?p}KSgtd)&6Rq!+_|{)^o6DfLN$Ks>pp_R=CtT#58~=LK z>G)5b*^9r{&#?uyeg4=qd;bq!dBkVZ&N)vWn-y)EYW_${%Ty?C>xI(;9rxsJ4B#!hl%BDL+w62tVWI6&P#$t^VD1j`yqu=b;Nl|jDLXesc*%EbAAA0b z3^QJqY+PhE!Q#Q!gk`gr@hDEY@N`AWf0i%Bom#7kn|FNBXxLJ0sQW+kLX21D%l2u4L1;@OaSEfXZck$*v;1`(}k|`aOTuaw~Ms zCbg;$_V1O?oQyPj6~1gjmqDar0ONzgRdXHv?n&NUwpwmN%x;0qbQ78> zB_hhpX?J5z=A-EoS(X~#e6;8jubBD&$@1Es^ta3U%D^Du=l^WPE^6?hweMl%3dG$dN^4k zbN>-dPmyU8ySQp+X0snrneU$V9TL&StevFKIO>n!_h1aip}$R16og}eRerq zSuIkQ@I>;{NzIJDTAP=hPhQqYwX<%RuHLr#YSH~z4_$??my$G=#x>0kY~BAKG#mnU z>Bm1?6dRg_4loD=|2j8yr`yCF4G--?md3)?tA#!34?nv)EZfigf8}czFNIg1f4X0| zBHCCl1&SeGPGS3?qr3Z;D0sEJ`*TQ*#$!k`VDJGTGtq z(@(+mnT<^6(I*=j54f6|-%(}ood055p?&uXwGfHLy_bEbt@@Jlvg_iqU+-St^;pvX z|NpP)VE_F8e=_7@0!zX?iy)Qh0*587G(46xIxqm&=tAm0uyHGFxfD3^W^mK zuq8ZE6k&KMe8j3!+=+Py$EHA&%MuA2)MN@)at9s!dQ9M8>gR=SG8`$vZr7?;zM9N< zEiWUYJpSwQ|NsAO2d#wy_cwk|a*1qUnx}qzYMui_{3}ncwObg(N@x1+>}(J^XOwDg z>cH@3qY%T*=ykU*CTxk4VKOtBRw8O8-XtrfYjQfUL&v(b#Z>*|foi8eogbu^`7xKW z7!;pau~Wb&kU{R@v=$aKW0t4<<{FQ~Pr1E>8XfFI((XXs*NhMB!mkPsRh;|DRu2WlBlO`jm3++2i6-@N}Bj zlI#EL|Elzh_^C}&fZ@;bE*WlUCw-$U9t7^GyBWtL2R8n4?bu$)tt`%|E{;Mhr;ZMM^?Elx#)6~W&i*GUZ;cJfNq5P z?;1DRO6BMI|NsB5`rW|5!2kCD|NjpR7&sVJnFD`&{*njn1b5+PV0xr+DbIERLqe-m z?D0Jerwz_4+U{at3=w*2zTJT3rH)v#Ps&zdx4@e0CEWp43LzRsi!v_44U}ps#KHMip}$RuFanAV4d?v z%0Ye2a)s%tg{?LD(c8>_YENc=mA@(d+|z3xFAJ9~m+C&zz>w4DQ2$c!Yud_eS%=Lv z=S(&oOgg-Xn@5!C$m|K6-HIJgxO=)BBv_=g82>tliu8Cbz2qtBVH#1rc*&L{MX!|> zDy$Iu(wS1a?_M{T-oCxHo{?MXuk8OS?!myoFk#yThGc#>=_>I!9)?p zLO{-zZ*@a?>HvAm_+IVUDh| zdyNeqs2oyY-qpt5l)PP_X=S?$yG3Wp;VK6sR%wo=73tW0#3A%48JJIA;7% zG)b=7!sDyl?tfei=U&B4>sFeY`Tzf)i6Gr2fYiM=P<=ZSL) zb66P6eY!p?|3?k?!u-Ei*Z-BS|Ns9VsF3{s=PSzt)_dn7az5=cNMtBXFw5B5Ce@VS z?qlNGXH&x)YX^!U{syKU#>YkT8W`e|Uu;^J!@z4X*KubLgWz(Z726FPn7o@6xHvc@ z4UHIM58QTY*tpE~)G9yq#2Y>)_kFrsnmZ@mE4UgpJ^tE+`CqGpLvvDQz4G0EQ$Bot zD+8;TgO#_=h6k@%3{EV#xhq+SyGO0v#7N@sfo3Tthk(bjlDs<;4J)Qtr1A3e30nxx zuxxgFoEPn|v*=N^)l}7=hb#ZA`fV6Ev-bbhx%pAYKmPy!|KQF^?DuzRr|0dW21nxzAHoCrl{{KUd?El{l z@ODt(y8i#|wrPzF2@K3kid=1TZFV4r z7PcV8vBx(_y*X+=yV2RI&iaq1Nz_nqw zaqJ2P!L;eiwKsfVk`z5wOm-|b=hC9vgwiFw`sJ1_ssi7cQGRaeA;)WY6 zX3W#szfZow&0z3ph2YV$>$c&n8giF1rn57YB)dqd2buySJwYmSGKBbFRTCm|Fe6+%6}W8cZn;!YG8VlYSvI6c2)Vn?#VAA zq@JXEGj&}oTceZXz`(wB*_KHv@k|GWlzUDuo?+~IIao1EQpjc9Orv5$v59{5WbwLP|2Ox`CX24N9h&8z&J{3d9oOaMt=@AX^-@{R>p&aLRw>U+hZP(}2a|RD z&bgn73r&9YdY$CW_gcbzAAd9KbDHmWCFSV<|NoCA7*7)3bZ_dfdmsPV&bU^-epd3| zzwa*e%vkmRcYTzmD+2=;12+Tf`=X%PFIpU!h4h5^FNWsL63}pA6wwei@6ije+YO2# zA&yIH_1!P`hZuyj-Z+%so57W`Tg104+tF+C;@)+p3uF|QTvpWRb2G{48>IGFTd;hGLrZIcX@TSbZ(-CdFk@}KU0Jn+|*@E)D;6J{;*^@CwPd- zt1W#-1RJkG_=9$5c~e`T1w7%glZDmfg%9^lc`s5GIsInM?Z`eKx83RnI|NR~ged&3 zd*{o#bmi-I} z_Gii#up~y-3MsOm*&!g(Z8d+vThZH*Td&6z<)wvBms+rLXTtrJ{~xJt`?h-bum7*L z?Wg@;+nBuV#^V?3IE1Vi4zvn|nao(V;fr-#%L2v#9)ZhiSdTUvR`fU=X7q~Sp0%Ch zaBQN<2Dg%rcd~m99=R^&@qg2VXa(k(*KFn1m&fdgFStK%`NhAhI&{=m`JQe%V30XS zPGXs1eve7Q*JF+c53m?`v>PqJHiFE9$eKaE0BBk30^FA@%-Cv*q2mYbPBET5@AydaqZP&v_BvvTR3R;YF?c zOlN%F|NpNM(|Z3zg`@t>7Xmyc2Qcd>r!Ss4!L8*;L$em6t517pf)2fA{+ON`dIe)Bk^U9+>|2_IqZwZ2uD{SX6r% z%#{4A3^%IC_}_O)HCXGUEy?36z&~5YwZ|}lVFyzKXYZjUS*E^jKh8fs6Ln`++P$~0 zE#wcxxNmO%|6f4j&-eYM>n0o5f4=|uv%iK{+rbwhJI=)9oE3EDI>X2E@F9z$s^dfL z22al!%RIz>n{S*f&#Pc^s(EGjnZ9}7xIG$FJj2!Z%w%Io3q9;`KYrcrJcG#PX=OJ% zO=_+GeyMlOZDHVYR?cKNl54X|Lvqy>9yxAK2gaL!{^#B{PS{q=ZBZsSS9Sgb+hykk zOmt@UUG`G$5Y`L~_xq?D?l=3;Rx6()_e+oXgkC=WcgZF(Io$|x$b>^XY}S&(Og(` z$ieKw1$O3*55kxGW=S6T#&|_8xoLOZba~lQv6F3Fdl#II6Tcd+rRViuiF0#KrF?z& zyo|G#Hm=Q#z3gY_cGx^R+f>KPEdKw0b4LXu1_nMg2g%K`o#I;?CNLPJ^Y)rF8Z2*! z+)`v9S;6XJFk{Zob;<&bA%YWZ(xk;ss~P?HqEvMB*?!Bo{;h=;5}gUoY$>LD=T`l1 z=l0)ix8hxg_^U<}2Bwhx!87?z9lGDx+-r~-CgC97JZ_rj)*LMj2r>V1g!PkO>7VQK zgqchZOIm?qD6(VH425H-W3m#0RBjy3eci!j(<-K0#_i}Nyy)fHtqX!qtMNW6`KY=x zLd)jW3=Q77GWsmM8p3VihHZ_XBYS;6nOkNZmzAu2J^fv}?2`>H0*32m-wppCaJ2I6 z6V^G}zyIC;|C(U|$A&GcrcW$e4>CJRJWBs|;Aha{&FTdy97df7m^f2%inH!~zuMo? zxx}~m@6tVc_j=8H%NEKPUa{8ud6SacB_Z?s>%R4DwOn-bf8{LE(i^)Pl!Bfm&E@Es z)+Q??At+(O!o=&xB4E%Ua!9*4i{*@3mUVB*kp)LDGiwUVO-Ns0kz)F$oUP+@w%MN& zH_euXdFI#t-pu-EBC-9qmGD#W;Mj5z2AQv~tXO8P2oY#u3ODmM7GM=)m3QD4;1O%) zP?&CWY7NuR9TR6%lw?o7IxS0Ee0}&$AHM&m-Z*z`m=I57u&muAFu$>AW;e{%Chki%Mw9jY;{vK3pm1h0YlT zG`detV(s0sp^xv;x31L}Y+nC~_zddX{GaYJIrU1=*MC_70ZCrV{6(BZ#M=z5gnlw+ z`S9p82)tZ&J?ZDcv@IQO6puVrWU*JRE&jlB2ERGVi z{@Scp|7sgAv-^sPO9CgJ%;{xhGS+x!w(8XKwp%M+h1@x&wr72Rzr5&AP#)@OV49XGd9>NLB|ba!XKmi8 z)!P5p`uujwj=KJTPNdKJ?nOyA6XP?&Tg?A!c-4p8wLK#eBeTgyELmfjZ4j5ZUgz0{ zWn7G1I%mTe1m%1$Mi>bAPD^KQ?JVe&nZJ8N-Z{RI_V8HqIoh?Lebe=;`l)^^ zXO}W^EsHw0C~j&=5BJUPsSGnr)D9@52@4ZoJRg)Z)XyFzd{Qn!?Q=L|47j zSaGKBxW&VRH;OjhsNVUW`%a(5&8;#ym+Fr=d6(Nx{xLK8MAf=-le_i*o-N5rbz9?6 z=P_SXNK}!}P(wlRL&%3?SC1&T@q{r;8#pze`^d;?XA%K!gA2Q6^DBv4p3je(C*FqDx)N-eilI{fghMnnEy0ZwIB zkLOL2R)s}eZ$A_&6gv8-Oyaqc7e22-SM$`3*uFg{c}~fNu0ryy!_D-59f26s_svzi?#=`7$Kh6iOV!C?+F1k)wG;{6N1uu@I8a{Fh znefnRLGOnKuFr+X7V{r4=H*Nf6_b&aoz=q7vDM?M;1da}3zq(OG8<03^LRO<`Ml{= zoy`;N1sbk7Y~;4y<#lCg`O2d!ulTTixpDc!0fr-!W&4?x+>~ZZS^S)4-Z=T-vh;fy zDq;x%O-?VYYW%X=T%`-x*;4wY)Wc?%?-87~FlBKL``vjN&Vk2Yd@VS)`Psd-{`Nn^ zdD!?PX0q0%Yt7PiVDLD?#C7I?!z0$_uJc+PGfXNUc{8>#a3s!1cwk^`!BHk8m=UQR zB_X?bAGkDZr{fAgniAy>mI64&w6ulo=o5N?pf{wj;8g( zqH4?ki=Kb7a~^X*aaBH>i&J%->JtVA&UP*a4%3ZGK86@{XiQ)*P&syAi043CUq^2u zYaC1O5tg<|hq`iYicUIAIhM1|bAgv8n||k;33{MBbdZ12YK241v9l6_7QdL3oUg@Y zvzv$ao3^9H^u?LWJKxTaYqY2-=UIDD>74wCQrc*M0z z#bp+gT77@c@Ao3>Zf=~x+_>{ox7|I{C5~SXFfb(a9B}w?_|t~t0{c`F1C%mOwPi-y zWq!&@f54Trnk{AGyzDNeoCt@cMI31}z7$_tl(wNJMN47=)1)RR31PNX!QOG3f-OP{ zI2$!|8m4gV?bBB}zmAznP~c2M-~l7|9*y9eQ9@VtvI|VOF>guR>dIT&*@KgobIpr? z+0J}2Mv%PZcdEUz6H#IR;Yfaaw zqpXqt-`h#ltMLEHtCM+NwY-QYS^v$IFQ)7M|NsA2RkgF$c3=8jRaMnm7M_{pI^V_MTW0H^2J$tkXKlz57>)gzJF<>kLyOsX`p5&6x>$F1MeShu(hLB^Ov)-C8cKOT|(D}Hu(PQ%Bm)qw_h^2L# zTGUD$TDCw!bj|lyxB6@{rr)|UDOotq&;I|Z7Pbv$3=+RRBO)vpHZ=PF=aFS%U^i2I z!fOzan0d9q^zc+i>3hNS3_tW!az9`=CVk|4TPR_Mhz!9a<7tIM{tayN6ubIwwt0ciBACIUtIyVr60P zBCe460)8oL9XppOI^Oemz{h)bTF(p%Q485GW-d{NQ&Mg?OxW<}%lU>t69bi3`j0If zWCb#r6*-#twhMMnG%IvfPuiK`edIvbmIY4vwfhRB`|baqKKgj?+VEw~^%Fq3|Nqlf zEEBpO2DzlmrZX%ztZ+A0J!n**$kLRyWa2TFmSs#w(|Q=6EJ~2z_08^B&m^HEdS8Nh zX6dn$OmXub>nW-8p5YDU|6`u;sd#zNT+WHJb+1pVwtwwBEqw0(&tUVxUj6^yiXpf` zfT3@-^P`p{0S*c=MvjUG8+cZ!8dWkzyL%_H2s#{W3w{-v(>GUl ze0=p?=I4p;X0vj)G=<$4-L`T53ZdNpSMK%xOI-Oc{{R0=@)zVkBpgUr{Gm5o%6IeV#KO8=rXjoAb;1Bopop8$u?q zH1aB@FA|6s)u=9N6i{Sa@O7rrvw2n`uRW4}iS6!rFh5D`(1-urikdSOQ$cxXN)NMs z+#zP$&Vq2Zj_rl7I)v8h%J|w`Y}~LoqvUwMxPqflnnJCoi9@;q-zK4%U!206JU6AK z{;!jgPyD)Y;lTr$+vFG+1l58jB{DEhdLHFatKf4m?~oH$P^(AX2CK*`QzlQguB}(C z4#~frap2D~7n#!z4kkzDw61Hi$QA$caY9wrkEIfF_p;x0zcNkQ>h|cl+xL_Y8^YN+ z9$KrYca|)9#uz7fz2(EYpY?w7^M4l1;fZo^6fI(LD$kVi6m;`gm6BXGi8E8gEarHN z!L@jwUwl*ge0*O|SIs%)9NF4stsR?k%JtCu1Y?0iJ2uW1+k9My_eg_cy79%+rB#v{ zS^xdrpH=pRnZ+A#+BpAn*e@eVhrlrBPHw9nA%?;gT?(8pQZqI@%iHv3LGh1mQodXM zRz5gTm}pt&^Z&rBNrsk2Yi=60&YOE|kui4pm>b|1aBF0HIvF2olZAM@MTbw}{rfln-`@E2 z^>6<7lnTdQ(_(98VK~!pP+4IGN0EWrgvCsZJy8a)9UIuyFMbdZb~XDd(GvY+le)>` zlR-h2j1^a|1PeYjjdAB>Ex#1HwdLm9?VfstrR(p9uKa&;|Nnpe|L^`)kWr1@wB>%_ zg9d>N2j&Ndnf&LN9KZC=-HL_Wzp|#HPx-xp-yn-u=h=f9k%u_WQrx|Ns8NQVxcBUJeqq zZY2$EbC#zx`M;f%yJS_v(npNxPFa%+nBHDl)xJgShDPgZ!!@w>aE5ee{`Ub9wN4xSsu`%hSNX z_C01oqguS7;@3JxWzT!MB6D5lKR>bl`LzFcT=b)Cqugx;g@QFsUY~#H{i+33Qyk`P zoD7Pg84XO`>aM5#gAar~tC*SFHHj-?uI3tp^NF7POHKYPm2{l{_gTUF{+h!7jFKN1 zj2+LPF+6!YYV!le<#va!7BV^Hx#}b^%&LlW?&xXSxA>Ogr&!BWyT&;$S8#0DXfiD= z$TjVno}$Rw$Eo>Orey3aZ8%<6nl)?Q8f&T5VLWM9bFNMGUYj><+Bx&@-aQWj{e$~o zFA!j;&Q;0bcE7Z8Yk2a{g+*;42kLGJ?ykSGU*yNpjTv1VlxYo5Yja4>L5MGj8Uw zm=VBG+i*kUM6&fm;Rg|F#if-ITQ9IM%yxPhu!GA>WzWiW_m@SBTy0bbZKVHdYzz{v$ zUthW{)pX#*vIjF)Hu3vBxEuUeYt?2@3~gv&nyYp$^X1{V0QQ|{ZB(!FsvKqEOL^}Y z)W59cvz^;21_cI*ShtY7>OPE9qOX+1JfC;i;Y@D9y_Y8$n7*+~m}r?5$MUK^2r_AQ zd}wF0T<)~U)wAhgKXdP_f5!Jo?(;c4hDUa;KW~>i{?-1Qn)BxW|MUOK>i?gA4w_@M z{cmY+ef~KE1JhXtjzeuOficqr!uc&XX?G|Fe65|%_d)h?j19||h`L9G%q+@xM5{Nx zaNBV5(Oq@JrB}KmzaLBZl4r0&S1j*N>Ym>oaVfFZx%D@}?S%VRPF~g2V9HqF!n%r4 z!eIA;3`2v+AFZOT(}WwsnT(xVCdc+p`x07xw3~CPx^d`&SMM!OYj-bl-O9FQb<$D^ zr@{vdqpx57y>I@z$NBCT@14IU5hl0m{kn@17q!|nJg>~!>ymnorPKJhZ^tU(j$cm4 zTW6o_c-cQKUdhdN!kSXvrz=fQT1QqIuh)<{`q%&R{VQ$L*Tm|!UeT!jum6Aj|H=Pv z|NnngfZ=otgY?lGbF=Pfc|>Rx&8gE65(!HUbZEGAIEm?z-<3e_H=r2W*F9M(+(|n> z`#|vG7dz8)GdLf_^YJd-;OHZe6uEY-gf{;-H}3P-jr0C`rvJS5US+OO)Or0=xzT5M zy~NgsUH{ba|MR_V*8lof|Nno9A%{OMR7k?j`LmBr!0`|rCJsM~jULQytXmkH(hFr; zX4+P}MI?)GG0VuR?`*hbZuvx;>!ip!7is%#o#lN(q76uQuC|lVjB`|F2Ju1M}Hra)XbIv2BfCI-oo9Aw{I^pv6uhKTVkcV4ll)n*K z64&23igpCkvaH|7_Ut;o!65YJH35WEb9Sd#n-r#<6~N%P!Z%rdAIQ z53aPJrHfXtTC~ddvpMg!p7U|-Zfox4**wWqq|;R`m`!rQr}7m~E9Sz4Sw5=C{FzGt)-NIclPW<|Vh%{R}KTEk^s zZfXZ=*wd~FFxbglX5dtrr}p{M0nS-mdSRSK?6XW$Zhbjn6mb9ezsd%;_xJY&9hxM4 z@SaYt7JHu5JiotRHhCqU=y$WL>N1qKizulQ3U%p;m@!u`Z)W5&yTD7T&CPzS&AxXS z7#B5c$(-Mob>8`UE&qd42f5mcPOHAuI@u;5v~p(pq^<*A6a8mICOw#Xf89l`u&a$1 z9S&w$#ipk})3|Y2{`4+^wz&~u{4P_{b}j0h*i(4z{l@D{|KDVMVW}wC-Z@{V;_YOW z{Wt&3*53bbCgYs=XpKf`NuF8Hnyk7fEiztl@c~za!T}S>Bj*nuD8FRze@20@$nwc| zSJ(gCk+?8+>F%o8R#F=y|9x)Wx_H)c!)s;+s^Q$uzN!k@Ww~%J}*I3v*wCmdkx$V4h)k?xjW5yXa>czcOD`@rE20 z=6Un-ptHmx)^)Ng{_g!2yZg&zhF}ebQ$i1O1h{3D1W$U(3Il+&vNtYHc>1dE?jp-$$ddLdUOu+M%}XA2(M1KXdqA%4ZeDE0>3+zVz$|0ml61-VAHRV>8_V^c=KA+wp*{ixbDPhed+E} z^`h*;!uY&pN)tHxqqduDU|^oy+#nQk=Sux%)5osXK@Wo_v?l$P?@p|{ncS#qG|~6U zgxn2xcYj&2jz{0>f^DP2#Zw0=b{F^Fjhz}HZm7ySYufbkWv;R^$7ZeGz47$lYLm^W zM=mA%S_>}aa%o^wmCM;!D3Bbc`8i3n%p$`>XhL#^^M_L}d#e=G41U@^aoBXk`^~J~ z-x^lhr91YoR^rgUrK>Y5E$+*;V`(9!*;eh5A`fEod@EkWt^2cV;Vo<4OG|t-wLy94 zW#gm=YKJG+WIMz@{?V45nZ|u3Ug&KR&%x&YhYRP<)kwCIyt`o63&Gi1Z5+%g9?s02 zJ-m8`3d!t}mY1V54B=e;#E&1VRhc>3{-j@d(I$R7yx{f>A?LYVT7lUHxb?>KlQb&ZXqZY)aNCXt8+i<_gF7rKk8j%(f5Mmc5$aCWQAB8$S_>HBVojRxc>a{|2!L>e>z_9yq>?~O4;L$ zC;mn}shei`fB*A;`+xuW|LlMK`M>$|f7DiO-MIABQPl`Jty8z^N~PBSSJM3dpooEy zje$WyQcYSz+9;{`{9W6s;+82U`o(99EoU9hh_PCzoL(e!U3!hthh(pKW5Ixhw*tjO zWYQ|;wCk+7G%K*?29MP|H$EvY#oSK|7R*@OyKnOwMx9$dE4M7XuQC6}pF969Nrpy# zkg(_|(yq3v3ozTy<-H)mz_2ofyKQCgWb4__zPEOs*|6vxx6jth8+XFH?b?d2Rc6mj zo%`-H-*=g9H=|727@L(hyfxL6|8u|k-sc(Lqn}CrKh1e-daCKZchQ@pqyHsOEB(K} zE&AR5_+t5;KVREFE6dEk`S;G+GX=Z#H!mox|0k&b{{@>Q=!Q&C483JwPfl}YD^6f| z@#ci<**6SAdn09c?rLDVudVdlGJwH3s#nPawBqSd>luT$w`D}j5-w-x8BZ|wwKi%} z_ERwsnk?yUxFMO(mC=ux&EuGZVTITV9=!;5DTafJ7b0#kGb%Ie5a46&d1$9`QphoJ zoj?Q2lIQM`R|0J&d~oR8I7{Y}+R`OHbFOWe(4jZut;VzfUYQxCAv%Zc&7@y!GFD#y z|CLqt|NsA2gW70cg)bd$U|hjrr{q2m!L7^e7QU15@nwQ#5{kO`z`trN0cSDz)4pmO+na5o4zAxa}y(yqIgoX?Z zoF_aOIIsWg+a$_hFyXPNmR-f>CR;Ie^WbEDCYD(&%o3c5z2=P#0ZevB3;35B+V?Pm z@8ytcWVTZ{dOfd!!Ik-?)SE4g+!d|Dx*Inf_|N}n=Gv7V6NP3TbM0_kQhRGBlX~mL znT^Lad!MDsl$Wm#G*RC4a#Jt|!}VoF>pS$g=?6Gdhp6&lW^!_JacStvc9kC^#9WS|5r9K zY*7$C^(wcbjZt^j4%>%b0#n)e`6ntQ3Z<15q;&NaKYrTyrcHUvyU;gZrxx{Jn7nVw zS4LK?@9y6ZbUI}{trB$*c_$ZMc-5MbttGiR=6O#U7dJN_hjG}UgDX0u5*&8k?mT=r z+{)XakmdF)levj2PnWEcdo8iH#wFHkmGL{1rrvAI7JOgpaOn8da6bLLeOc1;e)>AC zEy(ru^EBCLvfDO#>5q&5z1BFrT>@$;m~uG#$vboR=a|^FNZiWE>fqT>FLHKmAj6;j zMV$+kBpMkco;Wb*oR|?+VrJUnwb|pT;6oh!DGJFYZs@AnT=nKl%KR=4`a%1mnQ514UuDO-HB z%dd(B;jaHD6u(}vCF}Oq*I~Zd3o;y}WtAsgn_kt|H;>^-aAKo^`Xs?CLQDZ{cYmMV z>*}a#lz1~Wg!k=2#^{W->&#PEL`-1OO1-z~mCI#E!8d9w43bY7^n*^%Oq#m-`j(TS z`u+vq<6RWrahxi8WW1woTLI6xnU?;$^ABu#fAd`85%VLD4y%9b-#q)9=Eiunx`tKd zUl)mmFxZ_<`?uqJt_g>W$L&rbHhJT1Qo7L=f-g3G-N_U2=$Dz6)-2AgeEzTMVSifn!ykbi|L=WJ`m^$P{r}2ll^{P*Dd*e3lqTaGYv*hv9>5DX<=xh+XW+}k*Q?6RO}=k(RtetiBOj>d_e3R;aTuC4W{DHgi5rOiR7 zwRzFIlQ&e<#Eo<&h;U5XArt0nto5orYUQ1{gu5!w7#Nt>zv?dBakS#llw}Pfd}{?F z1>4`&ZE8?_y^B9PxFt3wsoC|`t8G1dSv}|f|F$+|bLKLsmS|!>ubZoB!1R|5Ln%pWpfAF^+~AT`b(w-aMTB znsFqw_mZc$eJ;{eO3RV}q!vO+Ob)JOg`r z%F9g}jW1SzxOms~PGQ5*SH3C}<;_^N9k)Mc4pcVTzHZr46~|L+MeWzj%9?Q7Eac)M zHgDEi`Tzg_d}7!;fgKb>{tQj?m0UJQM+>+fez7U#Yzya%T9Gp^a~y5>7cE_^CsDuV zsbxfA8lU_UuaNHcD#Jx9k}n9YO8H<_)XlGXQFNmFw*O(AxihqRm60spUcAxdL)U^pdT5P;4ymXT~CS5x5wEo{J`~Uy{ zW=Syc+{#Y!+H{ara?ZV(tSp->GxseL^C?+#pwXR`*YT*8(ziPsCP%DcRXb%_TGd}3 zczfY7-*#5FfD@TFR{j6b7tyzO{*BdDb>=Vr-~25!|B-bJ!yI-mTbsVqe>_4(y*3