From 2ab51f3af900577a214d60a8b336168c1bc246e9 Mon Sep 17 00:00:00 2001 From: "Jagdish Panchal (Open ERP)" Date: Fri, 18 Nov 2011 18:24:30 +0530 Subject: [PATCH 1/4] [IMP] improve test case of recruitment process bzr revid: jap@tinyerp.com-20111118125430-l02i4orxr2z940s3 --- addons/hr_recruitment/__openerp__.py | 4 +- .../test/recruitment_process.yml | 65 ++ addons/hr_recruitment/test/resume.eml | 839 ++++++++++++++++++ .../test/test_hr_recruitment.yml | 139 --- .../wizard/hr_recruitment_phonecall.py | 2 +- 5 files changed, 908 insertions(+), 141 deletions(-) create mode 100644 addons/hr_recruitment/test/recruitment_process.yml create mode 100644 addons/hr_recruitment/test/resume.eml delete mode 100644 addons/hr_recruitment/test/test_hr_recruitment.yml diff --git a/addons/hr_recruitment/__openerp__.py b/addons/hr_recruitment/__openerp__.py index b728609c53d..bff574de94b 100644 --- a/addons/hr_recruitment/__openerp__.py +++ b/addons/hr_recruitment/__openerp__.py @@ -56,7 +56,9 @@ system to store and search in your CV base. 'demo_xml': [ 'hr_recruitment_demo.xml', ], - 'test':['test/test_hr_recruitment.yml'], + 'test':[ + 'test/recruitment_process.yml', + ], 'installable': True, 'active': False, 'certificate' : '001073437025460275621', diff --git a/addons/hr_recruitment/test/recruitment_process.yml b/addons/hr_recruitment/test/recruitment_process.yml new file mode 100644 index 00000000000..64e8ab687a8 --- /dev/null +++ b/addons/hr_recruitment/test/recruitment_process.yml @@ -0,0 +1,65 @@ +- + In Order to test process of Recruitment, +- + Applicant interested in job position. so He send resume by email. +- + !python {model: mail.thread}: | + import addons + request_file = open(addons.get_module_resource('hr_recruitment','test', 'resume.eml'),'rb') + request_message = request_file.read() + self.message_process(cr, uid, 'hr.applicant', request_message) +- + After getting the mail, I check details of new applicant. +- + !python {model: hr.applicant}: | + applicant_ids = self.search(cr, uid, [('email_from','=', 'Mr. Richard Anderson ')]) + assert applicant_ids, "Applicant is not created after getting the mail" + applicant = self.browse(cr, uid, applicant_ids[0], context=context) + assert applicant.name == "Application for the post of Jr.application Programmer", "Subject does not match" + assert applicant.state == "draft" +- + I assign the Job position to the applicant +- + !python {model: hr.applicant}: | + self.write(cr, uid, [ref('hr_case_programmer')], {'job_id':ref('hr.job_jr_appli')}) +- + I open applicant for the Recruitment +- + + !python {model: hr.applicant}: | + self.case_open(cr, uid, [ref("hr_case_programmer")]) +- + I start communication with applicant, first schedule phonecall. +- + !python {model: hr.recruitment.job2phonecall}: | + self.make_phonecall(cr, uid, [ref('hr_case_programmer')]) +- + I schedule meeting with applicant for interview. +- + !python {model: hr.applicant}: | + self.action_makeMeeting(cr, uid, [ref('hr_case_programmer')]) +- + Applicant fillup the answer of the interview quetion. +- + !python {model: survey.question.wiz}: | + ctx = context.copy() + ctx.update({'active_model': 'hr.applicant', 'active_id': ref("hr_case_programmer"), 'active_ids': [ref("hr_case_programmer")], 'survey_id': ref("survey_job_0")}) + self.fields_view_get(cr, uid, ref("survey.view_survey_question_message"),"form", context=ctx) + vals = self.default_get(cr, uid , [], context=ctx) + self.create(cr, uid, vals, context=ctx) + self.action_new_page(cr, uid, [ref("survey_job_0")], context=ctx) +- + I print Applicant fill up the interview quetion +- + !python {model: hr.applicant}: | + self.action_print_survey(cr, uid, [ref('hr_case_programmer')]) +- + On a successful meeting with the applicant, I hired employee. +- + !python {model: hr.applicant}: | + self.case_close(cr, uid, [ref('hr_case_programmer')]) +- + I check that applicant is "Hired". +- + !assert {model: hr.applicant, id: hr_case_programmer}: + - state == 'done' \ No newline at end of file diff --git a/addons/hr_recruitment/test/resume.eml b/addons/hr_recruitment/test/resume.eml new file mode 100644 index 00000000000..9529873a49c --- /dev/null +++ b/addons/hr_recruitment/test/resume.eml @@ -0,0 +1,839 @@ +Return-Path: +X-Original-To: hr@mycompany.com +Delivered-To: hr@mycompany.com +Received: by mail1.mycompany.com (Postfix, from userid 10002) + id 7047CBFC94; Fri, 18 Nov 2011 10:28:16 +0100 (CET) +X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail1.mycompany.com +X-Spam-Level: +X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, + HTML_MESSAGE autolearn=ham version=3.3.1 +Received: from nm12-vm2.bullet.mail.ne1.yahoo.com (nm12-vm2.bullet.mail.ne1.yahoo.com [98.138.91.88]) + by mail1.mycompany.com (Postfix) with SMTP id 0D04ABF53A + for ; Fri, 18 Nov 2011 10:27:50 +0100 (CET) +Received: from [98.138.90.50] by nm12.bullet.mail.ne1.yahoo.com with NNFMP; 18 Nov 2011 09:26:49 -0000 +Received: from [98.138.226.126] by tm3.bullet.mail.ne1.yahoo.com with NNFMP; 18 Nov 2011 09:26:49 -0000 +Received: from [127.0.0.1] by smtp205.mail.ne1.yahoo.com with NNFMP; 18 Nov 2011 09:26:49 -0000 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.in; s=s1024; t=1321608409; bh=GGVn24b6ZH8Ojn91evBkrwuNFmAsLAPy4OeUvOqjgig=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:Content-Type; b=DFCOdjskDmdbkzvuxTqFWJOUHsT0nITWiQe5782VeyTrhymhIzNhwzdRq4wfTrzLu03rJhHadZTX0uweNCf0Jpr4OpEQevZa3aVPw44NNmhFeT2tjs9m3kNWyPnz5Nk1Yv8tiTRFSdssPfZAhwz8UXLCBFowa8DRnY2ZFIsATRE= +X-Yahoo-Newman-Id: 644435.12111.bm@smtp205.mail.ne1.yahoo.com +X-Yahoo-Newman-Property: ymail-3 +X-YMail-OSG: 09Al2uQVM1n5JcQepgua6wQsww7jiatAHXaSsMjP5Qvk9Ba + c65j0.ETzyjVh0vpjphFK3XqPtX0n17z9cUCfUhUDDXLUmUSFoZ.NjoiJ_mQ + vwd4S7.I4ObFZm5jgA0ML0cfTRAy_0msUfO3NKsh9LgBdUXztbVOwrTGQhzD + nu2v3TskGG9ZtRTiqM_Iad2qmMqveFdqUz5xBnwYYgBuLWRR7EUmU1qyOgss + LL33J2t9EOCUn2Kc9XQbSkPBBR7BYlIatTF.AAxLdsuOW6ovTGO.HM5ap0qo + LLM1_BE.EOvXdW38ZC_hHcrM4xYaYSR7c0WaOQsR8EZeXk_Vhio7HHUrdxZl + 1oZz7YWK9Q04M023JJoM4v6IrThy3BNepluEFFcavkyOnCw-- +X-Yahoo-SMTP: oNtzSBqswBAqJIGYOgyGesyleENrhUEtEgBkQ053 +Received: from [192.168.1.30] (jagdish.n_panchal@180.211.100.2 with plain) + by smtp205.mail.ne1.yahoo.com with SMTP; 18 Nov 2011 01:26:47 -0800 PST +Message-ID: <4EC624C7.6020000@yahoo.in> +Date: Fri, 18 Nov 2011 14:56:31 +0530 +From: Richard Anderson +User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110424 Thunderbird/3.1.10 +MIME-Version: 1.0 +To: hr@mycompany.com +Subject: Application for the post of Jr.application Programmer. +Content-Type: multipart/mixed; + boundary="------------010903010402010104090709" + +This is a multi-part message in MIME format. +--------------010903010402010104090709 +Content-Type: multipart/alternative; + boundary="------------010004020303010906010104" + + +--------------010004020303010906010104 +Content-Type: text/plain; charset=ISO-8859-1; format=flowed +Content-Transfer-Encoding: 7bit + +Hello Sir, + + I am**Richard Anderson completed MCA from Mac Technological +university, i send my resume for the your company job position, i +attached my resume here + +Thank you +Richard Anderson + +--------------010004020303010906010104 +Content-Type: text/html; charset=ISO-8859-1 +Content-Transfer-Encoding: 7bit + + + + + + + + + Hello Sir,
+
+  I am Richard Anderson completed MCA from Mac Technological + university, i send my resume for the your company job position, i + attached my resume here
+
+ Thank you
+ Richard Anderson + + + +--------------010004020303010906010104-- + +--------------010903010402010104090709 +Content-Type: application/msword; + name="resume.doc" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment; + filename="resume.doc" + +0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAOwADAP7/CQAGAAAAAAAAAAAAAAABAAAASwAAAAAA +AAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD///////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +///////////////////////////////////9//////////7///9KAAAABQAAAAYAAAAHAAAA +CAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUA +AAD+////FwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAA +IwAAACQAAAAlAAAAJgAAACcAAAAoAAAA/v///yoAAAArAAAALAAAAC0AAAAuAAAALwAAADAA +AAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAA +PgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAA/v////7/ +//9MAAAATQAAAP7///////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////1IA +bwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAWAAUA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAA/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// +/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7///8AAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA/v///wAAAAAAAAAAAQAAAP7////+////BAAAAAUAAAAGAAAABwAAAP7/ +//8JAAAA/v////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////8BAP7/ +AwoAAP////8GCQIAAAAAAMAAAAAAAABGGAAAAE1pY3Jvc29mdCBXb3JkLURva3VtZW50AAoA +AABNU1dvcmREb2MAEAAAAFdvcmQuRG9jdW1lbnQuOAD0ObJxAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAEAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/wAAAQACAAAAAAAAAAAAAAAAAAAAAAABAAAA +4IWf8vlPaBCrkQgAKyez2TAAAADsAAAACgAAAAEAAABYAAAAAgAAAGAAAAAEAAAAeAAAAAcA +AACUAAAACAAAAKQAAAAJAAAAsAAAAAoAAAC8AAAACwAAAMgAAAAMAAAA1AAAAA0AAADgAAAA +AgAAAOn9AAAeAAAAEAAAAENhbmRpZGF0ZXMgTmFtZQAeAAAAFAAAAHNhZ2FyIHAgc3VyeWF3 +YW5zaGkAHgAAAAcAAABOb3JtYWwAAB4AAAAEAAAAc2FpAB4AAAAEAAAAMTY5AEAAAAAAyPid +CgAAAEAAAAAAAAAAAAAAAEAAAAAAnpj/jovLAUAAAAAA1LJ/lhzMAQAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAZwAKAAEAWwAPAAIAAAAAAAAAYAAAEPH/AgBgAAAA +BgBOAG8AcgBtAGEAbAAAABEAAAADJABhJAAxJAEqJAFBJAAALwBCKgBPSgAAUUoAAENKFABt +SAkEc0gJBFBKAABuSAQIXkoAAGFKFABfSAEEdEgBBABcAAEQAQACAFwAAAAJAEgAZQBhAGQA +aQBuAGcAIAAxAAAAJwABAAMkA2EkAw3GBQABOAQAXoQAAF2EoAVghAAAE6RkABSkZAAGJAEA +DwBPSgIAUUoCAENKEgA1CAEAPgACEAEAAgA+AAAACQBIAGUAYQBkAGkAbgBnACAAMgAAAA0A +AgATpGQAFKRkAAYkAQAMAE9KAgBRSgIAQ0oSADoAAxABAAIAOgAAAAkASABlAGEAZABpAG4A +ZwAgADMAAAAFAAMABiQBAA8AT0oCAFFKAgBDShIANQgBAFYABBABAAIAVgAAAAkASABlAGEA +ZABpAG4AZwAgADQAAAAfAAQAEmRoAQEADcYFAAFoAQBehGgBXYQAAGCEmP4GJAEAEgBPSgIA +UUoCAENKEgA1CAFcCAEyAAUQAQBiBTIAAAAJAEgAZQBhAGQAaQBuAGcAIAA1AAAACgAFABOk +ZAAUpGQAAwA1CAEAUAAGEAEAAgBQAAAACQBIAGUAYQBkAGkAbgBnACAANgAAABkABgANxgUA +ATgEAF6EAABdhKAFYIQAAAYkAQASAE9KAgBRSgIAQ0oSAD4qAVwIAWAABxABAAIAYAAAAAkA +SABlAGEAZABpAG4AZwAgADcAAAAwAAcAQCYGCiYGC0YBAAomBgtGAQAxJAANxgUAARwBADck +AF6EHAFdhAAAYITk/gYkAQwAT0oCAFFKAgBDShIASAAIEAEAAgBIAAAACQBIAGUAYQBkAGkA +bgBnACAAOAAAABcACAAxJAA3JABehBwBXYQAAGCE5P4GJAEADABPSgIAUUoCAENKEgAAAEIA +QUDy/6EAQgAAABkAQQBiAHMAYQB0AHoALQBTAHQAYQBuAGQAYQByAGQAcwBjAGgAcgBpAGYA +dABhAHIAdAAAAAAAAAAAAAAAAABCAP4f8v/xAEIAAAAZAEEAYgBzAGEAdAB6AC0AUwB0AGEA +bgBkAGEAcgBkAHMAYwBoAHIAaQBmAHQAYQByAHQAAAAAAEgA/h/y/wEBSAAAABwAVwBXAC0A +QQBiAHMAYQB0AHoALQBTAHQAYQBuAGQAYQByAGQAcwBjAGgAcgBpAGYAdABhAHIAdAAAAAAA +SgD+H/L/EQFKAAAAHQBXAFcALQBBAGIAcwBhAHQAegAtAFMAdABhAG4AZABhAHIAZABzAGMA +aAByAGkAZgB0AGEAcgB0ADEAAAAAAEwA/h/y/yEBTAAAAB4AVwBXAC0AQQBiAHMAYQB0AHoA +LQBTAHQAYQBuAGQAYQByAGQAcwBjAGgAcgBpAGYAdABhAHIAdAAxADEAAAAAAE4A/h/y/zEB +TgAAAB8AVwBXAC0AQQBiAHMAYQB0AHoALQBTAHQAYQBuAGQAYQByAGQAcwBjAGgAcgBpAGYA +dABhAHIAdAAxADEAMQAAAAAAUAD+H/L/QQFQAAAAIABXAFcALQBBAGIAcwBhAHQAegAtAFMA +dABhAG4AZABhAHIAZABzAGMAaAByAGkAZgB0AGEAcgB0ADEAMQAxADEAAAAAAFIA/h/y/1EB +UgAAACEAVwBXAC0AQQBiAHMAYQB0AHoALQBTAHQAYQBuAGQAYQByAGQAcwBjAGgAcgBpAGYA +dABhAHIAdAAxADEAMQAxADEAAAAAAFQA/h/y/2EBVAAAACIAVwBXAC0AQQBiAHMAYQB0AHoA +LQBTAHQAYQBuAGQAYQByAGQAcwBjAGgAcgBpAGYAdABhAHIAdAAxADEAMQAxADEAMQAAAAAA +KgD+H/L/cQEqAAAACQBXAFcAOABOAHUAbQAyAHoAMAAAAAgAT0oBAFFKAQAuAP4f8v+BAS4A +AAAJAFcAVwA4AE4AdQBtADIAegAxAAAADABPSgcAUUoHAF5KBwAqAP4f8v+RASoAAAAJAFcA +VwA4AE4AdQBtADIAegAzAAAACABPSgEAUUoBADYA/h/y/6EBNgAAAAkAVwBXADgATgB1AG0A +MwB6ADAAAAATAE9KAABRSgAANQgBUEoAAF5KAAAAKgD+H/L/sQEqAAAACQBXAFcAOABOAHUA +bQAzAHoAMQAAAAgAT0oHAFFKBwAqAP4f8v/BASoAAAAJAFcAVwA4AE4AdQBtADMAegAyAAAA +CABPSggAUUoIACoA/h/y/9EBKgAAAAkAVwBXADgATgB1AG0ANAB6ADAAAAAIAE9KCABRSggA +LgD+H/L/4QEuAAAACQBXAFcAOABOAHUAbQA0AHoAMQAAAAwAT0oHAFFKBwBeSgcAKgD+H/L/ +8QEqAAAACQBXAFcAOABOAHUAbQA0AHoAMwAAAAgAT0oBAFFKAQA8AP4f8v8BAjwAAAAWAEQA +ZQBmAGEAdQBsAHQAIABQAGEAcgBhAGcAcgBhAHAAaAAgAEYAbwBuAHQAAAAAACoA/h/y/xEC +KgAAAAkAVwBXADgATgB1AG0AMQB6ADAAAAAIAE9KAABRSgAAKgD+H/L/IQIqAAAACQBXAFcA +OABOAHUAbQAzAHoAMwAAAAgAT0oBAFFKAQAqAP4f8v8xAioAAAAJAFcAVwA4AE4AdQBtADUA +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 +NRaQAQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFMAeQBtAGIAbwBsAAAA +MyaQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAcgBpAGEAbAAAAEcW +kAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAGkAbQBlAHMAIABOAGUA +dwAgAFIAbwBtAGEAbgAAADUmkAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AABUAGEAaABvAG0AYQAAAD8WkAECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AABXAGkAbgBnAGQAaQBuAGcAcwAgADIAAAA3JpABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAVgBlAHIAZABhAG4AYQAAAD80kAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAABDAG8AdQByAGkAZQByACAATgBlAHcAAAA7BpABAgAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVwBpAG4AZwBkAGkAbgBnAHMAAABTJpABgBAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATABpAGIAZQByAGEAdABpAG8AbgAgAFMA +YQBuAHMAAABBAHIAaQBhAGwAAAA/BpABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAARABlAGoAYQBWAHUAIABTAGEAbgBzAAAASSaQAYAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAEEAcgBpAGEAbAAgAFUAbgBpAGMAbwBkAGUAIABNAFMAAABCAAQA +AQiNGAAA0AIAAGgBAAAAAHPC62bU3fWmAAAAAAEAAAAAAMkAAAASBgAAAgA/AAAABACDkD8A +AADJAAAAEgYAAAIAPwAAAD8AAAAAAAAAJwMA8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAIAAAAAAAAAAAAAAAAAAPAQAN/f//0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +gAAAAAAAAAAAAAAA//8SAAAAAAAAAA8AQwBhAG4AZABpAGQAYQB0AGUAcwAgAE4AYQBtAGUA +AAAAAAAAEwBzAGEAZwBhAHIAIABwACAAcwB1AHIAeQBhAHcAYQBuAHMAaABpAAMAcwBhAGkA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAJ4EAABEAGQA7gAjAQAAAAAAAAAAAAAAAAAAAACHAKUA6APoAwAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAADwAE8GYAAACyBArwCAAAAAEEAAAACgAAswAL8EIAAACBAAAA +AACCAAAAAACDAAAAAACEAAAAAAAEQQEAAAAGAQAAAAA/AQAAAACBAf///wCDAQAAAAC/ARAA +EAD/AQAACAAAABDwBAAAAAAAAIBiAAfw5AMAAAYGnRZ3tgAAAAB7OGUgEgIAEAAAwAMAAAEA +AAAAAAAAAAAAAABuHvC4AwAAnRZ3tgAAAAB7OGUgEgIAEP+JUE5HDQoaCgAAAA1JSERSAAAA +CQAAAAsIAwAAAJqHVykAAAMAUExURQAAAPf39/////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////88f9h0AAAADdFJOU///ANfKDUEA +AAABYktHRACIBR1IAAAADGNtUFBKQ21wMDcxMgAAAANIAHO8AAAALklEQVQYV22MQQoAAAjC +rP8/Ol10K8IJiuo7tbChbMtiRIMkMeT7m9B4e5RP2B4eJACOUomEagAAAABJRU5ErkJgggAA +ngQAAEQAZADuACMBAAAAAAAAAAAAAAAAAAAAAIcApQDoA+gDAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAPAATwZgAAALIECvAIAAAAAQQAAAAKAACzAAvwQgAAAIEAAAAAAIIA +AAAAAIMAAAAAAIQAAAAAAARBAQAAAAYBAAAAAD8BAAAAAIEB////AIMBAAAAAL8BEAAQAP8B +AAAIAAAAEPAEAAAAAAAAgGIAB/DkAwAABgadFne2AAAAAHs4ZSASAgAQAADAAwAAAQAAAAAA +AAAAAAAAAG4e8LgDAACdFne2AAAAAHs4ZSASAgAQ/4lQTkcNChoKAAAADUlIRFIAAAAJAAAA +CwgDAAAAmodXKQAAAwBQTFRFAAAA9/f3//////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +////////////////////////////////////////zx/2HQAAAAN0Uk5T//8A18oNQQAAAAFi +S0dEAIgFHUgAAAAMY21QUEpDbXAwNzEyAAAAA0gAc7wAAAAuSURBVBhXbYxBCgAACMKs/z86 +XXQrwgmK6ju1sKFsy2JEgyQx5Pub0Hh7lE/YHh4kAI5SiYRqAAAAAElFTkSuQmCCAACeBAAA +RABkAO4AIwEAAAAAAAAAAAAAAAAAAAAAhwClAOgD6AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAA8ABPBmAAAAsgQK8AgAAAABBAAAAAoAALMAC/BCAAAAgQAAAAAAggAAAAAA +gwAAAAAAhAAAAAAABEEBAAAABgEAAAAAPwEAAAAAgQH///8AgwEAAAAAvwEQABAA/wEAAAgA +AAAQ8AQAAAAAAACAYgAH8OQDAAAGBp0Wd7YAAAAAezhlIBICABAAAMADAAABAAAAAAAAAAAA +AAAAbh7wuAMAAJ0Wd7YAAAAAezhlIBICABD/iVBORw0KGgoAAAANSUhEUgAAAAkAAAALCAMA +AACah1cpAAADAFBMVEUAAAD39/f///////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +///////////////////////////////////PH/YdAAAAA3RSTlP//wDXyg1BAAAAAWJLR0QA +iAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAAAC5JREFUGFdtjEEKAAAIwqz/PzpddCvC +CYrqO7WwoWzLYkSDJDHk+5vQeHuUT9geHiQAjlKJhGoAAAAASUVORK5CYIIAAJ4EAABEAGQA +7gAjAQAAAAAAAAAAAAAAAAAAAACHAKUA6APoAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAADwAE8GYAAACyBArwCAAAAAEEAAAACgAAswAL8EIAAACBAAAAAACCAAAAAACDAAAA +AACEAAAAAAAEQQEAAAAGAQAAAAA/AQAAAACBAf///wCDAQAAAAC/ARAAEAD/AQAACAAAABDw +BAAAAAAAAIBiAAfw5AMAAAYGnRZ3tgAAAAB7OGUgEgIAEAAAwAMAAAEAAAAAAAAAAAAAAABu +HvC4AwAAnRZ3tgAAAAB7OGUgEgIAEP+JUE5HDQoaCgAAAA1JSERSAAAACQAAAAsIAwAAAJqH +VykAAAMAUExURQAAAPf39/////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +/////////////////////////////88f9h0AAAADdFJOU///ANfKDUEAAAABYktHRACIBR1I +AAAADGNtUFBKQ21wMDcxMgAAAANIAHO8AAAALklEQVQYV22MQQoAAAjCrP8/Ol10K8IJiuo7 +tbChbMtiRIMkMeT7m9B4e5RP2B4eJACOUomEagAAAABJRU5ErkJgggAAngQAAEQAZADuACMB +AAAAAAAAAAAAAAAAAAAAAIcApQDoA+gDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAPAATwZgAAALIECvAIAAAAAQQAAAAKAACzAAvwQgAAAIEAAAAAAIIAAAAAAIMAAAAAAIQA +AAAAAARBAQAAAAYBAAAAAD8BAAAAAIEB////AIMBAAAAAL8BEAAQAP8BAAAIAAAAEPAEAAAA +AAAAgGIAB/DkAwAABgadFne2AAAAAHs4ZSASAgAQAADAAwAAAQAAAAAAAAAAAAAAAG4e8LgD +AACdFne2AAAAAHs4ZSASAgAQ/4lQTkcNChoKAAAADUlIRFIAAAAJAAAACwgDAAAAmodXKQAA +AwBQTFRFAAAA9/f3//////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +////////////////////////zx/2HQAAAAN0Uk5T//8A18oNQQAAAAFiS0dEAIgFHUgAAAAM +Y21QUEpDbXAwNzEyAAAAA0gAc7wAAAAuSURBVBhXbYxBCgAACMKs/z86XXQrwgmK6ju1sKFs +y2JEgyQx5Pub0Hh7lE/YHh4kAI5SiYRqAAAAAElFTkSuQmCCAACeBAAARABkAO4AIwEAAAAA +AAAAAAAAAAAAAAAAhwClAOgD6AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8A +BPBmAAAAsgQK8AgAAAABBAAAAAoAALMAC/BCAAAAgQAAAAAAggAAAAAAgwAAAAAAhAAAAAAA +BEEBAAAABgEAAAAAPwEAAAAAgQH///8AgwEAAAAAvwEQABAA/wEAAAgAAAAQ8AQAAAAAAACA +YgAH8OQDAAAGBp0Wd7YAAAAAezhlIBICABAAAMADAAABAAAAAAAAAAAAAAAAbh7wuAMAAJ0W +d7YAAAAAezhlIBICABD/iVBORw0KGgoAAAANSUhEUgAAAAkAAAALCAMAAACah1cpAAADAFBM +VEUAAAD39/f///////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +///////////////////PH/YdAAAAA3RSTlP//wDXyg1BAAAAAWJLR0QAiAUdSAAAAAxjbVBQ +SkNtcDA3MTIAAAADSABzvAAAAC5JREFUGFdtjEEKAAAIwqz/PzpddCvCCYrqO7WwoWzLYkSD +JDHk+5vQeHuUT9geHiQAjlKJhGoAAAAASUVORK5CYIIAAJ4EAABEAGQA7gAjAQAAAAAAAAAA +AAAAAAAAAACHAKUA6APoAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAE8GYA +AACyBArwCAAAAAEEAAAACgAAswAL8EIAAACBAAAAAACCAAAAAACDAAAAAACEAAAAAAAEQQEA +AAAGAQAAAAA/AQAAAACBAf///wCDAQAAAAC/ARAAEAD/AQAACAAAABDwBAAAAAAAAIBiAAfw +5AMAAAYGnRZ3tgAAAAB7OGUgEgIAEAAAwAMAAAEAAAAAAAAAAAAAAABuHvC4AwAAnRZ3tgAA +AAB7OGUgEgIAEP+JUE5HDQoaCgAAAA1JSERSAAAACQAAAAsIAwAAAJqHVykAAAMAUExURQAA +APf39/////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +/////////////88f9h0AAAADdFJOU///ANfKDUEAAAABYktHRACIBR1IAAAADGNtUFBKQ21w +MDcxMgAAAANIAHO8AAAALklEQVQYV22MQQoAAAjCrP8/Ol10K8IJiuo7tbChbMtiRIMkMeT7 +m9B4e5RP2B4eJACOUomEagAAAABJRU5ErkJgggAAngQAAEQAZADuACMBAAAAAAAAAAAAAAAA +AAAAAIcApQDoA+gDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAATwZgAAALIE +CvAIAAAAAQQAAAAKAACzAAvwQgAAAIEAAAAAAIIAAAAAAIMAAAAAAIQAAAAAAARBAQAAAAYB +AAAAAD8BAAAAAIEB////AIMBAAAAAL8BEAAQAP8BAAAIAAAAEPAEAAAAAAAAgGIAB/DkAwAA +BgadFne2AAAAAHs4ZSASAgAQAADAAwAAAQAAAAAAAAAAAAAAAG4e8LgDAACdFne2AAAAAHs4 +ZSASAgAQ/4lQTkcNChoKAAAADUlIRFIAAAAJAAAACwgDAAAAmodXKQAAAwBQTFRFAAAA9/f3 +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +////////zx/2HQAAAAN0Uk5T//8A18oNQQAAAAFiS0dEAIgFHUgAAAAMY21QUEpDbXAwNzEy +AAAAA0gAc7wAAAAuSURBVBhXbYxBCgAACMKs/z86XXQrwgmK6ju1sKFsy2JEgyQx5Pub0Hh7 +lE/YHh4kAI5SiYRqAAAAAElFTkSuQmCCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA7KUBAU0gCQQAAAgSvwAAAAAAADAAAAAAAAgAAAAVAAAOAENhb2xhbjgw +AAAAAAAAAAAAAAAAAAAAAAAACQQWAJxBAAAAAAAAAAAAAHIFAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAA0BAAAAAAAA//8PAAsAAAAEAAAA//8PAA8AAAARAAAA//8PAAAAAAAAAAAAAAAAAAAA +AACIAAAAAACIFQAAAAAAAIgVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgV +AAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADsFQAANAAAACAWAAAkAAAA +RBYAAIwAAAAAAAAAAAAAACYdAAAGAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAOUaAAAmAAAACxsAAAwAAAAXGwAACAAAAAMdAAACAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCAAAGICAACOIgAAdAAAABEd +AAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +aRoAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQFgAAmQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAACIFQAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHxsAAB4A +AADjHAAAGAAAAMAVAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+xwAAAgAAAAAAAAAAAAAAAUdAAAMAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAIA2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAgACAAQwBVAFIAUgBJAEMAVQBMAFUATQAgAFYA +SQBUAEEARQANAAgADQBSAGkAYwBoAGEAcgBkACAAQQBuAGQAZQByAHMAbwBuACAACwAxADIA +MwA0ACwAIABXAGUAcwB0ACAANgA3ACAAUwB0AHIAZQBlAHQALAAgAAsAQwBhAHIAbABpAHMA +bABlACwAIABNAEEAIAAwADEANwA0ADEALAAgAAsAKAAxADIAMwApAC0ANAA1ADYAIAA3ADgA +OQAwAC4ADQAIAAsAAQAgAEMAYQByAGUAZQByACAATwBiAGoAZQBjAHQAaQB2AGUADQANAEQA +ZQBzAGkAcgBlACAAYQAgAGMAaABhAGwAbABlAG4AZwBpAG4AZwAgAHAAbwBzAGkAdABpAG8A +bgAgAGkAbgAgAHQAaABlACAAYQByAGUAYQAgAG8AZgAgAFMAbwBmAHQAdwBhAHIAZQAgAGQA +ZQB2AGUAbABvAHAAbQBlAG4AdAAsACAAdwBoAGkAYwBoACAAdwBpAGwAbAAgAHUAdABpAGwA +aQB6AGUAIABtAHkAIABpAG4AdABlAHIAZABpAHMAYwBpAHAAbABpAG4AYQByAHkALAAgAHQA +ZQBjAGgAbgBpAGMAYQBsACwAIABhAG4AZAAgAHMAbwBmAHQAdwBhAHIAZQAgAGQAZQB2AGUA +bABvAHAAbQBlAG4AdAAgAGwAaQBmAGUAIABjAHkAYwBsAGUAIABzAGsAaQBsAGwAcwAgAGkA +bgAgAGEAIABwAHIAbwBkAHUAYwB0AGkAdgBlACwAIABlAG4AdABoAHUAcwBpAGEAcwB0AGkA +YwAgAGEAbgBkACAAaQBuACAAYQAgAHQAZQBhAG0ALQBvAHIAaQBlAG4AdABlAGQAIABlAG4A +dgBpAHIAbwBuAG0AZQBuAHQALgANAA0AAQAgAEUAZAB1AGMAYQB0AGkAbwBuAGEAbAAgAFMA +dQBtAG0AYQByAHkADQBQ8CAAQwBvAG0AcABsAGUAdABlAGQAIABNAGEAcwB0AGUAcgBzACAA +aQBuACAAQwBvAG0AcAB1AHQAZQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuACAAKABNAC4A +QwAuAEEAKQAgAHcAaQB0AGgAIAA2ADMALgA3ADEAJQAgAA0AAQAgAFQAZQBjAGgAbgBpAGMA +YQBsACAASwBuAG8AdwBsAGUAZABnAGUAIABTAHUAbQBtAGEAcgB5AA0ACAANAAEAIAAgAEQA +ZQB0AGEAaQBsAGUAZAAgAEUAZAB1AGMAYQB0AGkAbwBuAGEAbAAgAEEAYwBhAGQAZQBtAGkA +YwAgAEMAcgBlAGQAZQBuAHQAaQBhAGwAcwANAEUAeABhAG0AaQBuAGEAdABpAG8AbgAHAEIA +bwBhAHIAZAAvAFUAbgBpAHYAZQByAHMAaQB0AHkABwBQAGEAcwBzAGkAbgBnACAAWQBlAGEA +cgAHAFAAZQByAGMAZQBuAHQAYQBnAGUABwAHAAgATQAuAEMALgBBACAABwAHACAAIAAgACAA +IAAgACAAIAAgACAAUwBlAG0AZQBzAHQAZQByACAAVgBJAAcAQwBhAHIAbABpAHMAbABlACAA +VQBuAGkAdgBlAHIAcwBpAHQAeQAHADIAMAAxADEABwA2ADMALgA3ADEABwAHACAAIAAgACAA +IAAgACAAIAAgACAAUwBlAG0AZQBzAHQAZQByACAAVgAHAEMAYQByAGwAaQBzAGwAZQAgAFUA +bgBpAHYAZQByAHMAaQB0AHkABwAyADAAMQAwAAcANgA3AC4AMQA3AAcABwAgACAAIAAgACAA +IAAgACAAIAAgAFMAZQBtAGUAcwB0AGUAcgAgAEkAVgAHAEMAYQByAGwAaQBzAGwAZQAgAFUA +bgBpAHYAZQByAHMAaQB0AHkABwAyADAAMQAwAAcANgAyAC4AOAAwAAcABwAgACAAIAAgACAA +IAAgACAAIAAgAFMAZQBtAGUAcwB0AGUAcgAgAEkASQBJAAcAQwBhAHIAbABpAHMAbABlACAA +VQBuAGkAdgBlAHIAcwBpAHQAeQAHADIAMAAxADAABwA2ADIALgAyADUABwAHACAAIAAgACAA +IAAgACAAIAAgACAAUwBlAG0AZQBzAHQAZQByACAASQBJAAcAQwBhAHIAbABpAHMAbABlACAA +VQBuAGkAdgBlAHIAcwBpAHQAeQAHADIAMAAwADkABwA2ADUALgA3ADUABwAHACAAIAAgACAA +IAAgACAAIAAgACAAUwBlAG0AZQBzAHQAZQByACAASQAHAEMAYQByAGwAaQBzAGwAZQAgAFUA +bgBpAHYAZQByAHMAaQB0AHkABwAyADAAMAA5AAcANgAzAC4AMwAzAAcABwAHAAcABwAHAAcA +BwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAAQAgAFMAdQBiAGoAZQBjAHQAIAAgAEYA +YQBtAGkAbABpAGEAcgBpAHQAeQA6AA0AUPAgAEQAYQB0AGEAYgBhAHMAZQAgAE0AYQBuAGEA +ZwBlAG0AZQBuAHQAIABDAG8AbgBjAGUAcAB0AHMADQBQ8CAATwBiAGoAZQBjAHQAIABPAHIA +aQBlAG4AdABlAGQAIABQAHIAbwBnAHIAYQBtAG0AaQBuAGcAIABDAG8AbgBjAGUAcAB0AA0A +UPAgAFMAeQBzAHQAZQBtACAAQQBuAGEAbAB5AHMAaQBzACAAYQBuAGQAIABEAGUAcwBpAGcA +bgANAFDwIABzAG8AZgB0AHcAYQByAGUAIABFAG4AZwBpAG4AZQBlAHIAaQBuAGcAIAANAFDw +IABPAHAAZQByAGEAdABpAG4AZwAgAFMAeQBzAHQAZQBtACAAQwBvAG4AYwBlAHAAdAANAFDw +IABVAG4AaQB4ACAAUwBoAGUAbABsACAAUAByAG8AZwByAGEAbQBtAGkAbgBnAA0AAQAgAEEA +cgBlAGEAIABvAGYAIABJAG4AdABlAHIAZQBzAHQAOgANAFDwIABTAG8AZgB0AHcAYQByAGUA +IABkAGUAdgBlAGwAbwBwAG0AZQBuAHQAIAAgAHUAcwBpAG4AZwAgAEoAYQB2AGEALwAuAE4A +ZQB0ACAAdABlAGMAaABuAG8AbABvAGcAaQBlAHMADQBQ8CAATABlAGEAcgBuAGkAbgBnACAA +bgBlAHcAIAB0AGUAYwBoAG4AbwBsAG8AZwBpAGUAcwAuAA0AAQAgAFAAZQByAHMAbwBuAGEA +bAAgAEQAZQB0AGEAaQBsAHMADQBOAGEAbQBlADoAIAAgAAkACQBSAGkAYwBoAGEAcgBkACAA +QQBuAGQAZQByAHMAbwBuAA0AQwB1AHIAcgBlAG4AdAAgAEEAZABkAHIAZQBzAHMACQAxADIA +MwA0ACwAIABXAGUAcwB0ACAANgA3ACAAUwB0AHIAZQBlAHQALAAgAAsAQwBhAHIAbABpAHMA +bABlACwAIABNAEEAIAAwADEANwA0ADEALAAgAAsAKAAxADIAMwApAC0ANAA1ADYAIAA3ADgA +OQAwAC4ADQBEAGEAdABlACAAbwBmACAAQgBpAHIAdABoADoAIAAJADEAcwB0ACAAagB1AG4A +ZQANAEcAZQBuAGQAZQByADoAIAAJAAkATQBhAGwAZQAJAA0ADQABAA0ATABhAG4AZwB1AGEA +ZwBlAHMAIABLAG4AbwB3AG4AIAAHAEMALAAgAEMAKwArACwASgBBAFYAQQAsACAALgBOAEUA +VAAgADMALgA1ACwAIABBAFMAUAAuAE4ARQBUACAAMwAuADUALABWAEIAIAAyADAAMAA4ACwA +cAB5AHQAaABvAG4ABwAHAEQAQgBNAFMALwBSAEQAQgBNAFMAIAAHAE8AUgBBAEMATABFACwA +TQBTACAAQQBjAGMAZQBzAHMALAAgAFMAUQBMACwAIABQAG8AcwB0AGcAcgBlAHMAcwAgAFMA +UQBMAAcABwBXAGUAYgAgAFQAZQBjAGgAbgBvAGwAbwBnAHkABwBIAFQATQBMACwASgBBAFYA +QQAgAFMAYwByAGkAcAB0AAcABwBPAHAAZQByAGEAdABpAG4AZwAgAFMAeQBzAHQAZQBtAAcA +VwBpAG4AZABvAHcAcwAgACgAOQA4AC8AMgAwADAANwAvAFgAUAAgAC8AVgBJAFMAVABBACwA +NwApACwAdQBiAHUAbgB0AHUABwAHAE8AdABoAGUAcgAHAE4AZQB0AHcAbwByAGsAIABQAHIA +bwBnAHIAYQBtAG0AaQBuAGcAIABpAG4AIABKAGEAdgBhACwAIABVAG4AaQB4ACAAUwBoAGUA +bABsACAAUAByAG8AZwByAGEAbQBtAGkAbgBnAAcABwAgAA0ADQANAA0AAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAWCAAAOAgAADoIAAA8CAAAXAgAANgI +AADaCAAA3AgAAN4IAADgCAAAAgkAAAQJAADMCgAAzgoAANAKAADSCgAA+goAAPwKAAD+CgAA +EgsAAGALAABiCwAAbAsAAHwLAAB+CwAAgAsAALgLAAC6CwAAvAsAAL4LAADACwAAwgsAAPn5 +9Ovh2PTMv7bMANisn7aVjoeHf3h4eGu2YfQAVLZhAAAAABlVCAEDauANAAAwSlAAXkoEAE9K +BABRSgQAEj4qATUIAV5KBABPSgQAUUoEAAAZVQgBA2pACQAAMEpQAF5KBABPSgQAUUoEAAxe +SgQAT0oEAFFKBAAADzUIAV5KBABPSgQAUUoEAAxDShIAT0oCAFFKAgAADENKEgBPSgUAUUoF +AAATMEpQAD4qAV5KBABPSgQAUUoEABlVCAEDaqAEAAAwSlAAXkoEAE9KBABRSgQAEkNKEgA+ +KgE1CAFPSgIAUUoCAAAQMEpQAF5KBABPSgQAUUoEAAAZVQgBA2oAAAAAMEpQAF5KBABPSgQA +UUoEABcwSlAAQ0oUAD4qAV5KBABPSgQAUUoEABBDShQAXkoEAE9KBABRSgQAABNDShQANQgB +XkoEAE9KBABRSgQAEENKFABtSAAEc0gABG5IAAQACQNqAAAAAFUIAQxDShYAT0oCAFFKAgAg +wgsAABYMAAAuDAAAUAwAAGoMAACADAAAggwAAIQMAACGDAAAkgwAAKgMAADADAAA0AwAAOgM +AADyDAAA/gwAABQNAAAqDQAAOg0AAFINAABcDQAAaA0AAH4NAACWDQAApg0AAL4NAADIDQAA +1A0AAOoNAAAEDgAAFA4AACwOAAA2DgAAQg4AAFgOAABwDgAAgA4AAJgOAACiDgAArg4AAMQO +AADaDgAA6g4AAAIPAAAMDwAAGA8AABwPAAAeDwAAIA8AACIPAAAmDwAAKA8AACoPAAAsDwAA +MA8AADIPAAA0DwAANg8AADoPAAA8DwAAPg8AAEAPAABCDwAARA8AAEYPAAD27Ozs7ADn39/Y +2M/Y2NjY2M/Y2NjY2M/Y2MnY2M/Y2MnY2M/Y2MnY2M/Y2Mnf2NjYvdjY2N/Y2Njf2NjYALCn +AAAAAAAAAAAAABAwSlAAXkoEAE9KBABRSgQAABlVCAEDaoASAAAwSlAAXkoEAE9KBABRSgQA +FkNKEgA1CAFhShIAXAgBT0oGAFFKBgAAC1wIAU9KBgBRSgYAEENKFABeSgQAT0oEAFFKBAAA +DF5KBABPSgQAUUoEAAAPNQgBXkoEAE9KBABRSgQACQNqAAAAAFUIARNDShIANQgBXkoEAE9K +BABRSgQAEj4qATUIAV5KBABPSgQAUUoEAEBGDwAAbg8AAHIPAAB0DwAAdg8AALAPAACyDwAA +tA8AAPwPAAD+DwAAABAAADYQAAA4EAAAOhAAAGYQAABoEAAAahAAAJwQAACeEAAAoBAAAM4Q +AADQEAAA0hAAAPYQAAD4EAAA+hAAAGARAABiEQAAZBEAAJoRAACcEQAAnhEAAMARAADMEQAA +0hEAAPQRAAASEgAAFBIAAIwSAACqEgAArhIAALISAAC+EgAA0hIAANoSAADeEgAA4BIAAPLm +4dra4dra4dra4dra4dra4drazcS64dra4drarcS6pdqbpZaNpdqF2qXapQAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9IKgFeSgQAT0oEAFFKBAAQQ0oUAF5KBABPSgQAUUoE +AAAIT0oGAFFKBgAAE0NKFAA1CAFeSgQAT0oEAFFKBAAPNQgBXkoEAE9KBABRSgQAGVUIAQNq +wBsAADBKUABeSgQAT0oEAFFKBAASQ0oSAD4qATUIAU9KAgBRSgIAABAwSlAAXkoEAE9KBABR +SgQAABlVCAEDaiAXAAAwSlAAXkoEAE9KBABRSgQADF5KBABPSgQAUUoEAAAIT0oFAFFKBQAA +F0NKEgA1CAFeSgIAYUoSAE9KAgBRSgIAGkNKEgA+KgE1CAFeSgIAYUoSAE9KAgBRSgIALuAS +AADiEgAAAhMAAAYTAABqEwAAhBMAAM4TAADuEwAAEBQAADQUAAB+FAAAjBQAAPQUAAD+FAAA +8eri3erd193q3eLdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALXAgB +T0oGAFFKBgAIT0oGAFFKBgAAD15KBABcCAFPSgQAUUoEAAxeSgQAT0oEAFFKBAAAHFUIAQNq +YCAAADBKUABeSgQAPAgBT0oEAFFKBAANAAgAADgIAAA8CAAA2AgAAAIJAAAECQAAzAoAAM4K +AAD6CgAAfAsAALgLAAC8CwAAFgwAAC4MAABQDAAA9wAAAAAAAAAAAAAAAPIAAAAAAAAAAAAA +AADkAAAAAAAAAAAAAAAA1QAAAAAAAAAAAAAAAMYAAAAAAAAAAAAAAAC3AAAAAAAAAAAAAAAA +sgAAAAAAAAAAAAAAAK0AAAAAAAAAAAAAAACoAAAAAAAAAAAAAAAAowAAAAAAAAAAAAAAAJ4A +AAAAAAAAAAAAAACZAAAAAAAAAAAAAAAAiwAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAA +AAAAAAANAAAWJAFJZgEAAAASZGgBAQADJAFhJAFHJAAADQAAFiQBSWYBAAAAEmRoAQEAAyQB +YSQBRyQAAAQAABJkaAEBAAAEAAASZGgBAQAABAAAEmRoAQEAAAQAABJkaAEBAAAEAAASZGgB +AQAABAAAEmRoAQEAAA5aAAMkA2EkA16EAABdhNACYIQAABOkAAAUpAAAAA5aAAMkA2EkA16E +AABdhNACYIQAABOkAAAUpAAAAA5aAAMkA2EkA16EAABdhKAFYIQAABOkAAAUpAAADlYAAyQB +YSQBDcYIAAJwCEALAAATpAAAFKQAAAAEXgADJANhJAMAB14AXoSAFl2EAABghNACAA5QDAAA +agwAAIAMAACCDAAAkgwAAPEAAAAAAAAAAAAAAADjAAAAAAAAAAAAAAAAZgAAAAAAAAAAAAAA +AFsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAKAAAWJAFJZgEAAAASZGgBAQBHJAAAfAAAFiQBFyQBSWYBAAAA +CNZcAARi/8ILeBlyH8IkgAAAAAQBAQAEAQEABAEBAAAAAACAAAAABAEBAAQBAQAEAQEAAAAA +AIAAAAAEAQEABAEBAAQBAQAAAAAAgAAAAAQBAQAEAQEABAEBAAQBAQAJ1ggAAQABAAEAARLW +KAAAAP/l5eUAAAAAAAD/5eXlAAAAAAAA/+Xl5QAAAAAAAP/l5eUAAABw1igAAAD/5eXlAAAA +AAAA/+Xl5QAAAAAAAP/l5eUAAAAAAAD/5eXlAAAANNYGAAEBAwAANNYGAAECA2wANNYGAAEE +AwAANNYGAAEIA2wAAzQAZjQAAA0AABYkAUlmAQAAABJkaAEBAAMkAWEkAUckAAANAAAWJAFJ +ZgEAAAASZGgBAQADJAFhJAFHJAAABJIMAACUDAAAwAwAAOgMAADyDAAA/gwAAMQAAAAAAAAA +AAAAAAC5AAAAAAAAAAAAAAAArgAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACSAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAFiQBSWYB +AAAAEmRoAQEAAyQBYSQBRyQAAA0AABYkAUlmAQAAABJkaAEBAAMkAWEkAUckAAAKAAAWJAFJ +ZgEAAAASZGgBAQBHJAAACgAAFiQBSWYBAAAAEmRoAQEARyQAADoAABYkARckAUlmAQAAAAjW +GgABYv/CJIAAAAAEAQEABAEBAAQBAQAEAQEACdYCAAAS1goAAAD/AAAA/wAAcNYKAAAA/wAA +AP8AADTWBgABAQMAADTWBgABAgNsADTWBgABBAMAADTWBgABCANsAAM0AGY0AAAF/gwAAAAN +AAAqDQAAUg0AAFwNAABoDQAAggAAAAAAAAAAAAAAAHcAAAAAAAAAAAAAAABsAAAAAAAAAAAA +AAAAXgAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAWJAFJ +ZgEAAAASZGgBAQADJAFhJAFHJAAADQAAFiQBSWYBAAAAEmRoAQEAAyQBYSQBRyQAAAoAABYk +AUlmAQAAABJkaAEBAEckAAAKAAAWJAFJZgEAAAASZGgBAQBHJAAAfAAAFiQBFyQBSWYBAAAA +CNZcAARi/8IL0hlyH8IkgAAAAAQBAQAEAQEABAEBAAAAAACAAAAABAEBAAQBAQAEAQEAAAAA +AIAAAAAEAQEABAEBAAQBAQAAAAAAgAAAAAQBAQAEAQEABAEBAAQBAQAJ1ggAAAAAAAAAABLW +KAAAAP8AAAD/AAAAAAD/AAAA/wAAAAAA/wAAAP8AAAAAAP8AAAD/AABw1igAAAD/AAAA/wAA +AAAA/wAAAP8AAAAAAP8AAAD/AAAAAAD/AAAA/wAANNYGAAEBAwAANNYGAAECA2wANNYGAAEE +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 +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSAG8AbwB0ACAARQBuAHQAcgB5AAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAFAP////////// +AQAAAAYJAgAAAAAAwAAAAAAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAACAAgAAAAAAAAEA +QwBvAG0AcABPAGIAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAASAAIAAgAAAAUAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAGoAAAAAAAAAAQBPAGwAZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAgD/////AwAAAP////8AAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAFAAAAAAAAAAxAFQAYQBiAGwAZQAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgACAAQA +AAD//////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACIwAA +AAAAAEQAYQB0AGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAKAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAFgAAAP4kAAAAAAAABQBTAHUAbQBtAGEAcgB5AEkAbgBmAG8AcgBtAGEA +dABpAG8AbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAGAAAACAAAAP////8AAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAHAEAAAAAAABXAG8AcgBkAEQA +bwBjAHUAbQBlAG4AdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +GgACAAcAAAD//////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkA +AACcQQAAAAAAAE8AYgBqAGUAYwB0AFAAbwBvAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAWAAEA////////////////AAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAA/v///wAAAAAAAAAABQBEAG8AYwB1AG0AZQBuAHQAUwB1AG0A +bQBhAHIAeQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AAAAAAAAAAAAAADgAAgD///////////// +//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAdAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAP7///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////AAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///// +//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+////AAAAAAAA +AAA= +--------------010903010402010104090709-- diff --git a/addons/hr_recruitment/test/test_hr_recruitment.yml b/addons/hr_recruitment/test/test_hr_recruitment.yml deleted file mode 100644 index b797353bde2..00000000000 --- a/addons/hr_recruitment/test/test_hr_recruitment.yml +++ /dev/null @@ -1,139 +0,0 @@ -- - In order to test hr_recruitment module for OpenERP, I will create applicants form, Manages job positions and the recruitment process. -- - - I create a department. -- - !record {model: hr.department, id: hr_department_rd0}: - manager_id: base.user_root - name: 'R & D ' - -- - I create new Job Position. -- - !record {model: hr.job, id: hr_job_jea0}: - department_id: 'hr_department_rd0' - description: 'Position of Jr. Application Engineer' - expected_employees: 5 - name: 'JAE ' -- - I create a recruitment stage "Initial Jobs Demand". -- - !record {model: hr.recruitment.stage, id: hr_recrutiment_stage_first0}: - name: 'Initial Jobs Demand' - sequence: 1 -- - I create an applicant. -- - !record {model: hr.applicant, id: hr_applicant_fresher0}: - availability: 0.0 - department_id: hr.dep_it - name: Fresher - partner_address_id: base.res_partner_address_tang - partner_id: base.res_partner_asus - partner_name: Marion Jones - partner_phone: '1111112223' - response: 0.0 - job_id: hr.job_jr_developers - salary_expected: 0.0 - salary_proposed: 0.0 - stage_id: hr_recrutiment_stage_first0 - type_id: hr_recruitment.degree_licenced - -- - I check that applicant is on "draft" state. -- - !assert {model: hr.applicant, id: hr_applicant_fresher0}: - - state == 'draft' - -- - I change the state by click on "In Progress" button. -- - !python {model: hr.applicant}: | - self.case_open(cr, uid, [ref("hr_applicant_fresher0")], {"active_ids": [ref("hr_recruitment.menu_crm_case_categ0_act_job")], - }) -- - I change the stages by clicking on stage next and stage previous buttons. -- - !python {model: hr.applicant}: | - self.stage_next(cr, uid, [ref('hr_applicant_fresher0')], None) - self.stage_previous(cr, uid, [ref('hr_applicant_fresher0')], None) -- - I create a new case category. -- - !record {model: crm.case.categ, id: crm_case_categ_employee0}: - name: 'Employee' - -- - I schedule a phonecall for this applicant by click on "Schedule a Phone Call" button. -- - !record {model: hr.recruitment.job2phonecall, id: hr_recruitment_forinterview0}: - user_id: base.user_root - deadline: !eval time.strftime('%Y-%m-%d 11:51:00') - note: 'For interview.' - category_id: 'crm_case_categ_employee0' - -- - I click on "Schedule phonecall" button of this wizard. -- - !python {model: hr.recruitment.job2phonecall}: | - self.make_phonecall(cr, uid, [ref('hr_recruitment_forinterview0')], {'active_ids': [ref('hr_applicant_fresher0')]}) - -- - I schedule meeting for interview of this applicant by click on "Schedule Meeting" button. -- - !python {model: hr.applicant}: | - self.action_makeMeeting(cr, uid, [ref('hr_recruitment_forinterview0')]) -- - I create an entry for the meeting with the applicant. -- - !record {model: crm.meeting, id: crm_meeting_fresher0}: - alarm_id: base_calendar.alarm1 - count: 0.0 - date: !eval "(datetime.now() + timedelta(1)).strftime('%Y-%m-%d 00:00:00')" - date_deadline: !eval "(datetime.now() + timedelta(1)).strftime('%Y-%m-%d 08:00:00')" - day: 0.0 - duration: 8.0 - name: Fresher - opportunity_id: crm.crm_case_construstazunits0 - partner_address_id: base.res_partner_address_tang - partner_id: base.res_partner_asus - recurrent_uid: 0.0 - rrule_type: none - state: open - user_id: base.user_root -- - I print the survery filled up by the applicant. -- - !python {model: hr.applicant}: | - self.action_print_survey(cr, uid, [ref('hr_applicant_fresher0')], None) -- - I assign the position to the applicant and its relevant department. -- - !python {model: hr.applicant}: | - res = self.onchange_job(cr, uid, [ref('hr_applicant_fresher0')], ref('hr.job_jr_developers'), None) - values = dict([('job_id', ref('hr.job_jr_developers'))] + res['value'].items()) - res1 = self.onchange_department_id(cr, uid, [ref('hr_applicant_fresher0')], ref('hr.dep_it'), None) - values.update(dict([('department_id', ref('hr.dep_it'))] + res1['value'].items())) - self.write(cr, uid, [ref('hr_applicant_fresher0')], values, None) -- - On a successful meeting with the applicant, I hired employee by click on "Hired" button. -- - !python {model: hired.employee}: | - self.case_close(cr, uid, [], context={'active_ids': [ref('hr_applicant_fresher0')]}) -- - I check that applicant state is "Hired". -- - !assert {model: hr.applicant, id: hr_applicant_fresher0}: - - state == 'done' -- - I create partner for the hired applicant for accounting purpose. -- - !record {model: hr.recruitment.partner.create, id: hr_recruitment_partner_create0}: - close: False -- - I click on Create Partner button to create a partner for applicant. -- - !python {model: hr.recruitment.partner.create}: | - self.make_order(cr, uid, [ref('hr_recruitment_partner_create0')], context={'active_ids': [ref('hr_applicant_fresher0')]}) - diff --git a/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py b/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py index cd9cbea52f7..0f7d30b215a 100644 --- a/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py +++ b/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py @@ -88,7 +88,7 @@ class job2phonecall(osv.osv_memory): id2 = data_obj.browse(cr, uid, id2, context=context).res_id if id3: id3 = data_obj.browse(cr, uid, id3, context=context).res_id - + new_phonecall_id = [] for job in job_case_obj.browse(cr, uid, context.get('active_ids', []), context=context): #TODO: Take other info from job new_phonecall_id = phonecall_case_obj.create(cr, uid, { From 14dd6ec79008c48eb61c8eb15c30d803ef07d757 Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Mon, 28 Nov 2011 11:39:21 +0530 Subject: [PATCH 2/4] [FIX] hr_recruitment: remove non-exits fields in demo file bzr revid: hmo@tinyerp.com-20111128060921-4v61dzokconpnzl0 --- addons/hr_recruitment/hr_recruitment_demo.xml | 37 ------------------- 1 file changed, 37 deletions(-) diff --git a/addons/hr_recruitment/hr_recruitment_demo.xml b/addons/hr_recruitment/hr_recruitment_demo.xml index 0fc2c94f034..f3790f3a43f 100644 --- a/addons/hr_recruitment/hr_recruitment_demo.xml +++ b/addons/hr_recruitment/hr_recruitment_demo.xml @@ -4,22 +4,17 @@ - - - - - @@ -33,44 +28,32 @@ - - - - - - - - - - - - @@ -78,36 +61,28 @@ - - - - - - - - @@ -121,14 +96,10 @@ - - - - @@ -141,14 +112,10 @@ - - - - @@ -157,18 +124,14 @@ - - - - From 3cba14171c02bdf818ce2b02be2049dbd509fe0e Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Mon, 28 Nov 2011 11:52:47 +0530 Subject: [PATCH 3/4] [IMP] hr_recruitment: improve yml test process to check attachment in email after getting bzr revid: hmo@tinyerp.com-20111128062247-ztxmc9zdrdzy57yp --- addons/hr_recruitment/test/recruitment_process.yml | 8 +++++--- addons/hr_recruitment/test/resume.eml | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/addons/hr_recruitment/test/recruitment_process.yml b/addons/hr_recruitment/test/recruitment_process.yml index 64e8ab687a8..33232ab0f2f 100644 --- a/addons/hr_recruitment/test/recruitment_process.yml +++ b/addons/hr_recruitment/test/recruitment_process.yml @@ -15,8 +15,10 @@ applicant_ids = self.search(cr, uid, [('email_from','=', 'Mr. Richard Anderson ')]) assert applicant_ids, "Applicant is not created after getting the mail" applicant = self.browse(cr, uid, applicant_ids[0], context=context) - assert applicant.name == "Application for the post of Jr.application Programmer", "Subject does not match" + resume_ids = self.pool.get('ir.attachment').search(cr, uid, [('datas_fname','=','resume.doc'),('res_model','=',self._name),('res_id','=',applicant.id)]) + assert applicant.name == "Application for the post of Jr.application Programmer.", "Subject does not match" assert applicant.state == "draft" + assert len(resume_ids), "Resume does not attached." - I assign the Job position to the applicant - @@ -54,7 +56,7 @@ !python {model: hr.applicant}: | self.action_print_survey(cr, uid, [ref('hr_case_programmer')]) - - On a successful meeting with the applicant, I hired employee. + On a successful interview with the applicant, I hired employee. - !python {model: hr.applicant}: | self.case_close(cr, uid, [ref('hr_case_programmer')]) @@ -62,4 +64,4 @@ I check that applicant is "Hired". - !assert {model: hr.applicant, id: hr_case_programmer}: - - state == 'done' \ No newline at end of file + - state == 'done' diff --git a/addons/hr_recruitment/test/resume.eml b/addons/hr_recruitment/test/resume.eml index 9529873a49c..00cc5620563 100644 --- a/addons/hr_recruitment/test/resume.eml +++ b/addons/hr_recruitment/test/resume.eml @@ -24,11 +24,11 @@ X-YMail-OSG: 09Al2uQVM1n5JcQepgua6wQsww7jiatAHXaSsMjP5Qvk9Ba LLM1_BE.EOvXdW38ZC_hHcrM4xYaYSR7c0WaOQsR8EZeXk_Vhio7HHUrdxZl 1oZz7YWK9Q04M023JJoM4v6IrThy3BNepluEFFcavkyOnCw-- X-Yahoo-SMTP: oNtzSBqswBAqJIGYOgyGesyleENrhUEtEgBkQ053 -Received: from [192.168.1.30] (jagdish.n_panchal@180.211.100.2 with plain) +Received: from [192.168.1.30] (test@180.211.100.2 with plain) by smtp205.mail.ne1.yahoo.com with SMTP; 18 Nov 2011 01:26:47 -0800 PST Message-ID: <4EC624C7.6020000@yahoo.in> Date: Fri, 18 Nov 2011 14:56:31 +0530 -From: Richard Anderson +From: Mr. Richard Anderson User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110424 Thunderbird/3.1.10 MIME-Version: 1.0 To: hr@mycompany.com From 9c582e04e7b00d0f022f853e6228df2c642e4b7f Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Mon, 28 Nov 2011 12:03:18 +0530 Subject: [PATCH 4/4] [REF] hr_recruitment: refector code of case_close_with_rmp of hr_recruitment bzr revid: hmo@tinyerp.com-20111128063318-02c90onrf005yo9t --- addons/hr_recruitment/hr_recruitment.py | 47 +++++++------------ .../test/recruitment_process.yml | 2 +- 2 files changed, 17 insertions(+), 32 deletions(-) diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index 931600fef9f..60657e9ff85 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -403,14 +403,6 @@ class hr_applicant(crm.crm_case, osv.osv): return res def case_close(self, cr, uid, ids, *args): - """ - @param self: The object pointer - @param cr: the current row, from the database cursor, - @param uid: the current user’s ID for security checks, - @param ids: List of case's Ids - @param *args: Give Tuple Value - """ - employee_obj = self.pool.get('hr.employee') res = super(hr_applicant, self).case_close(cr, uid, ids, *args) for (id, name) in self.name_get(cr, uid, ids): message = _("Applicant '%s' is being hired.") % name @@ -418,29 +410,22 @@ class hr_applicant(crm.crm_case, osv.osv): return res def case_close_with_emp(self, cr, uid, ids, *args): - """ - @param self: The object pointer - @param cr: the current row, from the database cursor, - @param uid: the current user’s ID for security checks, - @param ids: List of case's Ids - @param *args: Give Tuple Value - """ - employee_obj = self.pool.get('hr.employee') - partner_obj = self.pool.get('res.partner') - address_id = False - applicant = self.browse(cr, uid, ids)[0] - if applicant.partner_id: - address_id = partner_obj.address_get(cr, uid, [applicant.partner_id.id], ['contact'])['contact'] - if applicant.job_id: - self.pool.get('hr.job').write(cr, uid, [applicant.job_id.id], {'no_of_recruitment': applicant.job_id.no_of_recruitment - 1}) - emp_id = employee_obj.create(cr,uid,{'name': applicant.partner_name or applicant.name, - 'job_id': applicant.job_id.id, - 'address_home_id': address_id, - 'department_id': applicant.department_id.id - }) - else: - raise osv.except_osv(_('Warning!'),_('You must define Applied Job for Applicant !')) - return self.case_close(cr, uid, ids, *args) + hr_employee = self.pool.get('hr.employee') + for applicant in self.browse(cr, uid, ids): + address_id = False + if applicant.partner_id: + address_id = applicant.partner_id.address_get(['contact'])['contact'] + if applicant.job_id: + applicant.job_id.write({'no_of_recruitment': applicant.job_id.no_of_recruitment - 1}) + emp_id = hr_employee.create(cr,uid,{'name': applicant.partner_name or applicant.name, + 'job_id': applicant.job_id.id, + 'address_home_id': address_id, + 'department_id': applicant.department_id.id + }) + self.case_close(cr, uid, [applicant.id], *args) + else: + raise osv.except_osv(_('Warning!'),_('You must define Applied Job for Applicant !')) + return True def case_reset(self, cr, uid, ids, *args): """Resets case as draft diff --git a/addons/hr_recruitment/test/recruitment_process.yml b/addons/hr_recruitment/test/recruitment_process.yml index 33232ab0f2f..43575137a6e 100644 --- a/addons/hr_recruitment/test/recruitment_process.yml +++ b/addons/hr_recruitment/test/recruitment_process.yml @@ -59,7 +59,7 @@ On a successful interview with the applicant, I hired employee. - !python {model: hr.applicant}: | - self.case_close(cr, uid, [ref('hr_case_programmer')]) + self.case_close_with_emp(cr, uid, [ref('hr_case_programmer')]) - I check that applicant is "Hired". -