From 5d32ab00f739095d25e07497ea5e41bb79dc1da8 Mon Sep 17 00:00:00 2001 From: kitoy Date: Sat, 7 Feb 2026 06:27:33 +0100 Subject: [PATCH] Add submenu --- app/__pycache__/__init__.cpython-310.pyc | Bin 320 -> 0 bytes app/__pycache__/__init__.cpython-312.pyc | Bin 508 -> 0 bytes app/__pycache__/__init__.cpython-313.pyc | Bin 510 -> 0 bytes app/__pycache__/__init__.cpython-35.pyc | Bin 339 -> 0 bytes app/__pycache__/__init__.cpython-36.pyc | Bin 310 -> 0 bytes app/__pycache__/__init__.cpython-37.pyc | Bin 314 -> 0 bytes app/__pycache__/__init__.cpython-38.pyc | Bin 318 -> 0 bytes app/__pycache__/__init__.cpython-39.pyc | Bin 318 -> 0 bytes app/__pycache__/config.cpython-310.pyc | Bin 551 -> 0 bytes app/__pycache__/config.cpython-312.pyc | Bin 337 -> 0 bytes app/__pycache__/config.cpython-35.pyc | Bin 395 -> 0 bytes app/__pycache__/config.cpython-36.pyc | Bin 535 -> 0 bytes app/__pycache__/config.cpython-37.pyc | Bin 539 -> 0 bytes app/__pycache__/config.cpython-38.pyc | Bin 547 -> 0 bytes app/__pycache__/config.cpython-39.pyc | Bin 547 -> 0 bytes app/__pycache__/forms.cpython-310.pyc | Bin 2517 -> 0 bytes app/__pycache__/forms.cpython-312.pyc | Bin 3637 -> 0 bytes app/__pycache__/forms.cpython-313.pyc | Bin 3812 -> 0 bytes app/__pycache__/forms.cpython-36.pyc | Bin 2497 -> 0 bytes app/__pycache__/forms.cpython-37.pyc | Bin 2501 -> 0 bytes app/__pycache__/forms.cpython-38.pyc | Bin 2503 -> 0 bytes app/__pycache__/forms.cpython-39.pyc | Bin 2503 -> 0 bytes app/__pycache__/models.cpython-310.pyc | Bin 4264 -> 0 bytes app/__pycache__/models.cpython-312.pyc | Bin 1361 -> 0 bytes app/__pycache__/models.cpython-36.pyc | Bin 3307 -> 0 bytes app/__pycache__/models.cpython-37.pyc | Bin 4136 -> 0 bytes app/__pycache__/models.cpython-38.pyc | Bin 4198 -> 0 bytes app/__pycache__/models.cpython-39.pyc | Bin 4230 -> 0 bytes app/__pycache__/routes.cpython-310.pyc | Bin 2799 -> 0 bytes app/__pycache__/routes.cpython-312.pyc | Bin 7207 -> 0 bytes app/__pycache__/routes.cpython-313.pyc | Bin 11460 -> 0 bytes app/__pycache__/routes.cpython-36.pyc | Bin 2716 -> 0 bytes app/__pycache__/routes.cpython-37.pyc | Bin 2831 -> 0 bytes app/__pycache__/routes.cpython-38.pyc | Bin 2865 -> 0 bytes app/__pycache__/routes.cpython-39.pyc | Bin 2847 -> 0 bytes app/__pycache__/utils.cpython-312.pyc | Bin 2051 -> 0 bytes app/__pycache__/utils.cpython-313.pyc | Bin 2089 -> 0 bytes app/__pycache__/views.cpython-35.pyc | Bin 466 -> 0 bytes app/routes.py | 16 +++- app/templates/admin/_menu-edit.html | 98 ++++++++++++++++++----- 40 files changed, 92 insertions(+), 22 deletions(-) delete mode 100644 app/__pycache__/__init__.cpython-310.pyc delete mode 100644 app/__pycache__/__init__.cpython-312.pyc delete mode 100644 app/__pycache__/__init__.cpython-313.pyc delete mode 100644 app/__pycache__/__init__.cpython-35.pyc delete mode 100644 app/__pycache__/__init__.cpython-36.pyc delete mode 100644 app/__pycache__/__init__.cpython-37.pyc delete mode 100644 app/__pycache__/__init__.cpython-38.pyc delete mode 100644 app/__pycache__/__init__.cpython-39.pyc delete mode 100644 app/__pycache__/config.cpython-310.pyc delete mode 100644 app/__pycache__/config.cpython-312.pyc delete mode 100644 app/__pycache__/config.cpython-35.pyc delete mode 100644 app/__pycache__/config.cpython-36.pyc delete mode 100644 app/__pycache__/config.cpython-37.pyc delete mode 100644 app/__pycache__/config.cpython-38.pyc delete mode 100644 app/__pycache__/config.cpython-39.pyc delete mode 100644 app/__pycache__/forms.cpython-310.pyc delete mode 100644 app/__pycache__/forms.cpython-312.pyc delete mode 100644 app/__pycache__/forms.cpython-313.pyc delete mode 100644 app/__pycache__/forms.cpython-36.pyc delete mode 100644 app/__pycache__/forms.cpython-37.pyc delete mode 100644 app/__pycache__/forms.cpython-38.pyc delete mode 100644 app/__pycache__/forms.cpython-39.pyc delete mode 100644 app/__pycache__/models.cpython-310.pyc delete mode 100644 app/__pycache__/models.cpython-312.pyc delete mode 100644 app/__pycache__/models.cpython-36.pyc delete mode 100644 app/__pycache__/models.cpython-37.pyc delete mode 100644 app/__pycache__/models.cpython-38.pyc delete mode 100644 app/__pycache__/models.cpython-39.pyc delete mode 100644 app/__pycache__/routes.cpython-310.pyc delete mode 100644 app/__pycache__/routes.cpython-312.pyc delete mode 100644 app/__pycache__/routes.cpython-313.pyc delete mode 100644 app/__pycache__/routes.cpython-36.pyc delete mode 100644 app/__pycache__/routes.cpython-37.pyc delete mode 100644 app/__pycache__/routes.cpython-38.pyc delete mode 100644 app/__pycache__/routes.cpython-39.pyc delete mode 100644 app/__pycache__/utils.cpython-312.pyc delete mode 100644 app/__pycache__/utils.cpython-313.pyc delete mode 100644 app/__pycache__/views.cpython-35.pyc diff --git a/app/__pycache__/__init__.cpython-310.pyc b/app/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 5b387c1695da9f556d78442092e6fe21a9840d56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmYjNOHRWu5cN2prfDmBjYz1z076JeEZMO0#!4F}q_s1alPtPs%^hILLAZpsthfRz z#%04u^Lc)6o<_#areqXX^XLAR`d0-1BO!1{ImXhk1`M+x!E(tVVr~+f$`qIeoxOm} zb$(pD6*_%~3!j+WF6ENu^odp3H@UEihwQ=B<0&j=Z&ZuEf{@?i(Dq%NJkFCIAFDEC zZIpRVOFmvA%i6i!;iB{@J%mE3p|)D7kPsE}KQ63Vk5=LSs1K9RNch40D!Rn-b1k0H zYH{i(JPYTs6Sj7Br=9jA3i1(3^+P`?wR7iC+*oX8qi=zB$M{`awuXYQVatC3Gbd0k diff --git a/app/__pycache__/__init__.cpython-312.pyc b/app/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 4caef5104c499dc1c7eace3e96ba245ea2021fbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 508 zcmZutJxjzu5S`8Da=9FeXK{9NU}HdxjhzT0oN|RfAk7lY=8TuU4VxTz+9(R1l~!tH zFZwSmt^5FSK~x06PO!6ba~f@&V&)Aq@6BT_2L>!qad z%(xmFf_GAyEZJpQ2r{O~ejs#}WJz%*J82jtqLB3_A#IOQLL^obX?&~6av(S(aW@Df zDs{RRrlP3UPvJvl_?&Q7IHOK0OnKLd1#ddci@hd|sYtk^gd9Tp4vF$5%^Al1PDE$L zup(zBlR1^%F+%7OY7a2_Y?OP8+k6v00p7K?tUIV)LG@tc7RH`&xi`Px*lXP2k>lxW ST)WrJUS((D6{=!LseA!aV0L2w diff --git a/app/__pycache__/__init__.cpython-313.pyc b/app/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index 0f1b8dda11090ca1e13584f5463e72da189b869c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 510 zcmZutF-yZx5Wd%!rfEt=9qJ~bP6aV8E+T>mDk(Ua#i8&Bn$*ywFI-Zvx+n_PNf*V* z-NirQFAxRsfoKr~H=%#P7d5(g!`*k>ecyfDpj_5L#`)#6eu39?k1~dyb?L9qE%ZdC_;KVIa=wQG+jx{1QzwIZ?iK3n225)O_V(3 zA&a`6AGktsxBUbQa{UShGJ}{jw|MB9EkEI1GeX`pLnm^YZscOjO(|qD_T`XCUqYJ; z`DQ0@=W$e$QjR(HEdc`o8`Em0PHs?%u;hpO$)yC)Tlb XN5?K^?x^voXuXlc^=gVdK`F!#64&aOQe>hDyq~VEdOP8SqG(*myIdTr>Q;s%(4v~jo zia|wqBP523(ag{!P@zwbY=Aa~o+F>rJH%raeN#6w?xMT481`;(cl9Xcs-IkPrOo!xs%u6S MLqc}OPWcJx7YYwj3jhEB diff --git a/app/__pycache__/__init__.cpython-36.pyc b/app/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 374ef7ea5b542f11ede03c6ffa44957d91a45028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmX|5yH3O~5VW1g<#L?FZ$v`pf)*hpBuW}OQ&_pnCM0La)+Se6eKj9K%XjbvZmAG| zK*joySZPM%o!ODE*X#1*{rmZqG4@ILA3^GlFhy!u!ws`saVwPI@hwbZQd!&9;-5B zZH!_31SUkPti9jt&PhyZ5elux+Je?0AuHs6URbs0tajT0b~9!ad}FwZEs=h%$|*CnHRz3@+OG{55VUkQ;L>M=sY8g7{7id&%skGn95O;ySnaL8V` z$|2t`-U~=S_(@MpZkK9FJbh$U_Dw0Q5+S=c^>_%28I5ioRy^c)ZfN^1GIa9<<3m-3 ztc^AlbcFFIs;s@=>`qQh=^+$a548oYLqbx>|Fp1b(OK=bd)Q5wk@1t^DyBsExs=b& wf;{w-J4%nPleYGC2Oe;Al5(Wh{m@TZZ~QS7SJpMNfoo2;V?l7v&qP7}3;yj-tpET3 diff --git a/app/__pycache__/__init__.cpython-38.pyc b/app/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 0ef033e884a8c371fc66da5e0a4b064694eea90f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmYjLJ5Izf5Vf7pX0xosH6o!k2S5l3iIN7nRt3=4|bUhxzV)hzZ>nk4eTRXIU7dLO`3CH`Y z3|Sj(UeJ+`KT&1v+-7%j`jj3*0Wj1C0YXAj$p5skYP~gJw|m@8J|p8h^Q)K=;paj= xS%dP>PxdICx1BV#t2=b)M=L2u0`x;a0c_kc6j#PJv&L&qw_`zY&d)?a{R<9KP=f#f diff --git a/app/__pycache__/__init__.cpython-39.pyc b/app/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 50902c74596cd3c3b07b08486c8978108a1ea277..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmYjMF;2uV5VV~*mkXT4HzJ`k4?qYBiIRrSjb$!Q$ekTqo20m!nm<6vH+Y6AsrUjF z>s-T1JGr=hr{7&S5Wk_zZ#{>;&s3nd{>X>9Sab`1@%bXHJ4S%7s zFvWiLR+{{sE_!AQx0Y+%^G8ziA50-Ni~Qc|@eo%tSk-!{X)Nyi(Dq&0z|WHzAL>f- zHrasTB}gxkl@4LMTbz*NK`fOTv@=S@45e6{w0PEncgjEQ&29pY#t#DNqYM0Aif8YP vIP{Z0iU7V7P6yqYU|{qDbA(d;&`(Nj!!efE&Ns6)HxvWL65)cLvl9Cc%#2VC diff --git a/app/__pycache__/config.cpython-310.pyc b/app/__pycache__/config.cpython-310.pyc deleted file mode 100644 index 0f30519dbe224e95d49fac3494a810e273f8e451..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 551 zcmYjP%~IPi5SHxVnAnsa3cd8eH5||jbUFl&3n?^Z>Rix8W30t-8e2wk+9B8WLEy-P z@DjTA)K}=KYbPC8&3^NJpMG{$lG@oB5RBdB)Ab%DU>Qra3_X!l@+O0e9ZJ-;(r!)`4`m2kw3U0nd9& zxWC~&xm>h7 z6ykQ7E;cicGPV!Z_d=`6x;ZquZP$9pvLBKM$#gUwN8)lcJ>%P-k}nhSaeNW;VElP> z8YgQ%+=yrtoyCtt2Y5mUe-GJAmB79gjk;sCRyixvI?bU5ZB*A_*4@NWeWxAV)z&s4 uf=^!45Qm4^%?w@LN8fttdJb9BdC!H`tlen+_v=nS;AbGFeSM$2asC0D`G#u% diff --git a/app/__pycache__/config.cpython-312.pyc b/app/__pycache__/config.cpython-312.pyc deleted file mode 100644 index 2a04b74e805acc219c3640135c780daad4fe8992..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmX@j%ge<81V?UaWG)5Lk3k$5V1hC}D*zeO8B!Rc7*ZIc7*m*{m{OS28Kam}8B=dc2<I83R+ zU=sOXGz;U*;h%X#hUDgy07-#4HQGQ9b06k=Zgs<;9smhXJ5H69Y-gmZr&(dcNj$oZ z@8orS|8|g+IyHD~Fw@xJI0|f6$|_x=ls1%dsq)pr@t%|~t90?(@szOvRCKzbjApc7wzj;_`|hu8O2{+$&w9v@(9Ir#B$CbvCnrQ&(*8rF z4RmR9OVXGOdM{W(#%YW1W+6F3H{TI}a4HG6z@GJH8;LK1%M#li_3(imTz|ly9EJmt%1}x`?-+-#)_m$GN?cs)h(EImpH7RbbID@w($^L`jH0s m9NOsvTlZ0I9QAt!Y29i6#;jP-7Pwzmdw#<&Kup`xwcY??Y=kBN diff --git a/app/__pycache__/config.cpython-37.pyc b/app/__pycache__/config.cpython-37.pyc deleted file mode 100644 index 3bbba5fb07051b6d1d3c3a9ea61e0afde6be66e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 539 zcmYLH!A{&T5Veyf8#bXrs!A^$dR-3q2M}V3QrH3uB74EAWTo+t&2|&Jc4)<3+f%;+ zj{H)tJ@prQVv^le$C{@%&*K@5?bDr|0YUryR)2m+3Hj3o8|xuCLAUz|l1REBoSYHq zNcR_!F3_JYcO*^7u=f`;$RulVV=j^tbbE>bgi}el1Ma-{v?b{?)qB$69=K2aXRP&} zaDUBv$hYNIPWb?Q>0uPeKKAe%FH+TgkvD@Rj&9?rxQOqTZ*FELweZ10W}t>;$WpDD zt<$>5*fL;+gsMKATU9OhHgZwsOe<60t3{!@BowkVn*o~)!^Rh)N=p!;83<7-`LJkt zD8#pibg|xXlx_M@eJ_lv8aId9wBt4&vh0WCK{6dp$C0=hP0#uEr{sDfK8`PA9*nO> zXK}L9!*vjiqVxELm;ftu@b7@lR0-^BQL9I$jmlY>>NE!p#;R_>th0Y5&`-SlA}`N2@uH@e2^!mh_!hh6RP= diff --git a/app/__pycache__/config.cpython-38.pyc b/app/__pycache__/config.cpython-38.pyc deleted file mode 100644 index 4d6273914ba63a1be85e5f7cbd594c5573d12afa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 547 zcmYjP!BX2W5S8rUnAk8}3KtGs(*x=UbUFl&8$wH9>hypv8e=Vv)7UbSfgxA=A#mh3 z`WfcPslU)u*G?E%&F;MSwA!7O^mAjQN6N_h`l=^*oD7yG!i6R6@cOY2?~20y}y_!gcoHqWLyHn3+P(NMv{XK`6F zQ^i%5u!YAm2}QL(Gpbl@zsgyjvQp{lQq42fCZUkT$rRYQ@7JynMVx~Wbx(*~$?JK8 zeIc%{UNjj@Mu9jROpf^aadbKsUq|0V?u||c z!!TOv{)z;H;3#||+QSNM`1g@bRSxV|R;fEyYL&7)F5?tR&_=ZbChbk^mv`F2Q%!Hv syr)aIsE^B`t=_kF7uDKP7c)qzR(or+M1GUteqPS`1-}9@O-a}K4}QRgxc~qF diff --git a/app/__pycache__/config.cpython-39.pyc b/app/__pycache__/config.cpython-39.pyc deleted file mode 100644 index 4f2d5b70b75c921125567d6164d85700f6e4dff7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 547 zcmYjP!BX2W5S8rUnAmiBDZTW-H5^bspwl7sxDZMMgL6R_jj$HSX>1wElp$C65IFWX z`WfcfQ-7hSuAMNjn%#NtX|+2mNp5Wo2-?S|-{Ku5^pI~JB_|W{b$lH2VElb_ z5GN}=T$5-N9mcN@h@jvAP>D?QUYPx-|}-YJ1!E rJ$?F?hPXW1=|k7_QEfbZF^9D7w3jw36t)Ter`4RF@hcG9mh_$fm}G{< diff --git a/app/__pycache__/forms.cpython-310.pyc b/app/__pycache__/forms.cpython-310.pyc deleted file mode 100644 index d4804ad33b0619054a2a9e910096a0fcbbf3f540..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2517 zcmbVNNpIUm6y_rCq(m=q(p~8aU93xwK@m5uivodR)M-%6g`hQKnayy?kcwkp-D`e` z|3hy^?>*18m-a9C(!MvOCAE%RpcMEt-?nX!yZ z>si(aCIZ-a7J)brSC=&_nzYHvLg=8${xCHSTru;k0Fk~vA0R<&NN2;Na@LfEw6Z*% zGHL!)O{G~C)9dg%RMf+=;Aan|^BgH*Vt+J{Zjuyf&XPp>Ns^az#&H}b$;(;F+Zh4- zX#x);twx>BK}8<~2`j@2KEFpwL%w9~Ao|PdvbhcTl{GVon)Z zQJDlYFGRE2xjl{bqb9J64-`R?R8^^ zfw$nZM{V%gk(SCAG57Y`KP+eUu#GgYYqSg}OQ5I+5%$wB0*4Rao*Rb%hQ9@x0u*vIA$e1u)L zI8RDw){|yI$$8Ya=Se$3tZ(u(<1_5=&#o@{)n#>37K}JM6k2J`&Vwf4IziLLo}Ao#zU#p^u!oxwuVI{Z`#=`sJ|vjHK1tQ>^GfY=cL2VCBah&% z*Fm^iTbv6i)ck#E2u8ePy!n&U=2#eDOdJ?t4{sYICZe!Vs14P1f)zme^JUw|aE-Uc zpvnUKJz4L*vc0&|)xD(dB6S0_6^Z>qm4Lw9Q0IDEca`p=_Qv}P@6{R`H+r?Hej&8l O*od9jitX6lwEqT8s18d2 diff --git a/app/__pycache__/forms.cpython-312.pyc b/app/__pycache__/forms.cpython-312.pyc deleted file mode 100644 index 71edef9ac1758d43cc3fb7f473041cb6eb188df8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3637 zcmcImO>7fK6rS~Z{jjH)hMO*PUIH zI;tvHs;VBjHAmDFZa9E?DdNZlsTWiBlBp1?dTDQ!;$ArQy;<9_)1(rIuH-i}-~pqo0-%^V#7bg%>6 zQW3Pxf1*Ltn!wT%j^SUQ@TjYaOgSG=yI7d8EyrY;bB6EFd(@1E>bU1QmQmy*KDT_; zwS(r|3)bhs32GV9Fg;;AR&yc+pAe=Xa>8-EdCO!f4nDFzE8EmEYXXyR7>;ckfk%BU z#?(_rV6?O>F=Z7C!L`|lz(^*WgOwkk^Bu8>E|^4*#fT-E0?7DMb3#G56I+T!16=}5 z!W2O!&A2JuNwhRwvr>GQ>FEO}yf zwrtrBlP=f+wWtcJat6dX`mp9(#lQ$`uSn5k`ws{jphI-+A_(L2g&ri?%9-WdRj(X) zMJCyJdDk<` z4))c2{d~0!)X=-lLBsJ3V|L3)DpGYR8!<|ykvRxNf4EekeYgh-3?Kg!5MPsJ zb<1M1c4_HyeeYS-jusFbbszqU;W&LaO~syv6*nw#p=}Zz)(H6|Na*bzO0W; zhXWs0&n~NjHw(3+zZ{-=RD81MlltzJ-FfTG{p}BS)Zck8+&Wp04=(q= zvRJq``r}yrz2VgJ#8bBOzNafnwBzm-K0{}+eAWV)3xp)W&TOF&*rw)0x7!xsw7P|Z}E z_e>?N$xPwAe_V1r!(3&bz6DlC@x@cZW*okZBJx7^zr8?*aVn=DlK@pvbSIc~19~6M zLxHFG7eTy;OL(RjT^d{7bEuUr{t|^fd7(js%oU+}`nNSn15fI5T03cc0h$+e8qm9O z(hyB3D>l$a7h*N3q6upUoaYAy6c01D zdb)nz$6ZDTmADlgZ`#`7+gP(i1EuOu5HS9f7om|eow5Z*U zh1rAEGhL|>-}>9*p*r&KXBv;}ii`G*8wJhUxB!o=f1{cOVcS>9N?eneH02fS;zIw7 z2L$F^FUSG$B`AfXYHdM1Z{>i;qBRSz^0by(OF!BYl}`y=HE(YGc8udx6bIqw<9iPL zWw+J0@4N3jDAtdi4YSkL8DwbqNml!6CVI4Sfwq;!sKwHASiI-wgE=Y!%97B-0xBvC zxFrd|BMW#L$BXf7d)e?DRN_%i<=GWWQP$twWq7qL=YNRTfKg$_pHlwx@np;IKaU3f zmoN*g78oow8daKObP^O;5c~5WAgc<(uO$7H3_T;GkICpWa^x{N@{AmROpZS#JD!n) zjkqN2`qpj`Xc}2j*mYBD5NH~59Pr5ofu^A*A{?4VFXBg8O=BP??EZH0ZvqWB F>>r#qGH(C? diff --git a/app/__pycache__/forms.cpython-313.pyc b/app/__pycache__/forms.cpython-313.pyc deleted file mode 100644 index c735882c275d2b6b2479d9e5034d2999c9997e4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3812 zcmb_f&2JmW6`v)!TrPJ>O0+G>X)H5}+lE#wwsB=wHEqLRN=?bClXZk1SZ~(kir#v; z%gipVNGAaXf*gAAC58S36TUcy0ts>n;7g9&`lKlWqbN{Rw-#nEKJ~rX6-B9Ztriua zw==(a^Ywo3y?K0*$)pMV{o$Pr>#s5)f5FbqpBOb>qy<90AR5tx1w!!~TM#NS8Y^Hs zz7Ve@Xrdxgv67@ojwJw-s8mVOR7IvT$Hav+wkrx%Dk@bumIS>F&G5Fgkgeost};SL z3S@#z5iRuw(d24uHXfdXj&d{&s4{@&IjRDh89)zlGz(~M06omn5kN-=&?6kp1A1rx z9pmU>K#vTd;|-xWwv7i`Dhf=Vw+-*!yi1$KI8!vAT25o$GVMCc+%!CI)ur{Yt6p|p z+cX^Bb&?pG`=8JLIsV`m?qG8H33$SRmCYX z8!43pEj|~c$*Ke+iE0X@s3kRNE*6c*d`_waegJxD-jk!AQdL1eUCm4pK$H&zO`VN} z3rDlF)f{MKX2HMkkB(?rI@-t;N0@Y}R%@Gj& zuIYvkjt28g54JfDIxpa#uwv=1+cZn}EZQ??( zce3==9?(xTdmiaXd|Cj#w@1B~f%IKqgk4kGvsx+ixiYZr3uSTsFy395=z#%*j`VjQN>5;yGx|epAyf1n6h#!cMtI$6Y@ON>xUDw>;uYo| z@7Rx>?y2*Easdpw&vLlR|G{z?3KFH$|&## zULC~ixKzfv<7dCU94PNYqzn?v(@^>Gg{|o`JGtoZaba2){y~Jy$HK<7Kkthx+;$J~ z{fzWG7&&l8;=~VmJHr?wLq@`Q6Nik*+&Pkcx)q2;6=RW(!;!YRrTbAxOMp=xnFG9K z4#FE>=*KwyM=1Vt7Q?Oi{y59~0K_nk;6+&NEIwZ9PM-^uGH`=WL6kqMxAfKlonrFufaAfQM3HD*YJD+ zuY&^b<$Vky;`!0#KrKae!IKXI<>x>q77aT%v@=hp0(BO2vPUN8--;KiVV%gU7yj7tEX~sZGQw}Ouhe0w za#$Z24z diff --git a/app/__pycache__/forms.cpython-36.pyc b/app/__pycache__/forms.cpython-36.pyc deleted file mode 100644 index eb05dd400db7af4abbc2aaec1f4e860ebc6e35ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2497 zcmbVNOK%%D5Z;IOy(_IBaniTa_M(e*Xpcb=H?E5Ufnn5cP%wwZTBPM|xQ}pGaqO#m z%@6T^=*@qiXI^_~d+878sWaS_EEl#4R11z~hC_1Z#Ld-P16o3=keRq_g31Icv&7 zT3Mb>nKXZ@rqZm6=|%V*D(Ycb@bkygd4Yg1u|FC}H%W>#XGtRcB*{xUt9!lD#0RKD^7m+b zTIOv0Dr?H~aV5&>I8Q6^w_>6$$7xlKPauKn?dn|g!5(+4eITwL>sv4$=}Ld=5*G#b zB^cg&i6&g)&86CSp>QoOwcuK88SJupBC<+BKY)F@i-BvxIK=}{?TH`je3=|GORJ=^- zYBW?{Z-6&q6Ugl{>!9kdhDtof)e0jFUSMATt7h)U?Nczu%&D;i7Iuqz z*oB!@*xjlJlWI#c<_p$`*VRYwdB%!mfW*hJ`G2Me@!PWCxEdoTJ;kohkcXUU$E%j!@gCT?9q(gX2Q0!aXPjpxH0epR z497*(Hs(n?MXYb~G~+Yu?MK&F{Q9aoEel4R9STjfW*5P;lCt4JSvM&s){Bhud5?+i zN+M{t*o~9<_Fea#i#-#o zC)DgiX$VHV6MXNJv*tt?U`ia|uy?mj5tC3@NYrua8NsY4{l&8F6L`Ga0#K!ZV3GB1 zm+hOET)ju?4N|>dHAdAjRO$=N3+2~comIL|+L!Jtd{1j^+8EQO`a(T6Vkfp@J9cCH EADUYg00000 diff --git a/app/__pycache__/forms.cpython-37.pyc b/app/__pycache__/forms.cpython-37.pyc deleted file mode 100644 index 1dc63a5887e98b5f7fb97427d87e113edb267d5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2501 zcmbVNOK%%D5Z;IOy(_IBaniTa=Aw&r$uTJ6#C1_1FpSy_3ZlSbEzpIQG>& z703_qf9TDBpl4otY5zh`o#C!zxv*8BT9BF<4#}Bs9()l+z6QTvH>#h0b2aS`Wahsf z5YJ)Mzr#c|s&kFtzrpp~Acl^#$<4e+dbvfc+$Oe?^+4tjCwGaPd&E;Ri~C6D0SWSu zgi2)ri4NsFi7< zGnR2_9c7JRBV7b=^(=zvKwMwdtZ33ED+{56B>U6UG;qYsvjV2{{lx&`VM96_9+$JG zETom?>6A(H=V~g=s+eAc-=Ux$mIXh5ES=W~2ow9Gfpn9kNOP7X(od4Sq%)3mm?Up! zDQ{N<+^2~UCTTTjpKwrs){(FhY+)XW8Z;z9E5HmD8sVYtI!=hIv}+aDD@}ZYGMxS% zjZe#*jo)NVc|NX0IUVO|1@=}<)a5v>s__XVP`zE9i$3V%i8Yp%tH=5lj7PeX-wNWQ zz@CEQy+Je~h&MsCF`y6@ms$`OTL!zVo`|ec&=268E-(-#^iwKXa8QG#Ydne{Tj9hatpgf zJ?z5DD(r66gGsd|9`gn3!|Up!_bOw>GC<;UIQ&0Tg!pY)aNLcalb#}1=g3!}h+~l> zsvb~sx1Xo5vg~J<^F7Fav!ku0TEM!n7Ik4#yQ5W0?`RKn+>Z9KtpgTemov`G5}Nd+ zS%%{xY8&&UT_V;ud7AMV_V%OeD}H@dot6b7&JKkpTC&eH z`w6xBP#S^}?*!lbR$6h z{2zL%|3J^vV=wJr@TGlkNXtqcxj;qmX}&jaIP<=@%+o0HHTZq``>)9_uBQEgVDZ-j z@DSemHxN{#I@bvP8(hx~V(2(FxtaG!FSm%5+r(D79_Sq6Qe7#je5*DGsy~Ip9X*fg;xQGGy)tcyau>W2Y?3( zuLF+h3g8um?*LwxQnw9orR!p0t37&WHX9IW$Z+!rQX+){13^QUSm&8nDQhTo&29+m|^xi6h(NC^|Wqk(jjq)2m?B+^fkyreUZ<1k5H%u?RY z2-r^(co=Cl>U0h&`XESH2{u0-i5fgef~SCEsNe_>ZP!pBtJ1DjWY0D60qRg(j>bo2 z&c@HPraT!}qMVNNw1V?iOw{E#t*Y@Mq)@$CornS0;}>fzFjtTD4S4VAN`E7a^D_Gi zjF*PdgfL!*)y9xQU|ecJU~Cy|vw9-3O3@#~cT{K~Oz5e&3yR&5C+^|IJ1E{oF(-_y zD8dqY{Sg@~0L6)TAJ@$3Xh$ES?jsPmXN}aMx3R8t%RPMnhPQb-g(d^ZYeSm$y0OE+ zSMb=QHhAnvOXZ4~`+Di`m$Q1TJ)au)bRGq_#6z8 z^Lb{dIza7mPmf@B(bF#1dyw~LH?|gP0PDe;*MmvzZmimQH}=5B?Z!T~bYLUwGR1jR zLW`a>*Myu#ZBw4K6U6#9PcuHlzW(ImoL`(*M`gi?vqhnS*6cKRR8ltFE9)lZ#Cn!- ze$`!~x1|!aTI|Hh)#tm;dj)&A8Sxs%S+@^lFz!Qw3G9--7O_*P^cR>J>RfN@snUJW-f~~#U0P$~MxWNz6Y8-MJFykp Iu^Zd}0JO*sNB{r; diff --git a/app/__pycache__/forms.cpython-39.pyc b/app/__pycache__/forms.cpython-39.pyc deleted file mode 100644 index 481098930811c7d6c4b8c6ca02ec365e19a22ca5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2503 zcmbVNNpIUm6y_rCq(m=q(p~8aU928@42rmMT@(lmqfUchE(EO^%WQ^AhEyE;>R$6h z{2zL%|3J^vV=wJr@TGlkNXbeayFf+oX}&jaIP<=@Od3VL2EQ+V|26r=)wDklEdP1{ z9>QDy27+o-=NiF(gX_6L3?0WNH}f9pw!~6Mw4Dy)7y7rw$UF!X;QI8pCCRqXO(*SUw@G9VtMt~!Q*8unF0PsNJ zb-*!Q0lcE{9l)z}4e*-68&u!dM(clpSK97Km);If>*qVA$Va9O_8XBE)18cQDxAy^QM$@Jg^~jLncG{%#S!q9J#k4t^;CYvSHh_ol)(0S%Ms%tXgPBxky)$j9 zQ{%NkEM`-aIkZPDYQHu*tqWGpl9k7N>au`()SntOIGfvrETZ9=PWm(g#`@CPnoMRa zkx({2mqcuq^n=ed#1xI*jyM_W;m3FNnd#;HOP>14jG(IYG zHh!Kp<;l1b<#e2<6`Z$XqAtg2RgDiJh3d`fL=36#X%LM}-E$gr17Kpx7OG;vP=CgW_Ej3&O~X zA}pa-ACbWlP@IVOam|8`cJv|YJ_3Pz)<_+C8|zAUv!@Th@HS7U&}1NaZAjBzH+C5K z3LbmZ29F(Ssaz2YUoZXra#j!9$m5ARul*an7Vm+T^lMm_w9D?}GIZi*Uq6P~JMh+6 z(&%dlk3j7;Zx`kH3}*k2x6C`!pfGLfKvB9-l!js@U?KH@iHQ2ZL?8pj#E%s(Q+maR z_yl%UVQABO9U-1vY@ldUqJKL%;!`wLtf0FBv-w|@ax+t(fiW^%V+GEca`o_U*AO^& zjju%=Y{Tqre7#WzCe@ZOW(n4X*VRSuamI=zQiky9|4aSA?8KZBw4K6U6#9PcuHlzW(ImoL`(*M`gi?vqhnS*6cKRR8ltFE9)lZ#Cn=> zKJPBk+foTyEq3B${`s!+&S4KXBVNNe>-K>R#(hXIfqjyy+vla)=XUzPfFqCKt+69O zn!WJ|HG5YYf)Vc!Z~Nr9ITQw%5(h@ux7&7zNhmB7YCCm>VD6LtV%g>)T-|LMsDcP_ zdbRt?=G8r}?jm*nsJ`FUB6bRu{sJ>Yo$GBqRk{z_TkdPTOKWW0=+nA-LOnKOC$?fc Hc4PY=Dk~0D diff --git a/app/__pycache__/models.cpython-310.pyc b/app/__pycache__/models.cpython-310.pyc deleted file mode 100644 index 87e75cf720388562e20ed8e71bee7ad8610ddcc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4264 zcmZ`+ZEqXL5x%|KJ04#pQL<$xeUaUu0gXm#f(CtaQx|cZs&U!0a$tn1!&2OnboBA= zvbT&Zf&vOCp9-}30Yw4oTm3isGxlpg`E!9FFp8?r>>VXic1YaZ&hG5X%+5SBm(=SO z3qSjByL)Wevi?oX{LcY%2T%4V5Mc=xS)KgNIt;uW*+Zw}FzRz6{(#;*a)(~WGktEv zhNVtv=y!Z(y>AIml)kV;>BR1o!TF*Lt_-ds*pAhzJi{(lyT$ZU7W79l=GDoDlREG(A7-!RM_v5LM=!0EQt1G6|-aw z~9TwDNK?EGE264X}UE`L=a`0>5=xk-7pSSw@WiK z4&t#28?VfcyEz;0GmOoCbYdTmIrTeeC~IO3m|!RNmrKV?*;8l2PDvB~5ZBG|KQRul zW4&o**A5x8=>IVu(y?W?HIpq@^CS&oqmbrI+wRr?&8}ThsEXb?i=@X+>2BwP_t|H$+MJ6L;M@ zbxvWBylwU@-!^6;)8IrEoahnOUn+L3nq8L*u9C|_t_Ha$kXtE6>I-rW!!?Vs+WD*{ z%=#y0trjE8MsBU(Rt$Hg;F^ZJT5zj|TQ9h^1@6j)2Cb`YUF!Awqacj56DLDmOJ$G+ zF}ZRQcUE_kkxJt3e5Yoc&&c1j6At&smEHYrf0U_YxY=oj6x@r#RS{%;8K$(HUQwX} zD9m^9C=6m<$p@(2S)Lp2n$c1}!GZcp*K@H8Hh7|f?u>PVVGnAQRS*T~K@tbL+D9yP z(*%(jY4`Imih|ZP?V43IC&!gnpox5i)Tt}88fgrbwQH1-6iwQn!5CmGOQTR}H%blz zi6HL*!|WuJC6eQVB#ceC%kR><-yw2?$Oe(`5qS+nb2_Q~KJl-Ew7fie_->T+HQ!6* zP+q0MH%Pcl=ZZ5J@N#TbM=6vD2oJJ#h-N*}^iqk|m?8o8OCP44<{Q8Ird!E`Lgdt_r<`GxFO+-X=mSU$#p* zS73X%PlwD1MtoSI2Cc`)4*K0UOv8Bq7oYm_u#CA2#5o zZL|f>*o!y=DMBJ=>Z|ggGOfZMHQ`Qpjw`A@ZA^eLUtS0PxYH#d63_;%dFj$jdLFK0 zA7K5vd9cPF%clTsN>76o;lt+G+1R|?&TVPTXq=L)Hol4g-bxdx_L3+}w)RF*l!aqt z=kPDENcbtDe0*(DMjecXyD^+MlRv`}ttP@K?5oRHW%l?11Wf!GHvu={JQDlJO1pb`O3eb1t>?(rJWK*ChnFL%_!zP;{Y`i z6chp+K~b|Srsbb~>wi9nb1a`bM=^cDHOTePQ__cE^2~aID^q0jJjbrWS&(BDAGj0{ z!uhLBmpXrWbSb#L8}rv^E{Y@99zLUeP%wF6EP%uS2lC0hlrUy;4<({huA&#|cQj11 zmXn8tK{JCKm(1alKEFZM-o_*o5TyCl#XLNd`DUf>VfMHNRZ&SI?nzNZeXd^I;4s6{ zD|z{#9AT4TJ~keBNF@lL!XPG_Qd!}&jR%cy-VZhkEZB%&4>Glp_OcDpi?fZWw-JSz z3Sa?JOgm|kYX5`a=shVDsohkDF`!tx;2D3yQ6A zbaI+^te*^w+ezP>o=JmRvgmM_UWa&M!WRj*Lp)=t#DWE2ZybopzNFv-p{i)Iw5 zK~K&KKu)Rhvdt^OFjYqn=$;;8ezpcuVK)4)h6H7wt=Uax|GB}&tLN6gn9*)6QzcAa z5#6q?bh{{!M-jDa-R@_jUX+jI@nHhMoE?QlrgDX-beEJL<&TN{oX9VUyhr2%A{5PY zr#8_;<*PKg1C5Mo1mEJo4Il^eZJ+zD|Ell#E52JR8@WD27Jigh?%**1bnzJ@YRGX5a{zIrq2HLSCeI!e&US4*`x`dFRV6sebBsgr%D_gZs(gF(!56?K}Iz;|Rq)X(&k{7P} z5eDd-dA(!7MVD%hq~2E5Bny*$I}H@BkH^7ie{-ZLkCVc>4D{Tjx-;uIA8y|_cbEf# jN!AnvW~G;Hto_@0NWMd+Hy_Hrskf-+T4oKq`N{tQhrp?q diff --git a/app/__pycache__/models.cpython-312.pyc b/app/__pycache__/models.cpython-312.pyc deleted file mode 100644 index 71743d7f2015c34b8da8c0913e230b0ab7cb414c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1361 zcmb7E&1)1{5U7H(1&ukb` z@Q}k0FM%BLHw5vxe}e}vl9N0~JnU(2A#+&R(^hr&WD_(83#Pi>uc}`C-g{N^zEUXx z%DXE~|4#+rFItR6%Z-tR#x{81u>h>>%PfX#B~U`uQW;@tpuJU6OAGYSu#D8!0~VT= z85XPp0|jn_XRL!~zQI}~RbB#bYCk zJfi&V2#?qzpN6?2^&o2d9cenQ+v9#9%N|c$;m2J+>PRi{c}MC#U9~jbsMB@aZo`oJ za+Y*+oV0j2X&IA*fu*H+D^F3R_9%#4sXfLkPUu=MT=;jP^&|>;Yt`>Y{Z=fZb}MvZ ztQ2#RL@g(dTVdq!AZf;ZSqPm~PVe))mc3JR3{-HlWE0gZ_*kxOUfsActe@GsI#{ID zwcYahVSQ%n+F)_-G@O_kl=n_S_2lMnyOsH2eQxU~#7}1UB;ofrejnDSw|+#pn!y!< zA8gq9rhBCfE)x83w=y^0-NdMDQ0mCoU3v=QoqJQWajnD4~6q-?h5uw!M15`ZCjRX8y~b6kUe4B&w5UfdBhAA z`+?LvsiU<8ZJa7<=VTJqI_zsTeQJN6>C+>F>9ZMA3T%|5_B6rXRiZ>z*SJ`H&U@`< zuj>bipt+Pq?5t+mhf=+}w48RTplK5YQfalL3}oSYM*L@S8AE9H6FTyq${70u diff --git a/app/__pycache__/models.cpython-36.pyc b/app/__pycache__/models.cpython-36.pyc deleted file mode 100644 index 74e90b7146b926533d4d6c73f75485db2d0262ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3307 zcma)8TaP3+6)xAUtE(?_+1VQ)Sd>IbZ$u9v5h!7RMZ4N$L()pJiHKSemEN*vrfTYj zU7clHHBX%<1Oo9dc;$)T;#VZ3{R?@@cU(0yJ(GP%m3-`DAKT}C{N`vBzOe|tcsR7I z|5+QKgYi8y^(6qeILoYg+p{?XZfADx%pFE^PUe0}y_WoE#6z(^AK3T`@s6Z2An;%CgF43V$CK@Zz&NkrHBrbOcaY;V2a%Z@E+xhBQdeH zo0ne+?Z##GET&CopN+viG&KVd7BM-uIh#9ZE}AF&wKeZ?n>$}y^MJeDL*H*1n};n+ zU?=1Q%n$jHkI;|!80>B7;K8C^JWgt%t(a6pAN6$WeKfTV(6Gjeti}e!?byd=VAvy3 zQaw=hqE6zdTGYoAN4rX7hq8}dG6eXyC1C;Uo4fnRWiIwllDd4hU&-=lKVMW3yb@BC z`-`gD&r2>cHLafMAc~SAsiSCwoyrBUn9o)_XRJ=o)?-F%_=sD&(s2A52DQ~#DdTKy z|6})*)pqJMY)w+Qe}q9lwmz{wM-NHtnPzh0X}7FIVc6Dgs>(vUS-Ifa<4}*9*m8hF zH9IuIw1Ak?0Z~1K9(I6rtd2KXJzGClt`9Q!z$*R=UPAElADq0^-8V4zZFg7*s(*oM2&(^sYNwkYU7{KrY`0q* zV$YwjXY0iNCzB7b>sq(6ZRqwoY{y{NJ8airH#+Q^!EScg-X-k%L2JqzGu>On@lqt2 zc8W6B!%7Mz3UW^v^xBhhS(in0X_8H!lMiVp$&XgylcOkJs=CaldN-l4yi7dcLd7zv z%yBz)QX`xrqQ~fr`J>B057okuM-dzZRLOj>|&m zL5%o_suIzbY458f%f#fC_RJ~TB{!AVAc?$1;*4r@8c7V1wP%Ep6eT)1OF-I}s>+gD zds+EZNCfTz`NuAmb}5t*24zy17?wYwgMUomrv&a0c$vT}07zV5RlZ6%h2F$(gT;N4 zm9cgYOPR|(TAUJbpBO6?401J;2FnUk2nup_1ElH~02T|_*!%%TA=^XSW!q-9g=1i0 zM?;jWJvxCh+H~W<^YEi=Lix>vAKgIVciTF3;Fc7AtP4Kdj4AXeBpvSFwi;k2XLvI` zfPW#C$H$3~@-B|ip(>XuYR%yreXEIUmgMVLm%k=J7Q!qg6ZsBPRAPC!Ko$4P^_pN8oGx)^e=aohAk6(Jo_s%b!Fbkm!)G8=J?%aC-d8;Gy{s+9F% znI+}^;WEoqvJ&zDi<2?@H;L=3$}+ou1_I-_#(g9yLz3C#n*`n>KxL-Ytk-JRDAlO< z-0!Zcw@1zny%DL}1)vH;${iXv3)n5T+CEovM|`eiaw4*qQSw6!pa#4oZbH#DxeK!Q z+GbWw>cNWwMd$}`Fei0tH}&9RaHqf9lz*=jBX72Hr)9=9d-|N56wd=cDL7IXg36Rs zGOwhPti7iaJ}#;5ph_+CirmdO7CD*jQJCYXHuSDIS3m;2k1A&bXniY$=$9(j8O;p# zK}DuFOBCraicqMR8I6Zg^ylRwYgbzS%-ww$+dKy%?I?i+Q_F=qmSf`mI)S$d{D#2q z2#^Lh3}l$4>MDBx#GN8L2Fx|T&jL5_f*%HcFf%_|a|{|77X@$I#1bnW0JnkPsTpF66>kA|fd9O< z4gNB47x=x}G58*E5BNv5YjBriS3}Q3e**fcfG++58E2^2*US&tIc KkZs%J``-dj4B!#~ diff --git a/app/__pycache__/models.cpython-37.pyc b/app/__pycache__/models.cpython-37.pyc deleted file mode 100644 index b572cb2fcdc6aa54b4f7373a542e82a5b28eba95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4136 zcma)9TaOz_6|U-=+t=}2GLygp!xAoD(0GA}n*s`K$TAR2mMluvKrF}AGt-{FZFPB* zu{;ve?9&Pa+E;|+d4tE@Cw@!4A|d53@Wgkj+m1ctfo}DwI#s8t&N+2%{gY<1#_)V{ z@%(qqHe>%HWbxSO+`*Se0D=h~v3}9=J_l|^R&4iePGffDyi2VUxv|&x%$OTh;!3|_ z`d-9izwgJ@ewDMgnWzZ=LnizSt6u|F6*XWrV0FPCvQGU4PGr3f*Bf~-n#f>q6h=WZ zi~|huHvrtjcz8@$T?TnL4MKxj+LJ+?eh_FU8>*8L?Xq|*bnf8Gp8y1mB6sY^wQ@5vBkw8u5wh9`vvc ztYo#d%Iac%say|)K0d?h&mh1IY@S;3k27lwmch0qtlLob*e)^KU`~lS26M+;egqn{ z=eF`@_PBDv&z+ew_k}CGOG|h+*t~kl&fS?kuc`XDF>hk;78&%+-D8*bC5OSAzB#jc zn3%+APPLYg8?RZIyEkta*Yp8>iM^xV(#1 z+vQB#(Cw7iropb2*p|U|OKjU%EgZ`Fr)OF&z2=b8(GulpXs!+k-SBIP^ z3=&-{CaB+UuS^fjY-N;!p^?(fg6t(4JXgVBfx1CFgcwy7L_v0vCV{Sx;2(o5g||i8 z{UD5@pmSZjW*6;{naUkVB5#m5O=Wf?i6OFfjWCkDMEi>fg%FfyQK+;VrOyHh#~mUb zS!pgSMCXjtFflGHKTrF9j=(;FFA#X0z?T5DL!8Pl6aE!|j#v1K^E66F+Br&PEU(ez zH;A}Od?h&)c-52YlMF%x3f#xljo5~+QPZPX249yaC^EA^FpW}orHmu z6mN7bPbc}HxDC&!JMTDVN_H?Wzej*B2%{8B9xFagZ)}@7*)uyPh9^TdG-*Ca@vm>H(p8d z3yL+tmYMS&R-9djI4Jkvza$L2w-6zD&4H+=HF=A})*!YmEE4}cmb4yIVc^Umw8?)| z0@yucDbv^Q2m7T@?;>9=)gESUFy{f_fYTPzI&L;DI_p%EkcdK zWxqc<=V!Z$;uZXS55B#}Na{x{xe0yP(8s+}AC5po_$!LxzuBc;tjA2bbI+`GinW(q z`sHrr2+_XpKOzmXd4>GAjEB>`bst=qe0N%3(do2FYJE<6B+X85tS?$RM&9lC@@+^~ z*co}C-lQ62CqE2^a#5@~l<2PNycWcnI(wJy=@HhO>XyO7 zEWV56v5N$=%ct8*-M^&nb=p*yQfWUJ=-Oa_a&;0>zcCoRKN&{FOyL#A>gS<)Oxc9Q`J0S>EM8?Rx|Rgb4vWK{tsJ&l9` zacY9LZ}}U(ZN@qclK@Qq)GZX0r_*3^d@xaziAi8xMO-|fdNA+X4-W4ax}t+lANti1crKm#&WTBW209)$0EjRGy)c diff --git a/app/__pycache__/models.cpython-38.pyc b/app/__pycache__/models.cpython-38.pyc deleted file mode 100644 index 8ca6ba1f6aa18132e00022c9a8c544c96b6646ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4198 zcma)9-ESMm5#PNp9zR8WM6#QrRZ|x!T~tcjr09pyx`^UNjY~LD47*pv1kF83M;-4j zd&@W`s3+wqXwjmtMFHw9e(h7A`)6z(0~GMT(3kc%dq;_sU7#dxcIS5XV`k?!Gk3q) ztTFuF`0}5#P1jq(aRGWXt)F`gD@F@#HW(oAN2^v8e@$6CJQ;yxXy~OF9pAJy(4d z4SJ+d$JS0B#)q?SGanyt8Y_Qv;wm0<>hGeX*pv;q;AhsK)=s&y zX7-eylP1ms_7;1eeZU^VBVY-utGVpB+DWr8F-OSHMhp$C529s`;T& zs32qiyVCF zZn1OwoC5%+Z}zO-V#z;nmKx6TcdWcp?pHVawM(uBslPy~0jYmMYPEddT#{-TZmk?^ zV9q1VSvj%(%;g?tt(PNhBezjCBLfD*gxoYug7wGgSfxpC@ulWF&&ijx9gU7AwZ})j!8ljxXeU@Rz+D!ui!dL^ zD5K@{s)`iwzxc|DqcG96Vu1QVdtta|Mk|992O22dEW|F^@KY7`=Byiz`cR{)!Z^&1 z(;t72nufU7* zI8F!JIZWk9ZqeWl30LV{Ne%;EMN@s8L5YyCo?nA#{u2-j91Tfea2$nF-o!GxmZ#&qSKNzd44-!#GbF!&?V1*6l*GYjE-NRqu3ccwWfT?ht?Dc zhO|PQp+3bNK6FgqXp7ilEyor}QS`BAzN!vuvpVe25bo3|Vu@%ct#u2F8DkmOBil?i0n^QT&>WZ$4wB>Don5x_Qx(>yG0xWGbjxpd8eKR>eBBdA`S@9MQz2#vT;Qah)q zlnUw68wLnIzXpeI<8J{9KA*HNT%nw}{g#utM@q%&$3*+T?(3xC=N+=6~W>N@PF4RcA?m*p>ntYSP z>!7+VEHc6GSkih(MT0Yg;wCRrd0=;q&rDvs8*Y~f-%ef+bG4oI^KH>j^6j|49Y?te zp+Bjm?JUi-|6cg?9Vt_(-AqOa0<4n#{8)RacEUu=?Oj}J=8lAa(x%A4_$~PqYG0Cu5g%Djv$H~?*8t2ZxJE-{B?%e*Lppav*Vchjb88L zaX&6b3S=19H|IvFkgGzORXQ(aJV_Z(-Xii#BJU7+kH|eDmuN9PDnTV-njVueeeRe) z;(_D4{;R&{x6xLO)BsXTKgtug@#K`rFF!eig%1T=AkU%2XNK_5x}pL+_}csJ(>uuL zFZdj-WzhE!ohguq>acBc4NvyKTi~}9NABUto8WEmZz#*~H^4jKZ!6pI8{l2=_mpFJ zM_|^JKEAxJypHvYO2iZ)CSrdZ?@+{7epQx!^}U5E&AE#*Oj5+wmA8w^3x4nxEn_n7 zrBRELe$+n+NyQKn#;BBQU-(-NpR5$N*qP6G!N62k8lzAoBV!yeS*MMu@_5;8>Ixj6 zHdheH$)=1?TIDw7(Eq&)eSz-Nx99zgK0{u*Uo8or>=#=;S=e&5-12g?i}?0FB;*G~ z4u}Lqeoy2hBA0f&bk6%2p!1qg?pywfZ%caDX_&NNa;t8k^gNk_nbAU w4pokMVBg!nYwph^+XDFnZsXKuxtHy&{aXbNe?hlk&`g&|xsx(z+iC^>1&Ow#DgXcg diff --git a/app/__pycache__/models.cpython-39.pyc b/app/__pycache__/models.cpython-39.pyc deleted file mode 100644 index 5ccd545bf8e2088864a5a9a7aa39c2fd4cd870dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4230 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 HTdm-~Z~mqL diff --git a/app/__pycache__/routes.cpython-310.pyc b/app/__pycache__/routes.cpython-310.pyc deleted file mode 100644 index 219b9292409642d51028fa0937106a1d98a6a7cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2799 zcmaJ@OLH4V5T4n$R`N4`=IOiu@vwk`3#3wnyl@H}Q#KT}7niJA+p>4HVs@0mD*0rt zx$q0@qkl(=Ke1O%oVn!yeBDcI$wg(W=G8Mh+x_*|-J6Y#g#yn+@As|mt3v!ii{Zz? z;w!ZL3n_#WN+u!|k&raE5}8_&mD-V=I+2sQk(+vv$9s0-M?TItNsv~eN*YEX%iW}! z)}mTE7LD=ROUBcQXhMp(7K^<}4t;i{lwpIgvbu zCsI{a?N@Omu{X=IG04W%1j(W~mP|r2rKVXj&yq`!%&1wGEZ}Q1YEI3og&j*RzO>Y3 zb%l2pdFLwRlI7Rbb(UXd`HeIAlDf(AD=fdI=Kni?Tis##Rb{V>`rSVX)w(R~X17~+ ziwPZfRIE2moOY9@i3`7{lg;f+7ru^v?!~z&-0h^9?-qfMRa?g`vs$+bcO`A^#6^{d zAG%4_RFDRbnx?tl#x34=2TwAc;yZzg<8CYK9u$>l>(5s=pR9cQxTvmgJlI%yxViRV z`s=R+BniSNn8YJoVPpMSzc6V#^>vH;dgsm zNgDvT3fASC^g6Zm6b3y<-8>0|zJlTP`;FZ!jT`%IlN~g=I@@Wa%`QINjdh+i0C_`a zJrn24z{6#m$MITTLl@ef4CT0Vr1y`$20=e;0CCgEn=j%KWUwbl3qmG;51kRm(pY=; ziIg;Vh^fXpc6s!SufWSA2|TRT!l66sfnLCSQ9yS;%d<{lo3yJJAu9rM=96|3M8L>B)Z3muW`GmmMjiucM<@qG}DHO49yBiE1~~W;;vT*@#vy zPE^ns+DDkYjdVxi&^9)D$2h|TRPMkYI7~zDr4QKsAC7lX#Tap5?F|6$;6zTKhm4gc zJ+ROt9{#OquU{(>yGP31FYKp}HwtI%`T7Q;+fQS&o2k5otbFzmh@>Bb_!}l?Aacwi zUMZ3(a&55G9*7fp=nS0v7GRVd#}>!2#V`uQvbQdbyXPry-_l8v*wxt<~$UkEo(OF`cmZ!9uLUlU&DW&;D(%xDxDol$D))&&JG<4 zSZd=Sf<^BC5C{7+rTfc-*to~z{Sk-TI7YdF9sU_6Mj$Grk$V;=Y-=EoZMba4$YW=K zWKBt$-R2rkS*5#9?Nv=IWX{!n%?v*e_YbfYRZ1{c(w!j`kic1|(s0T^7x`XczVBux zdy3th{xm!*gsGFVX6Xi&{mBs{5qB*}&mIdiGLj8k#)J(NX9miFU<0SvK=2t%95PLR zgjZk^$Lj@?d`g|823c>h1e$HKwQIO?$dZt9?Z=Sy7e*{maq_<|qj){Dh{_n%5Q;>q z9L6517^OcP=5gfVzENeRCOj@8j;fDyD11L*Gbe6@78E4*)vsxSv;3{tFQb4CXbOdM zh8NBr>QYoe&0MBLmY0Me2&0gMX@+m)nw+UAvI>X(GBlOa!fR!n?e-2AIlV+D2=&6{ z;>*RA>k@}3+s902CNPMs=#WhuO=YFKhwt{1_&x!c6W43vDl-XOl5;jyy#PG|$p^zc RG>nrWD*G&2faZ_Oe*xLYKXm{A diff --git a/app/__pycache__/routes.cpython-312.pyc b/app/__pycache__/routes.cpython-312.pyc deleted file mode 100644 index 7e0b6afb58eeeb743e4c087d68cdd17914d33125..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7207 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 diff --git a/app/__pycache__/routes.cpython-313.pyc b/app/__pycache__/routes.cpython-313.pyc deleted file mode 100644 index f55cb1e54f1539d050b9f673c6b8c922e829f78f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11460 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 Wzq|{+9?A8kFIsr}GY(#<@cs`YtWgC3 diff --git a/app/__pycache__/routes.cpython-36.pyc b/app/__pycache__/routes.cpython-36.pyc deleted file mode 100644 index a3a47e749f08166833f9944c4d158f6a15acee3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2716 zcmbtW$!;4*5bd6wi&o3pEXTAFAf|zsK%4+UAQ*AHBr+1&h?E=#0R)=el1R;Pn4Xpq z5!8vf`jWr!cla;nnp1wkr@X3>DN1&H$q>Cvbx(KItEyMLH#1ZH>R$BQW=)8{#nj_r z{w-R5OA4Wcl8Hz~EF{gHM5a#cq;Bk{UhJiQ?59B-@S2;1afm%$5~Y>6l2+p?%l)L5 z*5i6Q6VLE_kj$oY@thR8u0?NNg=>PxXibcrctJ1p7RR_v&*_D+jIUsANma&@$Ld(B znyUXP#u95+SvCXNtePWPyv&k$NEXy0OIBEN1(GFol_jezSyn4*^}tbUuN<|muJOtm zuWUdrS$L$ytDR)OSZ~a5yHD%$p2ZN?x%o*KR+U!}K4wAOjMR;tI zz5UD-q0zq|>)aOpe$vhli^yozHM(QBn@-_xrR@V<)Oh%1kYsHIY4oUV+dEyH68v=X zBr_@QiImoZPBu6xDo=NwZSOtV`tfm5+u41vyY+DI`Gegb-pbZ6Xmz2*A05(-9v3Y@ zdx(~QfzFDaRB}z6^6XUdyMuSfIwPUn6)}>^TSGr`l>f?urNMUL+e4i~nJy`t4{PNu zcMolv6mCCDn=ZC=ZK8`P)p@tSpXEh`X1pJ(L3)ytIlh8nxgoWhu9?SRmZ-am?zJ$h z7~bA#9cHO+9d&JX(i)iTpp~`%Vft^=XU{x&*skJv%HE zfMW`e?rMf+882}}cRtOte&O15U{+{DMBaVUO|%K|YAEC01A!qZyEXoX&e_K|bV6Q7 zC!D&BU?bUSKEeCYXDcrl`2T%=ZrB-$>}|7%3!(HC4CkJMV1optU!@8DGk zCx%l_e9zXnGEt)$u-S$8BFQ?1hty6fBM#b1O+n#LK@mYkLkgFm_?H4c4)HY|V{XzO z3jQh2&rmo$e}})>Kp`&&N({RzBvFrhh5^OaoS!8`OP@?)Wow zzh-%(bJ*@5fVlcLZ)E+(o7eWu>&C!z^M>v>I$1ifnj^7UpK=-sBhoi*A88_9_M9Qe zz+ntzvG}r`bireKFYE8+$1l>ZjcdmPk`Qg@hLUe8#r;yVi)2@-e97ezx%@l0@E%Uc z8|dD7yXtuGwkNCbek6$i>JEFK;$pZ|dcS1b)+UelC;oP^g&O<&OH8alR!A#*4pW>n zk{~}}ZbRaYPz8wn*=s~~&KcFY+lE+st7QsLj4gbGP~XN>@r*7!DrtrR2#KsOn(utXZrHKM*!&D5 zaw=lNA-hX{2fKd`Npr)Hjpd(*qcR++a&SzZhg#wFP;BA~%Hv(4l)Us1kxyJDVVWtO z+g3DxN@26w1bQ-e6F)xNx9H)u5bVt3OjZU>p106j_9&- nZQ{z~MBgXg;b5-I4e}{|b$1!F$c^Muv{+e;7HjLvtCfEN-j6T8 diff --git a/app/__pycache__/routes.cpython-37.pyc b/app/__pycache__/routes.cpython-37.pyc deleted file mode 100644 index c2ea78ec2beaa4433332830aacac13d13f61c4bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2831 zcmbtW%WfP+6s_v_Jp7E~R~#}40Wtx31Y(7vh`dPzj*$&QEhK9)Rkp|Oo*t^pQ9K&2 z%r+aoz+UD%@)x~j#Vd*(J?GwAbAN2CDscTh_3GCjYeM`< z5AQDzgKu%?-$)^pP%;szh=ruFlgQMGoz#up)Qi2;kNq@=1Dsstgs&GMYA1#POC!W$%N7Kjnnx4>8hcdpT#nFta z982!2$5Pc){daLFF?X4YJG^&hL7j4vs7O*B9Gix_Rn!fp5a zO~05hx~H_+usZE0ZL5oL&mnfs zt$+7Uwgy3~3oBlA$TqrM+yU+fxbv^jSg|9OTo4C5I*|PA;MuXxP$+j!45jiG&<-8t zzxLp1uu}MTTcA+so3XizQu~=pssW-tBE>c~PMeug7fI-+PgC z;k>WlS#HR#rfVkAnHg#>qj@9DJi2$cTiaQxTf1GG?YH_S+iIolK0e&nCeK=+yJfOH ztMg@W;j_QvcrE9ccdIgxRXHxrBCtWV1+Hx?Z@<(dPJlBn%*ic0SaBq+v*R91Nn?-V z(>g~!_kj%+qVZ6I31_A7XuoD;X7OGe(Z0{}tXH@;?VCAZMMM%l?j|~}A`1W1nW=S_2dFErbf}5pzh`~kSdMFND z>!S6ncRF;HKXiv42XOE@glyr;1-{0Wkr~Z^-7dTrN!BSmN4fie)R3G43!D%f?*%b|A^9t*RBREdUS=p8#qmx>AxDSfK8rlK-kF50bG zxk!_ye=hz^174VG)Z9d~_Zga>v%JySZuhoOnR+&FWWC1QH}>tDM&ESvhVC^w8S+na zBsS}(M8k=Q)J@yFnkp+RXNa;QD2XhlU$&Dj>XhEddK>xPi?nOw+FqX!s>`{d)ht;P7HJB;YFUx7`4)=FQ zdQ&~1+QNE&je!-&3Tfqz!=>IC$|Dzw-Lmq?8=}lpd1uvp8z|?bxVbBaiUEgPGc+99 zACjIJk1Hh!Pt&ba-lO!hJ*C4`$Il0Pg#&#%v)L2Oo>T;?(vh5W%xz$U$ukZj;W|M1 za?p~4?A$U2?3@@mCx?QayTQ&Olo5m%xW&nO&aIHj?^&mu3%r4K8|?8atU2RNRhrL% z4d%~yqjd5w$tYDvUeQ@XXAmVKojle(b>ftIcpSfRfW6KdDoqn_pJyEZ6|fFR<}aAc zDK;q1%opgJR}E2G{u$XVqn{RV3Vev{!rQ^Q7FTfEE>i`|%YY#I;wph@hHvDC4qZbT zRe1E@#MEgRbh6%NcZ&~6bCp&QbE=GWxkPbC~_k?6HSNH(R6KbcD^zn{R73JOQrw- diff --git a/app/__pycache__/routes.cpython-38.pyc b/app/__pycache__/routes.cpython-38.pyc deleted file mode 100644 index 6a05bccd38bd6ce4f911052a75bb924164cc4d35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2865 zcmbtWOK;mo5Z+xrMaj?jnK+5^YNNEZ(xRs#2%6?q2d(46PEqh8DB86iCPj6*3Ti<< zxz}9!3+$u+M)NP&V^94HIi#H#CbDD%zElEdhqKG&%s1c6^2O9tz~FcHuRm))6&d>* zZ^nN%+}Ww2 zjya9NF_%SI`kftem|G;<6xgQa4BEmavdn^IPR^5MnJgE;vLF}9vI1{gkV|q|t~7;Q zeJ$igd5LCLX=V-Voa~q76|!F>`_+-XEU%IM64|fI<@f7v$eUzelh!t?-1-Mmt?7bauX}x9QD6_grd}6_pwuw~c$0}`icatwt$tF;Bx|DGFu<+~onE=7NcT^%__PK@~7J)wKRfO<+UIK@c{#K{4!z8_}_j zIY-?_t{QRV(C8XZ0y7UeAR;z18~3dEdKsPzecbz5nshVE#67(Nw#>(LK50iP41g78 ze@8?9wFgrg%a9@+6PM^2+-Db_!Cg}y1QR9h!(W#{A2<}rL=Xt%|4(q9h&kBnZH^YD zR?mY$UjR|D^cB=GGRmD^MGdo+3v^#!27$}+Oo)k0;M`y)&qOcLW;co2$wVX$tSG=m z>39Unc~m`Q2bQrw+QuHIt#pRg&?fS_uRTbWw|N?yz6QHeP+?)@L&en#V9xB9QPRk4 zDB2i#-mFV`%FK#07C+`iqo;%fOii*l^x$dSM&HCWlNe=F$eXPX0DJ-~QUsN~N6Q8F z5_g$E2EWs{U~W*#al3~u-p{P3k9RVA>-qK$bOtY0rj^LF0UdqxLnzTpg7ObgMo?0{ zL#<;Mz^b=^-`0>F^8Fx>rYG@yM$4qyiM*JZg z+Q$Owq#(URtee0TrJvWydAn5#A59FPiP<nJ`2(MR!fl9n5-dbbHZscX`5 z(k;I^F>g-FJ>5>rs#|U(P;rX*SSgKV4$ed<*0{c>u&?GsMyxV7M=_g!Rgc=xp;RsD z*3$mVxNX8>zlRp=%BjXuJ1t`HmOPszK<@IHy!)8o#5O$t&O1NtW zQ0`dtB{3qxJN+4~A1vfF$eU{Q9*y@W5^upW>@Jk}uR$>kYJ?l!5!Cd>kRMr)y4!{y z*+Xdf*yt&Jj&Y^P({^HQYHS6>y^5!a@2BN|2d2V84$4N{976*R0rDva06Y3w_7{l# zt;8fxVK$|&6@mTQ=d(hugKaQ75hPS$1FWN;01bnr0C7D9$VLJ3A)^4VQ-Hv0VB}b6 z8i9w9sCv(YJHj2Tr!I0O#&HwzV`T1VR`FXp9qhN2)QI8Y?Wb@k>RQP<0zgcemZ7V^Uwm6^MG~ z&;d@zGo5TysuUkFotQu%lA~iWQB~z<D;P@ipWT{7cpnXugFfXUX$< T;KGGtFw29*X&(4+dDHwqJj+Q? diff --git a/app/__pycache__/routes.cpython-39.pyc b/app/__pycache__/routes.cpython-39.pyc deleted file mode 100644 index d5ae6f45e5a0aca410c1e310c62c027e6f4e48a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2847 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 J8*cIK{{eIT$iDyp diff --git a/app/__pycache__/utils.cpython-313.pyc b/app/__pycache__/utils.cpython-313.pyc deleted file mode 100644 index d159ad56402e69658c875bc65ab58e396ccf1393..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2089 zcmb7F-%lJx9G~60z1`z}5eqGrf(s?ZlgiQ5nzS?!X-oCEg1P0Q3EFeL8;#s_a}E7m6NL+H1Y225(he>ZP2Isv zE)g?5YZE3D{6Ps*he@-bImZ-&vj)K#hshLEYS`9_z@&Mi7wKe1s3pq>PwlG=fp8O2 zpK0t)qYE`TgtmGIb9V{-e=dw6s6S$3RdbVU`9H=#W$;~0nF9mKPJ9yc& zGrCDf2LG+gYevrj`};0>7HEI;)_S0C`&j3r>yNL0-~YqFcLU{9BkRXT*Mg(JMp_^C ztwnm4&XglPYf4WAj1b{H85KzzmyZLZycOS5NjnTId@v94JS_6_Q@95na9e75aPE`0 z_e77>Tk#-Yc$Z7N3JP|wdAmplXdUPlUO--=$_PZ^*PBAgT93eLgX&!}3@bV`geD$A zFM!}uHGzkK?gATE5~qUu4WoJLO`xKjcLp9|m6DC-sjncE$m$A+gyS48V9PnHeuztkY2rI7ASJ~{&cZ}BF$E){7gm=Y0&;Uu6+1Dz zq#lT@T3DsFbvV-aowfv4vo@e9IQ?i*#kURW;L<6c=Yb7fU0rc_YLMUR$~54&H;)%6 zlZwQ!946Y7d5gL;$0UOSN;4lIctLlVQqc1pwkaT!uX;olY@SRP$w=DN= zE1|V;-)4BA93EIstcNfDqFmZhTD}N;7I>K0P4YZVL*w?#aj>aJ}8wP^!`D-au_^L%H%S5OMJ-8mj*D@`M8u;h3o75h0HFu#k?wrx_vA3EVbD;E^qnynz$V--4;%LO}IGVur*03{A`v>Vv2M-YVH c(ex&oE~Dw+Q0G(R|I6nSx+|^iLaS^45BJiy+W-In diff --git a/app/__pycache__/views.cpython-35.pyc b/app/__pycache__/views.cpython-35.pyc deleted file mode 100644 index c5ba32f74fa4251918a53f15c097ca1513b5d149..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 zcmYjNxlRKy5FLAu97+VDNxP!kChieJNHi1>MM}2~TJR)UV#h1n0TMw4KZE!eK44oa zejyd(6-BH$-W-}Yp3!jF|N6#a!~lNa;KhV5N!^5uBw?TcG=qWx3o!@9L31cLFy!zU zfsEjt!9R`zmI=rdJ|JL{A_m!kS>FAnnUJ&Q$l_X}z4NGRReGdURMz#LiCroxD!n{} z&hThINJ+0q-67HvNHwrJpWn5VEm>u&0`vavsWn=&V diff --git a/app/routes.py b/app/routes.py index 3827572..f261687 100644 --- a/app/routes.py +++ b/app/routes.py @@ -46,6 +46,7 @@ def savefile(): def edit(): theme = tmp.datas['config']['theme'] menu = DB.datas['menu'] + print('edit_menu' + str(menu)) myblocs = tmp.datas['blocs'] return render_template('/edit.html.tpl', blocEdit="", @@ -170,8 +171,19 @@ def delImage(bloc, image): @login_required def editMenu(): print (request.form) - for key in request.form.keys(): - print (key) + DB.datas['menu']=dict() + for menu in request.form: + if '§§' in menu: + submenu = menu.split("§§") + if submenu[0] in DB.datas['menu'].keys(): + DB.datas['menu'][submenu[0]] = DB.datas['menu'][submenu[0]] | {submenu[1]: str(request.form[menu])} + else: + DB.datas['menu'][submenu[0]] = {submenu[1]: str(request.form[menu])} + + else: + DB.datas['menu'][menu] = str(request.form[menu]) + print (DB.datas['menu']) + flash (u'Le menu a bien été modifier', 'succes'); return make_response(('Update menu succesfull', 200)) diff --git a/app/templates/admin/_menu-edit.html b/app/templates/admin/_menu-edit.html index 4075815..3e7c1eb 100644 --- a/app/templates/admin/_menu-edit.html +++ b/app/templates/admin/_menu-edit.html @@ -28,11 +28,11 @@ {% endif %} {% endfor %} - +
- + @@ -43,7 +43,7 @@ - +
@@ -114,6 +114,8 @@ + +