From 359509732c8301b27d372350c5888ce985107b1b Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Sun, 18 Jun 2017 00:11:19 -0600 Subject: [PATCH] Add clock and punch in/out buttons, add database, add branding --- .gitignore | 3 +- action.php | 5 ++- api.php | 4 +-- database.mwb | Bin 0 -> 7938 bytes lang/en_us.php | 3 ++ pages.php | 5 ++- pages/home.php | 41 +++++++++++++++++++++- pages/punches.php | 1 + settings.template.php | 11 ++++++ static/img/logo.png | Bin 12620 -> 19755 bytes static/img/logo.svg | 78 ++++++++++++++++++++++++++++++++---------- static/js/home.js | 45 ++++++++++++++++++++++++ 12 files changed, 171 insertions(+), 25 deletions(-) create mode 100644 database.mwb create mode 100644 pages/punches.php create mode 100644 static/js/home.js diff --git a/.gitignore b/.gitignore index 07fe371..2b4bcaa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ vendor settings.php nbproject/private -*.sync-conflict* \ No newline at end of file +*.sync-conflict* +database.mwb.bak \ No newline at end of file diff --git a/action.php b/action.php index f4f4851..4512c08 100644 --- a/action.php +++ b/action.php @@ -3,7 +3,6 @@ /** * Make things happen when buttons are pressed and forms submitted. */ - require_once __DIR__ . "/required.php"; dieifnotloggedin(); @@ -25,6 +24,10 @@ function returnToSender($msg, $arg = "") { } switch ($VARS['action']) { + case "time": + $out = ["status" => "OK", "time" => date(TIME_FORMAT), "date" => date(LONG_DATE_FORMAT), "seconds" => date("s")]; + header('Content-Type: application/json'); + exit(json_encode($out)); case "signout": session_destroy(); header('Location: index.php'); diff --git a/api.php b/api.php index 963268c..c4af15c 100644 --- a/api.php +++ b/api.php @@ -31,6 +31,6 @@ switch ($VARS['action']) { $out = ["status" => "OK", "maxresults" => $max, "pong" => true]; exit(json_encode($out)); default: - header("HTTP/1.1 400 Bad Request"); - die("\"400 Bad Request\""); + http_response_code(404); + die("\"404 Action not found\""); } \ No newline at end of file diff --git a/database.mwb b/database.mwb new file mode 100644 index 0000000000000000000000000000000000000000..8aa40df259e1788ec2c789e15bb9784f52d8aa2e GIT binary patch literal 7938 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 FzW|ls3`zh1 literal 0 HcmV?d00001 diff --git a/lang/en_us.php b/lang/en_us.php index 0c69d14..5cebf56 100644 --- a/lang/en_us.php +++ b/lang/en_us.php @@ -25,4 +25,7 @@ define("STRINGS", [ "login server user data error" => "The login server refused to provide account information. Try again or contact technical support.", "captcha error" => "There was a problem with the CAPTCHA (robot test). Try again.", "home" => "Home", + "punch in out" => "Punch In/Out", + "you are punched in" => "You are punched in.", + "you are not punched in" => "You are not on the clock." ]); \ No newline at end of file diff --git a/pages.php b/pages.php index 6c876d4..d1180b4 100644 --- a/pages.php +++ b/pages.php @@ -5,7 +5,10 @@ define("PAGES", [ "home" => [ "title" => "home", "navbar" => true, - "icon" => "home" + "icon" => "home", + "scripts" => [ + "static/js/home.js" + ] ], "404" => [ "title" => "404 error" diff --git a/pages/home.php b/pages/home.php index 9a1eb8d..ff832c1 100644 --- a/pages/home.php +++ b/pages/home.php @@ -1 +1,40 @@ -

Hello World

\ No newline at end of file +
+ +
+
+
+

+

+
+
+
+
+
+
+ + +
+
+
+

+ +

+
+
+ +
+ +
+ +
+
+ +
\ No newline at end of file diff --git a/pages/punches.php b/pages/punches.php new file mode 100644 index 0000000..9a1eb8d --- /dev/null +++ b/pages/punches.php @@ -0,0 +1 @@ +

Hello World

\ No newline at end of file diff --git a/settings.template.php b/settings.template.php index 7f774eb..8f16382 100644 --- a/settings.template.php +++ b/settings.template.php @@ -35,6 +35,17 @@ define("PORTAL_KEY", "123"); // For supported values, see http://php.net/manual/en/timezones.php define("TIMEZONE", "America/Denver"); +// See http://php.net/manual/en/function.date.php +define("TIME_FORMAT", "g:i A"); // 12 hour time +#define("TIME_FORMAT", "G:i"); // 24 hour time + +// Used in many places +define("DATETIME_FORMAT", "M j Y g:i:s A"); // 12 hour time +#define("DATETIME_FORMAT", "M j Y G:i:s"); // 24 hour time + +// Used on the clock widget +define("LONG_DATE_FORMAT", "l F j"); + // Base URL for site links. define('URL', 'http://localhost/qwikclock'); diff --git a/static/img/logo.png b/static/img/logo.png index d950420a362d7d823f5546fa1189e337209c82a9..e6f4fe4f4bda17a8e30bf0b43c149051be5d7a6f 100644 GIT binary patch literal 19755 zcmZ_0by!u;7dN`kp+iED5NRZo4(X5sfW7w2teG_{Kg$p5stUJo@8UubbnA(ttR@7(!H;kV8xwpSx{sZM z4|HegC(p3KKX2?;A>el$2Sq(+KtGQ9f=RO`yMsSczLnE`t7UKT*3HDp9CCAW{3Q2xACt535YSyfzDI{hH!rE}vaA^GV~kIa+J( z*lfL%bKjDagFWP9HtM;>`t6N_>!JQH9cRsw_=%po>1A<*1df zb?81;2t)<>q;@}zCYp9vva?J4_7p>ppm#D|1{-OwygT0lokP!5a zgI0kvUE0V4dXKpiN$ke=p)DaHihim1?8iPgS9R9`&ZxC;9r)aIx7z!M8eG+ZAz?bO z%b}C2nZ5a# z%HUaj6?JW^W6GVYGnsP%4CKZ2hgPlpQ?L}$K1Jk{xf8XGVcMT75O@&SO41s6%`XLB z^0Xt`&EL5oKRhB_9VG=Uu#6nLW~Fe*6M?OJX@fE3a&P6&>~+^mEJT39xx}q!C&wqD zfRCXqtmPxur&1*-w#^VL2%e@h)P6<2S`F6yQmPb-~lY^?lVKTmi#Hya$gza zsDBRA{s2aKDS*Zz^r>Rqp=GsH3&=@BW$ISRUoHj)(;!@A4VI02LcKoPF7f27ED$Y* z^As~NF){VmK(uEIM=6KgK$;Cjw+eyjD{nf!FhV+6|JI*O zvD^Gf($NY!m71Rf6Ek2O#^1eJMjc5vydQ7&9%|jOX7{>1?#zn7GiHG>h0J_=bMv^H z7$Jzjk+c4U+PLo`-Hy4fZKz$-HFnlWM(si%_mE=>$CegkNnXVUe%EBR{4O~THDCl{N_(p?98 z-d3trSKhoEF+G)6wZdC5N3-V_-#PI^Dx25+&i~ekkB#tQ*vwSrr7!9gbq2A=RQ=F0<4SpYDbLFq7$_9lT zj&5tG-w`cmFF0}c@QT-QGe?^$98QSDQy_TznUA+)lbBxhF16{iz%Crwa~YUac0x73 zC;RMnS++#~-z~l0g6^v_&)nPlQw7o5rlaUB@Le3^aAZAI040@vvUl3o!QI1nb}rlg z*Q_nFfb$go2OX4VG6Pgpzp?!l1xX=Uf~X_oKcCnm?1%Pk4THvA3xe%4%bs)Q{eCZG zV-Pah{r*Ex=nO;D&rFC8KK95{Og~|%uAW_O+`?LQ&CDdGoco?6Lq~xC{SXbUg=W<; zZ73_GXl!S>}j_o^6Xd~p5~ZOg>CZH(KjkQB4y4K8Gw6JI$Tu)#Oo zB+|}%$7k(+aJ2whf*PUoNC)>4@fIu51vrW4+S~iJmQRzs#w{jFwmhTJ&=?33R0t}J zl@f&+tKy_Kzd&?dHmYZ0r4sF_C3$*v{TtVUA%`Q2uM;q|+6{ymzh@-MV|3Vp>5AeS z#J0V~2aU$ft)6T=ivRv0(D?e4TW2uDLFuU?7uRh@aEcndG-A~}?OXk$MH2rI z_U*~kpTEv4HrCtj0>yl%o!F>lKgBzk*VAZ~ zl$l6868&DpSm`CD6ai>rbB^@hcnEh&uJgBW9SixWgs2UEbV_-Lhz09l!zny*pRQ-> z{C?}Rsh}K_y=pPeUR{joJ#m#njGR+aC_7(!XYX{rpY6JtCu{VaiRd138plM!M>>`* z;0}7WJD^|%Vt46n9eOct-m^{+3ppY1n5!}TKX@{JA@zqNNXO#kBWRnZwNJ%oJQ&{J zb03f8PER2*4}U4egpm!=VT?o{*ZFuPrE@7q{XCb5s=;a4z0P8oc94z@&95d@x@LnE zUwTMP*F0)>OH(UvcwUpF==ODifHs+WDL_F1n+;2m29V4))^hXct)$QuMq@i3s?59BrGXMba!JlYy}Xi;niTBGhPoFXq` zq!MwM4o4jJUuO@y87VrBZ&=?t2_x+ZBx(0P2&eevSbRISSqqAk(66O$e>%+cC+pW0 z1BPJszxBJPnK^(<7aM~qXLdb(E%V@EBjg{jt(y7m8GSgyQ-*gC-O8|QjXRU@M zd1u3Z*+P-O?HDy5^nKsm6V{O6efYHkExQ{WgTiYn@i)4$ubwo;pM=GJ6=sx~=9QFx znp2IhbOIjh;|abx-Pd|@%;HiQ5?ddd-%hUf$>~?PVp%f7eN~uL{aDKW**c#c)_F*X z9%l;0vi^Z7ez>)&lnB_L)ED)P{kQzo%5yX>&gE1DzJ8yNKXasJVNcbBB5Qg)9X6s# zYdD`o{Ys@b6&v>_917p<)H0Q=O7yqEWwp0dplFjU_qay;D@H8tSY2*&yVmqMERoVJCr`IfQgWO>WMTVdBr ztJp>o_vIA>VE(xfk?}2@bhS&4HfNW+`{X!DBnpA2Yjuu6@zx1a>TD4DSf3#ctq=cW z!x-(eF!Wy`xWP9PfcmuL?cE2$~a>{i6Bx)mHcrFV}; z%?uzkb>ob=+S zG{CyJdqz`i^-&TxyS~^Q^pe}mgNTS4^nE1Cx!Xch*N>Ak9xQVgOq#3Yv?o4DNKy(; zQc6gA5Ug>BbN;q|W8AT^7s_0!8OA6W#;6&ZP5G6~tu#@xXIE0Y$%fq2(G3w5<6)y? zARygwvVyPwb`HmJmYZy)K_J?yU! zko?X6Y>iTDX}=I}LFFrFSuC4y9%Nj%Qe$y;qCm3l9~T1FBFt!L5rNIK5kjPe+2Ajp z$`Kb>Bx}3Q^Ax$MxySs%I?5J>$ z`A`p0g~EFwli0%XN>?+>u;D_{ivL+cR|}ULvL_vZJB^G(@7P56d$e&OvVH&b#+1J- zVJ@|5Uv52g6DnrzxZE>Qr6tMaeIbH&HkC9*woN^hQQMv$`qSFk1~dM*rCudl``jaQ zera`Mg53|`0`UmG{uLWrsR5O$Oa^d?MIm1{eXpUD<{Y?7V|sl`l=tiXXW^o^UZ)Xu z1EsG|<{L&wgX>d7zr6MG2F^rUVSl-mR{Y93FH==e2Hh;5z<^&GCE@1VxMHP~7|y2O ziHCL9QRrN@qgp)aeT)PL-NCh1ris9evW@2D8+U2fg{RJgONh;3oo=~a&Tf!yGP2Ch zVSQx2zrsH^ZIMFkr3;8*ELtmb!+=mf zPB{Z$)f2;*1BGo;KFhT*CZkCyfThSKSBOn2ZHG zo8!9kYwbrn<64|L%=k`qwl5Opl@qrY=uXIZ2ZV{VMk`eT(&#?g#SG$~u zy+TdN{K{>{F9zPKf7U9wUOv62l+-O~qnJ^G*>!KbRhkYaW8;vB5NTK@UKGle+ggp0GWki$b3-?Nhj7b6OMbk@; zM_0uUuABJj{yKDqbC2JnHh*g_RezDH4z0d4jOnH>$v#{78eV<-SkruL{)Ut7;aYp? zVlh~CnQKY+bH87ue)h3}^Py|R5+b5~>S5XkCvkA8VF4!ZH%4j8H6^)~#--%IIJz|{ z+rU-6K*or{3-NEYC2^@QcE=fs$!A45zO$^zQ+{jev)6=Ho0^IxS`4C=1xs=jS+Ng$ zB6))wI62Jz(gh+k^C0!V)q)oWjz$k%o+c%3s!jxgQ$9USVP(Y3-=$T8W$dgc`&?Uk zgi1E1G3UfoHwct}pN~k0U)xFm1|{SDme3FF%Nncn8ZM z#{#Fb`9F@^UiQKj3RayL^R|;ad(AD?z$4Hoc*X|BW^^sKRb08ewN8-N7DAbrljgjX zg(JFnxTt4h{|sK=Y1?IOZZg5bM;{tmPesuLC9riLdfj(Nx^FlB9#pqe?`(Ita@3${ zC{Iyl4lWie*BL-Uc)9QO4x3@#PO7oB7OEmuKzOPMSt?yK(ZQ5Nw5OLOIM*6^YD$(v zsYDhd&(Th&pJ-rGTw6$#DdEaWFA+-}tN(C23sRT%y>tro z8h>3f@+Bxv)cdALs3w)x@>L*iOKk2)96^l{(aJF%KgW;Hk|nCn8`00olIf{gq1X_t z-{z-lranR1qymaMefy12S;?mhpiIG@Z5$gFZ+$LUO`dH9dJWY95-kHn$6v?V&}XSh@p zQ^oF=z+&6k5>kAJy=-nmqnATZvc@*ZMN`E@I@%Kwoabe8^sPjn?}^wEvOmB;Fx0Jm zW-8fywns~3o&4}>PuTIR={og?8E{eGhzkxCudMrG=~grLkEcH+YoPScfz;9c+{FiH z3V(LKkslcpVdw}*h;#hU_0d!(SH(X-nwt+$77&++9*MEv#X!LIn;H8B;c4#F$ohrM z%e9}pUAM+KSlgaytvRjSHwV5vZmXbp%;GP@yTly);y!p*YK6lJw0OrUIvySKK+exD zpJ+(eUoau1Ila$fDO!XiRn7Tpwcx$%1~-Ziy{cGCGY+viBZ~;ruf5)#FC%A>B$##6 z7u&oX?`{is2$OuDzDVO`*13ZWh}M_K&pYvA zRtpGy{gSK*2&59cz;9;?n1XbYEdu?7FULOQ2WI9u!q}%H=XD;wtLwSH*t((`x-UtN z?iHey&4MX=&)4;33YA*OZQRxFCGvhv;CgmrkiUaVrP)od?A5WnJ0mOF4{5hs>8`u3 z%^#8_U!%u5jrgN+ebFdn4!eiH>pv`!_DVU63}ZPNE=6N5Uc0x)#Ic5qyD?cJaBD79 zDN(qymgUU+{_LQkAMMPdZ8>(hn^rke1GDEL214u{gcb2S*t3l{i*1}IjSVST!E492 z*CN(r47NSgghzwXcPb9oIn_!ChboXW&oRo~z2c47@n#3Tl%9r28ouaS?L!{Dkli=w zfPx#yV|natcL{FQyF3XcufZrGdCrOpdHjgoKRe7s+F5$+RART(<*O*9gf31XLfW~w zuxATCrx6OWE0r2?sr2K4^_=!;J*j?#u@TgCUCTP>qYz%Y%^KB+UFUGnNJ0DgP7zTl zI1HO%^ozqW?~w(O?rpu8dH3nZqr4p~-rJ`Tx8G94wNg5pE@k~d9Tsc|LZ{Km^uu=Zml!%d?j8cOG9~OQ0`S_m+S-dycT@>=!+`uaj!Z ziK^BfIU5EDhYuDi7W{=pP8+zgCuoofUzfmQ2)wsGGhx9UCezWpH^M2%SM7Wm?k|1+ zVAAZREk-m7!}=*<{=TAbwJK02NdYp@#i*O ziqpk-c0x?sn&%R%(4h>_^2x&(X1{KLNID&9fLvP6X1O(Sv(xLMi9yzoz4H)cze6^Hy>6%7&qE{`moz8eC+p<>bAt32R(&N z$$saa&)hX`Jl3%N;QsZ6ezD)+PVgrj)d=Yh<~bkwPCJ-8ZLj^DUe}u0yOXr{2I{jr z0U(dClCJo|=yHxKV_uec%KJE*btmoh&AXYKlef{@99XL)7zl~eKR+vvSTs{X-lS%^ z;500;4+eG}D96ohYJ2O$TDyWPM(VQ+=!bIEN1B$GCMScB>L!<}4;GRL$#@JV0@KsU zE!T+}BnN6r6!qrV`mq{zLd8yx57?r~Xio);rsu~!b4o%49%P~nfTh*vrt~#g%O)*dRxG(=+3S~Xq@=*^#*La%KU&8euOU!h~^5V-a%9oQCjyvpx zq>v};M$MLJmCL+QkAHd^iREu%*J1Kd^j`xeoHYYA7fX)?Z)CXe)^A}TXwFB!@|WyX zyM0>gBFP${wZ929iJ}vAlTK6{t~v=vfV{_bxjdj{1GFHTIh*f49^y*nqb~~Zm4*M! zs>n+5%Wg8c0n%fI+hgPQ*jPx~H(rV5UtuIEsM7UlCZa-3)wad3JnRgJ3#vc%{~SU_*tIOW zgrDX>-&Ttrt?yS2L^}|}?@8h`g!=BQYCy?fSaxEs^@U**In66rcITHmaQu*=;w_rY z(m;I6$A3GI#g$Verv5kCvV%fWJ;6}++S)d*Uq`LV{@IU%Dl(+QGaQjJ;7VjZJwCeT zN~Ex8BOSa5>zQhDd+|Pu<5xJMWt9^BTKb!wU*2!D5)Os(DcYZsM1i13_;Pnsh`yiZ4oK&f+6EgA z9~r1aLLD4rG-nr4dK#)Uc5@GmhUXkA=$I`+^E zC4{@1JH;8IB?VK6%u>w50@Diy_meug-frMEd~=YTX`cS}eiaf-CuV#zS5HISo8?Z? z?33%0hkpG!&~W(l8tkr>P0X-#|M8U(594<>fxGAAQM01f&q7XADr_Dg+m0x!1*WPy z8g>9H^$T&NdSUXxD4*z>>DE=4;@nk>Ru%}j(;N}uSS>!!vmg-0Ab=%F*Pi-yadW=L zgZcVbOUR)NaF`$FO;-7w4vq8i=kVh~pe}cLT~+y9utRU*I}lIiYq{(j&LoQEX`Ev* zwInSGKLc}};F1zJEyPQ6`Nq6{VzB44du{Ov7en+z!Bn!Wfi(P9Aazk?R(&-nDxly@ z8sx&Hzln18ttz1ww;f*Oa9U%wrKk05ZnMH6KpqCjY$wThfh#D-XuOw;cyz?XiLMywuOKl5VP&Q7m0S+GMf22b@Dz#PUjc9#~C)g z?aM#~Bymi_e(U?+f`F8N`St01_+5d?C+at956Gi_3OFbB-;WP}RGsa!ZDjw1el?&K z6CwG6_mb9iq~BLIJL8QQy?jUX`d;_=Rz8N0N$>s5R2^5(-;H;4c2dkjvfGTVoy^3~AF zdKN=?e(5WLPazabAus|Rl^QeB)?5LTCgNIXx7AZr+b3S(-Z#mYO@72|X%RHERev|5 za-VUlVd5J=rAx(rw271^R-Zj@7&OJ&`>1CnM?YyGB#Q}V`K2=8t<@Ik=10rvm#FA! zi(ORWErV(GhJ_qkMB*H!UZc4373@GE*o#pehWv6wX0EqH^*!mvzbuU*dBn-6IChi;!+ z#t(o!Y}(e5RZ;?K_>5$L76Uk+%7!s#E}4075{PEfxO?{|_|wRAOGs>*4Tn%n2Nun& z@wG@<8m=l-YHYQVtwEo9#>H@d4dh~+6_ReeJ*@)Hv^vG_gg~V^BcHNpB#Ytz!`~&m zi_V7g!AaQ8+WR)Gevm>(VEz6)cabjCvouh)JY4o6q-i;Vkk2IY%zSBHaG-=z+~hiL z-5-l%V$$(wAVgpXNk%MMr#eNvlv`oaSIbgF2mvN+juXXGNbuTnw8k!gbku;fc;dV= z?B&!}SygY4`9iRz59IC?cJ@#NrKr?ZX28+-{BjI-j^J-;-+xwol?DCALgcYyLpm?^ zyEuq(Fsah?)b!Ow>&;vsMf3SUI}4)@U;&mt@p_9rm4z>5kI;7!@;5Ys;=z4$*R$35 zKRWqTTz11hqaS(Etn{rB^Ph4tFgqeZ#!*sAdD8L&23LgWy+X8BE&YMC_7AnY+XWVW zA+k(~Aexn)*u_0~TMS2(sie0H+ju9^o3G!5g?I$T3wNa(?q|=Z_H64?K_HMVvf=i+ zm=k6Bd^JxTWz2U)Sq&;P)fN?bQH0%-(C(>4MU1{4#Vn6@*o|z50Z2;_3yPxchIdZE zif=)=!!s!YoGKo&?Kcdj-+)gnwvY!K_;x?o%pBVFcJJNY^2;Sm{SbmU8!jiWw%B7& z#VF;4il#QoB(1maP#HgdO-2lakMD%VXLiE!*t7hbE+s@p)$BGJ!H%Z&b;c8X~^Mke&oo3IRiuRg9xDk8k0BhiOM-Mov^x%zIszbh+Dj1 zkjm^>{d0(-4T0j3^zsm# z!q7~_>^Y>{)IA;MJf^NQ1y1Gl9gSdXnE?(_=JCX#M6dfICi|VA&30+@h@;Yy_KQL!w-fh02As$;Au~Z%JVO6yo-;?Z3d=A3 z30_kT-h%^S>dy5Ii}jKXGv%H(~hkyW{)wsB_Lb7{oR40o3UqiZ??#Z z*D6MWB+x2+r_T6t`M|qv+5tv`x@K1AcZhofc`zg1{iduxE@E6jYvq&)zIn_DnI`(2 zwEHK7&ES@W^bWVq6fgfyb6xg5A$+Zv=tcY*U$x~n_XW-SbK1u<2^nW+rZw{HCi|@U zy;XUsdobhlFXZ%#t@*eMEmybEQDpiM?IphL)mLf6V#lfy`S=ff7u+6P@*UC*ZzUVwfm5#=H(O{ zx}xOshY;z3Q|K5VF|vLi4%!)D$! z^Hd$bef1Us#dfBO&Np&%&!{{{!*b5G{*6hSSdW<@fc8P9On*dD9t+X+tW5uh+g(^> zbX3^CC3*HPTAG;kZE8SSXi^VswgrvCpd6;f^3xhE?8ukg!cg`tYX3KuZy`mhOI~IU zcx-0B!oQsm=kGy6#!f7x_=FH!z^IOx?eU{VT)||^-$Od zuExJb31-qei^?#&Nw*zB$j_pew|Rt)LfdflP!D@dWN-PB<>G&P49%MgW=N{28jWyf zj@vYduiqV{(zz?qI$z6(f6avTm?zY);h2c~oJ!r%Y5vBypM5sXJi>n`i&pT5`DA2` z#AP@EggH*94zVVE3u;DeHnkNKLjTRTI1n$N{sK)DcdxX)lHUHR zE~H=wt!vZT>IbQmhERqMOnE+58t}9R3Cl8#9jow1xxz@J3K*fJn}m04Isf)hgu6~A z+Ypj_wJtcfNYBNi$VPVKiVOSsxZ_7ElzpLCAu&?Ut+ohgBDRb-kd-kp^D@wpTUmYv9 zKUBkFF3A?GBf$+)gC(Xkt4KapQhNUs%$|z|?*y-(#=przL-ZbSG0z=pGT5@C-h{U= zjvn&E)n%F0U`+VUYdPo>|9D52{*D}q>=nQUGQ*r#;)4@LI~{HG_}^?rmirYy7B#GZ zdPuw&wC6s}O<=&)L`jpeKumfdbBPREJDSw<$_b8D(HMJAwrHOdtdi531HRHD8wcc) zX^pJYz@p`RYhqohI=2`Ut8njc(3@BMXJD8Q;qY$c*p!hk?s{`}6x5%1&dweo)BzS~ z5b)Q6xzy)_X^m7kpE1GMG`?!l1P2?I0!i@L(bpCr3mM980wgB4W5;9)JZcWn$*O-kM7lsRqx8gq3 z6YBXfIU0q!;sVfA@{x$t8VhPbJX=2SY~shr%BOHbDB#vD2-E?y2OD>CVp-8y(J9#D z0#iAHK0y>H#qv)NlsC)6m=s9iq;UMIs^0do8ko&3DID%IhB1M=o-4|08rbUC-0F5Q zb;D9x(J^MnJYrEqx8{#dS8 z9()-nPN7cp=24-+Btb(l9g7{4?(+goU0VKm?R)$yrP+y{s4-rMjR_nNf-i0U-4)1|-uV?8HvW}Z47Bx0;vCVEzQXLHO;TI>p=z0q^3^JZHc5aDX z66Hsylgj{mr_Q9jG3c}Wl*;r?v2d(_QSUS08<+-2;+qQnn@87lm(TudTk4>U-a%Yq zN}tL#cL)aRka2-%&sNfZF%_h@94Jl-=03{=HnhP0(OYSi&3_})O(pqMQ(ZRl)m3<~ z+B8RN+#x_STmCkno9O~++M>1%qtv~jZn*w2PcS3<9~eZ20U_8hhX>htfcry++P5CQ zm~pYEw6EWMTnm40^s!flkJ*p4gBSI#$15kx?!~*Kl!eWAW8C0HlM9Y?cH51Ky7J(- z=m?WEC2Vd!1iZwuPHu)NP4tesyMTg{`^k@p zWk*fp>;7|>c<2vf(Zhse48$MCK>{e(PqD)Z#iGyQ+v2)ZDlDPd-63<7?<>=PuS@&$ zg?UpYhjLgoniAW;(E-ND{_yMur0DV4Dpt^2U6-}{+POWbr6vO`E2-6$QcCY__ChelFeGV&7+VS84!t zl0QCz?4wo?*PBO8T7T|5L~G4%;|##}R^0Y-WUYxFjwEL4VTBr2Xohmdbn$2LI}RDBx)#ax(KWSbro9a39^0C zc)e{78hI?nqua|KL5*g%wG&TQ6Mo~fPyUZg3JcV_qxmm+T+b;gY>i~KN1d0hGWt`vSY5z#3T2t-z_1B|ZG z9CGIwduPf-phVxjpEQ@|PeGoAXpJfmAr%Zlchwl4%NdJYH--ifEee@D3)v6((=O;| z5ck*&GGzxuK@jcf=<5ov8#IPbRTno?delGxrMx3+ zlc(q*^T31=!|&dfh>bl2iK;k^IOGK)== zARD?aIo!8y`qFZ&h*3Jcn78HSp)7Z^5|RP$_KfmWIs2T+>0*+i0xsXnR6Px=1YGHE9la~a&0J|uUU-~6%!r31r@eSa$`{qZ$sv$&OVBO-4{)aGt^jl@;HZPXP&+nlWd;Q$pC zjRTwW;*pz-_6_E!%HV=iK>#V3D`t9aDun=`I^D*Z=rW=#)NSwC{rYZlm7SBNUmxfN)GT%eP!S)i#-{TbqMOpro zJuE5#!$aRH7geBtIsMm99+0oaOG{};w~E{RESj($w#s@c02V^AZI>_TS-(-q!e6%2N{%qcc_xHR#ZGBvUHti0u)lRwBh+(__P2JBAe=-8= zg9ihku!@S#G=eS#cF*IJ=SZ|xIgq+c-X%Byr0AoW41DPndMpLyN zKiR-`44BuRnk7i3e&@XGA30`fdqviK{8iNq_5(x~}!()=P63j|MyT8<6 z5aNXTPVUdlxD2&7z572fIk01aPV7;}b~iQ*YOyb0@z5l8sbxoo-AuAU5I|Du=(@^y zUwvk}h&~<||8N*0Eu|{c+MGQsm|kHcyLY7^SG2x+6bx^DOj~ZNXysNoTytYGoRX>- z!G^xbj_$ot$JC&|wWj#q@U(RRnRe;M8m9E}COqGvwkJBkfAY%1CCPGwJ*k#tjSbkK zU<3e6)meTNm$`vi|5gdJT)!R6s6eE4~5YyEs$Yq%*Dcc zB{Kru6BS5Na*&WueAKZtcDI2bDBouPbkFoD#y?^<^h;z;wu?QbxU+2tB^mW)Jl^@6 zdw=;@x{B^%K&QV#`G@U)Jwu?!N=ubUw}wrXUoPLdARxWyxOa3-m;*V405IMFmCZOS zVx|3K*zL(XbZt3AKeC8QCD)u6GT*y!k%@YF3+;AayUN2dNCZ=i=UAn#VCh^E*5j@; zQ7<*HS0AB!FBLFNC2f7ZCfF^gTfcHcQ3BLaifG$6;0{GJN6ilxZc$B=tnmaQIAvOC zb#jWuq&DAuFd4jZdpsA%34orYuWahGZ;I^h z{Q)D(!7}gwR_%8x9%NT?csa1}q`VKh{R$UmAB3z zS5LRE8gFBIGkDQVp);>@S@&p z5l@X-uSUlicH03LCTrLrEya$Wo|wgV(*Oqh$n%_&w*2t42iSO*2qvqsGwAkPp!EY0 zgu|hlS_S*RseOVyk&+e)6ffV*$3w=Wz7bTkYA@V&gB44F?k9$WT&97ba??#3015en zdKi^jr86mHJd%qqY4m!Ij4tY>7B;s8y7&Ad#T^Y%QQNv)=!eYC=es7$++Hn)lHS6d zW>i(I>az5$(?kvf4hhP66Lk)vw423N!pkDNRim4t47I5%?RnQ}#(xN!_!R+RBM}lZ z625P-1bcIq3F?mB5!jAj0)x@2lwTp+@kjtxBNfJg3$q9W1}6A3-_M^M`W}Ez*+}HR z{O2Z01c2=;(5RLgiK5Ap!nqmIJKA^ukOX*rJO{8L6g9)PKcCHzjTV ze$x4Qd1{_YOa}+EzMw~zuMw*jk9==wcJiJZXSJu@Qa(@dvcv-y{D#bTJDYW!HqYcy zO!4GaS<~6BsF=KVtqSc|-^Vos>_PP<2-<1l@>ufutcNW<3tr1)OFOjM+q)BSOZee` zB*>B_aiOcj)^q&yOZ`kxUlPSS?V{xQCee4TL8vbdP~u-_f(fC2n8L>k1>%`R>SII> z8+DF_HRj~+GJPct#n=XfVeZD~tvczdPA6aA0=TZ`U4Cly$~A;rI9}oD3gTaxzS1~F zd$4hDAEkv>fwpiqix=O6@BCNlwJxoAU8emIO)G7eQ{B&%Y-5s zzoAKrh|(n9DM*{EW=0+_;ldaY($Lv0Se!=iPI^wl6$;Nl@UaN{_jD|w_r)30oX_JG z^biOaw#bE!f<_C(JH<%vToO}2`IBa-6DepLQcR_P{DD2(wbHn zm;ps%&0!mBHUX%(npiwt0Xg;uR`kdQBH*AcZRBB{TqLTsebvO!q;xr*|HC5!{lSy>ki>4 zDd0-$V4qHGvI4R1+Wu;)4)tWI4SaCAByMZ)5ZpO&9~LhLoebUxU^V8XTlW~Hz1b0| z`O=zzE)uUMg?eDV5ZnL&vs^0sC?WuEUWOZe2JiZA`x%e)S9OmZd;7GH#ZG6lqNeCv za48#1iF2!W`U%;UGE#t4fxZ>y%PrZJ_#iINd(^EK8WQClaDn;6eOqbg;L17O{f>SS z6Z%ir%mg8B5~-Iq_a^ssuyG-b{m&#>DLl;X8?Z_7GU4_dKWpPjBlYQs@SYT*jos`{88VFwl=nB_Oh{7rEE!y0N91xb#T{9#My};h zs6mV$Dm?A^CPmi)3$FMISrNf<`dc#kl>i0Z<448>e?|mj_U^!kXs>xCB}>BBYrp!@ zvq7X2pe^S5V8FdBS>tWXi>PJslj_w*2&ZULKH}lED=F=ZJ@eatjDr#S5$BKi`d_lU zYQYs?8Q7=;?|j?zb3ZPXhJ0q`J9WwG$9K2cQCGWdrkK5Wc;B|&(ct2BsSHB-ZuKns z;4paun|~&x&SWGh-c;g;e~s>b{w&egUDYB7m|DA z7}*cN3?#p7p&zaeKR{1N%1t*}TJfkAB5@1owb`>gGSGGKalD<9GY|q%zbq^RJ%#&0 z$H`DA)_yJWo2~WXDH5&Nd$a8QOD^^w1p68-Jm#6l<7~;*v|Gl)P1Y8a( z^82-i!yMq&y@9b6fhfno*XUuok67DK{PzxZ)N4*EcXDMxcnrYClnXBEKTMkH`xo}T z^y^GC-c8Ck=}7I{C}(xE+@u+|8NJYb@g7-#VvRt!dB=vd>isW(bOj^2JbmzH2B+a> z`YF$&))K?*J~Jx5qDi0A3#)VW1ZS4_cw-FCw)Uugm4B$$=WsODyysjCexI(%_SDNK zp0d%fz_VHi?y!(I-0#waxLcR6XmqZt;;6CS7I-rJ{qB_~ciNG{s(}Av4Hv)|JnaE+ zutYn%ZXxb+XzwIY8tBHWY{)o7@Yut^!{}jyb7d1Nb|$_1@ECS_5|z1b-8-P}{|EO4 zs9mLV-Pb7Q&mY5D=^nay82I=-1lZ*AS=I<40||}+fo@p}5@Z1k1F>xf1nDT0-|uCN zNB`8h(r46MK47lI9MN)v17m6W3_@vw6t`E25d)zPo4d%=DgZdDG8ZksbdpQzp6!Vg z*v-m8Z5b^qM6p^mLvyol{Lo8)`iCV7W4F)MIig_W)X4HvRsI@|47#&7Wu7<49U zbXP*j=u5C0WA#lm;EGfkdqvs_m_+vfQjpW-zOUjkz0CyX%B7!o-uZ{ywixwoa2-d9 z>km9!2os=%0pc5{+UmxuMNY=y_<#LYJ$-_FnBou$RlTxdy{(^|TlJp&_$UFznK-j)A*Cj&C}Pvww6 z-C`H7fCI$C_oa9TT|piz+1#KW%tL4DN`b8eS*f0Z3lJat=#{&Za*(Z*BpEJ@75%LY zto8OqjKsKDtnnGa0Xbh>rY<(r^5twA z#|P)Lrx~boWC8OoqDdO2`~_F{M<+*7)ExrA?Poz|R0H3G%p4Ld6@2I^Tl&g+IY@5x zYgJLMC%Y(|#G&R626In9cZM z5AMpKl*1)4J?O3cfU)z;G{bIwwjMJANF@88w56r%x+j|ea>E?-`2i?+TGYz+loXIq2s8wlf$Ip+ z-MYDU@8t7CL{z@IQfjTKYb|M_zOV7-_L)2jRIcohzon@MO351Ii&|6Q`)Wm1ubHx$ z{=8&{oyUCzdPHk5gn@uS%D`rrxlUOWJ$zY&yK(ye=@|MVLJ+V(5YT@Qvol4|PvY)7 z-5z>h2SX#dv9#`1$(mKtEZ`_1Y?2Eh01cA%3C0|Y>Dm3SLp)m>a7 zoTM0q;L~1V$Dmm16cUkAU3xlW)KJKBiRpTwPPK&W-M1_uy2CIOIO-#d{9H4QEIpk% zAd!OH4?p6k`!GClR;mdIDF%s{Imw4z!oi|j8uWDBD2mx<(*wQbu2E-9~*`X?UU&dzA=jW8=s&l^6q&DoSt05$u^csHRSg8;FB?s`vQ9o zt&Qzd>q#`R_FAOUu$mU3aP$Kad~UC3)jnxrm!kGZF#+Jd=6oeOQ$>UnJA_c+@AL!H zXPxIBxs|Ad9av0#m4i$Wmt@=+UZ5<#If4(^XR1+*D5Va5<+S-jHelSta);os#*}xHBtJ46@Yl^;e3-fmi}!(a z@&|7)SIWJG87*g_@i{FlGMSl#Hnls~JDhh^Nk28BF=U0#L`#5fLto%2T#n{@BOT1H}Zba+vOu7D8*z1I+MI@UWRMg zoY$5}j=#GLXJ@_60AyoH{!{U}wLWs8@8hvT7FF~pzNOw-0#RE>824X4-N$&acv3&W znpnR5@!4$H6QGnqd!(XdDo|+Ssu7x6f0CWO@z`1ETQmO>;zH314_z(Jx+>V>w|@MA zF*Ko&X*y~jdGboSPsx(D=v&MGQCUhj>?Gme97#tTa@7Blt>*(BJu%K%1`^`Z`5`u! z=N-R^j7|2iKs#$B2(p2Xg-Rr9qQM#LNgU@vF!Nt8sdZcn+LSaRr;`>OVJlFIm#-W{ zTfPlO{z_$$?g_-uV(>Oq&8}QI^J4+?}emSTVHykl& z1HXLxBs5r%6+5H})oXheV>)op!ef4?r;>;$62+~iDJoZym7pc2RT%fqG{VD7#{2b~ zShHZN@*J*l6&x7s0qQ93zy3uNVZ^Dn2VzUgR8DqG+y;m3_uS({p-uz4(9vmw<~lu{ z@jqTWwqEa@wcA+x9=uMvdNT7>^Bh3`Ig`nj87ndaz2r*RlmyVxOHTvf2#UW_lPlZL zDS=1YS#2>>uIU++AZj4M_#OBW`Jn~7ZUtk~Qc_`(psCtKj25_hASpV^K2F@O2?xFA zXFquU>v4{{PGgHBB0{3rF)jW7ZJCZ8D)e}&wMj&@`;X8cU^>x2D|ZERd$i|AT*d2w zd&}jo z2J;e-x@-px>eG=X);`)Sx0Di?bsE?c?^?9QVgq-L$nWuzD2nzY9D&{kT8R~A)hQzV zlK$&t$IA_()X$;6&g|2{R^Qu+1vI|_7*XL4CcL0&wZ%p$aS!eJp|a998APaG0%)_h z5_R1DJc(+v-&L`T&yAHJd&Gv<4gyJ(<*y_84w4}Mr;T$DhdK-6_-|$!EW#w4%Z$;a zY{j^h2)SER8C@v1BGtB(#waRMBP%1BB9R(;JhjOs%eoC+{DdZ<LrG-{0rF-|so^^PJ~7zw^Ey$thY3921ic#&{&nWnY|cW&d6{3R0{N91qXRe~!Vy z4bldB^1q53T1h&T!ikwbMj3MTOf1V|9kgc2yZxc$-ZZ==EOt+FA;*?$y{Zwqin-=i ztx6`tmO(*sHy2<-r5(_s-PCWN*>wQQBwJ<_QZ*JgNFtMUg6g- zqv3J^b1-yD&^cCq^7l+g?yqE3JdNaWW&6@4x73;0mXtL9Te|A0@E>He-Xh8^o4Md|s(cMX>w|YTz;!Y%x$5*f!#G_v*}zbOgYarIBNiSM5<GhT?$vl zc{UwRWWRE^8`x3o^yzJgjn=#@EHZxNC#9pX89xRCzjHlE)Y7V-To3;nKe!$TcLjTv z1uO-K2fp$V070}%%X>{=aM~H2vGtsCmD_TF1`tCGtZX^u`QNxDMk#%Z2?T^B<#gcH6tWEGvO2;do4xq9b@vBIY-=8gK)%$FhjpZCO{0sx}No%?TYhUEW*q8 zNR^8`oZd96K6G*~8)z(;)hQi6X5Jw2{eB_2Bfvpf=)1LIg&YdA!6ejFCh1v;u!LGX zbFjNjn^7>yI1$SGFuRQ9=~&EK2)5GZHe$s@e&2JMCPN1kLCn{m7CKjN1o4k!98MEi zO$UPjgvLX#TVpZRyGU+|(SdsNnO4zr%`Ptxk@ZtObTBdOGOX!UH(AX@*50gy0G`D% zw4WfUVgUk$^5`+v5)8(@oqt<_k_T2u#!voKSdyc4`fbPp1n5NdXjriC1OMeP{zQ3F zRn5G8&bMdOq-mh$sGM9GbVu&>UTs;?uzJ#WOG11up8hoIhof8^{TPw|VQdM}3IYC) zgO0DN_v_L<5G$SBh7OdB$oix1J`pmxQD|k&Pp_W`LHnhZ1D`2lN8`bMMs1Ka=hJEX zuZe?nOvR_TI^uD{mA)6>2|Gi@2tAT$^!!rLfH>h4kspeoB306|9|{5Sn_~Ru^0JJ+ z*+8}emEKM4Z;)@4!x!X@HK(&kE#{vKGe8VlD{w~Rhh)1UkIe-;M7ucR;;{+FyH3A( zj`*HZphAW8^%Q`KJnAYD706_XXmxIiY^bc~w`QBTjRznU92gMUNDz{U=ph zS7jBuIy*V&wo+JR{pEV;!`fj*Tg(2~_p^?jem?tmby^OV*M%F?(xp2YEK9=VJ-SAJ9KDc>;R~p;b|)ON<$;}@^1vu1*N`^Tq+IGve^uEtqlNNX?Gy*_ z(b1%U^qV$PEgq3jv`b;)9tL^b>UOm#A!~+hO6%Yr#~NqNe>_@vX(uA4grtt#Wu>4= z8zMc@rQ})FKs^0R*|dw7Epo%+$hrs>9`?|v?R7)iwO)k?b)G(fJiECo7H5``t;o_t zElQ*OPb{Yi7Fe+q(Kg!Q&(|8ebXj?=fk+7^i#5^t6y#L>6yM{jX9Z*PIR)zwm+TsK zYxO{c(^cq_ep5NOgE$_L%AQ)Qe7grZ|D?5HO)Baq3Vt1FNE>TFjw=;sY?2mUO;!l@ z?$fcxaItipijPXVVWzwm?p67X<GgvjArazslFUzYqj zH{c7Umm)@=7JdcMUXOsk?{QZ%@q*72NWaMxPbK-mKeBkM7<=ov*?Id~d)gvjUteJd zS0^tUYj;~=H_sbMvofp*9YYx9i~4@aGlPNN2Fod{^R04wFj)6Jl)NKM7hU&Y8qn<@ zm&@hO*^}j*n|BqEOL*PKt4Eyr=IxVuLpFG)c;-Sy#qzlYV+|+zQxp%F1zlVOj>V$m z%xYK#^5X;VyUb~OTe)JM#w9n%eUS_tPafVZ?>6DNeq*<;%6xoNvc5L7-X-T=sY_r) z<~+`7RJi`G`c&Y0y!U$Rg(62vbo8Z8yFaEJw<{wuS)94hRCEqwn_$ban6F49SVU*v zS}}7NQ_4Gd(jh8SXULEeDd5->mLxDl-tD&~`N5oo(JWO;)L&7`D=X-bkx7&hra@Tu z?3gn3b~nMM(+l{ct>g`3+8e7x-O<*C-2Dj2Tsbu<5j#{SNGxWis^Ub>{dHRH9kHCa zCqGu!!2HJ|V;6X~t(r={4zTx>qpSTZJeXE>ytZz>*(f<;BunHCJ~lZl)YLci32V)O zDqI+1m*!$qpZua*1(ztFF>80@4VD^{K7xWMnBnX1&5i{^-=9 zdxEH^Vz9qrCJhsyq9hj0eDs06wjcm zNq5%Uooj7mKNb?|LgSwto}ME|*cfS{$+Yitvxcqwo6j-!qX%a%AY8YkgUP0%rt4)p6~m>Xseij(!3*N z2oYqQO}ZEIIJ~<^D;r~|VmHE{pGJt$aGXc8QqXBUen0*vFN8-hzN}KdnG0b*$DEps zY?7_fGkQbwBXp`g4(^u1ucs#`*^H#pJ4kk5NGQ|L^|W__D=B>8xWjE*lSYc|KkA}L zo{6-8nz(U$wA7|`0}CuG%6sJI3fxM@1Btwvd%cye-VjB*r%C&L+`>0$MZTS`6j$jI z_(<4dGn(E@2QK55@Kk#(3hdjlO=rP|9w4n~f8fOAvz5?E2?}t~gUs#Np94925UNVQ z*nX<1B&uvnWs?Ot`(5OhlRmV`i()zy8O#S2E1cvK>ompgW_ z!6h{T4n44NWU?s`xy~2DW%=>kEK@{;j6Ftdpu-aafGtEMjfyvSl3eka(9QngUyB|BOf?t5l{HgSQ{5+r+y6wf zOCDVDunL&u6*4K|nI1*Az%@r-R#X`B^78f-Ti=n}UeY6N_|>aVai$xqb44lAzNf{- zyW-}p&jT1_`%HE6A7N&$48e<>I(5atA%|eQ{-wFO%gn8I%!lO+BNU9r zwZc@?#}S(Nu9YG+=F1ln5>mG^(?9NGa(s2Vv~{X_JarMj?`Rl8>5UhHH_9qp2d5wV`ei<&%DoSpOc?%n$&K7P!H{|qG=!t%8wOTKXFuUHq~lnq=_9uV8Xl2JT~i|g3< z`uX$3f?>VHkl%~*t^=QkkUJG@y$4RK)nDnh`o^x_i6AU4ArWX{dSzpon3bO|SbtaE zi+%vUt3!0u9Y%mz9CBw-Q77YB-B-G{T?5*zhMv9L->vR$nCF9P1|z4ZoMTck&%&> zIHo66RTm&k9J}*P3YtUSh3$E8|Nfp0^FewPTW0^AyTJJMbF*<&co#0{V})ip2nTw4 zdeU>2wE+&(J+DL3rn9uu3ahHBVv^+#lPSc)LNC@A$M2yI_jF3JhLh#c{(__mhh75<3l?xwQO=MkL=<% z(Ty+KAqQi<$Yvma+@W+_F{^Ynu&_vhkMW*AZ#eoXa?xo;FH6fnQSmn6Ww;pn@adD| z;_qhs$Xzx?Pq}m z_mH6o@>_}9a9@@_GF$n9Phg*7AzNz^4lB39q>x&BYv_)b>~g2xaaleEgt)J$sHhNG zH*eo2cNwm;7;jBm#pkEP9wi3cl|CnB^}joSNM3Dk*QMu@lgS(p@1;cw4BZ0*`3no4 z^)sH8Zo`FM<1POGy~+9=Wj%2@j!!#k&5kRg1Dy$4a~BsEpZqiOKB@)Wr&wTGp8IBu ztbnwN=S17_dWWq@Hi@ZUU*arrN6MZ&Ib5&3QhKA+P**pWU|app0X@Co@jPVhJ=av- z=B!uHY*(I<)7#rrgZvEkDnN4D>w4Y#$}oId$$wzq4U1`&9xA#WcE$cUJFk*l+kd>hQ!AXO zy5~I7H#9tb;>7!TS#}MaaMxn1{P5s8GH{0DOw#u6<|Lo#p0h(yE-IghNY|xvivy?o>x{%1-&1Tyz?q zzVYp8#&M;)einwxQ|idx(XqYEp`$E#^QNlJ^&2-x`1Shr>%rV3cB8wT4H+xVAx#NF zQl7se2)0xO!KL-{pV)kw#R+~E3E!{T*erh)D6;?k?U|#iYu(g*czF26N0E?>thA86 z@F~WEr(}rSet3FuagjrWFoo%p*qrRhBKA2IE#vdEyW?4~OxiN@VU_@Ts-sIY{YD=@ zepJ`cAgYtBb-`!q$%BUvw^>6rC4Q^5)&0E`O853J;{`{(`B1W?*QLqH$=t%in_}G@ zz5^Mn!=d#WKIFiBc})|y0d?aaKOU)U30a!>Zi%Dv5rI&Aa75rqQWDXx#vsqoVdP!- z#V%SkN~HX{BTG9kJNt7{@7zGO-s6?}piR59xVRUO9_=e?Qsl$4As&aFt@VJp+Ew;Q zTx{%fz#_*6EZN1bJ&cI)2noqJq;Dz*m2#cAian{B_=_;z(a~XRl0bO*HscBwaCMzSBJ! z%vM16!3xxH#FBhx-)8K?GMW{Q3f5 zJC7Gza?jY0VwYN^=O$7EXFbf{_q){>yqT-(pPxT-hzwaUW%rJckLP7%yd}2ZhARuJ zu`x4``#3}>jL@Q3Z-RxdLvx~dR1}AlclOQMft*_uG*WW%-;@ycgr=tEX#oL1NGd9- z+@hjYd>ILzI$mk&1qIa*ULIEu6F}@2+!bK+QLEH`3t#w_e?AoX_p}1d_x5QU8yj)g zfeZC^@;+1gygWR97Oc;Wt4PqiyS2D6>swEpFivaD(w5)W7roK4&vD<=I|yNPRaC+) zL)LABVZpxFHmb^6qm}ukX#lpKo}Q36KPK8&2`7{N`1$c+qFgYZlwK#+rl+09#>WND zCmb1`h}acKmlzJxiC*-yfo@Rq&AG@>G{4?)YSTRuTl(hDA}DjDJbM>gVln zu}QAod9F7yoX;7^8r)rF9(@{LTpx@inOF1KITgs_)?94vNoHgUdtIqTczIP`zI-`N zkA6(Z_Pq8;V`fd(J*l82L#|-Qe}w~YrGl>6EAU= zQ{7J^IGwLW6<+|zv-BIG3SJwzCl$0-Oc+Bt4r_l#HoixP{90QxvI;gxI`6XAMkRvh z8#>w&seuw~Cx0iob%Td|T4h%+YDpO(0RGBpAzzCAsww7$L`71jFfoBqX%WP#VQ zEGR6^rGJBHwVSKT>93rVle3W(y201zW{Al13JMG^Uc6;kVES@t$-A-MNMAp5cP)CC z*2XsC@ZYzwU|RsJiLVAb#-;`K_7z8I(tMA*vFp*ney=POu#PiOd^)~X0FvQRXZuY4bG5V1x65} zS?dy4l%KzkXj8@&IDK}T5V~#D(-NH;jjmqcYrgsC$6M3ltG5jEjYrln*Db{Dz8wu- zOd9T#sGFy!XFD&LZ$mcnLkt-w@QMtF=;`SJ3z_L%`@;!t)FM|fHBAHtnMH~Y5fN?3 zG95S4f|4W6ZH`MN1HE{kvLrOjCF6G{f22I?=ghD(DN@g&GJ99o?nbWAeA}jk$wA*? zdSc4A_LpN}51B=}?=Z-H_EfwB)Fvl4Hy7RyOua~B+T*|d1FE?|4!Ycg6Csq?HYt`6 zd*h3f&upXsRJ>mbY9bgI7&tmQF5o{zyz8$AjJ`|fi|q5#(-n&9HgZFDH;1J|{4hp9 zxy%`4{$LXXO`eyPl@&*Yx8)WTEN@Z{?}Tf_#>R>TEKOjGprSBSEoKdK4FO?*pTiytEk;0D=)WoIdSpwrg2^bEFL>jvmboR##Zh+C?#Z7 zXTG~VyvwoTR4pkf8L&0q=(D@MYBe8snB2+Px%2HE8j6qyA|fITo4l#^jJa84)QSju z2;8&$1hpmfH|+rqU`Yy0$Om*p)V_`de66>+C2jdeGa-Tm}EH5wrYhQ=n0XVJF`Tb<*@ofNpwS7qF zvWb?lmDO;7QShb_XmlJ`u4`k3{jl}NY-BP1h*tAD~IZBdxKEl zO)RP}e4!c*n+5O^GA&cnmRrv}Cn~Ds*&?9XHP>GmEiu(pxWq3fB%}$Kop^8$ia1Kz zqXx47u7^8h>9CkYDo|!Re&6IV zEz?TYp-ZI~?@&_>)ZGLY%6j&iva(1D<>j~gup^hBl1+SjrI}Rb+yxlR;9qr4|iI?n(6Xj&oRd> zakLFe=HzFRzu-{ehncZ3i!QzM^>1-ilvuU5`w*joxp^`a9$Eg2zjN?-Qxdo?PvsRs zRJ>a@<+fgALyzwPe>h9=!@Me0>nMHF@DGh|Ae)?_Ko@>3u6y^pR8Cg(yLK>y{Go{C zk{_C%JITlATNPI~wrTzT?mRyymIx&Z^S+~J8oqn<_V)hGhCADv_o}%O?S3w4>=|`6 zwe)q0iO2uTy43%l?SEf;{9p00!qF5Ne_djCfgUJ~b!$KAikir7Hx+hxtC^ zY2+vtkR%H@+|qm_m($qScvC2VfZ4OHoMmHUGx*DfA818m)YYdL8T;;rm6eID2bm92 zxZ6^q^vGAQP8L|zTl)L^lO7`}oIV(i&hGA9$gEIJkcAGt@ty0|*h@M`#DNn}5)!&M zwt=)9;o_R}>_P#ol917KkGs27>q-0 z8Kb@Jd(cEI3RxA-K;8-f6%ID3XK9(bGTl4sBdL>7U2W3U)dhM=_g#86a?TDAChAS@ zB&4?;JP2gr$e}}{o@2-q1P{{bfY-V4i-;6;XuqZ{f+{w&F|8?sPNHnzOZPW?!B z$#Xw0zXNJ!vOpVlfDGx_?CxwAq%BFC-Qe0!65K^^M0t97EyouHsWe7$=ouKq1LZ5C zpxK`d{C3$uPwzy3g+*QgA84J9+j9$(S!vWVC;9nv-fz>m7@gn8A@zheT7eld{dZte z%V0N>&q-!?|u>Ey~Vr zgHk|WPwxfD!^CgTL<_grxGy%vHoklJ4l6$gc8-mUqi{_G>T4g#A#J$5x$0Z(cUIBM0a*}{`y)am!=H{>4cYq)|3ZpQwK*u_`ZDg3e_2fKBEG+7?B?pa_`dI{9+!pM}=)IybqOp|YExH^{!R&#w-S|2`s zEI*&q0+-?DQ%U>HZK%?#m`Bc4Sl!K`MH4y@-(@#vOi3IDYLqJ=GdtPbxPJYVgoIIb zbv3JmYqHbmT_sRgLB^1({dNT;dN5(-P?+zJ1~LOf!`zY*T@VJ^fO=cdo6Dxe&EU*j zb${KDia4Cm+=yOC_Rfj}1KeDhp)&&^o!+$4HHCCjX5Y-=rGkT@;37gd#=zCJkfglz zRmoa-d6n+xk{ht*RRXPxNcc-%S-$J)>MkubiBuLk9~HB|^0_4#s$d6*Nh8^)%Ft3^ z>Ei~d%5VPpd6&LS0HUd8iQ!Hli%J1I0xV~*g)s@6XMLrT&*4t756@#~l zRs+C2ou*palyFMB1GhUC7_$_PXN(2jN9e}CBCXiP3}gmfxTuDO=95!Oz7UQ+ ztAoCzQ+Ew-4-R|888Uc7@27r~!E{#DzE_Q;edFOI1lvoG5@v9#)4eY?Ha7A&TmLKk zjL@l5r`kwup$#Qp>iz85Z)Wit;4A!0MgL*8rr^TI(-4UO1hekD7yAPbwxr3=`8+%D z@SmBOzoIMV=J^0PwEzNza^8Gr&+06Ww;F*5fS% zL&HFA{-tff)2rG+`@h;18ks%yq4gj;WK<3XG%eqo9SGT+`3lXh+f;NtDfGv^fNt+! zJG>Zzrm7q8(l@GAx=T9)Q12S7$tYV`!N0Vw8rS zHB)-7rqqXN1S-iwxnENWX09GCf=ic4k`IyI&p785IPe=Kr9r}S^T3YJfUOlm$A+3owRws_YMlyVie0tY)!AI_mt6!#w2VnBNR`=<;~?z6L;p;SG$usAxz0SuzoC zAL{fxlKsI7jg76TvSw*P3->{|!ONcKW)nrUd9bsI{^6a9y7@>q`++Kt>2EY)ZJQRBSuDldamS`W{Zy>5!Vh z&w0?(tG}?5GQ2(Oi{IVZd?R!6IUQHyKHSr%*#K|V=M0sU?toU^ZM~QdFCr<9EG#VQ z+S*21T2TP~`5!(g8%>dOe+REI>o11>c}wH4^XEMjW3IK!hTH3{p)2@D`-9}tE=6+= zN@=v6vpEBLR_fF}&gMuKEVPRUy*o6caP+TUzH|UMVm)(J0ryGCn;RXStz8}J*jit# z6@LF3&V35rY+_=PDCQ6g^=y1fN&(#WA`J?jaCwvrsTo>bcOZvyaBzVvTfa3Xk|^$E z*k*Ga@3E)B9aOi!<^pIS`6!6%;o?#NLgv=(x1b;T{8i%U?t^L#tfSqn;+U+g1&H(JmlQ~1zx?_a?ImbX zOBIg53A>?DFtg_O^ghBC(|WU56ACQ~WpytMQ13gM4uZsx$kEHGGS9kbY5if6!zGEN z8ABRX9VKZx(A;7bvyXW(YAsBT%sc*TC{x`5!EoZQ2E}yFMdU;o6zVHIz$0;z_SyqMiy2=auE zreC+$;ZwY1&+$Y*H z_G=v0P*>NtvYPX8IDUYcIqN?=LJRwEw@$3AV-Ti@Do8p4^yr4?pBB}wB!bw?uAc&J zKApVMS~}7ofuCu47A!PXtUQ00&DFgV%g6~mb&;Asw-badru=G1eFmrw{`KsRPApA! zoIZVefsPv7qEkxcdHM3AOOdQy$B$l4zVMijAD=Ew2CBF+Xe3@i6w?5=`o_lDKr(!D zNLxqdpO`+=h8I#}@7|>*xkviuw7XaoKs!l)1syHVqVNc$DrD5=$&%r6CgQhHOn=MK zVk%F9w>SzKmmdE9P^50cFL^F_E^uQ$I&|PAD;Xqh?>%P6UWi)kLEy{|&~!M4lg`9MZ2~a)CoGsOS6op@Rp@Y@3)g6UB1gynN?QiH?2i zA@3E0elnAPC?eD zo%AP7pfJAeA+H|aql%27*^(N%vmTRr=omsecZFhVk4&MM$B#4MrWA`%D1tzB^k-*| z-f3ass6L?>>HaqjGeR*+Ea)KE!GF;XXj}NNAO$l@)Zh-UGtJnCMC#U_rv@#2iAkoj z2URuwj)K`S(o_zqR)V-~8=@jXy_(uYx4+U6MB*U~@>?;yp|or;qSJV}huj}hP{G@D z0kdQGxY0hAbIRcGiSH89+zVhyZ#J`Ip*e5J8cGC7Oc)@TsP&}*WJDAeo?~__nnm;y zfRu&Yc$~HzOQ#;$twNZ>a5wPrDIeClCnRtPDhim6;DOtP-*U75!Zn}_BU#m?CTM>C zWhjeu-cT)c!EBHdtPJ3|fsBg2r{B=pIs&2OwnT^i3Y66xWA&eSe%;y-`V-&PaCz$97kzk+gd94(+_yoBCJZcK@#5Q{TAfy@*AzG`*8;fZ+2LNs5s;|NOIA(gYqy*H8}0)KpsVSn|0V%%1jp_V{5$^Fbs#O% z^WP^<1Af7S6jx0Q?`JBus>6{+^xN9E zcy~2mdTL()~E0{!bEFF-#a|4p&(m zf$6$DLjU>DoWXrqp56*sQyeGbVWJ@nN*;3-R%3ND>8`5??cL!-CJ6?|9m35FV4KAO zrNN6h@^45DRF^n!2Ni{TSTF|nClySbU{hb$4ho*`}f^8ykiT9 z$1c2BDkz|x4`ZI`S%Du*@`oiQ|K#G3DaP z6x+=)1{Q)a02-!Rp1H1-RDbxFRwzt>Kk>eo8F!HhM&jR%hGp(rn;2f1QBx+4};N>6aNOIVJaD3!Z9d`spMLP5$T-F z-q;8DKw$_smGD^CY1c)ZA|v9NTu8as!MiPUcpM^)LlEcPF?Pg%uzN-W&A@GZ*d1J^o5q7Zf2Ylh?J)ImORZoohH(X$ zMi+v`PfVI%qSYVxIGIDdD3oUU@@xkh-CQQ_C6Fu7^;dN82*oc|Wl~l)(x7x2hbK?? zCU?V}a_dD4X|PN%{v7X}mU)jybN=tFe6ay8VR?I~B>#lv;U6Z*zNumcgFj5kq|Qq8 zkOY@0Rc9K+CRhzAx9Z7qqcR_VyB~I#N(|mYH!%xtTbsBzzU+}(ZKh9xtwDf!bQ&i! z>VqEzDE{}O0K5JLnID>pZsB$xE#_WASRGd0lsIp7-1$jK_+bFy;CCW8n8mKPHQ|%V dYrD0}AQu!Tf42VKXSfImqoSo;sCf1E{{dB?YSjP$ diff --git a/static/img/logo.svg b/static/img/logo.svg index 410fb09..3a7d045 100644 --- a/static/img/logo.svg +++ b/static/img/logo.svg @@ -16,19 +16,11 @@ version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="logo.svg" - inkscape:export-filename="/home/skylar/Documents/Projects/Sources/WebAppTemplate/static/img/logo.png" - inkscape:export-xdpi="90" - inkscape:export-ydpi="90"> + inkscape:export-filename="/home/skylar/Documents/Projects/Assets/QwikClock/logo_64.png" + inkscape:export-xdpi="11.25" + inkscape:export-ydpi="11.25"> - - + id="defs4" /> - + + + + + + + + + + diff --git a/static/js/home.js b/static/js/home.js new file mode 100644 index 0000000..5884e00 --- /dev/null +++ b/static/js/home.js @@ -0,0 +1,45 @@ +function setClock() { + $.getJSON("action.php", { + action: "time" + }, function (resp) { + if (resp.status == "OK") { + $('#server_time').text(resp.time); + $('#server_date').text(resp.date); + var seconds = resp.seconds * 1; + var interval = 60 - seconds; + console.log(interval); + if (interval > 5) { + interval = 5; + } + console.log(interval); + console.log((((seconds + interval) / 60) * 100)); + $('#seconds_bar div').animate({ + width: (((seconds + interval) / 60) * 100) + "%" + }, 1000 * interval, "linear", function () { + if (interval < 5) { + $('#seconds_bar div').animate({ + width: "0%" + }, 1000, "linear", function () { + $('#seconds_bar div').animate({ + width: (((5 - interval - 1) / 60) * 100) + "%" + }, 1000 * (5 - interval - 1), "linear"); + }); + } + }); + } + }); +} + +function setSeconds() { + //$('#seconds_bar div').css("width", ((seconds / 60) * 100) + "%"); + $('#seconds_bar div').animate({ + width: ((seconds / 60) * 100) + "%" + }, 1000, "linear", function () { + seconds++; + }); +} + +$(document).ready(function () { + setClock(); + setInterval(setClock, 5000); +}); \ No newline at end of file