Files
Client-Billing-software/app/routes/__pycache__/main.cpython-312.pyc

95 lines
19 KiB
Plaintext
Raw Normal View History

2026-04-15 10:32:46 +05:30
<EFBFBD>
<03>1h<31>=<00><00><><00>ddlmZmZmZmZmZmZmZddlm Z ddl
m Z m Z ddl ZddlZddlmZede<11>Zej'd<07>d<08><00>Zej'd <09>d
<EFBFBD><00>Zej'd d g<01> <0A>d<0E><00>Zej'dd g<01> <0A>d<10><00>Zej'd<11>d<12><00>ZddlmZmZddlmZmZmZmZej'd<15>d<16><00>Zej'd<17>d<18><00>Zej'd<19>d<1A><00>Z d<1B>Z!ej'ddg<01> <0A>d<1E><00>Z"ej'ddg<01> <0A>d <20><00>Z#y)!<21>)<07> Blueprint<6E>render_template<74>request<73>redirect<63>url_for<6F> current_app<70>jsonify)<01>db)<02>Task<73>
WorkDetailN)<01>datetime<6D>mainz /upload_excelc<00><00>td<01>S)Nz upload.html<6D>r<00><00><00><>C:\Users\ADMIN\Desktop\Swapnil Dahiphale\new_app\client-billing-app-new - 22-05-2025\client-billing-app-new - 22-05-2025\app\routes\main.py<70> upload_excelrs <00><00> <1A>=<3D> )<29>)rz
/dashboardc<00><00>td<01>S)Nzdashboard.htmlrrrr<00> upload_filers<00><00> <1A>+<2B> ,<2C>,rz/upload<61>POST)<01>methodsc <00><><00>dtjvrytjd}|jdk(ry|<00>rtjj t jd|j<00>}|j|<01>tj|dd<00><07>}|jd|jd |jd
|jd |jd |jd |jd|jd|jd|jdd<12>
}|j<00>D<00><04>cic]\}}|tj|<05>rdn|<05><02>!}}}td2i|<03><01>}tj j#|<06>tj|d<13><14>}|j%t&<00>j)dddd<15><03>}t+d|j,<00><00><02>gd<17>}|j,dt/|<08>k(r||_n?t+d|j,d<00>dt/|<08><00>d<1B><05>|d|j,d|_d} d}
|j3<00>D]<5D>\} } | drt'| d<00>nd} | d}|r|} | }
d}n| }t5d2id|d<00>d |d!<00>d|<0E>d| <0A>d"| d"<00>d#| d#<00>d$| d$<00>d%| d%<00>d&| d&<00>d'| d'<00>d(| d(<00>d)| d)<00>d*| d*<00>d+| d+<00>d,| d,<00>d-| d-<00>d.|<0F>d/|s|
nd<00>d0| d0<00><01>}tj j#|<10><00><>tj j7<00>t9t;d1<64><00>Sycc}}w)3N<33>filez No file part<72>zNo selected file<6C> UPLOAD_FOLDER<45> )<02>nrows<77>header)r<00>)r r )<02>r )<02>r )<02>r )<02>r )<02>r )<02>r )<02>r )<02> r )
<EFBFBD> name_of_work<72>cover_agreement_no<6E>name_of_contractor<6F>name_of_tpi_agency<63>name_of_division<6F>name_of_village<67>block<63> scheme_id<69>date_of_billing<6E>measurement_book<6F>
)<01>skiprows)<03>nan<61>NaT<61>Nonez Data shape: )<0F> serial_number<65> task_name<6D>unit<69>qty<74>rate<74>
boq_amount<EFBFBD>previous_billed_qty<74>previous_billing_amount<6E>in_this_ra_bill_qty<74>in_this_ra_billing_amount<6E>cumulative_billed_qty<74>cumulative_billed_amount<6E> variation_qty<74>variation_amount<6E>remarkr zColumn mismatch: z columns found, expected <20>.r9r8<00>
block_namer/<00> village_namer.r:r;r<r=r>r?r@rArBrCrDrE<00> parent_id<69>parent_task_namerFzmain.display_tasksr)r<00>files<65>filename<6D>os<6F>path<74>joinr<00>config<69>save<76>pd<70>
read_excel<EFBFBD>iloc<6F>items<6D>isnar r
<00>session<6F>add<64>astype<70>str<74>replace<63>print<6E>shape<70>len<65>columns<6E>iterrowsr <00>commitrr)r<00>filepath<74>work_details_data<74>work_details_dict<63>key<65>value<75> work_detail<69>data<74>expected_columns<6E>current_main_task_serial<61>current_main_task_name<6D>_<>rowr9r8rJ<00>tasks r<00>uploadrps<><00><00> <0A>W<EFBFBD>]<5D>]<5D>"<22><1D> <12>=<3D>=<3D><16> <20>D<EFBFBD> <0B>}<7D>}<7D><02><1A>!<21> <0B><15>7<EFBFBD>7<EFBFBD><<3C><<3C> <0B> 2<> 2<>?<3F> C<>T<EFBFBD>]<5D>]<5D>S<><08> <0C> <09> <09>(<28><1B><1F>M<EFBFBD>M<EFBFBD>(<28>"<22>T<EFBFBD>J<><19>-<2D>2<>2<>4<EFBFBD>8<>"3<>"8<>"8<><14>"><3E>"3<>"8<>"8<><14>"><3E>"3<>"8<>"8<><14>"><3E> 1<> 6<> 6<>t<EFBFBD> <<3C>0<>5<>5<>d<EFBFBD>;<3B>&<26>+<2B>+<2B>D<EFBFBD>1<>*<2A>/<2F>/<2F><04>5<>0<>5<>5<>d<EFBFBD>;<3B> 1<> 6<> 6<>t<EFBFBD> <<3C> 
<EFBFBD><19>Yj<01>Xo<58>Xo<58>Xq<58>r<>*<2A>#<23>u<EFBFBD>S<EFBFBD>2<EFBFBD>7<EFBFBD>7<EFBFBD>5<EFBFBD>><3E>4<EFBFBD>u<EFBFBD>D<>r<><19>r<> <20>5<>#4<>5<> <0B>
<EFBFBD>
<EFBFBD>
<EFBFBD><0E><0E>{<7B>#<23><12>}<7D>}<7D>X<EFBFBD><02>3<><04><13>{<7B>{<7B>3<EFBFBD><1F>'<27>'<27><04>T<EFBFBD>4<EFBFBD>(P<>Q<><04> <0E> <0C>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>L<EFBFBD>)<29>*<2A>
<EFBFBD><18> <10>:<3A>:<3A>a<EFBFBD>=<3D>C<EFBFBD> 0<>1<> 1<>+<2B>D<EFBFBD>L<EFBFBD> <11>%<25>d<EFBFBD>j<EFBFBD>j<EFBFBD><11>m<EFBFBD>_<EFBFBD>4M<34>c<EFBFBD>Rb<52>Nc<4E>Md<4D>de<64>f<> g<>+<2B>N<EFBFBD>T<EFBFBD>Z<EFBFBD>Z<EFBFBD><01>]<5D>;<3B>D<EFBFBD>L<EFBFBD>#'<27> <20>!%<25><1E><1A>m<EFBFBD>m<EFBFBD>o<EFBFBD> !<21>F<EFBFBD>A<EFBFBD>s<EFBFBD>14<31>[<5B>1A<31><03>C<EFBFBD> <0B>,<2C>-<2D>r<EFBFBD>I<EFBFBD><1F><0F>0<>M<EFBFBD><1C>+8<>(<28>)2<>&<26> <20> <09>4<> <09><17><0E>,<2C>W<EFBFBD>5<><0E>.<2E>/@<40>A<><0E>,<2C><0E>$<24> <0E>
<19><16>[<5B> <0E> <18><05>J<EFBFBD> <0E><19><16>[<5B><0E><1F>|<7C>,<2C><0E>%(<28>(=<3D>$><3E><0E>),<2C>,E<>(F<><0E>%(<28>(=<3D>$><3E><0E>+.<2E>.I<>*J<><0E>'*<2A>*A<>&B<><0E>*-<2D>-G<>)H<><0E>"<22>/<2F>2<><0E> "%<25>%7<>!8<>!<0E>"$<24>#<0E>$@M<01>!7<>RV<52><56>%<0E>&<1B>8<EFBFBD>}<7D>'<0E>D<EFBFBD>* <0F>J<EFBFBD>J<EFBFBD>N<EFBFBD>N<EFBFBD>4<EFBFBD> <20>A !<21>D <0B>
<EFBFBD>
<EFBFBD><19><19><1B><17><07> 4<>5<>6<>6<>i <0C><>&ss<00>$Mz /update_tasksc<00>j<00> tj<00>}d}|j<00>D]<5D>\}}d|vr<01> |jdd<03>\}}|j <00>s<01>1t |<05>}t jjt<00>j|<06><04>j<00>}|s<01><>t||d<00>}||k7s<01><>t|||<03>|dz }<01><>|dkDr/t jj<00>tdd|<01>d<07>i<01>Stddi<01>S#t $r} td d
i<01>d fcYd} ~ Sd} ~ wwxYw) Nrrmr )<01>id<69>messagezcount: z field(s) updated.zNo fields were updated.<2E>errorz'An error occurred while updating tasks.i<>)r<00>get_jsonrV<00>rsplit<69>isdigit<69>intr
rX<00>queryr <00> filter_by<62>first<73>getattr<74>setattrrbr <00> Exception)
<EFBFBD>updates<65> update_countrf<00> new_value<75>
field_name<EFBFBD> task_id_str<74>task_idro<00> current_value<75>es
r<00> update_tasksr<73>ys3<00><00>R<01><19>"<22>"<22>$<24><07><18> <0C>%<25>m<EFBFBD>m<EFBFBD>o<EFBFBD> &<26>N<EFBFBD>C<EFBFBD><19><12>#<23>~<7E><18>&)<29>j<EFBFBD>j<EFBFBD><13>a<EFBFBD>&8<> #<23>J<EFBFBD> <0B><1E>&<26>&<26>(<28><18><19>+<2B>&<26>G<EFBFBD><15>:<3A>:<3A>#<23>#<23>D<EFBFBD>)<29>3<>3<>w<EFBFBD>3<>?<3F>E<>E<>G<>D<EFBFBD><13> '<27><04>j<EFBFBD>$<24> ?<3F> <0A> <20>I<EFBFBD>-<2D><1B>D<EFBFBD>*<2A>i<EFBFBD>8<> <20>A<EFBFBD>%<25>L<EFBFBD>! &<26>$ <18>!<21> <1B> <0E>J<EFBFBD>J<EFBFBD> <1D> <1D> <1F><1A>I<EFBFBD><17><1C><0E>>P<>'Q<>R<>S<> S<><1A>I<EFBFBD>'@<40>A<>B<> B<><42> <14>R<01><16><07>!J<>K<>L<>c<EFBFBD>Q<>Q<><51>R<01>s1<00>B%D<00>(D<00>;AD<00> D<00> D2<03>D-<03>'D2<03>-D2z/tasksc<00>p<00>tjjtjj <00><00>j <00>}|syt jj|j|j<00><02>jt jj <00><00>j<00>}g}d}|D]<5D>}|j|j|j|j|j|j |j"|j$|j&|j(|j*|j,|j.|j0|j2d<03>}|j4rg|d<|j7|<05>|}<03><>|s<01><>|dj7|<05><00><>t9d||<02><06>S)N)zNo work details available.i<>)rIrH<00>rrr9r:r;r<r=r>r?r@rArBrCrDrErF<00>subtasksztasks_display.html)<02> work_details<6C> grouped_tasks)r ry<00>order_by<62> uploaded_at<61>descr{r rzr.r/<00>allrrr9r:r;r<r=r>r?r@rArBrCrDrErFr8<00>appendr)r<><00>tasksr<73><00>current_main_taskro<00> task_datas r<00> display_tasksr<73><00>ss<00><00><1D>#<23>#<23>,<2C>,<2C>Z<EFBFBD>-C<>-C<>-H<>-H<>-J<>K<>Q<>Q<>S<>L<EFBFBD> <17>0<> <10>J<EFBFBD>J<EFBFBD> <20> <20>!<21>1<>1<><1F>%<25>%<25> !<21> <06><0F>h<EFBFBD>t<EFBFBD><1F><1F>$<24>$<24>&<26>'<27><03><03><05>
<EFBFBD>
<17>M<EFBFBD><1C><15><15><<3C><04><16>'<27>'<27><1D><1E><1E><18>I<EFBFBD>I<EFBFBD><17>8<EFBFBD>8<EFBFBD><18>I<EFBFBD>I<EFBFBD><1E>/<2F>/<2F>#'<27>#;<3B>#;<3B>'+<2B>'C<>'C<>#'<27>#;<3B>#;<3B>)-<2D>)G<>)G<>%)<29>%?<3F>%?<3F>(,<2C>(E<>(E<>!<21>/<2F>/<2F> $<24> 5<> 5<><1A>k<EFBFBD>k<EFBFBD>
<EFBFBD> <09>$ <10> <1D> <1D>$&<26>I<EFBFBD>j<EFBFBD> !<21> <19> <20> <20><19> +<2B> )<29> <1D> <1E> <1D>j<EFBFBD> )<29> 0<> 0<><19> ;<3B>1<<3C>4 <1B>/<2F>l<EFBFBD>Zg<5A> h<>hr)rr)<04>func<6E>cast<73>Float<61>literal_column<6D>/c<00><00>tjjdd<00>}ttj
t <00>}ttjt <00>}tjjtjjd<02>tjjd<03>tjttj t <00><00>jd<04>tjttj"t <00><00>jd<05>tjttj$t <00><00>jd<06>tjttj&t <00><00>jd<07>tjttj&t <00>ttj
t <00>z<00>jd<08>tj|<02>jd <09>tj||z<00>jd
<EFBFBD><00> }|r2d |vr.|j)tjj+|<00><00>}|j-tjtj<00>}|j/<00>}g}|D]<5D>}|j1|j|j|j2xsd d |j4xsd |j6xsd |j&xsd |j8xsd |jxsd t;|j<xsd d<0E>d<0F>
<EFBFBD>t?d|j<00>d|j<<00><00><04><00><>tjjtj<00>jA<00>j/<00>}d g|D<00>cgc]}|d <00><02> c}z} tCd|| |<00><13>Scc}w)Nzblock[]rHrI<00>total_boq_amount<6E>prev_billed_amount<6E>total_variation_amountrBrCr@<00>to_be_claimed_amount<6E>Allr<00>-r!)
rHrIr<>r<r<>r<>rBrCr@r<>z [DEBUG] z | To Be Claimed: z
index.html)<03>villages<65>blocks<6B>selected_block)"r<00>args<67>getlistr<74>r r<r<>r@r
rXryrH<00>labelrIr<><00>sumr=r?rErB<00>filter<65>in_<6E>group_byr<79>r<>r<>r<>r<>rC<00>roundr<64>r]<00>distinctr)
r<EFBFBD><00>rate_col<6F>qty_colryr<><00> village_data<74>villager<65>r/<00>
block_lists
r<00> dashboardr<64><00>s<><00><00><1C>\<5C>\<5C>)<29>)<29>)<29>T<EFBFBD>:<3A>N<EFBFBD><14>D<EFBFBD>I<EFBFBD>I<EFBFBD>u<EFBFBD>%<25>H<EFBFBD><12>4<EFBFBD>+<2B>+<2B>U<EFBFBD>3<>G<EFBFBD> <0E>J<EFBFBD>J<EFBFBD> <1C> <1C> <0C><0F><0F><1D><1D>l<EFBFBD>+<2B> <0C><19><19><1F><1F><0E>/<2F> <0C><08><08><14>d<EFBFBD>o<EFBFBD>o<EFBFBD>u<EFBFBD>-<2D>.<2E>4<>4<>5G<35>H<> <0C><08><08><14>d<EFBFBD>2<>2<>E<EFBFBD>:<3A>;<3B>A<>A<>BV<42>W<> <0C><08><08><14>d<EFBFBD>+<2B>+<2B>U<EFBFBD>3<>4<>:<3A>:<3A>;S<>T<> <0C><08><08><14>d<EFBFBD>0<>0<>%<25>8<>9<>?<3F>?<3F>@W<>X<> <0C><08><08><14>d<EFBFBD>0<>0<>%<25>8<>4<EFBFBD><04> <09> <09>5<EFBFBD>;Q<>Q<>R<>X<>X<>Ys<59>t<> <0C><08><08><17><19><1F><1F> 5<>6<> <0C><08><08><18>G<EFBFBD>#<23>$<24>*<2A>*<2A>+A<>B<> <06>E<EFBFBD><16>%<25>~<7E>5<><15> <0C> <0C>T<EFBFBD>_<EFBFBD>_<EFBFBD>0<>0<><1E>@<40>A<><05> <11>N<EFBFBD>N<EFBFBD>4<EFBFBD>?<3F>?<3F>D<EFBFBD>,=<3D>,=<3D> ><3E>E<EFBFBD><14>y<EFBFBD>y<EFBFBD>{<7B>H<EFBFBD><15>L<EFBFBD><1B>b<01><07><14><1B><1B>!<21>,<2C>,<2C>#<23>0<>0<> '<27> 8<> 8<> =<3D>A<EFBFBD><17>")<29>"<<3C>"<<3C>"A<><01>&-<2D>&D<>&D<>&I<><01>%,<2C>%B<>%B<>%G<>a<EFBFBD>(/<2F>(H<>(H<>(M<>A<EFBFBD>#*<2A>#><3E>#><3E>#C<>!<21>$)<29>'<27>*F<>*F<>*K<>!<21>Q<EFBFBD>$O<> 
<EFBFBD> <0B> <0E> <09>'<27>.<2E>.<2E>/<2F>/A<>'<27>B^<5E>B^<5E>A_<41>`<60>a<>b<01> <10>Z<EFBFBD>Z<EFBFBD> <1D> <1D>d<EFBFBD>o<EFBFBD>o<EFBFBD> .<2E> 7<> 7<> 9<> =<3D> =<3D> ?<3F>F<EFBFBD><17><17>&<26>9<><15>E<EFBFBD>!<21>H<EFBFBD>9<>9<>J<EFBFBD> <1A><14><1D><19>%<25>  <06><06><>:s<00>% Pz/generate_report_pagec<00><><00>tjjtj<00>j <00>j <00>}|D<00>cgc]}|j<00><02>}}tjjd<01>}|<02>rtjjtj<00>jtjjd<00>tj|k(<00>j <00>j <00>}|D<00>cgc]|}|jj<00>jdd<03>jdd<03>jdd<03>jdd<03>jdd<03>jdd<03><00><02>~}}n<>tjjtj<00>jtjjd<00><00>j <00>j <00>}|D<00>cgc]|}|jj<00>jdd<03>jdd<03>jdd<03>jdd<03>jdd<03>jdd<03><00><02>~}}t!d |<00>t!d
j#|<02>|<03>t%d ||<00> <0C>Scc}wcc}wcc}w) Nr/<00>,r<00>(<28>)rG<00>&<26>
zFetched blocks:z"Fetched main tasks for block '{}':ztask_report.html)<02>
main_tasksr<EFBFBD>)r
rXryr rHr<>r<>rr<><00>getr9r<>r8<00>isnot<6F>stripr\r]<00>formatr)r<>r/r<>r<>ros r<00>generate_report_pager<65> sp<00><00><10>Z<EFBFBD>Z<EFBFBD> <1D> <1D>d<EFBFBD>o<EFBFBD>o<EFBFBD> .<2E> 7<> 7<> 9<> =<3D> =<3D> ?<3F>F<EFBFBD>,2<> 3<>5<EFBFBD>e<EFBFBD><1E><1E> 3<>F<EFBFBD> 3<><1C>\<5C>\<5C>%<25>%<25>g<EFBFBD>.<2E>N<EFBFBD><15><17>Z<EFBFBD>Z<EFBFBD>%<25>%<25>d<EFBFBD>n<EFBFBD>n<EFBFBD>5<><<3C><<3C> <10> <1E> <1E> $<24> $<24>T<EFBFBD> *<2A> <10>O<EFBFBD>O<EFBFBD>~<7E> -<2D>
<EFBFBD> <13>(<28>*<2A>S<EFBFBD>S<EFBFBD>U<EFBFBD> <13>^h<02>i<02>VZ<02>d<EFBFBD>n<EFBFBD>n<EFBFBD>*<2A>*<2A>,<2C>4<>4<>S<EFBFBD>"<22>=<3D>E<>E<>c<EFBFBD>2<EFBFBD>N<>V<>V<>WZ<57>\^<5E>_<>g<>g<>hk<68>ln<6C>o<>w<>w<>x{<7B>|~<7E><>H<02>H<02>IM<02>NP<02>Q<02>i<02>
<EFBFBD>i<02><17>Z<EFBFBD>Z<EFBFBD>%<25>%<25>d<EFBFBD>n<EFBFBD>n<EFBFBD>5<><<3C><<3C>T<EFBFBD>=O<>=O<>=U<>=U<>VZ<56>=[<5B>\<5C>e<>e<>g<>k<>k<>m<>
<EFBFBD>^h<02>i<02>VZ<02>d<EFBFBD>n<EFBFBD>n<EFBFBD>*<2A>*<2A>,<2C>4<>4<>S<EFBFBD>"<22>=<3D>E<>E<>c<EFBFBD>2<EFBFBD>N<>V<>V<>WZ<57>\^<5E>_<>g<>g<>hk<68>ln<6C>o<>w<>w<>x{<7B>|~<7E><>H<02>H<02>IM<02>NP<02>Q<02>i<02>
<EFBFBD>i<02>
<EFBFBD>
<1B>V<EFBFBD>$<24> <09>
.<2E>
5<EFBFBD>
5<EFBFBD>n<EFBFBD>
E<EFBFBD>z<EFBFBD>R<> <1A>-<2D>*<2A>V<EFBFBD> T<>T<><54>#4<><34>i<02><>is<00>K<04>BK
<04> BKz/get_tasks_by_blockc<00>T<00>tjjd<01>}|s tdgi<01>Stj
j tj<00>jtj|k(<00>j<00>j<00>}|D<00>cgc]u}|dj<00>jdd<05>jdd<05>jdd<05>jdd<05>jd d<05>jd
d<05><00><02>w}}td|i<01>Scc}w) Nr/r<>rr<>rr<>r<>rGr<>r<>)rr<>r<>r r
rXryr r9r<>rHr<>r<>r<>r\)r/r<>ro<00> task_lists r<00>get_tasks_by_blockr<6B>7s<><00><00> <13>L<EFBFBD>L<EFBFBD> <1C> <1C>W<EFBFBD> %<25>E<EFBFBD> <10><16><07><12>}<7D>%<25>%<25> <0F>J<EFBFBD>J<EFBFBD> <1C> <1C>T<EFBFBD>^<5E>^<5E> ,<2C><1D>v<EFBFBD>d<EFBFBD>o<EFBFBD>o<EFBFBD><15>6<>7<><1F>x<EFBFBD>z<EFBFBD><1A>s<EFBFBD>u<EFBFBD>
<EFBFBD>05<30> 6<> (,<2C> <16>a<EFBFBD><17><1D><1D><1F><18><17><13>b<EFBFBD>!<21><18><17><13>b<EFBFBD>!<21><18><17><13>b<EFBFBD>!<21><18><17><13>b<EFBFBD>!<21><18><17><13>b<EFBFBD>!<21><18><17><14>r<EFBFBD>"<22> #<23>6<>I<EFBFBD>6<> <13>G<EFBFBD>Y<EFBFBD>'<27> (<28>(<28><>6s<00>A:D%c<00>J<00>tjjtj<00>j tj |k(<00>j<00>jtj<00>j<00>}|D<00>cgc] }|ds<01> |d<00><02>c}Scc}w)Nr)
r
rXryr r.r<>r/r<>r<>r<>)rHr<><00>vs r<00>get_villages_for_blockr<6B>Rsr<00><00>
<EFBFBD>
<EFBFBD>
<EFBFBD><18><18><1A>3<>3<>4<> <0F><16>
<EFBFBD> <20> <20>J<EFBFBD>.<2E> /<2F> <11><18><1A> <11><18>*<2A>,<2C>,<2C> -<2D> <0C><13><15>  <0A>#<23> +<2B>Q<EFBFBD>a<EFBFBD><01>d<EFBFBD>A<EFBFBD>a<EFBFBD>D<EFBFBD> +<2B>+<2B><> +s <00>
B <04>B z/get_villages_by_block<63>GETc<00>p<00>tjjd<01>}t|<00>}t d|i<01>S)Nr/r<>)rr<>r<>r<>r )r/r<>s r<00>get_villages_by_blockr<6B>\s0<00><00> <13>L<EFBFBD>L<EFBFBD> <1C> <1C>W<EFBFBD> %<25>E<EFBFBD>%<25>e<EFBFBD>,<2C>H<EFBFBD> <12>J<EFBFBD><08>)<29> *<2A>*rz /filter_tasksc<00><><00>tjjd<01>}tjjd<02>}tjj t j<00>j<00>D<00>cgc]}|j<00><02>}}tjj t j<00>j<00>D<00>cgc]}|j<00><02>}}g}|<00>rm|<01>rjtj
jtj|k(tj|k(<00>}|jtjj!<00><00>j#<00>}d} |D]<5D>}
|
j$|
j&|
j(|
j*|
j,|
j.|
j0|
j2|
j4|
j6|
j8|
j:|
j<|
j>|
j@d<03>} |
jBrg| d<|jE| <0B>| } <09><>| s<01><>| djE| <0B><00><>tGd|||||<01><06>Scc}wcc}w)Nr<4E>r/r<>r<>zfilter_tasks.html)r<>r<>r<><00>selected_villager<65>)$rr<>r<>r
rXryr r.r<>r/r r<>rIrHr<>r<>r<>r<>rrr9r:r;r<r=r>r?r@rArBrCrDrErFr8r<>r) r<>r/r<>r<><00>br<62>r<>ryr<>r<>ror<>s r<00> filter_tasksr<73>cs<><00><00><15>l<EFBFBD>l<EFBFBD><1E><1E>y<EFBFBD>)<29>G<EFBFBD> <13>L<EFBFBD>L<EFBFBD> <1C> <1C>W<EFBFBD> %<25>E<EFBFBD>+-<2D>:<3A>:<3A>+;<3B>+;<3B>J<EFBFBD><V<><V<>+W<>+`<60>+`<60>+b<>c<>a<EFBFBD><01>!<21>!<21>c<>H<EFBFBD>c<>!<21>z<EFBFBD>z<EFBFBD>/<2F>/<2F>
<EFBFBD>0@<40>0@<40>A<>J<>J<>L<> M<>!<21>a<EFBFBD>g<EFBFBD>g<EFBFBD> M<>F<EFBFBD> M<><16>M<EFBFBD><0E>5<EFBFBD><14>
<EFBFBD>
<EFBFBD>!<21>!<21>$<24>"3<>"3<>w<EFBFBD>"><3E><04><0F><0F>SX<53>@X<>Y<><05><15><0E><0E>t<EFBFBD>/<2F>/<2F>4<>4<>6<>7<>;<3B>;<3B>=<3D><05> <20><19><19> @<01>D<EFBFBD><1A>g<EFBFBD>g<EFBFBD>!<21>^<5E>^<5E><1C> <09> <09><1B>x<EFBFBD>x<EFBFBD><1C> <09> <09>"<22>o<EFBFBD>o<EFBFBD>'+<2B>'?<3F>'?<3F>+/<2F>+G<>+G<>'+<2B>'?<3F>'?<3F>-1<>-K<>-K<>)-<2D>)C<>)C<>,0<>,I<>,I<>!%<25>!3<>!3<>$(<28>$9<>$9<><1E>+<2B>+<2B><0E>I<EFBFBD>$<14>!<21>!<21>(*<2A> <09>*<2A>%<25><1D>$<24>$<24>Y<EFBFBD>/<2F>$-<2D>!<21>"<22>!<21>*<2A>-<2D>4<>4<>Y<EFBFBD>?<3F>1 @<01>4 <1B><1B>#<23><19><15> <20><1C>  <06><06><>Id<01><> Ms <00><I&<04>I+)$<24>flaskrrrrrrr <00>appr
<00>
app.modelsr r <00>pandasrSrNr <00>__name__r<00>routerrrpr<>r<><00>
sqlalchemyr<EFBFBD>r<>r<>r<>r<>r<>r<>r<>r<>r<>rrr<00><module>r<>s<><00><01>^<5E>^<5E>^<5E><12>'<27><13> <09><1D><11><16><18>"<22><04><06><1A><1A>O<EFBFBD><1C>*<2A><1D>*<2A><06><1A><1A>L<EFBFBD><19>-<2D><1A>-<2D><06><1A><1A>I<EFBFBD><06>x<EFBFBD><1A>(<28>Z7<>)<29>Z7<>~<06><1A><1A>O<EFBFBD>f<EFBFBD>X<EFBFBD><1A>.<2E>R<01>/<2F>R<01>D<06><1A><1A>H<EFBFBD><15>(i<01><16>(i<01>X+<2B>8<>8<><06><1A><1A>C<EFBFBD><1F>4<06><11>4<06>d<06><1A><1A> #<23>$<24>U<01>%<25>U<01>,<06><1A><1A> !<21>"<22>)<29>#<23>)<29>4,<2C><06><1A><1A> $<24>u<EFBFBD>g<EFBFBD><1A>6<>+<2B>7<>+<2B> <06><1A><1A>O<EFBFBD>e<EFBFBD>W<EFBFBD><1A>-<2D>/<06>.<2E>/r