From 7b1a2dc89aba9bc62a0e5d51cd2d30534e7ccbb7 Mon Sep 17 00:00:00 2001 From: Brahma K Date: Tue, 16 Aug 2011 14:38:01 +0530 Subject: [PATCH 01/81] Purchase Voucher bug fix '.get_bin_details(arg)f' changed to '.get_bin_details(arg)' --- .../purchase_receipt/purchase_receipt.py | 130 +++++++++--------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/stock/doctype/purchase_receipt/purchase_receipt.py b/stock/doctype/purchase_receipt/purchase_receipt.py index 432998028a..bb2b456111 100644 --- a/stock/doctype/purchase_receipt/purchase_receipt.py +++ b/stock/doctype/purchase_receipt/purchase_receipt.py @@ -13,7 +13,7 @@ sql = webnotes.conn.sql get_value = webnotes.conn.get_value in_transaction = webnotes.conn.in_transaction convert_to_lists = webnotes.conn.convert_to_lists - + # ----------------------------------------------------------------------------------------- from utilities.transaction_base import TransactionBase @@ -38,20 +38,20 @@ class DocType(TransactionBase): def get_default_schedule_date(self): get_obj(dt = 'Purchase Common').get_default_schedule_date(self) - + #-----------------Validation For Fiscal Year------------------------ def validate_fiscal_year(self): get_obj(dt = 'Purchase Common').validate_fiscal_year(self.doc.fiscal_year,self.doc.transaction_date,'Transaction Date') - - + + # Get Item Details def get_item_details(self, arg = ''): return get_obj(dt='Purchase Common').get_item_details(self,arg) - + # Get UOM Details def get_uom_details(self, arg = ''): return get_obj(dt='Purchase Common').get_uom_details(arg) - + # GET TERMS & CONDITIONS # ===================================================================================== def get_tc_details(self): @@ -59,16 +59,16 @@ class DocType(TransactionBase): # get available qty at warehouse def get_bin_details(self, arg = ''): - return get_obj(dt='Purchase Common').get_bin_details(arg)f + return get_obj(dt='Purchase Common').get_bin_details(arg) # Pull Purchase Order def get_po_details(self): self.validate_prev_docname() get_obj('DocType Mapper', 'Purchase Order-Purchase Receipt').dt_map('Purchase Order', 'Purchase Receipt', self.doc.purchase_order_no, self.doc, self.doclist, "[['Purchase Order','Purchase Receipt'],['PO Detail', 'Purchase Receipt Detail'],['Purchase Tax Detail','Purchase Tax Detail']]") - + # validate if PO has been pulled twice def validate_prev_docname(self): - for d in getlist(self.doclist, 'purchase_receipt_details'): + for d in getlist(self.doclist, 'purchase_receipt_details'): if self.doc.purchase_order_no and d.prevdoc_docname and self.doc.purchase_order_no == d.prevdoc_docname: msgprint(cstr(self.doc.purchase_order_no) + " Purchase Order details have already been pulled. ") raise Exception @@ -79,15 +79,15 @@ class DocType(TransactionBase): # validate accepted and rejected qty def validate_accepted_rejected_qty(self): for d in getlist(self.doclist, "purchase_receipt_details"): - - # If Reject Qty than Rejected warehouse is mandatory + + # If Reject Qty than Rejected warehouse is mandatory if flt(d.rejected_qty) and (not self.doc.rejected_warehouse): msgprint("Rejected Warehouse is necessary if there are rejections. See 'Receipt Items'") raise Exception - # Check Received Qty = Accepted Qty + Rejected Qty + # Check Received Qty = Accepted Qty + Rejected Qty if ((flt(d.qty) + flt(d.rejected_qty)) != flt(d.received_qty)): - + msgprint("Sum of Accepted Qty and Rejected Qty must be equal to Received quantity. Error for Item: " + cstr(d.item_code)) raise Exception @@ -99,8 +99,8 @@ class DocType(TransactionBase): if flt(self.doc.net_total) and flt(d.qty): #d.valuation_rate = (flt(d.purchase_rate) + ((flt(d.amount) * (total_b_cost)) / (self.doc.net_total * flt(d.qty))) + (flt(d.rm_supp_cost) / flt(d.qty))) / flt(d.conversion_factor) d.valuation_rate = (flt(d.purchase_rate) + ((flt(d.amount) * (total_b_cost)) / (self.doc.net_total * flt(d.qty))) + (flt(d.rm_supp_cost) / flt(d.qty)) + (flt(d.item_tax_amount)/flt(d.qty))) / flt(d.conversion_factor) - - # Check for Stopped status + + # Check for Stopped status def check_for_stopped_status(self, pc_obj): check_list =[] for d in getlist(self.doclist, 'purchase_receipt_details'): @@ -117,8 +117,8 @@ class DocType(TransactionBase): if not d.prevdoc_docname: msgprint("Purchse Order No. required against item %s"%d.item_code) raise Exception - - + + # validate def validate(self): self.po_required() @@ -137,20 +137,20 @@ class DocType(TransactionBase): self.check_for_stopped_status(pc_obj) # get total in words - dcc = TransactionBase().get_company_currency(self.doc.company) + dcc = TransactionBase().get_company_currency(self.doc.company) self.doc.in_words = pc_obj.get_total_in_words(dcc, self.doc.grand_total) self.doc.in_words_import = pc_obj.get_total_in_words(self.doc.currency, self.doc.grand_total_import) # update valuation rate self.update_valuation_rate() - + # On Update - # ---------------------------------------------------------------------------------------------------- + # ---------------------------------------------------------------------------------------------------- def on_update(self): if self.doc.rejected_warehouse: for d in getlist(self.doclist,'purchase_receipt_details'): d.rejected_warehouse = self.doc.rejected_warehouse - + self.update_rw_material_detail() get_obj('Stock Ledger').scrub_serial_nos(self) @@ -166,23 +166,23 @@ class DocType(TransactionBase): # Check if is_stock_item == 'Yes' if sql("select is_stock_item from tabItem where name=%s", d.item_code)[0][0]=='Yes': ord_qty = 0 - pr_qty = flt(d.qty) * flt(d.conversion_factor) - - # Check If Prevdoc Doctype is Purchase Order + pr_qty = flt(d.qty) * flt(d.conversion_factor) + + # Check If Prevdoc Doctype is Purchase Order if cstr(d.prevdoc_doctype) == 'Purchase Order': - # get qty and pending_qty of prevdoc + # get qty and pending_qty of prevdoc curr_ref_qty = pc_obj.get_qty( d.doctype, 'prevdoc_detail_docname', d.prevdoc_detail_docname, 'PO Detail', 'Purchase Order - Purchase Receipt', self.doc.name) max_qty, qty, curr_qty = flt(curr_ref_qty.split('~~~')[1]), flt(curr_ref_qty.split('~~~')[0]), 0 - + if flt(qty) + flt(pr_qty) > flt(max_qty): curr_qty = (flt(max_qty) - flt(qty)) * flt(d.conversion_factor) else: curr_qty = flt(pr_qty) - + ord_qty = -flt(curr_qty) # update order qty in bin bin = get_obj('Warehouse', d.warehouse).update_bin(0, 0, (is_submit and 1 or -1) * flt(ord_qty), 0, 0, d.item_code, self.doc.transaction_date) - + # UPDATE actual qty to warehouse by pr_qty self.make_sl_entry(d, d.warehouse, flt(pr_qty), d.valuation_rate, is_submit) # UPDATE actual to rejected warehouse by rejected qty @@ -205,8 +205,8 @@ class DocType(TransactionBase): 'posting_time' : self.doc.posting_time, 'voucher_type' : 'Purchase Receipt', 'voucher_no' : self.doc.name, - 'voucher_detail_no' : d.name, - 'actual_qty' : qty, + 'voucher_detail_no' : d.name, + 'actual_qty' : qty, 'stock_uom' : d.stock_uom, 'incoming_rate' : in_value, 'company' : self.doc.company, @@ -220,11 +220,11 @@ class DocType(TransactionBase): def validate_inspection(self): for d in getlist(self.doclist, 'purchase_receipt_details'): #Enter inspection date for all items that require inspection ins_reqd = sql("select inspection_required from `tabItem` where name = %s", (d.item_code), as_dict = 1) - ins_reqd = ins_reqd and ins_reqd[0]['inspection_required'] or 'No' + ins_reqd = ins_reqd and ins_reqd[0]['inspection_required'] or 'No' if ins_reqd == 'Yes' and not d.qa_no: msgprint("Item: " + d.item_code + " requires QA Inspection. Please enter QA No or report to authorized person to create QA Inspection Report") - # Check for Stopped status + # Check for Stopped status def check_for_stopped_status(self, pc_obj): check_list =[] for d in getlist(self.doclist, 'purchase_receipt_details'): @@ -233,7 +233,7 @@ class DocType(TransactionBase): pc_obj.check_for_stopped_status( d.prevdoc_doctype, d.prevdoc_docname) - # on submit + # on submit def on_submit(self): # Check for Approving Authority get_obj('Authorization Control').validate_approving_authority(self.doc.doctype, self.doc.company, self.doc.grand_total) @@ -241,19 +241,19 @@ class DocType(TransactionBase): # Set status as Submitted set(self.doc,'status', 'Submitted') pc_obj = get_obj('Purchase Common') - + # Update Previous Doc i.e. update pending_qty and Status accordingly pc_obj.update_prevdoc_detail(self, is_submit = 1) - + # Update Serial Record get_obj('Stock Ledger').update_serial_record(self, 'purchase_receipt_details', is_submit = 1, is_incoming = 1) - # Update Stock + # Update Stock self.update_stock(is_submit = 1) - - # Update last purchase rate + + # Update last purchase rate pc_obj.update_last_purchase_rate(self, 1) - + # on submit notification get_obj('Notification Control').notify_contact('Purchase Receipt', self.doc.doctype,self.doc.name, self.doc.email_id, self.doc.contact_person) @@ -271,11 +271,11 @@ class DocType(TransactionBase): def on_cancel(self): pc_obj = get_obj('Purchase Common') - + self.check_for_stopped_status(pc_obj) # 1.Check if Payable Voucher has been submitted against current Purchase Order # pc_obj.check_docstatus(check = 'Next', doctype = 'Payable Voucher', docname = self.doc.name, detail_doctype = 'PV Detail') - + submitted = sql("select t1.name from `tabPayable Voucher` t1,`tabPV Detail` t2 where t1.name = t2.parent and t2.purchase_receipt = '%s' and t1.docstatus = 1" % self.doc.name) if submitted: msgprint("Purchase Invoice : " + cstr(submitted[0][0]) + " has already been submitted !") @@ -283,27 +283,27 @@ class DocType(TransactionBase): # 2.Set Status as Cancelled set(self.doc,'status','Cancelled') - - # 3. Cancel Serial No + + # 3. Cancel Serial No get_obj('Stock Ledger').update_serial_record(self, 'purchase_receipt_details', is_submit = 0, is_incoming = 1) - # 4.Update Bin + # 4.Update Bin self.update_stock(is_submit = 0) - - # 5.Update Indents Pending Qty and accordingly it's Status + + # 5.Update Indents Pending Qty and accordingly it's Status pc_obj.update_prevdoc_detail(self, is_submit = 0) - # 6. Update last purchase rate + # 6. Update last purchase rate pc_obj.update_last_purchase_rate(self, 0) - + #----------- code for Sub-contracted Items ------------------- #--------check for sub-contracted items and accordingly update PR raw material detail table-------- def update_rw_material_detail(self): - + for d in getlist(self.doclist,'purchase_receipt_details'): item_det = sql("select is_sub_contracted_item, is_purchase_item from `tabItem` where name = '%s'"%(d.item_code)) - + if item_det[0][0] == 'Yes': if item_det[0][1] == 'Yes': if not self.doc.is_subcontracted: @@ -312,7 +312,7 @@ class DocType(TransactionBase): if self.doc.is_subcontracted == 'Yes': if not self.doc.supplier_warehouse: msgprint("Please Enter Supplier Warehouse for subcontracted Items") - raise Exception + raise Exception self.add_bom(d) else: self.doc.clear_table(self.doclist,'pr_raw_material_details',1) @@ -322,7 +322,7 @@ class DocType(TransactionBase): msgprint("Please Enter Supplier Warehouse for subcontracted Items") raise Exception self.add_bom(d) - + self.delete_irrelevant_raw_material() #---------------calculate amt in PR Raw Material Detail------------- self.calculate_amount(d) @@ -338,7 +338,7 @@ class DocType(TransactionBase): #-------------- add child function-------------------- chgd_rqd_qty = [] for i in bom_det: - + if i and not sql("select name from `tabPR Raw Material Detail` where reference_name = '%s' and bom_detail_no = '%s' and parent = '%s' " %(d.name, i[6], self.doc.name)): rm_child = addchild(self.doc, 'pr_raw_material_details', 'PR Raw Material Detail', 1, self.doclist) @@ -347,7 +347,7 @@ class DocType(TransactionBase): rm_child.bom_detail_no = i and i[6] or '' rm_child.main_item_code = i and i[0] or '' rm_child.rm_item_code = i and i[1] or '' - rm_child.description = i and i[7] or '' + rm_child.description = i and i[7] or '' rm_child.stock_uom = i and i[5] or '' rm_child.rate = i and flt(i[3]) or flt(i[4]) rm_child.conversion_factor = d.conversion_factor @@ -363,7 +363,7 @@ class DocType(TransactionBase): chgd_rqd_qty.append(cstr(i[1])) pr_rmd.main_item_code = i[0] pr_rmd.rm_item_code = i[1] - pr_rmd.description = i[7] + pr_rmd.description = i[7] pr_rmd.stock_uom = i[5] pr_rmd.required_qty = flt(act_qty) pr_rmd.consumed_qty = flt(act_qty) @@ -372,20 +372,20 @@ class DocType(TransactionBase): pr_rmd.save() if chgd_rqd_qty: msgprint("Please check consumed quantity for Raw Material Item Code: '%s'in Raw materials Detail Table" % ((len(chgd_rqd_qty) > 1 and ','.join(chgd_rqd_qty[:-1]) +' and ' + cstr(chgd_rqd_qty[-1:][0]) ) or cstr(chgd_rqd_qty[0]))) - + # Delete irrelevant raw material from PR Raw material details - #-------------------------------------------------------------- + #-------------------------------------------------------------- def delete_irrelevant_raw_material(self): for d in getlist(self.doclist,'pr_raw_material_details'): if not sql("select name from `tabPurchase Receipt Detail` where name = '%s' and parent = '%s' and item_code = '%s'" % (d.reference_name, self.doc.name, d.main_item_code)): d.parent = 'old_par:'+self.doc.name d.save() - + def calculate_amount(self, d): amt = 0 for i in getlist(self.doclist,'pr_raw_material_details'): - + if(i.reference_name == d.name): #if i.consumed_qty == 0: # msgprint("consumed qty cannot be 0. Please Enter consumed qty ") @@ -394,7 +394,7 @@ class DocType(TransactionBase): amt += i.amount d.rm_supp_cost = amt d.save() - + # --------------- Back Flush function called on submit and on cancel from update stock def bk_flush_supp_wh(self, is_submit): @@ -402,7 +402,7 @@ class DocType(TransactionBase): #--------- -ve quantity is passed as raw material qty has to be decreased when PR is submitted and it has to be increased when PR is cancelled consumed_qty = - flt(d.consumed_qty) self.make_sl_entry(d, self.doc.supplier_warehouse, flt(consumed_qty), 0, is_submit) - + # get current_stock # ---------------- @@ -411,13 +411,13 @@ class DocType(TransactionBase): if self.doc.supplier_warehouse: bin = sql("select actual_qty from `tabBin` where item_code = %s and warehouse = %s", (d.rm_item_code, self.doc.supplier_warehouse), as_dict = 1) d.current_stock = bin and flt(bin[0]['actual_qty']) or 0 - - - + + + # OTHER CHARGES TRIGGER FUNCTIONS # ==================================================================================== - + # *********** Get Tax rate if account type is TAX ******************** def get_rate(self,arg): return get_obj('Purchase Common').get_rate(arg,self) From ed9b0781287833cf069ecf6030d633b479b9c406 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 16 Aug 2011 16:32:48 +0530 Subject: [PATCH 02/81] removed cstr in get_server_fields return value --- utilities/transaction_base.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/utilities/transaction_base.py b/utilities/transaction_base.py index 332e201986..3678298f7b 100644 --- a/utilities/transaction_base.py +++ b/utilities/transaction_base.py @@ -53,7 +53,7 @@ class TransactionBase: 'contact_email' : contact_email, 'contact_mobile' : contact_mobile } - return cstr(ret) + return ret # Get Address Text # ----------------------- @@ -125,7 +125,7 @@ class TransactionBase: 'shipping_address_name' : details and details[0]['name'] or '', 'shipping_address' : address_display } - return cstr(ret) + return ret # Get Lead Details # ----------------------- @@ -144,7 +144,7 @@ class TransactionBase: 'contact_mobile' : extract('mobile_no'), 'contact_email' : extract('email_id') } - return cstr(ret) + return ret # Get Supplier Default Primary Address - first load @@ -162,7 +162,7 @@ class TransactionBase: 'contact_mobile' : contact_mobile } ret.update(self.get_supplier_details(args['supplier'])) - return cstr(ret) + return ret # Get Supplier Address # ----------------------- @@ -178,7 +178,7 @@ class TransactionBase: 'contact_email' : contact_email, 'contact_mobile' : contact_mobile } - return cstr(ret) + return ret # Get Supplier Details # ----------------------- From 501f3d50984d12de336f2eab39e3131d23f97909 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 17 Aug 2011 10:29:58 +0530 Subject: [PATCH 03/81] str removed for get_server_fields return --- accounts/doctype/receivable_voucher/receivable_voucher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accounts/doctype/receivable_voucher/receivable_voucher.py b/accounts/doctype/receivable_voucher/receivable_voucher.py index 185b0b1dbc..0aaebbbe8e 100644 --- a/accounts/doctype/receivable_voucher/receivable_voucher.py +++ b/accounts/doctype/receivable_voucher/receivable_voucher.py @@ -162,7 +162,7 @@ class DocType(TransactionBase): if ret['warehouse']: actual_qty = sql("select actual_qty from `tabBin` where item_code = '%s' and warehouse = '%s'" % (item_code, ret['warehouse'])) ret['actual_qty']= actual_qty and flt(actual_qty[0][0]) or 0 - return str(ret) + return ret # Get tax rate if account type is tax From 8eb1ec27bac6f534388a56d50ccce5d64f9b1074 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Wed, 17 Aug 2011 12:21:18 +0530 Subject: [PATCH 04/81] check if banner is not default --- home/page/event_updates/event_updates.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/page/event_updates/event_updates.py b/home/page/event_updates/event_updates.py index 6e811e756b..0798dca3a4 100644 --- a/home/page/event_updates/event_updates.py +++ b/home/page/event_updates/event_updates.py @@ -56,7 +56,8 @@ def get_setup_status(): percent = 20 ret = [] - if not webnotes.conn.get_value('Personalize', None, 'header_html'): + header = webnotes.conn.get_value('Control Panel', None, 'client_name') or '' + if header.startswith('
'): ret.append('Upload your company banner') else: percent += 20 From 496a65a45dd32ef30346d0e69f1f37888f7d6e53 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Wed, 17 Aug 2011 12:23:53 +0530 Subject: [PATCH 05/81] check if banner is not default --- home/page/event_updates/event_updates.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/page/event_updates/event_updates.py b/home/page/event_updates/event_updates.py index 0798dca3a4..85a121b206 100644 --- a/home/page/event_updates/event_updates.py +++ b/home/page/event_updates/event_updates.py @@ -57,7 +57,8 @@ def get_setup_status(): ret = [] header = webnotes.conn.get_value('Control Panel', None, 'client_name') or '' - if header.startswith('
'): + if header.startswith('
'\ + +webnotes.conn.get_value('Control Panel', None, 'company_name')): ret.append('Upload your company banner') else: percent += 20 From 81e36a34a6cdfff5b8a0f3c62b37a5882920a7a9 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 17 Aug 2011 15:03:01 +0530 Subject: [PATCH 06/81] Budget variance report based on company --- .../budget_variance_report/budget_variance_report.js | 10 ++++------ .../budget_variance_report/budget_variance_report.py | 7 +------ .../budget_variance_report/budget_variance_report.sql | 11 ++++++++++- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/accounts/search_criteria/budget_variance_report/budget_variance_report.js b/accounts/search_criteria/budget_variance_report/budget_variance_report.js index ed5adb12f0..08c9693962 100644 --- a/accounts/search_criteria/budget_variance_report/budget_variance_report.js +++ b/accounts/search_criteria/budget_variance_report/budget_variance_report.js @@ -1,17 +1,15 @@ report.customize_filters = function() { - - //this.hide_all_filters(); - this.mytabs.items['Select Columns'].hide(); - this.mytabs.items['More Filters'].hide(); - - this.add_filter({fieldname:'period', label:'Period', fieldtype:'Select', options:'Monthly'+NEWLINE+'Quarterly'+NEWLINE+'Half Yearly'+NEWLINE+'Annual',report_default:'Quarterly',ignore : 1, parent:'Budget Detail'}); + this.add_filter({fieldname:'company', label:'Company', fieldtype:'Link', options:'Company', report_default:sys_defaults.company, ignore : 1, parent:'Budget Detail', in_first_page:1}); this.filter_fields_dict['Budget Detail'+FILTER_SEP +'Fiscal Year'].df.in_first_page = 1; this.filter_fields_dict['Budget Detail'+FILTER_SEP +'Period'].df.in_first_page = 1; this.filter_fields_dict['Budget Detail'+FILTER_SEP +'Fiscal Year'].df['report_default'] = sys_defaults.fiscal_year; } + report.aftertableprint = function(t) { $yt(t,'*',1,{whiteSpace:'pre'}); } + +this.mytabs.items['More Filters'].hide(); this.mytabs.items['Select Columns'].hide(); diff --git a/accounts/search_criteria/budget_variance_report/budget_variance_report.py b/accounts/search_criteria/budget_variance_report/budget_variance_report.py index 182f9e5356..9f7c690cbc 100644 --- a/accounts/search_criteria/budget_variance_report/budget_variance_report.py +++ b/accounts/search_criteria/budget_variance_report/budget_variance_report.py @@ -131,11 +131,6 @@ def append_colnames(name, colnames, coltypes, colwidths, coloptions, col_idx): col_idx[str(c) + n ] = len(colnames) - 1 - -# make default columns -#coltypes[col_idx[based_on]] = 'Link' -#coloptions[col_idx[based_on]]= based_on - # get start date start_date = get_value('Fiscal Year', fiscal_year, 'year_start_date') if not start_date: @@ -162,7 +157,7 @@ for r in res: ch = make_child_lst(based_on,r[0].strip()) - actual = sql("select sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) from `tabGL Entry` t1, `tabAccount` t2 where t2.is_pl_account = 'Yes' and t1.is_cancelled = 'No' and t1.cost_center in %s and t2.debit_or_credit = 'Debit' and t1.posting_date between '%s' and '%s' and t1.account = t2.name"%(ch, mon_list[count][data['start_date']], mon_list[count][data['end_date']])) + actual = sql("select sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) from `tabGL Entry` t1, `tabAccount` t2 where ifnull(t2.is_pl_account, 'No') = 'Yes' and ifnull(t1.is_cancelled, 'No') = 'No' and t1.cost_center in %s and t2.debit_or_credit = 'Debit' and t1.posting_date between '%s' and '%s' and t1.account = t2.name"%(ch, mon_list[count][data['start_date']], mon_list[count][data['end_date']])) #---------------------------------------------------------- actual = flt(actual[0][0]) diff --git a/accounts/search_criteria/budget_variance_report/budget_variance_report.sql b/accounts/search_criteria/budget_variance_report/budget_variance_report.sql index d53f7e1ead..575fbfbc19 100644 --- a/accounts/search_criteria/budget_variance_report/budget_variance_report.sql +++ b/accounts/search_criteria/budget_variance_report/budget_variance_report.sql @@ -1 +1,10 @@ -SELECT CONCAT(REPEAT(' ', COUNT(parent.name) - 1), node.name) AS name FROM `tabCost Center` AS node,`tabCost Center` AS parent WHERE node.lft BETWEEN parent.lft AND parent.rgt AND node.docstatus !=2 GROUP BY node.name ORDER BY node.lft \ No newline at end of file +SELECT + CONCAT(REPEAT(' ', COUNT(parent.name) - 1), node.name) AS name +FROM + `tabCost Center` AS node,`tabCost Center` AS parent +WHERE + node.lft BETWEEN parent.lft AND parent.rgt + AND node.docstatus !=2 + AND node.company_name like '%(company)s%%' +GROUP BY node.name +ORDER BY node.lft From 1d828f644a2e526030428489c6ede81da8a2969a Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 17 Aug 2011 15:05:32 +0530 Subject: [PATCH 07/81] permission updated in employee --- hr/doctype/employee/employee.txt | 173 ++++++++++++++----------------- 1 file changed, 75 insertions(+), 98 deletions(-) diff --git a/hr/doctype/employee/employee.txt b/hr/doctype/employee/employee.txt index 49a494b99b..98caa2c9c2 100644 --- a/hr/doctype/employee/employee.txt +++ b/hr/doctype/employee/employee.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2011-02-17 11:16:08', + 'creation': '2010-08-08 17:08:59', 'docstatus': 0, - 'modified': '2011-06-27 14:39:04', + 'modified': '2011-08-11 17:27:12', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -26,7 +26,7 @@ 'show_in_menu': 0, 'subject': '%(employee_name)s', 'tag_fields': 'status', - 'version': 443 + 'version': 444 }, # These values are common for all DocField @@ -40,12 +40,14 @@ # These values are common for all DocPerm { + 'amend': 0, 'doctype': 'DocPerm', 'name': '__common__', 'parent': 'Employee', 'parentfield': 'permissions', 'parenttype': 'DocType', - 'read': 1 + 'read': 1, + 'submit': 0 }, # DocType, Employee @@ -56,21 +58,24 @@ # DocPerm { - 'cancel': 1, - 'create': 1, + 'cancel': 0, + 'create': 0, 'doctype': 'DocPerm', 'idx': 1, 'permlevel': 0, - 'role': 'System Manager', - 'write': 1 + 'role': 'Employee', + 'write': 0 }, # DocPerm { + 'cancel': 0, + 'create': 0, 'doctype': 'DocPerm', 'idx': 2, 'permlevel': 1, - 'role': 'All' + 'role': 'All', + 'write': 0 }, # DocPerm @@ -95,22 +100,6 @@ 'write': 1 }, - # DocPerm - { - 'doctype': 'DocPerm', - 'idx': 5, - 'permlevel': 1, - 'role': 'HR User' - }, - - # DocPerm - { - 'doctype': 'DocPerm', - 'idx': 6, - 'permlevel': 1, - 'role': 'HR Manager' - }, - # DocField { 'doctype': 'DocField', @@ -141,7 +130,7 @@ 'no_copy': 1, 'oldfieldname': 'naming_series', 'oldfieldtype': 'Select', - 'options': 'WN-EMP\nEMP/', + 'options': 'EMP/', 'permlevel': 0, 'reqd': 0 }, @@ -173,8 +162,7 @@ 'oldfieldname': 'employee_name', 'oldfieldtype': 'Data', 'permlevel': 0, - 'reqd': 1, - 'search_index': 1 + 'reqd': 1 }, # DocField @@ -276,7 +264,7 @@ 'options': '\nActive\nLeft', 'permlevel': 0, 'reqd': 1, - 'search_index': 0 + 'search_index': 1 }, # DocField @@ -409,8 +397,7 @@ 'oldfieldtype': 'Link', 'options': 'Department', 'permlevel': 0, - 'reqd': 1, - 'search_index': 1 + 'reqd': 1 }, # DocField @@ -474,21 +461,11 @@ 'reqd': 0 }, - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'is_sales_person', - 'fieldtype': 'Check', - 'idx': 27, - 'label': 'Is Sales Person', - 'permlevel': 0 - }, - # DocField { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 28, + 'idx': 27, 'label': 'Salary Information', 'oldfieldtype': 'Section Break', 'permlevel': 0, @@ -501,11 +478,11 @@ 'doctype': 'DocField', 'fieldname': 'salary_mode', 'fieldtype': 'Select', - 'idx': 29, + 'idx': 28, 'label': 'Salary Mode', 'oldfieldname': 'salary_mode', 'oldfieldtype': 'Select', - 'options': '\nBank\nCash \nCheque', + 'options': '\nBank\nCash\nCheque', 'permlevel': 0, 'trigger': 'Client' }, @@ -518,7 +495,7 @@ 'fieldname': 'bank_name', 'fieldtype': 'Data', 'hidden': 0, - 'idx': 30, + 'idx': 29, 'in_filter': 1, 'label': 'Bank Name', 'oldfieldname': 'bank_name', @@ -535,7 +512,7 @@ 'fieldname': 'bank_ac_no', 'fieldtype': 'Data', 'hidden': 0, - 'idx': 31, + 'idx': 30, 'label': 'Bank A/C No.', 'oldfieldname': 'bank_ac_no', 'oldfieldtype': 'Data', @@ -547,7 +524,7 @@ 'doctype': 'DocField', 'fieldname': 'esic_card_no', 'fieldtype': 'Data', - 'idx': 32, + 'idx': 31, 'label': 'ESIC CARD No', 'oldfieldname': 'esic_card_no', 'oldfieldtype': 'Data', @@ -559,7 +536,7 @@ 'doctype': 'DocField', 'fieldname': 'pf_number', 'fieldtype': 'Data', - 'idx': 33, + 'idx': 32, 'label': 'PF Number', 'oldfieldname': 'pf_number', 'oldfieldtype': 'Data', @@ -571,7 +548,7 @@ 'doctype': 'DocField', 'fieldname': 'gratuity_lic_id', 'fieldtype': 'Data', - 'idx': 34, + 'idx': 33, 'label': 'Gratuity LIC ID', 'oldfieldname': 'gratuity_lic_id', 'oldfieldtype': 'Data', @@ -582,7 +559,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 35, + 'idx': 34, 'label': 'Contact Details', 'permlevel': 0 }, @@ -591,7 +568,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 36, + 'idx': 35, 'permlevel': 0, 'width': '50%' }, @@ -601,7 +578,7 @@ 'doctype': 'DocField', 'fieldname': 'cell_number', 'fieldtype': 'Data', - 'idx': 37, + 'idx': 36, 'label': 'Cell Number', 'permlevel': 0 }, @@ -611,7 +588,7 @@ 'doctype': 'DocField', 'fieldname': 'personal_email', 'fieldtype': 'Data', - 'idx': 38, + 'idx': 37, 'label': 'Personal Email', 'permlevel': 0 }, @@ -621,7 +598,7 @@ 'doctype': 'DocField', 'fieldname': 'notice_number_of_days', 'fieldtype': 'Int', - 'idx': 39, + 'idx': 38, 'label': 'Notice - Number of Days', 'oldfieldname': 'notice_number_of_days', 'oldfieldtype': 'Int', @@ -632,7 +609,7 @@ { 'doctype': 'DocField', 'fieldtype': 'HTML', - 'idx': 40, + 'idx': 39, 'label': 'Emergency Contact Details', 'options': 'Emergency Contact Details', 'permlevel': 0 @@ -643,7 +620,7 @@ 'doctype': 'DocField', 'fieldname': 'person_to_be_contacted', 'fieldtype': 'Data', - 'idx': 41, + 'idx': 40, 'label': 'Person To Be Contacted', 'permlevel': 0 }, @@ -653,7 +630,7 @@ 'doctype': 'DocField', 'fieldname': 'relation', 'fieldtype': 'Data', - 'idx': 42, + 'idx': 41, 'label': 'Relation', 'permlevel': 0 }, @@ -663,7 +640,7 @@ 'doctype': 'DocField', 'fieldname': 'emergency_phone_number', 'fieldtype': 'Data', - 'idx': 43, + 'idx': 42, 'label': 'Emergency Phone Number', 'permlevel': 0 }, @@ -672,7 +649,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 44, + 'idx': 43, 'permlevel': 0, 'width': '50%' }, @@ -682,7 +659,7 @@ 'doctype': 'DocField', 'fieldname': 'permanent_accommodation_type', 'fieldtype': 'Select', - 'idx': 45, + 'idx': 44, 'label': 'Permanent Accommodation Type', 'options': '\nRented\nOwned', 'permlevel': 0 @@ -693,7 +670,7 @@ 'doctype': 'DocField', 'fieldname': 'permanent_address', 'fieldtype': 'Small Text', - 'idx': 46, + 'idx': 45, 'label': 'Permanent Address', 'permlevel': 0 }, @@ -703,7 +680,7 @@ 'doctype': 'DocField', 'fieldname': 'current_accommodation_type', 'fieldtype': 'Select', - 'idx': 47, + 'idx': 46, 'label': 'Current Accommodation Type', 'options': '\nRented\nOwned', 'permlevel': 0 @@ -714,7 +691,7 @@ 'doctype': 'DocField', 'fieldname': 'current_address', 'fieldtype': 'Small Text', - 'idx': 48, + 'idx': 47, 'label': 'Current Address', 'permlevel': 0 }, @@ -723,7 +700,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 49, + 'idx': 48, 'label': 'Personal Details', 'permlevel': 0 }, @@ -732,7 +709,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 50, + 'idx': 49, 'permlevel': 0, 'width': '50%' }, @@ -742,7 +719,7 @@ 'doctype': 'DocField', 'fieldname': 'pan_number', 'fieldtype': 'Data', - 'idx': 51, + 'idx': 50, 'label': 'PAN Number', 'permlevel': 0 }, @@ -752,7 +729,7 @@ 'doctype': 'DocField', 'fieldname': 'passport_number', 'fieldtype': 'Data', - 'idx': 52, + 'idx': 51, 'label': 'Passport Number', 'permlevel': 0 }, @@ -763,7 +740,7 @@ 'doctype': 'DocField', 'fieldtype': 'Button', 'hidden': 1, - 'idx': 53, + 'idx': 52, 'label': 'Employee Profile', 'oldfieldtype': 'Button', 'permlevel': 0, @@ -775,7 +752,7 @@ 'doctype': 'DocField', 'fieldname': 'date_of_issue', 'fieldtype': 'Date', - 'idx': 54, + 'idx': 53, 'label': 'Date of Issue', 'permlevel': 0 }, @@ -785,7 +762,7 @@ 'doctype': 'DocField', 'fieldname': 'valid_upto', 'fieldtype': 'Date', - 'idx': 55, + 'idx': 54, 'label': 'Valid Upto', 'permlevel': 0 }, @@ -796,7 +773,7 @@ 'doctype': 'DocField', 'fieldtype': 'Button', 'hidden': 1, - 'idx': 56, + 'idx': 55, 'label': 'Salary Structure', 'oldfieldtype': 'Button', 'permlevel': 0, @@ -808,7 +785,7 @@ 'doctype': 'DocField', 'fieldname': 'place_of_issue', 'fieldtype': 'Data', - 'idx': 57, + 'idx': 56, 'label': 'Place of Issue', 'permlevel': 0 }, @@ -818,7 +795,7 @@ 'doctype': 'DocField', 'fieldname': 'marital_status', 'fieldtype': 'Select', - 'idx': 58, + 'idx': 57, 'label': 'Marital Status', 'options': '\nSingle\nMarried\nDivorced\nWidowed', 'permlevel': 0 @@ -829,7 +806,7 @@ 'doctype': 'DocField', 'fieldname': 'blood_group', 'fieldtype': 'Select', - 'idx': 59, + 'idx': 58, 'label': 'Blood Group', 'options': '\nA+\nA-\nB+\nB-\nAB+\nAB-\nO+\nO-', 'permlevel': 0 @@ -839,7 +816,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 60, + 'idx': 59, 'permlevel': 0, 'width': '50%' }, @@ -851,7 +828,7 @@ 'doctype': 'DocField', 'fieldname': 'family_background', 'fieldtype': 'Small Text', - 'idx': 61, + 'idx': 60, 'label': 'Family Background', 'permlevel': 0 }, @@ -863,7 +840,7 @@ 'doctype': 'DocField', 'fieldname': 'health_details', 'fieldtype': 'Small Text', - 'idx': 62, + 'idx': 61, 'label': 'Health Details', 'permlevel': 0 }, @@ -872,7 +849,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 63, + 'idx': 62, 'label': 'Educational Qualification', 'permlevel': 0 }, @@ -882,7 +859,7 @@ 'doctype': 'DocField', 'fieldname': 'educational_qualification_details', 'fieldtype': 'Table', - 'idx': 64, + 'idx': 63, 'label': 'Educational Qualification Details', 'options': 'Educational Qualifications Detail', 'permlevel': 0 @@ -892,7 +869,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 65, + 'idx': 64, 'label': 'Career History', 'permlevel': 0 }, @@ -901,7 +878,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 66, + 'idx': 65, 'label': 'Previous Work Experience', 'options': 'Simple', 'permlevel': 0 @@ -912,7 +889,7 @@ 'doctype': 'DocField', 'fieldname': 'previous_experience_details', 'fieldtype': 'Table', - 'idx': 67, + 'idx': 66, 'label': 'Previous Experience Details', 'options': 'Previous Experience Detail', 'permlevel': 0 @@ -922,7 +899,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 68, + 'idx': 67, 'label': 'History In Company', 'options': 'Simple', 'permlevel': 0 @@ -933,7 +910,7 @@ 'doctype': 'DocField', 'fieldname': 'experience_in_company_details', 'fieldtype': 'Table', - 'idx': 69, + 'idx': 68, 'label': 'Experience In Company Details', 'options': 'Experience In Company Detail', 'permlevel': 0 @@ -943,7 +920,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 70, + 'idx': 69, 'label': 'Exit', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -953,7 +930,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 71, + 'idx': 70, 'permlevel': 0, 'width': '50%' }, @@ -963,7 +940,7 @@ 'doctype': 'DocField', 'fieldname': 'resignation_letter_date', 'fieldtype': 'Date', - 'idx': 72, + 'idx': 71, 'label': 'Resignation Letter Date', 'oldfieldname': 'resignation_letter_date', 'oldfieldtype': 'Date', @@ -975,7 +952,7 @@ 'doctype': 'DocField', 'fieldname': 'relieving_date', 'fieldtype': 'Date', - 'idx': 73, + 'idx': 72, 'in_filter': 1, 'label': 'Relieving Date', 'oldfieldname': 'relieving_date', @@ -988,7 +965,7 @@ 'doctype': 'DocField', 'fieldname': 'reason_for_leaving', 'fieldtype': 'Data', - 'idx': 74, + 'idx': 73, 'label': 'Reason for Leaving', 'oldfieldname': 'reason_for_leaving', 'oldfieldtype': 'Data', @@ -1000,7 +977,7 @@ 'doctype': 'DocField', 'fieldname': 'leave_encashed', 'fieldtype': 'Select', - 'idx': 75, + 'idx': 74, 'label': 'Leave Encashed?', 'oldfieldname': 'leave_encashed', 'oldfieldtype': 'Select', @@ -1013,7 +990,7 @@ 'doctype': 'DocField', 'fieldname': 'encashment_date', 'fieldtype': 'Date', - 'idx': 76, + 'idx': 75, 'label': 'Encashment Date', 'oldfieldname': 'encashment_date', 'oldfieldtype': 'Date', @@ -1024,7 +1001,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 77, + 'idx': 76, 'label': 'Exit Interview Details', 'oldfieldname': 'col_brk6', 'oldfieldtype': 'Column Break', @@ -1037,7 +1014,7 @@ 'doctype': 'DocField', 'fieldname': 'held_on', 'fieldtype': 'Date', - 'idx': 78, + 'idx': 77, 'label': 'Held On', 'oldfieldname': 'held_on', 'oldfieldtype': 'Date', @@ -1049,7 +1026,7 @@ 'doctype': 'DocField', 'fieldname': 'reason_for_resignation', 'fieldtype': 'Select', - 'idx': 79, + 'idx': 78, 'label': 'Reason for Resignation', 'oldfieldname': 'reason_for_resignation', 'oldfieldtype': 'Select', @@ -1062,7 +1039,7 @@ 'doctype': 'DocField', 'fieldname': 'new_workplace', 'fieldtype': 'Data', - 'idx': 80, + 'idx': 79, 'label': 'New Workplace', 'oldfieldname': 'new_workplace', 'oldfieldtype': 'Data', @@ -1074,7 +1051,7 @@ 'doctype': 'DocField', 'fieldname': 'feedback', 'fieldtype': 'Small Text', - 'idx': 81, + 'idx': 80, 'label': 'Feedback', 'oldfieldname': 'feedback', 'oldfieldtype': 'Text', @@ -1087,7 +1064,7 @@ 'fieldname': 'file_list', 'fieldtype': 'Text', 'hidden': 1, - 'idx': 82, + 'idx': 81, 'label': 'File List', 'permlevel': 0, 'print_hide': 1 @@ -1098,7 +1075,7 @@ 'doctype': 'DocField', 'fieldname': 'trash_reason', 'fieldtype': 'Small Text', - 'idx': 83, + 'idx': 82, 'label': 'Trash Reason', 'oldfieldname': 'trash_reason', 'oldfieldtype': 'Small Text', From 1ca982055b33916f4c03986b35523628253892bd Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 18 Aug 2011 12:48:09 +0530 Subject: [PATCH 08/81] Made some fields read only after saving --- stock/doctype/serial_no/serial_no.js | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/stock/doctype/serial_no/serial_no.js b/stock/doctype/serial_no/serial_no.js index 32620ddab0..a41113c313 100644 --- a/stock/doctype/serial_no/serial_no.js +++ b/stock/doctype/serial_no/serial_no.js @@ -7,15 +7,16 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) { // ************************************** refresh *************************************************** cur_frm.cscript.refresh = function(doc, cdt, cdn) { - if(!doc.__islocal && doc.warehouse) set_field_permlevel('warehouse', 1); - if(!doc.__islocal && doc.item_code) set_field_permlevel('item_code', 1); - if(doc.__islocal) set_field_permlevel('status', 0); + if(!doc.__islocal) { + flds = ['item_code', 'warehouse', 'purchase_document_type', 'purchase_document_no', 'purchase_date', 'purchase_time', 'purchase_rate', 'supplier'] + for(i=0;i Date: Thu, 18 Aug 2011 12:49:21 +0530 Subject: [PATCH 09/81] Make stock ledger entry only on first time saving --- stock/doctype/serial_no/serial_no.py | 48 ++++++++++------------------ 1 file changed, 16 insertions(+), 32 deletions(-) diff --git a/stock/doctype/serial_no/serial_no.py b/stock/doctype/serial_no/serial_no.py index 9c993575ad..cf7fd50607 100644 --- a/stock/doctype/serial_no/serial_no.py +++ b/stock/doctype/serial_no/serial_no.py @@ -16,39 +16,19 @@ class DocType(TransactionBase): self.doc = doc self.doclist = doclist - -# ********************************* validate warranty / amc status *************************************** - - # -------------------- - # validate amc status - # -------------------- def validate_amc_status(self): - if self.doc.amc_expiry_date and getdate(self.doc.amc_expiry_date) >= datetime.date.today() and self.doc.maintenance_status == 'Out of AMC': - msgprint("AMC expiry date and maintenance status mismatch. Please verify") - raise Exception - elif (not self.doc.amc_expiry_date or getdate(self.doc.amc_expiry_date) < datetime.date.today()) and self.doc.maintenance_status == 'Under AMC': - msgprint("AMC expiry date and maintenance status mismatch. Please verify") - raise Exception + """ + validate amc status + """ + if (self.doc.maintenance_status == 'Out of AMC' and self.doc.amc_expiry_date and getdate(self.doc.amc_expiry_date) >= datetime.date.today()) or (self.doc.maintenance_status == 'Under AMC' and (not self.doc.amc_expiry_date or getdate(self.doc.amc_expiry_date) < datetime.date.today())): + msgprint("AMC expiry date and maintenance status mismatch. Please verify", raise_exception=1) - - # ------------------------- - # validate warranty status - # ------------------------- def validate_warranty_status(self): - if self.doc.warranty_expiry_date and getdate(self.doc.warranty_expiry_date) >= datetime.date.today() and self.doc.maintenance_status == 'Out of Warranty': - msgprint("Warranty expiry date and maintenance status mismatch. Please verify") - raise Exception - elif (not self.doc.warranty_expiry_date or getdate(self.doc.warranty_expiry_date) < datetime.date.today()) and self.doc.maintenance_status == 'Under Warranty': - msgprint("Warranty expiry date and maintenance status mismatch. Please verify") - raise Exception - - - # ------------------------------- - # validate warranty / amc status - # ------------------------------- - def validate_warranty_amc_status(self): - self.validate_warranty_status() - self.validate_amc_status() + """ + validate warranty status + """ + if (self.doc.maintenance_status == 'Out of Warranty' and self.doc.warranty_expiry_date and getdate(self.doc.warranty_expiry_date) >= datetime.date.today()) or (self.doc.maintenance_status == 'Under Warranty' and (not self.doc.warranty_expiry_date or getdate(self.doc.warranty_expiry_date) < datetime.date.today())): + msgprint("Warranty expiry date and maintenance status mismatch. Please verify", raise_exception=1) def validate_warehouse(self): @@ -56,6 +36,9 @@ class DocType(TransactionBase): msgprint("Warehouse is mandatory if this Serial No is In Store", raise_exception=1) def validate_item(self): + """ + Validate whether serial no is required for this item + """ item = sql("select name, has_serial_no from tabItem where name = '%s'" % self.doc.item_code) if not item: msgprint("Item is not exists in the system", raise_exception=1) @@ -67,7 +50,8 @@ class DocType(TransactionBase): # validate # --------- def validate(self): - self.validate_warranty_amc_status() + self.validate_warranty_status() + self.validate_amc_status() self.validate_warehouse() self.validate_item() @@ -102,7 +86,7 @@ class DocType(TransactionBase): # on update # ---------- def on_update(self): - if self.doc.warehouse and not sql("select name from `tabStock Ledger Entry` where serial_no = '%s'" % (self.doc.name)) and self.doc.status == 'In Store': + if self.doc.localname and self.doc.warehouse and self.doc.status == 'In Store' and not sql("select name from `tabStock Ledger Entry` where serial_no = '%s' and ifnull(is_cancelled, 'No') = 'No'" % (self.doc.name)): self.make_stock_ledger_entry(update_stock = 1) From 94d158852a58eee39dc5efc4f36c614857749596 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 18 Aug 2011 12:50:46 +0530 Subject: [PATCH 10/81] Fixed MTN and Sales Return cancellation issue related to serial no --- stock/doctype/stock_ledger/stock_ledger.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/stock/doctype/stock_ledger/stock_ledger.py b/stock/doctype/stock_ledger/stock_ledger.py index 5188e0810c..dca975402c 100644 --- a/stock/doctype/stock_ledger/stock_ledger.py +++ b/stock/doctype/stock_ledger/stock_ledger.py @@ -57,11 +57,11 @@ class DocType: s = s.strip() sr_war = sql("select warehouse,name from `tabSerial No` where name = '%s'" % (s)) if not sr_war: - msgprint("Serial No %s does not exists",s, raise_exception = 1) + msgprint("Serial No %s does not exists"%s, raise_exception = 1) elif not sr_war[0][0]: - msgprint("Please set a warehouse in the Serial No %s" % s, raise_exception = 1) - elif sr_war[0][0] != d.warehouse: - msgprint("Serial No : %s for Item : %s doesn't exists in Warehouse : %s" % (s, d.item_code, d.warehouse), raise_exception = 1) + msgprint("Warehouse not mentioned in the Serial No %s" % s, raise_exception = 1) + elif (d.warehouse and sr_war[0][0] != d.warehouse) or (d.s_warehouse and sr_war[0][0] != d.s_warehouse): + msgprint("Serial No : %s for Item : %s doesn't exists in Warehouse : %s" % (s, d.item_code, d.warehouse or d.s_warehouse), raise_exception = 1) # ------------------------------------ @@ -119,10 +119,10 @@ class DocType: # ---------------------------------- # update serial no purchase details # ---------------------------------- - def update_serial_purchase_details(self, obj, d, serial_no, is_submit, is_transfer = 0): + def update_serial_purchase_details(self, obj, d, serial_no, is_submit, purpose = ''): exists = sql("select name, status, docstatus from `tabSerial No` where name = '%s'" % (serial_no)) if is_submit: - if exists and exists[0][2] != 2 and not is_transfer: + if exists and exists[0][2] != 2 and purpose not in ['Material Transfer', 'Sales Return']: msgprint("Serial No: %s already %s" % (serial_no, exists and exists[0][1]), raise_exception = 1) elif exists: s = Document('Serial No', exists and exists[0][0]) @@ -133,8 +133,10 @@ class DocType: else: if exists and exists[0][1] == 'Delivered' and exists[0][2] != 2: msgprint("Serial No: %s is already delivered, you can not cancel the document." % serial_no, raise_exception=1) + elif purpose in ['Material Transfer', 'Sales Return']: + sql("update `tabSerial No` set status = '%s', purchase_document_type = '', purchase_document_no = '', warehouse = '%s' where name = '%s'" % (purpose == 'Material Transfer' and 'In Store' or 'Delivered', d.s_warehouse, serial_no)) else: - sql("update `tabSerial No` set docstatus = '%s', status = '%s', purchase_document_type = '', purchase_document_no = '', purchase_date = '', purchase_rate = '', supplier = null, supplier_name = '', supplier_address = '', warehouse = null where name = '%s'" % (not is_transfer and 2 or 0, is_transfer and 'In Store' or 'Not in Use', serial_no)) + sql("update `tabSerial No` set docstatus = 2, status = 'Not in Use', purchase_document_type = '', purchase_document_no = '', purchase_date = '', purchase_rate = '', supplier = null, supplier_name = '', supplier_address = '', warehouse = '' where name = '%s'" % serial_no) # ------------------------------- @@ -233,6 +235,7 @@ class DocType: sle.fields['warehouse_type'] = get_value('Warehouse' , args[k], 'warehouse_type') sle.fields[k] = args[k] sle_obj = get_obj(doc=sle) + # validate sle_obj.validate() sle.save(new = 1) From 5fb2b70136204e1a31b47a562aee3c3c9d184c55 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 18 Aug 2011 12:51:39 +0530 Subject: [PATCH 11/81] Fixed MTN and Sales Return cancellation issue related to serial no --- stock/doctype/stock_entry/stock_entry.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/stock/doctype/stock_entry/stock_entry.py b/stock/doctype/stock_entry/stock_entry.py index 47f03946b2..a7d5d6d71f 100644 --- a/stock/doctype/stock_entry/stock_entry.py +++ b/stock/doctype/stock_entry/stock_entry.py @@ -355,6 +355,8 @@ class DocType: # ---------------------------------- def update_serial_no(self, is_submit): sl_obj = get_obj('Stock Ledger') + sl_obj.validate_serial_no_warehouse(self, 'mtn_details') + for d in getlist(self.doclist, 'mtn_details'): if d.serial_no: serial_nos = sl_obj.get_sr_no_list(d.serial_no) @@ -363,7 +365,7 @@ class DocType: if d.s_warehouse: sl_obj.update_serial_delivery_details(self, d, serial_no, is_submit) if d.t_warehouse: - sl_obj.update_serial_purchase_details(self, d, serial_no, is_submit, (self.doc.purpose in ['Material Transfer', 'Sales Return']) and 1 or 0) + sl_obj.update_serial_purchase_details(self, d, serial_no, is_submit, self.doc.purpose) if self.doc.purpose == 'Purchase Return': delete_doc("Serial No", serial_no) From 821fe55c52a60a2a81c5360c5ca8a5a5cef3f5f4 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 18 Aug 2011 14:25:10 +0530 Subject: [PATCH 12/81] check fn actual qty with total number of serial no in store --- stock/doctype/bin/bin.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/stock/doctype/bin/bin.py b/stock/doctype/bin/bin.py index 1a1eb701ab..798b442ed3 100644 --- a/stock/doctype/bin/bin.py +++ b/stock/doctype/bin/bin.py @@ -37,7 +37,10 @@ class DocType: self.doc.projected_qty = flt(self.doc.actual_qty) + flt(self.doc.ordered_qty) + flt(self.doc.indented_qty) + flt(self.doc.planned_qty) - flt(self.doc.reserved_qty) self.doc.save() - + + # check actual qty with total number of serial no + self.check_qty_with_serial_no() + # update valuation for post dated entry if actual_qty: prev_sle = self.get_prev_sle(dt, posting_time, sle_id) @@ -48,6 +51,18 @@ class DocType: self.update_item_valuation(sle_id, dt, posting_time, serial_no, prev_sle) + def check_qty_with_serial_no(self): + """ + check actual qty with total number of serial no in store + Temporary validation added on: 18-07-2011 + """ + if sql("select name from `tabItem` where ifnull(has_serial_no, 'No') = 'Yes' and name = '%s'" % self.doc.item_code): + sr_count = sql("select count(name) from `tabSerial No` where item_code = '%s' and warehouse = '%s' and status ='In Store' and docstatus != 2" % (self.doc.item_code, self.doc.warehouse))[0][0] + if sr_count != self.doc.actual_qty: + msg = "Actual Qty in Bin is mismatched with total number of serial no in store for item: '%s' and warehouse: '%s'" % (self.doc.item_code, self.doc.warehouse) + msgprint(msg, raise_exception=1) + sendmail(['developer@iwebnotes.com'], sender='automail@webnotestech.com', subject='Serial No Count vs Bin Actual Qty', parts=[['text/plain', msg]]) + # -------------------------------- # get first stock ledger entry # -------------------------------- From 41743524a36b4e7a4e670313289eae61f3d5b841 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 18 Aug 2011 14:26:27 +0530 Subject: [PATCH 13/81] validate wh for serial no only in submit --- stock/doctype/stock_entry/stock_entry.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stock/doctype/stock_entry/stock_entry.py b/stock/doctype/stock_entry/stock_entry.py index a7d5d6d71f..024bd1f34b 100644 --- a/stock/doctype/stock_entry/stock_entry.py +++ b/stock/doctype/stock_entry/stock_entry.py @@ -355,7 +355,8 @@ class DocType: # ---------------------------------- def update_serial_no(self, is_submit): sl_obj = get_obj('Stock Ledger') - sl_obj.validate_serial_no_warehouse(self, 'mtn_details') + if is_submit: + sl_obj.validate_serial_no_warehouse(self, 'mtn_details') for d in getlist(self.doclist, 'mtn_details'): if d.serial_no: From 28a7b2800fa92e6a831dd6f5b7774b23e24fa4af Mon Sep 17 00:00:00 2001 From: Brahma K Date: Mon, 22 Aug 2011 12:23:53 +0530 Subject: [PATCH 14/81] Delivery Note changes 1.Net Wt, Gross Wt at packing slip level --- selling/doctype/quotation/quotation.js | 96 +++++--- stock/doctype/delivery_note/delivery_note.py | 88 +++---- stock/doctype/delivery_note/delivery_note.txt | 50 ++-- .../delivery_note_detail.txt | 148 +++++++----- stock/doctype/item/item.js | 37 ++- stock/doctype/item/item.py | 45 ++-- stock/doctype/item/item.txt | 225 +++++++++++------- .../doctype/item_customer_detail/__init__.py | 0 .../item_customer_detail.txt | 73 ++++++ 9 files changed, 489 insertions(+), 273 deletions(-) create mode 100644 stock/doctype/item_customer_detail/__init__.py create mode 100644 stock/doctype/item_customer_detail/item_customer_detail.txt diff --git a/selling/doctype/quotation/quotation.js b/selling/doctype/quotation/quotation.js index f21df25c47..b3dcde681a 100644 --- a/selling/doctype/quotation/quotation.js +++ b/selling/doctype/quotation/quotation.js @@ -11,7 +11,7 @@ $import(SMS Control) // ONLOAD // =================================================================================== -cur_frm.cscript.onload = function(doc, cdt, cdn) { +cur_frm.cscript.onload = function(doc, cdt, cdn) { if(!doc.quotation_to) hide_field(['customer','customer_address','contact_person','customer_name','lead', 'lead_name', 'address_display', 'contact_display', 'contact_mobile', 'contact_email', 'territory', 'customer_group']); if(!doc.price_list_name) set_multiple(cdt,cdn,{price_list_name:sys_defaults.price_list_name}); if(!doc.status) set_multiple(cdt,cdn,{status:'Draft'}); @@ -21,7 +21,7 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) { //if(!doc.price_list_name && sys_defaults.price_list_name) set_multiple(cdt,cdn,{price_list_name:sys_defaults.price_list_name}); if(!doc.company && sys_defaults.company) set_multiple(cdt,cdn,{company:sys_defaults.company}); if(!doc.fiscal_year && sys_defaults.fiscal_year) set_multiple(cdt,cdn,{fiscal_year:sys_defaults.fiscal_year}); - + if(doc.quotation_to) { if(doc.quotation_to == 'Customer') { hide_field(['lead', 'lead_name']); @@ -34,7 +34,7 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) { cur_frm.cscript.onload_post_render = function(doc, dt, dn) { // load default charges - if(doc.__islocal && !getchildren('RV Tax Detail', doc.name, 'other_charges', doc.doctype).length) + if(doc.__islocal && !getchildren('RV Tax Detail', doc.name, 'other_charges', doc.doctype).length) cur_frm.cscript.load_taxes(doc, cdt, cdn); } @@ -46,9 +46,9 @@ cur_frm.cscript.lead_cust_show = function(doc,cdt,cdn){ hide_field(['lead_name','customer','customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); doc.lead = doc.lead_name = doc.customer = doc.customer_address = doc.contact_person = doc.address_display = doc.contact_display = doc.contact_mobile = doc.contact_email = doc.territory = doc.customer_group = ""; } - else if(doc.quotation_to == 'Customer'){ + else if(doc.quotation_to == 'Customer'){ unhide_field(['customer']); - hide_field(['lead','lead_name','address_display','contact_display','contact_mobile','contact_email','territory']); + hide_field(['lead','lead_name','address_display','contact_display','contact_mobile','contact_email','territory']); doc.lead = doc.lead_name = doc.customer = doc.customer_address = doc.contact_person = doc.address_display = doc.contact_display = doc.contact_mobile = doc.contact_email = doc.territory = doc.customer_group = ""; } //refresh_many(['lead','customer']); @@ -56,7 +56,7 @@ cur_frm.cscript.lead_cust_show = function(doc,cdt,cdn){ -//================ hide - unhide fields on basis of quotation to either lead or customer =============================== +//================ hide - unhide fields on basis of quotation to either lead or customer =============================== cur_frm.cscript.quotation_to = function(doc,cdt,cdn){ cur_frm.cscript.lead_cust_show(doc,cdt,cdn); //doc.customer_address = doc.territory = doc.contact_no = doc.email_id = ""; @@ -77,7 +77,7 @@ cur_frm.cscript.refresh = function(doc, cdt, cdn) { cur_frm.add_custom_button('Set as Lost', cur_frm.cscript['Declare Order Lost']); cur_frm.add_custom_button('Send SMS', cur_frm.cscript['Send SMS']); } - + if (!doc.docstatus) hide_field(['Update Follow up']); else unhide_field(['Update Follow up']); //cur_frm.cscript.lead_cust_show(doc,cdt,cdn); @@ -111,7 +111,7 @@ cur_frm.cscript.customer = function(doc,dt,dn) { var callback = function(r,rt) { var doc = locals[cur_frm.doctype][cur_frm.docname]; cur_frm.refresh(); - } + } if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_address', '', callback); if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); @@ -123,12 +123,12 @@ cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc cur_frm.fields_dict.customer_address.on_new = function(dn) { locals['Address'][dn].customer = locals[cur_frm.doctype][cur_frm.docname].customer; - locals['Address'][dn].customer_name = locals[cur_frm.doctype][cur_frm.docname].customer_name; + locals['Address'][dn].customer_name = locals[cur_frm.doctype][cur_frm.docname].customer_name; } cur_frm.fields_dict.contact_person.on_new = function(dn) { locals['Contact'][dn].customer = locals[cur_frm.doctype][cur_frm.docname].customer; - locals['Contact'][dn].customer_name = locals[cur_frm.doctype][cur_frm.docname].customer_name; + locals['Contact'][dn].customer_name = locals[cur_frm.doctype][cur_frm.docname].customer_name; } cur_frm.fields_dict['customer_address'].get_query = function(doc, cdt, cdn) { @@ -146,7 +146,7 @@ cur_frm.fields_dict['lead'].get_query = function(doc,cdt,cdn){ cur_frm.cscript.lead = function(doc, cdt, cdn) { if(doc.lead) get_server_fields('get_lead_details', doc.lead,'', doc, cdt, cdn, 1); - if(doc.lead) unhide_field(['lead_name','address_display','contact_mobile','contact_email','territory']); + if(doc.lead) unhide_field(['lead_name','address_display','contact_mobile','contact_email','territory']); } @@ -166,7 +166,7 @@ cur_frm.fields_dict['enq_no'].get_query = function(doc,cdt,cdn){ cur_frm.cscript['Make Sales Order'] = function() { var doc = cur_frm.doc; - if (doc.docstatus == 1) { + if (doc.docstatus == 1) { var n = createLocal("Sales Order"); $c('dt_map', args={ 'docs':compress_doclist([locals["Sales Order"][n]]), @@ -186,17 +186,17 @@ cur_frm.cscript['Pull Enquiry Detail'] = function(doc,cdt,cdn){ var callback = function(r,rt){ if(r.message){ doc.quotation_to = r.message; - + if(doc.quotation_to == 'Lead') { - unhide_field(['lead','lead_name','address_display','contact_mobile','contact_email','territory']); + unhide_field(['lead','lead_name','address_display','contact_mobile','contact_email','territory']); } else if(doc.quotation_to == 'Customer') { unhide_field(['customer','customer_address','contact_person','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); } refresh_many(['quotation_details','quotation_to','customer','customer_address','contact_person','lead','lead_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group','order_type']); } - } - + } + $c_obj(make_doclist(doc.doctype, doc.name),'pull_enq_details','',callback); } @@ -217,7 +217,7 @@ cur_frm.cscript['Update Follow up'] = function(doc){ //------------------------- cur_frm.cscript['Declare Order Lost'] = function(){ var qtn_lost_dialog; - + set_qtn_lost_dialog = function(doc,cdt,cdn){ qtn_lost_dialog = new Dialog(400,400,'Add Quotation Lost Reason'); qtn_lost_dialog.make_body([ @@ -226,26 +226,26 @@ cur_frm.cscript['Declare Order Lost'] = function(){ ['HTML', 'Response', '
'], ['HTML', 'Add Reason', '
'] ]); - + var add_reason_btn1 = $a($i(qtn_lost_dialog.widgets['Add Reason']), 'button', 'button'); add_reason_btn1.innerHTML = 'Add'; add_reason_btn1.onclick = function(){ qtn_lost_dialog.add(); } - + var add_reason_btn2 = $a($i(qtn_lost_dialog.widgets['Add Reason']), 'button', 'button'); add_reason_btn2.innerHTML = 'Cancel'; $y(add_reason_btn2,{marginLeft:'4px'}); add_reason_btn2.onclick = function(){ qtn_lost_dialog.hide();} - + qtn_lost_dialog.onshow = function() { qtn_lost_dialog.widgets['Quotation Lost Reason'].value = ''; $i('update_quotation_dialog_response').innerHTML = ''; } - + qtn_lost_dialog.add = function() { // sending... $i('update_quotation_dialog_response').innerHTML = 'Processing...'; var arg = strip(qtn_lost_dialog.widgets['Quotation Lost Reason'].value); - var call_back = function(r,rt) { + var call_back = function(r,rt) { if(r.message == 'true'){ $i('update_quotation_dialog_response').innerHTML = 'Done'; qtn_lost_dialog.hide(); @@ -254,11 +254,11 @@ cur_frm.cscript['Declare Order Lost'] = function(){ if(arg) $c_obj(make_doclist(cur_frm.doc.doctype, cur_frm.doc.name),'declare_order_lost',arg,call_back); else msgprint("Please add Quotation lost reason"); } - } - + } + if(!qtn_lost_dialog){ set_qtn_lost_dialog(doc,cdt,cdn); - } + } qtn_lost_dialog.show(); } @@ -284,23 +284,23 @@ cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { //===================== Quotation to validation - either customer or lead mandatory ==================== cur_frm.cscript.quot_to_validate = function(doc,cdt,cdn){ - + if(doc.quotation_to == 'Lead'){ - + if(!doc.lead){ - alert("Lead is mandatory."); - validated = false; + alert("Lead is mandatory."); + validated = false; } } else if(doc.quotation_to == 'Customer'){ - + if(!doc.customer){ alert("Customer is mandatory."); validated = false; } - + } - + } //===================validation function ================================= @@ -308,3 +308,35 @@ cur_frm.cscript.quot_to_validate = function(doc,cdt,cdn){ cur_frm.cscript.validate = function(doc,cdt,cdn){ cur_frm.cscript.quot_to_validate(doc,cdt,cdn); } + +//================ Last Quoted Price and Last Sold Price suggestion ====================== +cur_frm.fields_dict['quotation_details'].grid.get_field('item_code').get_query= function(doc, cdt, cdn) { + var d = locals[cdt][cdn]; + if(doc.customer) + return repl("SELECT i.name,i.item_code,concat('Last quoted at - ',cast(quote_rate as char)) as quote_rate,concat('Last sold at - ',cast(sales_rate as char)) as sales_rate FROM\ + (\ + select item_code,name from tabItem where tabItem.%(key)s like '%s'\ + )i\ + left join\ + (\ + select q.item_code,q.quote_rate from\ + (\ + select q.transaction_date,qd.item_code,basic_rate as quote_rate from `tabQuotation Detail` qd, `tabQuotation` q where q.name=qd.parent and q.docstatus=1 and customer='%(cust)s'\ + )q,\ + (\ + select qd.item_code,max(transaction_date) as transaction_date from `tabQuotation Detail` qd, `tabQuotation` q where q.name=qd.parent and q.docstatus=1 and customer='%(cust)s' group by qd.item_code\ + )m where q.item_code=m.item_code and q.transaction_date=m.transaction_date\ + )q on i.item_code=q.item_code\ + left join\ + (\ + select r.item_code,r.sales_rate from\ + (\ + select r.voucher_date,rd.item_code,basic_rate as sales_rate from `tabRV Detail` rd, `tabReceivable Voucher` r where r.name=rd.parent and r.docstatus=1 and customer='%(cust)s'\ + )r,\ + (\ + select rd.item_code,max(voucher_date) as voucher_date from `tabRV Detail` rd, `tabReceivable Voucher` r where r.name=rd.parent and r.docstatus=1 and customer='%(cust)s' group by rd.item_code\ + )m where r.item_code=m.item_code and r.voucher_date=m.voucher_date\ + )s on i.item_code=s.item_code ORDER BY item_code LIMIT 50",{cust:doc.customer}); + else + return "SELECT name, item_code FROM tabItem WHERE `tabItem`.%(key)s LIKE '%s' ORDER BY tabItem.item_code DESC LIMIT 50"; +} \ No newline at end of file diff --git a/stock/doctype/delivery_note/delivery_note.py b/stock/doctype/delivery_note/delivery_note.py index 3534dadc9a..2a2900fccf 100644 --- a/stock/doctype/delivery_note/delivery_note.py +++ b/stock/doctype/delivery_note/delivery_note.py @@ -13,7 +13,7 @@ sql = webnotes.conn.sql get_value = webnotes.conn.get_value in_transaction = webnotes.conn.in_transaction convert_to_lists = webnotes.conn.convert_to_lists - + # ----------------------------------------------------------------------------------------- from utilities.transaction_base import TransactionBase @@ -24,7 +24,7 @@ class DocType(TransactionBase): self.doclist = doclist self.tname = 'Delivery Note Detail' self.fname = 'delivery_note_details' - + # Notification objects self.notify_obj = get_obj('Notification Control') @@ -33,7 +33,7 @@ class DocType(TransactionBase): def autoname(self): self.doc.name = make_autoname(self.doc.naming_series+'.#####') - + # DOCTYPE TRIGGERS FUNCTIONS # ============================================================================== #************Fiscal Year Validation***************************** @@ -48,21 +48,21 @@ class DocType(TransactionBase): # *********** Get Commission rate of Sales Partner **************** def get_comm_rate(self, sales_partner): return get_obj('Sales Common').get_comm_rate(sales_partner, self) - + # *************** Pull Sales Order Details ************************ def pull_sales_order_details(self): self.validate_prev_docname() self.doc.clear_table(self.doclist,'other_charges') - - if self.doc.sales_order_no: + + if self.doc.sales_order_no: get_obj('DocType Mapper', 'Sales Order-Delivery Note').dt_map('Sales Order', 'Delivery Note', self.doc.sales_order_no, self.doc, self.doclist, "[['Sales Order', 'Delivery Note'],['Sales Order Detail', 'Delivery Note Detail'],['RV Tax Detail','RV Tax Detail'],['Sales Team','Sales Team']]") else: - msgprint("Please select Sales Order No. whose details need to be pulled") + msgprint("Please select Sales Order No. whose details need to be pulled") return cstr(self.doc.sales_order_no) - - + + #-------------------set item details -uom and item group---------------- def set_item_details(self): for d in getlist(self.doclist,'delivery_note_details'): @@ -70,14 +70,14 @@ class DocType(TransactionBase): if not d.stock_uom: d.stock_uom = res and cstr(res[0][0]) or '' if not d.item_group: d.item_group = res and cstr(res[0][1]) or '' d.save() - + # ::::: Validates that Sales Order is not pulled twice ::::::: def validate_prev_docname(self): - for d in getlist(self.doclist, 'delivery_note_details'): + for d in getlist(self.doclist, 'delivery_note_details'): if self.doc.sales_order_no == d.prevdoc_docname: msgprint(cstr(self.doc.sales_order_no) + " sales order details have already been pulled. ") raise Exception, "Validation Error. " - + #Set Actual Qty based on item code and warehouse #------------------------------------------------------ def set_actual_qty(self): @@ -91,14 +91,14 @@ class DocType(TransactionBase): # ------------------------------------- def get_tc_details(self): return get_obj('Sales Common').get_tc_details(self) - + #pull project customer #------------------------- def pull_project_customer(self): res = sql("select customer from `tabProject` where name = '%s'"%self.doc.project_name) if res: get_obj('DocType Mapper', 'Project-Delivery Note').dt_map('Project', 'Delivery Note', self.doc.project_name, self.doc, self.doclist, "[['Project', 'Delivery Note']]") - + # DELIVERY NOTE DETAILS TRIGGER FUNCTIONS # ================================================================================ @@ -119,10 +119,10 @@ class DocType(TransactionBase): } return ret - + # OTHER CHARGES TRIGGER FUNCTIONS # ==================================================================================== - + # *********** Get Tax rate if account type is TAX ******************** def get_rate(self,arg): return get_obj('Sales Common').get_rate(arg) @@ -137,7 +137,7 @@ class DocType(TransactionBase): def get_other_charges(self): return get_obj('Sales Common').get_other_charges(self) - + #check in manage account if sales order required or not. # ==================================================================================== def so_required(self): @@ -147,9 +147,9 @@ class DocType(TransactionBase): if not d.prevdoc_docname: msgprint("Sales Order No. required against item %s"%d.item_code) raise Exception - - + + # VALIDATE # ==================================================================================== def validate(self): @@ -167,13 +167,13 @@ class DocType(TransactionBase): sales_com_obj.make_packing_list(self,'delivery_note_details') get_obj('Stock Ledger').validate_serial_no(self, 'packing_details') sales_com_obj.validate_max_discount(self, 'delivery_note_details') #verify whether rate is not greater than max discount - sales_com_obj.get_allocated_sum(self) # this is to verify that the allocated % of sales persons is 100% + sales_com_obj.get_allocated_sum(self) # this is to verify that the allocated % of sales persons is 100% sales_com_obj.check_conversion_rate(self) # ::::::: Get total in Words :::::::: dcc = TransactionBase().get_company_currency(self.doc.company) self.doc.in_words = sales_com_obj.get_total_in_words(dcc, self.doc.rounded_total) self.doc.in_words_export = sales_com_obj.get_total_in_words(self.doc.currency, self.doc.rounded_total_export) - + # ::::::: Set actual qty for each item in selected warehouse ::::::: self.update_current_stock() # :::::: set DN status ::::::: @@ -181,8 +181,8 @@ class DocType(TransactionBase): self.doc.status = 'Draft' if not self.doc.billing_status: self.doc.billing_status = 'Not Billed' if not self.doc.installation_status: self.doc.installation_status = 'Not Installed' - - + + # ************** Validate Mandatory ************************* def validate_mandatory(self): # :::::::::: Amendment Date :::::::::::::: @@ -198,20 +198,20 @@ class DocType(TransactionBase): if not res: msgprint("Customer - %s does not belong to project - %s. \n\nIf you want to use project for multiple customers then please make customer details blank in project - %s."%(self.doc.customer,self.doc.project_name,self.doc.project_name)) raise Exception - + # Validate values with reference document #---------------------------------------- def validate_reference_value(self): get_obj('DocType Mapper', 'Sales Order-Delivery Note', with_children = 1).validate_reference_value(self, self.doc.name) - - + + # ******* Validate Previous Document Details ************ def validate_prevdoc_details(self): for d in getlist(self.doclist,'delivery_note_details'): - + prevdoc = d.prevdoc_doctype prevdoc_docname = d.prevdoc_docname - + if prevdoc_docname and prevdoc: # ::::::::::: Validates Transaction Date of DN and previous doc (i.e. SO , PO, PR) ********* trans_date = sql("select transaction_date from `tab%s` where name = '%s'" %(prevdoc,prevdoc_docname))[0][0] @@ -259,7 +259,7 @@ class DocType(TransactionBase): ch = sql("select is_stock_item from `tabItem` where name = '%s'"%d.item_code) if d.prevdoc_doctype and d.prevdoc_detail_docname and ch and ch[0][0]=='Yes': self.validate_items_with_prevdoc(d) - + # validates whether item is not entered twice e = [d.item_code, d.description, d.warehouse, d.prevdoc_docname or '', d.batch_no or ''] f = [d.item_code, d.description, d.prevdoc_docname or ''] @@ -297,8 +297,8 @@ class DocType(TransactionBase): for d in getlist(self.doclist, 'packing_details'): bin = sql("select actual_qty, projected_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1) d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0 - d.projected_qty = bin and flt(bin[0]['projected_qty']) or 0 - + d.projected_qty = bin and flt(bin[0]['projected_qty']) or 0 + # ON SUBMIT # ================================================================================================= @@ -322,7 +322,7 @@ class DocType(TransactionBase): # on submit notification self.notify_obj.notify_contact('Delivery Note',self.doc.doctype,self.doc.name, self.doc.email_id, self.doc.contact_person) - + # *********** Checks whether actual quantity is present in warehouse ************* def check_qty_in_stock(self): for d in getlist(self.doclist, 'packing_details'): @@ -334,7 +334,7 @@ class DocType(TransactionBase): # ON CANCEL -# ================================================================================================= +# ================================================================================================= def on_cancel(self): sales_com_obj = get_obj(dt = 'Sales Common') sales_com_obj.check_stop_sales_order(self) @@ -345,14 +345,14 @@ class DocType(TransactionBase): # :::::: set DN status ::::::: set(self.doc, 'status', 'Cancelled') - + # ******************** Check Next DocStatus ************************** def check_next_docstatus(self): submit_rv = sql("select t1.name from `tabReceivable Voucher` t1,`tabRV Detail` t2 where t1.name = t2.parent and t2.delivery_note = '%s' and t1.docstatus = 1" % (self.doc.name)) if submit_rv: msgprint("Sales Invoice : " + cstr(submit_rv[0][0]) + " has already been submitted !") raise Exception , "Validation Error." - + submit_in = sql("select t1.name from `tabInstallation Note` t1, `tabInstalled Item Details` t2 where t1.name = t2.parent and t2.prevdoc_docname = '%s' and t1.docstatus = 1" % (self.doc.name)) if submit_in: msgprint("Installation Note : "+cstr(submit_in[0][0]) +" has already been submitted !") @@ -369,11 +369,11 @@ class DocType(TransactionBase): if not d[0]: msgprint("Message: Please enter Warehouse for item %s as it is stock item."% d[1]) raise Exception - # if prevdoc_doctype = "Sales Order" + # if prevdoc_doctype = "Sales Order" if d[3] < 0 : # Reduce Reserved Qty from warehouse bin = get_obj('Warehouse', d[0]).update_bin(0, flt(update_stock) * flt(d[3]), 0, 0, 0, d[1], self.doc.transaction_date) - + # Reduce actual qty from warehouse self.make_sl_entry(d, d[0], - flt(d[2]) , 0, update_stock) get_obj('Stock Ledger', 'Stock Ledger').update_stock(self.values) @@ -383,7 +383,7 @@ class DocType(TransactionBase): def get_item_list(self, is_stopped): return get_obj('Sales Common').get_item_list(self, is_stopped) - + # ********************** Make Stock Entry ************************************ def make_sl_entry(self, d, wh, qty, in_value, update_stock): self.values.append({ @@ -394,8 +394,8 @@ class DocType(TransactionBase): 'posting_time' : self.doc.posting_time, 'voucher_type' : 'Delivery Note', 'voucher_no' : self.doc.name, - 'voucher_detail_no' : '', - 'actual_qty' : qty, + 'voucher_detail_no' : '', + 'actual_qty' : qty, 'stock_uom' : d[4], 'incoming_rate' : in_value, 'company' : self.doc.company, @@ -403,9 +403,9 @@ class DocType(TransactionBase): 'is_cancelled' : (update_stock==1) and 'No' or 'Yes', 'batch_no' : d[5], 'serial_no' : d[6] - }) + }) + - # SEND SMS # ============================================================================================ def send_sms(self): @@ -436,3 +436,7 @@ class DocType(TransactionBase): # =========================================== def repair_delivery_note(self): get_obj('Sales Common', 'Sales Common').repair_curr_doctype_details(self) + + # Packing Slip Related + # ========================================== + #def get \ No newline at end of file diff --git a/stock/doctype/delivery_note/delivery_note.txt b/stock/doctype/delivery_note/delivery_note.txt index b77a6a5b88..3ec4b383bc 100644 --- a/stock/doctype/delivery_note/delivery_note.txt +++ b/stock/doctype/delivery_note/delivery_note.txt @@ -5,14 +5,23 @@ { 'creation': '2011-04-18 15:58:20', 'docstatus': 0, - 'modified': '2011-08-09 17:10:45', + 'modified': '2011-08-18 16:31:02', 'modified_by': 'Administrator', 'owner': 'Administrator' }, + # These values are common for all DocField + { + 'doctype': 'DocField', + 'name': '__common__', + 'parent': 'Delivery Note', + 'parentfield': 'fields', + 'parenttype': 'DocType' + }, + # These values are common for all DocType { - '_last_update': '1311621379', + '_last_update': '1313485457', 'colour': 'White:FFF', 'doctype': 'DocType', 'document_type': 'Transaction', @@ -27,15 +36,15 @@ 'show_in_menu': 0, 'subject': 'To %(customer_name)s on %(transaction_date)s | %(per_billed)s% billed', 'tag_fields': 'billing_status', - 'version': 446 + 'version': 447 }, - # These values are common for all DocField + # These values are common for all DocFormat { - 'doctype': 'DocField', + 'doctype': 'DocFormat', 'name': '__common__', 'parent': 'Delivery Note', - 'parentfield': 'fields', + 'parentfield': 'formats', 'parenttype': 'DocType' }, @@ -109,21 +118,8 @@ # DocPerm { - 'amend': 1, - 'cancel': 1, - 'create': 1, 'doctype': 'DocPerm', 'idx': 5, - 'permlevel': 0, - 'role': 'Sales Manager', - 'submit': 1, - 'write': 1 - }, - - # DocPerm - { - 'doctype': 'DocPerm', - 'idx': 6, 'permlevel': 1, 'role': 'All' }, @@ -131,11 +127,25 @@ # DocPerm { 'doctype': 'DocPerm', - 'idx': 7, + 'idx': 6, 'permlevel': 2, 'role': 'All' }, + # DocFormat + { + 'doctype': 'DocFormat', + 'format': 'Delivery Note Format', + 'idx': 1 + }, + + # DocFormat + { + 'doctype': 'DocFormat', + 'format': 'Delivery Note Packing List Wise', + 'idx': 2 + }, + # DocField { 'colour': 'White:FFF', diff --git a/stock/doctype/delivery_note_detail/delivery_note_detail.txt b/stock/doctype/delivery_note_detail/delivery_note_detail.txt index 78aea3267f..a8fea209c4 100644 --- a/stock/doctype/delivery_note_detail/delivery_note_detail.txt +++ b/stock/doctype/delivery_note_detail/delivery_note_detail.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:08:58', 'docstatus': 0, - 'modified': '2011-03-01 10:35:06', + 'modified': '2011-08-22 12:11:51', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -21,7 +21,7 @@ 'section_style': 'Tray', 'server_code_error': ' ', 'show_in_menu': 0, - 'version': 35 + 'version': 38 }, # These values are common for all DocField @@ -102,27 +102,13 @@ 'width': '50px' }, - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'no_of_packs', - 'fieldtype': 'Int', - 'idx': 5, - 'label': 'No of Packs', - 'oldfieldname': 'no_of_packs', - 'oldfieldtype': 'Int', - 'permlevel': 0, - 'print_hide': 1, - 'width': '100px' - }, - # DocField { 'default': '0.00', 'doctype': 'DocField', 'fieldname': 'qty', 'fieldtype': 'Currency', - 'idx': 6, + 'idx': 5, 'label': 'Quantity', 'oldfieldname': 'qty', 'oldfieldtype': 'Currency', @@ -138,7 +124,7 @@ 'doctype': 'DocField', 'fieldname': 'ref_rate', 'fieldtype': 'Currency', - 'idx': 7, + 'idx': 6, 'label': 'Ref Rate', 'no_copy': 0, 'oldfieldname': 'ref_rate', @@ -156,7 +142,7 @@ 'doctype': 'DocField', 'fieldname': 'adj_rate', 'fieldtype': 'Float', - 'idx': 8, + 'idx': 7, 'label': 'Discount (%)', 'oldfieldname': 'adj_rate', 'oldfieldtype': 'Float', @@ -171,7 +157,7 @@ 'doctype': 'DocField', 'fieldname': 'export_rate', 'fieldtype': 'Currency', - 'idx': 9, + 'idx': 8, 'label': 'Rate', 'oldfieldname': 'export_rate', 'oldfieldtype': 'Currency', @@ -187,7 +173,7 @@ 'doctype': 'DocField', 'fieldname': 'export_amount', 'fieldtype': 'Currency', - 'idx': 10, + 'idx': 9, 'label': 'Amount', 'oldfieldname': 'export_amount', 'oldfieldtype': 'Currency', @@ -202,7 +188,7 @@ 'doctype': 'DocField', 'fieldname': 'base_ref_rate', 'fieldtype': 'Currency', - 'idx': 11, + 'idx': 10, 'label': 'Ref Rate*', 'oldfieldname': 'base_ref_rate', 'oldfieldtype': 'Currency', @@ -217,7 +203,7 @@ 'doctype': 'DocField', 'fieldname': 'basic_rate', 'fieldtype': 'Currency', - 'idx': 12, + 'idx': 11, 'label': 'Rate*', 'oldfieldname': 'basic_rate', 'oldfieldtype': 'Currency', @@ -233,7 +219,7 @@ 'doctype': 'DocField', 'fieldname': 'amount', 'fieldtype': 'Currency', - 'idx': 13, + 'idx': 12, 'label': 'Amount*', 'oldfieldname': 'amount', 'oldfieldtype': 'Currency', @@ -248,7 +234,7 @@ 'doctype': 'DocField', 'fieldname': 'warehouse', 'fieldtype': 'Link', - 'idx': 14, + 'idx': 13, 'label': 'Warehouse', 'oldfieldname': 'warehouse', 'oldfieldtype': 'Link', @@ -264,7 +250,8 @@ 'doctype': 'DocField', 'fieldname': 'serial_no', 'fieldtype': 'Text', - 'idx': 15, + 'idx': 14, + 'in_filter': 1, 'label': 'Serial No', 'no_copy': 1, 'oldfieldname': 'serial_no', @@ -279,14 +266,13 @@ 'doctype': 'DocField', 'fieldname': 'batch_no', 'fieldtype': 'Link', - 'idx': 16, + 'idx': 15, 'label': 'Batch No', 'oldfieldname': 'batch_no', 'oldfieldtype': 'Link', 'options': 'Batch', 'permlevel': 0, - 'print_hide': 1, - 'search_index': 0 + 'print_hide': 1 }, # DocField @@ -294,14 +280,13 @@ 'doctype': 'DocField', 'fieldname': 'item_group', 'fieldtype': 'Link', - 'idx': 17, + 'idx': 16, 'label': 'Item Group', 'oldfieldname': 'item_group', 'oldfieldtype': 'Link', 'options': 'Item Group', 'permlevel': 1, - 'print_hide': 1, - 'search_index': 0 + 'print_hide': 1 }, # DocField @@ -309,23 +294,77 @@ 'doctype': 'DocField', 'fieldname': 'brand', 'fieldtype': 'Link', - 'idx': 18, + 'idx': 17, 'label': 'Brand Name', 'oldfieldname': 'brand', 'oldfieldtype': 'Link', 'options': 'Brand', 'permlevel': 1, 'print_hide': 1, - 'search_index': 0, 'width': '150px' }, + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'pack_no', + 'fieldtype': 'Data', + 'idx': 18, + 'label': 'Pack No', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'pack_gross_wt', + 'fieldtype': 'Float', + 'idx': 19, + 'label': 'Pack Gross Wt', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'weight_uom', + 'fieldtype': 'Link', + 'idx': 20, + 'label': 'Weight UOM', + 'options': 'UOM', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'pack_nett_wt', + 'fieldtype': 'Float', + 'idx': 21, + 'label': 'Pack Nett Wt', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'no_of_packs', + 'fieldtype': 'Int', + 'idx': 22, + 'label': 'No of Packs', + 'oldfieldname': 'no_of_packs', + 'oldfieldtype': 'Int', + 'permlevel': 0, + 'print_hide': 1, + 'width': '100px' + }, + # DocField { 'doctype': 'DocField', 'fieldname': 'pack_unit', 'fieldtype': 'Data', - 'idx': 19, + 'idx': 23, 'label': 'Pack Unit', 'oldfieldname': 'pack_unit', 'oldfieldtype': 'Data', @@ -339,7 +378,7 @@ 'doctype': 'DocField', 'fieldname': 'installed_qty', 'fieldtype': 'Currency', - 'idx': 20, + 'idx': 24, 'label': 'Installed Qty', 'no_copy': 1, 'oldfieldname': 'installed_qty', @@ -354,7 +393,7 @@ 'doctype': 'DocField', 'fieldname': 'actual_qty', 'fieldtype': 'Currency', - 'idx': 21, + 'idx': 25, 'label': 'Available Qty at Warehouse', 'no_copy': 1, 'oldfieldname': 'actual_qty', @@ -364,29 +403,12 @@ 'width': '150px' }, - # DocField - { - 'colour': 'White:FFF', - 'default': '0.00', - 'doctype': 'DocField', - 'fieldname': 'billed_qty', - 'fieldtype': 'Currency', - 'idx': 22, - 'label': 'Billed Qty', - 'no_copy': 1, - 'oldfieldname': 'billed_qty', - 'oldfieldtype': 'Currency', - 'permlevel': 1, - 'print_hide': 1, - 'width': '100px' - }, - # DocField { 'doctype': 'DocField', 'fieldname': 'billed_amt', 'fieldtype': 'Currency', - 'idx': 23, + 'idx': 26, 'label': 'Billed Amt', 'no_copy': 1, 'permlevel': 1, @@ -401,7 +423,7 @@ 'fieldname': 'prevdoc_docname', 'fieldtype': 'Data', 'hidden': 0, - 'idx': 24, + 'idx': 27, 'in_filter': 1, 'label': 'Against Document No', 'no_copy': 1, @@ -419,14 +441,14 @@ 'fieldname': 'prevdoc_doctype', 'fieldtype': 'Data', 'hidden': 1, - 'idx': 25, + 'idx': 28, 'in_filter': 1, 'label': 'Document Type', 'oldfieldname': 'prevdoc_doctype', 'oldfieldtype': 'Data', 'permlevel': 1, 'print_hide': 1, - 'search_index': 0, + 'search_index': 1, 'width': '150px' }, @@ -436,7 +458,7 @@ 'fieldname': 'prevdoc_date', 'fieldtype': 'Date', 'hidden': 1, - 'idx': 26, + 'idx': 29, 'in_filter': 1, 'label': 'Against Document Date', 'oldfieldname': 'prevdoc_date', @@ -451,14 +473,14 @@ 'fieldname': 'prevdoc_detail_docname', 'fieldtype': 'Data', 'hidden': 1, - 'idx': 27, + 'idx': 30, 'in_filter': 1, 'label': 'Against Document Detail No', 'oldfieldname': 'prevdoc_detail_docname', 'oldfieldtype': 'Data', 'permlevel': 1, 'print_hide': 1, - 'search_index': 1, + 'search_index': 0, 'width': '150px' }, @@ -468,7 +490,7 @@ 'fieldname': 'item_tax_rate', 'fieldtype': 'Small Text', 'hidden': 1, - 'idx': 28, + 'idx': 31, 'label': 'Item Tax Rate', 'oldfieldname': 'item_tax_rate', 'oldfieldtype': 'Small Text', @@ -482,7 +504,7 @@ 'doctype': 'DocField', 'fieldname': 'page_break', 'fieldtype': 'Check', - 'idx': 29, + 'idx': 32, 'label': 'Page Break', 'oldfieldname': 'page_break', 'oldfieldtype': 'Check', diff --git a/stock/doctype/item/item.js b/stock/doctype/item/item.js index 3c0262979e..6dd7377ed7 100644 --- a/stock/doctype/item/item.js +++ b/stock/doctype/item/item.js @@ -1,17 +1,17 @@ cur_frm.cscript.refresh = function(doc) { // make sensitive fields(has_serial_no, is_stock_item, valuation_method) // read only if any stock ledger entry exists - + if ((!doc.__islocal) && (doc.is_stock_item == 'Yes')) { var callback = function(r, rt) { if (r.message == 'exists') permlevel = 1; else permlevel = 0; - + set_field_permlevel('has_serial_no', permlevel); set_field_permlevel('is_stock_item', permlevel); set_field_permlevel('valuation_method', permlevel); } - $c_obj(make_doclist(doc.doctype, doc.name),'check_if_sle_exists','',callback); + $c_obj(make_doclist(doc.doctype, doc.name),'check_if_sle_exists','',callback); } } @@ -24,25 +24,25 @@ cur_frm.fields_dict['default_bom'].get_query = function(doc) { // Expense Account // --------------------------------- -cur_frm.fields_dict['purchase_account'].get_query = function(doc){ +cur_frm.fields_dict['purchase_account'].get_query = function(doc){ return 'SELECT DISTINCT `tabAccount`.`name` FROM `tabAccount` WHERE `tabAccount`.`debit_or_credit`="Debit" AND `tabAccount`.`group_or_ledger`="Ledger" AND `tabAccount`.`docstatus`!=2 AND `tabAccount`.`is_pl_account` = "Yes" AND `tabAccount`.%(key)s LIKE "%s" ORDER BY `tabAccount`.`name` LIMIT 50' } -// Income Account +// Income Account // -------------------------------- cur_frm.fields_dict['default_income_account'].get_query = function(doc) { return 'SELECT DISTINCT `tabAccount`.`name` FROM `tabAccount` WHERE `tabAccount`.`debit_or_credit`="Credit" AND `tabAccount`.`group_or_ledger`="Ledger" AND `tabAccount`.`is_pl_account` = "Yes" AND `tabAccount`.`docstatus`!=2 AND `tabAccount`.`account_type` ="Income Account" AND `tabAccount`.%(key)s LIKE "%s" ORDER BY `tabAccount`.`name` LIMIT 50' } -// Purchase Cost Center +// Purchase Cost Center // ----------------------------- cur_frm.fields_dict['cost_center'].get_query = function(doc) { return 'SELECT `tabCost Center`.`name` FROM `tabCost Center` WHERE `tabCost Center`.%(key)s LIKE "%s" AND `tabCost Center`.`group_or_ledger` = "Ledger" AND `tabCost Center`.`docstatus`!= 2 ORDER BY `tabCost Center`.`name` ASC LIMIT 50' } -// Sales Cost Center +// Sales Cost Center // ----------------------------- cur_frm.fields_dict['default_sales_cost_center'].get_query = function(doc) { return 'SELECT `tabCost Center`.`name` FROM `tabCost Center` WHERE `tabCost Center`.%(key)s LIKE "%s" AND `tabCost Center`.`group_or_ledger` = "Ledger" AND `tabCost Center`.`docstatus`!= 2 ORDER BY `tabCost Center`.`name` ASC LIMIT 50' @@ -66,7 +66,7 @@ cur_frm.fields_dict['item_group'].get_query = function(doc,cdt,cdn) { cur_frm.cscript.IGHelp = function(doc,dt,dn){ var call_back = function(){ - var sb_obj = new SalesBrowser(); + var sb_obj = new SalesBrowser(); sb_obj.set_val('Item Group'); } @@ -79,21 +79,34 @@ cur_frm.cscript.IGHelp = function(doc,dt,dn){ // in the "alternate_description" field cur_frm.cscript['Add Image'] = function(doc, dt, dn) { if(!doc.file_list) { - msgprint('Please attach a file first!'); + msgprint('Please attach a file first!'); } - + var f = doc.file_list.split('\n')[0]; var fname = f.split(',')[0]; var fid = f.split(',')[1]; if(!in_list(['jpg','jpeg','gif','png'], fname.split('.')[1].toLowerCase())) { msgprint('File must be of extension jpg, jpeg, gif or png'); return; } - + doc.description_html = repl(''+ ''+ ''+ '
%(desc)s
', {imgurl: wn.urllib.get_file_url(fid), desc:doc.description}); - + refresh_field('description_html'); } +//===================== Quotation to validation - either customer or lead mandatory ==================== +cur_frm.cscript.weight_to_validate = function(doc,cdt,cdn){ + if((doc.nett_weight || doc.gross_weight) && !doc.weight_uom) + { + alert('Weight is mentioned,\nPlease mention "Weight UOM" too'); + validated=0; + } +} +//===================validation function ================================= + +cur_frm.cscript.validate = function(doc,cdt,cdn){ + cur_frm.cscript.weight_to_validate(doc,cdt,cdn); +} diff --git a/stock/doctype/item/item.py b/stock/doctype/item/item.py index d51fb3a081..fcc4b467dd 100644 --- a/stock/doctype/item/item.py +++ b/stock/doctype/item/item.py @@ -13,7 +13,7 @@ sql = webnotes.conn.sql get_value = webnotes.conn.get_value in_transaction = webnotes.conn.in_transaction convert_to_lists = webnotes.conn.convert_to_lists - + # ----------------------------------------------------------------------------------------- @@ -21,7 +21,7 @@ class DocType: def __init__(self, doc, doclist=[]): self.doc = doc self.doclist = doclist - + def get_tax_rate(self, tax_type): rate = sql("select tax_rate from tabAccount where name = %s", tax_type) ret = { @@ -39,14 +39,14 @@ class DocType: if not self.doc.stock_uom: msgprint("Please enter Stock UOM first.") raise Exception - + if cstr(d.uom) in check_list: msgprint("UOM %s has been entered more than once in Conversion Factor Details." % cstr(d.uom)) raise Exception - + if not cstr(d.uom) in check_list: check_list.append(cstr(d.uom)) - + if cstr(d.uom) == cstr(self.doc.stock_uom): if flt(d.conversion_factor) != 1: msgprint("Conversion Fator of UOM : %s should be equal to 1. As UOM : %s is Stock UOM of Item: %s." % ( cstr(d.uom), cstr(d.uom), cstr(self.doc.name))) @@ -56,14 +56,14 @@ class DocType: elif cstr(d.uom) != cstr(self.doc.stock_uom) and flt(d.conversion_factor) == 1: msgprint("Conversion Factor of UOM : %s should not be equal to 1. As UOM : %s is not Stock UOM of Item: %s." % ( cstr(d.uom), cstr(d.uom), cstr(self.doc.name))) raise Exception - + if not cstr(self.doc.stock_uom) in check_list : child = addchild( self.doc, 'uom_conversion_details', 'UOM Conversion Detail', 1, self.doclist) child.uom = self.doc.stock_uom child.conversion_factor = 1 child.save() - + # Check whether Ref Rate is not entered twice for same Price List and Currency def check_ref_rate_detail(self): check_list=[] @@ -73,7 +73,13 @@ class DocType: raise Exception else: check_list.append([cstr(d.price_list_name),cstr(d.ref_currency)]) - + + # Append all the customer codes and insert into "customer_code" field of item table + def fill_customer_code(self): + cust_code=[] + for d in getlist(self.doclist,'item_customer_details'): + cust_code.append(d.ref_code) + self.doc.customer_code=','.join(cust_code) # Check whether Tax Rate is not entered twice for same Tax Type def check_item_tax(self): @@ -89,7 +95,7 @@ class DocType: msgprint("Rate is entered twice for Tax : '%s'." % (d.tax_type)) raise Exception else: - check_list.append(d.tax_type) + check_list.append(d.tax_type) def check_for_active_boms(self, check): if check in ['Is Active', 'Is Purchase Item']: @@ -102,7 +108,7 @@ class DocType: if bom and bom[0][0]: msgprint("%s should be 'Yes'. As Item %s is present in one or many Active BOMs." % (cstr(check), cstr(self.doc.name))) raise Exception - + def validate(self): fl = {'is_manufactured_item' :'Is Manufactured Item', 'is_sub_contracted_item':'Is Sub Contracted Item', @@ -112,18 +118,19 @@ class DocType: if cstr(self.doc.fields[d]) != 'Yes': self.check_for_active_boms(check = fl[d]) self.check_ref_rate_detail() + self.fill_customer_code() self.check_item_tax() if not self.doc.min_order_qty: self.doc.min_order_qty = 0 self.check_non_asset_warehouse() - + if self.doc.is_pro_applicable == 'Yes' and self.doc.is_manufactured_item != 'Yes': msgprint("If making Production Order is allowed then, it should also allow to make Bill of Materials. Refer Manufacturing section.") raise Exception - + if self.doc.is_pro_applicable == 'Yes' and self.doc.is_stock_item == 'No': msgprint("As Production Order can be made for this Item, then Is Stock Item Should be 'Yes' as we maintain it's stock. Refer Manufacturing and Inventory section.", raise_exception=1) - + if self.doc.is_stock_item == "Yes" and not self.doc.default_warehouse: msgprint("As we maintain stock of this item, its better to maintain default warehouse. To add default warehouse please go to 'Inventory' section. It will be fetched automatically while making Sales Order, Delivery Note, etc.. ", 1) @@ -146,7 +153,7 @@ class DocType: if flt(total_qty) < flt(self.doc.minimum_inventory_level): msgprint("Your minimum inventory level is reached") send_to = [] - send = sql("select t1.email from `tabProfile` t1,`tabUserRole` t2 where t2.role IN ('Material Master Manager','Purchase Manager') and t2.parent = t1.name") + send = sql("select t1.email from `tabProfile` t1,`tabUserRole` t2 where t2.role IN ('Material Master Manager','Purchase Manager') and t2.parent = t1.name") for d in send: send_to.append(d[0]) msg = ''' @@ -167,10 +174,10 @@ Total Available Qty: %s ret = { 'file_group' : file and file[0]['file_group'] or '', 'description' : file and file[0]['description'] or '' - + } return str(ret) - + def check_if_sle_exists(self): """ checks if any stock ledger entry exists for this item @@ -178,7 +185,7 @@ Total Available Qty: %s sle = sql("select name from `tabStock Ledger Entry` where item_code = %s and ifnull(is_cancelled, 'No') = 'No'", self.doc.name) return sle and 'exists' or 'not exists' - + def on_rename(self,newdn,olddn): - sql("update tabItem set item_code = %s where name = %s", (newdn, olddn)) - + sql("update tabItem set item_code = %s where name = %s", (newdn, olddn)) + diff --git a/stock/doctype/item/item.txt b/stock/doctype/item/item.txt index ec42ff4a58..0d20f7b531 100644 --- a/stock/doctype/item/item.txt +++ b/stock/doctype/item/item.txt @@ -5,14 +5,14 @@ { 'creation': '2010-08-08 17:09:05', 'docstatus': 0, - 'modified': '2011-05-30 15:22:32', + 'modified': '2011-08-18 13:03:31', 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1309508838', + '_last_update': '1313651083', 'allow_attach': 1, 'allow_trash': 1, 'autoname': 'field:item_code', @@ -22,13 +22,13 @@ 'max_attachments': 1, 'module': 'Stock', 'name': '__common__', - 'search_fields': 'item_name,description,item_group', + 'search_fields': 'item_name,description,item_group,customer_code', 'section_style': 'Tray', 'server_code_error': ' ', 'show_in_menu': 0, 'subject': '%(item_name)s', 'tag_fields': 'item_group', - 'version': 153 + 'version': 161 }, # These values are common for all DocField @@ -42,14 +42,12 @@ # These values are common for all DocPerm { - 'amend': 0, 'doctype': 'DocPerm', 'name': '__common__', 'parent': 'Item', 'parentfield': 'permissions', 'parenttype': 'DocType', - 'read': 1, - 'submit': 0 + 'read': 1 }, # DocType, Item @@ -60,44 +58,53 @@ # DocPerm { - 'cancel': 0, - 'create': 0, - 'doctype': 'DocPerm', - 'permlevel': 0, - 'role': 'Material User', - 'write': 0 - }, - - # DocPerm - { + 'amend': 0, 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', 'idx': 1, 'permlevel': 1, 'role': 'Material Manager', + 'submit': 0, 'write': 0 }, # DocPerm { + 'amend': 0, 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', 'idx': 2, 'permlevel': 0, 'role': 'Material Manager', + 'submit': 0, 'write': 0 }, # DocPerm { + 'amend': 0, 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', 'idx': 3, 'permlevel': 1, 'role': 'Material User', + 'submit': 0, + 'write': 0 + }, + + # DocPerm + { + 'amend': 0, + 'cancel': 0, + 'create': 0, + 'doctype': 'DocPerm', + 'idx': 4, + 'permlevel': 0, + 'role': 'Material User', + 'submit': 0, 'write': 0 }, @@ -114,7 +121,6 @@ # DocPerm { - 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', 'idx': 6, @@ -136,13 +142,10 @@ # DocPerm { - 'cancel': 0, - 'create': 0, 'doctype': 'DocPerm', 'idx': 8, 'permlevel': 1, - 'role': 'System Manager', - 'write': 0 + 'role': 'System Manager' }, # DocField @@ -197,7 +200,7 @@ 'oldfieldtype': 'Data', 'permlevel': 0, 'reqd': 1, - 'search_index': 0 + 'search_index': 1 }, # DocField @@ -241,8 +244,7 @@ 'options': 'Brand', 'permlevel': 0, 'print_hide': 1, - 'reqd': 0, - 'search_index': 0 + 'reqd': 0 }, # DocField @@ -285,7 +287,7 @@ 'description': 'Generates HTML to include image (1st attachment) in the description', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 12, + 'idx': 11, 'label': 'Add Image', 'permlevel': 0 }, @@ -294,7 +296,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 13, + 'idx': 12, 'label': 'Inventory', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -307,14 +309,13 @@ 'doctype': 'DocField', 'fieldname': 'stock_uom', 'fieldtype': 'Link', - 'idx': 14, + 'idx': 13, 'label': 'Default UoM', 'oldfieldname': 'stock_uom', 'oldfieldtype': 'Link', 'options': 'UOM', 'permlevel': 0, - 'reqd': 1, - 'search_index': 0 + 'reqd': 1 }, # DocField @@ -325,7 +326,7 @@ 'doctype': 'DocField', 'fieldname': 'is_stock_item', 'fieldtype': 'Select', - 'idx': 15, + 'idx': 14, 'label': 'Is Stock Item', 'oldfieldname': 'is_stock_item', 'oldfieldtype': 'Select', @@ -339,7 +340,7 @@ 'doctype': 'DocField', 'fieldname': 'valuation_method', 'fieldtype': 'Select', - 'idx': 16, + 'idx': 15, 'label': 'Valuation Method', 'oldfieldname': 'valuation_method', 'oldfieldtype': 'Select', @@ -352,13 +353,12 @@ 'doctype': 'DocField', 'fieldname': 'default_warehouse', 'fieldtype': 'Link', - 'idx': 17, + 'idx': 16, 'label': 'Default Warehouse', 'oldfieldname': 'default_warehouse', 'oldfieldtype': 'Link', 'options': 'Warehouse', - 'permlevel': 0, - 'search_index': 0 + 'permlevel': 0 }, # DocField @@ -368,7 +368,7 @@ 'doctype': 'DocField', 'fieldname': 'tolerance', 'fieldtype': 'Currency', - 'idx': 18, + 'idx': 17, 'label': 'Allowance Percent', 'oldfieldname': 'tolerance', 'oldfieldtype': 'Currency', @@ -380,7 +380,7 @@ 'doctype': 'DocField', 'fieldname': 're_order_level', 'fieldtype': 'Currency', - 'idx': 19, + 'idx': 18, 'label': 'Re-Order Level', 'oldfieldname': 're_order_level', 'oldfieldtype': 'Currency', @@ -395,7 +395,7 @@ 'doctype': 'DocField', 'fieldname': 'minimum_inventory_level', 'fieldtype': 'Currency', - 'idx': 20, + 'idx': 19, 'label': 'Minimum Inventory Level', 'oldfieldname': 'minimum_inventory_level', 'oldfieldtype': 'Currency', @@ -412,7 +412,7 @@ 'fieldname': 'min_order_qty', 'fieldtype': 'Currency', 'hidden': 0, - 'idx': 21, + 'idx': 20, 'label': 'Minimum Order Qty', 'oldfieldname': 'min_order_qty', 'oldfieldtype': 'Currency', @@ -423,7 +423,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 22, + 'idx': 21, 'oldfieldtype': 'Column Break', 'permlevel': 0, 'width': '50%' @@ -437,7 +437,7 @@ 'doctype': 'DocField', 'fieldname': 'is_asset_item', 'fieldtype': 'Select', - 'idx': 23, + 'idx': 22, 'label': 'Is Asset Item', 'oldfieldname': 'is_asset_item', 'oldfieldtype': 'Select', @@ -453,7 +453,7 @@ 'doctype': 'DocField', 'fieldname': 'has_batch_no', 'fieldtype': 'Select', - 'idx': 24, + 'idx': 23, 'label': 'Has Batch No', 'oldfieldname': 'has_batch_no', 'oldfieldtype': 'Select', @@ -470,7 +470,8 @@ 'doctype': 'DocField', 'fieldname': 'has_serial_no', 'fieldtype': 'Select', - 'idx': 25, + 'idx': 24, + 'in_filter': 1, 'label': 'Has Serial No', 'oldfieldname': 'has_serial_no', 'oldfieldtype': 'Select', @@ -484,7 +485,7 @@ 'doctype': 'DocField', 'fieldname': 'warranty_period', 'fieldtype': 'Data', - 'idx': 26, + 'idx': 25, 'label': 'Warranty Period (in days)', 'oldfieldname': 'warranty_period', 'oldfieldtype': 'Data', @@ -496,19 +497,50 @@ 'doctype': 'DocField', 'fieldname': 'end_of_life', 'fieldtype': 'Date', - 'idx': 27, + 'idx': 26, 'label': 'End of Life', 'oldfieldname': 'end_of_life', 'oldfieldtype': 'Date', 'permlevel': 0 }, + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'nett_weight', + 'fieldtype': 'Float', + 'idx': 27, + 'label': 'Nett Weight', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'gross_weight', + 'fieldtype': 'Float', + 'idx': 28, + 'label': 'Gross Weight', + 'permlevel': 0 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'weight_uom', + 'fieldtype': 'Link', + 'idx': 29, + 'label': 'Weight UOM', + 'options': 'UOM', + 'permlevel': 0 + }, + # DocField { 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 28, + 'idx': 30, 'label': 'Purchase Details', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -522,7 +554,7 @@ 'doctype': 'DocField', 'fieldname': 'is_purchase_item', 'fieldtype': 'Select', - 'idx': 29, + 'idx': 31, 'label': 'Is Purchase Item', 'oldfieldname': 'is_purchase_item', 'oldfieldtype': 'Select', @@ -538,7 +570,7 @@ 'doctype': 'DocField', 'fieldname': 'lead_time_days', 'fieldtype': 'Int', - 'idx': 30, + 'idx': 32, 'label': 'Lead Time Days', 'no_copy': 1, 'oldfieldname': 'lead_time_days', @@ -553,13 +585,12 @@ 'doctype': 'DocField', 'fieldname': 'purchase_account', 'fieldtype': 'Link', - 'idx': 31, + 'idx': 33, 'label': 'Default Expense Account', 'oldfieldname': 'purchase_account', 'oldfieldtype': 'Link', 'options': 'Account', 'permlevel': 0, - 'search_index': 0, 'trigger': 'Client' }, @@ -570,13 +601,12 @@ 'doctype': 'DocField', 'fieldname': 'cost_center', 'fieldtype': 'Link', - 'idx': 32, + 'idx': 34, 'label': 'Default Cost Center', 'oldfieldname': 'cost_center', 'oldfieldtype': 'Link', 'options': 'Cost Center', - 'permlevel': 0, - 'search_index': 0 + 'permlevel': 0 }, # DocField @@ -586,7 +616,7 @@ 'doctype': 'DocField', 'fieldname': 'buying_cost', 'fieldtype': 'Currency', - 'idx': 33, + 'idx': 35, 'label': 'Buying Cost', 'no_copy': 1, 'oldfieldname': 'buying_cost', @@ -600,7 +630,7 @@ 'doctype': 'DocField', 'fieldname': 'last_purchase_rate', 'fieldtype': 'Currency', - 'idx': 34, + 'idx': 36, 'label': 'Last Purchase Rate', 'no_copy': 1, 'oldfieldname': 'last_purchase_rate', @@ -613,7 +643,7 @@ 'doctype': 'DocField', 'fieldname': 'standard_rate', 'fieldtype': 'Currency', - 'idx': 35, + 'idx': 37, 'label': 'Standard Rate', 'oldfieldname': 'standard_rate', 'oldfieldtype': 'Currency', @@ -624,7 +654,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 36, + 'idx': 38, 'oldfieldtype': 'Column Break', 'permlevel': 0, 'width': '50%' @@ -635,7 +665,7 @@ 'doctype': 'DocField', 'fieldname': 'uom_conversion_details', 'fieldtype': 'Table', - 'idx': 37, + 'idx': 39, 'label': 'UOM Conversion Details', 'oldfieldname': 'uom_conversion_details', 'oldfieldtype': 'Table', @@ -647,7 +677,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 38, + 'idx': 40, 'label': 'Sales Details', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -661,7 +691,8 @@ 'doctype': 'DocField', 'fieldname': 'is_sales_item', 'fieldtype': 'Select', - 'idx': 39, + 'idx': 41, + 'in_filter': 1, 'label': 'Is Sales Item', 'oldfieldname': 'is_sales_item', 'oldfieldtype': 'Select', @@ -678,7 +709,8 @@ 'doctype': 'DocField', 'fieldname': 'is_service_item', 'fieldtype': 'Select', - 'idx': 40, + 'idx': 42, + 'in_filter': 1, 'label': 'Is Service Item', 'oldfieldname': 'is_service_item', 'oldfieldtype': 'Select', @@ -695,7 +727,7 @@ 'doctype': 'DocField', 'fieldname': 'is_sample_item', 'fieldtype': 'Select', - 'idx': 41, + 'idx': 43, 'label': 'Allow Samples', 'oldfieldname': 'is_sample_item', 'oldfieldtype': 'Select', @@ -709,7 +741,7 @@ 'doctype': 'DocField', 'fieldname': 'max_discount', 'fieldtype': 'Currency', - 'idx': 42, + 'idx': 44, 'label': 'Max Discount (%)', 'oldfieldname': 'max_discount', 'oldfieldtype': 'Currency', @@ -721,11 +753,10 @@ 'doctype': 'DocField', 'fieldname': 'default_income_account', 'fieldtype': 'Link', - 'idx': 43, + 'idx': 45, 'label': 'Default Income Account', 'options': 'Account', - 'permlevel': 0, - 'search_index': 0 + 'permlevel': 0 }, # DocField @@ -733,11 +764,10 @@ 'doctype': 'DocField', 'fieldname': 'default_sales_cost_center', 'fieldtype': 'Link', - 'idx': 44, + 'idx': 46, 'label': 'Cost Center', 'options': 'Cost Center', - 'permlevel': 0, - 'search_index': 0 + 'permlevel': 0 }, # DocField @@ -746,7 +776,7 @@ 'fieldname': 'sales_rate', 'fieldtype': 'Currency', 'hidden': 1, - 'idx': 45, + 'idx': 47, 'label': 'Sales Rate', 'oldfieldname': 'sales_rate', 'oldfieldtype': 'Currency', @@ -757,7 +787,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 46, + 'idx': 48, 'oldfieldtype': 'Column Break', 'permlevel': 0, 'width': '50%' @@ -770,7 +800,7 @@ 'doctype': 'DocField', 'fieldname': 'ref_rate_details', 'fieldtype': 'Table', - 'idx': 47, + 'idx': 49, 'label': 'Ref Rate Details', 'oldfieldname': 'ref_rate_details', 'oldfieldtype': 'Table', @@ -778,11 +808,23 @@ 'permlevel': 0 }, + # DocField + { + 'description': 'For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes', + 'doctype': 'DocField', + 'fieldname': 'item_customer_details', + 'fieldtype': 'Table', + 'idx': 50, + 'label': 'Customer Codes', + 'options': 'Item Customer Detail', + 'permlevel': 0 + }, + # DocField { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 48, + 'idx': 51, 'label': 'Item Tax', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -793,7 +835,7 @@ 'doctype': 'DocField', 'fieldname': 'item_tax', 'fieldtype': 'Table', - 'idx': 49, + 'idx': 52, 'label': 'Item Tax1', 'oldfieldname': 'item_tax', 'oldfieldtype': 'Table', @@ -805,7 +847,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 50, + 'idx': 53, 'label': 'Inspection Criteria', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -817,7 +859,7 @@ 'doctype': 'DocField', 'fieldname': 'inspection_required', 'fieldtype': 'Select', - 'idx': 51, + 'idx': 54, 'label': 'Inspection Required', 'no_copy': 0, 'oldfieldname': 'inspection_required', @@ -832,7 +874,7 @@ 'doctype': 'DocField', 'fieldname': 'item_specification_details', 'fieldtype': 'Table', - 'idx': 52, + 'idx': 55, 'label': 'Item Specification Detail', 'oldfieldname': 'item_specification_details', 'oldfieldtype': 'Table', @@ -844,7 +886,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 53, + 'idx': 56, 'label': 'Manufacturing', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -858,7 +900,7 @@ 'doctype': 'DocField', 'fieldname': 'is_manufactured_item', 'fieldtype': 'Select', - 'idx': 54, + 'idx': 57, 'label': 'Allow Bill of Materials', 'oldfieldname': 'is_manufactured_item', 'oldfieldtype': 'Select', @@ -873,14 +915,13 @@ 'doctype': 'DocField', 'fieldname': 'default_bom', 'fieldtype': 'Link', - 'idx': 55, + 'idx': 58, 'label': 'Default BOM', 'no_copy': 1, 'oldfieldname': 'default_bom', 'oldfieldtype': 'Link', 'options': 'Bill Of Materials', - 'permlevel': 1, - 'search_index': 0 + 'permlevel': 1 }, # DocField @@ -891,7 +932,7 @@ 'doctype': 'DocField', 'fieldname': 'is_pro_applicable', 'fieldtype': 'Select', - 'idx': 56, + 'idx': 59, 'label': 'Allow Production Order', 'oldfieldname': 'is_pro_applicable', 'oldfieldtype': 'Select', @@ -908,7 +949,7 @@ 'doctype': 'DocField', 'fieldname': 'is_sub_contracted_item', 'fieldtype': 'Select', - 'idx': 57, + 'idx': 60, 'label': 'Is Sub Contracted Item', 'oldfieldname': 'is_sub_contracted_item', 'oldfieldtype': 'Select', @@ -923,9 +964,23 @@ 'fieldname': 'file_list', 'fieldtype': 'Text', 'hidden': 1, - 'idx': 59, + 'idx': 61, 'label': 'File List', 'permlevel': 0, 'print_hide': 1 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'customer_code', + 'fieldtype': 'Data', + 'hidden': 1, + 'idx': 62, + 'in_filter': 1, + 'label': 'Customer Code', + 'no_copy': 1, + 'permlevel': 0, + 'print_hide': 1 } ] \ No newline at end of file diff --git a/stock/doctype/item_customer_detail/__init__.py b/stock/doctype/item_customer_detail/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/stock/doctype/item_customer_detail/item_customer_detail.txt b/stock/doctype/item_customer_detail/item_customer_detail.txt new file mode 100644 index 0000000000..f53f18ecaa --- /dev/null +++ b/stock/doctype/item_customer_detail/item_customer_detail.txt @@ -0,0 +1,73 @@ +# DocType, Item Customer Detail +[ + + # These values are common in all dictionaries + { + 'creation': '2011-08-18 11:38:43', + 'docstatus': 0, + 'modified': '2011-08-18 11:54:36', + 'modified_by': 'Administrator', + 'owner': 'Administrator' + }, + + # These values are common for all DocType + { + 'autoname': 'ITEMCUST/.#####', + 'colour': 'White:FFF', + 'description': 'For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes', + 'doctype': 'DocType', + 'in_create': 1, + 'istable': 1, + 'module': 'Stock', + 'name': '__common__', + 'read_only': 0, + 'section_style': 'Tray', + 'server_code_error': ' ', + 'show_in_menu': 0, + 'version': 7 + }, + + # These values are common for all DocField + { + 'doctype': 'DocField', + 'in_filter': 1, + 'name': '__common__', + 'parent': 'Item Customer Detail', + 'parentfield': 'fields', + 'parenttype': 'DocType', + 'permlevel': 0, + 'reqd': 1, + 'search_index': 1 + }, + + # DocType, Item Customer Detail + { + 'doctype': 'DocType', + 'name': 'Item Customer Detail' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'customer_name', + 'fieldtype': 'Link', + 'idx': 1, + 'label': 'Customer Name', + 'oldfieldname': 'price_list_name', + 'oldfieldtype': 'Select', + 'options': 'Customer', + 'width': '180px' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'ref_code', + 'fieldtype': 'Data', + 'idx': 2, + 'label': 'Ref Code', + 'oldfieldname': 'ref_rate', + 'oldfieldtype': 'Currency', + 'width': '120px' + } +] \ No newline at end of file From 9537446aa6c23913f4e6cb5b545609b96e5d805b Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 22 Aug 2011 14:40:11 +0530 Subject: [PATCH 15/81] Permission given to material user for production material issue and back flush --- patches/patch.py | 4 +- stock/doctype/stock_entry/stock_entry.txt | 109 ++++++++++------------ 2 files changed, 53 insertions(+), 60 deletions(-) diff --git a/patches/patch.py b/patches/patch.py index 1568469a4f..8b7276b00d 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 339 +last_patch = 340 #------------------------------------------- @@ -1407,3 +1407,5 @@ def execute(patch_no): sql("update tabPage set name='question-view' where name='Question View'") elif patch_no == 339: reload_doc('production','doctype','bill_of_materials') + elif patch_no == 340: + sql("update `tabDocField` set permlevel = 0 where (fieldname in ('process', 'production_order', 'fg_completed_qty') or label = 'Get Items') and parent = 'Stock Entry'") diff --git a/stock/doctype/stock_entry/stock_entry.txt b/stock/doctype/stock_entry/stock_entry.txt index d7477c223b..63f718bec1 100644 --- a/stock/doctype/stock_entry/stock_entry.txt +++ b/stock/doctype/stock_entry/stock_entry.txt @@ -5,14 +5,14 @@ { 'creation': '2010-08-08 17:09:25', 'docstatus': 0, - 'modified': '2011-07-11 12:48:52', + 'modified': '2011-08-22 14:36:19', 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1308741898', + '_last_update': '1311621379', 'allow_attach': 0, 'allow_copy': 0, 'allow_email': 0, @@ -40,7 +40,7 @@ 'subject': '%(remarks)s', 'tag_fields': 'purpose', 'use_template': 0, - 'version': 243 + 'version': 245 }, # These values are common for all DocField @@ -70,15 +70,15 @@ # DocPerm { - 'amend': 1, - 'cancel': 1, - 'create': 1, + 'amend': 0, + 'cancel': 0, + 'create': 0, 'doctype': 'DocPerm', 'idx': 1, - 'permlevel': 0, + 'permlevel': 1, 'role': 'Material Manager', - 'submit': 1, - 'write': 1 + 'submit': 0, + 'write': 0 }, # DocPerm @@ -89,7 +89,7 @@ 'doctype': 'DocPerm', 'idx': 2, 'permlevel': 1, - 'role': 'Material Manager', + 'role': 'Material User', 'submit': 0, 'write': 0 }, @@ -102,7 +102,7 @@ 'doctype': 'DocPerm', 'idx': 3, 'permlevel': 0, - 'role': 'Material User', + 'role': 'Production User', 'submit': 1, 'write': 1 }, @@ -115,69 +115,60 @@ 'doctype': 'DocPerm', 'idx': 4, 'permlevel': 1, - 'role': 'Material User', + 'role': 'Production User', 'submit': 0, 'write': 0 }, + # DocPerm + { + 'amend': 0, + 'cancel': 0, + 'create': 0, + 'doctype': 'DocPerm', + 'idx': 5, + 'permlevel': 2, + 'role': 'Production User', + 'submit': 0, + 'write': 1 + }, + # DocPerm { 'amend': 1, 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 5, + 'idx': 6, 'permlevel': 0, - 'role': 'Production User', + 'role': 'Production Manager', 'submit': 1, 'write': 1 }, # DocPerm { - 'doctype': 'DocPerm', - 'idx': 6, - 'permlevel': 1, - 'role': 'Production User' - }, - - # DocPerm - { + 'amend': 0, + 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', 'idx': 7, - 'permlevel': 2, - 'role': 'Production User', - 'write': 1 + 'permlevel': 1, + 'role': 'Production Manager', + 'submit': 0, + 'write': 0 }, # DocPerm { - 'amend': 1, - 'cancel': 1, - 'create': 1, + 'amend': 0, + 'cancel': 0, + 'create': 0, 'doctype': 'DocPerm', 'idx': 8, - 'permlevel': 0, - 'role': 'Production Manager', - 'submit': 1, - 'write': 1 - }, - - # DocPerm - { - 'doctype': 'DocPerm', - 'idx': 9, - 'permlevel': 1, - 'role': 'Production Manager' - }, - - # DocPerm - { - 'doctype': 'DocPerm', - 'idx': 10, 'permlevel': 2, 'role': 'Production Manager', + 'submit': 0, 'write': 1 }, @@ -452,7 +443,7 @@ 'oldfieldname': 'process', 'oldfieldtype': 'Select', 'options': '\nMaterial Transfer\nBackflush', - 'permlevel': 2, + 'permlevel': 0, 'print_hide': 1, 'report_hide': 0, 'search_index': 0, @@ -474,7 +465,7 @@ 'oldfieldname': 'production_order', 'oldfieldtype': 'Link', 'options': 'Production Order', - 'permlevel': 2, + 'permlevel': 0, 'print_hide': 1, 'report_hide': 0, 'search_index': 1, @@ -493,7 +484,7 @@ 'no_copy': 0, 'oldfieldname': 'fg_completed_qty', 'oldfieldtype': 'Currency', - 'permlevel': 2, + 'permlevel': 0, 'print_hide': 1, 'report_hide': 0, 'search_index': 0, @@ -802,7 +793,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 36, + 'idx': 35, 'oldfieldtype': 'Column Break', 'permlevel': 0 }, @@ -814,13 +805,13 @@ 'doctype': 'DocField', 'fieldtype': 'Button', 'hidden': 0, - 'idx': 37, + 'idx': 36, 'in_filter': 0, 'label': 'Get Items', 'no_copy': 0, 'oldfieldtype': 'Button', 'options': 'get_items', - 'permlevel': 2, + 'permlevel': 0, 'print_hide': 1, 'report_hide': 0, 'search_index': 0 @@ -830,7 +821,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 38, + 'idx': 37, 'oldfieldtype': 'Section Break', 'options': 'Simple', 'permlevel': 0 @@ -843,7 +834,7 @@ 'doctype': 'DocField', 'fieldname': 'mtn_details', 'fieldtype': 'Table', - 'idx': 39, + 'idx': 38, 'in_filter': 0, 'label': 'MTN Details', 'no_copy': 0, @@ -862,7 +853,7 @@ 'doctype': 'DocField', 'fieldname': 'total_amount', 'fieldtype': 'Currency', - 'idx': 40, + 'idx': 39, 'in_filter': 0, 'label': 'Total Amount', 'no_copy': 0, @@ -878,7 +869,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 41, + 'idx': 40, 'label': 'Other Details', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -890,7 +881,7 @@ 'doctype': 'DocField', 'fieldname': 'company', 'fieldtype': 'Link', - 'idx': 42, + 'idx': 41, 'in_filter': 1, 'label': 'Company', 'no_copy': 0, @@ -910,7 +901,7 @@ 'doctype': 'DocField', 'fieldname': 'fiscal_year', 'fieldtype': 'Select', - 'idx': 43, + 'idx': 42, 'in_filter': 0, 'label': 'Fiscal Year', 'no_copy': 0, @@ -930,7 +921,7 @@ 'doctype': 'DocField', 'fieldname': 'select_print_heading', 'fieldtype': 'Link', - 'idx': 44, + 'idx': 43, 'in_filter': 0, 'label': 'Select Print Heading', 'no_copy': 0, From fbe3f18d24ccc9f7b856e465462271d588260c9f Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 22 Aug 2011 14:41:28 +0530 Subject: [PATCH 16/81] Check serial no/bin qty integrity only if actual_qty > 0 --- stock/doctype/bin/bin.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/stock/doctype/bin/bin.py b/stock/doctype/bin/bin.py index 798b442ed3..fc51d76829 100644 --- a/stock/doctype/bin/bin.py +++ b/stock/doctype/bin/bin.py @@ -38,11 +38,12 @@ class DocType: self.doc.save() - # check actual qty with total number of serial no - self.check_qty_with_serial_no() # update valuation for post dated entry if actual_qty: + # check actual qty with total number of serial no + self.check_qty_with_serial_no() + prev_sle = self.get_prev_sle(dt, posting_time, sle_id) cqty = flt(prev_sle.get('bin_aqat', 0)) # Block if actual qty becomes negative @@ -59,7 +60,7 @@ class DocType: if sql("select name from `tabItem` where ifnull(has_serial_no, 'No') = 'Yes' and name = '%s'" % self.doc.item_code): sr_count = sql("select count(name) from `tabSerial No` where item_code = '%s' and warehouse = '%s' and status ='In Store' and docstatus != 2" % (self.doc.item_code, self.doc.warehouse))[0][0] if sr_count != self.doc.actual_qty: - msg = "Actual Qty in Bin is mismatched with total number of serial no in store for item: '%s' and warehouse: '%s'" % (self.doc.item_code, self.doc.warehouse) + msg = "Actual Qty(%s) in Bin is mismatched with total number(%s) of serial no in store for item: '%s' and warehouse: '%s'" % (self.doc.actual_qty, sr_count, self.doc.item_code, self.doc.warehouse) msgprint(msg, raise_exception=1) sendmail(['developer@iwebnotes.com'], sender='automail@webnotestech.com', subject='Serial No Count vs Bin Actual Qty', parts=[['text/plain', msg]]) From cddc2fa952e29a73ac077465b1a4a6e5637d7c1d Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 22 Aug 2011 14:55:32 +0530 Subject: [PATCH 17/81] Permission given to material user for production material issue and back --- patches/patch.py | 4 +- stock/doctype/stock_entry/stock_entry.txt | 109 ++++++++++------------ 2 files changed, 53 insertions(+), 60 deletions(-) diff --git a/patches/patch.py b/patches/patch.py index 1568469a4f..8b7276b00d 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 339 +last_patch = 340 #------------------------------------------- @@ -1407,3 +1407,5 @@ def execute(patch_no): sql("update tabPage set name='question-view' where name='Question View'") elif patch_no == 339: reload_doc('production','doctype','bill_of_materials') + elif patch_no == 340: + sql("update `tabDocField` set permlevel = 0 where (fieldname in ('process', 'production_order', 'fg_completed_qty') or label = 'Get Items') and parent = 'Stock Entry'") diff --git a/stock/doctype/stock_entry/stock_entry.txt b/stock/doctype/stock_entry/stock_entry.txt index d7477c223b..63f718bec1 100644 --- a/stock/doctype/stock_entry/stock_entry.txt +++ b/stock/doctype/stock_entry/stock_entry.txt @@ -5,14 +5,14 @@ { 'creation': '2010-08-08 17:09:25', 'docstatus': 0, - 'modified': '2011-07-11 12:48:52', + 'modified': '2011-08-22 14:36:19', 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1308741898', + '_last_update': '1311621379', 'allow_attach': 0, 'allow_copy': 0, 'allow_email': 0, @@ -40,7 +40,7 @@ 'subject': '%(remarks)s', 'tag_fields': 'purpose', 'use_template': 0, - 'version': 243 + 'version': 245 }, # These values are common for all DocField @@ -70,15 +70,15 @@ # DocPerm { - 'amend': 1, - 'cancel': 1, - 'create': 1, + 'amend': 0, + 'cancel': 0, + 'create': 0, 'doctype': 'DocPerm', 'idx': 1, - 'permlevel': 0, + 'permlevel': 1, 'role': 'Material Manager', - 'submit': 1, - 'write': 1 + 'submit': 0, + 'write': 0 }, # DocPerm @@ -89,7 +89,7 @@ 'doctype': 'DocPerm', 'idx': 2, 'permlevel': 1, - 'role': 'Material Manager', + 'role': 'Material User', 'submit': 0, 'write': 0 }, @@ -102,7 +102,7 @@ 'doctype': 'DocPerm', 'idx': 3, 'permlevel': 0, - 'role': 'Material User', + 'role': 'Production User', 'submit': 1, 'write': 1 }, @@ -115,69 +115,60 @@ 'doctype': 'DocPerm', 'idx': 4, 'permlevel': 1, - 'role': 'Material User', + 'role': 'Production User', 'submit': 0, 'write': 0 }, + # DocPerm + { + 'amend': 0, + 'cancel': 0, + 'create': 0, + 'doctype': 'DocPerm', + 'idx': 5, + 'permlevel': 2, + 'role': 'Production User', + 'submit': 0, + 'write': 1 + }, + # DocPerm { 'amend': 1, 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 5, + 'idx': 6, 'permlevel': 0, - 'role': 'Production User', + 'role': 'Production Manager', 'submit': 1, 'write': 1 }, # DocPerm { - 'doctype': 'DocPerm', - 'idx': 6, - 'permlevel': 1, - 'role': 'Production User' - }, - - # DocPerm - { + 'amend': 0, + 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', 'idx': 7, - 'permlevel': 2, - 'role': 'Production User', - 'write': 1 + 'permlevel': 1, + 'role': 'Production Manager', + 'submit': 0, + 'write': 0 }, # DocPerm { - 'amend': 1, - 'cancel': 1, - 'create': 1, + 'amend': 0, + 'cancel': 0, + 'create': 0, 'doctype': 'DocPerm', 'idx': 8, - 'permlevel': 0, - 'role': 'Production Manager', - 'submit': 1, - 'write': 1 - }, - - # DocPerm - { - 'doctype': 'DocPerm', - 'idx': 9, - 'permlevel': 1, - 'role': 'Production Manager' - }, - - # DocPerm - { - 'doctype': 'DocPerm', - 'idx': 10, 'permlevel': 2, 'role': 'Production Manager', + 'submit': 0, 'write': 1 }, @@ -452,7 +443,7 @@ 'oldfieldname': 'process', 'oldfieldtype': 'Select', 'options': '\nMaterial Transfer\nBackflush', - 'permlevel': 2, + 'permlevel': 0, 'print_hide': 1, 'report_hide': 0, 'search_index': 0, @@ -474,7 +465,7 @@ 'oldfieldname': 'production_order', 'oldfieldtype': 'Link', 'options': 'Production Order', - 'permlevel': 2, + 'permlevel': 0, 'print_hide': 1, 'report_hide': 0, 'search_index': 1, @@ -493,7 +484,7 @@ 'no_copy': 0, 'oldfieldname': 'fg_completed_qty', 'oldfieldtype': 'Currency', - 'permlevel': 2, + 'permlevel': 0, 'print_hide': 1, 'report_hide': 0, 'search_index': 0, @@ -802,7 +793,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 36, + 'idx': 35, 'oldfieldtype': 'Column Break', 'permlevel': 0 }, @@ -814,13 +805,13 @@ 'doctype': 'DocField', 'fieldtype': 'Button', 'hidden': 0, - 'idx': 37, + 'idx': 36, 'in_filter': 0, 'label': 'Get Items', 'no_copy': 0, 'oldfieldtype': 'Button', 'options': 'get_items', - 'permlevel': 2, + 'permlevel': 0, 'print_hide': 1, 'report_hide': 0, 'search_index': 0 @@ -830,7 +821,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 38, + 'idx': 37, 'oldfieldtype': 'Section Break', 'options': 'Simple', 'permlevel': 0 @@ -843,7 +834,7 @@ 'doctype': 'DocField', 'fieldname': 'mtn_details', 'fieldtype': 'Table', - 'idx': 39, + 'idx': 38, 'in_filter': 0, 'label': 'MTN Details', 'no_copy': 0, @@ -862,7 +853,7 @@ 'doctype': 'DocField', 'fieldname': 'total_amount', 'fieldtype': 'Currency', - 'idx': 40, + 'idx': 39, 'in_filter': 0, 'label': 'Total Amount', 'no_copy': 0, @@ -878,7 +869,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 41, + 'idx': 40, 'label': 'Other Details', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -890,7 +881,7 @@ 'doctype': 'DocField', 'fieldname': 'company', 'fieldtype': 'Link', - 'idx': 42, + 'idx': 41, 'in_filter': 1, 'label': 'Company', 'no_copy': 0, @@ -910,7 +901,7 @@ 'doctype': 'DocField', 'fieldname': 'fiscal_year', 'fieldtype': 'Select', - 'idx': 43, + 'idx': 42, 'in_filter': 0, 'label': 'Fiscal Year', 'no_copy': 0, @@ -930,7 +921,7 @@ 'doctype': 'DocField', 'fieldname': 'select_print_heading', 'fieldtype': 'Link', - 'idx': 44, + 'idx': 43, 'in_filter': 0, 'label': 'Select Print Heading', 'no_copy': 0, From ff4bf867bf4cb82efd4493b9cbfd984ec98257b8 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 22 Aug 2011 15:23:24 +0530 Subject: [PATCH 18/81] removed eval in pull_details fn --- accounts/doctype/payable_voucher/payable_voucher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accounts/doctype/payable_voucher/payable_voucher.py b/accounts/doctype/payable_voucher/payable_voucher.py index e88066a176..e57732ae29 100644 --- a/accounts/doctype/payable_voucher/payable_voucher.py +++ b/accounts/doctype/payable_voucher/payable_voucher.py @@ -84,7 +84,7 @@ class DocType(TransactionBase): self.validate_duplicate_docname('purchase_order') self.doclist = get_obj('DocType Mapper', 'Purchase Order-Payable Voucher').dt_map('Purchase Order', 'Payable Voucher', self.doc.purchase_order_main, self.doc, self.doclist, "[['Purchase Order', 'Payable Voucher'],['PO Detail', 'PV Detail']]") - ret = eval(self.get_credit_to()) + ret = self.get_credit_to() #self.doc.supplier_name = ret['supplier_name'] #self.doc.supplier_address = ret['supplier_address'] From 4613bc4ff0e83994c44358d4a2f6f46e7d0e4b22 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 22 Aug 2011 15:29:35 +0530 Subject: [PATCH 19/81] removed eval --- accounts/doctype/payable_voucher/payable_voucher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accounts/doctype/payable_voucher/payable_voucher.py b/accounts/doctype/payable_voucher/payable_voucher.py index d7f628f459..b403d20c02 100644 --- a/accounts/doctype/payable_voucher/payable_voucher.py +++ b/accounts/doctype/payable_voucher/payable_voucher.py @@ -84,7 +84,7 @@ class DocType(TransactionBase): self.validate_duplicate_docname('purchase_order') self.doclist = get_obj('DocType Mapper', 'Purchase Order-Payable Voucher').dt_map('Purchase Order', 'Payable Voucher', self.doc.purchase_order_main, self.doc, self.doclist, "[['Purchase Order', 'Payable Voucher'],['PO Detail', 'PV Detail']]") - ret = eval(self.get_credit_to()) + ret = self.get_credit_to() #self.doc.supplier_name = ret['supplier_name'] #self.doc.supplier_address = ret['supplier_address'] From 82187cefe89818a57dce07b3b6b7d17a9c8ac018 Mon Sep 17 00:00:00 2001 From: Brahma K Date: Tue, 23 Aug 2011 15:42:34 +0530 Subject: [PATCH 20/81] Delivery Note added with Packing Details 1. Pack No 2. Pack Nett Wt 3. Pack Gross Wt 4. Pack Weight UOM Item is added with 1. Customer, Code Table 2. Nett Weight 3. Gross Weight 4. Weight UOM 5. customer_code (for search in quotes etc) Quotation is added with 1. item search displays customer code --- patches/patch.py | 14 +++++- .../Delivery Note Packing List Wise.txt | 27 ++++++++++++ stock/doctype/delivery_note/delivery_note.py | 43 ++++++++++++++++++- stock/doctype/delivery_note/delivery_note.txt | 22 +++++++--- 4 files changed, 98 insertions(+), 8 deletions(-) create mode 100644 stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt diff --git a/patches/patch.py b/patches/patch.py index 8b7276b00d..f6cf28889e 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 340 +last_patch = 341 #------------------------------------------- @@ -1409,3 +1409,15 @@ def execute(patch_no): reload_doc('production','doctype','bill_of_materials') elif patch_no == 340: sql("update `tabDocField` set permlevel = 0 where (fieldname in ('process', 'production_order', 'fg_completed_qty') or label = 'Get Items') and parent = 'Stock Entry'") + elif patch_no == 341: + reload_doc('stock','doctype','delivery_note') + reload_doc('stock','doc_type','item') + reload_doc('selling','doc_type','quotation') + reload_doc('stock','Print Format','Delivery Note Packing List Wise') + + if not sql("select format from `tabDocFormat` where name = 'Delivery Note Packing List Wise' and parent = 'Delivery Note'"): + from webnotes.model.doc import addchild + dt_obj = get_obj('DocType', 'Delivery Note', with_children = 1) + ch = addchild(dt_obj.doc, 'formats', 'DocFormat', 1) + ch.format = 'Delivery Note Packing List Wise' + ch.save(1) diff --git a/stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt b/stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt new file mode 100644 index 0000000000..97f57a9f89 --- /dev/null +++ b/stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt @@ -0,0 +1,27 @@ +# Print Format, Delivery Note Packing List Wise +[ + + # These values are common in all dictionaries + { + 'creation': '2011-08-18 16:29:14', + 'docstatus': 0, + 'modified': '2011-08-23 13:24:12', + 'modified_by': 'Administrator', + 'owner': 'Administrator' + }, + + # These values are common for all Print Format + { + 'doctype': 'Print Format', + 'html': "\n\n\n\n\n\n\n\n\n\n", + 'module': 'Stock', + 'name': '__common__', + 'standard': 'Yes' + }, + + # Print Format, Delivery Note Packing List Wise + { + 'doctype': 'Print Format', + 'name': 'Delivery Note Packing List Wise' + } +] \ No newline at end of file diff --git a/stock/doctype/delivery_note/delivery_note.py b/stock/doctype/delivery_note/delivery_note.py index 2a2900fccf..e5acd163a7 100644 --- a/stock/doctype/delivery_note/delivery_note.py +++ b/stock/doctype/delivery_note/delivery_note.py @@ -174,6 +174,9 @@ class DocType(TransactionBase): self.doc.in_words = sales_com_obj.get_total_in_words(dcc, self.doc.rounded_total) self.doc.in_words_export = sales_com_obj.get_total_in_words(self.doc.currency, self.doc.rounded_total_export) + # ::::::: Set Net Weight of each Packing + self.update_pack_nett_weight() + self.print_packing_slip() # ::::::: Set actual qty for each item in selected warehouse ::::::: self.update_current_stock() # :::::: set DN status ::::::: @@ -182,7 +185,6 @@ class DocType(TransactionBase): if not self.doc.billing_status: self.doc.billing_status = 'Not Billed' if not self.doc.installation_status: self.doc.installation_status = 'Not Installed' - # ************** Validate Mandatory ************************* def validate_mandatory(self): # :::::::::: Amendment Date :::::::::::::: @@ -439,4 +441,41 @@ class DocType(TransactionBase): # Packing Slip Related # ========================================== - #def get \ No newline at end of file + def update_pack_nett_weight(self): + for d in getlist(self.doclist, 'delivery_note_details'): + if d.item_name: + item_wt = sql("select nett_weight from `tabItem` where item_name = '%s'" % (d.item_name)) + d.pack_nett_wt = item_wt and flt(item_wt[0][0])*flt(d.qty) or 0 + + # ========================================== + def print_packing_slip(self): + prev_pack='0' + sno=0 + html='' + tot_nett_wt,tot_gross_wt=0,0 + for d in getlist(self.doclist, 'delivery_note_details'): + sno=sno+1 + if sno!=1:#Footer goes here + html+='
CASE NO'+cstr(d.pack_no)+'NETT WT'+cstr(tot_nett_wt)+'CHECKED BY
SIZEGROSS WT'+cstr(tot_gross_wt)+'PACKED BY
' + if prev_pack!=d.pack_no: #Prepare Header Here + #Header code goes here + html+='
[HEADER GOES HERE]

Packing Slip

Order No.'+cstr(self.doc.sales_order_no)+'Shipping Marks'+cstr(d.pack_no)+'
' + html+='' + sno=0 + tot_nett_wt,to_gross_wt=flt(d.pack_nett_wt),flt(d.pack_gross_wt) + #Body code goes here + html+='' + prev_pack=d.pack_no + tot_nett_wt+=flt(d.pack_nett_wt) + tot_gross_wt+=flt(d.pack_gross_wt) + html+='' + self.doc.print_packing_slip=html + + + + + + + + + diff --git a/stock/doctype/delivery_note/delivery_note.txt b/stock/doctype/delivery_note/delivery_note.txt index 3ec4b383bc..1ab19e070c 100644 --- a/stock/doctype/delivery_note/delivery_note.txt +++ b/stock/doctype/delivery_note/delivery_note.txt @@ -5,7 +5,7 @@ { 'creation': '2011-04-18 15:58:20', 'docstatus': 0, - 'modified': '2011-08-18 16:31:02', + 'modified': '2011-08-23 15:26:57', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -21,7 +21,7 @@ # These values are common for all DocType { - '_last_update': '1313485457', + '_last_update': '1313665263', 'colour': 'White:FFF', 'doctype': 'DocType', 'document_type': 'Transaction', @@ -36,12 +36,13 @@ 'show_in_menu': 0, 'subject': 'To %(customer_name)s on %(transaction_date)s | %(per_billed)s% billed', 'tag_fields': 'billing_status', - 'version': 447 + 'version': 449 }, # These values are common for all DocFormat { 'doctype': 'DocFormat', + 'format': 'Delivery Note Packing List Wise', 'name': '__common__', 'parent': 'Delivery Note', 'parentfield': 'formats', @@ -135,14 +136,12 @@ # DocFormat { 'doctype': 'DocFormat', - 'format': 'Delivery Note Format', 'idx': 1 }, # DocFormat { 'doctype': 'DocFormat', - 'format': 'Delivery Note Packing List Wise', 'idx': 2 }, @@ -1481,5 +1480,18 @@ 'options': 'repair_delivery_note', 'permlevel': 0, 'print_hide': 1 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'print_packing_slip', + 'fieldtype': 'Text', + 'hidden': 1, + 'idx': 95, + 'in_filter': 0, + 'label': 'Print Packing Slip', + 'permlevel': 0, + 'print_hide': 0 } ] \ No newline at end of file From ec72365f9115a63ec01118328b6ce28196a29683 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 15:54:46 +0530 Subject: [PATCH 21/81] removed eval --- accounts/doctype/receivable_voucher/receivable_voucher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accounts/doctype/receivable_voucher/receivable_voucher.py b/accounts/doctype/receivable_voucher/receivable_voucher.py index 0aaebbbe8e..267ea9212f 100644 --- a/accounts/doctype/receivable_voucher/receivable_voucher.py +++ b/accounts/doctype/receivable_voucher/receivable_voucher.py @@ -128,7 +128,7 @@ class DocType(TransactionBase): get_obj('DocType Mapper', 'Sales Order-Receivable Voucher').dt_map('Sales Order', 'Receivable Voucher', self.doc.sales_order_main, self.doc, self.doclist, "[['Sales Order', 'Receivable Voucher'],['Sales Order Detail', 'RV Detail'],['RV Tax Detail','RV Tax Detail'], ['Sales Team', 'Sales Team']]") self.get_income_account('entries') - ret = eval(self.get_debit_to()) + ret = self.get_debit_to() if ret.has_key('debit_to'): self.doc.debit_to = ret['debit_to'] From b0788e948eb68c130b4fd74c398ecbad45cac1b5 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 15:56:17 +0530 Subject: [PATCH 22/81] removed eval --- accounts/doctype/receivable_voucher/receivable_voucher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accounts/doctype/receivable_voucher/receivable_voucher.py b/accounts/doctype/receivable_voucher/receivable_voucher.py index 0aaebbbe8e..267ea9212f 100644 --- a/accounts/doctype/receivable_voucher/receivable_voucher.py +++ b/accounts/doctype/receivable_voucher/receivable_voucher.py @@ -128,7 +128,7 @@ class DocType(TransactionBase): get_obj('DocType Mapper', 'Sales Order-Receivable Voucher').dt_map('Sales Order', 'Receivable Voucher', self.doc.sales_order_main, self.doc, self.doclist, "[['Sales Order', 'Receivable Voucher'],['Sales Order Detail', 'RV Detail'],['RV Tax Detail','RV Tax Detail'], ['Sales Team', 'Sales Team']]") self.get_income_account('entries') - ret = eval(self.get_debit_to()) + ret = self.get_debit_to() if ret.has_key('debit_to'): self.doc.debit_to = ret['debit_to'] From 7caae4d71ab0d047753f258b8ceb4ecf1b53e4c6 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 15:57:06 +0530 Subject: [PATCH 23/81] removed eval --- accounts/doctype/receivable_voucher/receivable_voucher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accounts/doctype/receivable_voucher/receivable_voucher.py b/accounts/doctype/receivable_voucher/receivable_voucher.py index 0aaebbbe8e..267ea9212f 100644 --- a/accounts/doctype/receivable_voucher/receivable_voucher.py +++ b/accounts/doctype/receivable_voucher/receivable_voucher.py @@ -128,7 +128,7 @@ class DocType(TransactionBase): get_obj('DocType Mapper', 'Sales Order-Receivable Voucher').dt_map('Sales Order', 'Receivable Voucher', self.doc.sales_order_main, self.doc, self.doclist, "[['Sales Order', 'Receivable Voucher'],['Sales Order Detail', 'RV Detail'],['RV Tax Detail','RV Tax Detail'], ['Sales Team', 'Sales Team']]") self.get_income_account('entries') - ret = eval(self.get_debit_to()) + ret = self.get_debit_to() if ret.has_key('debit_to'): self.doc.debit_to = ret['debit_to'] From 86a41d463a3676fe9cb5fe40cd299f74bfa07a71 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 16:04:27 +0530 Subject: [PATCH 24/81] removed eval --- hr/doctype/leave_allocation/leave_allocation.py | 2 +- hr/doctype/leave_application/leave_application.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hr/doctype/leave_allocation/leave_allocation.py b/hr/doctype/leave_allocation/leave_allocation.py index 46f78094a3..12fe37a85b 100755 --- a/hr/doctype/leave_allocation/leave_allocation.py +++ b/hr/doctype/leave_allocation/leave_allocation.py @@ -75,7 +75,7 @@ class DocType: # get total allocated leaves # --------------------------- def get_total_allocated_leaves(self): - leave_det = eval(self.get_carry_forwarded_leaves()) + leave_det = self.get_carry_forwarded_leaves() set(self.doc,'carry_forwarded_leaves',flt(leave_det['carry_forwarded_leaves'])) set(self.doc,'total_leaves_allocated',flt(leave_det['total_leaves_allocated'])) diff --git a/hr/doctype/leave_application/leave_application.py b/hr/doctype/leave_application/leave_application.py index 01bf7fec50..1756f2a7ca 100755 --- a/hr/doctype/leave_application/leave_application.py +++ b/hr/doctype/leave_application/leave_application.py @@ -82,7 +82,7 @@ class DocType: if not self.is_lwp(): bal = self.get_leave_balance() tot_leaves = self.get_total_leave_days() - bal, tot_leaves = eval(bal), eval(tot_leaves) + bal, tot_leaves = bal, tot_leaves set(self.doc,'leave_balance',flt(bal['leave_balance'])) set(self.doc,'total_leave_days',flt(tot_leaves['total_leave_days'])) if flt(bal['leave_balance']) < flt(tot_leaves['total_leave_days']): From cd71c1cd4893e75062323c9dcc0237eb83bced7a Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 16:06:44 +0530 Subject: [PATCH 25/81] removed eval --- hr/doctype/leave_allocation/leave_allocation.py | 2 +- hr/doctype/leave_application/leave_application.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hr/doctype/leave_allocation/leave_allocation.py b/hr/doctype/leave_allocation/leave_allocation.py index 12fe37a85b..46f78094a3 100755 --- a/hr/doctype/leave_allocation/leave_allocation.py +++ b/hr/doctype/leave_allocation/leave_allocation.py @@ -75,7 +75,7 @@ class DocType: # get total allocated leaves # --------------------------- def get_total_allocated_leaves(self): - leave_det = self.get_carry_forwarded_leaves() + leave_det = eval(self.get_carry_forwarded_leaves()) set(self.doc,'carry_forwarded_leaves',flt(leave_det['carry_forwarded_leaves'])) set(self.doc,'total_leaves_allocated',flt(leave_det['total_leaves_allocated'])) diff --git a/hr/doctype/leave_application/leave_application.py b/hr/doctype/leave_application/leave_application.py index 1756f2a7ca..01bf7fec50 100755 --- a/hr/doctype/leave_application/leave_application.py +++ b/hr/doctype/leave_application/leave_application.py @@ -82,7 +82,7 @@ class DocType: if not self.is_lwp(): bal = self.get_leave_balance() tot_leaves = self.get_total_leave_days() - bal, tot_leaves = bal, tot_leaves + bal, tot_leaves = eval(bal), eval(tot_leaves) set(self.doc,'leave_balance',flt(bal['leave_balance'])) set(self.doc,'total_leave_days',flt(tot_leaves['total_leave_days'])) if flt(bal['leave_balance']) < flt(tot_leaves['total_leave_days']): From 3cb633d829eb54f453146752bc87df2f6f6bbc1d Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 16:12:31 +0530 Subject: [PATCH 26/81] removed eval --- hr/doctype/leave_allocation/leave_allocation.py | 2 +- hr/doctype/leave_application/leave_application.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hr/doctype/leave_allocation/leave_allocation.py b/hr/doctype/leave_allocation/leave_allocation.py index 46f78094a3..12fe37a85b 100755 --- a/hr/doctype/leave_allocation/leave_allocation.py +++ b/hr/doctype/leave_allocation/leave_allocation.py @@ -75,7 +75,7 @@ class DocType: # get total allocated leaves # --------------------------- def get_total_allocated_leaves(self): - leave_det = eval(self.get_carry_forwarded_leaves()) + leave_det = self.get_carry_forwarded_leaves() set(self.doc,'carry_forwarded_leaves',flt(leave_det['carry_forwarded_leaves'])) set(self.doc,'total_leaves_allocated',flt(leave_det['total_leaves_allocated'])) diff --git a/hr/doctype/leave_application/leave_application.py b/hr/doctype/leave_application/leave_application.py index 01bf7fec50..1756f2a7ca 100755 --- a/hr/doctype/leave_application/leave_application.py +++ b/hr/doctype/leave_application/leave_application.py @@ -82,7 +82,7 @@ class DocType: if not self.is_lwp(): bal = self.get_leave_balance() tot_leaves = self.get_total_leave_days() - bal, tot_leaves = eval(bal), eval(tot_leaves) + bal, tot_leaves = bal, tot_leaves set(self.doc,'leave_balance',flt(bal['leave_balance'])) set(self.doc,'total_leave_days',flt(tot_leaves['total_leave_days'])) if flt(bal['leave_balance']) < flt(tot_leaves['total_leave_days']): From 6fcd0e26e493f4b37061971289692bbc68ae4328 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 16:15:14 +0530 Subject: [PATCH 27/81] removed eval --- hr/doctype/leave_allocation/leave_allocation.py | 2 +- hr/doctype/leave_application/leave_application.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hr/doctype/leave_allocation/leave_allocation.py b/hr/doctype/leave_allocation/leave_allocation.py index 46f78094a3..12fe37a85b 100755 --- a/hr/doctype/leave_allocation/leave_allocation.py +++ b/hr/doctype/leave_allocation/leave_allocation.py @@ -75,7 +75,7 @@ class DocType: # get total allocated leaves # --------------------------- def get_total_allocated_leaves(self): - leave_det = eval(self.get_carry_forwarded_leaves()) + leave_det = self.get_carry_forwarded_leaves() set(self.doc,'carry_forwarded_leaves',flt(leave_det['carry_forwarded_leaves'])) set(self.doc,'total_leaves_allocated',flt(leave_det['total_leaves_allocated'])) diff --git a/hr/doctype/leave_application/leave_application.py b/hr/doctype/leave_application/leave_application.py index 01bf7fec50..1756f2a7ca 100755 --- a/hr/doctype/leave_application/leave_application.py +++ b/hr/doctype/leave_application/leave_application.py @@ -82,7 +82,7 @@ class DocType: if not self.is_lwp(): bal = self.get_leave_balance() tot_leaves = self.get_total_leave_days() - bal, tot_leaves = eval(bal), eval(tot_leaves) + bal, tot_leaves = bal, tot_leaves set(self.doc,'leave_balance',flt(bal['leave_balance'])) set(self.doc,'total_leave_days',flt(tot_leaves['total_leave_days'])) if flt(bal['leave_balance']) < flt(tot_leaves['total_leave_days']): From 83c0d59d50805e8bf09daac9df2649c2a2a90763 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 16:16:03 +0530 Subject: [PATCH 28/81] removed eval --- hr/doctype/leave_allocation/leave_allocation.py | 2 +- hr/doctype/leave_application/leave_application.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hr/doctype/leave_allocation/leave_allocation.py b/hr/doctype/leave_allocation/leave_allocation.py index 46f78094a3..12fe37a85b 100755 --- a/hr/doctype/leave_allocation/leave_allocation.py +++ b/hr/doctype/leave_allocation/leave_allocation.py @@ -75,7 +75,7 @@ class DocType: # get total allocated leaves # --------------------------- def get_total_allocated_leaves(self): - leave_det = eval(self.get_carry_forwarded_leaves()) + leave_det = self.get_carry_forwarded_leaves() set(self.doc,'carry_forwarded_leaves',flt(leave_det['carry_forwarded_leaves'])) set(self.doc,'total_leaves_allocated',flt(leave_det['total_leaves_allocated'])) diff --git a/hr/doctype/leave_application/leave_application.py b/hr/doctype/leave_application/leave_application.py index 01bf7fec50..1756f2a7ca 100755 --- a/hr/doctype/leave_application/leave_application.py +++ b/hr/doctype/leave_application/leave_application.py @@ -82,7 +82,7 @@ class DocType: if not self.is_lwp(): bal = self.get_leave_balance() tot_leaves = self.get_total_leave_days() - bal, tot_leaves = eval(bal), eval(tot_leaves) + bal, tot_leaves = bal, tot_leaves set(self.doc,'leave_balance',flt(bal['leave_balance'])) set(self.doc,'total_leave_days',flt(tot_leaves['total_leave_days'])) if flt(bal['leave_balance']) < flt(tot_leaves['total_leave_days']): From 6716480c7b6b2f7bd9ef7ca7e42849fe64424e4c Mon Sep 17 00:00:00 2001 From: Brahma K Date: Tue, 23 Aug 2011 16:22:29 +0530 Subject: [PATCH 29/81] Corrected patch errors --- patches/patch.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patches/patch.py b/patches/patch.py index f6cf28889e..e810268f1a 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1411,8 +1411,8 @@ def execute(patch_no): sql("update `tabDocField` set permlevel = 0 where (fieldname in ('process', 'production_order', 'fg_completed_qty') or label = 'Get Items') and parent = 'Stock Entry'") elif patch_no == 341: reload_doc('stock','doctype','delivery_note') - reload_doc('stock','doc_type','item') - reload_doc('selling','doc_type','quotation') + reload_doc('stock','doctype','item') + reload_doc('selling','doctype','quotation') reload_doc('stock','Print Format','Delivery Note Packing List Wise') if not sql("select format from `tabDocFormat` where name = 'Delivery Note Packing List Wise' and parent = 'Delivery Note'"): From 43b9924fe6a945253006ebf34f6ed6edf56b1152 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 17:19:45 +0530 Subject: [PATCH 30/81] source, target warehouse is editable for material user, manager in stock entry --- patches/patch.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index e810268f1a..f94c905eed 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 341 +last_patch = 342 #------------------------------------------- @@ -1421,3 +1421,5 @@ def execute(patch_no): ch = addchild(dt_obj.doc, 'formats', 'DocFormat', 1) ch.format = 'Delivery Note Packing List Wise' ch.save(1) + elif patch_no == 342: + sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')") From 46cd8b2ebf7bec30559e0ea87fc1133478c0d941 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 17:20:51 +0530 Subject: [PATCH 31/81] source, target warehouse is editable for material user, manager in stock entry --- patches/patch.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index 8b7276b00d..f94c905eed 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 340 +last_patch = 342 #------------------------------------------- @@ -1409,3 +1409,17 @@ def execute(patch_no): reload_doc('production','doctype','bill_of_materials') elif patch_no == 340: sql("update `tabDocField` set permlevel = 0 where (fieldname in ('process', 'production_order', 'fg_completed_qty') or label = 'Get Items') and parent = 'Stock Entry'") + elif patch_no == 341: + reload_doc('stock','doctype','delivery_note') + reload_doc('stock','doctype','item') + reload_doc('selling','doctype','quotation') + reload_doc('stock','Print Format','Delivery Note Packing List Wise') + + if not sql("select format from `tabDocFormat` where name = 'Delivery Note Packing List Wise' and parent = 'Delivery Note'"): + from webnotes.model.doc import addchild + dt_obj = get_obj('DocType', 'Delivery Note', with_children = 1) + ch = addchild(dt_obj.doc, 'formats', 'DocFormat', 1) + ch.format = 'Delivery Note Packing List Wise' + ch.save(1) + elif patch_no == 342: + sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')") From 3eb37ce0a658b57109c3f5b9d83aed2d74ac58d7 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 17:21:21 +0530 Subject: [PATCH 32/81] source, target warehouse is editable for material user, manager in stock entry --- patches/patch.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index 8b7276b00d..f94c905eed 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 340 +last_patch = 342 #------------------------------------------- @@ -1409,3 +1409,17 @@ def execute(patch_no): reload_doc('production','doctype','bill_of_materials') elif patch_no == 340: sql("update `tabDocField` set permlevel = 0 where (fieldname in ('process', 'production_order', 'fg_completed_qty') or label = 'Get Items') and parent = 'Stock Entry'") + elif patch_no == 341: + reload_doc('stock','doctype','delivery_note') + reload_doc('stock','doctype','item') + reload_doc('selling','doctype','quotation') + reload_doc('stock','Print Format','Delivery Note Packing List Wise') + + if not sql("select format from `tabDocFormat` where name = 'Delivery Note Packing List Wise' and parent = 'Delivery Note'"): + from webnotes.model.doc import addchild + dt_obj = get_obj('DocType', 'Delivery Note', with_children = 1) + ch = addchild(dt_obj.doc, 'formats', 'DocFormat', 1) + ch.format = 'Delivery Note Packing List Wise' + ch.save(1) + elif patch_no == 342: + sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')") From 5198262505e8bc5e0c09d5ec533029410e502d2a Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 17:29:15 +0530 Subject: [PATCH 33/81] source, target warehouse is editable for material user, manager in stock entry --- patches/patch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index f94c905eed..b4116b5b28 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1422,4 +1422,4 @@ def execute(patch_no): ch.format = 'Delivery Note Packing List Wise' ch.save(1) elif patch_no == 342: - sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')") + sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry Detail' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')") From a0760df8893fa626b4071b2ce02acce623a8fa3a Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 17:29:54 +0530 Subject: [PATCH 34/81] source, target warehouse is editable for material user, manager in stock entry --- patches/patch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index f94c905eed..b4116b5b28 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1422,4 +1422,4 @@ def execute(patch_no): ch.format = 'Delivery Note Packing List Wise' ch.save(1) elif patch_no == 342: - sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')") + sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry Detail' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')") From b77080acf33eaaac2aacb874bb0c00e400430916 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Aug 2011 17:30:19 +0530 Subject: [PATCH 35/81] source, target warehouse is editable for material user, manager in stock entry --- patches/patch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index f94c905eed..b4116b5b28 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1422,4 +1422,4 @@ def execute(patch_no): ch.format = 'Delivery Note Packing List Wise' ch.save(1) elif patch_no == 342: - sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')") + sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry Detail' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')") From c735d440a3318a320a4baf8b655c6ea44fbc4a0c Mon Sep 17 00:00:00 2001 From: Brahma K Date: Tue, 23 Aug 2011 18:38:48 +0530 Subject: [PATCH 36/81] corrected patch errors to reload add item_customer_detail --- patches/patch.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index e810268f1a..a91a306274 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 341 +last_patch = 342 #------------------------------------------- @@ -1421,3 +1421,5 @@ def execute(patch_no): ch = addchild(dt_obj.doc, 'formats', 'DocFormat', 1) ch.format = 'Delivery Note Packing List Wise' ch.save(1) + elif patch_no == 342: + reload_doc('stock','doctype','item_customer_detail') From 247c3591ee0903d75980b09ee01563b456f8a0e8 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 24 Aug 2011 11:20:24 +0530 Subject: [PATCH 37/81] delete blank row in dn print format --- patches/patch.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index b4116b5b28..9a2bb8371c 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 342 +last_patch = 343 #------------------------------------------- @@ -1423,3 +1423,5 @@ def execute(patch_no): ch.save(1) elif patch_no == 342: sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry Detail' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')") + elif patch_no == 343: + sql("delete from `tabDocFormat` where ifnull(format, '') = '' and parent = 'Delivery Note'") From 7b8f53c1936a51d48ae97f4a0b8964682ad17d4e Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 24 Aug 2011 11:23:34 +0530 Subject: [PATCH 38/81] delete blank row in dn print format --- patches/patch.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index b4116b5b28..9a2bb8371c 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 342 +last_patch = 343 #------------------------------------------- @@ -1423,3 +1423,5 @@ def execute(patch_no): ch.save(1) elif patch_no == 342: sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry Detail' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')") + elif patch_no == 343: + sql("delete from `tabDocFormat` where ifnull(format, '') = '' and parent = 'Delivery Note'") From 2a081c5cfad5415dc62a1e0b0beb027ba7331b79 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 24 Aug 2011 14:06:56 +0530 Subject: [PATCH 39/81] loan document deleted from git --- accounts/doctype/loan/__init__.py | 0 accounts/doctype/loan/loan.js | 54 ------ accounts/doctype/loan/loan.py | 48 ----- accounts/doctype/loan/loan.txt | 172 ------------------ accounts/doctype/loan/test_loan.py | 17 -- accounts/doctype/loan_installment/__init__.py | 0 .../loan_installment/loan_installment.txt | 111 ----------- 7 files changed, 402 deletions(-) delete mode 100644 accounts/doctype/loan/__init__.py delete mode 100644 accounts/doctype/loan/loan.js delete mode 100644 accounts/doctype/loan/loan.py delete mode 100644 accounts/doctype/loan/loan.txt delete mode 100644 accounts/doctype/loan/test_loan.py delete mode 100644 accounts/doctype/loan_installment/__init__.py delete mode 100644 accounts/doctype/loan_installment/loan_installment.txt diff --git a/accounts/doctype/loan/__init__.py b/accounts/doctype/loan/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/accounts/doctype/loan/loan.js b/accounts/doctype/loan/loan.js deleted file mode 100644 index 5a453627ec..0000000000 --- a/accounts/doctype/loan/loan.js +++ /dev/null @@ -1,54 +0,0 @@ -$.extend(cur_frm.cscript, { - Generate: function(doc, dt, dn) { - cur_frm.cscript.clear_installments(doc); - for(var i=0; i< doc.no_of_installments; i++) { - d = LocalDB.add_child(doc, 'Loan Installment', 'installments'); - d.amount = doc.loan_amount / doc.no_of_installments; - d.due_date = dateutil.add_months(doc.start_date, i+1); - } - cur_frm.refresh(); - }, -/* submit:function(doc){ - data=doc.get_values(); - - data['']= - $c_obj(make_doclist(dt,dn),'loan_post',data,function(){}); - },*/ - refresh: function(doc) { - cur_frm.cscript.hide_show_buttons(doc); - }, - hide_show_buttons: function(doc) { - if(doc.docstatus==0) { - hide_field('Installment Reciept'); unhide_field('Generate'); - } else if (doc.docstatus==1) { - unhide_field('Installment Reciept');hide_field('Generate'); - } - }, - clear_installments: function(doc) { - $.each(getchildren('Loan Installment', doc.name, 'installments', 'Loan'), - function(i, d) { - LocalDB.delete_doc('Loan Installment', d.name); - } - ) - }, - 'Installment Reciept': function(doc, dt, dn) { - var d = new wn.widgets.Dialog({ - width: 500, - title: 'Add a new payment installment', - fields: [ - {fieldtype:'Data', label:'Cheque Number', fieldname:'cheque_number', reqd:1}, - {fieldtype:'Date', label:'Cheque Date', fieldname:'cheque_date', reqd:1}, - {fieldtype:'Link', label:'Bank Account', fieldname:'bank_account', reqd:1, options:'Account'}, - {fieldtype:'Button', label:'Update',fieldname:'update'} - ] - }) - d.show(); - d.fields_dict.update.input.onclick = function() { - var data = d.get_values(); - - if(data) { - $c_obj(make_doclist(dt,dn),'loan_installment_post',data,function(){cur_frm.refresh(); d.hide();}); - } - } - } -}) diff --git a/accounts/doctype/loan/loan.py b/accounts/doctype/loan/loan.py deleted file mode 100644 index 9f0bcb53a0..0000000000 --- a/accounts/doctype/loan/loan.py +++ /dev/null @@ -1,48 +0,0 @@ -import webnotes -from webnotes.model.doc import make_autoname, Document, addchild -from webnotes import msgprint -from webnotes.utils import get_defaults -import json -from accounts.utils import post_jv -sql = webnotes.conn.sql - -class DocType: - def __init__(self, doc, doclist): - self.doc, self.doclist = doc, doclist - - def autoname(self): - """ - Create Loan Id using naming_series pattern - """ - self.doc.name = make_autoname(self.doc.naming_series+ '.#####') - - def loan_post(self): - data['voucher_type']='Loan Issue' - data['naming_series']='JV' - data['fiscal_year'] = get_defaults()['fiscal_year'] # To be modified to take care - data['company'] = get_defaults()['company'] - data['debit_account'] = self.doc['receivable_account'] - data['credit_account'] = self.doc['account'] - data['amount'] = self.doc.loan_amount - jv_name=post_jv(data) - - def loan_installment_post(self, args): - """ - Posts the loan receipt into Journal Voucher - """ - next_inst = sql("select amount,name from `tabLoan Installment` where parent=%s and ifnull(cheque_number,'')='' order by due_date limit 1",self.doc.name) - - data = json.loads(args) - data['voucher_type']='Loan Receipt' - data['naming_series']='JV' - data['amount']=next_inst[0][0] - data['debit_account']=data.get('bank_account') - data['credit_account']=self.doc.account - data['fiscal_year']=get_defaults()['fiscal_year'] - data['company']=get_defaults()['company'] - jv_name=post_jv(data) - - sql("update `tabLoan Installment` set cheque_number=%s, cheque_date=%s, jv_number=%s where name=%s",(data.get('cheque_number'),data.get('cheque_date'),jv_name,next_inst[0][1])) - - self.doclist = [Document(d.doctype, d.name) for d in self.doclist] - diff --git a/accounts/doctype/loan/loan.txt b/accounts/doctype/loan/loan.txt deleted file mode 100644 index 001e1d3845..0000000000 --- a/accounts/doctype/loan/loan.txt +++ /dev/null @@ -1,172 +0,0 @@ -# DocType, Loan -[ - - # These values are common in all dictionaries - { - 'creation': '2011-07-15 10:35:26', - 'docstatus': 0, - 'modified': '2011-07-18 12:12:19', - 'modified_by': 'Administrator', - 'owner': 'Administrator' - }, - - # These values are common for all DocType - { - '_last_update': '1310963215', - 'colour': 'White:FFF', - 'doctype': 'DocType', - 'module': 'Accounts', - 'name': '__common__', - 'section_style': 'Simple', - 'show_in_menu': 0, - 'version': 15 - }, - - # These values are common for all DocField - { - 'doctype': 'DocField', - 'name': '__common__', - 'parent': 'Loan', - 'parentfield': 'fields', - 'parenttype': 'DocType', - 'permlevel': 0 - }, - - # These values are common for all DocPerm - { - 'doctype': 'DocPerm', - 'name': '__common__', - 'parent': 'Loan', - 'parentfield': 'permissions', - 'parenttype': 'DocType', - 'read': 1, - 'role': 'Accounts User' - }, - - # DocType, Loan - { - 'doctype': 'DocType', - 'name': 'Loan' - }, - - # DocPerm - { - 'cancel': 1, - 'create': 1, - 'doctype': 'DocPerm', - 'idx': 1, - 'permlevel': 0, - 'submit': 1, - 'write': 1 - }, - - # DocPerm - { - 'doctype': 'DocPerm', - 'idx': 2, - 'permlevel': 1 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'naming_series', - 'fieldtype': 'Select', - 'idx': 1, - 'label': 'Naming Series', - 'options': '\nLOAN', - 'reqd': 1 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'account', - 'fieldtype': 'Link', - 'idx': 2, - 'label': 'Account', - 'options': 'Account', - 'reqd': 1 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'receivable_account', - 'fieldtype': 'Link', - 'idx': 3, - 'label': 'Receivable Account', - 'options': 'Account' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'invoice', - 'fieldtype': 'Link', - 'idx': 4, - 'label': 'Invoice', - 'options': 'Receivable Voucher', - 'reqd': 1 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'loan_amount', - 'fieldtype': 'Currency', - 'idx': 5, - 'label': 'Loan Amount', - 'reqd': 1 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'start_date', - 'fieldtype': 'Date', - 'idx': 6, - 'label': 'Start Date', - 'reqd': 1 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'no_of_installments', - 'fieldtype': 'Int', - 'idx': 7, - 'label': 'No of Installments', - 'reqd': 1 - }, - - # DocField - { - 'colour': 'White:FFF', - 'doctype': 'DocField', - 'fieldtype': 'Button', - 'idx': 8, - 'label': 'Generate', - 'trigger': 'Client' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'installments', - 'fieldtype': 'Table', - 'idx': 9, - 'label': 'Installments', - 'options': 'Loan Installment' - }, - - # DocField - { - 'allow_on_submit': 1, - 'colour': 'White:FFF', - 'doctype': 'DocField', - 'fieldtype': 'Button', - 'idx': 10, - 'label': 'Installment Reciept' - } -] \ No newline at end of file diff --git a/accounts/doctype/loan/test_loan.py b/accounts/doctype/loan/test_loan.py deleted file mode 100644 index 4e72559d6e..0000000000 --- a/accounts/doctype/loan/test_loan.py +++ /dev/null @@ -1,17 +0,0 @@ -import unittest -import webnotes -from webnotes.model.code import get_obj - -class TestScheduleGeneartion(unittest.TestCase): - def setUp(self): - webnotes.conn.begin() - # create a mock loan - self.loan = get_obj('Loan', 'LOAN00001') - - def test_generation(self): - "test the genaration of loan installments" - self.loan.generate() - self.assertEqual(self.loan.get_installment_total(), self.loan.doc.loan_amount) - - def tearDown(self): - webnotes.conn.rollback() diff --git a/accounts/doctype/loan_installment/__init__.py b/accounts/doctype/loan_installment/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/accounts/doctype/loan_installment/loan_installment.txt b/accounts/doctype/loan_installment/loan_installment.txt deleted file mode 100644 index f729e3434b..0000000000 --- a/accounts/doctype/loan_installment/loan_installment.txt +++ /dev/null @@ -1,111 +0,0 @@ -# DocType, Loan Installment -[ - - # These values are common in all dictionaries - { - 'creation': '2011-07-15 10:36:42', - 'docstatus': 0, - 'modified': '2011-07-15 15:48:34', - 'modified_by': 'Administrator', - 'owner': 'Administrator' - }, - - # These values are common for all DocType - { - 'colour': 'White:FFF', - 'doctype': 'DocType', - 'istable': 1, - 'module': 'Accounts', - 'name': '__common__', - 'section_style': 'Simple', - 'show_in_menu': 0, - 'version': 4 - }, - - # These values are common for all DocField - { - 'doctype': 'DocField', - 'name': '__common__', - 'parent': 'Loan Installment', - 'parentfield': 'fields', - 'parenttype': 'DocType' - }, - - # DocType, Loan Installment - { - 'doctype': 'DocType', - 'name': 'Loan Installment' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'amount', - 'fieldtype': 'Currency', - 'idx': 1, - 'label': 'Amount', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'due_date', - 'fieldtype': 'Date', - 'idx': 2, - 'label': 'Due Date', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'cheque_number', - 'fieldtype': 'Data', - 'idx': 3, - 'label': 'Cheque Number', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'cheque_date', - 'fieldtype': 'Date', - 'idx': 4, - 'label': 'Cheque Date', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'deposit_date', - 'fieldtype': 'Date', - 'idx': 5, - 'label': 'Deposit Date', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'realized_date', - 'fieldtype': 'Date', - 'idx': 6, - 'label': 'Realized Date', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'jv_number', - 'fieldtype': 'Link', - 'hidden': 0, - 'idx': 7, - 'label': 'JV Number', - 'options': 'Journal Voucher', - 'permlevel': 1 - } -] \ No newline at end of file From da894640f305ea44499f7c30b008f577739e3f7f Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 25 Aug 2011 13:26:54 +0530 Subject: [PATCH 40/81] deleted salary slip control panel --- hr/doctype/salary_manager/__init__.py | 4 + hr/doctype/salary_manager/salary_manager.js | 41 +++ hr/doctype/salary_manager/salary_manager.py | 144 ++++++++++ .../salary_manager.txt} | 266 ++++++++---------- .../salary_manager/test_salary_manager.py | 197 +++++++++++++ .../salary_slip_control_panel/__init__.py | 0 .../salary_slip_control_panel.js | 71 ----- .../salary_slip_control_panel.py | 137 --------- 8 files changed, 503 insertions(+), 357 deletions(-) create mode 100644 hr/doctype/salary_manager/__init__.py create mode 100644 hr/doctype/salary_manager/salary_manager.js create mode 100644 hr/doctype/salary_manager/salary_manager.py rename hr/doctype/{salary_slip_control_panel/salary_slip_control_panel.txt => salary_manager/salary_manager.txt} (56%) create mode 100644 hr/doctype/salary_manager/test_salary_manager.py delete mode 100644 hr/doctype/salary_slip_control_panel/__init__.py delete mode 100644 hr/doctype/salary_slip_control_panel/salary_slip_control_panel.js delete mode 100644 hr/doctype/salary_slip_control_panel/salary_slip_control_panel.py diff --git a/hr/doctype/salary_manager/__init__.py b/hr/doctype/salary_manager/__init__.py new file mode 100644 index 0000000000..cb6c600133 --- /dev/null +++ b/hr/doctype/salary_manager/__init__.py @@ -0,0 +1,4 @@ +from webnotes import ValidationError + +class SalarySlipExistsError(ValidationError): pass + diff --git a/hr/doctype/salary_manager/salary_manager.js b/hr/doctype/salary_manager/salary_manager.js new file mode 100644 index 0000000000..0c693f2cfb --- /dev/null +++ b/hr/doctype/salary_manager/salary_manager.js @@ -0,0 +1,41 @@ +cur_frm.cscript['Submit Salary Slip'] = function(doc, cdt, cdn) { + var check = confirm("DO you really want to Submit all Salary Slip for month : " + doc.month+" and fiscal year : "+doc.fiscal_year); + if(check){ + $c('runserverobj', args={'method':'submit_salary_slip','docs':compress_doclist(make_doclist (cdt, cdn))},''); + } +} + +// Make Bank Voucher +cur_frm.cscript['Make Bank Voucher'] = function(doc,cdt,cdn){ + if(doc.month && doc.fiscal_year){ + cur_frm.cscript.make_jv(doc, cdt, cdn); + } +} + + +// Make JV +// -------- +cur_frm.cscript.make_jv = function(doc, dt, dn) { + var call_back = function(r,rt){ + var jv = LocalDB.create('Journal Voucher'); + jv = locals['Journal Voucher'][jv]; + jv.voucher_type = 'Bank Voucher'; + jv.remark = 'Payment of salary for month: ' + doc.month + 'and fiscal year: ' + doc.fiscal_year; + jv.fiscal_year = doc.fiscal_year; + jv.company = doc.company; + jv.posting_date = new Date(); + + // credit to bank + var d1 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries'); + d1.account = r.message['default_bank_account']; + d1.credit = r.message['amount'] + + // debit to salary account + var d2 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries'); + d2.account = r.message['default_salary_account']; + d2.debit = r.message['amount'] + + loaddoc('Journal Voucher', jv.name); + } + $c_obj(make_doclist(dt,dn),'get_acc_details','',call_back); +} diff --git a/hr/doctype/salary_manager/salary_manager.py b/hr/doctype/salary_manager/salary_manager.py new file mode 100644 index 0000000000..1642ef4eff --- /dev/null +++ b/hr/doctype/salary_manager/salary_manager.py @@ -0,0 +1,144 @@ +# Please edit this list and import only required elements +import webnotes + +from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add +from webnotes.model import db_exists +from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType +from webnotes.model.doclist import getlist, copy_doclist +from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax +from webnotes import session, form, is_testing, msgprint, errprint + +set = webnotes.conn.set +sql = webnotes.conn.sql +get_value = webnotes.conn.get_value +in_transaction = webnotes.conn.in_transaction +convert_to_lists = webnotes.conn.convert_to_lists + +# ----------------------------------------------------------------------------------------- + + +class DocType: + def __init__(self, doc, doclist): + self.doc = doc + self.doclist = doclist + + + def get_emp_list(self): + """ + Returns list of active employees based on selected criteria + and for which salary structure exists + """ + + cond = self.get_filter_condition() + + emp_list = sql(""" + select t1.name + from `tabEmployee` t1, `tabSalary Structure` t2 + where t1.docstatus!=2 and t2.docstatus != 2 + and ifnull(t1.status, 'Left') = 'Active' and ifnull(t2.is_active, 'No') = 'Yes' + and t1.name = t2.employee + %s """% cond) + + return emp_list + + + def get_filter_condition(self): + self.check_mandatory() + + cond = '' + for f in ['company', 'branch', 'department', 'designation', 'grade', 'employment_type']: + if self.doc.fields.get(f): + cond += " and t1." + f + " = '" + self.doc.fields.get(f) + "'" + + return cond + + + def check_mandatory(self): + for f in ['company', 'month', 'fiscal_year']: + if not self.doc.fields[f]: + msgprint("Please select %s to proceed" % f, raise_exception=1) + + + def create_sal_slip(self): + """ + Creates salary slip for selected employees if already not created + + """ + emp_list = self.get_emp_list() + for emp in emp_list: + if not sql("""select name from `tabSalary Slip` + where docstatus!= 2 and employee = %s and month = %s and fiscal_year = %s and company = %s + """, (emp[0], self.doc.month, self.doc.fiscal_year, self.doc.company)): + ss = Document('Salary Slip') + ss.fiscal_year = self.doc.fiscal_year + ss.employee = emp[0] + ss.month = self.doc.month + ss.email_check = self.doc.send_email + ss.company = self.doc.company + ss.save(1) + + ss_obj = get_obj('Salary Slip', ss.name, with_children=1) + ss_obj.get_emp_and_leave_details() + ss_obj.calculate_net_pay() + ss_obj.validate() + ss_obj.doc.save() + + for d in getlist(ss_obj.doclist, 'earning_details'): + d.save() + for d in getlist(ss_obj.doclist, 'deduction_details'): + d.save() + + + def get_sal_slip_list(self): + """ + Returns list of salary slips based on selected criteria + which are not submitted + """ + cond = self.get_filter_condition() + ss_list = sql(""" + select t1.name from `tabSalary Slip` t1 + where t1.docstatus = 0 and month = '%s' and fiscal_year = '%s' %s + """ % (self.doc.month, self.doc.fiscal_year, cond)) + return ss_list + + + def submit_salary_slip(self): + """ + Submit all salary slips based on selected criteria + """ + ss_list = self.get_sal_slip_list() + for ss in ss_list: + ss_obj = get_obj("Salary Slip",ss[0],with_children=1) + set(ss_obj.doc, 'docstatus', 1) + ss_obj.on_submit() + + + def get_total_salary(self): + """ + Get total salary amount from submitted salary slip based on selected criteria + """ + cond = self.get_filter_condition() + tot = sql(""" + select sum(rounded_total) from `tabSalary Slip` t1 + where t1.docstatus = 0 and month = '%s' and fiscal_year = '%s' %s + """ % (self.doc.month, self.doc.fiscal_year, cond)) + + return flt(tot) + + + def get_acc_details(self): + """ + get default bank account,default salary acount from company + """ + amt = self.get_total_salary() + com = sql("select default_bank_account,default_salary_acount from `tabCompany` where name = '%s'" % self.doc.company) + + #if not com[0][0] or not com[0][1]: + #msgprint("You can set Default Salary Head and Default Bank Account in Setup --> Global Defaults.") + + ret = { + 'def_bank_acc' : com and com[0][0] or '', + 'def_sal_acc' : com and com[0][1] or '', + 'amount' : amt + } + return ret diff --git a/hr/doctype/salary_slip_control_panel/salary_slip_control_panel.txt b/hr/doctype/salary_manager/salary_manager.txt similarity index 56% rename from hr/doctype/salary_slip_control_panel/salary_slip_control_panel.txt rename to hr/doctype/salary_manager/salary_manager.txt index b83e0c771b..19f95d11da 100644 --- a/hr/doctype/salary_slip_control_panel/salary_slip_control_panel.txt +++ b/hr/doctype/salary_manager/salary_manager.txt @@ -1,42 +1,37 @@ -# DocType, Salary Slip Control Panel +# DocType, Salary Manager [ # These values are common in all dictionaries { - 'creation': '2010-08-08 17:09:20', + 'creation': '2011-08-11 16:40:04', 'docstatus': 0, - 'modified': '2010-12-29 18:02:38', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-08-12 14:08:33', + 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1294312182', + '_last_update': '1313129645', 'allow_copy': 1, 'allow_email': 1, 'allow_print': 1, 'colour': 'White:FFF', 'doctype': 'DocType', - 'hide_heading': 0, - 'hide_toolbar': 0, - 'in_create': 0, + 'document_type': 'Other', 'issingle': 1, 'module': 'HR', 'name': '__common__', - 'read_only': 1, 'section_style': 'Simple', - 'server_code_error': ' ', - 'show_in_menu': 0, - 'use_template': 0, - 'version': 113 + 'show_in_menu': 1, + 'version': 15 }, # These values are common for all DocField { 'doctype': 'DocField', 'name': '__common__', - 'parent': 'Salary Slip Control Panel', + 'parent': 'Salary Manager', 'parentfield': 'fields', 'parenttype': 'DocType', 'permlevel': 0 @@ -47,7 +42,7 @@ 'create': 1, 'doctype': 'DocPerm', 'name': '__common__', - 'parent': 'Salary Slip Control Panel', + 'parent': 'Salary Manager', 'parentfield': 'permissions', 'parenttype': 'DocType', 'permlevel': 0, @@ -55,10 +50,10 @@ 'write': 1 }, - # DocType, Salary Slip Control Panel + # DocType, Salary Manager { 'doctype': 'DocType', - 'name': 'Salary Slip Control Panel' + 'name': 'Salary Manager' }, # DocPerm @@ -85,21 +80,57 @@ # DocField { 'doctype': 'DocField', - 'fieldtype': 'Section Break', + 'fieldtype': 'Column Break', 'idx': 1, - 'label': 'Salary Slip Control Panel' + 'width': '50%' }, # DocField { 'doctype': 'DocField', - 'fieldname': 'employee_type', + 'fieldname': 'company', 'fieldtype': 'Select', 'idx': 2, - 'label': 'Employment Type', - 'oldfieldname': 'employee_type', - 'oldfieldtype': 'Select', - 'options': 'link:Employment Type' + 'label': 'Company', + 'options': 'link:Company' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'branch', + 'fieldtype': 'Link', + 'idx': 3, + 'label': 'Branch', + 'options': 'Branch' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'department', + 'fieldtype': 'Link', + 'idx': 4, + 'label': 'Department', + 'options': 'Department' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'designation', + 'fieldtype': 'Link', + 'idx': 5, + 'label': 'Designation', + 'options': 'Designation' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break', + 'idx': 6, + 'width': '50%' }, # DocField @@ -107,180 +138,117 @@ 'doctype': 'DocField', 'fieldname': 'grade', 'fieldtype': 'Select', - 'idx': 3, + 'idx': 7, 'label': 'Grade', - 'oldfieldname': 'grade', - 'oldfieldtype': 'Select', 'options': 'link:Grade' }, # DocField { 'doctype': 'DocField', - 'fieldname': 'branch', + 'fieldname': 'employment_type', 'fieldtype': 'Select', - 'idx': 4, - 'label': 'Branch', - 'oldfieldname': 'branch', - 'oldfieldtype': 'Select', - 'options': 'link:Branch' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'department', - 'fieldtype': 'Select', - 'idx': 5, - 'label': 'Department', - 'oldfieldname': 'department', - 'oldfieldtype': 'Select', - 'options': 'link:Department' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'designation', - 'fieldtype': 'Select', - 'idx': 6, - 'label': 'Designation', - 'oldfieldname': 'designation', - 'oldfieldtype': 'Select', - 'options': 'link:Designation' + 'idx': 8, + 'label': 'Employment Type', + 'options': 'link:Employment Type' }, # DocField { 'colour': 'White:FFF', - 'doctype': 'DocField', - 'fieldtype': 'Column Break', - 'idx': 7, - 'oldfieldtype': 'Column Break' - }, - - # DocField - { 'doctype': 'DocField', 'fieldname': 'fiscal_year', 'fieldtype': 'Select', - 'idx': 8, - 'in_filter': 1, - 'label': 'Fiscal Year', - 'oldfieldname': 'fiscal_year', - 'oldfieldtype': 'Select', - 'options': 'link:Fiscal Year' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'month', - 'fieldtype': 'Select', 'idx': 9, - 'label': 'Month', - 'oldfieldname': 'month', - 'oldfieldtype': 'Select', - 'options': '\n01\n02\n03\n04\n05\n06\n07\n08\n09\n10\n11\n12' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'year', - 'fieldtype': 'Select', - 'idx': 10, - 'label': 'Year', - 'oldfieldname': 'year', - 'oldfieldtype': 'Select', - 'options': '\n2009\n2010\n2011\n2012' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'week_off', - 'fieldtype': 'Currency', - 'idx': 11, - 'label': 'Week Off', - 'oldfieldname': 'week_off', - 'oldfieldtype': 'Currency' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'arrear_amount', - 'fieldtype': 'Currency', - 'idx': 12, - 'label': 'Arrear Amount', - 'oldfieldname': 'arrear_amount', - 'oldfieldtype': 'Currency' + 'label': 'Fiscal Year', + 'options': 'link:Fiscal Year', + 'reqd': 1 }, # DocField { 'colour': 'White:FFF', 'doctype': 'DocField', - 'fieldname': 'email_check', + 'fieldname': 'month', + 'fieldtype': 'Select', + 'idx': 10, + 'label': 'Month', + 'options': '\n01\n02\n03\n04\n05\n06\n07\n08\n09\n10\n11\n12', + 'reqd': 1 + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'Check if you want to send salary slip in mail to each employee while submitting salary slip', + 'doctype': 'DocField', + 'fieldname': 'send_email', 'fieldtype': 'Check', - 'idx': 13, - 'label': 'Email', - 'oldfieldname': 'email_check', - 'oldfieldtype': 'Check' + 'idx': 11, + 'label': 'Send Email' }, # DocField { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 14, - 'oldfieldtype': 'Section Break' - }, - - # DocField - { - 'colour': 'White:FFF', - 'doctype': 'DocField', - 'fieldtype': 'Button', - 'idx': 15, - 'label': 'Process Payroll', - 'oldfieldtype': 'Button', - 'trigger': 'Client' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldtype': 'HTML', - 'idx': 16, - 'label': 'Salary Slip HTML' + 'idx': 12 }, # DocField { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 17 + 'idx': 13, + 'width': '50%' }, # DocField { 'colour': 'White:FFF', + 'description': 'Creates salary slip for above mentioned criteria.', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 18, - 'label': 'Submit Salary Slip', - 'oldfieldtype': 'Button', - 'trigger': 'Client' + 'idx': 14, + 'label': 'Create Salary Slip', + 'options': 'create_sal_slip' }, # DocField { + 'doctype': 'DocField', + 'fieldtype': 'Column Break', + 'idx': 15, + 'width': '25%' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'Submit all salary slips for the particular year and month', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 19, + 'idx': 16, + 'label': 'Submit Salary Slip', + 'options': 'submit_salary_slip' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break', + 'idx': 17, + 'width': '25%' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'Create Bank Voucher for the total salary paid in the particular month and year', + 'doctype': 'DocField', + 'fieldtype': 'Button', + 'idx': 18, 'label': 'Make Bank Voucher', - 'trigger': 'Client' + 'options': 'make_bank_voucher' } ] \ No newline at end of file diff --git a/hr/doctype/salary_manager/test_salary_manager.py b/hr/doctype/salary_manager/test_salary_manager.py new file mode 100644 index 0000000000..1a0b48a18e --- /dev/null +++ b/hr/doctype/salary_manager/test_salary_manager.py @@ -0,0 +1,197 @@ +import unittest +import webnotes + +from webnotes.model.doc import Document +from webnotes.model.code import get_obj +sql = webnotes.conn.sql + +class TestSalarySlip(unittest.TestCase): + def setUp(self): + webnotes.conn.begin() + for rec in [des1, dep1, branch1, grade1, comp1, emp1, emp2]: + rec.save(1) + + ss1[0].employee = emp1.name + for s in ss1: s.save(1) + for s in ss1[1:]: + sql("update `tabEarning Detail` set parent = '%s' where name = '%s'" % (ss1[0].name, s.name)) + sql("update `tabDeduction Detail` set parent = '%s' where name = '%s'" % (ss1[0].name, s.name)) + + + ss2[0].employee = emp2.name + for s in ss2: s.save(1) + for s in ss2[1:]: + sql("update `tabEarning Detail` set parent = '%s' where name = '%s'" % (ss2[0].name, s.name)) + sql("update `tabDeduction Detail` set parent = '%s' where name = '%s'" % (ss2[0].name, s.name)) + + sman.save() + self.sm = get_obj('Salary Manager') + leave.save(1) + self.sm.create_sal_slip() + + def test_creation(self): + ssid = sql(""" + select name, department + from `tabSalary Slip` + where month = '08' and fiscal_year='2011-2012'""") + + self.assertTrue(len(ssid)==1) + self.assertTrue(ssid[0][1] == 'dep1') + + + def test_lwp_calc(self): + ss = sql(""" + select payment_days + from `tabSalary Slip` + where month = '08' and fiscal_year='2011-2012' and employee = '%s' + """ % emp1.name) + + self.assertTrue(ss[0][0]==27) + + def test_net_pay(self): + ss = webnotes.conn.sql(""" + select rounded_total + from `tabSalary Slip` + where month = '08' + and fiscal_year='2011-2012' and employee = '%s'""" % emp1.name) + self.assertTrue(ss[0][0]==67) + + def test_submit(self): + self.sm.submit_sal_slip() + ss = webnotes.conn.sql(""" + select docstatus + from `tabSalary Slip` + where month = '08' + and fiscal_year='2011-2012' and employee = '%s'""" % emp1.name) + self.assertTrue(ss[0][0]==1) + + def tearDown(self): + webnotes.conn.rollback() + +#-------------------------------------------- +# test data +#-------------------------------------------- +des1 = Document(fielddata={ + 'name':'des1', + 'doctype':'Designation', + 'designation_name':'des1' +}) + +dep1 = Document(fielddata={ + 'name':'dep1', + 'doctype':'Department', + 'department_name' : 'dep1' +}) + +branch1 = Document(fielddata={ + 'name':'branch1', + 'doctype':'Branch', + 'branch' : 'branch1' +}) + +comp1 = Document(fielddata={ + 'name':'comp1', + 'doctype':'Company', + 'abbr':'c1', + 'company_name' : 'comp1' +}) + +grade1 = Document(fielddata={ + 'name':'grade1', + 'doctype':'Grade', + 'grade_name' : 'grade1' +}) + +emp1 = Document(fielddata={ + 'doctype':'Employee', + 'employee_number':'emp1', + 'department':'dep1', + 'designation':'des1', + 'branch' : 'branch1', + 'company':'comp1', + 'grade':'grade1', + 'naming_series':'EMP/', + 'status':'Active', + 'docstatus':0 +}) + +emp2 = Document(fielddata={ + 'doctype':'Employee', + 'employee_number':'emp2', + 'department':'dep1', + 'designation':'des2', + 'branch' : 'branch1', + 'company':'comp1', + 'naming_series':'EMP/', + 'grade':'grade1', + 'status':'Active', + +}) + +ss1 = [ + Document(fielddata={ + 'doctype':'Salary Structure', + 'docstatus':0, + 'employee':'emp1', + 'is_active':'Yes', + 'department': 'dep1', + 'designation' : 'des1' + }), + Document(fielddata={ + 'parenttype':'Salary Structure', + 'parentfield':'earning_details', + 'doctype':'Earning Detail', + 'e_type' : 'Basic', + 'depend_on_lwp':1, + 'modified_value':100 + }), + Document(fielddata={ + 'parenttype':'Salary Structure', + 'parentfield':'earning_details', + 'doctype':'Deduction Detail', + 'd_type':'TDS', + 'd_modified_amt':20 + }) +] + +ss2 = [ + Document(fielddata={ + 'doctype':'Salary Structure', + 'is_active':'Yes', + 'docstatus':0, + }), + Document(fielddata={ + 'parenttype':'Salary Structure', + 'parentfield':'deduction_details', + 'doctype':'Earning Detail', + 'e_type' : 'Basic', + 'modified_value':100 + }), + Document(fielddata={ + 'parenttype':'Salary Structure', + 'parentfield':'deduction_details', + 'doctype':'Deduction Detail', + 'd_type':'TDS', + 'd_modified_amt':20 + }) +] + +sman = Document(fielddata={ + 'name':'Salary Manager', + 'doctype':'Salary Manager', + 'company': 'comp1', + 'department':'dep1', + 'designation':'des1', + 'month': '08', + 'fiscal_year':'2011-2012' + }) + +leave = Document(fielddata = { + 'doctype':'Leave Application', + 'employee':'emp1', + 'from_date':'2011-08-12', + 'to_date':'2011-08-15', + 'total_leave_days':'4', + 'leave_type':'Leave Without Pay', + 'docstatus':1 + }) diff --git a/hr/doctype/salary_slip_control_panel/__init__.py b/hr/doctype/salary_slip_control_panel/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/hr/doctype/salary_slip_control_panel/salary_slip_control_panel.js b/hr/doctype/salary_slip_control_panel/salary_slip_control_panel.js deleted file mode 100644 index 5fd80cbd95..0000000000 --- a/hr/doctype/salary_slip_control_panel/salary_slip_control_panel.js +++ /dev/null @@ -1,71 +0,0 @@ -cur_frm.cscript.onload = function(doc, cdt, cdn) { - alert("Salary Slip Control Panel is currently under re-development. It will take around a week time."); - hide_field(['Process Payroll', 'Submit Salary Slip', 'Make Bank Voucher']); -} - -cur_frm.cscript['Process Payroll'] = function(doc,cdt,cdn){ - $c('runserverobj', args={'method':'process_payroll','docs':compress_doclist (make_doclist (doc.doctype,doc.name))},function(r,rt){ - - if(!pscript.ss_html) - pscript.ss_html = $a(cur_frm.fields_dict['Salary Slip HTML'].wrapper,'span','',{border:'1px solid #CCC', backgroundColor:'#DDD'}); - pscript.ss_html.innerHTML = ''; - pscript.ss_html.innerHTML = r.message; - - - }); - -} - -cur_frm.cscript['Submit Salary Slip'] = function(doc,cdt,cdn){ - if(doc.month && doc.fiscal_year && doc.year){ - var check = confirm("DO you really want to Submit all Salary Slip for month : " + doc.month+" and year : "+doc.year); - if(check){ - $c('runserverobj', args={'method':'submit_sal_slip','docs':compress_doclist (make_doclist (doc.doctype,doc.name))},function(r,rt){ - - if(!pscript.ss_html) - pscript.ss_html = $a(cur_frm.fields_dict['Salary Slip HTML'].wrapper,'span','',{border:'1px solid #CCC', backgroundColor:'#DDD'}); - pscript.ss_html.innerHTML = ''; - pscript.ss_html.innerHTML = r.message; - - - }); - } - } - else - alert("Please select month, fiscal year and year"); -} - -// Make JV -// -------- -cur_frm.cscript.make_jv = function(doc, dt, dn) { - var call_back = function(r,rt){ - var jv = LocalDB.create('Journal Voucher'); - jv = locals['Journal Voucher'][jv]; - jv.voucher_type = 'Bank Voucher'; - jv.remark = 'Salary - Bank Voucher'; - jv.fiscal_year = doc.fiscal_year; - jv.company = doc.company; - - // credit to bank - var d1 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries'); - d1.account = r.message['default_bank_account']; - - // debit to salary account - var d1 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries'); - d1.account = r.message['default_salary_account']; - if(!r.message['default_salary_account'] && !r.message['default_bank_account']) alert("To debit salary amount in salary head and credit amount from bank, you need to specify default salary account and default bank account in Global Defaults.\nGo to Setup, click on Company. Select a company.\nSelect Default Salary Account, Default Bank Account from Accounting tab."); - else if(!r.message['default_salary_account']) alert("To debit salary amount you need to specify default salary account in Global Defaults.\nGo to Setup, click on Company. Select a company.\nSelect Default Salary Account from Accounting tab."); - else if(!r.message['default_bank_account']) alert("To credit salary amount you need to specify default bank account in Global Defaults.\nGo to Setup, click on Company. Select a company.\nSelect Default Bank Account from Accounting tab."); - loaddoc('Journal Voucher', jv.name); - } - $c_obj(make_doclist(dt,dn),'get_acct_dtl','',call_back); - -} - - - -// Make Journal Voucher -// -------------------- -cur_frm.cscript['Make Bank Voucher'] = function(doc, dt, dn) { - cur_frm.cscript.make_jv(doc,dt,dn); -} diff --git a/hr/doctype/salary_slip_control_panel/salary_slip_control_panel.py b/hr/doctype/salary_slip_control_panel/salary_slip_control_panel.py deleted file mode 100644 index 3a4fadf4cf..0000000000 --- a/hr/doctype/salary_slip_control_panel/salary_slip_control_panel.py +++ /dev/null @@ -1,137 +0,0 @@ -# Please edit this list and import only required elements -import webnotes - -from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add -from webnotes.model import db_exists -from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType -from webnotes.model.doclist import getlist, copy_doclist -from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax -from webnotes import session, form, is_testing, msgprint, errprint - -set = webnotes.conn.set -sql = webnotes.conn.sql -get_value = webnotes.conn.get_value -in_transaction = webnotes.conn.in_transaction -convert_to_lists = webnotes.conn.convert_to_lists - -# ----------------------------------------------------------------------------------------- - - -class DocType: - def __init__(self, doc, doclist): - self.doc = doc - self.doclist = doclist - - # Get Employees - # ********************************************************************** - def get_employee(self): - e1 = self.emp_fr_memp() #get employee list from employee where employee is active - e2 = self.emp_fr_salstr(e1) #get employee list from salary structure whose salary structure is created and is active - e3 = self.emp_fr_salslip(e2) #get employee list from salary slip whose salary slip not yet created for this month and year - return e3 - - # ********************************************************************** - def emp_fr_memp(self): - lst1 = [[self.doc.employee_type,"employment_type"],[self.doc.branch,"branch"],[self.doc.designation,"designation"],[self.doc.department, "department"],[self.doc.grade,"grade"]] - - condition = "" - #flag = 0 - for l in lst1: - - if(l[0]): - #if flag == 0: - # condition += l[1] + "= '" + l[0] +"'" - #else: - condition += " and " + l[1]+ "= '" +l[0] +"'" - #flag = 1 - - emp_query = "select name from `tabEmployee` where status = 'Active'" - #if flag == 1: - emp_query += condition - - e = sql(emp_query) - return e - - # ********************************************************************** - def emp_fr_salstr(self,e1): - lst = [] - for r in e1: - lst.append(r[0]) - - - e_lst = "%s"%lst - e_lst=e_lst.replace("[","(") - e_lst=e_lst.replace("]",")") - cond = '' - - if e1: - cond = " and employee in %s"%e_lst - - el=sql("select employee from `tabSalary Structure` where is_active = 'Yes'"+cond) - - return el - - # ********************************************************************** - def emp_fr_salslip(self,e2): - e3 = [] - for i in e2: - ret = sql("select name from `tabSalary Slip` where month = '%s' and year = '%s' and employee = '%s' and docstatus !=2 "%(self.doc.month,self.doc.year,i[0])) - - if not ret: - e3.append(i[0]) - return e3 - - # ********************************************************************** - def process_payroll(self): - sal_slip_str = '' - if self.doc.month and self.doc.fiscal_year and self.doc.year: - e = self.get_employee() - if e: - self.doc.emp_lst=e - sal_slip_str += 'Sucessfully created following salary slips:' - for i in e: - ss = Document('Salary Slip') - ss.fiscal_year = self.doc.fiscal_year - ss.employee = i - ss.month = self.doc.month - ss.year= self.doc.year - ss.arrear_amount = self.doc.arrear_amount - ss.email_check = self.doc.email_check - ss.save(1) - salary_obj=get_obj("Salary Slip",ss.name,with_children=1) - salary_obj.process_payroll_all() - sal_slip_str += "
"+ss.name - - else: - - msgprint("For Process Payroll Fiscal Year, Month, Year fields are mandatory.") - if not sal_slip_str: - - sal_slip_str = "No record found." - return cstr(sal_slip_str) - - # ********************************************************************** - def submit_sal_slip(self): - - sal_slip_str = '' - r = sql("select name from `tabSalary Slip` where month='%s' and year = '%s' and fiscal_year = '%s' and docstatus = 0"%(self.doc.month,self.doc.year,self.doc.fiscal_year)) - - - ret = sql("update `tabSalary Slip` set docstatus = 1 where month='%s' and year = '%s' and fiscal_year = '%s' and docstatus = 0"%(self.doc.month,self.doc.year,self.doc.fiscal_year)) - if r: - sal_slip_str += 'Sucessfully updated following salary slips:' - for i in r: - - salary_obj=get_obj("Salary Slip",i[0],with_children=1) - salary_obj.on_submit() - sal_slip_str += "
"+cstr(i[0]) - if not sal_slip_str: - - sal_slip_str = "No record found." - return cstr(sal_slip_str) - - # ********************************************************************** - #get default bank account,default salary acount from company. - def get_acct_dtl(self): - res = sql("select default_bank_account,default_salary_acount from `tabCompany` where name = '%s'"%get_defaults()['company'], as_dict=1) - return res[0] From 781b3eeb81c28eab0d0b6ae0c84d0fcfd30584bf Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 25 Aug 2011 13:30:02 +0530 Subject: [PATCH 41/81] Salary Manager rewriten for multiple sal slip generation. Test case included. --- hr/doctype/salary_manager/salary_manager.js | 32 ++++- hr/doctype/salary_manager/salary_manager.py | 26 +++- hr/doctype/salary_manager/salary_manager.txt | 113 +++++++++++------- hr/doctype/salary_slip/salary_slip.js | 98 +++++++-------- hr/doctype/salary_slip/salary_slip.py | 38 +++++- .../salary_structure/salary_structure.txt | 88 +++----------- 6 files changed, 225 insertions(+), 170 deletions(-) diff --git a/hr/doctype/salary_manager/salary_manager.js b/hr/doctype/salary_manager/salary_manager.js index 0c693f2cfb..5b9465d7c6 100644 --- a/hr/doctype/salary_manager/salary_manager.js +++ b/hr/doctype/salary_manager/salary_manager.js @@ -1,11 +1,37 @@ +var display_activity_log = function(msg) { + if(!pscript.ss_html) + pscript.ss_html = $a(cur_frm.fields_dict['Activity Log'].wrapper,'div','',{border:'1px solid #CCC', backgroundColor:'#CCC'}); + pscript.ss_html.innerHTML = '
Activity Log:
'; + pscript.ss_html.innerHTML += '
'+ msg + '
'; +} + +//Create salary slip +//----------------------- +cur_frm.cscript['Create Salary Slip'] = function(doc, cdt, cdn) { + var callback = function(r, rt){ + if (r.message) + display_activity_log(r.message); + } + $c('runserverobj', args={'method':'create_sal_slip','docs':compress_doclist(make_doclist (cdt, cdn))},callback); +} + + + +//Submit salary slip +//----------------------- cur_frm.cscript['Submit Salary Slip'] = function(doc, cdt, cdn) { - var check = confirm("DO you really want to Submit all Salary Slip for month : " + doc.month+" and fiscal year : "+doc.fiscal_year); + var check = confirm("Do you really want to Submit all Salary Slip for month : " + doc.month+" and fiscal year : "+doc.fiscal_year); if(check){ - $c('runserverobj', args={'method':'submit_salary_slip','docs':compress_doclist(make_doclist (cdt, cdn))},''); + var callback = function(r, rt){ + if (r.message) + display_activity_log(r.message); + } + $c('runserverobj', args={'method':'submit_salary_slip','docs':compress_doclist(make_doclist (cdt, cdn))},callback); } } // Make Bank Voucher +//----------------------- cur_frm.cscript['Make Bank Voucher'] = function(doc,cdt,cdn){ if(doc.month && doc.fiscal_year){ cur_frm.cscript.make_jv(doc, cdt, cdn); @@ -14,7 +40,7 @@ cur_frm.cscript['Make Bank Voucher'] = function(doc,cdt,cdn){ // Make JV -// -------- +//----------------------- cur_frm.cscript.make_jv = function(doc, dt, dn) { var call_back = function(r,rt){ var jv = LocalDB.create('Journal Voucher'); diff --git a/hr/doctype/salary_manager/salary_manager.py b/hr/doctype/salary_manager/salary_manager.py index 1642ef4eff..5344248c83 100644 --- a/hr/doctype/salary_manager/salary_manager.py +++ b/hr/doctype/salary_manager/salary_manager.py @@ -64,7 +64,14 @@ class DocType: Creates salary slip for selected employees if already not created """ + emp_list = self.get_emp_list() + log = "" + if emp_list: + log = "
S.NO.QUANTITYCS.NO.DESCRIPTIONWEIGHT
'+cstr(sno+1)+''+cstr(d.qty)+''+d.item_code+''+cstr(d.pack_nett_wt)+'
" + else: + log = "
Following Salary Slip has been created:
SAL SLIP IDEMPLOYEE NAME
" + for emp in emp_list: if not sql("""select name from `tabSalary Slip` where docstatus!= 2 and employee = %s and month = %s and fiscal_year = %s and company = %s @@ -87,7 +94,10 @@ class DocType: d.save() for d in getlist(ss_obj.doclist, 'deduction_details'): d.save() - + + log += '' + log += '
No employee found for the above selected criteria
' + ss.name + '' + ss_obj.doc.employee_name + '
' + return log def get_sal_slip_list(self): """ @@ -107,11 +117,21 @@ class DocType: Submit all salary slips based on selected criteria """ ss_list = self.get_sal_slip_list() + log = "" + if ss_list: + log = "" + else: + log = "
Following Salary Slip has been submitted:
SAL SLIP IDEMPLOYEE NAME
" + for ss in ss_list: ss_obj = get_obj("Salary Slip",ss[0],with_children=1) set(ss_obj.doc, 'docstatus', 1) ss_obj.on_submit() + log += '' + log += '
No salary slip found to submit for the above selected criteria
' + ss[0] + '' + ss_obj.doc.employee_name + '
' + return log + def get_total_salary(self): """ @@ -133,8 +153,8 @@ class DocType: amt = self.get_total_salary() com = sql("select default_bank_account,default_salary_acount from `tabCompany` where name = '%s'" % self.doc.company) - #if not com[0][0] or not com[0][1]: - #msgprint("You can set Default Salary Head and Default Bank Account in Setup --> Global Defaults.") + if not com[0][0] or not com[0][1]: + msgprint("You can set Default Salary Head and Default Bank Account in Setup --> Global Defaults.") ret = { 'def_bank_acc' : com and com[0][0] or '', diff --git a/hr/doctype/salary_manager/salary_manager.txt b/hr/doctype/salary_manager/salary_manager.txt index 19f95d11da..66a7282380 100644 --- a/hr/doctype/salary_manager/salary_manager.txt +++ b/hr/doctype/salary_manager/salary_manager.txt @@ -5,14 +5,14 @@ { 'creation': '2011-08-11 16:40:04', 'docstatus': 0, - 'modified': '2011-08-12 14:08:33', + 'modified': '2011-08-25 12:02:57', 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1313129645', + '_last_update': '1314179318', 'allow_copy': 1, 'allow_email': 1, 'allow_print': 1, @@ -24,7 +24,7 @@ 'name': '__common__', 'section_style': 'Simple', 'show_in_menu': 1, - 'version': 15 + 'version': 29 }, # These values are common for all DocField @@ -77,11 +77,28 @@ 'role': 'HR Manager' }, + # DocField + { + 'colour': 'White:FFF', + 'doctype': 'DocField', + 'fieldtype': 'HTML', + 'idx': 1, + 'label': 'Document Description', + 'options': '
You can generate multiple salary slips based on the selected criteria, submit and mail those to the employee directly from here
' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'idx': 2 + }, + # DocField { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 1, + 'idx': 3, 'width': '50%' }, @@ -90,9 +107,10 @@ 'doctype': 'DocField', 'fieldname': 'company', 'fieldtype': 'Select', - 'idx': 2, + 'idx': 4, 'label': 'Company', - 'options': 'link:Company' + 'options': 'link:Company', + 'reqd': 1 }, # DocField @@ -100,7 +118,7 @@ 'doctype': 'DocField', 'fieldname': 'branch', 'fieldtype': 'Link', - 'idx': 3, + 'idx': 5, 'label': 'Branch', 'options': 'Branch' }, @@ -110,7 +128,7 @@ 'doctype': 'DocField', 'fieldname': 'department', 'fieldtype': 'Link', - 'idx': 4, + 'idx': 6, 'label': 'Department', 'options': 'Department' }, @@ -120,7 +138,7 @@ 'doctype': 'DocField', 'fieldname': 'designation', 'fieldtype': 'Link', - 'idx': 5, + 'idx': 7, 'label': 'Designation', 'options': 'Designation' }, @@ -129,7 +147,7 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 6, + 'idx': 8, 'width': '50%' }, @@ -138,7 +156,7 @@ 'doctype': 'DocField', 'fieldname': 'grade', 'fieldtype': 'Select', - 'idx': 7, + 'idx': 9, 'label': 'Grade', 'options': 'link:Grade' }, @@ -148,7 +166,7 @@ 'doctype': 'DocField', 'fieldname': 'employment_type', 'fieldtype': 'Select', - 'idx': 8, + 'idx': 10, 'label': 'Employment Type', 'options': 'link:Employment Type' }, @@ -159,7 +177,7 @@ 'doctype': 'DocField', 'fieldname': 'fiscal_year', 'fieldtype': 'Select', - 'idx': 9, + 'idx': 11, 'label': 'Fiscal Year', 'options': 'link:Fiscal Year', 'reqd': 1 @@ -171,7 +189,7 @@ 'doctype': 'DocField', 'fieldname': 'month', 'fieldtype': 'Select', - 'idx': 10, + 'idx': 12, 'label': 'Month', 'options': '\n01\n02\n03\n04\n05\n06\n07\n08\n09\n10\n11\n12', 'reqd': 1 @@ -184,7 +202,7 @@ 'doctype': 'DocField', 'fieldname': 'send_email', 'fieldtype': 'Check', - 'idx': 11, + 'idx': 13, 'label': 'Send Email' }, @@ -192,14 +210,14 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 12 + 'idx': 14 }, # DocField { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 13, + 'idx': 15, 'width': '50%' }, @@ -209,28 +227,9 @@ 'description': 'Creates salary slip for above mentioned criteria.', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 14, - 'label': 'Create Salary Slip', - 'options': 'create_sal_slip' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldtype': 'Column Break', - 'idx': 15, - 'width': '25%' - }, - - # DocField - { - 'colour': 'White:FFF', - 'description': 'Submit all salary slips for the particular year and month', - 'doctype': 'DocField', - 'fieldtype': 'Button', 'idx': 16, - 'label': 'Submit Salary Slip', - 'options': 'submit_salary_slip' + 'label': 'Create Salary Slip', + 'trigger': 'Client' }, # DocField @@ -244,11 +243,45 @@ # DocField { 'colour': 'White:FFF', - 'description': 'Create Bank Voucher for the total salary paid in the particular month and year', + 'description': 'Submit all salary slips for the above selected criteria', 'doctype': 'DocField', 'fieldtype': 'Button', 'idx': 18, + 'label': 'Submit Salary Slip', + 'trigger': 'Client' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break', + 'idx': 19, + 'width': '25%' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'Create Bank Voucher for the total salary paid for the above selected criteria', + 'doctype': 'DocField', + 'fieldtype': 'Button', + 'idx': 20, 'label': 'Make Bank Voucher', - 'options': 'make_bank_voucher' + 'trigger': 'Client' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'idx': 21 + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'HTML', + 'idx': 22, + 'label': 'Activity Log' } ] \ No newline at end of file diff --git a/hr/doctype/salary_slip/salary_slip.js b/hr/doctype/salary_slip/salary_slip.js index 8f953e61ca..c6ae27bfd6 100644 --- a/hr/doctype/salary_slip/salary_slip.js +++ b/hr/doctype/salary_slip/salary_slip.js @@ -3,25 +3,25 @@ cur_frm.add_fetch('employee', 'company', 'company'); // On load // ------------------------------------------------------------------- cur_frm.cscript.onload = function(doc,dt,dn){ - if((cint(doc.__islocal) == 1) && !doc.amended_from){ - var today=new Date(); - month = (today.getMonth()+01).toString(); - if(month.length>1) doc.month = month; - else doc.month = '0'+month; + if((cint(doc.__islocal) == 1) && !doc.amended_from){ + var today=new Date(); + month = (today.getMonth()+01).toString(); + if(month.length>1) doc.month = month; + else doc.month = '0'+month; doc.fiscal_year = sys_defaults['fiscal_year']; - refresh_many(['month', 'fiscal_year']); - cur_frm.cscript.fiscal_year(doc, dt, dn); - } + refresh_many(['month', 'fiscal_year']); + cur_frm.cscript.fiscal_year(doc, dt, dn); + } } // Get leave details //--------------------------------------------------------------------- cur_frm.cscript.fiscal_year = function(doc,dt,dn){ - $c_obj(make_doclist(doc.doctype,doc.name), 'get_emp_and_leave_details','',function(r, rt) { - var doc = locals[dt][dn]; - cur_frm.refresh(); - calculate_all(doc, dt, dn); - }); + $c_obj(make_doclist(doc.doctype,doc.name), 'get_emp_and_leave_details','',function(r, rt) { + var doc = locals[dt][dn]; + cur_frm.refresh(); + calculate_all(doc, dt, dn); + }); } cur_frm.cscript.month = cur_frm.cscript.employee = cur_frm.cscript.fiscal_year; @@ -29,24 +29,24 @@ cur_frm.cscript.month = cur_frm.cscript.employee = cur_frm.cscript.fiscal_year; // Calculate total if lwp exists // ------------------------------------------------------------------------ cur_frm.cscript.leave_without_pay = function(doc,dt,dn){ - doc.payment_days = flt(doc.total_days_in_month) - flt(doc.leave_without_pay); - refresh_field('payment_days'); - calculate_all(doc, dt, dn); + doc.payment_days = flt(doc.total_days_in_month) - flt(doc.leave_without_pay); + refresh_field('payment_days'); + calculate_all(doc, dt, dn); } // Calculate all // ------------------------------------------------------------------------ var calculate_all = function(doc, dt, dn) { - calculate_earning_total(doc, dt, dn); - calculate_ded_total(doc, dt, dn); - calculate_net_pay(doc, dt, dn); + calculate_earning_total(doc, dt, dn); + calculate_ded_total(doc, dt, dn); + calculate_net_pay(doc, dt, dn); } // Trigger on earning modified amount and depends on lwp // ------------------------------------------------------------------------ cur_frm.cscript.e_modified_amount = function(doc,dt,dn){ - calculate_earning_total(doc, dt, dn); - calculate_net_pay(doc, dt, dn); + calculate_earning_total(doc, dt, dn); + calculate_net_pay(doc, dt, dn); } cur_frm.cscript.e_depends_on_lwp = cur_frm.cscript.e_modified_amount; @@ -54,8 +54,8 @@ cur_frm.cscript.e_depends_on_lwp = cur_frm.cscript.e_modified_amount; // Trigger on earning modified amount and depends on lwp // ------------------------------------------------------------------------ cur_frm.cscript.d_modified_amount = function(doc,dt,dn){ - calculate_ded_total(doc, dt, dn); - calculate_net_pay(doc, dt, dn); + calculate_ded_total(doc, dt, dn); + calculate_net_pay(doc, dt, dn); } cur_frm.cscript.d_depends_on_lwp = cur_frm.cscript.d_modified_amount; @@ -63,50 +63,50 @@ cur_frm.cscript.d_depends_on_lwp = cur_frm.cscript.d_modified_amount; // Calculate earning total // ------------------------------------------------------------------------ var calculate_earning_total = function(doc, dt, dn) { - var tbl = getchildren('SS Earning Detail', doc.name, 'earning_details', doc.doctype); + var tbl = getchildren('SS Earning Detail', doc.name, 'earning_details', doc.doctype); - var total_earn = 0; - for(var i = 0; i < tbl.length; i++){ - if(cint(tbl[i].e_depends_on_lwp) == 1) { - tbl[i].e_modified_amount = flt(tbl[i].e_amount)*(flt(doc.payment_days)/cint(doc.total_days_in_month)); - refresh_field('e_modified_amount', tbl[i].name, 'earning_details'); - } - total_earn += flt(tbl[i].e_modified_amount); - } - doc.gross_pay = total_earn + flt(doc.arrear_amount) + flt(doc.leave_encashment_amount); - refresh_many(['e_modified_amount', 'gross_pay']); + var total_earn = 0; + for(var i = 0; i < tbl.length; i++){ + if(cint(tbl[i].e_depends_on_lwp) == 1) { + tbl[i].e_modified_amount = Math.round(tbl[i].e_amount)*(flt(doc.payment_days)/cint(doc.total_days_in_month)*100)/100; + refresh_field('e_modified_amount', tbl[i].name, 'earning_details'); + } + total_earn += flt(tbl[i].e_modified_amount); + } + doc.gross_pay = total_earn + flt(doc.arrear_amount) + flt(doc.leave_encashment_amount); + refresh_many(['e_modified_amount', 'gross_pay']); } // Calculate deduction total // ------------------------------------------------------------------------ var calculate_ded_total = function(doc, dt, dn) { - var tbl = getchildren('SS Deduction Detail', doc.name, 'deduction_details', doc.doctype); + var tbl = getchildren('SS Deduction Detail', doc.name, 'deduction_details', doc.doctype); - var total_ded = 0; - for(var i = 0; i < tbl.length; i++){ - if(cint(tbl[i].d_depends_on_lwp) == 1) { - tbl[i].d_modified_amount = flt(tbl[i].d_amount)*(flt(doc.payment_days)/cint(doc.total_days_in_month)); + var total_ded = 0; + for(var i = 0; i < tbl.length; i++){ + if(cint(tbl[i].d_depends_on_lwp) == 1) { + tbl[i].d_modified_amount = Math.round(tbl[i].d_amount)*(flt(doc.payment_days)/cint(doc.total_days_in_month)*100)/100; refresh_field('d_modified_amount', tbl[i].name, 'deduction_details'); - } - total_ded += flt(tbl[i].d_modified_amount); - } - doc.total_deduction = total_ded; - refresh_field('total_deduction'); + } + total_ded += flt(tbl[i].d_modified_amount); + } + doc.total_deduction = total_ded; + refresh_field('total_deduction'); } // Calculate net payable amount // ------------------------------------------------------------------------ var calculate_net_pay = function(doc, dt, dn) { - doc.net_pay = flt(doc.gross_pay) - flt(doc.total_deduction); + doc.net_pay = flt(doc.gross_pay) - flt(doc.total_deduction); doc.rounded_total = Math.round(doc.net_pay); - refresh_many(['net_pay', 'rounded_total']); + refresh_many(['net_pay', 'rounded_total']); } // trigger on arrear // ------------------------------------------------------------------------ cur_frm.cscript.arrear_amount = function(doc,dt,dn){ - calculate_earning_total(doc, dt, dn); - calculate_net_pay(doc, dt, dn); + calculate_earning_total(doc, dt, dn); + calculate_net_pay(doc, dt, dn); } // trigger on encashed amount @@ -116,5 +116,5 @@ cur_frm.cscript.leave_encashment_amount = cur_frm.cscript.arrear_amount; // validate // ------------------------------------------------------------------------ cur_frm.cscript.validate = function(doc, dt, dn) { - calculate_all(doc, dt, dn); + calculate_all(doc, dt, dn); } diff --git a/hr/doctype/salary_slip/salary_slip.py b/hr/doctype/salary_slip/salary_slip.py index af55956149..0cdc898673 100644 --- a/hr/doctype/salary_slip/salary_slip.py +++ b/hr/doctype/salary_slip/salary_slip.py @@ -68,7 +68,7 @@ class DocType(TransactionBase): # Get leave details #======================================================= def get_leave_details(self): - m = self.get_month_details() + m = self.get_month_details() lwp = self.calculate_lwp(m) self.doc.total_days_in_month = m[3] self.doc.leave_without_pay = lwp @@ -129,12 +129,45 @@ class DocType(TransactionBase): self.check_existing() dcc = TransactionBase().get_company_currency(self.doc.company) self.doc.total_in_words = get_obj('Sales Common').get_total_in_words(dcc, self.doc.rounded_total) + + + def calculate_earning_total(self): + """ + Calculates total earnings considering lwp + """ + self.doc.gross_pay = flt(self.doc.arrear_amount) + flt(self.doc.leave_encashment_amount) + for d in getlist(self.doclist, 'earning_details'): + if cint(d.e_depends_on_lwp) == 1: + d.e_modified_amount = round(flt(d.e_amount)*flt(self.doc.payment_days)/cint(self.doc.total_days_in_month), 2) + self.doc.gross_pay += d.e_modified_amount + + def calculate_ded_total(self): + """ + Calculates total deduction considering lwp + """ + self.doc.total_deduction = 0 + for d in getlist(self.doclist, 'deduction_details'): + if cint(d.d_depends_on_lwp) == 1: + d.d_modified_amount = round(flt(d.d_amount)*flt(self.doc.payment_days)/cint(self.doc.total_days_in_month), 2) + self.doc.total_deduction += d.d_modified_amount + + def calculate_net_pay(self): + """ + Calculate net payment + """ + self.calculate_earning_total() + self.calculate_ded_total() + self.doc.net_pay = flt(self.doc.gross_pay) - flt(self.doc.total_deduction) + self.doc.rounded_total = round(self.doc.net_pay) # ON SUBMIT #======================================================= def on_submit(self): if(self.doc.email_check == 1): self.send_mail_funct() + + + # Send mail #======================================================= @@ -148,8 +181,7 @@ class DocType(TransactionBase): earn_table = '' ded_table = '' - if earn_ret: - + if earn_ret: earn_table += "" for e in earn_ret: diff --git a/hr/doctype/salary_structure/salary_structure.txt b/hr/doctype/salary_structure/salary_structure.txt index 3dcb8f9104..d9a9acd37a 100644 --- a/hr/doctype/salary_structure/salary_structure.txt +++ b/hr/doctype/salary_structure/salary_structure.txt @@ -5,14 +5,14 @@ { 'creation': '2010-12-14 16:50:05', 'docstatus': 0, - 'modified': '2011-06-27 14:39:11', + 'modified': '2011-08-11 16:56:38', 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1308808105', + '_last_update': '1311621379', 'colour': 'White:FFF', 'doctype': 'DocType', 'module': 'HR', @@ -21,7 +21,7 @@ 'server_code_error': ' ', 'show_in_menu': 0, 'subject': 'For %(employee_name)s', - 'version': 586 + 'version': 587 }, # These values are common for all DocField @@ -39,7 +39,8 @@ 'name': '__common__', 'parent': 'Salary Structure', 'parentfield': 'permissions', - 'parenttype': 'DocType' + 'parenttype': 'DocType', + 'read': 1 }, # DocType, Salary Structure @@ -54,9 +55,9 @@ 'cancel': 0, 'create': 0, 'doctype': 'DocPerm', - 'match': 'owner', + 'idx': 1, 'permlevel': 0, - 'read': 1, + 'role': 'Employee', 'submit': 0, 'write': 0 }, @@ -66,97 +67,40 @@ 'amend': 0, 'cancel': 0, 'create': 0, - 'doctype': 'DocPerm', - 'match': 'owner', - 'permlevel': 0, - 'read': 1, - 'submit': 0, - 'write': 0 - }, - - # DocPerm - { - 'amend': 0, - 'cancel': 0, - 'create': 0, - 'doctype': 'DocPerm', - 'match': 'owner', - 'permlevel': 0, - 'read': 1, - 'submit': 0, - 'write': 0 - }, - - # DocPerm - { - 'amend': 0, - 'cancel': 0, - 'create': 0, - 'doctype': 'DocPerm', - 'match': 'owner', - 'permlevel': 0, - 'read': 1, - 'submit': 0, - 'write': 0 - }, - - # DocPerm - { - 'doctype': 'DocPerm', - 'permlevel': 0, - 'role': 'Sales User' - }, - - # DocPerm - { 'doctype': 'DocPerm', 'idx': 2, 'permlevel': 1, - 'read': 1, 'role': 'All', + 'submit': 0, 'write': 0 }, # DocPerm { - 'create': 1, + 'amend': 0, + 'cancel': 0, + 'create': 0, 'doctype': 'DocPerm', 'idx': 3, 'permlevel': 0, - 'read': 1, 'role': 'HR User', - 'write': 1 + 'submit': 0, + 'write': 0 }, # DocPerm { + 'amend': 1, + 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', 'idx': 4, 'permlevel': 0, - 'read': 1, 'role': 'HR Manager', + 'submit': 1, 'write': 1 }, - # DocPerm - { - 'doctype': 'DocPerm', - 'idx': 5, - 'permlevel': 1, - 'read': 1, - 'role': 'HR Manager' - }, - - # DocPerm - { - 'doctype': 'DocPerm', - 'idx': 6, - 'permlevel': 1, - 'read': 1, - 'role': 'HR User' - }, - # DocField { 'doctype': 'DocField', From 6d121b3faab5ac5162298e47f96e93a0b7520dc8 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 25 Aug 2011 13:51:21 +0530 Subject: [PATCH 42/81] Error in loading JV fixed --- hr/doctype/salary_manager/salary_manager.js | 6 +++--- hr/doctype/salary_manager/salary_manager.py | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/hr/doctype/salary_manager/salary_manager.js b/hr/doctype/salary_manager/salary_manager.js index 5b9465d7c6..cf470be8c7 100644 --- a/hr/doctype/salary_manager/salary_manager.js +++ b/hr/doctype/salary_manager/salary_manager.js @@ -46,10 +46,10 @@ cur_frm.cscript.make_jv = function(doc, dt, dn) { var jv = LocalDB.create('Journal Voucher'); jv = locals['Journal Voucher'][jv]; jv.voucher_type = 'Bank Voucher'; - jv.remark = 'Payment of salary for month: ' + doc.month + 'and fiscal year: ' + doc.fiscal_year; + jv.user_remark = 'Payment of salary for the month: ' + doc.month + 'and fiscal year: ' + doc.fiscal_year; jv.fiscal_year = doc.fiscal_year; jv.company = doc.company; - jv.posting_date = new Date(); + jv.posting_date = dateutil.obj_to_str(new Date()); // credit to bank var d1 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries'); @@ -60,7 +60,7 @@ cur_frm.cscript.make_jv = function(doc, dt, dn) { var d2 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries'); d2.account = r.message['default_salary_account']; d2.debit = r.message['amount'] - + loaddoc('Journal Voucher', jv.name); } $c_obj(make_doclist(dt,dn),'get_acc_details','',call_back); diff --git a/hr/doctype/salary_manager/salary_manager.py b/hr/doctype/salary_manager/salary_manager.py index 5344248c83..ec8fba271a 100644 --- a/hr/doctype/salary_manager/salary_manager.py +++ b/hr/doctype/salary_manager/salary_manager.py @@ -140,10 +140,10 @@ class DocType: cond = self.get_filter_condition() tot = sql(""" select sum(rounded_total) from `tabSalary Slip` t1 - where t1.docstatus = 0 and month = '%s' and fiscal_year = '%s' %s + where t1.docstatus = 1 and month = '%s' and fiscal_year = '%s' %s """ % (self.doc.month, self.doc.fiscal_year, cond)) - return flt(tot) + return flt(tot[0][0]) def get_acc_details(self): @@ -151,10 +151,10 @@ class DocType: get default bank account,default salary acount from company """ amt = self.get_total_salary() - com = sql("select default_bank_account,default_salary_acount from `tabCompany` where name = '%s'" % self.doc.company) + com = sql("select default_bank_account from `tabCompany` where name = '%s'" % self.doc.company) if not com[0][0] or not com[0][1]: - msgprint("You can set Default Salary Head and Default Bank Account in Setup --> Global Defaults.") + msgprint("You can set Default Bank Account in Company master.") ret = { 'def_bank_acc' : com and com[0][0] or '', From cfe8ee89fe249778baddd41a29e120cd93621efa Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 25 Aug 2011 14:02:01 +0530 Subject: [PATCH 43/81] Salary Manager Link in HR module and deleted salary slip control panel link --- hr/Module Def/HR/HR.txt | 531 ++++++++++------------------------------ patches/patch.py | 5 +- 2 files changed, 127 insertions(+), 409 deletions(-) diff --git a/hr/Module Def/HR/HR.txt b/hr/Module Def/HR/HR.txt index 5ad5e54194..212d689e4e 100644 --- a/hr/Module Def/HR/HR.txt +++ b/hr/Module Def/HR/HR.txt @@ -1,603 +1,318 @@ +# Module Def, HR [ + + # These values are common in all dictionaries { - '_last_update': None, - 'creation': '2011-06-30 15:51:33', - 'disabled': 'No', + 'creation': '2011-07-01 17:41:43', 'docstatus': 0, - 'doctype': u'Module Def', - 'doctype_list': None, - 'file_list': None, - 'idx': None, - 'is_hidden': 'No', - 'last_updated_date': None, - 'modified': '2011-06-30 15:51:33', + 'modified': '2011-08-25 13:54:43', 'modified_by': 'Administrator', + 'owner': 'Administrator' + }, + + # These values are common for all Module Def Role + { + 'doctype': 'Module Def Role', + 'name': '__common__', + 'parent': 'HR', + 'parentfield': 'roles', + 'parenttype': 'Module Def' + }, + + # These values are common for all Module Def Item + { + 'doctype': 'Module Def Item', + 'name': '__common__', + 'parent': 'HR', + 'parentfield': 'items', + 'parenttype': 'Module Def' + }, + + # These values are common for all Module Def + { + 'disabled': 'No', + 'doctype': u'Module Def', + 'is_hidden': 'No', 'module_desc': 'Human Resource Management - Employee Database, Salaries etc.', 'module_icon': 'HR.gif', 'module_label': 'HR', 'module_name': 'HR', - 'module_page': None, 'module_seq': 9, - 'name': 'HR', - 'owner': 'Administrator', - 'parent': None, - 'parentfield': None, - 'parenttype': None, - 'trash_reason': None, - 'widget_code': None + 'name': '__common__' }, + + # Module Def, HR + { + 'doctype': u'Module Def', + 'name': 'HR' + }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', 'description': 'Your Employee Database', 'display_name': 'Employee', 'doc_name': 'Employee', 'doc_type': 'Forms', - 'docstatus': 0, 'doctype': 'Module Def Item', 'fields': 'employee_name\nemployment_type\nstatus\nbranch\ndesignation\ndepartment\ngrade\nreports_to', - 'hide': None, - 'icon': None, - 'idx': 1, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01335', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 1 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', 'description': 'Employees Daily Attendance Tracking Form', 'display_name': 'Attendance', 'doc_name': 'Attendance', 'doc_type': 'Forms', - 'docstatus': 0, 'doctype': 'Module Def Item', 'fields': 'employee\nemployee_name\nstatus\natt_date\nfiscal_year\ncompany', - 'hide': None, - 'icon': None, - 'idx': 2, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01336', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 2 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', 'description': 'Upload Attendance data', 'display_name': 'Attendance Control Panel', 'doc_name': 'Attendance Control Panel', 'doc_type': 'Single DocType', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 3, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01337', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 3 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', 'description': 'Leave allocation for selected employees at a time', 'display_name': 'Leave Control Panel', 'doc_name': 'Leave Control Panel', 'doc_type': 'Single DocType', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 4, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01338', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 4 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', 'description': 'Allocate leave for fiscal year', 'display_name': 'Leave Allocation', 'doc_name': 'Leave Allocation', 'doc_type': 'Forms', - 'docstatus': 0, 'doctype': 'Module Def Item', 'fields': 'employee\nleave_type\nfiscal_year\ntotal_leaves_allocated\nposting_date', - 'hide': None, - 'icon': None, - 'idx': 5, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01339', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 5 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', 'description': 'Apply Leave', 'display_name': 'Leave Application', 'doc_name': 'Leave Application', 'doc_type': 'Forms', - 'docstatus': 0, 'doctype': 'Module Def Item', 'fields': 'employee\nleave_type\nfiscal_year\nfrom_date\nto_date\ntotal_leave_days', - 'hide': None, - 'icon': None, - 'idx': 6, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01340', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 6 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', 'description': 'Submit Employees Expenses', 'display_name': 'Expense Voucher', 'doc_name': 'Expense Voucher', 'doc_type': 'Forms', - 'docstatus': 0, 'doctype': 'Module Def Item', 'fields': 'status\nemployee\nemployee_name\nposting_date\ntotal_claimed_amount\ntotal_sanctioned_amount\nexp_approver', - 'hide': None, - 'icon': None, - 'idx': 7, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01341', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 7 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', 'description': 'Assign Responsibilities to employee and evaluate', 'display_name': 'Appraisal', 'doc_name': 'Appraisal', 'doc_type': 'Forms', - 'docstatus': 0, 'doctype': 'Module Def Item', 'fields': 'status\nemployee\nemployee_name\nstart_date\nend_date\ntotal_score\nkra_approver', - 'hide': None, - 'icon': None, - 'idx': 8, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01342', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 8 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', 'description': 'Generate Salary Structure heads for an employee', 'display_name': 'Salary Structure', 'doc_name': 'Salary Structure', 'doc_type': 'Forms', - 'docstatus': 0, 'doctype': 'Module Def Item', 'fields': 'employee\nis_active\nfiscal_year\nfrom_date\nctc\ntotal_earning\ntotal_deduction\ntotal', - 'hide': None, - 'icon': None, - 'idx': 9, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01343', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 9 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', 'description': 'Generate Salary Slip for an employee', 'display_name': 'Salary Slip', 'doc_name': 'Salary Slip', 'doc_type': 'Forms', - 'docstatus': 0, 'doctype': 'Module Def Item', 'fields': 'month\nyear\nemployee\nemployee_name\npayment_days\narrear_amount\nencashment_amount\ngross_pay\ntotal_deduction\nnet_pay', - 'hide': None, - 'icon': None, - 'idx': 10, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01344', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 10 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', - 'description': 'Generate Salary Slip for all employee at a time', - 'display_name': 'Salary Slip Control Panel', - 'doc_name': 'Salary Slip Control Panel', + 'description': 'Generate Salary Slip for multiple employee at a time based on selected criteria', + 'display_name': 'Salary Manager', + 'doc_name': 'Salary Manager', 'doc_type': 'Single DocType', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 11, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01345', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 11 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', 'description': 'Job Applications received for various positions', 'display_name': 'Job Application', 'doc_name': 'Job Application', 'doc_type': 'Forms', - 'docstatus': 0, 'doctype': 'Module Def Item', 'fields': 'applicant_name\nemail\nposition', - 'hide': None, - 'icon': None, - 'idx': 12, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01346', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 12 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', - 'description': None, 'display_name': 'Employee Information', 'doc_name': 'Employee', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 13, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01347', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 13 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', - 'description': None, 'display_name': "Employee's Birthday", 'doc_name': 'Employee', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 14, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01348', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 14 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', - 'description': None, 'display_name': 'New or left employees for a month', 'doc_name': 'Employee', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 15, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01349', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 15 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', - 'description': None, 'display_name': 'Monthly Attendance Details', 'doc_name': 'Attendance', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 16, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01350', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 16 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:33', - 'description': None, 'display_name': 'Leave Application Details', 'doc_name': 'Leave Application', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 17, - 'modified': '2011-06-30 15:51:33', - 'modified_by': 'Administrator', - 'name': 'MDI01351', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 17 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:34', - 'description': None, 'display_name': 'Leave Allocation Details', 'doc_name': 'Leave Allocation', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 18, - 'modified': '2011-06-30 15:51:34', - 'modified_by': 'Administrator', - 'name': 'MDI01352', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 18 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:34', - 'description': None, 'display_name': 'Employee Leave Balance Report', 'doc_name': 'Employee', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 19, - 'modified': '2011-06-30 15:51:34', - 'modified_by': 'Administrator', - 'name': 'MDI01353', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 19 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:34', - 'description': None, 'display_name': 'Salary Structure Details', 'doc_name': 'Salary Structure', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 20, - 'modified': '2011-06-30 15:51:34', - 'modified_by': 'Administrator', - 'name': 'MDI01354', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 20 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:34', - 'description': None, 'display_name': 'Salary Register', 'doc_name': 'Salary Slip', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 21, - 'modified': '2011-06-30 15:51:34', - 'modified_by': 'Administrator', - 'name': 'MDI01355', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 21 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:34', - 'description': None, 'display_name': 'Salary Slips', 'doc_name': 'Salary Slip', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 22, - 'modified': '2011-06-30 15:51:34', - 'modified_by': 'Administrator', - 'name': 'MDI01356', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 22 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:34', - 'description': None, 'display_name': 'Pending Appraisals', 'doc_name': 'Appraisal', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 23, - 'modified': '2011-06-30 15:51:34', - 'modified_by': 'Administrator', - 'name': 'MDI01357', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 23 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:34', - 'description': None, 'display_name': 'Employee Appraisals', 'doc_name': 'Appraisal', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 24, - 'modified': '2011-06-30 15:51:34', - 'modified_by': 'Administrator', - 'name': 'MDI01358', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 24 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:34', - 'description': None, 'display_name': 'Pending Expense Vouchers', 'doc_name': 'Expense Voucher', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 25, - 'modified': '2011-06-30 15:51:34', - 'modified_by': 'Administrator', - 'name': 'MDI01359', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 25 }, + + # Module Def Item { - 'click_function': None, - 'creation': '2011-06-30 15:51:34', - 'description': None, 'display_name': 'Expense Vouchers', 'doc_name': 'Expense Voucher', 'doc_type': 'Reports', - 'docstatus': 0, 'doctype': 'Module Def Item', - 'fields': None, - 'hide': None, - 'icon': None, - 'idx': 26, - 'modified': '2011-06-30 15:51:34', - 'modified_by': 'Administrator', - 'name': 'MDI01360', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'items', - 'parenttype': 'Module Def' + 'idx': 26 }, + + # Module Def Role { - 'creation': '2011-06-30 15:51:34', - 'docstatus': 0, 'doctype': 'Module Def Role', 'idx': 1, - 'modified': '2011-06-30 15:51:34', - 'modified_by': 'Administrator', - 'name': 'MDR00340', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'roles', - 'parenttype': 'Module Def', 'role': 'HR Manager' }, + + # Module Def Role { - 'creation': '2011-06-30 15:51:34', - 'docstatus': 0, 'doctype': 'Module Def Role', 'idx': 2, - 'modified': '2011-06-30 15:51:34', - 'modified_by': 'Administrator', - 'name': 'MDR00341', - 'owner': 'Administrator', - 'parent': 'HR', - 'parentfield': 'roles', - 'parenttype': 'Module Def', 'role': 'HR User' } ] \ No newline at end of file diff --git a/patches/patch.py b/patches/patch.py index 482a276532..92ded48c90 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 343 +last_patch = 344 #------------------------------------------- @@ -1425,3 +1425,6 @@ def execute(patch_no): sql("update `tabDocField` set permlevel = 0 where parent = 'Stock Entry Detail' and fieldname in ('s_warehouse', 't_warehouse', 'fg_item')") elif patch_no == 343: reload_doc('stock','doctype','item_customer_detail') + elif patch_no == 344: + sql("delete from `tabModule Def Item` where display_name = 'Salary Slip Control Panel' and parent = 'HR'") + reload_doc('hr','Module Def','HR') From 54fbc8e4e6ae18da3b7854ef0bd2fc461f5f8a61 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 25 Aug 2011 14:12:17 +0530 Subject: [PATCH 44/81] fixed test case --- hr/doctype/salary_manager/test_salary_manager.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/hr/doctype/salary_manager/test_salary_manager.py b/hr/doctype/salary_manager/test_salary_manager.py index 1a0b48a18e..e3df804b0d 100644 --- a/hr/doctype/salary_manager/test_salary_manager.py +++ b/hr/doctype/salary_manager/test_salary_manager.py @@ -57,7 +57,7 @@ class TestSalarySlip(unittest.TestCase): self.assertTrue(ss[0][0]==67) def test_submit(self): - self.sm.submit_sal_slip() + self.sm.submit_salary_slip() ss = webnotes.conn.sql(""" select docstatus from `tabSalary Slip` @@ -112,7 +112,8 @@ emp1 = Document(fielddata={ 'grade':'grade1', 'naming_series':'EMP/', 'status':'Active', - 'docstatus':0 + 'docstatus':0, + 'employee_name':'emp1' }) emp2 = Document(fielddata={ @@ -135,7 +136,8 @@ ss1 = [ 'employee':'emp1', 'is_active':'Yes', 'department': 'dep1', - 'designation' : 'des1' + 'designation' : 'des1', + 'employee_name': 'emp1' }), Document(fielddata={ 'parenttype':'Salary Structure', From 9e6e7fa0ef851b92fedb4a780244d6d4c0c30e82 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 25 Aug 2011 16:08:06 +0530 Subject: [PATCH 45/81] bind an event to form refresh --- patches/patch.py | 2 +- startup/startup.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index 7f0cf691f1..dcd019b429 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -14,7 +14,7 @@ def execute(patch_no): from webnotes.model.doc import Document from webnotes.model import delete_doc - elif patch_no == 301: + if patch_no == 301: from patches.delivery_billing_status_patch import run_patch run_patch() elif patch_no == 302: diff --git a/startup/startup.js b/startup/startup.js index 4e2bc1dad6..5a2a816e89 100644 --- a/startup/startup.js +++ b/startup/startup.js @@ -538,3 +538,5 @@ pscript.set_user_fullname = function(ele,username,get_latest){ // ==================================================================== startup_setup(); + +$(document).bind('form_refresh', function() { }) \ No newline at end of file From 29d5549bde40a79581bcf4bd5b97cd5ac4d17521 Mon Sep 17 00:00:00 2001 From: Brahma K Date: Thu, 25 Aug 2011 16:20:16 +0530 Subject: [PATCH 46/81] Features Setting 1. Features Setting DocType 2. Startup.js will be added with a function which binds with refresh of doc 3. Startup.js contains the Features dictionary --- accounts/doctype/loan/__init__.py | 0 accounts/doctype/loan/loan.js | 54 ------ accounts/doctype/loan/loan.py | 48 ----- accounts/doctype/loan/loan.txt | 172 ------------------ accounts/doctype/loan/test_loan.py | 17 -- accounts/doctype/loan_installment/__init__.py | 0 .../loan_installment/loan_installment.txt | 111 ----------- .../receivable_voucher/receivable_voucher.js | 50 ++--- .../production_order/production_order.py | 12 +- selling/doctype/sales_order/sales_order.js | 4 +- 10 files changed, 33 insertions(+), 435 deletions(-) delete mode 100644 accounts/doctype/loan/__init__.py delete mode 100644 accounts/doctype/loan/loan.js delete mode 100644 accounts/doctype/loan/loan.py delete mode 100644 accounts/doctype/loan/loan.txt delete mode 100644 accounts/doctype/loan/test_loan.py delete mode 100644 accounts/doctype/loan_installment/__init__.py delete mode 100644 accounts/doctype/loan_installment/loan_installment.txt diff --git a/accounts/doctype/loan/__init__.py b/accounts/doctype/loan/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/accounts/doctype/loan/loan.js b/accounts/doctype/loan/loan.js deleted file mode 100644 index 5a453627ec..0000000000 --- a/accounts/doctype/loan/loan.js +++ /dev/null @@ -1,54 +0,0 @@ -$.extend(cur_frm.cscript, { - Generate: function(doc, dt, dn) { - cur_frm.cscript.clear_installments(doc); - for(var i=0; i< doc.no_of_installments; i++) { - d = LocalDB.add_child(doc, 'Loan Installment', 'installments'); - d.amount = doc.loan_amount / doc.no_of_installments; - d.due_date = dateutil.add_months(doc.start_date, i+1); - } - cur_frm.refresh(); - }, -/* submit:function(doc){ - data=doc.get_values(); - - data['']= - $c_obj(make_doclist(dt,dn),'loan_post',data,function(){}); - },*/ - refresh: function(doc) { - cur_frm.cscript.hide_show_buttons(doc); - }, - hide_show_buttons: function(doc) { - if(doc.docstatus==0) { - hide_field('Installment Reciept'); unhide_field('Generate'); - } else if (doc.docstatus==1) { - unhide_field('Installment Reciept');hide_field('Generate'); - } - }, - clear_installments: function(doc) { - $.each(getchildren('Loan Installment', doc.name, 'installments', 'Loan'), - function(i, d) { - LocalDB.delete_doc('Loan Installment', d.name); - } - ) - }, - 'Installment Reciept': function(doc, dt, dn) { - var d = new wn.widgets.Dialog({ - width: 500, - title: 'Add a new payment installment', - fields: [ - {fieldtype:'Data', label:'Cheque Number', fieldname:'cheque_number', reqd:1}, - {fieldtype:'Date', label:'Cheque Date', fieldname:'cheque_date', reqd:1}, - {fieldtype:'Link', label:'Bank Account', fieldname:'bank_account', reqd:1, options:'Account'}, - {fieldtype:'Button', label:'Update',fieldname:'update'} - ] - }) - d.show(); - d.fields_dict.update.input.onclick = function() { - var data = d.get_values(); - - if(data) { - $c_obj(make_doclist(dt,dn),'loan_installment_post',data,function(){cur_frm.refresh(); d.hide();}); - } - } - } -}) diff --git a/accounts/doctype/loan/loan.py b/accounts/doctype/loan/loan.py deleted file mode 100644 index 9f0bcb53a0..0000000000 --- a/accounts/doctype/loan/loan.py +++ /dev/null @@ -1,48 +0,0 @@ -import webnotes -from webnotes.model.doc import make_autoname, Document, addchild -from webnotes import msgprint -from webnotes.utils import get_defaults -import json -from accounts.utils import post_jv -sql = webnotes.conn.sql - -class DocType: - def __init__(self, doc, doclist): - self.doc, self.doclist = doc, doclist - - def autoname(self): - """ - Create Loan Id using naming_series pattern - """ - self.doc.name = make_autoname(self.doc.naming_series+ '.#####') - - def loan_post(self): - data['voucher_type']='Loan Issue' - data['naming_series']='JV' - data['fiscal_year'] = get_defaults()['fiscal_year'] # To be modified to take care - data['company'] = get_defaults()['company'] - data['debit_account'] = self.doc['receivable_account'] - data['credit_account'] = self.doc['account'] - data['amount'] = self.doc.loan_amount - jv_name=post_jv(data) - - def loan_installment_post(self, args): - """ - Posts the loan receipt into Journal Voucher - """ - next_inst = sql("select amount,name from `tabLoan Installment` where parent=%s and ifnull(cheque_number,'')='' order by due_date limit 1",self.doc.name) - - data = json.loads(args) - data['voucher_type']='Loan Receipt' - data['naming_series']='JV' - data['amount']=next_inst[0][0] - data['debit_account']=data.get('bank_account') - data['credit_account']=self.doc.account - data['fiscal_year']=get_defaults()['fiscal_year'] - data['company']=get_defaults()['company'] - jv_name=post_jv(data) - - sql("update `tabLoan Installment` set cheque_number=%s, cheque_date=%s, jv_number=%s where name=%s",(data.get('cheque_number'),data.get('cheque_date'),jv_name,next_inst[0][1])) - - self.doclist = [Document(d.doctype, d.name) for d in self.doclist] - diff --git a/accounts/doctype/loan/loan.txt b/accounts/doctype/loan/loan.txt deleted file mode 100644 index 001e1d3845..0000000000 --- a/accounts/doctype/loan/loan.txt +++ /dev/null @@ -1,172 +0,0 @@ -# DocType, Loan -[ - - # These values are common in all dictionaries - { - 'creation': '2011-07-15 10:35:26', - 'docstatus': 0, - 'modified': '2011-07-18 12:12:19', - 'modified_by': 'Administrator', - 'owner': 'Administrator' - }, - - # These values are common for all DocType - { - '_last_update': '1310963215', - 'colour': 'White:FFF', - 'doctype': 'DocType', - 'module': 'Accounts', - 'name': '__common__', - 'section_style': 'Simple', - 'show_in_menu': 0, - 'version': 15 - }, - - # These values are common for all DocField - { - 'doctype': 'DocField', - 'name': '__common__', - 'parent': 'Loan', - 'parentfield': 'fields', - 'parenttype': 'DocType', - 'permlevel': 0 - }, - - # These values are common for all DocPerm - { - 'doctype': 'DocPerm', - 'name': '__common__', - 'parent': 'Loan', - 'parentfield': 'permissions', - 'parenttype': 'DocType', - 'read': 1, - 'role': 'Accounts User' - }, - - # DocType, Loan - { - 'doctype': 'DocType', - 'name': 'Loan' - }, - - # DocPerm - { - 'cancel': 1, - 'create': 1, - 'doctype': 'DocPerm', - 'idx': 1, - 'permlevel': 0, - 'submit': 1, - 'write': 1 - }, - - # DocPerm - { - 'doctype': 'DocPerm', - 'idx': 2, - 'permlevel': 1 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'naming_series', - 'fieldtype': 'Select', - 'idx': 1, - 'label': 'Naming Series', - 'options': '\nLOAN', - 'reqd': 1 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'account', - 'fieldtype': 'Link', - 'idx': 2, - 'label': 'Account', - 'options': 'Account', - 'reqd': 1 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'receivable_account', - 'fieldtype': 'Link', - 'idx': 3, - 'label': 'Receivable Account', - 'options': 'Account' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'invoice', - 'fieldtype': 'Link', - 'idx': 4, - 'label': 'Invoice', - 'options': 'Receivable Voucher', - 'reqd': 1 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'loan_amount', - 'fieldtype': 'Currency', - 'idx': 5, - 'label': 'Loan Amount', - 'reqd': 1 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'start_date', - 'fieldtype': 'Date', - 'idx': 6, - 'label': 'Start Date', - 'reqd': 1 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'no_of_installments', - 'fieldtype': 'Int', - 'idx': 7, - 'label': 'No of Installments', - 'reqd': 1 - }, - - # DocField - { - 'colour': 'White:FFF', - 'doctype': 'DocField', - 'fieldtype': 'Button', - 'idx': 8, - 'label': 'Generate', - 'trigger': 'Client' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'installments', - 'fieldtype': 'Table', - 'idx': 9, - 'label': 'Installments', - 'options': 'Loan Installment' - }, - - # DocField - { - 'allow_on_submit': 1, - 'colour': 'White:FFF', - 'doctype': 'DocField', - 'fieldtype': 'Button', - 'idx': 10, - 'label': 'Installment Reciept' - } -] \ No newline at end of file diff --git a/accounts/doctype/loan/test_loan.py b/accounts/doctype/loan/test_loan.py deleted file mode 100644 index 4e72559d6e..0000000000 --- a/accounts/doctype/loan/test_loan.py +++ /dev/null @@ -1,17 +0,0 @@ -import unittest -import webnotes -from webnotes.model.code import get_obj - -class TestScheduleGeneartion(unittest.TestCase): - def setUp(self): - webnotes.conn.begin() - # create a mock loan - self.loan = get_obj('Loan', 'LOAN00001') - - def test_generation(self): - "test the genaration of loan installments" - self.loan.generate() - self.assertEqual(self.loan.get_installment_total(), self.loan.doc.loan_amount) - - def tearDown(self): - webnotes.conn.rollback() diff --git a/accounts/doctype/loan_installment/__init__.py b/accounts/doctype/loan_installment/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/accounts/doctype/loan_installment/loan_installment.txt b/accounts/doctype/loan_installment/loan_installment.txt deleted file mode 100644 index f729e3434b..0000000000 --- a/accounts/doctype/loan_installment/loan_installment.txt +++ /dev/null @@ -1,111 +0,0 @@ -# DocType, Loan Installment -[ - - # These values are common in all dictionaries - { - 'creation': '2011-07-15 10:36:42', - 'docstatus': 0, - 'modified': '2011-07-15 15:48:34', - 'modified_by': 'Administrator', - 'owner': 'Administrator' - }, - - # These values are common for all DocType - { - 'colour': 'White:FFF', - 'doctype': 'DocType', - 'istable': 1, - 'module': 'Accounts', - 'name': '__common__', - 'section_style': 'Simple', - 'show_in_menu': 0, - 'version': 4 - }, - - # These values are common for all DocField - { - 'doctype': 'DocField', - 'name': '__common__', - 'parent': 'Loan Installment', - 'parentfield': 'fields', - 'parenttype': 'DocType' - }, - - # DocType, Loan Installment - { - 'doctype': 'DocType', - 'name': 'Loan Installment' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'amount', - 'fieldtype': 'Currency', - 'idx': 1, - 'label': 'Amount', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'due_date', - 'fieldtype': 'Date', - 'idx': 2, - 'label': 'Due Date', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'cheque_number', - 'fieldtype': 'Data', - 'idx': 3, - 'label': 'Cheque Number', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'cheque_date', - 'fieldtype': 'Date', - 'idx': 4, - 'label': 'Cheque Date', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'deposit_date', - 'fieldtype': 'Date', - 'idx': 5, - 'label': 'Deposit Date', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'realized_date', - 'fieldtype': 'Date', - 'idx': 6, - 'label': 'Realized Date', - 'permlevel': 0 - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'jv_number', - 'fieldtype': 'Link', - 'hidden': 0, - 'idx': 7, - 'label': 'JV Number', - 'options': 'Journal Voucher', - 'permlevel': 1 - } -] \ No newline at end of file diff --git a/accounts/doctype/receivable_voucher/receivable_voucher.js b/accounts/doctype/receivable_voucher/receivable_voucher.js index a25d311110..e773a95fc8 100644 --- a/accounts/doctype/receivable_voucher/receivable_voucher.js +++ b/accounts/doctype/receivable_voucher/receivable_voucher.js @@ -18,10 +18,10 @@ cur_frm.cscript.onload = function(doc,dt,dn) { if(!doc.voucher_date) set_multiple(dt,dn,{voucher_date:get_today()}); if(!doc.due_date) set_multiple(dt,dn,{due_date:get_today()}); if(!doc.posting_date) set_multiple(dt,dn,{posting_date:get_today()}); - + //for previously created sales invoice, set required field related to pos if(doc.is_pos ==1) cur_frm.cscript.is_pos(doc, dt, dn); - + hide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); } } @@ -37,10 +37,10 @@ cur_frm.cscript.onload_post_render = function(doc, dt, dn) { } ); } - + if(!doc.customer && doc.__islocal) { // new -- load default taxes - cur_frm.cscript.load_taxes(doc, cdt, cdn); + cur_frm.cscript.load_taxes(doc, cdt, cdn); } } @@ -61,19 +61,19 @@ cur_frm.cscript.refresh = function(doc, dt, dn) { // Show / Hide button cur_frm.clear_custom_buttons(); - - if(doc.docstatus==1) { + + if(doc.docstatus==1) { cur_frm.add_custom_button('View Ledger', cur_frm.cscript['View Ledger Entry']); cur_frm.add_custom_button('Send SMS', cur_frm.cscript['Send SMS']); unhide_field('Repair Outstanding Amt'); - + if(doc.is_pos==1 && doc.update_stock!=1) cur_frm.add_custom_button('Make Delivery', cur_frm.cscript['Make Delivery Note']); - + if(doc.outstanding_amount!=0) cur_frm.add_custom_button('Make Payment Entry', cur_frm.cscript['Make Bank Voucher']); } - else + else hide_field('Repair Outstanding Amt'); cur_frm.cscript.is_opening(doc, dt, dn); cur_frm.cscript.hide_fields(doc, cdt, cdn); @@ -117,13 +117,13 @@ cur_frm.cscript.customer = function(doc,dt,dn) { var doc = locals[cur_frm.doctype][cur_frm.docname]; get_server_fields('get_debit_to','','',doc, dt, dn, 0); cur_frm.refresh(); - } + } - if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_address', '', callback); + if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_address', '', callback); if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); } -cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) { +cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) { if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1); } @@ -152,15 +152,15 @@ cur_frm.cscript.debit_to = function(doc,dt,dn) { var callback2 = function(r,rt) { var doc = locals[cur_frm.doctype][cur_frm.docname]; cur_frm.refresh(); - } - + } + var callback = function(r,rt) { - var doc = locals[cur_frm.doctype][cur_frm.docname]; + var doc = locals[cur_frm.doctype][cur_frm.docname]; if(doc.customer) $c_obj(make_doclist(dt,dn), 'get_default_customer_address', '', callback2); if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']); cur_frm.refresh(); } - + if(doc.debit_to && doc.posting_date){ get_server_fields('get_cust_and_due_date','','',doc,dt,dn,1,callback); } @@ -187,13 +187,13 @@ cur_frm.cscript.project_name = function(doc,cdt,cdn){ //Set debit and credit to zero on adding new row //---------------------------------------------- cur_frm.fields_dict['entries'].grid.onrowadd = function(doc, cdt, cdn){ - + cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype); acc = ''; cc = ''; for(var i = 0; i Date: Thu, 25 Aug 2011 16:21:58 +0530 Subject: [PATCH 47/81] Email will be sent on submit --- hr/doctype/salary_manager/salary_manager.py | 16 ++- hr/doctype/salary_slip/salary_slip.py | 112 ++++++++++---------- 2 files changed, 67 insertions(+), 61 deletions(-) diff --git a/hr/doctype/salary_manager/salary_manager.py b/hr/doctype/salary_manager/salary_manager.py index ec8fba271a..50710568e8 100644 --- a/hr/doctype/salary_manager/salary_manager.py +++ b/hr/doctype/salary_manager/salary_manager.py @@ -68,9 +68,9 @@ class DocType: emp_list = self.get_emp_list() log = "" if emp_list: - log = "
" + log = "
Following Salary Slip has been created:
SAL SLIP IDEMPLOYEE NAME
" else: - log = "
Following Salary Slip has been created:
SAL SLIP IDEMPLOYEE NAME
" + log = "
No employee found for the above selected criteria
" for emp in emp_list: if not sql("""select name from `tabSalary Slip` @@ -119,9 +119,17 @@ class DocType: ss_list = self.get_sal_slip_list() log = "" if ss_list: - log = "
No employee found for the above selected criteria
" + log = """
Following Salary Slip has been submitted:
SAL SLIP IDEMPLOYEE NAME
+ + + + + + + + """ else: - log = "
Following Salary Slip has been submitted:
SAL SLIP IDEMPLOYEE NAME
" + log = "
No salary slip found to submit for the above selected criteria
" for ss in ss_list: ss_obj = get_obj("Salary Slip",ss[0],with_children=1) diff --git a/hr/doctype/salary_slip/salary_slip.py b/hr/doctype/salary_slip/salary_slip.py index 0cdc898673..6a1705054e 100644 --- a/hr/doctype/salary_slip/salary_slip.py +++ b/hr/doctype/salary_slip/salary_slip.py @@ -175,9 +175,9 @@ class DocType(TransactionBase): emailid_ret=sql("select company_email from `tabEmployee` where name = '%s'"%self.doc.employee) if emailid_ret: receiver = cstr(emailid_ret[0][0]) - subj = 'Salary Slip ' + cstr(self.doc.month) +' '+cstr(self.doc.year) - earn_ret=sql("select e_type,e_amount from `tabSS Earning Detail` where parent = '%s'"%self.doc.name) - ded_ret=sql("select d_type,d_amount from `tabSS Deduction Detail` where parent = '%s'"%self.doc.name) + subj = 'Salary Slip - ' + cstr(self.doc.month) +'/'+cstr(self.doc.fiscal_year) + earn_ret=sql("select e_type,e_modified_amount from `tabSS Earning Detail` where parent = '%s'"%self.doc.name) + ded_ret=sql("select d_type,d_modified_amount from `tabSS Deduction Detail` where parent = '%s'"%self.doc.name) earn_table = '' ded_table = '' @@ -207,62 +207,60 @@ class DocType(TransactionBase): if not letter_head: letter_head = '' - msg = ''' %s
+ msg = '''
%s
+
No salary slip found to submit for the above selected criteria
+ + + + + + + + + + + +

Salary Slip

Employee Code : %sEmployee Name : %s
Month : %sFiscal Year : %s
- - - - - - - - - - - - - - - - + + + + + + + + + - - - - - + + + + - - - - - - - - - - - - -

- - - - - - - - -
- - - - - - - - -

Salary Slip

Employee Code : %sEmployee Name : %s
Month : %sYear : %sFiscal Year : %s
Department : %sBranch : %sDesignation : %s
Department : %sBranch : %sDesignation : %s
Grade : %sBank Account No. : %sBank Name : %s
Grade : %sBank Account No. : %sBank Name : %s
Arrear Amount : %sPayment days : %s
PF No. : %sESIC No. : %sArrear Amount : %s
Total days in month : %sLeave Without Pay : %sPayment days : %s
EarningDeduction
%s%s
Gross Pay : %sTotal Deduction : %s
Net Pay : %sNet Pay (in words) : %s
'''%(cstr(letter_head[0][0]),cstr(self.doc.employee),self.doc.employee_name,cstr(self.doc.month),cstr(self.doc.year),cstr(self.doc.fiscal_year),self.doc.department,self.doc.branch,self.doc.designation,self.doc.grade,cstr(self.doc.bank_account_no),self.doc.bank_name,cstr(self.doc.pf_no),cstr(self.doc.esic_no),cstr(self.doc.arrear_amount),cstr(self.doc.total_days_in_month),cstr(self.doc.leave_without_pay),cstr(self.doc.payment_days),earn_table,ded_table,cstr(self.doc.gross_pay),cstr(self.doc.total_deduction),cstr(self.doc.net_pay),cstr(self.doc.net_pay_in_words)) - sendmail([receiver], sender='automail@webnotestech.com', subject=subj, parts=[['text/plain', msg]]) + + + + + + + + + + + +
EarningDeduction
%s%s
+ + + + + + + + + + + +
Gross Pay : %sTotal Deduction : %s
Net Pay : %s
Net Pay(in words) : %s
'''%(cstr(letter_head[0][0]),cstr(self.doc.employee), cstr(self.doc.employee_name), cstr(self.doc.month), cstr(self.doc.fiscal_year), cstr(self.doc.department), cstr(self.doc.branch), cstr(self.doc.designation), cstr(self.doc.grade), cstr(self.doc.bank_account_no), cstr(self.doc.bank_name), cstr(self.doc.arrear_amount), cstr(self.doc.payment_days), earn_table, ded_table, cstr(self.doc.gross_pay), cstr(self.doc.total_deduction), cstr(self.doc.net_pay), cstr(self.doc.total_in_words)) + sendmail([receiver], sender='automail@erpnext.com', subject=subj, parts=[['text/plain', msg]]) else: msgprint("Company Email ID not found.") From fc69354c7cca2b2d236474e5a5dc1edf6546445a Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 25 Aug 2011 16:55:05 +0530 Subject: [PATCH 48/81] updated las_patch no --- patches/patch.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patches/patch.py b/patches/patch.py index dcd019b429..616be63f76 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 344 +last_patch = 346 #------------------------------------------- def execute(patch_no): @@ -257,4 +257,4 @@ def execute(patch_no): delete_doc('DocType', 'Profile') reload_doc('core', 'doctype', 'profile') - \ No newline at end of file + From 29a75c4d7a59c5a7ff55919ae7881ed4889c9f4f Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 25 Aug 2011 19:17:44 +0530 Subject: [PATCH 49/81] added dashboard --- home/page/dashboard/__init__.py | 0 home/page/dashboard/dashboard.css | 12 ++ home/page/dashboard/dashboard.html | 8 ++ home/page/dashboard/dashboard.js | 139 +++++++++++++++++++ home/page/dashboard/dashboard.py | 216 +++++++++++++++++++++++++++++ home/page/dashboard/dashboard.txt | 49 +++++++ 6 files changed, 424 insertions(+) create mode 100644 home/page/dashboard/__init__.py create mode 100644 home/page/dashboard/dashboard.css create mode 100644 home/page/dashboard/dashboard.html create mode 100644 home/page/dashboard/dashboard.js create mode 100644 home/page/dashboard/dashboard.py create mode 100644 home/page/dashboard/dashboard.txt diff --git a/home/page/dashboard/__init__.py b/home/page/dashboard/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/home/page/dashboard/dashboard.css b/home/page/dashboard/dashboard.css new file mode 100644 index 0000000000..d8e8b54d18 --- /dev/null +++ b/home/page/dashboard/dashboard.css @@ -0,0 +1,12 @@ +div.dashboard_table td { + width: 50%; +} + +div.dashboard-title { + font-weight: bold; + padding: '3px 0px'; +} + +div.dashboard-graph { + height: 180px; +} \ No newline at end of file diff --git a/home/page/dashboard/dashboard.html b/home/page/dashboard/dashboard.html new file mode 100644 index 0000000000..5ffef2f7b2 --- /dev/null +++ b/home/page/dashboard/dashboard.html @@ -0,0 +1,8 @@ +
+
+
+ +
Loading...
+
+
+
\ No newline at end of file diff --git a/home/page/dashboard/dashboard.js b/home/page/dashboard/dashboard.js new file mode 100644 index 0000000000..c5dd36150e --- /dev/null +++ b/home/page/dashboard/dashboard.js @@ -0,0 +1,139 @@ +pscript.onload_dashboard = function() { + // load jqplot + $.scriptPath = 'js/' + $.require(['jquery/jquery.jqplot.min.js', + 'jquery/jqplot-plugins/jqplot.barRenderer.js', + 'jquery/jqplot-plugins/jqplot.canvasAxisTickRenderer.min.js', + 'jquery/jqplot-plugins/jqplot.canvasTextRenderer.min.js', + 'jquery/jqplot-plugins/jqplot.categoryAxisRenderer.min.js']); + + + pscript.dashboard_settings = { + company: sys_defaults.company, + start: dateutil.obj_to_str(dateutil.add_days(new Date(), -60)), + end: dateutil.obj_to_str(new Date()), + interval: 7 + } + + var ph = new PageHeader($('.dashboard .header').get(0), 'Dashboards'); + var db = new Dashboard(); + + ph.add_button('Settings', db.show_settings); + + db.refresh(); + +} + +Dashboard = function() { + var me = this; + $.extend(me, { + refresh: function() { + $('.dashboard .help_box').css('display', 'block'); + $c_page('home', 'dashboard', 'load_dashboard', JSON.stringify(pscript.dashboard_settings), function(r,rt) { + $('.dashboard .help_box').css('display', 'none'); + me.render(r.message); + }) + }, + + render: function(data) { + $('.dashboard_table').html(''); + var t = make_table($('.dashboard_table').get(0), 4, 2, '100%', ['50%', '50%'], {padding: '5px'}); + var ridx=0; var cidx=0; + for(var i=0; i< data.length; i++) { + // switch columns and rows + if(cidx==2) { cidx=0; ridx++} + + // give an id! + var cell = $td(t,ridx,cidx); + var title = $a(cell, 'div', 'dashboard-title', '', data[i][0].title); + var parent = $a(cell, 'div', 'dashboard-graph') + + parent.id = '_dashboard' + ridx + '-' + cidx; + + // render graph + me.render_graph(parent.id, data[i][1]); + cidx++; + } + }, + + render_graph: function(parent, values) { + var vl = []; + $.each(values, function(i,v) { + vl.push([dateutil.str_to_user(v[0]), v[1]]); + }); + $.jqplot(parent, [vl], { + seriesDefaults:{ + renderer:$.jqplot.BarRenderer, + rendererOptions: {fillToZero: true}, + }, + axes: { + // Use a category axis on the x axis and use our custom ticks. + xaxis: { + min: 0, + renderer: $.jqplot.CategoryAxisRenderer, + tickRenderer: $.jqplot.CanvasAxisTickRenderer, + tickOptions: { + angle: -30, + fontSize: '8pt' + } + }, + // Pad the y axis just a little so bars can get close to, but + // not touch, the grid boundaries. 1.2 is the default padding. + yaxis: { + min: 0, + pad: 1.05, + tickOptions: {formatString: '%d'} + } + } + }); + }, + + show_settings: function() { + var d = new wn.widgets.Dialog({ + title: 'Set Company Settings', + width: 500, + fields: [ + { + label:'Company', + reqd: 1, + fieldname:'company', + fieldtype:'Link', + options: 'Company' + }, + { + label:'Start Date', + reqd: 1, + fieldname:'start', + fieldtype:'Date', + }, + { + label:'End Date', + reqd: 1, + fieldname:'end', + fieldtype:'Date', + }, + { + label:'Interval', + reqd: 1, + fieldname:'interval', + fieldtype:'Int' + }, + { + label:'Regenerate', + fieldname:'refresh', + fieldtype:'Button' + } + ] + }); + d.onshow = function() { + d.set_values(pscript.dashboard_settings); + } + d.fields_dict.refresh.input.onclick = function() { + pscript.dashboard_settings = d.get_values(); + me.refresh(); + d.hide(); + } + d.show(); + } + }) +} diff --git a/home/page/dashboard/dashboard.py b/home/page/dashboard/dashboard.py new file mode 100644 index 0000000000..3ce3b0c37d --- /dev/null +++ b/home/page/dashboard/dashboard.py @@ -0,0 +1,216 @@ +dashboards = [ + { + 'type': 'account', + 'account': 'Income', + 'title': 'Income' + }, + + { + 'type': 'account', + 'account': 'Expenses', + 'title': 'Expenses' + }, + + { + 'type': 'from_company', + 'account': 'receivables_group', + 'title': 'Receivables' + }, + + { + 'type': 'from_company', + 'account': 'payables_group', + 'title': 'Payables' + }, + + { + 'type': 'cash', + 'debit_or_credit': 'Debit', + 'title': 'Cash Inflow' + }, + + { + 'type': 'cash', + 'debit_or_credit': 'Credit', + 'title': 'Cash Outflow' + }, + + { + 'type': 'creation', + 'doctype': 'Quotation', + 'title': 'New Quotations' + }, + + { + 'type': 'creation', + 'doctype': 'Sales Order', + 'title': 'New Orders' + } +] + + +class DashboardWidget: + def __init__(self, company, start, end, interval): + import webnotes + from webnotes.utils import getdate + from webnotes.model.code import get_obj + + self.company = company + self.abbr = webnotes.conn.get_value('Company', company, 'abbr') + self.start = getdate(start) + self.end = getdate(end) + + self.interval = interval + self.fiscal_year = webnotes.conn.sql(""" + select name from `tabFiscal Year` + where year_start_date <= %s and + DATE_ADD(year_start_date, INTERVAL 1 YEAR) >= %s + """, (start, start))[0][0] + self.glc = get_obj('GL Control') + self.cash_accounts = [d[0] for d in webnotes.conn.sql(""" + select name from tabAccount + where account_type='Bank or Cash' + and company = %s and docstatus = 0 + """, company)] + + def timeline(self): + """ + get the timeline for the dashboard + """ + import webnotes + from webnotes.utils import add_days + tl = [] + + if self.start > self.end: + webnotes.msgprint("Start must be before end", raise_exception=1) + + curr = self.start + tl.append(curr) + + while curr < self.end: + curr = add_days(curr, self.interval, 'date') + tl.append(curr) + + tl.append(self.end) + + return tl + + def generate(self, opts): + """ + Generate the dasboard + """ + tl = self.timeline() + self.out = [] + + for i in range(len(tl)-1): + self.out.append([tl[i+1].strftime('%Y-%m-%d'), self.value(opts, tl[i], tl[i+1]) or 0]) + + return self.out + + def get_account_balance(self, acc, start): + """ + Get as on account balance + """ + import webnotes + # add abbreviation to company + + if not acc.endswith(self.abbr): + acc += ' - ' + self.abbr + + # get other reqd parameters + try: + globals().update(webnotes.conn.sql('select debit_or_credit, lft, rgt from tabAccount where name=%s', acc, as_dict=1)[0]) + except Exception,e: + webnotes.msgprint('Wrongly defined account: ' + acc) + print acc + raise e + + return self.glc.get_as_on_balance(acc, self.fiscal_year, start, debit_or_credit, lft, rgt) + + def get_creation_trend(self, doctype, start, end): + """ + Get creation # of creations in period + """ + import webnotes + return int(webnotes.conn.sql(""" + select count(*) from `tab%s` where creation between %s and %s and docstatus=1 + """ % (doctype, '%s','%s'), (start, end))[0][0]) + + def get_account_amt(self, acc, start, end): + """ + Get debit, credit over a period + """ + import webnotes + # add abbreviation to company + + if not acc.endswith(self.abbr): + acc += ' - ' + self.abbr + + ret = webnotes.conn.sql(""" + select ifnull(sum(ifnull(t1.debit,0)),0), ifnull(sum(ifnull(t1.credit,0)),0) + from `tabGL Entry` t1, tabAccount t2 + where t1.account = t2.name + and t2.is_pl_account = 'Yes' + and t2.debit_or_credit=%s + and ifnull(t1.is_cancelled, 'No')='No' + and t1.posting_date between %s and %s + """, (acc=='Income' and 'Credit' or 'Debit', start, end))[0] + + return acc=='Income' and (ret[1]-ret[0]) or (ret[0]-ret[1]) + + def value(self, opts, start, end): + """ + Value of the series on a particular date + """ + import webnotes + if opts['type']=='account': + bal = self.get_account_amt(opts['account'], start, end) + + elif opts['type']=='from_company': + acc = webnotes.conn.get_value('Company', self.company, \ + opts['account'].split('.')[-1]) + + return self.get_account_balance(acc, start)[2] + + elif opts['type']=='cash': + if type=='Credit': + return sum([self.get_account_balance(acc, start)[1] for acc in self.cash_accounts]) or 0 + if type=='Debit': + return sum([self.get_account_balance(acc, start)[0] for acc in self.cash_accounts]) or 0 + + elif opts['type']=='creation': + return self.get_creation_trend(opts['doctype'], start, end) + + +def load_dashboard(args): + """ + Get dashboard based on + 1. Company (default company) + 2. Start Date (last 3 months) + 3. End Date (today) + 4. Interval (7 days) + """ + dl = [] + import json + args = json.loads(args) + dw = DashboardWidget(args['company'], args['start'], args['end'], int(args['interval'])) + + # render the dashboards + for d in dashboards: + dl.append([d, dw.generate(d)]) + + return dl + +if __name__=='__main__': + import sys + sys.path.append('/var/www/webnotes/wnframework/cgi-bin') + from webnotes.db import Database + import webnotes + webnotes.conn = Database(use_default=1) + webnotes.session = {'user':'Administrator'} + print load_dashboard("""{ + "company": "My Test", + "start": "2011-05-01", + "end": "2011-08-01", + "interval": "7" + }""") \ No newline at end of file diff --git a/home/page/dashboard/dashboard.txt b/home/page/dashboard/dashboard.txt new file mode 100644 index 0000000000..46bc2bc0bc --- /dev/null +++ b/home/page/dashboard/dashboard.txt @@ -0,0 +1,49 @@ +# Page, dashboard +[ + + # These values are common in all dictionaries + { + 'creation': '2011-08-25 16:22:44', + 'docstatus': 0, + 'modified': '2011-08-25 16:22:54', + 'modified_by': 'Administrator', + 'owner': 'Administrator' + }, + + # These values are common for all Page + { + 'category': 'Standard', + 'doctype': 'Page', + 'module': 'Home', + 'name': '__common__', + 'page_name': 'Dashboard', + 'standard': 'Yes' + }, + + # These values are common for all Page Role + { + 'doctype': 'Page Role', + 'name': '__common__', + 'parent': 'dashboard', + 'parentfield': 'roles', + 'parenttype': 'Page' + }, + + # Page, dashboard + { + 'doctype': 'Page', + 'name': 'dashboard' + }, + + # Page Role + { + 'doctype': 'Page Role', + 'role': 'System Manager' + }, + + # Page Role + { + 'doctype': 'Page Role', + 'role': 'Accounts Manager' + } +] \ No newline at end of file From ac3aff5d29185181f41b71d0ae8aac520f2354c2 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 25 Aug 2011 19:24:34 +0530 Subject: [PATCH 50/81] dashboard fixes --- home/page/dashboard/dashboard.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/page/dashboard/dashboard.py b/home/page/dashboard/dashboard.py index 3ce3b0c37d..940bb50b94 100644 --- a/home/page/dashboard/dashboard.py +++ b/home/page/dashboard/dashboard.py @@ -173,9 +173,9 @@ class DashboardWidget: return self.get_account_balance(acc, start)[2] elif opts['type']=='cash': - if type=='Credit': + if opts['debit_or_credit']=='Credit': return sum([self.get_account_balance(acc, start)[1] for acc in self.cash_accounts]) or 0 - if type=='Debit': + elif opts['debit_or_credit']=='Debit': return sum([self.get_account_balance(acc, start)[0] for acc in self.cash_accounts]) or 0 elif opts['type']=='creation': From 0a187bece62f1f984220ce2bc3bd927e29ea24cb Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 25 Aug 2011 19:28:02 +0530 Subject: [PATCH 51/81] dashboard fixes --- home/page/dashboard/dashboard.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/home/page/dashboard/dashboard.py b/home/page/dashboard/dashboard.py index 940bb50b94..2f860dff8c 100644 --- a/home/page/dashboard/dashboard.py +++ b/home/page/dashboard/dashboard.py @@ -136,7 +136,7 @@ class DashboardWidget: select count(*) from `tab%s` where creation between %s and %s and docstatus=1 """ % (doctype, '%s','%s'), (start, end))[0][0]) - def get_account_amt(self, acc, start, end): + def get_account_amt(self, acc, start, end, debit_or_credit): """ Get debit, credit over a period """ @@ -154,9 +154,9 @@ class DashboardWidget: and t2.debit_or_credit=%s and ifnull(t1.is_cancelled, 'No')='No' and t1.posting_date between %s and %s - """, (acc=='Income' and 'Credit' or 'Debit', start, end))[0] + """, (debit_or_credit, start, end))[0] - return acc=='Income' and (ret[1]-ret[0]) or (ret[0]-ret[1]) + return debit_or_credit=='Credit' and (ret[1]-ret[0]) or (ret[0]-ret[1]) def value(self, opts, start, end): """ @@ -164,7 +164,11 @@ class DashboardWidget: """ import webnotes if opts['type']=='account': - bal = self.get_account_amt(opts['account'], start, end) + debit_or_credit = 'Debit' + if opts['account']=='Income': + debit_or_credit = 'Credit' + + return self.get_account_amt(opts['account'], start, end, debit_or_credit) elif opts['type']=='from_company': acc = webnotes.conn.get_value('Company', self.company, \ @@ -174,9 +178,9 @@ class DashboardWidget: elif opts['type']=='cash': if opts['debit_or_credit']=='Credit': - return sum([self.get_account_balance(acc, start)[1] for acc in self.cash_accounts]) or 0 + return sum([self.get_account_amt(acc, start, end, opts['debit_or_credit']) for acc in self.cash_accounts]) or 0 elif opts['debit_or_credit']=='Debit': - return sum([self.get_account_balance(acc, start)[0] for acc in self.cash_accounts]) or 0 + return sum([self.get_account_amt(acc, start, end, opts['debit_or_credit']) for acc in self.cash_accounts]) or 0 elif opts['type']=='creation': return self.get_creation_trend(opts['doctype'], start, end) From c91f88c5c503abff4fa22861661e52da7948a49c Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 25 Aug 2011 19:28:56 +0530 Subject: [PATCH 52/81] dashboard fixes --- home/page/dashboard/dashboard.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/page/dashboard/dashboard.py b/home/page/dashboard/dashboard.py index 2f860dff8c..2c76b15630 100644 --- a/home/page/dashboard/dashboard.py +++ b/home/page/dashboard/dashboard.py @@ -156,7 +156,7 @@ class DashboardWidget: and t1.posting_date between %s and %s """, (debit_or_credit, start, end))[0] - return debit_or_credit=='Credit' and (ret[1]-ret[0]) or (ret[0]-ret[1]) + return debit_or_credit=='Credit' and float(ret[1]-ret[0]) or float(ret[0]-ret[1]) def value(self, opts, start, end): """ From 2c030155375a06baf10a7276aa8a9ce23110b839 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 25 Aug 2011 19:41:24 +0530 Subject: [PATCH 53/81] same from and to flds deleted from mapper --- .../Delivery Note-Receivable Voucher.txt | 524 +--------------- .../Project-Receivable Voucher.txt | 36 +- .../Purchase Order-Payable Voucher.txt | 288 +-------- .../Purchase Receipt-Payable Voucher.txt | 283 +-------- .../Sales Order-Receivable Voucher.txt | 573 +---------------- .../Indent-Purchase Order.txt | 91 --- .../Sales Order-Indent/Sales Order-Indent.txt | 111 +--- .../KRA Template-Appraisal.txt | 28 - .../Salary Structure-Salary Slip.txt | 102 +--- patches/patch.py | 6 +- .../Production Forecast-Production Plan.txt | 31 - ...tion Forecast-Production Planning Tool.txt | 30 - .../Sales Order-Production Plan.txt | 31 - .../Delivery Note-Installation Note.txt | 130 +--- .../Enquiry-Quotation/Enquiry-Quotation.txt | 181 +----- .../Lead-Customer/Lead-Customer.txt | 77 --- .../Lead-Enquiry/Lead-Enquiry.txt | 84 --- .../Project-Sales Order.txt | 68 +-- .../Quotation-Sales Order.txt | 577 +----------------- .../Project-Delivery Note.txt | 68 +-- .../Purchase Order-Purchase Receipt.txt | 305 +-------- .../Receivable Voucher-Delivery Note.txt | 380 ------------ .../Sales Order-Delivery Note.txt | 533 +--------------- .../Customer Issue-Maintenance Visit.txt | 126 +--- .../Sales Order-Maintenance Schedule.txt | 116 +--- .../Sales Order-Maintenance Visit.txt | 134 +--- 26 files changed, 57 insertions(+), 4856 deletions(-) diff --git a/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt b/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt index 3ceb9b287b..981e64aaeb 100644 --- a/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt +++ b/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:34', 'docstatus': 0, - 'modified': '2011-06-15 14:42:33', + 'modified': '2011-08-09 11:14:09', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -23,6 +23,7 @@ { 'doctype': 'Field Mapper Detail', 'map': 'Yes', + 'match_id': 1, 'name': '__common__', 'parent': 'Delivery Note-Receivable Voucher', 'parentfield': 'field_mapper_details', @@ -48,261 +49,14 @@ # Field Mapper Detail { 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 1, - 'match_id': 0, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer', - 'idx': 2, - 'match_id': 0, - 'to_field': 'customer' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer', - 'idx': 3, - 'match_id': 0, - 'to_field': 'customer' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_name', - 'idx': 4, - 'match_id': 0, - 'to_field': 'customer_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address_display', - 'idx': 5, - 'match_id': 0, - 'to_field': 'address_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_display', - 'idx': 6, - 'match_id': 0, - 'to_field': 'contact_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_mobile', - 'idx': 7, - 'match_id': 0, - 'to_field': 'contact_mobile' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_email', - 'idx': 8, - 'match_id': 0, - 'to_field': 'contact_email' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_group', - 'idx': 9, - 'match_id': 0, - 'to_field': 'customer_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'currency', - 'idx': 10, - 'match_id': 0, - 'to_field': 'currency' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'conversion_rate', - 'idx': 11, - 'match_id': 0, - 'to_field': 'conversion_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'company', - 'idx': 12, - 'match_id': 0, - 'to_field': 'company' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'fiscal_year', - 'idx': 13, - 'match_id': 0, - 'to_field': 'fiscal_year' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'price_list_name', - 'idx': 14, - 'match_id': 0, - 'to_field': 'price_list_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'charge', - 'idx': 15, - 'match_id': 0, - 'to_field': 'charge' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 16, - 'match_id': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'terms', - 'idx': 17, - 'match_id': 0, - 'to_field': 'terms' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 18, - 'match_id': 1, - 'to_field': 'item_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'brand', - 'idx': 19, - 'match_id': 1, - 'to_field': 'brand' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 20, - 'match_id': 1, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'batch_no', - 'idx': 21, - 'match_id': 1, - 'to_field': 'batch_no' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'serial_no', - 'idx': 22, - 'match_id': 1, - 'to_field': 'serial_no' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_group', - 'idx': 23, - 'match_id': 1, - 'to_field': 'item_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'eval: flt(obj.qty) - flt(obj.billed_qty)', - 'idx': 24, - 'match_id': 1, + 'from_field': 'eval: (flt(obj.amount) - flt(obj.billed_amt)) / flt(obj.basic_rate)', 'to_field': 'qty' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'export_rate', - 'idx': 25, - 'match_id': 1, - 'to_field': 'export_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'base_ref_rate', - 'idx': 26, - 'match_id': 1, - 'to_field': 'base_ref_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'ref_rate', - 'idx': 27, - 'match_id': 1, - 'to_field': 'ref_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'basic_rate', - 'idx': 28, - 'match_id': 1, - 'to_field': 'basic_rate' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 29, - 'match_id': 1, 'to_field': 'delivery_note' }, @@ -310,8 +64,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 30, - 'match_id': 1, 'to_field': 'dn_detail' }, @@ -319,8 +71,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'prevdoc_docname', - 'idx': 31, - 'match_id': 1, 'to_field': 'sales_order' }, @@ -328,286 +78,27 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'prevdoc_detail_docname', - 'idx': 32, - 'match_id': 1, 'to_field': 'so_detail' }, # Field Mapper Detail { 'doctype': 'Field Mapper Detail', - 'from_field': 'export_rate', - 'idx': 33, - 'match_id': 1, - 'to_field': 'export_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'stock_uom', - 'idx': 34, - 'match_id': 1, - 'to_field': 'stock_uom' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'eval: (flt(obj.qty) - flt(obj.billed_qty)) * flt(obj.basic_rate)', - 'idx': 35, - 'match_id': 1, + 'from_field': 'eval: flt(obj.amount) - flt(obj.billed_amt)', 'to_field': 'amount' }, # Field Mapper Detail { 'doctype': 'Field Mapper Detail', - 'from_field': 'eval: (flt(obj.qty) - flt(obj.billed_qty)) * flt(obj.export_rate)', - 'idx': 36, - 'match_id': 1, + 'from_field': 'eval: (flt(obj.amount) - flt(obj.billed_amt)) * flt(obj.export_rate)/flt(obj.basic_rate)', 'to_field': 'export_amount' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'adj_rate', - 'idx': 37, - 'match_id': 1, - 'to_field': 'adj_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_tax_rate', - 'idx': 38, - 'match_id': 1, - 'to_field': 'item_tax_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'charge_type', - 'idx': 39, - 'match_id': 2, - 'to_field': 'charge_type' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'row_id', - 'idx': 40, - 'match_id': 2, - 'to_field': 'row_id' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_wise_tax_detail', - 'idx': 41, - 'match_id': 2, - 'to_field': 'item_wise_tax_detail' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 42, - 'match_id': 2, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'account_head', - 'idx': 43, - 'match_id': 2, - 'to_field': 'account_head' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rate', - 'idx': 44, - 'match_id': 2, - 'to_field': 'rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'tax_amount', - 'idx': 45, - 'match_id': 2, - 'to_field': 'tax_amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'total', - 'idx': 46, - 'match_id': 2, - 'to_field': 'total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'sales_person', - 'idx': 47, - 'match_id': 3, - 'to_field': 'sales_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'sales_designation', - 'idx': 48, - 'match_id': 3, - 'to_field': 'sales_designation' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'allocated_percentage', - 'idx': 49, - 'match_id': 3, - 'to_field': 'allocated_percentage' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'allocated_amount', - 'idx': 50, - 'match_id': 3, - 'to_field': 'allocated_amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'incentives', - 'idx': 51, - 'match_id': 3, - 'to_field': 'incentives' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'source', - 'idx': 52, - 'match_id': 0, - 'to_field': 'source' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'campaign', - 'idx': 53, - 'match_id': 0, - 'to_field': 'campaign' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 54, - 'match_id': 0, - 'to_field': 'territory' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'sales_partner', - 'idx': 55, - 'match_id': 0, - 'to_field': 'sales_partner' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'commission_rate', - 'idx': 56, - 'match_id': 0, - 'to_field': 'commission_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'total_commission', - 'idx': 57, - 'match_id': 0, - 'to_field': 'total_commission' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_address', - 'idx': 58, - 'match_id': 0, - 'to_field': 'customer_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'net_total', - 'idx': 59, - 'match_id': 0, - 'to_field': 'net_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'grand_total', - 'idx': 60, - 'match_id': 0, - 'to_field': 'grand_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'project_name', - 'idx': 61, - 'match_id': 0, - 'to_field': 'project_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'warehouse', - 'idx': 62, - 'match_id': 1, - 'to_field': 'warehouse' - }, - # Table Mapper Detail { 'doctype': 'Table Mapper Detail', 'from_table': 'Delivery Note', - 'idx': 1, 'match_id': 0, 'to_table': 'Receivable Voucher', 'validation_logic': 'docstatus=1' @@ -618,11 +109,10 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'delivery_note_details', 'from_table': 'Delivery Note Detail', - 'idx': 2, 'match_id': 1, 'to_field': 'entries', 'to_table': 'RV Detail', - 'validation_logic': '(qty > ifnull(billed_qty, 0) or amount > ifnull(billed_amt, 0)) and docstatus = 1' + 'validation_logic': 'amount > ifnull(billed_amt, 0) and docstatus = 1' }, # Table Mapper Detail @@ -630,7 +120,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'other_charges', 'from_table': 'RV Tax Detail', - 'idx': 3, 'match_id': 2, 'to_field': 'other_charges', 'to_table': 'RV Tax Detail', @@ -642,7 +131,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'sales_team', 'from_table': 'Sales Team', - 'idx': 4, 'match_id': 3, 'to_field': 'sales_team', 'to_table': 'Sales Team', diff --git a/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt b/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt index 2a77358b80..0854802f0d 100644 --- a/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt +++ b/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt @@ -14,7 +14,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Project', - 'idx': 1, 'match_id': 0, 'name': '__common__', 'parent': 'Project-Receivable Voucher', @@ -26,13 +25,16 @@ # These values are common for all Field Mapper Detail { + 'checking_operator': '=', 'doctype': 'Field Mapper Detail', + 'from_field': 'customer', 'map': 'Yes', 'match_id': 0, 'name': '__common__', 'parent': 'Project-Receivable Voucher', 'parentfield': 'field_mapper_details', - 'parenttype': 'DocType Mapper' + 'parenttype': 'DocType Mapper', + 'to_field': 'customer' }, # These values are common for all DocType Mapper @@ -52,35 +54,7 @@ # Field Mapper Detail { - 'checking_operator': '=', - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer', - 'idx': 1, - 'to_field': 'customer' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_name', - 'idx': 2, - 'to_field': 'customer_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_address', - 'idx': 3, - 'to_field': 'customer_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 4, - 'to_field': 'territory' + 'doctype': 'Field Mapper Detail' }, # Table Mapper Detail diff --git a/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt b/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt index 76bdd1e747..aa4e7870d1 100644 --- a/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt +++ b/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt @@ -6,7 +6,7 @@ 'creation': '2010-08-08 17:09:35', 'docstatus': 0, 'modified': '2011-05-13 11:26:20', - 'modified_by': 'Administrator', + 'modified_by': 'umair@iwebnotes.com', 'owner': 'Administrator' }, @@ -23,6 +23,7 @@ { 'doctype': 'Field Mapper Detail', 'map': 'Yes', + 'match_id': 1, 'name': '__common__', 'parent': 'Purchase Order-Payable Voucher', 'parentfield': 'field_mapper_details', @@ -45,156 +46,10 @@ 'name': 'Purchase Order-Payable Voucher' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'company', - 'idx': 1, - 'match_id': 0, - 'to_field': 'company' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'fiscal_year', - 'idx': 2, - 'match_id': 0, - 'to_field': 'fiscal_year' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'conversion_rate', - 'idx': 3, - 'match_id': 0, - 'to_field': 'conversion_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'currency', - 'idx': 4, - 'match_id': 0, - 'to_field': 'currency' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'supplier', - 'idx': 5, - 'match_id': 0, - 'to_field': 'supplier' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'supplier_name', - 'idx': 6, - 'match_id': 0, - 'to_field': 'supplier_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'supplier_name', - 'idx': 6, - 'match_id': 1, - 'to_field': 'supplier_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'supplier_address', - 'idx': 7, - 'match_id': 0, - 'to_field': 'supplier_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 8, - 'match_id': 0, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address_display', - 'idx': 9, - 'match_id': 0, - 'to_field': 'address_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_display', - 'idx': 10, - 'match_id': 0, - 'to_field': 'contact_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_mobile', - 'idx': 11, - 'match_id': 0, - 'to_field': 'contact_mobile' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_email', - 'idx': 12, - 'match_id': 0, - 'to_field': 'contact_email' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 13, - 'match_id': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 14, - 'match_id': 1, - 'to_field': 'item_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'brand', - 'idx': 15, - 'match_id': 1, - 'to_field': 'brand' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval: flt(obj.qty) - flt(obj.billed_qty)', - 'idx': 16, - 'match_id': 1, 'to_field': 'qty' }, @@ -202,8 +57,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'purchase_rate', - 'idx': 17, - 'match_id': 1, 'to_field': 'rate' }, @@ -211,44 +64,20 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'eval: (flt(obj.qty) - flt(obj.billed_qty)) * flt(obj.purchase_rate)', - 'idx': 18, - 'match_id': 1, 'to_field': 'amount' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'import_rate', - 'idx': 19, - 'match_id': 1, - 'to_field': 'import_rate' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval: (flt(obj.qty) - flt(obj.billed_qty)) * flt(obj.import_rate)', - 'idx': 20, - 'match_id': 1, 'to_field': 'import_amount' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 21, - 'match_id': 1, - 'to_field': 'description' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 22, - 'match_id': 1, 'to_field': 'purchase_order' }, @@ -256,124 +85,13 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 23, - 'match_id': 1, 'to_field': 'po_detail' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_group', - 'idx': 24, - 'match_id': 1, - 'to_field': 'item_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_tax_rate', - 'idx': 25, - 'match_id': 1, - 'to_field': 'item_tax_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'category', - 'idx': 26, - 'match_id': 2, - 'to_field': 'category' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'add_deduct_tax', - 'idx': 27, - 'match_id': 2, - 'to_field': 'add_deduct_tax' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'charge_type', - 'idx': 28, - 'match_id': 2, - 'to_field': 'charge_type' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'row_id', - 'idx': 29, - 'match_id': 2, - 'to_field': 'row_id' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_wise_tax_detail', - 'idx': 30, - 'match_id': 2, - 'to_field': 'item_wise_tax_detail' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 31, - 'match_id': 2, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'account_head', - 'idx': 32, - 'match_id': 2, - 'to_field': 'account_head' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'cost_center', - 'idx': 33, - 'match_id': 2, - 'to_field': 'cost_center' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rate', - 'idx': 34, - 'match_id': 2, - 'to_field': 'rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'project_name', - 'idx': 35, - 'match_id': 0, - 'to_field': 'project_name' - }, - # Table Mapper Detail { 'doctype': 'Table Mapper Detail', 'from_table': 'Purchase Order', - 'idx': 1, 'match_id': 0, 'to_table': 'Payable Voucher', 'validation_logic': 'docstatus =1' @@ -384,7 +102,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'po_details', 'from_table': 'PO Detail', - 'idx': 2, 'match_id': 1, 'to_field': 'entries', 'to_table': 'PV Detail', @@ -396,7 +113,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'purchase_tax_details', 'from_table': 'Purchase Tax Detail', - 'idx': 3, 'match_id': 2, 'to_field': 'purchase_tax_details', 'to_table': 'Purchase Tax Detail', diff --git a/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt b/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt index 73967d9bc1..d363acbcd5 100644 --- a/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt +++ b/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt @@ -6,7 +6,7 @@ 'creation': '2010-08-08 17:09:35', 'docstatus': 0, 'modified': '2011-05-13 12:18:34', - 'modified_by': 'Administrator', + 'modified_by': 'umair@iwebnotes.com', 'owner': 'Administrator' }, @@ -23,6 +23,7 @@ { 'doctype': 'Field Mapper Detail', 'map': 'Yes', + 'match_id': 1, 'name': '__common__', 'parent': 'Purchase Receipt-Payable Voucher', 'parentfield': 'field_mapper_details', @@ -45,156 +46,10 @@ 'name': 'Purchase Receipt-Payable Voucher' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'company', - 'idx': 1, - 'match_id': 0, - 'to_field': 'company' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'fiscal_year', - 'idx': 2, - 'match_id': 0, - 'to_field': 'fiscal_year' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'supplier', - 'idx': 3, - 'match_id': 0, - 'to_field': 'supplier' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'supplier_name', - 'idx': 4, - 'match_id': 0, - 'to_field': 'supplier_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'supplier_address', - 'idx': 5, - 'match_id': 0, - 'to_field': 'supplier_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 6, - 'match_id': 0, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address_display', - 'idx': 7, - 'match_id': 0, - 'to_field': 'address_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_display', - 'idx': 8, - 'match_id': 0, - 'to_field': 'contact_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_mobile', - 'idx': 9, - 'match_id': 0, - 'to_field': 'contact_mobile' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_email', - 'idx': 10, - 'match_id': 0, - 'to_field': 'contact_email' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'currency', - 'idx': 11, - 'match_id': 0, - 'to_field': 'currency' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'conversion_rate', - 'idx': 12, - 'match_id': 0, - 'to_field': 'conversion_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 13, - 'match_id': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 14, - 'match_id': 1, - 'to_field': 'item_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'brand', - 'idx': 15, - 'match_id': 1, - 'to_field': 'brand' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 16, - 'match_id': 1, - 'to_field': 'description' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval: flt(obj.qty) - flt(obj.billed_qty)', - 'idx': 17, - 'match_id': 1, 'to_field': 'qty' }, @@ -202,8 +57,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'purchase_rate', - 'idx': 18, - 'match_id': 1, 'to_field': 'rate' }, @@ -211,26 +64,13 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'eval: (flt(obj.qty) - flt(obj.billed_qty)) * flt(obj.purchase_rate)', - 'idx': 19, - 'match_id': 1, 'to_field': 'amount' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'import_rate', - 'idx': 20, - 'match_id': 1, - 'to_field': 'import_rate' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval: (flt(obj.qty) - flt(obj.billed_qty)) * flt(obj.import_rate)', - 'idx': 21, - 'match_id': 1, 'to_field': 'import_amount' }, @@ -238,8 +78,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 22, - 'match_id': 1, 'to_field': 'purchase_receipt' }, @@ -247,8 +85,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'prevdoc_docname', - 'idx': 23, - 'match_id': 1, 'to_field': 'purchase_order' }, @@ -256,8 +92,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 24, - 'match_id': 1, 'to_field': 'pr_detail' }, @@ -265,125 +99,14 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'prevdoc_detail_docname', - 'idx': 25, - 'match_id': 1, 'to_field': 'po_detail' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_group', - 'idx': 26, - 'match_id': 1, - 'to_field': 'item_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_tax_rate', - 'idx': 27, - 'match_id': 1, - 'to_field': 'item_tax_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'category', - 'idx': 28, - 'match_id': 2, - 'to_field': 'category' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'add_deduct_tax', - 'idx': 29, - 'match_id': 2, - 'to_field': 'add_deduct_tax' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'charge_type', - 'idx': 30, - 'match_id': 2, - 'to_field': 'charge_type' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'row_id', - 'idx': 31, - 'match_id': 2, - 'to_field': 'row_id' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_wise_tax_detail', - 'idx': 32, - 'match_id': 2, - 'to_field': 'item_wise_tax_detail' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 33, - 'match_id': 2, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'account_head', - 'idx': 34, - 'match_id': 2, - 'to_field': 'account_head' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'cost_center', - 'idx': 35, - 'match_id': 2, - 'to_field': 'cost_center' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rate', - 'idx': 36, - 'match_id': 2, - 'to_field': 'rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'project_name', - 'idx': 37, - 'match_id': 0, - 'to_field': 'project_name' - }, - # Table Mapper Detail { 'doctype': 'Table Mapper Detail', 'from_field': 'purchase_receipt_details', 'from_table': 'Purchase Receipt Detail', - 'idx': 1, 'match_id': 1, 'to_field': 'entries', 'to_table': 'PV Detail', @@ -394,7 +117,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Purchase Receipt', - 'idx': 2, 'match_id': 0, 'to_table': 'Payable Voucher', 'validation_logic': 'docstatus=1' @@ -405,7 +127,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'purchase_tax_details', 'from_table': 'Purchase Tax Detail', - 'idx': 3, 'match_id': 2, 'to_field': 'purchase_tax_details', 'to_table': 'Purchase Tax Detail', diff --git a/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt b/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt index 7280ba5d5e..f1f77101b3 100644 --- a/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt +++ b/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:36', 'docstatus': 0, - 'modified': '2011-05-16 17:34:21', + 'modified': '2011-08-08 16:56:40', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -50,7 +50,6 @@ 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'customer', - 'idx': 1, 'match_id': 0, 'to_field': 'customer' }, @@ -58,269 +57,31 @@ # Field Mapper Detail { 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_address', - 'idx': 2, - 'match_id': 0, - 'to_field': 'customer_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 3, - 'match_id': 0, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_name', - 'idx': 4, - 'match_id': 0, - 'to_field': 'customer_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address_display', - 'idx': 5, - 'match_id': 0, - 'to_field': 'address_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_display', - 'idx': 6, - 'match_id': 0, - 'to_field': 'contact_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_mobile', - 'idx': 7, - 'match_id': 0, - 'to_field': 'contact_mobile' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_email', - 'idx': 8, - 'match_id': 0, - 'to_field': 'contact_email' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_group', - 'idx': 10, - 'match_id': 0, - 'to_field': 'customer_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'company', - 'idx': 11, - 'match_id': 0, - 'to_field': 'company' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'fiscal_year', - 'idx': 12, - 'match_id': 0, - 'to_field': 'fiscal_year' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'charge', - 'idx': 13, - 'match_id': 0, - 'to_field': 'charge' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'conversion_rate', - 'idx': 14, - 'match_id': 0, - 'to_field': 'conversion_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'price_list_name', - 'idx': 15, - 'match_id': 0, - 'to_field': 'price_list_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'currency', - 'idx': 16, - 'match_id': 0, - 'to_field': 'currency' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 17, - 'match_id': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 18, - 'match_id': 1, - 'to_field': 'item_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'brand', - 'idx': 19, - 'match_id': 1, - 'to_field': 'brand' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 20, - 'match_id': 1, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'eval: flt(obj.qty) - flt(obj.billed_qty)', - 'idx': 21, + 'from_field': 'eval: (flt(obj.amount) - flt(obj.billed_amt))/flt(obj.basic_rate)', 'match_id': 1, 'to_field': 'qty' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'base_ref_rate', - 'idx': 22, - 'match_id': 1, - 'to_field': 'base_ref_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'name', - 'idx': 22, - 'match_id': 1, - 'to_field': 'so_detail' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'ref_rate', - 'idx': 23, - 'match_id': 1, - 'to_field': 'ref_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'export_rate', - 'idx': 23, - 'match_id': 1, - 'to_field': 'export_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'basic_rate', - 'idx': 24, - 'match_id': 1, - 'to_field': 'basic_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_group', - 'idx': 25, - 'match_id': 1, - 'to_field': 'item_group' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 26, 'match_id': 1, 'to_field': 'sales_order' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'stock_uom', - 'idx': 27, - 'match_id': 1, - 'to_field': 'stock_uom' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 29, 'match_id': 1, - 'to_field': 'export_rate' + 'to_field': 'so_detail' }, # Field Mapper Detail { 'doctype': 'Field Mapper Detail', - 'from_field': 'export_rate', - 'idx': 30, - 'match_id': 1, - 'to_field': 'export_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'eval: (flt(obj.qty) - flt(obj.billed_qty)) * flt(obj.basic_rate)', - 'idx': 31, + 'from_field': 'eval:flt(obj.amount) - flt(obj.billed_amt)', 'match_id': 1, 'to_field': 'amount' }, @@ -328,342 +89,24 @@ # Field Mapper Detail { 'doctype': 'Field Mapper Detail', - 'from_field': 'eval: (flt(obj.qty) - flt(obj.billed_qty)) * flt(obj.export_rate)', - 'idx': 32, + 'from_field': 'eval: (flt(obj.amount) - flt(obj.billed_amt))* flt(obj.export_rate)/flt(obj.basic_rate)', 'match_id': 1, 'to_field': 'export_amount' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'adj_rate', - 'idx': 33, - 'match_id': 1, - 'to_field': 'adj_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_tax_rate', - 'idx': 34, - 'match_id': 1, - 'to_field': 'item_tax_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'charge_type', - 'idx': 35, - 'match_id': 2, - 'to_field': 'charge_type' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'row_id', - 'idx': 36, - 'match_id': 2, - 'to_field': 'row_id' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 37, - 'match_id': 2, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'account_head', - 'idx': 38, - 'match_id': 2, - 'to_field': 'account_head' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'total_amount', - 'idx': 39, - 'match_id': 2, - 'to_field': 'total_amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 39, - 'match_id': 0, - 'to_field': 'territory' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'total_tax_amount', - 'idx': 40, - 'match_id': 2, - 'to_field': 'total_tax_amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_wise_tax_detail', - 'idx': 41, - 'match_id': 2, - 'to_field': 'item_wise_tax_detail' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'cost_center_other_charges', - 'idx': 42, - 'match_id': 2, - 'to_field': 'cost_center_other_charges' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rate', - 'idx': 43, - 'match_id': 2, - 'to_field': 'rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'tax_amount', - 'idx': 44, - 'match_id': 2, - 'to_field': 'tax_amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'total', - 'idx': 45, - 'match_id': 2, - 'to_field': 'total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'source', - 'idx': 46, - 'match_id': 0, - 'to_field': 'source' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'campaign', - 'idx': 47, - 'match_id': 0, - 'to_field': 'campaign' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'tc_name', - 'idx': 48, - 'match_id': 0, - 'to_field': 'tc_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'select_print_heading', - 'idx': 49, - 'match_id': 0, - 'to_field': 'select_print_heading' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'terms', - 'idx': 50, - 'match_id': 0, - 'to_field': 'terms' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'net_total', - 'idx': 51, - 'match_id': 0, - 'to_field': 'net_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'grand_total', - 'idx': 52, - 'match_id': 0, - 'to_field': 'grand_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'other_charges_total', - 'idx': 53, - 'match_id': 0, - 'to_field': 'other_charges_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rounded_total', - 'idx': 54, - 'match_id': 0, - 'to_field': 'rounded_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'in_words', - 'idx': 55, - 'match_id': 0, - 'to_field': 'in_words' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'grand_total_export', - 'idx': 56, - 'match_id': 0, - 'to_field': 'grand_total_export' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rounded_total_export', - 'idx': 57, - 'match_id': 0, - 'to_field': 'rounded_total_export' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'in_words_export', - 'idx': 58, - 'match_id': 0, - 'to_field': 'in_words_export' - }, - # Field Mapper Detail { 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'project_name', - 'idx': 59, 'match_id': 0, 'to_field': 'project_name' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'sales_partner', - 'idx': 60, - 'match_id': 0, - 'to_field': 'sales_partner' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'sales_designation', - 'idx': 61, - 'match_id': 3, - 'to_field': 'sales_designation' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'commission_rate', - 'idx': 62, - 'match_id': 0, - 'to_field': 'commission_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'total_commission', - 'idx': 63, - 'match_id': 0, - 'to_field': 'total_commission' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'allocated_percentage', - 'idx': 64, - 'match_id': 3, - 'to_field': 'allocated_percentage' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'sales_person', - 'idx': 65, - 'match_id': 3, - 'to_field': 'sales_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'allocated_amount', - 'idx': 66, - 'match_id': 3, - 'to_field': 'allocated_amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'incentives', - 'idx': 67, - 'match_id': 3, - 'to_field': 'incentives' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'reserved_warehouse', - 'idx': 68, 'match_id': 1, 'to_field': 'warehouse' }, @@ -672,7 +115,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Sales Order', - 'idx': 1, 'match_id': 0, 'to_table': 'Receivable Voucher', 'validation_logic': 'docstatus=1' @@ -683,11 +125,10 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'sales_order_detail', 'from_table': 'Sales Order Detail', - 'idx': 2, 'match_id': 1, 'to_field': 'entries', 'to_table': 'RV Detail', - 'validation_logic': '(qty > ifnull(billed_qty, 0) or amount > ifnull(billed_amt, 0)) and docstatus = 1' + 'validation_logic': 'amount > ifnull(billed_amt, 0) and docstatus = 1' }, # Table Mapper Detail @@ -695,7 +136,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'other_charges', 'from_table': 'RV Tax Detail', - 'idx': 3, 'match_id': 2, 'to_field': 'other_charges', 'to_table': 'RV Tax Detail', @@ -707,7 +147,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'sales_team', 'from_table': 'Sales Team', - 'idx': 4, 'match_id': 3, 'to_field': 'sales_team', 'to_table': 'Sales Team', diff --git a/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt b/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt index d8d4f341cd..30412182fd 100644 --- a/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt +++ b/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt @@ -45,21 +45,11 @@ 'name': 'Indent-Purchase Order' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'fiscal_year', - 'idx': 1, - 'match_id': 0, - 'to_field': 'fiscal_year' - }, - # Field Mapper Detail { 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'company', - 'idx': 2, 'match_id': 0, 'to_field': 'company' }, @@ -68,7 +58,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parenttype', - 'idx': 3, 'match_id': 1, 'to_field': 'prevdoc_doctype' }, @@ -77,7 +66,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 4, 'match_id': 1, 'to_field': 'prevdoc_docname' }, @@ -86,7 +74,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 5, 'match_id': 1, 'to_field': 'prevdoc_detail_docname' }, @@ -95,7 +82,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'uom', - 'idx': 6, 'match_id': 1, 'to_field': 'stock_uom' }, @@ -104,88 +90,14 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'eval:flt(1)', - 'idx': 7, 'match_id': 1, 'to_field': 'conversion_factor' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'uom', - 'idx': 8, - 'match_id': 1, - 'to_field': 'uom' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'warehouse', - 'idx': 9, - 'match_id': 1, - 'to_field': 'warehouse' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'schedule_date', - 'idx': 10, - 'match_id': 1, - 'to_field': 'schedule_date' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 11, - 'match_id': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 12, - 'match_id': 1, - 'to_field': 'item_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'brand', - 'idx': 13, - 'match_id': 1, - 'to_field': 'brand' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 14, - 'match_id': 1, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_group', - 'idx': 15, - 'match_id': 1, - 'to_field': 'item_group' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval:flt(obj.qty) - flt(obj.ordered_qty)', - 'idx': 16, 'match_id': 1, 'to_field': 'stock_qty' }, @@ -194,7 +106,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'eval:flt(obj.qty) - flt(obj.ordered_qty)', - 'idx': 17, 'match_id': 1, 'to_field': 'qty' }, @@ -203,7 +114,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Indent', - 'idx': 1, 'match_id': 0, 'reference_key': 'prevdoc_docname', 'to_table': 'Purchase Order', @@ -215,7 +125,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'indent_details', 'from_table': 'Indent Detail', - 'idx': 2, 'match_id': 1, 'reference_doctype_key': 'prevdoc_doctype', 'to_field': 'po_details', diff --git a/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt b/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt index 349603c743..d32aeb63ce 100755 --- a/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt +++ b/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2011-04-06 15:33:09', + 'creation': '2011-05-05 15:58:13', 'docstatus': 0, - 'modified': '2011-05-04 14:49:55', + 'modified': '2011-05-05 16:20:10', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -49,7 +49,6 @@ 'checking_operator': '>=', 'doctype': 'Field Mapper Detail', 'from_field': 'transaction_date', - 'idx': 1, 'map': 'No', 'match_id': 0, 'to_field': 'transaction_date' @@ -60,148 +59,43 @@ 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'company', - 'idx': 2, 'map': 'Yes', 'match_id': 0, 'to_field': 'company' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'fiscal_year', - 'idx': 3, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'fiscal_year' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'tc_name', - 'idx': 4, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'tc_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'terms', - 'idx': 5, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'terms' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'letter_head', - 'idx': 6, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'letter_head' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 7, 'map': 'Yes', 'match_id': 1, 'to_field': 'sales_order_no' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 8, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 9, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'item_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 10, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_group', - 'idx': 11, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'item_group' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'stock_uom', - 'idx': 12, 'map': 'Yes', 'match_id': 1, 'to_field': 'uom' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'qty', - 'idx': 13, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'qty' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'reserved_warehouse', - 'idx': 14, 'map': 'Yes', 'match_id': 1, 'to_field': 'warehouse' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'brand', - 'idx': 15, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'brand' - }, - # Table Mapper Detail { 'doctype': 'Table Mapper Detail', 'from_field': 'sales_order_details', 'from_table': 'Sales Order Detail', - 'idx': 1, 'match_id': 1, 'reference_doctype_key': 'prevdoc_doctype', 'reference_key': 'prevdoc_detail_docname', @@ -214,7 +108,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Sales Order', - 'idx': 2, 'match_id': 0, 'reference_key': 'prevdoc_docname', 'to_table': 'Indent', diff --git a/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt b/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt index 8145e4f7cc..b3081bfb52 100644 --- a/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt +++ b/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt @@ -15,7 +15,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'kra_sheet', 'from_table': 'KRA Sheet', - 'idx': 1, 'match_id': 0, 'name': '__common__', 'parent': 'KRA Template-Appraisal', @@ -26,17 +25,6 @@ 'validation_logic': 'name is not Null' }, - # These values are common for all Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'map': 'Yes', - 'match_id': 0, - 'name': '__common__', - 'parent': 'KRA Template-Appraisal', - 'parentfield': 'field_mapper_details', - 'parenttype': 'DocType Mapper' - }, - # These values are common for all DocType Mapper { 'doctype': 'DocType Mapper', @@ -52,22 +40,6 @@ 'name': 'KRA Template-Appraisal' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'kra', - 'idx': 1, - 'to_field': 'kra' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'per_weightage', - 'idx': 2, - 'to_field': 'per_weightage' - }, - # Table Mapper Detail { 'doctype': 'Table Mapper Detail' diff --git a/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt b/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt index 2dbc46cd1a..03318a1c2d 100644 --- a/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt +++ b/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt @@ -6,7 +6,7 @@ 'creation': '2010-12-14 10:23:25', 'docstatus': 0, 'modified': '2011-02-12 18:31:40', - 'modified_by': 'Administrator', + 'modified_by': 'umair@iwebnotes.com', 'owner': 'harshada@webnotestech.com' }, @@ -45,74 +45,10 @@ 'name': 'Salary Structure-Salary Slip' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'employee', - 'idx': 1, - 'match_id': 0, - 'to_field': 'employee' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'employee_name', - 'idx': 2, - 'match_id': 0, - 'to_field': 'employee_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'department', - 'idx': 3, - 'match_id': 0, - 'to_field': 'department' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'designation', - 'idx': 4, - 'match_id': 0, - 'to_field': 'designation' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'branch', - 'idx': 5, - 'match_id': 0, - 'to_field': 'branch' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'grade', - 'idx': 6, - 'match_id': 0, - 'to_field': 'grade' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'e_type', - 'idx': 7, - 'match_id': 1, - 'to_field': 'e_type' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'total_earning', - 'idx': 7, 'match_id': 0, 'to_field': 'gross_pay' }, @@ -121,43 +57,14 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'modified_value', - 'idx': 8, 'match_id': 1, 'to_field': 'e_amount' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'total_deduction', - 'idx': 8, - 'match_id': 0, - 'to_field': 'total_deduction' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'd_type', - 'idx': 9, - 'match_id': 2, - 'to_field': 'd_type' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'net_pay', - 'idx': 9, - 'match_id': 0, - 'to_field': 'net_pay' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'd_modified_amt', - 'idx': 10, 'match_id': 2, 'to_field': 'd_amount' }, @@ -166,7 +73,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'modified_value', - 'idx': 12, 'match_id': 1, 'to_field': 'e_modified_amount' }, @@ -175,7 +81,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'depend_on_lwp', - 'idx': 13, 'match_id': 1, 'to_field': 'e_depends_on_lwp' }, @@ -184,7 +89,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'd_modified_amt', - 'idx': 16, 'match_id': 2, 'to_field': 'd_modified_amount' }, @@ -193,7 +97,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'depend_on_lwp', - 'idx': 17, 'match_id': 2, 'to_field': 'd_depends_on_lwp' }, @@ -202,7 +105,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Salary Structure', - 'idx': 1, 'match_id': 0, 'to_table': 'Salary Slip' }, @@ -212,7 +114,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'earning_details', 'from_table': 'Earning Detail', - 'idx': 2, 'match_id': 1, 'to_field': 'earning_details', 'to_table': 'SS Earning Detail' @@ -223,7 +124,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'deduction_details', 'from_table': 'Deduction Detail', - 'idx': 3, 'match_id': 2, 'to_field': 'deduction_details', 'to_table': 'SS Deduction Detail' diff --git a/patches/patch.py b/patches/patch.py index 616be63f76..fb26ecd19b 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 346 +last_patch = 347 #------------------------------------------- def execute(patch_no): @@ -256,5 +256,5 @@ def execute(patch_no): elif patch_no == 346: delete_doc('DocType', 'Profile') reload_doc('core', 'doctype', 'profile') - - + elif patch_no == 347: + sql("delete from `tabField Mapper Detail` where from_field = to_field and map = 'Yes' and ifnull(checking_operator, '') = ''") diff --git a/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt b/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt index 62306cc428..dfbef85dfc 100644 --- a/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt +++ b/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt @@ -45,35 +45,10 @@ 'name': 'Production Forecast-Production Plan' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 2, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'stock_uom', - 'idx': 3, - 'to_field': 'stock_uom' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval:flt(obj.qty)-flt(obj.planned_qty)', - 'idx': 4, 'to_field': 'prevdoc_reqd_qty' }, @@ -81,7 +56,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parenttype', - 'idx': 5, 'to_field': 'against_document' }, @@ -89,7 +63,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 6, 'to_field': 'document_no' }, @@ -97,7 +70,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'start_date', - 'idx': 7, 'to_field': 'document_date' }, @@ -105,7 +77,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'end_date', - 'idx': 8, 'to_field': 'confirmation_date' }, @@ -113,7 +84,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Production Forecast', - 'idx': 1, 'match_id': 0, 'to_table': 'Production Plan', 'validation_logic': 'docstatus =1' @@ -124,7 +94,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'pf_details', 'from_table': 'PF Detail', - 'idx': 2, 'match_id': 1, 'to_field': 'pp_details', 'to_table': 'PP Detail', diff --git a/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt b/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt index 5cab415c5f..6125d98192 100644 --- a/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt +++ b/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt @@ -45,35 +45,10 @@ 'name': 'Production Forecast-Production Planning Tool' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 2, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'stock_uom', - 'idx': 3, - 'to_field': 'stock_uom' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval:flt(obj.qty)-flt(obj.planned_qty)', - 'idx': 4, 'to_field': 'prevdoc_reqd_qty' }, @@ -81,7 +56,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parenttype', - 'idx': 5, 'to_field': 'source_doctype' }, @@ -89,7 +63,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 6, 'to_field': 'source_docname' }, @@ -97,7 +70,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'end_date', - 'idx': 7, 'to_field': 'confirmation_date' }, @@ -105,7 +77,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Production Forecast', - 'idx': 1, 'match_id': 0, 'to_table': 'Production Planning Tool', 'validation_logic': 'docstatus =1' @@ -116,7 +87,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'pf_details', 'from_table': 'PF Detail', - 'idx': 2, 'match_id': 1, 'to_field': 'pp_details', 'to_table': 'PP Detail', diff --git a/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt b/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt index 5132c78f88..41c517376f 100644 --- a/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt +++ b/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt @@ -50,7 +50,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parenttype', - 'idx': 1, 'to_field': 'against_document' }, @@ -58,31 +57,13 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 2, 'to_field': 'document_no' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 3, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 4, - 'to_field': 'description' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'uom', - 'idx': 5, 'to_field': 'stock_uom' }, @@ -90,7 +71,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'eval:flt(obj.qty)-flt(obj.planned_qty)', - 'idx': 6, 'to_field': 'prevdoc_total_qty' }, @@ -98,23 +78,13 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'transaction_date', - 'idx': 7, 'to_field': 'document_date' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'delivery_date', - 'idx': 8, - 'to_field': 'delivery_date' - }, - # Table Mapper Detail { 'doctype': 'Table Mapper Detail', 'from_table': 'Sales Order', - 'idx': 1, 'match_id': 0, 'to_table': 'Production Plan', 'validation_logic': 'docstatus =1' @@ -125,7 +95,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'packing_details', 'from_table': 'Delivery Note Packing Detail', - 'idx': 2, 'match_id': 1, 'to_field': 'pp_details', 'to_table': 'PP Detail', diff --git a/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt b/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt index a4afac7e6d..67abbdc3b0 100644 --- a/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt +++ b/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt @@ -6,7 +6,7 @@ 'creation': '2010-08-08 17:09:34', 'docstatus': 0, 'modified': '2011-05-17 11:42:57', - 'modified_by': 'Administrator', + 'modified_by': 'umair@iwebnotes.com', 'owner': 'Administrator' }, @@ -50,116 +50,23 @@ 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'company', - 'idx': 1, 'match_id': 0, 'to_field': 'company' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'fiscal_year', - 'idx': 2, - 'match_id': 0, - 'to_field': 'fiscal_year' - }, - # Field Mapper Detail { 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'customer', - 'idx': 3, 'match_id': 0, 'to_field': 'customer' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_address', - 'idx': 4, - 'match_id': 0, - 'to_field': 'customer_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 5, - 'match_id': 0, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_name', - 'idx': 6, - 'match_id': 0, - 'to_field': 'customer_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address_display', - 'idx': 7, - 'match_id': 0, - 'to_field': 'address_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_display', - 'idx': 8, - 'match_id': 0, - 'to_field': 'contact_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_mobile', - 'idx': 9, - 'match_id': 0, - 'to_field': 'contact_mobile' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_email', - 'idx': 10, - 'match_id': 0, - 'to_field': 'contact_email' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 11, - 'match_id': 0, - 'to_field': 'territory' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_group', - 'idx': 12, - 'match_id': 0, - 'to_field': 'customer_group' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 13, 'match_id': 0, 'to_field': 'delivery_note_no' }, @@ -168,7 +75,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 14, 'match_id': 1, 'to_field': 'prevdoc_detail_docname' }, @@ -177,7 +83,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 15, 'match_id': 1, 'to_field': 'prevdoc_docname' }, @@ -186,52 +91,22 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parenttype', - 'idx': 16, 'match_id': 1, 'to_field': 'prevdoc_doctype' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 17, - 'match_id': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 18, - 'match_id': 1, - 'to_field': 'description' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval: flt(obj.qty) - flt(obj.installed_qty)', - 'idx': 19, 'match_id': 1, 'to_field': 'qty' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'serial_no', - 'idx': 20, - 'match_id': 1, - 'to_field': 'serial_no' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'posting_date', - 'idx': 21, 'match_id': 2, 'to_field': 'prevdoc_date' }, @@ -241,7 +116,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'delivery_note_details', 'from_table': 'Delivery Note Detail', - 'idx': 1, 'match_id': 1, 'to_field': 'installed_item_details', 'to_table': 'Installed Item Details', @@ -252,7 +126,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Delivery Note', - 'idx': 2, 'match_id': 0, 'to_table': 'Installation Note', 'validation_logic': 'docstatus = 1' @@ -262,7 +135,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Delivery Note', - 'idx': 3, 'match_id': 2, 'reference_doctype_key': 'prevdoc_doctype', 'reference_key': 'prevdoc_docname', diff --git a/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt b/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt index 78f5a56b3a..4db092dab2 100644 --- a/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt +++ b/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt @@ -6,7 +6,7 @@ 'creation': '2010-08-08 17:09:34', 'docstatus': 0, 'modified': '2011-05-10 16:04:40', - 'modified_by': 'Administrator', + 'modified_by': 'umair@iwebnotes.com', 'owner': 'Administrator' }, @@ -46,182 +46,26 @@ 'name': 'Enquiry-Quotation' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 1, - 'match_id': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 2, - 'match_id': 1, - 'to_field': 'item_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'qty', - 'idx': 3, - 'match_id': 1, - 'to_field': 'qty' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'uom', - 'idx': 4, 'match_id': 1, 'to_field': 'stock_uom' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'source', - 'idx': 5, - 'match_id': 0, - 'to_field': 'source' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'campaign', - 'idx': 6, - 'match_id': 0, - 'to_field': 'campaign' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 7, 'match_id': 0, 'to_field': 'enq_no' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer', - 'idx': 8, - 'match_id': 0, - 'to_field': 'customer' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_address', - 'idx': 9, - 'match_id': 0, - 'to_field': 'customer_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 10, - 'match_id': 0, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address_display', - 'idx': 11, - 'match_id': 0, - 'to_field': 'address_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_display', - 'idx': 12, - 'match_id': 0, - 'to_field': 'contact_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_mobile', - 'idx': 13, - 'match_id': 0, - 'to_field': 'contact_mobile' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_email', - 'idx': 14, - 'match_id': 0, - 'to_field': 'contact_email' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 15, - 'match_id': 0, - 'to_field': 'territory' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_group', - 'idx': 16, - 'match_id': 0, - 'to_field': 'customer_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 17, - 'match_id': 1, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_group', - 'idx': 18, - 'match_id': 1, - 'to_field': 'item_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'brand', - 'idx': 19, - 'match_id': 1, - 'to_field': 'brand' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 20, 'match_id': 1, 'to_field': 'prevdoc_docname' }, @@ -230,34 +74,14 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parenttype', - 'idx': 21, 'match_id': 1, 'to_field': 'prevdoc_doctype' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'lead', - 'idx': 22, - 'match_id': 0, - 'to_field': 'lead' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'lead_name', - 'idx': 23, - 'match_id': 0, - 'to_field': 'lead_name' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'enquiry_from', - 'idx': 24, 'match_id': 0, 'to_field': 'quotation_to' }, @@ -266,7 +90,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'enquiry_type', - 'idx': 25, 'match_id': 0, 'to_field': 'order_type' }, @@ -275,7 +98,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Enquiry', - 'idx': 1, 'match_id': 0, 'to_table': 'Quotation' }, @@ -285,7 +107,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'enq_details', 'from_table': 'Enquiry Detail', - 'idx': 2, 'match_id': 1, 'to_field': 'quotation_details', 'to_table': 'Quotation Detail' diff --git a/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt b/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt index d91672a0d2..2b7a15a81f 100644 --- a/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt +++ b/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt @@ -14,7 +14,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Lead', - 'idx': 1, 'match_id': 0, 'name': '__common__', 'parent': 'Lead-Customer', @@ -54,7 +53,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 1, 'to_field': 'lead_name' }, @@ -62,79 +60,13 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'company_name', - 'idx': 2, 'to_field': 'customer_name' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address_line1', - 'idx': 3, - 'to_field': 'address_line1' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address_line2', - 'idx': 4, - 'to_field': 'address_line2' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'city', - 'idx': 5, - 'to_field': 'city' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'country', - 'idx': 6, - 'to_field': 'country' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'state', - 'idx': 7, - 'to_field': 'state' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'pincode', - 'idx': 8, - 'to_field': 'pincode' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'company', - 'idx': 9, - 'to_field': 'company' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 10, - 'to_field': 'territory' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'contact_no', - 'idx': 11, 'to_field': 'phone_1' }, @@ -142,18 +74,9 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'fax', - 'idx': 12, 'to_field': 'fax_1' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'website', - 'idx': 13, - 'to_field': 'website' - }, - # Table Mapper Detail { 'doctype': 'Table Mapper Detail' diff --git a/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt b/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt index 716674d04f..4b32723e02 100644 --- a/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt +++ b/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt @@ -14,7 +14,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Lead', - 'idx': 1, 'match_id': 0, 'name': '__common__', 'parent': 'Lead-Enquiry', @@ -50,110 +49,27 @@ 'name': 'Lead-Enquiry' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'source', - 'idx': 1, - 'to_field': 'source' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'campaign_name', - 'idx': 2, 'to_field': 'campaign' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_by', - 'idx': 3, - 'to_field': 'contact_by' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'last_contact_date', - 'idx': 4, - 'to_field': 'last_contact_date' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_date_ref', - 'idx': 5, - 'to_field': 'contact_date_ref' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_date', - 'idx': 6, - 'to_field': 'contact_date' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'doctype', - 'idx': 7, 'to_field': 'enquiry_from' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'lead_name', - 'idx': 8, - 'to_field': 'lead_name' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 9, 'to_field': 'lead' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address', - 'idx': 10, - 'to_field': 'address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_no', - 'idx': 11, - 'to_field': 'contact_no' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'email_id', - 'idx': 12, - 'to_field': 'email_id' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 13, - 'to_field': 'territory' - }, - # Table Mapper Detail { 'doctype': 'Table Mapper Detail' diff --git a/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt b/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt index 1f54abd577..04f70ad94c 100644 --- a/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt +++ b/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt @@ -14,7 +14,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Project', - 'idx': 1, 'match_id': 0, 'name': '__common__', 'parent': 'Project-Sales Order', @@ -26,13 +25,16 @@ # These values are common for all Field Mapper Detail { + 'checking_operator': '=', 'doctype': 'Field Mapper Detail', + 'from_field': 'customer', 'map': 'Yes', 'match_id': 0, 'name': '__common__', 'parent': 'Project-Sales Order', 'parentfield': 'field_mapper_details', - 'parenttype': 'DocType Mapper' + 'parenttype': 'DocType Mapper', + 'to_field': 'customer' }, # These values are common for all DocType Mapper @@ -52,67 +54,7 @@ # Field Mapper Detail { - 'checking_operator': '=', - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer', - 'idx': 1, - 'to_field': 'customer' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_name', - 'idx': 2, - 'to_field': 'customer_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_address', - 'idx': 3, - 'to_field': 'customer_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 4, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_no', - 'idx': 5, - 'to_field': 'contact_no' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'email_id', - 'idx': 6, - 'to_field': 'email_id' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_group', - 'idx': 7, - 'to_field': 'customer_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 8, - 'to_field': 'territory' + 'doctype': 'Field Mapper Detail' }, # Table Mapper Detail diff --git a/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt b/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt index d05553d5f5..4d493a612b 100644 --- a/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt +++ b/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt @@ -5,7 +5,7 @@ { 'creation': '2010-08-08 17:09:35', 'docstatus': 0, - 'modified': '2011-05-17 12:55:58', + 'modified': '2011-08-25 18:25:02', 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -49,48 +49,34 @@ 'checking_operator': '>=', 'doctype': 'Field Mapper Detail', 'from_field': 'transaction_date', - 'idx': 1, 'map': 'No', 'match_id': 0, 'to_field': 'transaction_date' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'order_type', - 'idx': 2, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'order_type' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'name', - 'idx': 3, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'quotation_no' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'transaction_date', - 'idx': 4, 'map': 'Yes', 'match_id': 0, 'to_field': 'quotation_date' }, + # Field Mapper Detail + { + 'doctype': 'Field Mapper Detail', + 'from_field': 'name', + 'map': 'Yes', + 'match_id': 0, + 'to_field': 'quotation_no' + }, + # Field Mapper Detail { 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'company', - 'idx': 5, 'map': 'Yes', 'match_id': 0, 'to_field': 'company' @@ -101,147 +87,15 @@ 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'fiscal_year', - 'idx': 6, 'map': 'Yes', 'match_id': 0, 'to_field': 'fiscal_year' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'price_list_name', - 'idx': 7, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'price_list_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'conversion_rate', - 'idx': 8, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'conversion_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'currency', - 'idx': 9, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'currency' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer', - 'idx': 10, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'customer' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_name', - 'idx': 11, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'customer_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_address', - 'idx': 12, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'customer_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address_display', - 'idx': 14, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'address_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_display', - 'idx': 15, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'contact_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_mobile', - 'idx': 16, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'contact_mobile' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_email', - 'idx': 17, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'contact_email' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 18, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'territory' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_group', - 'idx': 19, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'customer_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'charge', - 'idx': 20, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'charge' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 21, 'map': 'Yes', 'match_id': 1, 'to_field': 'prevdoc_docname' @@ -250,411 +104,10 @@ # Field Mapper Detail { 'doctype': 'Field Mapper Detail', - 'from_field': 'adj_rate', - 'idx': 22, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'adj_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'basic_rate', - 'idx': 23, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'basic_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'amount', - 'idx': 24, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'stock_uom', - 'idx': 25, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'stock_uom' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'ref_rate', - 'idx': 26, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'ref_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'base_ref_rate', - 'idx': 27, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'base_ref_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 28, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'qty', - 'idx': 29, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'qty' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 30, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 31, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'item_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'brand', - 'idx': 32, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'brand' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_group', - 'idx': 33, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'item_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'export_rate', - 'idx': 34, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'export_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'export_amount', - 'idx': 35, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'export_amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_tax_rate', - 'idx': 36, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'item_tax_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'net_total', - 'idx': 37, - 'map': 'Yes', + 'from_field': 'naming_series', + 'map': 'No', 'match_id': 0, - 'to_field': 'net_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'other_charges_total', - 'idx': 38, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'other_charges_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'grand_total', - 'idx': 39, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'grand_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rounded_total', - 'idx': 40, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'rounded_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'in_words', - 'idx': 41, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'in_words' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'grand_total_export', - 'idx': 42, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'grand_total_export' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rounded_total_export', - 'idx': 43, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'rounded_total_export' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'in_words_export', - 'idx': 44, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'in_words_export' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'charge_type', - 'idx': 45, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'charge_type' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'row_id', - 'idx': 46, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'row_id' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_wise_tax_detail', - 'idx': 47, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'item_wise_tax_detail' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 48, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'account_head', - 'idx': 49, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'account_head' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rate', - 'idx': 50, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'tax_amount', - 'idx': 51, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'tax_amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'total', - 'idx': 52, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'idx', - 'idx': 53, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'idx' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'sales_person', - 'idx': 54, - 'map': 'Yes', - 'match_id': 3, - 'to_field': 'sales_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'allocated_percentage', - 'idx': 55, - 'map': 'Yes', - 'match_id': 3, - 'to_field': 'allocated_percentage' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'allocated_amount', - 'idx': 56, - 'map': 'Yes', - 'match_id': 3, - 'to_field': 'allocated_amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 57, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'tc_name', - 'idx': 57, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'tc_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 57, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'source', - 'idx': 58, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'source' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'campaign', - 'idx': 59, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'campaign' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'terms', - 'idx': 60, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'terms' + 'to_field': 'naming_series' }, # Table Mapper Detail @@ -662,7 +115,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'sales_team', 'from_table': 'Sales Team', - 'idx': 1, 'match_id': 3, 'to_field': 'sales_team', 'to_table': 'Sales Team', @@ -674,7 +126,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'other_charges', 'from_table': 'RV Tax Detail', - 'idx': 2, 'match_id': 2, 'to_field': 'other_charges', 'to_table': 'RV Tax Detail', @@ -686,7 +137,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'quotation_details', 'from_table': 'Quotation Detail', - 'idx': 3, 'match_id': 1, 'reference_doctype_key': 'prevdoc_doctype', 'to_field': 'sales_order_details', @@ -698,7 +148,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Quotation', - 'idx': 4, 'match_id': 0, 'reference_key': 'prevdoc_docname', 'to_table': 'Sales Order', diff --git a/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt b/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt index ef9f0fcf26..e1579f93f6 100644 --- a/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt +++ b/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt @@ -14,7 +14,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Project', - 'idx': 1, 'match_id': 0, 'name': '__common__', 'parent': 'Project-Delivery Note', @@ -26,13 +25,16 @@ # These values are common for all Field Mapper Detail { + 'checking_operator': '=', 'doctype': 'Field Mapper Detail', + 'from_field': 'customer', 'map': 'Yes', 'match_id': 0, 'name': '__common__', 'parent': 'Project-Delivery Note', 'parentfield': 'field_mapper_details', - 'parenttype': 'DocType Mapper' + 'parenttype': 'DocType Mapper', + 'to_field': 'customer' }, # These values are common for all DocType Mapper @@ -52,67 +54,7 @@ # Field Mapper Detail { - 'checking_operator': '=', - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer', - 'idx': 1, - 'to_field': 'customer' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_name', - 'idx': 2, - 'to_field': 'customer_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_address', - 'idx': 3, - 'to_field': 'customer_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 4, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_no', - 'idx': 5, - 'to_field': 'contact_no' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'email_id', - 'idx': 6, - 'to_field': 'email_id' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 7, - 'to_field': 'territory' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_group', - 'idx': 8, - 'to_field': 'customer_group' + 'doctype': 'Field Mapper Detail' }, # Table Mapper Detail diff --git a/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt b/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt index ff00655716..54e272a54f 100644 --- a/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt +++ b/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt @@ -6,7 +6,7 @@ 'creation': '2010-08-08 17:09:35', 'docstatus': 0, 'modified': '2011-05-13 12:42:57', - 'modified_by': 'Administrator', + 'modified_by': 'umair@iwebnotes.com', 'owner': 'Administrator' }, @@ -50,135 +50,32 @@ 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'supplier', - 'idx': 1, 'match_id': 0, 'to_field': 'supplier' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'supplier_address', - 'idx': 2, - 'match_id': 0, - 'to_field': 'supplier_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'supplier_name', - 'idx': 4, - 'match_id': 0, - 'to_field': 'supplier_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address_display', - 'idx': 5, - 'match_id': 0, - 'to_field': 'address_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_display', - 'idx': 6, - 'match_id': 0, - 'to_field': 'contact_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_mobile', - 'idx': 7, - 'match_id': 0, - 'to_field': 'contact_mobile' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_email', - 'idx': 8, - 'match_id': 0, - 'to_field': 'contact_email' - }, - # Field Mapper Detail { 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'company', - 'idx': 9, 'match_id': 0, 'to_field': 'company' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'fiscal_year', - 'idx': 10, - 'match_id': 0, - 'to_field': 'fiscal_year' - }, - # Field Mapper Detail { 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'currency', - 'idx': 11, 'match_id': 0, 'to_field': 'currency' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'warehouse', - 'idx': 12, - 'match_id': 1, - 'to_field': 'warehouse' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'terms', - 'idx': 13, - 'match_id': 0, - 'to_field': 'terms' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'conversion_factor', - 'idx': 14, - 'match_id': 1, - 'to_field': 'conversion_factor' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'stock_uom', - 'idx': 15, - 'match_id': 1, - 'to_field': 'stock_uom' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 16, 'match_id': 1, 'to_field': 'prevdoc_detail_docname' }, @@ -187,7 +84,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 17, 'match_id': 1, 'to_field': 'prevdoc_docname' }, @@ -196,53 +92,23 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parenttype', - 'idx': 18, 'match_id': 1, 'to_field': 'prevdoc_doctype' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'uom', - 'idx': 19, - 'match_id': 1, - 'to_field': 'uom' - }, - # Field Mapper Detail { 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'item_code', - 'idx': 20, 'match_id': 1, 'to_field': 'item_code' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'brand', - 'idx': 21, - 'match_id': 1, - 'to_field': 'brand' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 22, - 'match_id': 1, - 'to_field': 'item_name' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval:(flt(obj.qty) - flt(obj.received_qty)) ', - 'idx': 23, 'match_id': 1, 'to_field': 'received_qty' }, @@ -251,7 +117,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'eval:(flt(obj.qty) - flt(obj.received_qty)) ', - 'idx': 24, 'match_id': 1, 'to_field': 'qty' }, @@ -260,197 +125,31 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'eval:(flt(obj.qty) - flt(obj.received_qty)) * flt(obj.conversion_factor)', - 'idx': 25, 'match_id': 1, 'to_field': 'stock_qty' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'purchase_rate', - 'idx': 26, - 'match_id': 1, - 'to_field': 'purchase_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 27, - 'match_id': 1, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_group', - 'idx': 28, - 'match_id': 1, - 'to_field': 'item_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'import_rate', - 'idx': 29, - 'match_id': 1, - 'to_field': 'import_rate' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval:(flt(obj.qty) - flt(obj.received_qty)) * flt(obj.import_rate)', - 'idx': 30, 'match_id': 1, 'to_field': 'import_amount' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'schedule_date', - 'idx': 31, - 'match_id': 1, - 'to_field': 'schedule_date' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval:(flt(obj.qty) - flt(obj.received_qty)) * flt(obj.purchase_rate)', - 'idx': 32, 'match_id': 1, 'to_field': 'amount' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_tax_rate', - 'idx': 33, - 'match_id': 1, - 'to_field': 'item_tax_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'conversion_rate', - 'idx': 34, - 'match_id': 0, - 'to_field': 'conversion_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'category', - 'idx': 35, - 'match_id': 2, - 'to_field': 'category' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'add_deduct_tax', - 'idx': 36, - 'match_id': 2, - 'to_field': 'add_deduct_tax' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'charge_type', - 'idx': 37, - 'match_id': 2, - 'to_field': 'charge_type' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'row_id', - 'idx': 38, - 'match_id': 2, - 'to_field': 'row_id' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_wise_tax_detail', - 'idx': 39, - 'match_id': 2, - 'to_field': 'item_wise_tax_detail' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 39, - 'match_id': 0, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 40, - 'match_id': 2, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'account_head', - 'idx': 41, - 'match_id': 2, - 'to_field': 'account_head' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'cost_center', - 'idx': 42, - 'match_id': 2, - 'to_field': 'cost_center' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rate', - 'idx': 43, - 'match_id': 2, - 'to_field': 'rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'project_name', - 'idx': 44, - 'match_id': 0, - 'to_field': 'project_name' - }, - # Table Mapper Detail { 'doctype': 'Table Mapper Detail', 'from_field': 'po_details', 'from_table': 'PO Detail', - 'idx': 1, 'match_id': 1, 'reference_doctype_key': 'prevdoc_doctype', 'reference_key': 'prevdoc_detail_docname', @@ -463,7 +162,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Purchase Order', - 'idx': 2, 'match_id': 0, 'reference_key': 'prevdoc_docname', 'to_table': 'Purchase Receipt', @@ -475,7 +173,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'purchase_tax_details', 'from_table': 'Purchase Tax Detail', - 'idx': 3, 'match_id': 2, 'to_field': 'purchase_tax_details', 'to_table': 'Purchase Tax Detail', diff --git a/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt b/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt index f05a93bb5d..6688f2b08f 100755 --- a/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt +++ b/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt @@ -45,182 +45,18 @@ 'name': 'Receivable Voucher-Delivery Note' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'currency', - 'idx': 1, - 'match_id': 0, - 'to_field': 'currency' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'company', - 'idx': 2, - 'match_id': 0, - 'to_field': 'company' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'fiscal_year', - 'idx': 3, - 'match_id': 0, - 'to_field': 'fiscal_year' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer', - 'idx': 4, - 'match_id': 0, - 'to_field': 'customer' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_name', - 'idx': 5, - 'match_id': 0, - 'to_field': 'customer_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'price_list_name', - 'idx': 6, - 'match_id': 0, - 'to_field': 'price_list_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'conversion_rate', - 'idx': 7, - 'match_id': 0, - 'to_field': 'conversion_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'charge', - 'idx': 8, - 'match_id': 0, - 'to_field': 'charge' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'terms', - 'idx': 9, - 'match_id': 0, - 'to_field': 'terms' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 10, - 'match_id': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 11, - 'match_id': 1, - 'to_field': 'item_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'brand', - 'idx': 12, - 'match_id': 1, - 'to_field': 'brand' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 13, - 'match_id': 1, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_group', - 'idx': 14, - 'match_id': 1, - 'to_field': 'item_group' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval: flt(obj.qty) - flt(obj.delivered_qty)', - 'idx': 15, 'match_id': 1, 'to_field': 'qty' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'base_ref_rate', - 'idx': 16, - 'match_id': 1, - 'to_field': 'base_ref_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'ref_rate', - 'idx': 17, - 'match_id': 1, - 'to_field': 'ref_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'basic_rate', - 'idx': 18, - 'match_id': 1, - 'to_field': 'basic_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'export_rate', - 'idx': 19, - 'match_id': 1, - 'to_field': 'export_rate' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 20, 'match_id': 1, 'to_field': 'prevdoc_docname' }, @@ -229,7 +65,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parenttype', - 'idx': 21, 'match_id': 1, 'to_field': 'prevdoc_doctype' }, @@ -238,25 +73,14 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 22, 'match_id': 1, 'to_field': 'prevdoc_detail_docname' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'export_rate', - 'idx': 23, - 'match_id': 1, - 'to_field': 'export_rate' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval: (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.basic_rate)', - 'idx': 24, 'match_id': 1, 'to_field': 'amount' }, @@ -265,223 +89,22 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'eval: (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.export_rate)', - 'idx': 25, 'match_id': 1, 'to_field': 'export_amount' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'adj_rate', - 'idx': 26, - 'match_id': 1, - 'to_field': 'adj_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_tax_rate', - 'idx': 27, - 'match_id': 1, - 'to_field': 'item_tax_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'warehouse', - 'idx': 28, - 'match_id': 1, - 'to_field': 'warehouse' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'charge_type', - 'idx': 29, - 'match_id': 2, - 'to_field': 'charge_type' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'row_id', - 'idx': 30, - 'match_id': 2, - 'to_field': 'row_id' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_wise_tax_detail', - 'idx': 31, - 'match_id': 2, - 'to_field': 'item_wise_tax_detail' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 32, - 'match_id': 2, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'account_head', - 'idx': 33, - 'match_id': 2, - 'to_field': 'account_head' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rate', - 'idx': 34, - 'match_id': 2, - 'to_field': 'rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'tax_amount', - 'idx': 35, - 'match_id': 2, - 'to_field': 'tax_amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'total', - 'idx': 36, - 'match_id': 2, - 'to_field': 'total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'sales_person', - 'idx': 37, - 'match_id': 3, - 'to_field': 'sales_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'allocated_percentage', - 'idx': 38, - 'match_id': 3, - 'to_field': 'allocated_percentage' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'allocated_amount', - 'idx': 39, - 'match_id': 3, - 'to_field': 'allocated_amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'source', - 'idx': 40, - 'match_id': 0, - 'to_field': 'source' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'campaign', - 'idx': 41, - 'match_id': 0, - 'to_field': 'campaign' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'sales_partner', - 'idx': 42, - 'match_id': 0, - 'to_field': 'sales_partner' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'customer_address', - 'idx': 43, - 'match_id': 0, - 'to_field': 'customer_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_address', - 'idx': 44, 'match_id': 0, 'to_field': 'delivery_address' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'net_total', - 'idx': 45, - 'match_id': 0, - 'to_field': 'net_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'grand_total', - 'idx': 46, - 'match_id': 0, - 'to_field': 'grand_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 47, - 'match_id': 0, - 'to_field': 'territory' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'project_name', - 'idx': 48, - 'match_id': 0, - 'to_field': 'project_name' - }, - # Table Mapper Detail { 'doctype': 'Table Mapper Detail', 'from_table': 'Receivable Voucher', - 'idx': 1, 'match_id': 0, 'to_table': 'Delivery Note', 'validation_logic': 'docstatus=1' @@ -492,7 +115,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'entries', 'from_table': 'RV Detail', - 'idx': 2, 'match_id': 1, 'to_field': 'delivery_note_details', 'to_table': 'Delivery Note Detail', @@ -504,7 +126,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'other_charges', 'from_table': 'RV Tax Detail', - 'idx': 3, 'match_id': 2, 'to_field': 'other_charges', 'to_table': 'RV Tax Detail', @@ -516,7 +137,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'sales_team', 'from_table': 'Sales Team', - 'idx': 4, 'match_id': 3, 'to_field': 'sales_team', 'to_table': 'Sales Team', diff --git a/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt b/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt index dad93dd407..f93fadfb58 100644 --- a/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt +++ b/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt @@ -6,7 +6,7 @@ 'creation': '2010-08-08 17:09:35', 'docstatus': 0, 'modified': '2011-05-16 11:48:19', - 'modified_by': 'Administrator', + 'modified_by': 'umair@iwebnotes.com', 'owner': 'Administrator' }, @@ -49,27 +49,15 @@ 'checking_operator': '>=', 'doctype': 'Field Mapper Detail', 'from_field': 'transaction_date', - 'idx': 1, 'map': 'No', 'match_id': 0, 'to_field': 'transaction_date' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'price_list_name', - 'idx': 2, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'price_list_name' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 3, 'map': 'Yes', 'match_id': 0, 'to_field': 'sales_order_no' @@ -80,188 +68,43 @@ 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'company', - 'idx': 4, 'map': 'Yes', 'match_id': 0, 'to_field': 'company' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'fiscal_year', - 'idx': 5, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'fiscal_year' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'po_date', - 'idx': 6, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'po_date' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'po_no', - 'idx': 7, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'po_no' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'sales_partner', - 'idx': 8, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'sales_partner' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'commission_rate', - 'idx': 9, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'commission_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'total_commission', - 'idx': 10, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'total_commission' - }, - # Field Mapper Detail { 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'currency', - 'idx': 11, 'map': 'Yes', 'match_id': 0, 'to_field': 'currency' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'conversion_rate', - 'idx': 12, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'conversion_rate' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'shipping_address_name', - 'idx': 14, 'map': 'Yes', 'match_id': 0, 'to_field': 'customer_address' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 15, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_name', - 'idx': 16, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'customer_name' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'shipping_address', - 'idx': 17, 'map': 'Yes', 'match_id': 0, 'to_field': 'address_display' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_display', - 'idx': 18, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'contact_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_mobile', - 'idx': 19, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'contact_mobile' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_email', - 'idx': 20, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'contact_email' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_group', - 'idx': 22, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'customer_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'charge', - 'idx': 23, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'charge' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 24, 'map': 'Yes', 'match_id': 1, 'to_field': 'prevdoc_docname' @@ -271,7 +114,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parenttype', - 'idx': 25, 'map': 'Yes', 'match_id': 1, 'to_field': 'prevdoc_doctype' @@ -281,118 +123,25 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 26, 'map': 'Yes', 'match_id': 1, 'to_field': 'prevdoc_detail_docname' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'export_rate', - 'idx': 27, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'export_rate' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'eval: (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.export_rate)', - 'idx': 28, 'map': 'Yes', 'match_id': 1, 'to_field': 'export_amount' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 29, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 30, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'item_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 31, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_group', - 'idx': 32, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'item_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'stock_uom', - 'idx': 33, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'stock_uom' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'base_ref_rate', - 'idx': 34, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'base_ref_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'ref_rate', - 'idx': 35, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'ref_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'adj_rate', - 'idx': 36, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'adj_rate' - }, - # Field Mapper Detail { 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'basic_rate', - 'idx': 37, 'map': 'Yes', 'match_id': 1, 'to_field': 'basic_rate' @@ -402,7 +151,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'eval: flt(obj.qty) - flt(obj.delivered_qty)', - 'idx': 38, 'map': 'Yes', 'match_id': 1, 'to_field': 'qty' @@ -412,7 +160,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'eval: (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.basic_rate)', - 'idx': 39, 'map': 'Yes', 'match_id': 1, 'to_field': 'amount' @@ -422,298 +169,25 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'reserved_warehouse', - 'idx': 40, 'map': 'Yes', 'match_id': 1, 'to_field': 'warehouse' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_tax_rate', - 'idx': 41, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'item_tax_rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'charge_type', - 'idx': 42, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'charge_type' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'row_id', - 'idx': 43, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'row_id' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_wise_tax_detail', - 'idx': 44, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'item_wise_tax_detail' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 45, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'description' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'account_head', - 'idx': 46, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'account_head' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rate', - 'idx': 47, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'rate' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'tax_amount', - 'idx': 48, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'tax_amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'total', - 'idx': 49, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'idx', - 'idx': 50, - 'map': 'Yes', - 'match_id': 2, - 'to_field': 'idx' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'net_total', - 'idx': 51, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'net_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'other_charges_total', - 'idx': 52, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'other_charges_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'grand_total', - 'idx': 53, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'grand_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rounded_total', - 'idx': 54, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'rounded_total' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'in_words', - 'idx': 55, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'in_words' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'grand_total_export', - 'idx': 56, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'grand_total_export' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'rounded_total_export', - 'idx': 57, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'rounded_total_export' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'in_words_export', - 'idx': 58, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'in_words_export' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'allocated_amount', - 'idx': 59, 'map': 'Yes', 'match_id': 0, 'to_field': 'customer_mobile_no' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'allocated_amount', - 'idx': 60, - 'map': 'Yes', - 'match_id': 3, - 'to_field': 'allocated_amount' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'allocated_percentage', - 'idx': 60, - 'map': 'Yes', - 'match_id': 3, - 'to_field': 'allocated_percentage' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'sales_person', - 'idx': 61, - 'map': 'Yes', - 'match_id': 3, - 'to_field': 'sales_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'source', - 'idx': 62, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'source' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'campaign', - 'idx': 63, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'campaign' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'brand', - 'idx': 64, - 'map': 'Yes', - 'match_id': 1, - 'to_field': 'brand' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'terms', - 'idx': 65, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'terms' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 66, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'territory' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'tc_name', - 'idx': 66, - 'map': 'Yes', - 'match_id': 0, - 'to_field': 'tc_name' - }, - # Field Mapper Detail { 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'project_name', - 'idx': 67, 'map': 'Yes', 'match_id': 0, 'to_field': 'project_name' @@ -724,7 +198,6 @@ 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'customer', - 'idx': 70, 'map': 'Yes', 'match_id': 0, 'to_field': 'customer' @@ -735,7 +208,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'sales_team', 'from_table': 'Sales Team', - 'idx': 1, 'match_id': 3, 'to_field': 'sales_team', 'to_table': 'Sales Team', @@ -747,7 +219,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'other_charges', 'from_table': 'RV Tax Detail', - 'idx': 2, 'match_id': 2, 'to_field': 'other_charges', 'to_table': 'RV Tax Detail', @@ -759,7 +230,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'sales_order_details', 'from_table': 'Sales Order Detail', - 'idx': 3, 'match_id': 1, 'reference_doctype_key': 'prevdoc_doctype', 'reference_key': 'prevdoc_detail_docname', @@ -772,7 +242,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Sales Order', - 'idx': 4, 'match_id': 0, 'reference_key': 'prevdoc_docname', 'to_table': 'Delivery Note', diff --git a/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt b/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt index 5d2e6a1511..75244dea9d 100644 --- a/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt +++ b/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt @@ -6,7 +6,7 @@ 'creation': '2010-08-08 17:09:34', 'docstatus': 0, 'modified': '2011-05-18 13:37:43', - 'modified_by': 'Administrator', + 'modified_by': 'umair@iwebnotes.com', 'owner': 'ashwini@webnotestech.com' }, @@ -53,115 +53,14 @@ 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'customer', - 'idx': 1, 'match_id': 0, 'to_field': 'customer' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_address', - 'idx': 2, - 'match_id': 0, - 'to_field': 'customer_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 3, - 'match_id': 0, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_name', - 'idx': 4, - 'match_id': 0, - 'to_field': 'customer_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address_display', - 'idx': 5, - 'match_id': 0, - 'to_field': 'address_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_display', - 'idx': 6, - 'match_id': 0, - 'to_field': 'contact_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_mobile', - 'idx': 7, - 'match_id': 0, - 'to_field': 'contact_mobile' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_email', - 'idx': 8, - 'match_id': 0, - 'to_field': 'contact_email' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 9, - 'match_id': 0, - 'to_field': 'territory' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_group', - 'idx': 10, - 'match_id': 0, - 'to_field': 'customer_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'company', - 'idx': 11, - 'match_id': 0, - 'to_field': 'company' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'fiscal_year', - 'idx': 12, - 'match_id': 0, - 'to_field': 'fiscal_year' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 13, 'match_id': 0, 'to_field': 'customer_issue_no' }, @@ -171,34 +70,14 @@ 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'complaint', - 'idx': 14, 'match_id': 1, 'to_field': 'description' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 15, - 'match_id': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 16, - 'match_id': 1, - 'to_field': 'item_name' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'doctype', - 'idx': 17, 'match_id': 1, 'to_field': 'prevdoc_doctype' }, @@ -207,7 +86,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 18, 'match_id': 1, 'to_field': 'prevdoc_docname' }, @@ -215,7 +93,6 @@ # Table Mapper Detail { 'doctype': 'Table Mapper Detail', - 'idx': 1, 'match_id': 1, 'reference_doctype_key': 'prevdoc_doctype', 'to_field': 'maintenance_visit_details', @@ -225,7 +102,6 @@ # Table Mapper Detail { 'doctype': 'Table Mapper Detail', - 'idx': 2, 'match_id': 0, 'to_table': 'Maintenance Visit' } diff --git a/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt b/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt index 9cc6c58d4f..e56c4bdf97 100644 --- a/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt +++ b/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt @@ -6,7 +6,7 @@ 'creation': '2010-08-08 17:09:35', 'docstatus': 0, 'modified': '2011-05-18 11:05:26', - 'modified_by': 'Administrator', + 'modified_by': 'umair@iwebnotes.com', 'owner': 'Administrator' }, @@ -50,106 +50,14 @@ 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'customer', - 'idx': 1, 'match_id': 0, 'to_field': 'customer' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_address', - 'idx': 2, - 'match_id': 0, - 'to_field': 'customer_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 3, - 'match_id': 0, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_name', - 'idx': 4, - 'match_id': 0, - 'to_field': 'customer_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address_display', - 'idx': 5, - 'match_id': 0, - 'to_field': 'address_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_display', - 'idx': 6, - 'match_id': 0, - 'to_field': 'contact_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_mobile', - 'idx': 7, - 'match_id': 0, - 'to_field': 'contact_mobile' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_email', - 'idx': 8, - 'match_id': 0, - 'to_field': 'contact_email' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 9, - 'match_id': 0, - 'to_field': 'territory' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_group', - 'idx': 10, - 'match_id': 0, - 'to_field': 'customer_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'company', - 'idx': 11, - 'match_id': 0, - 'to_field': 'company' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 12, 'match_id': 0, 'to_field': 'sales_order_no' }, @@ -159,34 +67,14 @@ 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'item_code', - 'idx': 13, 'match_id': 1, 'to_field': 'item_code' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 14, - 'match_id': 1, - 'to_field': 'item_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 15, - 'match_id': 1, - 'to_field': 'description' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 16, 'match_id': 1, 'to_field': 'prevdoc_docname' }, @@ -196,7 +84,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'sales_order_details', 'from_table': 'Sales Order Detail', - 'idx': 1, 'match_id': 1, 'to_field': 'item_maintenance_detail', 'to_table': 'Item Maintenance Detail', @@ -207,7 +94,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Sales Order', - 'idx': 2, 'match_id': 0, 'to_table': 'Maintenance Schedule', 'validation_logic': 'docstatus=1' diff --git a/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt b/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt index 32de61ae6b..26a48f8a67 100644 --- a/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt +++ b/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt @@ -6,7 +6,7 @@ 'creation': '2010-08-08 17:09:36', 'docstatus': 0, 'modified': '2011-05-18 13:35:55', - 'modified_by': 'Administrator', + 'modified_by': 'umair@iwebnotes.com', 'owner': 'ashwini@webnotestech.com' }, @@ -51,151 +51,22 @@ 'checking_operator': '=', 'doctype': 'Field Mapper Detail', 'from_field': 'customer', - 'idx': 1, 'match_id': 0, 'to_field': 'customer' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_address', - 'idx': 2, - 'match_id': 0, - 'to_field': 'customer_address' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_person', - 'idx': 3, - 'match_id': 0, - 'to_field': 'contact_person' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_name', - 'idx': 4, - 'match_id': 0, - 'to_field': 'customer_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'address_display', - 'idx': 5, - 'match_id': 0, - 'to_field': 'address_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_display', - 'idx': 6, - 'match_id': 0, - 'to_field': 'contact_display' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_mobile', - 'idx': 7, - 'match_id': 0, - 'to_field': 'contact_mobile' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'contact_email', - 'idx': 8, - 'match_id': 0, - 'to_field': 'contact_email' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'territory', - 'idx': 9, - 'match_id': 0, - 'to_field': 'territory' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'customer_group', - 'idx': 10, - 'match_id': 0, - 'to_field': 'customer_group' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'company', - 'idx': 11, - 'match_id': 0, - 'to_field': 'company' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'fiscal_year', - 'idx': 12, - 'match_id': 0, - 'to_field': 'fiscal_year' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'name', - 'idx': 13, 'match_id': 0, 'to_field': 'sales_order_no' }, - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_code', - 'idx': 14, - 'match_id': 1, - 'to_field': 'item_code' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'item_name', - 'idx': 15, - 'match_id': 1, - 'to_field': 'item_name' - }, - - # Field Mapper Detail - { - 'doctype': 'Field Mapper Detail', - 'from_field': 'description', - 'idx': 16, - 'match_id': 1, - 'to_field': 'description' - }, - # Field Mapper Detail { 'doctype': 'Field Mapper Detail', 'from_field': 'parent', - 'idx': 17, 'match_id': 1, 'to_field': 'prevdoc_docname' }, @@ -204,7 +75,6 @@ { 'doctype': 'Field Mapper Detail', 'from_field': 'parenttype', - 'idx': 18, 'match_id': 1, 'to_field': 'prevdoc_doctype' }, @@ -214,7 +84,6 @@ 'doctype': 'Table Mapper Detail', 'from_field': 'sales_order_details', 'from_table': 'Sales Order Detail', - 'idx': 1, 'match_id': 1, 'to_field': 'maintenance_visit_details', 'to_table': 'Maintenance Visit Detail' @@ -224,7 +93,6 @@ { 'doctype': 'Table Mapper Detail', 'from_table': 'Sales Order', - 'idx': 2, 'match_id': 0, 'to_table': 'Maintenance Visit' } From 982763cbfad8820f2b3373a76e342ebb129e91fa Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 26 Aug 2011 18:53:27 +0530 Subject: [PATCH 54/81] set is_cancelled=no when serial no deleted --- stock/doctype/bin/bin.py | 2 +- stock/doctype/serial_no/serial_no.py | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/stock/doctype/bin/bin.py b/stock/doctype/bin/bin.py index fc51d76829..cd2fa28049 100644 --- a/stock/doctype/bin/bin.py +++ b/stock/doctype/bin/bin.py @@ -61,8 +61,8 @@ class DocType: sr_count = sql("select count(name) from `tabSerial No` where item_code = '%s' and warehouse = '%s' and status ='In Store' and docstatus != 2" % (self.doc.item_code, self.doc.warehouse))[0][0] if sr_count != self.doc.actual_qty: msg = "Actual Qty(%s) in Bin is mismatched with total number(%s) of serial no in store for item: '%s' and warehouse: '%s'" % (self.doc.actual_qty, sr_count, self.doc.item_code, self.doc.warehouse) - msgprint(msg, raise_exception=1) sendmail(['developer@iwebnotes.com'], sender='automail@webnotestech.com', subject='Serial No Count vs Bin Actual Qty', parts=[['text/plain', msg]]) + msgprint(msg, raise_exception=1) # -------------------------------- # get first stock ledger entry diff --git a/stock/doctype/serial_no/serial_no.py b/stock/doctype/serial_no/serial_no.py index cf7fd50607..02ce0f804e 100644 --- a/stock/doctype/serial_no/serial_no.py +++ b/stock/doctype/serial_no/serial_no.py @@ -59,7 +59,7 @@ class DocType(TransactionBase): # ------------------------ # make stock ledger entry # ------------------------ - def make_stock_ledger_entry(self, update_stock): + def make_stock_ledger_entry(self, qty): from webnotes.model.code import get_obj values = [{ 'item_code' : self.doc.item_code, @@ -70,12 +70,12 @@ class DocType(TransactionBase): 'voucher_type' : 'Serial No', 'voucher_no' : self.doc.name, 'voucher_detail_no' : '', - 'actual_qty' : 1, + 'actual_qty' : qty, 'stock_uom' : webnotes.conn.get_value('Item', self.doc.item_code, 'stock_uom'), 'incoming_rate' : self.doc.purchase_rate, 'company' : self.doc.company, 'fiscal_year' : self.doc.fiscal_year, - 'is_cancelled' : update_stock and 'No' or 'Yes', + 'is_cancelled' : 'No', 'batch_no' : '', 'serial_no' : self.doc.name }] @@ -87,7 +87,7 @@ class DocType(TransactionBase): # ---------- def on_update(self): if self.doc.localname and self.doc.warehouse and self.doc.status == 'In Store' and not sql("select name from `tabStock Ledger Entry` where serial_no = '%s' and ifnull(is_cancelled, 'No') = 'No'" % (self.doc.name)): - self.make_stock_ledger_entry(update_stock = 1) + self.make_stock_ledger_entry(1) # --------- @@ -98,7 +98,7 @@ class DocType(TransactionBase): msgprint("Cannot trash Serial No : %s as it is already Delivered" % (self.doc.name), raise_exception = 1) else: webnotes.conn.set(self.doc, 'status', 'Not in Use') - self.make_stock_ledger_entry(update_stock = 0) + self.make_stock_ledger_entry(-1) def on_cancel(self): @@ -108,4 +108,4 @@ class DocType(TransactionBase): # on restore # ----------- def on_restore(self): - self.make_stock_ledger_entry(update_stock = 1) + self.make_stock_ledger_entry(1) From 1d5cab87452567499410c5598faf97cc8e86c4da Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 29 Aug 2011 13:16:52 +0530 Subject: [PATCH 55/81] is_cancelled always no in sle if voucher type = serial no --- patches/patch.py | 4 +++- stock/doctype/serial_no/serial_no.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/patches/patch.py b/patches/patch.py index fb26ecd19b..9417ea2d74 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 347 +last_patch = 348 #------------------------------------------- def execute(patch_no): @@ -258,3 +258,5 @@ def execute(patch_no): reload_doc('core', 'doctype', 'profile') elif patch_no == 347: sql("delete from `tabField Mapper Detail` where from_field = to_field and map = 'Yes' and ifnull(checking_operator, '') = ''") + elif patch_no == 348: + sql("update `tabStock Ledger Entry` set is_cancelled = 'No' where voucher_type = 'Serial No'") diff --git a/stock/doctype/serial_no/serial_no.py b/stock/doctype/serial_no/serial_no.py index 02ce0f804e..b242edbd26 100644 --- a/stock/doctype/serial_no/serial_no.py +++ b/stock/doctype/serial_no/serial_no.py @@ -75,7 +75,7 @@ class DocType(TransactionBase): 'incoming_rate' : self.doc.purchase_rate, 'company' : self.doc.company, 'fiscal_year' : self.doc.fiscal_year, - 'is_cancelled' : 'No', + 'is_cancelled' : 'No', # is_cancelled is always 'No' because while deleted it can not find creation entry if it not created directly, voucher no != serial no. 'batch_no' : '', 'serial_no' : self.doc.name }] From 8e0f15a8b1271274432135ae3b06a60344d9ecb8 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 29 Aug 2011 13:17:19 +0530 Subject: [PATCH 56/81] fixed repost function in warehouse --- stock/doctype/warehouse/warehouse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stock/doctype/warehouse/warehouse.py b/stock/doctype/warehouse/warehouse.py index 51c615c708..f3d600de13 100644 --- a/stock/doctype/warehouse/warehouse.py +++ b/stock/doctype/warehouse/warehouse.py @@ -68,7 +68,7 @@ class DocType: bl = sql("select name from tabBin where warehouse=%s", self.doc.name) for b in bl: bobj = get_obj('Bin',b[0]) - bobj.update_item_valuation() + bobj.update_item_valuation(posting_date = '2000-01-01', posting_time = '12:00') sql("COMMIT") sql("START TRANSACTION") From 5b9b27d98cad06f0bbd67026b6533dee7c218df7 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 29 Aug 2011 14:23:14 +0530 Subject: [PATCH 57/81] update series server code shifted from custom script to py file --- setup/doctype/update_series/update_series.py | 41 ++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 setup/doctype/update_series/update_series.py diff --git a/setup/doctype/update_series/update_series.py b/setup/doctype/update_series/update_series.py new file mode 100644 index 0000000000..dcca22a3f3 --- /dev/null +++ b/setup/doctype/update_series/update_series.py @@ -0,0 +1,41 @@ +# Please edit this list and import only required elements +import webnotes + +from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add +from webnotes.model import db_exists +from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType +from webnotes.model.doclist import getlist, copy_doclist +from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax +from webnotes import session, form, is_testing, msgprint, errprint + +set = webnotes.conn.set +sql = webnotes.conn.sql +get_value = webnotes.conn.get_value +in_transaction = webnotes.conn.in_transaction +convert_to_lists = webnotes.conn.convert_to_lists + +# ----------------------------------------------------------------------------------------- + +class DocType: + def __init__(self, doc, doclist=[]): + self.doc = doc + self.doclist = doclist + + def update_series(self): + series = sql("select name,current from `tabSeries` where name = %s", self.doc.prefix,as_dict = 1) + if series: + msgprint("This is going to update Series with Prefix : " + series[0]['name'] + " from Current : " + cstr(series[0]['current']) + " to Current : "+ cstr(self.doc.current)) + sql("update `tabSeries` set current = '%s' where name = '%s'" % (self.doc.current,series[0]['name'])) + msgprint("Series Updated Successfully") + else: + msgprint("Please Check Prefix as there is no such Prefix : "+ self.doc.prefix +" Or Try Insert Button") + + def insert_series(self): + #sql("start transaction") + series = sql("select name,current from `tabSeries` where name = %s", self.doc.prefix, as_dict = 1) + if series: + msgprint("Series with Prefix : " + series[0]['name'] + "already in the system . Try Update Button") + else: + msgprint("This is going to Insert Series with Prefix : " + cstr(self.doc.prefix) + " Current: " + cstr(self.doc.current)) + sql("insert into `tabSeries` (name,current) values ('%s','%s')" % (self.doc.prefix, self.doc.current)) + msgprint("Series Inserted Successfully") From e0410da97f907626ddb3a5074313d6af50c117b0 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 29 Aug 2011 14:24:19 +0530 Subject: [PATCH 58/81] deleted default custom script and moved them to py file --- patches/patch.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/patches/patch.py b/patches/patch.py index 9417ea2d74..e7da740837 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -260,3 +260,12 @@ def execute(patch_no): sql("delete from `tabField Mapper Detail` where from_field = to_field and map = 'Yes' and ifnull(checking_operator, '') = ''") elif patch_no == 348: sql("update `tabStock Ledger Entry` set is_cancelled = 'No' where voucher_type = 'Serial No'") + elif patch_no == 349: + delete_doc('Custom Script', 'Update Series-Server') + delete_doc('Custom Script', 'Profile-Client') + delete_doc('Custom Script', 'Event-Client') + delete_doc('Custom Script', 'File-Server') + + reload_doc('core', 'doctype', 'event') + reload_doc('setup', 'doctype', 'update_series') + reload_doc('core', 'doctype', 'file') From a5109b7441dbb385ff23fdd160e1d47a7090153e Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 29 Aug 2011 15:22:29 +0530 Subject: [PATCH 59/81] added erpnext_version file --- .../lease_agreement_list.txt | 4 ++-- ...ase_monthly_future_installment_inflows.txt | 4 ++-- .../lease_over_due_list.txt | 4 ++-- .../lease_overdue_age_wise.txt | 4 ++-- .../lease_receipts_client_wise.txt | 4 ++-- ...ease_yearly_future_installment_inflows.txt | 4 ++-- erpnext_version.py | 3 +++ master.sql.gz | Bin 501308 -> 484367 bytes startup/startup.js | 4 ++-- 9 files changed, 17 insertions(+), 14 deletions(-) create mode 100644 erpnext_version.py diff --git a/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt b/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt index f7c9f84623..f47c6095fd 100644 --- a/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt +++ b/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2011-07-26 17:01:34', + 'creation': '2011-08-29 13:45:35', 'docstatus': 0, - 'modified': '2011-07-28 12:55:50', + 'modified': '2011-08-29 13:45:35', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.txt b/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.txt index a531bb9f27..05a0f70b90 100644 --- a/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.txt +++ b/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2011-07-27 13:14:29', + 'creation': '2011-08-29 13:45:35', 'docstatus': 0, - 'modified': '2011-07-27 13:14:29', + 'modified': '2011-08-29 13:45:35', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/accounts/search_criteria/lease_over_due_list/lease_over_due_list.txt b/accounts/search_criteria/lease_over_due_list/lease_over_due_list.txt index 22bdc55d54..d145442564 100644 --- a/accounts/search_criteria/lease_over_due_list/lease_over_due_list.txt +++ b/accounts/search_criteria/lease_over_due_list/lease_over_due_list.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2011-07-26 18:11:47', + 'creation': '2011-08-29 13:45:35', 'docstatus': 0, - 'modified': '2011-07-26 18:27:01', + 'modified': '2011-08-29 13:45:35', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.txt b/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.txt index dcd0f94aaa..1c734a86fb 100644 --- a/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.txt +++ b/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2011-07-27 13:14:29', + 'creation': '2011-08-29 13:45:35', 'docstatus': 0, - 'modified': '2011-07-27 13:14:29', + 'modified': '2011-08-29 13:45:35', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt b/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt index 26c0ff7a1c..b155b39a6a 100644 --- a/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt +++ b/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2011-07-28 12:13:41', + 'creation': '2011-08-29 13:45:36', 'docstatus': 0, - 'modified': '2011-07-28 12:56:47', + 'modified': '2011-08-29 13:45:36', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.txt b/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.txt index aa522241b4..0969796003 100644 --- a/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.txt +++ b/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2011-07-27 13:14:29', + 'creation': '2011-08-29 13:45:36', 'docstatus': 0, - 'modified': '2011-07-27 13:14:29', + 'modified': '2011-08-29 13:45:36', 'modified_by': 'Administrator', 'owner': 'Administrator' }, diff --git a/erpnext_version.py b/erpnext_version.py new file mode 100644 index 0000000000..48e45d5d31 --- /dev/null +++ b/erpnext_version.py @@ -0,0 +1,3 @@ +# version info + +version='1.0.0' diff --git a/master.sql.gz b/master.sql.gz index 273277e05be9660e35cb377f6ca2e8b56d529d16..3d3e220c86900230376b6ea4cf7c7bf2f58d7a16 100644 GIT binary patch literal 484367 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


+A8>S|q6$Qn2;^3Ob~@-9B4+ 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 literal 501308 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

xon|8d^&vpMk805CtfilDJIYV?#E% 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

Yub+8<%Mx7!Ozq%O2r2nDW>=pMG;B~XxC$b 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

WdZLMmMLgSL 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

!)@ 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 IZB=nJ0MU}lu>b%7 diff --git a/startup/startup.js b/startup/startup.js index 5a2a816e89..ce4aac3b3c 100644 --- a/startup/startup.js +++ b/startup/startup.js @@ -49,7 +49,7 @@ function startup_setup() { login_file = 'http://' + r.message; } else if(pscript.is_erpnext_saas) { - login_file = 'http://www.erpnext.com'; + login_file = 'https://www.erpnext.com'; } // setup toolbar pscript.startup_setup_toolbar(); @@ -539,4 +539,4 @@ pscript.set_user_fullname = function(ele,username,get_latest){ // ==================================================================== startup_setup(); -$(document).bind('form_refresh', function() { }) \ No newline at end of file +$(document).bind('form_refresh', function() { }) From 19818e2d28372d55b6a1101b0fb481105cb34f82 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 29 Aug 2011 16:23:17 +0530 Subject: [PATCH 60/81] updated patch_no --- patches/patch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index e7da740837..bb6686d928 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 348 +last_patch = 349 #------------------------------------------- def execute(patch_no): From 96fde953bc1c01bf1cbd22c122af5d36c73a1ccf Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 29 Aug 2011 17:54:27 +0530 Subject: [PATCH 61/81] profile patch fix --- patches/patch.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/patches/patch.py b/patches/patch.py index bb6686d928..fbfdf2e812 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -254,8 +254,7 @@ def execute(patch_no): sql("delete from `tabModule Def Item` where display_name = 'Salary Slip Control Panel' and parent = 'HR'") reload_doc('hr','Module Def','HR') elif patch_no == 346: - delete_doc('DocType', 'Profile') - reload_doc('core', 'doctype', 'profile') + pass elif patch_no == 347: sql("delete from `tabField Mapper Detail` where from_field = to_field and map = 'Yes' and ifnull(checking_operator, '') = ''") elif patch_no == 348: @@ -265,7 +264,8 @@ def execute(patch_no): delete_doc('Custom Script', 'Profile-Client') delete_doc('Custom Script', 'Event-Client') delete_doc('Custom Script', 'File-Server') + + # reload profile with new fields for security + delete_doc('DocType', 'Profile') + reload_doc('core', 'doctype', 'profile') - reload_doc('core', 'doctype', 'event') - reload_doc('setup', 'doctype', 'update_series') - reload_doc('core', 'doctype', 'file') From 6ae121995612f687141e74fc45f004f23b721ab6 Mon Sep 17 00:00:00 2001 From: Brahma K Date: Mon, 29 Aug 2011 19:24:54 +0530 Subject: [PATCH 62/81] Added new Feature List option to control front end based on companies broad requirements --- selling/doctype/sales_order/sales_order.js | 1 - setup/doctype/features_setup/__init__.py | 0 .../doctype/features_setup/features_setup.py | 13 + .../doctype/features_setup/features_setup.txt | 152 ++++++++++ startup/startup.js | 280 ++++++++++++++---- 5 files changed, 386 insertions(+), 60 deletions(-) create mode 100644 setup/doctype/features_setup/__init__.py create mode 100644 setup/doctype/features_setup/features_setup.py create mode 100644 setup/doctype/features_setup/features_setup.txt diff --git a/selling/doctype/sales_order/sales_order.js b/selling/doctype/sales_order/sales_order.js index 47c8c34418..e684bed1bf 100644 --- a/selling/doctype/sales_order/sales_order.js +++ b/selling/doctype/sales_order/sales_order.js @@ -70,7 +70,6 @@ cur_frm.cscript.refresh = function(doc, cdt, cdn) { } else { hide_field(['Repair Sales Order', 'Send SMS', 'message', 'customer_mobile_no']) } - pscript.apply_feature_settings(); } //customer diff --git a/setup/doctype/features_setup/__init__.py b/setup/doctype/features_setup/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/setup/doctype/features_setup/features_setup.py b/setup/doctype/features_setup/features_setup.py new file mode 100644 index 0000000000..3a549d9e32 --- /dev/null +++ b/setup/doctype/features_setup/features_setup.py @@ -0,0 +1,13 @@ +class DocType: + def __init__(self, d, dl): + self.doc, self.doclist = d, dl + + def validate(self): + """ + update settings in defaults + """ + from webnotes.model import default_fields + from webnotes.utils import set_default + for key in self.doc.fields: + if key not in default_fields: + set_default(key, self.doc.fields[key]) diff --git a/setup/doctype/features_setup/features_setup.txt b/setup/doctype/features_setup/features_setup.txt new file mode 100644 index 0000000000..491cb8d203 --- /dev/null +++ b/setup/doctype/features_setup/features_setup.txt @@ -0,0 +1,152 @@ +# DocType, Features Setup +[ + + # These values are common in all dictionaries + { + 'creation': '2011-08-25 16:53:56', + 'docstatus': 0, + 'modified': '2011-08-29 13:16:51', + 'modified_by': 'Administrator', + 'owner': 'Administrator' + }, + + # These values are common for all DocType + { + '_last_update': '1314601410', + 'colour': 'White:FFF', + 'doctype': 'DocType', + 'issingle': 1, + 'module': 'Setup', + 'name': '__common__', + 'section_style': 'Simple', + 'show_in_menu': 1, + 'version': 6 + }, + + # These values are common for all DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Check', + 'name': '__common__', + 'parent': 'Features Setup', + 'parentfield': 'fields', + 'parenttype': 'DocType', + 'permlevel': 0 + }, + + # These values are common for all DocPerm + { + 'create': 1, + 'doctype': 'DocPerm', + 'name': '__common__', + 'parent': 'Features Setup', + 'parentfield': 'permissions', + 'parenttype': 'DocType', + 'permlevel': 0, + 'read': 1, + 'write': 1 + }, + + # DocType, Features Setup + { + 'doctype': 'DocType', + 'name': 'Features Setup' + }, + + # DocPerm + { + 'doctype': 'DocPerm', + 'role': 'System Manager' + }, + + # DocPerm + { + 'doctype': 'DocPerm', + 'role': 'Administrator' + }, + + # DocField + { + 'description': 'Available in \nBill Of Materials, Delivery Note, Payable Voucher, Production Order, Purchase Order, Purchase Receipt, Receivable Voucher, Sales Order, Stock Entry, Timesheet', + 'doctype': 'DocField', + 'fieldname': 'projects', + 'label': 'Projects' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'Available in Delivery Note and Sales Order', + 'doctype': 'DocField', + 'fieldname': 'packing_details', + 'label': 'Packing Detials' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'Available in Delivery Note, Quotation, Receivable Voucher, Sales Order', + 'doctype': 'DocField', + 'fieldname': 'discounts', + 'label': 'Discounts' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'Availble in Delivery Note, Enuiry, Indent, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Receivable Voucher, Sales BOM, Sales Order, Serial No', + 'doctype': 'DocField', + 'fieldname': 'brands', + 'label': 'Brands' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'after_sale_installations', + 'label': 'After Sale Installations' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'warehouses', + 'label': 'Warehouses' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'item_batch_nos', + 'label': 'Item Batch Nos' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'item_searial_nos', + 'label': 'Item Serial Nos' + }, + + # DocField + { + 'colour': 'White:FFF', + 'doctype': 'DocField', + 'fieldname': 'page_break', + 'label': 'Page Break' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'item_groups_in_groups', + 'label': 'Item Groups in Details' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'ref_rates', + 'label': 'Ref Rates' + } +] \ No newline at end of file diff --git a/startup/startup.js b/startup/startup.js index 5a2a816e89..13be705261 100644 --- a/startup/startup.js +++ b/startup/startup.js @@ -12,8 +12,8 @@ if(inList(user_roles,'System Manager')) is_system_manager = 1; function startup_setup() { pscript.is_erpnext_saas = cint(locals['Control Panel']['Control Panel'].sync_with_gateway) - - + + if(get_url_arg('embed')) { // hide header, footer $dh(page_body.banner_area); @@ -34,7 +34,7 @@ function startup_setup() { $td(page_body.wntoolbar.body_tab,0,0).innerHTML = 'erpnext'; $y($td(page_body.wntoolbar.body_tab,0,0), {width:'140px', color:'#FFF', paddingLeft:'8px', paddingRight:'8px', fontSize:'14px'}) $dh(page_body.banner_area); - + // sidebar // ------- pscript.startup_make_sidebar(); @@ -65,10 +65,10 @@ pscript.startup_make_sidebar = function() { var callback = function(r,rt) { // menu var ml = r.message; - + // clear page_body.left_sidebar.innerHTML = ''; - + for(var m=0; mNote: These changes will apply to all users!', ml, update_order, 1); } $c_obj('Home Control', 'get_module_order', '', callback) - + } // ==================================================================== @@ -437,7 +437,7 @@ pscript.startup_setup_toolbar = function() { // Profile // --------- $td(menu_tab,0,0).innerHTML = ''+user_fullname+''; - + if(pscript.is_erpnext_saas){ // Help // -------------- @@ -474,7 +474,7 @@ show_chart_browser = function(nm, chart_type){ var call_back = function(){ if(nm == 'Sales Browser'){ var sb_obj = new SalesBrowser(); - sb_obj.set_val(chart_type); + sb_obj.set_val(chart_type); } else if(nm == 'Accounts Browser') pscript.make_chart(chart_type); @@ -501,7 +501,7 @@ ModulePage = function(parent, module_name, module_label, help_page, callback) { var btn = this.page_head.add_button('Help', function() { loadpage(this.help_page) }, 1, 'ui-icon-help') btn.help_page = help_page; } - + if(callback) this.callback = function(){ callback(); } } @@ -517,12 +517,12 @@ get_plural = function(str){ // set user fullname // ==================================================================== pscript.set_user_fullname = function(ele,username,get_latest){ - + var set_it = function(){ if(ele) ele.innerHTML = user_full_nm[username]; } - + if(get_latest){ $c_obj('Home Control','get_user_fullname',username, function(r,rt){ user_full_nm[username] = r.message; set_it(); }); } @@ -530,7 +530,7 @@ pscript.set_user_fullname = function(ele,username,get_latest){ if(user_full_nm[username]){ set_it(); } - + else $c_obj('Home Control','get_user_fullname',username, function(r,rt){ user_full_nm[username] = r.message; set_it(); }); } @@ -539,4 +539,166 @@ pscript.set_user_fullname = function(ele,username,get_latest){ // ==================================================================== startup_setup(); -$(document).bind('form_refresh', function() { }) \ No newline at end of file +/* features setup "Dictionary", "Script" +Dictionary Format + 'projects': { + 'Sales Order': { + 'fields':['project_name'], + 'sales_order_details':['projected_qty'] + }, + 'Purchase Order': { + 'fields':['project_name'] + } + } +// ====================================================================*/ +pscript.feature_dict = { + 'projects': { + 'Bill Of Materials': {'fields':['project_name']}, + 'Delivery Note': {'fields':['project_name']}, + 'Payable Voucher': {'fields':['project_name']}, + 'Production Order': {'fields':['project_name']}, + 'Purchase Order': {'fields':['project_name']}, + 'Purchase Receipt': {'fields':['project_name']}, + 'Receivable Voucher': {'fields':['project_name']}, + 'Sales Order': {'fields':['project_name']}, + 'Stock Entry': {'fields':['project_name']}, + 'Timesheet': {'timesheet_details':['project_name']} + }, + 'packing_details': { + 'Delivery Note': {'fields':['packing_details','print_packing_slip'],'delivery_note_details':['no_of_packs','pack_gross_wt','pack_nett_wt','pack_no','pack_unit']}, + 'Sales Order': {'fields':['packing_details']} + }, + 'discounts': { + 'Delivery Note': {'delivery_note_details':['adj_rate']}, + 'Quotation': {'quotation_details':['adj_rate']}, + 'Receivable Voucher': {'rv_details':['adj_rate']}, + 'Sales Order': {'sale_order_details':['adj_rate']} + }, + 'brands': { + 'Delivery Note': {'delivery_note_details':['brand']}, + 'Enquiry': {'enquiry_details':['brand']}, + 'Indent': {'indent_details':['brand']}, + 'Item': {'fields':['brand']}, + 'Purchase Order': {'po_details':['brand']}, + 'Purchase Receipt': {'purchase_receipt_details':['brand']}, + 'Payable Voucher': {'pv_details':['brand']}, + 'Quotation': {'quotation_details':['brand']}, + 'Receivable Voucher': {'rv_details':['brand']}, + 'Sales BOM': {'fields':['new_item_brand']}, + 'Sales Order': {'sales_order_details':['brand']}, + 'Serial No': {'fields':['brand']} + }, + 'after_sale_installations': { + 'Delivery Note': {'fields':['installation_status','per_installed'],'delivery_note_details':['installed_qty']} + }, + 'item_batch_nos': { + 'Delivery Note': {'delivery_note_details':['batch_no']}, + 'Item': {'fields':['has_batch_no']}, + 'Purchase Receipt': {'purchase_receipt_details':['batch_no']}, + 'QA Inspection Report': {'fields':['batch_no']}, + 'Sales and Pruchase Return Wizard': {'return_details':['batch_no']}, + 'Receivable Voucher': {'rv_details':['batch_no']}, + 'Stock Entry': {'stock_entry_details':['batch_no']}, + 'Stock Ledger Entry': {'fields':['batch_no']} + }, + 'item_serial_nos': { + 'Customer Issue': {'fields':['serial_no']}, + 'Delivery Note': {'delivery_note_details':['serial_no'],'delivery_note_packing_details':['serial_no']}, + 'Installation Note': {'installed_item_details':['serial_no']}, + 'Item': {'fields':['has_serial_no']}, + 'Maintenance Schedule': {'item_maintenance_details':['serial_no'],'maintenance_schedule_details':['serial_no']}, + 'Maintenance Visit': {'maintenance_visit_details':['serial_no']}, + 'Purchase Receipt': {'purchase_receipt_details':['serial_no']}, + 'QA Inspection Report': {'fields':['item_serial_no']}, + 'Sales and Pruchase Return Wizard': {'return_details':['serial_no']}, + 'Receivable Voucher': {'rv_details':['serial_no']}, + 'Stock Entry': {'stock_entry_details':['serial_no']}, + 'Stock Ledger Entry': {'fields':['serial_no']} + }, + 'item_groups_in_details': { + 'Delivery Note': {'delivery_note_details':['item_group']}, + 'Enquiry': {'enquiry_details':['item_group']}, + 'Indent': {'indent_details':['item_group']}, + 'Item': {'fields':['item_group']}, + 'Manage Account': {'fields':['default_item_group']}, + 'Purchase Order': {'po_details':['item_group']}, + 'Purchase Receipt': {'purchase_receipt_details':['item_group']}, + 'Purchase Voucher': {'pv_details':['item_group']}, + 'Quotation': {'quotation_details':['item_group']}, + 'Receivable Voucher': {'rv_details':['item_group']}, + 'Sales BOM': {'fields':['serial_no']}, + 'Sales Order': {'sales_order_details':['item_group']}, + 'Serial No': {'fields':['item_group']}, + 'Sales Partner': {'partner_target_details':['item_group']}, + 'Sales Person': {'target_details':['item_group']}, + 'Territory': {'target_details':['item_group']} + }, + 'page_break': { + 'Delivery Note': {'delivery_note_details':['page_break'],'delivery_note_packing_details':['page_break']}, + 'Indent': {'indent_details':['page_break']}, + 'Purchase Order': {'po_details':['page_break']}, + 'Purchase Receipt': {'purchase_receipt_details':['page_break']}, + 'Purchase Voucher': {'pv_details':['page_break']}, + 'Quotation': {'quotation_details':['page_break']}, + 'Receivable Voucher': {'rv_details':['page_break']}, + 'Sales Order': {'sales_order_details':['page_break']} + }, + 'multi_currency': { + 'Delivery Note': {'fields':['currency','conversion_rate']}, + 'Payable Voucher': {'fields':['currency','conversion_rate']}, + 'POS Setting': {'fields':['currency','conversion_rate']}, + 'Purchase Order': {'fields':['currency','conversion_rate']}, + 'Purchase Receipt': {'fields':['currency','conversion_rate']}, + 'Quotation': {'fields':['currency','conversion_rate']}, + 'Receivable Voucher': {'fields':['currency','conversion_rate']}, + 'Quotation': {'fields':['currency','conversion_rate']}, + 'Item': {'ref_rate_details':['currency']}, + 'Sales BOM': {'fields':['currency']}, + 'Sales Order': {'fields':['currency','conversion_rate']}, + 'Supplier Quotation': {'fields':['currency','conversion_rate']} + }, + 'exports': { + 'Delivery Note': {'fields':['currency','conversion_rate','Note','grand_total_export','in_words_export','rounded_total_export'],'delivery_note_details':['base_ref_rate','export_amount','export_rate',]}, + 'POS Setting': {'fields':['currency','conversion_rate']}, + 'Quotation': {'fields':['currency','conversion_rate']}, + 'Receivable Voucher': {'fields':['currency','conversion_rate']}, + 'Quotation': {'fields':['currency','conversion_rate']}, + 'Item': {'ref_rate_details':['currency']}, + 'Sales BOM': {'fields':['currency']}, + 'Sales Order': {'fields':['currency','conversion_rate']}, + 'Supplier Quotation': {'fields':['currency','conversion_rate']} + }, + 'imports': { + 'Payable Voucher': {'fields':['currency','conversion_rate']}, + 'Purchase Order': {'fields':['currency','conversion_rate']}, + 'Purchase Receipt': {'fields':['currency','conversion_rate']}, + 'Receivable Voucher': {'fields':['currency','conversion_rate']}, + 'Supplier Quotation': {'fields':['currency','conversion_rate']} + } + +} + +$(document).bind('form_refresh', function() { + for(sys_feat in sys_defaults) + { + if(sys_defaults[sys_feat]=='0' && (sys_feat in pscript.feature_dict)) //"Features to hide" exists + { + if(cur_frm.doc.doctype in pscript.feature_dict[sys_feat]) + { + for(fort in pscript.feature_dict[sys_feat][cur_frm.doc.doctype]) + { + if(fort=='fields') + hide_field(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort]); + else + { + for(grid_field in pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort]) + if(cur_frm.fields_dict[fort]) + cur_frm.fields_dict[fort].grid.set_column_disp(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort][grid_field], false); + else + alert('Grid "'+fort+'" does not exists'); + } + } + } + } + } +}) From d1a2cea37661f1c4e64e3ca9e0888f723da03ca8 Mon Sep 17 00:00:00 2001 From: Brahma K Date: Tue, 30 Aug 2011 09:33:29 +0530 Subject: [PATCH 63/81] Feature Setup added --- startup/startup.js | 706 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 706 insertions(+) create mode 100644 startup/startup.js diff --git a/startup/startup.js b/startup/startup.js new file mode 100644 index 0000000000..2e5b987fd3 --- /dev/null +++ b/startup/startup.js @@ -0,0 +1,706 @@ +if(user == 'Guest'){ + $dh(page_body.left_sidebar); +} + +var current_module; +var is_system_manager = 0; +var module_content_dict = {}; +var user_full_nm = {}; + +// check if session user is system manager +if(inList(user_roles,'System Manager')) is_system_manager = 1; + +function startup_setup() { + pscript.is_erpnext_saas = cint(locals['Control Panel']['Control Panel'].sync_with_gateway) + + + if(get_url_arg('embed')) { + // hide header, footer + $dh(page_body.banner_area); + $dh(page_body.wntoolbar); + $dh(page_body.footer); + return; + } + + if(user=='Guest' && !get_url_arg('akey')) { + if(pscript.is_erpnext_saas) { + window.location.href = 'https://www.erpnext.com'; + return; + } + } + + // page structure + // -------------- + $td(page_body.wntoolbar.body_tab,0,0).innerHTML = 'erpnext'; + $y($td(page_body.wntoolbar.body_tab,0,0), {width:'140px', color:'#FFF', paddingLeft:'8px', paddingRight:'8px', fontSize:'14px'}) + $dh(page_body.banner_area); + + // sidebar + // ------- + pscript.startup_make_sidebar(); + + // border to the body + // ------------------ + $dh(page_body.footer); + + // for logout and payment + var callback = function(r,rt) { + if(r.message){ + login_file = 'http://' + r.message; + } + else if(pscript.is_erpnext_saas) { + login_file = 'https://www.erpnext.com'; + } + // setup toolbar + pscript.startup_setup_toolbar(); + } + $c_obj('Home Control', 'get_login_url', '', callback); +} + +// ==================================================================== + +pscript.startup_make_sidebar = function() { + $y(page_body.left_sidebar, {width:(100/6)+'%', paddingTop:'8px'}); + + var callback = function(r,rt) { + // menu + var ml = r.message; + + // clear + page_body.left_sidebar.innerHTML = ''; + + for(var m=0; mNote: These changes will apply to all users!', ml, update_order, 1); + } + $c_obj('Home Control', 'get_module_order', '', callback) + +} + +// ==================================================================== + +pscript.startup_setup_toolbar = function() { + var menu_tab = page_body.wntoolbar.menu_table_right; + // Profile + // --------- + $td(menu_tab,0,0).innerHTML = ''+user_fullname+''; + + if(pscript.is_erpnext_saas){ + // Help + // -------------- + //var help_url = login_file + '#!helpdesk' + $td(menu_tab,0,1).innerHTML = 'Forum'; + + // Manage account + // -------------- + if(is_system_manager) { + $td(menu_tab,0,3).innerHTML = 'Billing'; + } + } + else{ + $dh($td(menu_tab,0,1)); + $dh($td(menu_tab,0,3)); + } + + // Live Chat Help + // -------------- + $td(menu_tab,0,2).innerHTML = 'Chat'; + + // help + // ---- + var cell = menu_tab.rows[0].insertCell(3); + cell.innerHTML = 'Help'; + $y(cell, page_body.wntoolbar.right_table_style); + +} + +// chart of accounts +// ==================================================================== +show_chart_browser = function(nm, chart_type){ + + var call_back = function(){ + if(nm == 'Sales Browser'){ + var sb_obj = new SalesBrowser(); + sb_obj.set_val(chart_type); + } + else if(nm == 'Accounts Browser') + pscript.make_chart(chart_type); + } + loadpage(nm,call_back); +} + + +// Module Page +// ==================================================================== + +ModulePage = function(parent, module_name, module_label, help_page, callback) { + this.parent = parent; + + // add to current page + page_body.cur_page.module_page = this; + + this.wrapper = $a(parent,'div'); + this.module_name = module_name; + this.transactions = []; + this.page_head = new PageHeader(this.wrapper, module_label); + + if(help_page) { + var btn = this.page_head.add_button('Help', function() { loadpage(this.help_page) }, 1, 'ui-icon-help') + btn.help_page = help_page; + } + + if(callback) this.callback = function(){ callback(); } +} + + +// get plural +// ==================================================================== + +get_plural = function(str){ + if(str.charAt(str.length-1).toLowerCase() == 'y') return str.substr(0, str.length-1) + 'ies' + else return str + 's'; +} + +// set user fullname +// ==================================================================== +pscript.set_user_fullname = function(ele,username,get_latest){ + + var set_it = function(){ + if(ele) + ele.innerHTML = user_full_nm[username]; + } + + if(get_latest){ + $c_obj('Home Control','get_user_fullname',username, function(r,rt){ user_full_nm[username] = r.message; set_it(); }); + } + else{ + if(user_full_nm[username]){ + set_it(); + } + + else + $c_obj('Home Control','get_user_fullname',username, function(r,rt){ user_full_nm[username] = r.message; set_it(); }); + } +} + +// ==================================================================== +startup_setup(); + +/* features setup "Dictionary", "Script" +Dictionary Format + 'projects': { + 'Sales Order': { + 'fields':['project_name'], + 'sales_order_details':['projected_qty'] + }, + 'Purchase Order': { + 'fields':['project_name'] + } + } +// ====================================================================*/ +pscript.feature_dict = { + 'projects': { + 'Bill Of Materials': {'fields':['project_name']}, + 'Delivery Note': {'fields':['project_name']}, + 'Payable Voucher': {'fields':['project_name']}, + 'Production Order': {'fields':['project_name']}, + 'Purchase Order': {'fields':['project_name']}, + 'Purchase Receipt': {'fields':['project_name']}, + 'Receivable Voucher': {'fields':['project_name']}, + 'Sales Order': {'fields':['project_name']}, + 'Stock Entry': {'fields':['project_name']}, + 'Timesheet': {'timesheet_details':['project_name']} + }, + 'packing_details': { + 'Delivery Note': {'fields':['packing_details','print_packing_slip'],'delivery_note_details':['no_of_packs','pack_gross_wt','pack_nett_wt','pack_no','pack_unit']}, + 'Sales Order': {'fields':['packing_details']} + }, + 'discounts': { + 'Delivery Note': {'delivery_note_details':['adj_rate']}, + 'Quotation': {'quotation_details':['adj_rate']}, + 'Receivable Voucher': {'rv_details':['adj_rate']}, + 'Sales Order': {'sale_order_details':['adj_rate']} + }, + 'brands': { + 'Delivery Note': {'delivery_note_details':['brand']}, + 'Enquiry': {'enquiry_details':['brand']}, + 'Indent': {'indent_details':['brand']}, + 'Item': {'fields':['brand']}, + 'Purchase Order': {'po_details':['brand']}, + 'Purchase Receipt': {'purchase_receipt_details':['brand']}, + 'Payable Voucher': {'pv_details':['brand']}, + 'Quotation': {'quotation_details':['brand']}, + 'Receivable Voucher': {'rv_details':['brand']}, + 'Sales BOM': {'fields':['new_item_brand']}, + 'Sales Order': {'sales_order_details':['brand']}, + 'Serial No': {'fields':['brand']} + }, + 'after_sale_installations': { + 'Delivery Note': {'fields':['installation_status','per_installed'],'delivery_note_details':['installed_qty']} + }, + 'item_batch_nos': { + 'Delivery Note': {'delivery_note_details':['batch_no']}, + 'Item': {'fields':['has_batch_no']}, + 'Purchase Receipt': {'purchase_receipt_details':['batch_no']}, + 'QA Inspection Report': {'fields':['batch_no']}, + 'Sales and Pruchase Return Wizard': {'return_details':['batch_no']}, + 'Receivable Voucher': {'rv_details':['batch_no']}, + 'Stock Entry': {'stock_entry_details':['batch_no']}, + 'Stock Ledger Entry': {'fields':['batch_no']} + }, + 'item_serial_nos': { + 'Customer Issue': {'fields':['serial_no']}, + 'Delivery Note': {'delivery_note_details':['serial_no'],'delivery_note_packing_details':['serial_no']}, + 'Installation Note': {'installed_item_details':['serial_no']}, + 'Item': {'fields':['has_serial_no']}, + 'Maintenance Schedule': {'item_maintenance_details':['serial_no'],'maintenance_schedule_details':['serial_no']}, + 'Maintenance Visit': {'maintenance_visit_details':['serial_no']}, + 'Purchase Receipt': {'purchase_receipt_details':['serial_no']}, + 'QA Inspection Report': {'fields':['item_serial_no']}, + 'Sales and Pruchase Return Wizard': {'return_details':['serial_no']}, + 'Receivable Voucher': {'rv_details':['serial_no']}, + 'Stock Entry': {'stock_entry_details':['serial_no']}, + 'Stock Ledger Entry': {'fields':['serial_no']} + }, + 'item_groups_in_details': { + 'Delivery Note': {'delivery_note_details':['item_group']}, + 'Enquiry': {'enquiry_details':['item_group']}, + 'Indent': {'indent_details':['item_group']}, + 'Item': {'fields':['item_group']}, + 'Manage Account': {'fields':['default_item_group']}, + 'Purchase Order': {'po_details':['item_group']}, + 'Purchase Receipt': {'purchase_receipt_details':['item_group']}, + 'Purchase Voucher': {'pv_details':['item_group']}, + 'Quotation': {'quotation_details':['item_group']}, + 'Receivable Voucher': {'rv_details':['item_group']}, + 'Sales BOM': {'fields':['serial_no']}, + 'Sales Order': {'sales_order_details':['item_group']}, + 'Serial No': {'fields':['item_group']}, + 'Sales Partner': {'partner_target_details':['item_group']}, + 'Sales Person': {'target_details':['item_group']}, + 'Territory': {'target_details':['item_group']} + }, + 'page_break': { + 'Delivery Note': {'delivery_note_details':['page_break'],'delivery_note_packing_details':['page_break']}, + 'Indent': {'indent_details':['page_break']}, + 'Purchase Order': {'po_details':['page_break']}, + 'Purchase Receipt': {'purchase_receipt_details':['page_break']}, + 'Purchase Voucher': {'pv_details':['page_break']}, + 'Quotation': {'quotation_details':['page_break']}, + 'Receivable Voucher': {'rv_details':['page_break']}, + 'Sales Order': {'sales_order_details':['page_break']} + }, + 'multi_currency': { + 'Delivery Note': {'fields':['currency','conversion_rate']}, + 'Payable Voucher': {'fields':['currency','conversion_rate']}, + 'POS Setting': {'fields':['currency','conversion_rate']}, + 'Purchase Order': {'fields':['currency','conversion_rate']}, + 'Purchase Receipt': {'fields':['currency','conversion_rate']}, + 'Quotation': {'fields':['currency','conversion_rate']}, + 'Receivable Voucher': {'fields':['currency','conversion_rate']}, + 'Quotation': {'fields':['currency','conversion_rate']}, + 'Item': {'ref_rate_details':['currency']}, + 'Sales BOM': {'fields':['currency']}, + 'Sales Order': {'fields':['currency','conversion_rate']}, + 'Supplier Quotation': {'fields':['currency','conversion_rate']} + }, + 'exports': { + 'Delivery Note': {'fields':['currency','conversion_rate','Note','grand_total_export','in_words_export','rounded_total_export'],'delivery_note_details':['base_ref_rate','export_amount','export_rate',]}, + 'POS Setting': {'fields':['currency','conversion_rate']}, + 'Quotation': {'fields':['currency','conversion_rate']}, + 'Receivable Voucher': {'fields':['currency','conversion_rate']}, + 'Quotation': {'fields':['currency','conversion_rate']}, + 'Item': {'ref_rate_details':['currency']}, + 'Sales BOM': {'fields':['currency']}, + 'Sales Order': {'fields':['currency','conversion_rate']}, + 'Supplier Quotation': {'fields':['currency','conversion_rate']} + }, + 'imports': { + 'Payable Voucher': {'fields':['currency','conversion_rate']}, + 'Purchase Order': {'fields':['currency','conversion_rate']}, + 'Purchase Receipt': {'fields':['currency','conversion_rate']}, + 'Receivable Voucher': {'fields':['currency','conversion_rate']}, + 'Supplier Quotation': {'fields':['currency','conversion_rate']} + } + +} + +$(document).bind('form_refresh', function() { + for(sys_feat in sys_defaults) + { + if(sys_defaults[sys_feat]=='0' && (sys_feat in pscript.feature_dict)) //"Features to hide" exists + { + if(cur_frm.doc.doctype in pscript.feature_dict[sys_feat]) + { + for(fort in pscript.feature_dict[sys_feat][cur_frm.doc.doctype]) + { + if(fort=='fields') + hide_field(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort]); + else + { + for(grid_field in pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort]) + if(cur_frm.fields_dict[fort]) + cur_frm.fields_dict[fort].grid.set_column_disp(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort][grid_field], false); + else + alert('Grid "'+fort+'" does not exists'); + } + } + } + } + } +}) + +$(document).bind('form_refresh', function() { }) From ae5cdeb4725ff748e333e73929260202738d07b0 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 30 Aug 2011 13:24:49 +0530 Subject: [PATCH 64/81] fixes to dashboard and setup wizard --- home/page/dashboard/dashboard.js | 17 ++-- home/page/dashboard/dashboard.py | 107 ++++++++++++++++------- home/page/event_updates/event_updates.js | 31 +------ home/page/event_updates/event_updates.py | 26 +++--- 4 files changed, 100 insertions(+), 81 deletions(-) diff --git a/home/page/dashboard/dashboard.js b/home/page/dashboard/dashboard.js index c5dd36150e..15e7cf3fdc 100644 --- a/home/page/dashboard/dashboard.js +++ b/home/page/dashboard/dashboard.js @@ -10,12 +10,12 @@ pscript.onload_dashboard = function() { pscript.dashboard_settings = { company: sys_defaults.company, - start: dateutil.obj_to_str(dateutil.add_days(new Date(), -60)), + start: dateutil.obj_to_str(dateutil.add_days(new Date(), -180)), end: dateutil.obj_to_str(new Date()), - interval: 7 + interval: 30 } - var ph = new PageHeader($('.dashboard .header').get(0), 'Dashboards'); + var ph = new PageHeader($('.dashboard .header').get(0), 'Dashboard'); var db = new Dashboard(); ph.add_button('Settings', db.show_settings); @@ -46,17 +46,19 @@ Dashboard = function() { // give an id! var cell = $td(t,ridx,cidx); var title = $a(cell, 'div', 'dashboard-title', '', data[i][0].title); - var parent = $a(cell, 'div', 'dashboard-graph') + var parent = $a(cell, 'div', 'dashboard-graph'); + if(data[i][0].comment); + var comment = $a(cell, 'div', 'comment', '', data[i][0].comment) parent.id = '_dashboard' + ridx + '-' + cidx; // render graph - me.render_graph(parent.id, data[i][1]); + me.render_graph(parent.id, data[i][1], data[i][0].fillColor); cidx++; } }, - render_graph: function(parent, values) { + render_graph: function(parent, values, fillColor) { var vl = []; $.each(values, function(i,v) { vl.push([dateutil.str_to_user(v[0]), v[1]]); @@ -84,7 +86,8 @@ Dashboard = function() { pad: 1.05, tickOptions: {formatString: '%d'} } - } + }, + seriesColors: [fillColor] }); }, diff --git a/home/page/dashboard/dashboard.py b/home/page/dashboard/dashboard.py index 2c76b15630..c17e974df9 100644 --- a/home/page/dashboard/dashboard.py +++ b/home/page/dashboard/dashboard.py @@ -2,58 +2,63 @@ dashboards = [ { 'type': 'account', 'account': 'Income', - 'title': 'Income' + 'title': 'Income', + 'fillColor': '#90EE90' }, { 'type': 'account', 'account': 'Expenses', - 'title': 'Expenses' + 'title': 'Expenses', + 'fillColor': '#90EE90' }, { - 'type': 'from_company', - 'account': 'receivables_group', - 'title': 'Receivables' + 'type': 'receivables', + 'title': 'Receivables', + 'fillColor': '#FFE4B5' }, { - 'type': 'from_company', - 'account': 'payables_group', - 'title': 'Payables' + 'type': 'payables', + 'title': 'Payables', + 'fillColor': '#FFE4B5' }, { - 'type': 'cash', - 'debit_or_credit': 'Debit', - 'title': 'Cash Inflow' + 'type': 'collection', + 'title': 'Collection', + 'comment':'This info comes from the accounts your have marked as "Bank or Cash"', + 'fillColor': '#DDA0DD' }, { - 'type': 'cash', - 'debit_or_credit': 'Credit', - 'title': 'Cash Outflow' + 'type': 'payments', + 'title': 'Payments', + 'comment':'This info comes from the accounts your have marked as "Bank or Cash"', + 'fillColor': '#DDA0DD' }, { 'type': 'creation', 'doctype': 'Quotation', - 'title': 'New Quotations' + 'title': 'New Quotations', + 'fillColor': '#ADD8E6' }, { 'type': 'creation', 'doctype': 'Sales Order', - 'title': 'New Orders' + 'title': 'New Orders', + 'fillColor': '#ADD8E6' } ] - class DashboardWidget: def __init__(self, company, start, end, interval): - import webnotes from webnotes.utils import getdate from webnotes.model.code import get_obj + import webnotes self.company = company self.abbr = webnotes.conn.get_value('Company', company, 'abbr') @@ -61,17 +66,20 @@ class DashboardWidget: self.end = getdate(end) self.interval = interval - self.fiscal_year = webnotes.conn.sql(""" - select name from `tabFiscal Year` - where year_start_date <= %s and - DATE_ADD(year_start_date, INTERVAL 1 YEAR) >= %s - """, (start, start))[0][0] + self.glc = get_obj('GL Control') self.cash_accounts = [d[0] for d in webnotes.conn.sql(""" select name from tabAccount where account_type='Bank or Cash' and company = %s and docstatus = 0 """, company)] + + self.receivables_group = webnotes.conn.get_value('Company', company,'receivables_group') + self.payables_group = webnotes.conn.get_value('Company', company,'payables_group') + + # list of bank and cash accounts + self.bc_list = [s[0] for s in webnotes.conn.sql("select name from tabAccount where account_type='Bank or Cash'")] + def timeline(self): """ @@ -125,8 +133,19 @@ class DashboardWidget: print acc raise e - return self.glc.get_as_on_balance(acc, self.fiscal_year, start, debit_or_credit, lft, rgt) + return self.glc.get_as_on_balance(acc, self.get_fiscal_year(start), start, debit_or_credit, lft, rgt) + def get_fiscal_year(self, dt): + """ + get fiscal year from date + """ + import webnotes + self.fiscal_year = webnotes.conn.sql(""" + select name from `tabFiscal Year` + where year_start_date <= %s and + DATE_ADD(year_start_date, INTERVAL 1 YEAR) >= %s + """, (dt, dt))[0][0] + def get_creation_trend(self, doctype, start, end): """ Get creation # of creations in period @@ -158,6 +177,26 @@ class DashboardWidget: return debit_or_credit=='Credit' and float(ret[1]-ret[0]) or float(ret[0]-ret[1]) + def get_bank_amt(self, debit_or_credit, master_type, start, end): + """ + Get collection (reduction in receivables over a period) + """ + import webnotes + + reg = '('+'|'.join(self.bc_list) + ')' + + return webnotes.conn.sql(""" + select sum(t1.%s) + from `tabGL Entry` t1, tabAccount t2 + where t1.account = t2.name + and t2.master_type='%s' + and t1.%s > 0 + and t1.against REGEXP '%s' + and ifnull(t1.is_cancelled, 'No')='No' + and t1.posting_date between '%s' and '%s' + """ % (debit_or_credit, master_type, debit_or_credit, reg, start, end))[0][0] + + def value(self, opts, start, end): """ Value of the series on a particular date @@ -170,17 +209,17 @@ class DashboardWidget: return self.get_account_amt(opts['account'], start, end, debit_or_credit) - elif opts['type']=='from_company': - acc = webnotes.conn.get_value('Company', self.company, \ - opts['account'].split('.')[-1]) + elif opts['type']=='receivables': + return self.get_account_balance(self.receivables_group, end)[2] - return self.get_account_balance(acc, start)[2] - - elif opts['type']=='cash': - if opts['debit_or_credit']=='Credit': - return sum([self.get_account_amt(acc, start, end, opts['debit_or_credit']) for acc in self.cash_accounts]) or 0 - elif opts['debit_or_credit']=='Debit': - return sum([self.get_account_amt(acc, start, end, opts['debit_or_credit']) for acc in self.cash_accounts]) or 0 + elif opts['type']=='payables': + return self.get_account_balance(self.payables_group, end)[2] + + elif opts['type']=='collection': + return self.get_bank_amt('credit', 'Customer', start, end) + + elif opts['type']=='payments': + return self.get_bank_amt('credit', 'Supplier', start, end) elif opts['type']=='creation': return self.get_creation_trend(opts['doctype'], start, end) diff --git a/home/page/event_updates/event_updates.js b/home/page/event_updates/event_updates.js index 1574f537ef..834e887a1c 100644 --- a/home/page/event_updates/event_updates.js +++ b/home/page/event_updates/event_updates.js @@ -25,12 +25,7 @@ pscript.home_make_body = function() { wrapper.banner_area = $a(wrapper.head, 'div'); - wrapper.setup_wizard_area = $a(wrapper.body, 'div', 'setup-wizard') - - wrapper.system_message_area = $a(wrapper.body, 'div', '', - {marginBottom:'16px', padding:'8px', backgroundColor:'#FFD', border:'1px dashed #AA6', display:'none'}) - - + wrapper.setup_wizard_area = $a(wrapper.body, 'div', 'setup-wizard'); } // ================================== @@ -613,11 +608,7 @@ pscript.home_make_status = function() { $c_page('home', 'event_updates', 'get_status_details', user, function(r,rt) { home_status_bar.render(r.message); - - // system_messages - if(r.message.system_message) - pscript.show_system_message(wrapper, r.message.system_message); - + // render online users pscript.online_users_obj.render(r.message.online_users); pscript.online_users = r.message.online_users; @@ -630,24 +621,6 @@ pscript.home_make_status = function() { ); } -// show system message -// ------------------- -pscript.show_system_message = function(wrapper, msg) { - $ds(wrapper.system_message_area); - var txt = $a(wrapper.system_message_area, 'div', '', {lineHeight:'1.6em'}); - txt.innerHTML = msg; - - var span = $ln($a(wrapper.system_message_area, 'div', '', {textAlign:'right'}), 'Dismiss'.bold(), - function(me) { - me.set_working(); - $c_obj('Home Control', 'dismiss_message', '', function(r,rt) { - me.done_working(); - $(wrapper.system_message_area).slideUp(); - }); - }, {fontSize:'11px'} - ) -} - // complete my company registration // -------------------------------- pscript.complete_registration = function() diff --git a/home/page/event_updates/event_updates.py b/home/page/event_updates/event_updates.py index 85a121b206..1134273490 100644 --- a/home/page/event_updates/event_updates.py +++ b/home/page/event_updates/event_updates.py @@ -28,18 +28,11 @@ def get_status_details(arg=None): online = get_online_users() - # system messages - msg_id = webnotes.conn.get_global('system_message_id') - msg = '' - - if msg_id and msg_id != webnotes.conn.get_global('system_message_id', webnotes.session['user']): - msg = webnotes.conn.get_global('system_message') - + # system messages ret = { 'user_count': len(online) or 0, 'unread_messages': get_unread_messages(), 'online_users': online or [], - 'system_message':msg, 'is_trial': webnotes.conn.get_global('is_trial'), 'days_to_expiry': (webnotes.conn.get_global('days_to_expiry') or '0'), 'setup_status': get_setup_status() @@ -56,9 +49,20 @@ def get_setup_status(): percent = 20 ret = [] - header = webnotes.conn.get_value('Control Panel', None, 'client_name') or '' - if header.startswith('

'\ - +webnotes.conn.get_value('Control Panel', None, 'company_name')): + def is_header_set(): + header = webnotes.conn.get_value('Control Panel', None, 'client_name') or '' + + if header.startswith('
'\ + +webnotes.conn.get_value('Control Panel', None, 'company_name')): + return False + + elif 'Banner Comes Here' in header: + return False + + else: + return True + + if not is_header_set(): ret.append('Upload your company banner') else: percent += 20 From c7fbbbaeb0a2ffff1f780a4e4a054e52ccf98ff1 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 30 Aug 2011 13:45:57 +0530 Subject: [PATCH 65/81] fixes to dashboard --- home/page/dashboard/dashboard.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/page/dashboard/dashboard.py b/home/page/dashboard/dashboard.py index c17e974df9..255ad89a96 100644 --- a/home/page/dashboard/dashboard.py +++ b/home/page/dashboard/dashboard.py @@ -107,11 +107,12 @@ class DashboardWidget: """ Generate the dasboard """ + from webnotes.utils import flt tl = self.timeline() self.out = [] for i in range(len(tl)-1): - self.out.append([tl[i+1].strftime('%Y-%m-%d'), self.value(opts, tl[i], tl[i+1]) or 0]) + self.out.append([tl[i+1].strftime('%Y-%m-%d'), flt(self.value(opts, tl[i], tl[i+1])) or 0]) return self.out From 0b230d116504ddbc6df5137014d9f63cb91f0d0b Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 30 Aug 2011 13:55:55 +0530 Subject: [PATCH 66/81] fixes to dashboard --- home/page/dashboard/dashboard.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/page/dashboard/dashboard.py b/home/page/dashboard/dashboard.py index 255ad89a96..9ead6d688d 100644 --- a/home/page/dashboard/dashboard.py +++ b/home/page/dashboard/dashboard.py @@ -141,7 +141,7 @@ class DashboardWidget: get fiscal year from date """ import webnotes - self.fiscal_year = webnotes.conn.sql(""" + return webnotes.conn.sql(""" select name from `tabFiscal Year` where year_start_date <= %s and DATE_ADD(year_start_date, INTERVAL 1 YEAR) >= %s @@ -220,7 +220,7 @@ class DashboardWidget: return self.get_bank_amt('credit', 'Customer', start, end) elif opts['type']=='payments': - return self.get_bank_amt('credit', 'Supplier', start, end) + return self.get_bank_amt('debit', 'Supplier', start, end) elif opts['type']=='creation': return self.get_creation_trend(opts['doctype'], start, end) From 385a3792e16821bd930136eabad666f8f4e884a9 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 30 Aug 2011 14:17:33 +0530 Subject: [PATCH 67/81] fixes to comment in my company --- home/page/my_company/my_company.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/page/my_company/my_company.js b/home/page/my_company/my_company.js index c2a55eab03..9da7e9bd2d 100644 --- a/home/page/my_company/my_company.js +++ b/home/page/my_company/my_company.js @@ -657,7 +657,7 @@ MemberCoversationComment = function(cell, det, conv) { } var st = (!det.docstatus ? {fontWeight: 'bold'} : null); - this.msg = $a(this.comment, 'span', 'social', st, ': ' + det.creation); + this.msg = $a(this.comment, 'span', 'social', st, ': ' + det.comment); if(det.full_name==user) { $y(this.wrapper, {backgroundColor: '#D9D9F3'}); From e3393bead94bb9ed0a0953f7a1b0fdcddd2e4b60 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 30 Aug 2011 15:37:46 +0530 Subject: [PATCH 68/81] fix to kb, delete question, ans --- home/page/event_updates/event_updates.js | 16 +++++++++++----- knowledge_base/page/kb_common/kb_common.js | 17 +++++++++++++++-- .../page/question_view/question_view.js | 6 +++--- knowledge_base/page/questions/questions.py | 8 ++++++++ 4 files changed, 37 insertions(+), 10 deletions(-) diff --git a/home/page/event_updates/event_updates.js b/home/page/event_updates/event_updates.js index 834e887a1c..9aa3da244a 100644 --- a/home/page/event_updates/event_updates.js +++ b/home/page/event_updates/event_updates.js @@ -431,8 +431,8 @@ FeedList.prototype.make_head = function() { // head $a(this.head,'h1','', {display:'inline'}, 'Home'); - $a(this.head,'span','link_type', {marginLeft:'7px'}, '[?]', function() { - msgprint('What appears here? This is where you get updates of everything you are allowed to access and generates an update') + $a(this.head,'span','link_type', {marginLeft:'7px'}, 'help', function() { + msgprint('What appears here? This is where you get updates of everything you are permitted to follow') }) // refresh @@ -440,6 +440,11 @@ FeedList.prototype.make_head = function() { {cursor:'pointer', marginLeft:'7px', fontSize:'11px'}, 'refresh', function() { me.run(); } ); + + if(has_common(user_roles, ['System Manager','Accounts Manager'])) { + $btn(this.head, 'Dashboard', function() {loadpage('dashboard'); }, {marginLeft:'7px'}) + + } } FeedList.prototype.run = function() { @@ -589,14 +594,15 @@ HomeStatusBar = function() { this.render = function(r) { this.wrapper.innerHTML = ''; - this.span = $a(this.wrapper, 'span', 'home-status-link') + this.span = $a(this.wrapper, 'span', 'link_type', {fontWeight:'bold'}); this.span.onclick = function() { loadpage('My Company') } if(r.unread_messages) { - this.span.innerHTML = '' + r.unread_messages + ' unread message' + (cint(r.unread_messages) > 1 ? 's' : ''); + this.span.innerHTML = '' + r.unread_messages + ' unread'; } else { - this.span.innerHTML = 'No unread messages.'; + this.span.innerHTML = 'Team / Messages'; } + } } diff --git a/knowledge_base/page/kb_common/kb_common.js b/knowledge_base/page/kb_common/kb_common.js index 1826f05cc0..3e17b6f7b9 100644 --- a/knowledge_base/page/kb_common/kb_common.js +++ b/knowledge_base/page/kb_common/kb_common.js @@ -19,12 +19,25 @@ KBItemToolbar = function(args, kb) { this.line1.innerHTML = repl('By %(name)s | %(when)s', { name: wn.utils.full_name(this.det.first_name, this.det.last_name), when: wn.datetime.comment_when(this.det.modified) - }) + }); + + // allow system manager to delete questions / answers + if(has_common(user_roles, ['Administrator', 'System Manager'])) { + this.line1.innerHTML += ' | ' + $ln(this.line1, 'delete', me.del); + } } this.make_vote = function() { new KBPoints(this.line2, this.det.points, this.det._users_voted, this.doctype, this.det.name, this.det.owner); - + } + + this.del = function() { + this.innerHTML = 'deleting...'; this.disabled = 1; + $c_page('knowledge_base', 'questions', 'delete', {dt:me.doctype, dn:me.det.name}, function(r,rt) { + // reload the list + kb.list.run() + }); } this.make_tags = function() { diff --git a/knowledge_base/page/question_view/question_view.js b/knowledge_base/page/question_view/question_view.js index ed11efce8b..422fb30229 100644 --- a/knowledge_base/page/question_view/question_view.js +++ b/knowledge_base/page/question_view/question_view.js @@ -128,7 +128,7 @@ KBAnswerList = function(args) { as_dict: 1, no_results_message: 'No answers yet, be the first one to answer!', render_row: function(body, data) { - new KBAnswer(body, data) + new KBAnswer(body, data, me) }, get_query: function() { return repl("SELECT t1.name, t1.owner, t1.answer, t1.points, t1._users_voted, t2.first_name, " @@ -150,7 +150,7 @@ KBAnswerList = function(args) { // answer // by xxx | on xxx // points yyy -KBAnswer = function(body, data) { +KBAnswer = function(body, data, ans_list) { body.className = 'qv-answer'; new EditableText({ parent: body, @@ -169,7 +169,7 @@ KBAnswer = function(body, data) { det: data, with_tags: 0, doctype: 'Answer' - }, null) + }, ans_list) } diff --git a/knowledge_base/page/questions/questions.py b/knowledge_base/page/questions/questions.py index cbb6a252cf..5f8b209fe2 100644 --- a/knowledge_base/page/questions/questions.py +++ b/knowledge_base/page/questions/questions.py @@ -35,3 +35,11 @@ def vote(arg): (p, cstr(res[1]) + ',' + webnotes.user.name, args['dn'])) return p + +def delete(arg): + """ + delete a question or answer (called from kb toolbar) + """ + args = load_json(arg) + from webnotes.model import delete_doc + delete_doc(args['dt'], args['dn']) \ No newline at end of file From fe5e8eb1b68e8f3750e304a7cb0e2ecd52426176 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 30 Aug 2011 15:44:15 +0530 Subject: [PATCH 69/81] delete answer when question is deleted --- knowledge_base/doctype/question/question.py | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 knowledge_base/doctype/question/question.py diff --git a/knowledge_base/doctype/question/question.py b/knowledge_base/doctype/question/question.py new file mode 100644 index 0000000000..5ddee6a507 --- /dev/null +++ b/knowledge_base/doctype/question/question.py @@ -0,0 +1,8 @@ +class DocType: + def __init__(self, d, dl): + self.doc, self.doclist = d, dl + + def on_trash(self): + import webnotes + webnotes.conn.sql("delete from tabAnswer where question=%s", self.doc.name) + \ No newline at end of file From 7282fce711d4421ea92edce48a4e28f936db825e Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 30 Aug 2011 17:34:14 +0530 Subject: [PATCH 70/81] reload delivery note detail and item coustomer details --- patches/patch.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/patches/patch.py b/patches/patch.py index ca7c4d0584..2b7be9c9a5 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 349 +last_patch = 350 #------------------------------------------- @@ -269,4 +269,6 @@ def execute(patch_no): # reload profile with new fields for security delete_doc('DocType', 'Profile') reload_doc('core', 'doctype', 'profile') - + elif patch_no == 350: + reload_doc('stock', 'doctype', 'delivery_note_detail') + reload_doc('stock', 'doctype', 'item_customer_detail') From 7cb1c57aebfe2f1a59f31d68631fe0fa720a8e2f Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 30 Aug 2011 17:39:38 +0530 Subject: [PATCH 71/81] reload delivery note detail and item coustomer details --- patches/patch.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index 159f1e0e32..b33e1a15bd 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 349 +last_patch = 350 #------------------------------------------- def execute(patch_no): @@ -270,3 +270,6 @@ def execute(patch_no): # reload profile with new fields for security delete_doc('DocType', 'Profile') reload_doc('core', 'doctype', 'profile') + elif patch_no == 350: + reload_doc('stock', 'doctype', 'delivery_note_detail') + reload_doc('stock', 'doctype', 'item_customer_detail') From 5ecb6933a8dafd313c7d0dac43b5fddd753691c1 Mon Sep 17 00:00:00 2001 From: Brahma K Date: Wed, 31 Aug 2011 09:02:01 +0530 Subject: [PATCH 72/81] added features to feature setup --- .../doctype/features_setup/features_setup.txt | 91 ++++++++++++-- startup/startup.js | 114 ++++++++++-------- 2 files changed, 143 insertions(+), 62 deletions(-) diff --git a/setup/doctype/features_setup/features_setup.txt b/setup/doctype/features_setup/features_setup.txt index 491cb8d203..f95a8e7793 100644 --- a/setup/doctype/features_setup/features_setup.txt +++ b/setup/doctype/features_setup/features_setup.txt @@ -5,28 +5,28 @@ { 'creation': '2011-08-25 16:53:56', 'docstatus': 0, - 'modified': '2011-08-29 13:16:51', + 'modified': '2011-08-30 14:27:18', 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1314601410', + '_last_update': '1314692719', 'colour': 'White:FFF', 'doctype': 'DocType', 'issingle': 1, 'module': 'Setup', 'name': '__common__', + 'name_case': 'Title Case', 'section_style': 'Simple', 'show_in_menu': 1, - 'version': 6 + 'version': 9 }, # These values are common for all DocField { 'doctype': 'DocField', - 'fieldtype': 'Check', 'name': '__common__', 'parent': 'Features Setup', 'parentfield': 'fields', @@ -70,6 +70,7 @@ 'description': 'Available in \nBill Of Materials, Delivery Note, Payable Voucher, Production Order, Purchase Order, Purchase Receipt, Receivable Voucher, Sales Order, Stock Entry, Timesheet', 'doctype': 'DocField', 'fieldname': 'projects', + 'fieldtype': 'Check', 'label': 'Projects' }, @@ -79,6 +80,7 @@ 'description': 'Available in Delivery Note and Sales Order', 'doctype': 'DocField', 'fieldname': 'packing_details', + 'fieldtype': 'Check', 'label': 'Packing Detials' }, @@ -88,6 +90,7 @@ 'description': 'Available in Delivery Note, Quotation, Receivable Voucher, Sales Order', 'doctype': 'DocField', 'fieldname': 'discounts', + 'fieldtype': 'Check', 'label': 'Discounts' }, @@ -97,6 +100,7 @@ 'description': 'Availble in Delivery Note, Enuiry, Indent, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Receivable Voucher, Sales BOM, Sales Order, Serial No', 'doctype': 'DocField', 'fieldname': 'brands', + 'fieldtype': 'Check', 'label': 'Brands' }, @@ -104,20 +108,15 @@ { 'doctype': 'DocField', 'fieldname': 'after_sale_installations', + 'fieldtype': 'Check', 'label': 'After Sale Installations' }, - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'warehouses', - 'label': 'Warehouses' - }, - # DocField { 'doctype': 'DocField', 'fieldname': 'item_batch_nos', + 'fieldtype': 'Check', 'label': 'Item Batch Nos' }, @@ -125,6 +124,7 @@ { 'doctype': 'DocField', 'fieldname': 'item_searial_nos', + 'fieldtype': 'Check', 'label': 'Item Serial Nos' }, @@ -133,20 +133,85 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldname': 'page_break', + 'fieldtype': 'Check', 'label': 'Page Break' }, + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break' + }, + # DocField { 'doctype': 'DocField', 'fieldname': 'item_groups_in_groups', + 'fieldtype': 'Check', 'label': 'Item Groups in Details' }, # DocField { 'doctype': 'DocField', - 'fieldname': 'ref_rates', - 'label': 'Ref Rates' + 'fieldname': 'more_info', + 'fieldtype': 'Check', + 'label': 'More Info' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'exports', + 'fieldtype': 'Check', + 'label': 'Exports' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'imports', + 'fieldtype': 'Check', + 'label': 'Imports' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'item_advanced', + 'fieldtype': 'Check', + 'label': 'Item Advanced' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'sales_extras', + 'fieldtype': 'Check', + 'label': 'Sales Extras' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'quality', + 'fieldtype': 'Check', + 'label': 'Quality' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'manufacturing', + 'fieldtype': 'Check', + 'label': 'Manufacturing' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldname': 'pos', + 'fieldtype': 'Check', + 'label': 'Point of Sale' } ] \ No newline at end of file diff --git a/startup/startup.js b/startup/startup.js index 2e5b987fd3..046a320c43 100644 --- a/startup/startup.js +++ b/startup/startup.js @@ -571,19 +571,17 @@ pscript.feature_dict = { 'discounts': { 'Delivery Note': {'delivery_note_details':['adj_rate']}, 'Quotation': {'quotation_details':['adj_rate']}, - 'Receivable Voucher': {'rv_details':['adj_rate']}, - 'Sales Order': {'sale_order_details':['adj_rate']} + 'Receivable Voucher': {'entries':['adj_rate']}, + 'Sales Order': {'sales_order_details':['adj_rate']} }, 'brands': { 'Delivery Note': {'delivery_note_details':['brand']}, - 'Enquiry': {'enquiry_details':['brand']}, 'Indent': {'indent_details':['brand']}, 'Item': {'fields':['brand']}, 'Purchase Order': {'po_details':['brand']}, - 'Purchase Receipt': {'purchase_receipt_details':['brand']}, - 'Payable Voucher': {'pv_details':['brand']}, + 'Payable Voucher': {'entries':['brand']}, 'Quotation': {'quotation_details':['brand']}, - 'Receivable Voucher': {'rv_details':['brand']}, + 'Receivable Voucher': {'entries':['brand']}, 'Sales BOM': {'fields':['new_item_brand']}, 'Sales Order': {'sales_order_details':['brand']}, 'Serial No': {'fields':['brand']} @@ -597,13 +595,13 @@ pscript.feature_dict = { 'Purchase Receipt': {'purchase_receipt_details':['batch_no']}, 'QA Inspection Report': {'fields':['batch_no']}, 'Sales and Pruchase Return Wizard': {'return_details':['batch_no']}, - 'Receivable Voucher': {'rv_details':['batch_no']}, - 'Stock Entry': {'stock_entry_details':['batch_no']}, + 'Receivable Voucher': {'entries':['batch_no']}, + 'Stock Entry': {'mtn_details':['batch_no']}, 'Stock Ledger Entry': {'fields':['batch_no']} }, 'item_serial_nos': { 'Customer Issue': {'fields':['serial_no']}, - 'Delivery Note': {'delivery_note_details':['serial_no'],'delivery_note_packing_details':['serial_no']}, + 'Delivery Note': {'delivery_note_details':['serial_no'],'packing_details':['serial_no']}, 'Installation Note': {'installed_item_details':['serial_no']}, 'Item': {'fields':['has_serial_no']}, 'Maintenance Schedule': {'item_maintenance_details':['serial_no'],'maintenance_schedule_details':['serial_no']}, @@ -611,8 +609,8 @@ pscript.feature_dict = { 'Purchase Receipt': {'purchase_receipt_details':['serial_no']}, 'QA Inspection Report': {'fields':['item_serial_no']}, 'Sales and Pruchase Return Wizard': {'return_details':['serial_no']}, - 'Receivable Voucher': {'rv_details':['serial_no']}, - 'Stock Entry': {'stock_entry_details':['serial_no']}, + 'Receivable Voucher': {'entries':['serial_no']}, + 'Stock Entry': {'mtn_details':['serial_no']}, 'Stock Ledger Entry': {'fields':['serial_no']} }, 'item_groups_in_details': { @@ -623,9 +621,9 @@ pscript.feature_dict = { 'Manage Account': {'fields':['default_item_group']}, 'Purchase Order': {'po_details':['item_group']}, 'Purchase Receipt': {'purchase_receipt_details':['item_group']}, - 'Purchase Voucher': {'pv_details':['item_group']}, + 'Purchase Voucher': {'entries':['item_group']}, 'Quotation': {'quotation_details':['item_group']}, - 'Receivable Voucher': {'rv_details':['item_group']}, + 'Receivable Voucher': {'entries':['item_group']}, 'Sales BOM': {'fields':['serial_no']}, 'Sales Order': {'sales_order_details':['item_group']}, 'Serial No': {'fields':['item_group']}, @@ -634,48 +632,67 @@ pscript.feature_dict = { 'Territory': {'target_details':['item_group']} }, 'page_break': { - 'Delivery Note': {'delivery_note_details':['page_break'],'delivery_note_packing_details':['page_break']}, + 'Delivery Note': {'delivery_note_details':['page_break'],'packing_details':['page_break']}, 'Indent': {'indent_details':['page_break']}, 'Purchase Order': {'po_details':['page_break']}, 'Purchase Receipt': {'purchase_receipt_details':['page_break']}, - 'Purchase Voucher': {'pv_details':['page_break']}, + 'Purchase Voucher': {'entries':['page_break']}, 'Quotation': {'quotation_details':['page_break']}, - 'Receivable Voucher': {'rv_details':['page_break']}, + 'Receivable Voucher': {'entries':['page_break']}, 'Sales Order': {'sales_order_details':['page_break']} }, - 'multi_currency': { - 'Delivery Note': {'fields':['currency','conversion_rate']}, - 'Payable Voucher': {'fields':['currency','conversion_rate']}, - 'POS Setting': {'fields':['currency','conversion_rate']}, - 'Purchase Order': {'fields':['currency','conversion_rate']}, - 'Purchase Receipt': {'fields':['currency','conversion_rate']}, - 'Quotation': {'fields':['currency','conversion_rate']}, - 'Receivable Voucher': {'fields':['currency','conversion_rate']}, - 'Quotation': {'fields':['currency','conversion_rate']}, - 'Item': {'ref_rate_details':['currency']}, - 'Sales BOM': {'fields':['currency']}, - 'Sales Order': {'fields':['currency','conversion_rate']}, - 'Supplier Quotation': {'fields':['currency','conversion_rate']} - }, 'exports': { - 'Delivery Note': {'fields':['currency','conversion_rate','Note','grand_total_export','in_words_export','rounded_total_export'],'delivery_note_details':['base_ref_rate','export_amount','export_rate',]}, - 'POS Setting': {'fields':['currency','conversion_rate']}, - 'Quotation': {'fields':['currency','conversion_rate']}, - 'Receivable Voucher': {'fields':['currency','conversion_rate']}, - 'Quotation': {'fields':['currency','conversion_rate']}, - 'Item': {'ref_rate_details':['currency']}, + 'Delivery Note': {'fields':['Note','conversion_rate','currency','grand_total_export','in_words_export','rounded_total_export'],'delivery_note_details':['base_ref_rate','export_amount','export_rate']}, + 'POS Setting': {'fields':['conversion_rate','currency']}, + 'Quotation': {'fields':['Note HTML','OT Notes','conversion_rate','currency','grand_total_export','in_words_export','rounded_total_export'],'quotation_details':['base_ref_rate','export_amount','export_rate']}, + 'Receivable Voucher': {'fields':['conversion_rate','currency','grand_total_export','in_words_export','rounded_total_export'],'entries':['base_ref_rate','export_amount','export_rate']}, + 'Item': {'ref_rate_details':['ref_currency']}, 'Sales BOM': {'fields':['currency']}, - 'Sales Order': {'fields':['currency','conversion_rate']}, - 'Supplier Quotation': {'fields':['currency','conversion_rate']} + 'Sales Order': {'fields':['Note1','OT Notes','conversion_rate','currency','grand_total_export','in_words_export','rounded_total_export'],'sales_order_details':['base_ref_rate','export_amount','export_rate']}, + 'Supplier Quotation': {'fields':['conversion_rate','currency']} }, 'imports': { - 'Payable Voucher': {'fields':['currency','conversion_rate']}, - 'Purchase Order': {'fields':['currency','conversion_rate']}, - 'Purchase Receipt': {'fields':['currency','conversion_rate']}, - 'Receivable Voucher': {'fields':['currency','conversion_rate']}, - 'Supplier Quotation': {'fields':['currency','conversion_rate']} + 'Payable Voucher': {'fields':['conversion_rate','currency','grand_total_import','in_words_import','net_total_import','other_charges_added_import','other_charges_deducted_import'],'entries':['import_amount','import_rate']}, + 'Purchase Order': {'fields':['Note HTML','conversion_rate','currency','grand_total_import','in_words_import','net_total_import','other_charges_added_import','other_charges_deducted_import'],'po_details':['import_amount','import_rate']}, + 'Purchase Receipt': {'fields':['conversion_rate','currency','grand_total_import','in_words_import','net_total_import','other_charges_added_import','other_charges_deducted_import'],'purchase_receipt_details':['import_amount','import_rate']} + }, + 'item_advanced': { + 'Item': {'fields':['item_customer_details']} + }, + 'sales_extras': { + 'Address': {'fields':['sales_partner']}, + 'Contact': {'fields':['sales_partner']}, + 'Customer': {'fields':['sales_team']}, + 'Delivery Note': {'fields':['sales_team','Packing List']}, + 'Item': {'fields':['item_customer_details']}, + 'Receivable Voucher': {'fields':['sales_team']}, + 'Sales Order': {'fields':['sales_team','Packing List']} + }, + 'more_info': { + 'Customer': {'fields':['More Info']}, + 'Delivery Note': {'fields':['More Info']}, + 'Enquiry': {'fields':['More Info']}, + 'Indent': {'fields':['More Info']}, + 'Lead': {'fields':['More Info']}, + 'Payable Voucher': {'fields':['More Info']}, + 'Purchase Order': {'fields':['More Info']}, + 'Purchase Receipt': {'fields':['More Info']}, + 'Quotation': {'fields':['More Info']}, + 'Receivable Voucher': {'fields':['More Info']}, + 'Sales Order': {'fields':['More Info']}, + 'Serial No': {'fields':['More Info']}, + 'Supplier': {'fields':['More Info']} + }, + 'quality': { + 'Item': {'fields':['Item Inspection Criteria','inspection_required']}, + 'Purchase Receipt': {'purchase_receipt_details':['qa_no']} + }, + 'manufacturing': { + 'Item': {'fields':['Manufacturing']} + }, + 'pos': { + 'Receivable Voucher': {'fields':['is_pos']} } - } $(document).bind('form_refresh', function() { @@ -689,14 +706,13 @@ $(document).bind('form_refresh', function() { { if(fort=='fields') hide_field(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort]); - else + else if(cur_frm.fields_dict[fort]) { for(grid_field in pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort]) - if(cur_frm.fields_dict[fort]) - cur_frm.fields_dict[fort].grid.set_column_disp(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort][grid_field], false); - else - alert('Grid "'+fort+'" does not exists'); + cur_frm.fields_dict[fort].grid.set_column_disp(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort][grid_field], false); } + else + msgprint('Grid "'+fort+'" does not exists'); } } } From 93592132b204d8b75e1f86e4c1caece9a560131c Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 31 Aug 2011 11:27:51 +0530 Subject: [PATCH 73/81] reload dashboard --- hr/doctype/salary_manager/test_salary_manager.py | 2 +- patches/patch.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hr/doctype/salary_manager/test_salary_manager.py b/hr/doctype/salary_manager/test_salary_manager.py index e3df804b0d..c7d086747c 100644 --- a/hr/doctype/salary_manager/test_salary_manager.py +++ b/hr/doctype/salary_manager/test_salary_manager.py @@ -5,7 +5,7 @@ from webnotes.model.doc import Document from webnotes.model.code import get_obj sql = webnotes.conn.sql -class TestSalarySlip(unittest.TestCase): +class TestSalaryManager(unittest.TestCase): def setUp(self): webnotes.conn.begin() for rec in [des1, dep1, branch1, grade1, comp1, emp1, emp2]: diff --git a/patches/patch.py b/patches/patch.py index 2b7be9c9a5..38b853ad1f 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 350 +last_patch = 351 #------------------------------------------- @@ -272,3 +272,5 @@ def execute(patch_no): elif patch_no == 350: reload_doc('stock', 'doctype', 'delivery_note_detail') reload_doc('stock', 'doctype', 'item_customer_detail') + elif patch_no == 351: + reload_doc('home', 'page', 'dashboard') From 3c9a6a19e86a1eb80c5b9eb73a6c35ea93de6512 Mon Sep 17 00:00:00 2001 From: Brahma K Date: Wed, 31 Aug 2011 12:55:41 +0530 Subject: [PATCH 74/81] Feature Setup changes, related patch, Production Order 'produced_qty' label change, item->ref_rate_details->currency fills with defaut --- patches/patch.py | 8 ++- .../production_order/production_order.txt | 51 ++++--------------- .../doctype/features_setup/features_setup.txt | 10 ++-- startup/startup.js | 8 ++- stock/doctype/item/item.js | 6 +++ .../ref_rate_detail/ref_rate_detail.txt | 20 +++----- 6 files changed, 37 insertions(+), 66 deletions(-) diff --git a/patches/patch.py b/patches/patch.py index 6bb134febe..c8b04724d1 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -2,7 +2,7 @@ # ======================== -last_patch = 351 +last_patch = 352 #------------------------------------------- @@ -268,7 +268,7 @@ def execute(patch_no): delete_doc('Custom Script', 'Profile-Client') delete_doc('Custom Script', 'Event-Client') delete_doc('Custom Script', 'File-Server') - + # reload profile with new fields for security delete_doc('DocType', 'Profile') reload_doc('core', 'doctype', 'profile') @@ -277,3 +277,7 @@ def execute(patch_no): reload_doc('stock', 'doctype', 'item_customer_detail') elif patch_no == 351: reload_doc('home', 'page', 'dashboard') + elif patch_no == 352: + reload_doc('setup', 'doctype','feature_setup') + reload_doc('stock','doctype','item') + sql("update tabDocField set label='Produced Qty',description='Updated after finished goods are transferred to FG Warehouse through Stock Entry' where parent='Production Order' and fieldname='produced_qty'") diff --git a/production/doctype/production_order/production_order.txt b/production/doctype/production_order/production_order.txt index c927edfae1..9226fd0c90 100644 --- a/production/doctype/production_order/production_order.txt +++ b/production/doctype/production_order/production_order.txt @@ -5,13 +5,14 @@ { 'creation': '2010-08-08 17:09:14', 'docstatus': 0, - 'modified': '2010-12-23 11:08:12', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-08-31 10:03:21', + 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { + '_last_update': '1313485457', 'colour': 'White:FFF', 'doctype': 'DocType', 'in_create': 0, @@ -20,7 +21,7 @@ 'section_style': 'Tabbed', 'server_code_error': ' ', 'show_in_menu': 0, - 'version': 179 + 'version': 180 }, # These values are common for all DocField @@ -54,7 +55,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 1, 'permlevel': 0, 'role': 'System Manager', 'submit': 1, @@ -64,7 +64,6 @@ # DocPerm { 'doctype': 'DocPerm', - 'idx': 2, 'permlevel': 1, 'role': 'All' }, @@ -75,7 +74,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 3, 'permlevel': 0, 'role': 'Production Manager', 'submit': 1, @@ -88,7 +86,6 @@ 'cancel': 1, 'create': 1, 'doctype': 'DocPerm', - 'idx': 4, 'permlevel': 0, 'role': 'Production User', 'submit': 1, @@ -99,7 +96,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 1, 'label': 'Production Order', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -112,7 +108,6 @@ 'doctype': 'DocField', 'fieldname': 'transaction_date', 'fieldtype': 'Date', - 'idx': 2, 'label': 'Transaction Date', 'oldfieldname': 'transaction_date', 'oldfieldtype': 'Date', @@ -127,7 +122,6 @@ 'doctype': 'DocField', 'fieldname': 'posting_date', 'fieldtype': 'Date', - 'idx': 3, 'label': 'Posting Date', 'oldfieldname': 'posting_date', 'oldfieldtype': 'Date', @@ -142,7 +136,6 @@ 'doctype': 'DocField', 'fieldname': 'production_item', 'fieldtype': 'Link', - 'idx': 4, 'in_filter': 1, 'label': 'Production Item', 'oldfieldname': 'production_item', @@ -158,7 +151,6 @@ 'doctype': 'DocField', 'fieldname': 'description', 'fieldtype': 'Text', - 'idx': 5, 'label': 'Description', 'oldfieldname': 'description', 'oldfieldtype': 'Text', @@ -173,14 +165,12 @@ 'doctype': 'DocField', 'fieldname': 'bom_no', 'fieldtype': 'Link', - 'idx': 7, 'label': 'BOM No', 'oldfieldname': 'bom_no', 'oldfieldtype': 'Link', 'options': 'Bill Of Materials', 'permlevel': 1, 'reqd': 1, - 'search_index': 0, 'trigger': 'Client' }, @@ -189,7 +179,6 @@ 'doctype': 'DocField', 'fieldname': 'origin', 'fieldtype': 'Select', - 'idx': 8, 'in_filter': 1, 'label': 'Origin', 'no_copy': 1, @@ -207,7 +196,6 @@ 'doctype': 'DocField', 'fieldname': 'qty', 'fieldtype': 'Currency', - 'idx': 9, 'label': 'Qty', 'oldfieldname': 'qty', 'oldfieldtype': 'Currency', @@ -221,7 +209,6 @@ 'doctype': 'DocField', 'fieldname': 'project_name', 'fieldtype': 'Link', - 'idx': 9, 'in_filter': 1, 'label': 'Project Name', 'oldfieldname': 'project_name', @@ -236,7 +223,6 @@ 'doctype': 'DocField', 'fieldname': 'amended_from', 'fieldtype': 'Data', - 'idx': 10, 'label': 'Amended From', 'oldfieldname': 'amended_from', 'oldfieldtype': 'Data', @@ -248,7 +234,6 @@ 'doctype': 'DocField', 'fieldname': 'amendment_date', 'fieldtype': 'Date', - 'idx': 11, 'label': 'Amendment Date', 'oldfieldname': 'amendment_date', 'oldfieldtype': 'Date', @@ -259,7 +244,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 12, 'oldfieldtype': 'Column Break', 'permlevel': 0 }, @@ -269,7 +253,6 @@ 'doctype': 'DocField', 'fieldname': 'stock_uom', 'fieldtype': 'Data', - 'idx': 12, 'label': 'Stock UOM', 'oldfieldname': 'stock_uom', 'oldfieldtype': 'Data', @@ -281,7 +264,6 @@ 'doctype': 'DocField', 'fieldname': 'status', 'fieldtype': 'Select', - 'idx': 13, 'in_filter': 1, 'label': 'Status', 'no_copy': 1, @@ -300,15 +282,13 @@ 'doctype': 'DocField', 'fieldname': 'fg_warehouse', 'fieldtype': 'Link', - 'idx': 14, 'in_filter': 1, 'label': 'FG Warehouse', 'oldfieldname': 'fg_warehouse', 'oldfieldtype': 'Link', 'options': 'Warehouse', 'permlevel': 0, - 'reqd': 1, - 'search_index': 0 + 'reqd': 1 }, # DocField @@ -318,15 +298,13 @@ 'doctype': 'DocField', 'fieldname': 'wip_warehouse', 'fieldtype': 'Link', - 'idx': 15, 'in_filter': 1, 'label': 'WIP Warehouse', 'oldfieldname': 'wip_warehouse', 'oldfieldtype': 'Link', 'options': 'Warehouse', 'permlevel': 0, - 'reqd': 1, - 'search_index': 0 + 'reqd': 1 }, # DocField @@ -336,7 +314,6 @@ 'doctype': 'DocField', 'fieldname': 'consider_sa_items', 'fieldtype': 'Select', - 'idx': 16, 'in_filter': 1, 'label': 'Consider SA Items', 'oldfieldname': 'consider_sa_items', @@ -349,11 +326,11 @@ # DocField { 'colour': 'White:FFF', + 'description': 'Updated after finished goods are transferred to FG Warehouse through Stock Entry', 'doctype': 'DocField', 'fieldname': 'produced_qty', 'fieldtype': 'Currency', - 'idx': 18, - 'label': 'Produced Qty (Updated after finished goods are transferred to FG Warehouse through Stock Entry)', + 'label': 'Produced Qty', 'oldfieldname': 'produced_qty', 'oldfieldtype': 'Currency', 'permlevel': 1 @@ -364,14 +341,12 @@ 'doctype': 'DocField', 'fieldname': 'company', 'fieldtype': 'Link', - 'idx': 19, 'label': 'Company', 'oldfieldname': 'company', 'oldfieldtype': 'Link', 'options': 'Company', 'permlevel': 0, - 'reqd': 1, - 'search_index': 0 + 'reqd': 1 }, # DocField @@ -379,7 +354,6 @@ 'doctype': 'DocField', 'fieldname': 'fiscal_year', 'fieldtype': 'Select', - 'idx': 20, 'in_filter': 1, 'label': 'Fiscal Year', 'oldfieldname': 'fiscal_year', @@ -393,7 +367,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Section Break', - 'idx': 21, 'label': 'Next Steps', 'oldfieldtype': 'Section Break', 'permlevel': 0 @@ -405,7 +378,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 22, 'label': 'Material Transfer', 'oldfieldtype': 'Button', 'permlevel': 0, @@ -416,7 +388,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 23, 'oldfieldtype': 'Column Break', 'permlevel': 0 }, @@ -427,7 +398,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 24, 'label': 'Backflush', 'oldfieldtype': 'Button', 'permlevel': 0, @@ -438,7 +408,6 @@ { 'doctype': 'DocField', 'fieldtype': 'Column Break', - 'idx': 25, 'oldfieldtype': 'Column Break', 'permlevel': 0 }, @@ -449,7 +418,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 26, 'label': 'Stop Production Order', 'oldfieldtype': 'Button', 'permlevel': 0, @@ -462,7 +430,6 @@ 'colour': 'White:FFF', 'doctype': 'DocField', 'fieldtype': 'Button', - 'idx': 27, 'label': 'Unstop Production Order', 'oldfieldtype': 'Button', 'permlevel': 0, diff --git a/setup/doctype/features_setup/features_setup.txt b/setup/doctype/features_setup/features_setup.txt index f95a8e7793..ca0d2d44c6 100644 --- a/setup/doctype/features_setup/features_setup.txt +++ b/setup/doctype/features_setup/features_setup.txt @@ -5,14 +5,14 @@ { 'creation': '2011-08-25 16:53:56', 'docstatus': 0, - 'modified': '2011-08-30 14:27:18', + 'modified': '2011-08-31 09:31:39', 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1314692719', + '_last_update': '1314763100', 'colour': 'White:FFF', 'doctype': 'DocType', 'issingle': 1, @@ -21,7 +21,7 @@ 'name_case': 'Title Case', 'section_style': 'Simple', 'show_in_menu': 1, - 'version': 9 + 'version': 11 }, # These values are common for all DocField @@ -107,7 +107,7 @@ # DocField { 'doctype': 'DocField', - 'fieldname': 'after_sale_installations', + 'fieldname': 'after_sales_installations', 'fieldtype': 'Check', 'label': 'After Sale Installations' }, @@ -146,7 +146,7 @@ # DocField { 'doctype': 'DocField', - 'fieldname': 'item_groups_in_groups', + 'fieldname': 'item_group_in_details', 'fieldtype': 'Check', 'label': 'Item Groups in Details' }, diff --git a/startup/startup.js b/startup/startup.js index 046a320c43..1ec66d519d 100644 --- a/startup/startup.js +++ b/startup/startup.js @@ -572,7 +572,7 @@ pscript.feature_dict = { 'Delivery Note': {'delivery_note_details':['adj_rate']}, 'Quotation': {'quotation_details':['adj_rate']}, 'Receivable Voucher': {'entries':['adj_rate']}, - 'Sales Order': {'sales_order_details':['adj_rate']} + 'Sales Order': {'sales_order_details':['adj_rate','ref_rate']} }, 'brands': { 'Delivery Note': {'delivery_note_details':['brand']}, @@ -586,7 +586,7 @@ pscript.feature_dict = { 'Sales Order': {'sales_order_details':['brand']}, 'Serial No': {'fields':['brand']} }, - 'after_sale_installations': { + 'after_sales_installations': { 'Delivery Note': {'fields':['installation_status','per_installed'],'delivery_note_details':['installed_qty']} }, 'item_batch_nos': { @@ -613,7 +613,7 @@ pscript.feature_dict = { 'Stock Entry': {'mtn_details':['serial_no']}, 'Stock Ledger Entry': {'fields':['serial_no']} }, - 'item_groups_in_details': { + 'item_group_in_details': { 'Delivery Note': {'delivery_note_details':['item_group']}, 'Enquiry': {'enquiry_details':['item_group']}, 'Indent': {'indent_details':['item_group']}, @@ -718,5 +718,3 @@ $(document).bind('form_refresh', function() { } } }) - -$(document).bind('form_refresh', function() { }) diff --git a/stock/doctype/item/item.js b/stock/doctype/item/item.js index 6dd7377ed7..691e25963c 100644 --- a/stock/doctype/item/item.js +++ b/stock/doctype/item/item.js @@ -110,3 +110,9 @@ cur_frm.cscript.weight_to_validate = function(doc,cdt,cdn){ cur_frm.cscript.validate = function(doc,cdt,cdn){ cur_frm.cscript.weight_to_validate(doc,cdt,cdn); } + +//===========Fill Default Currency in "Ref Rate Details==================== +cur_frm.fields_dict['ref_rate_details'].grid.onrowadd = function(doc, cdt, cdn){ + locals[cdt][cdn].ref_currency = sys_defaults.currency; + refresh_field('ref_currency',cdn,'ref_rate_details'); +} \ No newline at end of file diff --git a/stock/doctype/ref_rate_detail/ref_rate_detail.txt b/stock/doctype/ref_rate_detail/ref_rate_detail.txt index 1774b08d3a..3f9b5a7cb8 100644 --- a/stock/doctype/ref_rate_detail/ref_rate_detail.txt +++ b/stock/doctype/ref_rate_detail/ref_rate_detail.txt @@ -5,8 +5,8 @@ { 'creation': '2010-08-08 17:09:19', 'docstatus': 0, - 'modified': '2010-09-20 14:06:57', - 'modified_by': 'umair@iwebnotes.com', + 'modified': '2011-08-31 11:36:41', + 'modified_by': 'Administrator', 'owner': 'Administrator' }, @@ -23,7 +23,7 @@ 'section_style': 'Tray', 'server_code_error': ' ', 'show_in_menu': 0, - 'version': 2 + 'version': 3 }, # These values are common for all DocField @@ -34,7 +34,8 @@ 'parent': 'Ref Rate Detail', 'parentfield': 'fields', 'parenttype': 'DocType', - 'permlevel': 0 + 'permlevel': 0, + 'search_index': 1 }, # DocType, Ref Rate Detail @@ -48,13 +49,12 @@ 'doctype': 'DocField', 'fieldname': 'price_list_name', 'fieldtype': 'Select', - 'idx': 1, 'label': 'Price List Name', 'oldfieldname': 'price_list_name', 'oldfieldtype': 'Select', 'options': 'link:Price List', 'reqd': 1, - 'search_index': 1 + 'trigger': 'Client' }, # DocField @@ -62,12 +62,10 @@ 'doctype': 'DocField', 'fieldname': 'ref_rate', 'fieldtype': 'Currency', - 'idx': 2, 'label': 'Ref Rate', 'oldfieldname': 'ref_rate', 'oldfieldtype': 'Currency', - 'reqd': 0, - 'search_index': 0 + 'reqd': 0 }, # DocField @@ -75,12 +73,10 @@ 'doctype': 'DocField', 'fieldname': 'ref_currency', 'fieldtype': 'Select', - 'idx': 3, 'label': 'Currency', 'oldfieldname': 'ref_currency', 'oldfieldtype': 'Select', 'options': 'link:Currency', - 'reqd': 1, - 'search_index': 1 + 'reqd': 1 } ] \ No newline at end of file From 30174d27dc6e20e55a9dbd60de961d8c91f7ff42 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 31 Aug 2011 15:03:01 +0530 Subject: [PATCH 75/81] sent bin qty vs serial no mail only if admin_email_notification --- stock/doctype/bin/bin.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stock/doctype/bin/bin.py b/stock/doctype/bin/bin.py index cd2fa28049..65b86867b6 100644 --- a/stock/doctype/bin/bin.py +++ b/stock/doctype/bin/bin.py @@ -61,7 +61,8 @@ class DocType: sr_count = sql("select count(name) from `tabSerial No` where item_code = '%s' and warehouse = '%s' and status ='In Store' and docstatus != 2" % (self.doc.item_code, self.doc.warehouse))[0][0] if sr_count != self.doc.actual_qty: msg = "Actual Qty(%s) in Bin is mismatched with total number(%s) of serial no in store for item: '%s' and warehouse: '%s'" % (self.doc.actual_qty, sr_count, self.doc.item_code, self.doc.warehouse) - sendmail(['developer@iwebnotes.com'], sender='automail@webnotestech.com', subject='Serial No Count vs Bin Actual Qty', parts=[['text/plain', msg]]) + if getattr(webnotes.defs,'admin_email_notification',1): + sendmail(['developers@iwebnotes.com'], sender='automail@webnotestech.com', subject='Serial No Count vs Bin Actual Qty', parts=[['text/plain', msg]]) msgprint(msg, raise_exception=1) # -------------------------------- From 8e8c4820cbfe4ed36b175e86c232cc2868bcf2bc Mon Sep 17 00:00:00 2001 From: Brahma K Date: Wed, 31 Aug 2011 15:46:29 +0530 Subject: [PATCH 76/81] Changes in patch of feature setup and added description against each feature --- patches/patch.py | 6 + .../doctype/features_setup/features_setup.txt | 271 +++++++++++------- startup/startup.js | 6 +- 3 files changed, 180 insertions(+), 103 deletions(-) diff --git a/patches/patch.py b/patches/patch.py index c8b04724d1..a7c25118c3 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -281,3 +281,9 @@ def execute(patch_no): reload_doc('setup', 'doctype','feature_setup') reload_doc('stock','doctype','item') sql("update tabDocField set label='Produced Qty',description='Updated after finished goods are transferred to FG Warehouse through Stock Entry' where parent='Production Order' and fieldname='produced_qty'") + rs = sql("select fieldname from tabDocField where parent='Features Setup' and fieldname is not null") + from webnotes.model.doc import Document + m = Document('Features Setup') + for d in rs: + m.fields[d[0]] = 1 + m.save() \ No newline at end of file diff --git a/setup/doctype/features_setup/features_setup.txt b/setup/doctype/features_setup/features_setup.txt index ca0d2d44c6..224d175a0b 100644 --- a/setup/doctype/features_setup/features_setup.txt +++ b/setup/doctype/features_setup/features_setup.txt @@ -5,14 +5,14 @@ { 'creation': '2011-08-25 16:53:56', 'docstatus': 0, - 'modified': '2011-08-31 09:31:39', + 'modified': '2011-08-31 15:05:53', 'modified_by': 'Administrator', 'owner': 'Administrator' }, # These values are common for all DocType { - '_last_update': '1314763100', + '_last_update': '1314783102', 'colour': 'White:FFF', 'doctype': 'DocType', 'issingle': 1, @@ -21,7 +21,7 @@ 'name_case': 'Title Case', 'section_style': 'Simple', 'show_in_menu': 1, - 'version': 11 + 'version': 16 }, # These values are common for all DocField @@ -65,6 +65,132 @@ 'role': 'Administrator' }, + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'label': 'Materials' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'To track item in sales and purchase documents based on their serial nos. This is can also used to track warranty details of the product.', + 'doctype': 'DocField', + 'fieldname': 'item_searial_nos', + 'fieldtype': 'Check', + 'label': 'Item Serial Nos' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'To track items in sales and purchase documents with batch nos
Preferred Industry: Chemicals etc', + 'doctype': 'DocField', + 'fieldname': 'item_batch_nos', + 'fieldtype': 'Check', + 'label': 'Item Batch Nos' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'To track brand name in the following documents
\nDelivery Note, Enuiry, Indent, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Receivable Voucher, Sales BOM, Sales Order, Serial No', + 'doctype': 'DocField', + 'fieldname': 'brands', + 'fieldtype': 'Check', + 'label': 'Brands' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': '1. To maintain the customer wise item code and to make them searchable based on their code use this option', + 'doctype': 'DocField', + 'fieldname': 'item_advanced', + 'fieldtype': 'Check', + 'label': 'Item Advanced' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'If Sale BOM is defined, the actual BOM of the Pack is displayed as table.\nAvailable in Delivery Note and Sales Order', + 'doctype': 'DocField', + 'fieldname': 'packing_details', + 'fieldtype': 'Check', + 'label': 'Packing Detials' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'To get Item Group in details table', + 'doctype': 'DocField', + 'fieldname': 'item_group_in_details', + 'fieldtype': 'Check', + 'label': 'Item Groups in Details' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'label': 'Sales and Purchase' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'All export related fields like currency, conversion rate, export total, export grand total etc are available in
\nDelivery Note, POS, Quotation, Sales Invoice, Sales Order etc.', + 'doctype': 'DocField', + 'fieldname': 'exports', + 'fieldtype': 'Check', + 'label': 'Exports' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'All import related fields like currency, conversion rate, import total, import grand total etc are available in
\nPurchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.', + 'doctype': 'DocField', + 'fieldname': 'imports', + 'fieldtype': 'Check', + 'label': 'Imports' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'Field available in Delivery Note, Quotation, Receivable Voucher, Sales Order', + 'doctype': 'DocField', + 'fieldname': 'discounts', + 'fieldtype': 'Check', + 'label': 'Discounts' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'To track any installation or commissioning related work after sales', + 'doctype': 'DocField', + 'fieldname': 'after_sales_installations', + 'fieldtype': 'Check', + 'label': 'After Sale Installations' + }, + # DocField { 'description': 'Available in \nBill Of Materials, Delivery Note, Payable Voucher, Production Order, Purchase Order, Purchase Receipt, Receivable Voucher, Sales Order, Stock Entry, Timesheet', @@ -77,60 +203,67 @@ # DocField { 'colour': 'White:FFF', - 'description': 'Available in Delivery Note and Sales Order', + 'description': 'If you have Sales Team and Sale Partners (Channel Partners) they can be tagged and maintain their contribution in the sales activity', 'doctype': 'DocField', - 'fieldname': 'packing_details', + 'fieldname': 'sales_extras', 'fieldtype': 'Check', - 'label': 'Packing Detials' + 'label': 'Sales Extras' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'label': 'Production' }, # DocField { 'colour': 'White:FFF', - 'description': 'Available in Delivery Note, Quotation, Receivable Voucher, Sales Order', + 'description': 'If you involve in manufacturing activity
\nEnables item Is Manufactured', 'doctype': 'DocField', - 'fieldname': 'discounts', + 'fieldname': 'manufacturing', 'fieldtype': 'Check', - 'label': 'Discounts' + 'label': 'Manufacturing' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Column Break' }, # DocField { 'colour': 'White:FFF', - 'description': 'Availble in Delivery Note, Enuiry, Indent, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Receivable Voucher, Sales BOM, Sales Order, Serial No', + 'description': 'If you follow Quality Inspection
\nEnables item QA Required and QA No in Purchase Receipt', 'doctype': 'DocField', - 'fieldname': 'brands', + 'fieldname': 'quality', 'fieldtype': 'Check', - 'label': 'Brands' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'after_sales_installations', - 'fieldtype': 'Check', - 'label': 'After Sale Installations' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'item_batch_nos', - 'fieldtype': 'Check', - 'label': 'Item Batch Nos' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'item_searial_nos', - 'fieldtype': 'Check', - 'label': 'Item Serial Nos' + 'label': 'Quality' }, # DocField { 'colour': 'White:FFF', + 'description': 'To enable Point of Sale features', + 'doctype': 'DocField', + 'fieldname': 'pos', + 'fieldtype': 'Check', + 'label': 'Point of Sale' + }, + + # DocField + { + 'doctype': 'DocField', + 'fieldtype': 'Section Break', + 'label': 'Miscelleneous' + }, + + # DocField + { + 'colour': 'White:FFF', + 'description': 'If you have long print formats, this feature can be used to split the page to be printed on multiple pages with all headers and footers on each page', 'doctype': 'DocField', 'fieldname': 'page_break', 'fieldtype': 'Check', @@ -145,73 +278,11 @@ # DocField { - 'doctype': 'DocField', - 'fieldname': 'item_group_in_details', - 'fieldtype': 'Check', - 'label': 'Item Groups in Details' - }, - - # DocField - { + 'colour': 'White:FFF', + 'description': 'Enables More Info. in all documents', 'doctype': 'DocField', 'fieldname': 'more_info', 'fieldtype': 'Check', 'label': 'More Info' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'exports', - 'fieldtype': 'Check', - 'label': 'Exports' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'imports', - 'fieldtype': 'Check', - 'label': 'Imports' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'item_advanced', - 'fieldtype': 'Check', - 'label': 'Item Advanced' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'sales_extras', - 'fieldtype': 'Check', - 'label': 'Sales Extras' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'quality', - 'fieldtype': 'Check', - 'label': 'Quality' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'manufacturing', - 'fieldtype': 'Check', - 'label': 'Manufacturing' - }, - - # DocField - { - 'doctype': 'DocField', - 'fieldname': 'pos', - 'fieldtype': 'Check', - 'label': 'Point of Sale' } ] \ No newline at end of file diff --git a/startup/startup.js b/startup/startup.js index 1ec66d519d..942f4effc5 100644 --- a/startup/startup.js +++ b/startup/startup.js @@ -648,13 +648,13 @@ pscript.feature_dict = { 'Receivable Voucher': {'fields':['conversion_rate','currency','grand_total_export','in_words_export','rounded_total_export'],'entries':['base_ref_rate','export_amount','export_rate']}, 'Item': {'ref_rate_details':['ref_currency']}, 'Sales BOM': {'fields':['currency']}, - 'Sales Order': {'fields':['Note1','OT Notes','conversion_rate','currency','grand_total_export','in_words_export','rounded_total_export'],'sales_order_details':['base_ref_rate','export_amount','export_rate']}, - 'Supplier Quotation': {'fields':['conversion_rate','currency']} + 'Sales Order': {'fields':['Note1','OT Notes','conversion_rate','currency','grand_total_export','in_words_export','rounded_total_export'],'sales_order_details':['base_ref_rate','export_amount','export_rate']} }, 'imports': { 'Payable Voucher': {'fields':['conversion_rate','currency','grand_total_import','in_words_import','net_total_import','other_charges_added_import','other_charges_deducted_import'],'entries':['import_amount','import_rate']}, 'Purchase Order': {'fields':['Note HTML','conversion_rate','currency','grand_total_import','in_words_import','net_total_import','other_charges_added_import','other_charges_deducted_import'],'po_details':['import_amount','import_rate']}, - 'Purchase Receipt': {'fields':['conversion_rate','currency','grand_total_import','in_words_import','net_total_import','other_charges_added_import','other_charges_deducted_import'],'purchase_receipt_details':['import_amount','import_rate']} + 'Purchase Receipt': {'fields':['conversion_rate','currency','grand_total_import','in_words_import','net_total_import','other_charges_added_import','other_charges_deducted_import'],'purchase_receipt_details':['import_amount','import_rate']}, + 'Supplier Quotation': {'fields':['conversion_rate','currency']} }, 'item_advanced': { 'Item': {'fields':['item_customer_details']} From 630f433741701a78bc5e0c3dd62e555672160238 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 31 Aug 2011 17:23:23 +0530 Subject: [PATCH 77/81] if source qty/amt zero, do not check for over delivery/bill --- selling/doctype/sales_common/sales_common.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/selling/doctype/sales_common/sales_common.py b/selling/doctype/sales_common/sales_common.py index acdca50f7b..78454ee7a8 100644 --- a/selling/doctype/sales_common/sales_common.py +++ b/selling/doctype/sales_common/sales_common.py @@ -576,7 +576,7 @@ class StatusUpdater: """ Checks if there is overflow condering a relaxation tolerance """ - + # check if overflow is within tolerance tolerance = self.get_tolerance_for(item['item_code']) overflow_percent = ((item[args['compare_field']] - item[args['compare_ref_field']]) / item[args['compare_ref_field']] * 100) @@ -606,12 +606,14 @@ class StatusUpdater: select item_code, `%(compare_ref_field)s`, `%(compare_field)s`, parenttype, parent from `tab%(target_dt)s` where `%(compare_ref_field)s` < `%(compare_field)s` and name="%(name)s" and docstatus=1 """ % args, as_dict=1) - if item: item = item[0] item['idx'] = d.idx item['compare_ref_field'] = args['compare_ref_field'] - if no_tolerance: + + if not item[args['compare_ref_field']]: + msgprint("As %(compare_ref_field)s for item: %(item_code)s in %(parenttype)s: %(parent)s is zero, system will not check over-delivery or over-billed" % item) + elif no_tolerance: item['reduce_by'] = item[args['compare_field']] - item[args['compare_ref_field']] msgprint(""" Row #%(idx)s: Max %(compare_ref_field)s allowed for Item %(item_code)s against From ef75761c42cb56d3b8eb383684b40c499079c723 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 2 Sep 2011 13:10:23 +0530 Subject: [PATCH 78/81] rerun packing list patch --- patches/patch.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index 38b853ad1f..37bff245b9 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 351 +last_patch = 352 #------------------------------------------- @@ -274,3 +274,15 @@ def execute(patch_no): reload_doc('stock', 'doctype', 'item_customer_detail') elif patch_no == 351: reload_doc('home', 'page', 'dashboard') + elif patch_no == 352: + reload_doc('stock','doctype','delivery_note') + reload_doc('stock','doctype','item') + reload_doc('selling','doctype','quotation') + reload_doc('stock','Print Format','Delivery Note Packing List Wise') + + if not sql("select format from `tabDocFormat` where name = 'Delivery Note Packing List Wise' and parent = 'Delivery Note'"): + from webnotes.model.doc import addchild + dt_obj = get_obj('DocType', 'Delivery Note', with_children = 1) + ch = addchild(dt_obj.doc, 'formats', 'DocFormat', 1) + ch.format = 'Delivery Note Packing List Wise' + ch.save(1) From c63e62e8835b01f0dc167f30c03777d70c9a172a Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 2 Sep 2011 14:44:15 +0530 Subject: [PATCH 79/81] reload salary manager --- patches/patch.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index 8c4c9dd113..14d7c926cb 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 352 +last_patch = 353 #------------------------------------------- @@ -288,3 +288,5 @@ def execute(patch_no): ch = addchild(dt_obj.doc, 'formats', 'DocFormat', 1) ch.format = 'Delivery Note Packing List Wise' ch.save(1) + elif patch_no == 353: + reload_doc('hr', 'doctype', 'salary_manager') From 8c2618c27accc2fab77c1c84df132cb55d0f4413 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 2 Sep 2011 17:43:32 +0530 Subject: [PATCH 80/81] delete salary control panel and reload salary slip --- patches/patch.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/patches/patch.py b/patches/patch.py index 14d7c926cb..0c821842ae 100644 --- a/patches/patch.py +++ b/patches/patch.py @@ -1,7 +1,7 @@ # REMEMBER to update this # ======================== -last_patch = 353 +last_patch = 354 #------------------------------------------- @@ -290,3 +290,6 @@ def execute(patch_no): ch.save(1) elif patch_no == 353: reload_doc('hr', 'doctype', 'salary_manager') + elif patch_no == 354: + reload_doc('hr', 'doctype', 'salary_slip') + delete_doc('DocType', 'Salary Control Panel') From 343e10586b71957ea1a968ad64b2373303a3d411 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 2 Sep 2011 17:45:13 +0530 Subject: [PATCH 81/81] fixed sal slip email format --- hr/doctype/salary_slip/salary_slip.py | 69 ++++++++++++++------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/hr/doctype/salary_slip/salary_slip.py b/hr/doctype/salary_slip/salary_slip.py index 6a1705054e..3a42dca806 100644 --- a/hr/doctype/salary_slip/salary_slip.py +++ b/hr/doctype/salary_slip/salary_slip.py @@ -182,24 +182,24 @@ class DocType(TransactionBase): earn_table = '' ded_table = '' if earn_ret: - earn_table += "" + earn_table += "
" for e in earn_ret: if not e[1]: - earn_table +=''%(cstr(e[0])) + earn_table +=''%(cstr(e[0])) else: - earn_table +=''%(cstr(e[0]),cstr(e[1])) + earn_table +=''%(cstr(e[0]),cstr(e[1])) earn_table += '
%s0.00
%s0.00
%s%s
%s%s
' if ded_ret: - ded_table += "" + ded_table += "
" for d in ded_ret: if not d[1]: - ded_table +=''%(cstr(d[0])) + ded_table +='%s'%(cstr(d[0])) else: - ded_table +=''%(cstr(d[0]),cstr(d[1])) + ded_table +=''%(cstr(d[0]),cstr(d[1])) ded_table += '
%s0.00
0.00
%s%s
%s%s
' letter_head = sql("select value from `tabSingles` where field = 'letter_head' and doctype = 'Control Panel'") @@ -210,57 +210,58 @@ class DocType(TransactionBase): msg = '''
%s
- + - - + + - - - -

Salary Slip

Salary Slip

Employee Code : %sEmployee Name : %sEmployee Code : %sEmployee Name : %s
Month : %sFiscal Year : %s
- - - - - + + - - - + + + + + + + + + + - - + +
Department : %sBranch : %sDesignation : %sMonth : %sFiscal Year : %s
Grade : %sBank Account No. : %sBank Name : %sDepartment : %sBranch : %s
Designation : %sGrade : %s
Bank Account No. : %sBank Name : %s
Arrear Amount : %sPayment days : %sArrear Amount : %sPayment days : %s
- +
- - + + - - + +
EarningDeductionEarningsDeductions
%s%s%s%s
- +
- - + + - + Net Pay : + - + -
Gross Pay : %sTotal Deduction : %sGross Pay : %sTotal Deduction : %s
Net Pay : %s%s
Net Pay(in words) : %sNet Pay(in words) : %s
'''%(cstr(letter_head[0][0]),cstr(self.doc.employee), cstr(self.doc.employee_name), cstr(self.doc.month), cstr(self.doc.fiscal_year), cstr(self.doc.department), cstr(self.doc.branch), cstr(self.doc.designation), cstr(self.doc.grade), cstr(self.doc.bank_account_no), cstr(self.doc.bank_name), cstr(self.doc.arrear_amount), cstr(self.doc.payment_days), earn_table, ded_table, cstr(self.doc.gross_pay), cstr(self.doc.total_deduction), cstr(self.doc.net_pay), cstr(self.doc.total_in_words)) +
'''%(cstr(letter_head[0][0]),cstr(self.doc.employee), cstr(self.doc.employee_name), cstr(self.doc.month), cstr(self.doc.fiscal_year), cstr(self.doc.department), cstr(self.doc.branch), cstr(self.doc.designation), cstr(self.doc.grade), cstr(self.doc.bank_account_no), cstr(self.doc.bank_name), cstr(self.doc.arrear_amount), cstr(self.doc.payment_days), earn_table, ded_table, cstr(flt(self.doc.gross_pay)), cstr(flt(self.doc.total_deduction)), cstr(flt(self.doc.net_pay)), cstr(self.doc.total_in_words)) sendmail([receiver], sender='automail@erpnext.com', subject=subj, parts=[['text/plain', msg]]) else: msgprint("Company Email ID not found.")

x1M6<4U1N}N+rQqv2-W^a*pQ?2M5=s2!^5~yt;K@)K+nAJW-Z(xRD>(+tour z4zJ-F{p=rt5WQgdd^;$1R8vX1;F7*{*y)g0Ic{Uo%4sG{+KPJh;MF}E_odQK*=CI% z{U3$A9k*3u8-p>To(>tA8v8_K1aF~}!4$uvabN1}H1-?eWNZu$Cxmkyi~`e_b~~NW zaZ9B!h3VTtv71Sgf+%ju3_epb@BQ~M7~Qn0gzBmsNAhk_m`0*6)6x%M~qvkaV^J~)=cpdB16gZw8N+LvNNY`mlW)cUwGXG#2Z^MiA*VH+aXmOvIY65nSMmh!Yn{3?nB~k~U$# zTzF&ta~cELMunII@Buop@@S^5wT|jb4`6ZE1DQF$eEv9K*ID60o>cKh>yvOdUdim31G=@6%4~NW>F{uE^wbU$kRR46uI>v$?pyfLo$K0Gl9;}x8{!>%k~9b zK$71N7=~n;@nB&|2U0(mI6;A+kNM5hxUi2j3>JyeaMwxn-v!*nH4?K=B;IxW2Xrx% z91SBF&0h|l?7(^O4 zYliEo3!ePe!7x0`cUPNnxCRyl1=qC32WcuHX5!ZNzOXFy00M6Nj`%ev6<&n>8dig8 zidNtHu?114PzRlZ;5}*Ja4PgL3{uZ3GO1e9ReGx~@aS1LhVWF#Y<*93;Irf^ZOh{E zIeKscl=RamdwSN8p%#gH3_%to)zE=f`1GtUTT`;B+|fvG`Y*dLY%q0Zpc)rkolPS_ zmEpJu8SX~);kZ~9z0W_-Af$N}UkXIb>|`RWg4}Hg7oI|HxZ3+97eWXIn*rBSoh)5f3-oJV_mvhmliDZoGcU?uq}2bP@4Qj7!w#SBK{ zrDip+A#7Z)YU^kr%*_~l;3&;%{DR?pkX8V`rnkAL*Ze;v9M&og_joA~z=p&Q?z*?# z&C1@z9CCs0&?&piK2tH@h#4p`sdvXjg3aelQWQ$KlnF5Vwe)yl+=Y>1*r~Lh6w(*z zMghViH#F&_vsuxIzqjlj(Kx{T^X6=${yd9{V0$?`DP+t`TNQ%$Q`JVy9khtafL1IS zBzMhYmzr{fVArU5?8kYQG7+7nXhxz{!G{vwZ?(KkL?0-%|##)>TN%Nt` zM0BX38-RIIyf}Yc5!WuxpK6r$7U{A4r@O*#m;+9%$cfh{wS32ANe6~;CAvXDUo#uW zH_1lVPtkC3GG3l!vv*`#J7Ad6QF=H{vLWPC@XMa0l~;6FQD@YT)ZVT341L_64j}5H( z=MCH{Tji&iWa7&Ks0CC}n2e;Y)j(C%Rv44x(75K+fE<#(O>Qzzj8@y2WMaujV<=ZR zS@Jm>JGa0Olb}TU_D>&iS8~#WxdYh|;)P45r*T7kCVZS$F=XYx#I4ofq~(~<`^eb| zAzHi~Jh-Ib$j|hj_%6p8ZK|SH4n0%TYK%DmvIi$aCue%21xyjlEsC;)r8bR%1AeQ4 zBbz7AZol=P9g>bBz2sW6t4!Lb>V4M@jInZ%%v(aDmie_5o=FM>(^lE|Sx%_@bAy?( zCYefC2Dt`rc5VaPTR-5&H|!#5k!Y!`qxxJaU{T33%YN{f!6|0w-g_)5_1nx{_L&5p z%tth0l-cPR#ApsUK;6zAJ=uTD-(;Rh0ZRMm#K-Cfp9NHtu*t&nQ~WQxmjDuX(}~5n zA1pwt#Y!3}YU5Dt?UY^f?V@}Fe|5qe4>kzu(v>-L{WUR5RRS~V2^b5v2L6r(H$x~m zi+twW)$)~eup^vKdjbNy2>c{_f}f;K@OwzvGMVCw|V42Cwx4m|LjNaNejX$#2p;=_FKd)zr2`mVwZP2AEZvr$h#En&^w9M-fB zR)WS`)@BXF9rAD`A20=2Px59&f;)LY{%2{F53PgOgJ^P+N9~GX;hr4hULfV!jvGUbNFa<+P zyrHBsq3QOq{@TSVt>IByuPlniGAVp2XjR}CJf;u6%=0ln>DyZK<002E>9cBShQ>_F zd1hXEuP=OTbnqlcgcq&iy{{Lc&mK4EM#@=(K~IbhdIH5Mz@;9)^Eh1pGQQ{i&B~4{ z^uRDR3d8g$Ci~3jm}f5sp1<<%R)O=c1K1oltB@RcfAW!khb~zw!e7GJ;JwVI(fRwI z8^vPIupknEhk*!!UJzIqMPTuAuuJOIB$aFWnf!~PmZ2y9Ptt{N75VX^hpzo(^t>PY z;Kn=MZb=0;dmY6$%v~|ldUe?Ew{D@8)GfQPgUHK2`rz0b^y2g0@xG-Ei2?rwwJCj@ z`3ffpWd_)SENfc1ZL-j#bCtY_v7{Ob9SIjLTdxWV{YVm|6~F8sez+M3-{7E8@YZCZ zM_ns{3$Nc{%xJ*5$z>6)+_N@t6w5j))QcQRLT;-=1fvyB{Fi5P_br}IO*M*^jzgsa*Zpk9+k5MlZE1jVVL8|$uwmr z-mOl}TTJTuGa19mMO?vFg@6W@(J~+UP*eg+gB?0T#WIM>Bt<0zwRlw$_E1ElGS;CZ zM0l+b#y&q8j!(u@X=^nixd;Vm;+52UFmWo3hu+kQu)*+oEe~w^)`>Mu+>!;YKY`sr zEF03Q&!xVm)4VGoEq*|}Oylt@N8<`SN(b}d{wx04;cLiKPz^w;sf}I@iC^GobTS%= zW<)2hl&~p)WHKu*Z8RNrE8}gglZ)lFV$k_krSl#9_Mv#&#Ua4USO_XrbO=23oBKa@ zAoi~XEQn-qy+L<(jabPm%FyV`k5>Tp7M!H62aU7^DcvS4oCcx@u2AEUUMzJXkb?6qMWd%a> zSJs%Uw)lafN}49>mx0l}jOj80WI7ykpo}auT%L@^RQ)QRwyUuX=YlP;;=!zOwp*z6 zeM?m_dYsYUpBNrK=7>Ep(1M>uT+R9-ZeRtkje{^V3&O-=AV3k~TLwU6F7%#4_pA2kTd+%PC3uzzfsi}hu4X?)-d;lRh*22KJv9K2t_TK8)I z;CoIg9M0JTbO8_glM_qBpiIdW+1VZ(JHm#3xAQlIBUTaV0TYEjCfoYtF`{1(FRr;0 zs!Q0?Zf?BKPoA^UxU-#FL&JE@GI%9w2M3a}+Mx#!%P=5wmU>FUK6IaZoXj&ajMaj} ziqlwQfO=*ev4)}zj43S6wwH?Fi_=fNiCt@Ic<>__d>HQiAmR{+Tl#}Rtf1+G0j#HR z+~nV_+%P<_CX2+W+tOf9iGrVj$V06*GWce6U|iSNg+aD#p!H^v8VSS6d{ z#bdv<*BJ)5fCdo)d#_ci_U3 z`PO~(gEd_J=5G8az02pwu7X>?wZ&j{t78m)b^-@I z`vV$a8?`=?pULw2<9zxn-{orn~ zVg!5DN)LD=sbCnR)!Gu z)>Yn9LHaMMkju9!Aa{lGvBQ#lJFA_)!2;UhN@aYETN1!pu~X}c)Kkud*epJn0-9nRwU~J}zX#?K+nr1x1g4iGXCJY$ zl#$sr&(W#WJq2HqH9G+l#^MMweNn>s)ARJ1V%oowb=%5~UTlleKl*WHA}>1jyhTRI zDXFSw9)v2*MHdJYwsyy-81z%}Q;Rq$aoVYKeprgFE&8FDGAM4b!h?0!1dTWBzLgNI z$3Q6@V%v&-IA&=nvp9VYD|E)$X_aiY0uLMJT7K1%1#3x(^;IM>QxcY>mFZIew5(Lq81y2`}FNtKppXUFf7z@+kib{bTl9|HCUeJ3K*4O-mj(u@-3b!J zC=`p3Q`XQ{k~Bp_taFH$8?~6C7>(`LZ?HL2NyA*KYP8G2Jd-#$Ysce=wrewqm$P;Z z%64nnCrS3xm^W^`Gdn!6bqC-1yS?Lu@bk~;^WEKzN5AVgH+t|7#DIO{T|hjm=SI)$ zQx}2z=x&{Rhc#Te>o4?LGtZ02HDvbXeRM3*N()jbO)4smT+I3 z`TWKkL1sN5kX%9-rZpm$Be)!E<{q&Is2#I;sirds96O{b(5g$7C}z(rsyr$zCDwej z!$T_32f_2|&JUhw_|qBOqj&5+e)-*RD9aXniL14CIA{?<4iBsk5}6+6fx(*LhxkD} zSS@z_Qjo-EDg7W>aMbz~1GBPeZxZP8$$5%lVPBGlx%2=~PikXs)0u^c+j_PDNvtQ; zQmU<#D5|;L~9>6tZBj&6yg5ia~L_h*Fp|W(bT0ZLiAkVZ?SUhIg)$`6OC({SQ{8z z;E5h$XlU8M%&#H$j=0X*+t5c(wntL7yWV`jb+eiY*u8yMS+|7U;e;>{8(>Rw&qt+!MxGl_G( z*3sk5>XYMq**>rQyE~Ypp;>+uYLqM}<-bdna0@NRw4jXZov|#J^rE zDhoDe@G=mfjC*G;ksfqdMO+6x7<8{s^B9ySIXcP%i`ht*4jtPQg*G58Ua14s`>?I! zR8vOiUazQ1gqNqMkL6V2QLk~>%VQY!R6Om)V5nvEQrj6F#o)y=T>Ib`$1r%#lYRVZ zIEC{@Qd?TuT0Qt{cjtr;j-q3JWO42PK^Cub0>S0R|oq5idP zUwj=9CWb-Kwp*$*=&9jB7lpg%RS&M*-CnO=w-Aq9JQLJnc1ZSWIJJ~2G8V~NNjk9u z)7*#X@Kt;++E+}Rak-(JVPJ<3Pq;x`)i^)7OAvv$>>yf2?kG2wl^*LZ@r~ zpV}Y|tXU0>mvfZw3#SoPe;sBDJhVh2@FMs+qy zoO69&Y%_T|@F9^f7gl+?*|>3d?tAYJGGgR=#0SDn^^dwRagO(W!9=qOuju*JLy&q) z{_G!ukklo>bM4zfv0LjB>jSG6R#xv=&C>EMe6mzhTqUkUpMM_v0>xO>uj-PBq-hrt0pCfXJ8TYgOou=wI)yZ+Hst5xO}>V zPT*qMO0(;dYc8#>;f!swWn1;Q2?%&<+}hFlfnx9mE;$H{WoepE#2THvRVkofDYrjB z;BL1ht{6n+8*+nAcZ%`E6}kOufG`&>w^O0QLRzaqcrd;c24iyfjqm!YUp#YMI`(%elrMq}{m}Kl?nYy?Z=IxnW+;~u2 z@5a0K(WSHB!hxdg61UkqKS*l8-FQFy+s%!4w)I2sLJ};pQmr$#P;aiQ#C7fDI{vLW7*5fGQ!;wPk35TtbLnQq@~S=g7sF}|C)-*V3Qofp8z17jP9M2yPR7iSi($3>K8G&OVpy%->4ak3d~)c4L#*0~SMQk;97%DM5^t@zk0D-*Ob6X33$mk7+iSZ{ubt{&X|9$$U`9quwv!bv<)bm25kal#Zk z76;S^dfz2d%FH4kt_~0;SrA4!5Jo*n4Y8`K3xFvWnl7o$e1`w|?%ID6)xg7Y`2L<0 zgKnCpuEI{T7>cz|UBia-g;2hILyr5|mH1uPInS<`A?a|%`lGJlLUl68^h@fdp0O*o zFccCKCOtH!-B?&+y-^ng3wk64@B1psrivAmz08b`W_^Adrg+8l7cUqa!&M%8x$U zF-r}&s!xjqaGBNrAiX3T#(?g(>1C0#a?k2P#a>CLoMl#Lg#42XD#lq1ldd_d3a&<+ zWme~eW49dDv2WQ0yBF}7phH{a61Hu^V@JR612kD)RKjZ8DLD|Rs1~_z|1PgaL$Rlh7YSG zyWln4qRaR;o`q&zcoz~AaT^rC^lPsrr{Ckk7J*ofA!>y9^EPxmYcTM(x>2c5dnpEN zHqbs5*5dZo<3_T#dsV0ml7b&gZmZln@VDN+dDK?BY0eu}=?x4cF&2+m%pGcp4mj^H z`P_J8hweHKziT%wWZ@nh!r*9rg8u3s(3$O_kG5yuJLuzK8@c zSv%I5{w;Z+wD64O=xM?97?O@H#^NcZkCB+Rz+NB!l7t-9)oQE40pjg|J}`<0l;N7e z@bmS@59}Jw)Kb2Faa+N^ZN2c<}M{TO0skuQbAUP55 z5%eKB$|1?4$6eR|(_~vY5$pW=Mn66VQ8E!L?)pYONyf?)Hu>zyDRsY#IV3iltK<1k zTc+uh!aB{tTAWIaXH=ufB(|dKV=I>4@S`6%ov1pUu2B>5#!w#|$B@-*F=?yshW26S zZW~O8(U`q`Vu!nS?43D&D22qZx;l#WRWOfup-qSSGyc5KADp*DKrz%tWu6#TY)35S zD2AjH4Wv6bruq~z^gav^5>HglqiW-Z`z@(|n6o~1U|Or=sJxhpwKFlls0E0tKru-z zYAF)Be4HOE|seYyhKjvx+Q#BxB`KS)agB^qq_Qoz(Jj%eyk2dZq zTyG6)AX7OGhR~_XyK2}fI~CiH3<8p9tE5ZKBMkk?D;G1d8lqXkjH>o9hWTXHRs(6x zCu6qBFN7){5wG;3oQ$i?@}_yE7v*Ha%=DkIE{d)qXW!vDDEsctHa9b|O{5J*nQTXr zwMVeEk$G5{R_teDdx>5|mPfe5nYGp6ngBrx6IO0;41&;BQELQ(rMSP5*PDC@OL0#b>+CC?@?+)AKE(xh9&6-wg;hpy} zXXdz<>tT$xTT*8sh3h@nT80@v{3_0X{^KoMzrI;Fncreu!06&Ah-){K;_yM8tzaE1xC}*V%eNi0x;ZftXb= zL*tRxng?PPT=UT5ef{8lpKJxo^tcpDNhU~jFv{)Z3V1MIuxlqUsbG|X(pJfA4a$-SMeZIr0MGrk?LoL4 zqJ3>|L%uge(E}8*2Pe#15?AMOHS0MCqgE@E%5>{PZJn_N%B+Xs;9YEY!Z7D*DFr)f zU9oTdLqy&|HrqdWQ4h{`PdsF8{ITc%ao{>Y8#}V`JB;x5>-9hh@;)@<*^!+TOR{g) z5c4Jej0$HLj04*`HELM``%t16RV!b8j%dObedx=JV=y2rB{?%S4?Rf~&yp6j@tA0q zPqY-2)=F|KF|lOcBp3Gj3#=Sa`28rfprs_SW*c@n_x^QoNjflbPB`YGmWI?P2kE)f z-b~TP%%c)MsmL9c|9FZ-_tw`kB;ahb#HDwTqQf8cO3rUO>p*;WVvxDiKKGY z(}TNyAe)w*d;bt2QcDTh=wAmvqFWxk8M-?}hrm(UyeuWD3Og~+ltMcxE*CxSUzU;# zhPpT_IqW;SgPx@%xuG^BSkS9^+kvX-ASS;{qrp;=N>Lli(<7U1W>@s_ab-JMO7bOY zm%8jw5f68_J9zHeRtS3Rc;fxH~Kg8VzQ&X5u~TT+lG^6}Jj!({EF>s~qo zVJ)P~9RA3i1E+qD;>;6TW5z`EH#6(sa+OH_Qg#$Fo&iXNF30_P8ZX7! z01bd~gxupp@lu?`&jb+1<#oIq3DrXrK#cW7Rdypn#pw-Az!HyB(A&Uj zUX6=T(=mX{ab@~jiW3u<;EyBQXp6n>O)v!8Xu_8J=mJTX68I$(C# z;t`-HJ48SQim8D37!^Rp%aIm9k2|nqDb6ga2Z|$Gbi@fjHE}_eiKYHvn~Yezy6744 zA{i$Y8fC0+(#>!wPW!2e<*O`KX8uneLA=o!(NMs#6mb$CZX+DNfj_ zNsUO8bsniH^~sGMs1cQF5}jF4#R)81!Tiw%hgr|YG@z^XgR?noC4TNlYeW_2u{49q z{0Qx+;tZE&@K_w7DOH@_(hMHU<1(g-Q(2mUf;TK5gFRK8$I=iMT_>um!l0Hw6{oc{ zgiL;@M`te*XSy_l&QS$bEydX`4e^Nq$AUUg^r)FxO=8zgOq3q=vNYFr((7no(W{R9 z>V~ek^3d^W@Z$8J1|T^`^Q~lNpUxpPkAZM^JxGFWv$&H7JAhV zITldh@pv5}#Q6zpz*1V$PLW&kLq0m~U7WzsEK0|v#n0NVH(l^eRk|U=_Uw7vWv2@+ zNn-oC?ngJD=4}_IE|5AhPn&sL3qco{6w?$O0kgDSxjO)6%yL}4bDYhsom8vt*sD zOIm#x8}uX5f?=GTL+!X-oO!bb=AM1)dg8@O0sJHLX%i>o)XstJP^f0SS`hRjikQ3G z@r5jlvvTSNWONJ}mX_iSoZ81;^!hWOopvcsxv6{XiRw-=$w{hW4!+;Gk0^|ux6ThY z-|Xz*-t}HZ{{F<8?Z4i9^CKj%g^!a2wy2oF_Qw1EJNylqGR?JDa)qfQPS05b!Y8~Y z?;0;IEHL}{Qrj-YxjM}uGfR=Fo7%Rs${9;>Zcgnpj4d_)SIn@sDsxLdN|KwlNDQoN zinY~j+d(sFmlUIRs>srb)>f@8PlBs}#xxPdN0SOC4;E%-W8z5bK%Ru{b_^JH|q+Flxu*xGe4%2eEdjABUr| zxlf1URB;Ayh=zLJ}FGMriJO0v=d2M zJ%iZIQ|#KDH?*H(ZPi^xn_npyNi{uVwot-Iso@ZBIA~VtkeD1qTJLL=*c`W^kM@DH zw*$xpzq3QoCE&}@)q~?iZYU~ynaO1U2J+i0sbckni{mg(Q64Hg60le#@+ zA&AGDUp+sL4il|o+I)~j>#ZGzKimw~1fHKA zdxQDtX7FR?^O>Vti_KK=gv6ANvpA`+O;3A)S#sWF?znb9LB;ZreBEIWE{-rUqnHK- zyd;S#wc|BEg0ypZ^li5VZMC;K)834pqhu0TzVo+R{|RJ%WZ!P%5}V z+G-(rWnz_dqQu63VU>Br)-bEQ`j{Y8zPt?Cko;eXIIQ+z8RjsNk6sfdqYh4Gs+6<( zFo-o_jWCQGpT`V47`|X~h*emP2u#eM#3qadudk4YfjTI(COpp2L3O=}M!#zPnHrqzdD zR>!yk1U3UC&e568v|0D)Msr8J(bmXBoMZh_g&a(Wl3b8t89VI&iwQFhQsc@QJ+SE2 z{4dG+s1XB}$oca%H5DK4bSlM7tdwfRtqV()4v8Yk2dNQ>s@1rBajwRo&Y~l=b-y_1!hYU4UPM3h68&m#-Ax?F{rT<=>MKXABfdtXpeDjh+3rJTR++0-Tny<1#xvE^~#)Whr}ic}^zD2dWR}S<#cF zN2w{+=k<+#K1#;iS^0=s9G9&f;bm(_geY+C?O;Q!`A|V384TFz-7v>_fwOaVw;)OF zfJ8~;z6^8q+KxqLl9Lbj!Qur{A0hkRc0DC7l_cU6%ZQoMdm_gwkL1YWSO2hnsLsr@ zcY=_-R%VO5h#M%fnWT#uqjmSvQIe3;03H6L*H0dO7t(6&c?K%@y77j^rGZTyvkI(p_P8oMdvYeUV zjyzqxC0N2Jh;5Q4n8Ls@PyPq0wXQ{5t*az-N|iktpZn-Xr#BsJTqL)LW1vNEN|zuw zq=%rXMQ>WxIQ9AhQ;pof^Y4iEz#FkJvb_!7+M#u9nbx*9S@foJjVrSb8{rGF^}xXR zCr9BFDal)DV*JU`gxMp$QZ#x~G?Va&<2mG$WUw>=MhB-AO;|%kkLXS7{M{ruQb19X z57PvS9pyXHf=X{X>eTe%s0tdrX{@tZD>O7o9!aW819-6TjiYlSkR-lThosEGOBI}U zHW58jr>#=k-V`uDMv2m!uDf9FOQ)Mhs5x>>bEvJ#+rb=KutoXG-eM)?+Oc;>U}lx% zwKTyl+9%IsT6^;JruZ)POW3+-SdzqyJQ|}pvW6$q(aBJ)uHc3JT+JBAc)o27t2H$p zU_dIoV>{foB>5t>V__ZN$+jiQ7pWbK(NP_1Tar|f+F=+U)tR;>@zWA7vI`{`sJifb zDp`hM5U-dzVK~D4sn%GmcIt%T$Wo_TC4bRdu87IYQ2 z#B##fI;qr%J2{&h?~@-P?)JhCqU|%^a<=tD*6|b)b+2Iw6GB+K9Lg}o&%9ij&t490 zscU!&-<#N1ybL|)!w_NDF>dUZg4Q`mVmQP*yk$3%hmHC8qT?+|bfZoec)vl;3^0v?5H2kr!Db;HiYedzCM?R?P@-)wj?ouIyobW`EKDH zqalfgB?Sgr;k|U)Cx%_&O#lQM#CtWS1D63q2oH1wx(_M$&&oz zm7uiqP46^d(~<-NYGsO~lA@VFcU7K{!~m*8QJ$i?3YJ;Mqwa{E$4c4BylOgQ2lvMs zXU+|v%Sdxe5|yYG>!T7~ZI$8%cBHC65u@X8tMj(m6eNjqFYNUfm77uTM6!+Nvs zEj=1Ra1H`9%k?(yqq{l4)FT;jH_VoaCtCCnC%VOR)TMiPl}XiBdu|0PTN#hZ$;O)N znrC20^)wqJ75-#c43^OolEmf=FR>r7guZvs$HO*q_gg19bnpWdpUH&i(Y0AS9@D=i z50uz#u4~^~hV5|`4zuREHmqeBF!9CSDF5Dsd{!TY1~X09KD7*qMGlF#PPoo0p7i>A zXZK^u=R}dQ_j|_VU=^f5fFqjUndC1Q21mtG%fh8 zV<>eo5(j1J6mCp=PMl>cguTf!*duXRmQFa1!H;Vsj=<75Y(c@3K87vaE$AFJ+aUdB z2Y81NJ)`f?>BqDFrT$19aHSK9sw~-NIKZ@SH#vsPcB7$b?QWu4tl0#wTN++^yk9Hb z)%@RmbT+ayFjX0>N3n8RZMO_|`0#`qB)jFZ@z*{vGpkBj8uk%oaA-R=3*%qy$=E*{ zY1o;R0cq~UOl9yI_9vyX`Y6`tk%nzZ>8LfIm-Rk{H0*Cm@jQy7ve8Jx{-$);s#=~| z3+`y7VRKW8gEnJkEg{lY%`H9BDII^}Q2skR1{;mq>adM58?lg`Zco5Eghs6CidU+U z(j@xeZ0?-^y|K5D;0>LB-TOgQx`m>_;OMO#Iq1^%?vqRd#t#cdBe8yK29FVL4E)_{ zLu>TC!`B291_yUtb1A8X!B{*o%wRBnIf#6Qz_s7Y_{G|(nenqQi+E0K$p^#!Cd61i zZ2e$NUk)e$s|~ZIvQOuXtJho#jck{iFx3M`tbv*VhgqFz7j)^+p0x4JA&RmANGi+9 z8D7Xd_8m=@6LBHzE&yRKQ@D%_?Dg6|0Of;Ib``S%m;EpMNKtMK#>3(MtEzS;PVLod z{8t~Z(3KNKu6G}nt)l#EG_RJ5lX>YKI9@KpUAVf(tHP80ygCHH9`LE3Xbbw~@&mVY z*zK2&!TJ4bgnu*sNzehmv-j?Iq2p~ciu888;dSj8TI; zU(Iwc_Vd$=8Y|5J*`C~Wic!}ZO#P(SBguYGD;zT{q6iWx3vsGU9;8yGM$);3dJ}UR zB{0iyA$o8E2fZNj4huIY_~HEW;*;|=dI{CU14t8>w(RXNeDZ_M4;EGcNPY5el^Ar= zy`n8eNvt>U6T8#-Jg}xU)P|BFn*ahYq>uLY0J8X3`mb>Sc)cmj0XvkoRs-D0OshpBwTdKe&2O|QY3qfF*C1H)e) z+3-h(X92UaTsqMq@Qy0TXOv05W&(^f$H4OrZ~u=Bjfr8wP?QW601U3&-F{nXm}~`t z>E*FlskC4DAWjjlZ~VuVm~%80YYE~-Ls36G?1|a%+FgHfB*!yjGg;#cGp-DZnfRsa zhGJ5ZIbN0=TQ?HoG3!QRs**e2APQpDK{pDs%JlKca}S(nDIkq;sRcFDZ-+p0GtXaN4C#c)RCSYvPM_AaK!JvCI)rnrVf^1Ze)g2UYBB0 zM~ZgG7nOQe!xg07*v0!T?PD+Q!F!0BSctb*>Vtp6(tg)`GK@P&?_3iT&|uMb=zQZw zD1u)li9LOiKzL0P2oF@O*9-Bc%p7!!6uLgkqmLHy0$w^N5DU6$>zCSP_UF-J-V%$J zi_4_S8=zdkR%20XrERN-wguzJw(*O$%4oBRk|arQS97=1d9v(B5uGx_@AccO{Tq$P9m8^BN6zi7a z=_0afwZvntztVIKFvR+$IvC9+%7W>ar(`BHoGB$xbQi_36l_bq+oCN#Ngh#*u%J;RHPc7i%SL2A=rcmmC^g1peL$ zBG-@&s2T>bLZSb)QSAL7I-SB|k;idA8oJ`cE?^sUtEhIRH9g z(do0<#oWoPmGYwHg(+2avJJU`=-rWbE-3n=|~LV~aKBlWY%uPSg$= zwsIq%n;rRR{&L`ks}S;Uudvn>f_^x7AI2rnF5;G$M;@HDneDq1d1s21mB3S`rmrYy>?>MxHOi~sTbD=^gHs<>}3qmF*iwPb$ zhLGR!$gtQ;^3VL2e~a*b@y_Lf2OmO-!+W5WvJge{9y@3*(dAQ22}fzzW{8^?y#z}az(+OQg! z_%EDq4r@EMm;L2nZ{0h0UA7Z4!uW=j!dapX*n#5&73mm_AYfQQoH0xCMc_QT{vm`& z{x6U>%L!b(>XmL0^oMSaCx-RIS-$4ldk+AXr=PaNdUOeXi$O#@@=PA{T25W!2x(&X-dflg+*LWh<6~%as1;~V+^B^gCdKyKJ zx3P%?lw>A)aPLSJh%0uHw#4@H^y0>QYd_z3pWOQgNu;kVHmlD35NlBCc$C&%s6Zs~ zl1{qS%!FV3qm|XKHJ3L7H(E9z3EqQ%-V|7 zhPWKXf%vSg)GS|cm4G;g7_afHt;}pXI}&xn4m{VpNB@SG)y-i|&7%W{wyri@o8Fjv zs8_hQJ+#K(7CC4KA=@z(B>X<11VJnbf-)G8S@*C)jlxA#oHZ*Yhe>ZvM(zB5QPF%}+>tj5;4|-Mv^+SWw|5g0$!lj=dQ`xevHQKa)EO z1z*FX_*l=Bs8V1wKygf3{k&@B=zjd;`O87zA3UrHtRe_a#}6;*J-Vj%@ys{`0l2et z7Yb3z2~|sl1|$|x0}GFM#ib}G5Fpn>tif}l)!u&Q`?O3l$m25jYgNYG<(z^~C~Ko;6@HyTU^dNQjtk-Uh#zlWSpxR-s1 zeDI1~+uN;pVx-8=j3R$rDR?HsxmmtrjCbkW(+>fAX->P(;lYSQ0ss5nVRs8PKA@@$ zp1)99=FS0`>byqhUv1DgPtdQY*C<2vr}$G)-(#SlWlx3+vsg37Ai@lZ3;ybHkN6Q{ox;Lz_r#h?TdT+Y z=CJ*O6moXZ1Oi;nj`%aVoE@ABF}OP1-#ek?(7%1T&51Sc2aSf&V+zbrN5PzAXS=!K zGih0tZeo)rB&jI|>HxqG)fyvEq~|B2rLn8HB4iK{*fEa;H*!hoC7Q`1xOB_8~H;S~PkZ36g^5HfG;e!Jj_9cNOHybaxqVJsHi7L&ElONg}eNa7~$v7RHe{u4)F8lCf&z1$MNR zFoPg>4g2T&jr)k!TRRMYxPkL83=OOnctd(K_%Zo{@4v&{ew0m^0!uW=4>%cjzlKz@ z%8~KPxch~qQj{_k`*;dHOvWSgFc>fa)#JP9m^5o>p{w(2^q<7RVzmxeYhtZN@V_6>fBq*F0khX&2o9ZyJp?i{9~bue0Ue^d z1?hZtd476*o*ObzVuRF>QDqZ2cvZ|-M`AW%J2p-*0d`zHCRv!72dF$4Vo)!IBujjIa0 z3LF+sledT69<(LQ0e1Nu;U-z0BY(Sme|=stcjK;a-(O{C@B2?z=a<*${io~C`M$rN ze)t9d*o(p2cks2$_h|TPxFk7przg|d2@B5@v{uVSzK%Ef(flzV>wqo-%o&JMHmH(Q zG5sA0stYIBRf{RotA8Oy$oT(@s6Is09z(x%9-VDWxh3cm_*H5a2heKi_FR`%iigtGzXTdS##-3!qh ztdY}H84}8w)*OEzM8AX_?Zf2%awN}&M?`WSaT(PUE`d3<8-?% zvV$e!g$Y+}kSAs)ZB^KnQNBFGl=<5#CeD3am4_!w;j1@7_Xsp7G2N9rVM_g!%b<|Z zxi}dLm^^N6;^f%^b|J4!Md+HMdZZ%p#AI`EJ3N7ww6&V-gsdu=A)#26Pv!zi-I8=# zR}NjR19u-a9ze+iy*R)8NMtr467OCxk=BSfYc5YlqhwpNATFGEPcuCkt1XR?suwFE z=)(4#Z9N7b3}T|0lzutnX&sl)id!+#qbY%Ttm^il{%q}KbGAF8#;s_!0bOx4~z_l9+EERaG)&q^Scd(p|%7jF-myoiSb6s;r<$jA z!tv~I0#X()1miK+nw$(02VVsXxPmk*TX}~C8mES7q&$#^QsvFha+H!NsYxDV(mGWO zAS7X6KL!3_uSr2*j%K_nFh5}x6Z8mPr5&Y|;)ylLD_oeosk~Lev~wGR3G}V~%mpWv zpJR2i8$7MY}(FvZ0IjtD}hA=wl2WRK-0Rk}D^MTs_< znx}J8YDblmIx|n|l*nI2D>b8YZl2CrhR$l!G$VCkp42%6R+hYd8L9cj!2qd?45?~w zpXHd&Q6!eUYAV<1A$srw_kU=ziOWN!Qd84H$|x6OX^QeDwp~WKSctWu{Eh8Fp!nMN z*6!A2!H}g|PnJ(Id!izjh-H~EiW}>dQ?YPUC%il-+#5KauK@a^O*T$j%q1a&8P{bN zvCK0x0s?&12$WxjSSGgOB1oY0`3^A>!{(yKlDvRf_Y$%O)#L>AYQjZtp9s@9}>lA*d8&^lJn5|XExrC)6~G1swH zme4rMDOig8$hmky6pLv!%iWvL9}}t8R0mODg1Hz<{gij1hs@<nmkQZ2$8x#+pM23|1;@xo|&5S_da@tSFRD0$7i zpcz(-LcE5W9z|YDZ?w41#fz)yvE+4iv9Vb?iiLRjH9d;F>fUskEZQ#9b%vvMdL@-! z!oXU7EP57hJP1FCTGFoaD)cPfisW}8a~B#`@WA#e&40~I#EZ5oc7@fif^uTq{`pd} zB1lMXyFRxgc^s2m7wEQ2v6wANU1+T)dzMAp)wVXFqh_0{McbvcHlgDNJJn^|rLs1a zlMI}SRJL6KL;J9ExAGZPLhrPL!;7VcRj-`tS#z1Y6q6-hH`II+-yAmg4qo4&(Y-yi z*`$_}E+^6m>17MFl76uiuXn}(p=8BIfvm8Ezs>|p>|KNe-D zi=}vt>|p@2Qm+w3ju-b4WI+Ffn|v&pja@gMOmKtJ17o@esjr!0zObdRmf#itGQ)~r)Ep~FsR&onY zg-SwgB-S9bQc89w4cs5Ckq+rqK`hyPa1I&`>;~3Iht#T|d)j#WZH>j!OU%=1akw$L zC{7>Hba|*amaxWRf!2=l5R>hA75O}x1OQkp>Ah)kM~ybr)>y0nX(xC5vUV7VH5RL7 z+G)+&DmZ6!Ii+GTpqx#B<$V~&HH7tCUM30(J zNJ$v1UV6u>Gg3@)+leS5St)H*n<#Wk62RA<>`L{mrs-7@ucw#LCN^S;yRu$FIUBK> zz9u1|%s*9hc-qA)oN3y-I7O0#QmPNd4j-OyL%Wd>{rIEpdXeKn_UIa~LcA;*rk_Zc zGWwNYN844ili^JBuR|D_TYML7*U(OgpXJ|0ldua*5{B7Eq`r05TRWf`JhY#1OJXuj z(cgt=l0+1?8v={`P)O6;%%Ca>CG2W#P#r-7KY2?MN@$w&X8!V)B$TinyKLP@CwNAm z{HTgs#QxJ#St*GbG(c@Oaf+IPDG3WSK&aF>wY6lJ_oz`)_asqyVkxMWPxq~}w}WU`opZmLo+Js%Q>VB} z*{G(ziH;rJL;Xk+rq_-|LigTlmEoeCWbvZd9oP!wH(?S<2%k~98*+&xu21|T z)M`t_B%u%Xty8nkOrB<`{F8+9bwTz=d%rI~aco1kc+oULcl)gPmL#~Z3+n6D-)iiH zE{Tk5GlFwF0Q(5r>nd4#gcauGM9ax*Lo`%})MXYK4aFi+o#t|ps78MSSw0%J6^LCB z-b|Q}hHa%{1?@Y`*<^y^5rmqi=xEqhM0PWXR`m@=l6c8hQ+BuC`p-_4rKf?9h#+&V#MYDs9)Iw$#sJ>KmRij4T1KFHc0v z)l#(zCncIh(rH^yEdjUJB3lJ_g&{OqQbm!AebC-;RTTv;w&fV_UkA6`1HHCO(?}G# zsGH8JRZ?V99*JTXbrVXxm|7iBjs#UA>(O0eF034Y%;8avvOteAM(wnw?S3>8Y%PsZ zn{jGVWMWag8YWH5A|oXxe&>d3dyD?+*md{6rLI>aQLLH?Qkxeh8Hs{AFmYm*R!i6P z(+6~}5cX3HjVO%)8;OEAv{PD!tg18<1#+|}T+Mn`Bgk$f3gD}jK4*}8JJYDs8P#<_1=5LLJ}>8$Yi9MsvqB{!Q5=X?Ivdm}8HwUOv=Z5%Ovy+T(NT-Y%>#aE zTjxvou#?0kmlNGVt&))_xWnimX1VDm&H7OxCfY8UZO1Wheh?yx`_Rhmiw>4YQOE}- zPy8Cxas~m>O8IvhNImgVsGHh`GFlYlVSw5ul3EngVSv;o@>&$fVSv=;2~$|y2%P73gl=B`+xa|01IpMtAAKORA%g}op5<1s>@`GpjpDjsHFVpc@;<0Cnc3KLpKEID8t}UkMp0(Gk#}Z4u zsUgf;A2g38TNhI!$R3q9ehuQaNPQ3`zJUB_esllFuB?Q_PX*ytxIn#}PNURUF94$D zb}R~9>Vy223qae&x1&+CS_wo2BHJ#y;gb!UKs%BgT9uQWafwn(o<5dDOPV6N zELKYlv4)*&DTU1iw}!oIDWz3q)P;CTLLtQ{tK~kzR6aVa2pYPuJ*TmgO4aHviH|f! zeFu&yV@a%}`WVX3xoeH5Sz)2EB!IG)Av7*BG?oNb_A-h#o)cqH9nro9($axqEGoy> z$qd((e_$*s%GWviou?iciz@UPCcBx>)>u?X4$~-Je$_I_@JZ6I)(_6+uaPLo`nzU3x3Lg%VPHpkmce zM)uL)ILN=l8^~vcRO-#^@Q%e%w>8F5d`+gV@3A=0wg%y44s4-99Aj&OXztKK?N~${OlyKvSs<;P zRN)G5g4BsvfRv^J8;c`nO_1B%<#sF%o;5*qNwv!=88MfW*N*7-9u{_v_Bh$GIO5mb z0J_+tio;`DjR7z0_U+cu<>x#W2gsTsxtX8ySR5K_hUD?f+J3`haX73QdWp{6&PhWY z1Z#%;slaQgd{Ze7cr`=qEW^)g76@@{s~LJ}yxL*E-@2q*m|UuJhd2UK?4v|l^YoV_ zQoV2j*ROJml!$C44@q(4qZ#7MOb}|si^YmM@dD0y*K(aNuJt^@VnL#r;4ap6ap<7f zdyTXzP=0}~KI_-2#9@R6DDMJxabRIP;sfW=^$#IB|B4BB9Wb?aUqWXrjx%gYxr=En z&$5}>t}7~l;s8VKq-M+^s-%k78r`Ih>)I2}81Jrj>*y z;!rO`RF8Ar)v=b-r=RLcuDjAUWg-seszLHUZOI`iN6N+4_Gq;--`C~sIuXZo)fh?H zc|iTajH+Ho#c0GLv9HmnOo@sCi8l!?=f*#sb>-Pu4e2i44rrxu#Pt%`7D}j<9CdX- zEjq<-`O%FkYh2XPohK68hgblqrNT)pNR=yR?d&HL$^O*@x!Ke*isXt{OcUgeUzSB# z$tf0dstJm-L6gesdkJm2DK0gbiis7khbD-fC2HTGhRJavj+)2%^%X{?ySNa9Sq^#czl;@Dh+q|aY=6L2^Y2jm(Y$s+#})U;}G zD6T=em-#o)NLv-hdrB-?YEzh~c8@xJoG0QaPh(U!b90`EgE@^+-5{g$L>$p+jN}GM zohRa0PGcm?R;M}(lQ^VPVy;ySkAw{XR#G(|#fxhui%qnn`mvE%H?f0fbhUL$3my!` zSzcn|iwq+afo6#=OV1>nnBq#xW{GZ-jcFn-uxxe!EweC9#MPH;jG;JBIl7JHikpZ_ zGwXN{>e=HY6S!g^LZR8`Kq?bA$;Tp|9O4nG#gNc_o$YN9XM>9lfv1+MT5fX|F2dq4 z(Vhk{YGCCThm7_#fN|x~ig*liYR!*f^0Lv9mN3|%p%woAR9 zFn66L|Dre^UpKK$92dpG_qr)j2=kW>eWIq~6b(j+U%c$b zD{3lE-e7br%lwN_@)((l6F3;9+#2RzLz4}`RGid79Opz@Rprrz9YkKoE9X?4&%p$> z4HExM#W@>HP+K?m&s3a{!33#w)BjAxsTNF-T9N^%LW`b?b1#@6dd5$)TDh>N;uH)f zh@MxR*yV*BPqbJF8z6d7VbU!Z#NvbuUC`|W6-nyr%VBXk1_Q)45yRq43DC+@vWb zR^l_Knb-y<&8cKtp_$SKCe5j2E@`H;dCi1r327P$p5-`JD#pqv7cXj>DW8|9II25N zaV`YilrJh}uqyrH*jmZ^P)kg9_3?_i+m;FC79P-3ag?oosyj%iJQc^?wxj(Dy>(c+ zzqZN4E2tN%9WALpw*!*cP&4gf^+U`{qAUrU2mG5`=S%polNq}rEC{vHFV;xZ=@(#M zPOoacEWzq2j?~pjEX{kVkUyv#WpSKtOTzv27j%w=OI4P}+K1UwaWJlaa&O=b&hk7cmWNU!plAtza+I20Tl=gZ$irU&V)wPbQk=(Sb!Bi3$Z;I|F zwlzsuyeX0=C3TvWQ5P?$;(^U-4B^sQ``+5!x|ON4glagaD~f;@FQn$EZm5k*qT$u) zu2_Lo$*)RcD=%m^l?20gHiTb3e}q(gTN`{*B6nMzX}|IQUJ?%9&rr%tT`HyVrZe#} z+s|n7;n)pr1L6YgJ&kE1mQ?D45iiXB3}%`WV6BYW;#%!Jjcisbnw5tnC%*9tljfW) zQ?Y9oi@klGc0?j&{u6b`5Vbg7RGLr4{6+k~|$<5R52w9rLp! zDTe`q8#1*d1BU^Evz)EAYmubcFhFgVixsJDyJ|M3cG_mnwOtX5R99zCZmbAPl3=u? zw#DgU^&g&k@sc856xGsIU%$OVXIO=}_baV4^-?cRC3zq86I-2-Q%J8Qp@V*UmFlcW zc|wx6L7nW9NM)eELHXpW!vRTp24f^QHrz>4FBl`doKsW=AYNjO4WKNWhw@7hFF0-I z>4p8gbG)iDJT+yYBte39T1S;uFTvTDB}Xs2~jxweSO)w32>k~?iG z=_H8^+7f(;7ei96tFl~cy?G|dW?+Kca&1FSaoaVpImPYt4N0B@b;3&u0+A8WR4AwG zFP{Ijh0~!bv0N%WDhAVbJ?wZe)v9a7cr>hyn9_TNkRmD6gFM_W|G7Q`Y5eRyqc$!zQXNm3GMCR3JlN=~MD zo~x5tmSjeO;927(btZ}7ZH2JA{^C@sidcL0xKl#-%x2NVGfDWOHZmLd zI?f~^XWD3N5J5bXcwTCwahiMGHBJa;lG8PHTBSZSzw9?)?|AEM-A5;QMsM|n$ju}w zbt}Xv`4E*`R=vKQ?ux^fnOMGx%Q}zM$`bu%2hM|k2uraZ)#qs;mbxh&HJE)RG-;%? zi7XSBz}8LaB=h!_7YA|SYu&`=MVl(I!j()nvE?p*a$p}O${*OAbj2AE?TT{ z;?R5D6fa+P=h`|G$KTf&f^?ZySucjoO<>~Sd+jTnRT7g@y)26(?z*wnTbPtYtUb2@~b(L4wBZ)#8JKyy;Ybe`^gSGduvCMTAjc7!I!(O|Aa0NTWz~T zapZ4}Q3$vS(;ZgTeOIDdyljdCe)W^w3Db!6S#{dwx{AsWmC4zOH4)rfR#C9+VcPw@ci_%l6kR*J{Z`{C2^XNt z(<&a9T71sWId&g6-DzzHI_y~qDDv|CLUO2I@<-+cOC%&(kQ7FgDlQf8>(5gx@dgnUZvZC;0(q%uKr&_#7q;YBuNiI8Z zQzM?bh6{;TX6kwGqZpHVwCzT*=zSEE<|l4x1YB>_Put7K`H&Yo))HCPiM8a4x)xgN zZ52~}kJ(Moh3z@I4%Fwv>5&bGnIY=!%;v+{k&R>AbYDCl&W~&;lNMIp`EYS$qnWld zvd^tNr;V|=Iw|m9+FHGc|BRK6YBOm=tz&NS{4|;p@0e-!4P;xDPkb+&!1XuiZ0m86CYFAcHK)WA@)8J>6=g< zONM#yCSh_i8Ro{4X;sj}@$9wNCBb-X_6h=AmB}9UN47YdqcY{=0*$cmT}oROj+pEn zFipGgp(@cin)F3?)tQ*cPBI@&`yzMTg@l>)MSYofhRk|49~I|aJ#x$TGm3;yi~4{n z+G&)DHF{-D!1O;J@#N=QRqQ+wxFY{tYVK(_A=5~cls>F!4W+F$c?5mlM=`|>=vT&G zfby6ZRob8<+CSZ0Gbe9~fEAw_)}xg;sYh$? zBWW*jc&fpB$U2!UPA2l!>ai%O+Jur}S*k1H7GXZ@jo7xSuI6*AbK0*QJ6J!Uv%n?6 zy47%JD+yG|n$+{TCyJXTxR@_^**+eUvyu^)wX@KwK)1cMgJ*OV1&4KX2uj_Yb5yIO znwu|XElDm{DAmbl$BH$NM;CHR&C)+3FEn{!>3Bj0*8v|d?O z?A6NFSV618B>s4XKKKo_;L13cIZKn@F~w(&7qvO`tRQ;S3(@6ON-L2bC*haqj;{3 z;;p;yn%KqfiP&Z5#C~w>M+cokalf@fh7dw_N~vt~vKS8gq;yoIREFtdX!S{HRs|iD zV>;@S(lTXJOm6oJR}FHRV#xuksEsX#-7jS|2xp39LydSb6t8gdR%Pn9TVF*)aHuQD z3GwP?hT4&YTDhzcuWV+hEpvhuV=G?T%uqXN%f{lRt^?v#CSlp?EXCUruX#s6vXr4M z@#1HOMHt0({6ihQy;2;@;)0)zqG@Blppbo^|F>SXh(3=pL0D z$}7m83JIJ`TNU=8s@VpbNsL+l1lL(nEIDN+=~X&ESy<@`G9wu$CMT2G$!H>NRoK}b z_Ip2wkWzV=VrYR-MvR8Nkx3>Si_^pp*2$&HY#Uj<5kAgzcI=&E+}vU`>WyaV7n`AZ zVADm%*{mXe@RIXA7>cPM_eTAcq^K4luBy;U$ec-A71or^CUC+kFErsfpoBf9B5Ec= zrXj5=+QkNoR`kZ+lDH}??tJxoaQ^1(u{*XGg)xO<$gnTuB=5=%Ono{VSGR;3LiR#;E( z1E-<}GgDb>S9xEICp}YLo>)kt%8sXob_X@1ycQ+IH6{7dFG~*Jn9zCW zgkA)$7a_=mW2?kkDiQqWKYaJ^f1C{Q|Iq1&>+?%=efs9ZIr>Lr-{Nn)z(4U1bpDC7 z{rCA_uh74L_vb(S^6A6pv;U?&um1dpKfHQ{{~ul3w_68=?2HoK`2mVZTl{6$fqRcB z`3Lm>!`sWx7x8bse}~ThpZ8bSSNV=HZPw62SLfI0KSTQwYu@W{wWdW1;D0}$|NPJO zgB{rG$O%@V6S0RtXy)U>UO%8ibhjX#&o0kTug|mNXOy59e?aITAOZh@9>Gb>4qjNJ z;kW41=W9fOh3D(QAqJ^`ASmt@xmaGlJ%4xl%LlH{&fmCquCr0;v$}mwe{O<*t4BWhhE%#Kw(-OX1@)HLTHp69=PlYHOV&!?A|L4Vj{=J6~wt}V<3;NW;7zCG;r;HHZi%&wS)+&nI@ z{BM`U*oc>n3@{PG&T|8)Ji(D~QX55M5wdofsDU%vn8r}InrdhS$r z`f4-;eQ-EW+&KlUmEuyQYYhHwyF}UEwU@BS$#~~4=0^@fo5<}vmydpmtRt*!B1Mhz86h_JQARH<0@aO~~d4HsX zs0V&Ehi#=mwGWZ6B6y+CYK;}&%2()w>%iSp=8BxJ5#=|3>mMp#KW56!%J;UJeTtA7}&t!9)?bUCmn9xNLouifdAm7 ze+#m-@MBRx;1qt$2?D=z)(}=&`G;uhdezf2;$TmH(+yX6efC0|f{4Yi{GH%0_wJq5 z*5`>%W-k2k?M)SX;9m<%xC77Ljcb#ikafW{9)Ky76wJuJR}{_R;TBFztGcbWb{MUw zj*|8rkN&SwMiUiCq=^#5Rn$<@QAr0SJrf1=^fm-?-`dY1dh0}33J&5hgtQRUBA2&z z2$t31>}0BRTv}@N!aMOPoR7wP^8x$!w+AjgbXh=D zl@0Ud;5x9MtMD73k{4|dHui0|1#s!&g;$IgaX6I?lEui3Ulk* z!G_CWXhwv@+%g%x9Q+cwTQ?%vk`zQq>pv1{vc{_w7Nk_np4@n_E8RGEXoVGEJY!cc zLT7vT65%D4{Mq7B{_wZIe;fCN|3Qb>_z_-I@ZVxPe1txOEBc)O`@hh=6XCUny%NfP z?Aa^9|57UPCs)ZQSM-yN;)o}56KydK&ZE73fgkYgxcPtopR^&pf`xB`bqx3{_f3>6 z_YOgl@N6?~-2Cvv4M`tV!q41a@}#r4+Fi)i$kKoMgBT0!zn|A?%Yq$MW(AJHfVDY9NW-oNnn?2kXhUqBGT z*HVzAglFHCgkJ7-Wl4+)N`H2k{aN+~-UjwvBZle2t%jjT6Y;B;TdkySyeZ zaD%@RGa&Gv8Y*K0*o4X%ZbP`F5xXUcYsqAam&%>JQGT2B*Liv2!#Al& zuC8BGmK03_LGq4rI2JmkuPfWLy_CS}`z}<4DEs65TZ_N0{cEeY_{j-UUH`h~A~8iu z+|@Lpvm6rqwRW;U63x*+OwfL2uemsMf#QC~+VRQ80hG^$| z(Sx#j$9`MJZ{*uv;Qcsg2QTnu?T5I@-mO>UXQ^&Vbp|j$Wjm9WeBW|@jfeJ|9R#)) zJ(rA6LxUDJ<7|XkS^OG_ z5`-$u=>}WJ89BpVlLgJ1$ga=5i zWB~&;iR$eO)Zza{pnBmG@xd;f0&%%9CS>B%LJb`tNdAmp4*nZ&>dA2&dV{rXasc${ zDn0;`o&brG`BwblyLTZ=<%fI((fvNK-O%203^=3s*goD;?GiOr?w{2Z&x zEBuX0$_kFK#tbiJC<*H?O`=&P8?Dhu*=r>~Vnr?1%Cq?T5UlQk-Rm`VntM&%zwl1x z?%)w;vKMfwyxv6kKkwWB4Z9Zhk*$Bf+PIIn@Bi0+!5XQT7H(fhc-!}WN5Z5(`1cmx ze(4|NQS;V);C|8Cd(TDD=1P2K}$Ivorh%-P-Ff;Dq9B&it(p zeg43(ME42BKPH+cDg3t<{vNwbO^X;Eu z48#?Z(E1`rCE1waF~5eHaTk!ufrki(*pa`npI^`~fF5`5)>*|T=P;Dy0sQV0Bs<0r zhNLxc?(kmWVYRcp=NA|l?#l@d$ybrPf zk_Hq*!cDSkAH5~Ni}%q45oe1#ihm@JKG(#0eV^}?BZT|q$S3~qXl;9VMuO37i+61( zdayleTY#spd9vtN{eRah|Ms6NjOdG<{l!_uz7a1NPWU|mQveOgi^J^m=j2t1ydsqT zCwh65N6TLud1-&la3*aoyr9EA&qKtG@a*bW$~`d{|A!$Gf6JpCU>LXC70gSXklehJEjF29dJQC;k7-nOX8b%!FAy>oPdSpZhVZxr0;Dy=n6@^%i1oOD_u!Ot@3(xAec7fGmSPb!K8yp3uceqJOu9iogAhmwk+9 z;y>{e#Pe*6*8cXe^Fs9W;I1E#9YA<5{t(tBo?nyBDDJ)S5eP35uJep#7Z?A;fBoNI z{*C`B@gLIZZ^;k+J$;sMY;{k5h9!X_kJ%0SgjG+{!inj(Y$?1VdMLSkNBkhsUmZIj z_h!5YakwDlr2#A=s9?a)^ubqkw=FW(qVbLe7k$5 z{V>x9U}`2rV2tmc0qpc1`ea)|3?IdZeiNRT`2z*I8^~-9Qp-DgaoM93BF%}d*~z=M zp+EjG!ixyvev|XmOAbb$Er2#m&`H5sj_1;A&=jz4~U@W*_ixBhP`f@y4u7z|eI@)L(*VDH4c+Ju!9tb!O)C}*xZ?-9RQ#><%cNAe-x9WU3EM&>&5Pm7 z;M>15x%0z|zhTMzf}SuDo(F7z?c-nm`?vfnNX~vJY#R8LU$lsXDlS@hMWGvWA!-jipztY7~B^@cmeCc}GK4V>b*E3q-{u_myPo5N(J^S9nZE zxr(KI`lERAz;Yi32@fYnhlvhP!zgn=0mr4k`TFL@`^kqXeuepL|LWC`an_0$i`U5y zVotQ(5OP|r9Wp$@G@?iZR00I_FjT0npzMe%id?w()4;@1N6_eI?KTiDWI5uBh^ z`0Ce@PlGmJBnZVzFf-b{#(K81eH}9qXfjwsfn39(X z_p$FFDHBK@n)F#>4N6}qooV=+Yg?uZ9f&dX5Iy*T`#CduF!QD1`@f8b(ZcVfj}0w&Sg5^4e2CWBD4R#lMT+J$~+;ci3)Uu+bAESj?F%piB@%JTsGhZxKYW zegprWaPx>UH+hijY9(FCJW9J-e=jh2{N^6)5ONpneD6j2!I$X@2ER!R7~}!?%#j6L z@X2@vhYm@MhLw6~fb$7%Kv*%s?|ida;fvxdkI70Q%s5EmC+UlV&;AquDc688xO>K5 z`Az785run*9IV(ln-IUX*U6hJZb1$KR?64ZRFZp>-|}=2SI#UY@39bk0u|~l-t)jG ziuAB295Lk0!$r9#Bgn#wl(3R{2U;PL9!nEJF#m^J&%YL4$fBDaoeuB>*l4Vo&btUBd2Oc)) zmf!q`;;(Z0_h0=3v&}w0@dO*sb1K`YuPgP>roOI!qAVJ#?4bj@LHxT^Mq)n3-Nk~3 zpH@7x7W8_iV4OWT>n{YHjGPUyoJE+B5bGb|-dVeM?)v}7-k5iDQz@uqoS`toOA)bpa@#(M?j49cNaGBaz)W z3xz^ep$_bocJjKMMv3KsDU67J#ZLR!mvc*A#%-um2zPB#ClQo?G15yV{`Uu`$G{tL=a0qiLgB#-Nf-tDqz$bF4o>S2dF|%KBxnhbRSF zCS7=7rsY#WS&h9`TVIyh6ZOnPQt1i0aD!zxX&jMBLBmm5Y)$jnHO=5#Qk)P|5h8_Z zmHdvW>tV@Sj8zmA6srscVn7MH3svJ~t&(|gNDg40lt}a>!f6KkubmG6*`JeHtJ{2L z(vE&F+DK9;R9~Wz(W72Vdvmx`+gmf_&z;uqz7-h=IF8U4NxnEn|8g`|%OpY6J4O;( zHfyoHgrt?3bgP-M@=A=9*^^F4nk-Ggpz}K0T8tQhrzzsJUno&d-6lB1hT3-JCgVG$ z)GCL$2%2Qt=`lhfZqBnqhcu%BeZ~qc=kI5=IqM@YcGyPz=$n4{%x$~QJXE)(fFPp6 zBB<tKK0R&yeH>r|p=4*OuCC59CTA7S5i__Ql?Z+JEbgsOD@JKAIn7#u@oG2Kkmr;1hVP%R@g zR2)z@dNW^rko-b9nM@x~ef;)7$ z$Y!>UnQ;XgbYC!=1 z3s4I;@E>_#h*eQ)QKl8KskliTmB)GkYjC92pyRIrahw-!!n5KJv%9nO6c&CAObYt6 z43h!EN?(B!S1$8)8fkCF)-#S~-XDxpwD*&{k5(X}LwkKP@izC`Brl&|p|fMC!Xod( zfbc5{0(pO!6{Djm*9GFyFkFawTxq3?(}R}ePETkH%PF1acZLu-IuufLvf*tt;?P(W7BfoTIZu-*cXR`Q**AJA{l@e`w?+g%A0%Rjz>!I!jBgP z4JV|il%R{FsKGdcy%j(_y!dYgh5=_>w zwyV=b%Nf3-l{RRPf_P!iGJIfIC=p4`E5=0=xT;ct5>?s+dCk4JSO&+qCRfg9=5HQ>(>B`zPN zF2-W@HK_x?mVx{QKpta4zAxdzplKJ#?F<)m^}v$+Kmh?>1aa}Cp1&&PViEde7@27G zreB>lx?d2nA=VGwQVL)7FT+>;t6CGd=(c@#xtFZR_$@Jk&rx%UY9V-HL!bBB*uOz1 z_{v@*JEk>yDxWcoyk}1>nBd;yjn+wqUg+jU;EUIa&Rwhh-1?Gk#6SRDK%&1P5{yx{ z<_BZdh(#mC+!13I>O;&-ah#Ebp}(}vAaFwR;`!4T_a7z!leAjQk_4UL6ZC>lys#yv7De=czJtQfL*IG?B+rQb z!l!5PzhAv$EG;21YHq8O|M{P!TqI%{8ZE~*vk#a@O72hU%07o(4y@34G{8GIJcc}{ ze|2Z90|bZa<=3 zuYF)nCJ8~|ja;3at;m^a>Qv1}kFf?~E5OXg{7C+Y4|BcQwrulu4(rbPqwL6VA1S@Q z-h4Lb#h1H{1hQDNWOrerqlDozBAX~#x*fv+F3UIO$2E7S4f=wG#ek+`W3z;l2#_(U zMb(chVQdsN{QH^O&?pyA9LmdzPxQ@@_rzIfg-dUOMV*npeAz^5HN+thd=k9*LMh#v zhgLHnH+q!1Gg;~Dq&8}l6iC{p+8HptFrsq-hRy<0ak9ou&{eF_oPea1a>m|G`M$EQ!8J$aqn?x2}b2`DJ@Ed$C5fDvKs41mD__)wuCS&+E* zE5HLj-5-w?T&VWyK=Hj?&jXi|u>bFXGY&lGMVpeC|5wKx4(CZe(@Wt}1r(2%*FdD2 zd#o^EGk0VG3{mf6YW&vb#K8mSZ| zvfn4qU;M-Pv${f~qFQ(J$C|R7QgRong@bf>l!+lR?nI2hxVP~G zKDAmGVw56}%&)GqLP;K;5O=c3l1I}8C&w%sL!0@Ll}LYRs`N9g;)O+ud#v#-gWH>H z+lhtNVD^bG3HT31V7TtwTh-k~P5WzVs@uFe zM?(gP9fcZc)A~%4DWLkcOX7*}(k43m6#{%!10=!*tN;v(c<}iELETv(l!m+- z02&n#@b!hzenq*m(y-~rNmNs-nV4*AyS6uj+1brh8b-5vlBEr0EKb9nRN6w;U{dWJ zTKmX>P^C7r_)=LXW@-_36r66QM*TA*PQ1L(f0T0+-@qW5t4CX_OOyZKY_W2A>jGF`es_@r|H6`k zQ0}S|As&BcO^%|vMojXKV*v)9ksX9yL%x3l`@4@QzMKv76F)%|FjigH)j>l6Psa<_ z8!5<}Ae?tQopz^F!DgBf%lwW;?=ZSDniJ)eH!_`)bE2IL$0s`9=$CSTbw_#iK~v__ zD!W>Ru6c$t6*GzJ|0`%oIX+NvoS%$`l#$qkOt5VNXW-p-qCG0cuE%ODqQ@c*@vKX{ z!7B5uo@IC^k(_UWrRLU|nqpy=Ps$UoN*oo7>t(LVlV5A`PL3fwMvbK(St!DHZHu_b zVRp!|V`M6G-lh%$Yc5V5Tj!s-b{W5lEn|FYKbVDrF-F$vQ!LYx>BTwSib;OP9rI{Y!6N!bOYK1@Z0`u!4!$Ss^sYTxaJ2cfe=;i#_Zr4#NJs^l z%yIy`i>Oi|)*>f&-9`+jz}u|RqkJ4ASOB9p+llgZVxg zOaIxA^`?jG8W7T*(9N5KH#6jMjx@^GU>GDMiH4l%U{&0E&Il|06s z_RusS`NI61I9i!Q7c1rl0A^8gClur87JdNY^!rKHpXT}-r#)Qs+QaN%w4hJ0wTJYv z+n(iU-hJdsrAO&#S}g4BEoJz74kH0#EX35AeFrZjsitoPZUsWm?i+fOUYxJn0M7S0 zM)hYX!%>J=KX|qWZ}7-b*JK+NMXac!;X}>BikqgrcVFph0f>_C-JL`5<~#jn=yJCE zw+kAxS`oBrm2t}RUv$cRoN9l8yg@@_J#HvGlql0eGpNL#LpF9a2q!k)iOpN%951Jc zY(NYKaM}(VZj-4FD)zPD0KV_~o3iN|_rXWe>>I;3xA%1s2?Ep~4Q+vrSHLXW$>e}8 zinvTSR>te5=arzXA*bu`&6Z!AHj90E%X=B_79crq?pSYwINT+4jcrb%(onxmN38fr zkJ77Bc%Etm@SN7#{{GPCGLaPSGQQhU{4Q;;>xJ*yL%1Gx12kBzqd{jyAb+NAhd}l& z%7vjCC09M~?{0T5Bp>(}mSg=)9t{qvi^1`70M;f;K3nEk1ySIiNRb6?5!YQ9!u~VE!SN@<0b$FS;daS|Cu78Ri4KR^ za7@XF&LXTsnKNzId%PKL0^4x|=wW z-TUUuPFQF!gfBa-?%hsnE6k+S9(GW8l|2*YSKb$N8#Yj}gy9G*fJ1R_& zf0H8^Hdisu2kH1L^lA;Pzjskl4jWRc{P5zL=Sj3;Ssp>7)Y~6sn=ZJKK1g?yarQ0) z27=IsY?hpzH_n3C8y4!BD<*3Y+ZGm)d8U+Sk(E!s5(AU`QA)x(rBcX&$awuZ-4EVs zL-{|FWlaU0MH>rUb$t1kfv~nU>cc0yub(`R7|*rTlVQeqh1=!JGeShOS5-(X41eP^ zpi4~*ed9gZk#Un?$}KdT=l`?{tP0!V8cSKJzSLBLY<@0alOw0;tQjsk8&kEk^nj24$J|4FV>rxTlt;yP0Kc9CzZ}QQ_deAk;7a#h+!qPyUIE)vk|%6#>c&@-`2xO z?`^l#(0Qx0@7DngkK^2{?WTwfrL=mXAmVZ|TrTuy0qsqk&D~!PMYi~*jGBj|`2>wN z^5ir>NnT~?7%$G#=|a-ZVw(xi+Q^JIDCm6QQVE+xS+*Dv3%e}Tn_Yyz4FD+flPSX~ zKlmp?89-6&z_LuT#c@8w%he5J#8WFEAP9Lmkk_UF`}t%Ba!b({NxJa{KI}I?w%p|B zt@*nFe5fBlFSaob-;7qH^2D`Z5B{>VxjZkeDwu9BPFlGP(Mg!$rKy1M(;%C&Xk zsVq!mb>N4h(glM5$@4E^0o(-t{3T!&$!Zs&$c&si6F#$uxg&6HGF==w8GfnKm|KVgq9WH@;&L1W?Zn8oEeeN6^$LY8re% zkD8!R;F$B#Hj7L?c>%%arhgM2VdEIGnimw%zAw3n9p`|@oJL}h&e8#;^)LYbhilQ^)ziGhIa&75pn~@XO5^2l5cTKGU z;Rrt?xC>Or2B;)%D|?rY8~D_!#Nf*tj{)0f7r63cZJ~}YVnztWc~A|?`dDrS(?gD? ziDj|S$t7aEK1rbvaWU|hs5Rx*x#4@7X}_`x%d_YV-EC!LE2Da_D1;QW@as%0pyi2G zFVf56gmb&kfvjgkQ^akWR#M~j7@S8DYcE+qa%K3eq2?0`F z&_;H-H)&aHQH{ne>vr?`{Pe4@zEZ4a1Z9XfMN`PBj3hrK+evW|Y@?YtOnVrta#FX< ztC{o0D4AI|nO}vQAWi6c;mrHV&yGA3$eN$5(Kwwc@Brb`;4qa{jq!~B!*ykULIS)7 z`E5m;vxrtr%~g>ljafNMNMLkqN*D-^1|nTCjCAe<6-e3eu+rOmK4Mai2VFL@75y68 zM9?e_1~ZVCTe$_44(&<0 ztz(*dI$5;fVfY5 zX%$=LWeXn_^H$;`M=SaLB%LlihAE;fm2=14iP`NHvXZZ|HWua~?8&2(bRu~X3Uc#ut*~H>zl#sl1KGgED?u_a1oQ zkc{W_-5@`AjYiEG?Y4X+dy5dN>yqN|5i^@-??(BFyH2p8DjgeaNX8YgD7M#+9KlNk zUGF^f)Cwk$zG8wcFQ&VU${>hTOACFqN1NZ#2e~M$8z2gVYFPgPc?j)my$+6h8i%___pI0QB!a$TH3o>E9OVJG2|| zB`|xF9rc*y>$Cd_&cQdNhu8gCY?r8{2jaToI7}FZSxDyu6Io*C|I)Shwkk->qG#0U zt`m7)#jBzdj}0vYyRe)DVW*qWLiiecrBpN%CRL(*;m}SotsyCsj22Mc0Kuvt7_Jwn zLn8MOVSn0^TEjk zL0%g=YBZ%I&9|eDD_&tuPYz)eCv&SxjWY&I4i!-(eUdAe@_`l6##;QKc%Bu?a;Ir@ zdd30?C#pzU*%;H1UT5rXLI5R%1SE|=-`ZV{d$VHr9^;2s+5SG zqsthFM>RLKR zb?-+gp~u|zMysdZlY|3817;;!6TwS8BL2dVEP)W;Tg8-h%aEs*Zd`w z_y?@QoMq{vZD;0pPB$LdQ9g@J&}+0F@EeCmUW@Wr_C%8||5)JJAh?~bW_i(OeE#k;lFeFTK zi}SPi!oQJJIfoK))~xUKrD>QBvaDG0~-tra<~ zGBPL`mE&J&1X}e3TZ>~_`_|G0J1&aUJjL+xLImfhhNO*j#1?D6OV*46E*R&=G+cVE*MU-Kvo zOLX~Dh?Ef`Nqk3%`skQoML_rMohU% z&~hHwKZbrruo{4$8NZ*lG+4efqoyj+I z?HvxuQ&=upCki?rF+On%Xiq9{^(M=##2NXnB|9ZbAj4-#ZQ<;k}yq^__AnZQul7MgVo+=;z#RXy9?$dk)G%^^7nJV z-agf9faFJy>26wZr&}=ur>dwpmYpyV7dzKg=c|jqWkSmO)&)^JX9a07xk6fsw6mD& zQW~tv%yS}EoyMqBY&yG5zX!L?Bw`oB6o#1uYU@&u?ug)ujRbncQ0pupc0DmZSV_O* zhrF51Cep>ue3%&9S2s#2f^a#<5mh}wJ-?E;W>?ZJA>Zk*u#kyaNwf)N``nJ$=XRDX z=D8QGx`Tg@MU(lN(Noxz?HW=SP&!<~^U*gA;8nK!**AL~cEoYRLyb-yYOI79UoKjN zbL&J79lJOn!(g%EWRg)lp#I5pWI;(HPWg3Wj#qeVtmrI%Z>;E=t`WmaN!Lo^C{Gt; zlbxOKl~hqK!h+G)Uw=)7N{t}KENKLaENP@z+D4(9@HM8EF^UOUueBr#yc5b?3$nk^ zu2}}(+R2l%-w7I-#W9^gB4sRf|Q=>Le>!f(g6S`|6ju6Q2v!b{?&?qPrQu!{af`s4B|^;gU#(n@*L zRuHU6e@w_eI(-1Csx@TQroz}Azc7mjYYZ$+^6b7k!CwH zd=&R*X-=h>ux(H}ut&$;QMNqCr=FR4g(qQIkxx8pLi-o@EHgaHPBmmP?Z|5x%{bkB zaR2FppPwS>y#MUQ&(B|LYH6Bt{6xFtir_P4UndRSty#tr#F`1N2)_z9Vbdtjy0Bny zax}OYsgRpDyPb}BNmLDrSFL_fjY!wRo$;IUa&oT~_0BnDz^^k68JR&lWDnP%L;AS@ zDD$8_VSEKVs9N^q!WXx4!Op!VUPrbkAI@BPjh?Rg*6e!YH_JP;4Chcjh^$2@WRyX; ztdWSMQi9I1Hp-HUPrQuyX{pzR=qAci=rX#8yyCO_F~Vo@J;r74Buh4IQnd%{o{R`1 zYa(roXJ0z7M!b7m^VP^-q~iI;jr8x#<1XB=BU`h2*u|Qo_9$Q+Be;HfKh`f-td^53 ztAG`&2o+b z%n2cd(j5*Cfx4vQ7AnD%fj4}!=tX7V$kw(=??;Q{;XHjW$I|ag*Tu=rOo6fum+8{e zrXS3+^es#R3LK+ci}sw0e4cs2g!^(J<}#)&V6t^duTLtAnP9(*4JzSIlWdxw935l7 z#`lcswK!=Af6=up05*4Q5Bj|Y8te}C)s;eKoAdYXzHjtmCe)tgvxZh$M(!U{kd;~J z*CVbSgc)`HAS}dSZl*?b?g}BOD-kT{Dq6ZWGP1@H*%7u%grw;r01jr}-D1O#Eko$` z2C|isL{D0c?+U#kY#qHT)McRB7Oa>tzKHMBd3Kzi6f%1IwaR1F6{ya^&f1O8PEyW<5H-E3TP=1D6CFw2BG-9?rypO5U$K5wB_W1*hV^M(4t$!xh^0 z8{^DqG_9i1Y$MC`Hal&w(m{{eDelr@ny&o8T8G zlZH<-0n0kgo8~>;`!v38wz^HN)}1a{J*hoOMO)Ru^wS*|60Ibc>T#M+M#CfD6=XXe zD<iiesjvI8O` zuB|8t4M?#={#4BE$$%+tEMm68tFc!0ELn>oQj*@^uq#?2GrK zL1wn2HOO;0k*TKVRnAWD5_i~;=cQQ;D-95h=Y|*GA0-dlO??DO8)3qmk-a82X5T|? z)V6NW%i!pCL-X7nhoQod)`rb^trI^mn7cqaY=mTE<{K_SIc9Uj**}_)I$S$lD6o50 z7SCO0DdZwLGpPn%WhJY(@>mHp%F(7gbS0crRZs94%%HOORP_C77^O z91BdhZ>Z0Gk4Z8U;J-JtuZwnbDm*cl+?6_hkYF#iPHC6CGAo$87!1(aVteQN#EjcT z1UCHPp?qq~lz1A(V}&xUF7el|-A8H;!H^B8%!WGP)UXB}<5|&lo=K80Z0!%7>EvrH-RB3xdhs7kU2>>eA(|AIzQ9!;_JByJ^>?F4=L= z9wj9z_)SBxPRM)}=FL&&|2-|>ohJL$Fju)W*KRx1{|Y&*HtiiULC zPHwjJCFj6-(cDhVhBO9Be(@c{WK{=nUTSw=a)=I*Bp$&zHk^`hVsIm|GsEMh%G5*2<8qpuiD!zlA?t8amCVxZRyo3}uuwjObGOXj z+^b}7zWJypy}l~K%V{wzyBx0WVpqG3>QzC*`q(RVw8!Y=qPzwTYZ!GiL`V%-)UMfX zs~lH@H-c(G<^`05)hj>G#=btvr&DD78g5^+Ae&6`I$5>b{Ms-M|gm9th}ZfA+BlS5x$G@zx(bAFi`ig$FY|qMU+E$ z;975lMb24wDo%<^zR%<AC} z*KiWY>*`9a;A+iQW8;U>6khf^-Ogs`9{fwXcegwDwr}_B({DC=ouqqfyK`sz_FZ^- ze>fRU0Zg!m@_G4tCpsc`vN{6^J@#(*R%?Sy1)#+ro;;^?jril{xbcr;Xk`2G9`N{3H@U+R^9v^ zkSO_1mJ;skXgb8}CHs9gPN!4%b-37ho=;IU8^if9q(FSWMFl+yV#W>^+web3%vw=s zHr8sW+(6~hHuA=}N2n)3D{4YvGwPL%U!otWpP*3drX-PlQD{##L`W?_%hyd}lT>+?MTLub2+QrS%*e&!vZi zEy11x^|+6$N;cd!QPoV{TMX8D}>uM8ja!{a$j7b7~M#v?%xff#{@J;%Pq^dPz^djq%)G*}cQRpxhS zNSOYfN(c;R;nI>QpxUy`8@z8ocXrb~ZQ#1xqR(bM`)Va4zcsAPeT2)wQaqf9ax zc&ZeroJhQ*c8lJEw@5b&D8tviYAuK4?Bd(d>zcQzroj}7{58zRi?jila>DtG5NBGH z?ijxT8u=kX&DcuOUqA7B?o_Vknrq>~(f{7_?Apl+G63H9=Yk!u;N7!trq2jqZwr(+ z(svhYEPJ+Xq}vZSmBoF8cwk1Ms2aZ2FH1fXv}C=%-jaO@3*;Ryf$a;gOfP_SxHdii zb!2re;*9##=g^>FRDQgzTqXJj84L|&aQeymmGD54+w2+X&0~;|od!HP@ z@@}&J4&)yUdFguxA>PPkCy#=TNJ_ST$nkICqkeTh=CbY(aB{+*vBAG=KGQ5&KFg-K z5;m4jx*(nWL3T8n(wqE{*KC-c$`xruDh#|-bg+eMG4uZwx59a!gcbEm@R=1$4y#tr*|{NKv!{O{ukhx?lEV>oW2@-i&O;}CRuCy%Cse1d4L z$-uk(1WvJee{nif-_U@KX94M4i#F^?b`iVd%mc5*?{_$8er)Hb z#UMD8=m{YKe4>=xXW8s#lT+YUlJCdPT+l*YOO)4=C(kWM;2gMMgSisc^c{_e2|Tcw zj&j^uo9{BRzRni!(XW8av2hQ2=LFvn;my_vfss$gr*0{ng_u269DjlY=LU?1oUmCB zRN%&p=ABSFpj|u4Y(eLZRSKzuZN3%=y$!sBYdysfJbQC@e+B=Dbv){*v~o;q`VsT} zH8W&WU&i_b*lSk%zB!5;Hm_*0b$&DNNG_(e`Cithp%$$9y;`pw&kV3Z<-Rs;quQ^5 zRlYXUY<^!ojOCS+oBlx5jk4MS4qWakd%2S?8`8_1x7`5sV67{@xu_;BFpi|hcc4!-rb>X<_;mW8Dz3f!T8o8r{2D&&1k+`gBtCKxf&g?rgKqT zcRdeLF^t!1*pEo^@F`C*GAnf<9n6Y&=*Yan8QEzD zLk=?xiN-|9?(=Mun7WAQZUpyvMkUHwhOgOlg{BoPcpHIu#XHNjE++MjrbqeTWJ&O;1vkElkH^X*}qH$hVFPB2kw#9Mg7?E60iQ zoKuJLS{-B-^4Sm_UlC-?ssUeucZE;TR%1edY#Ns}UTVt*1In1I+m+o=r$aPXIW>2? z+@i`ePuw~*95$+|>gInx#Ou7h4TleG#;)&}`H5P1exT6=WHcu*AWsMlYj5L*&GU&6 zWhWym8y<3Cu~?Zmhx_8HBjl{~8c&HfAi#*@$ z=Wc7`ybnR$pg z&q|@9{Yya-zJA1dza=hOp=~Vilb<6_LYodL$-dlcf6;B1yZ8+rx2i%zFM2}17QMC@ zteZwqK7r5PfIQdbxyP%-vb%T=yRIQ44$PfQB5LBjjsN}M|J~bY{}V*&#+$jDxU0P1 zj6ffW8?US@=(N5x!E(lO&+EiEZE;3Nyhl1E4>*w3ha=8i%n9X=;5CZ*gA}FZBA<|< zA-+AC;wgs0{bJ4=z^WK2hQi1sMF-J(Olf1$#$^bi=}@43oSi1`Q;a2%!HQrZSsZ+E zi~#^ZXc!!~D-mosLb3g`V}b&D?RpyPN`uScTC#PfT1Yx4SKUv`lBt%5tfQQqZNy>9 zci(gsWzgC9lwJ+eTE9dkDZ|Tlc=9@5 z0G}P?8fnSn7dGPk0}3{ezxT`I>^RmPI){y+z9dOcz1-3TZ+W$DtIu~5{nN6a?uL)= zCE-u&o6;jL-0ei4!eBj5rU=S-fDhrWLG2)|lfn5G$96?a&TY(VSBKbNEs;PHrU*z% zIRaKde@~%aJtUQ2o#Gdu?fmoCubw>G^*DANeXZ0b@>Qk>l!Dp02w;L)cPtawuv<=$ zuI`wlLRNufQwY#58X(U**ALlo14I{o>MgHT!()Vfq6NktyoIIJ;$!d;vOI;y77wUh z^Hk#my`V5q`+8z{0N&kasl`RHkL4FARlB#pN{BMNT!2cDFoN6iMZokWXtXIRV54!H5!sCanqkpiqc&l0RWTlW0^& zqa1-UbfqVsx8&(9{B=7~l&BTb9!q?rCvwHu;p;A%Z5&%8#3ep&!7-dOO}6EnaKb3= zt-u|p-oYW}N~?E5Adli)R79QqmORL3cGp;{&`rEc(i#TzoT=+q@Nt|6?tylgehTzY znamifm2X+R2;{r{mp{LH@YDU>M=H1rr_ZLj3iqhT#L*SZ8|Zk`b*wH=Jo=Y-`>X^S zOW){C1?{7E77N^CL)(5=IX1Yk_LVG`C!|(2%=5B~qbbp?_L}oy`uxS~3b?Yofxrtv z>aQT*cRR-{zIn@r4aXS{Qsn1dbUA$3{C8M@aylGaBow?X*%vo3-wfv;bDaJhSVoXk zVy<)7h_t_c_2^MjnJzhrId@T1GUNWGc#9#EHK$83DviC3W*e6FT{bT=s<@bES;P5y z8SXKAX}}G>^TWuXEgpJ1)jG zj_dy_=^V?N%kx6gij|)mly}ahz5OC#`3erUbdV)KFGl0h;`E#l{bxG*fA6ycpc`4S z$OgylK|WbUF@Ae}$Z8MTwe{k!=jo|weQ$d6CfynT_enNCwIM_?;W>pAn48RPoP!P6 z2?>orj&i?Kr5#(X0f$dB`2*>qJ$7~}xbp@Gg|AvI{x8(6FSd9uw_>Z3+y?Rtx z-|A_9BSr1~=MSrjUT?h3PMbyY^vQoc0-{J!TwlC;_~=#g!>>z*M<%9EpFDf=I=S81 z+xT{G`VmjgIE3b3HiYn)_>&=27|Cf}5Iuad`})aqffb#Me2`k;@M+2LXgqn0INoq& ze}kjDpC1BybC~_s+Pexu12U3VX_`qzxnyVWY6pHc>0f=(?~~^*{?TYQ2@O@p7#u{$ z`k-D>V#LIi(fJYU4}0BL?O9-$WJ^?Y=61R@ANHKcp( ztITtRMlh`xSqgB{kvRakM*C-Da$HPEj&krfzMXMS;1rr8^kuJ%1&g=-blg`(gVn)M zbkP&$4oqB>83}C_tyw#WN@$ggUCs)w3Lgwn+@kUW@g!kc)d1FpJ9KdEhEOG}J_A^3 zKoM-oJx+IX1WG z-}WLa4wdnqEuqEtAmoA3xjGXn3jp7O%9-IXKQa{^LF|^aTs^hw^^JBwmdIyOg~o zn%Db$QkAq_=Lql*j#d(4tnWn> z?ywTwj@@tsyQ%gPBk*CG%XLWk?p0l1)a;y0?Hn>5B7N)`_D{)BXRRINx{mH6VvV9W zON#XsBH!1pes~0Vimg_7$d#bqj1yP93hRrW*GBm?4A!`n$iYxh!4_;G{;T$n4%Ji& zCW=keXEU*Z%c&<$)f~^c=w4B@S3mT%Pc}KNS#b zvW0k{kq*7UoP&G@Jfw(0BXaQuG7e)z6A+Sur|8=Qb6}vVHMvb?{ZQI z?Wh)?4xCwD{)SFx{l(pBhiqUp~12|Hu2p;a%jeNoC>heqJx=e@d+i*FdbvqCes+RWcHOTCp$2lYFw z=w}cp6{*Ojq>EI9uGKMryJzb>ysodnIh(|a(D@VIfeDfM+*e_8t9389t^MKE&krT$ zZ2aQ3dm#~LKj{r4p2Qad)U|JHLumf#ci(5aue9Ktr_;gl=Y=5yvfJAD=@nEa0O)mo+zL7-l<;O2a<^lWxP(f>KRmGNns9*m}EvLESfL2Cob`dNH_yPQ?7A&0HuIJ|mn zl`b4nndTI59LfMtba6aBO%4du^gNQHK^rkjjXu{fS~>*u=-`BG-!UHC;P4dv;Z<0) zJ|YTN>ZjvzjuQRQ3|gzpse`_|8x31Ybf{SlH`KCEq>N`jkE#fNe3}QBHrmuJ2DXtV z_<`cR7x{v0dF|j!=JzgTIF!S*)ag-XibKcER!8RwXXJjUMix!hrGsjYh97KIw5W<%~^KJzmn0Z@e zDI1`0=$LTpN)VAUATXp#*W^QoSEGE`AC3+W!~OE|(W@sf9`+wTdHlE`neX^dlZS1F z2!lUFmoF^z>-7n|cWYOE=LZ;EHUoO0#%LnS-vD`&=F#)7ENnakkNl;B!9tt^2Xs$l zLW3BJN8fR|?e#H#SJCOS4}&Zl7K#$vkQ7|PgrVR9(fAX;<|lJY(z6dB(H2>3Zk=X@_;YUHr;p>yqXjo18bS4yut2zgKZ_J`3X6Wpw5Imv&qi{j{0fA z)!Jqjcp<0#l*+Ac#{=lQjOu!&$85Xb;+S!MXj6{+LVJ0h4f46T5k+ugm>pme$-z7u z;$M3@(xC}V$t<0oCa_ziH$T3qBSacg4vtFxaEop`#P}9IG?=;QwFAOXCPYGejIq30 zNNqEZZ4xT%_}&9Tte_+3$u6HglNu;`I4TC|xPO|Z^BqmP2znZL0HbEa_yHqM_0!3M zBeQWtKWuulOFoTV8}bN2-=t`5x)_(*q+;wdN^8>$`3M9vDeR8K(KCeb-iC|1a7}{K zn_V+bDbUyhUSMmLazqKHj>6?bP#~KnuUm;_yi5hVTGC>*6QAHz1a97ijcr+`NMCrK zVdr>J4Rd*8b`jns{3D%D_55u_-bE_uAgEyq0qg?rDi%-FnzWICpg$&@NPf-Gc}jK% zMute|eQJ{Gpw`zr1U9cvHm?t@K@fIdEC1C4Ih#rs%aZYaijE3%+4xz?GW-V%^@)$!@!RB8MuODq+}OQ!H#>I;rrm7- zVE1wygIl)n6}` z9HJu%mj4*h!SjkVoKaZb{sgd;SNA}S%jdWyAN=Fh=Q(FSIaEae9!U11}bq$O`z8Q~KsJ zj@xMU-Y}iV__}mCDnk>Mn8c_;2lNj+U6+R!g(FU}tK+F(xnjcG{(+(4sY|>i;*isO z8+L4^hd4@pxSR1c(+`;Al1tFc`0Ya@BzyL#s~Y zU^HJG%MC=li>%be4_GJRSCOgg?MCs#;nx)@gzgdT^POZtDU4r+7yBt_hgf+T`_&567hqH zNB)6QbUDyk zS{{OxwoZz9HBMqV2fm-7s>Vwh;`M@~+hEyhEQMW!U3qBf z?cXqYnnOnk!J@aiov|bUwtKKNXNl9GW}MECc*cJAf~F%6Lzw+y>BNx&mzXDWpXgmD z(k&td)dvvZWp0z#F&B#!)QZz<`vgPn0wXxW5IZfpX1#L7fyR_#pv>kw4<&>Uls03P zO7OOA?>O}s{FgWvlR<-LW8TxU?j&=+JRLz)0YOc`byX;MMYky{w2KBuKDEaJKB=!; z6HFhdCTK^9>^2dYH#`cyC1*IjML0nN0wEI!?d`rm;VsR7rUKJwWRaouN0ao(oJEId z2xx<8)gL5OSr!%%p+$s59V!|-Oh_~`u`ErfDdaaYI`|7DU~y`U>XxE)e6YV=FMf+; zv?gmJ!WYGc?6>5e-282}OewNL;cQFvT`Dv+#qvwqgGI)51i#*=r^#$Y$$9)q%gesJ z)PfONnb361aaD;iafER|`{Sd0rfIvq2(J)_tbv&+Ba)|9|1CgyeD%Y z97WP%gKA-%+M*3#@lta%$V{}Z$0o?wE?ss~Ma&W(JclX1fB(Ln09in$zs+Y;U~L&M8cQ)glo zvNtX1Goq?J0krfg2SM9PnzodZJxw7V=T3Qw^4_aoeoefG95v=Fk|(MU=E9Mqx+0J4 zfpX=FJSv5hQl|nBqv;B^^J$+kuc6v-w8K~o!BFAZAONV~Z}KvoW{kzb6H7w?YbnFz z07iT|9rP)fmEgLd0R7^rORr)awv#|D^$5#3&fA)R_`PNj~v30K(aO9b9ecB>ibr?BATMg)?HO=2M?nRCt zW^mq@d}B-x%c)KLNaH5)H!-E}hb#d)alv9NyxW%biXBv6II5ZbWY2EdT(0mw!$G}U za%g+l8=QX^egL{T1t(zj5mkdS6y(LO<&_7GGwcy0BVY&gZstbSR4L2bngf~%E$4M zg(=X>qeNu^eBI4N=b?24a^QiKPGnkScQyRl(Np=?Po6#6eSQDgOLFY_>BY~lTF@L) z7DkqqWGMMgDHI|ggQr#-Cs3g&=WMZ`kA09Z(>qvywVcYYtahqfyQFgQXcX`ZE2o3V zFh|p~47B0YdC-{QDlqo=32bcjD4qo4%(y6{r9b3wHjPe7b{^nr3l;|*o?2AYkRY?w zihM9i$NhtJXhcz~u|W+l#_62`8CqcO3lvU@s6!oKhi<4vGj5gN&T=3uMXRIU_1aX0 zg<-B3-6E(c*`-#JAFzU-qR?y&=c;L-b1VZy~-iqqxQl1uU1 zn_C^crro-=-TUUk44ZFzW>?|eYItSaxlrqZvtEODgFEnz>kTImHH+kW!%9BzZ8M>p zu5Ea11R8kyKZ!scpU;l-X+{s9_-sO-FmtWIMXglr#rhq4vEJM4^pftq?ar<3 zTlX&FV!h{r4OU*QuNXab)%*0DH__aBl21`Fx|qTdY4ZtEGOL}cA4zs40nZt1q)|J_ zho|%^;&&gl?ZPJd10Xn1QQKajQTmm5x-+v*KfQkT6g9E$IiGQRG=&-9Lpd|PRV~OM z`^Sq39=m@_8*8=QLYJX;Z1et6PyQGtozG8KntavlkJp<0PtxN$vzJjWoqa{yvDu^i z<*ob#7%(8Xb@Puw0NTOj2d+7=yz@YymoJ#9SuwFg;N;*q>~x;w)A1>u4^#57E!ejf z6P+YC5()K;+Ku)if11C~=IGqf2q)>S@Hr-VymXR!mE0t8j%Hmx#T@k>j?AlS#|qQ~ zYsulF#jYr;tQ_Ge6h-HhVS(|)O(n{fZ~}9lfFOgEo{$+)7c(-*ia$jw{#Z9WiWW3k zwOz~etlF9a_{wQ6Sv<8DuhezG3A|%%p%+Rm)v3V6`U#oq4?8Pnj#`3}vM5C+)I#3w zZ4_dZfg`#irN#xjys*JW@>=<=w}FUY$-{i!V9&x}hDdi9j^m;|J1LGELu&dXH;<|$ z=&~=?7sx%f#zo8Yh3)H+2o==>wsZ^2K=rni!9U;1Bb!!H70aiC<8*qIm5A~xb0N(% z3>)>;s6cL_hyGCBT_H7gtn!=TK8@7gr1BS5oS;To8o(xL9&tS53LhDYnv!u=li8wJ zX`3U>!WsztLW5yk@HF8s@YEoBj5!xThupI8Db{FDb2!z=I1S$Uua2`6)^%}8SC@aF zPZy>*pAH}7<9xoow{h)p5C20|QZ_m|UcjSXXZ8WU=O9ZRj`R2M-};Ym!1x&d zstt}!7RUMf{vaEVb(8qLH6OJGqt?(62#lRFq>_yxziS3fA&Jw|#Ag7^hMsdi#bqds z{%^xV*TgOS6%GG5<;*LMrflFEC|}{T>|Klqk!;@jW0KB~M$^~%3{d4Z;hXGvs4#qo zBzBfg(a+v%A7i0#Y!Fm+Owu7rucw%u?*?5_!NU0mJVhWOa}8AnPE`_o>0Nv8>bFjz zN`(Ai%p4V`NlNLkB|bvBa8oR1JViZXep}2KYp4pN4$Q4l%$jXH&Kl536LX6`Koi~u zY|PR0tz0oR+mz9&p;iWm0K;xbYt3&H0hcCkw4Eq40}Q*s>{p~l06bi97T$VxExrdy zYq7uvcj8BXg|llCdb`3pbL16jO*^}8SGu~2%VOL~7cg_)7DiN@QcO631sf*Y^AZE& zNT;sKx2A?T?tWxP$|f;mQP&s)&d@amon2}jV;F#5Va3XTj6WX{A9I|IXCTTCP8J2S ze1LI9iWWm6l`dbu`n7y*I{FFwsp93FmvkSGq>w~7N9y80?l*CN?BYOwnCI{D)*A3L z(QzQSBps!A=%X>HjKsK4(;A?66P~0{fSOCBJyG^EZanwZG0h@gEt?;R2=Ca-W=8}@TVv?CWtUD_D$WY9F zBhvXi2Wp3jzQbZxoBSJTlOsi9DZyP%@c2xU`@0YP)Zjj$s?@1m?2q)OMf51!r-Z4P zJYXfMKOCFQs$!tXa;oy_Kpqu~Z|!%-N$__P@bLG4((i44XqMC4bRVr+iUtau=9a%MBmh{qwa3aNw*LbazDb>ZO;lIyRb zd>5Kd*hQv`!ZQ?aRDu0B*v7te3i}l1j8LT`S%hI|<_e3QnB3lo$iiXcQ}qa|PlLzC zgaqFeQ^P%>Y?1gK?w-tM;}Lb}`YYt2>Q6n={h7zB_eXT^rOwi&ct3DsbPB&J(DH+zn@7s1Qt^Q;+ag8b7z zbGp*(JCPSgdT@d{(uquS59{#pn5Hnymh9B=t;Fi$F=WwnkS_Y~3m#2Hxn?Udiu#s; zD&^1{X1H2t)q|g{0|q5$p3O(VH=mka+e(lrryKB=^-W;&2yY)4?FZA(B zp#6){pepKPsmV&@honGZY@d?l#Svq{7-WF)`_XW5EXuyy*GZz?>iBi&S8vG!S!6wy0bn1oZ|4M)9RFpgK1+QB$(8N}ix zVsPL(l8P-IFNmBiR|&E@%~td)1$w;YYB`qD#(y21bg9S@|V*ez6o>sooO5ywY$($$`dA!hQf=Y+_3eho&* zk9K(fU|~{b!JfxEQ*6u#CH54NeUG_l2~o&KhdfkyyGelwj^3uVy_GwwWlE&pTD#ToD8OjrVS>#pkoo7D-Bu6K z2IG|hIsmJ2OPG;6#EdlUZhtf!F@`@RM?%x4-{RjE!v=gpqo^jftc5WQrYuweOK};8 zxbLTQN++WM9@Kp-ElB*g2E}2Hu#mAmZK#6fC-?Afav@@Wf05_o#c0;xu-m{u*?wp( ze#qcVN-#mZ3F>x`CD0@9s%!|fVE}|d6azQkWz&3!{)_KM3l0Sb>ov%V0&Oyj1!u6o zSoIaO_jO|ATXWTHAlj{f=whB0#}=GWt%4zECsE7#7+AK#Z{lsNIcp%;pHMbn$zXUAqHwPK65CW4gj`;d=BR&#SEVEmgC`kv(H+P zU(rufG(7fYx8uF#Gl0-=dZ1uNxLO4@x`6;T@~yq60aTnGRKQLG4v<9cAZMwSl5b+@ zI6WY2q&7@y zW`Xvp0t-`Qktgp)*?XPnrrR&<6)UjriQ{DpB}i6cnn5)W*I1n1uuBi(764S9 zN>DC%Wj>QHt zbi*4QbQojZ4-rDXQ0%a3;kLgtm`8O$F6EQ2;$E0Zd*^#FYoFu2;AxY{adGo5hwiGK zH_SYs8UEA*j(O?a@qa9gf!&k9WAW>XD?H^bUYd3gY0>y>uOF1c42tv1=-3pc&=l4X z(8Qu(APhNDg}MK_kkAxzYhF1xDdt76@Cz@CWZ{>tiD><%tf9p$P1^^12lL!bH6Q^0hN-#-m$E*rqr8a(q<`TS9NJ`2S=I!sTd) z*_tG@o^3`Oi0s=lP70M;SC%7~;EGyl<3-pMbABjOlj{0~H4iD(SC%6+^|g6Mq!DKb zqWtZlgiHy2{`;hvXDsEXC=85D1THCgW$q(+7=H^2ILA=k*cBUFYZMf$2*%|KR7c;! zG8$j5$Wx4<7#jMR2_U8Gzs*kN{uD_`UxFL6np~Uqcux#2NE`3c@=gjW+wyc0qe?++ zoydIA45THkwPYF08tHjBEU1`=XCXwxRyeh6*g@s<4ZH3{)DlD0Y3L8l1lC&G^ol%2 zP3vL6B5ny!0Wv-t+EajjNf-{(#x^5+E79b1TPSWTh@rc!seH>1e7mhkdMoi_25l?i z`O%Fe7S^XC>dsn$e!>7f(%D}#N{K>~wa#%zAo zRwE){Q}CE#Od8(4^B4LdxB3gmp=(N+HdKN-C>E$EoTYRpk^amZN71=||9J%gx9=VO zmI)TFgi!Ab4h~S4%;CLYMtAg-5zDM`DVM@RSx{U zyZE%z+wS$?DTNM+fpKF){?SKt!0&Zz>V`P1I^?N;+X%=!s&NJ!0w!kZxKIm`mlDFy~clnDGUvZ z>81-wrwi)*rg~&FC>EN^JsqTYG2ge5!4UvKk#V+IKoPRoaS_C;$MiCr7x^?DkN%Yb z3Lj-l#^uA(C}_?H&xRQoN8DKfx+wA5$uJ+o@jegHeyZ(+72^l;el#8C?}ga5m3A?x zc(o~Xm!R+WK?C^_ojj1?0iX zA#|7(AO&7s6{8G%8#VBCfyXKaqPRrS-il^|&L;b@+*VtjY^1wA{Lb%l+-M7ctMu1{uT zoh1>#$vm#%N+XZj?#k*0 z4TFpeRXv0DTp(>hg3**Q&^tdKO^@0bTA+mw33lzl(TE0sZ8V#{8f|%hKK$AG5*C-Q zFweivveNlf>wsAr#Nz^^U{x$PJ~V+PQ(Ar!ly<5C&8?<|%}6fDfb|$0UcYT=&q^<} zdrcz^d>oF{9~A{ST!L>p6rx~{ExR;y;_}H#!vUOunW+Y}JJDey>qDF?_KPA{Va+W# zxV;!q^z!ArPf>fD7wv5NZZyxQ5{dHFqh~K(KkDCq`0$n0ovB3RvQT*5k@U-ChSWAQ zrl)s%?c2B8-8=W%-Og?1X}Tr=si{58vqDmmV(wH?HzcEl)79bIGsI@b=FR?((55nV zDoO2vk!1{E-3JT4+xUkS5?5d;Gzx?bwpS7J6PELndO_dQHaCqT6Yn94JQU_Vw85IC z2PVwC%frjilXh!W`=Qc)Hh+Wu>Kxi=Bd)j)H238yCGEXZ-XHQ;Jsf*JWfavys^4c#6PuHb@g7>!J-`1G}3X-l+!j6DAhccb?t<(se zSpIZXcv;@jnuvDQS%ZUcb|@xS=NpyLA(sc^f#Y55h6;2wAY=V$+}YhEg*JO^zkM_x z4ax4sq(~Q?BNF#2Z+HoiK(-dAERl=%uL;Y68mWEz4dKO(PND1k!za71pF9^IdYP5y zL2sW8vx57LyCvLf1)KQSu$5TC^g{}#;jH_GU9m4v?4%8&S@Lu`u_XNP|s z9l!<$h!<2*0VwuE72=h*TwS;Yj$ToVEQ)aa#>Cbxx_+e=-m4M7Wv2{7uXx3Jdu24@ z>>xsw@#%(#O_jByi&UO)U{^LJPNJK$TFItkORfE=UWUb0g?$!@ zPS0eM{n)}Ld2}=tGcPkMvn#z>tvMN=7)$!A>y6SV2oF`1Y}V^A9xm8iQUP!>owBHC zB{M!xV7nlJxY{&rlq|(`94iiB2JD$lPASN3uXF(k$r4=eT@+J84%!VGz&~tTBY|OV6hZN^BuTY^9eJmP~DXK1pMYb@-YR8&XR&Ps66`=VQ?45pSy5Q7 z&Y13`Wr|z(Ij+@xv9(*yMo%ND5rsR!Rq#0@yH^XtmJTK_on?=@# z31z*v(1U+llnLXT?M_$a$3U2Nw>x*YZ=GG81qi|+fNYL#Z`P-O#!`@|o`%K+*u7 z1qFOEV?nvM`4?Hu2$FkqHkI9i)hmx_t$KIx=~fs1oq4x;#>FlBjpX5$oQN$O;8V}= z))t+hJwv;_QHp1zeud*hDuNW210}=*^+d=uOVZJ5* znNT!6a_)+hE-x*cv_u#9?gjHa-tB-lUk$0P$l0aKp5uOCogG$pMX;RbX`V&<685dH4lN&G&8Ef4c}y{Py#N9>K*NPmkx&q$Y}ig-=Lxbw@XaXZj&id9 z!}BuvkAy?O0q6Z1%d}S=L`k=GaVix9yC+3)lGSk;%tqct8-%USb~ncIAE)!;I31=X zYne)pgV)1yQ!SsxOviZA!WQZ;a`gp+2uIn>Z|=0nQ4KctS-H&hc##WWG~*B2{kS$7tBX${JY!Q_~}(m z0>lejichQAc$f`O1}lRR_ewA6bwDuQzJ0!2k^;u=Ed|FJr04W)y9R{dKFhet*Wx~tFqw1w*cfGy3{7e&v!{jG8NyzQSIF11(^+@a3?QxFR zIMJ(g99yK3-N1!=-D!`_dZ)Y9Vdp#Db?h>VzVG3q$LyD8D=3gJdMq^~z-Pz+ni zhRx!7!k;t?rB=D_^uK2pduy}PO}d@!t=q8P7jgP;-Lk8+@$k9v>aE@?7j{x9-`*7$ z>|C1&i1pwtn)9v*=I$*dJ-0iYc>VlL*4>pi!(RosCKh%bC@-Gvr(bsi2Fna(Z4T@5 z=KPD}uWVTLF95IXST0%je*@IY2hMt+g6kwjROdF~Rp)H-wdEMQty`7_ef+e&E(0nL zR$@UvDWM0j!0G6fvVAV)zLNq^gXthTA#LU7`u4JA!h{ja-L6Si$9INVZ60%^k?zrPmBEcQyJ9>22yZ)4&fBgEK-(*Rbi~Kwt z>e|{ExA*Nkw zDkl^J2jlATW+Uo{UmFc8WGs4buB1rJ}(l&bPx5BvSS1nSGBDeF8Z+U zE3dSueDl8Efbtri%A)UWz_OFqjxp7Mu5kb2U0i;Mf!`>|L?NC+w1cec-7dwDPrlQm z`99g^Fx8_ePoCBVnldK~wVu-6CD;g^4cl~c`aVgPwJ8x%lY`URHZ^R#aXxt{d48eI zkj%yh_PrpEY6NKv)z?%rtSt-ieXKSo>Ri@>UO{gXraC3_Dqx$82FJ5$Px% z1S{@Vl}?TNRn=Bu3IuYLz}9i$p;ugJhj2~hk%)7ZIjCvbU7Od(xUr79^@Q3vAj%mV61`Mo;fJoYm6t?T9@KJd|d*elD2B^CeiNv8Wi8wsTtzAN;HION>;L|ayd;n9hb{`hR zJMm72(J~hLW!B-xN^N^?T}7nfGK;+ibFCp!wXrB>X!7Efe6UZgTP`=p;I*ANO)m~}u@rv%Ky%z-UR(sMNx1-?)wL$gq;_uPue3x(C z0B=zcn$l*OmPj@)Cnk4KlX?E0PI6$DvjwwXWnQ1=!afc#p@V;hjSW!gkPe501r5Wu zAGR`zx)b-m421g{CMo zl{?1G#3AIvca<9yQ#2n}G*z=N>vyKdYj6%t>Bca+ud?4yMi?~UJ!UJzaLSpm3G5J< z6r*8AkP|fsi71>I7h4bq6;CZ8+Jpjc9Sep7ZsonJy!6DuUtK}WGeVvNm&kb*Xt1y) z;T%=ZoU~Xn{^f;*+L1DsE34dEOiX*!E2rWUT+@_O@H{VAIE| zV&Gf*2xMnho*`v~jkw+=F!&Gj5mhlLsJ}iRWU)vTtnC4QY=momnxwK?UIGMjluBR; z1xS)t+J>D|5O5DU`e3QXEGVqm$knFCNL@WO+nJT!46#FB8L#_j38fROXs)`Ma&<#M z4TtuAo?|RNI>e)bqBxL^rv2ffVbvyF8OB2KYg`+2l&JMt(>Ep3<%Ob|Cy*_bQ_muG z2I7f{yuex9HbN6^hwME z>3yDo&_U5QQllP*`*bZaCd8u18;{tQ9pDpY5dGcJt@!?>9V#`fx^V3 zG1*tRPmlRfan2=FqXf%Q05!oH<3l2?nXVfykEw41L6=6}laX7A`yAu8@ITk6yYW$* zvxn&lNH_&FiLo_MS;oX4Pe@PRQ;qoPEM^PCFE>X@k@ zl^!WAG;Ii_8k}boARTxXDq<;>rWQ+2mlEwnHoy*e;g&bldJGM-P|?T!s=|vpRMY~S zaS$)409{!(s=0I+^elyaZ`7@TI_2hd3t@JY7h;$TcncZX$QCgr5(0H$k_vLHAjwfyLSksubYQH z%=j6=VG(YC5(%wBX&=aXOER1R2z?@doI0g~5^6*yeD!f&U(A&+c`tyF2E-3(DTVhl zV~$ZTq*?)K9E@#@xtQvAFa{wX*K84!GVD0a7AUD9+`^Uy22FRh5QaZd<&A4YR;I3n zKuuy-C)iOmWMO-$8MmqY7F_3te92LoJyh?BOaG2+qsAdh`SA^4U&tP4mgnmzbcD@p zq0(t3g|U3x#0uYm6xhDa`xyp|EbgMMdHvys9f#OCLe%6^- zDne_g<`UIl>pfi7ESA$bYvz0D%!Kb>Zw4XQOLRt(b^@vqA8fxNFO(UQZ8l7F(r(d8 zQ)X&6dI!{r6Ceb`5B64P-)*rKmIha(G(D#9KSG~HBAv3%vU~xt3KL`56g>%Lys+ZE z?VK||o1t&_`LB?Ps`~3vSF6t{O=g9Z`^oUf+a}KK-7AcqD7vFK+F)Vbn;&;L8 zy$uNxY-K{dTC#iSezQ2vPXI6n8Ha^cQ+Z=B0!#YP)(xOV1=g&%l*BUITte?~!$6|lWT8-3ITz`1ev-{sD{jz9K-nC%H@Q%pt zxG_0%PF;lFTHxZrX8?!ekuLki$-!i_z`Jjs41cvlnT;-DLXv-A*Y;$tMrz{?SIp+3 z4Rv46aThF3F{Vsa+L%va1T8)dx4ay)zD@FHHGsarc=U-0NN-w^NJW9hIL!WSRs@qP zPx9f(7-N68tT8ElnN!lk>G-tIE?)Go$k++FSe#0oVaE2z@D#rL5$Tih2+%O;`ccKX zLv{0Mx>b*WlD_ZLF6bYUdr+TpOsEo+(~gFr9;(6U#)v>^!zK+e6%^cq*}P2R%*fq< zLm&kZ^1!1{P=bCbdViyG$nJa$zz9Q}XHluU1YTFPTUE3I?5<{yYIcHZZY^BNE$M@| zK&dAU7hC66Fs_RtK#$TnhQC=M5Y8v_!60|NFD0JPnVbl`~oLw-pIsG@D$0vN+1|R6*!T4!7ig{wJZA^o&z0dyi~dRr3`2 z*FGg*MPm}bEC$0hPfiM8LW{9Zq86r&6PvZ7ls3+iLSRRp#?HX5xvW6$u*|cvFrkr$C*{M7+nF~IB>4sNYlFNLvuT4w?9Z5;d=WUwB3f0n@p8%ht>dsPWp*m<83s%4;RN0%*Od?Rx7(v{6q}gd2jpHH`}+*oPud1lg>mwb8jdP;-`wQ>jy9V1gS|> z$Y^hd7zr8!Xx#gzd#}6I+i>tkU3P`Y{LOZ!^GQQ!bno~gvl%g&fL#jCfB6tzkEZB# z5y`3MFso}~-`v~o-93jgW_du=ah48S8IOoC%;hI)N%BoShuin=oI6j^df0fO5#;^Q zsPZTh4)uBi;j$z)stbWCD_SZ0y2NguME3nAT#~=C1pLkf1LhU^Ir7jp* z7)@*Ka61O2OG58z6!Kj^y0}tqa zWHxTNK~Z=GDto+`j9X|WF+}^xL^pvw4uLt}HV?70k0RWX;*SQ*9iTL2LhF#wblA>k ztT(FYeT0*7{X;W20Qe(ac=35q_SUm+y4*l&DdBK(t!{F9Xw!y)v& zo!py!_%=C62X8Uq$aJ_l$jAA7JGu7g(PMZ{KA77{clIGE^6_YxTzl{Uo=?&_NF|#G z`2r{kx3PEidmQU^5El=dy?eX6VK;d4Dj%;KIQ`so(%a(w{-a-B)$Q`nNH5PsMLdF;{9K5k z!=DAuN58!Mw}9q{SvCcd<+1(%QcBQz>-Ki%_R8=)oBGxLy6sB=JTQ|@@v|C~T#5h@ zq&jbEWrJzIk2jF{P~)B$w2#I|7L(f{w| zl8B?9X1`Y#TPJ~3Fmsp>MFlA721suVj6ddt=nux}Xp#;4>4ehV7ib1fPnx1axYxPY zg$0W&Z73Fec5<@L_1HzzjtiF$0JifHu{KYpNQ_WI{gVW*J73PFW5tuzVEQ=AhDz@c z3uAl>1GtFj2?ycU*2O|^Lt+;}cjcVUcZ0abRO%BbV{Ja4 z(xzWAxGdW0u3*uN2EC?Y_v~@VD@1F2bv9PCHC=q8|}Rf3X5tD$VXui1r>Db zk!b{Eb_qL!fm)ynhr)1%Vg)Kf7+n1Xs)3?+7{dDh>ES9zAO+(UY>GL78MB;rr{-pZs>XJU?tpp(a8a&(7rxw6vK1So_5!gAAyRH z6DBl*zGp5rr-fnwC{vo(6B^WD@{N1s$s3z^9lOVD=ZPJMzlvW9q&+~BV+PK%8O}-o zN;8sSm&}q5$E!_6Mrx^mEJQ2*cQ{!aNn{GQqJb zs2GSiXq0eqo-KStJ?cON}r;vn|))IGrA47$ts6!J6t174cVGdrz0l$21*B?$~W# za#IY5dcEHw=3odmT`RJyTOO9lH$ly2bXl)H5a6W9n8NZ81HW7bu-B4f`d0yP8MNzf z&?syfsy@_O!6{M!L?1wEJDnY57LS*J&M(Itk2rgl7@mODp>b-*&=x%zd7;5fq1BFg zcfKc{r>cXZd?t1`a%elynz1yaW2qtx+qRJJF zwWJma17W4mixhv#M9kFiY1l(pEkJq#`NMRP5(h-z=Gh>h4;79Kspxt;YjkK%rUkJ{ z6!=H6AYrID!XWObj$6I&29Nv{24pu@)uj9}k8QbSb zpcSJ1CMJb|QWz?Xt*zn9m74kE;`~+~#35Tp$19hIp2VPbMT4yrzz7Y-sRKcoXZbs# z!YQ!Ec&8K|a1(eRMG|$`PqU1|s=uF)kiO?bKI|Rcr_0$Vlk_Ol(C+Soom7&MB z?m*N%xr$AFjR8R?@d2wXJmkbC@V=EpKf)%1??MKe3R^|vQNq_)3mC;8)+!d+3MwE* zK#e!LU@58=jht9c9yt~Z-Lsi2ut zF70zpHDhz6ItDPJOB+qQMgI4HqhpT1^RS^Pq4-un{wla)+Y^!+>2h!5Cf^QRKzGzuMORR~B;ZuTVwost%Q@w6FeHkn+oFKG z@HoB`4=X1WE9;At7TYVEHDaUXa3clR07+EFv&DT`FDB!;qCPk0fuUUGV?`^m@kOLT z^HZ^7>=u>#4WNG~)1kL9BQ=-Q(%gMI9!vbDWS)<+BH-%bb)TM>l)UtGB|hGA6KE_M zRkl)F<*^yb1F!C^=;3HpD1aRK;zyuuMbUI+$wTQ%6HyduiCC0{=9Lys{5Kb)VRZ~! zphI+XDoHTU4f;x%B?1f+|5&9O0Y*~Z{AgtnRjo#Vc^Jq&s#c8v^B|ojkA|Z~SmjoI zm0tkPVU^p}RbJp)gyrw7Bq2$KsFDWdvN(^55euRX5ItHDm3>2LNw!?%1pNV{cZIvF@YA-fkI_U6-k!m%|q#+Ja zN%^uIq)0E$3Qt>aDJh8)fn+5r;70+Bz@OyOmKMY!gw>Aq;%uypSWs`J-R*65x){l5 z>vr7G^W45II1n7i&3b#Q3KN-&xyHR%sQ$>dI-Y?Lfc4h)ty`beWhhK_?he082hBg* zI(s#&sxi-gJSqn1IQcb8BLO6}wIJ@(6|PG z8o*rgVAOSrU~eLw$c(Ld89||9zz!%Ny!_E> z#!YGm^_ZbPAf;hPa7o&cj;Nuu6j$4mB?Sz!VE8`*FGWQS=E6ga63b7cDEHc;%8jp^ zj^Qf7H3ln{=A#sYl%>U#V&RLl^&N6RjNLf886`Y*kdRkqpr~z{jEaJCgwhLR3s{|Y zvtrcTNol}hpc1ZrV@6@-Q~K?rLeq@#N}wJNIwmGv3bt*G^OV$^{$mxsB|s~=`A}tT z{1UU;x&%!T(^`0)5Pc!Xc6!ytOo{Wu#b|=c;_JU|UY~4UA9|zBrbAc0x4gW9A63~> zz0-~}c+HP^@A=PUyZR3eg;5VvW%R&LaNFG2NxJymD3mapl@L%Cj$}JF;H+C5)0*R8 zo3g3H?dUeM)Jr(G5PWxAaQD&EM-N_0&~gXkR$`#n(s-3Te)ZxR?$VdMNdNfh(W^&^ z4>+AShet!J4Lbw?{|raYzP!k};B|`46suPF{_X=eg5=?&-3KHgh15*%KA{aVRhyNF zcfgGDEX*jY1upDsv}mfTQ|^q@pL7u~kW zX9ph*s#TMbMYpA>Y_jMHVZnAh+Op`iCA@}tBH}H)7#025*qk0M6K^vykvF-1*O3dT z!WQ(Jtj=JDgfogXNsmoS`_*Ye$G`!d0|&C$m}UkFTu-{44&I$~wiA8l=^g#6@hNK_ z%huMTf-cjH(*wf3@H{z?Cz)?dC!{cL`aXKEQY9is#tTdGa8$)a~eO1 zaQ5?gpUGt_86U#0`4Rl`uqZtLBlqgkm82W`v|H8VChbP$y^8OWEFBytM`KKGIzLSs z2bcwlax>>B`YxC{9gRzgMP&)h)*lsMVrwFxnj{DoK zfcSzrlUuSychm-TyF142#J6OC1Y+eJ*{BQ_%;PoAEYn8Y5g!t?GO|2^oqO?HS!4B; zYsB$0N}H~b`3mOJK28fvw$q@YV{}E~kb-h=%=>-K28X-DHe$9BFao5{uWXIWj1CXU zXm}wl^!A&Z?%S5MhiMo|gAMqK7Luer-%h0VCjOPVf`D>@De8x#0q^J;-zgBi+aT=2 znqG(e7EoqjS}u+-8NxWer!X7C2)Aw{z~xfXDf zC723~?L(kt^h|ELh0`6cH0$DI~m`5`;iKLG(=j^AOEX6Gtz^WegO|; zOI^X!#Im9Xmbn$eVV<-)n49%_gT6EiQ=tX#E${292nmxq{LQcAm}6JVP&=t6U;TQH ze|GicnH?gmimgP1(N3=oi-dXJt~cO=YnTwE4NHZnalHW_f_Dc>+Hq?DKi3;&TrAZs zvBVAa1S8laynaCNW+aw>+9T~+@_^J6FMqlD>X#%xSpeyr4tak$MTdIsF{iBB$ZrzC z9#G=GMYSH|WqL}1*d@4tFifs#iBN#2MfDkWmcywul2_Rv8@>B8216j1D?$@w;YA7R zA`iUd0+rzBrSlg}E7Wv7?)yr5l#Zsr!AR2~6B4{`g%A2JN9w9PhhjG3Oa>bSqMWx< z@2fAn&14)jW7rPVKN&a(*`PNEWkpnRG7)OGi64cCRRbdE(EuYhAA>wY&ZCa3K~oI_ zf0GUePFnbE5_;p|*|rSQ(3*$^d(7CbN@JS`=~yOTR7}3|?zp@+0)uvQVR;?rg3`qS zW{e!#Op%|Gi2ayNF?(F5^pZ-OX|yA5?--{P02u2l#5EOd3Xh~MuUeogy@rt$8A#Gq zIe@lP=9&7i7t{{vqx_zUB`=kUzPG}&D`#C}N(yo_;sw`HAo@_y-dhq9QUx=M&slUUWp5$N6}izfa@}xcZ(B{%s}Q9zwNu z0oiT3t$Sw=yZPnB*2w3RqudBmP-9;bs+dU3Zdl7e>cW>)E&TzsZ z2qWo}&Vhv0#mkh||Hc(CO58nP+;a^I?{iG%djGxsT{7hIMB5CqE z{jf4P?_!9p+gsbWZ(V}Z2Pd#uI)+3DMH@o`Hh%XWLUHT%cJG^uh#}FtckdiKtM2jhxKlp+#lT2u`rxHlwnr|ne^Fd?411ddIHgyzx!Hi}oF2GPcJsB?w z<0%qJ9%+=&2hJVe48`U*kkq+f?Ib&G^(xkb_t%p{S8=hV;&)!fg}1mRncdt>cCF%)1$g(|YA2)8 z{G#iSP~fnmuCd*PioKjEU3ubA$%Yr#G(g50;a&xYa<=>wb>yMw<_$^VrW%{wX7Y7H z0=_YuPKQHxcbr=}KPiqg&-BLcXKUZ3O0=Cg6)ld{gR^%#U1y=<*`(NeQNE8Pgg-TA zG);eQ`1^)a{QDb^K_{xx(hfuYFUJ$Nn+#R~@9+jN7*v4i!|GacQgCoLRw#^J=Wk=E2bPP~B&_1pO2Q&h0ED$_ zh5R=qw9qkU;dfr4*%$WPVc;e~D+F1T8g9s3rt5=4L&*9sRo#2;zM8@56EXi1d+8;* zuPGQ7AUstyP5WWkZ^a3R`%G2Q8~Gud7GdB+(^4=}ASIz8C`!<}T6s}mr;oCC!XBpI zk3FS@BZWw`QBV7+H&Q9`P=g5#U2g#5+ZGGs)~2{-k(%x`za0mv_8&9$)#|?lff*k3 z&jZ|IT3JM8#Boi56^e7T+(X-8!QZ`MM)`B~$ODBTvVDcRSQq^26^(aF3e+%6G`af} z;LDcSTT&kSl_F~(Tz6Xol)JxE-t^C(=<`^_-m5q9F(pVD$a=+SEWt+U(TXb zv+S0=U`cYEc>)5G7omg|X<`Y=_G+SkjL15?OU=5%ngZ`dS1+26zU|2JmyAA@v4u|% zfKE_1s3K+PNqd|Sn2lRb!#l}?4o|FIpukhLJCO~2^h0u32ff4HShiTFTORN0Y>j0H zNSkvP_=&(YILt0uiy_P&+K|7caymUrOzZ|KBSvhwgQ_;>pDMo7L?Pf+g6{DA>O@g8 zLb{|DFi7*MQU<-{U|ns*>XMK}zOoJ`pF|f2xwfppKC>Ol4P@V0({;ocn`g1lvDY|F zZ9GNcfnKveFTU#A)wO3CL`s$+4%B8m5k#~2K@VV3@MrR(*i7&;G>sU26nw&Wsimg3 z@K^H|8Dt)^<++K6z4&;<9UQo3OV!Z{Jb2bx{85eG)TU4afUXeax^SsuuuSe-oVSn- zx20`i66A&Tnd+G|ch(ncmT3C%SE#I`#4M$Io9i~@zyd@9)w<7tB+&KZC&hf7Al8nq z-uP1*`3OEGuvWB|IzPl_U}A%izSq17H`$;R0cX9if=_1Py3td2nJzEv6Iv!FzBX+6 zBh70Hd@zR=gxk8uU$~8K*g9URyd&q???JGR7oB{drkOFsZX4dq85f8bVH}|I*p$OT zYy9;crJr=Xfu;1K{ska?CMeenRU|w*tp$woU20ef{3$tR=?sPLuK#8}^0a-82VmC` zgyH`8fbB)7u(9UtF}z)XJs}+U7g8hAVjx_79s}j9@u}8IVqS(Jv*@ukD{zPL-#mN? zyEkm2=7QjE5d%}clOWw1y61@pvVe4Mc15hW@&e)NY|qIYZk+Eb;AIFLLtn=fK^8Uh zTyRu*CDIL%bIM7W*}uph@d{Aef>$z>3~brW!_1?Pf#n!wx;f2KKn?KwjEJWo!x0tA zxG7FkXHSlnNaj7n=S+q@eU5QC>#lI;hm}!RB1l{Ey+8PLQ7Jvt{D)*0G{anxQlFnD zs-FUB5mZrBo3XONV*OT({#XvYUT~QdM>2V9w1o)@tg_!kC}jR46ButRjas!qsg)P8 zn85=54MaGGYHUQ+GY7u*QM6H9J}^ipys`jWWyOD~;~r>Y7K3{Qq53+%?L}nPtWJ@0 z{12rJ)2V9-PcK=fOlhGqy(z$EMJBI#L;k#jafAEa2dY7@0BqRytHErb9`OgamBHg4 z)|;44ly1`8xrJ9T?i_TmDx1PO1m|2r4f_JZSoLFeU6u~|T8J2EO^a(KdO+QM@lET| zr(dJNxKTF|*CO#NnhV`VZox0S{e&ZK-CY=T zqD<<-0&tllv}4iOF~P|MQa}uZ^bo+fr;KyV@UClQ^~TYPn%MQtc;J z?TARg$R)_`cu6@aC`UlNsG&=7n&PeN^Q%Oxu#pH_F}GTDsQCVPVp7j#r8qtTO|SSz zM_)lXl1LcoDakL#Zn{yYXHS8TlAjDq@v60w(Q&X$Un zbQa}X0=B(XvXeqJiP68T+ZhNv2U69iJgLBm!4L6ZjE$7=f0;aR6L^vQ$Z-JB3@22YSc;=0;dVi#OoX7`-T1(Z;;=E%flnV%&|Q+2b=*v8v&x3+A2m^i z&@#9_y)*rGjB2K>ZjG}O)HqY{Vebn)Oi3bnbN{L+|4a^8KcBS-i5b z&9Xb4Vl7Ho&O`?$^qD6lWmxu#tu7Uz0$Ez&i8Hd7i#>M_%)Zu`+o2Hl9V<_^*pqTo89Zw z;JisL$I%nXI0zN@lMC7zDbowWK+NQ2mv?vET+20jA_KXDeAoy%pwl7KLIH?#?T0(` z9SE;VF>BqRA9}Lnd~)$@n-nYx)n${S zk~&5af0Dm83v;ORa$CG($GSTIScv`Yh_P~Efzo_#hD|J^#!UXWLIC;Zs!Ws?^C2p2 z%0KXpb*S$Pl! zNS4==$D}7U1&_z#^Ul~*)(^3|Zo_9g1@qri;0Pt-i1q9!3kXhV63eNSu(M;i3o$rF_@_`E(_~OI-gRvq=t)wUsIurwQS+$u6^jQi{etlTkaFAX=k_ zz_6CVV79~5mH%0IXXJ&o5|hskJ8aQQ6dc|5wuR1h)()<3Ld2jdRi>UvMzX6sG74hO-C#2PXV&)VSIl_;u9=?7GG=)aXWR} zbrLrO9(n0w^NCa(ZAf}jIi%u~oBm6TFW^2*)&OD61aT0q%OqA$2c(;2iA)5JT6VaP z%kYQ~iAZfF+P_M+}RU_`{}h!-f-+oBb8I4bHPOoezIsTdn}I3Maq- zG8Z?9YWUVXv`{dYFCk3fX!%9pnL*3G0ZWmFeGxz%o-a8>YfZ>jsmk0D48#Zn?|Gzk zBU|!u#LJX~JkwX#xNd}$+Jq@P%|KcFd(@sBB@E;@6~dNH^vC4rsd%u$iLPUY8Kz1q zT}sY_9lYpxh`P9x3ADJd4Z$Uxk@4%F$N02=(|R#?@OP*SQ)2P}0Ujz@oEe8S;V0;r zXUwswMv3Lhb|xK%5P?~YW(g*e+Rye+9+4-33A0Ih|nVAI8ra@Rpq znfor}%Esv8S&18eMy|fj<+sj7tt`L~E#bb`k+P)#>JMSa=+s9Y^}%(ZC>fDETfK)^ zfA_mxqGXqzeT@=@YktH3#WXx%G-i4ALkPE~2x{Xz<3MO)symcN*Xv7t2DrU~cxCaO zllcyLbV;EW^U$QWwVh>)F4ohpugFLT&V6Xy_ijXz}N zJ4tv&vK34EV?;upC}x%B34B8kzSHRlbV%X`I==gCCJk?@d~kwKliJf8SZTcqu*%ON zo%NNK_Y9zOhDxyVk=Ip-oY}>4E7MKUq7v&lS$kmv$92?Cskfs0!cQqm`(vWtf;GJ7 zIQ}{HmzAR*dOW7&^kcR35?|eTzisyf7n8VX-x7!~^k21j_vf?yo#or}m_%{5Q#rwu z)~Gl)c6iCU=w3|TI(J;3cb0bFFjG1o8b04(Ln5LDd`Fbnd|Hi0Lh1;3HF&{GfKg2*Swj zbr4xN5*{Ri2mFhIZaETatLt$l`c$(`C&YJ0e@YSD*nMn03TPlrqxE^C!79#cUnu!t z(4A6H!YP*RUk*;)8H|{M z71)tFz|d>64S+c_D{_Dghz77GTxd>_e}KTjD#>SsD(+8Kar=h>2St5HsCd~sS<(Ji z2UwjH(t}R{LtJj0)4PeHX#P8Yv822&!cSnk)HX(RSr3kq?P4PL4JOuMjs7qurAdU5 z5TVt(F|ktWWWo3`lfn51a|9>m7!_4otKqVLL-PSlV2QJ1(H_oz?MCw+Zu{wqG`I!F{SXs3>pJS@=SFR_y&iOrvjSO055zg z11+@S{1!w~<;{EE%9!%AJTMYY7>J_ls#EdJX#^LlEb#6AJ2P!8mN6N}^q;I&NKreC zxZ_P66V$90EL?^kdTt`Z((@B%s=q~v?>-;14e^hIzlGMHpAmiw4L8+*B10066tgAF z#vC-v))D6@FDYYWEYNK?7_89yR75Kp!nHMSUyS|}hJfi@^!|}@!x`MclY!rCA4SSq z;ra%|%&c$mObNGxx^xE0LAqw;CMpP+KtKK5ooE$_;T$aI-KSMJvd~E>1Lrr_OuWI9 zw}wsg9FH>X@15|Ma;xg8 zVlBzcKTQFIin8UK=Pgm1rhqu#Z%x!NftjBpyfLDYR{y1r>nQm<*&(;Fh9hlqc(oXG zW59ooX4uUIXvKGyP1AX7^2c2>i^FAM&QKCnO^fJ$3blldY{b>iez%9>{kiI}MDZGI zzea3~v;PHc#~lODoN%Fax=rJnBYmVJ-|*5!L+oj1<#P6I)bHwN@}%8JW0AaV>L31q zqB_w5Bh<4oIF%0&9oTI>U5q?nKa2~fexPI-Ml+5FwLcnBuHNq^AFf8m} zEhHgl!XM%0HQ>=H<#paRz1WjSFSy}s4}>)plw$xrj#(dGd<)C0`lkTdh5X|adbsQt zMO|HMjc$KaJBn<8bU{d2PaIE93~g-{r;i2u#R51zGRGu@QimV&;ADFA7FuQ;y~>+Z ztI~HrX}2g%1+U!&C~MLQT26kkJeICB<3L0!Z@9jvhjRU-mP$HZEL|lVfQ6~T9J)~y zWyY9kmL?*2|NPocVPM)zJrex@4Lkw=C!0K1w%G>XYD0gyLR`j1H03t>lV@&sf{PM` zJ=jWq^YJ&SMHZ3qhdFtaB{B08F)N~+94$1fE>t1hwOFQ#pe{N)CDi9r15Hj=l03KR z4?9;I; zqJRRZtgZbvW+E_vOS1l{ezJJodYYfk08VsJri(HD03g^PA+o~8cm5KXFvpIUM~ z#B7H0BJMzk&!FvcCMK`S{7#YBZpi)x3-oqmP*91JY1!;!BWErGJ83Pnl15njTN=eV z7G3OHPPN3e>GiT{tteC`s{(kU>Gj;DS}hZ(*}a~gX9r&ol0!<8xI5>P{Ig$fo-tYn z2%j^>{pMh}kH|j3uf3qAjiS`e&0Mdp8hgac`{aw@?kVYZoxiQis-;8|xG^UWu#7t{ z8rqg1yjT>09-HYog%OXg6g9AQ+=WA8)5E_ip+FyF5;%kgwY-;c5PuX7rC8iER641i zLJY&P68#768Kw&1T0VTCE$u*&SkXl%4)k%k)aRMCar6%^-e3Ho$t7j3hJEf_cP!N5 zp={6)51Iiwp&nXfNAuehQa(od;0cm0UR4fPGhHsMX6U4Ssqr-%{nDSRw_XM(U+tp} z_S9QXbcm3tg7)Azjqa+NDG2h-B<5_>jJ-EUK7KH#H)T8Al^474VZ~ zg_!3y%{NqBMAuO-^SAD_#wp*9BZNu>+gyGW^g|XKCgff7>AYz#o)0wKcfUGt@+=~V znEY;rfkF;tAzir_kNFy+n@IOVyEUto`+0|dmjbAJ&whFeFZxP$ZR;LNt!Wa~Px&Z^ z(I)I`fSY8~dxt|3q{wTNJKLQQYRDOaZ2F4`x(DDha!#JMgjVfh-i(&W*%EuWhw)6n zKwA5DMwDu|WK=tv8e6W78R~(SQM9NX)cuU6PylgufkV*lSeJjy3$qWIy6jsMNF->9 zTX}aoMjFfceY5uV9PN!$g}-A))_}SW0UAqW`X(41>HjUlerGw^n*UkiuXf}2(+6M1!eGCHQ#TxggT13b9d9uX`Q&If)v z5Z14XUTMB$!|sUZ81JqMrMAw(2G6<5(uv1K#Ir&702Y0LYkTz}P+?i7ldU$Sp+3zR z+KiT2Y^8hIAh0hS7~o)uuE{*gf~z>8x!241IBhof*Cei0Z(CPpv(K za7~An2IL1^+#*-fxg=G91jHdb^U1qCW8o}pu<)~KMrlhNl1Ky> zcU4<(jjFVal%<30dqGn(P{a=(CT&U85Z96)i2of0o>kL%lZ}z!6PSHUx~aZO?H8~2 zYt~%tzk=cIfuYHnW@5-qY49dnKQ5dG7Y~iy?gr2qLWLG&>e{Z1$X$Qs}yK>{ZsMzK4v%AO}-@Q@B7syiCjHsg>bY3O7k@t zh|^*O=eVe%*SR!5=<3%>Bgb-+h+f--pI)#Gc2r?~G@vkb@LK?Lqp`q)B=nDYp=zDL z4;zp?aBFHP^Wi2YRFIw2&Sf1TuX;KN<*3MjK4w+ z{SDM)8ra_7n0YZ=zW1dbtX+=onaGHiY^?p?(U|6~u8MG#PIG+L(}l<_M{C_fW8Je- zP?XA|`@bW1;iU2bq?75*L7jvFMKr69o#v;`K^jPu$r@&|tpzJP?p2iYMMgZ7#jd7}J&K>nt;tB4}0 z;a1UrW`^ze#Ukd6nG5;97_0)2aq>81ZYpAQXO)oYyf(&k@$MqQ4`NcSt?&$n5lgXe zE9Y263RM<6C)(9UN2li%dRM1rufSCFq(Mxioej_^W?HM6yoF4$HP^?9^f1s`g=D@( z`kLIn3Dn*y~6VXnKiu0$44IV0X!^0DVxHqx_ocQTU!t&mu`!o%OCLx-77Nich$)asEzlw1@gxzEQCm zZF%wy-g&F`zB+D`hk4Li+24}rb(#$NGL`jn0{>Jp+DpL${TWrlh~2Z!+1Un=5)>X1 znc_ms6m5T?bt*11+@?@6B1!* zZw>tL+Pg{Ps(43h3#V&~?Jl<^*~p%1ZS(!30Tb9c&){A}QQ8jJ8DbNUrl0WRZNNS` z;vz4tT4yyiZV4}s_sF4{??+kkuXFC46!4r2$HW)NW5?S1>uKWP7%?Vb3SbrR;G>ty z=ApH>ztyY9tn2SI6q`N?-rRh@-D3$ic*6g5B|)lT;3e^?l3w%Er^T8?y71tflCS$@ zNsZrxIb@LnJ4yV7DV0`=QS4ByMSbvqKI0_&y5328D%Zbv2P^7g>*>>h!BZJ3sY!AZ ziSkkdn?Enbo^4t@BF_`VQTY{SbWhvRp4(X4Zg1bb&_GmnXp2E7AZUv>K3AphNm*XC#4Y?pO>H1(`(^}fWyB5QA5 z-<0Us{smM2elrd~}1WUafK$pLU1hk>_A;U6olF$DQ2dPYE-3 zQ!_lK@levkDXoJV9;F@up*|S?nxW1FJ z;v|%81vqPgbSz|Q@3DEog5d~<_WZO8s^Ebr=R;+@GLPsK+GEvuG|QcbLPR#0{5*rC8J(ab9y`>y7xIY zS$2~#sn#iDC0X$@e7V^=KhPx392;;N^qTllB$LHGIZtSmBil1l7p!;LhEKAt7zy@W# zYx$|~73H6MNP}R$C*yI=Sn|_}H96tk5lDg3(5!`d^W% zGe!-zq7^Sfi_HGBdU}UfIHqe)J9==f*)=~9GTOr13wI;|G)1GpRXxv{zOT_YRW6sV!_L(Fbii{%9Hbt-m5?=GmS zHFaKA@aZWWHmF8O;9XEQq@QW58uKM5NaepIN*qaCHOL>_nBk&du8-8?YZbYTyoCaS zXP2pKIy_#LN8_!%#2`JR#A-vm_|($~F<0ryFzS#O=Zx&hO(uCcOY!>q8@iC~$lD%< zJj^qdFYolp=TtRbNVq!o*Ohe~&df;5_@K?-&iZ>vW|dwDI5o6<$TwjvGz*oIunf%9 zd5|$Uq*QqkamgFkKAOWCU=DaGL|`Hsy&m`4ZGdUk&kR2BP4`W|c%8X?p*M%&YAOMh z+pQ>B+349KZ(M2_!KfM8Ep^s_g2OMo;NNZp9;)jz1=Xi3!>W;gHp1}n%HYu&OEzO}GjO~s{-?tYfvCT(l2mo^*6;_{DQ zZDl5&#Z|_CYtVWTD_M<%j9`lKQJUxkV$9ggR1AA0RvjWIV!;*@r0I7Rytkh?l9m(l z-BdU24jLz)Uwu+^yFg8THIeMwARZK2F&Ghk7qBV98J)ydAVbR++Gdx6~6we8k@VGoXogd!q>5x%+Oxs*z zXnp23uD4S>eDq9r>A=S3;skt(&^l+NFNKD&RCUqtVN!EcnSjuho z(CU?@Ee2(5i07Ec>-GVYjk8uU+y&WS zOVWX=$}&m3$cApP(%?BziNdG643=EF?5@((XFRD)nUKPHVObp$aC zkEDOqrrQYCht132?mWQX`d(i~T-dsSyOi;sMvkk}^!N5FG?=ck&e%-WyKFNpoilcw zIdLG%hBU*325$YmE$J+^;XTo}`op4%XpD@uQdp}lZgl(XLP^(81IAq~`#{{{$Ia^5 z(9{I%#d-khGfU5Mf-$K++DG7#D}>D|W9{h=GzGYN68Mj2&x>p}!4=6{wQ~?{(bT#S zHYdPNb+4Uf+V3vm&pMBR4Z`2MCVM94I9&1xDW^+~k*I3f1^*F0%PQiZq4!xW&pR~6 zPYVK#PJF&Z)jfFX8nS{sq8f(+sg9W_-2}}OWFl9_tlBaIF`GMc*Hw#Jr^e`02Y8MI zN5U6402WH3(|PxQ2xpZ`4CWLUE{kHj`a+ElOAK99@oBOIX*BFT4)Qbs>9B)UHj7?1 zt2Yk-dMNW*aD&9UXc1iYzfyd$0z23lnU96yLZcFg{0vhOdcQu<_x^?5F)zMl7* zAk@J5tKROW8sak5yvU85szB2(g5~hK?}+OyN#xHZ8M0Da?0D-4c%r64D_G_Ih1zG+ z$ovSMrQvHag@NSnN<+u{IkA=GLz9I-%RwPmww<|A)c5?Wpd76MawJTNrW$9)M#XUYV)F+i| zsQ9wG>Yq-emZ<wf7jYdHI z(~P_OCxMV5S&+k-VC6t4f0&w*SZ)e z?%fGI5_)zMp1pt5sY%c??L3mELEHUqc74GOf5FID(~Vmd6wq7+gO#%Vm`N!n{3eh# z1Yqa?+Vk2sGZqmU!x*X`q`1vtn*qr@(OIbQEinX_p2OA|&h(c`d9l1`;owIL&)5B4 zmow&|p_Ha>6KM@#kc?Emj6Q6Xq9BroZKFAA8F?nvPQkY z?rVRgwoKT*hur1PiSU}J)aL$~9CI7@IkM{gfxNn@)uMN(Ye>IC?LuvxRMT)!obMBq zMPYU_n$-+{5xYBhLx17k7i)~V_M@)>ErK17E|Sa)*WFkNOX@;7#fZh=L=QPQ?{_;- z7exOp-xtTE2F`ogR}EC8riF)4;M1dz#~{e_b$>)iR|g51DvlJ@1-O5sOw!=dLDXjv z?AL2)bf!g%iXpSG&k@8E2V6S6m5d4*75sG`rZ}HC=woE#>09PO*K`~NE~Dx|dj~VJ z;7E$GgUi%5h7+4sB4X20#Z$eNDvA7@sNgJWxL4O(yIKR5 zVX;F`=n*71T>ZII)B!D$!IW@VJBd-LUho+cT6QsIJ`j`x{=R__FdYq95gQLAFv%f& z*Nuzo&Q(-h9_@!fhct47r+aMeWuojDxcgZ78>F8eJ9`g*J#Ux7~dt0{fpi=8$Jxh)_dj z0x{co4bY@}R}`1Ig!%5dLdCQ;)DHlVN;+^IWkT4lF14ilm1-bEg2`^A5^CYZ+Lx>m2mvI-r?B4`=YZ4qO<|Ha^F>J^NMTyfeSf%HAJAHDI-xdgHSY4DO;FS)(%XCBdSw;9XlT|2Fv8!hwl0;WYEd)%Hh*0p8qw- zrrkBPLCJnS9;50{P)CxtPNX^193HDsGB812yA2*aJs1l9eZI@t@QJI?;Ab|U-X^3AA3lpu$Qa#)%Te%MKz zijmkjgm0GNU^BR58}Z&XKy{^O78>h3K)%dcVH7mP6GVIMp5Psj89CKme*$A*$Bqbc z!qp4y@y8)~a;(FLoQNJzn^xVf7~+>6;jM*s*pYHa<7`;=OmB92WJ_Vx{VBzr%^Cn4 zF)aGWekvlLmtnXy!u-l#4sZ?B;2txg-)VeUw_VZ}o_#&D{fma4#blG}s@J3_C4XcF z^&qJWX2q8Dh}-sb)xhG-%8DrwrTpcvJ9m4m(QBmzTDh&@xotzVvDR1~KAYHc$H!s; zeq9dipBwX4I6;TazEoF7LWHh%8#TcbDKj+MIAMb_(KvffZ(XZuf z;K7gT#6cN&mJMU`(5LgBu7?;=z7OWbfH_~S-fZPX!{%<8_{>sEE)uBJPGT9Gi|4 z`$fnv>d`}TJ-SdR=(RJWXa2ZICHc!dmUA-;3{#A9oTBY%Ts(G}q|TJsLGKxEz*SyE zR)tGk(nBq)G$V0nPS28x6&LcS$qK`=E(vN{xl4zQYYmx>HEeD@=J?Bc#8aTvx%RPB%1q7>Q zOCM<4F@F5o%N^5-?w z=&82ZH+{+eSz{20!#VFtoa#pKh$Lhl| zmR_b(;m9fVHe|4YZWlq)m%Q@Wc-YAv9d!s6=is*PTHmCzP}W8Z($^i#IH4kYF+>N2co?R6a^4eSEXza7%N65#?+7~veq+R zgwG^PjF?YzIyF$cQ))!usrm;hy=+2_w-f{?d!Th`agp@rc}yt4>;7WDP<0%>H${@$ ztLYOUf(IDNvop}6H5M?ivxjwdI+O6pD9(!@QR`u}Uxjm;4h`!@b7Q{_vXqohxQyx} zki-lfpO(;b0WmUzTRdGL$bcvTl1{{GjYJxuF6DrTiHb%|lS=4`Y@Y*7Pgm*>%u*tD z78Pn*KX_p!35_*I#dCTEQ7ECzBcrHcLQ1_lpg(4`fy{g;cz4;pXa6cv+G=V*8%n$* zXv=_L1bmaOV^h#j-3h?FIqNav+=#nP5ArWYyb1juG@WoxUZ7y_S6WNYdx2|jzC4{@ zh2w}4W95?6_o;7!m_8JDg?Y|r6I?Ueo&pFqnZP^(^Zn2%niI^@Ul3C+C<7yRw*}lj zy6^>>1$b{M#*(nxq%K~&6Wk}muLzI7_D?~iH2fuyMp1xyBw7U!WNt>-xN~L84I3lP z;Thv-qid|)uR1U>i|RkyWYoPFh(9~MtB^XNg>t9Kp8dYO7RhAsO%^ub^>>u;u+p06 zY?+1j2}V^#R+7~w ztTt=bP-_h6y%<-K#ZNK@qb6b+z>1I#7`_Hax_df6Lu}LZ`49XoJfw?_gB0ofBW zdNjhRv;)2q{`)dI`wqLK=(5BE+&-tD3Jt~%BN2CpwQp$RH_Oo9wUaNnCCk&@j5Um28(55Jr%Tj&0@HT6=Iw>2#l6z+*o z(r&r+n8#Vt47irGBww#}fM1Cn{e47zl4V-Y^X%Jj&lM$dgqfu@-yWCLxr^U3ef zh6rVBvDV>X0<~)APOkmzHiPGkHlY_i*3AmW`bh^?yxp#{xNffT;daG_TkG##sxzWp zE#F5vQMLtIQ}8|)G)#BgS|v8kj(^`xY*+cS#;1FFL^5r)Rh#9qBLr0& z^*P#IN$)H;Lr-N+Pwlbq2s*m!!T)Cp-FLin$cg}}-mzh<`dV)-%|4H~IF7pAly=<4 zfX-8M?PABK?=+Ak+;QV}hz>4D z4^bNyhke$S36gnCh^JAiBHT+Z{l5F2D?1S}JD!Eg?ejp5g8$U!3J#fUTy8=SpTY!K z_=R%>`Bk1C6Z;G1m&P>r#+@?mDihsF`dBcXa6dvx9TT?Sj)v@xk!=ZRQXeVfxRwngVLz7tM&z!Ld&hgKsAz=BAvpHn{+!(An>AM(s z750B0S(_KY?oF#gie8iO!)tQKt?9U%GnF}}^#hQ>eXNe0;9O;7R|x|^#f+adVU|kq1jxu^_SJfg|lugV27^X1(nxi z9#6V|+X#(J#mbfp+O-5(`;4WoDdBE}q{_OSkzhS((_bP0(UGKoU(G>>rziPf6Vts< zKFP=@YwkbRaJkaiil2VA$cG0my{?~FT8i(-_{o!c69`R>XO?ij{FhV;G8r1(Au{Xv zE7CV8#Evp=VGi zlv6pM>87YtEMQ)TS?j~^eu~6cX}b?e5yWO$fhfLcz?bE(j`?eAgGSWu4D?>`UCtu~ z1(xZT5DPq(-ik;@+m;Qk$|cN?x(Cjn;L4J`JHmP(2XT3Ln4Qms35JrK4{bmyZD>RE zstg#DG*FPcoV+xBQ~7~1Kel}mrxvrAat=cLbR3oW*y;q3*)5^Y!u_Mz*+P_Hb~bE% z9FyWZ*1?y$+9w8RoMdh;(h#(s-OzoX)Y9ftnJfYjE!2k#hGVkKZ?^W?Ilv;AQ$vIl zmx|U8ApSt}JLyq+=SYG{{17xRx=?|>RmePgu`|ah88N41Db=~-KVw+&3jsayAn1h6j-?i=t{WcambD8Fq=eyk5DEry}Dn`FX!`MI>Bkq!! z2~zQ%40B#<*={Q-CFDeG2EH=&`8N%l9r`Nr<5IFk8;|Qpwq|7(m<5u?Get}MJ|}sd8BRYtXu|#t<1?g}EkgRaYos z{^qU*ebEk2`k7ywFo@k{!r+4`%@oN*Yb|5mxKYABuITf8OP*!@sQ61ad1c|yZjkT( zVB<`yEah&B?)sq0hL1TON9AsZM?fcBY@Tl?7M6LxwEp;bO*9|by&Ze4@9Ld=mW`2# z0Of5Lm33)cC&NzLJ&0=vM7T4x+i+S)#YYelzT z^49nP#YDqm+qlCe_B+U5J{?HV$Xho7cuX%u4HO`#aLKfz>HIUF{3YYK-QjOD8)d!o zifIBx4KE;Lo+XW?6MZrh!|fa>1|I9w{{}Cci1WN5RNmEr(FF6zm3?)$p+}AP^!=3y zMVLo)ufULuWwY8v&$r%6nzWf8e%3S$cywH-DyzeFr6_lHIk@ty|EOu;X--CcK2~(t zGrwHOTyJ5$7!q|Qy;?%@Vlq$q5D{#d56BSbSv;yu&0uwqQJA^gkiZX~3xG*gen5Qg zpNat0t;`17E;P7LQ@igabEz*LUb(aWz;728qKf5Q;h(3w*e2baStImvgv; zjFIi7-SP49eqzHS){%Y0n{cD;3V-scDlh50QkM@kC@!;dagZ&0RSJ0_g!_47isP_YVtfmMB8WA1VcU&o+p}Tvtbrlj#2#ss~x89_B#a37& z^njb(=B`IckJ4(^J;JJC+J5ej)1r~28m|^ zhIG8=Wy_IZZE&`EPYz~3d`EuWA^Y4I`hWoY?m&Bxs$7B9pcai{i$;s_3W}R zD;51H;14VMA>{1@CXk%v+Ac%AF=*_T!SL(ZtN19ZEtz(8jue4~{)*igY?+5}&{L`E zYd6-=1TuOauE2Q#()AUi3U^1&@u!9VUhzSl#J(uz;gT2BTWsFM4@*|UY zF=r>z5>p0PCN&vG`}&;bFaexhdPYa2(dl$%cV)p0$(JZL@X&526cC8G zj;bca+&|PLPf#M5k?@BOi+$S66j_DCv!l}FY?&y1x^7PL| z#lJyk^OD}~@=bBWYT%4G5)N<8@Q33-%cy@TEJBE!#Fn#SH=iH^ zAhXT6hd|>6n7HMIA#}fR&Ys28=S}O}p?faeA}r#E?Kz}xoNGvvYz>)4f?QNH^&cTJ zHa$R^VRGZqsjc2`t~b=J-66;o@D8WZt@)-0 zT40c;LaXTv{zAI9kO-PPcfppKOP#l{uva_8T(cZDKF2V%x>h+&1rC^+K?6J?Fv=EK z{ERoTr7K3Qq^1$v7#Tp2k4e6A!2dEvQsR(ss;f+|X8q*J3arcKfruY52P;O?SUmXH zb@iLjMe4Q|1m7w&&Qmn&*|88h???!(_QBtLCUcXd zLb`uci2OZ2JiiQmPpYJO01@Gx-Q_=Z>m>Ol2(izRaz+Jcyv0cN2Uf^Rc*_xpqxU?*N&I9b0exgC)lhsX;3oRZN}oeSxlIKTPyGEK08~J$zcL}! zT8n`Ts7*C%Uc-Lc#YoH!GfOU} zo7X^S6AR7vqs4KOCc6)QY9~LWQ_f808kYfZ-ta}1PKdaVEw6Q(tP6^yraRs=k7?tf z2-J8%QP?pV7i#j8%pPM4E_#SXNm|0g3CQ~sIAftNz_@oU*oxzEhMDJJXn8&^Pjv5U z50A>dtJM8&HXXs>9|*h6a4pQdUY(3_t%1qDRkNq^0<&!Zf@aC<5eY&BJX5>-&AqOL z(7Xad@#gon%przpV_X79y_O$Jm85W~2iUyj4ruDn)nf~6D`rC?v zhX2a+d*O&+|I`er($UZ#Q`Z_@PT!TVQ|S^LQu=!%|LQA=gL#&|ElKiRX*JY`7z@|6AdN~SyIBFf^Yv#xSkL=+FJ zEkg6&X`ReaHAH8cnfF0DCa%{G2de0M96`$@QdL(rsfyy>JC-$$AP-VnB^G4Bd7*6EfHdtILat4nCz zpG`bcohYrMyHQb-DLpUU4x+(!>~?Uu33+fo7`p_lxidVYNx58UyoN!Z0g8$yEH<<+tjQO<#v$iX5Rw9))O!NnI)9=oiB8qV?) z4?XgOe~O_Xd}<*12gy*9`EX!L|4CD6+d@Nb@`nX!#W3}Ra_Y|U_Dt2DP_(D70V5_%*rfgD(4L!Y$ z>kSJ7FG~UDCiqdxl-J?T#YTMJU{cf9Ba@Q1Z`oW^8t7DrMqQJ!pzC#a=EPH&9j7W8 z$?{Yq>xM$HaeHl`cN4-!Za#fL5g~q+=Zn3KZ_P17aamyBmI|B5E-sc5Iuoz~j2uH) zIN`z-ak(R{)&%G_0bw}qO&Fn@0)ALj`>p*OuIO*A(&JK}zi}+@prFL_E>#~Drj`r+ ziebCUCGEla+gCdY$M$ZN3eArezX5l(w{e4xgrmg`I5XjZDHR+aLc#A$LHKq9<7#4~ z@rh$j)T>fDK=T`P#Kx*#Z@kS;n?*e2cvVODy};w2Gp7yirVCEqW{XUVNncQf19{=* zh~VqD=IoY?=+A+KCqQMAXYgTc#v^$MvC#=W56lq~&S6+In(gDX=))qwmV1}Y@qz-E znOtv7kvHm<7@EH8-t8#EQn8OWd7CO8w@((MG4NxU*lAc~R>Y}#-*%JW;hPHADr?NM zgA>d%SuI1J^YqP zxbP$L?;~y}`47o20Mf;4EYn_P5GAOr$BozJ4MUhcQ)zu`QYu|AbEt=T54f_E8B#>d zTJ`MVnUYprPzKTqORt2W-DTsI!P0zHpAfiRC*C}Hvb$Gah>w$lK}WK zr|nrWtcEvz3Jg1G&WqaQ)THxBkSIBou+zo8oGw6JkV?DKCw)+R0;(^B*YIcER13GCWO^U;uYnnd5f znlcC7KhDzO-qq$=?@$)$f$-vfl2du;a-5n{tT)Q%{c$!t%H})h_Jto@rc+Z=hlWUc z;af9)V-Ilk!Eri2%Fxrm+^>XVQ+E_L-Rb{9AU5ith~^Y{gR?TIo2$XPI>kcy@+G0I zGCW601rv(F253B)5029!>yuB@Y*DP~tpXS^=+EXcAC)l5-8`RAN!03d>~m%8k(*aF z5%5?K{TTJds0)6bCof+m56Q8jO3_+jry&GmXWR8E76K9L8}C)W-Cbx6C6t|FveDz&70r% zl-XPrEP34zlj0Z{H~fAg7W*mXKL%i==!%->3Fa_O3}PmNn62bELk0I}fnoY_IS;Y~ zPm*l7baiY@+?l%zz<{wFBp;|6hx*%Bw;%wDX&&`SNXjS=kDfjtWVGpfx|QK_sO5IJ z@3^3?RyTo=+=(&*K?^XTf#b zeN#hRx}>o67?+2>mV>h5ii`)fOA(TIo!A-=|NN?fERWfB?b)WdzC}<;y$w(#MW4KpYhwDWv@c?$r zlw@six7M#=$%kZ>3PTS&XA~?+!EhMKi$(yKiy=9s(_ThyPL|S<8aZC@hhjeCk^lSR zG>la@Y`-(xy)P@&;KHtTc#L-D@_at&7bmlsa0@q8)2a~JW4L8*-c+SrC64EaMqvHJ zbg;?tXeeBs>_;90mMV2-#6{5nlzW=3PQ z@Nei+-F?4SFZjOY!l1ez&sC+gd0E1z30C+ftiOK^ZSNST4xu%Q+}mf4lbp@ZyWcUC zKeyUS%qEo63K}<*u;o16cvLssfriC!p9;0auRbYI4&B+{t#p9J?53w3N73`pAG7p| z_~$=9TJMU%kbzx0XOG3PLm*FMV!!8@# z(Y(u7ntAcCnx=`Tu4(;EtmXZhBUkYzrYZp_CSQ7ora6kpoe-+FZ~Udtg{3nt`q z$##GN8)x}AZ+ISeAT_CBpAAxUKCD&KM2VYnsN0Oza^-Kt`qgzJgDf}GEY~QFscOh3 zEsX9cB#suD41Unij@evu$Asn2uwyp=Eq2W2@*QK|8?usjPq9SxhR z5Q>ppwrTSp+)%d#E^a=tZJid~Xh4lN{6+nR$G{DZY6A+qnQQ%6nc9^ggM%CmH@g8j z2z~o`4&)_|!)_mrrg)utQw1~ogJor!f4 z6EaESDr<#_FjO1`X?+dC4H|LIyCHLzm>Y-L0tD;nkr`qefA%(jM|F-^>f(y)uN3An zekCJE#ZX14Pz6H;j~4M-iB@4-Jx--rmwyqkLmEyMonOx?cK>T(RGvO1>cjr3I zOf0;e#b+uhsSy)(O7Y`|t7a$E}fl)s;5^A_KSc+M{0P;`Xx z7|6z7#@D43kAmmbD)N*0Afu2JcKXeN$;+CA^HhW!+9@5*gJ_z)*dpGHBp=UyO>&$Cs!rZjH1dq6o?<6%e zA7AvK=%+loY}iskbNsj?cW#UK!qfXttykVBUTAM4oo%64*-p4TocOPDeQw#OcQ?CR zwBzn>_rCdr>qB-+bZLQT#eeOJ!GqJHa;@&#m3sMQt<>r}97L2N9msMxsKA%UycIpT zHH#KJg0pLM#KF*U|7~=)fFtXEbL*S#hFfR}ZIrxBr&;_gx~I2dkDP>h+nvt2OubDc zojV;~ni?wEtyqsP{U`5AZ$IN!dClvv1aKXCdK-?Qi*m&1dEQeFCnNyR7lGhwojEZ8 z(~aW~5}fYQ2XQiIsNUJ^Y>`*%9l*%Sr{_k}Z_e+!s&F-4;G*dTWw)t;sAfGYA$fbV zcMG?B54g`WpS&6fTc6tr_+p`2Nd*=tRsE#c&@OCv09^+Iq22z*0(6U586=+DTemLG zAL~Ir&lDZN(U5$zA|Y7+mvJfiJXBT(xWM4%!;^8G-hQJn7Xgh70IUh4=gz+8-@WNT*_?cB>5VaFC}$@y6$?1Gp%c93NEa#e1)u00-Ha%B%(D3?A4WkX zui*TfFW5J6$C_2@0@-w^U#kL#MYQ30o-g_bWNP9)KOCn=d^yIKfj`pyAv=TPxk~=! z`C$S(sfE9iO$-q+OXs5k-oDBxawmfO@d!`Z5%hqEcQ&E)hU?!iMy?r=FYqoD=j14G}Iy2Ws912K$;ZBkF$vi)oFAeOb zVoNm>4^cR)w%ONv8-GuygnEy&14codG5ozho6C1b&A*>a_6hlFWUXiFv zp@I(;L@0`(oBVK^!u5IrGRnRjGGB(WKl z(T5$z9)%?3w1PGaG3UM&x!wDs-=jUs0}63q8zw_6JsG#!rTJK#ag&I+`M|^U^z4&B z*?l~c=FJz{bpZ!p4vY!MG+|UUOf$da2rCD2yh=&}uLX;(jy-#ro_c8Loh9XyA(71#FM?;@2PHJYa!I={=_tON^IBhaJ%qTj)2oyaNJ`)GW$gC4N zmCPb+E(Fd|fRE6#Q=_^w5%$D3GN<lcI(0Y-A913-DEof+6AAUAxi&(sSz9#Bg^nz6;mpJkG*%2nm@eN=cOmG zRz<^5qD~Jc)`KYmRfA7JEd41Gy^%?NU&(r#S?(m=o_-Lman^aCY0i#$rnzpZ#XL;%Uoyhh(*3=p1P~9_=|%e0V|DG|h}Ab7cN5mrufKHQH@X)yc9+UCI~q;B1Hv2r zjlHXzdslDp$-#379^phHddR9cVU(;M-q_QI#=GE*5o^#+Q)6ja#FL3_f^t4y=*2Uy3u#3OW3~vA6NR|NFmt8#m0j z>m(XdTcG)ATx0AB$5c#iFVgu@VIYK`VFVPOfSwC3+exa2+(;6{9=l#}yfOI8!NuT% z`A4Zg37psrFv}Ew6XRK+UZR!gSLC2ll%G3QYU#yvSbmBgNAWj@qp^Jxc$3)F(Qe*6 zSvPaMEy20-^EQ4ncN^Et`i#gU5teh1V$_ho@4k4R4D+l20f*dVVC9ib7)^Af3yO1L zI&i8Q>gLUGUpu+t_ojyt3t4`L6uagcA%YY5NMnV)a&U-YGgh%)iF!dqOi5H_2FT1B zni)+qxgIDiJ}GpP!Oq4JCXw&PsENKbfmL9kM3G73(H9I&)9qlKq6WO{T?viaSvzS| zX?ff2Hfb|aebeRJh@SWK@vprOT@iOX)RmRWqO9?h$7zR12+g+x^#1S==~#zD43T~%Kwzf{o{e{QbUr<5V`rzc4PY;Tp&J~t z&WMv!|3{L2fUQxu^o#_>Hv@J=#I6S8efJKQ7;o3Dvp! zUpJuGPlGpG^!wJn3bb>8&MABWX7_Wc) zV8k_lKzJMkISJ6{&1m0772%_K!Q@eW_1&#>MOzUhJi^bh=jk2z?k>St$U+W72>x??!luiGfmRbgHk?5YM`Wg6ScChv@D13{O^`)GY^U5RVMK zsGdf2_pRBwUBY#6@8!*>x_D$93gsTs!k!J|9?5}|G!8NtNtW=EH*3-F5@|jg(ipDo zA&W^botP9-KP{I95)t!ntP$d8hD$S27#c8;(v!G*Ryo<%r^PVj<<`AUk)RBuGtrIW zZ{&;MuQL{5Ay4t$wyYByJ@uE^mhtVNn2xy+jvNpE@vi`0SF3CeXjWu4ZN`eY$-bFQ z_sww1<&4fnN^z_X)*d!EvB+G$K?7*L+ifZ(`R{Dq7M+>0e5<-}yrpj&W#a!0^F{^6 z=!Oo4yTa__g-dXVO=|S@Rz+Xyf~P^_hUPZA7-Y>sifwdaaI!XmPTBT(t+&eez}_AA z;jjv7&0z6p+;0wtZLwe4{}k(YI9z|F4u@VZEL0jn9OI+i7fKb?DOReI0+~YeNrS;M zS+iPr+$qUB(41#1@kSYDx6y1> zz_qHp74Y&YcDHwxF8aG|owb$Ys4|d~2f#L9WFKo&vv<|BQN^_ub|Qd#OU9u_f(@I; zY|-o;3z$Lz21@Gz)0VHiD#|$V$EP;*vV>)}vi+iGav^ow6)9vW|55PvyYQ`GNfJJH z>H>)*%`bYGgdY32UYG}nKHoX5!r}B}JZ_ANeh&K#`fV{tn^xB(n(Cwhc#;jR>lmUU zX1gaChGFa6Uj`=r#@;Am6?`!XGB_%tJm}($ic6Wn7eM|FU_xj_5e_GvYApbFw|U?~ z<5wX{J_{FF08moQ7y?iV$HW2X2~|ySCfd}8r#eC!bp*dCaPZ7=108?VCMxT!1WMS? zh6*0oSdNuOhsndVI6lbJ`B1|1)mhAkgepRzm^wtsQ(6`5Y9$3&%hzaC>ce!SWwn=s zy3uOc%ZnYA2r0EIkAqI_l}6=mfASc8VC<%Eb(*s8-3yrzyg4@oFuSw7``w!}?{K@d zo%)#Kh|zXVF=yN%s$%IQdc`;^X$Bp|*zy(;ip1r!0~>dA*+w^Y0-++>KsRilv)^ob zk^gXv9yZAc|3Z6S?RFEqlXpA6sJdi*I2uw;8;nDVD~`v#A=uuw2m_IJ{5*4*O)#?i zO>OBqvRT}Ikm|4@YQP!W7Lud@kUvO7v@n-gJL-WcV|Ib0Cy0=Q|37>G-q6O8G>XH2 z=Ua5_^&*8qNZ8H=8}E-`ocMWc zU2oQgnV#gwvM>be+~#X(8J;mzlv=5Pu~)-0FA(sVrOKI~$sutrjVpFHh%&+-zL z<<`ep`(QJITrf^qqcj~`4yLR+!5`?jlvK{=X#!yp#H8zja@^%%OYi6b4sF3m+u zP{hLL{3IW3XmP0oh9LpLD+LV@HxmRv%*_72A=x0;&QL$>@BQ>zeg8N6U~m8F?mj;7 z;lM4!<2C`!lVEngTda6lfd7<(Az zWQ?7Zc8Nd70zdJV_p$pes18a8maY%FQcVE*#o}tj^+~4YxHJ@TGOS^sgDI<=?9Vj5 zq<`IEmU~f#z?1c3BmcR32*IvnZ2qpAo@a$LCY1Z|zW4R^0cts(W=v143|Pfc?<)M@ z2E!)pWUUj99dEP&oyn!p`0Mf#>HSccY0p z$uW9|ZnJgF4Y@i1kF-z2GaJ8fT-X05#*OW$hvuq52b{(u3hz79oA-qa!4&}0ZE6US zyHRxmb3xsy+AfN8>Vu8@rrbbKh1oF!?II#B^_?c|DK0O;ocHqLyf^4wBQp>E<>l1V znNThO!tVIAJFyUc)|6O(;?SeUK{hEcyzhdl+8&M8*R5$t?Y(-jxBWEqku+83`Hc z3bPVzP*$SvI4hA!J-ESSxUqTv+iRy;gGo^?QQT@0oG{%W$GMuEI}2xvxiO8If5V(H zUzAhE43fbR8SWQfxJ>h5b{J@a4fOZpQI~4~+9V!de4(rRMhh$-tzeaz!sK!Bs?A?! z15ODtAn?BUg3I~=#53#uOAR%~9c(RK&+`j{>x(boktt+*2pm$+neNfJUby_>**Hgl zlA}8ffRJK`L1IU1JenT#qpdar3{6ml3ES{9XmoVvI6*0(cNUB?fhS%28@{J8R~p4R zR?!%BVT!Y@4tD1~X`@#IcKHTQmHxTf$pL|R)}xQjJn5Ide&a^rAYnZ>P>?b zG&ZvVD*p-my+MDsj}vdP@!117S4l=h=QMUgs91J4&07Y?jz!{q}e#|w$fd6_a7_%DwD} zmm1t#Jn1Fya}#p4A0Rt^`0eI{YcpP%m8Vf;$S8Uw$ny%)%GuToJ}pwkGTDZ~3JGz3vHXPa-!M!} z7!f!XN}P0gUgM7ax&C9BzCArzuNuf#q(FYtzXC4sKH68FnS;}iOVu4D(Nsq zl#c*w&v04Zw%+m`+glD@^xh@rS48kzeW4wEO^b_%|67t~M#KZ{t|VzocGA+~*q2+B z4Cty4KU3N7a!b15@JG|vfj0Oh_V(yb^VqqZ{@yFO<}aqEYTTGEeM@jSo#C=MNNGnhikg$?%XrATb~> z)UzwmLL4oGl?WooL(jT)S5YzwbSOczX%}u5dq? zabYS^tCuOYOyC+D5$Pm}Vk=-awtrC$lEo26Mz4u&IYCG7sF#G^ZC!>D;M0o6uB1wpygD@g=DecQ}H@0pF>`titv}(8&8Ta zwXDsNvar`P*zUs|r1LB64YL!#Klh53(kU#Adn1YY<58;pVKt#*}9m-l_BxEv?71p#VE-) z!9oD>5l7%uEv*@JOA!dgRW?T|_ z$K`0QKN^0$Q=0FC{ZoZYDu*cclY}#aj3o|q*kc2QKo@uHL;@*^$xcxc(>bb~5#Ae# zpBXl5Rtu*BvID@l)=5GzqN(%=f^1Y^q%g3Uv9eI8279t;IGVazfNIdKK@(F+bAGH~ zn53V{DJqD^k{{o#wL4U4^PA0wUklSNBm2R(o9$aE zZTQW1^NqOkt?Kh|9U!v8ekkltCF3F54z1}hJ8cN|Dn8Ti>x_$-r~Wsyfw37^4bg^1 zv@;Gy$B(RTh$Y;~pQWoUjS;J3+3x6nVoZXMM~SLh zvnJhX>SO#pef_?CmIEsIaH>U*#zhgsg%xBpLPA+X(8tn*xXzr(HR`Hhhykn0AW`*iv*C9bk=-W>Bhc!?7FhxaRv9bPQ^k&YDeqO|ESeqd|8h zD5$X@;Km6A35Xp`Y!{YX!mgLa3`~f1F;`A#nhlFqI_l?F6I_um`V;B7g4ypy?Pw;h z;89b1)qHW%8;!{2zCURJCoy%p7?lV-*2cRC_bNaLv*}(IhI-i{nT0FzR3;x8yPL^R zb(qElOH=Czjf&{L7;aDoR1nALf)~&IPQoMpw<;Q88!Z@?8@rBS$CxL^@#66yd#{S= z)euyPJCojE0L*B!^Y!GzBXvS|4x8UjK7d*PYP7nWrl*h8Wj2_eZ$A9C4Q-C@JTaaR zUPt`t+R1nd+j4Wm>jA#GXS^i4ye7@!@j84S@9P4XPBvPbjwcM481swAlP5oB*c(l_ zStO6wCr=)qcTjC4MoPBz!q@4?xQMHHLG`d{!ebPFAs@F@&{ z|GY5mj(~IX zx74tho&1_oF4bUh=!jQq%&i7f$7!*PhVI*Rm7rD$zi?-_=0HVNO)yL3RPCp|Vm$gC z>O?*W>qK(J<{<#p%?(hWzRV&2_FvcN<+Nz6TGseQQ>A;d>7F?!D3824wu~$M_YHdJ zwSmHJi@Y9w9n#kn3y*&Ca>ln%<8@Kwa-dI59b)Hwe)~>)fZiYXm##*74TOGLYY)0_ z&2ilCtaZLdn-5^Gvrs`-TRFAOf3=fu1Mht6pIv1pi}ANM{ZGFsA=MI|sCj$4o>A5@ zN@+1c0oO#CWfade5?(iX_UPb#2^E+;rE?PW1k6T!q&q)qsK#GjKSpFdQHTGpdHhvV z9UV2v(JyWNyu1JX-kV)%jyAgS7|V4}{i|y60tTG4;9NDihiOJ2Z*{Yav!vA8i}m#z zYb?^en7y=N4Tqj_cyq&e=leG{M=Ot^3svNO5ViYf+1g1qS_d|b+ENRC|4XmGb+7od zO%d>fMApV~x}KE32((+1BXIXPm*L7Sv^@6-w~%3pdKbOcZo-w-=_{gV=4~R=>JzXT zOpg51)bVNU5BzYm{q1JwzKjyOkNA7=?dF5;Zp9xsS;1i`2=Ut1nJY=7XC={ z=~d;TB+4|=MZ3i+nFvz5vXPk+k<_|<-7AETmt8pIpLS%va@7Ac0mTGKLX#rg>Umv^ z->3Q>p?W@?bC#QJal}&Z6eKwDM9;Ca%p~#uY|}?alx%>%!%tnLq1tXFJZMf6z%+Gu z4#v*Ar<-hEaGjf>>GtfQQxB-Z`9I2jx?Zezvfi_$4|J9CO7x?*!&9G!h zpQv3A?m5(z$Dd7b^fC0l#OP~s^yuKH9ZK~rhBlKgs7!Ub#DHZQl(U18d|Dd-qnOU4 zHq9hyX#SvzpO^$OoY16WFZ1V-o~d^xVVaHb)gTVr^=MrZrLgr9Rxp{D&%`8$b4$WS zrr@h-J{w-C*=UWxq~SN>TwiQkVzE`&)9dFEh(sk53MPXuk&5BU8zImH)9Ho|pEDEQ z(7}!H!^Uy=i7-!HZ^;`pp4mcQ+$E0Y_K@iM6YU(NA}mA%eD@+F!&*o`Sg~2>M%`+o zbl)4`zn2(kia+$>3I7CQJ4}q8VZIV-4pSacdlI@e0jhvL(hr!S03S}WQWj|E3&V4N z4Uk69WCT6wh{6Z7O7MjKcrGvkPX{w9X@9Q)KX6&zLj4nd zEu#uvh=;IVo%`)?zG;8+;OmVQA_ht`7NvoWg%#gX4;23ErWkn`S~zu1<~d0pZr=s# zzt;2XnhR=dyzw-4(tPj`>22fT=0>OVwDaBO{TR>rwU;eSZ2{{M{6>P?+30wgZeH)~ zuD2G5;J$4dL~7fr{G;|p>IG5OvVX2iqj1_czC;V6@Tp;jqhe1Lmomj`(AN0mSInlw zwK*@HYUIt9zV%?ixm-2p(f zAO379cuMW7V5;a?#29~MuB5&S|4H2ahIaRSB{BYP;Jk7 zlw$2QA}rS=`(#PRM&#NYpe_X0w)FFA z!w}do&MCdrD!FWzJ_Mpn|B)^LPbB;29i9C%()wP5JW14x=l{D44auNm(|DFKxBX@Z zn!bE~pdPl5R;soT013-BoP;X{>txatP@0_nIi^`V!9quA4)kT%p8B32acvFb`rw@m zi`>K*C(k+eFl7F;ZKea=WQq>6?Zjl8re|Sc8yRis8i<0xUU-B0*+h`aok6dbW}_ZQ z4Z@J*&hajZa9tun3#DYa9_gbD>`|0WoL8Akw=Vu5w!LMI8-p4kkQpdZCn+!?bgmfc z+<#Xte3mQk@|;Y*=`X#~23X@TXw)%{ysYNJhN}VCMCVQn$wd%Y;~HpCfU}Hed7qNw zJ%dMPlJ#?}iKbHF$?sb;BRL`4@wMSre(-Q<*@j~fvZiB8D@<#E z!^*kb=edZhLi%#fjIj7I*@fJYCLK7uZ7o23NomMt&7^rJ+gNZd(y-jUmNJ<6q~Aj8c9rB!2+*1#lck`I+|8;MemDF@P(nM*BY}Z zt_g0S>)h*w^ecUtJf1GxNT3f3#YblVqtE&9Nn{$)TJ5zU8_h!$L946XZt>vjEtCsf zU-I|U`uMZB%43PZE1#jfJQp%guy`Q^P&9*j1mkNrb##P=yFS~K;NKuIhTP?_tRsF=DElBQ15=_Rg? zARzIh$q(;~&VE@UXfrpNy_wENAR;HKRD(%(S(5BU31)=K68U4b5fsLVam#?8RM1xS zDWj`8|7R_uu4?oDKdTtok>VGcqW!g0%El)F`5S&HelLCLr4tAS#7E-W7>oTLIIQt| z#7}f8YEfz%DCHk%K5nU3WA!Qp`3(dts zsU#(%7PwbE6*7jj#&7O*#_`7VJ$Zo#3?8aJ>k#ISmlPie|ol%P* zDQ~+ZD$C6|*R^FxulSMEz3!@)K+=WMtCgj?+}q75kkV0{4ZA6K>uP48)?-Kz{e*fL zQL3NYor?F^!)c?3TB}zhG^0oe47D-Oycm%lmE!T<_Aw5i4`6UC4!hI%-=FoeQ8BG} zJJ4my96+%CZCb>&&R6asvZllz+0;B2pFYu_)_n)ER4;#5co9JQSpb`?S>rXgm&eiO zqp{bRy%)Tep;g&yAHEE}l?3R0=btCuH=Yr8Gb%*K7p?o=ROP8#+HQ!bNK;$DV>7bn zyq2yc9(RR2rZnzc3^=O(Xnu5$IGVKgKBfJGm1TkOn`Ybc9(@C^&BndDt!*pDR zlV!|au513fX%w{`zMsb{1^|bZf-wgzA*o;VCOSO^e?T4p!UMrh!MHRdS9nKR`EYEz z{fDWIgX03dXf}W6<#HRQUCzEvSz=CpMdRz%FtufCto1_Y1p)##o&wkaxQ>`-$yUa_ z+oX3cKbiU0q>|%0-w&}VoYm&HRb%!Uz;n#`VIP`0oRvusxq#c!GKHYEns#D z?|Xyy-QM6=ZKAa@9MccqbD&gX?@n%su5#+xnxCRt9m_|r(hpP5RKPTGRpE47$P1h< zYNjBn&8xfaAJ-F%Gxl`;K*JC3iRNngrs+OkqoY%+2J(kj8Lz$Qq72>O#r&MGBjM}r;# zD!ZSLRwQL$y!e&2Y_yodXj8_l7J8hU&~nK>A*i>+VT?3qay{#99KWj&Te;G}8g}4W zNJR(MM{P1RTE%Acd!ZgQ-Br!rNWIY>RkwsK;63c4!&J{5x#0ln2RXNPw8Gix$FwJE@SW26xW znQPdYhKGmM6lFRh*=m7}vEYey9-QA7{&l^^(i15Ly@(ixgAAL;PC+}Hk*~y=5MS)yvPzv@s>Py z^}Y|%xqUXLP3?1e|LaAHbCgSN+$_1lr}RNF2GUWQBgrtHS^X$S1f#>YF?8|=UB1~h zcBWHXGWP-r9S-9E>5aH?!It01&eL6^o)1C`t77wMU=27=kkpv z$K_o)!`f9*ieU)viWkBriWpVvx(y1?MkXjr0roDURdjnW^?&ny=P zisPSNe#VF21ar)sVsu_HfS+KV@FS-6-VE}^c!hBh9jpFAG^oyQvDN8t#@y3sc7f65 z_x`qa?_%xVfO6ZcOz@~gUZ!d5^ooY}Su*25(`y6s-#N37L{?Bzw6oFNl&?_{!&R#R zHnWVqjFgMvA>}rMPQ3YGAV_nqbIi$QD78%36sZJ*rIt$&{!hcdEz&=5D$IS#Q^kYA1Ws#OmrE#E%{K0M_0IyMbF2NZsf z3t`_2XA^##%D1|EeX#28r=o$+F1W#|ENV<12mz%|jLFG7(v~hXXYA(r7zC!6*N8bw z@458pI;;v)6L`3&vK-u6RK1N>TI^)UR36`|jrQiogU$Q*BPV;&n_WawL@jc(cOEWw zwBKUVqUExDP`*|^!ovfeqsIJa=BVeN+*xK0{3+#q;2=1zA4dhM&@~=4E3q`YBM^Zr zvxF@0$8J(86fO#&hGmfKX^8(b-qc)^h+L>$RUx|x*pXUaO4_T!q}|+V+cxNgtXt>; zo%BBXnrm~G-oNE?M{m`uy#w|96-qX5t_m)^c;pf^XpsdAgK=O8KOs!(BAcRA5{W;U z4_-?|TulN|{v370QE#Y4o%iW*JRwIPmn7dgO*4YF-|R5n{2I+DhPh%=JyT4oSE{?| zMNcBYCQdYlTCC0F4Z|0mza5$Swxo(4=4QB@4%Bo?YH-fj*aYA{`gU-nN{ZTifm2TS zXX2XUQ`{faGybd#9wO}$sBg5h=M9Lod;r-CeHT-yWo*CH6BF)XAa?O=@LQSyVgWNH zQY2;}zy&_8&joKe-eSYI$y*zr3O^&WhJPqT6aM8R4}M@H4L%{=4t}7R%eNK5u(nVb zrtlOsxZF@oOlF=*k7Fg!2T$m%e| zk`hSLju{#f9+q~D4MATb{RkyKK3aK^jo$hG6sATD-41<8;m;V3Y)I`mHW9b$aOrSM z!4o#7;QUZ(b34pf^-NtRcQsg-`-wO_fx@ycmUN8$GON@tWQOQy1^ zBQDFe;WQM<1T1i#!Z^OhS>cyxt~e_|telSIwJ=)&Qp?Dr}A5cKB%f!T>8yHaLwp2Sc)I;*S&h5wnzUj)x!35vCJ6XhN<#kIWX+ zsX6o)NzV^PU4EEZha|z7j>eLki!q&2U#No;C8hK?_Kf;T{_c$ zuH_5&OYq*MkFflA#Wvwdq9#E<$meDi%#Ze+=L(^B5Iok$k|vjJAeYx7UB!YV6XqWQ z5-7YnL}qnF{tonU1qjhd;a5egr;_WY5Q#ugLmF;E%TS5Nb#+n^dR;*nHCaXE`^vN; z+{jBRqQ5h!famnDc_9Ni+UB80CX#b`DQrmH!^;a$!7>18z;bIj6@6ngzHBrN&uEI9 zQ+>U%B(>?1OeOKZL~-~aLSloAIaG1T2qY=M8hwl&40{Sc9%L>2snJBZ;Dg-}Mt87n z9OKKop@=fFu|E@O=iTfZ;yXxrMD%9FW+%O zDY=ZLHYUfEx4flRHtm$Z?xl7%6O~U8<^IgIyH6>lb|znyM?s}lCWTc9hcr5xhGLu70eRmw3)s&twvEU^xbK{&Dg``_1Rva!7 z5*9Bq%quWiN~+~v1N=t-b_n&7P2LD*-&A8ZIF-NVOU>_r+r85=A96I1yH71$Y69l? zIv)>aeZD&eK%TDGRT*{P-pXa`iumt_j#(C!!}0W%oYBsEd2!ww^saSjy}`HE!y#oj zth~3b#?fbVOv8Lk_FDSzxO9h|ly9yRcYRGqcb!Kw)yzbnmEn~tdSppn{*Usms;Rrn ztVnf6NuJ2i-M@1YDfrtOArmVEY6Ssa9(G)|36>D_y%{En!`XpE!3RCxc)$7SrI++l zZNJ?6>D589v;AgQz1(|s@S{t9iTB^HR7V})KSwM7v;7JVeR{TGo;}3-xcllUqv6%|%UzdSZ9na&*?XDa)udVTvWU=iel+385BqyRy~Z2$ z5XbhaJ$P|+=N>L^+lJV9WvpwLTI5@pZnSj5QoYbht~7>!|97#?V%s~X*kVsR3BCGR zA9ED(&J+Mx)OrVC+g#Lf#JEo!CS-k@UUWG~+>!^<4YXf`bi73is7Jm70%|aWNDLu) za@&R4;!3EJW{4{_bj1Vg!Mmevg2)y)k)mkWv^l9Q=fb@1hlia+6Vh>VxS&fj18lO)~KF!$gw`{QPyINd$iWCefq;KYyEOl7OGTOEf9K&z*LnNdSMrv1#e? zmyJX(`SGy@abwGPRlM8k7|=rp&7^a`>8UKg;!B*M?@sV5C8WRbRA?N-I13!UOMZow zaE=5QY86Md9b9Z}fuITh*oW_23wKWl>MNqXr?2CWRz7rlpgF;>INHYrjxv3kU8d=~ zYaeFv9K()kj=|bkV;f zx~E<`fyD*s0Y{J&w+P$EJpiO@nD#C3f076090CiR0#_(h=(~$K@`mh^QV8${(o&73 z3hL30v<4$FDfs6N1w<@x_G>N{KcIM5*rUDUpY08V36>CgWAHk$=$}BByW#0YaCv7} zqGdbBH|h6Jq2j!yp5G=~#&FKW-g8Ifa}O|I5h|TnpZ2V}7UJrTus_T(HD7S>C9h^+ z?Ox<`T1+CPKNJuhGAP9O(hSP*Ctv}W?`YBV@#W4gz2!~p9tJC!Xgzm7zBE(1!j!6& zADB3v7!NzW@>rGb4!K2{kLlAFdcyZ~>=MVLycx}exnGCEx6RKR!S1=*;GWY_Mb8^y z&#t!(@8_^*!(hq1MHfN`MbNTMj$>;GAe+aQcW;TutD1$fh9kP-L$d>?hiH9#ywJKP z3ZIBL%z@e(OnItS2}I)CdS_U8a4fWwhxf@XMJR8BDT)PzHX#^D1+g(`VXr9AG@sn} zuUg5GW7Wdd_-0Ks77|5CMyC(enwwH1{^4Lqx%gbG9(e^du`PDbFEm=pg_&j{H z8ho_%bu%`-3oCGWcZ#7cVK8-uf+&vooV?fw(4z^-s?yo&Mv0u@BVRLgRO5Z;Xy;^+DdLTbmfvBy21JCq_-)dl!I;t0qK3f?Wz6{tdc#pc(a{ z0WEQ3AAb@>f;h3174>4VCSm>j_16Bav#G5`3G5;^6(#pKwVfz=u&J#?$-_-;BTByB z)E1)Tn@w#WO1|CH)}iFPO>G-WI_*tu8A>`h3fYB{4h}4amX96C|JgO3 zb2zmaHg9j1#wl~ZWX`xTyB_{Q*CqID%T8No+C=i+>dZSScvSQ0Vq!e=uzfGzKu4X&EGyFM=Ho3qllA!c59Ya3PE~{t9t0my?gjZp+mj#%p8QMM z_7d@ZQu2YJ6^fh|PD3jq5y|y8cz!6tX*-e+;UImmlgRZcfIMB;w$QoV#7pJ%YJx8ln*IPZ;Mue>YHFBUJX z82C0B1TWxzvrt*kiZZEj*PGkJ?i=+colcolm>f6OIu8(~4*_{?`4mvv+1&VU^I_-a zM9O|l5B(aHdvBOhKX(zz#Y#nD{lC5`Ecd5AIr8)I&E854(*T$&^0Xq&O>PMI%XXC~ z`IP&h<1%kuq(#v?OPlCBtt+i-cT+5y*t@`NbG9$#+H-Y8`iE5)T_&;LE6&wPZ}iUO zUGyrt*7`hGluCpSyVzmZrZ=pqlW4FIuaf906Nnm#qHc&b#JW~Noq(;QJDlW`iwuf} zHH8#KtDw-qR#3E14s1@1FSj8tQ*zso*V%()P}za^msgq3i2- z%gXrGg5yD&=NMjjRbPa7VS`$Hm8W);o2{{h)=V@BpK6bOJD{Ke*Gy1={MKkEZ+*@g zHVYOb(j-OqH#yyy7`haDM0uDg7wioS0ej$u<$(Q{ zVnKqhq!Q_H9qYQXtZuAv4B6Lo>E0?kbeFS^y5{=IF}6CmIa$_GEbFjFM;filM(@X2 zKaDJ@(;)e)KzS@h5PNYvZ$%)_TR+~PQg#J*$F^#r$^V0zav-1CFg2@Pa`X>boZuH@ zJG6@ME#=8|Vti4S<2N=Rd?S?2jR&Y~Zrs1kzy$Z#gN?XM|2tHcU$Er5kn3^n(5eZ? z9?*O-9QS)e^Zd4C{zatzN^#!^{9MK6zasyCMgISa{QnjC|10wUSLFY%$iMh5{IAIW z@jp)B|927jZ%N>P{W}G9ZVcnnT9^|!pQ+r!?{}ZCLgwgfZo4sq`^u{XF z?PK+q-vy@{u_0Q2F@*ZNlj^nlwOHL>_(pVb3}5z&?BaS?q2FBlF0=vz@i9L&t>)?b zYzzl47M}yoKI*5x6F<10to*otd-uw}+vd;V1XnL$=5+|{thFCtb%#!Sv)$Qz@a-*a zepj%Gvtn;f5E}9xA$`Z2s&{ z6za0m#+MNxzI8sm7`C#}WHu#7M=h7b=cnVmkI5^uX@)6-xUfQFI_9c=n2R68LQI@W zQd?!$WaOj%8*FfU-^gCRE3&Cz^J0Y|HfpZgN{NCU_rmus36784`$e}mshhBebAM1$~n*^wSI2q2)vQe>l zbcah|6w|9=YCoYtx@LgxbUYrO^gvf1>xvXO$aFlJ*B&r^#*K&R>9ndfYc{3+PsY>f z_<}y-&j3f4>*v~MIvY&Su>fDE-M)u*ReE}!W@qP9e0=}w_T&RSx8DNZr!L334}yNz zp@A_=UouKB2RfB*^3UXCJRBt16z0=UW}`ux53>>CEYIGh({s?4&(5LMud`yBonGNw z&ChJpF~8*qp84f;HXOo7gm~6Tl2h8X_Lq_OWA+c-tO}2M5*sv${%o4`$CIlB>nf-G z_cZ-5<)1Fc`2fdGdwKsn$Gj{yPjlvRpQ#L~ zv(LGe3h3uNhY>Hv?^DKA@;)nOyC8^x{}cGBf8K+)lLT6FAq7y$CMn?i0ybAK zfuW!u0D6iR_@Pf@r#T!1fFN|vo~CEEXt5&h(Z#Bg2xqt78xCP>;4{*%YS0 zyap4rHy7f<@fM{GXZ83T65EPrJ(5swd=n8qWYf=k5B4W^8gCqAlS1uKIkhGm+MIc9 z@70UF?WZcRwJhcq7uv?cuh3RAg|UOi#^Sf&CEX21`8=ks1qpcpxo-dWGDJKGHRk=j zr#shDnLmj#Qt@O#{s365H<~Su*k60sa~gi=8oZj4!$- zC*z@sPo(zp&9P}t4=|7oBrgS%O)pM{R}}jpzJzyO^Ue))sA2L9gJq=!%V9#@`H`L&}^T!IqtIYQzp*I)jqO|Ucp`>ey z@AqD+m)qLDM@gMq<_l_TXH5hfMxP*CFC}AS72e@2*Y!9gNZ}w=j6OuPCk+2`d}P5oBbl+A&Lx zh)}RaW*O)*^y#x7j#dhM+;Sga2b9hJ?*rURocH*2NP{=kSE`}cl+6w}wGK{5x9}#Q znqSd#-DPwg{IK)8HU~Owmwf<&bOxn!6qSMVD^}b^;?H~iDHZdafzsD2Qrdc=yauJ5 zm%9chL0PG}cP1X_+l!;T%ZR3Q;FO@=eomACYRO2U#!CgE5Yt%HKuwHU6`}P*RDJf; z0!XoJiJ78cYo(A^|I5S37iP^CXxRkZibayB^+&yH83kj48AZ?r69z`uNhxO6$1Da^ z65b3g8;}{dgh>P}Ak|2AgJqEOd(HSRS}h$XR>X+~-6BIGlGUYTC?Wlf%cQ2ri;4uu zEi3S9_X4dYq!UwsEPAdCfkc7)@GEA*!|{01^2k3p1xz5LqOmwJ?le~b0Kyrm6h2RrQ z50mkvAqbq$R2O2eohe*DuB?~Zr?TWBl8xACO2XUMT`Jzm`n~pSOVla+e=_L~NFP*O z&m+NVll~)HT@GFhPlhaUi>^roUfDz`5XA3%{I~!ln zqx<;CY=lkq0Dm>Rxm)z~%E6n5A3a{G!{9lIRae)h0>I#N*b1Yf$DnaOD~bC}4%|*c z&g^<#8Ryv<)~J>rIW!?hI9hqR|C*!1k5--nAHmWPbzNR&lkO#Os&kM67$CIUzx=+l z_6D>(c9yRGn(qvJfMDFbcRFWSz0%^#O=VWU<}(q9u0P$xG+<^01T~N%U_6g~9J$}H z@|vZo1XEX3Y6qrMp&ihtq#BB9e0@V8U#OKHK3!Vth*bH z)J(_wtOZ&EHgA}O7+MQj3Ecloz7netdc7?8@m-bAMxpqr*PUA+p7AIH9D4(ZgtIJv zY1u~$g*0;#S<7Eou;7i5d9Ynr8t(gSI8=M5Rwt)85NKFmCeC$lYQ5>5S01fpcUR;c z!w+nImQ%IWNE1yEr+_`0XgY#3Bib1b-%pDIZ)HK3^2>?^B;OkjyQgPfOj!gpY2}*qgXN?|R7Vk0sU^og z(N}28@spaANWvz4K~_LXYBLaXk5+bG-7^K|gEudp?pM9~@hQHsg~H7?v4Ay@DED5j zZ?`)eUvGT3-fm->zGh;Q2bm;h&Q8OhiriyVPmG_+O+;D;rJo`f*|~ej?Ch647S_Gm zdv^4JpUKcZ&m`q&Y-6TSCB!C=Anp=0g8v0Q>rOzdz#@e5%ZxNKkNnSOW)}wc zZvs>MO3i&x`({@5gWkzWI^ZG9?WI6Lc#(OXYs%%W5V18-YvW7isxBGupZ~0aSV0Qs z^MxGjuleYs*GVX-H&yJZ&U7`KX2TXR6U={vn+0W}rBPOna^@xmgib&ncDVG zM_n6n7?~>fh8?gffcdMA?x4tj#{@8nm-MbTn)QZ9cOGe}i=uA0|ERQDq2@HbDx~d4 zhTWRrNc*-CQNTd5Zq|Nb)U3G;BakKb6a1Uq7uMI+{O};qj`dykH6n_ZxDQv$((`;W z@UG_l;F%KgtK(*jYe^U`^Yr}i4`^qYI8H5BMJ9xju@3C4 z=xQ!8SI^g57agWfw;LLbykH1=NaDg6_SZWjToaTB7<`;VBf%YaT7@ zm@&{Z4cFt4eX?<~_7A*1f-sKd7ZICD$FfND3if&FJTT7Tbg`$Sjo~=JlmC>AIgd)M z-b}}nvbi(X@~2Tz(YDm|`(FRu>2Ow@n~n_q3w;eWOucTi(c&PvzFbG}iP6A-I{*1k z6}~Q^BCl%se1s#T4hI9;qzWE@hf&lf-mH&pMg{(ds5A;V%yojmR18*!_DALmAGiwi zB{4kk#^`GwyhQ@99rF2haCjG5c6hZo288604}5=y82eHf?XZ zgQO&+r&)dhyzA+n`rF=5YJYe8#f!hGU$$QzsDr)ujLqe}u?R|Sf;zU|w}0vbA?33X zvnY`E5#3nsc?*lnrPK2J2L}HRJB)f*CHv8g_Lk5*Q^%e=CV%DFR6c~s<3^9~f zBEnwgtU-AG6X-?Cr|g7J1Qk6>m=RY1A{p8(0T7(6QRzj0ToM;_KZ5S4(F-&$JpI1K zx0`$d12uy9gjpsS?bML$5XE88;P|jek98w-4w;OLG&D@=onTwp3F)8gi*bS1?bbqp z5|el&zV|L*byFlMHWfe{zpzqZT`?W$TRYuA|3)wI|7h!h=OISWRoiYeiZ?)O(jqS4 zx8taZ|G%rYXVbB{m%@>H`ghNyJTaFh!TkLpOra^F8{5wjIySG9ydUf0aAWh~@oMzV zH=ExblO|vsyzM=rmmi%4V~v?mlh6~;(zj>77Roy;g}L`m?ERnh6bRFpf68R#8inlB z7)trlr%}0-4s_*j?Yd+I@-O;s{0XWt%gW6 zIrdYr`(;*i<_dG4W@zGlZ{k1~6xdzGWbePA^@1OVdpLZE=OTwNA!Fs5&;Vi@B@x(4<*IQ71o4(LGn%hlpEwvT4iKhB` zT8RUHaLyjWcA?o1ZgVS`&qZ(AKWAT5-n7}&*lV~U&#qAmWD=i!__##nH$ab}7lR}1 zepkJcZstJqIP-1#9C`S}BHXylI&=R`XTaDDP-Uk=UiVvD{zE2@l)OSERaXz|TSICG zdvf!!JQG#bU|z>uu4%E}g(b~8_S{uJ(K@Qv!`^5FMDbVl{0)y+YK&gNTdGl>`dSTy z9QzPAjFG6ZMsW~^cRGKTU!3z_BBaza=M~trckJ1y(N2{8&xBnhHODZ^cTQ9xxx4=k z9#h6a1^sJL+U_XZnO1hmS46AlzP#-_k=)}@35^5$n1LU_`2j5?6VzlLGB-p0Lf(ei zu!o8#T*-~6w%=g+T)Xsl>@B9FlSRlR8=(qW#0bT=!Jk~=tJ_=5616R|s0M1vnQ@vL zr}fZf>KVLojx{)W|4Gw+#(FpQglTpih6FIy0^*T^zgT_D3@{8A%POFl&TjjxhvD@c zsStBk#!BS%Za+e!wSie>ty&)oRC~sEf(!0t8nn-FzUNta?MB zs=-y@Y}Kk0=Wm0?cW51kf~lKc2kGxb=WBmJLhm~?ElTKjfy^~$6LilHJi5Ooh;j9i z%v*pRONynLko{}Hd6a~Uu(ylxAUn+#>+Taca}jBxNAkh=#<9~&2c_!}>TkbUFoe28 z|GNdZF8=Mh=_S}?UUJ2%_q>W)U~O>AeAEBH8CK!tG5j?;c9*8ECu$wF0^r-nY+rt4ncv(FwtZC8=`^t%;)!{@f~BtjuWmhx95k$;8v2wg1$2qw^chs zyeoOC!+|(AK;+`eaZP4Oi(V;WMz6d(6foML=bzxl&$G;b%7VqD5aTR@$YyEzS57;| zCRTGWH-XFF{e{t{OJDkxJ1{3R|GvO&pXuSFm`>!T&(oE{YoL1tkYHN)R~zD5qY=Su zvs(L?gy`*8Pr037Fs|~zW z7Q#jRhLC_8XbZi~ydvYG0^}d)>fX>!Ttv9cHzdcn*f&obA@fXcs`BwAeBSa}4L&sK z_2qfiKga&9-KC|xSfr z*jgA~_Eb}>G%tQWsy#K}=IMLjL0yv~g>PcYQ_+`Nkq@dS=}oK;KO&b()fq99|65iMmtJ$d*|T!&%4gCqERB5#79LE zq9%fyN)gzb>QbBDOWaq#^D8#K5Jm(13fyiN0awF|G=uQxg?cH#{hj+bjW<-VO#4owxS~(kL`^$735?ce;rB4WTbnvulZ}>+F6g;7 z)I?kgy8++A7)kh0=QxIU8~hH0EKnNqD_~~mAJXf;!z(A->b~LL8ie~&a7fxs&}`f* z{fLxw02Uod)&%ea9?E`;ET>Jav0JWH$m&{Gn}h+g04O_KP`izm%{{6S$j>`|A`$b@ zHy-en_{o)u;M(_)5{qrAie6&o9a?omFGWKWfys+e;etwq4|*~k4}CW|tsx$97x+wn zehnfDXsFXNpmYbbG)hB}aUCtaekMpr69+DfqY5Aiz4&vMtZdpTt)sVQCBRjs53XtI zvLn?l-{jObEL$B+Zb?Iw+7QNRNYEy+j5$JD$vun2p>pE49tg!G1E^*QgE9vomhXU3 zf>FDSD}4Ou{+rUH$$w>rHY(#}lJ@dKU5s&+QK%mSL-zCH)Y@($2xsh>hZ1)=;?BI- z^!8oNY8>W=o#RC1ha2?w{bQGdh42k@1W-_3B+q9qa%Caw{Na<1pVHs&*Psmg&*5~9 zz7u>5p;Ue&Z*7%!&&7EJ1C^HCwY?vbugwE8T@(=orRaG7>+InB6tih_{=YoYyPr+go$yggMfKy{g-$U5-nO!86OV@5+7Guvud zP~-v$ZGes7fvoBYbUSP3Zy%vJ| zS4mTNtovfXymLZIRCHQ+2g8E$Rpbj{8q$eI#Te3xWZxgHbi3o>fY+Vx!3UZOWNW+C zk5~7gyHA^Q;dfy(oVMefqpTpK%Hy-~PK1qrWv`VTH&_>6;G+%(ieiFp%r%KK<@C)J zXH2{1jOi?-dtaA>EjHuQ!By71J$u^z%ZKE=^< zL^G1Fd7!)FM4lM#kodRLDWx`93upzD6pr9L|7tx?Tv}_X(4l+p_Rth)FIbz6NVl}I z@)Tj046N>P(aYbV>6}rZo^#9qGD6RiadYF;pcSCmE1|@5YW0+vmX-vlytgb|MLbV= zJWqFTZ7C&I>d7?(bA_x@wqZqJJh3pwFijoRK^9eQJP2K+i+1$`<$5wP>9Hc;uT@2S zplkJD+P&ya8WjU4N0s3sVnJ=K7Xh6`$^kX9}w*+OQQWxMyl+kV}x#1+!7_PW)XSVFPo7`D|UNqs!>+^RsRZeA@uf ze9%4agiOz;x-Z7)R1+Q5#EqdwT$aEJAZQNL)Eqk;?;3G3R>$Phh*xqVebmq3$IBpsVK$E1Mj8BbK;aI-zAKcVqw1)28>?M=S zkac*V0O}6CHGunF=nZ5v{4uAmFd=CoxXA0PEPzS`kDvtHLlbhk_{w%)IlXn%H*Qo4K{ zB{6ayrg>VRDnwcTN5iXfRZQod0w4S7L@15OSvpGd9;XrEPSc?r?TPBB*l4AJ$na7z z+LT<@&2?&c3stS$FkSFYCe^sI695Fb#~hRDNO9FFyoBb{BE@ zuI#_6mr@^5Ddq6c)8f6(j{WMpH7KoML?YbB541B~nuYh>*kJ&>nBEMmvK)U+N;e2j zC@p9kg8w>XB z;0IqaC0Y37EWNo{3_6*`rvpzu^8mnKW&Ezqk6Eo5`h--Pdng@qBYA&VO~Tt2xcW2 zj!!@fKvV-ddO4-d8l@jV=$@t%uB583M~kIX`5%oYI{nTxn~*?aBiLif$Tur0dH6}z zk3T-*f~8n^0=6$!y@JzIUv^<4E1=jxh8-^kaXDF#DW)|irv#=#8BwKhK$X$nqBA}; zBWP3}tG_JTa8s8@!~bWejo|&4TXpt)le+hU^!^hBM^rkKfAXX@>p;8o!iuyxYI@I6<<1y9`HRNeFr#=87?%{(R?pT?CZVIq_U z8z+LsIt1Xt_-ZO$QK+GB0lg{q$HQ^Hxu3@7rrG&)G#q~I~$`|z3hshMWE120y;V^IIZ&1J>l)2*V|Z~rWj#{=%oWIKudJS zhF0OD5mO#fD6qea--!UVsQl3>sI-ys@{%$#6ha{}Inp9K8a_!sr2QF?=_Sq$zlVw8 z6bHesw|2Iztu|J>T#nbw;{@l3R2r6Pt8&w{lvxa78ng}rtZJ#Sc4KdZrp91NmR=6Z ze&8<%twca75hSA6sZnTCR|=L9!DYuSMm=t9j^}#j7{CZ5+Q5@2+iE{j*<=4eYJq-x zHa&+ItE&t83B_i+wCY``4ppf|)=all!CuR|UzT*S6v zGr|d@+fni~Ett&NjvMvc5$5gKPW8c_f`myI4>v-p17H@o8t3T{ z#(={ETeGd#*}Jr3J_(L#%14acdM1%~k9$BBSj#xJi>lt0 zNNPV^>ujh_XR`y?>lo~HHr6`#>FI;b2Mb|uWkvtj=D*s>#y82z&NxraixR@xfK-Vp z{axE2v2ARwon!?T{|c)EmXpd7*{avQqPT<|k7-oulctgZFwJwi!94}(p35Op2r}#A zqx7;n(fu|5`A>eBrzoIxy?0I~H8r!pA5YJXO$eRC&7t_EXQa}DPxF}``=f;*9AB$~ zj~|HSt!6MYXLW(x7vr0!LyAs*fQ*7ty1+S%DRvecy)^ijTU9f!2Bu(WC>_v(!+yDb zxV`p&kJnq67rz8V6D^p~q`mgtye3CSzjQ0x2$)>}_R6dDQcXNOVqP9#G!~g15EUjF zW>Fiapy%faJQ;!9lxKZ9_B#qyLOcO1(pyI>brXj_A#~cQ+P>FWgl(d4+17UM5J+Rh zk`d2Fyippq6s_we(UGYlb1)|~{-PSXFDeKkgx}5JqBpw2GS>bKlB1PKFQQ&GB~CW8 zjMfG)&K&cSB-f#O?rc8(m*@P4@|-{1mifcb`*n)&UMESm={8!lRDYEf6gz?i!o1wr z`2V}=nZ^SO`A?zg5T$MYhLrYGsw}4Co^%X&uiqcfIF9_Tx>3ajhTaFUDsfpl!bXFw zEmuHJ973<c}9jqAG>yPy7{cr5D1l&OT^?*a%8mvy3L}8ZRtD?D_xKT0J`Y{~AX}hkt1v_SXIZk^@KvM@MT%N3COc)oSRc$G>eP_douVQiCWj*8}%ZiS+;@+K<-%+N?`;1*f}ed^uv* zwBGQtcU34;vpQ1WSMTb|N{^18sYL$PG_d;3X=H30rq6U_5im;M^OAgme|r6N`(W23 z4?zXwt$MS2U}dkZ*V}L2{Ia+Iv~jO!`q9F;UZOsl;9Ft+CzB%`aoU}trH2_C`V1$A zdHjvchlcZ6r$Md$woJ1%<*7I@SL#TvyjueFP{lzThyKDIql5FwuW5g}Wu*ozaArn- zHJ)atm`O{!h);Ssl>|5hrhxFTPlh0h;u|+7>n$v3wSG=;B$kxNzgg#%YwC~2cU9<- z8{etU2I`R;PLJ%YwMma`-)HUe#{M^*jb;6B0u}RSy7;1};~*If!$UDC9fi53uEc70fxw40r{6-^K5`XZ#(*ImrgH$h|QMbF?dt z1;mGKT;{3a_$;Fn_sos2_#`sL%~~^9prQr8Vj+;MpPD1$Sq@tUX!PA1DiESSy@Y{- zH!%L?59*O;Gk*^1N4 zmaLoN@Gt80#h+mUAl;!^T6m70(ub4QX_f;`ameGOb&(AQHWGKj^k#k`27^EF12>&x zzjAAaiG-#)_f7htFFk#Qk2I=D^!9k3Kw?81#sC`n3S?yPWAem@mOkNKWyY&%r}dVD zm)=qenzvZ%QvY~~uG#u$_WjYn@ZJ5}gkI3CCjU%Vl5brs3hav4Fu2GW!+T$5-^3xu zc&cqxWm@@iYr`gMf!>Dc`xIrPwt2`PyUeK@t&8zs2CMxg`%L$*`tZy5cpmskU$#tk zRuEbUVV1DaVUy4%GEg{{!U_D))z_RHXn6iGLFI8V`Pi%(-z3|zz=j;@IiVZV@#Q2!oXTFGAtASO!F(@ZX34rsL0H}ORY?; zV8ab8(+z}@5~$61!jP0GUch3jt6}Jyd2DKzGU-fTu@)SLr#nA3`aYqC?!OlR{s+Ws+I!=GMj0HUn>oXF=2nLsxF1T5NO zM~_2;uXuSNVHJEJ=wc69n)le$)~$d0*x|!-{I-~+@X0wCHh;`k!x9ElU(!whpK`aw zOXid)IWBsW$|VGE=sQLivg#58ZG~EwZ_4q>Uy{jmYk+u-s%Yb@K z7?3l@w{F_WtjO!8PK#!zj@CFieJz6NOfS@SIb_iAw}23j$n`u9tB}R00@VTSq!?u& zQG^;rfTCcVZ-slD5jNmjQFCymPim`Qio^qIO9Ys6!gLr!vTeh+QCZMP;THA@%8bQi zn4x}>SfiFrZEoAS1cmvQPHP*yW099nr3*Sx%#!vNizv(SXvU4pATCcP^dQ zFR#?@{%f_vrgRy-tYcuwp+tY&@c5&o8XFzG6|*;p6{BcV_@MPJy($`hHZ-&o6V*!L z7_g;t$PSM6Y7Kaq%#hX;-?mSP)-_eWAu+xxVc;FG2yA9OFvP<~|> zRA8EH*&)_x4}5+pPJA2IcpX|ixsm@MUTD>OUv@fc8(-sX(8jl$_a9vM-e;vhE2iTM zNyk7w2Aqj_7b6>$P&;=?l$^#WfD2rgSCPIU3RmD$Pv}#($q- ze)joOro;ytjL^XIX7|PJ&HW;EL3&-V9Tdau(jH7a8PR(I=%uMMTiR6W9>hMVgQycQK>Ans?v&krAdfvD5sbp&U zswEIj=9)ZWgkWKM+j@&=dYgn#bv`^h;9Ex~u9+s3@LM1iN^AF)sNmHYR?4iYY-X4J zt+(u=$-M@sKh45hbGPX6nUq(2&dRyP<|O8r#5KFX)DoJIY>w>ZR?hG(v1^vv#-wGj z2*uv81)Q$<%x*NVh5$)Vlz3V8jd_RXpuo=mXr%~w+%hw-!GOox7R7`2k@Z)sM2c?i zaN~?@=vOInI=@>C$X@|_M!{gZpV3g{rz(C1-JmxZ++mQ{bbwE^0I$jxWCRibln z+o~vNsbUD_jTz$VDx|EIxZlRc z?=Kq&0yW|()2D}>Ek9$gd8cdqQ2t$-jyWf`qA7fdy4AfHc}H{1v;CkXx;9aP#kaA-&j52kjK3AuS|emzwz}z6L#O;O zX!K+|m@aExUW6(WO~}3bLZC6^t7VT*#i)Jh!?zb}2&yQ5AzGIzjhCLfq;fASY|VML0dJH>M>tOd3F6n=(EHgO-kLxXw;X0D=3wM(PPva zV78KGEyc#=G{)9DmT+tmz(sp32BwlpXI1`;Gq30U}9HsXeu&z0tbm80^mY(TGg z+>hnEAV&kt222>v@;Dc0kH+!@)!1p0l$68O*z~d-4^vx$Oy2mFDgXy<(c!ApraWFn zz2Mys6Si9I*j{b-BYWTlyERZJS;$t|*|*@^k+= zUg$Jzgdy)I)}uLd(QoFW#15c(bW1;^t5IEM6vIJ>qGdL2q`RW2MI6;s27{a&E_%#E`4tqn8U%W|q^F7Z7 zcsZ4k6G%tC8I8La&bPsBx;bz!{3uUOZr(dARCW?6p+u+ zc_ePyiudgP(WiWUGAAivz5_k~smFaDtqijFGGzd_$u7>kM)13_75zp$U=ueylKMya zX<;1PpnU`Wp9~K3j2w~!5H{*T7;Ln%5zOkxgO@L$r83=MCbbncrfrFpmSMga(Ak}i zY1jt0>l}Nj&;+WOXdH?NL!G9SpAjT~@I0Lidwq&p#{4^l9%Z9)lpm2I!*$qzQB=(^ z-06Ki#dCC~h~{&1gn~)u8u3dC&A=7*jrSCnIn^Kxvlj8O0)s<$k6g#@n5l{f*9jKt zjyZkMAvLR>J6gu*A=x{frj$mFHjc|Jir*l4oDTVf!FWr(WaPg%;Oq^w2O_Xgg8wE|O5OAo0DW|jY4tksmx@l0s?=2a*pSwfeGEsw6 z@3gLv0QBN0^`}0$fgQr&$2uTOU=02;<1cN}T`-DJVHlz5!42=*NlX3-F^*~d6-0IQ zNWANyrTr)5TSq9m4WA04$+_E<1LsrcPfzq?qIdoGrdND*i#d^E*oaEj4?kUosg9JY z7l>@VZ9zJgYU)~Hvmst(tZ*ehF;;j3bly$)?|uxQ=e@i*?+tn-53z;v_P75a$i4OG zVQKQv{M?kC5pKSBEw6VD^OK?V5Z8HDO{o_+G2vT|KEqs*!pU|*2gAg;X;R7enot3a zb0dmb_bSt`PSc0UHnm(yb;$tAi)^Yk+MrikKWiGVL)AxQ*%9vZaMC#z{TlO@oQYQL zG2-O*rz1LFdQKaabJ{o#JC9Dx<@^5x6BES*mYvxB%8A`S4m*z+B=25#5=+228FoUW zw64?4D7Z%FWvj79#{))3CxVX$C~NU82x5kQ=XYMY-HELhBfkjTjW4nxFvsyIwOLrH zHpn*$BOVD7_M9^;L7&MNL%s?@?Hk2;WE8+jBxa_amhGIZX^HnJaY4ytJ>R#QNC4xU>LSv!D7GS=tu=(b0%$Cr;M9Tx`>XMqrkzJ{lfjiy@;Z zva?Z|cG)-BN3Z9hkC)q&y86$mPiRzAYE(Fq;sB?iG@9o!j*Krqb5PEY1xb3(fv1>D z(cD`c+2R1h4Y*NonO8?8a^e*p6*OjvF67Xff^K7M%TY|9*MmrN2z`-k2sa9|zSB|b zQEWB?AA9)6_|Y%pcouVJ!ak5de&~&+AdQ0{E%L7+sgv+YRWYsLNVVzhjak(>yiz)c z1z)$37V-ji#T>o)ygs8_CceIb?<{#ca6M*ky8-99!)u`WGqO`s^5b3NKzEYCKYar2d&RXJ8bmh@B$q zsGPMKnby$WhtnOcJ+JIA7CMSxHNPx2kdNN-Xr?pQsLyFa3@0Ys=bYi8-Zj<;kea~)bPUccX2Cx0NcG$G_jHj8S`4`B-YTqG*@-iS%3gIj{%^ij2Atn z7viE}BnI|$-3IbSGaLFO1t3y7(=iwurFH$PCGM2v&Hd2|rI59@y1D5MSZ%=orwV;F z66xen7!HovRAKDfw!K;P;J;S48zU5C63|oLP`+wLT!#|$wb8uR{&ut7wokuVYk!UC zy#H{sb8U34!1>G0ixWM#7nJq2O$3h-;F}bfMBBVOaMgKM*62Q|A>Lxq3&o`@TV{l& zXsaDOl^m{jDl!gFAHY$Up&RXzuMRQt0OxUz&<{C za<5^2Zx)Z&PoCJhpw4;^(Me&1a4_&Mghce(=-h9A+u3M;_g#C1$Oew-b7WgJbycOU zw(|`V(}S-!AAEN!c^$v~CRzD@b_G1}^JR6!Y>w;e>NO=*qN*B3Vn+9k;KFT6{Bg}X z!*eAm7BV8uPlM)kqs6W9PHL*TZFH1J+~%~R&8cn^yB0(t70%w?Y&h*2iNPd2lh zk2u|ropUyW{&_YWq57J6^H%;fq)j0#N_O3VdS{lC(^jV)cdxtZXQWb?nmL3KJE?s-QET1?mQV8#uJ4d zs~Euq1}Ql?|CN1IuJ?zKMEQcA7s~QK8emIF*LbR&L|%X#?>?m}h{ZYO+o!bSlsP!& z2tcHH+&Y6Zi1wzg=y1nY`UW9y@gUbQiV=7a!lpN=`ArlK=Xgc^LI*0EW*85kCrwA~ z*3liDGKVQPo~Q}l|-#W3P)l1fOrb^+@to?LCvy#xIqibHsL41bM`p9IJ| zt|#k{01qaFThP)Rp@1Te{!8+UzlfhVN&Q}B>*~>ptxqYwv(Nq_eiq+-G#YsoTcW`P zOF}^P;Sgs=k`+hSNT){O`o@2qUVAS`*GT6jFR=6O-=~!!!dy5ZvP#;628*Gp&gRw= zmopW6OVn(9kto3dPkVhz7H*anTmAXZ=q~}9Ed5YwEXsY;FdI0`8`9Mr)cE&T@qx&f zLQZhV7DyT#Esp$4d0cZ=nt|`*!22myc6I%6j+q{MJx?h;d4_KKxyrHBp0)+}rE2WA zm@*z}y;jL9(#D-v^nvs%STJ(l^>r(0L{}1fy5_Q# zRO*6YewF2G`TQ6)a>^=|;@O?3<=;Zci-O zTE-Jmknb}>OhN|>3UZda>{~yzs-q4-5+|LWsdv_yJSv^Uk&9re1B`;4a$VvJP=WAY zP|2|=8v4SssnI0cUof<07lmNSy@KwY-SR75ey#WquNL64t~B@U@6Ais_igV`+qK=N z3s7Layd=mjl$gjGRVOorG+0GSC)r2}O)*-E$W3TRuUNoUxZw~RQ;uxE9nxxzqS)xcGnshA>4^V-5i-WuL9EDU4EhsH2= ztPBtQQt31>(#X<`J+y&DnEVSyA8oZCnSDCKt84T#fJTw0U7g9%yfh8y!dDsw>+FK~ z|I=~apx6}{JA2$8YWv`$Y<0Cs4Sq8g#Ks6+7ds*{#>-Kr2kH+GvtvEfZzaiUlcjPQZs)CTEs3p1K@Vn^&hN-ud82ik(vXf5;0N~i zrg~IrFzd_e0QLi$8J4>izCRXV?)oV734N9*y>hVt4cm3^pmx4K+pJ#8bmN)K|eDwZFTz zv;AV{rx#d&^5^XrKkdFLH4=Z~p@#eEnp@DHG4Vzb3q1^oD^fbzb^`E24um;4yGd^a1ED}8IfvfU9nwqSR#87|MW{<+e#9;NA^z&V|y zZdwEO4Tt8N=*Oldguw?VIK}z578*W^du!vaL%yM}dsoCDe;&_(Z{}zZS&YBwh~J>k zt!4V81tB*E$uDER5X7%9Gmq`b-NV+GoO~Vo!$f6xjrsxpa^1tM=vc0>4+vbVJ zx@QWd^?;u^9S_NutLoM6FE5_I+I=K$d$|)cQKVs!uEfu;+GV!ftbJ?n7DrlzI$O`# z$}4^US{gc1>gzo=)$Y@UJ3aaNrmFkrQ{1n`eOYI()^&cX)c5Od1z5%62>Sn81^#Ol z_^(yq4`UTD2)@4*f}@1)pknw9I1cukVdbVv;>KQPPyZfEqF_zF^w#9&#+zF*-&iP( zn5r*5-li10g)Rj6f6Hk7^iMSUoEMt3oEP(sH}68)=#LmRw=GZ zDk5dA2%R}?%g?OjetI>xTG92>dsS#Rp3w^FQfXpWn%Y&cuPFy)^(uX=)T1y=gOa;0 z!$rK&3bv$agcZE;40pTejjkGp9{Wo$wJc~|;`bcB9HfJI3(F6~hVlha50-2zykBI4 zs6`TAI5Qyr=35K7R3bTS_%Gn`tWWW5NsM#HJF0$dy0a~gS!Z_c^)*IBGCb}b{J6WX zc7EL6|DoRGD2R=%U$v4_XW zZ=B9_Gm@CqrCHq&c_;sL)c_Ea-#F{^!FU4izZLHVKD(4Dhmxy$k4OZeoVLf0Dohg# z854wLpf74Z_-5Nhte7{K`j@e9E;E`P#7%PoC$A?a#{_@07rJvFkxo51`)|%yUm9Oj zr}tonXY#H+3WUy(f@8*3pC@E!xo+a%XE&fRb+uOnx%$A-Qn?< zTbS>msnl=AuZscz!)7|Ar`-f4F&5KWxG(~`XT`b#{sJIS_-q7f$u`5^7!c$YBMN-keB zIDi~rDT%sKp*(A)ErO7y2j^ef>z`B8u$u~*e$h*jnwyXk#Dahfy$%LiVqzXb$wM$b zs}%5s7Sk6eI<7cpCBtO~WESodH-bPmXK>l>PiG*R-f5aW6GZ?p)!1{P6zH!5B~6o& zegJQuWgpT(W232A-uikm9p@-@5Ez1pkgvVZa(YT9bj45}fl*Ni%gW2cx$&f6zrav# zkk$E7K7T6Xm zIlS&yn;VsO91m#ZXl1j8vQTES=1Dn)#1!O)=XQF{)j0Cjzmf>~YW-u$Hsq!zj{4OI zV#^5B3lg>#OGkT>wjK#~y8U!aW069y7c!&{kvk0e{J+H#Tocz@;+IEJ46Ls&xHQV* z+u|1u77XfW9@k^0%3N=yDWR2OQAsp7y@2HykJ77o)YI4AFbSL zQfBzM!^-KZ>YdKkq+pj@;eK^1#=m3B*-dxb~?XE(ub>+Cc51(&%6z7RCB?|8@?GE5mQ7&>#9tZ2Ump)Fgugln(IR^IYp_dJ{DV=*T*Asg zpDko#h^>sq2X!(>1en|Q<04SSzcer1$Ku9OWHu4*0IQV%Xeq5?1UH0tdkKTQ>`l-4VIzRReN*9e62MmD zf>ePWc_S(Mj81R)-h&Ix$^k5r78;{`DJ*l)1Q=YX$Jl*x?ZOx*A5E-_-MfgJB3Q9O zVfcH?To&=)VtYUv0QNoipeIQK0jzo_+KUcP&q0~AcNOoIn_vcAXmYzWuHRP8z^Y9a z=<#ey88T6t)}V*?W;)mIR+}S`#TUNr6nO1?swtG-_Xh8=pol-UdcOzD?9w9Y2N4@s zyzmxKyCsycqMZk%P<5Rfg^~!w_IWnf=OzpG2;C-^3tuo|fj3m!IHu2)<>j?232TvS z7_s%m38b7|%1*m21hEB%jk;V(-i2ONqcIL_kj-vY zupiz`bF3;W?QdtOWvGin+!OxEIs%y&kaK}l3z{~ zlRw79U|RIcrL!Cfuz2oMi3DhMm;xc)-@^m|pQP*U7N`1}fU9i^RcKrspHDG9j zKG|qmAGyDcXIPn zSj8=|Zk^b|xz`(|*ZzW*_TaU5SGc>~n$leT?d7NhpTk20a{>LNicJ}MZkUP2(vkyHcP=cvT^=LXM((+dnjW=*f z$i4SVSMcOZ^#LbA-a0%EtNOu!@VEcW)c50`yaJh6d0;voc42dObu$oXo&yJi)md|q z+k5E2#nOoXOg7q2`zfHWs#z#9AA68!pMK60^;-=L;;5z~+~iyaA~U6TOQcoI`?C<> z++&WvzQ10V;UqPXCmGhHTcSe^Qnbsk!;djU>M}wcdaxu);oGi8YaO`PLN4}g5Pbd4 zE6|LcGiH|VdLF`M*P>R}3=3!B#S?piQ}(=ZZUjs?i_LPt(SWu`ZOixeCrRh%<0hBM zUljsDub(xh)lBecW&hb9Za34+Oli9FcFs5HsR zyC}}cotd?LS3oRU>7b!lSQwxDY6Jul-;qHQN03dv=o*`&Ht zEMCc+=eAlZ2DICI!Qm9QIo}`wNF;;fZ&-@&XvLowmDURiTH^Qkp~hNkn)gOUkK{o@ zxhRSVtq0ndz6C4WeV1M}{2?fgep3<(-fzhFMsOs_8bE4P4xI2@0KR6k=>dVtTm%q% z6mcGDT{Nt*SW83!_Zz$nrxVr+;pwPr&j)|Ht9Ibn0nT-hXJ=<{{uqgzd}Qw4tg7Ms zKc;#jChW3Dpa~z5donDxp+$GQG2G&tth~WCvmMaw7~l-ld9mBf;MF^B;MYimjnbe+ zitP;~R|dl_p{_|Pu)pGg#B9$(Pb2cryq$u^$5fSW#p8{lk)GeYPHi*WUFi<(u84{v zS8PzWE_ykZ*d0xKSOQXa-teLy3ph7X2_0g?f3$#uUL4ROc1#N|riy z_^qwH?MlfA0?CT5c+oM>^c=fpj(*vaWvGgano|A{f)%8ef`W+DmN!vi#_o4sYB}A= zddvE8@N=weov68Ix9X<4S5R;OtycO0OAOK(!n1II_c9C@{m@UTgn@?=X85_dFz-X_{XMo^b%bzKs>;vwT>W^0G`J z-*oS&FD~Irg=-x?DE#KB$^IrPz>3NqLL5oB$h_f!JQye3rYIp%X)z*xP^Yv9=%=%M zJewry1aDXpC92dU>LMGle2#)vqO+Y-bqymh+1%TSfA}YA*ej-8FA%F%(9vZhKbeq| zD8$O4myG;4y65=H(Wipmhc4I1nwoGNZ!YMbVe4R;Qt4C_hgK>aRga@wwP#!L68hg% zQ!0abtPOh~4m;)(t~c#cxmzmZK}4!_S6=!O%ZQcVM|L~4w6dKO>q=`KVJ6n@D^EN< zZFAO{Kbx^ZM9cC)r(YALik_-F(k){>5uJzHRzj2Ht8zgqT*qrBC`OKVc^!492iDAD$vV=1x0d#_hMYb}OwLpm&lEv3FA;nbyL(}A*Zo@BDr z^R#OBLbH$=+0NXgkq>>JjSLHtMX)qqmE|A!#EP)PBm#+Jkz1iq;sL^VI-%P#MiczZ zSPI)2EJ+L*MMtsnf`^I1!-Re>t!Jq1SmF(+xTKHemq!k2W@OS|OXIKA#Q13 zGgOJSz`3ym2MTVhW7x%NSrM^Zlmcojh0Wolq+xs#Ir&C{a&%pcm~7U7Ykh_4wJ#L7 ziBuFxD@n|J*+X4d6A3?J*`&%AgSsiSh-tDiYkH|D6|p{qR%`h{O(fv+udL_F@uTv6 zoemrkl4HUYr`CfptSTQifvMLEk=zA?Cu(;c8@{!0=K=fEoi~t{%}#@#Yx(6@3ykQq z>iWGIKi%XOEd#QMIe)G-|5SOks;nVS`ybt8XMYY;f5g)7Z6GCV#e-5=BrQVdHOF5T zSoBztOHTk4J9bW&o^f34Xy6-|Sr7K}3#19JR#XcoE$3@U$lW#b@1NT4ZOz}t4rXg1 zu;5^b*E~kY*a6mQziO1|_O7mp0E9CdP*hJ;Os3ax=n>VKI|uJ2e(PVn2(;>qZ|uny z40WfP$Azmi3U_+O(cFLDlC4idc$Junj3+&RAsM(JaomO0n5l^pI+YL z=(#hPO@`3+V(aiYIXu4ZJ>T8Xd4YZwAjX4>W;mw&mhkF%-=h2@I`zZ zJ?Fg=Ty$7*@FkoxY2Lc|R1YnPbrX3zLs=8i-IJXAy-R|b3u!816>udNd2f>&erHhTqQ%(KGkSmg$HJT$Ql|I%QAOi z;>fP>rYLz*h}juw$=y{E1`${rF^^8aWIG&bE7+7D;ngqn))HcIZ`zCAsPS96_#HZ7nbGRXfcMP(aE5p>$-IKUs9d+zPQMK%I9nIn5?2^q0wwPg;7yK2Xj`f~XQQL;Zt(~-Iu4>BN!L90yB z1SP;OZh(v~j)!ZB4Cf$&$tC1Cd0M2L9|a!5e`T(dsM4w>5g(r$pv5ur<wus%&r0%8z5pPEa z6=|q6RB*rOn3$HQTGx?v1OEv|xq-dan@m6_Y4|0sU?&&)!nHNQH&@VK_eN4MC#U1|4qQUQ1x z!bz@l3|4qsWA@|V?6ANiC25xEaZ-A=m~=lE3_C;pu^m(ALZ)9dj|lv(kYrKYfgR=e z1gP_4Sgk(kFm$dt?Iog=UQBwUt3>#vUUOQZT%mh5=o@G^RT7z|Je_7ZA0@!BpK$BW zv3EgKb+WkcJto=k+-^G+vMvEvlIBqJks58deykelbNtQh3+eeMn3lDGoutDtW%Q#!`5himejmcJ=%oGaH_ww~c}J2s-5ba4M7X`& z4&5v1E$)$UdH>QrapzWq;KSCE?gQ~ak1F3I%~)szy_jb{!T9Qlhi2cR6DJir(57o^ z2MVa^0%c<@pqbCG{JAr}ME6dO{857$=+&L_Vl#}Rol15=KVrRVt{@2sDPSNJn-+bFFuH@0^uB%3`({d12^7J%Cw4@dnBv3AK z|LVyMwmZ&fSQam#L6>s^RNf9QBiR*>U44#Euz3F#eG>@ZfQ*Cm86G_ zNydAl)TE9XjA4i?CA>h{;#y2mdE2Bbn+#64!axB#Z*eectvv?gPpz;7tmjqwVQLa; zV6BTCOy)JD=pA@#)3t~eECcy#WaTftH1xE*LMlPOD5>(@tW4+|Yz(8g9WO z?G`}fhQ9@j!XrocPRh-l5)F8>iO>WRr-43p0cY~BxC6nvouN0()862U z?F|k=UwX$^#nI)jvLUp^R$7u}xZ3g^J(|0KRgA$yI$MRy0%I-K$@F*YnD=^}hirG| zB1V7W;<5X%ai4MyoNEW=83uqS3>KKBjgMQ+5+WW2fKZ*l*8DaYCHjo$>I}Ss7qYzG z<;~HROr2eJImzQ+tv^a2JP~~~(zBL&z28(RVSx@9bVrwmbeho~*>CwvvDT4ppVLIhI5>pf})aKGAn zgUZ>6p6&-9!%Oq!$&9V_BLfh&{NEqY1pv+<4KjBvxvpMEg?a77;Uq3QB585h7)~y# z>Z|e4^|$AhX|Cli^jd88QX&QimIS(vn4ej{ZbgUfj8>OXmYZ9)Tc-#NU}_K zO$jglZER!kv#@Wpl|&*tuQHWtnu9?MY1WV%zq;ss=tdCaIaJjNF2OMYmz&MP)LF2Riv^<~mXq=OR2__mX^xVnU|~Jvjc}li zN5d<9RiVH8el~S!28v1A&tQ8|mH_1K2ZCD}R<#C<>bx)0DABbhcjAT|je&xITr+tZ zC@rn4J_tAD5`6^?TOHH4paXmtR_u2ABMazn3iiiQuPRfvlB{6ahg74ub)s z-7^W5$fiI4b89g(9qikrN^^QBm(Ao3zSnt`B5KZVo{#fQ;oh-nm=hI0=a>s8HQp=e zGOFSBs^0C4pE){>Uah`y0hn5n;za4$h%c-!$eWK_yEeQBa96TQ3xtE0vnz=M2Gb4e z<~jjP+l#|v`L1CbIg3EuFyWO|@@hP)8q1DTCLwn$t-3vk3|A_AT8g&yuuGhPgbYKg zWPfp>+YT1Az0Bi^G!ZFTzyd`REP4iz66-S1ex({6m^&xLv`fGVXq$lny41~M#GGdX z{Eym_!M03kTW;H3M|_ywLvcH5ze7M$b}_rKY#1BSTh?=Qd?Ia3?|7vbS}ro#!7Vjn zswpWC*d=H#bb(+MmcQ2=z}o0T0uzfDR!%C?sT3g-;~4}`$c4E29-#UJ4pMO*3X(on ziIEVSFL>hZbMe1Stv78CUg!X~U9oNj2laPyuQB9#Zn! z-7bQ?U*~EO7rp7Zpp0-%em0b)?CYML{We^NJ@vNI%MXp~z|P3L?%jYoL$>MA(EN3D zXAv`0A5!NUx`BgD=yMaF6DKYtCE_s{^((A)q^tH;4tB5S&nEV7fXj;81Si8#0W^L5 znSv1YWMKkS#uC{g>XDvrM%S=poS@aQ3b;*VX+8MIE}^DS#;s$&JXZ|0nNOODPh4zz zh|`w+(a?=~P*&0B6Nlr|K3#bDsmknN!PlfzURy34r70&gcDZFvlBF3a*KL7d!KxU1YL80Fj28gKOoeZYYpGe=2q3NKrs z02blDS9|yYK^t|jd^KtM?VGwO=7EMxJ}R9z0vLPl$Y;Uv!_e~%v>|k%5LiEzjpO5E z*PS0I$^x?x`78?wuF?}S11NH7;u;iD5Eu#0X!!;}KU z@nmnE4##5_^L2|R=Nag8VSzHoHu8st%JxU9h8Dw@Q!%Z~w1}jygs881a=olyM~BtY z-TZ}5N+@+((!gk>W23m<)su5c5JV1y1x%1akc(tWs1xRDg|ld2bVVv6IxT~v!;sjx zYcr)NagDm+rzBX12j!T$UZJZlO*@f9QH2_Ki5PqU=vJ1W@7W`Kx}oM@&&tTeoLz`8KXXR=BIbZ%qS$dfYXpar_fd_7iwRZZkYR>?@!$=6FA9c1uofC_$$QSsc>5E`=#8_~R zI11`dTUphm^!hQJbS7!iVFduW1E9S;loh_Cew;=exF-PmrUfpJ&j7fkkzSUqj~!Mc z^ubprW{}|8yF@h`%Tf)3+=25dlr~kJ`Li-E9Rn+Xv$8u+4_-2eJv(@BlwLYFtfDd6IoFR;^in zPt`A=On`iIaGokLQJ7U@P<`WMmVz8tLCD&Zb+r{C5uG|FV;HVlFk|Z*UMhQaxf$~> z?KRaWNRusnbu5KqTGpym*~Z$~>JO1jrf7KaWI>^0i+*hUQ#SbEbTCqovNo3k0OSuDA>U)bpz?5wIk%&?qlq%BM z*8U6c8?U6F>)t)}THCUZrXfG@+K4q34gJK*0%o!55@PY#hk&`Tt#|8AZGo^-wLQ~R zlsNQ0VCqIXF$dY;gVv(uF30sE05FF)L#Q|arcejl|L2zXy4>SJ&x4im9NwduD`N@n z3{I<3qw5>&%2*nmoG@6LNWxF+PNaf*8YUy*rpQev64OZlDb*{Eet-mPBlsBvpFG1t zy5)>_E?>20Q`PquckQ|2>MB&_aAkjMihz8N2gLSldOpszH&IPiI}=$(7`$QW}3s6pXI6Wf3>|=nzr?n{=vD?_Gd#|3PTU{IO;DO z0a@d+cQMuZ+iGs8R09}UQ~U)eFX!i5jk?7!PJgCaXme96feq+D43;qe z$C==hMX4<|xes!3`VJUx6+jic7>^q612hR1s70`b*8^6;Ipt2XVamVcV}k9tB9$Lj z6CRB92=7xWLu|1%9cu?~_E^4GwA3DY#oa5&F-^bY%wBrl=Z*BC~`@d;ECixP7 z*&ESq?*{&Sa7oYa)6eI5N^c(EZ_mavx)^*&zhv*}&DT^0Gy8x)e?vc~?^DVa|1JKu zo1LB0wb*y~+pCNR>JSJA)J|S*bO@T=q3NQdAxeilSVu#Z<X?BQMCd{O2xlFZJXJv~3krP?+*W zc~QD|O9W?$4(O6V2x4#b{-9TfqhtB)AzphN9r+Nss&?N$hQdJjmBtwz0+=f z)oJ_dAVN5)-RNG}B8n{AeHA$K;305gu<)hx(aMjr(I5|f3Voa-td;m!6ofh$4ls!i zRq2@nL>&~1!chy!i{88Q`A~##1Q)b5L)Q+zlaKRskhaM+R?JYVS1`V*E6NNZRmgOp6dN z{{?4OF1SO0U1JXEve!lzhEr;sGN>{!ID_j?rBvjdXC&O}cn-p0 ztZAN9d1Ok8)C`~|YSFEku83~@0fW*v;hlh2Ki%ZnN8KqAzE_c^hq%Kj2odzl-##YR z9oQJj5Kisv|BQ>XXCp5XUtN=rP`NAN-xk6zxCgDN^Xd`~Ul_mFI8EBk#D()!5PDE# z{qU4>`!cbYobyhbGE~Lj!bUr2K4_yWzGVBf1F&oLn_8w&Bt6{ozbf-TaVqDh# z?$e_?Pt?=w)Z|z>g_RrVw4;sh(^Je8h$$!@sqNFLE(hDx@5iSmL4`>o{A$dw68;sSj-& zz0<}ZXc-b^jpJwBol$gE>Cp%q1K`%b=>3It*H#zvbFBWn5kN540g}6-AMHLzFbo!q zb>CxiaRzF9{mO9@{@0bk6AN=I%-rKV3Y~AF^xTXTu*3Puu6=Jt4u0K56+cCUweF8b%iID}Cg3v#%B!|C0Co2h#xZ=^)k zLtYDO8S_(j2fuW`O~(TYEKqXcZFxhvTzwvv7w3fzF?T?$>E(Vt{RF#uJ~Cm!nC=FU z^HYJ#xMi~X?x*NUl@9EBl5A&Fid;eyqKQrNH31BwQo$o?q16N-?~F&&d^`kAbCi-Z zfeu18SE_hN-;{S8cx^ye19MI}STq=OrSjmi>wga0`(b}~_Z7-M)!`y+Y1xdluo?bV zT;6E9bf#!zlZ8mbsI?UOhv$na+h+Yfkjd$6h<6@ZZ)u_YWOCy?Lz--9W0qk-&E`t- z>Zcbk_^%bUlB~!F3;xwi8i6ha{cN;5?X~u|@E;oV+uv<=9`e)9TKnNz=Nq*9Z@|+B z@YLIc<=@-Ukylt9OiH$e#N{0oSB-LB559Yltb9Mag8f>W?#eIc*)-jJ_UxH_6$fF_ zzg9qXI!OofP>c9?zjeHSbU$vYE9TKy-Ln}$IpDUy{BZZm?spX$o64i+iv` zhwx)=!1EWAyr_2A*Q#z&;pum48*O}gzrDHfFtVt?7_*BKuc=zy;IGctZoyXQIM|$K z(_!iecK*68OWG@MGCW~uh?VvAKe3e9ILIairslmEkBG;uuUq4s+I#h4Z~LhVEOx+- zx~KU?tIyt4t?_6$CdaAM*@%{>K__1y?Js={WhVcd@GH7zg|UOikB&wk5sa{To}T7u zasG)$nSh)F(rGK^FXxZg#9?rx^>y~?ygo@*d3*v4?GZo42y=S2P7gf=0-jFuCy%EC%fc_S!SsCdVf)@A zVBkk9s|_6GFWmJeB}QB&2+RxUT|dSVrh_Ne){YNK9dA6m_Xv;4wcap08*S!zai~Wc zh-|nw?hNn~?PDFL%MU*CnQYgAt#;Z`4L+Bc9i^8jsA&BKU$O=lNk{MFSAY0O42b>p zha7WgA_yB*E|pe{sdR3A#J#Ssqir4d6VVSF&v7JpxW$JwtTMgo4|_!cC>)JXI1u?x zfK^aO?*S6ygrUCXmx$QMgxp8Qm=7S}ZHc2`z7oKNTWVlfJwx{m%(XdH2Y6-yHcl_5 zUEnn7Rl{2>LXz>j09COgkkT6raA(mSOm^Dn4_m`@bT&OVs|#DVfq2Tc+K;lw_VuG| zb+u_d|McC4g{nV1%#Nj-Xcc7Ka4P&(K#$iH@=?=-MIN2c?4aVXCou5?y)WYer!UU- zF0*DtgPt@tFuok-t)81*qIFs$y{^1T9?2$xQ-F|HOnM{I9X4pa$}PFGC-A!@R8#6aQ9VJXG+Oex%Oy58bdZb z9QS*};t<{*!(XH0M|zFE6i(8A{&UF{+N@V^2(;x&Iq92&9rNXBmKW2bJBGv}4%Nu2 z9bPEqBT|SPoZ`=(VGc7Uv=}seWAK!I2No2-hHhj!voJS7MS5i2>e1C$*Q=ee%bc$A zcQT%yH?mf$eYB9+ZJXx8ld4!P-%I>Ul;N9I%7vBMzIQ#O)$>2HD}k_W!}j z@BFyE|HJO~_b+y9U4hJ>uh!)@)wfiX0HX@*V-TLR0qOdB#&^5`p*u~^lsii)e$CtH zxX;}-w>tHk-50w%2g*exacKXu{k@msq59>=-ThtJ>MS46CSA-qnGVj<9E9E%^aE&0 zSo}b=9LVBQ8}zmzUVFGiIUQq=?x?+eRo95Ah_tsml=e|H#scfZt_c~#)>w0qea$3X z=}9)l8T9jXka5GO_zck4Brr=@dGY*zccB#q2%uvAF)$;EKd0Fcw}l_6%DGfc@v61U ztVkCk6t+gKe-$Mbz5Oc}zGA_jK7VuY{1yCwH%gwl@U5VL@=Hw#k+1Z$_?||aNchnz zT}B~BYd+H@a?pZT)l^c_MpdJ5p@5Q}?(VDa|5nrZ5EU9i$hBYTas^ns*EWokrbX?42`Bpcl z1{$=Ci+?T%_+o1-BefS?VZL1g&T5PHYjj@h@v(-V z`m_2jH*#C+XY7iu3Zuf|M{eMw1DC(<{{?4 zg|cdfof)PSR;ZZ_K0c68`ni2TxnKi`vfT!|Ts=*!;$_nfq(^+Zb=U zaewpvx3@u_8((`!-2K_%@KbXWLgg~NWLc#Cbz40jVMP`W$4~KMXbyfK(9`zjL%{F- zYqN2YZ7-)$H4_h$@peb!#5kH*w}n< zZGW@iFCf_e9gQ!^Y^A;jT1TY*wEM=LdU47HcD^h|JubdD!PZd1A~;prJ@vCusgQHjYlIu~lok#f`CiCra; z8W7D?+z-c?ac9Ode%pHvB%`y>%fYJ1!#D)?&Pbe|$Im_$sg!k-Yh!pk?JdC8tQ+lv z&4=xqs$wNgtUoKJtT!yw8`hu)pBtgy3L$F$<(u_e*2I=Z=Z!cG*F2Nu%<9l7Sx$TN z{@2%LIWiS7=moRX{6tr2Q_vM;HeH!8EJ61)*u0|wB{sW2bOI>ZR6{;_SZnf?eA791h+U3TbNfN{+Z*Mh0uWl zWlSS$bPpYq)1~wBIv)4kC)I0ynr1^PMSUG%@tXV5ALzEkD=Z35hUwo8m&S;<|E&J3 zXa}0i9}JCjCwnk93QUK#(KlrC*w}1uR6f120`qm59G7N69dEC<%MBLP1Fy@}I``Y( zesll3hro3ho0??{gjUfc{`UY=!*w2RKK$-hG{SG{cK8bnfl%KMXX)nCT~e^)J$4*Y zEBL4{)>9x!HtK5q?GP^xDL{o{NbRrCM5oz)6uGZFJkq#R-(!U2alJPUsBQ(N-(8{T zzoQkr*rpFZ(tX>X`ud8vJ6bcWYQm@?afkSDpjZiGK# zzIp2+EsEZmx%wxyl%gx4QNw!l(={IDWVcZzx>*4O4pVOZTRrrcW!UzOzf-`Y0p^fV zd|U@O#x!KK2r5&L9q>A~LBV4g-JmF*vo)C&=MCHTFgtdBWG2sW-Lzw~cGJasUQHa7 z+)IM%78=07Wrlwc3p(hQ7oG|@+rsCX1n5sKCT;L)Wa-8H^yTu(jt-+9@Rh8cGg=^| ze?w_a>7}0F>Z)~wTL-0l+CL{pJ>&KDeQ$_$feUoA@+kch2uLQ}p zwqnrBXWN!y-qqU@8=drqOKeU1#lqWDe_^+%0ql@h;U-)37ItVH12F{nGlz|;sR%df zLkD!QO;voKR#3&Q?9;kkTE9nqWa#@3`Cvnl{A%o9NA~L_EmF6d0rXJG-y2>?Gpp@uC z)NRv*Z63&i$5iwJi`k$OymCBInRulNg&h3LmJlETaT!{iw|yGq1{BG+ci5*%XWwDV_IYYuzG)bW!MOG^ z+Uf|>NeJqmu0m9WiDN1)<2Tx&{{ z6r;GyUY=so)gb?Rxwaao6tS>3!|}~eCi|TJy_|v0OeLe_ew;JU)B_p~stWP~-!!wD zZnVsdo``2;HRkT{T@q=&R@WTf3lwqcL076y*L2neWu_bR%F{*b1a7n{&>gL27st56 zk@?ABT>oA!4J@%Prp=GxK{d|RJfxfC4i1ftdbEchV1h39wv^hDz7N-Cu^NxR*8(|& znxD)9>EFu>WcRyn(e!spo{}T6STuOTV_av=Y!Z$|w@T@Q(u%wR*`WxRLp&_6%hC&D zk+94PsrV9E^x2eWEwoZ)6Cj#d z$%N2IQF_`U$snaA{Bp~F0lzPsHLxmiC_;l0Hz#33qW;C~A%0Yucu(fqa|=SLRl_#xVig`D$n^*8Z4grQub4FcYai}%}t=Uu4KGLj9C)qXei*nN(V~Vuk zy}xNYlMbuXUEal~UOa0jVlm$Y5X(u6ea2|6-pKT*>bmUT%q69|d#?Q6 za%Z~w5da;g)nFIt1Y`Xiq^hQ~-TnQ&{V+%Va%UQzTjuC#&8FFq@`WGdy?%Pq>%VI> zg*dyEFdKz!vC)E4bIcZOy3o+q5((Xk5ff#*bMCyxa&xd6jy(1);MyoOIidW9o`pcS zD4CFr_1>>ry`|T0lIGbMV`JF`yP-i7DVa5lO<#H(v@~Q^a%7;abqarzO8b)XV^p6o z*8#AJ%;dC+@tUW>^%q24_WIoBa&^lSAG8=bVs(;W?unW=>+6Y-pLh13a{85LN{Kr0 zd@9L<(U<279cgP#MBHQ0jW;f0BBG4a*CqB|aS_27|}6vGT!cz4S_tFmE`3dVowrIYbr4Nrpy z`58QbiHF=mL+A8NS7Z7n96?jh@6Qp;{1Q96+uZt}Y?`++&*k>GIj63@$4}6i+JP9` z#>)N)Hnj0A(6{vczCGV`;s_`sK@|-8XMzZRvO5TcPYaYYXZor)OC;u{oI_b=@k=)gk9E*1yiql7HU*LvWoPzE zU0luIRkk7n^LbokL)*`yZdWv!uw<85axUBD($<_sc!pqM3I@|W>R?aVx>QL0-cdklM$9T-$^_utuQv!C9iJ~@?inME}jy>bPR zsad25R|*&rvxK15gU4%2yI9UCyjwBAn>`dOpt67ij_Jl$3_-sGc7q|OspG`_YMrKz zgR3W7p~ND$gxF70zU6nQ+@g^%w?>O!rKRZ2F0$eOmsuu6Ra#)cQ4f^5@Oi9y3s9FR zCBko;i?F~=cw^>etBDiiNWN~3%`df(Do{!lv6{^56 zAqvvkz}y*ty-vrv3rv9 zTzUTLKPlx3V6{FokiqPy2-5023^9AHj6m~-iDUKla{|2q5h%Y>Z-&`q4vl`Z*7=S? zi{Qm=CGxoc-A1zVJ|n1^)VttJ%P0JChHp7!R|7y1TQpgBU?0J|=Y@4R%QBIa;~<^y$;1m5(lR zBY>%ujYesXBl=0Z>l>B>VI*2Uati%e3Q?Tt?BpVwDly@Ci?2({T)-ANr+l5{0ONFF z{Rn@SMU>c}iB)Y!r&)f{IJ)z653_KB4%P$h4O9+HJ2_SwAb2K$A|;TA+*F+3*1)i; z^H9^^_;S?_|Hx=j4I15r)GSKC1p(77U~UDW<`WUHBjI^O{Kq8YB?x(0Qg)~@|Jrd~ zDtokTXw^KLq?QOJu{JTJ6hktc_0E<84(j$UAD-lyNU`jq`2sPliupdSLTIvIrvcB1AwlW(Ni@!_xUk8RV|dw%Zf zb$s6&y>qQy!yL5S{2evXWV5EK+Ipt1kO8=6E`7PkT>eP%Ccv^z6%RZA1V(dM8FU0z zu;ve0I~%{gM|(jqYgaK1-lcGKXKCROHt3jC*pk2iciL###evOj1R(H{F+2ctbd7<) z6^s+p>h}PXLGS@J3}d18$eN=q0|YefE;<-%44CO(n1spt0p%9Qt)!PxH=rwH>@^`4 zKT6X9A(1lwT`4_ofK)bw>R0%&eF5YBFdXB()l+R}ZXF$sei+kvfm(Q?fa~JrHl}JL zGHbyLP8Md01K=n6neN3LFx%!L$~-5!H>NY1i~a>|W7FPA%cY7oX{;Apfw`Dn0$ZO4 zDL0vZ9a(95S$y`Ng&>w#c&u9rY%RvA6J&mL-n)oY9seq2ga#ZJa9ZfdXqeixJD3j5 ziENJ!A-;KsR4}SMvHU6*WucEc@R@r_=JOA;iW87p@-%J~O}l(3tv*8V|D45qS1Wu4 zKl{&a>;ZRcYYg~G=$7E2q8Gp;RR#G<{G$>ilsdfz0gzvVTROC{}(fMHzD!$TXlYmEsc%^%(2 z-!D>KKIiDpapD@EP)-~b>h+;PA8tXw^>oR~pss(tM27fqkkKP{ze=0WTiIEW*6or%DZM2;kpy7@s1 z<7kp2K}a&w^XhUhTp#G((4;z`=UenQ-ZT$;eNb)g93I^Ps%_Y!g7H?z)T(J)A!4;M zDbfrGFiiud8^=;d``mw(up(j;i%h{%G%O2a z#oYc%Ne(llF>(8=Jq!S7!7S4Ih9omblH$ZL%Y5so4{Vy=$)N=nZ7u4;X0rsVC*n_> zuwx%dt=fCxWxcRWN5*Ve(ZolatP4`J z<9<;fGX+U-hR0XKGf9bH7yzLNtO_x-c+CZ^W!?)zsXnf~CfM1Qk6`b8FVE3=(pCVn zExi{$hnF@y0uP-AjMY#BP72J7zlCM7j&ZY+vy*lmBBYiKY30}km7YovlCs8liDo0K|Y`9cC zl#0J^bo4``FrTT!t<1OwhHIn-+S*n^O7ceXmd%ma|Y0^YV8 zf)RX$=M;Lz+(*x;jjv_i*l)3@$b;`TA6~nHPVm>mZ@>Nz^+j0WoU-4xzwNXi8rOrA zT`)xfGg{VPvVZjQXkzz`PRu{B6Z1g0hJPS>7(95mT%|d5KUlF@>96Babggw*Dsetz z`un|?btvV;y&d#Z+W2y z(3?%ixDh?6$jfgDpAh6;OMaVPc4fv0|Nh1#``7n3;U$(|I=1k}FNO2SDWCy8T(3LM zrd`spV6ABgC#?l#2yEE1&zfxfvlk7Gy$L$iG0`qfsO=-z#kPg5Sz+aPTXH&gY2jo@ zYOCGmn?i$G;$BZRyNDn+z^~*k`l^oP7LBq&*>*Tcnbh%8LltTFyy#_|LeJYTS>av;mg4Gd6yth+K%C#LwT#Q_BhkW` zZwJv_HJl`CdfuBF#tExVgsiK7pQMVEV9I}CTC@Z_^@bB>#Wh4J!HTEs4d7y@L?H~I zUt$O>P25_wnAS6p_HF)*5Cbp~53O`nI>_K4f|+BGBiaoIfu&s7G*D_lAqNgE;Qa;3 z98K&$#Y~m%?nlIoytKnO>|bEiGEmb9ke0TD;W-#h;c20M<_hol`);0( z^Om^%D}&+Pg^I~ zV5@%D9Lhd}@ND*XsFyq5wO{5*z40U7YpJ(bxh1|ZEp;Q&x$UFqGW)UlK>5~9yry%< zzJ4`!Z>??pXmnQ{pu2%hf)76r(n+57*$o2ofvd}GI0Qhk64daD&l8e`F3+?6Iex)R z1=?eOme;xi!$~K1#Y!D!CRKMfCsp@r>`A?Vo(zMMH)v|ZW$?bMeqzfi9)zW{-3V9+ zp-xt2j!}KEXU?$2&lBwlhYnQcY{YbG7*U|2XJhG9^h}68!w`C4Y{zJyUCjK1HwOj@ zHG8CHEPF`L9cf3moIB1<RII>9FK)bE&e2|J2xNKm;;GDnRn7$wUaFHU68JX2*-A8 zGar_t!kk;w#?l6M68)+k8FoyGmQj_J?Z8}1;X2UKY{ z4s;NjY@ox5duhSj()q0U*QVb>uBpdWumN#%anJ4X!RNH^N=i<^1s6N;l8SRJ$mgml zon8+$TYWl1!354{r!=_PNmDrjxx<8x#AqvNWC%~OOr)pK zPzmkJ1clZ#Nq}LM z3YnpM>H{2?`78NB#rfmUFjVB^wwC9ew`L*wSsggVysP<^O|6*eL~#r9L~pLyFsc*} zK+Br?da)F{NmcSs8_JQz(V%R#VY3j)p=ee(&GLfzt!02GrCgSS46~*7r^X6cwgm;J zpvAU12+`%ZWUBIM9ic3;6HKRK4qjjYEC!-KxhL&9*-X@L%7&f~H$JC4Y%n8fYjfHT zng6z;h8by-DVb~qAeeY}E;>A+pl}|Srt?E8M5Ski0<@Ua^w=n(b^-(`aV>z9G1RcQ zO4L-!-yZ$w%tg5FRDa9CYvohWD*^zk)kY@x7@;0$M_=6HZV-(4Me-pjpNP-;`|OM_ zPBQl84;f@QQQB)m5JZO7Wmj94hMne@Tl53GF@}SZv;Kypg(2@Yc-#?4tNOGP|8%4B zQ~g_KLC+GMfMA7>=dg`;17DXg#9qYTe!`IZzEi_(r3i^$#DB`F&Ki&T_!5(P>4X)Z z4VflY#e;8c9;5}(dE>tV*M_AoJ26u2X0;nhue@H-)`e@kihE9Srt8|XH|gbP2)5RQ zi6H~4IGLYgNY*`1I)`X)K!W;?MfNDgRwABA++%rZT|1mq4tC<)G&LOl3W1XFwbCDWhtC* zBq-4S1>L0pg(#i&t*ye@Y>^61QKTQFF$#z+F4Do=wY}-GnpNE*S7lf`7*#Kwzh?f5 zea_`ED8z{T68;b@_))nGjv7{M37Qhfr@W;Ok5=3xo2+ppjYaN#Gq5G#QoKvAoCSlg zNpV~F-HNk!WJ(DQj<<09ff=$j9uB%9do5<#b#h`@9R(I^Yh?EfXS%mqTJW4KPVR!l zy>MzzxcmHiC7vDbvn(o{PsO?Bk78jhHjtKU`Jxuv-@CgtvQT5Uc%N)c4?KdW)o`~u zNe1lS*R+4d8q)gF5*Z)hqZMYkdIv_gr}?^n{w~~^lxI^2=v2~JZcCfl<7IEuJ4;Q( zx^gqK=Q>6^`}w=L9b9*&-M#5Xj0`nBi#kpp9meP@eecpg?~Tq< z*%)N$5tih^0DfKvZ;Tc~Y1h@Dl21SPTbQglD)r01BktU$?xV*7P02|5S(NS^o=(*h zEbWLt=<1O9*;GBIijZfKijnqAga)D8Hy?rYmz)VkA*4l2NBP@$hIiadn20o;$`x=w z#b`(nuSbQxj6jA{AR4_ALlxHwX1|w$HxL0~%*IBA7kk5-$>%tc{gYE4ibEqlAvlH= z!#f?ZdYGGA*?i8etUC+sIce{qOJR<9Nqdh*JoZ?p9{6_>CL>Y=o2V)XOd#f(uVUPdUhf2J5#Uz0G+}~gXr-ZPMMQ_Qe-!UE z!=a(?HH7b*E~m5%fm*AUPpMT~8F8)Z^lsPyDSUzLI;% z{}ATlZBy})+oz?m%6ve4=Q9HNt&4t)i?*QYjV_wPK6-swJ1pPn%iK{JxhbD|0BX1Z?Vu3`%egDnucX+C3jUgk>Xf%07%;$U0AjnblZLeHAu z{2tNgCO(-s*pqy^B+wGv64(N_T30~qYGuLKvTzq)umWR}e34F|eI~8DC@KhAeK=b2 z*9xG4mst0xa5)Lw{Fv47w}TtcG9AWAZ-;K?Z<-Q=pc*47Um*nQWJ}H1>#=ugam{5na>0|w4 zNlB^T(aew&$A1IMK-@4OHB!CPsDeugFO08xP1PM0k}y?BFIB`Mj)_mmN7t19hsTSo zII>oMy(89#>uQ|VtWYD+^WiM)K=k0tt$C+4FMmiBM!&i!9qOLFtip2P`QK{P-=jq@ z10l+uEwu8UJyLAog-;^dKJG0eZqb>dYmTReyF_We>1T)f$ynsA_F)#23sT z&0b0i;md=cWHIVxi0iI~M}!OGxKddsGrF)zaiR^2=&eiCpk1jN z%}1UruUobXu6fw-tgZsNm^=k1(>U^7v%*x~AIn5$X$)45Jh_mpSVUWhy6VV`d((E^ zdBkQ2#QR9UW3;i&`Zs661tC$=RD#K>@p{__fE=o81?? zI|nA%(*g6AFNL4&@4bw?RKNVVyT2Rz%D>s!e)Y7n>le@ecUPzBReSqSclXuzf2(Y~ z{bmO~c=`N5J#16`k7yp27+L~MG`-|IMOtpn;pS*(kMt%hv>fa||KW$-{Wt2_-oDz| zezEh@i|vEwd#~O^nD;08Q$<`vU^_qU@9)0a`P-bNcGpX1Q##s$V7oAl(Z?E4)$9G| zJG-#HZw{7*wH)I&_YgbP4WmN9Bf)*bzI8n*7qh9^Q8Z1CD7vJqC%j4W(;NJX45*)S zA#Fa3Zr4JMbUM>qH);IK%`OjTaQAq~kjmCSrjM1=v{sYDp^pYF*V5`tyU`moU4hwNv7z zan>KDS>XG5HX!D&<*qv}ZNZ)9;->;-{{mVi-`KA6FvCO^({zL-v90|iJVA8m5a$6l zzqr^#^F#*U(cxl3j`&2eANsLqTP7a}9w@de-bc1={MNaHGUWPpCuRm?SI(U9iD`Aw^2E)9r%ajotAKAU38m_O@)8}t?=xl1- zYgV-?1BR#ajgAZrT`kVU8M+M8@PzHphi(qB8tLXsj`zdgG_el!vUDEB6?u5egk(vv z4iOuac5@CYzEZpY=k?zH!5n0iaglz&G@?;tm~4vk&-N&A>WAF}wRZpvRPFq@z5m1R z8(gp5rwUD)doN#azY1tQdP=wYWDKf2cPn%-AlifHue37eS(QR%%zr7AvEVCL_7H8G zs{>d2aFwdp81<~;Go2g@O>b3ABWFjXRg8~&Dqn22F-8yTB@`{S_e>q^9c;hQlIUkt zytYs-illx;5-V*`Vbu6?)EsTKX^(l5x=DsF=vvCGz|@u z_A6=gjC?0vKVtUG)1@d}wz^26yonn$@|+k@iT4DJkPj&xy8~m4K+0%0OAzURa{{SL z=HCY8p4GV2N3Fuud4%;fxqU$qQFNWneFvIq;X=jspu3duH=tvWyf}8p0Z*6P4R@Q_ z=BOUDBqT2F#S93}6+JJBYvITBTW-f!QASX-B+LQ1(J+iYF4M0k{$clno9Tap_em1JtQqxS$>0f6Ye z%|j7{Iy_WSb{VrhR{c%goG)_++q+T;soUvH>dVMIcHQ}Wae|14VtY(PPgD($+r+|d zy5NcFz*yzosJ9& z9LF;@j=XW7iA^Rrmym!~EBkPrcv}*>dD)wu^TS3kMs#4udnD(SU#WFfDVfHhaD7$- zquaP1LPizG$X5au(~@BUFf|jOr%D@k;Onk)TG#G%Z-s*GK1Y67ZlA-f@a6K(9$+u|A_I!S}6!KYF0aIxqH zi*==&pco|y&8lF#cM_bR_xsVxckO#Hr^Dmqw-dT-*gRV40M?5!h`H+S_VzZsHS2M- zvN8E^wDOVX_opjh9{uFE3xFXT9gHXN{#)^0;IymLA^!I9k@v_Zh&()g6gg&0FN+Fz zrPINk5F+6zKX7Kerje_#`w3_v9@8uzFf2eg9SA2Q5|(PpqhxAKPAU6{kgvqn(aLJ% z+f^Xi9;wq-TLaw$6NqFSqX;Y8%XP+6{u`(WGpEr-1J$8{mgu;G+Ky>a@23e%I33U$ zW~-f~-Sjr301|D|kL1v|y;F3L8tZlyy)n)DPhtJ1j~yL9nhJedu7C*{+Coqdr?7_n zfE);{G;T1^PNu6J9|OAmU-ZA5R(xjMax#9b=4BFXSCaouX z`rC3dvXFA`bXQeU>p`!0uIgofltrQ(@zXRg8)?ZLnJ$rSb-N6O|DM#$QLpo?|G&S#9 zUk6scy|3$PKYNe?mT2iDSd>)h%wt zlqx1{L~=QX>&q*W7U8wJQ)ainDIJI%Ebh_DW(`T8JYb9vn-U6qp>^m@3t@9LKKu2r za)#q3B z+l-ts^fr?vtL1@OI#5n8UbO8@n{7oVb%4^y2>g#<~QLlwYuPtzFp~K zL=jnlIZM@q86WdHW_`>A*@drnFe$=0nSWq+3 zy^(qahq5-Rd-hP~uokV*ydw;uINS6?AGw6g(C;0&PQ8{bS7S{>)2H~r_(sHxt8v+|(3EiLbbH;y0_cq1V>B&Z7eH$z$_$l>R|s>v)$VA}J*DO5=t8Q;n-oeD zZfTycRshU5>|-q@b>zR$ls{^k^gwr3LE^CIvZAM)mRDOUQ8?7cHRk8Q6dif*$`|i* z+PL{+=-UYRxx6qV6%Z|ZeGC+WR)_hqjV)aNe@92f>Ob+XKdqm!Z&XvtGve4U5d=;= z8?1E#9x17#gffDJ(a^%Q!5{Wc0T1hl2TKaN9SCM?k_PmC@|21i+^*jMw+0N2&?g&B zdrzi=v(dSL1!h+jYeS93MT_&P0MjD#{+;F{e<3<@CEAOw1b@3BzwKOO6}QB?bz%$W zUT>6MKdNUL*JcJ~Cc6ML(04pWTU>~F`rjSp&JwfC2e5mV1^Vq-fam93mZ z&J9k4^fU(zguG$=4Nqe0$c5=QeA}7p7l;7XP_0SJn0D1O3*7wZ&1<>wt@1I?dMDs* zk}tnA=as*fjXfKGaNppmKh*3Rop@j(+)Wi?MDIz%S!hi+ZhuY9%HU+&szoiJ3ZTX& z>#AbeE2n$CaT9&rQP?_wH@mZ^)pE@vHI>o_(QoL*U64?Y&rH^t1FhP;?qUqFP8Ex zt(0>Xz6es4o)&Z5K<2tl);djoGMCA?!{ldng8bAjkW~(l&MR$BV20a&7u3uajpE_0gUdNo45-9iqnvPjH z4DpTIL7ttR0pyL6(1JI;s2$3O1FsO}7hjd1H5py;- zz=thoU#RfeX^Yooh}-TAbT;&gp8P}dt7wl-VU0UX27Zsh=i1${w1Bj$1))b*P{2wD zTFuJET$>hHI%mXo+NF<_$5Gss8O=dRZ51nQ-Sb=0jx=Yb>(|;7uj@aEj$;HpZ{pS* za_u$8&)x2YrI#7j)V6hzzNe;o?LPsxi$v8$oRe=7m0200GABT@*86&}q~CQ#chcv2 z5s&LZ*(4))@6Iqo&)qlKfFwGdCGB$^Q8tt5aw4StPS=>ze#@0Yo99yI3vDG2>yorq zYqk2)bD~o9qRO_t!$+ZIG;Vov$SO$s@XB|8W6!!fH;_@PWacmw*Tg!hvIjZ3YJ!$I zE2ik>ZLQFYwey_HBf5#&4hm$FUzqVIpKl2DNg*Bu86}HooSP(#Xo#Ejv;Wf4L?{(_ z={~uzEJ~iF$VDB*Vk>I4=u$=BlEE-6^_G+hyg?(;q<{Vnc+Rj35SsGUhbA^MP9Pz{8IzkOG=7XNi#}bt zCi&=M3pAmWX}b41Sg*BI*gIo)(XJO>w3~NbwS3sKUBVFAdf$_ua|y{hd*fz+B5P-; z0W$#4V$cVAv7TZ$+a#;UV&7LG=D9%%d-XmwnJGTj_2y8Ac1MXmuDjwjnDnwdLdbQ% z23uoEn)WxpT8?TRg+ogH@t_7N+N5O7m!0%=V%cegVin7F~6G% z-Asr!&8vww>J7)EGcNQU%lbN4j8+#@0v$bvnO7Yx>l+fY?gNt-)F(*$JqheU6`%}b zL3NX|G*N!(rNksV?*@iS^EfoFSb{YOTRcs)y4NUCF>H^*9RD4cDO%6Y(s-UueeNhq zNKxuu62L4{XmtJ=O9qu1+e%YOv`3A$d7av3@$NLYzPhFEM2$WDtgbWBdd_5Z+W&bS zhVA3MdPHOexawY`#8(M&Xn%`!Py8S@M8tX*axyD=-4$9kg}7Age%0`DbeNE3t6r^M89G#?!#LekgouYPbx2zr3bUQv(zmDM-N_XT~ zxXYefVh{S2R_D!c<3yzw&@=ijx(&{6&Hfe%tHmDAimrIkG0*fIO(I`aUnp}?#z1`F zu$*BSuRGAZ5kYXTNiFV&h0dmfFcVun&n^*pZZ*I?K5x=_FJqd2r?PhN~cq)Rmb z*N52j&gHVIq$`xG1RQwT&X@72ks{DQA4~La&)7{YP=jG>MDLX5pG2#x0`m_dK`31m z(+*TFRBQgv=XYPE&^A=3MVL=@RQpM)^+`RizN6a_@r}9ARurV{Z^!s1jqEpFhB4eo ziC>-(nPkNYtv{_jp#_yG|IemGg&@%y^7M`Zw>4Dwr@rgRo{ArfVoO~g=F-8U_sfFY z#m@v^v1!mR+}k)6OIx#-+$9$8B~OXFg0Vcwx^J1I zRvgjrb&v?yy=)Tqa9K|+ci1w#fn&w}n(Dm|T~5huz23d~qyJD;>s5j_O!vxF7)G7^ z13Qd=*i_TQ53m)F^$p?&S422qO(+uDMRW{glh>Q8e54mfcoZ$m977hs6|5-Qm26qr zlhI}7_f)0G9IX&3hKw=Vk!~65#1ijZXhh3cM_4x|e-AporG2s)MR6T$l6Z%*pL)m^ z?9iIQe0;SNg`Ce5@Ik6awnSr%N5EZ3K2ND=k@>NA)+4SwBC`Qr?-b`C*n?0{C3H}# zZ@a;rt7C}JSG7q(u2FEcw&Uc)J@2X7#q6@)NP+fSuR#}NwNW$dq(6qG?$cFrqzCbqKX<|1 zo|pyl$aEN&W!tYiyI$|T!NPD;s?Ea37c_RlH|E?;$>acV&!`sAu{<#C zZe9dY2rmiq)1f{FN{uvcD|J^wS*fp}MIgSKemq7R=_ST!?GYTxy)0Ok+^k6e-3M8b zxInL9rva{xNV3AqUV)1cchPoYrsWwW5wpZGET?ewGqE*E*fmx1jPT;gZo10uEy-coA4=U>g5pj*iD;I__C5WL%QQ?N}G*n}u zWietL!)ZY?z2Yx!Zf#F_5Yvw-477fW>QxT$^=boE1`pSPYT*K)HEN4?-Zpqf;Z~?H zn^G;T@VLA^ zMJXP6UFY&Y@nst{C0}}ZS4Sredme2@#D=oeAWJ<|i4B!f!@#Rg5EB6gEirmU3%`!Q zHADmI!pRud?j=a#??W5f0sL%H#0r@E-ilG6-b~n^D|vIvD*>kn>5dQL-lHWtA^eR0xW2-U^(4w|IdZ5MfyNLFn+bw9)T-Kl&vH9M>;u~(ph#4(<)#LWxjvw@O ztGiEbJsXf{cAf9$qj#RUo78Q~x04l4Kwd!Sa$C)dt1NFfx?!lvxS+?jQc|J;W(C6>QT5ts>ipT==890WX;1Q<|BjdbEZey zeEJu|r$2}yAIEI1(y?_WyU!E)z3#JSQ&>_3xrr2Glp@h(7;{M*>O1Bn5BJ;@#v_sT zn&Z@|msZ3c6QxeabBoypx=i&%OlDZIrjbFjb8^KxNs&R^Yu+v$a&H-KIaoO|r`#h? zf;>B!nR+4~Naz@YzkB8r>pBZ_Dr?8Hi-_ZLj9LS~XS=A_gDGbbkGZs5nurJ5H<7nv zAg0L+z3^ayemJ~%+g~8*BVGinGw%-HuqIAjy<_bnY`x+NV>t}+Z*fOMBL_r#2PpYPUil@aC`#udCISgTPCF~$HsKZR^RMX_Jg;+kj@ZGww9A$ z8(405gl^m0=02gx7f8V;ZrwwZ8Qw9K1~4aNm1T;EriD}ksFm&>VTn3;T^{kv>x{Ui zN1SVl-JVSHF}$HLQJ->J^>inh&Vk824mdMu>dAhR73yI7|J*W3cvm2f2IhIC#e_a% zRH@Q%G@&dd^|5bKV6F+IKTBcSk;yYI`N@3w4#3J?5@OpH@Q(po<+T=Pm7ekT4wtX} zad-PEm36{pf;GZxsH^cT*A-sW!QWo*;_?9?I|n~)zrd4OUgCz5q(5I0@*>`0bZ@Z8 zWbB2)d<50G=NX}PQ!l^SI1U7->p8s!fRxm|rLVF=x(9qT}+HfJj(9{yx1* z)C^!N0~j?fZ?TO|f+c~X=X5;V69V&ir9B%}M8Rl>#|uah(aRX^^24#sZG3hYZ^j3@ zFB7sh8oT-vx;!-r9HvOJ<^u$okT=7o>WTivi;rtsf)*{;qAh*mcII0RH0dn@WE2PB z(^)_Drz!>T765fXioa%>2OM=h2MjN|Rm|wF+C6J+;)iecXnMe0I&GSOjU1SchiTqJ zrz7A@8|`}uz8YEKg$0+VukdYWqb2+Pex?;XDmPI$sI_+z$y4Le@QR(3aAE_zkI)bx zr}28kqn2)>cp>bC8~lo>H{`D^qWH4$?s4KwL7W=FtKg&)zXQUq0)Nc?3s5@?Y%28=MtTklYHQA*Yjr4ix z7*g)X4jx+8#`FqanosatfdS#sSQ3Fzj1UiwPFM>ON} zYN^nPzL8;Mqyzau367;!e27e})tgMx(V%fyf)JP^P(@<-Lxzj}6>bQSMkJ=O;l^=7 z7qHX*d3Q8+L=m8&emr>#%?#ZiX3&xj!(ueQXaH;o%gcKMP|5U2bd`-G2;)UKpnxV| zPYGUOCHnM8bU7D>i=PEMRa)zfqeuDh^3T+Wr*rw33OjW_TW=QpE#}KI$tvPt4T=oq z)19XuH*Lg}Iai>QtfkSRuPLM#9K3X?D!1IM{I}t}!j64B+aW?G>JU{C2y2nvM8w;b7o~;6F7Rci{H5d4j?KYiN1ghud*B*LUKDU5M0R*Oha18z zn!M{Z8;>gX$(`pmohJ)f9kjwrAx50yrXX-v;0Zen-6iG-N4~DUBu?`a>zZt}DR&&W z$W)YO+{l)dnSmT$&5$0)GtEFt{+0ZEWXnZNrGeb&0r>|xvp&~Zb&`$39eht*!+)QR z4C|CUMkw2I9>Q9TESyie(u6BQEb$M)A3t4?#@*4$$EFjoBf}(RVOXCw@mBG9?&u7N?8E zf=5)O`<8TgUuovsFH`$lE2++RQD<8-B8V%APAIjX>1LJznir1WxG$~s5N{t^d|6>% z(~Sh`N3EkfzAR>1SjuyM<6Qh1j10u&cMgaj*@`bKEz9@Ev#H1Ak*Cldz|g`y+Cl@? zNUF#qOp-1L{@rMNi6sA98~s85Z<>!uromtKMwGB@1Ajiar04hP=kq+JHxKZ)XX9Cp zzdWR0;IzPBzNTDE*$4dj8~QnYpJHxI^)3Fko1L9ge#P(bw^tbt)FBWKsGZ!Z9fD?e zXu9ZVh|(bs*3nR9`83rnEM)eH2Jh59Fd*6o4o>^X0h^Ygvap-x8*L5Oh?DxZ9t-5ziu0V=+|%B4jg*$ZQBAvzkk=Z<6n8XpxjSLS(9Sa0J)BqIZ+?r z*Fg2Tpt9M;Rq@EvA--g1A)^vPt-_$b9c1W_X*At9grn~u<4JXw+FpC z939J-CuuP~o8g7D*#o|ci!mDm3ZZC+qdnf*Xa@sDVF#(|&X40uHOK~R^EfB1>@Q~X znm@e)M1`q84%uKw>M`Ce1!Gyrw+P>j#%O)L({6s%Y5VIy75Ub%9v`;{yvhq!59}CJj4J)#( zX$$dM$6FyczeC%L^?Y_~M^QEGlzv6{gP=p>uAl!&!q#{hiO6$*99V`TX&9?CxHGLSe9LAM{A zlaaLMcj;9_+y$6R0KT5_)E8^!Tk`fK0H)NZQwrm-3B)+K#6x=vV(*REa#9C^?9(Ae zHWObL(urk|Z5az}*_LDu zTgrO1JCfGkL*7HOAP$fOauSFk2?>T^bKf_Z!_Ip%Px*!aB7e!Zs;}vuV|Vtlme1D? zv3F*AdaA0ctE#K3s|W?$JgIW`0gvv*Zz2o$m7D91!7RN^27$7kG5}uN>Zv?@Wm#rt zi-Vuu}QS*s5!m45oPjb(!)%2r4ON>rR>=XXLwZ&LVu&@MlT+!PKk`Q@WCuM>0@UbC%b}8?9TL9Ar&58-{HUOM%;Zf)CGfCM5hl*nvF?>5E&;R;fcV65xP2a#ldy(-Yl zS-N8^MEbfSm*ne;Ug1+bu^u}^a;KDEKw+{mz$&u14hdP(-Hq-Wj6hl+4VH3G?m z6n$>9(yc4Dt7ot7IqKcI-oi4m^M{fK87UO+EC`(#!qu ziB1?8CqC+LP^X>iiUF?zW#ky%&;#tJ{o8>m2TkaRF$)Q|!o5rd`he<3sz-!c z#DfE}A>eTeNbB?#$+qe;2c%(})`B9O!cCL9D>$XjMEk0_wG3pC9I^gKyDwP+?KlE~2V0AVuL8zNQlW zsS7Jx+8L@v82gD=xaw1=EUP^UF7Z>Gf@U|I%dP4xXNhEm;iORr+C9MJIS0Ho+*O%x z6lbu-IbJ?uJMY*lXw}C(shkV<)H%Hs$Q?nll;Yxht)I_yE^`Iws)h!g62P*Ut<$Pi z%whYk2CcTjPexYMe;5hJ%my^UXWi4P)K@&7!D42`B;3f!ziuYG-{UmH7A2xhY%jQ#Q z7?G4;v%V6ud0TPSM>pu8n>GJ9jNA(5>oDnbaY0X|rAX&FOt!+3Y4Ee9$s|wBRpD@* z?cgZFg4;xjwxSFExQ#+mZZ!ImobHzu4hc9w5kIkGe!(^$)GaT1M3+35bB@IGVq(CNlA5J;8Rhr5p0HBaW?uDY34ZT^>@#4cp^JXQ4z| zTI02y^rt-v&y~ZVf+wX9GBPX|Q$w@NE?SnhR@d+dkYyNE4E;?dmW!RJ@!^d?FxuN= zMXQpGLN@S0?rOX>cIe(_Gi{@%Tu-<&CIf}8Jq!v96wc(lu1QFeouNwZJGwxl`>5oI z{33G7aJe*}FQlp0!(;s>ui@CvDStnn;P10_9G79#ws4U(F4c|f=@%()B ziR54MO{*h*-i+n~3rRITvT{yCxaj1sNWMkf9Ya`)EGdd6Mne;$K^=>jn1>}ow3{pH z062&9+>J)1!Qh)gEG9e<7?g&9Q!yo<6BU$i9|Sl1^a}*AXsdFm5lO>$F}# z3xnq@2Z559>cCV0fZ1$1qtlB*p1?L;Aqh|_&%UsTAw3d5mGT;03(%d_b;WLNH*UhL zqmfSRSusua04UxxI}~lp-L@+BGW4i{SW=K;XMhwlVwp=ird=4Jibt1jdGe^06feR~ zR0K7}gtvogBQV6sdsUt4eCu0&-T_P%W2&k-s=SY}SJ`gD-1>IW zypTta=A2EpdTa!daOsSb}a3gs}F*jm8_h& zm1ivv|D2V@OGFgl+ai*~@*y`j{(?jz*x~G)rSn0qr_5?AG2mSS7ioC0?DeDLE;(`- zCwS&h&}4>VK@8R7H*gqO$!zXzt5PvpDX`5f7gid>@?f|$J%A#JglmAref(HZtS2?j@W&IUt)pcO0O!MnB! z-Unt$rU11NjgT3$(o)N!h1e)$GFK#(xRWlvED+TrK9a)Slu9px(Z8I*RY@|R!EOBU zk!@2Qo42KBXLZzmSWlo#g5t@>=oVTK4O2nhqYclNSWU(Ndk)hJ{w9ecF^(|5gn5F= z<))4Bt<6*{&Iav7q)3-M@RwbEoJ?xq87~vgjh6pIsL8vN3d(iw0N#BJGO& z6!Ra!;8ftTVv6{47p&aLrtC}7981dE6*nh+NwEdY5(Ht-29W zhJ^xwpod2lo@4G@;Z?Kr;Vm1qdW3_J3$h@n40cueSKIKgp9gQD z>|1U0D#|(d%Ox?4eIqQWRfe}Bgid;wtRyit_ba&~i&(NLtITxHu(aAN3@VCk^!}{@ zD<@IVhEv&e4kmH|WA%gB)o6}KlWBv59Q&}482t&$bZuP66%=MfWur)Jy*!37qQ7Pd znh;JH?84rFe7Jt4UxZvIHTCx9qiRz>T9PJ(ZC zbYn&GPR`9%I2V$MPzky`lt|yVq|e|sBOsNWN1reG1T6nCmBx@o-7FJ3$wNdc zTpj4d>h?!V8y7OLD90y)%7N*CyF?ZnB3|aM!>W}T!eK326|f!6Y_i`?>RT>eMx#Oc z%i<%e|0>e%{_&BKF_d>!c4hnCF+G1c=+c5r2>KW~Y)02})GMo}ti~Khb|{h+-9mhU z7mMX&64+$6oFTapsE@lF4JujzvZ!rGp6nJP2f3jmIJR%+PWo4e))DNGZ}|Kx5bTr} zRnSQ!6b^NT`r$u3@*f%)jD+dka960eD-_Y-R!{F>xDW0sv(I@Qa{X)vJ0#=SQs5g; z;s^6df$%M)@hDD^=CC1ChV5;LkMs;gf*lijCIge$L5Gfq=hG#9aQpV{@*{Wf{QlJe z%c~hZRgLC2FxFLA`G@sm(E&&(A_o|ia7B#n9(oB4w&QwxU8h2$KoO6uu5)f-6fwC- zX`Zxa<+zG)A^AAtw2l?r{v|wEASr@a%ygi*P7@d6FH}R4mD0!@>d_3UZwH^yifG`AUpU>7|@HrA@aX-KFu7ALEF%hYxaf`b;;T8O2iFy z0e!>$m|`W|I~eV$TLu!z#-dkQc?kA#3G8UdPII{_BRrS-4!#a6->y|TbWEhtKI5I= zMVD5clj(&bskoBQ5eostN_@7E?M~9%b{I5K(2Mi9S}Ny=AnGJ$VG`YsNsON*nUn3W zkz7U4wXN|zQ@LYqU&-e(c@mHyJ`$+0Tatwob$2|TE@F=SOn{|y#+xn!L)-=9`Fv@r z;~u__C8%QTs2 zwnSmBIP~~bM^-P*=gE2E4t`iYQDO)C(FF@nP-_Cv#W-{Qbsm5p(}80wbB}{41SxAM$dk(k z!~g-_nfOd1dDzL0v_Wx(g~8?YC3=Q*OCi4mBiI?ZhXc!OVA2xISF*;yuiQheZ~`i_ z`~m>d$=%?r8yH{#1AT$uv2i21_>Yt^=#cyDr3@ApqRbsaLYzE!d77SbBYoL;7FpKf zSmxUS2uF5~Y@L)V8Z6485D?25*1V94o3 z0`Wm2Z>@2Wo=5{Dx90;hWE&N^O-fA%;nu`$SS*qgigWuUnMo9jc#wV)6viO;T!3=V zrAzU+6$wTDLd`dHU|QLsqiQTgPvTqmSb81yOL~?oX8GwOLVS8$#7%hKV-No%nuvg8 zD_Sr%^6<{lu@P+p|3y7O2QW*hloHjR*F?9ahn~QDd@t6z!L1G!Z%2zmS>=D}L+1FQ z0UON6IEF`9!4B1S!H*2bg}L&O4q3dfAe5ff=19e!VrM{#^Jj%$_};E)azJ{->TWEC z`$AGI1oP~3SC_}_?s5rcMt2T9fD26PSuNf}4M1Mo$O`5j{)&}eQ`dr&Fs zOyoUqY(vZQ4DCF-j8h_SFb<0DKCxz^IECYhn%UIm034zDJZMvze?eTaNU3zu$^avm zC~^ch`Eq*v zunjYkkzU{nCeirT9n6g=QVWwD64KZ2RK8B*mc)r-Bs`- zIrcoqo?DJh?o1~S<3`DFY7vhFrO>FwSX#OV%=nk|LNtD(dZ{BE4Gj!L`ucjp9aKND zO6rvqyl~$~2BZCh;rczy)~QjxbtLKh{{A55A50#$Jj=Xbd+YZ~n(xr>5W8bi7M(y* z+L{9FU?R)AQb6dwu5gr)zi%)y;CZ)U`zk8D_;wsuYb&aOzbG{U8;wapS7wfhy8~U3 z5bi~VdK8<=ZXb7`;BLUyg4A4L>=ocXBMe022XXl-z5*j#p0GJ|f@7J*1>p~ju;Ni8>8$=324vBjEVTmpondF4k|ND8 zFXCI2f~-g&Q7N8Wuns|aec$?)fP{B0hc_ij+N?M`0oEx2>keW-bIHC05`>;RC(^gm zmTzjU2!11ClHT&Bd3k|Ty(+cwDh{f<5Y%Ru>G@u(l#Gpp5-_T&*7+Xp8jzO!sQN`s+qDdTyk4*&Bfq>ef!p`4uNCugUZsFE#TA!(|2dxx7yS0PQ1IDM2UerJ zk&4eO)3&M#bA1hC+~QLH3i9Gs7Wjt75>=sYL@6&UINqFqn;<;-o5!q7gSfe26Z=Bu zb7l>w&BygQYPI4Kbo=|r6Vxi18LA%EFIvu zOe+N_Nb+3aJn->lt&1noDVE6jSQ6zcUc?m0T|5D@{8c6i*Xk+fsao8-iErOMzH4~0 zll-38w}t)~-nOliC&3vVn;aQ`Xn3a<)*c-h9uFvYwhccT0AjCOm+D%F$6?n!id;sI zC;*&l(T&KoRbt8cG(4?UdTb?0NY4tzO+7<`Eu`~=%bY|W^mN-KvtF|3D#4^a*}&68 zu?aJ~97Le4?aZx20&zu4d_FeQp+dF|`bV6?wP`v!OJsd#uT~&E>prY6!p* zm6C>>Udq|tK9HKWcR&q#c4Bmvq>@x$z?))&5fcJyGnqv0Fm+lMou9M1Q%|wOQ*^m` z0ki=YH|${TR7ZX(N7h9o_KajT@0eCjo;hHa3ugFVgwW8LMZMF?5(bdMqApPa?qID@ z(1;yQnJuk;tPN0U2OK5+1gVUmu{C-HDJrjJglJ|?0j@-N?Vf}UJC{tz&RYQ+Pw`&u z{6Kq`&W*tkq0fOehbtKhi-G~=HeYWn*a@PzzkSffNga7j#j@bmvZUhclLd8EY(J0V zxWiW_3*E{_0Pj~km2E;4K*~c7B0S(f#WMstj!?rxj)2rF5Bg-ktS59yCr+ix2UON9 zz;p#mX)v~M^d1=cT&b&=eoP;Xgy4E=&1O_FELe=44e1d5%7e;n111Fbuq-4lgJu(P ze6>o)i7ZaZF(J=IE01Zx)Fx7SDmINMPgB7_9VpH_`-<#RxM$=x;-+Y}D^a4Zb-9_i zDVni)q<&G{6wP*wD-Gb%f~SyAm1*8d1tROVXv%Rbl1&9S@Lirsh&Z0@EhjRV_C;+E zMva~$iOMBvST{vuHscox>XhMZz^BGS0VGDDD0tBtV(~nauszNwj|p$^N94kKltX7= zN)y=!;hrM7h4ahe9U;@mMCB#v7f23M`~*v&gO^Bv@qC7sJQZA@>c%GM;=imdjD5|_onreH>AHcJih@R&9-zDL_i*?x&0K64}bK(g9iz zIenNiTh1l5ZCeyV2sH)I;;9+*XbquZVmo3kR%0aosXH|jFDB=K-PwwO81?W#mowwA zjRULl4=xP#!a)&U!3xD(4N@qJH5O3<3m0_hae{#C<=$4}$QI9Kzojs|d24%cBEL`UZMvYb zN*=eAz>?viaeMq|L&j1w}6>NKQ6 zT(?^C*|QFuZ7J&tlcX8bzKEH25;M(e0J%_8T2|tVayK#$vduEt{IFAic`OO;t2Kl1 zz)w8G0%e1_Eaz7SahUr@EbkyFMB*GI_5(Us3i?7Ok;DL-1GHXohkS3E-;>g_I8x5h z)QW-)$#Ez&NH{kVLj;DBl!LusP@;%*cJnBi^|W0>oYyye*fv?6>S zbQt}yKvIfwIIQ;l%E|EIb963TF+1w~%SY(=t_f``311U54tIsaXu`z?279c~rbt(~ zhZuIfgVAU+Ot`2ccHEty7`uak=5hxjPRD*o+$YrY)3c!{rsf=#veH(HG~=|U4DQS2>9@oUl2n=J`@srin#d5(-%iDq)+FV#%{EgS zD0y2YBVjGGF;d-Rm085x%pj8o!XQ0Gar#sMt&FgoZfz}AG@k*`$%#X3u5Hj#(sNcB zTj_O!YqwF4Zc_)sgVR-d47v0dt_r4G$5ICoFMyPHl=N}Rca(D1Yt@pvIWmCQI1QFU zF0Z7~Ny(P!T5IgX*4;GiAfB906eORbM*Slj=s#WbpHBKuKsdcDdxK=LI1X*bI|uVx{Ykwi^G?=V!-=*K#@EQD<$$Y z9EmCo_RQyV`WT@kJZIQVbxi6U_pnsr0(i86Q zjZSqO=de8`s0Ia}ybf(9H$~ z=ym_dB$XZ;fn;=y@K-pL>rNCGj@}Ehh7LhD{G;bE%$&x&1tq}PFH-J!Ey>o#hn@3E zae;bYa=22%%Y3e=lS7m|H8a1dyn+986AEEf&efXD~HqI0_ORHgfxgR<8 zraA#d`aQswaizk+gh@G9dTV213%II!Rm%(TQF3~8SK%ZFJ*okV^a3uSg!qvrtm|a8 zRgV%TLp1>Sdn`wtGK0z7P4Q`~3Iz;H!P{1r(Sp86({5E*26`Pla$D?KM~}!;>Jx_{ z1n6+XSR#n>Y3YKj*2Sf@J`_1)9qA^;5*0&zDcrX7x{Ux#YU$x%TR;UikQ=P>R6stJ zoF|3l2_n#mMmpgfz`Z%UXlfWG#~y9DrfCacSWN89&sAA{(Yuksp73C-w@GQaV#-HS+BThU zQCCRK7n3~&5iQ&gw+5r(W*mYV2zKlkKQ||!&WZbALK{gGa_ID`m7b9%q~r?+`~I)d zbN8xkL)PGqaYejc50~*iGWofD84Q+UUOhkSmQuw%p$c50xsy)nB3^mcS=@+ZC!gwo z&!uy5G-Z_I!9`qHdiLABy^zT2OZmd#3BEG&(L1r!slgtP7fFDTOE%;n$;?wME|H~5 zK!T`SPNjz@kS#7`C%Wu67%gcgXP4a0&D)^IoIS2np{E5?L7EgXN6tx+V#qy{g~NT@ znoN@$H;Qc*ZTHyD-NV~7+ulp{ERiipMcMp>mvyH_skB3Y=O2@pJ{E?tWXsR%X-xHy zjhcSAH5hG*(u$qalhEhJw6YF}R+_ENI#=F7QasOM=ryLyCM(AH5|7OY!dghaS|}G5 z@wOJ;NNB2Q=MGB-$@L?&ZTw@K2K zYL9E&Jz>jA3SCUYUpbzH)Rxaw6Q7K;l%ky^j@>#vO_KZ5lx!QUH}9c&ImuslC0R(I z<6Kh*PIcN1?;bODVq!#w2~A0w#ch7Fp~2JBrgJ+nMHY#qB)j>jfNWu{0qvK+)G9X= zF`%$?rud6bNv%eU#WFjQEbb|XqQ%`w#(_*jk~r6Kve;(luB|iG*3F6X4B0}*cAz2*YM5~a2pmDm-0@964|pdNrOpFxlyM;p zIg3;tt!NCpY;% zzH(u`BkqWIrti_{xRKhG-Ha;K2kJ7$EE8`zH=j;ck)whG_uw zl7{Ihi(*tXP3=ULzVt0w0uu}t*r-$I;zB8&%hO{qJkvj#tNf-FX18N<*G}ofWw zIZer)jL*fVi)GtWK`e?NOFjg$XEpozJ@=`GUv&EBDyMBn|Dj4@t1PBX1wodPIopNK6MTBDi6%DlQpy{*58|LPp&V z#1QM;4n*zP*DMSx@tb`DRU6nL|HIlMG7*S*;`VGJx6Enfy7aO`Wmi)?`Sjxw3)tTY zXv{prO&?}^kwF&@| z1NU`Pi*t$}xOm%Yz*MJ}4H#P} z0G@=Mo6><E55O9#5HNU z3&&D9UB#zTWwm&W9$R(vE);1qdf&LwGpJbG4V;M!Up>W=>*J1dCY?L1%_K_6c`^|j zi&}Q)-E1jWDNB3@|2js33!e5-izMZ>q{gY)Z6)4&T!}WATEnITaK;w=vXoAq-(s9D zTBM6{To5f{woQ`zl5nH-7*CQCLukzgP5QF70jntp&Lxd)>`M2k6?RpdsXV&IO_74- zP;f*eki_*{0SJs6l4`$HWRaHrabtXoOpS~+CgidEUr+`DF_W@lSdg#KoY}TGWJEwP8xk?*?R$+?bNw8 z)b7}fg|FVI8mJVj!Fl?vuTcFdfy6?TDH948Et(kb_%<`M_R(A+p^FZE3G zcr!a6qdD`l@l1MFrziZ#IvZpAq$e8O48fl+@}KkZW(|+tcLoBaiZsA}Kw<1@KqXP+ zV;NTCIWjnKpap?v*U&!;fwRt;yUGcOVrvFOvMo> z;D8~qliE@-7J0X%bDX-e*~CaJ`(RmtZ6|36JJ{iHBbO$zh?QI7A)aqg%8@{<^>i+o zC+u9{8PN%kV^wRsOZNpGw=o?Jhe(0a1xR7O6G6sFOr@5l{u!jqi$uX67(a@o_89MC zC^kE57_|D49yipFG%rL?uKg$t-FmV(zyfKIunGxR1(gWDXUn8wNen;bt~^F zBz;R6KGuZlV8#Ujsj)*3!wZ8vn){ft%qo&>S0zcLp%Z%_EV88Ze_VD+dc+c4%(bjY zFv}{GL|QiGCNtK@Z^Td;S}3k^BQ_-x*)?q zuaqfW+D-?8a&K;YY3q$5!WnygEno2FMDlf^V2O~+&uZK6r_+=?@p+z_%?`${3x#}K zsye?Gm!-*ahGeM$iARRfa^aD$S(X(Quv;ika?z@G(8)ePWatdc7ICm>t#yjRI?zEA z4rWLOO5S}slhJn1YJA_E7-KHIvg&K--z7EU;#ral(IOhpk4vOsb+bfiu2Rc3!K)VI zQf+xFZ;`wxhCU@7#2j}X>uq{^&C*S_r67Rgvgo$HT58T$tN;ERYl!b~K9t(w^U?*V>yK1u3U1E?06X}j{6q6V9hI}4-t#l7#Jq{4es7nDpE|)JL zNnNbg@)2xx^(P8Lrj^{g_C+Eoe@Tud(LwWgiq1J=MI8uF2R!)7?N!7^yceX>AblVr z{f*Or)qFr~*1>L?Fz9n$bY~YdTrSz=tpe9BToiTrAIY z@t`0*MQ2iZ24;Ox&(36)SwoN8=@P+`jR$-wj*5mpvk5ARJK37CSk89BaAJx#_^GFe zLIS2M0X0Hs6!09xl1Ux3)~cE%@U|n4TZHxLu=SXIWhIM2FxC6%A|{`VCvd+nN!)n6 zq7=`8!V1W4(jpqEH>=GoTS!r3O`5V^u`fbOT8haQQbFVuwvhEV-e)}GqSn2i@VQRD zW}koRfLZpe+z$>;8dO`nnBe0oYJ>@9w-|2%cw|`Rk$f(*tg<41Z8k%`ZuQ)1j%ko# z?)1SibOY)C0?T+ZjWTFT&N6?zgOkdIbrkVJgp@ztAx-0MZmqUsAk13DU`wS@d5e5k z)ZvwLZ%)NVQOB*B;c6Y$Xbg5Bok1(lgi4>X-P=~6#U)1rb+K4-HsFM_Xy|Anuhdvd z6Gt1_IX`3(1e5MtCACCr>e^CTMVzfH;a0tEK|jKyK8Y18HxEra;jN*medE{9J5C=U ztWmo|Av#0Vt(Kyf|Hr<|qUJ8OoEh>|QKM%`b$K~Wv&|dBE=yl;M>d zs+Q0Ue^|KU!G}_gG?E99CK#a)Tr$7Z?D-TuxsiuQPpEz~}@RNPr|b7}8TZVn(g zb|4Z|I;8m4*Pw*5a zE1;)oa&t?U(dWuLN`XI@cigM}0bUXdOQX>#-v^ZyrfV3!pdwn_R*_B)eO2I2b&Ch2 z@v(p`Tv+)7N(uPboXFfJgD@0wnP22UC;ND#8pUOE#O~Wvr9mp__D)diauHrON#U{s z;<8WT_wyy?^M1c>->{>TZzrL@ym;Vu0^RaJbxNZUm{OEQWkb$&gHf@PDxWw+&U08) zwtK3z%GTB1D{qGn-N&|Ngws>gR39k!FyUuX)z zT*ZU#%YMIA)kqb|;eFClfp7c$qKIRPm?ScYS^~{4UE^P-{vw^=p@7g3DlQ%bA5Iyc z=vd>8W@EQDOflNyijfN>^>T#5=$@>hupdhgCl7$nkGnaiv`voN@<|uIYgEDO+9g zNJFM8(#>TlR3sx0iZCvfg|_TI@i-_kpSVfZ6+KyujPePtqerHiC5YWP_kA@pzK@eu+5;{+IwBW$@+E#{DPfqLA6N0!nF ziEBs&4aZiBTG?ZQ0yma-E$|`Y*|;}K2}cTAk8CwQkZ$zro+*4u7!Hs@IYWb+kOHDX z@;pJwlgjHwsaqrf$`P7-sd~a(Z+2_SvO8fFB({?q_nIv}<%u>4`W_WklmKt{FUVIo zMAEfdX+h=;xd+w%&(cV9DBT5*7#CGVk)3zq$F-e_sxCQ6QfL{hJ5{i_4Jl31QX#$2 z>7jc@XRWEG@jk(zqH~cA2k$?P$0c`weidj*L3e|IN==yXf7imo3JgOF3?<_&^?SHb zS@rVSC80fwEb`)etq8 zMzS}@mUCT^9@dv!jdsxGN)*%ifH&`eH=7No!h~;muKc8_KU~5|Ued4vs`au%PRV;d zK219n94;(96sl6L%v-v9ETml$+>71@xzQ$w>o#(g5h*ntk?I5E0};3QNB<)-G^E1e zp}X?sLXu)VnJC~skcHmXM2@+;CjiCTSB0(-f-I|*GqkX>FU1Y$hh=`=rSLOfR1a-- z`L@3*0zNz}s(al|K6ajFoa^u=!Bw5aF8ke;sEndSdgKRJ#{jtU&rH5F4_1usYiul_ zn?(i@i|R>*dWY2yKH}>&a2sD#Rg9aJU>nD{S%)lV3kYe~Mwn}K#gHgzh5S;@8$0$% zQSVIkIVox+U|nG#UUMAvc!ih?FKnGtz;f~wQA>bT{qX1>>G?XcUUT?c&`TjU;J8zw zN+5`fzkwA04k}};)x?Z7j5J%=kC27EQ$9%8*nN!xHwI!uqwTguE^VH&U1t>w&I1)U z&hH#@PA8=o=OUgCt}~nl*}$SkDo;qAB}q3(0J-$C3umYV6R;@5?CGSk5b|OdmHZW0 zL^9@)w)BEK?_Abj)n{DgU@3264;L+x74ak!UUmDKjL_D{TnsAg+pW{Ks{Q@A4RQ$IgGZRTLykYY423zn8z_yZIV>B zp$8^$)4)^4JH@(V2Z*zm^x0q)D5Zm}cA9Wk4BK(_*hEbi0D=s#B9_5D!@_&n4k*@q`gpUnG;EG zP!$}t>2R{8rF=Tn(5H#gE$DteZujvvoh0gE@t}V=Rg)IsZUNOAfv#8qIva^Sg0buw zt!>~_;8QwI@#=f;^62u}4YG(*r^1Gw5=}0$MrZC2M)cB*WLdonS|*)VL_iHX6vp(Sr{ItfAS6xy*grZn`>Ii_yJ2v;OV zs0qXfHA)OAT((wX*iv6BBq`{QC>EZ(I;dn44{G)_;?`{2#xihgSn=02+67Yz3z+Ts zx;Z4a+*DTLbTQcn3A_nXeYdEFV+5TqvLx%SFNQ0=C~~or7fbBL622G_FCOC~>XEHU zAwBl!m++L{4k~YDkE;?`Bp+7@tJOxJ%9K?JK4vsP2b3RZ=@BJi#7U zrL4&HUWJ^3I}sxyI9W(6 zlMjghnpIlTIyG_5DopZXt0A@SoE!PDYO)W)xtCTJRsSryovZw|TqZEX&m&)(s>~cG zR)Q=oItRdV7A&$-_3+Sg24wVjI;BJk(hPNY2wUgD%xRs5JX5n!@)#^0u%E7)9vZS| zlF>*rC2<&hkenfMJdgs(Xi`4xn7XBLy+h9F%DxH5Vp3vFI^pT6QaNYEV@Ij-unyi0 zv2c6&^xhC#Tq30M5xwc4Cf}k5{Yd6UyAy<&;MDl17^oCnBT-<@w2U1eoT5l%L0<1% z3|O5rk&@`y!xx8Nvrb#CnO0nIY(P|S0+L@YL_3gjgHS50Q4UzbO$vBWengH? zu9=nqw|w)XB=kFI?>o>nB&w5D+L zm71?|tUaLJNJaMOU@Y9E;>kTR%S@QqIl`?3v=b`Sx()lR%v@RDRWT+StIke{3+thL zE}71xiS_A9-d)fm8Lry=6(fs-XZ@`Ovh}~A=OeR$maH+tXQ>nObfe>+f zIzvM{CqQTj@r>c@RB+hd)JW1!B6n~XFTqO4@vq-WYa>FRaVdk4vyUntm%FS7bhcRC zxRIAEsr<$oUKmht1I-D8r)_LcinM~bJs3`%q;!81zcXAaC6e>n)`^Gcw@Hw|)_kU% z&5@vj?Rh+$NJ|$VDeGWs4R$%fq1htXcS$4&Ry+bdWJPrZNwh&w+ci9Hy)PFAU84@$ z8l_I7E0t~I>_S!7F6*Kqb<>a2#i-SjS{Ai-6ej4FN+s5CX;VKMtS>y9mty^O*Ek%j zS05ykm;u9&xFOYAPTAybI0b6ZQHhOH&)Zw z&W>%P;f~YTwr!(Po921*{rv~;TC?VKPUd9p`CRuE2bW%k8`f0BoH}ZTzAOL51vL5H zv9o;}FYAA;?p%T~vqFHN7DO;m3N1d%qSwfLp60#82KCNC4Q7 z$Nnr9NxX`HLaihZGk_x1q4bH(T1WQSO9ibjrM2NGv(ytwo0buswM(7DSr?6p&nYacJd*49|9;@o^Mc!V@r;HeT=a^g}PsRm@6O)q&)bi3@eUjDz<(t57oI&kUg>xm#nZ5eg5HLC`akWJT+NcRY74uCIXl3|p z;{*o%R(D4hOIsVRMob#TebuN~s1l_pnid||ud}ID zzJYf>5vHE?Vgl6AK)bT1_Nac8YMnU%SY_E>p(D$?hN$9ak<{2cP?XsfnNu}fR;{$J zFU`CxTSU&QQzK#Y77BGxWI*L)$nX7#5rW9!xnJeT$aHjsgEuQnms1x2D-c zNX6bwq$;H))+zJ6;{b#!Rre~|l$_z$In$@wHh zlk>`TO`F_1OTq~>;3s4E^66;VVVuEv6HGonK2OCSv&1FXMobfCa?gEQk&{4X1QLz{ z?*q~EsFG(fP~N~;AfROemg&cexKZct zq>mCWj7TP1r+?8NPF&QzhW;x25j+rP=XI+W#PuRd-jH}m>y?SqYl+1k1TbG z8Z31NZavG#)D~`M^^pkN8K=2g@bC`j1*b@9D3z_=Wg2aj(;0v#f*~$@KW^22# z5sYNI(j|wy=b3sQMb?NF#YY@V0Pe=EkR%(<$Y^~yHl$eE!Q~G`DQF|L&_~*aPnjNN zG-aWe)X^_Xy-WrP;nll^gyGbIRfLx9$EG*B07g)N*<7hjx$bBsWZEbF4pr)?nFMiP z0Jr31MW1Fv*tha@4KhY5)*JorzbPjOd}ta0kzK-f8ic-qRL4PHcK`}A#=DW)NT$a@ zlS}AK11E=KH2Ri0nw72OmF{Z_a(D&fauikH%Lg`X`MOQ}^2z03Vb5j#H`PhK6TaPx z1~y`0#D6Cm7b@IX!VcT=p3fx(j9HXK8GZPbhA%xO`9@ZlXLX~KTM-rZGd!P2UesEx z-$T=#usTHwj8X@B)jZNSr!^hxxMD9YuHCvd^@@~gCK{0$^VqGPoD9k5dB&Lf)XpeQ z5c!XzaTbdYyD3fSgb@ppLBvzM4igL}E8yh6_j24OGavV<(Rsuywe)u#M1q~Ycjy@sGVELV5Z|;R$po=+7%1nEMVh4rRBql(1$>B13&L2^|B|l{!Gqy z7mZ-rI#eEUItEM;=nFU>^%t<23SSd*Z~`)d>1_1ejF0;Wm2L4JVW+p7tK=;}#9T(# zqstxFbbQ8|*my_7yb8oK*XQOm`Acz!T9uoKeyKWX0}^@V0ePfp)E_`ZM&E*h5hRO_ zTxE-axM^}+pu;)9g5noB+WCAHXLnTcpZ;?6@m*2#bhZH!fU;9$9s({cW>MZaOBP?= z&9t#5(}P0pK~Zu&X`n6_jl6}?v=^~-pSf;s+j)@#;uN^o7g*5)@DMdh*hRY(7}Kg` zIT0}GWjGHg`*g@4q)M<(9q5n)A1KiBHR;j5c$_kLb^%UT$Xl>ZDWR4s!$KtpL1yfZT9NniQR7yw52YOuScNmu zgPOZ6W4T}dBL(Zk%D(IXMNb*h+U_4{?_-w5qZu*)bV=x!0-D(ssYsipSw~WioUDf< zAtSw$Jh1l+OPJZJe{h3rB8-c|_t)5n{@wI=Ij-b;kUvI$S7~~;<#^BL3$jU% zmJ*K&1#Nx85ZF?F%S5$7Oel)b)O+)1;(KFlc9sn4F3+)PmH6A3%1vdD5$r}yTT;Jt zt3gV@$h%g}qPA{1Vze&sfH5BmqlV?yI^JoPQc0kv73J)f>{BTwFPlZ|Og_cjY@^A# zHczx!($)#VYJgs3`*B{9=0-{eYoE&fI9mk)aqFVDEfyr_0{^9PE1?m@lY9)Yb?UwPje^V8y$P@#n2SMm6_T*dic^P{YAZ3-p1 zQ;A6WR6;!ey(!d6n1l<=rEMnptY-0vOI-YS`sICMBQB zkhaaa6f3pV@?O%{yc_+{mjvajB{Q~nYb@j~W9sFAgzAXO;OyKRrcv_}CT#bqrD(#o zn3anG$_fwpxc}B|rZk_2tBnRGsB1hZJ=bM*)LV3$0Ksm^a_d;;e-O=7$e}oMsz^L0 z8gMJc&ycd#4qs3!6tJFDwWm&+gfjSE9< z3J1wHWBhyFxE=pibFu@AePr(;JAmuF#sWnqf|cL(WipW7A`raDORa+wGgiGO-cot# zQ5|*M+3*a(S;?vmsZKGO)n_$umc+F(9y--#VD1izg^4xLh0Td?g9<-Hf#UC1&MVVV z|CWIJth09Ht{^J=@9wf}%i*~%zej_+OV<5j^%vC{uB7u`k){YmAeFqcp$lnP4O$j= z5zd$zn$qy}MBOlP8(4!2L)x5o#u~25v_VN_OdnAqk|{(ih1kIX8r6P4#n!R4E$Ugh zTGiuHALdyEcL4C&MTO-_#4?g-R0{+}dAtMNtxT!LWZiiPYkw2fsfb^$pIVY5X?6CV zBc)3j3)S8!X#0}CRZW&1zK0EI^pxjcS_$rkofj#&(|evheUw~m81biGq}^E%&-jCe zlB|F&yy-3m%*X=jJK%~(<636Dp3c19YEMlE{c$qN6MB6^#~(<;nIT(6C2ivGGMPyE zwq>EJryeK@afR|3pr4j(>5;$0m$lUbR0W**QWxZgWz@IEY(Ri>;KYxuJo>LZz03>_ zec*U{Wg(B?1n2v4nXB5V`oQ+8@Z{EtL`qJ744S!?si!uo(6ax*4Fuq6OUs6iC>J9g zNI67khUq^#ta{utyk*zRQjDgKmfFhJGb#U61P=dx1Ud6ZWPk3cR*EkjB(kFL7V6=f z0Pq45p@lZ&D|l049BBw89MK52k53N&IfX5WBs(;%>xX?iHFz=7_%}(WTRf!ekx_SW z#aJ!U)TZXCAE3Q2KH>zDNU}zr{^!LiPy2dE$-N_pl@ay9vq|43*ww=k-I(`1UC5A{ zUXd@{$1-I=uH&|jf;5|SA*Ip^{Q}k7iJleul|Q+rK&6&;Z zJPDu%oBy*}$=w+wBEU;3eZ{JjU70zFd@ta3jIwF|oL^UtW-z6{e_Nui@PAz6XqN3$ zC&Y7tefOC6E$OaI;Ofa|%?kf1r)m66J%7$l@kX}gM^JgiN0>LM7aklw4^OrV>8hf| z$#{6v?tq+97tzJiVDUh~xLMVwlmr)Y!ng+Uu*S8#7S4kP>CvX^4@~OXBdq`% zeK-N)p|l8W3#F^pZ>sG{c`C{&cshs0U!q4PNRUJ70i%ZV3;J(avrWM$8KSi~VD~wZ@=hh-2{98|LQUu;W$w5i%m6x+^f5(bGJxO$k>yj0&j!Q)#?L>P`hd z-suIVME0IfR43XKSlgFN?RzcfnE|EPz2zK=sC#^bc2f0JrmZ}0C zWhgNHb_{H)&+zl^7+4^Kj0NV@`1X8u^;y0Ua3f*|y)UE-xY>!V6jfLBRpYRexHz6i z*}YE^yd}yOu4eXe%+$aqXrBFHx7Ovf)|G}$V{;YSr~HQY6(>zneqW;;u0`$|guwV4 zKA^0N8^j;!)?-!Qn|bY$+DzVQl#QLZ;!%y%QvFEg)le*-Nxn0xxL!{k!vht%_KoQd*pMIQ0j~P@%#2F(e z1*b88`BR4DPR_~((a<`BsH_cs;Oqc8oHW}SucjL_=Tx2Y4%7P(Gn@ym_Kh+CUigSw z&aHDjMigNTSMa76{yX$QLnC7g?Gr>jRMffJKdr{izq|WB z<CrE6m$4}h7Rd># zb}QCob3=l+#@Vnv5n*>E#52|A85Iqrcon1!8bJ_stJ5XMgDZ-{rLe0qKRq$F%HwxWTy@g$oxLm}2O9$JmyfBtqmVbA+@V-xd^62)5JD zEm8McYxP;7=3udL;w_LfQJ)=xvGMD9*i)fenz*56*T#Bavq}ExAc2j?H4Vp)dovI83 zOH$hLPn@Tm$+ z9=*4#6S?s+b7~pm0;8;TY5GEA(P#oSvdJ!eyjZn9>F7BbgLDi)YrmcE(!qs4k)XRO zzWM8q2KJ3}87l92tm!KY1aruL#CEF-3h zZQ2p!d^QwgI{BFEme{jd2JT&yv7bGfRvKIaxKgTWhqKw^IQcCLN{b?N)SDrotka_j zZZQ|g8NBOrc9}~Kz=&C@z#lAk>ZUb6%RPF@OcX)e6w>T_sVKxE7rh8X4)HY%-~6MN z5ssopR_%D=&i_-ALIFz6w5eY*#}9VnwyhG=#<2Hu=BlQ1dd4MkPHNpun^Jhn7C;dG z9q!CW=ty9h2_-C-C(-CUd6Y^pb*-cvW&Le`FmA?mObXYQMpx0|6~QX?eU4e!IVyP0 z%}s}21ik7Gw>4^pM&TXSIpk)hh1gH;+Rt7jKW|N;nvy>!;vrss5vHLzCaq!Syv2<3 zzRD)SiT}*D2@UHe(h+6KF*hn&Ds%-B{r)-~w@ z+^RZ+#+G1A>+v@lWPc>M;VozoO*`fM`wYdt^fUpHb=2_PYjAWOSbeKhG+^E zB)9FjPYFZRL#<51-nK+-sCpRIm;5X;up29P#`hoL$9lJ#$87@%7g&siD;ZK@29N%zORbXBj+TBKy zl{HaZ4T>S=IFC0`XXNKE_2-eP8J%}IsNhOCSA3#ztmTvHWK5eD<;c$h(O$*{L5Wf- zI2REq!~LM42~oi=N;Pqjb+<~0F>RS8I2g>z?_XOdrmgIG$3#-nUWvA8i{U^=t+g)? zK(rB!FhiKjdC2gHfLYxc9-HLnXf{WjPxUORWB)`8EmLB)nBCw*_M$EJU;e?jLLr#4 zG0?8n&P^F27$p&#q!FojMQFjQC;t1oZ4(uCvlm^1e+CY3yzcb3w?d(OHvxY0bz6v- zUr0~GOqu+k$%*3c0-AJx_Z;#OcW^4nd)g>7J`zmmBd22VerXLjR(Y(+;52E>M*|DE>UK`Yu%r^Ge0!h{busgKjPb z^Fm5H9ddx?I%H4W43CV6{YSD~u6>+7Rxo*xt?aA2{%6dwB1=6uLCMLQKWnhgwM=T; zp`y@&4`v{knxIJ!jW0bfix`*96Ul9W7!oGCA|U;i%;L4z`fu_ex(=s^(R~uYu~&zY z<$Qu`T4;F$7O0ReEUtW)b+bwZ8WgVDrttQdUy$Qj8yS`j+!vBK6CzQsY`QapWa3)8 z$cl3b!$znQ94i}_qQsj^Z{hrSV^N3oWxdmTi_XAZpFYr_piMw+2%geiM=ybMCCfKy z;oNwM$QfUw>Xk<88A>jx#ER>oO3|NG7)IArq_3mQt{al}bciNa{vJ8T6-i~|1!Eaj zAwK}MY&2Pd$t?%)-!Ed1G=!3o6vP=eY0jgFYR3W&%FVm)2zUqYP_Wrg;vCEHHdaDI zT8n0QB=a1@TVE+#OpH4zwMKa*lqD*mqtYwNKEk#s`wFmeN#Um4qN_XbTU9CeBf_?; zNGu_(XHBl&+)yNnP~{rE#vFe?EETKZgdL`^a=K$QqXBsr&qgw-EbcHo?%c}i(B5P4 zy4sOMQn+6aNtPmg&jF*Zmyko=N-cuVSpLWppJZbL&RupCGM-xzToNv>q z90iZ(Lx1mt(6d=XF?8t!8Ic6>hBJ>qnur+bDvVZ7)z-0h#@Jx#O$u(lu7n|1GZk8C zA2Q?TMlZ)(|IYU_@>NKsAOvG4`C~LglYILze!4uuV{Ghv**HW`bsMwn6msCA^pQlP z8X%(U8d}ofg2aGYSR#sz8+k{+S5ImB0*YPP(gSTLo)ZCw^FQv1Z=SlK<80c0>_Pgp zVHld<_PGXikA}U%RM=k};8|g4%wB~sM$MkdVLnXHd?}gbhVuQ+y|-`;(lM~$1$wNp z6&LYIzGWXmX38wVqcN+rMD9%gB&uZL3pOF4`_4J~{HEHOHtPwUe%Rk^=XmxTSof{k z2aXSW2kiM*WKUswinfKrCh0$SYIFdlUw)(*FgkJ;M_&GO#qip(<^P9}Ttpi@a6JPpBZd=4zQ6QV1!XMZjBa*x@r%hwUG6TVBIGdOI4RWaqusQO++-L*V?kF$ zgI>c-Z?H%kA$qCBf&^JQDtBkAc?n7y>|%Ezzx6C8rAB(j2R#yYV??knkCIn%*zb~2 zc;&$oLbGM$p$fw`X2!G8^xTMYh(zI|FbXhQg$a548dK1`4pKsts9nAhw+xfp#$rYq zu2rEY<0}u#kF1%WlzRg@0o?QQ7Lat5IAc`6HnOO;zFKYmD$F0g@!$T+#p%3Moc?2Y z*mv#7Mh<%!p24pL0Y7v`QxUaQVNHLCIa^*<+@`aq-_{P*bns&Tw8D9fJkCF6LCZYQ z*(NqoB8MCk!v0Wz5tw&;#fKz^q6pskHc>^KdBP;UV6lD)MCY$d{1#Jal@wvzAxZb9 z)-(!N&bW-nkvDGMGiQk;IUt&s4!$Zs7UCt%nEx*%VAyXNo^0c_B?frGFa#o)9@moC z^QvS*4#Td5b(ohUY6ZVWFtm7++DF1zNa&|nya3iFRVw3L%_2B9qAmZkfc~M}Z*8*m zw|!NV&FV7q2?vUF-PTK^&_jnQ5TQFZ0xf9i6jiY@@vtKL7~Pb5QAhI>*z`JlYNxgv zm435YM7*jwg~n9)Yp6q&#;apv)2vx|f#<++Q=1f#lyCgAY5iCj zH}}NHfD1eRmc`PNC{}W|*p(<;a*|vP6P(V38?%+k^_Xm6q_*K-21j(43K?wvWvW6S zXM6CwGZt2HSK8z`e!Jwbjcc|d^78SIGSPVDzU7A3_E6g(rno{(u$nGcM4r0-o!s!& zkI1@D7>g@h4=VAFvq*Az5F2)uOzM-8 z$bD=fR&|lK$zK#;>vuC`fT|uTEZWz#OoRijpMfdkKmgZBi zRX|a6w1J``rN4S?MRMRA2{mYEuX6jOn}4KOOg#>uOqDP(vj$os0FV z)dskBeCU865kX^Vp(=CstdsM^JrB0HDsbpohnu*xoVcs+QX>eResXx|IB{T+E^BKg-VII<*?@ah^&* zizT|!Vg%@Kh6RG%-tcdCW~!4*SL?n1*elBZ_~@;)p#r!wv*gb%5y*?Eb=rF&$K7(8 zS_}qfBma9`hpYVFM=f#RuLVCvAhg0hqk(V*JLb|Xj7PE8?`frBvpS~*kGxNTYyq-* zBljAKB`5XHgf*MIajJBYAA5_maKz|>lyVdM)91Z3K_&5e@m6-TQ$%;u zzeyp+3ZwnQv!5=)Gu9P(E8hefK&cpofV=-$Pr|E0IASpYV-b;_wiTaQ_fuh-nmesS zJ}}<{3uRr;gpjZ^A&P>E*NsTT(N4%J9)E$v-)2CC6d;0w@gUpKq-RuQ7IvtV*G139 zXG@u~5NC+=US48yj^ki%ZQzY(Zib76U&~pofQ4BZ3~+^9hU20jai|-sPAmeL zl-o=ED5y2UJk)QV947w@n?7wt?6zE6cu96&sWf0la=d+A{iRWN-G}yLCQ-HHX@Him@Qp!-@1%XT@H?feVc%2AwLS$t6`>6wi;in#u{VOo6%I zC1#Gid1VrCx;;8Tia1_wasyX>?GZ4rg})kCpAtevG*xUh^zfyTc-4iCyy4tD^85lj z8_@MUoSF5eH~WOQB57qETt#)iAl7jh-v0LT&i(yRh@cR`31gw=oFyRgp9Ip<170z9 z1#_yzQVXy#jbaFE(~+#!@Fsu{p;{rFfj<*^57N1(A({a{WF6)g^s1W*KY3XGooCEg zuu3Qg!)nBk2pCL?4RpTw#}4lzUJZTTCf}zvZiz|)wx#L1hGV9?8S3&cIq*)9(%$|r z(YZ6a>-8d*WM9YCqYC;R*`LF-U$RBdy@u~+Wfyw~K?IhOJu>!1rw|-eGETU6JDfX# zr>01yvPG^7+1@L4#L;{YAfcGwIXUSb zE+@O(h;12Us}C*}+IHrZj_~=k_s}hU)8s0Ur|IQVvx63j?dK@isAI_`3+HCh{Gs>f zD!Nth)#!1rddm^BZ0H&Lk>8?dpc$)9GTr?th~y#65jd9+xHp(#GBG6?tZ{N=iDhZtUeG@zWX@33GPvge9Awctwi zk7-S4Mwo0?L05V@DHw`ZE@$^f`DcCLGW7@QD9&6GU^G7^>`xKr$D9>11u6-b@5(Rd zV^0k=pd)WiiSD6KxdpOCcs^j@r5$4K{5zY25?X@2Pf0w*5OhZMk@|!|qwgd;Eias( z4|!=EwM-H#;gELfIT%KtFT z)q?}rjxZZZ8QAmEsaZKIS_}gtgvajlMiAwbKA%Hu=S%2Y70J6k0(S)MQKnR9tdm8b5fA2 zA6e?U3gT6FGRlxPak+4dqsc;BK^ZpZg8XXx4Y8p^+Qlpkt2pltgJAFA5JmV3U@4)0 zMx9mS-;m#2{P*cvGU1|aaMr|pFsZrPga8q8*v(ZQVl(fjkl@05brNA+-!;l{^I=>U zL@`*z{nL=4B>+@nKXVz(sN;ku0wi7|1R*_n9H(Ll!cug_;S<`p0C9L{$1(we11x_5 zmv(F|rgT&oEcdpjh`Lgm+39>n$LYk`VLVsIuDP+Nq0bc^{8e%P%gwH~zH?hmcy$+n z_N?vK2t0KVw+<}_J7;O-?6+XB1vK^>!VLMTVjZ^k62~m17Zk0+`?0yN&)%x@^RlaR z?&2U*k5_JiJnNzNBu_J)Q*>Sw;8VBqv1$ocy(TYhNvbea4%YvqdCdOCyg%HlB3^_x zNa%GsF#K=Lq>Wy>vo@Jww%4^a*jsuaL3A1kpY`xoC(jBIe3w_m?Ci%;-=Y;8lt;Gb z=1~di!Q6UdO!a%|4(49VzEcyPMI4&Ve|huaC{%Ql92(IrWD5H;cbP$(*}4}jNe8%U zqRHr92j2`A2nuGNYZM2q;MBh`Kkr|gG}=eZu0S9@z}k`>R#{bScCpZ50jmzQV-dBz z$K^j+Iw}21JiP^!H&3X#OOEeT(m&O@?8{}26{Q!wC{h?{K)+j=g)hpe2R-bYCUyq{ zNs+J^Vwo?i(S-hFFUV8#2TjXN7zj7Fm03MTz6<~M{zijNZw%qlBdycip)zy!HTdQ< z7>Yi}FhrTrF>YMI`SR>9u!0#XYJ4neBwsSDcgAxSnn;gF&4jg2#I%C$!61+PhEfV| zDv{&-A4NK5eD;)Yz6qfBAR;&M#m$pGGldpuN;UfQR~{D{p*&}{2pVJ3NvA}iZ2B1k z-V+adc>)KPRBrT2q-Nab6#84V3AdlgG$pk`N!3B*S1EMZl$lZRf-&}1 z131&Op-a^YwY5h)&E4Isyu5hJlScMCacVGiZX2*8T#%Z!U`kdTZ$l>kCnm5RXMoz2KZ|ydkToTD?IwA2z3agq}99KrnLO9nAp^dzH>j zcJySc7sl4Kg7r*w8ppt(6eSk2@X=$`w4uS za4b9dw6Pqzwk-IoF#^JV1h=8$TjdPy*m!+G=;lcrA%54Cw?Azz67)3N)C$^!v}0vv;V+T$)&{X0mad~a4XDB$ zxrwCYP=#NzH~J(A2+5L32o+k7$HgEhp3l?c*UyU7b8KT;AKoQq7*qT?+ut_dc9HJ1 zqd!MT0u7&FKUVu5CUf^GbX5(;C;2Zy0b2ZM^G@|281d{oA2p4)G}HetLBAD)R1tlU(+c=X3$tJn9N&4H|2`yzRmr8^4_jj!kXUrfF>B9A`vA|U5F9ysh<}3i%!&oub zDn@7uI=GGpUL&_m{Llae1*SRC1peL|;=zE1Lma#v8eT~Ec^KkVGsASj<4*RRuyhP} z^lUOtv(7R$4R>|9vO1HTxyl-)Oa@N684=1kN^URoUxOXZMUiK~&`ki7*4fiZi3$xN zKt%~mOiNS>3?`}!-c%+GK?s_KrX5E_#7l+yMdEs)-9`ScK3r~SF396tFB9fq%O#ao z@uCI2=e!?_;Cm7Q?Se{xKzB{ec07j`GZt!V6P)&f0zmiZ3hSg84JOS9In4)zaG|0k zjrgWu_gfmLcz<})%KKgkFGE^0U@QJci8)W>dw#=Ny@Ch#^$H z3?1RMgJHWKSF2Hx-cgPMUJ&SWg6Fo2!g?7ooVOdv)t0P_z_6rDe>(KE+PIcuy^XNU zNW^{Ms*8UsbMI1jJHL-6Zsd++1lKvn;l9q(xAKzba{A54G>FIF&E#pem`&8&`VKWU zFLYe_z{QX!WtJ{qd)n9~XbD|v)@N89X*330)*=9ot<E#j8Ncfutt8a}ZbhkKeo8cn= zcHhWTQr7;3+5EE~r9MNLCv5fALa=Y~g-VhvauG%bXVr2z2fZU@8~N5e%Qv}p-vqWy zlL!p{aSiSMKZUj|5_@9s{LWLm-9Z7beZn0}N;%q;*qR6K6O9aIKu%a9?6W7uDm;Kw zl6{S(PiLzdi@hL?&&_Z>DTjLp;sO>DGjTcAc>2?N@h^wGsO@CqNLtDJAP$1NLE?=F z_r#1W2-L_zW$e>f$s|=T*D!0>8cBhBIo@j5G4ukn)itOJPs`e_S?GI90avDRZ{4); z|B?)e=<;gCihd9ny}&$ zSXgwJuBYQXRDmrRPYqq~&QX7aXd0%_C;W5^4X))*p*aS_C%eY^S=grsmxGj7efG%~ zA(rf4HKf>BEfc2`I5WoXefnghznbvg+C#O`RE4n?Yfi&X13xZ<+3dLh-}6}v9so-@ zpx-ltQNQ8u_3t=DD>>Z=&5_$LI|(Ur^9Qe(b(vWlj7ZvWA%z{FHK3q4)7im@! zg!g{iG-)&LMk^}~_9Nh6W#;vENIdS7^MiU3x z9!9a>6;{r6LBOa%eTu6GWZivhhpm&MHAZGcU}ka6|{t1oUr^ z5}w|THJ~%k*GgVyezLKlh3TxQhso*{8`g}-POv1c{Q8h4q1GyIB8>!DAP#eUe*py! z9o1UlVmVQa7i1cU(F1&Hp-bVbnw4ydJ#)14%5u$ltk)0kXmN8WJ&?4&ZazQVGp-FL z1DE_=L!yzMmwUrN9ECZs3!%Z&HoD^IE$<-wP&+AT3=J540mGsd7fP<`5syeE%nXdb zZGE@BfzY>Ux#_TX_GHO~-#lbus%Y8{=o&_rqvqmZv-%+MNKh#WP4uj|$up4?X|iMF znSN9`kEc4G9U{jB*^GnR>;<wqNx zFeOXxTp-vdm>pXN3* zTVHOm9 z&kVo|QZ&7?QM)fXFbb462244x*FgQJ&LDk_Z`7_BifF2?vv66_)?GM6=^;LMiszNS zIA30NUVSNd;aep}A9G5*B0jbl=5_MhJ^c~+qKr^G6QrsYc9UG1P?kIL7=J{1BPURh z??q=Fhy;^#@nos-rqeHB`@K(X)*;pR)r`K*`u7GXQYP=o9Om^-F~wzZC|?rH5>YLQ z_c?;ps1+>sI}{}oSlL@Y@86?awm|1Vt>|qhXCohD1mC>m^us~eTk4x0b~`WL=B9&% zPe`9~A*a37ua)GU1G~aKEh01=cNI-%xxR}_4m}5_h{k!k zElf7%r>T|+;jX_7SF2P$(ApJu;5m;H$kfu z_ykxqB{>|%wQ85+DK!4`0->M)l%anNo!ehm7PEElz*!(V$QZ9F4+yKn;=-M238^Ji z+CzzDJkOVroR}9=O=|GtGG(b6E}6$x4^}_w&1FrnnVhOqVG@}s^XSrHv3P_1C%_6? zSFZn&EVdyPlPnHQlE#kXL(93xuq1Mp!$2raRLE;EK@|RH7lWH%PPG#CH{^Z^53-Cx zoU)G5+fndQ@egGItkLLdPa@^R+3YzXX&METk8w(XGzJr*J1yj4UQc-Wx(e06f=_h8~@ z|0a8xs$M3Wz{+8At?>Jw^D!viFwWyopIRxbCWY$9afU7$6()Ypk`|7g8BRuw3Y!S? zY~)yePxKt zS^RLz5~1#ii}@~sU~E85Q(WTtivSx|UbQ9wOSERw9DK`b|1aDCyhXk~82hh$lDV5& z;lkK=)QWuotX&s|;qdFaU+UkW0vLm290fJPA%x#}7y*$KJ7?|``3u6YOohCO&{QBk&D_Q)%nrcXX!sVM0#e_ts|e@i)uP;^w+F5OgX9JfQKZm=rBifLGu%ZcD6?DS8LeUovWc*ocjlm zis*QOyq6wYrL~%8ueV@YCn83O912m`i-~;m8BT229xZpU*BG~^#LqTf%T^{HH9xC> zTPX3kAJqsYHL_Pzafib!S4pLN$e-0g->ZoNyRP@}Sclpmi;NYhF+#5$i}BKm+rnQ9 zE1tSbYi^dSUNo(^dDX|Gm}OhPILlW)iK&ns>`czATp@-9gjWxi)vi~@9b7xHT3_lf z3qpJUL~o;NWnS$X4ciMZqUb)pbX_~Y5PyuadepTkSB^zwMs(te)$p?cvRnovjM@_D zWyWa5rYTa47RM0{k5#k{MH$@1pDzxY=wbKQEfFZ$d56vzG1;;+iW1?O-=c!lq@MNq z{^Y~i=yo8DT}xmho}Tf{x|>`N`T-S98-3I0Y4kD%nY-JYy+c7~b)1H#&(jGN{6C)} zhFY>eKs-t!CKT@qsJmB(8c~59_1mjbJ+02ibM-6cAgcl>67*+d<);i4 zOESuz;1y~vQ6{u!2E1d$n5>Qw+N8d0T4QKYQsi5NuqoBt;*T;I=p1A6HSBuK=n>F4 zC)q=uwh!+@^qxS0YnhfhlvASOZt~782ALjJJk~=E{Z4~DSC|Nn(W0R|Gg>KxdGOq1 zHVWdK6j2c;qGp=qot|+;on(#F!ldig&jJPmp`y}4?XjO5?2CrLeFE8{;R zwn-Q|1&3?BLk0a-GPXuizQ+eC9h2o=>RFJ*Jt+mw`g2no1mC|T4?Z6E3B&*M*4R^0 zVWYv5nxwY*9gnSeI@vd%#S0yoQDaeju()oBAus8IIq1(sATyb%2NAx4(VjA5D_?<= zEuPb$`1AE1>R{C&^ROV*v!+!cAPmp8%`>%X zFd|kGj;KkM5(D`#G?e5w)?SW72R=I$dTGS(;df5Sj<(y0=HEdFfE3pAfH7D1Ui~sK*DRhbNrd zA<6w~)gP%M#63A11M6C8-KSC?v1L8A-l+Oc_uXZ-6fBQ2_dDERzc4^oY3DyQ-XyIq z!OO?hstmPx*VJxBFJ)V(b;Na(X@@v8Id-=3lgBy&yt(bHNYOCJpfjs*{6q2F6Hhgc zd^G<}l@cNy0eIxyORZg(0T?xE+U@@#v+3WydSdNE@?xAqv2R5T0IzK+S~*VQltbpI zoPXl@R?by3#FJj~N`U_B2M^VW3rzApP`|)dkDSM2r1;4|+?cM>$slHXf(fpXo(RB0 z9Tr431*01>kB|c48_|S7G-oa@xc)GfRyms-Gf+{VZENl|Jn9n4 za~x-0fAB!X=H=U^;q_#VP)NB#wnOM|*`TB^Q7o6Ug?qM<6MSjH?r!!hNktD#zruUI zb)VY&VXNyrpG31vNn=D%lEM^XuI=)Bb5|vGOY?FmckCp2b7Pc776~%8k=$aEK6raE zK!9I0qt%{)@FDFI#UEK=5S{)C;qSU5sw+JiT0+n0oyKJCYo1eRp-Z?P;nqR3UWz2u z4{FuP#3PK@oo;dZy1b%P)BYi;V=dQ6F_*LG%>gU5W^EpQA4lpWI1;`YcV<7V?VOd# z_@z&D75-nGi3^%T=8N*;X8xabh+I4NWbZnlG?03Qb3S$cv+829)S~`R{xWX9m`EWS z^{ofmV4{o|{gk{w#7l<0a!m@yYJ~kOH;{i8>o5T;vU36@w6fPqRWkEf1wvxH_09N4 zxdE1^2`0*LbMOzcG!>WG$5U8#OAG>FKYII9ad|=WHRhC)L~Vk>#`1hQ6$=Ad>%6mE z?)+TMr}&B>o!z*bJEXMmr$hS?Y%7NlQuuNbecwd2*^|K_-+oDwcV@&x>Td7~DKz@+ zQ{kAAOjA*udfJTmz6QQHI6Z|0o4uF6nva8S0mj8=$N-fpH!AYnBhWc1uHaIvupKA# zFg_1X%50wJ2DbyP1B zX^XVW2dEqntOkn~OG}ye}+0X&Fb2bZ~aO7J>JI}{%h==Idg2;PaRc6R&pn1#4!$N|9PRd<}nb`ca2tDZ8 zX4Gj4LRE>z(hPdTAQ6YHt)raGz0*3_yxN(|a%y?k1cOYo0WE}$Ohzl_8yMEqv-k-0 zd7Ciuod+_ee@Opf+z4TVr~;#7ehxpoD%3bw8ZXof)t6EC^IdrUwG&gH;Q}WGaT%@2 zI_Hef+4_0gz2G=xHz6z9QuHn@_hB|@$ar{9M^ewvvnOexSpjIY7&7Z9C>wE~?11J2 z$O1{m|M1<;nN$SLqx`kkn8+xOC7NLsij!Mqpj zlP9(204d&si=w{#CLOlvj4tI&lW+SUY0L@YSSZK6! zjot(fTluL(UN`4JTG20PFA6%Z{b5FYw6`Gz96SZZV`IQ!RJ`1zPtlVU6F2i;#9d13 zt#SJUE%|2aAs&*m_4Z6jV(PWHc^wulE0XS($xZ%VEsbkeR8zne3=O6c;&iJeiBN0C zxPtQLeFk+)i9+256--omzF0{_c^#ABU=$*S8w0&Z5kjQ`O>mn+oda_tx7CWb735`2 z$xu-tcX!q(-TJNC($|sU{i_VRnmY%2UK|xRQ*)qJ7PC~9?Ae*KCx*om8=D4(FC!8@ zoCY&ebEooe^-zKPyt;U%fdP<;Ah$DHZxjyqk7Ay{yt*`HE(ncAPNJ-ab9 zoLBiRZ6cBlmsjCvfHg;Bfspj)Dxtrt5>bMYa|fu7ZTC9zL#*?b0z=JQxY9T^>NQU?9ll)F_9eG%}R4vH@ z>58mPeO%~u{C%s^&>F!|3E9^3=cB_9E#1b>Y3MPzaDTq?B%1VdH=Q7BNfyp4Jbk`N z5T97#-J!G^pT*{{7!p%CigPV|j}r*=L#EzAFj4kdx2~0cbc?a+-HqYMUkSX%+xbe_ zQ4N3N4D5)S=)WURFcjlF{pO~K14UVC%VZD&;%jX_<*Lb6kh|meJWH*JOA{OOmzq6L z5LCw|2dL`kYVgdIN*y#FkgK-F($JMo(B)y2nGl+To_rh(r=IIRcvKn^e!FqzrIi2v zt|i2*dIn>1fjrfK?hNsj7DsY$hO9QzOB(g6EK7sRMsT^NKHijE1IRUoFV9rYUiw^p z(Hol88#=B0jq)#Jb>Lg1atZgYd+IF!#f~JW-3*L-qjf%VV!oj!*%p0T2gQE9M}Bk0 z`_RTTvTf=2-e4*KDJBu&>-tzPxA?_^Wt?^VQQ)|>&LrygMPRP4A6{B^eFAsbdW2l- z+p4S1x2UTi1di3}lcM8hTcJFlQ@zJ74j+4vFI7WgwWJR9R* z*VdAM-io|i#K=1^ItbC`E5T`uzW3XYLGz%=9emSTu~rLu^!96X{K#oQd7lq+SBi_V zNgmR5i@W|tmdy{{lE~`xZy-^cy7>YB-^+wh0+B9pF(dWW%Y<@g=bmtEi1U7{K*XR^ z;D#Z`u)=u^5jcND-MiW5^OfMGbJ1o?qO=j3LVNR1lrV8)I}>aU3SJ%~ww=h|>$Ejyas&Ifl{3AAn zkJ@(DGS3t@?@?)Y#CYMT>T1^oV}w25Zmc!;Tf@M-?*UK$hzap=@n(*1H(Mhl>|?qAgR$alCD5-|yedPb8k-WpYCw7b*RlZ-`91 zk+pNNb!yXn3lDR@3PyH!EBCb4x2rR7Y>Qtr5DaFm?-^uj#h$C?$&*=j_`Y`Y^2Y92 zjoKT#{QFAe&_UTGL*=%>2N#eUN+m8_g@Uin8Khe-drLiooamufyj<{h33 zCkM@3VDYbtYRSmHsF(iA7RKX`)(}i0u2}5im@SJ&On&^^NclE+!JG8wqQHd}$i!oM|EryTN&I|O8oJ2$YB?Qk zs0__44Pk79PB>))CP`E0sL=u+Qf;u7RsH9IMF;TB;-*t z#C9K+7<_gxF>gq`cDKMWNb5X44X`fkf1|I^Ly4UO=B29hkiWPiVD`v6$d6r&J8bNE z4F}3fMc_7wE)&C=dnAn>eNEzFU|`IOK$KEx^(AhmLKSdxp-`QJiM2F=NF4r4{=BRe z8k%FNw``Cxeg<48IN!dvLyv{G$O?7^z?yZ1VPnnt=GF^zL+F$E%)J8fFLCR)V-cmi zwyd=7?l)MG>?iV#%CK0rOhKuNiaVdbS9A0hFugNNN%ViiaZ$uEd~fCWuoL-FWC%vp zy;&qF7Myr(q>OHiMtn;0!%yGNyEmU2UD8PSVkcK&(AVugqHDiahB$+8en94s!fAiP3TZgn8yF)g2M0FM}BwOWs^eTqqbZwiyzowbAm1V^aU`1pe>xDNJ21cf4m} zABsOBlH{T=3_?a}?SOj#6=+SPI7F#!quL)TGMNKG8;A`2e_bF;qju<6ATGEe&24&h zNa*)qv@yZ9kH;YA$S;~`@DLJrq|B=o47+-r`qAAWG7XbNe>iY2U8+dqaXRym^NYBN z6b(-QT9rH>H)_v=dpb$nAj{-$2({Xu{F6KP$Vx31k1xDh>0$;UA4qn2Zbw90Czt=U56E4xT4ea#A!BrBAm!o{#xu zTLodn!8RW?t+YN!6NdLY(%jL=)^`?#NqYHWu?fFovvO!N`;Xrk@Cuk}?g4azz#fsS z7BIvW$9R5Md~Fi%A?CWcpL-war9BG^G-y(Dj;309H6pgLM>u(`GxyI3K}jY6O72*68YBA`pR;stzT1I(|338*pX!iINso8i5_gwv z;ESs^%tfg(yptucPIWXboLsqYT&v<6E(6P~9SvbpGMvJPYhRN2imkH73GkfU4GyY8B%cro*ZYpg= zMHPkF)4L20-ZX=1s^<9dL(LjTDZ^^KA|Dj`x=|2~dZqb!gkfT9wOJbh!|FXh6{+3%FRzPLvdO-`}!?!lvfwv5fiz_scxsZ$>B_!{9 zw7sl<(4U>vNQ*r}p^w-Ue{qS6&~@5do3~Z^Q}XW4mCW?}q^FY%v#tc-Cll%l?&Fyo z%@9Kp3LR##7|I|Bj8E_wV9%PJw>9|86dyuUy5#9Bq~|;urs*H1|NCR`{)+J>#*tV@ zrz#EU%102eEt#IBzl_Chb<}-R`U-yDo!8OGaaN zp2DihY06Ph-bH-*M>-9|*vIAXSqi6cUq#Ucmc*FT%0i@c>ca^M(&HlFVD%qfI0?Fx zMM{E4Gl85+A(f!_n-~KzOpQooc)q`-k{GNhI>)yqE=lm1W;RAcCXk0QaB9;8P%IQ! zk(L$agh9QbKT^K)R%=NnwURp(psn4d2glM+M5$oCv)d^dMw#-3hANQ#_;^mOEvrAs zFIMk2V=TNmj4vo~_{)`~Yqbl}RLr0Cql;BVy zb!LKkT(0ay{h%;vu_(z>tbTI~K560Z6@*4NZOnD?Jm@2Ix+*qK1$TzVVk5~&sn{+7 zwZuOKQ-PyaE!FM9tRI8Tx<;==`>&&9ic`e7NOhPz?g#bPPeC<}A7xJKMD$`mV-K~T zBPk`9A95^z46!M7FHSFKww5JG8{BkQqt9%bJy7lO_C?tgX=XENw?x9T=gF7hNqEeJ zi4vYq*2${mHChg9JEmi$m#D^vU-&SqX|@H)>bE$frRbIKAe}}V5H5MvH{C90l{mBH z(-MDxb-JQu_5HxF*xtF7{CgftQ&81P9#Xpzh1TiCF7>w((E?rDy!@{`({<~MS!4H} zP3_OSPw!JZo4-9&5J=UFPO4AP@b(wPsh)y@+{kd8x|nfzSm^T2i$l(u{EB95B+K0& zmZ_-{WMfTUbUDSd1;qyAn!Yy1ejPFf>B>jfGnEPIZH1>~neCHwHH|jfZOg4!^)-Lq z>jW~}0hO!S76+xtA1cHlFTwTq{cOm5HM>VQE8C{%$%jKlrpdJc0|7yHZ=8{n$L&M% zqNjLP?e*}Mn?xXpQ^iy_gSQv+7coY;W!G4K8FW&K+~-0nV>u zZ1P8D9dgsJ@@ChC=WxPZJI>O1O)(C)+Klp3J@r=i6q-%@>3CL{ zF}uh1XxK>k4_Vl=P@T|_duw&G?=xK*id^-8Dn@i1oYS8J*5ly*V05P5{2^bX{AONn;mDnW_;!@?KB#;Cb_=ic%o@EHezF?>Yep?C_%1C{u{Ez03mCWtOp@TTfuM{ zTYE0`Ev3uMa>XM#=H|$?6cRpWFD>!=MnW@_YE47QcbpF+qT~^IigAK7Er#)bOH6o2 zZCPYQSc%V?6yR1(8)8O@w^J{keQ>!qBi3h$_WoflZDXR{gr>+M|J4|2WE1=4k5zY6n0p?Kv-M!GGP!U)DvD_KN6Fk;a|l7tfto+{1nIMd#Z4Ug%|fiFIlP&k?DZV`UJgX^P-E^d$|rx}B7fGQFH zoJ8D`i}W=2a7ZXa$h6U^PEwCr-FTiYcyW>;jc%=vEQN61n>4km;kdcgGa7=}gdTA1 zx2fo2gPjekYQg~W3=9~z(aTDjbT=_IJi!L??^%5jouNJr8jQFo<@Y?4A`b~uLAi<; zN0;0)@d6CTHy$=@$=~7>M?4*~==NdmOH9b559mJnPT9BW3g-`ua+Ssyg~QQP#$xpO z?700HQj^G{dSWO^Z{IiM4?^*Bh4P@ ziEUELUH_rddAL@t0%w{bSoea3|~EaH=x+& z&|B}495^YAo0@XC_`_*+x-?_foD*WYFKHyr zzUmZ^w**yYz(2N5-li?b5%4mnBa_w@*_LP>9_72xQl#6Ua!Xf`mfmj9#4 z=^b#8*#d?_>+o>lToA@czJKR;Q!tvfu;b1RzrtHh_VP+hh-4Jm#~k#!VE~IMOA6Zr zQRr_$n4q|SC-)tQGoj5BAYeY^N`B|Jt=bz;JgWl3ZL5){X4|}1@KR-FurYl}+Ckx) z&()bfJHrfkN&t4u8I{|!;5kZCU&7}I{>*ll%t8Eh!&C$PpN- zkw>pKZ%!f^W>K*8O~==@XnB{fc};u0zB=%(&=o{DciOLQsH;#eL$Ssxj-kP{OZs&$ zHkxv`0f~!4uF#M)u3}rfYw)+-NiQpZ5#F@v`>Q7r`?woT-}Zdu!^qa$+1X9EZWbBd zOv$(>WFO48-;do4gumLvnknqZP7084aqa81AaHRIS_QXAKj0by|Eh?(=iF97d12^A zDPALOYK{k|=~=v1?xR4A7QlZZouy%4)-HN28~qztWDm7%5P!dbd=k+e*v7v!8c95P z_%2mUt3||fAHD$x%_8*|L<0s!TP&80;7K2%=VWQbg6BLkX_t~rGs`@HxY~XkSHs|$#T5k!-{}ToKu^k*-#Y>A zbTaAW!dI5%T-|SP-6S9w_!|!~0A})S;kz^8q&@Sni7?WzN{@y%;d;aQOQI2Gh1LFW z!^KCU5wzTd(3H#!stLX~>FN`?D3jDWOR&C2hOO=Vtm?&AV*bjZw`e~r{&S+y%7u4D zKTC9oA4U2A8%K)r!4-voKF!}~oK%u45925D`OSSlQdx>6I%K_K(WOdW18L_GH8Syw z=R|(a{KK)uu^Y>!TT4UqtoPz*<9l5T_s@@;xHde4yO5PXePiX%O> zYCAxed!hW(j*=_2=C_IOsA?gAErl%B8bl(D?ks1!&|bM0$5rX58>tz8boo#fSr|*V z4j@~aLam&4ifC=}0#+^i#kMviNp6-w{bLy`k8QE_AXzJ5reX`;uq|E6$m3n|Ep8^5 z>m2@>`B+nS@SHz1R58J7=TfsP2SIzpZxCR*Xf0ldicIP__!}OwT4oz`L#wFF1G112 zNzrRYiZJY2fS`mI4PFR0mQ^$1QYuLTErhqq$a|L~e-rtetEN2D=!8?tmGERXXA1Tp~jjEbMCERO26jTykH392& zKGdgRm{qN|TgBR9h?I@QvkRlHm|F;F%PTRI8qYbl;c2=sD<#fxaNzg5NV#X;+JYQB zzTd+$nm_8LQXDX!nePtG(T;g>^P?|+LR$Jf0XcR9U7iHcbhX)}NYG~ROWOs|#sI$I zb334X;@RkW3K?qbL=^F z+=QQSYc(>NkNN~>{=Kp86*&M$lBiI)cQTf-B+p#Du?~xN5jZi7m3>6aOtG=UUGM{*k}Z`Vl}CJjG02=Vb-P~CQ8+xS7<6CbI`f!^2_-? zgkU3b&?V?{3w^YVVS!+YZum^VE>3HpRH*9+L|H5jpny;55n;)sB2V3R@PY6GHXLtR zjPa0lnml7)c5tgP*b%|{$FFQ%ghC9LU)}P3Jq}hH&aFskIINb}u4>{)ie5YL4E8;& zl_US$f3co7u$Ux=oj4X@6FqAvaU3|cbsj4?BfD03{^I>ql<^^8-=Aq@`-a;nDo|26Cp>W|WzoMHims>k19g9LT@V1_K|~Qc zpu8^Jcyi2=NZKCEt0iX?pOhAbA+!+zSHe1R}(fis^vih8G<_YKEq+ zRvn9pkGdkCx<&djWZpCt-Ko;dTdh#~GI-uJ90^vF>=3SD_Ot9b0sF2;v4WS%9wiJD zy75G$u@-E&nbk|z!T{c(1+%i$&qGLuyJe4@Z-<{4QrVd0eE}c0;9W0x-AeVcHw@>$sI=z0jaf+xCp0U6eCcP_9WnV!+qZ*Ns5y`c~|gCL>t@ zu+d;Yea{fRi#ED3>x)!PLW{K`C6K+3+8tK8f3@i71O;uABr`fTn&*;v zS}SBkbB3KJiOG69uD;5VBEL-ZEVM(pNV#KXHKU_IM)EGsw#4@-Z>u6vunJTk5!8*Z zMz;&r6vkVmwen=iVlqQldoX71#^at{@hmR3 z)TOWicoLn_ZeR_pl=n*^W;iQ+?~*IdovOSECz55}z*77nszU>a5x9|wm~W+dT&~a; za58Jh#(QutRgOjeyOFG2%O32^sLM)Z#j*hw?=@){D#&Ko3?VcR<W@pU&t3j)|p{=935Q8N4MQ9GW>qMm@cZEEAZl4ua`E6 zZ^Z#j^Jb=~L(*#*z;Ie?H~ZM$#MtSZ(iafdm#f+ZY_5`2RB21Cku%Hbl3*mpN8V&; zv!Z*hk?YFo=9^+3>XoOu3S1@%l;oV~149)CiGFCln`)BYcr0F%Wthml5^Qrc`*ofU zB0O_RBPUex-j^Z(;PAnQL3^rp+=8@S|7q`1 zT=_2((aJNpF#0HD$+6`)t4%7OE0+k6h#~_wz>^~&dw)kRdrl3(pC(e4Gpbbi(23y| zMo9n4Z|#R5N3(exkrr@*Y=M?qwr1RfDtow!c~y;EN_QeTNTezktdHy{t+~#dBtx_A zu_*Mr^svb(>fKI$Ajkaq25ztk4w+PM zV2iL-X#ckU?)VB0F51mF$2yTl1Sd)n?v0GpI@+rH2hHPBa~1xL zjPkm<%)?4g4gSsek9BjH$K{4Pko4!edHKWJ&RVR;QHw2m2vlZc6G$4eZZK|Aa*^5Q zMo!ehx{1)@pzqy<8n2gO7p7MnH?tif9XHJ-&UkL)&V7)G&?JbE7}z;QB`L7*lM9kL zY`lXv8{=ktXn`nw$ytC_ZJ%W8+!Ukc>{))8JjdL7PtDbTHBJHk$sSLdYGJ%_n4Hie zD<5znS`r~$Im;zlwo)XA8jq1{7ZkTU1VX<-NXlL?PCZ^B&n`#}ln%v6Qot#&6*l*y zC1)VY!wlB06uZT-7;1KgwmL$3W&ROIr}0a_DQ%1V#Zotx`Bzw8Q?fQ{d~t~#+jy;X z8k~>dQK%Y!7DId96%72XCj);u86Gg@3nGWQI%aar(n*tE4I~gmrSaTC6Fj$`_I3@lrW3i1Z3+wO3Y^*VKA* z59_f{UX|C=deaEQYL-j#c)HRq*seL(H);|VunE#hj$6gR{LjbEqeu_pdbD(%<`VvaQ?yPlDgaX$WCSrw%%QKJGZ z(sM0#qFe4%IDks5XJgcU80t~4m!>;a&`11kQhWK6RJ}q$qSz^HX<4MKEDRzrMLn+; z>b|G9wcA#kW0!xP1k0nlEJ5k~2H_qL`$B({kU7=5*P>9=w$K+-|ql zsds)^B*1p%rZQp0)BKc?IVQ6&d4WdCSUN}E-<6ph(E_{1z`a~Ga7)WSUlN|}2bXnI z1g1y$!w~#yt2*;OSY%zh)|B56d{(PEdpoSk9qR%XMXfCc;mtqH zy1c+;y`)1DLl2|*pz7bTCa6trZ;Y?kAv@iuWiv^ZX;E(IdD$wEr#UAo zF3cu&#hS<7^v*Hj8FAj4N7(evIDVx!blm}K^u#nUd^kzq0go5-%LXnuZ{1UoDY zxB;Kmy11;`%NvKUEzl{`^Eg-nZ05@Sm^>@-fb|;K<~?g0Gb!Jnj+_|-Yjy>tZL|AZ z*-TUK*mDu8wP|H9P{tarrnOh3=ea-cwm}f@7`Qf5;sTGp*@DevSGIh!1>nOroWxdp zUVA+Y72P~@5y+;zQO%ayM|#RK&~C|Tr9N#m%Wb@N>I268XoieL!yjQVZ^#J!eHe!= zWM=_8>~#)v6xm85ZBpcM|BAE$g48BOb5ER~NA~@AY6Iki!pIWD>~qSciRSSGMZyfSEUF3Ak;8 z-eQz_Tcz2`Z;5^`Y`G}|ePOUz@e8g(yz(VZ9I>kLh3=U;=mpt=ckY7T1V9%f<+_-l zmaqNx<51P2&bo9Oi^YsoJHfQ1ttT2kPwhxXnYLA$_m6Hm+yC7xkBc7d>!73spf3)y zDZ}^s!Tfo?86d$ViXBfDQ8jYZU8F`KW%`2{Hf2x3h{dHLvjE<59ODQCaufJ_s7qw7 zZK9v|-l79kH{4AF8l3+BSw-?R`JNlSw`&Q1yUz($CIhh_IFCiqW&qlaj26z06|{daQnD_R;+c^FnA? z_SqUN8Um(50}#t}Z4d#RDYKw~n$clTu%swaYlfs<$qZDt&vD$C$11+Hh7uBdV7Amr zpsd7g{ki1s;|3b{g3LhC;wv1WCA^aaCq$7p@ITw5Fl#6}!3WG&P-T!B>~j@u-5SmN z6e=|XWp!~P4Io<{PKdNmYuY%qX45nVX|$CBEf*P2kM#DgNlMDCTqpDod_ zf@s5C11KJ!*+Ksx*Aq;!Xx`_LuW_6(-AXW6g4f0^FC`nE4|Aq(fhuswfrc(bv{1K3 z6iW0GO|LO#Xn;<7Z>WP3|mOoguJ+)P;q&u(5>7xQ@jLkS5;R_=!j43M@OCzlD6i~oW zeF#3@ZaTgWsdsC@I1w$u27J{Rm`;tfx+xJZ;RZsDcC7IL zYy3S(2vDvu50~Bn8CK=q?y<&)pnwbw30uRZ*&?`xs{4AIm{{X6PuQ8|G ze%_5-1u`uNF)kl8XOV0Z*c)04*MH;v>C$l#n$j}0@6(ASN!#%8Q70qk`>MXER?@|V zstsNd!{?~ZL=_|eLR=L|A!PJn0VmOFKDZtR7i}bhs{?HKInCLq#FK^CU;BWF^f=Gr zXl+;9H$CSOn1O^!6kYtgapHz^om`r!7!+ECPHjU)wTd;Z@b|?B z7yoJUGzor^1#QCCbZI$Q_i3_Iw+L&ULn#|ascch;a~%*r+=wN7$UE_MyeGw|B|L`- zqS;u4r`eb#{ID0^_!VaK%7Hh}Sj5AM1~>ajVtYNK%30O&Uab*KH6PnYOQ%9%OFGmk zP6k+B0d0dNqxnFGB)E;)N-x6gIQ1eHOlTEBd$z0vTd$JtsDRUKGh}Ka-yef9fdvp$ zo6kft`hOu^LuQrj=>MdAf}GTbpbq3%LA$W@NzYVRm=IN1Y=9L+bXPFh5qcgj^m2hy zCGKY#c{<)N{&!hLhiVhTFjavHE9DjS--D=hed`Je&d_V!CJh%F9*Az@J&Oyhps_~u zI9yTlbM=&2;~BW@L?bK}C!|b>B5gOoQ?zp`kW7fyL9oJ0PHRK}ZL=9t?9)bjM1T#1 z@O)j5pg=upw}KCOy^upexs$P6#G<)bJX?_UK3;$?d3?||^23V?&J^i)oPuw8d@zkr z;EX*+i}XCI0r5G>CY_kj##ulXlsNVG6dkZ5n+g8cK%=T5FP{lfhTR5usP;@G2v&eP zkVBNW4uZV48(@)^Gse9{v>=2#J$ZQ7Z4DYrMcw>)t;K@nbZNG%R*{mvu;ftI_-Zb@ zK$z*|!rXb*_PzvjfF2+B>b~nH{K#Vq4vTkuoq9EE{4}>+phS(852%%28{io-gfG8L zh+aUjz!E(P9dycj&5%J4<`1Ag4_Uz%TgwB{?_>fNvC27ecd1Vj!O9rtY?PAnv<=^M zFc5#fo~eG+K;Ri+MkC%99dQkdF-2$!bmbQt{>7WY3|zuhLup*;1j7L$S83H#NFZ|h z`4tQv)JZ>duLK%|dL_^~#X|KwvvGK7j8*khA4J9XUC#^F)1@n8xDstnF~f?%bLJ}E zMTSzcKy`{4Gj6ftT;LzYVG z<+MAtYG$2gvUnTl%GYq~z6jz}lCLYzianG=9j%xVSXtM^Nc~~7qR6T>dhbP4Ze;+{ z^^X)v|KAQlc@3t=cvXM9ZW`X(^DHe)&VRv&LmS1p`rp6`+!2`>FwoA(SbIO@dxt_L zpx-v(LoNA>0#48J2a|Q2r4)P3Vb&zKon?nSshVI+b;* z?1je>oaGg-crA=NaYohV4UWGU;3u9|8?BbharbQ;&c%v%UY5!~=J;apa%5uh&}xRN z!MyAGRHF-BwU>=AAGobmnvt^b7zJrd+&3rMdtVWYKBa&WScS`mRYd1?mi!!-$Bl3A z=u@tIH$j9Ww}WC-cCt>O$)sP)<+o}gzxmwP?B5?Pm)|+!47PQ-8al`73SH-=U`Edg z`gOSA@cQFPHH5=ggo9daF{-J;JkSbrNeL`niuyb3DY+oeIrhX`fG7wW9K1f?37_k< z=2gB82K)h2!={0V!ez@3B@Y(dKVdauuM~Mc7Qi=|heEY+ggxoCwzU+O=8_~6j8H1} zXE`7en_uIpnT$INV3EA;BO0c_!*6zrB6PQ5yL3N~)K~>XZ?sT&$rO!1n+&)44_wrf)EaD>O!&-+KVEp#RWm zigPi@05bVu&lKmRo`NWINqo(&iV>WDz=kRVZDh9R?SBBnCBE3JFtTKyGL1`MOVy^^ zAf=l4=-Q5feYzHLvLzv{skb)}t~H0HlJRd_+iI=BCTv*OZ%)9@ zF%VRA&26x%E|8-Sr1`n2l>YEGJG8ZFvsw)d84LKsPSex#Na@9I97v_CNbBqEy}7{x zvzort)>fBe2jMdNB6qR5xjGvr%A+G~vTH#9Sx=}MwVWN=4ARd)O!q0Fp=im8Z-Go& zznSaQ(W5%r8}es?r@QuqX$<%H0;@l6zFEgkM0me#tRwVKUvQQIfIu6ItZ#Sqt2&vr z|J4!{(G!yOC&{Jf187SqQJuL5PQ1{5ZuHRB)Dlp!YLll5k~12?xg~nlM4h(v<0W?amnoLVDHbbi1oqIrnTuKU_F@8wt6J=FcsSgXe(>vp}ej87+#K4m0w3Q3Ld; z<6o}U9E?lZls}a)oSKXK^+*jRf=6}5WD|RUp^Cy|R3&Bk#OF(nTQ`Gr3#HnKDm_Y4 z!>`AolFf<@{W3&p>fh9=J&$pZVh89BC6$HGj7pE3Z>AT(MWc6UqjU|lADZa_J+;ta z1VzVJw`cHAt@H-Iv-5JiQd96%LR!x?ta?4u_dNw(TBZA+kCIWj2;-&E)(G{$IBXLL zV6^t{DoXeaq&8ima>=ck$X1b>GA4g(!{O~xOZeY|1kev0)#|Cy5t50(fYdr zUy(bHy~jSLjcNBQBZrL8(to}Tz>bsOLqih!_;NZ?%by~EK6wOZ4N1z|uX2B@-PPXm z2Tlr%w@vJZ&oDESB6AsdRQz&73V?{w@;q5%5mO?LP4E1?KsDKe{IK?&V%!PtDc7F&9tVK4{xCA7dh*Sb#PI^IX|cbt9$T} z{{jQG2_l9Df#ozqjHkucL%4#qP@=rq{m{rub@)&b*bxi0)JIbNSk5ZIDnA0NR`>D2 zL%avCUE(6mt$V{I%LuJXtM{Q@7bSMj@rq8#LxS_ZeG>^7pq>{JOnI8!)-5%)?Pdu* z{d&=6;=RQf?$&RePdWko#SdC+zeQ_6V%_oCEU=0Q#ZNek)j?&HpjWF4_-EJqGS{5M zh**Q-onkcVLOr1l5Y_rEBTL5u^3-2ID)!&4@-@@`2S=2m;Wm5O3zQ`KdBpxD?Q9t~)x$>%A0Rfv*rXoXh}P8rS@m(UHo~Vx;DkZta$UrN9*( z>?({nzBwK0(aP^dNbQ?gSB z7MQz~5G3l8%kXzt*;hrLQqGGuXSv0Wd^7wB_-b8DPi5U~STK{$R@@D-hHiPqO789utDqZr%3S+vuK!0Y-a9P&D+DDCfRqNzn z_NB=fA9>K|H0x?fUrDRh{r}^r*wrqIWAOUlJQzpYlD`^>Ci-0`wLsxiMyb1?MH@Db z%&FrxJJh{j+pGde>{c+yNXLVprD>)M2O6eoCc3=QpMKfMu*#^Uk=RxMAps#iUNu!W z<0?>+#LDK%h29^7iknb4F9{CK`uGvNaO0joR#zH-Q6=X^7DbB9jUPEXdxS4GW>>6; z_9O+l?@ai&#D*lCWMriq=>eqy^`%IGtbCwh5~_%eQ@mfWI_16Jm0K%+syWwoM62Zp1qME;%Ru(`kEOb&8?2oJGT25*!INNqzFM#e_vwU6O zyxK1pru@8Kj)i+Z!ffo@drpMs{v@jx*f8h8#SZ#o>$9|&)4A-oVC%U6A+L|x)C=;+ zkFX6SP#i!1Ele?WJ||5vo7uG)Lf{y>?2lmUyR46_>QNcA?}=HuFmm)>&0Y)*r2z$< zhGNxi$aK+0)!#m!j^sznP7M9s7B?)b-F*)Hl|L^)zdL{B+~?ioIvnbmvgza#YC-l; zlZof)_m&shk4eV425bSC^O5T#v<(+)M4v~oXJ^#jLay#Tv37T$EB3DE$5Q4sqRkW1 z5dBvsoPH>fsr!-4<7THqGTKNNQ^x+=)&-ZEn^gixf_OA{5Pt&#MYW%BS zTOnR{+iv4e`~d&?_wna*rMrJ`WNnn7p2EK&S7)z3_Y?Jxd)&=eARWGBz0S0;1uRc> zU~ufX_xs#vrP=n5K0k_ht^VW|AvTQp`Zu9GT^IAu+n#H;&+M~*Z3*vgLjJ1zkH^o- z!@cXDC-n3dP|5C@yIT)^)Q0SaYfY}l&k$eUw^>Yg8S4o*$IGwPFGpa{)h~7WCv7Kv zWpLP+`U>gHnf{xm;Jv^I7qk z!z%YU$R+wxiW*m+;w7&?R2GUzgR+fCjz8LOMl+{IPSu$Yej^7f%{ zX}Jk}ak^cb#NGQQ@%k}ry83k;^FkOS=<@(^Hxc;t@rcp?yb|$}d2f1KzX0`oX_8=sAwn6xp-M#t#^hor4BYhY>wvzQvj5set+0eY#=eQFw z^X9!jket3w-}2M=H+YBlaZ5^*_q4kEKK7Sqpyy+uO=_(ADE)~=N$iPm9oJ6Zw#Uya z(z^=aN%Dy_Hr^K)&CKqvbIvbz%yUj5t}pXkPNnc~Rq&;J)AqkQy>9%Kdoh7faD7M| zFKI79umbOD|1^Hl2e`i%KzPr@PphB232!1CdcG>%J&olr|C<&b%Kyf3vUmc|z5OZw z7c4*sHs&+#=0_<$0*W2oQqQ+~Cf5vmFbgGId%RuX=Wa4J|JTz|RnFT}=nVTh;wbkM z*lxFVZzW}d6Z22vm@AH*^){!K_dCjytP^VQ=`?9<>b3#h6XL+>Cjw8S=$Em#Uz|c4 zzjB4Jf;Zta!Njkv`#pZ{S@$2;ot$zTfD=5Y-aI1z(bJC0s3S%qVC~)cm8(#vkHhsR zlNdaEbS!+v-=NWH;rof_&*S2o$rHkURd*#!ugCXmg|r*6=`;kFo*|zLwY#>yAk~j@ z;jVTgzYq4ks6Vxvw!IJ`UX#xY@2_l!c6ZFi+1y{R$H>%FWsgHy>V$%$(iefDMBR^b zVR_I&A5TALcGK%Vy9GLNdG@C^Xa1dvop5X6{L9*{%Vt%s$?knTpZ$Fkc*Ey*7k4uf z@e+h2aNYevi*T7+@i8{d{f|wk+oQ7nRtHM@M)DBz@WR9;V6C@ zO2^&GA-hKo;lX_XRh_=?+ee$LkVnJIf<89H#FYCt zM`em{S!J=x3ot{cZA!-ggLdHn^ox|O{c6WfXsIh8eB3vuQD?27@#ooREQ@LU@Ytv6 zJ{-f0KZ6LeVGbvssMM3#RMQdmrKR6`?TsAz;_!*LJF4|ztFM9jqqKKb(f*#_Q3G)w zjMm=I*C0>wX3D4nlbEZ+Y1O&DaK{H_!e_LQk4(7kgO&Z~Mk9^fQ~aH#p<9_oez~zRoSnB1YM-7nI|B()DDwj2au+BEZ3Z*P5u$Z=3IM zM%sufNaCwBVsY%feD!^YCmP4c+=rOk@QSsM!w`AQeAOzM1!C9R=lFT%BvR>ahCb@# z?qpS6{ls0JP%C5i>l$JDgB#*xQ#f0j>x;Fe4`J|XQkuAT>bv>-w9n@I;_=)c-MI&g zlhe_r(QrzNlM1lA3Hs64RcK?Q$D z3SGbp@cX5ML6D6f!c>0O{046A>NdVHzZ$-D_fG+^w=Oo`HQ&4v-U4p<@<#KUhwr!+ zK{CELWS+PIsA+t3k@=@X=2uroa88`sZ9H|`FORI8HQqY31#kRq$KcP93E%4O2WmZ4 z)`*CH>q6rr^L>CGl*xa7dEujvOoje?{O2>*ESSH!7Jyqh83kgVHD3V8|7^Z@<4E^i z=F(+jLH#GRG29W>WeCx5qFMc?2%dhVK@9_!X4A3nfUhy;Y#YZ0p zjq!EP{O29vo7W@JzuPr#o*ab<`>pvx@s?xjx&wXYi}1ZWc3d+64ErCr|I(oO`E65c zpbzZkO)v>SY8zj{#WGy|dF%Rag=6MRVe?!4 z)|In;!0VqG&;9qfar%<=#@m2$#QgH^tz+gJftdOAt;VP6^3ew$G5>9xT6y78VDFP4 zlD%s=(P^KWi6!E}0Q_Syq6!07i6l#z0uj&3$S9W`HC zx_aeI7^cQM=GmE>z()DdJoAY0!R9&Rm6hYbg~sc~8+Tn}{`~qsgBV{M$L~wuf1ZPK4iWDM15}F{AB!gxI1!gwyx zzxnFD=BL|!wLU$*-gy3J##gt&wEb&&Cy1_7d(8K)H{ZX|cy21Rbcgvnfc|eg&Cj>P zr{dY2Algq(t=VCDVy z8_hrEF9!+u*0tt~he7h6F1Nv5~yv(ofF#iG!0k&au z(tH(EMDClR5vs((r>kk{x2f!vcaoG-N_M&li$NgRRo9~(Lubg@8f`dew|Nh3p z69*=DZ@*r@3TC?b<_IY3H+wDtN$|%waK*n56VOgRc=+bE=64UTfDn9PulcR#}JG2Xo3TJufd@V}$L{s@Q)v-YWr;~+Y}Hs9+t zzfL}|?iVo5-~IId`0c2u_doQ&qiOTGYsx72U;Nd@hwe2`<;_!vKuo^23sE%QNWd)p z7-qsA7_hgunSX*=_s8V|m>3`I04p4p2e0%3C-0w{diXx$lf{e7SMOapbCI4hPk>~4 zekwFRX?}Z!0pbp%+{y0C%3yvxhdTcofO*dR#}dr#FK)dZjM@KOVV=1c%$nmr16sUs z+r^XSpSI7yc->|^HF(dW`2`vWuN&|7fmC>R?Jee)*FgtYUokQjS_fnF50FhC4gRXn zd<~7gC(YL`y7!p*;S=V+cg_~z5|%DsZnzO%Sii~qM>MuQ0HXGztw12cIlTinm|wyQ z<@8UNU}By$o*gz`*Nyjn2{e0o+4yShx(5~~j5lC34i|5~$awyaU)*#IXWiKWzywIN z@)~^n&HfZj$B)gYA2rY3Vg5cjYQ6{j@!fUiKh5u=#+j9q8*ar(9lZo}!*76%pW1Ak zx(D9>#&|AjesWvr-XlLebN{Bt%%@<&zI6*M#{Ma7`N(VgsI-a?58w_@q-T(&$Z@+{ z-`ajAk<00Y_kfoN-GQ!Pbnt=A(cbNS!LIur9^SrlY>c0D7x+K@=})h} z_WHYTyz%bcJzYJ!YyM*`@DE;OzT>gLzu*$D_4FmUQoi`oi!P(BAAlwPg%@0ei~LJq z<$uK`7m)S+ROsSsFS+i{@bIPA?@in=wdTl;5tx%;-BP8y$Hc2_jE zb>DwMv%K=NZ6gztXnLG9KV8?;TQol@v1R*yw#4^<=>q)vrL^tcWQBhb`Rf98m45*& z9$4_|1!ISn?*YY&3H0l078W57yd z!FcZ;Sn-@N|2h8{F2b@uL)-MI`G#?N69}(OAZU)=u+;NF?-e(jzb~2Jp@4eT{C8e2 zu3tHAzPbag1(=s_tCmvgQ zZQOYFg8eIJS55*+-nire275YUzLEta8?CDU9-jf@=`RE3E3ni!UAlE{$av2<4JaSK#>C#A9-0QB z_W}GqYkaeEGVrMR;{Ex%jMvi_t=oS8UNG#xfyLFoZUY6SKLOUo=P(1z*J1sza%T4! z*sfn2r+zrGcWUa$Zu9BBn{S;28Mp(+=SK6dyNc$AV}pAxTY#?LS~lL=1dILe4qw>` ztnvC2Puyj`Y`!_WV=XL>M=t`i_qju`ejYI2-#U45FAU=I2VqE_LalWi(Ej@7yRNx< z>z+H4D<>BM#;4;q0F&&ybFcBX25S;nVHC4doJT;Kt35pWb$_tDAx0q-51rM696+wl5k=(n^c+335 zvhg3Vh+%BM_~C^4(ZNyk>Eh+1_uOxs*;X*$9)fkiS5t)tjjtZQGF!gYeC}qL_#5WZ z{WqHLPwjsgrWmYu-#6d6o*3nm>p>R$Y2}5f(6J5XGv-&Y^mujU%+dvK=E>d0hx>QUn%`~%lD%v`H$DNp_gCYc zJz&fn2j)L*{^7CMuQtM5IthyGw0Uat{pg_l!u)M6V}1hi<11L~y#hwx2M=8rEtnsf zFI@yy>wCw5I-l(@-oO4f^LNJU13>1J#|DiruDCpS09f$L9^?J%jE`FMHnso$-uw?IZiVO2SYH?= zv*};Pn;SaKkHN@#^WmwEyJ7NtH9lf~7%@LJJ~TeMA=-y#>+j6BZpV&|w|j8bzkt5D zuyOL1dyG%+2RZbG@!_WVwJXQ9yU-N<4lsQ0GULsJ`4?ic@46a{&r|EozZ8j=XZ<8h z|94>m!T(o|Pr}ss!hBKOdgp?P39zg#B$MPV<1L&Y=o$+3te?cy*tgox(jZ3m|Mz(R zjlJeSN3XlYoNF@KJVP$b9yQ@#drf^7*AhS6m-4z6K~@IsYQqLuYz=_T6b7zXNQ}zZ=ib z3{LGoG-*Dw^8p~*nbF*>kDLEke`M5nIvNl7w_B* zCilA&c=N@B#(R-nVCX%xh)c7(%r9;PHS*Wkwz)^|z7N>sALy3(1_mGI(#6J87r|oV zBTyh9vdpjhj8Equi@_@OI6$=XFwE_b%}>MTI~%qD1HBzLKF5DyO?GRKd1et9{x`%C zWt<&1Py7OC^v7+Fb(&vpCX1}8{l;@YJk!(l0NAI`8K=SW{^VDWnE!zB-V5J?RRahy z;NoYDFOApH@_xa5WoqhPvQGH-eH+r3ncr-N#no5Fb6N94^G~C9-j+09yZX?&o;#8& z$Je25{>1z(u#)lJy*Rs1jXj31Phioes%zu|EZO;j~sz%aMt|n zanQBTU-@wOLG#U@!7A)+^P`p1`^~qHfE9b1>dPC9ljaA;Sui>OV!ph0bhG)lUriOR zgLhHluAI3Ql*;EY&A&5GKL$KF^$X*jMeVVvocYBM&s=xqBf~H`-Zh^Y0HwXxe0IC} zl=1DQfG|kv7t_Y~=I0yA#;MuPb$1!xUIoJnD}!AR^qWuJJPw?D_VCKdU)*n;Ha@@b z{)6!7g%S+XUgOhUus+>!#XNupeD$6A&ZRISCyjUXTa2$R07*2zfA0nq`k$Jgnjakk z?fi!M?oD?BXXHR;zdI3#gA{rPR==-baLjmP_q_RAP;xiKR*o+mUMg-he~Sx<3obMM z^O*UELwkY+SonMoLeuyt4d3g3_<@-5?zr)uc4*RgcaNA?Ve|c6V~?3H6pr3De^C(@ zkS}+Z%n#Qed(8ZzG-198cKv6@bHGC1ZwLUBzxOaO!iPXK7~SwXc<@JH#!tX#`Q%10 z<~~iEr?0;JQP3?sLc(WH^c;Ytm z#Kq>DM|JaTkNMFCSb>>;dZcW8eD(dP$FDNJf6(~;TJx31;cLGJvVUfrx!!ydIr$g2 z0fD~+W`AR?@mbM)XZsTdfEDiqke=Iw?#ZD|=$_hj*AuV`disgAE3X{_A@MwDh_hE4 zUq0Fs*r=nC2PVts#&buPLAV^c;_54b@y{&7>OTEb^V?qI_2k_sh|E_XM0daW=fEYv zN?)6w--Md}nZaw37{(b|fFBoU-;p@yl+zVYTm>=MJ08N6oE?Rj3q~}?jNWa^O zPWKbLVSayTehjA5cjjOFGgq6h-ex{MZM<=T`R}WK5gW`HK+1pgntw;n&I$7`SM-5N z8$4=$hirTH0!h|WWKuq4E%xlyH4YS?U(Mp*LZIK z%^=s#-hp!bxf{*D0aqajo=YDD$ChE9{LT0j zq}ol7{cs|M3qtd)OD>w<-etZBbFAy9K#4!XJUcKAR_wPxgTJ5*cxhJ#SnkvPn{T;p zJMQ>w>4(cVVRGW=4}wMY#bdL^C&1w+pt}>sSLV~3_Z#nT*}cVh<7&`3@4>*H0yT1C zA3A;hd0?0M?J@JW4_=8%@&)tl8R+tbmD77cCclMWdjYM8x6F@W(2jQ*AA`cgrSe+z zExrR*>q|w@8NdEu5VYHeH<{mGdlzW%v&M7jUh{?h#v9ouO6F%zth_LYhSF!|-+rD4 z1LSOEhwlGcaWVeFh4&jnjh~4OZ7YR_&Dh04`aX^1JS#$G*3)t(;$nr1>9nK zYlC?fxW#;R>jmaNa>mEGnMV` z^X7?14djZ1`56pw=3*GLk1id)(R^ll`BLMH{GBL^|Bzn?TH$5$PgfbIe{R0mdGV2z z(_ z>51zO{|uD>v&L7~AZh-5{rtWCdx4vN4@-cw`BBgAtBvoCugAfjIC*SK&z$+>9R}|F z{ca5SbGrOEt|Z>O$$WVo%;Jw=Wq9hEgSkt9`j-N)l^?nX5Pf0G;i=HAJ9FDim^dfz z1NHGc^B*xFEv|LUU&GWxUnCe7FCDuZZI;W;4>jYfe3$W`Sun(o(`}wl!7P8cWPAy% za4h+N`M0&kQ+M99*ZeamnoqXhR50EJMQOe>f53ciu-7;>VmqCP3(ayshW)$NzggmjGI!+unSA<+Yn(Xii-)9)&?#9vGT8{$qX-gvW22 zr_nie3ZdNtCdo7AN1gl4UoTw?v+Rkk`&N$Mekri;8S})RD?ulHkK3caJvC!KXMWqa z0i*}4ZFcW8Udi@cnKogy^hRXEZN`}$mm05^*PG8S$BcI_fAp@opMz!b>kr1ZAG+1} z@H((dUx%^%d(TGbV#YXSzJBTA(YX1>FD4IO0AG5|cot00cR_`JvQRS5bl!Ev;T}u*aIT$F7 zpNxUre%pBWE*#!J7$>`z?g^QHx$?U8diNfn;Wc0ohSvAoIW@Ioo$(Y{WQQJ`3W1WF zVTL12$iR&8{58g#V zzb6TH&A*Iq)=sT4PCbgk=UW55@-OZ2Z2!$j?2my{-vy2LR`*>${}rxuzu44iz6;!d zros!`jkgcsN*&e;Z%sy^t6v{Y-nV_1@xf8hqaT@Xj&4|aEzkvO=TGKmcdqZ8Hvhc) z2IHF}pdie@T>&HXO%TBS@Mq?SzW@||Z+>&vLqx8=agq7{bP_b}Q|6bN`QC%uFEx*Y zjdb%=t~|2^#G-NL-j$Opul2$z^7(sUls=q*me2McFwW`-^ZTd)|G9FyjP8r)M`C?9 zJv@G$@!o|S*BRe|LHl{~24KH{@zs#Fa{3qM7r!uH9+@$o>IQ_)P(R4r&E}K$PE1Wj zQnN;3!z`|_Tc$zr7PXTtXfEjoazx>L!Fpwr`f>M3=(WwF~ ztIaO7Ie-R=DQ=X>U-msE8(?^@a0z%K>gpI0y+EoX5$NF z{u3LF=O0O}9EWjy`^c?VJ#z0YH{*`~)l(hwL_ofVAAjnuX&8V%VPwN8!0mgGl&^vP z`Fsw5`g-?c#)n5h5WKbv`iCXSvp}$qfHg}fNYPGy(KxxmeCkFpfbQ0(y!dYRZur9ZJrftk&;tgX zb^~Axy5dE!B0n8BpYFv?=10uG?A-lJ^B<8>^PT8J=5LqH52r7_Z;`mI-n|^S%a5(R)(MM%&+ea^DjV-C-&!(0Dx#zO$&IM>_!dx`5UO*XF&+QZT|5p^E1%VUrdZ&1M>J2^RK{SX96$^Z-MRkrtv+lO+Pa} zdBXe+x~z8`0JuI{Z+?x!{#EkV#AAEWI{>XBz>^5oS)j++11o2=edcokpyKzSh`sTzTNmzm1lLgTv3Y|8SiEPve&I4KOdm47TseNf`8jCQ@JQD+#;22GU>g0w{OU&I zMu5wQo zn3P|oMq#@B9xS)hmpvHXg0?A|VEc?Wex3}57R|5kHJ&{*m%cIyljP6X3Jf(=hp%kD zX(tGDVDTrx;yc|Bvi*05j5Epd(sIK5GzWwWoBy~Bp#22&$G=ehertXTvi{U{pb}0! z0bl9A>~7`K0;0c?#VKAoV{re{-wx z0V>kbJ-~&Zz{38+lKGoEMt(TaZGM#RzQp|ft+{)^m<1aP7CSFqeNET;4Q2Dxe~+i< zfqi4YIBI^pzti|^@;cn+F+Mu<5XiXiz=HVO-B*EPKW%)Mx(7|6mmb4dvM*o>{5Oyn zLGyF42hCU0SDUZg@ql^Ud=G5?U*DZIU%J_V1%mPZRYkBp-kvxA5?wjD*?i~r8$ein zc2BSIVfyBMV91{Uxpdb2?sgC$U-XSX@xwE}1i5v>{PHsR;5+xB>&^Vb{X@oQmz2>x z^#q#U|GW%_=PyU5r=~ig>sO5TlHko+g;sQ`AkD9+* z3kv-$)Yz3wc%K^|-)p@7(Ei(T;-t46g_Z9s z0LMS?#QFH|OMuS*m^a@Uz%}GI#_Q>olVG%eQpQ!mOLw7QdFk*Ku%ye!b-rbO3rnZ!F(D zcRTcXX5E%`u!@HPc{gG{^Gow-m`1NAemG&g`3v;XeF0YVb0`>3fq1>x{5rA#gAy{I z({47;ZZ|&PteG!r#&-vXraH!EU~%`Aae4#=6OL45$asIk1gii?yn2{KecG5g`=mvoAsokK`{=MxQkekok z4I=Ubm<3PG0r6iqzS#kQU7R(ay3F`03exuP@Yc#}Jy&DTFkruU0>F5Q=&3JOPWG6m z?!C_ZcN#eK4P2xy0Z(3cxA~jynaj+-%xGZC{nmJH=T8GL#2~aMjpudq#oNJv%$a{5 zotx=d?ui~U&TcVZy3#zEffoM)s9sB&@2;FZ1o-|c2+O6@#w#=Ci%Af0-x#0GTmU?a z>zhk%A?rUFuYcV$4*LAt%ccqs?gqQygN??QhqrDrPJ;CK?Wqytlm2@^Rz3w2;x@z{ zUU>B(<3AG!|9K4uoM{&C`gb2 z$%=@g1OpNTfk7OG0fsOGLr_pe3>XmvBZ881&iSm>wZ>okr@p5)D8Vq}x!!~K{k-?w zbD5dmdv{k?J@r&|b?@+EYIjSAl(p1O&#z+M@1sitfVD|ZLvZep^|?MwR21a{+iDSL zW%|GkbW@K)?kES9e5?m4X%+SR=w$@GiGmhZ)8nHw?zT(xdT=1a#iSuzb~Ld+7#MbU~O%%sXiJDHKQkX)DTDGtL<`dtFi(W zL|YeSsJkqBa_QBM!YI)xnqmSsuK+eYil(xBdca{Qm#SUF9bV8A%?{Ci1EPNyOOG!H zI#73_XiBmARO$|C-45Qp?sOtMso}G$S6!jX!%;VOit&OFdgip3i<_W{u&R6XaW=gaZUnbQlt{IHPkFR535hC12A<19zgqg127?a(7LLq>rP_C z@sJqu*}e`O_2Fu2wf3d{v$zZ052B~Hw$t{cJ5$Ou>bn99dV7+dY=@4%^%W)1tqPiOhyN`%RGNX)jf-aGrT{zNP|>_i z3>D;v0WPTlJoYjb&NDGzg^vRjLFhY~`uxOnaE`V+H1fpd--JuzGQLhJQ z>WCA4A;&JPi-!xLC(&GBjw7NO<9d50NqZgI zRGF-yyB@guHZ^TdOQu&li(RPuoG6Eg;O|Db>?q|r?lZGDz#2w(mZy0F+O}%eNG5$Hm_(;&5#u;-Us?D^cc{c_<5>vcE8Q zH%50SNm>&FqnzYakLW0j7Zd(zqE&07y=)}UQwe&Jyp||8vz#_!aZj-1GlerdY4m-7+`G!VUD&(si0#sCG z5eOFB!v%672ZP}usMEl~`h=F@tJ(on(%vth1z*4+bhZo#kdYJ?KmdC zRi&kJdt5=is;wAnHw@y{3F^-~=?YG2YnV=jtURbIj2HCB#OSA*6=3}J>3-;`C8xNW z@_|YBsUnuzy)5k$)HkAlDR(?YrxwB2W*2SF0*4627X}O~3ICY<(_FI_F#!SvI zmWh#YdTEAh`eAj`qC;VOUYd`ta5%gESof2%4e*!KEZ>^TH^R`pcM8R2C#RE;fK!T; zLMRj6+30$im~hHMx7OGzv@6BXF1DsCj$sAX7EwWT-+r?@?qESr4RvBt@zi(@{A1+~s!d6X=iuo< zv1mq20w?%b)aP3rfyO;bytIfbRq8XSW0~s@8rg<+x*<(?w&^fV3)V!Hu6| zlF!nxoZcT}-$SJWY@^DqSe@p*PxKTpPHj?X9cU)hQ8XB)H#qa}eKFK@bhA{X6$rrC zM-xDXTKW*0RY*^){Q!Z`n{-`@Xr>2n6fFS-R`da}OgaAd!f%^lj8j}ShOzU&rx`I zEr=P)FbEK*3&GS;l#00n;~9@(O*w6tmW#;{b9zssys8K>bvsF0xE_n%?C4$UaB0D& ziSFBZSY0;M`KK8wvorYsEySqRSCUcJ_9_1ZIr^9G+jh0%# zA!|Jkh>0_1RN)7i_w!R zW=2D3Su%p?F+)AC-c?d%k~!Tm)Elb8X~=3XIO>N@ATuQhP3U2W=mRSES?sw1gKpjz zLZvLjk^}4|nxPegQSK{6?@@&wq2_ z)*u=WM(M%F`g|Gg_p!n@_Al8K zC8aCxbI;0iBIyJ0ID)DoU~DDOrV_ZKjmf;hXRB!U6SZ1DdMtBNra}dJc-5sy3^?$5 zEe&0cxfx3JYd@84p?*6AJtaVwzu>Z_B&JuZP!wHs4uk`)qRPCa{J?M!GKBNh=Bg0c z$}I@m#f+sG!>=Q-j@kosC&X+m)hOgen5OAN>G00a(_(>>qgf83OP@)%Z<#B!>oO1w z#>Jh5_j;g)xs4j?^V!R8IipZumTrBl6wNU-xh9D`u>VbjzH#K$8*VyLLbOW6=HM^jps`U z2&JEd&vGkdLefx_zNwJ)j9weYU;))`Tn(T`n>L@dnE3~*#I!k0T3xct#ce)Nmldah zX#~WaH?!e!GnfO6J0uDu?akRRUYn-z+%r_=Mw7uZQI;G7hv_f2hl?uzk4sgp0%$3RUjWfV@eNXFM}Pj9I~> zy~9|W9Cb%Ihf|zf9CBXtiIE*U#mrvAbg1O5>UirBm9GN{v1Vu45~`Jod%7cK2q{`c zd31a*y#ai_Pk~i@0Opj3(Rfm{)kiMOY4qUY3>r(3Ca(`VlR#q{m_S=`h!YQSB#vI` zz@!D@g_twcAA3TS>_0=L(S|CFsn#arCom3a?d&VRe{gT(M&ZD*^=2n#q-78yWNr zGcsyr7VDw-i`U&+`Q9H`>YVc_cS6+i2;*(=TfCbPxZCaDr~7|_%aXJtcOI(lpv z)6j!cqMQqsGQ~g!P?n1|AKU=;KFZlD#?C0T3i;I|T%Zm(7=`gQ(&Pn=q4EHAAKnsv zd3NhC-8K{BmS(A55!7y|)4QBa$=|Uvj%r=$L9Up{*m;ne8KQvI)h;`VT!4c8>`UGv zj&7v(%~XApN`t6Hv%yz>Vilmh0UmK6Eq;wzCa<*&U?f3?`bgf5_udopX#&ZoTj>ReQ6!azrUf7@6f>OT6b%|0JRh|7vwI5hOr_fR zU83_4J+y{1Z;+~0#Nc7kotjBK+gGZj+%@>bq#|}(h@n2yVgvAN(q9Z}sVbFw^fu%I z^*XK+NPqx;-8Z%pIoDSkbhR212!aMXy56yQX&F z9{pUYU$Z*k5SUpHuZP2+L?f2~REr+ok0_e(kPb1rN@Fd$uZc-0d@VDez+Ix=Z;P9l z4r3qM>hfqX^Dy|(8~^n*bpsIfmN(O0 zc~E=cck~SeW&Oi=u{_l$5QQ;91Ah&wF{Ox8s%&c3RV{dXlXHwnID8t zdw!1I*`%Jk$on4O@8e;2!q2rsZ62X-BM2?KjzZ@~^9Lz4j?gGl%H%?U|G9=atOn6HtZN%*P8NX!!cV4^{H zBY0V6Fi}*j%x88)-3G49d?p5=8Hhp;vDa&)!7ae$zeR7_KC1py3LCkE@TqyzX%&sf z(P)qtl?X1?eJG}n7^)ZyN@<)L{lvgFwWvU+G%K@k=NZVOCwjGt%97Y$)Bt~KvOMsZ z?hER}SwRL49dE0-+g!O$FL#8~{g0JN($2y{ISp9TJ$$J0!0&xd8BA`PM92Akbl3S} zs47};fliW`G#4YMpq?e@G*8@nX*C<9&ht}^haP&A;?Ffhss5_GDi%a=53U*V1@6+ zxG(jJ=~W2sr5f5Y(Su0g0+lG~?hWd_=*eKWiE6B3;jivl#l~^D7~EH@m=2&?^Vp5l zzm8MNFZf4~jhpsJ%Z*_g$hQ7?0avVJ0`b%xJ2q=hXXjf)bNQxd!=O_Uz1Z%zh^LM- zA+WzPDwD~mHqBnZqf98|$$VHqF6X_P!|4G8!>4H+^|9YV)sYthw@~SpTQqzDQMc+^ z1TV{r9{X#aT&%wWCZ!Mqr?RLdntFq>X~+_2^E}u;OIl_Li~Lv_8|j77JoBZo-JDCj zbpT{^48*Tl%A40^i@saOFd3Nnfb}k7NFm=L`fs_>i<|UFCHhYBss%lrUCX);rJRkM z4rI_1iE*0IqdkE(uA4-KK2Wszru#)XQqMj)f1syUT5LKF15D4fcJ4fO}37`UVY?y`-yKv!D#@D78PFzSo|4<3&9 zNY8^0u2aZ8Lv?AK_G%O@sWiF*{c>i3wuBzNMom#(P=Zz(-y>}f2YW*IOP%0vppoMPW`64u_~kO_>cI)GN)jw;b8rxG_YbeYw&nhONv^iXpqJ&jY= zH((qM=}@C48ng7Ea^EfVGF1G%%gqDBYgYUf1?vp}&hhSun81tXX|SEfI3RE-#PiNi zOeGzMM{X-*E}+}XDk;Ck1@gswc7&n+hKz=xrQJ44S&+0<>E?Qb@Ex2n+gWrp64bZP zlQ_qTV2umdL|cyNyJWQ%3YE-LjQ@v*RM4X|b7;b4cyZ1XF!vJ!Tb&O;Q+c6*dVC#t ziL+Mm7pFA%$R=zuwB z51(~*+kqG(YcIiV3{!Qm4k5|7Gn8&nNskde9KGc(8l*B&;PgGwA1tRQTf~raP7L=8 z1f&U2T}Qo9e6oS1Jum;)ak;_cTyTH}e+NUA{WcoA#Mf6j?@Bre44DY$&C;Shx&Se< ztr*>n!MXCW1EOa;=YiSVAoi;iP575=jg%=?$RoMfiC`_FGmz@U^rc+tj)ub3ihk(N zLv)?mxKL>#&jRGN`Ml57G@8m2O@Zp0j2{(SqytzG!$Np>K`|PE)=w_McHyK35G+21 zy1k+fe|VU8)T*?m7H@ixK#w^IcMxM;o6kpvhzT*6eB&(CLzcXYi`!Z@SV8dZyk`0i zEVrEV9Yt)X(vE)7Z7y0ZWC=8x&gFI;SEPm8r+(BKM4dix?2}Tx`HWIBcTs=APK=-f zqx22{(L49+0&x&QFZ$!0g(fwrygBONWQWur>b(R?7b;75g}gVfVe# z74Wx=-DNQOmp;^P6S@sB`-Xj+;GGhP6zg|yM{r(}LfyWnj?sts;*8ll4C$ymj@|*z zy5l&5hpBK@iINcMAQQjTD=?SQxdOMe;@D!?I^rPD9E4_LjIF#PbjMH?ma%aq0H@d6 zGom;Z&A7;8T$04S^E92qNVGjLliqFTf@_8CDj6$%wYfDcrW22{q#1kOmjgigK(GBo zw;%p`7D^L{=X#1`sm>?MUZDu5Hs)eCApr(j+!Wy&wT2Y9`dLw>J3Y*y+oFBV0lK4t zJHFGkf-B{H3Lu1Q>{R+`*o~9A=+&NE$x!(cUI%<5`R(1ot8dWj04ZaHkm}7&hkY9n z03V_ILDC@@knJR-J8r1YqB6(;PD!+Vti&YRS~ybW$~aLT&)Ku8qVsZUisZEyuEqno z5`&>Zry?Q@^{R7g&R@{X?F85&`49Y$%nhX6n-z~-=-5DCpw>Xp+L${&7u+ItC4cB)7Jo}+|)v)$@kn>hU z{oycYD_-P(e>27o3S8v{O&V5k-a8V+yl#x1Nu;;KN1>NC(!Qam z$tS6uMlbnX+=9WsrA{&8&Gp$e>4?BJh@cBa3V(g+Q$DO+2 z(BlP{#!Z6_yz)Au(xo~C&9vs0Akgvz+YZ3uFH;v~ja z!97Hur7~a96_*q&W&)`#G|f=8gUVKWX=B8=JItF4fh-Rww0sN(y$AG6?VyoN2%|Tc z?$E1~Tobgg${Gno*r`_XSUhf%i06I7XJ=g#Q_aN-vmbD;zy0lvI)tI89d5$U1> z7`b2lsnmkXF05v1hr4nW#{*YGrRYS@>qV_2n^0@9r58=OxoURiQ?CUa>0&h>a)^uLk}Q2=sqVPsKagz9@@)GuyCfOgJEuZX>q9`#?|=YQv7XR_BT$Fl*hF}( zfx`vVt585BaQRKtdWaYHoWrP=>k8^LVS&E%))&4F7@`-=hOt7sv<#RKX6VJInj%i6 zR~1ovvSBQc29Ai{Pc<6wrxww(2awnl4u z(LU-DLs~25(Gygj!{>(-!2frirKkJEP;Ok17&-_T?LgT2x9AR|_cxNca(Waq(tL<2 z0;ypSy~4nr6*2ca?{VH2A7&D$PfVpyd7<96m3|Fs6*Z%B!8t99}++*p(xl z0Al6g%WQy+VVI9K`(OvF?_Zs5sK25iE?^hs+W|T=m+8Z9YIL{&IgQgZ4?k+sAmr>p z=rw_-4XM4PIA{tOFk;Ur-y-U7>_O8eUXyP&R4Ne5Y}n&Z&*G&0(}>YT{hkBc*2qA* zKn=>A0#Ablw8+%dx*HuD@c=28wwO0aQ2%0!i`8N3Jwh(P zfPfXEB8*<=dEl#-{dmFyn((9~mijvlRc2ZG>!L@+<-XHLGq@_T#dp5}bKZ-Ac2k96Ol7D`+kb*< zLu>cZuoIQy(Pb$)+j$TFAqyB%$(qo$ViKM@2f*X&dh4UW00MWV%4Y@=y@$fpfH+QPs7$xJVyMB-8)UJ=rpxTd> zmS^bURm4z#(cPW?Q2OVb?R!IaH$eP*dGp%{lvzr?a3SpGEOYvxOFK?AcA`u!GpC1P zhWcDF>|ld9H7}005}}E=kKa4|rqDNr#)J<;iXY^;{m2C|bb|q;L6k-EE=9~WA099y%FU@QpI*t2 zP-Cv>@qmZtvIrPS>{c#xmQUgLQI^dgT* z!VY>GCh;K7chy@W#ApR083N(ZY}#<>vKT2aRA#NWFjTIS z-nx#s;9(#=4HPZ#MiY_YtLcM=N5Y}%{$sLhhAL-1OoA<{{!{5OS21#NH{ z_lx!wS#pbfLtQw8_P{N3>&!wj0 zV5=R9SZ^`3&R0V(&&n@>u)NJu$amYoI+2k4@OZ z^^6u87F+FF3##5lPnFlJKfp}sCa&pv#2$>=L!N8iX57@uz=b|*>fz8xXarjC!Ah7 z=LK&)%NvIw+&hqO%h3~b`xu|R5H4!>TZsBojzGA3qIGScLTfJS5fA_iUWuVhg{}Yf zOgM>ZklluB=Yh%3T}8tRLlrMJ17wp^Wz@e`v?&eKyAMZ2f|&Je5Dmege>0A}nDm}r zt^iW@ulB(7*ZI0r_eJV!#=Tx}cRJOlpH=7M@ymK_$MY~&mn01hJI*@Xo8NGC%LFs6*^=SyhyRrksX!`aY zRKmDTkE875hPsQn)U~!))UMc0LzlUfhADromFV9YCUeN%_`YrTe zdus58U0$nc_?WasXJ`ko2442fRxdHQofWrC%Gp)P*Nc*U;Ptn}5LJn;P%a}rz~}vL zv)Pa7f3PQznoniZ105eX5bAB1Il=qG_gi?;&?+nGyh?N^Mk(z>a#bi|=-#KAXc|*< zHWu+?EvE%(Fq=9djP|`jqOpkXiz#@brnn&L-6t)hmFx+=!qIw#eRc>4@?Ftp4RgGz z(CgN7guv7Hh91iz#CQ&`m!Y4{$4**#*qs+cYXBb=oO7vV3q%BFsG?TtIF7H@7p}Sh znCf!7gf{TiHQ?fn(d=pN7OYUnh)4sc?2yBsxLhE_Fkp8X-8e1W;VN8^{6gxAA5DsB|5+Xqmnq=t>Dn2C<4v^jc&v$KwL6@*xc10ix>e;E>!uvMgc*8$Wr8DHQujsT9 z6Kf)5c9*gt3Cz(bY`FsL@0FN1WJet*=+SB}Is{MJf=~b>jxkjEh)zo?7yXyv;eh!o zs5~)U422$xg4gaowjOatzg)D)VY|J>X7W_d02heCV~knx806kuYWY-?2kCT&&}|>S zc_Wo=MYKWVT5Ctqx&G!>*FtJcg~krh{R|J$Bo`w(MXYQ5sheUdo66QkNLvLSh+a3I zq826Ge>WyHMU=_JXmA8I>{f%gPYRB|uI~k?H5lsGU!}KVEFftOeW0?9oAqn))Y9NR z*O^1XqmQ0hvt~cSm#V#@Q*Hy8m|{-SXTuNR0`Ab*IGGqY&&waOV=1B=Bc$%|)x1ui z(4RZa3nz#0r#8(nb0`rmzd|&J(|yN_s}G5eq=-ax#4XG*S`i!1`=%%M)4(M$lf|xW z+$werANFy&2;!_dbnYe}O(dNU*~@;f7QJt}9v`=nOCM#H>9cFKcM+15P}9*PL84Wm zjYGs_D{V-ip-(k792};@1wkTS-Vk#yNOuXM@m|r&HTyTjppIiY8ny5>b4V8roPMgK z*D+#fg=JLu@#~jqz#Oc*E00DEW1{K0C^^ojrO^|cGp_X1RSevq3U8)BwQ)DYlMe>& z580a?bBvy*gWEKTziHye@wLIHcx%aB^r#g#_W-M_Sn0Dh4IF`w`E}i?&<3bLgXont zth0jP7rE3;r@3*>Ta1QMbr2tQIN?CAwR{d~_etKc$>u-9RcBl2ekhD&2;86`ozl3nAv(L3Fn)P6J`IMJUzs&X`7o32(%pzan;{n2su-Mte@dn~T;$nC$z6*#f_@xTF+nHB{y0z-t>)pe5At-rz>%Kkf%Yz%&M$)V%P^fu4UCR{ER0}@Md0Bl#Qs} z>UM@}jB74IlZLp86{684gR63Vrl=^8!74hXQnA+qPDvK3UdC>}6?<>+4 z$9fhCJ*NAqrwmoz5r#1xW}4n^_QGr@ zT*csK>hqK#a+wU zJpA5OdT~BRy~$hjoZq+BUo>T1#}o}^Ii7Z5;!uspfcd_NFaST0?<{wPm z@c}8vR)ud7!)8GjQmMsISL6WCd8bgSZ3_Zebf4pssOqhy(h?5nH-e%LAzWsRFjVcA z7RU!QVqiOU*x!l~tsD6F9WtoHgcq;hfclSY6+=0$vqxBuz&+g+J${h=u$4tVyhxeo zahI*kh-M3T>URWQ!qVKG>#*z280t=6hjxCc2Z6`vgr-Rcw@lMSoG5Wsiss#Lk&|Z7 zWG)>xk4zQi8%1AQv>1q`_XTt10R9IOsCwmP7{z!t^zk+IiI(`YVeytpp0mrt4bloO zp9cnzkiot?w((gj!H#g?qx2L3QnPGxpr~IbRc+9#6o5hh4&t0Q-3t~|p69X+l?u7N z7~SZ`LGd6TvcP^G4?iZ_H_)36V43~1y8_@2RafBl^K#+Od-n3-P-~=I$pj0joyrnK zAH8;VkT}x&0@HQA{ZT@CHCbR_%*g`r$ zaUxf=I*Qg^xaGT#m3*SggqX=ZnL!_T&&Ha3( ze`1)~CZ$(ejBsvR2D}4mw@#zXf!O)4Vw0FKhLyuV9)IXXU?C=)Dka=m7Yz9*0<>L zu7cq-YL9U8S304Pd2&A&bE;h=Yvhmv8sl%M+bhO)>;!L}p%-!RC(i>FdOqo$w_}O2 z^?JDn^&Ou*DI2KQl(U8pvonnCr@k|L(E)!xvf({PGcCN&8)O#$j#wQ^ts7QQ(_Ynf zK0_TowoFQ{Jj#O2Pl=h2m~k@*rkgjvlqiA5lcF{%^9pt0HuX00(}y=`)`v-hgW|s4 z=}C`78+9CZ-y}*_N#?}Vs@ZIv7j?%#v0qW^PBe3|NmJNnQrRBSmdAyCulamNs8R=P z=K<$5D@D0G^(3ZpCcMT_sioe~ENDy(x;RW-8qs)6j3Rn|ud$-1j?}uz(@YF;KoBKH z;A~!iHn5Np5Iq&08@YPE0Vw^1#tNfu@tN>cu1e38GJ!NEt-5*eVd#y(m@cXcqT6fp zWx1=R^8v;#$6)m zbk+m!5Pp_#m=?ofYvT-cekmu|t|uH18R{(Atm>dbZT6ng0f{csVTzGgL|57tdUw_d z5mG#WZHRYa#=3xDwa*@Dgi$3P5R*!PJ0d%pc1RKfc4ycnj3)CV{{o7SWr&d-3CF=B zS|VU1>#5C8G_Yn^(S2!o@Gc}hwcVK}HQqq^UM00h<(r4rl$gO`zq;VBQz#0h{PBw- zLseV`pDuRvB+UD74l-K2s4DGK=_v-HniPoTfdzi*=Uv>qZ*)E4nuY{1;jN31I&z0T zY{3lG@b2Au@&Dh0vfbhMI0F{<=xG zIZ;^71hM9nbU1yeRA(y6E^uUDcZtu5pE7 zioY~xtwe7qHAf$`5>t@yNFJZF--Z#vFgl{}*Rvy3x39n=cKiC|(=;i#K=%Qk6!ls| zFAmT>j<6=h^qK<-#UWn=VrBW^Vkn%3xLW%;2f@}KD^DH^7A-gPFiiUm=r&Ze)|#g5 zxCr6xry4%T58!Fes}?EifMp=zmoRhXGN{Hr4|`@W)#l!!Es5)WigKWJBVyuHsVne- zU(YbJ9~^3i1NAx#08q#on298b&7;3QtiDvmJE%jzR$j|!Y(qGeN`?hIf) z+_`N@?I%B0CKumAG%d<+=5KePhO_*Zi1$fi(955O-4gk9g}Zz>uts64y1DAQ_&ek* zqF7NI;R+EA9t2YMhJXePFg;j@>A1UHbQr3FX{30;5!j}^HtUzYH!o0n1EC2o&YNxc zJG?nBaPAd~e_oyU@4q@v1qr3-^acOHt3suBUYd0MY@bbgpQk1#;j_$^h;%t$`MG!m zc8fp%J}>oK00Q59tKXc(neLCYa@0x2!9FK9!ITcG zbeUO7ZNY!?>eVl|u>11okKp|G!09Ex@HJ2`Fhb)P zc5ejomb6}O*jv(_KhU=v(5J~&XC|n0N&k?IX6HhDNotiQQ<-7s;^yf3E#jD~Q>7>5 z=`xKyB2$+S^G#6ZrzGfS@$ttuR%Yt*KnIoJu28#7wkji6WH3r*<#8u+)c@om8Ck|3 z0!`2+DfLPJ&G8xSq^AP)`RQ(2w!q_Km2(?oc?R#?$6Bx2$u%vnJlpc?2h4u|<<398Np2EMWG645}@BdtOWfACp?Lj_coN)*8x#iFJkI&cq zO7|i2SEZYnRr$shzll>>*rh-IWjXvyb{;U*IBX~pg&K{vf0BXzPPp)uHGK~v7HO=h zXtC&`p9hXbm;X`>iBw+yNeo$V#qWY43%c|NLzV+W<`RTiN==ec^2E|i&?TdBL8dgA z@32~sw@jr*Ydn=HrAqZF#?zSUq`U-`#3zm2GBv^EwzI@BS9u+*G)tGG$yFN{fhtv< zou@V>&6%S&De=AN@jr|PaFdJ-=88t2&7)5Mjn7RoDun-K*k1~O--Z2!AY(G@FTCg< z!2ZI^e+BFZo|B!{<{}#UG1h-+w#)$kr5}G#eK}Aac#_MDT|Z1d=#|){xD8laQ~=1E3ox(2JX! zl>GfCZH*(lUY)7br!P#aXgE=#RjD&Fj8}1>tu9Ng#dMm`Qkj&`_cfa2{?$3EAA6)l zdTqD(^L(>~Dr>j!(}E_Sb=L07pYuO1o;UuMQ` z;imlH z#wrNs+bzE*pXwb#WTUIKQ}d6+Pt9cm&)c4U7lX6 z%#cORLbz1S>>_uPd*L6Mi>Hs=+vkYKmv7yij>!32cMl&omw#H~{M9oLIojD?R2E3m zF|8l&POct^HGJH>eB8bMaX*$mQ|d=(#OJ5DxH`GG%j8}@N4$Mp8vDuN?7{D z@2pCg6g197f<_{Xxj^uj#h+h7Miaxa<%k6r$3jN3j9Q{zoqrFs>`c|)7qKRFi*sJd zdHMH?me00R@utN@r8fQdl%(78Nz(mCl9Vn^z{N|%x#0WXQJn6}Cr*zaDBL2wTx#$O zGNx*?uj#Bfng7U#GN<+L-z}dYGgBOvS$eTi=Y1 zW)1Owo_Q~t54UBS4`}k2eay2JYSOk1+wa6lNrz`|ayUhuYp1aNymN!idcQBs`V5Ra z3N58vtHM^ofhE@{lalb1q&!tFKaj8V zT~u@7^4)JuN+A5fq@U7s7mt5&68?bDPfd;Izc@Ajmlhuu3DN6c6r$-%4iZxSo(m3( zr04xFO7HVB!%yVJmw3wmhViZ)5sb&3NQn{vACaH~;t4VE^yGBjw#Gk^n-{=h1 z6rK`O4)pk6EU%uoi?1qjW;M}h8P068pV%rfd%>@;>L6W)CP`T!I|sBhV%&?GF0+j< z>dPNf|BXyNb#`VFGB7hH9pUp6m5p$MN$O-}Ud9g&xWA@Wr)L!KTI+x7EVv&O8U7A< z^tDAVg{8&DV+@@Zw>BN57GL+PvC6da`EOnE8zI-9BKqY7u+KGW&SBwS=<-9#h-r@u=%FheGN5VDYtQ;`RbCNftjx^{uLk-4B4it zRp}YVqpd|vml;|X_2mz${6^8%&jnAaRJAmR3A{xu-zYk%GqW;u1!|MqnZ~5_$^?~3 zXUJx%bM;1d=kf7hnp{nx+Jy68^|=YAH&0aNXjDe~n4;I^#cFHcNlGRxWNgAVjBc<0;s56pHYMX5I$yzn%zNM-yQ%BED`4SVGn|!?7{M#rJ z_#kK#_L3%K>a@A3#t%nEhox7NaO+=uz}uIf=55Sw{_o$yGk@)?mOACdZo!y8UfkMr zSG@STU*d(eNjwQg{O@d|<@UU@z4+sEm&4~m-n>4SqvraJ@1TWka6shjC_WGJXLpEy zJDI@1qthp;^`;z_Y1(e=pWq65K7BJMcZmvo#{(-f)H$<#HTh(<#qSwasWZMX8zY`E zQ?2ECQ&WImYRl)R{`ho0l}W4xCY!nNIJgXi1sE@vkNhX0+h?7z`~27ZPhTsF-Phll zxU1cyeeu6%GHM}Kf8~GXz|pAZnQQkGK4eTCNFo<{nbc*IUVfbcEKXo;`k|~$ zd4ZuuJLk?!c`xFelQyYsmR^^pR^^)7TA89wNQ6P9|KN4rKjVCV=!%TKb8mt2*e&?5 zq`{ZBd@uO)zu{wkxYV%(3r+Jl|6qAz$%Vhj|K#Df0$C)3kx~D%pzZSep9P)ylCI!sbSgQd-jf%Q;H^YP~KeOF6fXJ3yVR=H1szw}7~L z`+Q?p+vjip+0lsKell0*`lskMs=N$_mw%@x3!W!EKZ|uI_w~+t$AN~1R(sMPsT(v4ytIN=(6#P3+U-U%o!>LqtrbhMu*n9WB zwvnV!_;1dq&}3&9voT;B$OR^ulMr&*$!&p|+1bF)D{KLp$d*@PvO2 zCCh|M_IZ=tNi3-^)z#J2)zx(gZ)VDMXV`N(8coOI5jK+iX8O0gBq+wYSO7OQ{j59e zU2vv!6lK9)lzobCi2am01xR*=Q$ov)fM9yVz7rv>XQ`N&n;`?-69LaR#DeS|0fy)CIJ~KyU-gCkrs)s` zfTz)?C=-X!n}MLzD|!W`;^F29fprJHzl_49I30vHB=oTEuy-Mg#ex{(;$~O??+^Na zH5L-{2)SXff3xC1Mb`vXKFw}yU6|gW?>FJ#RIsY-W{_ZdqrS(};}8z`H^rCj9ubCU z7>760H}(X5zDs2l1T zyMkW#PUFesrU+bj20h;}hjX~vek4S{n?HAWxM6nyAdZ$Z( z;^!h3dmx2uxPAakZ*?xcj;`ox^ul=onJ#gY6)bPIZrCk<>-u3Apl>?j+t3jYL`(RtNiW?k`?MXG@x(;C9@J+?BOf9 z-0|*hWvERz&Z&SM> z%Uo!NZ$TD)f>euj+g%gm7}znyRtC&Zvtr#gQcYj{Y$B29T5}iw;&hR2&#lrcZ()@# z*L~H9t5@0id_`>A%g8EtcZpLpWZsoK`e4U!Q3z8Gi03@hC3VXS-<$a@XOGXBQXZ z>`4qhT}>w$+~qnn^o4;o`+%9wR0tGQ!wIL>=BCGHX8&OzOlQn z$bb6kP3M~%tcw%%;A6jmLAu`>KTHJWjm5*_al2`JJe$|wuyOkZkg^`1nZqGa~&5Rc>0bOaf41U04Ed3`F;9JH$O?1_rT!+v@!w({d@ z9c13usY)6V3-`x3R}91F!=RgOn5uY={K7}mb5JirjhQ5pgrZpuOGf9@8Hdn9EU_>f zHY*Kl4c#>wp)bbS1~a%ul!T3sCP}l>Ah!+UyjdIu0=n4{$N7Xr$3D1_#^}8|6Y!BX zG!Xk#6Yv#ZIhxHofo!w1Z-N9gLFDwP5Bgr*+?zo(hh|*?Z-=mMT8k!QjwNs$3z{I` zdA&8T4WoZrjFN`o%4T{1eWhZv77k0|G0yBvF&InDA?{-Ns}gGiZ57*03*f8r6^Okh zn7)a@w;={+(QzYjcb+@l|HhMa<-+o@h%)UqVHxFG^RbX}{VQWBFYtKMfRRwauYrBM zkbb4#n8w$2cE*!#ql0mNnw|-vr#}$OF-cFRQMFgI|3FKl={G-M3sJ6_=lF3^b3DmT z>b|DQuwR^#`)u6uwThez>vPDpjnbYzmT-hlE^`Rdo?2hSX6OOy+s^n^TS#0k^2#jzF+{Yi zGo%2u-i#n)v6#t0T+B2b9H*cl{1oSLQK!p`$I!+}vrwS5HXMztF}^IK2}fXyKe6zP z8iOtKn{{Cix8=OJtf|M>duFO)qu%}7$EF%>=Dvz^9-e$nT-j!_H;D#<{|)A`&Zw;S zHEbwez`kuMw-WJ-PsJ<_iW%wtm#Sx~7nzsY_(`}CyYW|@li~OqxiXfsAAWAaVW8O8 zz)%2=Z~Ws{lr<1$d$wUJmTPjSciF(!29B2b{q=Acy`H?x1j)A%@4%9CvI?wo6`bL3 z=`| z#hb^wPk{aJX%m-0S+K6(K@x>%&{Q9kRG_q9ii}-)fjP1Jn0R=0wgoIJR?DzKVX+jB zqbzD-cXbpeHTFk#v09f#ozHldX@yCWT#4j)JQL@z)M)5cnS&F3(Vt|oOekMHC^J37 zd=8rwC@lob=%j()Yd(c$!Qru)VF~QbO*B}I?0<&Z{(5H7vn(zmNYmN00#P&-hI^#5 zG#k!NWfGqEi&T)tpxN5zoy;n0MsO77V&IjuxA=snA`f<>K@@+2DPNo^TiKksWj~jT zDJ_-t%p^67)wb+s=JRQIUyD7k0uDoKxo?NNGh>okj7Yxq zS*5F5?E8>VF`OCL%qsd7EO`yfw^e^jtG-{vMWt58Z>rPCf#&O7`1Vrqt$jn4O_skY zJs$@!^{#>myxtb`(d-au6}@F9V8QZ@3EWC_4DAOB8oNo+K;<2e2g!68fof754M7u1 zZl@JS?w7q+^+MM2zWyq>OL+~t+{GsMS=_}g-JHAF^{#}w;4BB*VwM~7m~w^N<}_u9 zzVVw|R8TcZC_9gdaI>qG%d#RH=$8HbbugcbC0b%Zo^>#j5qav&!Hzt&ubL^n3G-s6 zRfwm;SHzSgMBkXwSLFBC@sEEsezyhmPmxG+!v3IE`Eh-vM%%!D67uZF3V6Yrip$n`a!2EKOhUJb6aL zsL!PknnBpWz!xHO z&bD1F*`=!72(xu$ls%zAK}^5Uk7w>0$6!i7!%Qza%Hv`-ewrp0QCTRGcpP=-DcqYm zoelhOaYJoj1zLo&hdhB0WV0(=v8-Y>s}c!3e5xoP6NQ~9$)ue&p&n!HQWY#V9%K=ud&lZ0&Mcjqia^HOQBDEGG zOVTsSZ8HUBEH#HrjODLN{0;Wr>@_@WJEgw@p_qg7O+LO2`8b6nq5Y=P)PLiF*|$b~ z3*Dl{CTrfRFyHdGs$LN%$fMxNNft%Ob7yh_tMu)20t=jPoZwbY${3d?rj#@=4|UOb z8k)f;LO6?}{&83|urhCGT|QT$KM6qj;K9b()NM?{*R(hoQRH#n;D|aDgw>yf=S2Lo zBZbe1)g;F(<@Sac8pnf~C+YEtID0lan-8M~uATp#n@O3?dNvcAoi*4@>nAXo zc|WAtM9k0NYGIb0_XRv;IEXVY=mU4uQxsWI1<C$HK@i}&id3H*I zKnFLtvdsjp8NWD)*KO@JVw?pm)&^#5m)(~9yTpy}T3^w&~=8ezZ zbZ747Gj^?LJP7mCncEiI+nd}IR9i9{MAY+R8BPfO&tGfd}j^cX{5x!Jni8*DfrJSlc^h! zAfj!fn+8#m#Mjy)$=T$p0+@V7Y)dcX3Vwxi-;hyZ*_l}gm%P#Gbq$hAcJUh|mE2B8lSpt+aD)lo9UnJ^>*3~F z=L_K~_3SAIAQCQrjf>NCS_JRI^QJJ~-(0)@WiWcWc8YWX!uMJHDNdr3Xui2!+w9)^ zGWbdzGr%IUoX$cmVL3?4j5obz`=@E%f%?dq0*h){nRkI;{@s@yb7{x@J znx@sN4eIeM3y+IMrD|yud*kY_yYeuJ@;*fsX^<|iX;cq2YkEeS#h4J=&m@7Hr_uyg ze<2rA&j$>^!QU&OPO@}5`I0TgAc5 z+hg@c;_j1vUOj8W^w(;>bNcIF*B09Bs9#s}E8I}OsR3?tUyX}s)F^2p7HqQl=5k(# z^*flL`EW*F%`x$l1%3sEKuT;^(JNPBe<5@na$Q; zm1nIv&vVWZtXW}okh}Cz@#@ZZb;q_wjtpfoX_eny>b&QnjF#u+7aS13Hra&j!gUgf z-0S9%Lu8f9NguNEwa6UvANZ_lUz-H-?WlK~f{5RtPaK>+K~SM)8|qn_ee4f0Hl?}a zx%wky`7j4A9G?X4MdyPiP3YoCadX#72Mzo(F6$vT`|Rn=Ny~lnb@JxMhen$j%+0C4 z@VIEVaW#A!;*AD-GT!JcZfzC5bslX&^NllqMHaR)er>Z0dnD)lzdC!TZyA-@h)u7v znTK6|9+qL(yb?ws_;`gk@IPz7&){VPbmE&W?s`qQM@b(lQBxaN2jf`+m7o1ye1 z0Fv-1nyJl`WhZFT*Qh9*Pa77E2eXf=vS=RtyC#gV&t~x~9-hF8zylh$WIT3^~}^j)%cfntse->kSRM zRBJ0I@$q7NqrG?>;^S7fBD2EC zKH$&yEn34XqOHF86)vru7NbOT{KL^>(dlOJ!|KuFgT>%(V5+YS@?4aVmmH$ggT^%rvCh~_q7mO0^^&H#CmUTX4XGD&9&Yvoyfmbz({sUa^n$&= z+_?t}RtyN8()@2PHz3`WS_OKw${hBz?k2@@<>D&Ucn5bq^OtuzELV6n7MoYGY}Y#& zzt6G>i0{_m+EIB$c(zjdk|6i@t%K`!fM-X+#=7cz17vQ$RN^diA@-m(x)QTPh{c5=(Y0m_MLBSPoPmjQ}Y9 zNG!W{uoosFB%cVPVz7b@(b9P6cA*CO(>Og#z!@!gDjKLGER=A-S+*zGDR9)w4%qF| z9efES%$Wvjei8WvYV5^-#3nxK(trUF3I48%2Y(4ilda&%I6o6?L^6!iD4DEGfB|*a zs%HLumdeOSUXgF(idP!%&P7J)8+#K7Mn1)KC{{r=$5ApNg0t67q(e6aE8QCsjf33YZ$UNKd1K&2h7ZuaV zjqGQ#Czrq!0Q@sONa3E z9-qIp9$&w<9^cr7-@dRO-#xJ&clWHvpY6K;v^skF-YmN8mo?Up~?)TUC*5hxx*5f~|y4z3e$7dFh+s~iak5gcC8))0Pr|Eu-5Yd`*K_4|{J$)EmdE&kU}tRcL%r~CC! z78tL0t)^b@S+nqZ-+uhXezd`OV=v%0&#c04URVqGjXnEs-dHfdd25a6jlHhk*u?+F zUK?+Iu^)f6TmFZ&%-+~6>CHbaCi~VN(Oa9VzI|nZ@%Ek7(cAY{%Wrpc>(OQn@7`F2 z-#@Vy|N9-Q-}f)9j^4ktkn`T2-}kTWy1!ZL=Exen3SvLc{tKfPvg@t(@)!B5+A48I5sVBp9*;5lQ27FuTI0Fh;#d8 znxvwql)V^_;f`Q1E%du*;ZO_)#~X^;!OQTIIK;5e3LVelsd*bE;aQkP{KcuM^j!2C z4-LRCqBJ{U19*|L-_zg2EHv=E472l)q4A~YC^k*Mj7NSPz8Z$7W~8s+IF!Z)`L6`V zc(bq4GxPAba5S3YAb)~T+p)p^-^5gW1a#{+KiQM|Q<#m#`HGRyPtmxT4nCf<7g?B? z@2|s;`Dr*ji=v5nmrmo{g6~Z@JUuTH*_#lq`SMe7GGXt;;hH^-Z7ML*8$| zmxPTJ$j$=rZFH1bi}G#sDID_0GeH%jNq!nL3WT?R6X&q#+6kqVM3}GdqwzRDPdfVoFqVp(XZ$2}c-_L-;OcOsB;VFA41Q&7X7T<>UO8Oy^epjv>=Yw>d$E@yo3fY0h&H&ehnb;Vf91Eg{b3WkLyiJa1me`vU zFni~3#=|tr>^CQAV!seW24?HLj8CS-Z=Z(Q(R65i%}xaKz$s(zMv()}6ciIl`JMgd zKT&oR#=l!bdn(w+2xgMM$->w!Gd@Y=?6H@kv0-Y}6nj86b>5uB(~=<}#No>*`;S<5pKP2xO^f_2v|nZ6f8xY?F&#%Se=$wO z{%3bI%|42jgXdwM+OJ1Wv8mWz*qiNebd(OQw#2I_OVhFSY8(#jGLs0F#gLpe4NBpB^RgfEN+_iS-yKk^OAp0_1|xkquosN;7MEw^Ok!f?b<@x3e@X?26MP z>+yVI)5P|FqQR*T=4a7(6aphQZ+?&A@{!~58LU_v1og^`h#k13+>gar_{+gmkgoOS z7ojtATDD?u1bL3n`I}RFF}%p4$nHhFa6u989P)f2@DYu|#D3>s zhF&Z`h23vzy+5~scp1jlT)#}mL$Rym_N$ZNr_|!vFQ8t_9NuSbKc5N zaTXti7OF@(`6;z2khXXC?N3u7KXYRL={!3*|But@>(E;KufxJ-xvwL!Ct8H~8brZU z&K6(CN6s!O-kjUdf*BOiI4>e=7kC{Pr&DLoeLejg2_`zt_~gF{2hq@3W&H1r1)t7DH45sd*6(vJ!Q^ zNt0pv$$ldakE#7aNE}YBEFCz7{sRo--&4NY-wKh>W+HC|pnS2ujV57YJr_bub;k_C z^gpA}St#PzEJQsaGu%C`1>(z7^3mGxA=W{O_M>ddqLK>7Z(;EyA8l7ZT+tIl=i6n_N z`n_13O+vBM)3Md5kfOs$npy7>L9QQdAjB(2bln5VBOQCz&z?Y95|`N-Nj?1a#1>cg zvRJUI@kgu7)aJ8$Vi|(@E`N0f@}NDpduP!wvg)11#eazI`P*}wboayf%<67G{5>vF z>wY-?k3$ywr=bhNetMExj{?*DS&SndhC`gk{q!ibOHaqKO=tT;fQ`ol%?#Q6MjW{z;I=FddaY;2F%SkWHNh`SX8{q7vGE3CBX} z;0yH^LA(E%MwS%vOB@yBkaznV*yyn5f4XwhKjYC+cytymmhPg>jqVJ)s%k5SA{~6Z z85;)KQv-Wod!STLSs@hY)y<5XR1vy@zh7m%v_}Rma}4#;xe-`jv+bI7S}AP_mj5~js1pB2UqJ9CItUz)YvnON`E!(VFb=MAF*2r@{tajB_I{$8U}&~ z&x1x~n|NjUgODJGtT11R;J1C{U@ajn-PnQi__$sXAcyolhG*5%2}R# zBf58cBU<;5=(i}$ENUNz{KB~#l?!#5I=BEUKqzC4YSBzSimC@Hw&U4yZ#-TGLz z;coD0IQWPbwboMu_^+O2%n$!aY-wOo4F=Sn7Y#=7rHlS5Mv)hIZ4+hgQv>+FbcugC z{Ldq_)u(?NKz#qJfH-(9ny`O2fc?Sk!;aA@1K^|XQv>)P-ahmoQmKL`StqVG#E$s*2l5`Y%kb_xW3y$;4M5a8jRxhc4N}KSz{4zvT^Wa zpdHL)BXu7ejPdq%IVBz|Kl$KkmY(IfNt9nT7|HGJbZR8H+ReWWV7|TGO~L#^EbSuL zk8rc#4-KHdy`4@$FL{#vvjOC{x6f(F&&6^r;!kmL?mjhu|MvDd1wXk3nkDNz&mP12 z?d^4H3_$3?d)npL?*_2n-u`C6zMrN5fIxr0$q@=l_G5z)+}_@%N03G1VSvZ%{~!su zFB**E_Rg3U${qgH0RG$CvyAe>_R@VX4#=SFqo}ibVWa==S)4~;x;umdsvzjw=FxGi z-`<{Q#=H+nZwfQW{j?Cr4EgpKuzLiBn{`uIKd9T=3abZ2Gxr_?G3TYhwQ%BIK<0q} zCU&XOIB##`G~>hrNg~8tqCFaKiIOd1{d;j96lox9HX7;eZLu|EDzk(@M2#z%&yCyL zgv}_QPKVYg~EDRE(v|4iQu^FhMV@=LW!k zsW5ShHmt+Ya|bkYAnQikqyX0uQT*>{8s8lsL#z@Ab8;Gf0z;f(1iKSn?&;Vjq6NCy zKN!2ob`Qo@ZYuGZ=0$&iO7(;Bi6}kn7a-BV7t98<=tbU_3N2rPyp1yQP{u4j6Vg;n zDTt^vNXN%dP}jjs#8MEOc@BSdVY=n6K2EmV-la77DvH z7v;lgf@}9UO@`X=4Tg4-q(>n{;>9Atr!bkyVB0dXwWf@kkzc*Ks&3>P?y5Gy@Z9G! z2*z?Mhx;NLLr@H#r-d_~t5-_ZjpyFgUH7ct`%(cztb%y#H`S{f!viyhSI9RpI&JA` z80XTvLw!JNSL8X{Cfp?IK7gkHyFFOk-uvZXQ8JwBS-W@jx}3TZKlH3W@NpcUz;P*N z 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