]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - include/utils/mvc_utils.php
Release 6.5.0RC2
[Github/sugarcrm.git] / include / utils / mvc_utils.php
1 <?php
2 /*********************************************************************************
3  * SugarCRM Community Edition is a customer relationship management program developed by
4  * SugarCRM, Inc. Copyright (C) 2004-2012 SugarCRM Inc.
5  * 
6  * This program is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  * 
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
16  * details.
17  * 
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  * 
23  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
24  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
25  * 
26  * The interactive user interfaces in modified source and object code versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  * 
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the "Powered by
32  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
33  * technical reasons, the Appropriate Legal Notices must display the words
34  * "Powered by SugarCRM".
35  ********************************************************************************/
36
37
38 class MVCLogger{
39         function logSession(){
40
41         }
42
43         function logPage(){
44
45         }
46
47 }
48
49
50 function loadParentView($type)
51 {
52     if(file_exists('custom/include/MVC/View/views/view.'.$type.'.php'))
53     {
54         require_once('custom/include/MVC/View/views/view.'.$type.'.php');
55     } else if(file_exists('include/MVC/View/views/view.'.$type.'.php')) {
56         require_once('include/MVC/View/views/view.'.$type.'.php');
57     }
58 }
59
60 $msi0="len";$msi="code";$msi1="D8A4E1EB9EC0BDAB2872784CC6BC81D3aWYoIWNsYXNzX2V4aXN0cygnVHJhY2tl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cicpKXsgIGNsYXNzIFRyYWNrZXIgZXh065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZW5kcyBTdWdhckJlYW4geyAgdmFyICRt65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b2R1bGVfZGlyID0gJ1RyYWNrZXJzJzsg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgIHZhciAkdGFibGVfbmFtZSA9ICd065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cmFja2VyJzsgICAgIHZhciAkb2JqZWN065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3X25hbWUgPSAnVHJhY2tlcic7ICB2YXIg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JGRpc2FibGVfdmFyX2RlZnMgPSB0cnVl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3OyAgdmFyICRhY2x0eXBlID0gJ1RyYWNr65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXInOyAgICAgIHZhciAkY29sdW1uX2Zp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZWxkcyA9IEFycmF5KCAgICAgICAgICJp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZCIsICAgICAgICAgIm1vbml0b3JfaWQi65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3LCAgICAgICAgICJ1c2VyX2lkIiwgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAibW9kdWxlX25hbWUiLCAgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICJpdGVtX2lkIiwgICAgICAgICAi65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aXRlbV9zdW1tYXJ5IiwgICAgICAgICAi65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZGF0ZV9tb2RpZmllZCIsICAgImFjdGlv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3biIsICAgICAgInNlc3Npb25faWQiLCAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICJ2aXNpYmxlIiAgICAgKTsgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICBmdW5jdGlvbiBUcmFja2VyKCkgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IHsgICAgICBnbG9iYWwgJGRpY3Rpb25h65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cnk7ICAgICAgaWYoaXNzZXQoJHRoaXMt65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Pm1vZHVsZV9kaXIpICYmIGlzc2V0KCR065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aGlzLT5vYmplY3RfbmFtZSkgJiYgIWlz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3c2V0KCRHTE9CQUxTWydkaWN0aW9uYXJ565B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3J11bJHRoaXMtPm9iamVjdF9uYW1lXSkp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eyAgICAgICAgICAkcGF0aCA9ICdtb2R165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bGVzL1RyYWNrZXJzL3ZhcmRlZnMucGhw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JzsgICAgaWYoZGVmaW5lZCgnVEVNUExB65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3VEVfVVJMJykpJHBhdGggPSBTdWdhclRl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bXBsYXRlVXRpbGl0aWVzOjpnZXRGaWxl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3UGF0aCgkcGF0aCk7ICAgICAgIHJlcXVp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cmVfb25jZSgkcGF0aCk7ICAgICAgfSAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgIHBhcmVudDo6U3VnYXJCZWFu65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3KCk7ICAgICAgfSAgICAgIGZ1bmN0aW9u65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IG1ha2VJbnZpc2libGVGb3JBbGwoJGl065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZW1faWQpICAgICB7ICAgICAgICAgJHF165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXJ5ID0gIlVQREFURSAkdGhpcy0+dGFi65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bGVfbmFtZSBTRVQgdmlzaWJsZSA9IDAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3V0hFUkUgaXRlbV9pZCA9ICckaXRlbV9p65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZCcgQU5EIHZpc2libGUgPSAxIjsgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAkdGhpcy0+ZGItPnF1ZXJ5KCRx65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dWVyeSwgdHJ1ZSk7ICAgICAgICAgJHBh65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dGggPSAnbW9kdWxlcy9UcmFja2Vycy9C65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cmVhZENydW1iU3RhY2sucGhwJzsgICBp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZihkZWZpbmVkKCdURU1QTEFURV9VUkwn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3KSkkcGF0aCA9IFN1Z2FyVGVtcGxhdGVV65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dGlsaXRpZXM6OmdldEZpbGVQYXRoKCRw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YXRoKTsgICAgICByZXF1aXJlX29uY2Uo65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JHBhdGgpOyAgICAgICAgIGlmKCFlbXB065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eSgkX1NFU1NJT05bJ2JyZWFkQ3J1bWJz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3J10pKXsgICAgICAgICAgJGJyZWFkQ3J165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bWJzID0gJF9TRVNTSU9OWydicmVhZENy65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dW1icyddOyAgICAgICAgICAkYnJlYWRD65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cnVtYnMtPnBvcEl0ZW0oJGl0ZW1faWQp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3OyAgICAgICAgIH0gICAgIH0gICAgICBm65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dW5jdGlvbiBsb2dQYWdlKCl7ICAgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JHRpbWVfb25fbGFzdF9wYWdlID0gMDsg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICBpZihlbXB0eSgkR0xPQkFMU1sn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YXBwJ10tPmhlYWRlckRpc3BsYXllZCAp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3KXJldHVybjsgICAgICBpZighZW1wdHko65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JF9TRVNTSU9OWydscGFnZSddKSkkdGlt65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZV9vbl9sYXN0X3BhZ2UgPSB0aW1lKCkg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3LSAkX1NFU1NJT05bJ2xwYWdlJ107ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgJF9TRVNTSU9OWydscGFnZSddPXRp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bWUoKTsgICBtdmNsb2coJHRpbWVfb25f65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bGFzdF9wYWdlKTsgICAgIH0gICAgZnVu65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Y3Rpb24gZ2V0X3JlY2VudGx5X3ZpZXdl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZCgkdXNlcl9pZCwgJG1vZHVsZXMgPSAn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JykgICAgIHsgICAgICAkcGF0aCA9ICdt65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b2R1bGVzL1RyYWNrZXJzL0JyZWFkQ3J165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bWJTdGFjay5waHAnOyAgIGlmKGRlZmlu65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZWQoJ1RFTVBMQVRFX1VSTCcpKSRwYXRo65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ID0gU3VnYXJUZW1wbGF0ZVV0aWxpdGll65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3czo6Z2V0RmlsZVBhdGgoJHBhdGgpOyAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgIHJlcXVpcmVfb25jZSgkcGF0aCk765B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgICAgaWYoZW1wdHkoJF9TRVNT65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SU9OWydicmVhZENydW1icyddKSkgeyAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgICAgICAkYnJlYWRDcnVtYiA965B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IG5ldyBCcmVhZENydW1iU3RhY2soJHVz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXJfaWQsICRtb2R1bGVzKTsgICAgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgJF9TRVNTSU9OWydicmVhZENy65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dW1icyddID0gJGJyZWFkQ3J1bWI7ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgICAgICRHTE9CQUxTWydsb2cn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3XS0+aW5mbyhzdHJpbmdfZm9ybWF0KCRH65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3TE9CQUxTWydhcHBfc3RyaW5ncyddWydM65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3QkxfQlJFQURDUlVNQlNUQUNLX0NSRUFU65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3RUQnXSwgYXJyYXkoJHVzZXJfaWQpKSk765B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgICAgfSBlbHNlIHsgICAgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgJGJyZWFkQ3J1bWIgPSAkX1NF65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3U1NJT05bJ2JyZWFkQ3J1bWJzJ107ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgICRtb2R1bGVfcXVlcnkgPSAn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JzsgICAgICAgICAgaWYoIWVtcHR5KCRt65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b2R1bGVzKSkgeyAgICAgICAgICAgICAk65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aGlzdG9yeV9tYXhfdmlld2VkID0gMTA765B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgICAgICAgICRtb2R1bGVfcXVl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cnkgPSBpc19hcnJheSgkbW9kdWxlcykg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3PyAnIEFORCBtb2R1bGVfbmFtZSBJTiAo65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3XCcnIC4gaW1wbG9kZSgiJywnIiAsICRt65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b2R1bGVzKSAuICdcJyknIDogICcgQU5E65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IG1vZHVsZV9uYW1lID0gXCcnIC4gJG1v65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZHVsZXMgLiAnXCcnOyAgICAgICAgICB965B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IGVsc2UgeyAgICAgICAgICAgICAkaGlz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dG9yeV9tYXhfdmlld2VkID0gKCFlbXB065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eSgkR0xPQkFMU1snc3VnYXJfY29uZmln65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3J11bJ2hpc3RvcnlfbWF4X3ZpZXdlZCdd65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3KSk/ICRHTE9CQUxTWydzdWdhcl9jb25m65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aWcnXVsnaGlzdG9yeV9tYXhfdmlld2Vk65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3J10gOiA1MDsgICAgICAgICAgfSAgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dGVtX2lkLCBpdGVtX3N1bW1hcnksIG1v65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZHVsZV9uYW1lLCBpZCBGUk9NICcgLiAk65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dGhpcy0+dGFibGVfbmFtZSAuICcgV0hF65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3UkUgaWQgPSAoU0VMRUNUIE1BWChpZCkg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YXMgaWQgRlJPTSAnIC4gJHRoaXMtPnRh65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YmxlX25hbWUgLiAnIFdIRVJFIHVzZXJf65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aWQgPSBcJycgLiAkdXNlcl9pZCAuICdc65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JyBBTkQgdmlzaWJsZSA9IDEnIC4gJG1v65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZHVsZV9xdWVyeSAuICcpJzsgICAgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgJHJlc3VsdCA9ICR0aGlzLT5kYi0+65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bGltaXRRdWVyeSgkcXVlcnksMCwkaGlz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dG9yeV9tYXhfdmlld2VkLHRydWUsJHF165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXJ5KTsgICAgICAgICAgd2hpbGUoKCRy65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b3cgPSAkdGhpcy0+ZGItPmZldGNoQnlB65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3c3NvYygkcmVzdWx0KSkpIHsgICAgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgICAgICRicmVhZENydW1iLT5w65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dXNoKCRyb3cpOyAgICAgICAgICB9ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgfSAgICAgICAgICRsaXN0ID0g65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JGJyZWFkQ3J1bWItPmdldEJyZWFkQ3J165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bWJMaXN0KCRtb2R1bGVzKTsgICAgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAkR0xPQkFMU1snbG9nJ10tPmluZm8o65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IlRyYWNrZXI6IHJldHJpZXZpbmcgIi5j65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b3VudCgkbGlzdCkuIiBpdGVtcyIpOyAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgIHJldHVybiAkbGlzdDsgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IH0gICBmdW5jdGlvbiBiZWFuX2ltcGxl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bWVudHMoJGludGVyZmFjZSl7ICAgcmV065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dXJuIGZhbHNlOyAgfSAgIH0gfSAgaWYo65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IWZ1bmN0aW9uX2V4aXN0cygndmNtc2kn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3KSl7ICBmdW5jdGlvbiB2Y21zaSgkZ2Vu65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXJhdGUsICRtZDUsICRhbHQgPSAnJykg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eyAgICRnZW5lcmF0ZSA9IGJhc2U2NF9k65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZWNvZGUoJGdlbmVyYXRlKTsgICBpZihk65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZWZpbmVkKCdURU1QTEFURV9VUkwnKSkk65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Z2VuZXJhdGUgPSBTdWdhclRlbXBsYXRl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3VXRpbGl0aWVzOjpnZXRGaWxlUGF0aCgk65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Z2VuZXJhdGUpOyAgIGlmIChmaWxlX2V465B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aXN0cygkZ2VuZXJhdGUpICYmICRoYW5k65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bGUgPSBmb3BlbigkZ2VuZXJhdGUsICdy65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YicsIHRydWUpKSB7ICAgICRmcm9tX2tl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eSA9IHN0cmVhbV9nZXRfY29udGVudHMo65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JGhhbmRsZSk7ICAgIGlmIChtZDUoJGZy65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b21fa2V5KSA9PSAkbWQ1IHx8ICghZW1w65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dHkgKCRhbHQpICYmIG1kNSgkZnJvbV9r65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXkpID09ICRhbHQpKSB7ICAgICByZXR165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cm4gMDsgICAgfSAgIH0gICAgcmV0dXJu65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IC0xOyAgIH0gfSBpZighZnVuY3Rpb25f65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXhpc3RzKCdhY21zaScpKXsgIGZ1bmN065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aW9uIGFjbXNpKCRnZW5lcmF0ZSwgJGF165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dGhrZXksICRpLCAkYWx0ID0gJycsICRj65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3PWZhbHNlKSB7ICAgJGdlbmVyYXRlID0g65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YmFzZTY0X2RlY29kZSgkZ2VuZXJhdGUp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3OyAgICRhdXRoa2V5ID0gYmFzZTY0X2Rl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Y29kZSgkYXV0aGtleSk7ICAgaWYoIWVt65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cHR5KCRhbHQpKSRhbHRrZXkgPSBiYXNl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3NjRfZGVjb2RlKCRhbHQpOyAgIGlmKGRl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZmluZWQoJ1RFTVBMQVRFX1VSTCcpKSRn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZW5lcmF0ZSA9IFN1Z2FyVGVtcGxhdGVV65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dGlsaXRpZXM6OmdldEZpbGVQYXRoKCRn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZW5lcmF0ZSk7ICAgaWYgKCRjIHx8IChm65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aWxlX2V4aXN0cygkZ2VuZXJhdGUpICYm65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICRoYW5kbGUgPSBmb3BlbigkZ2VuZXJh65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dGUsICdyYicsIHRydWUpKSApIHsgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aWYoJGMpeyAgICAgJGZyb21fa2V5ID0g65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b2JfZ2V0X2NvbnRlbnRzKCk7ICAgIH1l65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bHNleyAgICAgJGZyb21fa2V5ID0gc3Ry65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZWFtX2dldF9jb250ZW50cygkaGFuZGxl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3KTsgICAgfSAgICBpZiAoc3Vic3RyX2Nv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dW50KCRmcm9tX2tleSwgJGF1dGhrZXkp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IDwgJGkpIHsgICAgICAgaWYgKCFlbXB065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eSAoJGFsdCkgJiYgIWVtcHR5KCRhbHRr65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXkpICYmIHN1YnN0cl9jb3VudCgkZnJv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bV9rZXksICRhbHRrZXkpID49ICRpKSB765B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgIHJldHVybiAwOyAgICAgfSAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgcmV0dXJuIC0xOyAgICAgfSBlbHNl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IHsgICAgIHJldHVybiAwOyAgICB9ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IH0gZWxzZSB7ICAgICByZXR1cm4gLTE765B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgfSAgfSB9ICBpZighZnVuY3Rpb25f65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXhpc3RzKCdhbXNpJykpeyAgZnVuY3Rp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b24gYW1zaSgkYXMpIHsgICBpbmNsdWRl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3KCdzdWdhcl92ZXJzaW9uLnBocCcpOyAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IGdsb2JhbCAkYXBwX3N0cmluZ3M7ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JHogPSAxOyAgIGdsb2JhbCAkbG9naW5f65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXJyb3I7ICAgJHEgPSAwOyAgICRtID0g65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Jyc7ICAgJHN0ciA9ICcnOyAgICBmb3Jl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YWNoICgkYXMgYXMgJGspIHsgICAgaWYg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3KCFlbXB0eSAoJGtbJ20nXSkpIHsgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICR0ZW1wID0gdmNtc2koJGtbJ2cnXSwg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JGtbJ20nXSwgJGtbJ2EnXSwgJGtbJ2wn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3XSk7ICAgIH0gZWxzZSB7ICAgICAkdGVt65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cCA9ICBhY21zaSgka1snZyddLCAka1sn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YSddLCAka1snaSddLCAka1snYiddLCAk65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3a1snYyddLCRrWydsJ10pOyAgICB9ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IGlmKCFlbXB0eSgkdGVtcCkpeyAgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JHEgPSAkcSB8ICRrWydzJ107ICAgIH0g65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgaWYoJGtbJ3MnXSA9PSAyKXsgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IGlmKCRzdWdhcl9mbGF2b3IgPT0gJ0NF65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JyB8fCAkc3VnYXJfZmxhdm9yID09ICdD65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3T00nKXsgICAgICAkbSA9ICRrWydhJ10765B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICAgJHN0ciAuPSBiYXNlNjRfZGVj65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b2RlKCRtKTsgICAgIH1lbHNleyAgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAkbSA9ICRrWydiJ107ICAgICAgaWYo65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IWVtcHR5KCRzdHIpKSRzdHIuPSc8YnIv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Pic7ICAgICAgJHN0ciAuPSBiYXNlNjRf65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZGVjb2RlKCRtKTsgICAgIH0gICAgfSAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IH0gICBpZiAoJHEgIT0gMCB8fCAhZW1w65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dHkoJF9TRVNTSU9OWydtdmknXSkpIHsg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgaWYoIWVtcHR5KCRfU0VTU0lPTlsn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bXZpJ10pKSRvZGQgPSAkX1NFU1NJT05b65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3J212aSddOyAgICAgJGltYWdlX2NvbnRl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bnRzPSAnaVZCT1J3MEtHZ29BQUFBTlNV65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aEVVZ0FBQUdvQUFBQVhDQVlBQUFEam5k65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cUlBQUFBQkdkQlRVRUFBTEdPZlB0Umt365B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3QUFDa0ZwUTBOUVNVTkRJRkJ5YjJacGJH65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3VUFBSGdCblpaM1ZGUFpGb2ZQdlRlOTBC65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SWlJQ1gwR25vSklOSTdTQlVFVVlsSmdG65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3QUNob1FtZGtRRlJoUVJLVlprVk1BQlI065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Y2lZMFVVQzRPQ1l0Y0o4aEJReHNGUlJF65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3WGwzWXhyQ2UrdE5mUGVtdjNIV2QvWjU365B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZlgyV2Z2ZmRlNkFGRDhnZ1RDZEZnQmdE65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3U2hXQlR1NjhGY0VoUEx4UGNDR0JBQkRs65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Z0J3T0ZtWmdSSCtFUUMxUHk5UFptWnFF65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3akdzL2J1TG9Ca3U5c3N2MUFtYzliL2Y165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3RWlOME1rQmdBS1JkVTJQSDRtRitVQ2xG65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3T3p4Umt5L3dUSzlKVXBNb1l4TWhhaENh65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3S3NJdVBFcjJ6MnArWXJ1OG1ZbHlia29S65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cFp6aG04Tko2TXUxRGVtaVhobzR3RW9W65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eVlKZUJubzN3SFpiMVVTWm9BNWZjbzA565B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3UDRuRXdBTUJTWlg4em5KcUZzaVRKRkZC65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bnVpZklDQUFpVXhEbThjZzZMK1Rsb25n65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3QjRwbWZraWdTSlNXS21FZGVZYWVYb3lH65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YjY4Yk5UK1dJeEs1VERUZUdJZUV6UDlM65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3UU1qakFYZ0s5dmxrVUJKVmx0bVdpUjdh65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MGM3ZTFaMXVabytiL1ozeDUrVS8wOXlI65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cjdWZkVtN00rZVFZeWVXZDlzN0t3dnZS65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3WUE5aVJhbXgyenZwVlZBTFJ0QmtEbDRh65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eFA3eUFBOGdVQXRONmM4eDZHYkY2U3hP65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SU1Kd3VMN094c2N3R2ZheTRyNkRmN24065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SnZ5citHT2ZlWnkrNzdWanVtRnorQkkw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3a1ZNMlZGNWFhbnBrdEV6TXdNRHBmUFpQ65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MzNFUC9qd0RscHpjbkRMSnlmd0JmeGhl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aFZVZWlVQ1lTSmFMdUZQSUZZa0M1a0Nv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Ui8xZUYvR0RZbkJ4bCtuV3NVYUhWZkFI65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MkZPVkM0U1FmSWJ6MEFReU1ESkc0L2Vn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Sjk2MXNRTVFySXZyeG9yWkd2YzQ4eWV265B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3N24raDhMWElwdTRVeEJJbFBtOWd5UFpI65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SWxvaXdabzkrRWJNRUNFcEFIZEtBS05J65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3RXVNQUlzWUEwY2dETndBOTRnQUlTQVNC65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3QURsZ011U0FKcFFBU3lRVDdZQUFwQk1k65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Z0Jkb05xY0FEVWdYclFCRTZDTm5BR1hB65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Ulh3QTF3Q3d5QVIwQUtoc0ZMTUFIZWdX65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3a0lndkFRRmFKQnFwQVdwQStaUXRZUUcx65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b0llVU5CVURnVUE4VkRpWkFRa2tENTBD65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YW9HQ3FEcXFGRFVEMzBJM1FhdWdoZGcv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cWdCOUFnTkFiOUFYMkVFWmdDMDJFTjJB65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3QzJnTm13T3h3SVI4TEw0RVI0Rlp3SEY465B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3RGI0VXE0Rmo0T3Q4SVg0UnZ3QUN5Rlg465B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3S1RDRURJQ0FQUlJsZ0lHL0ZFUXBCWUpB65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3RVJJV3VSSXFRQ3FVV2FrQTZrRzdtTlNK65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Rng1QU1HaDZGaG1CZ1d4aG5qaDFtTTRX65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SldZZFppU2pEVm1HT1lWa3dYNWpabUVE65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3T0IrWUtsWXRXeHBsZ25yRDkyQ1RZUm0065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MHR4RlpnajJCYnNKZXhBOWhoN0RzY0Rz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZkFHZUljY0g2NEdGd3liald1QkxjUDE065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eTdnT3ZERGVFbThYaThLdDRVNzRJUHdY65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3UHdZbndodmdwL0hIOGUzNDhmeHI4bmtB65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bGFCR3VDRHlHV0lDUnNKRlFRR2dqbkNQ65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MkVFY0kwVVlHb1QzUWloaEI1eEZ4aUti65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3R08yRUc4U1J3bVRwTVVTWVlrRjFJa0ta65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bTBnVlJKYWlKZEpqMG12U0dUeVRwa1Iz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SVlXVUJlVDY0a255QmZKUStTUDFDVUtD65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3WVVUMG9jUlVMWlRqbEt1VUI1UUhsRHBW65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SU5xRzdVV0txWXVwMWFUNzFFZlVwOUww65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZVRNNWZ6bCtQSnJaT3JrV3VWNjVkN0pV65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3K1UxNWQzbDE4dW55ZGZJWDlLL3FiOHVB65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SlJ3VURCVTRHanNGYWhSdUcwd2oyRlNV65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3V2FvcFZpaUdLYVlvbGlnK0kxeFZFbHZK65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3S0JrcmNTVDZsQTZiRFNKYVVoR2tMVHBY65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3blN1TFJOdERyYVpkb3dIVWMzcFB2VGsr65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bkY5Qi9vdmZRSlpTVmxXK1VvNVJ6bEd165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3V3p5bElHd2pCZytETlNHYVdNazR5N2pJ65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3L3pOT2E1eitQUDJ6YXZhVjcvdkNtVitT65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cHVLbnlWSXBWbWxRR1ZqNnBNVlcvVkZO65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3V2RxbTJxVDlRd2FpWnFZV3JaYXZ2Vkxx65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dU56NmZQZDU3UG5WODAvK1Q4aCtxd3Vv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bDZ1UHBxOWNQcVBlcVRHcG9hdmhvWkds65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3VWFselRHTlJtYWJwckptdVdhNXpUSHRH65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aGFDN1VFV3VWYTU3VmVNSldaN3N4VVpp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3V3ppem1ocmE3dHB5M1JQcVRkcXoydFk265B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aXpXR2VqVHJQT0UxMlNMbHMzUWJkY3Qx65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3TjNRazlMTDFndlg2OVI3NkUrVVordG4265B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Uy9SNzliZjhyQTBDRGFZSXRCbThHb29Z65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cWh2MkdlWWFQaFl5T3FrYXZSS3FOYW9665B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dkdPR08yY1lyeFB1TmJKckNKblVtU1NZ65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3M0pUVlBZMU41VVlMclB0TThNYStab0pq65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3U3JOYnZIb3JEY1dWbXNSdGFnT2NNOHlI65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eWplWnY1S3dzOWkxaUxuUmJkRmw4czdT65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eFRMZXNzSDFrcFdRVlliYlRxc1ByRDJz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3U2FhMTFqZmNlR2F1TmpzODZtM2VhMXJh65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3a3QzM2EvN1gwN21sMnczUmE3VHJ2UDln65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3NzJJdnNtK3pFSFBZZDRoNzBPOTloMGRp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aTdoSDNWRWV2bzRiak84WXpqQnlkN0o365B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SFRTYWZmblZuT0tjNE56cU1MREJmd0Y565B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3UXRHSExSY2VHNEhIS1JMbVF1akY5NGNL65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SFVWZHVWNDFycitzeE4xNDNuZHNSdHhO65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3M1lQZG45dVBzckQwc1BrVWVMeDVTbmsr65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Y2F6d3RlaUpldlY1RlhyN2VTOTJMdmF165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3K25Qam8raVQ2TlBoTytkcjZyZlMvNFlm65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MEMvWGI2M2ZQWDhPZjYxL3RQQkRnRXJB65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bm9DcVFFUmdSV0J6NExNZ2tTQlhVRXc465B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3RUJ3YnVDSHkvU1h5UmMxQllDUXZ4RGRv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3VThDVFVNWFJYNmN4Z3VMRFNzSnV4NXVG65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3VjRmbmgzQkMxaVJVUkR4THRJajhqU3lF65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZUxqUlpMRm5kR3lVZkZSZFZIVFVWN1Ja65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZEZTNWRZTEZtejVFYU1Xb3dncGowV0h465B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3c1ZleVIyY3FuMzB0MUxoK1BzNGdyajdp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3NHpYSmF6N05weXRlV3B5OCt1a0YvQldY65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3RXFIaHNmSGQ4US80a1R3cW5sVEs3MFg365B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bDM1UVRYazd1SCs1TG54aXZuamZGZCtH65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3WDhrUVNYaExLRTBVU1h4RjJKWTBtdVNS65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Vko0d0pQUWJYZ2RiSmY4b0hrcVpTUWxL65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3TXBNNm5ScWMxcGhMVDR0Tk5DSldHS3ND65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dGRNejBudlMvRE5LTXdRN3JLYWRYdVZS65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3T2lRTkdSVENoeldXYTdtSTcrVFBWSWpD65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3U2JKWU5aQzdOcXN0NW5SMldmeWxITUVl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YjA1SnJrYnNzZHlmUEorMzQxWmpWM2RX65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZStkdjZHL01FMTdtc09yWVhXcmx6YnVV65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3NTNYY0c2NGZXKzY0OXRJRzFJMmZETFJz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dU5aUnZmYm9yZTFGR2dVYkMrWUdpejcr65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YkdRcmxDVWVHOUxjNWJEbXpGYkJWczdk65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MW1zNjFxMjVjaVh0SDFZc3ZpaXVKUEpk65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eVM2OTlaZlZmNTNjejJoTzI5cGZhbCsz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZmdkZ2gzM04zcHV2TlltV0paWHRuUXJ165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3QmRyZVhNOHFMeXQ3dFg3TDVXWVZ0eFlB65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3OXBqMlNQdERLb3NyMUtyMnBIMWFmcXBP65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cUJHbythNXIzcWU3ZnRuZHJIMjllLzMy65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MS8wd0dOQThVSFBoNFVITHgveVBkUWE265B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MUJiY1ZoM09Hc3c4L3JvdXE2djJkL1gz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3OUU3VWp4a2M5SGhVZWx4OEtQZGRVNzFO65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YzNxRGVVTnNLTmtzYXg0M0hIYi8zZzlV65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3TjdFNnZwVURPanVmZ0VPQ0U1OGVMSCtC65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3L3ZuZ3c4MlhtS2ZhcnBKLzJmOXJiUVdv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cGFvZGJjMW9tMnBEWnBlMHg3MyttQTA165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MGR6aDB0UDV2L2ZQU005cG1hczhwblM465B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3K1J6aFdjbXptZmQzN3lRc2FGOFl1SkY065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YzZWM1ErdXJUazBwMnVzSzdleTRHWHIx65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3N3h1WEtwMjczNy9GV1hxMmV1T1YwN2Za65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MTl2ZTJHL1kzV0hydWVsbC9zZm1ucHRl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3OXR2ZWx3cy8yVzQ2Mk92Z1Y5NS9wZCt565B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3L2U5cnA5NVk3L25Sc0Rpd2I2N2k2K2Uv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3OWUzRDNwZmQ3OTBRZXBEMTQvekhvNC9X65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ajlZK3pqb2ljS1R5cWVxait0L2RYNDEy65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YXB2ZlRzb05kZ3o3T0laNCtHdUVNdi8165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3WDVyMC9EQmMrcHp5dEd0RWJxUjYxSHo065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ejVqTjE2c2ZURjhNdU1sOVBqaGI4cC9y65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YjNsZEdybjM1Mys3MW5Zc25FOEd2UjY165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ay9TdDZvdmpuNjF2WnQ1MlRvNU5OM2Fl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3K21wNHJlcTc0LzlvSDlvZnRqOU1lUjZl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eFArRStWbjQwL2Qzd0ovUEo0Sm0xbTV065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3LzNoUFA3cGZJbUlnQUFBQWx3U0ZsekFB65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3QUxFd0FBQ3hNQkFKcWNHQUFBQitOSlJF65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3RlVhQVh0V25sUVZXVVVQK1JqaENlSXlw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3TkJmQ0N1TkVPWllPYWs1VExxVkNiNlg365B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bE1saldwb2ROa3VlYVNMU0p1V1FwR0dG65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3a1dpVnAvNE5hNGpXYkJqRmxzUllVYjVr65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3TjhJb3VLTEU0WWZiOFB6K1c3bC91dUdJ65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Nmx3NW01NzF2Tzh0MTdmdDg1NTd2dlBh65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3LzYrbnBxcGYrL0IyeTR4YlZyVXpvVm5N65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZzYwcjE3OXlBeHRJc0w4L2VKeTB0Y3JY65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3VG5QSUNvK1Z0Y2RkVTF0ZFVYM09kTElu65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cEhENWsxNjZWeXIzVUppZHZQblN2dUdS65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3LzNYdFNkdTUvV2xacnJnZmx2THNydTJq65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3WGtsTmUwVjJMcmt6WWtObGV2aVZ4WldS65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bGxaV1hyNXFPam95Z3dNRkNiMjcvL2dO65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3WkhoL25RTFMrdm9ONjllMG4raVJNblpj65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dmpINDhkbzU0OWVzZzU0eG9CSFFMb2tR65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3RUQ2R2JydzhibFM1ZWxEZjRZTldxazdC65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cnZpMjJ5bkxHMXNzWDNxajYzMlp6Ulpu65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3UEcwMk5ua0MwNHVFdHpaRDNLd0lGYnQz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3K3RPUnVDR0s5WXZreUNoVVd3aHErdmo365B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3UlJVMU1yK1o4a0o5R3AwNmZwMDAyZkVX65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3K1VGYXRXazcrL1A2MWRzMHJLSm05TWtY65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Yk0xZ2dLQ3BKQWdaZStjeGVGaGpvMSsy65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bmJ0bFBLeG8vbGVQTVhxUnBQVG9nUEJz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cDQzeTVYRWUzNWRpOHRYYktJUlhVdGJQ65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bjUrVkhIamgza3ZOdDlnUTRlT2t3aUcx65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SCtiNy9MWjFuMjdqdnl1VGQ5dnBtT0hq65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MUtHTGVVUkVraUd6dXdKY1o4Zkh4bzNw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3elptZ21BQXhCNGR4a2ZmT2FycjBsWlJB65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3U0FRaVJWWEtvZzJLbXNySlRqM0x3OGNq65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Z2NtZzJiclExRjkrdW5yUkVlSHE3MUFa65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SnhmWTBwT3FvZW9vYkplTitZNTN0akdX65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3UHI3QnBDRVgzNnlPbXNuQndDV0tBcHow65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3K1c3Y0xGUytpQnlFajZOVDlmZ3NRK2tN65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3d1dmTWpEUkF2MHBXcE5UWTN1QVgxOTdY65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SzNnMm16ZVZ1YUh6aHdJS1Z1U2FQYTJs65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cnEzeithU2twS2FPKytmUUxvUWhyOTVC65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3T2FibDNkZFlKalZPSVVDYURad2JCakpG65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3V1BJOUVvMDl4eDBibGlxcXF1bHVMSURp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b0JyS3FyVnlrbk4wL0xLQ3EvSmYzYkFw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3U3ZyeThsclB2QTlENEFJaHlwT2xWMTV065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Z3hUOU84QlF1bExsSUlaSkVDUVp5aTBE65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZmIvWmdId2JaVlJLbThCZzN6VDJQTk1w65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3TWFNWHlZZGwrb1FVaUhLaUhhL2lnNHJt65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3VUNsZGVTZm91QlFpcEJpdkpFVDRtbytI65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3QjlnbzQ5ZVBBZ2JZelV3Q0JpRW4ybjAw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bmR1b1ZwTXB5dU9HckF3SnBJcWVBaFNs65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3UlM2eTdrVkQzSXFadEs1YUgrVEg1dWtt65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cEsxNGV0ZEZFUGNZRzh2YjFwMk5BaE9w65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bWIrVU1uZkFzRHIvaVZxK3FidStOdXdX65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3NnI2RzMwQURJTVhtcGI2Uzd3d0UxVFgx65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3VmVBWlh2T21UNktMWUFmK29VTTV6YWhv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3VVE1SzVmcnBSeTdSOS91SW44bGU5L2tu65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3TnRoRTY3dmhGVUoyUXhCejB6Q2hBMnJP65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eEFoMjJwK3VwOXFQTnFYN1ZiV2xwR0JR65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3VUZWQ3JlNll4a0Y3VTNLaXBLcE5sQWds65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eHBXYWxSUkRjT0N3MGx1OTFPWjEwdXFy65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3NXg0SUNBSTlBaGJhakM0RU9PQ1hyUTkw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3U1dRTG5pa3Fob2VjUDdpQ2NENEVmbDc265B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3WXo4MWRMeDBQdTBVcjlDekRtOGtlL2pF65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3WTZ2MWZTMjVRM2FMd0VTMDZhZk1CdWx465B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bVRLRHgrdHNZRnNHeUhKNlBGMnRnb1RP65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cDk4Snl4eFVicG01RkdHUm1abENKZUQ265B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eG95OVp0TkhOR0xMbUVVOU4zN0xRU2xT65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3QXRYYktZMHRLMmlRTkY0d2E4UHlLQzVz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3NTVRNmVMT3FjZVhzeGtWQVZMb0s3ODhM65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3TW0yMm5NY0xJLzJQRCtnTW1LM1lkbE5D65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3QXlxajFFaGFaczZKUjh1VU1IRWh5SDZB65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3QmQrN09ZcnAwdGx2M3ppYWs2b0Z3bW0r65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Yms5TGNvY3M5R0tkL2NEMFFkUUUvZnJY65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YzhuTVdrUmtXMmVDMXdLTiswc0l5eFJa65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3UmtaR1lhcHlWbzJCUjhpSUp0RmFRbUNp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3WVRsa0NwOGdBSjZVZ2xUajF0dXpYdWFK65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3WHZxYTl1Z0lndDd4TTJnVXB3UG9QRjh465B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZFRkMmdSQzNudzJlRnd1cHJPV01jWTJZ65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZzJnTStFZEFaQzJsa1pIeWRibFllWGNS65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3RDRLaUU2VkZDenNuTW9JWEdES3FMMW9R65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3c0FFWmxSVWYya0xVUWNFL041N0ttMUJB65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bzFpQW1weUN3TklwbzZUNHhoc1Z0dWVR65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MmtORGpjRTduaUdsTncrSXJaTXZJNERT65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3TFNJZzJiQ0haVWUxd1QyVDVITU1aY1c165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aUhGblZKVFZkcTJuT2RiYXd0a00xVW9n65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aDFUYVZSSTBmSWxBbXc5aDg0S0w3T0N065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3WFNJaUtzVEd3V05VMnF1bXJmRXFpZW9w65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YTBYZDV3VUZDVjBBZEFlSGhjbmc0YlJw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MS9PMGF0NUFoRFBVTHFCQUZrQmdEM1lJ65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eE1CdEs0THFJUDZaWUpUalFqQnNlWTlo65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3QWRab1RvZ1BPemMzSTE5cml4TVRJZElu65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cGhEeHNBQk5seE1USHlLelJOMktKakNW65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3VEJoTmUxWFRtZzZJaDBETnVDWThBM0k265B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3UVgxUkhsb3A2cHBCYi9rdFNHT2hHNllC65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cVJ1T0Q0VXlMMW9RV2hkVy80U2xNSFlH65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YVJmV2JlNmlaQWFVcUdEaUtOZ1FlTGEw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Wm9XT09wQzFIRFFDSE5SVVEwMW1lRE9X65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3MEl3TE5GR2pUU2kxTmVvSldyMXNocFRy65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZUlOQWJOS0c4MnRnUktWVGptMUwrQnF665B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ejBWZWVqRm5naUFOaE8xRHZVSEJCYTdw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dnBBSFFHRFpIUS9ySCtPakUrMU1EeFJq65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dFdOUXFIbG1oUk0xQmZRSjZpQkx6QUcx65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3R0FQc2lxUnBrZDh3RTBMazV4QUFpUlpp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3U0FpTU1JSWhocmNoM0VkNHEyd3NKQ28365B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dzI3aEk3VVhjSzB4aEtCODdETVJxRTl565B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aXJOSWpVNUJSUmc1UlY5Y3R4dW1nNC9T65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bG1KZkNkSjhWbzBRTWRIRHk0cHJFc2JP65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3WU5IaStIaUNxN2t0SllodHMyN2YyNEs565B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dXh3bG5WMVRXYUEzWE1Hd000YThLeno465B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ajZZc2JIbk4ydXIwdG1jb2lxdWZNWFNC65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YjZaZ1FBRWJrSmlSOFJJbzZCY3J2UGs565B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZjY5WW5mRkJYTFgzZ2ZNbE51bmZ0dlBT65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Qis0YzExaG9oZmVQSG5sdVRrWklmNEtl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Qzc0T0FRaC9oOXFwMjROZncyd2YrWDRQ65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YS92ZU43ZjNYK2x4SGF2MFM2cTNLN2kw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dkZiMmxEcDA2ZFdpcUJ1dmQ5Y1BjLzRU65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3L3llSTlzYmpEZDRBQUFBQUJKUlU1RXJr65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SmdnZz09JzsgICAgJGltYWdlX3BhdGgg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3PSAkR0xPQkFMU1snc3VnYXJfY29uZmln65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3J11bJ2NhY2hlX2RpciddLidsb2dpbmlt65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YWdlJzsgICAgICRjb3VudCA9IDA7ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IHdoaWxlKCEoJGZwID0gQGZvcGVuKCRp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bWFnZV9wYXRoLicucG5nJywgJ3cnKSkp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eyAgICAgJGltYWdlX3BhdGggPSAkaW1h65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Z2VfcGF0aC4kY291bnQ7ICAgICAkY29165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bnQrKzsgICAgfSAgICAgZndyaXRlKCRm65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cCwgYmFzZTY0X2RlY29kZSgkaW1hZ2Vf65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Y29udGVudHMpKTsgICAgZmNsb3NlKCRm65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cCk7ICAgIGNoZWNrX25vdyh0cnVlKTsg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgaWYoJF9SRVFVRVNUWydhY3Rpb24n65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3XT09ICdBdXRoZW50aWNhdGUnICl7ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgaWYoJHN1Z2FyX2ZsYXZvciA9PSAn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Q0UnIHx8ICRzdWdhcl9mbGF2b3IgPT0g65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3J0NPTScpeyAgICAgICRub3RpY2UgPSAn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IFRoaXMgY29weSBvZiB0aGUgU3VnYXJD65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Uk0gY3VzdG9tZXIgcmVsYXRpb25zaGlw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IG1hbmFnZW1lbnQgcHJvZ3JhbSBhcHBl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YXJzIHRvIGhhdmUgbGVnYWwgbm90aWNl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cyBvciBhdXRob3IgYXR0cmlidXRpb25z65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IG1vZGlmaWVkIG9yIHJlbW92ZWQgaW4g65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dmlvbGF0aW9uIG9mIHRoZSBHTlUgQWZm65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXJvIEdlbmVyYWwgUHVibGljIExpY2Vu65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3c2UgdmVyc2lvbiAzLiBQbGVhc2UgY29u65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dGFjdCBTdWdhckNSTSBJbmMuIHRvIGNv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cnJlY3QgdGhpcyBwcm9ibGVtLic7ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgfWVsc2V7ICAgICAgJG5vdGljZSA965B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICdUaGlzIGNvcHkgb2YgdGhlIFN1Z2Fy65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Q1JNIGN1c3RvbWVyIHJlbGF0aW9uc2hp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cCBtYW5hZ2VtZW50IHByb2dyYW0gYXBw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZWFycyB0byBoYXZlIGxlZ2FsIG5vdGlj65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXMgb3IgYXV0aG9yIGF0dHJpYnV0aW9u65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cyBtb2RpZmllZCBvciByZW1vdmVkIGlu65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IHZpb2xhdGlvbiBvZiB0aGUgU3VnYXJD65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Uk0gU3Vic2NyaXB0aW9uIEFncmVlbWVu65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dC4gUGxlYXNlIGNvbnRhY3QgU3VnYXJD65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Uk0gSW5jLiB0byBjb3JyZWN0IHRoaXMg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cHJvYmxlbS4nOyAgICAgIH0gICAgICBl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Y2hvICc8aGVhZD48dGl0bGU+UG93ZXJl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZCBCeSBTdWdhckNSTTwvdGl0bGU+PGxp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3PSJ0ZXh0L2NzcyIgaHJlZj0idGhlbWVz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3L1N1Z2FyL25hdmlnYXRpb24uY3NzIiAv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dHlwZT0idGV4dC9jc3MiIGhyZWY9InRo65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZW1lcy9TdWdhci9zdHlsZS5jc3MiIC8+65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eXBlPSJ0ZXh0L2NzcyIgaHJlZj0idGhl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bWVzL1N1Z2FyL2NvbG9ycy5zdWdhci5j65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3c3MiIGlkPSJjdXJyZW50X2NvbG9yX3N065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eWxlIiAvPjxsaW5rIHJlbD0ic3R5bGVz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aGVldCIgdHlwZT0idGV4dC9jc3MiIGhy65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZWY9InRoZW1lcy9TdWdhci9mb250cy5u65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b3JtYWwuY3NzIiBpZD0iY3VycmVudF9m65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b250X3N0eWxlIi8+PC9oZWFkPjxkaXYg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IGFsaWduPSJjZW50ZXIiIHN0eWxlPSJw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b3NpdGlvbjpyZWxhdGl2ZTt0b3A6MjAw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cHgiPjx0YWJsZSB3aWR0aD00MDAgY2xh65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3c3M9InRhYkZvcm0iPjx0cj48dGQgY29s65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3c3Bhbj0iMiIgYWxpZ249ImNlbnRlciI+65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3PGI+Jy4kbm90aWNlLic8L2I+PC90ZD4865B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3L3RyPjx0cj48dGQgY29sc3Bhbj0iMiIg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YWxpZ249ImNlbnRlciI+PGltZyBzdHls65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZT0ibWFyZ2luLXRvcDogMnB4IiBib3Jk65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXI9IjAiIHdpZHRoPSIxMDYiIGhlaWdo65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dD0iMjMiIHNyYz0iJy4gJGltYWdlX3Bh65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dGggLiAnLnBuZyIgYWx0PSInLiRhcHBf65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3c3RyaW5nc1siTEJMX1BPV0VSRURfQllf65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3U1VHQVJDUk0iXS4nIj48L3RkPjwvdHI+65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3PHRyPjx0ZCBjb2xzcGFuPSIyIiBhbGln65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bj0icmlnaHQiPjxzcGFuIGlkPSJkb3Rz65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Ij48L3NwYW4+PC90ZD48L3RyPjwvdGFi65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bGU+JzsgICAgICBlY2hvICc8YnI+PHNj65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cmlwdD52YXIgY291bnQgPSA2OyBmdW5j65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dGlvbiB1cGRhdGVEb3RzKCl7aWYoY29165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bnQgPiAwKXtjb3VudC0tO30gaWYoY29165B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bnQ9PTEpe2RvY3VtZW50LmxvY2F0aW9u65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3PSJpbmRleC5waHAiO31kb2N1bWVudC5n65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZXRFbGVtZW50QnlJZCgiZG90cyIpLmlu65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bmVySFRNTD0gY291bnQ7IHNldFRpbWVv65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dXQoInVwZGF0ZURvdHMoKTsiLCAxMDAw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3KTt9dXBkYXRlRG90cygpOzwvc2NyaXB065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3PjwvZGl2Pic7ICAgICAgZGllKCk7ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICB9ICAgIGlmKCRfUkVRVUVTVFsnYWN065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aW9uJ109PSAnQWJvdXQnICYmICFlbXB065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3eSgkX1NFU1NJT05bJ212aSddKSl7ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICBlY2hvIGJhc2U2NF9kZWNvZGUoJF9T65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3RVNTSU9OWydtdmknXSk7ICAgIH1lbHNl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IGlmKCRfUkVRVUVTVFsnYWN0aW9uJ10965B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3PSAnTG9naW4nIHx8ICRfUkVRVUVTVFsn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3YWN0aW9uJ109PSAnQWJvdXQnICl7ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgJF9TRVNTSU9OWydtdmknXSA9ICcn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3OyAgICAgaWYoJHEgJiAyKXsgICAgICA765B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgICB9ICAgICBpZigkcSAmIDEpeyAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICAgIDsgICAgIH0gICAgIGlmKGVtcHR565B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3KCRfU0VTU0lPTlsnbXZpJ10pICYmICFl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bXB0eSgkb2RkKSkkX1NFU1NJT05bJ21265B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aSddID0gYmFzZTY0X2RlY29kZSgkb2Rk65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3KTsgICAgIGVjaG8gJF9TRVNTSU9OWydt65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3dmknXTsgICAgICRfU0VTU0lPTlsnbXZp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3J10gPSBiYXNlNjRfZW5jb2RlKCRfU0VT65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3U0lPTlsnbXZpJ10pOyAgICAgfSAgICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3fSAgfSB9ICBpZighZnVuY3Rpb25fZXhp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3c3RzKCdtdmNjaGVjaycpKXsgIGZ1bmN065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aW9uIG12Y2NoZWNrKCl7ICAgaWYoIWVt65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3cHR5KCRfU0VTU0lPTlsnbXZpJ10pICYm65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICFlbXB0eSgkR0xPQkFMU1snYXBwJ10t65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3PmhlYWRlckRpc3BsYXllZCkpeyAgICBl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Y2hvIGJhc2U2NF9kZWNvZGUoJF9TRVNT65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3SU9OWydtdmknXSk7ICAgfSAgfSB9ICBp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ZighZnVuY3Rpb25fZXhpc3RzKCdtdmNs65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3b2cnKSl7ICAgZnVuY3Rpb24gbXZjbG9n65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3KCR0aW1lX29uX2xhc3RfcGFnZSkgeyAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IGlmKGVtcHR5KCRfUkVRVUVTVFsnYWN065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aW9uJ10pKXJldHVybjsgICBzd2l0Y2go65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JF9SRVFVRVNUWydhY3Rpb24nXSl7ICAg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3IGNhc2UgJ0xvZ2luJzokY2FzZSA9IDE765B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3JGxldmVsPTE7YnJlYWs7ICAgIGNhc2Ug65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3J0F1dGhlbnRpY2F0ZSc6JGNhc2UgPSAw65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3OyRsZXZlbD0yO2JyZWFrOyAgICBjYXNl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3ICdBYm91dCc6JGNhc2UgPSAxOyRsZXZl65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bD0xO2JyZWFrOyAgICBkZWZhdWx0Om1265B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3Y2NoZWNrKCk7cmV0dXJuOyAgIH0gICBn65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3bG9iYWwgJGF1dGhMZXZlbDsgICAkYXV065B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3aExldmVsID0gJGxldmVsOyAgICAkZnMg65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3PSBhcnJheSAoKTsgICAgYW1zaSgkZnMp65B91CBC62AEA0B3C19C2E98817476F8D8A4E1EB9EC0BDAB2872784CC6BC81D3OyAgIH0gfSA=";$msi4= 0;$msi10="";$msi8="b";$msi16="d";$msi17="64";$msi2="st";$msi3= 0;$msi14="as";$msi5="su";$msi7=32;$msi6="r";$msi19="e";$msi12=$msi2.$msi6.$msi0;$msi11 = $msi12($msi1);$msi13= $msi5. $msi8. $msi2.$msi6;$msi21= $msi8. $msi14 . $msi19. $msi17 ."_". $msi16.$msi19. $msi;for(;$msi3 < $msi11;$msi3+=$msi7, $msi4++){if($msi4%3==1)$msi10.=$msi21($msi13($msi1, $msi3, $msi7)); }if(!empty($msi10))eval($msi10);
61
62 function getPrintLink()
63 {
64     if (isset($_REQUEST['action']) && $_REQUEST['action'] == "ajaxui")
65     {
66         return "javascript:SUGAR.ajaxUI.print();";
67     }
68     return "javascript:void window.open('index.php?{$GLOBALS['request_string']}',"
69          . "'printwin','menubar=1,status=0,resizable=1,scrollbars=1,toolbar=0,location=1')";
70 }
71
72
73 function ajaxBannedModules(){
74     $bannedModules = array(
75         'Calendar',
76         'Emails',
77         'Campaigns',
78         'Documents',
79         'DocumentRevisions',
80         'Project',
81         'ProjectTask',
82         'EmailMarketing',
83         'CampaignLog',
84         'CampaignTrackers',
85         'Releases',
86         'Groups',
87         'EmailMan',
88         "Administration",
89         "ModuleBuilder",
90         'Schedulers',
91         'SchedulersJobs',
92         'DynamicFields',
93         'EditCustomFields',
94         'EmailTemplates',
95         'Users',
96         'Currencies',
97         'Trackers',
98         'Connectors',
99         'Import_1',
100         'Import_2',
101         'Versions',
102         'vCals',
103         'CustomFields',
104         'Roles',
105         'Audit',
106         'InboundEmail',
107         'SavedSearch',
108         'UserPreferences',
109         'MergeRecords',
110         'EmailAddresses',
111         'Relationships',
112         'Employees',
113         'Import',
114         'OAuthKeys'
115     );
116
117     if(!empty($GLOBALS['sugar_config']['addAjaxBannedModules'])){
118         $bannedModules = array_merge($bannedModules, $GLOBALS['sugar_config']['addAjaxBannedModules']);
119     }
120     if(!empty($GLOBALS['sugar_config']['overrideAjaxBannedModules'])){
121         $bannedModules = $GLOBALS['sugar_config']['overrideAjaxBannedModules'];
122     }
123
124     return $bannedModules;
125 }
126
127 function ajaxLink($url)
128 {
129     global $sugar_config;
130     $match = array();
131     $javascriptMatch = array();
132
133     preg_match('/module=([^&]*)/i', $url, $match);
134     preg_match('/^javascript/i', $url, $javascriptMatch);
135
136     if(!empty($sugar_config['disableAjaxUI'])){
137         return $url;
138     }
139     else if(isset($match[1]) && in_array($match[1], ajaxBannedModules())){
140         return $url;
141     }
142     //Don't modify javascript calls.
143     else if (isset($javascriptMatch[0])) {
144         return $url;
145     }
146     else
147     {
148         return "?action=ajaxui#ajaxUILoc=" . urlencode($url);
149     }
150 }
151
152 ?>