diff --git a/account.php b/account.php
index 947a4c36f3aa62d83d7fb15447f9c5aecf9967df..18231ab48938671748b561d05611239e27fe86f5 100644
--- a/account.php
+++ b/account.php
@@ -77,6 +77,10 @@ elseif ($_POST) {
             '</strong></a>'));
         $errors['err'] = __('Unable to register account. See messages below');
     }
+    elseif (!$addr)
+        $errors['email'] = sprintf(__('%s is a required field'), $user_form->getField('email')->getLocal('label'));
+    elseif (!$user_form->getField('name')->getClean())
+        $errors['name'] = sprintf(__('%s is a required field'), $user_form->getField('name')->getLocal('label'));
     // Users created from ClientCreateRequest
     elseif (isset($_POST['backend']) && !($user = User::fromVars($user_form->getClean())))
         $errors['err'] = __('Unable to create local account. See messages below');
diff --git a/assets/default/css/theme.css b/assets/default/css/theme.css
index 7e7027a2160ba4476087169fc39cb2b859a769cd..f27deeaed27a94a465ba971d79dbf9c33ab540b4 100644
--- a/assets/default/css/theme.css
+++ b/assets/default/css/theme.css
@@ -113,7 +113,7 @@ fieldset {
 a, .link {
   color: #0072bc;
   text-decoration: none;
-  display: inline-block;
+  display: inline;
   margin-bottom: 1px;
 }
 a:hover, .link:hover {
diff --git a/images/oscar-favicon-16x16.png b/images/oscar-favicon-16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..fdc1453af7907bd09bcee34a260f6f782550ebb2
Binary files /dev/null and b/images/oscar-favicon-16x16.png differ
diff --git a/images/oscar-favicon-32x32.png b/images/oscar-favicon-32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..0a13dfa70bb57865a9916587addc01beedc677dc
Binary files /dev/null and b/images/oscar-favicon-32x32.png differ
diff --git a/include/ajax.forms.php b/include/ajax.forms.php
index 70c57e15bf233c11099eca2350633565141be953..41506c872f076bcc66d8582e1ef38bb4a462e4c0 100644
--- a/include/ajax.forms.php
+++ b/include/ajax.forms.php
@@ -381,9 +381,15 @@ class DynamicFormsAjaxAPI extends AjaxController {
     }
 
     function attach() {
+        global $thisstaff;
+
+        $config = DynamicFormField::objects()
+            ->filter(array('type__contains'=>'thread'))
+            ->first()->getConfiguration();
         $field = new FileUploadField();
+        $field->_config = $config;
         return JsonDataEncoder::encode(
-            array('id'=>$field->ajaxUpload())
+            array('id'=>$field->ajaxUpload($thisstaff ? true : false))
         );
     }
 
diff --git a/include/ajax.orgs.php b/include/ajax.orgs.php
index ccdd3597cd1ce52a0a84c1cef46471b23318077c..9c2a2b207c11ba72e8b6c7fa259670d0b4b6a0d7 100644
--- a/include/ajax.orgs.php
+++ b/include/ajax.orgs.php
@@ -32,7 +32,7 @@ class OrgsAjaxAPI extends AjaxController {
         $q = $_REQUEST['q'];
         $limit = isset($_REQUEST['limit']) ? (int) $_REQUEST['limit']:25;
 
-        if (strlen($q) < 3)
+        if (strlen(Format::searchable($q)) < 3)
             return $this->encode(array());
 
         $orgs = Organization::objects()
diff --git a/include/ajax.tickets.php b/include/ajax.tickets.php
index c27914de5f49b603284a60d2604409c0291e0e27..aa98426b03fde1e2687f587f17a1e024ecb0b388 100644
--- a/include/ajax.tickets.php
+++ b/include/ajax.tickets.php
@@ -53,7 +53,7 @@ class TicketsAjaxAPI extends AjaxController {
 
         $q = $_REQUEST['q'];
 
-        if (strlen($q) < 3)
+        if (strlen(Format::searchable($q)) < 3)
             return $this->encode(array());
 
         global $ost;
diff --git a/include/ajax.users.php b/include/ajax.users.php
index 07fc02f7917db0501cd0b949face1bd3042ddfc2..d42349924e89430df12309c7159b1c7eba839fa6 100644
--- a/include/ajax.users.php
+++ b/include/ajax.users.php
@@ -39,7 +39,7 @@ class UsersAjaxAPI extends AjaxController {
         $emails=array();
         $matches = array();
 
-        if (strlen($q) < 3)
+        if (strlen(Format::searchable($q)) < 3)
             return $this->encode(array());
 
         if (!$type || !strcasecmp($type, 'remote')) {
@@ -85,7 +85,6 @@ class UsersAjaxAPI extends AjaxController {
             if ($emails = array_filter($emails)) {
                 $users->union(User::objects()
                     ->values_flat('id', 'name', 'default_email__address')
-                    ->annotate(array('__relevance__' => new SqlCode(1)))
                     ->filter(array(
                         'emails__address__in' => $emails
                 )));
diff --git a/include/class.auth.php b/include/class.auth.php
index 1dc5a9ccf8f05172bd081929dfcb4d50c4104fa8..d984cb3cb1296051bf0cf4bbe9190984017ca70a 100644
--- a/include/class.auth.php
+++ b/include/class.auth.php
@@ -887,8 +887,9 @@ class StaffAuthStrikeBackend extends  AuthStrikeBackend {
                    ._S('Time').": ".date('M j, Y, g:i a T')."\n\n"
                    ._S('Attempts').": {$authsession['strikes']}\n"
                    ._S('Timeout').": ".sprintf(_N('%d minute', '%d minutes', $timeout), $timeout)."\n\n";
+            $admin_alert = ($cfg->alertONLoginError() == 1) ? TRUE : FALSE;
             $ost->logWarning(sprintf(_S('Excessive login attempts (%s)'),$username),
-                    $alert, $cfg->alertONLoginError());
+                    $alert, $admin_alert);
             return new AccessDenied(__('Forgot your login info? Contact Admin.'));
         //Log every other third failed login attempt as a warning.
         } elseif($authsession['strikes']%3==0) {
@@ -947,14 +948,15 @@ class UserAuthStrikeBackend extends  AuthStrikeBackend {
                     _S('IP').": {$_SERVER['REMOTE_ADDR']}\n".
                     _S('Time').": ".date('M j, Y, g:i a T')."\n\n".
                     _S('Attempts').": {$authsession['strikes']}";
-            $ost->logError(_S('Excessive login attempts (user)'), $alert, ($cfg->alertONLoginError()));
+            $admin_alert = ($cfg->alertONLoginError() == 1 ? TRUE : FALSE);
+            $ost->logError(_S('Excessive login attempts (user)'), $alert, $admin_alert);
             return new AccessDenied(__('Access denied'));
         } elseif($authsession['strikes']%3==0) { //Log every third failed login attempt as a warning.
             $alert=_S('Username').": {$username}\n".
                     _S('IP').": {$_SERVER['REMOTE_ADDR']}\n".
                     _S('Time').": ".date('M j, Y, g:i a T')."\n\n".
                     _S('Attempts').": {$authsession['strikes']}";
-            $ost->logWarning(_S('Failed login attempt (user)'), $alert);
+            $ost->logWarning(_S('Failed login attempt (user)'), $alert, false);
         }
 
     }
diff --git a/include/class.category.php b/include/class.category.php
index d8cbb72f27de63b4fe25e2256f49cb20f740ab59..3eeedfd144b09721f4004a31a3aa26c9be2e5108 100644
--- a/include/class.category.php
+++ b/include/class.category.php
@@ -21,9 +21,16 @@ class Category extends VerySimpleModel {
         'pk' => array('category_id'),
         'ordering' => array('name'),
         'joins' => array(
+            'parent' => array(
+                'constraint' => array('category_pid' => 'Category.category_id'),
+                'null' => true,
+                ),
+            'children' => array(
+                'reverse' => 'Category.parent',
+                ),
             'faqs' => array(
                 'reverse' => 'FAQ.category'
-            ),
+                ),
         ),
     );
 
@@ -36,7 +43,17 @@ class Category extends VerySimpleModel {
     /* ------------------> Getter methods <--------------------- */
     function getId() { return $this->category_id; }
     function getName() { return $this->name; }
-    function getNumFAQs() { return  $this->faqs->count(); }
+    function getFullName() {
+        return self::getNameById($this->category_id) ?: $this->getLocalName();
+    }
+    function getNumFAQs($primary=false) {
+        $count = $this->faqs->count();
+        if (!$primary && $this->children)
+            foreach ($this->children as $c)
+                $count += $c->faqs->count();
+
+        return $count;
+    }
     function getDescription() { return $this->description; }
     function getDescriptionWithImages() { return Format::viewableImages($this->description); }
     function getNotes() { return $this->notes; }
@@ -109,6 +126,37 @@ class Category extends VerySimpleModel {
             ->limit(5);
     }
 
+    function getPublicSubCategories() {
+        return $this->getSubCategories(array('public' => true));
+    }
+
+    function getSubCategories($criteria=array()) {
+
+        $categories = self::objects()
+            ->filter(array('category_pid' => $this->getId()));
+        if (isset($criteria['public']) && $categories) {
+            $categories
+                ->exclude(
+                    Q::any(array(
+                            'ispublic'=>Category::VISIBILITY_PRIVATE,
+                            'faqs__ispublished'=>FAQ::VISIBILITY_PRIVATE,
+                            )))
+                ->annotate(array('faq_count' => SqlAggregate::COUNT(
+                                SqlCase::N()
+                                ->when(array(
+                                        'faqs__ispublished__gt'=> FAQ::VISIBILITY_PRIVATE), 1)
+                                ->otherwise(null)
+                )))
+                ->filter(array('faq_count__gt'=>0));
+        } else {
+            $categories
+                ->annotate(array(
+                            'faq_count'=>SqlAggregate::COUNT('faqs')));
+        }
+
+        return $categories;
+    }
+
     /* ------------------> Setter methods <--------------------- */
     function setName($name) { $this->name=$name; }
     function setNotes($notes) { $this->notes=$notes; }
@@ -128,7 +176,7 @@ class Category extends VerySimpleModel {
             $errors['name'] = __('Category name is required');
         elseif (strlen($vars['name']) < 3)
             $errors['name'] = __('Name is too short. 3 chars minimum');
-        elseif (($cid=self::findIdByName($vars['name'])) && $cid != $vars['id'])
+        elseif (($cid=self::findIdByName($vars['name'], $vars['pid'])) && $cid != $vars['id'])
             $errors['name'] = __('Category already exists');
 
         if (!$vars['description'])
@@ -143,6 +191,7 @@ class Category extends VerySimpleModel {
 
         $this->ispublic = $vars['ispublic'];
         $this->name = $vars['name'];
+        $this->category_pid = $vars['pid'] ?: 0;
         $this->description = Format::sanitize($vars['description']);
         $this->notes = Format::sanitize($vars['notes']);
 
@@ -223,26 +272,72 @@ class Category extends VerySimpleModel {
 
     /* ------------------> Static methods <--------------------- */
 
-    static function findIdByName($name) {
+    static function findIdByName($name, $pid=null) {
         $row = self::objects()->filter(array(
-            'name'=>$name
+            'name'=>$name,
+            'category_pid'  => $pid ?: null
         ))->values_flat('category_id')->first();
 
         return ($row) ? $row[0] : null;
     }
 
-    static function findByName($name) {
+    static function findByName($name, $pid=null) {
         return self::objects()->filter(array(
-            'name'=>$name
+            'name'=>$name,
+            'category_pid'  => $pid ?: null
         ))->one();
     }
 
+    static function getNameById($id) {
+        $names = static::getCategories();
+        return $names[$id] ?: '';
+    }
+
     static function getFeatured() {
         return self::objects()->filter(array(
             'ispublic'=>self::VISIBILITY_FEATURED
         ));
     }
 
+    static function getCategories($criteria=null, $localize=true) {
+        static $categories = null;
+
+        if (!isset($categories) || $criteria) {
+            $categories = array();
+            $query = self::objects();
+            $query->order_by('name')
+                ->values('category_id', 'category_pid', 'name', 'parent');
+
+            foreach ($query as $row)
+                $categories[$row['category_id']] = $row;
+
+            // Resolve parent names
+            $names = array();
+            foreach ($categories as $id=>$info) {
+                $name = $info['name'];
+                $loop = array($id=>true);
+                $parent = false;
+                while ($info['category_pid'] && ($info = $categories[$info['category_pid']])) {
+                    $name = sprintf('%s / %s', $info['name'], $name);
+                    if (isset($loop[$info['category_pid']]))
+                        break;
+                    $loop[$info['category_pid']] = true;
+                    $parent = $info;
+                }
+                // TODO: localize category names
+                $names[$id] = $name;
+            }
+            asort($names);
+
+            if ($criteria)
+                return $names;
+
+            $categories = $names;
+        }
+
+        return $categories;
+    }
+
     static function create($vars=false) {
         $category = new static($vars);
         $category->created = SqlFunction::NOW();
diff --git a/include/class.cron.php b/include/class.cron.php
index e545c5afb7acddf48a97f6e9c0b05b252c5ac116..ee67f7f31aac6a742a411a61358726636d22eba3 100644
--- a/include/class.cron.php
+++ b/include/class.cron.php
@@ -51,12 +51,17 @@ class Cron {
         AttachmentFile::deleteOrphans();
     }
 
+    function CleanExpiredSessions() {
+        require_once(INCLUDE_DIR.'class.ostsession.php');
+        DbSessionBackend::cleanup();
+    }
+
     function MaybeOptimizeTables() {
         // Once a week on a 5-minute cron
         $chance = rand(1,2000);
         switch ($chance) {
         case 42:
-            @db_query('OPTIMIZE TABLE '.LOCK_TABLE);
+            @db_query('OPTIMIZE TABLE `'.LOCK_TABLE.'`');
             break;
         case 242:
             @db_query('OPTIMIZE TABLE '.SYSLOG_TABLE);
@@ -100,6 +105,7 @@ class Cron {
         self::MailFetcher();
         self::TicketMonitor();
         self::PurgeLogs();
+        self::CleanExpiredSessions();
         // Run file purging about every 10 cron runs
         if (mt_rand(1, 9) == 4)
             self::CleanOrphanedFiles();
diff --git a/include/class.dept.php b/include/class.dept.php
index 93e1b467388284fc9511ba0477809a56436a6c58..a1a87164f924da3965f1ff77be5e31cbaf4fc4ed 100644
--- a/include/class.dept.php
+++ b/include/class.dept.php
@@ -62,11 +62,14 @@ implements TemplateVariable, Searchable {
     var $autorespEmail;
 
     const ALERTS_DISABLED = 2;
+    const DISPLAY_DISABLED = 2;
     const ALERTS_DEPT_AND_EXTENDED = 1;
     const ALERTS_DEPT_ONLY = 0;
 
     const FLAG_ASSIGN_MEMBERS_ONLY = 0x0001;
     const FLAG_DISABLE_AUTO_CLAIM  = 0x0002;
+    const FLAG_ACTIVE = 0x0004;
+    const FLAG_ARCHIVED = 0x0008;
 
     function asVar() {
         return $this->getName();
@@ -144,6 +147,45 @@ implements TemplateVariable, Searchable {
         return self::getNameById($this->getId());
     }
 
+    function getStatus() {
+        if($this->flags & self::FLAG_ACTIVE)
+          return __('Active');
+        elseif($this->flags & self::FLAG_ARCHIVED)
+          return __('Archived');
+        else
+          return __('Disabled');
+    }
+
+    function allowsReopen() {
+      return !($this->flags & self::FLAG_ARCHIVED);
+    }
+
+    function isActive() {
+        return !!($this->flags & self::FLAG_ACTIVE);
+    }
+
+    function clearInactiveDept($dept_id) {
+      global $cfg;
+
+      $topics = Topic::objects()->filter(array('dept_id'=>$dept_id))->values_flat('topic_id');
+      if ($topics) {
+        foreach ($topics as $topic_id) {
+          $topic = Topic::lookup($topic_id[0]);
+          $topic->dept_id = $cfg->getDefaultDeptId();
+          $topic->save();
+        }
+      }
+
+      $emails = Email::objects()->filter(array('dept_id'=>$dept_id))->values_flat('email_id');
+      if ($emails) {
+        foreach ($emails as $email_id) {
+          $email = Email::lookup($email_id[0]);
+          $email->dept_id = $cfg->getDefaultDeptId();
+          $email->save();
+        }
+      }
+    }
+
     function getEmailId() {
         return $this->email_id;
     }
@@ -226,7 +268,7 @@ implements TemplateVariable, Searchable {
                 if (!$member->staff)
                     continue;
                 // Annoted the staff model with alerts and role
-                $extended[] = new AnnotatedModel($member->staff, array(
+                $extended[] = AnnotatedModel::wrap($member->staff, array(
                     'alerts'  => $member->isAlertsEnabled(),
                     'role_id' => $member->role_id,
                 ));
@@ -377,6 +419,7 @@ implements TemplateVariable, Searchable {
 
         $ht['assign_members_only'] = $this->assignMembersOnly();
         $ht['disable_auto_claim'] =  $this->disableAutoClaim();
+        $ht['status'] = $this->getStatus();
         return $ht;
     }
 
@@ -481,7 +524,7 @@ implements TemplateVariable, Searchable {
      *
      */
 
-    private function setFlag($flag, $val) {
+    public function setFlag($flag, $val) {
 
         if ($val)
             $this->flags |= $flag;
@@ -489,6 +532,15 @@ implements TemplateVariable, Searchable {
             $this->flags &= ~$flag;
     }
 
+    function export($dept, $criteria=null, $filename='') {
+        include_once(INCLUDE_DIR.'class.error.php');
+        $members = $dept->getMembers();
+
+        //Sort based on name formating
+        $members = Staff::nsort($members);
+        Export::departmentMembers($dept, $members, $filename);
+    }
+
     /*----Static functions-------*/
     static function getIdByName($name, $pid=null) {
         $row = static::objects()
@@ -502,7 +554,7 @@ implements TemplateVariable, Searchable {
     }
 
     function getNameById($id) {
-        $names = static::getDepartments();
+        $names = Dept::getDepartments();
         return $names[$id];
     }
 
@@ -516,8 +568,8 @@ implements TemplateVariable, Searchable {
             : null;
     }
 
-    static function getDepartments( $criteria=null, $localize=true) {
-        static $depts = null;
+    static function getDepartments($criteria=null, $localize=true, $disabled=true) {
+        $depts = null;
 
         if (!isset($depts) || $criteria) {
             // XXX: This will upset the static $depts array
@@ -525,7 +577,7 @@ implements TemplateVariable, Searchable {
             $query = self::objects();
             if (isset($criteria['publiconly']))
                 $query->filter(array(
-                            'ispublic' => ($criteria['publiconly'] ? 1 : 0)));
+                            'flags__hasbit' => Dept::FLAG_ACTIVE));
 
             if ($manager=$criteria['manager'])
                 $query->filter(array(
@@ -540,10 +592,14 @@ implements TemplateVariable, Searchable {
             }
 
             $query->order_by('name')
-                ->values('id', 'pid', 'name', 'parent');
+                 ->values('id', 'pid', 'flags', 'name', 'parent');
+
+            foreach ($query as $row) {
+              $display = ($row['flags'] & self::FLAG_ACTIVE);
 
-            foreach ($query as $row)
-                $depts[$row['id']] = $row;
+              $depts[$row['id']] = array('id' => $row['id'], 'pid'=>$row['pid'], 'name'=>$row['name'],
+                  'parent'=>$row['parent'], 'disabled' => !$display);
+            }
 
             $localize_this = function($id, $default) use ($localize) {
                 if (!$localize)
@@ -570,21 +626,32 @@ implements TemplateVariable, Searchable {
                 // Fetch local names
                 $names[$id] = $localize_this($id, $name);
             }
-            asort($names);
 
-            // TODO: Use locale-aware sorting mechanism
+            // Apply requested filters
+            $requested_names = array();
+            foreach ($names as $id=>$n) {
+                $info = $depts[$id];
+                if (!$disabled && $info['disabled'])
+                    continue;
+                if ($disabled === self::DISPLAY_DISABLED && $info['disabled'])
+                    $n .= " - ".__("(disabled)");
 
+                $requested_names[$id] = $n;
+            }
+            asort($requested_names);
+
+            // TODO: Use locale-aware sorting mechanism
             if ($criteria)
-                return $names;
+                return $requested_names;
 
-            $depts = $names;
+            $depts = $requested_names;
         }
 
-        return $depts;
+        return $requested_names;
     }
 
     static function getPublicDepartments() {
-        static $depts =null;
+        $depts =null;
 
         if (!$depts)
             $depts = self::getDepartments(array('publiconly'=>true));
@@ -636,6 +703,10 @@ implements TemplateVariable, Searchable {
         if ($vars['pid'] && !($p = static::lookup($vars['pid'])))
             $errors['pid'] = __('Department selection is required');
 
+        $dept = Dept::lookup($vars['pid']);
+        if($dept && !$dept->isActive())
+          $errors['dept_id'] = sprintf(__('%s selected must be active'), __('Parent Department'));
+
         // Format access update as [array(dept_id, role_id, alerts?)]
         $access = array();
         if (isset($vars['members'])) {
@@ -661,10 +732,32 @@ implements TemplateVariable, Searchable {
         $this->group_membership = $vars['group_membership'];
         $this->ticket_auto_response = isset($vars['ticket_auto_response'])?$vars['ticket_auto_response']:1;
         $this->message_auto_response = isset($vars['message_auto_response'])?$vars['message_auto_response']:1;
-        $this->flags = 0;
         $this->setFlag(self::FLAG_ASSIGN_MEMBERS_ONLY, isset($vars['assign_members_only']));
         $this->setFlag(self::FLAG_DISABLE_AUTO_CLAIM, isset($vars['disable_auto_claim']));
 
+        $filter_actions = FilterAction::objects()->filter(array('type' => 'dept', 'configuration' => '{"dept_id":'. $this->getId().'}'));
+        if ($filter_actions && $vars['status'] == __('Active'))
+          FilterAction::setFilterFlag($filter_actions, 'dept', false);
+        else
+          FilterAction::setFilterFlag($filter_actions, 'dept', true);
+
+        switch ($vars['status']) {
+          case __('Active'):
+            $this->setFlag(self::FLAG_ACTIVE, true);
+            $this->setFlag(self::FLAG_ARCHIVED, false);
+            break;
+
+          case __('Disabled'):
+            $this->setFlag(self::FLAG_ACTIVE, false);
+            $this->setFlag(self::FLAG_ARCHIVED, false);
+            break;
+
+          case __('Archived'):
+            $this->setFlag(self::FLAG_ACTIVE, false);
+            $this->setFlag(self::FLAG_ARCHIVED, true);
+            break;
+        }
+
         $this->path = $this->getFullPath();
 
         $wasnew = $this->__new__;
@@ -752,7 +845,7 @@ extends Form {
                 'default' => 0,
                 'choices' =>
                     array(0 => '— '.__('Top-Level Department').' —')
-                    + Dept::getDepartments()
+                    + Dept::getPublicDepartments()
             )),
             'name' => new TextboxField(array(
                 'required' => true,
diff --git a/include/class.dynamic_forms.php b/include/class.dynamic_forms.php
index 174066f8136abd9abf7827f55a69a02afa91396c..c867531d983434cc99f9d7883f485405ce916587 100644
--- a/include/class.dynamic_forms.php
+++ b/include/class.dynamic_forms.php
@@ -1818,11 +1818,12 @@ class SelectionField extends FormField {
 
     function getSearchQ($method, $value, $name=false) {
         $name = $name ?: $this->get('name');
+        $val = '"?'.implode('("|,|$)|"?', array_keys($value)).'("|,|$)';
         switch ($method) {
         case '!includes':
-            return Q::not(array("{$name}__intersect" => array_keys($value)));
+            return Q::not(array("{$name}__regex" => $val));
         case 'includes':
-            return new Q(array("{$name}__intersect" => array_keys($value)));
+            return new Q(array("{$name}__regex" => $val));
         default:
             return parent::getSearchQ($method, $value, $name);
         }
diff --git a/include/class.email.php b/include/class.email.php
index a91bebde566cf9709736ffec2b1cfaf4fc579e85..b0dce8bbce91312575695a6b0fcdf070b580d735 100644
--- a/include/class.email.php
+++ b/include/class.email.php
@@ -264,6 +264,14 @@ class Email extends VerySimpleModel {
         if(!$vars['name'])
             $errors['name']=__('Email name required');
 
+        $dept = Dept::lookup($vars['dept_id']);
+        if($dept && !$dept->isActive())
+          $errors['dept_id'] = '';
+
+        $topic = Topic::lookup($vars['topic_id']);
+        if($topic && !$topic->isActive())
+          $errors['topic_id'] = '';
+
         if($vars['mail_active'] || ($vars['smtp_active'] && $vars['smtp_auth'])) {
             if(!$vars['userid'])
                 $errors['userid']=__('Username missing');
diff --git a/include/class.export.php b/include/class.export.php
index 1ca9e3f47e1ef84878b89bd9da33c647439336c0..4dcc851b30c3cf5e78106be38f93a87a3ce64aa9 100644
--- a/include/class.export.php
+++ b/include/class.export.php
@@ -140,7 +140,7 @@ class Export {
                 'attachment_count' => __('Attachment Count'),
             ) + $cdata,
             $how,
-            array('modify' => function(&$record, $keys) use ($fields) {
+            array('modify' => function(&$record, $keys, $obj) use ($fields) {
                 foreach ($fields as $k=>$f) {
                     if (($i = array_search($k, $keys)) !== false) {
                         $record[$i] = $f->export($f->to_php($record[$i]));
@@ -185,7 +185,7 @@ class Export {
                     '::getEmail' =>          __('Email'),
                     ) + $cdata,
                 $how,
-                array('modify' => function(&$record, $keys) use ($fields) {
+                array('modify' => function(&$record, $keys, $obj) use ($fields) {
                     foreach ($fields as $k=>$f) {
                         if ($f && ($i = array_search($k, $keys)) !== false) {
                             $record[$i] = $f->export($f->to_php($record[$i]));
@@ -224,7 +224,7 @@ class Export {
                     'name'  =>  'Name',
                     ) + $cdata,
                 $how,
-                array('modify' => function(&$record, $keys) use ($fields) {
+                array('modify' => function(&$record, $keys, $obj) use ($fields) {
                     foreach ($fields as $k=>$f) {
                         if ($f && ($i = array_search($k, $keys)) !== false) {
                             $record[$i] = $f->export($f->to_php($record[$i]));
@@ -242,6 +242,72 @@ class Export {
         return false;
     }
 
+    static function agents($agents, $filename='', $how='csv') {
+
+        // Filename or stream to export agents to
+        $filename = $filename ?: sprintf('Agents-%s.csv',
+                strftime('%Y%m%d'));
+        Http::download($filename, "text/$how");
+        $depts = Dept::getDepartments();
+        echo self::dumpQuery($agents, array(
+                    '::getName'  =>  'Name',
+                    '::getUsername' => 'Username',
+                    '::getStatus' => 'Status',
+                    'permissions' => 'Permissions',
+                    '::getDept'  => 'Primary Department',
+                    ) + $depts,
+                $how,
+                array('modify' => function(&$record, $keys, $obj) use ($depts) {
+
+                   if (($i = array_search('permissions', $keys)))
+                       $record[$i] = implode(",", array_keys($obj->getPermission()->getInfo()));
+
+                    $roles = $obj->getRoles();
+                    foreach ($depts as $k => $v) {
+                        if (is_numeric($k) && ($i = array_search($k, $keys)) !== false) {
+                            $record[$i] = $roles[$k] ?: '';
+                        }
+                    }
+                    return $record;
+                    })
+                );
+        exit;
+
+    }
+
+static function departmentMembers($dept, $agents, $filename='', $how='csv') {
+    $primaryMembers = array();
+    foreach ($dept->getPrimaryMembers() as $agent) {
+      $primaryMembers[] = $agent->getId();
+    }
+
+    // Filename or stream to export depts' agents to
+    $filename = $filename ?: sprintf('%s-%s.csv', $dept->getName(),
+            strftime('%Y%m%d'));
+    Http::download($filename, "text/$how");
+    echo self::dumpQuery($agents, array(
+                '::getName'  =>  'Name',
+                '::getUsername' => 'Username',
+                2 => 'Access Type',
+                3 => 'Access Role',
+              ),
+            $how,
+            array('modify' => function(&$record, $keys, $obj) use ($dept, $primaries, $primaryMembers) {
+                $role = $obj->getRole($dept);
+
+                if (array_search($obj->getId(), $primaryMembers, true) === false)
+                  $type = 'Extended';
+                else {
+                  $type = 'Primary';
+                }
+
+                $record[2] = $type;
+                $record[3] = $role->name;
+                return $record;
+                })
+            );
+    exit;
+  }
 }
 
 class ResultSetExporter {
@@ -279,26 +345,32 @@ class ResultSetExporter {
         $this->_res->next();
 
         $record = array();
-
         foreach ($this->keys as $field) {
             list($field, $func) = explode('::', $field);
             $path = explode('.', $field);
+
             $current = $object;
             // Evaluate dotted ORM path
             if ($field) {
                 foreach ($path as $P) {
-                    $current = $current->{$P};
+                    if (isset($current->{$P}))
+                        $current = $current->{$P};
+                    else  {
+                        $current = $P;
+                        break;
+                    }
                 }
             }
             // Evalutate :: function call on target current
             if ($func && (method_exists($current, $func) || method_exists($current, '__call'))) {
                 $current = $current->{$func}();
             }
+
             $record[] = (string) $current;
         }
 
         if (isset($this->options['modify']) && is_callable($this->options['modify']))
-            $record = $this->options['modify']($record, $this->keys);
+            $record = $this->options['modify']($record, $this->keys, $object);
 
         return $record;
     }
@@ -325,22 +397,9 @@ class CsvResultsExporter extends ResultSetExporter {
         if (isset($this->options['delimiter']))
             return $this->options['delimiter'];
 
-        // Detect delimeter from the current locale settings. For locales
-        // which use comma (,) as the decimal separator, the semicolon (;)
-        // should be used as the field separator
-        $delimiter = ',';
-        if (!$this->options['delimiter'] && class_exists('NumberFormatter')) {
-            $nf = NumberFormatter::create(Internationalization::getCurrentLocale(),
-                NumberFormatter::DECIMAL);
-            $s = $nf->getSymbol(NumberFormatter::DECIMAL_SEPARATOR_SYMBOL);
-            if ($s == ',')
-                $delimiter = ';';
-        }
-
-        return $delimiter;
+        return Internationalization::getCSVDelimiter();
     }
 
-
     function dump() {
 
         if (!$this->output)
diff --git a/include/class.filter.php b/include/class.filter.php
index 29f49d904949b2318dbd4da9d16c6ebed7f1f299..d54bc8fd80a9df8dffaa1cdfc4bd6882f54bf643 100644
--- a/include/class.filter.php
+++ b/include/class.filter.php
@@ -21,6 +21,9 @@ class Filter {
     var $id;
     var $ht;
 
+    const FLAG_INACTIVE_HT = 0x0001;
+    const FLAG_INACTIVE_DEPT  = 0x0002;
+
     static $match_types = array(
         /* @trans */ 'User Information' => array(
             array('name'      =>    /* @trans */ 'Name',
@@ -138,6 +141,17 @@ class Filter {
         return $this->ht['topic_id'];
     }
 
+    public function setFlag($flag, $val) {
+        $vars = array();
+        $errors = array();
+        if ($val)
+            $this->ht['flags'] |= $flag;
+        else
+            $this->ht['flags'] &= ~$flag;
+        $vars['rules']= $this->getRules();
+        $this->update($this->ht, $errors);
+    }
+
     function stopOnMatch() {
         return ($this->ht['stop_onmatch']);
     }
@@ -340,7 +354,7 @@ class Filter {
     }
 
     function update($vars,&$errors) {
-
+        $vars['flags'] = $this->ht['flags'];
         if(!Filter::save($this->getId(),$vars,$errors))
             return false;
 
@@ -457,6 +471,21 @@ class Filter {
     }
 
     function save($id,$vars,&$errors) {
+      if ($this) {
+        foreach ($this->getActions() as $A) {
+          if ($A->type == 'dept')
+              $dept = Dept::lookup($A->parseConfiguration($vars)['dept_id']);
+
+          if ($A->type == 'topic')
+              $topic = Topic::lookup($A->parseConfiguration($vars)['topic_id']);
+        }
+      }
+
+      if($dept && !$dept->isActive())
+        $errors['err'] = sprintf(__('%s selected for %s must be active'), __('Department'), __('Filter Action'));
+
+      if($topic && !$topic->isActive())
+        $errors['err'] = sprintf(__('%s selected for %s must be active'), __('Help Topic'), __('Filter Action'));
 
         if(!$vars['execorder'])
             $errors['execorder'] = __('Order required');
@@ -487,6 +516,7 @@ class Filter {
 
         $sql=' updated=NOW() '
             .',isactive='.db_input($vars['isactive'])
+            .',flags='.db_input($vars['flags'])
             .',target='.db_input($vars['target'])
             .',name='.db_input($vars['name'])
             .',execorder='.db_input($vars['execorder'])
@@ -518,6 +548,29 @@ class Filter {
         return count($errors) == 0;
     }
 
+    function validate_actions($action) {
+      $errors = array();
+      $config = json_decode($action->ht['configuration'], true);
+      if ($action->ht['type'] == 'dept') {
+        $dept = Dept::lookup($config['dept_id']);
+        if (!$dept || !$dept->isActive()) {
+          $errors['err'] = sprintf(__('Unable to save: Please choose an active %s'), 'Department');
+          return $errors;
+        }
+      }
+
+      if ($action->ht['type'] == 'topic') {
+        $topic = Topic::lookup($config['topic_id']);
+        if (!$topic || !$topic->isActive()) {
+          $errors['err'] = sprintf(__('Unable to save: Please choose an active %s'), 'Help Topic');
+          return $errors;
+        }
+      }
+
+      return false;
+
+    }
+
     function save_actions($id, $vars, &$errors) {
         if (!is_array(@$vars['actions']))
             return;
@@ -540,11 +593,28 @@ class Filter {
                     'sort' => (int) $sort,
                 ));
                 $I->setConfiguration($errors, $vars);
+                $config = json_decode($I->ht['configuration'], true);
+
+                $invalid = self::validate_actions($I);
+                if ($invalid) {
+                  $errors['err'] = sprintf($invalid['err']);
+                  return;
+                }
+
                 $I->save();
                 break;
-            case 'I': # exiting filter action
+            case 'I': # existing filter action
                 if ($I = FilterAction::lookup($info)) {
                     $I->setConfiguration($errors, $vars);
+
+                    $config = json_decode($I->ht['configuration'], true);
+
+                    $invalid = self::validate_actions($I);
+                    if ($invalid) {
+                      $errors['err'] = sprintf($invalid['err']);
+                      return;
+                    }
+
                     $I->sort = (int) $sort;
                     $I->save();
                 }
diff --git a/include/class.filter_action.php b/include/class.filter_action.php
index f5dc14abbc77740d58a368e434603568b6f64fca..c963e355c1ab0905f49d10dcf6926718851a8c71 100644
--- a/include/class.filter_action.php
+++ b/include/class.filter_action.php
@@ -41,15 +41,28 @@ class FilterAction extends VerySimpleModel {
         return $this->_config;
     }
 
-    function setConfiguration(&$errors=array(), $source=false) {
-        $config = array();
-        foreach ($this->getImpl()->getConfigurationForm($source ?: $_POST)
-                ->getFields() as $name=>$field) {
-            if (!$field->hasData())
-                continue;
+    function parseConfiguration($source, &$errors=array())
+    {
+      if (!$source)
+        return $this->getConfiguration();
+
+      $config = array();
+      foreach ($this->getImpl()->getConfigurationForm($source)
+              ->getFields() as $name=>$field) {
+          if (!$field->hasData())
+              continue;
+          if($field->to_php($field->getClean()))
             $config[$name] = $field->to_php($field->getClean());
-            $errors = array_merge($errors, $field->errors());
-        }
+          else
+            $config[$name] = $field->getClean();
+
+          $errors = array_merge($errors, $field->errors());
+      }
+      return $config;
+    }
+
+    function setConfiguration(&$errors=array(), $source=false) {
+        $config = $this->parseConfiguration($source ?: $_POST, $errors);
         if (count($errors) === 0)
             $this->set('configuration', JsonDataEncoder::encode($config));
         return count($errors) === 0;
@@ -65,6 +78,16 @@ class FilterAction extends VerySimpleModel {
         return $this->_impl;
     }
 
+    function setFilterFlag($actions, $flag, $bool) {
+        foreach ($actions as $action) {
+          $filter = Filter::lookup($action->filter_id);
+          if ($filter) {
+            if ($flag == 'dept') $filter->setFlag(Filter::FLAG_INACTIVE_DEPT, $bool);
+            if ($flag == 'topic') $filter->setFlag(Filter::FLAG_INACTIVE_HT, $bool);
+          }
+        }
+    }
+
     function apply(&$ticket, array $info) {
         return $this->getImpl()->apply($ticket, $info);
     }
@@ -273,19 +296,32 @@ class FA_RouteDepartment extends TriggerAction {
 
     function apply(&$ticket, array $info) {
         $config = $this->getConfiguration();
-        if ($config['dept_id'])
+        if ($config['dept_id']) {
+          $dept = Dept::lookup($config['dept_id']);
+
+          if ($dept->isActive())
             $ticket['deptId'] = $config['dept_id'];
+        }
     }
 
     function getConfigurationOptions() {
+      $depts = Dept::getDepartments(null, true, false);
+
+      if ($this->action->type == 'dept') {
+        $dept_id = json_decode($this->action->configuration, true);
+        $dept = Dept::lookup($dept_id['dept_id']);
+        if ($dept && !$dept->isActive())
+          $depts[$dept->getId()] = $dept->getName();
+      }
+
         return array(
-            'dept_id' => new ChoiceField(array(
+                'dept_id' => new ChoiceField(array(
                 'configuration' => array(
                     'prompt' => __('Unchanged'),
                     'data' => array('quick-add' => 'department'),
                 ),
                 'choices' =>
-                    Dept::getDepartments() +
+                    $depts +
                     array(':new:' => '— '.__('Add New').' —'),
                 'validators' => function($self, $clean) {
                     if ($clean === ':new:')
@@ -406,12 +442,24 @@ class FA_AssignTopic extends TriggerAction {
 
     function apply(&$ticket, array $info) {
         $config = $this->getConfiguration();
-        if ($config['topic_id'])
+        if ($config['topic_id']) {
+          $topic = Topic::lookup($config['topic_id']);
+
+          if ($topic->isActive())
             $ticket['topicId'] = $config['topic_id'];
+        }
     }
 
     function getConfigurationOptions() {
-        $choices = Topic::getHelpTopics(false, Topic::DISPLAY_DISABLED);
+        $choices = Topic::getHelpTopics(false, false);
+
+        if ($this->action->type == 'topic') {
+          $topic_id = json_decode($this->action->configuration, true);
+          $topic = Topic::lookup($topic_id['topic_id']);
+          if ($topic && !$topic->isActive())
+            $choices[$topic->getId()] = $topic->getName();
+        }
+
         return array(
             'topic_id' => new ChoiceField(array(
                 'configuration' => array('prompt' => __('Unchanged')),
diff --git a/include/class.format.php b/include/class.format.php
index 0ff1b75e00875da44edb440b79be2b1c6a0b3e3e..50c8a7fdf144c12d23f9f59ff4c1b3dc87cd4609 100644
--- a/include/class.format.php
+++ b/include/class.format.php
@@ -321,7 +321,7 @@ class Format {
             'hook_tag' => function($e, $a=0) { return Format::__html_cleanup($e, $a); },
             'elements' => '*+iframe',
             'spec' =>
-            'iframe=-*,height,width,type,style,src(match="`^(https?:)?//(www\.)?(youtube|dailymotion|vimeo)\.com/`i"),frameborder'.($options['spec'] ? '; '.$options['spec'] : ''),
+            'iframe=-*,height,width,type,style,src(match="`^(https?:)?//(www\.)?(youtube|dailymotion|vimeo|player.vimeo)\.com/`i"),frameborder'.($options['spec'] ? '; '.$options['spec'] : '').',allowfullscreen',
         );
 
         return Format::html($html, $config);
@@ -426,7 +426,7 @@ class Format {
                 // Scan for things that look like URLs
                 return preg_replace_callback(
                     '`(?<!>)(((f|ht)tp(s?)://|(?<!//)www\.)([-+~%/.\w]+)(?:[-?#+=&;%@.\w]*)?)'
-                   .'|(\b[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4})`',
+                   .'|(\b[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,63})`',
                     function ($match) {
                         if ($match[1]) {
                             while (in_array(substr($match[1], -1),
@@ -739,6 +739,13 @@ class Format {
     // Thanks, http://stackoverflow.com/a/2955878/1025836
     /* static */
     function slugify($text) {
+        // convert special characters to entities
+        $text = htmlentities($text, ENT_NOQUOTES, 'UTF-8');
+
+        // removes entity suffixes, leaving only un-accented characters
+        $text = preg_replace('~&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);~', '$1', $text);
+        $text = preg_replace('~&([A-za-z]{2})(?:lig);~', '$1', $text);
+
         // replace non letter or digits by -
         $text = preg_replace('~[^\p{L}\p{N}]+~u', '-', $text);
 
diff --git a/include/class.forms.php b/include/class.forms.php
index c94f5bfdea87543bb2930f932b45d8cfec4d53ce..c7e20d3627a45a4ff8551d2aaf20d8c3e67ef27b 100644
--- a/include/class.forms.php
+++ b/include/class.forms.php
@@ -677,8 +677,8 @@ class FormField {
         # Validates a user-input into an instance of this field on a dynamic
         # form
         if ($this->get('required') && !$value && $this->hasData())
-            $this->_errors[] = $this->getLabel()
-                ? sprintf(__('%s is a required field'), $this->getLabel())
+            $this->_errors[] = $this->getLocal('label')
+                ? sprintf(__('%s is a required field'), $this->getLocal('label'))
                 : __('This is a required field');
 
         # Perform declared validators for the field
@@ -1486,6 +1486,39 @@ class TextareaField extends FormField {
         );
     }
 
+    function validateEntry($value) {
+        parent::validateEntry($value);
+        $config = $this->getConfiguration();
+        $validators = array(
+            '' =>       null,
+            'choices' => array(
+                function($val) {
+                    $val = str_replace('"', '', JsonDataEncoder::encode($val));
+                    $regex = "/^(?! )[A-z0-9 _-]+:{1}[A-z0-9 _-]+$/";
+                    foreach (explode('\r\n', $val) as $v) {
+                        if (!preg_match($regex, $v))
+                            return false;
+                    }
+                    return true;
+                }, __('Each choice requires a key and has to be on a new line. (eg. key:value)')
+            ),
+        );
+        // Support configuration forms, as well as GUI-based form fields
+        $valid = $this->get('validator');
+        if (!$valid) {
+            $valid = $config['validator'];
+        }
+        if (!$value || !isset($validators[$valid]))
+            return;
+        $func = $validators[$valid];
+        $error = $func[1];
+        if ($config['validator-error'])
+            $error = $this->getLocal('validator-error', $config['validator-error']);
+        if (is_array($func) && is_callable($func[0]))
+            if (!call_user_func($func[0], $value))
+                $this->_errors[] = $error;
+    }
+
     function display($value) {
         $config = $this->getConfiguration();
         if ($config['html'])
@@ -1655,7 +1688,8 @@ class ChoiceField extends FormField {
         return array(
             'choices'  =>  new TextareaField(array(
                 'id'=>1, 'label'=>__('Choices'), 'required'=>false, 'default'=>'',
-                'hint'=>__('List choices, one per line. To protect against spelling changes, specify key:value names to preserve entries if the list item names change'),
+                'hint'=>__('List choices, one per line. To protect against spelling changes, specify key:value names to preserve entries if the list item names change.</br><b>Note:</b> If you have more than two choices, use a List instead.'),
+                'validator'=>'choices',
                 'configuration'=>array('html'=>false)
             )),
             'default' => new TextboxField(array(
@@ -1856,11 +1890,12 @@ class ChoiceField extends FormField {
 
     function getSearchQ($method, $value, $name=false) {
         $name = $name ?: $this->get('name');
+        $val = '"?'.implode('("|,|$)|"?', array_keys($value)).'("|,|$)';
         switch ($method) {
         case '!includes':
-            return Q::not(array("{$name}__in" => array_keys($value)));
+            return Q::not(array("{$name}__regex" => $val));
         case 'includes':
-            return new Q(array("{$name}__in" => array_keys($value)));
+            return new Q(array("{$name}__regex" => $val));
         default:
             return parent::getSearchQ($method, $value, $name);
         }
@@ -2610,10 +2645,47 @@ class DepartmentField extends ChoiceField {
     function getChoices($verbose=false) {
         global $cfg;
 
+        $selected = self::getWidget();
+        if($selected && $selected->value) {
+          if(is_array($selected->value)) {
+            foreach ($selected->value as $k => $v) {
+              $current_id = $k;
+              $current_name = $v;
+            }
+          }
+          else {
+            $current_id = $selected->value;
+            $current_name = Dept::getNameById($current_id);
+            $addNew = true;
+          }
+        }
+
+        $active_depts = array();
+        if($current_id)
+          $active_depts = Dept::objects()
+            ->filter(array('flags__hasbit' => Dept::FLAG_ACTIVE))
+            ->values('id', 'name');
+
         $choices = array();
-        if (($depts = Dept::getDepartments()))
-            foreach ($depts as $id => $name)
-                $choices[$id] = $name;
+        if ($depts = Dept::getDepartments(null, true, Dept::DISPLAY_DISABLED)) {
+          //create array w/queryset
+          $active = array();
+          foreach ($active_depts as $dept)
+            $active[$dept['id']] = $dept['name'];
+
+          //add selected dept to list
+          $active[$current_id] = $current_name;
+
+
+          foreach ($depts as $id => $name) {
+            $choices[$id] = $name;
+            if(!array_key_exists($id, $active) && $current_id)
+              unset($choices[$id]);
+          }
+
+        }
+        if($addNew)
+          $choices[':new:'] = '— '.__('Add New').' —';
 
         return $choices;
     }
@@ -3155,7 +3227,7 @@ class FileUploadField extends FormField {
 
         // Check MIME type - file ext. shouldn't be solely trusted.
         if ($type && $config['__mimetypes']
-                && in_array($type, $config['__mimetypes']))
+                && in_array($type, $config['__mimetypes'], true))
             return true;
 
         // Return true if all file types are allowed (.*)
@@ -4131,7 +4203,7 @@ class SectionBreakWidget extends Widget {
     function render($options=array()) {
         ?><div class="form-header section-break"><h3><?php
         echo Format::htmlchars($this->field->getLocal('label'));
-        ?></h3><em><?php echo Format::htmlchars($this->field->getLocal('hint'));
+        ?></h3><em><?php echo Format::display($this->field->getLocal('hint'));
         ?></em></div>
         <?php
     }
diff --git a/include/class.http.php b/include/class.http.php
index 2616121c24b130f365f58b2b10f1d1810be118c8..b8205f5c96bc99075b3953b53c11e1ef5cbf97b0 100644
--- a/include/class.http.php
+++ b/include/class.http.php
@@ -106,6 +106,9 @@ class Http {
     }
 
     function download($filename, $type, $data=null, $disposition='attachment') {
+        if (strpos($type, 'image/') !== false && preg_match('/image\/.*\+.*/', $type))
+          $disposition='attachment';
+
         header('Pragma: private');
         header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
         header('Cache-Control: private', false);
diff --git a/include/class.i18n.php b/include/class.i18n.php
index 0a08736d76d84cc4e120cd73215a48a161a659f0..0dc60bde0707e682bd2ce4d774fdafbfce88bc4a 100644
--- a/include/class.i18n.php
+++ b/include/class.i18n.php
@@ -408,6 +408,30 @@ class Internationalization {
         return $locale;
     }
 
+    static function getCSVDelimiter($locale='') {
+
+        if (!$locale)  // Prefer browser settings
+            $locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
+
+        // Detect delimeter from the current locale settings. For locales
+        // which use comma (,) as the decimal separator, the semicolon (;)
+        // should be used as the field separator
+        $delimiter = ',';
+        if (class_exists('NumberFormatter')) {
+            $nf = NumberFormatter::create($locale ?: self::getCurrentLocale(),
+                NumberFormatter::DECIMAL);
+            $s = $nf->getSymbol(NumberFormatter::DECIMAL_SEPARATOR_SYMBOL);
+            if ($s == ',')
+                $delimiter = ';';
+        } else {
+            $info = localeconv();
+            if ($info && $info['decimal_point'] == ',')
+                $delimiter = ';';
+
+        }
+
+        return $delimiter;
+    }
 
     //  getIntDateFormatter($options)
     //
diff --git a/include/class.misc.php b/include/class.misc.php
index b5ce887053eba3be836dbc976aa23447c2b8ca80..57c18a8df5f0456bd8cce201c7c003ae52fdcee4 100644
--- a/include/class.misc.php
+++ b/include/class.misc.php
@@ -52,12 +52,14 @@ class Misc {
     }
 
     /* Helper used to generate ticket IDs */
-    function randNumber($len=6,$start=false,$end=false) {
-
-        $start=(!$len && $start)?$start:str_pad(1,$len,"0",STR_PAD_RIGHT);
-        $end=(!$len && $end)?$end:str_pad(9,$len,"9",STR_PAD_RIGHT);
+    function randNumber($len=6) {
+        $number = '';
+        for ($i=0; $i<$len; $i++) {
+            $min = ($i == 0) ? 1 : 0;
+            $number .= mt_rand($min, 9);
+        }
 
-        return mt_rand($start,$end);
+        return (int) $number;
     }
 
     /* misc date helpers...this will go away once we move to php 5 */
diff --git a/include/class.nav.php b/include/class.nav.php
index 448b3553942ff8e6d0f904556b45f8ec5ada6cce..02abcc028adbbe9ba3f486b149c14c99021e53a3 100644
--- a/include/class.nav.php
+++ b/include/class.nav.php
@@ -157,24 +157,6 @@ class StaffNav {
                 case 'tasks':
                     $subnav[]=array('desc'=>__('Tasks'), 'href'=>'tasks.php', 'iconclass'=>'Ticket', 'droponly'=>true);
                     break;
-                case 'tickets':
-                    $subnav[]=array('desc'=>__('Tickets'),'href'=>'tickets.php','iconclass'=>'Ticket', 'droponly'=>true);
-                    if($staff) {
-                        if(($assigned=$staff->getNumAssignedTickets()))
-                            $subnav[]=array('desc'=>__('My&nbsp;Tickets')." ($assigned)",
-                                            'href'=>'tickets.php?status=assigned',
-                                            'iconclass'=>'assignedTickets',
-                                            'droponly'=>true);
-
-                        if ($staff->hasPerm(Ticket::PERM_CREATE, false))
-                            $subnav[]=array('desc'=>__('New Ticket'),
-                                            'title' => __('Open a New Ticket'),
-                                            'href'=>'tickets.php?a=open',
-                                            'iconclass'=>'newTicket',
-                                            'id' => 'new-ticket',
-                                            'droponly'=>true);
-                    }
-                    break;
                 case 'dashboard':
                     $subnav[]=array('desc'=>__('Dashboard'),'href'=>'dashboard.php','iconclass'=>'logs');
                     $subnav[]=array('desc'=>__('Agent Directory'),'href'=>'directory.php','iconclass'=>'teams');
diff --git a/include/class.organization.php b/include/class.organization.php
index f164e663c9981f117e804e0e0b4fe9e6588f2aca..6d9fc030cce92468c63cbe9be2032a95aabef744 100644
--- a/include/class.organization.php
+++ b/include/class.organization.php
@@ -277,13 +277,16 @@ implements TemplateVariable, Searchable {
     function getFilterData() {
         $vars = array();
         foreach ($this->getDynamicData() as $entry) {
+            $vars += $entry->getFilterData();
+
+            // Add special `name` field in Org form
             if ($entry->getDynamicForm()->get('type') != 'O')
                 continue;
-            $vars += $entry->getFilterData();
-            // Add special `name` field
-            $f = $entry->getField('name');
-            $vars['field.'.$f->get('id')] = $this->getName();
+
+            if ($f = $entry->getField('name'))
+                $vars['field.'.$f->get('id')] = $this->getName();
         }
+
         return $vars;
     }
 
@@ -453,6 +456,12 @@ implements TemplateVariable, Searchable {
                 $u->setPrimaryContact(array_search($u->id, $vars['contacts']) !== false);
                 $u->save();
             }
+        } else {
+            $members = $this->allMembers();
+            $members->update(array(
+                'status' => SqlExpression::bitand(
+                    new SqlField('status'), ~User::PRIMARY_ORG_CONTACT)
+                ));
         }
 
         return $this->save();
diff --git a/include/class.orm.php b/include/class.orm.php
index 3e8f9830c55f53d446278a6b7a6709f96e43189f..08c2f209c324ab32f7272435d29e6855abfa3e64 100644
--- a/include/class.orm.php
+++ b/include/class.orm.php
@@ -2753,8 +2753,10 @@ class MySqlCompiler extends SqlCompiler {
     }
 
     function __range($a, $b) {
-        // XXX: Crash if $b is not array of two items
-        return sprintf('%s BETWEEN %s AND %s', $a, $this->input($b[0]), $this->input($b[1]));
+      return sprintf('%s BETWEEN %s AND %s',
+        $a,
+        $b[2] ? $b[0] : $this->input($b[0]),
+        $b[2] ? $b[1] : $this->input($b[1]));
     }
 
     function compileJoin($tip, $model, $alias, $info, $extra=false) {
diff --git a/include/class.ostsession.php b/include/class.ostsession.php
index dbb5cf6312551abc4e24e4eb905eca53e0a74188..2c399904195c972b4d3f89739c4639d23edc00e0 100644
--- a/include/class.ostsession.php
+++ b/include/class.ostsession.php
@@ -53,7 +53,7 @@ class osTicketSession {
             list($domain) = explode(':', $_SERVER['HTTP_HOST']);
 
         session_set_cookie_params($ttl, ROOT_PATH, $domain,
-            osTicket::is_https());
+            osTicket::is_https(), true);
 
         if (!defined('SESSION_BACKEND'))
             define('SESSION_BACKEND', 'db');
@@ -158,6 +158,10 @@ abstract class SessionBackend {
         return $this->update($id, $i['touched'] ? session_encode() : $data);
     }
 
+    function cleanup() {
+        $this->gc(0);
+    }
+
     abstract function read($id);
     abstract function update($id, $data);
     abstract function destroy($id);
@@ -178,10 +182,17 @@ extends SessionBackend {
 
     function read($id) {
         try {
-            $this->data = SessionData::objects()->filter([
-                'session_id' => $id,
-                'session_expire__gt' => SqlFunction::NOW(),
-            ])->one();
+            $this->data = SessionData::objects()
+              ->filter(['session_id' => $id])
+              ->annotate(array('is_expired' =>
+                new SqlExpr(new Q(array('session_expire__lt' => SqlFunction::NOW())))))
+              ->one();
+
+            if ($this->data->is_expired > 0) {
+                // session_expire is in the past. Pretend it is expired and
+                // reset the data. This will assist with CSRF issues
+                $this->data->session_data='';
+            }
             $this->id = $id;
         }
         catch (DoesNotExist $e) {
@@ -220,6 +231,10 @@ extends SessionBackend {
         return SessionData::objects()->filter(['session_id' => $id])->delete();
     }
 
+    function cleanup() {
+        self::gc(0);
+    }
+
     function gc($maxlife){
         SessionData::objects()->filter([
             'session_expire__lte' => SqlFunction::NOW()
diff --git a/include/class.page.php b/include/class.page.php
index c296e9feef025ddc7860c5fb6771d2397f8cdee4..3ea5ca0f98839dc5fcdc4638c5de515b492bc245 100644
--- a/include/class.page.php
+++ b/include/class.page.php
@@ -57,7 +57,7 @@ class Page extends VerySimpleModel {
         return $this->name;
     }
     function getLocalName($lang=false) {
-        return $this->getLocal('name', $lang);
+        return $this->_getLocal('name', $lang);
     }
     function getNameAsSlug() {
         return urlencode(Format::slugify($this->name));
diff --git a/include/class.report.php b/include/class.report.php
index d65fd1cc5a63fac47ff221763c104f148fc71c5d..999ae22fe0ac6c6e12a70edbb1bf6fc340f2611c 100644
--- a/include/class.report.php
+++ b/include/class.report.php
@@ -140,59 +140,69 @@ class OverviewReport {
         global $thisstaff;
 
         list($start, $stop) = $this->getDateRange();
-        $times = Ticket::objects()
+        $times = ThreadEvent::objects()
             ->constrain(array(
                 'thread__entries' => array(
-                    'thread__entries__type' => 'R'
-                ),
-            ))
-            ->aggregate(array(
-                'ServiceTime' => SqlAggregate::AVG(SqlFunction::DATEDIFF(
-                    new SqlField('closed'), new SqlField('created')
-                )),
-                'ResponseTime' => SqlAggregate::AVG(SqlFunction::DATEDIFF(
-                    new SqlField('thread__entries__created'), new SqlField('thread__entries__parent__created')
-                )),
-            ));
-
-        $stats = Ticket::objects()
+                    'thread__entries__type' => 'R',
+                    ),
+               ))
             ->constrain(array(
                 'thread__events' => array(
-                    'thread__events__annulled' => 0,
-                    'thread__events__timestamp__range' => array($start, $stop),
-                ),
-            ))
+                    'thread__events__state' => 'created',
+                    'state' => 'closed',
+                    'annulled' => 0,
+                    ),
+                ))
             ->aggregate(array(
-                'Opened' => SqlAggregate::COUNT(
-                    SqlCase::N()
-                        ->when(new Q(array('thread__events__state' => 'created')), 1)
-                ),
-                'Assigned' => SqlAggregate::COUNT(
-                    SqlCase::N()
-                        ->when(new Q(array('thread__events__state' => 'assigned')), 1)
-                ),
-                'Overdue' => SqlAggregate::COUNT(
-                    SqlCase::N()
-                        ->when(new Q(array('thread__events__state' => 'overdue')), 1)
-                ),
-                'Closed' => SqlAggregate::COUNT(
-                    SqlCase::N()
-                        ->when(new Q(array('thread__events__state' => 'closed')), 1)
-                ),
-                'Reopened' => SqlAggregate::COUNT(
-                    SqlCase::N()
-                        ->when(new Q(array('thread__events__state' => 'reopened')), 1)
+                'ServiceTime' => SqlAggregate::AVG(SqlFunction::timestampdiff(
+                  new SqlCode('HOUR'), new SqlField('thread__events__timestamp'), new SqlField('timestamp'))
                 ),
+                'ResponseTime' => SqlAggregate::AVG(SqlFunction::timestampdiff(
+                    new SqlCode('HOUR'),new SqlField('thread__entries__parent__created'), new SqlField('thread__entries__created')
+                )),
             ));
 
+            $stats = ThreadEvent::objects()
+                ->filter(array(
+                        'annulled' => 0,
+                        'timestamp__range' => array($start, $stop, true),
+                        'thread__object_type' => 'T',
+                   ))
+                ->aggregate(array(
+                    'Opened' => SqlAggregate::COUNT(
+                        SqlCase::N()
+                            ->when(new Q(array('state' => 'created')), 1)
+                    ),
+                    'Assigned' => SqlAggregate::COUNT(
+                        SqlCase::N()
+                            ->when(new Q(array('state' => 'assigned')), 1)
+                    ),
+                    'Overdue' => SqlAggregate::COUNT(
+                        SqlCase::N()
+                            ->when(new Q(array('state' => 'overdue')), 1)
+                    ),
+                    'Closed' => SqlAggregate::COUNT(
+                        SqlCase::N()
+                            ->when(new Q(array('state' => 'closed')), 1)
+                    ),
+                    'Reopened' => SqlAggregate::COUNT(
+                        SqlCase::N()
+                            ->when(new Q(array('state' => 'reopened')), 1)
+                    ),
+                    'Deleted' => SqlAggregate::COUNT(
+                        SqlCase::N()
+                            ->when(new Q(array('state' => 'deleted')), 1)
+                    ),
+                ));
+
         switch ($group) {
         case 'dept':
             $headers = array(__('Department'));
             $header = function($row) { return Dept::getLocalNameById($row['dept_id'], $row['dept__name']); };
-            $pk = 'dept_id';
+            $pk = 'dept__id';
             $stats = $stats
                 ->filter(array('dept_id__in' => $thisstaff->getDepts()))
-                ->values('dept__id', 'dept__name');
+                ->values('dept__id', 'dept__name', 'dept__flags');
             $times = $times
                 ->filter(array('dept_id__in' => $thisstaff->getDepts()))
                 ->values('dept__id');
@@ -202,8 +212,8 @@ class OverviewReport {
             $header = function($row) { return Topic::getLocalNameById($row['topic_id'], $row['topic__topic']); };
             $pk = 'topic_id';
             $stats = $stats
-                ->values('topic_id', 'topic__topic')
-                ->filter(array('topic_id__gt' => 0));
+                ->values('topic_id', 'topic__topic', 'topic__flags')
+                ->filter(array('dept_id__in' => $thisstaff->getDepts(), 'topic_id__gt' => 0));
             $times = $times
                 ->values('topic_id')
                 ->filter(array('topic_id__gt' => 0));
@@ -234,18 +244,34 @@ class OverviewReport {
         foreach ($times as $T) {
             $timings[$T[$pk]] = $T;
         }
-
         $rows = array();
         foreach ($stats as $R) {
+          if (isset($R['dept__flags'])) {
+            if ($R['dept__flags'] & Dept::FLAG_ARCHIVED)
+              $status = ' - '.__('Archived');
+            elseif ($R['dept__flags'] & Dept::FLAG_ACTIVE)
+              $status = '';
+            else
+              $status = ' - '.__('Disabled');
+          }
+          if (isset($R['topic__flags'])) {
+            if ($R['topic__flags'] & Topic::FLAG_ARCHIVED)
+              $status = ' - '.__('Archived');
+            elseif ($R['topic__flags'] & Topic::FLAG_ACTIVE)
+              $status = '';
+            else
+              $status = ' - '.__('Disabled');
+          }
+
             $T = $timings[$R[$pk]];
-            $rows[] = array($header($R), $R['Opened'], $R['Assigned'],
-                $R['Overdue'], $R['Closed'], $R['Reopened'],
+            $rows[] = array($header($R) . $status, $R['Opened'], $R['Assigned'],
+                $R['Overdue'], $R['Closed'], $R['Reopened'], $R['Deleted'],
                 number_format($T['ServiceTime'], 1),
                 number_format($T['ResponseTime'], 1));
         }
         return array("columns" => array_merge($headers,
                         array(__('Opened'),__('Assigned'),__('Overdue'),__('Closed'),__('Reopened'),
-                              __('Service Time'),__('Response Time'))),
+                              __('Deleted'),__('Service Time'),__('Response Time'))),
                      "data" => $rows);
     }
 }
diff --git a/include/class.staff.php b/include/class.staff.php
index 5a20d35b5b24e7618143a540f9b4883cc986de71..965b7d429910614015045bf49ead08db9e616237 100644
--- a/include/class.staff.php
+++ b/include/class.staff.php
@@ -449,23 +449,27 @@ implements AuthenticatedUser, EmailContact, TemplateVariable, Searchable {
         return isset($this->locale) ? $this->locale : 0;
     }
 
-    function getRole($dept=null, $useDefault=true) {
-        $deptId = is_object($dept) ? $dept->getId() : $dept;
-        if ($deptId && $deptId != $this->dept_id) {
-            if (isset($this->_roles[$deptId]))
-                return $this->_roles[$deptId];
+    function getRoles() {
+        if (!isset($this->_roles)) {
+            $this->_roles = array($this->dept_id => $this->role);
+            foreach($this->dept_access as $da)
+                $this->_roles[$da->dept_id] = $da->role;
+        }
 
-            if ($access = $this->dept_access->findFirst(array('dept_id' => $deptId)))
-                return $this->_roles[$deptId] = $access->role;
+        return $this->_roles;
+    }
 
-            if (!$useDefault || !$this->usePrimaryRoleOnAssignment())
-                // View only access
-                return new Role(array());
+    function getRole($dept=null) {
+        $deptId = is_object($dept) ? $dept->getId() : $dept;
+        $roles = $this->getRoles();
+        if (isset($roles[$deptId]))
+            return $roles[$deptId];
 
-            // Fall through to primary role
-        }
-        // For the primary department, use the primary role
-        return $this->role;
+        if ($this->usePrimaryRoleOnAssignment())
+            return $this->role;
+
+        // View only access
+        return new Role(array());
     }
 
     function hasPerm($perm, $global=true) {
@@ -494,10 +498,14 @@ implements AuthenticatedUser, EmailContact, TemplateVariable, Searchable {
         return TRUE;
     }
 
-    function isactive() {
+    function isActive() {
         return $this->isactive;
     }
 
+    function getStatus() {
+        return $this->isActive() ? __('Active') : __('Locked');
+    }
+
     function isVisible() {
          return $this->isvisible;
     }
@@ -507,7 +515,7 @@ implements AuthenticatedUser, EmailContact, TemplateVariable, Searchable {
     }
 
     function isAvailable() {
-        return ($this->isactive() && !$this->onVacation());
+        return ($this->isActive() && !$this->onVacation());
     }
 
     function showAssignedOnly() {
@@ -572,23 +580,6 @@ implements AuthenticatedUser, EmailContact, TemplateVariable, Searchable {
         $this->stats = array();
     }
 
-    /* returns staff's quick stats - used on nav menu...etc && warnings */
-    function getTicketsStats() {
-
-        if(!$this->stats['tickets'])
-            $this->stats['tickets'] = Ticket::getStaffStats($this);
-
-        return  $this->stats['tickets'];
-    }
-
-    function getNumAssignedTickets() {
-        return ($stats=$this->getTicketsStats())?$stats['assigned']:0;
-    }
-
-    function getNumClosedTickets() {
-        return ($stats=$this->getTicketsStats())?$stats['closed']:0;
-    }
-
     function getTasksStats() {
 
         if (!$this->stats['tasks'])
@@ -1039,6 +1030,10 @@ implements AuthenticatedUser, EmailContact, TemplateVariable, Searchable {
         if(!$vars['role_id'])
             $errors['role_id']=__('Role for primary department is required');
 
+        $dept = Dept::lookup($vars['dept_id']);
+        if($dept && !$dept->isActive())
+          $errors['dept_id'] = sprintf(__('%s selected must be active'), __('Department'));
+
         // Ensure we will still have an administrator with access
         if ($vars['isadmin'] !== '1' || $vars['islocked'] === '1') {
             $sql = 'select count(*), max(staff_id) from '.STAFF_TABLE
@@ -1174,6 +1169,15 @@ implements AuthenticatedUser, EmailContact, TemplateVariable, Searchable {
         return true;
     }
 
+    static function export($criteria=null, $filename='') {
+        include_once(INCLUDE_DIR.'class.error.php');
+
+        $agents = Staff::objects();
+        // Sort based on name formating
+        $agents = self::nsort($agents);
+        Export::agents($agents, $filename);
+    }
+
 }
 
 interface RestrictedAccess {
diff --git a/include/class.task.php b/include/class.task.php
index 7cb0aab791dd552a0c4330d4931477a94c08f8cd..d3a09b9b5bdea2789b762d72fbfb8512f52efca9 100644
--- a/include/class.task.php
+++ b/include/class.task.php
@@ -1254,6 +1254,8 @@ class Task extends TaskModel implements RestrictedAccess, Threadable {
                     $thisstaff);
         }
 
+        $this->updated = SqlFunction::NOW();
+
         if ($changes)
             $this->logEvent('edited', array('fields' => $changes));
 
@@ -1338,7 +1340,7 @@ class Task extends TaskModel implements RestrictedAccess, Threadable {
         if (!parent::delete())
             return false;
 
-        $thread->delete();
+        $this->logEvent('deleted');
 
         Draft::deleteForNamespace('task.%.' . $this->getId());
 
diff --git a/include/class.thread.php b/include/class.thread.php
index 99ce210cbba6dfa26ed44b377aa4b6402398440e..069b87c33ed7ec74584d7f1821d3e8120cba6b5c 100644
--- a/include/class.thread.php
+++ b/include/class.thread.php
@@ -134,7 +134,7 @@ implements Searchable {
         $collaborators = $this->getCollaborators();
         $active = array();
         foreach ($collaborators as $c) {
-          if ($c->isactive())
+          if ($c->isActive())
             $active[] = $c;
         }
         return $active;
@@ -360,8 +360,8 @@ implements Searchable {
         if ($type && is_array($type)) {
           $visibility = Q::all(array('type__in' => $type));
 
-          if ($type['poster']) {
-            $visibility->add(array('poster__exact' => $type['poster']));
+          if ($type['user_id']) {
+            $visibility->add(array('user_id' => $type['user_id']));
             $visibility->ored = true;
           }
 
@@ -1837,6 +1837,12 @@ class ThreadEvent extends VerySimpleModel {
                 ),
                 'null' => true,
             ),
+            'topic' => array(
+                'constraint' => array(
+                    'topic_id' => 'Topic.topic_id',
+                ),
+                'null' => true,
+            ),
         ),
     );
 
@@ -1895,15 +1901,16 @@ class ThreadEvent extends VerySimpleModel {
         return $this->template(sprintf(
             __('%s by {somebody} {timestamp}'),
             $this->state
-        ));
+        ), $mode);
     }
 
-    function template($description) {
+    function template($description, $mode=self::MODE_STAFF) {
         global $thisstaff, $cfg;
 
         $self = $this;
+        $hideName = $cfg->hideStaffName();
         return preg_replace_callback('/\{(<(?P<type>([^>]+))>)?(?P<key>[^}.]+)(\.(?P<data>[^}]+))?\}/',
-            function ($m) use ($self, $thisstaff, $cfg) {
+            function ($m) use ($self, $thisstaff, $cfg, $hideName, $mode) {
                 switch ($m['key']) {
                 case 'assignees':
                     $assignees = array();
@@ -1919,7 +1926,10 @@ class ThreadEvent extends VerySimpleModel {
                     }
                     return implode('/', $assignees);
                 case 'somebody':
-                    $name = $self->getUserName();
+                    if ($hideName && $self->agent && $mode == self::MODE_CLIENT)
+                        $name = __('Staff');
+                    else
+                        $name = $self->getUserName();
                     if ($cfg->isAvatarsEnabled()
                             && ($avatar = $self->getAvatar()))
                         $name = $avatar.$name;
@@ -2003,8 +2013,15 @@ class ThreadEvent extends VerySimpleModel {
     }
 
     static function forTicket($ticket, $state, $user=false) {
+      global $thisstaff;
+
+      if($thisstaff && !$ticket->getStaffId())
+        $staff = $thisstaff->getId();
+      else
+        $staff = $ticket->getStaffId();
+
         $inst = self::create(array(
-            'staff_id' => $ticket->getStaffId(),
+            'staff_id' => $staff,
             'team_id' => $ticket->getTeamId(),
             'dept_id' => $ticket->getDeptId(),
             'topic_id' => $ticket->getTopicId(),
@@ -2012,6 +2029,15 @@ class ThreadEvent extends VerySimpleModel {
         return $inst;
     }
 
+    static function forTask($task, $state, $user=false) {
+        $inst = self::create(array(
+            'staff_id' => $task->getStaffId(),
+            'team_id' => $task->getTeamId(),
+            'dept_id' => $task->getDeptId(),
+        ), $user);
+        return $inst;
+    }
+
     function getTypedEvent() {
         static $subclasses;
 
@@ -2055,8 +2081,8 @@ class ThreadEvents extends InstrumentedList {
         if ($object instanceof Ticket)
             // TODO: Use $object->createEvent() (nolint)
             $event = ThreadEvent::forTicket($object, $state, $user);
-        else
-            $event = ThreadEvent::create(false, $user);
+        elseif ($object instanceof Task)
+            $event = ThreadEvent::forTask($object, $state, $user);
 
         # Annul previous entries if requested (for instance, reopening a
         # ticket will annul an 'closed' entry). This will be useful to
@@ -2153,9 +2179,9 @@ class CloseEvent extends ThreadEvent {
 
     function getDescription($mode=self::MODE_STAFF) {
         if ($this->getData('status'))
-            return $this->template(__('Closed by <b>{somebody}</b> with status of {<TicketStatus>data.status} {timestamp}'));
+            return $this->template(__('Closed by <b>{somebody}</b> with status of {<TicketStatus>data.status} {timestamp}'), $mode);
         else
-            return $this->template(__('Closed by <b>{somebody}</b> {timestamp}'));
+            return $this->template(__('Closed by <b>{somebody}</b> {timestamp}'), $mode);
     }
 }
 
@@ -2212,7 +2238,7 @@ class CollaboratorEvent extends ThreadEvent {
                 : 'somebody';
             break;
         }
-        return $this->template($desc);
+        return $this->template($desc, $mode);
     }
 }
 
@@ -2221,7 +2247,7 @@ class CreationEvent extends ThreadEvent {
     static $state = 'created';
 
     function getDescription($mode=self::MODE_STAFF) {
-        return $this->template(__('Created by <b>{somebody}</b> {timestamp}'));
+        return $this->template(__('Created by <b>{somebody}</b> {timestamp}'), $mode);
     }
 }
 
@@ -2303,7 +2329,7 @@ class EditEvent extends ThreadEvent {
             break;
         }
 
-        return $this->template($desc);
+        return $this->template($desc, $mode);
     }
 }
 
@@ -2321,7 +2347,7 @@ class ReopenEvent extends ThreadEvent {
     static $state = 'reopened';
 
     function getDescription($mode=self::MODE_STAFF) {
-        return $this->template(__('Reopened by <b>{somebody}</b> {timestamp}'));
+        return $this->template(__('Reopened by <b>{somebody}</b> {timestamp}'), $mode);
     }
 }
 
@@ -2829,6 +2855,7 @@ implements TemplateVariable {
 
         $vars['threadId'] = $this->getId();
         $vars['userId'] = 0;
+        $vars['pid'] = $this->getLastMessage()->id;
 
         if (!($resp = ResponseThreadEntry::add($vars, $errors)))
             return $resp;
diff --git a/include/class.ticket.php b/include/class.ticket.php
index 4b7e455fed6b7162050e841719a5f81e13ee5a88..a6ed0915df61141e13fd89f210f7a69805cf785e 100644
--- a/include/class.ticket.php
+++ b/include/class.ticket.php
@@ -207,7 +207,9 @@ implements RestrictedAccess, Threadable, Searchable {
     }
 
     function isReopenable() {
-        return $this->getStatus()->isReopenable();
+        return ($this->getStatus()->isReopenable()
+          && $this->getDept()->allowsReopen()
+        && $this->getTopic()->allowsReopen());
     }
 
     function isClosed() {
@@ -220,7 +222,7 @@ implements RestrictedAccess, Threadable, Searchable {
             return true;
 
         $warning = null;
-        if ($this->getMissingRequiredFields()) {
+        if (self::getMissingRequiredFields($this)) {
             $warning = sprintf(
                     __( '%1$s is missing data on %2$s one or more required fields %3$s and cannot be closed'),
                     __('This ticket'),
@@ -983,7 +985,9 @@ implements RestrictedAccess, Threadable, Searchable {
                 'label' => __('Due Date'),
                 'hint' => $hint,
                 'configuration' => array(
+                    'min' => Misc::gmtime(),
                     'time' => true,
+                    'gmt' => false,
                     'future' => true,
                     )
                 ));
@@ -1018,17 +1022,31 @@ implements RestrictedAccess, Threadable, Searchable {
         }
     }
 
-    function getMissingRequiredFields() {
+    static function getMissingRequiredFields($ticket) {
+        // Check for fields disabled by Help Topic
+        $disabled = array();
+        foreach ($ticket->entries as $entry) {
+            $extra = JsonDataParser::decode($entry->extra);
+            if (!empty($extra['disable']))
+                $disabled[] = $extra['disable'];
+        }
+        $disabled = !empty($disabled) ? call_user_func_array('array_merge', $disabled) : NULL;
 
-        return $this->getDynamicFields(array(
+        $criteria = array(
                     'answers__field__flags__hasbit' => DynamicFormField::FLAG_ENABLED,
                     'answers__field__flags__hasbit' => DynamicFormField::FLAG_CLOSE_REQUIRED,
                     'answers__value__isnull' => true,
-                    ));
+                    );
+
+        // If there are disabled fields then exclude them
+        if ($disabled)
+            array_push($criteria, Q::not(array('answers__field__id__in' => $disabled)));
+
+        return $ticket->getDynamicFields($criteria, $ticket);
     }
 
     function getMissingRequiredField() {
-        $fields = $this->getMissingRequiredFields();
+        $fields = self::getMissingRequiredFields($this);
         return $fields ? $fields[0] : null;
     }
 
@@ -1962,7 +1980,7 @@ implements RestrictedAccess, Threadable, Searchable {
                 return new FormattedDate($this->getCloseDate());
             break;
         case 'last_update':
-            return new FormattedDate($this->last_update);
+            return new FormattedDate($this->lastupdate);
         case 'user':
             return $this->getOwner();
         default:
@@ -3068,7 +3086,7 @@ implements RestrictedAccess, Threadable, Searchable {
         if (!parent::delete())
             return false;
 
-        $t->delete();
+        $this->logEvent('deleted');
 
         foreach (DynamicFormEntry::forTicket($this->getId()) as $form)
             $form->delete();
@@ -3144,6 +3162,10 @@ implements RestrictedAccess, Threadable, Searchable {
             $errors['source'] = sprintf( __('Invalid source given - %s'),
                     Format::htmlchars($vars['source']));
 
+        $topic = Topic::lookup($vars['topicId']);
+        if($topic && !$topic->isActive())
+          $errors['topicId']= sprintf(__('%s selected must be active'), __('Help Topic'));
+
         // Validate dynamic meta-data
         $forms = DynamicFormEntry::forTicket($this->getId());
         foreach ($forms as $form) {
@@ -3261,9 +3283,15 @@ implements RestrictedAccess, Threadable, Searchable {
                 // Convert duedate to DB timezone.
                 if ($fid == 'duedate'
                         && ($dt = Format::parseDateTime($val))) {
-                    $dt->setTimezone(new DateTimeZone($cfg->getDbTimezone()));
-                    $val = $dt->format('Y-m-d H:i:s');
+                          // Make sure the due date is valid
+                          if (Misc::user2gmtime($val) <= Misc::user2gmtime())
+                              $errors['field']=__('Due date must be in the future');
+                          else {
+                              $dt->setTimezone(new DateTimeZone($cfg->getDbTimezone()));
+                              $val = $dt->format('Y-m-d H:i:s');
+                          }
                 }
+
                 $changes = array();
                 $this->{$fid} = $val;
                 foreach ($this->dirty as $F=>$old) {
@@ -3346,46 +3374,6 @@ implements RestrictedAccess, Threadable, Searchable {
 	return ($num === 0);
     }
 
-    /* Quick staff's tickets stats */
-    function getStaffStats($staff) {
-        global $cfg;
-
-        /* Unknown or invalid staff */
-        if(!$staff || (!is_object($staff) && !($staff=Staff::lookup($staff))) || !$staff->isStaff())
-            return null;
-
-        $visibility = $staff->getTicketsVisibility();
-
-        $blocks = Ticket::objects()
-            ->filter(Q::any($visibility))
-            ->filter(array('status__state' => 'open'))
-            ->aggregate(array('count' => SqlAggregate::COUNT('ticket_id')))
-            ->values('status__state', 'isanswered', 'isoverdue','staff_id', 'team_id');
-
-        $stats = array();
-        $id = $staff->getId();
-        foreach ($blocks as $S) {
-            if ($showanswered || !$S['isanswered']) {
-                if (!($hideassigned && ($S['staff_id'] || $S['team_id'])))
-                    $stats['open'] += $S['count'];
-            }
-            else {
-                $stats['answered'] += $S['count'];
-            }
-            if ($S['isoverdue'])
-                $stats['overdue'] += $S['count'];
-            if ($S['staff_id'] == $id)
-                $stats['assigned'] += $S['count'];
-            elseif ($S['team_id']
-                    && $S['staff_id'] == 0
-                    && $teams
-                    && in_array($S['team_id'], $teams))
-                // Assigned to my team but uassigned to an agent
-                $stats['assigned'] += $S['count'];
-        }
-        return $stats;
-    }
-
     /* Quick client's tickets stats
        @email - valid email.
      */
@@ -3744,6 +3732,10 @@ implements RestrictedAccess, Threadable, Searchable {
             elseif (!isset($vars['teamId']) && $topic->getTeamId())
                 $vars['teamId'] = $topic->getTeamId();
 
+            // Unset slaId if 0 to use the Help Topic SLA or Default SLA
+            if ($vars['slaId'] == 0)
+                unset($vars['slaId']);
+
             //set default sla.
             if (isset($vars['slaId']))
                 $vars['slaId'] = $vars['slaId'] ?: $cfg->getDefaultSLAId();
@@ -4033,11 +4025,12 @@ implements RestrictedAccess, Threadable, Searchable {
             $vars['response'] = $ticket->replaceVars($vars['response']);
             // $vars['cannedatachments'] contains the attachments placed on
             // the response form.
-            $response = $ticket->postReply($vars, $errors, false);
+            $response = $ticket->postReply($vars, $errors,
+                    !isset($vars['alertuser']));
         }
 
         // Not assigned...save optional note if any
-        if (!$vars['assignId'] && $vars['note']) {
+        if (!$ticket->isAssigned() && $vars['note']) {
             if (!$cfg->isRichTextEnabled()) {
                 $vars['note'] = new TextThreadEntryBody($vars['note']);
             }
@@ -4055,7 +4048,15 @@ implements RestrictedAccess, Threadable, Searchable {
             && ($msg=$tpl->getNewTicketNoticeMsgTemplate())
             && ($email=$dept->getEmail())
         ) {
-            $message = (string) $ticket->getLastMessage();
+           $attachments = array();
+           $message = $ticket->getLastMessage();
+           if ($cfg->emailAttachments()) {
+               $attachments = $message->getAttachments();
+               if ($response && $response->getNumAttachments())
+                 $attachments = $attachments->merge($response->getAttachments());
+           }
+
+            $message = (string) $message;
             if ($response) {
                 $message .= ($cfg->isRichTextEnabled()) ? "<br><br>" : "\n\n";
                 $message .= $response->getBody();
@@ -4068,9 +4069,6 @@ implements RestrictedAccess, Threadable, Searchable {
             else
                 $signature='';
 
-            $attachments = ($cfg->emailAttachments() && $response)
-                ? $response->getAttachments() : array();
-
             $msg = $ticket->replaceVars($msg->asArray(),
                 array(
                     'message'   => $message,
diff --git a/include/class.topic.php b/include/class.topic.php
index a08ad5c830b3268a04cf6f754c3718f2305a6bba..84a1c9d47d85892d62ef4c44976ade79c33afcee 100644
--- a/include/class.topic.php
+++ b/include/class.topic.php
@@ -67,6 +67,8 @@ implements TemplateVariable, Searchable {
     const FORM_USE_PARENT = 4294967295;
 
     const FLAG_CUSTOM_NUMBERS = 0x0001;
+    const FLAG_ACTIVE = 0x0002;
+    const FLAG_ARCHIVED = 0x0004;
 
     const SORT_ALPHA = 'a';
     const SORT_MANUAL = 'm';
@@ -136,6 +138,11 @@ implements TemplateVariable, Searchable {
         return $this->dept_id;
     }
 
+    function getDept() {
+
+        return $this->getDeptId() ? Dept::lookup($this->getDeptId()) : null;
+    }
+
     function getSLAId() {
         return $this->sla_id;
     }
@@ -184,30 +191,35 @@ implements TemplateVariable, Searchable {
         return $this->isActive();
     }
 
-    /**
-     * Determine if the help topic is currently enabled. The ancestry of
-     * this topic will be considered to see if any of the parents are
-     * disabled. If any are disabled, then this topic will be considered
-     * disabled.
-     *
-     * Parameters:
-     * $chain - array<id:bool> recusion chain used to detect loops. The
-     *      chain should be maintained and passed to a parent's ::isActive()
-     *      method. When consulting a parent, if the local topic ID is a key
-     *      in the chain, then this topic has already been considered, and
-     *      there is a loop in the ancestry
-     */
-    function isActive(array $chain=array()) {
-        if (!$this->isactive)
-            return false;
+    function isActive()
+    {
+      return !!($this->flags & self::FLAG_ACTIVE);
+    }
 
-        if (!isset($chain[$this->getId()]) && ($p = $this->getParent())) {
-            $chain[$this->getId()] = true;
-            return $p->isActive($chain);
-        }
-        else {
-            return $this->isactive;
+    function clearInactiveTopic($topic_id) {
+      global $cfg;
+
+      $emails = Email::objects()->filter(array('topic_id'=>$topic_id))->values_flat('email_id');
+      if ($emails) {
+        foreach ($emails as $email_id) {
+          $email = Email::lookup($email_id[0]);
+          $email->topic_id = $cfg->getDefaultTopicId();
+          $email->save();
         }
+      }
+    }
+
+    function getStatus() {
+      if($this->flags & self::FLAG_ACTIVE)
+        return 'Active';
+      elseif($this->flags & self::FLAG_ARCHIVED)
+        return 'Archived';
+      else
+        return 'Disabled';
+    }
+
+    function allowsReopen() {
+      return !($this->flags & self::FLAG_ARCHIVED);
     }
 
     function isPublic() {
@@ -221,6 +233,7 @@ implements TemplateVariable, Searchable {
     function getInfo() {
         $base = $this->getHashtable();
         $base['custom-numbers'] = $this->hasFlag(self::FLAG_CUSTOM_NUMBERS);
+        $base['status'] = $this->getStatus();
         return $base;
     }
 
@@ -303,75 +316,91 @@ implements TemplateVariable, Searchable {
         return $topic;
     }
 
-    static function getHelpTopics($publicOnly=false, $disabled=false, $localize=true) {
-        global $cfg;
-        static $topics, $names = array();
-
-        // If localization is specifically requested, then rebuild the list.
-        if (!$names || $localize) {
-            $objects = self::objects()->values_flat(
-                'topic_id', 'topic_pid', 'ispublic', 'isactive', 'topic'
-            )
-            ->order_by('sort');
-
-            // Fetch information for all topics, in declared sort order
-            $topics = array();
-            foreach ($objects as $T) {
-                list($id, $pid, $pub, $act, $topic) = $T;
-                $topics[$id] = array('pid'=>$pid, 'public'=>$pub,
-                    'disabled'=>!$act, 'topic'=>$topic);
-            }
-
-            $localize_this = function($id, $default) use ($localize) {
-                if (!$localize)
-                    return $default;
-
-                $tag = _H("topic.name.{$id}");
-                $T = CustomDataTranslation::translate($tag);
-                return $T != $tag ? $T : $default;
-            };
-
-            // Resolve parent names
-            foreach ($topics as $id=>$info) {
-                $name = $localize_this($id, $info['topic']);
-                $loop = array($id=>true);
-                $parent = false;
-                while (($pid = $info['pid']) && ($info = $topics[$info['pid']])) {
-                    $name = sprintf('%s / %s', $localize_this($pid, $info['topic']),
-                        $name);
-                    if ($parent && $parent['disabled'])
-                        // Cascade disabled flag
-                        $topics[$id]['disabled'] = true;
-                    if (isset($loop[$info['pid']]))
-                        break;
-                    $loop[$info['pid']] = true;
-                    $parent = $info;
-                }
-                $names[$id] = $name;
-            }
-        }
-
-        // Apply requested filters
-        $requested_names = array();
-        foreach ($names as $id=>$n) {
-            $info = $topics[$id];
-            if ($publicOnly && !$info['public'])
-                continue;
-            if (!$disabled && $info['disabled'])
-                continue;
-            if ($disabled === self::DISPLAY_DISABLED && $info['disabled'])
-                $n .= " - ".__("(disabled)");
-            $requested_names[$id] = $n;
-        }
+    /**
+     * setFlag
+     *
+     * Utility method to set/unset flag bits
+     *
+     */
+    public function setFlag($flag, $val) {
 
-        // If localization requested and the current locale is not the
-        // primary, the list may need to be sorted. Caching is ok here,
-        // because the locale is not going to be changed within a single
-        // request.
-        if ($localize && $cfg->getTopicSortMode() == self::SORT_ALPHA)
-            return Internationalization::sortKeyedList($requested_names);
+        if ($val)
+            $this->flags |= $flag;
+        else
+            $this->flags &= ~$flag;
+    }
 
-        return $requested_names;
+    static function getHelpTopics($publicOnly=false, $disabled=false, $localize=true) {
+      global $cfg;
+      static $topics, $names = array();
+
+      // If localization is specifically requested, then rebuild the list.
+      if (!$names || $localize) {
+          $objects = self::objects()->values_flat(
+              'topic_id', 'topic_pid', 'ispublic', 'flags', 'topic'
+          )
+          ->order_by('sort');
+
+          // Fetch information for all topics, in declared sort order
+          $topics = array();
+          foreach ($objects as $T) {
+              list($id, $pid, $pub, $flags, $topic) = $T;
+
+              $display = ($flags & self::FLAG_ACTIVE);
+              $topics[$id] = array('pid'=>$pid, 'public'=>$pub,
+                  'disabled'=>!$display, 'topic'=>$topic);
+          }
+
+          $localize_this = function($id, $default) use ($localize) {
+              if (!$localize)
+                  return $default;
+
+              $tag = _H("topic.name.{$id}");
+              $T = CustomDataTranslation::translate($tag);
+              return $T != $tag ? $T : $default;
+          };
+
+          // Resolve parent names
+          foreach ($topics as $id=>$info) {
+              $name = $localize_this($id, $info['topic']);
+              $loop = array($id=>true);
+              $parent = false;
+              while (($pid = $info['pid']) && ($info = $topics[$info['pid']])) {
+                  $name = sprintf('%s / %s', $localize_this($pid, $info['topic']),
+                      $name);
+                  if ($parent && $parent['disabled'])
+                      // Cascade disabled flag
+                      $topics[$id]['disabled'] = true;
+                  if (isset($loop[$info['pid']]))
+                      break;
+                  $loop[$info['pid']] = true;
+                  $parent = $info;
+              }
+              $names[$id] = $name;
+          }
+      }
+
+      // Apply requested filters
+      $requested_names = array();
+      foreach ($names as $id=>$n) {
+          $info = $topics[$id];
+          if ($publicOnly && !$info['public'])
+              continue;
+          if (!$disabled && $info['disabled'])
+              continue;
+          if ($disabled === self::DISPLAY_DISABLED && $info['disabled'])
+              $n .= " - ".__("(disabled)");
+          $requested_names[$id] = $n;
+      }
+
+      // If localization requested and the current locale is not the
+      // primary, the list may need to be sorted. Caching is ok here,
+      // because the locale is not going to be changed within a single
+      // request.
+      if ($localize && $cfg->getTopicSortMode() == self::SORT_ALPHA)
+          return Internationalization::sortKeyedList($requested_names);
+
+      return $requested_names;
     }
 
     static function getPublicHelpTopics() {
@@ -413,6 +442,10 @@ implements TemplateVariable, Searchable {
                 && (!isset($this->topic_id) || $tid!=$this->getId()))
             $errors['topic']=__('Topic already exists');
 
+          $dept = Dept::lookup($vars['dept_id']);
+          if($dept && !$dept->isActive())
+            $errors['dept_id'] = sprintf(__('%s selected must be active'), __('Department'));
+
         if (!is_numeric($vars['dept_id']))
             $errors['dept_id']=__('Department selection is required');
 
@@ -430,14 +463,37 @@ implements TemplateVariable, Searchable {
         $this->status_id = $vars['status_id'] ?: 0;
         $this->sla_id = $vars['sla_id'] ?: 0;
         $this->page_id = $vars['page_id'] ?: 0;
-        $this->isactive = !!$vars['isactive'];
-        $this->ispublic = !!$vars['ispublic'];
+        $this->isactive = $vars['isactive'];
+        $this->ispublic = $vars['ispublic'];
         $this->sequence_id = $vars['custom-numbers'] ? $vars['sequence_id'] : 0;
         $this->number_format = $vars['custom-numbers'] ? $vars['number_format'] : '';
-        $this->flags = $vars['custom-numbers'] ? self::FLAG_CUSTOM_NUMBERS : 0;
+        $this->flags = $vars['custom-numbers'] ? self::FLAG_CUSTOM_NUMBERS : $this->flags;
         $this->noautoresp = !!$vars['noautoresp'];
         $this->notes = Format::sanitize($vars['notes']);
 
+        $filter_actions = FilterAction::objects()->filter(array('type' => 'topic', 'configuration' => '{"topic_id":'. $this->getId().'}'));
+        if ($filter_actions && $vars['status'] == __('Active'))
+          FilterAction::setFilterFlag($filter_actions, 'topic', false);
+        else
+          FilterAction::setFilterFlag($filter_actions, 'topic', true);
+
+        switch ($vars['status']) {
+          case __('Active'):
+            $this->setFlag(self::FLAG_ACTIVE, true);
+            $this->setFlag(self::FLAG_ARCHIVED, false);
+            break;
+
+          case __('Disabled'):
+            $this->setFlag(self::FLAG_ACTIVE, false);
+            $this->setFlag(self::FLAG_ARCHIVED, false);
+            break;
+
+          case __('Archived'):
+            $this->setFlag(self::FLAG_ACTIVE, false);
+            $this->setFlag(self::FLAG_ARCHIVED, true);
+            break;
+        }
+
         //Auto assign ID is overloaded...
         if ($vars['assign'] && $vars['assign'][0] == 's') {
             $this->team_id = 0;
diff --git a/include/class.user.php b/include/class.user.php
index 4edb3d7a29a0986fa9e66fe782b0f3d6cce21081..dcd04b9c5d59f2bc6c02f4e54c8e928a26c647d5 100644
--- a/include/class.user.php
+++ b/include/class.user.php
@@ -426,16 +426,19 @@ implements TemplateVariable, Searchable {
     function getFilterData() {
         $vars = array();
         foreach ($this->getDynamicData() as $entry) {
-            if ($entry->getDynamicForm()->get('type') != 'U')
-                continue;
             $vars += $entry->getFilterData();
+
             // Add in special `name` and `email` fields
+            if ($entry->getDynamicForm()->get('type') != 'U')
+                continue;
+
             foreach (array('name', 'email') as $name) {
                 if ($f = $entry->getField($name))
                     $vars['field.'.$f->get('id')] =
                         $name == 'name' ? $this->getName() : $this->getEmail();
             }
         }
+
         return $vars;
     }
 
diff --git a/include/client/faq-category.inc.php b/include/client/faq-category.inc.php
index 3ce0b7230dcdff9e3ded235c902b8db55b2f9315..9be22c702280e1d380b343f85eb00dd0acdaba0f 100644
--- a/include/client/faq-category.inc.php
+++ b/include/client/faq-category.inc.php
@@ -1,14 +1,26 @@
 <?php
 if(!defined('OSTCLIENTINC') || !$category || !$category->isPublic()) die('Access Denied');
 ?>
-
 <div class="row">
 <div class="span8">
-    <h1><?php echo __('Frequently Asked Questions');?></h1>
-    <h2><strong><?php echo $category->getLocalName() ?></strong></h2>
+    <h1><?php echo $category->getFullName(); ?></h1>
 <p>
 <?php echo Format::safe_html($category->getLocalDescriptionWithImages()); ?>
 </p>
+<?php
+
+if (($subs=$category->getSubCategories(array('public' => true)))) {
+    echo '<div>';
+    foreach ($subs as $c) {
+        echo sprintf('<div><i class="icon-folder-open-alt"></i>
+                <a href="faq.php?cid=%d">%s (%d)</a></div>',
+                $c->getId(),
+                $c->getLocalName(),
+                $c->getNumFAQs()
+                );
+    }
+    echo '</div>';
+} ?>
 <hr>
 <?php
 $faqs = FAQ::objects()
@@ -22,7 +34,7 @@ $faqs = FAQ::objects()
 
 if ($faqs->exists(true)) {
     echo '
-         <h2>'.__('Further Articles').'</h2>
+         <h2>'.__('Frequently Asked Questions').'</h2>
          <div id="faq">
             <ol>';
 foreach ($faqs as $F) {
@@ -33,7 +45,7 @@ foreach ($faqs as $F) {
     }
     echo '  </ol>
          </div>';
-}else {
+} elseif (!$category->children) {
     echo '<strong>'.__('This category does not have any FAQs.').' <a href="index.php">'.__('Back To Index').'</a></strong>';
 }
 ?>
@@ -55,6 +67,7 @@ foreach ($faqs as $F) {
 <?php
 foreach (Topic::objects()
     ->filter(array('faqs__faq__category__category_id'=>$category->getId()))
+    ->distinct('topic_id')
     as $t) { ?>
         <a href="?topicId=<?php echo urlencode($t->getId()); ?>"
             ><?php echo $t->getFullName(); ?></a>
diff --git a/include/client/faq.inc.php b/include/client/faq.inc.php
index c904315623347873b911304207d4b505904b768f..9bc723a6e61c4dfbdf9571ce215c8f132e22b0e7 100644
--- a/include/client/faq.inc.php
+++ b/include/client/faq.inc.php
@@ -7,10 +7,11 @@ $category=$faq->getCategory();
 <div class="row">
 <div class="span8">
 
-<h1><?php echo __('Frequently Asked Questions');?></h1>
-<div id="breadcrumbs">
+<h1><?php echo __('Frequently Asked Question');?></h1>
+<div id="breadcrumbs" style="padding-top:2px;">
     <a href="index.php"><?php echo __('All Categories');?></a>
-    &raquo; <a href="faq.php?cid=<?php echo $category->getId(); ?>"><?php echo $category->getName(); ?></a>
+    &raquo; <a href="faq.php?cid=<?php echo $category->getId(); ?>"><?php
+    echo $category->getFullName(); ?></a>
 </div>
 
 <div class="faq-content">
@@ -18,7 +19,7 @@ $category=$faq->getCategory();
 <?php echo $faq->getLocalQuestion() ?>
 </div>
 <div class="faded"><?php echo sprintf(__('Last Updated %s'),
-    Format::relativeTime(Misc::db2gmtime($category->getUpdateDate()))); ?></div>
+    Format::relativeTime(Misc::db2gmtime($faq->getUpdateDate()))); ?></div>
 <br/>
 <div class="thread-body bleed">
 <?php echo $faq->getLocalAnswerWithImages(); ?>
diff --git a/include/client/footer.inc.php b/include/client/footer.inc.php
index 9521fbfc73a61d03735241bf4a6890b98c13b4a0..37369a7d3e131766679266cb346f8bcc83bb9931 100644
--- a/include/client/footer.inc.php
+++ b/include/client/footer.inc.php
@@ -1,7 +1,7 @@
         </div>
     </div>
     <div id="footer">
-        <p>Copyright &copy; <?php echo date('Y'); ?> <?php echo (string) $ost->company ?: 'osTicket.com'; ?> - All rights reserved.</p>
+        <p><?php echo __('Copyright &copy;'); ?> <?php echo date('Y'); ?> <?php echo (string) $ost->company ?: 'osTicket.com'; ?> - <?php echo __('All rights reserved.'); ?></p>
         <a id="poweredBy" href="http://osticket.com" target="_blank"><?php echo __('Helpdesk software - powered by osTicket'); ?></a>
     </div>
 <div id="overlay"></div>
diff --git a/include/client/header.inc.php b/include/client/header.inc.php
index 2e93d012db87de7f2fa984e12b6110dcef13be4b..30b0273c5d33d8e5d1c410a5af4a1d8c32319d46 100644
--- a/include/client/header.inc.php
+++ b/include/client/header.inc.php
@@ -42,6 +42,9 @@ if ($lang) {
     <link type="text/css" rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/flags.css">
     <link type="text/css" rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/rtl.css"/>
     <link type="text/css" rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/select2.min.css">
+    <!-- Favicons -->
+    <link rel="icon" type="image/png" href="<?php echo ROOT_PATH ?>images/oscar-favicon-32x32.png" sizes="32x32" />
+    <link rel="icon" type="image/png" href="<?php echo ROOT_PATH ?>images/oscar-favicon-16x16.png" sizes="16x16" />
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-1.11.2.min.js"></script>
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-ui-1.10.3.custom.min.js"></script>
     <script src="<?php echo ROOT_PATH; ?>js/osticket.js"></script>
@@ -115,7 +118,7 @@ if (($all_langs = Internationalization::getConfiguredSystemLanguages())
         list($lang, $locale) = explode('_', $code);
         $qs['lang'] = $code;
 ?>
-        <a class="flag flag-<?php echo strtolower($locale ?: $info['flag'] ?: $lang); ?>"
+        <a class="flag flag-<?php echo strtolower($info['flag'] ?: $locale ?: $lang); ?>"
             href="?<?php echo http_build_query($qs);
             ?>" title="<?php echo Internationalization::getLanguageDescription($code); ?>">&nbsp;</a>
 <?php }
diff --git a/include/client/kb-categories.inc.php b/include/client/kb-categories.inc.php
index c4df171c59d466adc540111ee315b4a559499ad6..666ea557d11d8d48a0a6395a37df04f61ffb44a8 100644
--- a/include/client/kb-categories.inc.php
+++ b/include/client/kb-categories.inc.php
@@ -4,23 +4,64 @@
     $categories = Category::objects()
         ->exclude(Q::any(array(
             'ispublic'=>Category::VISIBILITY_PRIVATE,
-            'faqs__ispublished'=>FAQ::VISIBILITY_PRIVATE,
+            Q::all(array(
+                    'faqs__ispublished'=>FAQ::VISIBILITY_PRIVATE,
+                    'children__ispublic' => Category::VISIBILITY_PRIVATE,
+                    'children__faqs__ispublished'=>FAQ::VISIBILITY_PRIVATE,
+                    ))
         )))
-        ->annotate(array('faq_count'=>SqlAggregate::COUNT('faqs')))
-        ->filter(array('faq_count__gt'=>0));
+        //->annotate(array('faq_count'=>SqlAggregate::COUNT('faqs__ispublished')));
+        ->annotate(array('faq_count' => SqlAggregate::COUNT(
+                        SqlCase::N()
+                        ->when(array(
+                                'faqs__ispublished__gt'=> FAQ::VISIBILITY_PRIVATE), 1)
+                        ->otherwise(null)
+        )))
+        ->annotate(array('children_faq_count' => SqlAggregate::COUNT(
+                        SqlCase::N()
+                        ->when(array(
+                                'children__faqs__ispublished__gt'=> FAQ::VISIBILITY_PRIVATE), 1)
+                        ->otherwise(null)
+        )));
+
+       // ->filter(array('faq_count__gt' => 0));
     if ($categories->exists(true)) { ?>
         <div><?php echo __('Click on the category to browse FAQs.'); ?></div>
         <ul id="kb">
 <?php
-        foreach ($categories as $C) { ?>
+        foreach ($categories as $C) {
+            // Don't show subcategories with parents.
+            if (($p=$C->parent)
+                    && ($categories->findFirst(array(
+                                'category_id' => $p->getId()))))
+                continue;
+
+            $count = $C->faq_count + $C->children_faq_count;
+            ?>
             <li><i></i>
             <div style="margin-left:45px">
-            <h4><?php echo sprintf('<a href="faq.php?cid=%d">%s (%d)</a>',
-                $C->getId(), Format::htmlchars($C->getLocalName()), $C->faq_count); ?></h4>
+            <h4><?php echo sprintf('<a href="faq.php?cid=%d">%s %s</a>',
+                $C->getId(), Format::htmlchars($C->getFullName()),
+                $count ? "({$count})": ''
+                ); ?></h4>
             <div class="faded" style="margin:10px 0">
                 <?php echo Format::safe_html($C->getLocalDescriptionWithImages()); ?>
             </div>
-<?php       foreach ($C->faqs
+<?php
+            if (($subs=$C->getPublicSubCategories())) {
+                echo '<p/><div style="padding-bottom:15px;">';
+                foreach ($subs as $c) {
+                    echo sprintf('<div><i class="icon-folder-open"></i>
+                            <a href="faq.php?cid=%d">%s (%d)</a></div>',
+                            $c->getId(),
+                            $c->getLocalName(),
+                            $c->faq_count
+                            );
+                }
+                echo '</div>';
+            }
+
+            foreach ($C->faqs
                     ->exclude(array('ispublished'=>FAQ::VISIBILITY_PRIVATE))
                     ->limit(5) as $F) { ?>
                 <div class="popular-faq"><i class="icon-file-alt"></i>
diff --git a/include/client/kb-search.inc.php b/include/client/kb-search.inc.php
index a81f5e4fdea5f7064c1f5dacbeb88fab99fb296c..81fd400ee16f22761cc908c8ac7ebe7aec4038b9 100644
--- a/include/client/kb-search.inc.php
+++ b/include/client/kb-search.inc.php
@@ -45,6 +45,7 @@ foreach (Topic::objects()
             <div class="header"><?php echo __('Categories'); ?></div>
 <?php
 foreach (Category::objects()
+    ->exclude(Q::any(array('ispublic'=>Category::VISIBILITY_PRIVATE)))
     ->annotate(array('faqs_count'=>SqlAggregate::count('faqs')))
     ->filter(array('faqs_count__gt'=>0))
     as $C) { ?>
diff --git a/include/client/login.inc.php b/include/client/login.inc.php
index d368f5d237d7931d54bdf77f2a93c2697b78854c..77d9b4148aae5cfde70b757d0f2d63a94c2e88e9 100644
--- a/include/client/login.inc.php
+++ b/include/client/login.inc.php
@@ -8,7 +8,7 @@ $content = Page::lookupByType('banner-client');
 
 if ($content) {
     list($title, $body) = $ost->replaceTemplateVariables(
-        array($content->getName(), $content->getBody()));
+        array($content->getLocalName(), $content->getLocalBody()));
 } else {
     $title = __('Sign In');
     $body = __('To better serve you, we encourage our clients to register for an account and verify the email address we have on record.');
diff --git a/include/client/open.inc.php b/include/client/open.inc.php
index d0f4c24d55bb14a8535221d6ac7fae75ccf79a85..4011d14038391c6fad5e4d291a9f1818de36f736 100644
--- a/include/client/open.inc.php
+++ b/include/client/open.inc.php
@@ -122,7 +122,7 @@ if ($info['topicId'] && ($topic=Topic::lookup($info['topicId']))) {
             $('.richtext').each(function() {
                 var redactor = $(this).data('redactor');
                 if (redactor && redactor.opts.draftDelete)
-                    redactor.deleteDraft();
+                    redactor.draft.deleteDraft();
             });
             window.location.href='index.php';">
   </p>
diff --git a/include/client/templates/thread-entry.tmpl.php b/include/client/templates/thread-entry.tmpl.php
index 3ab3127e88d61207cb7d0b970d9a28eb5ce309ed..fed92a5c657b6bba249f6f365cae8462b62c895d 100644
--- a/include/client/templates/thread-entry.tmpl.php
+++ b/include/client/templates/thread-entry.tmpl.php
@@ -2,7 +2,10 @@
 global $cfg;
 $entryTypes = array('M'=>'message', 'R'=>'response', 'N'=>'note', 'B' => 'bccmessage');
 $user = $entry->getUser() ?: $entry->getStaff();
-$name = $user ? $user->getName() : $entry->poster;
+if ($entry->staff && $cfg->hideStaffName())
+    $name = __('Staff');
+else
+    $name = $user ? $user->getName() : $entry->poster;
 $avatar = '';
 if ($cfg->isAvatarsEnabled() && $user)
     $avatar = $user->getAvatar();
diff --git a/include/client/view.inc.php b/include/client/view.inc.php
index b368ae25dfce5a70a421237b6bf863bf75550f99..bc39255ab0e02367b43f151e1e1b9a05c5c41bd7 100644
--- a/include/client/view.inc.php
+++ b/include/client/view.inc.php
@@ -145,9 +145,9 @@ echo $v;
 <br>
   <?php
     $email = $thisclient->getUserName();
-    $clientName = TicketUser::lookupByEmail($email)->getName()->name;
+    $clientId = TicketUser::lookupByEmail($email)->getId();
 
-    $ticket->getThread()->render(array('M', 'R', 'poster' => $clientName), array(
+    $ticket->getThread()->render(array('M', 'R', 'user_id' => $clientId), array(
                     'mode' => Thread::MODE_CLIENT,
                     'html-id' => 'ticketThread')
                 );
@@ -185,7 +185,8 @@ echo $attrs; ?>><?php echo $draft ?: $info['message'];
         print $attachments->render(array('client'=>true));
     } ?>
     </div>
-<?php if ($ticket->isClosed()) { ?>
+<?php
+  if ($ticket->isClosed() && $ticket->isReopenable()) { ?>
     <div class="warning-banner">
         <?php echo __('Ticket will be reopened on message post'); ?>
     </div>
diff --git a/include/i18n/en_US/help/tips/dashboard.dashboard.yaml b/include/i18n/en_US/help/tips/dashboard.dashboard.yaml
index 5ce715401b076ef151a2fa5a7cac3bf4aa115a09..1c82c88a2c7d9efb81980a40cd3f9c8f3ea937dc 100644
--- a/include/i18n/en_US/help/tips/dashboard.dashboard.yaml
+++ b/include/i18n/en_US/help/tips/dashboard.dashboard.yaml
@@ -44,49 +44,48 @@ statistics:
 opened:
     title: Opened
     content: >
-        This represents the tickets opened by Agents (i.e., internally opened) and
-        not by Clients.
+        Tickets that were originally opened having the Department or Help Topic
+        on the ticket, or the number of tickets an Agent has opened on behalf of a
+        User.
 
 assigned:
     title: Assigned
     content: >
-        The system tracks every event whereby a ticket is automatically or manually
-        assigned to a particular Department or Agent. Automatic assignments will
-        depend on established settings for <span class="doc-desc-title">Help
-        Topics</span> and <span class="doc-desc-title">Email Filters</span> in the
-        Admin Panel.
+        Tickets that have been assigned to either an Agent or a Team. The number
+        reflects tickets that are manually assigned to agents or teams, claimed
+        tickets, and tickets assigned from ticket filters/other auto-assignment rules.
 
 overdue:
     title: Overdue
     content: >
-        This is the amount of tickets that have violated the SLA Plan to which they
-        belonged.
+        Tickets that have been marked ‘Overdue’ by the system. Tickets are marked
+        Overdue when they have violated the SLA Plan to which they belonged, causing
+        them to have a status of ‘Open’ past their Due Date.
 
 closed:
     title: Closed
     content: >
-        This is the amount of tickets that were closed.
+        The number of Tickets that are currently in the Closed status.
 
 reopened:
     title: Reopened
     content: >
-        This is the amount of tickets that were reopened either by an Agent or by a
-        Client when he/she responded while the ticket was in a Closed status.
+        The total number of times a ticket was Reopened. Tickets
+        are reopened whenever their status is changed from Closed to Open.
+
+deleted:
+    title: Deleted
+    content: >
+        The amount of tickets that have been deleted.
 
 service_time:
     title: Service Time
     content: >
-        <span class="doc-desc-title">Service time</span> is the duration of time
-        that begins at the opening of a ticket and ends when the ticket is closed.
-        The <span class="doc-desc-title">Service Time</span> column here measures
-        the average Service Time per ticket, in hours, within the specified date
-        span.
+        Refers to the duration of time that begins at the opening of a ticket and ends
+        when the ticket is closed. The Service Time column measures the average Service
+        Time per ticket, in hours.
 
 response_time:
     title: Response Time
     content: >
-        <span class="doc-desc-title">Response Time</span> is a duration of time
-        that begins with any Client’s correspondence and ends when an Agent makes a
-        response. This measurement of time is not exclusive to a Client’s
-        correspondence of the initial Ticket opening. This refers to every act of
-        discourse originating with a Client.
+        Shows an average response time by an Agent, in hours, to ticket correspondence.
diff --git a/include/i18n/en_US/help/tips/manage.helptopic.yaml b/include/i18n/en_US/help/tips/manage.helptopic.yaml
index 0297f1ceeb93f418b112cdfecbc4213f1ae2cbeb..e13ae5eafbde807b69adbb95af3be74b95b587d2 100644
--- a/include/i18n/en_US/help/tips/manage.helptopic.yaml
+++ b/include/i18n/en_US/help/tips/manage.helptopic.yaml
@@ -27,7 +27,7 @@ topic:
 status:
     title: Status
     content: >
-        If disabled, this <span class="doc-desc-title">Help Topic</span>
+        If disabled or archived, this <span class="doc-desc-title">Help Topic</span>
         will not be available.
 
 type:
diff --git a/include/i18n/en_US/help/tips/settings.system.yaml b/include/i18n/en_US/help/tips/settings.system.yaml
index 28b069775ba6e2a8b8eafc4c93ae94fc96a002e6..1c2e3786580be78a6a3d5e69a7b2385b1b5afbbe 100644
--- a/include/i18n/en_US/help/tips/settings.system.yaml
+++ b/include/i18n/en_US/help/tips/settings.system.yaml
@@ -18,8 +18,7 @@ helpdesk_status:
     content: >
         If the status is changed to <span
         class="doc-desc-opt">Offline</span>, the client interface will be
-        disabled.  This does not however affect any normal Agent interaction
-        with the Agent Panel.
+        disabled.  Only Admins will be able to access the system.
 
 helpdesk_url:
     title: Helpdesk URL
diff --git a/include/i18n/en_US/help/tips/staff.department.yaml b/include/i18n/en_US/help/tips/staff.department.yaml
index 015c9b1224c3a6a8647e633e3dcb14dd3e2b6f82..aee25f97df04081c04a2639d49d08fb54f9d2ccf 100644
--- a/include/i18n/en_US/help/tips/staff.department.yaml
+++ b/include/i18n/en_US/help/tips/staff.department.yaml
@@ -13,6 +13,11 @@
 # must match the HTML #ids put into the page template.
 #
 ---
+status:
+    title: Status
+    content: >
+        If disabled or archived, this <span class="doc-desc-title">Department</span>
+        will not be available.
 type:
     title: Type
     content: >
@@ -67,7 +72,7 @@ group_membership:
         class="doc-desc-title">Alerts &amp; Notices</span>.
     links:
       - title: Configure Alerts &amp; Notices
-        href: /scp/settings.php?t=alerts
+        href: "/scp/settings.php?t=tickets#alerts"
 
 sandboxing:
     title: Ticket Assignment Restrictions
diff --git a/include/i18n/en_US/templates/email/ticket.reply.yaml b/include/i18n/en_US/templates/email/ticket.reply.yaml
index 1996f6f73075d11e72f5e8830185e0145bfed8d9..c4d9dd793a38c82f9fedd656135bfa165c67ecd1 100644
--- a/include/i18n/en_US/templates/email/ticket.reply.yaml
+++ b/include/i18n/en_US/templates/email/ticket.reply.yaml
@@ -12,7 +12,7 @@ notes: |
 subject: |
     Re: %{ticket.subject} [#%{ticket.number}]
 body: |
-    <h3><strong>Dear %{recipient.name},</strong></h3>
+    <h3><strong>Dear %{recipient.name.first},</strong></h3>
     %{response}
     <br>
     <br>
diff --git a/include/staff/banlist.inc.php b/include/staff/banlist.inc.php
index aef6966ccdfd197bac645a2d97f6872213632e97..c95e23bb168858ec88da85432e20c97d031143f7 100644
--- a/include/staff/banlist.inc.php
+++ b/include/staff/banlist.inc.php
@@ -110,10 +110,10 @@ $query="$select $from $where ORDER BY $order_by LIMIT ".$pageNav->getStart().","
         <thead>
             <tr>
                 <th width="4%">&nbsp;</th>
-                <th width="56%"><a <?php echo $email_sort; ?> href="staff.php?<?php echo $qstr; ?>&sort=email"><?php echo __('Email Address');?></a></th>
-                <th width="10%"><a  <?php echo $status_sort; ?> href="staff.php?<?php echo $qstr; ?>&sort=status"><?php echo __('Ban Status');?></a></th>
-                <th width="10%"><a <?php echo $created_sort; ?> href="staff.php?<?php echo $qstr; ?>&sort=created"><?php echo __('Date Added');?></a></th>
-                <th width="20%"><a <?php echo $updated_sort; ?> href="staff.php?<?php echo $qstr; ?>&sort=updated"><?php echo __('Last Updated');?></a></th>
+                <th width="56%"><a <?php echo $email_sort; ?> href="banlist.php?<?php echo $qstr; ?>&sort=email"><?php echo __('Email Address');?></a></th>
+                <th width="10%"><a  <?php echo $status_sort; ?> href="banlist.php?<?php echo $qstr; ?>&sort=status"><?php echo __('Ban Status');?></a></th>
+                <th width="10%"><a <?php echo $created_sort; ?> href="banlist.php?<?php echo $qstr; ?>&sort=created"><?php echo __('Date Added');?></a></th>
+                <th width="20%"><a <?php echo $updated_sort; ?> href="banlist.php?<?php echo $qstr; ?>&sort=updated"><?php echo __('Last Updated');?></a></th>
             </tr>
         </thead>
         <tbody>
diff --git a/include/staff/cannedresponse.inc.php b/include/staff/cannedresponse.inc.php
index 20818d994242254f10fe2c85e5747742e9a944ef..981eef289ab2f340940ba58651efa73338615c89 100644
--- a/include/staff/cannedresponse.inc.php
+++ b/include/staff/cannedresponse.inc.php
@@ -57,7 +57,7 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
                 <select name="dept_id">
                     <option value="0">&mdash; <?php echo __('All Departments');?> &mdash;</option>
                     <?php
-                    if (($depts=Dept::getDepartments())) {
+                    if (($depts=Dept::getDepartments(array('publiconly' => true)))) {
                         foreach($depts as $id => $name) {
                             $selected=($info['dept_id'] && $id==$info['dept_id'])?'selected="selected"':'';
                             echo sprintf('<option value="%d" %s>%s</option>',$id,$selected,$name);
diff --git a/include/staff/categories.inc.php b/include/staff/categories.inc.php
index 91e2419e7b9656cccc68cbe617be67f44eabc357..cbfa58402aeb4a84e5513c68ec9acef03af6f8be 100644
--- a/include/staff/categories.inc.php
+++ b/include/staff/categories.inc.php
@@ -95,7 +95,7 @@ $pageNav->paginate($categories);
                             <?php echo $sel?'checked="checked"':''; ?>>
                 </td>
                 <td><a class="truncate" style="width:500px" href="categories.php?id=<?php echo $C->getId(); ?>"><?php
-                    echo $C->getLocalName(); ?></a></td>
+                    echo Category::getNamebyId($C->getId()); ?></a></td>
                 <td><?php echo $C->getVisibilityDescription(); ?></td>
                 <td style="text-align:right;padding-right:25px;"><?php echo $faqs; ?></td>
                 <td>&nbsp;<?php echo Format::datetime($C->updated); ?></td>
diff --git a/include/staff/category.inc.php b/include/staff/category.inc.php
index 4eac204218ad029b49f49945442b41401c20582a..20392a06739ebc02c5fa1cda008cf99a822430c1 100644
--- a/include/staff/category.inc.php
+++ b/include/staff/category.inc.php
@@ -107,6 +107,24 @@ if (count($langs) > 1) { ?>
       ?>" id="lang-<?php echo $tag; ?>"
       <?php if ($i['direction'] == 'rtl') echo 'dir="rtl" class="rtl"'; ?>
     >
+    <div style="padding-bottom:8px;">
+        <b><?php echo __('Parent');?></b>:
+        <div class="faded"><?php echo __('Parent Category');?></div>
+    </div>
+    <div style="padding-bottom:8px;">
+        <select name="pid">
+            <option value="">&mdash; <?php echo __('Top-Level Category'); ?> &mdash;</option>
+            <?php
+            foreach (Category::getCategories() as $id=>$name) {
+                if ($info['id'] && $id == $info['id'])
+                    continue; ?>
+                <option value="<?php echo $id; ?>" <?php
+                    if ($info['category_pid'] == $id) echo 'selected="selected"';
+                    ?>><?php echo $name; ?></option>
+            <?php
+            } ?>
+        </select>
+    </div>
     <div style="padding-bottom:8px;">
         <b><?php echo __('Category Name');?></b>:
         <span class="error">*</span>
diff --git a/include/staff/dashboard.inc.php b/include/staff/dashboard.inc.php
index d7b35af5ee0485a9b352ad8e2224d2b3c7c24a07..8bf11959560114bc18514d9d494aa3312e35d8d7 100644
--- a/include/staff/dashboard.inc.php
+++ b/include/staff/dashboard.inc.php
@@ -67,6 +67,20 @@ $plots = $report->getPlotData();
 <hr/>
 <h2><?php echo __('Statistics'); ?>&nbsp;<i class="help-tip icon-question-sign" href="#statistics"></i></h2>
 <p><?php echo __('Statistics of tickets organized by department, help topic, and agent.');?></p>
+<p><b><?php echo __('Range: '); ?></b>
+  <?php
+  $range = array();
+  foreach ($report->getDateRange() as $date)
+  {
+    $date = str_ireplace('FROM_UNIXTIME(', '',$date);
+    $date = str_ireplace(')', '',$date);
+    $date = new DateTime('@'.$date);
+    if ($thisstaff->getTimezone())
+      $date->setTimeZone(new DateTimeZone($thisstaff->getTimezone()));
+    $range[] = $date->format('F j, Y');
+  }
+  echo __($range[0] . ' - ' . $range[1]);
+?>
 
 <ul class="clean tabs">
 <?php
@@ -87,8 +101,52 @@ foreach ($groups as $g=>$desc) {
     <div class="tab_content <?php echo (!$first) ? 'hidden' : ''; ?>" id="<?php echo Format::slugify($g); ?>">
     <table class="dashboard-stats table"><tbody><tr>
 <?php
-    foreach ($data['columns'] as $j=>$c) { ?>
-        <th <?php if ($j === 0) echo 'width="30%" class="flush-left"'; ?>><?php echo Format::htmlchars($c); ?></th>
+    foreach ($data['columns'] as $j=>$c) {
+      ?>
+        <th <?php if ($j === 0) echo 'width="30%" class="flush-left"'; ?>><?php echo Format::htmlchars($c);
+        switch ($c) {
+          case 'Opened':
+            ?>
+              <i class="help-tip icon-question-sign" href="#opened"></i>
+            <?php
+            break;
+          case 'Assigned':
+            ?>
+              <i class="help-tip icon-question-sign" href="#assigned"></i>
+            <?php
+            break;
+            case 'Overdue':
+              ?>
+                <i class="help-tip icon-question-sign" href="#overdue"></i>
+              <?php
+              break;
+            case 'Closed':
+              ?>
+                <i class="help-tip icon-question-sign" href="#closed"></i>
+              <?php
+              break;
+            case 'Reopened':
+              ?>
+                <i class="help-tip icon-question-sign" href="#reopened"></i>
+              <?php
+              break;
+            case 'Deleted':
+              ?>
+                <i class="help-tip icon-question-sign" href="#deleted"></i>
+              <?php
+              break;
+            case 'Service Time':
+              ?>
+                <i class="help-tip icon-question-sign" href="#service_time"></i>
+              <?php
+              break;
+            case 'Response Time':
+              ?>
+                <i class="help-tip icon-question-sign" href="#response_time"></i>
+              <?php
+              break;
+        }
+        ?></th>
 <?php
     } ?>
     </tr></tbody>
diff --git a/include/staff/department.inc.php b/include/staff/department.inc.php
index 2ea8825e35c787bdcba95078a23e50f8e46f1192..4352badf30eb6e2dc3647712795d335a65c874f5 100644
--- a/include/staff/department.inc.php
+++ b/include/staff/department.inc.php
@@ -59,14 +59,27 @@ $info = Format::htmlchars(($errors && $_POST) ? $_POST : $info);
             <td>
                 <select name="pid">
                     <option value="">&mdash; <?php echo __('Top-Level Department'); ?> &mdash;</option>
-<?php foreach (Dept::getDepartments() as $id=>$name) {
-    if ($info['id'] && $id == $info['id'])
-        continue; ?>
-                    <option value="<?php echo $id; ?>" <?php
-                    if ($info['pid'] == $id) echo 'selected="selected"';
-                    ?>><?php echo $name; ?></option>
-<?php } ?>
-                </select>
+                    <?php
+                    if($info['pid'])
+                      $current_name = Dept::getNameById($info['pid']);
+                    if ($depts=Dept::getPublicDepartments())
+                    {
+                      if(!array_key_exists($info['pid'], $depts) && $info['pid'])
+                      {
+                        $depts[$info['pid']] = $current_name;
+                        $warn = sprintf(__('%s selected must be active'), __('Parent Department'));
+                      }
+                    foreach ($depts as $id=>$name) {
+                        $selected=($info['pid'] && $id==$info['pid'])?'selected="selected"':'';
+                        echo sprintf('<option value="%d" %s>%s</option>',$id,$selected,$name);
+                    }
+                  }
+                  ?>
+              </select>
+              <?php
+              if($warn) { ?>
+                  &nbsp;<span class="error">*&nbsp;<?php echo $warn; ?></span>
+              <?php } ?>
             </td>
         </tr>
         <tr>
@@ -80,6 +93,19 @@ $info = Format::htmlchars(($errors && $_POST) ? $_POST : $info);
                 &nbsp;<span class="error">*&nbsp;<?php echo $errors['name']; ?></span>
             </td>
         </tr>
+        <tr>
+            <td width="180" class="required">
+                <?php echo __('Status');?>:
+            </td>
+            <td>
+                <select name="status">
+                  <option value="Active"<?php echo ($info['status'] == __('Active'))?'selected="selected"':'';?>><?php echo __('Active'); ?></option>
+                  <option value="Disabled"<?php echo ($info['status'] == __('Disabled'))?'selected="selected"':'';?>><?php echo __('Disabled'); ?></option>
+                  <option value="Archived"<?php echo ($info['status'] == __('Archived'))?'selected="selected"':'';?>><?php echo __('Archived'); ?></option>
+                </select>
+                &nbsp;<span class="error">&nbsp;</span> <i class="help-tip icon-question-sign" href="#status"></i>
+            </td>
+        </tr>
         <tr>
             <td width="180" class="required">
                 <?php echo __('Type');?>:
@@ -93,6 +119,7 @@ $info = Format::htmlchars(($errors && $_POST) ? $_POST : $info);
                 <input type="radio" name="ispublic" value="0" <?php echo !$info['ispublic']?'checked="checked"':''; ?>><strong><?php echo __('Private');?></strong> <?php echo mb_convert_case(__('(internal)'), MB_CASE_TITLE);?>
                 </label>
                 &nbsp;<i class="help-tip icon-question-sign" href="#type"></i>
+                &nbsp;<span class="error"><?php echo $errors['ispublic']; ?></span>
             </td>
         </tr>
         <tr>
@@ -325,7 +352,17 @@ $info = Format::htmlchars(($errors && $_POST) ? $_POST : $info);
                 <?php echo sprintf(__('Agents who are primary members of %s'), __('this department')); ?>
                 </small></div>
             </td>
-        </tr>
+            <td>
+              <?php
+                echo sprintf(
+                    '<a class="no-pjax" href="departments.php?id=%d&a=export"</a>',
+                    $dept->getId());
+                    ?>
+              <span class="action-button pull-right" data-placement="bottom" data-toggle="tooltip" title="<?php echo __('Export');?>">
+                  <i class="icon-download-alt icon-fixed-width"></i>
+              </span>
+            </td>
+          </tr>
         <?php
         if (!count($dept->members)) { ?>
         <tr><td colspan=2><em><?php
diff --git a/include/staff/departments.inc.php b/include/staff/departments.inc.php
index 2924eea68f11acb94209187472eef9b1892c03e6..4fd4a34c9fe0870e6c006886bd5a23d88e68d5ec 100644
--- a/include/staff/departments.inc.php
+++ b/include/staff/departments.inc.php
@@ -5,6 +5,7 @@ if (!defined('OSTADMININC') || !$thisstaff->isAdmin())
 $qs = array();
 $sortOptions=array(
     'name' => 'name',
+    'status' => 'flags',
     'type' => 'ispublic',
     'members'=> 'members_count',
     'email'=> 'email__name',
@@ -53,9 +54,28 @@ $showing = $pageNav->showing().' '._N('department', 'departments', $count);
             </span>
             <div id="action-dropdown-more" class="action-dropdown anchor-right">
                 <ul id="actions">
+                    <li>
+                        <a class="confirm" data-name="enable" href="departments.php?a=enable">
+                            <i class="icon-ok-sign icon-fixed-width"></i>
+                            <?php echo __( 'Enable'); ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a class="confirm" data-name="disable" href="departments.php?a=disable">
+                            <i class="icon-ban-circle icon-fixed-width"></i>
+                            <?php echo __( 'Disable'); ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a class="confirm" data-name="archive" href="departments.php?a=archive">
+                            <i class="icon-folder-close icon-fixed-width"></i>
+                            <?php echo __( 'Archive'); ?>
+                        </a>
+                    </li>
                     <li class="danger"><a class="confirm" data-name="delete" href="departments.php?a=delete">
                         <i class="icon-trash icon-fixed-width"></i>
-                        <?php echo __('Delete'); ?></a></li>
+                        <?php echo __('Delete'); ?></a>
+                    </li>
                 </ul>
             </div>
         </div>
@@ -70,8 +90,11 @@ $showing = $pageNav->showing().' '._N('department', 'departments', $count);
         <tr>
             <th width="4%">&nbsp;</th>
             <th width="28%"><a <?php echo $name_sort; ?> href="departments.php?<?php echo $qstr; ?>&sort=name"><?php echo __('Name');?></a></th>
+            <th width="8%"><a <?php echo $status_sort; ?> href="departments.php?<?php echo $qstr;?>&sort=status"><?php echo __('Status');?></a></th>
+            <!-- <th style="padding-left:4px;vertical-align:middle" width="8%"><?php echo __('Status'); ?></th> -->
             <th width="8%"><a  <?php echo $type_sort; ?> href="departments.php?<?php echo $qstr; ?>&sort=type"><?php echo __('Type');?></a></th>
-            <th width="8%"><a  <?php echo $users_sort; ?>href="departments.php?<?php echo $qstr; ?>&sort=users"><?php echo __('Agents');?></a></th>
+            <!-- <th width="8%"><a  <?php echo $users_sort; ?>href="departments.php?<?php echo $qstr; ?>&sort=users"><?php echo __('Agents');?></a></th> -->
+            <th width="8%"><a  <?php echo $users_sort; ?>href="departments.php?<?php echo $qstr; ?>&sort=members"><?php echo __('Agents');?></a></th>
             <th width="30%"><a  <?php echo $email_sort; ?> href="departments.php?<?php echo $qstr; ?>&sort=email"><?php echo __('Email Address');?></a></th>
             <th width="22%"><a  <?php echo $manager_sort; ?> href="departments.php?<?php echo $qstr; ?>&sort=manager"><?php echo __('Manager');?></a></th>
         </tr>
@@ -115,8 +138,17 @@ $showing = $pageNav->showing().' '._N('department', 'departments', $count);
                   <?php echo $sel? 'checked="checked"' : ''; ?>
                   <?php echo $default? 'disabled="disabled"' : ''; ?> >
                 </td>
-                <td><a href="departments.php?id=<?php echo $id; ?>"><?php
-                echo Dept::getNameById($id); ?></a>&nbsp;<?php echo $default; ?></td>
+                <td>
+                  <a href="departments.php?id=<?php echo $id; ?>"><?php
+                echo Dept::getNameById($id); ?></a>&nbsp;<?php echo $default; ?>
+                </td>
+                <td><?php
+                  if($dept->getStatus() == __('Active'))
+                    echo $dept->getStatus();
+                  else
+                    echo '<b>'.$dept->getStatus();
+                  ?>
+                </td>
                 <td><?php echo $dept->isPublic() ? __('Public') :'<b>'.__('Private').'</b>'; ?></td>
                 <td>&nbsp;&nbsp;
                     <b>
@@ -136,7 +168,7 @@ $showing = $pageNav->showing().' '._N('department', 'departments', $count);
         } ?>
     <tfoot>
      <tr>
-        <td colspan="6">
+        <td colspan="7">
             <?php
             if ($count) { ?>
             <?php echo __('Select');?>:&nbsp;
@@ -170,6 +202,18 @@ endif;
         <?php echo sprintf(__('Are you sure you want to make %s <b>private</b> (internal)?'),
             _N('selected department', 'selected departments', 2));?>
     </p>
+    <p class="confirm-action" style="display:none;" id="enable-confirm">
+        <?php echo sprintf(__('Are you sure you want to <b>enable</b> %s?'),
+            _N('selected department', 'selected departments', 2));?>
+    </p>
+    <p class="confirm-action" style="display:none;" id="disable-confirm">
+        <?php echo sprintf(__('Are you sure you want to <b>disable</b> %s?'),
+            _N('selected department', 'selected departments', 2));?>
+    </p>
+    <p class="confirm-action" style="display:none;" id="archive-confirm">
+        <?php echo sprintf(__('Are you sure you want to <b>archive</b> %s?'),
+            _N('selected department', 'selected departments', 2));?>
+    </p>
     <p class="confirm-action" style="display:none;" id="delete-confirm">
         <font color="red"><strong><?php echo sprintf(__('Are you sure you want to DELETE %s?'),
             _N('selected department', 'selected departments', 2));?></strong></font>
diff --git a/include/staff/directory.inc.php b/include/staff/directory.inc.php
index 9eb4926dd6825ace920ad39536e8521ae422102f..a604acc184eccf823766b96646f932eed72d5375 100644
--- a/include/staff/directory.inc.php
+++ b/include/staff/directory.inc.php
@@ -5,6 +5,10 @@ $qs = array();
 $agents = Staff::objects()
     ->select_related('dept');
 
+// Sanitize 'order' param To Escape XSS
+if ($_REQUEST['order'])
+    $_REQUEST['order'] = Format::sanitize($_REQUEST['order']);
+
 if($_REQUEST['q']) {
     $searchTerm=$_REQUEST['q'];
     if($searchTerm){
diff --git a/include/staff/email.inc.php b/include/staff/email.inc.php
index 3653f06a7949bacc7d92d1b32a911c075abe07c0..9633acff690ca42c5aa378ea589e69460017f861 100644
--- a/include/staff/email.inc.php
+++ b/include/staff/email.inc.php
@@ -87,7 +87,13 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
 			    <option value="0" selected="selected">&mdash; <?php
                 echo __('System Default'); ?> &mdash;</option>
 			    <?php
-                if (($depts=Dept::getDepartments())) {
+                if ($depts=Dept::getPublicDepartments()) {
+                  if($info['dept_id'] && !array_key_exists($info['dept_id'], $depts))
+                  {
+                    $depts[$info['dept_id']] = $email->dept;
+                    $warn = sprintf(__('%s selected must be active'), __('Department'));
+                  }
+
                     foreach ($depts as $id => $name) {
 				        $selected=($info['dept_id'] && $id==$info['dept_id'])?'selected="selected"':'';
 				        echo sprintf('<option value="%d" %s>%s</option>',$id,$selected,$name);
@@ -95,9 +101,12 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
 			    }
 			    ?>
 			</select>
+      <?php
+      if($warn) { ?>
+          &nbsp;<span class="error">*&nbsp;<?php echo $warn; ?></span>
+      <?php } ?>
 			<i class="help-tip icon-question-sign" href="#new_ticket_department"></i>
         </span>
-			&nbsp;<span class="error"><?php echo $errors['dept_id']; ?></span>
             </td>
         </tr>
         <tr>
@@ -133,12 +142,21 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
 			<select name="topic_id">
                 <option value="0" selected="selected">&mdash; <?php echo __('System Default'); ?> &mdash;</option>
 			    <?php
+                    $warn = '';
                     $topics = Topic::getHelpTopics();
+                    if($info['topic_id'] && !array_key_exists($info['topic_id'], $topics)) {
+                      $topics[$info['topic_id']] = $email->topic;
+                      $warn = sprintf(__('%s selected must be active'), __('Help Topic'));
+                    }
                     while (list($id,$topic) = each($topics)) { ?>
                         <option value="<?php echo $id; ?>"<?php echo ($info['topic_id']==$id)?'selected':''; ?>><?php echo $topic; ?></option>
                     <?php
                     } ?>
 			</select>
+      <?php
+      if($warn) { ?>
+          &nbsp;<span class="error">*&nbsp;<?php echo $warn; ?></span>
+      <?php } ?>
 			<i class="help-tip icon-question-sign" href="#new_ticket_help_topic"></i>
 		</span>
                 <span class="error">
diff --git a/include/staff/faq-categories.inc.php b/include/staff/faq-categories.inc.php
index 4c484822751eeb0a6b8e3f5ad8ce59562ad523b6..a845b37f9ff4d35db6a3542464804ab940fae1ce 100644
--- a/include/staff/faq-categories.inc.php
+++ b/include/staff/faq-categories.inc.php
@@ -55,7 +55,7 @@ foreach ($categories as $C) {
                 <i class="icon-fixed-width <?php
                 if ($active) echo 'icon-hand-right'; ?>"></i>
                 <?php echo sprintf('%s (%d)',
-                    Format::htmlchars($C->getLocalName()),
+                    Format::htmlchars($C->getFullName()),
                     $C->faq_count); ?></a>
         </li> <?php
 } ?>
@@ -140,7 +140,9 @@ if($_REQUEST['q'] || $_REQUEST['cid'] || $_REQUEST['topicId']) { //Search.
     }
 } else { //Category Listing.
     $categories = Category::objects()
-        ->annotate(array('faq_count'=>SqlAggregate::COUNT('faqs')));
+        ->annotate(array('faq_count'=>SqlAggregate::COUNT('faqs')))
+        ->filter(array('category_pid__isnull' => true));
+
 
     if (count($categories)) {
         $categories->sort(function($a) { return $a->getLocalName(); });
@@ -150,11 +152,25 @@ if($_REQUEST['q'] || $_REQUEST['cid'] || $_REQUEST['topicId']) { //Search.
             echo sprintf('
                 <li>
                     <h4><a class="truncate" style="max-width:600px" href="kb.php?cid=%d">%s (%d)</a> - <span>%s</span></h4>
-                    %s
-                </li>',$C->getId(),$C->getLocalName(),$C->faq_count,
+                    %s ',
+                $C->getId(),$C->getLocalName(),$C->getNumFAQs(),
                 $C->getVisibilityDescription(),
                 Format::safe_html($C->getLocalDescriptionWithImages())
-            );
+                );
+                if ($C->children) {
+                    echo '<p/><div>';
+                    foreach ($C->children as $c) {
+                        echo sprintf('<div><i class="icon-folder-open-alt"></i>
+                                <a href="kb.php?cid=%d">%s (%d)</a> - <span>%s</span></div>',
+                                $c->getId(),
+                                $c->getLocalName(),
+                                $c->getNumFAQs(),
+                                $c->getVisibilityDescription()
+                                );
+                    }
+                    echo '</div>';
+                }
+            echo '</li>';
         }
         echo '</ul>';
     } else {
diff --git a/include/staff/faq-category.inc.php b/include/staff/faq-category.inc.php
index 0dcff184f204a3716f9c86c33cde294696b46341..36bedc6d930c6bd7626f68eb35ab8a1be12cc517 100644
--- a/include/staff/faq-category.inc.php
+++ b/include/staff/faq-category.inc.php
@@ -36,13 +36,27 @@ echo sprintf('<div class="pull-right flush-right">
 </div>
 <div class="faq-category">
     <div style="margin-bottom:10px;">
-        <div class="faq-title pull-left"><?php echo $category->getName() ?></div>
+        <div class="faq-title pull-left"><?php echo $category->getFullName() ?></div>
         <div class="faq-status inline">(<?php echo $category->isPublic()?__('Public'):__('Internal'); ?>)</div>
         <div class="clear"><time class="faq"> <?php echo __('Last Updated').' '. Format::daydatetime($category->getUpdateDate()); ?></time></div>
     </div>
     <div class="cat-desc has_bottom_border">
-    <?php echo Format::display($category->getDescription()); ?>
-</div>
+    <?php echo Format::display($category->getDescription());
+    if ($category->children) {
+        echo '<p/><div>';
+        foreach ($category->children as $c) {
+            echo sprintf('<div><i class="icon-folder-open-alt"></i>
+                    <a href="kb.php?cid=%d">%s (%d)</a> - <span>%s</span></div>',
+                    $c->getId(),
+                    $c->getLocalName(),
+                    $c->getNumFAQs(),
+                    $c->getVisibilityDescription()
+                    );
+        }
+        echo '</div>';
+    }
+    ?>
+    </div>
 <?php
 
 
@@ -61,7 +75,7 @@ if ($faqs->exists(true)) {
     }
     echo '  </ol>
          </div>';
-}else {
+} elseif (!$category->children) {
     echo '<strong>'.__('Category does not have FAQs').'</strong>';
 }
 ?>
diff --git a/include/staff/faq-view.inc.php b/include/staff/faq-view.inc.php
index 9f46a499478cf3ddc0c0da0459ce5e26ec447eb4..a5dc4e56010c41ca059d7701d1bd19345c533661 100644
--- a/include/staff/faq-view.inc.php
+++ b/include/staff/faq-view.inc.php
@@ -29,7 +29,8 @@ if ($thisstaff->hasPerm(FAQ::PERM_MANAGE)) { ?>
 
 <div id="breadcrumbs">
     <a href="kb.php"><?php echo __('All Categories');?></a>
-    &raquo; <a href="kb.php?cid=<?php echo $category->getId(); ?>"><?php echo $category->getName(); ?></a>
+    &raquo; <a href="kb.php?cid=<?php echo $category->getId(); ?>"><?php
+    echo $category->getFullName(); ?></a>
     <span class="faded">(<?php echo $category->isPublic()?__('Public'):__('Internal'); ?>)</span>
 </div>
 
diff --git a/include/staff/faq.inc.php b/include/staff/faq.inc.php
index 4579deb8d34ca38484835ec6bb33d178721ddbda..830dc4645516ae229816e3a22c455369c3b02e95 100644
--- a/include/staff/faq.inc.php
+++ b/include/staff/faq.inc.php
@@ -63,7 +63,7 @@ $qstr = Http::build_query($qs);
         <option value="<?php echo $C->getId(); ?>" <?php
             if ($C->getId() == $info['category_id']) echo 'selected="selected"';
             ?>><?php echo sprintf('%s (%s)',
-                $C->getName(),
+                Category::getNameById($C->getId()),
                 $C->isPublic() ? __('Public') : __('Private')
             ); ?></option>
 <?php } ?>
diff --git a/include/staff/filter.inc.php b/include/staff/filter.inc.php
index 2330fc47dc4ebeece8aa04e8365c71bb30bfb186..ba0c06ce58ccdd35b8dadcdc9001362477da7b83 100644
--- a/include/staff/filter.inc.php
+++ b/include/staff/filter.inc.php
@@ -238,7 +238,23 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
                 <?php
                 $existing = array();
                 if ($filter) { foreach ($filter->getActions() as $A) {
+                    $_warn = '';
                     $existing[] = $A->type;
+                    if($A->type == 'dept') {
+                      $errors['topic_id'] = '';
+                      // $info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
+                      $dept_config = $A->parseConfiguration($_POST);
+                      $dept = Dept::lookup($dept_config['dept_id']);
+                      if($dept && !$dept->isActive())
+                        $_warn = sprintf(__('%s must be active'), __('Department'));
+                    }
+                    elseif($A->type == 'topic') {
+                      $errors['dept_id'] = '';
+                      $topic_config = $A->parseConfiguration($_POST);
+                      $topic = Topic::lookup($topic_config['topic_id']);
+                      if($topic && !$topic->isActive())
+                        $_warn = sprintf(__('%s must be active'), __('Help Topic'));
+                    }
                 ?>
                 <tr style="background-color:white"><td><i class="icon-sort icon-large icon-muted"></i>
                     <?php echo $A->getImpl()->getName(); ?>:</td>
@@ -248,7 +264,9 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
                         // XXX: Drop this when the ORM supports proper caching
                         $form->isValid();
                         include STAFFINC_DIR . 'templates/dynamic-form-simple.tmpl.php';
-                        ?>
+                        if($_warn) {
+                            ?>&nbsp;<span class="error">*&nbsp;<?php echo $_warn; ?></span>
+                        <?php } ?>
                         <input type="hidden" name="actions[]" value="I<?php echo $A->getId(); ?>"/>
                         <div class="pull-right" style="position:absolute;top:2px;right:2px;">
                             <a href="#" title="<?php echo __('clear'); ?>" onclick="javascript:
diff --git a/include/staff/filters.inc.php b/include/staff/filters.inc.php
index 6eb7f32310c965fbcb3f013a1666c6fbb99c3d43..7da5b73d318a285120c2f951300af495f19eaf1d 100644
--- a/include/staff/filters.inc.php
+++ b/include/staff/filters.inc.php
@@ -2,9 +2,11 @@
 if(!defined('OSTADMININC') || !$thisstaff->isAdmin()) die('Access Denied');
 $targets = Filter::getTargets();
 $qs = array();
-$sql='SELECT filter.*,count(rule.id) as rules '.
+$sql='SELECT filter.*,count(rule.id) as rules, topic.configuration AS topic, dept.configuration AS dept '.
      'FROM '.FILTER_TABLE.' filter '.
      'LEFT JOIN '.FILTER_RULE_TABLE.' rule ON(rule.filter_id=filter.id) '.
+     'LEFT JOIN '.FILTER_ACTION_TABLE.' topic ON (topic.filter_id = filter.id AND topic.type = \'topic\') '.
+     'LEFT JOIN '.FILTER_ACTION_TABLE.' dept ON (dept.filter_id = filter.id AND dept.type = \'dept\') '.
      "WHERE filter.`name` <> 'SYSTEM BAN LIST' ".
      'GROUP BY filter.id';
 $sortOptions=array('name'=>'filter.name','status'=>'filter.isactive','order'=>'filter.execorder','rules'=>'rules',
@@ -113,7 +115,17 @@ else
                   <input type="checkbox" class="ckb" name="ids[]" value="<?php echo $row['id']; ?>"
                             <?php echo $sel?'checked="checked"':''; ?>>
                 </td>
-                <td>&nbsp;<a href="filters.php?id=<?php echo $row['id']; ?>"><?php echo Format::htmlchars($row['name']); ?></a></td>
+                <td>&nbsp;<a href="filters.php?id=<?php echo $row['id']; ?>"><?php echo Format::htmlchars($row['name']); ?></a>
+                  <?php
+                    if ($row['flags'] & Filter::FLAG_INACTIVE_DEPT)
+                      echo '<a data-placement="bottom" data-toggle="tooltip" title="Inactive Department Selected"
+                        <i class="pull-right icon-warning-sign"></a>';
+
+                    if ($row['flags'] & Filter::FLAG_INACTIVE_HT)
+                      echo '<a data-placement="bottom" data-toggle="tooltip" title="Inactive Help Topic Selected"
+                        <i class="pull-right icon-warning-sign"></a>';
+                  ?>
+                </td>
                 <td><?php echo $row['isactive']?__('Active'):'<b>'.__('Disabled').'</b>'; ?></td>
                 <td style="text-align:right;padding-right:25px;"><?php echo $row['execorder']; ?>&nbsp;</td>
                 <td style="text-align:right;padding-right:25px;"><?php echo $row['rules']; ?>&nbsp;</td>
diff --git a/include/staff/footer.inc.php b/include/staff/footer.inc.php
index 65efa328211a3b7e4e769649cd105f80d54f957a..8ab46960a950cf9d116ff66db72b0b72846663fe 100644
--- a/include/staff/footer.inc.php
+++ b/include/staff/footer.inc.php
@@ -2,7 +2,7 @@
 </div>
 <?php if (!isset($_SERVER['HTTP_X_PJAX'])) { ?>
     <div id="footer">
-        Copyright &copy; 2006-<?php echo date('Y'); ?>&nbsp;<?php echo (string) $ost->company ?: 'osTicket.com'; ?>&nbsp;All Rights Reserved.
+        <?php echo __('Copyright &copy;') ?> 2006-<?php echo date('Y'); ?>&nbsp;<?php echo (string) $ost->company ?: 'osTicket.com'; ?>&nbsp;<?php echo __('All Rights Reserved.'); ?>
     </div>
 <?php
 if(is_object($thisstaff) && $thisstaff->isStaff()) { ?>
diff --git a/include/staff/header.inc.php b/include/staff/header.inc.php
index 3bc47d876ea4b507f9621d5276f5790c4eebc410..14616767106caf353267573395e970da9de5f4e5 100644
--- a/include/staff/header.inc.php
+++ b/include/staff/header.inc.php
@@ -44,6 +44,9 @@ if ($lang) {
     <link type="text/css" rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/select2.min.css">
     <link type="text/css" rel="stylesheet" href="<?php echo ROOT_PATH; ?>css/rtl.css"/>
     <link type="text/css" rel="stylesheet" href="<?php echo ROOT_PATH ?>scp/css/translatable.css"/>
+    <!-- Favicons -->
+    <link rel="icon" type="image/png" href="<?php echo ROOT_PATH ?>images/oscar-favicon-32x32.png" sizes="32x32" />
+    <link rel="icon" type="image/png" href="<?php echo ROOT_PATH ?>images/oscar-favicon-16x16.png" sizes="16x16" />
 
     <?php
     if($ost && ($headers=$ost->getExtraHeaders())) {
diff --git a/include/staff/helptopic.inc.php b/include/staff/helptopic.inc.php
index 8cb90850d546d9080495833ea95de0d1f5376f1a..b6783666998c52af37d30c4e3ed401c272ff65f0 100644
--- a/include/staff/helptopic.inc.php
+++ b/include/staff/helptopic.inc.php
@@ -15,7 +15,7 @@ if($topic && $_REQUEST['a']!='add') {
     $title=__('Add New Help Topic');
     $action='create';
     $submit_text=__('Add Topic');
-    $info['isactive']=isset($info['isactive'])?$info['isactive']:1;
+    // $info['isactive']=isset($info['isactive'])?$info['isactive']:1;
     $info['ispublic']=isset($info['ispublic'])?$info['ispublic']:1;
     $qs += array('a' => $_REQUEST['a']);
     $forms = TicketForm::objects();
@@ -60,8 +60,11 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
                 <?php echo __('Status');?>:
             </td>
             <td>
-                <input type="radio" name="isactive" value="1" <?php echo $info['isactive']?'checked="checked"':''; ?>> <?php echo __('Active'); ?>
-                <input type="radio" name="isactive" value="0" <?php echo !$info['isactive']?'checked="checked"':''; ?>> <?php echo __('Disabled'); ?>
+                <select name="status">
+                  <option value="Active"<?php echo ($info['status'] == __('Active'))?'selected="selected"':'';?>><?php echo __('Active'); ?></option>
+                  <option value="Disabled"<?php echo ($info['status'] == __('Disabled'))?'selected="selected"':'';?>><?php echo __('Disabled'); ?></option>
+                  <option value="Archived"<?php echo ($info['status'] == __('Archived'))?'selected="selected"':'';?>><?php echo __('Archived'); ?></option>
+                </select>
                 &nbsp;<span class="error">*&nbsp;</span> <i class="help-tip icon-question-sign" href="#status"></i>
             </td>
         </tr>
@@ -82,7 +85,7 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
             <td>
                 <select name="topic_pid">
                     <option value="">&mdash; <?php echo __('Top-Level Topic'); ?> &mdash;</option><?php
-                    $topics = Topic::getAllHelpTopics();
+                    $topics = Topic::getHelpTopics();
                     while (list($id,$topic) = each($topics)) {
                         if ($id == $info['topic_id'])
                             continue; ?>
@@ -122,13 +125,26 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
                 <select name="dept_id" data-quick-add="department">
                     <option value="0">&mdash; <?php echo __('System Default'); ?> &mdash;</option>
                     <?php
-                    foreach (Dept::getDepartments() as $id=>$name) {
+                    if($info['dept_id'])
+                      $current_name = Dept::getNameById($info['dept_id']);
+                    if ($depts=Dept::getPublicDepartments()) {
+                      if(!array_key_exists($info['dept_id'], $depts) && $info['dept_id'])
+                      {
+                        $depts[$info['dept_id']] = $current_name;
+                        $warn = sprintf(__('%s selected must be active'), __('Department'));
+                      }
+                    foreach ($depts as $id=>$name) {
                         $selected=($info['dept_id'] && $id==$info['dept_id'])?'selected="selected"':'';
                         echo sprintf('<option value="%d" %s>%s</option>',$id,$selected,$name);
-                    } ?>
+                    }
+                  }
+                  ?>
                     <option value="0" data-quick-add>&mdash; <?php echo __('Add New');?> &mdash;</option>
                 </select>
-                &nbsp;<span class="error">&nbsp;<?php echo $errors['dept_id']; ?></span>
+                <?php
+                if($warn) { ?>
+                    &nbsp;<span class="error">*&nbsp;<?php echo $warn; ?></span>
+                <?php } ?>
                 <i class="help-tip icon-question-sign" href="#department"></i>
             </td>
         </tr>
diff --git a/include/staff/helptopics.inc.php b/include/staff/helptopics.inc.php
index 0b5c58580c22ffdb3c7774db0ac170a904accf57..8978b97e36c1b94b678d006dade0a26310992949 100644
--- a/include/staff/helptopics.inc.php
+++ b/include/staff/helptopics.inc.php
@@ -41,6 +41,12 @@ $order_by = 'sort';
                                 <?php echo __( 'Disable'); ?>
                             </a>
                         </li>
+                        <li>
+                            <a class="confirm" data-name="archive" href="helptopics.php?a=archive">
+                                <i class="icon-folder-close icon-fixed-width"></i>
+                                <?php echo __( 'Archive'); ?>
+                            </a>
+                        </li>
                         <li class="danger">
                             <a class="confirm" data-name="delete" href="helptopics.php?a=delete">
                                 <i class="icon-trash icon-fixed-width"></i>
@@ -142,7 +148,13 @@ $order_by = 'sort';
                     <a href="helptopics.php?id=<?php echo $id; ?>"><?php
                     echo Topic::getTopicName($id); ?></a>&nbsp;
                 </td>
-                <td><?php echo $topic->isactive ? __('Active') : '<b>'.__('Disabled').'</b>'; ?></td>
+                <td><?php
+                  if($topic->getStatus() == __('Active'))
+                    echo $topic->getStatus();
+                  else
+                    echo '<b>'.$topic->getStatus();
+                  ?>
+                </td>
                 <td><?php echo $topic->ispublic ? __('Public') : '<b>'.__('Private').'</b>'; ?></td>
                 <td><?php echo $priority; ?></td>
                 <td><a href="departments.php?id=<?php echo $deptId;
@@ -189,6 +201,10 @@ endif;
         <?php echo sprintf(__('Are you sure you want to <b>disable</b> %s?'),
             _N('selected help topic', 'selected help topics', 2));?>
     </p>
+    <p class="confirm-action" style="display:none;" id="archive-confirm">
+        <?php echo sprintf(__('Are you sure you want to <b>archive</b> %s?'),
+            _N('selected help topic', 'selected help topics', 2));?>
+    </p>
     <p class="confirm-action" style="display:none;" id="delete-confirm">
         <font color="red"><strong><?php echo sprintf(__('Are you sure you want to DELETE %s?'),
             _N('selected help topic', 'selected help topics', 2));?></strong></font>
diff --git a/include/staff/login.tpl.php b/include/staff/login.tpl.php
index 228ec612b0208a0fda92c45cb2439e50a37d7d6f..ca9e751af253d4dab84a91a52722f113fcf63708 100644
--- a/include/staff/login.tpl.php
+++ b/include/staff/login.tpl.php
@@ -11,9 +11,9 @@ $info = ($_POST && $errors)?Format::htmlchars($_POST):array();
         <span class="valign-helper"></span>
         <img src="logo.php?login" alt="osTicket :: <?php echo __('Staff Control Panel');?>" />
     </a></h1>
-    <h3><?php echo Format::htmlchars($msg); ?></h3>
+    <h3 id="login-message"><?php echo Format::htmlchars($msg); ?></h3>
     <div class="banner"><small><?php echo ($content) ? Format::display($content->getLocalBody()) : ''; ?></small></div>
-    <form action="login.php" method="post" id="login">
+    <form action="login.php" method="post" id="login" onsubmit="attemptLoginAjax(event)">
         <?php csrf_token(); ?>
         <input type="hidden" name="do" value="scplogin">
         <fieldset>
@@ -21,10 +21,11 @@ $info = ($_POST && $errors)?Format::htmlchars($_POST):array();
             echo $info['userid']; ?>" placeholder="<?php echo __('Email or Username'); ?>"
             autofocus autocorrect="off" autocapitalize="off">
         <input type="password" name="passwd" id="pass" placeholder="<?php echo __('Password'); ?>" autocorrect="off" autocapitalize="off">
-            <?php if ($show_reset && $cfg->allowPasswordReset()) { ?>
-            <h3 style="display:inline"><a href="pwreset.php"><?php echo __('Forgot My Password'); ?></a></h3>
-            <?php } ?>
-            <button class="submit button pull-right" type="submit" name="submit"><i class="icon-signin"></i>
+            <h3 style="display:inline"><a id="reset-link" class="<?php
+                if (!$show_reset || !$cfg->allowPasswordReset()) echo 'hidden';
+                ?>" href="pwreset.php"><?php echo __('Forgot My Password'); ?></a></h3>
+            <button class="submit button pull-right" type="submit"
+                name="submit"><i class="icon-signin"></i>
                 <?php echo __('Log In'); ?>
             </button>
         </fieldset>
@@ -61,11 +62,85 @@ if (count($ext_bks)) { ?>
             document.getElementById('loginBox').style.backgroundColor = 'white';
         }
     });
+
+    function attemptLoginAjax(e) {
+        var objectifyForm = function(formArray) { //serialize data function
+            var returnArray = {};
+            for (var i = 0; i < formArray.length; i++) {
+                returnArray[formArray[i]['name']] = formArray[i]['value'];
+            }
+            return returnArray;
+        };
+        if ($.fn.effect) {
+            // For some reason, JQuery-UI shake does not considere an element's
+            // padding when shaking. Looks like it might be fixed in 1.12.
+            // Thanks, https://stackoverflow.com/a/22302374
+            var oldEffect = $.fn.effect;
+            $.fn.effect = function (effectName) {
+                if (effectName === "shake") {
+                    var old = $.effects.createWrapper;
+                    $.effects.createWrapper = function (element) {
+                        var result;
+                        var oldCSS = $.fn.css;
+
+                        $.fn.css = function (size) {
+                            var _element = this;
+                            var hasOwn = Object.prototype.hasOwnProperty;
+                            return _element === element && hasOwn.call(size, "width") && hasOwn.call(size, "height") && _element || oldCSS.apply(this, arguments);
+                        };
+
+                        result = old.apply(this, arguments);
+
+                        $.fn.css = oldCSS;
+                        return result;
+                    };
+                }
+                return oldEffect.apply(this, arguments);
+            };
+        }
+        var form = $(e.target),
+            data = objectifyForm(form.serializeArray())
+        data.ajax = 1;
+        $.ajax({
+            url: form.attr('action'),
+            method: 'POST',
+            data: data,
+            cache: false,
+            success: function(json) {
+                if (!typeof(json) === 'object' || !json.status)
+                    return;
+                switch (json.status) {
+                case 401:
+                    if (json && json.redirect)
+                        document.location.href = json.redirect;
+                    if (json && json.message)
+                        $('#login-message').text(json.message)
+                    if (json && json.show_reset)
+                        $('#reset-link').show()
+                    if ($.fn.effect) {
+                        $('#loginBox').effect('shake')
+                    }
+                    // Clear the password field
+                    $('#pass').val('').focus();
+                    break
+                case 302:
+                    if (json && json.redirect)
+                        document.location.href = json.redirect;
+                    break
+                }
+            },
+        });
+        e.preventDefault();
+        e.stopPropagation();
+        e.stopImmediatePropagation();
+        return false;
+    }
     </script>
     <!--[if IE]>
     <style>
         #loginBox:after { background-color: white !important; }
     </style>
     <![endif]-->
+    <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/jquery-ui-1.10.3.custom.min.js"></script>
 </body>
 </html>
diff --git a/include/staff/staff.inc.php b/include/staff/staff.inc.php
index 4fce85b4f64ad7908964ca0614c6d34b7f73ab17..217daa065de2b514b2b11aac7b2cd246be4fde1f 100644
--- a/include/staff/staff.inc.php
+++ b/include/staff/staff.inc.php
@@ -228,15 +228,25 @@ if (count($bks) > 1) {
             <select name="dept_id" id="dept_id" data-quick-add="department">
               <option value="0">&mdash; <?php echo __('Select Department');?> &mdash;</option>
               <?php
-              foreach (Dept::getDepartments() as $id=>$name) {
-                $sel=($staff->dept_id==$id)?'selected="selected"':'';
-                echo sprintf('<option value="%d" %s>%s</option>',$id,$sel,$name);
+              if($depts = Dept::getPublicDepartments()) {
+                if($staff->dept_id && !array_key_exists($staff->dept_id, $depts))
+                {
+                  $depts[$staff->dept_id] = $staff->dept;
+                  $warn = sprintf(__('%s selected must be active'), __('Department'));
+                }
+                  foreach($depts as $id =>$name) {
+                    $sel=($staff->dept_id==$id)?'selected="selected"':'';
+                      echo sprintf('<option value="%d" %s>%s</option>',$id,$sel,$name);
+                  }
               }
               ?>
               <option value="0" data-quick-add>&mdash; <?php echo __('Add New');?> &mdash;</option>
             </select>
             <i class="offset help-tip icon-question-sign" href="#primary_department"></i>
-            <div class="error"><?php echo $errors['dept_id']; ?></div>
+            <?php
+            if($warn) { ?>
+                &nbsp;<span class="error">*&nbsp;<?php echo $warn; ?></span>
+            <?php } ?>
           </td>
           <td style="vertical-align:top">
             <select name="role_id" data-quick-add="role">
diff --git a/include/staff/staffmembers.inc.php b/include/staff/staffmembers.inc.php
index 97f7c1265249a845d5bfb49d3705e66638e44569..9c3c76020c4e04ad6d17f014ac9eea413a057073 100644
--- a/include/staff/staffmembers.inc.php
+++ b/include/staff/staffmembers.inc.php
@@ -143,6 +143,12 @@ $agents->limit($pageNav->getLimit())->offset($pageNav->getStart());
                                 <?php echo __( 'Change Department'); ?>
                             </a>
                         </li>
+                        <li>
+                            <a class="no-pjax" href="staff.php?a=export">
+                                <i class="icon-download-alt icon-fixed-width"></i>
+                                <?php echo __( 'Export Agents'); ?>
+                            </a>
+                        </li>
                         <!-- TODO: Implement "Reset Access" mass action
                     <li><a class="dialog-first" href="#staff/reset-access">
                     <i class="icon-puzzle-piece icon-fixed-width"></i>
diff --git a/include/staff/tasks.inc.php b/include/staff/tasks.inc.php
index a67a6dc7968ce000998476b44bb7f23ed4b7b7ae..c8983aca53190d4b300f0894590ae3978c51d224 100644
--- a/include/staff/tasks.inc.php
+++ b/include/staff/tasks.inc.php
@@ -94,14 +94,6 @@ case 'search':
         )));
         unset($_SESSION[$queue_key]);
         break;
-    } elseif (isset($_SESSION['advsearch:tasks'])) {
-        // XXX: De-duplicate and simplify this code
-        $form = $search->getFormFromSession('advsearch:tasks');
-        $form->loadState($_SESSION['advsearch:tasks']);
-        $tasks = $search->mangleQuerySet($tasks, $form);
-        $results_type=__('Advanced Search')
-            . '<a class="action-button" href="?clear_filter"><i class="icon-ban-circle"></i> <em>' . __('clear') . '</em></a>';
-        break;
     }
     // Fall-through and show open tickets
 case 'open':
diff --git a/include/staff/templates/advanced-search-criteria.tmpl.php b/include/staff/templates/advanced-search-criteria.tmpl.php
index 136c7d139bb7a35d382757fe2e534230f79d997a..4390cbc001061cc129676da900cebd3080913e77 100644
--- a/include/staff/templates/advanced-search-criteria.tmpl.php
+++ b/include/staff/templates/advanced-search-criteria.tmpl.php
@@ -88,6 +88,24 @@ foreach ($matches as $path => $F) {
 <?php }
 } ?>
 </select>
+
+<div class="row">
+</br>
+  <label class="checkbox inline"><input id="save-search" type="checkbox" name="save-search"
+
+  onclick="javascript:
+    var form = $(this).closest('form');
+    form.attr('action', form.attr('action') + '/' + <?php echo
+      $search->id ?: "'create'"; ?>);">
+       <?php echo __('Save Search'); ?></label>
+     </br>
+     <input name="name" type="text" size="40" style="margin-top: 5px;"
+       value="<?php echo Format::htmlchars($search->getName()); ?>"
+       placeholder="<?php
+       echo __('Search Title'); ?>"/>
+     <div class="error"><?php echo Format::htmlchars($errors['name']); ?></div>
+</div>
+
 <script>
 $(function() {
   $('#search-add-new-field').on('change', function() {
diff --git a/include/staff/templates/advanced-search.tmpl.php b/include/staff/templates/advanced-search.tmpl.php
index 5cee3f051097b552c880c0dcd551d60427fed2ee..e904b971f280a0126d2f13d6473c4f0ce44bb3f9 100644
--- a/include/staff/templates/advanced-search.tmpl.php
+++ b/include/staff/templates/advanced-search.tmpl.php
@@ -34,15 +34,6 @@ foreach ($queues as $id => $name) {
       </select>
     </div>
    </div>
-   <div class="flex row">
-    <div class="span12">
-      <input name="name" type="text" size="30"
-        value="<?php echo Format::htmlchars($search->getName()); ?>"
-        placeholder="<?php
-        echo __('Enter a title for the search queue'); ?>"/>
-      <div class="error"><?php echo Format::htmlchars($errors['name']); ?></div>
-    </div>
-  </div>
 <ul class="clean tabs">
     <li class="active"><a href="#criteria"><i class="icon-search"></i> <?php echo __('Criteria'); ?></a></li>
     <li><a href="#columns"><i class="icon-columns"></i> <?php echo __('Columns'); ?></a></li>
@@ -86,14 +77,6 @@ height:auto;">
       <button class="button" type="submit" name="submit" value="search"
         id="do_search"><i class="icon-search"></i>
         <?php echo __('Search'); ?></button>
-      <button class="green button" type="submit" name="submit" value="save"
-        onclick="javascript:
-          var form = $(this).closest('form');
-          form.attr('action', form.attr('action') + '/' + <?php echo
-            $search->id ?: "'create'"; ?>);"
-        ><i class="icon-save"></i>
-        <?php echo __('Save'); ?>
-      </button>
     </div>
   </div>
 
diff --git a/include/staff/templates/form-manage.tmpl.php b/include/staff/templates/form-manage.tmpl.php
index 9794bdbdda6a3e0687f8803e49eee563b85c9a06..2874181d6f8c15981de6be708d3d64e8d7f4f278 100644
--- a/include/staff/templates/form-manage.tmpl.php
+++ b/include/staff/templates/form-manage.tmpl.php
@@ -16,7 +16,7 @@ foreach ($forms as $e) { ?>
     $current_list[] = $e->get('form_id');
     if ($e->getDynamicForm()->get('type') == 'G') { ?>
     <div class="button-group">
-    <div class="delete"><a href="#"><i class="icon-trash"></i></a></div>
+    <div class="delete"><a href="#" onclick="$(this).closest('div.row-item').remove();$('#delete-warning').show();"><i class="icon-trash"></i></a></div>
     </div>
     <?php } ?>
 </div>
diff --git a/include/staff/templates/status-options.tmpl.php b/include/staff/templates/status-options.tmpl.php
index 1c9bad9e894146e8818a8b34b5fded288cbdda72..c8cff18a94cc8b06535f0ecd017a2b87df9fd841 100644
--- a/include/staff/templates/status-options.tmpl.php
+++ b/include/staff/templates/status-options.tmpl.php
@@ -15,7 +15,7 @@ $actions= array(
 
 $states = array('open');
 if ($thisstaff->getRole($ticket ? $ticket->getDeptId() : null)->hasPerm(Ticket::PERM_CLOSE)
-        && (!$ticket || !$ticket->getMissingRequiredFields()))
+        && (!$ticket || !Ticket::getMissingRequiredFields($ticket)))
     $states = array_merge($states, array('closed'));
 
 $statusId = $ticket ? $ticket->getStatusId() : 0;
diff --git a/include/staff/templates/task-view.tmpl.php b/include/staff/templates/task-view.tmpl.php
index 84cbcdea7823c8fe4e8bf441d539d5092c10df4d..0f6d44adf483efa54507354218d700bdb1c9b1eb 100644
--- a/include/staff/templates/task-view.tmpl.php
+++ b/include/staff/templates/task-view.tmpl.php
@@ -78,7 +78,7 @@ if ($role->hasPerm(Task::PERM_DELETE)) {
             'delete' => array(
                 'href' => sprintf('#tasks/%d/delete', $task->getId()),
                 'icon' => 'icon-trash',
-                'class' => 'red button',
+                'class' => (strpos($_SERVER['REQUEST_URI'], 'tickets.php') !== false) ? 'danger' : 'red button',
                 'label' => __('Delete'),
                 'redirect' => 'tasks.php'
             ));
@@ -268,7 +268,7 @@ if ($task->isOverdue())
                 <?php
                 foreach ($actions as $action) {?>
                 <span class="action-button <?php echo $action['class'] ?: ''; ?>">
-                    <a class="task-action"
+                    <a class="<?php echo ($action['class'] == 'no-pjax') ? '' : 'task-action'; ?>"
                         <?php
                         if ($action['dialog'])
                             echo sprintf("data-dialog-config='%s'", $action['dialog']);
diff --git a/include/staff/templates/ticket-preview.tmpl.php b/include/staff/templates/ticket-preview.tmpl.php
index 671201c48a37007083c00643d17f1088c29e6819..b615e37971f7fe9b7f4be23bc547192f752f2893 100644
--- a/include/staff/templates/ticket-preview.tmpl.php
+++ b/include/staff/templates/ticket-preview.tmpl.php
@@ -116,6 +116,38 @@ echo sprintf(
 
 echo '
     </table>';
+?>
+<?php
+foreach (DynamicFormEntry::forTicket($ticket->getId()) as $form) {
+    // Skip core fields shown earlier in the ticket preview
+    $answers = $form->getAnswers()->exclude(Q::any(array(
+        'field__flags__hasbit' => DynamicFormField::FLAG_EXT_STORED,
+        'field__name__in' => array('subject', 'priority')
+    )));
+    $displayed = array();
+    foreach($answers as $a) {
+        if (!($v = $a->display()))
+            continue;
+        $displayed[] = array($a->getLocal('label'), $v);
+    }
+    if (count($displayed) == 0)
+        continue;
+
+    echo '<hr>';
+    echo '<table border="0" cellspacing="" cellpadding="1" width="100%" style="margin-bottom:0px;" class="ticket_info">';
+    echo '<tbody>';
+
+    foreach ($displayed as $stuff) {
+        list($label, $v) = $stuff;
+        echo '<tr>';
+        echo '<th width="20%" style="white-space: nowrap;">'.Format::htmlchars($label).':</th>';
+        echo '<td>'.$v.'</td>';
+        echo '</tr>';
+    }
+
+    echo '</tbody>';
+    echo '</table>';
+}
 echo '</div>'; // ticket preview content.
 ?>
 <div class="hidden tab_content" id="collab">
@@ -142,8 +174,8 @@ echo '</div>'; // ticket preview content.
     <br>
     <?php
     echo sprintf('<span><a class="collaborators"
-                            href="#tickets/%d/collaborators">%s</a></span>',
-                            $ticket->getId(),
+                            href="#thread/%d/collaborators">%s</a></span>',
+                            $thread->getId(),
                             $thread && $thread->getNumCollaborators()
                                 ? __('Manage Collaborators') : __('Add Collaborator')
                                 );
diff --git a/include/staff/templates/tickets.tmpl.php b/include/staff/templates/tickets.tmpl.php
index 543ecaf7cae5e195333f5390cd8c2533853a5c46..160bfa6de5f813e20250b89c5c5cf527c5209911 100644
--- a/include/staff/templates/tickets.tmpl.php
+++ b/include/staff/templates/tickets.tmpl.php
@@ -85,7 +85,7 @@ TicketForm::ensureDynamicDataView();
     if ($total) {
         echo '<strong>'.$pageNav->showing().'</strong>';
     } else {
-        echo sprintf(__('%s does not have any tickets'), $user? 'User' : 'Organization');
+        echo sprintf(__('%s does not have any tickets'), $user? __('User') : __('Organization'));
     }
    ?>
 </div>
diff --git a/include/staff/templates/users.tmpl.php b/include/staff/templates/users.tmpl.php
index 7d56f26ef739863fd02ec9ccfdfdd89c82b3d9ef..b34fa61111e05dac6726e6f379a1b67b6d88a83c 100644
--- a/include/staff/templates/users.tmpl.php
+++ b/include/staff/templates/users.tmpl.php
@@ -36,7 +36,10 @@ $pageNav=new Pagenate($total,$page,PAGE_LIMIT);
 $qstr = '&amp;'. Http::build_query($qs);
 $qs += array('sort' => $_REQUEST['sort'], 'order' => $_REQUEST['order']);
 
-$pageNav->setURL('users.php', $qs);
+if (strpos($_SERVER['REQUEST_URI'], 'orgs.php') !== false)
+    $pageNav->setURL('orgs.php?id='.$org->getId().'&amp;', $qs);
+else
+    $pageNav->setURL('users.php', $qs);
 //Ok..lets roll...create the actual query
 $qstr .= '&amp;order='.($order=='DESC' ? 'ASC' : 'DESC');
 
diff --git a/include/staff/ticket-edit.inc.php b/include/staff/ticket-edit.inc.php
index c3e7e0e4dcef19c80f9aee62776c99a6266d029c..f77e02b8715cf9ce690b56777163b743c39551f7 100644
--- a/include/staff/ticket-edit.inc.php
+++ b/include/staff/ticket-edit.inc.php
@@ -94,6 +94,11 @@ if ($_POST)
                     <option value="" selected >&mdash; <?php echo __('Select Help Topic');?> &mdash;</option>
                     <?php
                     if($topics=Topic::getHelpTopics()) {
+                      if(!array_key_exists($ticket->topic_id, $topics))
+                      {
+                        $topics[$ticket->topic_id] = $ticket->topic;
+                        $warn = sprintf(__('%s selected must be active'), __('Help Topic'));
+                      }
                         foreach($topics as $id =>$name) {
                             echo sprintf('<option value="%d" %s>%s</option>',
                                     $id, ($info['topicId']==$id)?'selected="selected"':'',$name);
@@ -101,7 +106,10 @@ if ($_POST)
                     }
                     ?>
                 </select>
-                &nbsp;<font class="error"><b>*</b>&nbsp;<?php echo $errors['topicId']; ?></font>
+                <?php
+                if($warn) { ?>
+                    &nbsp;<font class="error"><b>*</b>&nbsp;<?php echo $warn; ?></font>
+                <?php } ?>
             </td>
         </tr>
         <tr>
@@ -154,7 +162,7 @@ if ($_POST)
     <tbody>
         <tr>
             <th colspan="2">
-                <em><strong><?php echo __('Internal Note');?></strong>: <?php echo __('Reason for editing the ticket (required)');?> <font class="error">&nbsp;<?php echo $errors['note'];?></font></em>
+                <em><strong><?php echo __('Internal Note');?></strong>: <?php echo __('Reason for editing the ticket (optional)');?> <font class="error">&nbsp;<?php echo $errors['note'];?></font></em>
             </th>
         </tr>
         <tr>
diff --git a/include/staff/ticket-open.inc.php b/include/staff/ticket-open.inc.php
index 1056cdab817f26cbad23c5c835f114d57172bdf2..aa396305a70f7b99c0a12e4bad6ed4cbe04e6257 100644
--- a/include/staff/ticket-open.inc.php
+++ b/include/staff/ticket-open.inc.php
@@ -248,7 +248,7 @@ if ($_POST)
                 <select name="deptId">
                     <option value="" selected >&mdash; <?php echo __('Select Department'); ?>&mdash;</option>
                     <?php
-                    if($depts=Dept::getDepartments(array('dept_id' => $thisstaff->getDepts()))) {
+                    if($depts=Dept::getPublicDepartments()) {
                         foreach($depts as $id =>$name) {
                             if (!($role = $thisstaff->getRole($id))
                                 || !$role->hasPerm(Ticket::PERM_CREATE)
@@ -358,7 +358,7 @@ if ($_POST)
         <tr>
             <td colspan=2>
             <?php
-            if(($cannedResponses=Canned::getCannedResponses())) {
+            if($cfg->isCannedResponseEnabled() && ($cannedResponses=Canned::getCannedResponses())) {
                 ?>
                 <div style="margin-top:0.3em;margin-bottom:0.5em">
                     <?php echo __('Canned Response');?>:&nbsp;
@@ -466,13 +466,9 @@ print $response_form->getField('attachments')->render();
     <input type="submit" name="submit" value="<?php echo _P('action-button', 'Open');?>">
     <input type="reset"  name="reset"  value="<?php echo __('Reset');?>">
     <input type="button" name="cancel" value="<?php echo __('Cancel');?>" onclick="javascript:
-        $('.richtext').each(function() {
-            var redactor = $(this).data('redactor');
-            if (redactor && redactor.opts.draftDelete)
-                redactor.deleteDraft();
-        });
-        window.location.href='tickets.php';
-    ">
+        $(this.form).find('textarea.richtext')
+          .redactor('draft.deleteDraft');
+        window.location.href='tickets.php'; " />
 </p>
 </form>
 <script type="text/javascript">
diff --git a/include/staff/ticket-view.inc.php b/include/staff/ticket-view.inc.php
index e7440d13a1cdc1103c8df31a68ad731ddb716ea6..f5d7ae5f7ba3bf740000ed119c2e1429b2e3324e 100644
--- a/include/staff/ticket-view.inc.php
+++ b/include/staff/ticket-view.inc.php
@@ -262,7 +262,18 @@ if($ticket->isOverdue())
             <table border="0" cellspacing="" cellpadding="4" width="100%">
                 <tr>
                     <th width="100"><?php echo __('Status');?>:</th>
-                    <td><?php echo ($S = $ticket->getStatus()) ? $S->display() : ''; ?></td>
+                    <?php
+                         if ($role->hasPerm(Ticket::PERM_CLOSE)) {?>
+                    <td>
+                      <a class="tickets-action" data-dropdown="#action-dropdown-statuses" data-placement="bottom" data-toggle="tooltip" title="<?php echo __('Change Status'); ?>"
+                          data-redirect="tickets.php?id=<?php echo $ticket->getId(); ?>"
+                          href="#statuses">
+                          <?php echo $ticket->getStatus(); ?>
+                      </a>
+                    </td>
+                      <?php } else { ?>
+                          <td><?php echo ($S = $ticket->getStatus()) ? $S->display() : ''; ?></td>
+                      <?php } ?>
                 </tr>
                 <tr>
                     <th><?php echo __('Priority');?>:</th>
@@ -575,7 +586,7 @@ foreach (DynamicFormEntry::forTicket($ticket->getId()) as $form) {
     )));
     $displayed = array();
     foreach($answers as $a) {
-        $displayed[] = array($a->getLocal('label'), $a->display() ?: __('Enter'), $a->getLocal('id'));
+        $displayed[] = array($a->getLocal('label'), $a->display() ?: '<span class="faded">&mdash;' . __('Empty') . '&mdash; </span>', $a->getLocal('id'));
     }
     if (count($displayed) == 0)
         continue;
@@ -587,7 +598,7 @@ foreach (DynamicFormEntry::forTicket($ticket->getId()) as $form) {
     <tbody>
 <?php
     foreach ($displayed as $stuff) {
-        list($label, $v) = $stuff;
+        list($label, $v, $id) = $stuff;
 ?>
         <tr>
             <td width="200"><?php echo Format::htmlchars($label); ?>:</td>
diff --git a/include/upgrader/done.inc.php b/include/upgrader/done.inc.php
index 894d7ff2976f874539e7d8b13b2c2d63d5bbb286..2ad200f78b41fd148a91a31696ed83d7c2b66fc7 100644
--- a/include/upgrader/done.inc.php
+++ b/include/upgrader/done.inc.php
@@ -28,7 +28,7 @@ $_SESSION['ost_upgrader']=null;
                 sprintf('<a href="'. ROOT_PATH . 'scp/settings.php" target="_blank">%s</a>', __('Admin Panel')),
                 sprintf('<a href="http://osticket.com/wiki/Release_Notes" target="_blank">%s</a>', __('osTicket Wiki')));?></p>
             <p><b><?php echo __('Stay up to date');?></b>: <?php echo __("It's important to keep your osTicket installation up to date. Get announcements, security updates and alerts delivered directly to you!");?>
-            <?php echo sprintf(__('%1$s Get in the loop %2$s today and stay informed!'), '<a target="_blank" href="http://osticket.com/subscribe.php">', '</a>');?></p>
+            <?php echo sprintf(__('%1$s Get in the loop %2$s today and stay informed!'), '<a target="_blank" href="http://osticket.com/newsletter">', '</a>');?></p>
             <p><b><?php echo __('Commercial Support Available');?></b>: <?php echo sprintf(__('Get guidance and hands-on expertise to address unique challenges and make sure your osTicket runs smoothly, efficiently, and securely. %1$s Learn More! %2$s'), '<a target="_blank" href="http://osticket.com/support">','</a>');?></p>
    </div>
    <div class="clear"></div>
diff --git a/include/upgrader/streams/core.sig b/include/upgrader/streams/core.sig
index e791d7b4a64d84a4f7c28ead42d9b5e37d04fc9c..4ad11e1f415bd953c9e8a80441aa12cdb7bbf5dc 100644
--- a/include/upgrader/streams/core.sig
+++ b/include/upgrader/streams/core.sig
@@ -1 +1 @@
-526c601bc1748febb192f854699f170a
+e7dfe82131b906a14f6a13163943855f
diff --git a/include/upgrader/streams/core/526c601b-cce1ba43.patch.sql b/include/upgrader/streams/core/526c601b-cce1ba43.patch.sql
new file mode 100644
index 0000000000000000000000000000000000000000..215e5c5bec67e83fb03de679dd634e424b2cf1ec
--- /dev/null
+++ b/include/upgrader/streams/core/526c601b-cce1ba43.patch.sql
@@ -0,0 +1,32 @@
+/**
+* @signature cce1ba439ea7e50fcb845fd067779088
+* @version v1.11.0
+* @title Archive Departments and Help Topics
+*
+* This patch replaces the isactive field on Help Topics with using the flags field to add a new status called 'archived'.
+* It also adds a status field to Departments, allowing Agents to activate, disable, and archive Departments
+* through using the flags field
+*
+* Finally, a flag field is added to the filter table
+*/
+-- Help Topics
+UPDATE `%TABLE_PREFIX%help_topic`
+     SET `flags` = `flags` + 2
+     WHERE `isactive` = 1;
+
+ALTER TABLE `%TABLE_PREFIX%help_topic`
+  DROP COLUMN `isactive`;
+
+-- Departments
+UPDATE `%TABLE_PREFIX%department`
+    SET `flags` = `flags` + 4
+    WHERE `ispublic` = 1;
+
+-- Ticket Filters
+ALTER TABLE `%TABLE_PREFIX%filter`
+    ADD `flags` int(10) unsigned DEFAULT '0' AFTER  `isactive`;
+
+ -- Finished with patch
+UPDATE `%TABLE_PREFIX%config`
+    SET `value` = 'cce1ba439ea7e50fcb845fd067779088'
+    WHERE `key` = 'schema_signature' AND `namespace` = 'core';
diff --git a/include/upgrader/streams/core/86707325-526c601b.cleanup.sql b/include/upgrader/streams/core/86707325-526c601b.cleanup.sql
new file mode 100644
index 0000000000000000000000000000000000000000..caa1687c5ca775f23d91aff96ce829a4e705663d
--- /dev/null
+++ b/include/upgrader/streams/core/86707325-526c601b.cleanup.sql
@@ -0,0 +1,7 @@
+-- set thread entry pid's to show Service/Response time in Dashboard
+UPDATE `%TABLE_PREFIX%thread_entry` AS this
+INNER JOIN (
+	SELECT `%TABLE_PREFIX%thread_entry`.`id`,`%TABLE_PREFIX%thread_entry`.`thread_id`,`%TABLE_PREFIX%thread_entry`.`type`
+	FROM `%TABLE_PREFIX%thread_entry` WHERE `%TABLE_PREFIX%thread_entry`.`type` = 'M') AS that
+SET this.`pid` = that.`id`
+WHERE this.`thread_id` = that.`thread_id` AND that.`type` = 'M' AND this.type = 'R' AND this.`id` > that.`id` AND this.`pid` = 0
diff --git a/include/upgrader/streams/core/cce1ba43-e7dfe821.patch.sql b/include/upgrader/streams/core/cce1ba43-e7dfe821.patch.sql
new file mode 100644
index 0000000000000000000000000000000000000000..660400dde7260d323533cfb805b7b8a94b8ec68c
--- /dev/null
+++ b/include/upgrader/streams/core/cce1ba43-e7dfe821.patch.sql
@@ -0,0 +1,15 @@
+/**
+* @signature e7dfe82131b906a14f6a13163943855f
+* @version v1.11.0
+* @title Nested Knowledgebase Categories
+*
+* This patch adds a new field, category_pid, to the faq_category table
+* to allow for adding nested categories to the knowledgebase.
+*/
+ALTER TABLE `%TABLE_PREFIX%faq_category`
+    ADD `category_pid` int(10) unsigned DEFAULT NULL AFTER  `category_id`;
+
+ -- Finished with patch
+UPDATE `%TABLE_PREFIX%config`
+    SET `value` = 'e7dfe82131b906a14f6a13163943855f'
+    WHERE `key` = 'schema_signature' AND `namespace` = 'core';
diff --git a/js/osticket.js b/js/osticket.js
index bd2f937e61af3b5f7cabd3b53e1d635cbb324486..3d82e2ba1152960450a75e0f2c3ccdd428af7edb 100644
--- a/js/osticket.js
+++ b/js/osticket.js
@@ -173,13 +173,21 @@ getConfig = (function() {
 
 $.translate_format = function(str) {
     var translation = {
-        'd':'dd',
-        'j':'d',
-        'z':'o',
-        'm':'mm',
-        'F':'MM',
-        'n':'m',
-        'Y':'yy'
+        'DD':   'oo',
+        'D':    'o',
+        'EEEE': 'DD',
+        'EEE':  'D',
+        'MMMM': '||',   // Double replace necessary
+        'MMM':  '|',
+        'MM':   'mm',
+        'M':    'm',
+        '||':   'MM',
+        '|':    'M',
+        'yyyy': '`',
+        'yyy':  '`',
+        'yy':   'y',
+        'y':    'yy',
+        '`':    'yy'
     };
     // Change PHP formats to datepicker ones
     $.each(translation, function(php, jqdp) {
diff --git a/js/redactor-osticket.js b/js/redactor-osticket.js
index 23a30fc29676d221f0f69e15f0c1f757f796acf0..12a496c98825195224f72a12c1faed684e9dbc2f 100644
--- a/js/redactor-osticket.js
+++ b/js/redactor-osticket.js
@@ -94,6 +94,7 @@ RedactorPlugins.draft = function() {
             // No change yet — dont't show the button
             return;
         }
+        this.$box.find('textarea').attr('data-draft-id', this.opts.draftId);
         if (data && this.code.get()) {
             this.$draft_saved.show().delay(5000).fadeOut();
         }
@@ -290,10 +291,10 @@ $(function() {
         var reset = $('input[type=reset]', el.closest('form'));
         if (reset) {
             reset.click(function() {
-                if (el.hasClass('draft'))
-                    el.redactor('deleteDraft');
+                if (el.attr('data-draft-id'))
+                    el.redactor('draft.deleteDraft').attr('data-draft-id', '');
                 else
-                    el.redactor('set', '', false, false);
+                    el.redactor('insert.set', '', false, false);
             });
         }
         $('input[type=submit]', el.closest('form')).on('click', function() {
diff --git a/js/redactor.min.js b/js/redactor.min.js
index 1a97a6de53e1f2c8b24df7e33010f683dadf8f06..2387ee4aa6d07338f6e7b6da14071463c44bcdd7 100644
--- a/js/redactor.min.js
+++ b/js/redactor.min.js
@@ -9,4 +9,4 @@
 
 	Usage: $('#content').redactor();
 */
-eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(C($){\'mI m0\';if(!g7.5w.aH){g7.5w.aH=C(eW){E fn=q;F C(){F fn.9E(eW)}}}E 2G=0;$.fn.I=C(44){E 2K=[];E eI=9F.5w.ct.6e(fA,1);if(1s 44===\'6Z\'){q.1B(C(){E 6u=$.1f(q,\'I\');E 1C;if(44.3N(/\\./)!=\'-1\'){1C=44.4o(\'.\');if(1s 6u[1C[0]]!=\'1y\'){1C=6u[1C[0]][1C[1]]}}N{1C=6u[44]}if(1s 6u!==\'1y\'&&$.5k(1C)){E 9L=1C.9E(6u,eI);if(9L!==1y&&9L!==6u){2K.2N(9L)}}N{$.6U(\'lX lL bx "\'+44+\'" 2B 47\')}})}N{q.1B(C(){$.1f(q,\'I\',{});$.1f(q,\'I\',47(q,44))})}if(2K.12===0)F q;N if(2K.12===1)F 2K[0];N F 2K};C 47(el,44){F 2a 47.5w.3Q(el,44)}$.47=47;$.47.l2=\'10.2.2\';$.47.d4=[\'3b\',\'3r\',\'R\',\'25\',\'2o\',\'1t\',\'1V\',\'1x\',\'1e\',\'1X\',\'1n\',\'22\',\'2n\',\'M\',\'3y\',\'28\',\'1Y\',\'1D\',\'2s\',\'1H\',\'3K\',\'V\',\'2z\',\'2e\',\'1a\',\'1R\',\'2V\',\'5C\',\'3f\',\'5E\',\'J\',\'6m\',\'2H\',\'1I\',\'1A\',\'1v\',\'L\'];$.47.G={1H:\'en\',d7:\'l1\',8r:O,2n:O,fP:O,3f:O,6r:1q,6S:O,aG:O,aI:O,1M:O,5Q:1q,2V:1q,fh:O,al:1q,jJ:1q,hj:1q,hL:O,3r:O,d5:O,9m:60,d6:O,9O:O,j4:1q,5c:\'8s\',hR:O,cs:50,dq:1q,hE:1q,hH:1q,8x:\'lE\',dp:1q,75:4e,k1:\'22\',lh:O,fB:1q,76:4e,k2:\'22\',fF:1q,7V:O,a2:1q,c1:1q,bX:1q,93:1q,6v:4,9Y:O,fp:1q,9p:O,1A:1q,iS:1q,6y:1l,6z:0,bf:O,iO:O,4E:1q,4i:[\'B\',\'3a\',\'4n\',\'4m\',\'5Y\',\'5m\',\'5z\',\'7p\',\'3y\',\'M\',\'22\',\'V\',\'3b\',\'b3\'],cw:[],cv:[],3a:[\'p\',\'29\',\'2F\',\'h1\',\'h2\',\'h3\',\'h4\',\'h5\',\'h6\'],dT:O,2H:1q,4c:[\'3V\',\'1o\'],4z:O,ej:[\'3W\',\'1i\',\'2F\',\'64\',\'3p\',\'ol\',\'h1\',\'h2\',\'h3\',\'h4\',\'h5\',\'h6\',\'dl\',\'29\',\'7Y\',\'du\',\'49\',\'87\',\'c8\',\'eE\',\'eS\',\'41\',\'1o\',\'3V\',\'4R\',\'7z\',\'3D\',\'2v\',\'1t\',\'42\',\'iA\',\'fx\',\'lf\',\'hr\',\'iT\',\'lj\',\'l7\',\'pJ\',\'6K\',\'pD\',\'pw\',\'pC\',\'p\'],6G:O,5B:[[\'7c\',\'4h\'],[\'b\',\'5i\']],5A:[[\'3R-7I:\\\\s?4n\',"5i"],[\'3R-1o:\\\\s?4m\',"em"],[\'1g-7a:\\\\s?5x\',"u"],[\'1g-7a:\\\\s?3K-eP\',\'4h\']],5y:O,1K:O,4T:O,6L:[\'1j\'],4f:[\'p\'],b5:[\'5Y\',\'4m\',\'4n\',\'5x\',\'5m\',\'5z\',\'pL\',\'pU\',\'pT\',\'9d\'],cg:{b:\'4n\',5i:\'4n\',i:\'4m\',em:\'4m\',4h:\'5Y\',7c:\'5Y\',3p:\'5m\',ol:\'5z\',u:\'5x\'},6m:{\'48+6E+m, 5h+6E+m\':{1C:\'28.dm\'},\'48+b, 5h+b\':{1C:\'28.30\',6p:[\'4n\']},\'48+i, 5h+i\':{1C:\'28.30\',6p:[\'4m\']},\'48+h, 5h+h\':{1C:\'28.30\',6p:[\'hv\']},\'48+l, 5h+l\':{1C:\'28.30\',6p:[\'hq\']},\'48+k, 5h+k\':{1C:\'V.2O\'},\'48+6E+7\':{1C:\'2e.3m\',6p:[\'5z\']},\'48+6E+8\':{1C:\'2e.3m\',6p:[\'5m\']}},js:O,25:[],9k:[],5S:\'<p>&#9T;</p>\',6o:\'&#9T;\',kb:[\'M/jG\',\'M/pW\',\'M/jN\'],ad:20,cW:[\'a\',\'1L\',\'b\',\'5i\',\'7l\',\'7Q\',\'i\',\'em\',\'u\',\'9f\',\'7c\',\'4h\',\'8S\',\'3p\',\'ol\',\'li\'],4N:[\'5i\',\'b\',\'u\',\'em\',\'i\',\'1e\',\'4h\',\'pX\',\'aN\',\'aS\',\'7Q\',\'7l\',\'6A\',\'E\',\'8S\',\'9f\'],8F:[\'P\',\'dK\',\'di\',\'cS\',\'cR\',\'cI\',\'cH\',\'pM\',\'pc\',\'pd\',\'89\',\'6F\',\'aK\',\'pe\',\'hM\',\'p8\',\'p2\',\'ph\',\'nA\',\'nB\',\'oH\'],8q:[\'8o\',\'8D\',\'8N\',\'5v\'],cA:O,1R:{79:[]},kn:{en:{B:\'oG\',6Y:\'6B gx\',M:\'6B hO\',3W:\'dz\',V:\'cO\',ba:\'6B V\',ca:\'jh V\',6P:\'oD\',3a:\'oW\',j2:\'ox 1g\',ci:\'oe\',1e:\'gS\',jb:\'9H 1\',jH:\'9H 2\',jI:\'9H 3\',jM:\'9H 4\',jD:\'9H 5\',4n:\'ou\',4m:\'qO\',om:\'oo j9\',ok:\'op j9\',5m:\'ov jK\',5z:\'os jK\',7p:\'ob\',3y:\'oy\',it:\'oE\',1Y:\'6B\',3o:\'oF\',hK:\'8w\',nk:\'6B dz\',nj:\'9r dV np\',ng:\'9r dV n3\',nb:\'9r co hU\',nU:\'9r co hS\',nZ:\'8w co\',nV:\'8w dV\',nI:\'8w dz\',nH:\'qj\',q2:\'q6\',qa:\'9r hl\',qt:\'8w hl\',1J:\'qM\',cC:\'qL\',5p:\'qK\',2c:\'hU\',4s:\'hS\',5u:\'gn\',qy:\'hO qB cO\',1g:\'pj\',bY:\'pi\',pn:\'cD\',po:\'gx p4 gS or pR/pK cO\',22:\'6B pI\',1v:\'pH\',lo:\'ld\',gc:\'lH\',lI:\'lA gc\',kY:\'jo 22 jm\',jt:\'gz 1g hB eZ 2c\',jx:\'gn 1g\',jB:\'gz 1g hB eZ 4s\',jA:\'m9 1g\',b3:\'6B m5 mc\',5Y:\'mC\',gV:\'ly\',aL:\'lv V in 2a 5I\',5x:\'lC\',3b:\'lu\',6k:\'lc (nE)\',7L:\'jh\',kD:\'jo 22 jm or \'}},2z:{4v:{72:/5o?:\\/\\/(?:[0-9A-Z-]+\\.)?(?:lx\\.be\\/|72\\.a5\\S*[^\\w\\-\\s])([\\w\\-]{11})(?=[^\\w\\-]|$)(?![?=&+%\\w.\\-]*(?:[\'"][^<>]*>|<\\/a>))[?=&+%\\w.-]*/ig,71:/5o?:\\/\\/(7n\\.)?71.a5\\/(\\d+)($|\\/)/,M:/((5o?|7n)[^\\s]+\\.)(lK?g|jG|jN)(\\?[^\\s-]+)?/ig,2i:/(5o?:\\/\\/(?:7n\\.|(?!7n))[^\\s\\.]+\\.[^\\s]{2,}|7n\\.[^\\s]+\\.[^\\s]{2,})/ig,}},8n:O};47.fn=$.47.5w={3j:{84:8,8Q:46,l0:38,dW:40,70:13,a7:32,b2:27,dx:9,fK:17,fL:91,fU:16,fM:18,eB:39,lD:37,g0:91},3Q:C(el,44){q.$2j=$(el);q.2G=2G++;q.7B=O;q.$5e=O;q.jz(44);q.jy();q.3a={};$.mB(q.G.8q,q.G.8F);q.gm=2a 2l(\'^(\'+q.G.8q.3c(\'|\')+\')$\',\'i\');q.1I.ja();if(q.G.4c!==O){E 2d=[\'B\',\'e0\',\'V\',\'31\',\'5h\',\'mE\'];2B(E i=0;i<2d.12;i++){q.G.4c.2N(2d[i])}}q.1H.2R();$.7E(q.G.6m,q.G.js);q.1X.2u(\'2b\');q.2b=1q;q.2o.ki()},jz:C(44){q.G=$.7E({},$.7E(1q,{},$.47.G),q.$2j.1f(),44)},dg:C(41){F g8.mw(41).bW(C(ai){F 1s 41[ai]==\'C\'})},jy:C(){E 2p=$.47.d4.12;2B(E i=0;i<2p;i++){q.iq($.47.d4[i])}},iq:C(6D){if(1s q[6D]==\'1y\')F;q[6D]=q[6D]();E 5X=q.dg(q[6D]);E 2p=5X.12;2B(E z=0;z<2p;z++){q[6D][5X[z]]=q[6D][5X[z]].aH(q)}},3b:C(){F{2c:C(){q.3b.1U(\'\')},4s:C(){q.3b.1U(\'4s\')},5u:C(){q.3b.1U(\'5u\')},9d:C(){q.3b.1U(\'9d\')},1U:C(1m){if(!q.L.1P(\'2E\'))q.$T.2n();q.25.1U();q.J.3o();q.3b.1Z=q.J.3X();q.3b.1m=1m;if(q.3b.ix()){q.3b.im()}N{q.3b.iy()}q.J.3d();q.1e.1S()},im:C(){E 4M=q.J.5Z(\'1i\');$(4M).1c(\'1f-8b\',\'I\').1O(\'1g-5g\',q.3b.1m)},iy:C(){$.1B(q.3b.1Z,$.1d(C(i,el){E $el=q.L.bh(el);if(!$el)F;if(q.3b.il($el)){q.3b.i6($el)}N{q.3b.ib($el)}},q))},ix:C(){F(q.G.1M&&q.3b.1Z[0]===O)},il:C($el){F(q.3b.1m===\'\'&&1s($el.1f(\'8b\'))!==\'1y\')},i6:C($el){$el.2t($el.B())},ib:C($el){$el.1O(\'1g-5g\',q.3b.1m);q.L.5r($el,\'1o\')}}},3r:C(){F{B:O,9Q:C(){if(!q.G.3r)F;q.3r.1w=(q.G.d5)?q.G.d5:q.$2v.1c(\'1w\');if(q.G.d6)F;q.9m=m3(q.3r.2R,q.G.9m*m1)},h7:C(){if(!q.G.d6)F;q.3r.2R()},2R:C(){q.3r.4E=q.1e.1b();if(q.3r.B===q.3r.4E)F;E 1f={};1f[\'1w\']=q.3r.1w;1f[q.3r.1w]=q.3r.4E;1f=q.3r.6V(1f);E ih=$.lU({2i:q.G.3r,1m:\'lM\',1f:1f});ih.lT(q.3r.iR)},6V:C(1f){if(q.G.9O===O||1s q.G.9O!==\'41\'){F 1f}$.1B(q.G.9O,$.1d(C(k,v){if(v!==4e&&v.4y().4Q(\'#\')===0)v=$(v).2K();1f[k]=v},q));F 1f},iR:C(1f){E 2P;52{2P=$.jY(1f)}51(e){2P=1f}E iY=(1s 2P.6U==\'1y\')?\'3r\':\'mg\';q.1X.2u(iY,q.3r.1w,2P);q.3r.B=q.3r.4E},ml:C(){gu(q.9m)}}},R:C(){F{3a:C(1w){q.R.b1=O;E 1m,1E;if(1s q.3a[1w].1f!=\'1y\')1m=\'1f\';N if(1s q.3a[1w].1c!=\'1y\')1m=\'1c\';N if(1s q.3a[1w][\'1G\']!=\'1y\')1m=\'1G\';if(1s q.3a[1w].8M!=\'1y\'){q.R.b1=1q}if(1m)1E=q.3a[1w][1m];q.R.30(q.3a[1w].Y,1m,1E)},30:C(Y,1m,1E){if(Y==\'ci\')Y=\'29\';E iF=[\'p\',\'2F\',\'29\',\'h1\',\'h2\',\'h3\',\'h4\',\'h5\',\'h6\'];if($.3t(Y,iF)==-1)F;q.R.8I=(Y==\'2F\'||Y.3N(/h[1-6]/i)!=-1);if(!q.L.1P(\'2E\'))q.$T.2n();E B=$.3k(q.$T.B());q.R.3z=q.L.3z(B);if(q.L.1P(\'4b\')&&!q.2n.dO()){if(q.R.3z){E $3I;if(!q.G.1M){$3I=q.$T.3O().3I();q.1V.3P($3I)}}}q.R.1Z=q.J.3X();q.R.7w=q.R.1Z.12;q.R.1m=1m;q.R.1E=1E;q.25.1U();q.J.3o();q.R.1U(Y);q.J.3d();q.1e.1S();q.1R.2R()},1U:C(Y){q.J.1b();q.R.69=q.14.iL.1p;if(q.14.53){q.R.iE(Y)}N{q.R.iB(Y)}},iE:C(Y){if(q.G.1M&&q.R.3z&&Y!=\'p\'){E Q=1l.3w(Y);q.$T.B(Q);q.1V.3P(Q);F}E R=q.R.1Z[0];if(R===O)F;if(R.1p==\'5v\'){if(Y!=\'29\')F;q.R.aF();F}E 9P=(q.R.69==\'6F\'||q.R.69==\'dn\');if(9P&&!q.G.1M){1l.3Z(\'9S\',O,\'<\'+Y+\'>\');R=q.J.4a();q.R.3m($(R))}N if(R.1p.3e()!=Y){if(q.G.1M&&Y==\'p\'){$(R).1F(\'<br>\');q.L.6i(R)}N{E $1W=q.L.4I(R,Y);q.R.3m($1W);if(Y!=\'p\'&&Y!=\'29\')$1W.1h(\'1L\').1u();if(q.R.8I)q.L.4Z($1W);if(Y==\'p\'||q.R.d2)$1W.1h(\'p\').26().3Y();q.R.d0($1W)}}N if(Y==\'29\'&&R.1p.3e()==Y){if(q.G.1M){$(R).1F(\'<br>\');q.L.6i(R)}N{E $el=q.L.4I(R,\'p\');q.R.3m($el)}}N if(R.1p.3e()==Y){q.R.3m($(R))}if(1s q.R.1m==\'1y\'&&1s q.R.1E==\'1y\'){$(R).1K(\'1G\').1K(\'1o\')}},iB:C(Y){E R=q.R.1Z[0];E 9P=(q.R.69==\'6F\'||q.R.69==\'dn\');if(R!==O&&q.R.7w===1){if(R.1p.3e()==Y&&Y==\'29\'){if(q.G.1M){$(R).1F(\'<br>\');q.L.6i(R)}N{E $el=q.L.4I(R,\'p\');q.R.3m($el)}}N if(R.1p==\'5v\'){if(Y!=\'29\')F;q.R.aF()}N if(q.R.69==\'aK\'){q.R.kS(Y)}N if(q.G.1M&&((9P)||(q.14.iL!=R))){q.R.aE(Y)}N{if(q.G.1M&&Y==\'p\'){$(R).6t(\'<br>\').1F(\'<br>\');q.L.6i(R)}N if(R.1p===\'6F\'){q.R.aE(Y)}N{E $1W=q.L.4I(R,Y);q.R.3m($1W);if(q.R.8I)q.L.4Z($1W);if(Y==\'p\'||q.R.d2)$1W.1h(\'p\').26().3Y()}}}N{if(q.G.1M||Y!=\'p\'){if(Y==\'29\'){E d3=0;2B(E i=0;i<q.R.7w;i++){if(q.R.1Z[i].1p==\'aK\')d3++}if(d3==q.R.7w){$.1B(q.R.1Z,$.1d(C(i,s){E $1W=O;if(q.G.1M){$(s).6t(\'<br>\').1F(\'<br>\');$1W=q.L.6i(s)}N{$1W=q.L.4I(s,\'p\')}if($1W&&1s q.R.1m==\'1y\'&&1s q.R.1E==\'1y\'){$1W.1K(\'1G\').1K(\'1o\')}},q));F}}q.R.aE(Y)}N{E 8B=0;E 5G=O;if(q.R.1m==\'1G\'){5G=\'3m\';8B=$(q.R.1Z).bW(\'.\'+q.R.1E).12;if(q.R.7w==8B)5G=\'3m\';N if(q.R.7w>8B)5G=\'1U\';N if(8B===0)5G=\'1U\'}E 9y=[\'3p\',\'ol\',\'li\',\'2Y\',\'5P\',\'dl\',\'dt\',\'dd\'];$.1B(q.R.1Z,$.1d(C(i,s){if($.3t(s.1p.3e(),9y)!=-1)F;E $1W=q.L.4I(s,Y);if(5G){if(5G==\'3m\')q.R.3m($1W);N if(5G==\'1u\')q.R.1u($1W);N if(5G==\'1U\')q.R.kt($1W)}N q.R.3m($1W);if(Y!=\'p\'&&Y!=\'29\')$1W.1h(\'1L\').1u();if(q.R.8I)q.L.4Z($1W);if(Y==\'p\'||q.R.d2)$1W.1h(\'p\').26().3Y();if(1s q.R.1m==\'1y\'&&1s q.R.1E==\'1y\'){$1W.1K(\'1G\').1K(\'1o\')}},q))}}},kt:C($el){if(q.R.b1){$el.1K(\'1G\').1K(\'1o\')}if(q.R.1m==\'1G\'){$el.2f(q.R.1E);F}N if(q.R.1m==\'1c\'||q.R.1m==\'1f\'){$el.1c(q.R.1E.1w,q.R.1E.1E);F}},3m:C($el){if(q.R.b1){$el.1K(\'1G\').1K(\'1o\')}if(q.R.1m==\'1G\'){$el.7O(q.R.1E);F}N if(q.R.1m==\'1c\'||q.R.1m==\'1f\'){if($el.1c(q.R.1E.1w)==q.R.1E.1E){$el.1K(q.R.1E.1w)}N{$el.1c(q.R.1E.1w,q.R.1E.1E)}F}N{$el.1K(\'1o 1G\');F}},1u:C($el){$el.2S(q.R.1E)},aF:C(){E R=$(q.R.1Z[0]).2q(\'3p, ol\',q.$T[0]);$(R).1h(\'3p, ol\').26().3Y();$(R).1h(\'li\').1F($(\'<br>\')).26().3Y();E $el=q.L.4I(R,\'29\');q.R.3m($el)},kS:C(Y){1l.3Z(\'7p\');1l.3Z(\'9S\',O,Y);q.1x.4r();q.$T.1h(\'p:kh\').1u();E 1W=q.J.4a();if(Y!=\'p\'){$(1W).1h(\'1L\').1u()}if(!q.G.1M){q.R.3m($(1W))}q.$T.1h(\'3p, ol, 6O, 29, p\').1B($.1d(q.L.4f,q));if(q.G.1M&&Y==\'p\'){q.L.6i(1W)}},aE:C(Y){if(q.R.69==\'8D\'||q.R.69==\'8N\'){if(Y==\'29\'){q.R.aF()}N{F}}E 1W=q.J.5Z(Y);if(1W===O)F;E $1W=$(1W);q.R.d0($1W);E $jR=$1W.1h(q.G.8q.3c(\',\')+\', 2Y, 3W, e7, ee, e3, 5P, 6O\');$jR.26().3Y();if(Y!=\'p\'&&Y!=\'29\')$1W.1h(\'1L\').1u();$.1B(q.R.1Z,$.1d(q.L.4f,q));$1W.1F(q.J.6Q(2));if(!q.G.1M){q.R.3m($1W)}q.$T.1h(\'3p, ol, 6O, 29, p\').1B($.1d(q.L.4f,q));$1W.1h(\'29:kh\').1u();if(q.R.8I){q.L.4Z($1W)}if(q.G.1M&&Y==\'p\'){q.L.6i($1W)}if(q.G.1M){E $1N=$1W.1N().1N();if($1N.9B()!=0&&$1N[0].1p===\'58\'){$1N.1u()}}},d0:C($1W){if($1W.2q(\'3W\',q.$T[0]).12===0)F;if($1W.2q(\'6O\',q.$T[0]).12===0)$1W.5Z(\'<6O>\');if($1W.2q(\'2Y\',q.$T[0]).12===0&&$1W.2q(\'5P\').12===0){$1W.5Z(\'<2Y>\')}},gv:C(1w,1E){E 1Z=q.J.3X();$(1Z).1K(\'1f-\'+1w);q.1e.1S()},mZ:C(1w,1E){E 1Z=q.J.3X();$(1Z).1c(\'1f-\'+1w,1E);q.1e.1S()},mY:C(1w,1E){E 1Z=q.J.3X();$.1B(1Z,C(){if($(q).1c(\'1f-\'+1w)){$(q).1K(\'1f-\'+1w)}N{$(q).1c(\'1f-\'+1w,1E)}})},1K:C(1c,1E){E 1Z=q.J.3X();$(1Z).1K(1c);q.1e.1S()},mX:C(1c,1E){E 1Z=q.J.3X();$(1Z).1c(1c,1E);q.1e.1S()},mW:C(1c,1E){E 1Z=q.J.3X();$.1B(1Z,C(){if($(q).1c(1w)){$(q).1K(1w)}N{$(q).1c(1w,1E)}})},2S:C(3E){E 1Z=q.J.3X();$(1Z).2S(3E);q.L.5r(1Z,\'1G\');q.1e.1S()},8g:C(3E){E 1Z=q.J.3X();$(1Z).2f(3E);q.1e.1S()},7O:C(3E){E 1Z=q.J.3X();$(1Z).7O(3E);q.1e.1S()}}},25:C(){F{1U:C(1m){if(1s 1m==\'1y\'||1m==\'9l\'){q.25.kV()}N{q.25.kM()}},kV:C(){q.J.3o();q.G.25.2N(q.$T.B());q.J.3d()},kM:C(){q.J.3o();q.G.9k.2N(q.$T.B());q.J.3d()},kd:C(){q.$T.B(q.G.25.kW())},kj:C(){q.$T.B(q.G.9k.kW())},cQ:C(){q.G.25.2N(q.$T.B())},9l:C(){if(q.G.25.12===0)F;q.25.1U(\'a9\');q.25.kd();q.J.3d();3A($.1d(q.1R.2R,q),50)},a9:C(){if(q.G.9k.12===0)F;q.25.1U(\'9l\');q.25.kj();q.J.3d();3A($.1d(q.1R.2R,q),50)}}},2o:C(){F{ki:C(){q.2o.jW();q.2o.kz();q.2o.kK();q.2o.kF();q.2o.k5()},aa:C(){F(q.$2j[0].1p===\'mu\')},jW:C(){q.$2Q=$(\'<1i 1G="I-2Q" 9c="mq" />\')},k7:C(){q.$2v=$(\'<2v />\').1c(\'1w\',q.2o.ku())},ku:C(){F((1s(1w)==\'1y\'))?\'d1-\'+q.2G:q.$2j.1c(\'id\')},kz:C(){E 1C=(q.2o.aa())?\'2K\':\'B\';q.d1=$.3k(q.$2j[1C]())},kF:C(){q.$T.1c({\'5d\':1q,\'kU\':q.G.d7})},kK:C(){E 1C=(q.2o.aa())?\'kk\':\'ke\';q.2o[1C]()},kk:C(){q.$T=$(\'<1i />\');q.$2v=q.$2j;q.$2Q.jX(q.$2j).1F(q.$T).1F(q.$2j);q.$T.2f(\'I-T\');q.$2j.3v()},ke:C(){q.$T=q.$2j;q.2o.k7();q.$2Q.jX(q.$T).1F(q.$T).1F(q.$2v);q.$T.2f(\'I-T\');q.$2v.3v()},k5:C(){q.1e.1U(q.d1);q.2o.kO();q.2o.kH();if(q.G.6r)F;3A($.1d(q.1e.dJ,q),bt)},kH:C(){q.2o.eD();q.2o.ex();q.2o.fD();q.2o.fR();if(q.G.1A){q.G.1A=q.1A.3Q();q.1A.2o()}q.1a.iW();q.2o.8r();3A($.1d(q.1R.2R,q),4);q.1X.2u(\'3Q\')},kO:C(){$(q.$2v).1c(\'kU\',q.G.d7);if(q.G.1M)q.$T.2f(\'I-1M\');if(q.G.6S)q.$T.1c(\'6S\',q.G.6S);if(q.G.aG)q.$T.1O(\'aG\',q.G.aG);if(q.G.aI)q.$T.1O(\'aI\',q.G.aI)},fg:C(e){e.2w();if(!q.G.fB||!q.G.fF)F;E 5R=e.bG.5R;q.1v.kQ(5R[0],e)},ft:C(e){q.1e.1S();3A(q.1x.4r,1);q.1X.2u(\'57\',e)},fD:C(){q.$T.on(\'57.I\',$.1d(C(e){e=e.7T||e;if(3l.b6===1y||!e.bG)F 1q;if(e.bG.5R.12===0){F q.2o.ft(e)}N{q.2o.fg(e)}3A(q.1x.4r,1);q.1X.2u(\'57\',e)},q));q.$T.on(\'2y.I\',$.1d(C(e){E 8e=q.1X.7g();E 1m=(8e==\'2y\'||8e==\'4W\')?O:\'2y\';q.1X.9K(1m);q.L.8U();q.1X.2u(\'2y\',e)},q));q.$T.on(\'5C.I\',$.1d(q.5C.3Q,q));q.$T.on(\'l4.I\',$.1d(q.1e.1S,q));q.$T.on(\'1D.I\',$.1d(q.1D.3Q,q));q.$T.on(\'2s.I\',$.1d(q.2s.3Q,q));if($.5k(q.G.fo)){q.$2v.on(\'1D.I-2v\',$.1d(q.G.fo,q))}if($.5k(q.G.fZ)){q.$2v.on(\'2s.I-2v\',$.1d(q.G.fZ,q))}if($.5k(q.G.fW)){q.$T.on(\'2n.I\',$.1d(q.G.fW,q))}$(1l).on(\'6R.I.\'+q.2G,$.1d(C(e){q.8h=e.1Q},q));q.$T.on(\'fI.I\',$.1d(C(e){if(q.2b)F;if(q.7B)F;if(!q.2o.fO())F;q.L.8U();if($.5k(q.G.mr))q.1X.2u(\'fI\',e)},q))},fO:C(){if(q.8h===1q)F 1q;E $el=$(q.8h);F(!$el.3i(\'I-1A, I-1n\')&&!$el.is(\'#I-1a\')&&$el.dL(\'.I-1A, .I-1n, #I-1a\').12===0)},fR:C(){if(q.2z.aD()){q.2z.30()}q.3f.9Q();if(q.G.2n)3A(q.2n.2W,88);if(q.G.fP)3A(q.2n.3P,88)},8r:C(){if(!q.G.8r)F;$.1B(q.G.8r,$.1d(C(i,s){E 1C=(1s df!==\'1y\'&&1s df[s]!==\'1y\')?df:47.fn;if(!$.5k(1C[s])){F}q[s]=1C[s]();E 5X=q.dg(q[s]);E 2p=5X.12;2B(E z=0;z<2p;z++){q[s][5X[z]]=q[s][5X[z]].aH(q)}if($.5k(q[s].3Q)){q[s].3Q()}},q))},eD:C(){if(!q.L.1P(\'4b\'))F;52{1l.3Z(\'lZ\',O,O);1l.3Z(\'lN\',O,O)}51(e){}},ex:C(){if(!q.L.1P(\'2E\'))F;1l.3Z("lS",O,O)}}},1t:C(){F{2o:C(2g,2X){E $1t=$(\'<a 2k="#" 1G="3J-8R 3J-\'+2g+\'" 3T="\'+2g+\'" />\').1c({\'9c\':\'1t\',\'4K-2L\':2X.1J,\'6S\':\'-1\'});if(2X.1C||2X.4A||2X.1n){q.1t.eu($1t,2g,2X)}if(2X.1n){$1t.2f(\'I-1A-V-1n\').1c(\'4K-eY\',1q);E $1n=$(\'<1i 1G="I-1n I-1n-\'+q.2G+\' I-1n-2Q-\'+2g+\'" 1o="6N: 5p;">\');$1t.1f(\'1n\',$1n);q.1n.2o(2g,$1n,2X.1n)}if(q.L.7b()){q.1t.et($1t,2g,2X.1J)}F $1t},eu:C($1t,2g,2X){$1t.on(\'5H 2y\',$.1d(C(e){if($1t.3i(\'I-1t-7o\'))F O;E 1m=\'1C\';E 2A=2X.1C;if(2X.4A){1m=\'4A\';2A=2X.4A}N if(2X.1n){1m=\'1n\';2A=O}q.1t.ac(e,2g,1m,2A)},q))},et:C($1t,1w,1J){E $3q=$(\'<1j>\').2f(\'I-1A-3q I-1A-3q-\'+q.2G+\' I-1A-3q-\'+1w).3v().B(1J);$3q.aU(\'31\');$1t.on(\'ay\',C(){if($(q).3i(\'I-1t-7o\'))F;E 3s=$1t.2I();$3q.2O();$3q.1O({2U:(3s.2U+$1t.6c())+\'px\',2c:(3s.2c+$1t.7P()/2-$3q.7P()/2)+\'px\'})});$1t.on(\'az\',C(){$3q.3v()})},ac:C(e,2g,1m,2A){q.1t.mj=q.1V.ar();e.2w();if(q.L.1P(\'2E\'))e.8l=O;if(1m==\'4A\')q.28.30(2A);N if(1m==\'1n\')q.1n.2O(e,2g);N q.1t.ep(e,2A,2g)},ep:C(e,2A,2g){E 1C;q.8h=1q;if($.5k(2A))2A.6e(q,2g);N if(2A.3N(/\\./)!=\'-1\'){1C=2A.4o(\'.\');if(1s q[1C[0]]==\'1y\')F;q[1C[0]][1C[1]](2g)}N q[2A](2g);q.1R.4i(e,2g)},1b:C(1k){F q.$1A.1h(\'a.3J-\'+1k)},9q:C(1k){q.1t.1b(1k).2f(\'I-8A\')},ge:C(1k){q.1t.1b(1k).2S(\'I-8A\')},cj:C(1k){if(1s 1k===\'1y\'){q.$1A.1h(\'a.3J-8R\').2S(\'I-8A\')}N{q.$1A.1h(\'a.3J-8R\').6h(\'.3J-\'+1k).2S(\'I-8A\')}},gf:C(){q.$1A.1h(\'a.3J-8R\').6h(\'a.3J-B, a.3J-fe\').2S(\'I-1t-7o\')},gT:C(){q.$1A.1h(\'a.3J-8R\').6h(\'a.3J-B, a.3J-fe\').2f(\'I-1t-7o\')},mm:C(1k,av){q.1t.1b(1k).2f(\'3J-\'+av)},mf:C(1k,av){q.1t.1b(1k).2S(\'3J-\'+av)},m7:C(1k,1w){E $1t=q.1t.1b(1k);$1t.2S(\'I-21-M\').2f(\'fa-I-21\');$1t.B(\'<i 1G="fa \'+1w+\'"></i>\')},cB:C($21,2A){if($21=="25")F;E 1m=(2A==\'1n\')?\'1n\':\'1C\';E 1k=$21.1c(\'3T\');$21.on(\'5H 2y\',$.1d(C(e){if($21.3i(\'I-1t-7o\'))F O;q.1t.ac(e,1k,1m,2A)},q))},cc:C($21,1n){$21.2f(\'I-1A-V-1n\').1c(\'4K-eY\',1q);E 1k=$21.1c(\'3T\');q.1t.cB($21,\'1n\');E $1n=$(\'<1i 1G="I-1n I-1n-\'+q.2G+\' I-1n-2Q-\'+1k+\'" 1o="6N: 5p;">\');$21.1f(\'1n\',$1n);if(1n)q.1n.2o(1k,$1n,1n);F $1n},cQ:C(1k,1J){if(!q.G.1A)F;if(q.1t.9v(1k))F"25";E 21=q.1t.2o(1k,{1J:1J});21.2f(\'I-21-M\');q.$1A.1F($(\'<li>\').1F(21));F 21},ma:C(1k,1J){if(!q.G.1A)F;if(q.1t.9v(1k))F"25";E 21=q.1t.2o(1k,{1J:1J});21.2f(\'I-21-M\');q.$1A.6t($(\'<li>\').1F(21));F 21},mt:C(fb,1k,1J){if(!q.G.1A)F;if(q.1t.9v(1k))F"25";E 21=q.1t.2o(1k,{1J:1J});21.2f(\'I-21-M\');E $21=q.1t.1b(fb);if($21.12!==0)$21.1r().3F($(\'<li>\').1F(21));N q.$1A.1F($(\'<li>\').1F(21));F 21},mb:C(f0,1k,1J){if(!q.G.1A)F;if(q.1t.9v(1k))F"25";E 21=q.1t.2o(1k,{1J:1J});21.2f(\'I-21-M\');E $21=q.1t.1b(f0);if($21.12!==0)$21.1r().a6($(\'<li>\').1F(21));N q.$1A.1F($(\'<li>\').1F(21));F 21},1u:C(1k){q.1t.1b(1k).1u()},9v:C(1k){F(1k=="9l"||1k=="a9")&&!q.L.7b()}}},1V:C(){F{2W:C(Q){if(!q.L.6X(Q)){E 3g=q.L.bH();$(Q).6t(3g);q.1V.3P(3g)}N{q.1V.1U(Q,0,Q,0)}},3P:C(Q){Q=Q[0]||Q;if(Q.eR.a8==1){F q.1V.54(Q.eR)}q.1V.1U(Q,1,Q,1)},1U:C(4P,eL,77,hs){4P=4P[0]||4P;77=77[0]||77;if(q.L.7J(4P.1p)&&4P.3x===\'\'){4P.3x=q.G.6o}if(4P.1p==\'58\'&&q.G.1M===O){E 1r=$(q.G.5S)[0];$(4P).2t(1r);4P=1r;77=4P}q.J.1b();52{q.14.2W(4P,eL);q.14.3P(77,hs)}51(e){}q.J.4l()},54:C(Q){52{E Y=$(Q)[0].1p;if(Y!=\'58\'&&!q.L.6X(Q)){E 3g=q.L.bH();$(Q).3F(3g);q.1V.3P(3g)}N{if(Y!=\'58\'&&q.L.1P(\'2E\')){q.1V.2W($(Q).1N())}N{q.1V.d9(Q,\'3F\')}}}51(e){E 3g=q.L.bH();$(Q).3F(3g);q.1V.3P(3g)}},bT:C(Q){if(q.L.6X(Q)){q.1V.3P($(Q).4G())}N{q.1V.d9(Q,\'a6\')}},d9:C(Q,1m){if(!q.L.1P(\'2E\'))q.$T.2n();Q=Q[0]||Q;q.J.1b();if(1m==\'3F\'){52{q.14.9I(Q);q.14.mn(Q)}51(e){}}N{52{q.14.mk(Q);q.14.ks(Q)}51(e){}}q.14.43(O);q.J.4l()},b4:C(Q){Q=Q[0]||Q;q.J.1b();E at=q.14.7S();at.9j(Q);at.3P(q.14.bQ,q.14.bO);F $.3k(at.4y()).12},ar:C(){E 2I=0;E 2T=3l.4D();if(2T.7A>0){E 14=3l.4D().6l(0);E aJ=14.7S();aJ.9j(q.$T[0]);aJ.3P(14.bQ,14.bO);2I=aJ.4y().12}F 2I},eh:C(2b,2h){if(1s 2h==\'1y\')2h=2b;if(!q.2n.dO())q.2n.2W();E 2T=q.J.1b();E Q,2I=0;E hn=1l.mh(q.$T[0],mi.lR,4e,4e);56(Q==hn.lQ()){2I+=Q.5O.12;if(2I>2b){q.14.2W(Q,Q.5O.12+2b-2I);2b=lP}if(2I>=2h){q.14.3P(Q,Q.5O.12+2h-2I);6n}}q.14.43(O);q.J.4l()},lO:C(2b,2h){q.1V.eh(2b,2h)},m2:C(){F q.1V.ar()}}},1x:C(){F{gH:C(B){B=B.K(/<3V(.*?[^>]?)>([\\w\\W]*?)<\\/3V>/gi,\'<2F 1G="I-3V-Y" 1o="6N: 5p;" $1>$2</2F>\');B=B.K(/\\$/g,\'&#36;\');B=B.K(/<a 2k="(.*?[^>]?)®(.*?[^>]?)">/gi,\'<a 2k="$1&lW$2">\');if(q.G.5Q)B=q.1x.5Q(B);if(q.G.1M)B=q.1x.8C(B);B=q.1x.cT(B);E $1i=$(\'<1i>\');$1i.B(B);E da=$1i.1h(\'3R[1o]\');if(da.12!==0){da.2t(C(){E $el=$(q);E $1j=$(\'<1j>\').1c(\'1o\',$el.1c(\'1o\'));F $1j.1F($el.26())});B=$1i.B()}$1i.1u();B=B.K(/<3R(.*?[^<])>/gi,\'\');B=B.K(/<\\/3R>/gi,\'\');B=q.1I.2R(B);if(q.G.2V)B=q.2V.2R(B);B=q.1x.7R(B);B=q.1x.cU(B);B=B.K(/&9o;/g,\'&\');F B},9R:C(B){B=B.K(/\\6g/g,\'\');B=B.K(/&#9T;/gi,\'\');if(q.G.hj){B=B.K(/&5s;/gi,\' \')}if(B.3N(/^<p>(||\\s||<br\\s?\\/?>||&5s;)<\\/p>$/i)!=-1){F\'\'}B=B.K(/<2F 1G="I-3V-Y" 1o="6N: 5p;"(.*?[^>]?)>([\\w\\W]*?)<\\/2F>/gi,\'<3V$1>$2</3V>\');B=q.1x.gG(B);E hZ={\'\\mo\':\'&mp;\',\'\\mQ\':\'&mR;\',\'\\mK\':\'&mL;\',\'\\mM\':\'&n0;\',\'\\mU\':\'&mV;\'};$.1B(hZ,C(i,s){B=B.K(2a 2l(i,\'g\'),s)});if(q.L.1P(\'4b\')){B=B.K(/<br\\s?\\/?>$/gi,\'\')}B=B.K(2a 2l(\'<br\\\\s?/?></li>\',\'gi\'),\'</li>\');B=B.K(2a 2l(\'</li><br\\\\s?/?>\',\'gi\'),\'</li>\');B=B.K(/<(.*?)3T="\\s*?"(.*?[^>]?)>/gi,\'<$1$2">\');B=B.K(/<(.*?)1o="\\s*?"(.*?[^>]?)>/gi,\'<$1$2">\');B=B.K(/="">/gi,\'>\');B=B.K(/""">/gi,\'">\');B=B.K(/"">/gi,\'">\');B=B.K(/<1i(.*?[^>]) 1f-8b="I"(.*?[^>])>/gi,\'<1i$1$2>\');B=B.K(/<(.*?) 1f-3H="I"(.*?[^>])>/gi,\'<$1$2>\');E $1i=$("<1i/>").B($.dQ(B,1l,1q));$1i.1h("1j").1K("3T");$1i.1h(\'2F .I-7s-3g\').1B(C(){$(q).26().3Y()});B=$1i.B();B=B.K(/<1L(.*?[^>])3T="(.*?[^>])"(.*?[^>])>/gi,\'<1L$1$3>\');B=B.K(/<1j 1G="I-7s-3g">(.*?)<\\/1j>/gi,\'$1\');B=B.K(/ 1f-3o-2i="(.*?[^>])"/gi,\'\');B=B.K(/<1j(.*?)id="I-M-2Q"(.*?[^>])>([\\w\\W]*?)<1L(.*?)><\\/1j>/gi,\'$3<1L$4>\');B=B.K(/<1j(.*?)id="I-M-8f"(.*?[^>])>(.*?)<\\/1j>/gi,\'\');B=B.K(/<1j(.*?)id="I-M-5l"(.*?[^>])>(.*?)<\\/1j>/gi,\'\');B=B.K(/<3R(.*?[^<])>/gi,\'\');B=B.K(/<\\/3R>/gi,\'\');B=q.1I.2R(B);if(q.G.hR){B=B.K(/<a(.*?)3T="hG"(.*?[^>])>/gi,\'<a$1$2>\');B=B.K(/<a(.*?[^>])>/gi,\'<a$1 3T="hG">\')}B=B.K(/\\mv-I-(Y|1G|1o)="(.*?[^>])"/gi,\'\');B=B.K(2a 2l(\'<(.*?) 1f-3H="I"(.*?[^>])>\',\'gi\'),\'<$1$2>\');B=B.K(2a 2l(\'<(.*?) 1f-3H="I">\',\'gi\'),\'<$1>\');B=B.K(/&9o;/g,\'&\');F B},8y:C(B,8i){B=$.3k(B);B=B.K(/\\$/g,\'&#36;\');B=B.K(/<1j 1G="s[0-9]">/gi,\'<1j>\');B=B.K(/<1j 1G="hN-mx-3g">&5s;<\\/1j>/gi,\' \');B=B.K(/<1j 1G="hN-5I-1j"[^>]*>\\t<\\/1j>/gi,\'\\t\');B=B.K(/<1j[^>]*>(\\s|&5s;)<\\/1j>/gi,\' \');if(q.G.hL){F q.1x.aj(B)}if(!q.L.9w()&&1s 8i==\'1y\'){if(q.L.4S([\'hM\',\'A\'])){F q.1x.aj(B,O)}if(q.L.4S(\'8o\')){B=B.K(/”/g,\'"\');B=B.K(/“/g,\'"\');B=B.K(/‘/g,\'\\\'\');B=B.K(/’/g,\'\\\'\');F q.1x.gK(B)}if(q.L.4S([\'aK\',\'dK\',\'di\',\'cS\',\'cR\',\'cI\',\'cH\'])){B=q.1x.gL(B);if(!q.L.1P(\'2E\')){E R=q.J.4a();if(R&&R.1p==\'P\'){B=B.K(/<1L(.*?)>/gi,\'<p><1L$1></p>\')}}F B}if(q.L.4S([\'6F\'])){B=q.1x.b0(B,\'2Y\');if(q.G.1M)B=q.1x.8C(B);B=q.1x.gF(B);F B}if(q.L.4S([\'5v\'])){F q.1x.b0(B,\'li\')}}B=q.1x.gP(B,8i);if(!q.1x.9D){if(q.G.1M)B=q.1x.8C(B);if(q.G.5Q)B=q.1x.5Q(B);B=q.1x.cT(B)}B=q.1x.ha(B);B=q.1x.gb(B);B=q.1x.b0(B,\'gB\');if(!q.1x.9D&&q.G.2V){B=q.2V.2R(B)}B=q.1x.gO(B);B=q.1x.gZ(B);B=q.1x.h0(B);B=q.1x.cU(B);F B},ha:C(B){B=B.K(/<!--[\\s\\S]*?-->/gi,\'\');B=B.K(/<1o[^>]*>[\\s\\S]*?<\\/1o>/gi,\'\');B=B.K(/<o\\:p[^>]*>[\\s\\S]*?<\\/o\\:p>/gi,\'\');if(B.1T(/1G="?gd|1o="[^"]*\\gr-|1o=\'[^\'\']*\\gr-|w:ms/i)){B=B.K(/<!--[\\s\\S]+?-->/gi,\'\');B=B.K(/<(!|3V[^>]*>.*?<\\/3V(?=[>\\s])|\\/?(\\?my(:\\w+)?|1L|5h|V|1o|\\w:\\w+)(?=[\\s\\/>]))[^>]*>/gi,\'\');B=B.K(/<(\\/?)s>/gi,"<$mz>");B=B.K(/ /gi,\' \');B=B.K(/<1j\\s+1o\\s*=\\s*"\\s*aY-mF\\s*:\\s*mG\\s*;?\\s*"\\s*>([\\s\\9Z]*)<\\/1j>/gi,C(5f,aW){F(aW.12>0)?aW.K(/./," ").ct(8d.mH(aW.12/2)).4o("").3c("\\9Z"):\'\'});B=q.1x.gQ(B);B=B.K(/<1L(.*?)v:mA=(.*?)>/gi,\'\');B=B.K(/4t="22\\:\\/\\/(.*?)"/,\'4t=""\');E $1i=$("<1i/>").B(B);E 5T=O;E 8V=1;E cY=[];$1i.1h("p[1o]").1B(C(){E 3M=$(q).1c(\'1o\').1T(/aY\\-2e\\:l([0-9]+)\\n1([0-9]+)/);if(3M){E 5V=5L(3M[1]);E 5W=5L(3M[2]);E cX=$(q).B().1T(/^[\\w]+\\./)?"ol":"3p";E $li=$("<li/>").B($(q).B());$li.B($li.B().K(/^([\\w\\.]+)</,\'<\'));$li.1h("1j:3I").1u();if(5W==1&&$.3t(5V,cY)==-1){E $2e=$("<"+cX+"/>").1c({"1f-7h":5W,"1f-2e":5V}).B($li);$(q).2t($2e);5T=5V;cY.2N(5V)}N{if(5W>8V){E $aV=$1i.1h(\'[1f-7h="\'+8V+\'"][1f-2e="\'+5T+\'"]\');E $5T=$aV;2B(E i=8V;i<5W;i++){$2e=$("<"+cX+"/>");$2e.aU($5T.1h("li").2Z());$5T=$2e}$5T.1c({"1f-7h":5W,"1f-2e":5V}).B($li)}N{E $aV=$1i.1h(\'[1f-7h="\'+5W+\'"][1f-2e="\'+5V+\'"]\').2Z();$aV.1F($li)}8V=5W;5T=5V;$(q).1u()}}});$1i.1h(\'[1f-7h][1f-2e]\').1K(\'1f-7h 1f-2e\');B=$1i.B();B=B.K(/·/g,\'\');B=B.K(/<p 1G="gd(.*?)"/gi,\'<p\');B=B.K(/ 1G=\\"(aY[^\\"]*)\\"/gi,"");B=B.K(/ 1G=(aY\\w+)/gi,"");B=B.K(/<o:p(.*?)>([\\w\\W]*?)<\\/o:p>/gi,\'$2\');B=B.K(/\\n/g,\' \');B=B.K(/<p>\\n?<li>/gi,\'<li>\')}F B},gb:C(B){B=B.K(/<b\\l6="g9-4E-2r(.*?)">([\\w\\W]*?)<\\/b>/gi,"$2");B=B.K(/<b(.*?)id="l5-g9-l9(.*?)">([\\w\\W]*?)<\\/b>/gi,"$3");B=B.K(/<1j[^>]*(3R-1o: 4m; 3R-7I: 4n|3R-7I: 4n; 3R-1o: 4m)[^>]*>/gi,\'<1j 1o="3R-7I: 4n;"><1j 1o="3R-1o: 4m;">\');B=B.K(/<1j[^>]*3R-1o: 4m[^>]*>/gi,\'<1j 1o="3R-1o: 4m;">\');B=B.K(/<1j[^>]*3R-7I: 4n[^>]*>/gi,\'<1j 1o="3R-7I: 4n;">\');B=B.K(/<1j[^>]*1g-7a: 5x[^>]*>/gi,\'<1j 1o="1g-7a: 5x;">\');B=B.K(/<1L>/gi,\'\');B=B.K(/\\n{3,}/gi,\'\\n\');B=B.K(/<3R(.*?)>([\\w\\W]*?)<\\/3R>/gi,\'$2\');B=B.K(/<p><p>/gi,\'<p>\');B=B.K(/<\\/p><\\/p>/gi,\'</p>\');B=B.K(/<li>(\\s*|\\t*|\\n*)<p>/gi,\'<li>\');B=B.K(/<\\/p>(\\s*|\\t*|\\n*)<\\/li>/gi,\'</li>\');B=B.K(/<\\/p>\\s<p/gi,\'<\\/p><p\');B=B.K(/<1L 4t="7q-lz-2i\\:\\/\\/(.*?)"(.*?)>/gi,\'\');B=B.K(/<p>•([\\w\\W]*?)<\\/p>/gi,\'<li>$1</li>\');if(q.L.1P(\'4b\')){B=B.K(/<br\\s?\\/?>$/gi,\'\')}F B},b0:C(B,1m){E 2d=[\'1j\',\'a\',\'2F\',\'29\',\'9f\',\'em\',\'5i\',\'1e\',\'aS\',\'6A\',\'du\',\'8S\',\'E\',\'aN\',\'cL\',\'7Q\',\'7l\',\'b\',\'i\',\'u\',\'4h\',\'ol\',\'3p\',\'li\',\'dl\',\'dt\',\'dd\',\'p\',\'br\',\'6Y\',\'8Y\',\'4R\',\'7i\',\'8J\',\'41\',\'1L\',\'3W\',\'2Y\',\'5P\',\'6O\',\'ee\',\'e3\',\'e7\',\'h1\',\'h2\',\'h3\',\'h4\',\'h5\',\'h6\'];E cK=O;E cN=[[\'a\',\'*\'],[\'1L\',[\'4t\',\'80\']],[\'1j\',[\'1G\',\'3T\',\'1f-3H\']],[\'4R\',\'*\'],[\'6Y\',\'*\'],[\'8Y\',\'*\'],[\'7i\',\'*\'],[\'41\',\'*\'],[\'8J\',\'*\'],[\'4E\',\'*\']];if(1m==\'gB\'){cK=[\'p\',\'1j\',\'h1\',\'h2\',\'h3\',\'h4\',\'h5\',\'h6\'];cN=[[\'3W\',\'1G\'],[\'2Y\',[\'lw\',\'la\']],[\'a\',\'*\'],[\'1L\',[\'4t\',\'80\',\'1f-I-8m-M\']],[\'1j\',[\'1G\',\'3T\',\'1f-3H\']],[\'4R\',\'*\'],[\'6Y\',\'*\'],[\'8Y\',\'*\'],[\'7i\',\'*\'],[\'41\',\'*\'],[\'8J\',\'*\'],[\'4E\',\'*\']]}N if(1m==\'2Y\'){2d=[\'3p\',\'ol\',\'li\',\'1j\',\'a\',\'9f\',\'em\',\'5i\',\'1e\',\'aS\',\'6A\',\'8S\',\'E\',\'aN\',\'cL\',\'7Q\',\'7l\',\'b\',\'i\',\'u\',\'4h\',\'ol\',\'3p\',\'li\',\'dl\',\'dt\',\'dd\',\'br\',\'4R\',\'6Y\',\'8Y\',\'7i\',\'8J\',\'41\',\'1L\',\'h1\',\'h2\',\'h3\',\'h4\',\'h5\',\'h6\']}N if(1m==\'li\'){2d=[\'3p\',\'ol\',\'li\',\'1j\',\'a\',\'9f\',\'em\',\'5i\',\'1e\',\'aS\',\'6A\',\'8S\',\'E\',\'aN\',\'cL\',\'7Q\',\'7l\',\'b\',\'i\',\'u\',\'4h\',\'br\',\'4R\',\'6Y\',\'8Y\',\'7i\',\'8J\',\'41\',\'1L\']}E 44={4c:(q.G.4c)?q.G.4c:O,4z:(q.G.4z)?q.G.4z:2d,6G:1q,lg:1q,1K:(q.G.1K)?q.G.1K:O,4T:(q.G.4T)?q.G.4T:cN,4f:cK};F q.1I.2R(B,44)},h0:C(B){B=B.K(/<(p|h[1-6])>(|\\s|\\n|\\t|<br\\s?\\/?>)<\\/(p|h[1-6])>/gi,\'\');if(!q.G.1M)B=B.K(/<br>$/i,\'\');F B},gZ:C(B){B=B.K(/<1j>(.*?)<\\/1j>/gi,\'$1\');B=B.K(/<1j[^>]*>\\s|&5s;<\\/1j>/gi,\' \');F B},gQ:C(B){if(!q.L.1P(\'2E\'))F B;E 5q=$.3k(B);if(5q.3N(/^<a(.*?)>(.*?)<\\/a>$/i)===0){B=B.K(/^<a(.*?)>(.*?)<\\/a>$/i,"$2")}F B},gP:C(B,8i){q.1x.9D=O;if(!q.L.9w()&&1s 8i==\'1y\'){E 1Z=q.G.8q.3c(\'|\').K(\'P|\',\'\').K(\'89|\',\'\');E gD=B.1T(2a 2l(\'</(\'+1Z+\')>\',\'gi\'));E aQ=B.1T(/<\\/(p|1i)>/gi);if(!gD&&(aQ===4e||(aQ&&aQ.12<=1))){E gI=B.1T(/<br\\s?\\/?>/gi);if(!gI){q.1x.9D=1q;B=B.K(/<\\/?(p|1i)(.*?)>/gi,\'\')}}}F B},lq:C(3D,5J){5J=(((5J||\'\')+\'\').3e().1T(/<[a-z][a-7t-9]*>/g)||[]).3c(\'\');E 2d=/<\\/?([a-z][a-7t-9]*)\\b[^>]*>/gi;F 3D.K(2d,C($0,$1){F 5J.4Q(\'<\'+$1.3e()+\'>\')>-1?$0:\'\'})},lr:C(B){B=q.1x.gJ(B);B=q.1x.gN(B);B=q.1x.gM(B);F B},gJ:C(B){E 2F=B.1T(/<2F(.*?)>([\\w\\W]*?)<\\/2F>/gi);if(2F!==4e){$.1B(2F,$.1d(C(i,s){E 2C=s.1T(/<2F(.*?)>([\\w\\W]*?)<\\/2F>/i);2C[2]=2C[2].K(/<br\\s?\\/?>/g,\'\\n\');2C[2]=2C[2].K(/&5s;/g,\' \');if(q.G.6v){2C[2]=2C[2].K(/\\t/g,9F(q.G.6v+1).3c(\' \'))}2C[2]=q.1x.as(2C[2]);2C[2]=2C[2].K(/\\$/g,\'&#36;\');B=B.K(s,\'<2F\'+2C[1]+\'>\'+2C[2]+\'</2F>\')},q))}F B},gN:C(B){E 1e=B.1T(/<1e(.*?)>([\\w\\W]*?)<\\/1e>/gi);if(1e!==4e){$.1B(1e,$.1d(C(i,s){E 2C=s.1T(/<1e(.*?)>([\\w\\W]*?)<\\/1e>/i);2C[2]=2C[2].K(/&5s;/g,\' \');2C[2]=q.1x.as(2C[2]);2C[2]=2C[2].K(/\\$/g,\'&#36;\');B=B.K(s,\'<1e\'+2C[1]+\'>\'+2C[2]+\'</1e>\')},q))}F B},gM:C(B){B=B.K(/&lt;1j id=&5N;J-2r-([0-9])&5N; 1G=&5N;I-J-2r&5N; 1f-3H=&5N;I&5N;&gt;​&lt;\\/1j&gt;/g,\'<1j id="J-2r-$1" 1G="I-J-2r" 1f-3H="I">​</1j>\');F B},cG:C(B){B=B.K(/<br\\s?\\/?>|<\\/H[1-6]>|<\\/p>|<\\/1i>|<\\/li>|<\\/2Y>/gi,\'\\n\');E 5q=1l.3w(\'1i\');5q.3x=B;B=5q.ll||5q.lm;F $.3k(B)},aj:C(B,2V){B=q.1x.cG(B);B=B.K(/\\n/g,\'<br />\');if(q.G.2V&&1s 2V==\'1y\'&&!q.L.1P(\'4b\')){B=q.2V.2R(B)}F B},gK:C(B){B=B.K(/<1L(.*?) 1o="(.*?)"(.*?[^>])>/gi,\'<1L$1$3>\');B=B.K(/<1L(.*?)>/gi,\'&lt;1L$1&gt;\');B=q.1x.cG(B);if(q.G.6v){B=B.K(/\\t/g,9F(q.G.6v+1).3c(\' \'))}B=q.1x.as(B);F B},gL:C(B){B=B.K(/<1L(.*?)>/gi,\'[1L$1]\');B=B.K(/<([pY]*?)>/gi,\'\');B=B.K(/\\[1L(.*?)\\]/gi,\'<1L$1>\');F B},pG:C(B){B=B.K(/<a(.*?)2k="(.*?)"(.*?)>([\\w\\W]*?)<\\/a>/gi,\'[a 2k="$2"]$4[/a]\');B=B.K(/<1L(.*?)>/gi,\'[1L$1]\');B=B.K(/<(.*?)>/gi,\'\');B=B.K(/\\[a 2k="(.*?)"\\]([\\w\\W]*?)\\[\\/a\\]/gi,\'<a 2k="$1">$2</a>\');B=B.K(/\\[1L(.*?)\\]/gi,\'<1L$1>\');F B},as:C(5f){5f=6f(5f).K(/&9o;/g,\'&\').K(/&lt;/g,\'<\').K(/&gt;/g,\'>\').K(/&5N;/g,\'"\');F 5f.K(/&/g,\'&9o;\').K(/</g,\'&lt;\').K(/>/g,\'&gt;\').K(/"/g,\'&5N;\')},gO:C(B){if(q.L.1P(\'2E\'))F B;E 1i=1l.3w(\'1i\');1i.3x=B;q.1x.cV($(1i));B=1i.3x;$(1i).1u();F B},4r:C(){if(q.L.1P(\'2E\'))F;q.1x.cV(q.$T);E cP=q.$T.1h(\'h1, h2, h3, h4, h5, h6\');cP.1h(\'1j\').1K(\'1o\');cP.1h(q.G.cW.3c(\', \')).1K(\'1o\');q.1e.1S()},cV:C($T){$T.1h(q.G.cW.3c(\', \')).1K(\'1o\');$T.1h(\'1j\').6h(\'[1f-3H="I"]\').1K(\'1o\');$T.1h(\'1j[1f-3H="I"], 1L[1f-3H="I"]\').1B(C(i,s){E $s=$(s);$s.1c(\'1o\',$s.1c(\'3T\'))})},pz:C(){},7R:C(B){if(q.L.1P(\'2E\'))F B;B=B.K(2a 2l(\'<1L(.*?[^>])>\',\'gi\'),\'<1L$1 1f-3H="I">\');B=B.K(2a 2l(\'<1j(.*?[^>])>\',\'gi\'),\'<1j$1 1f-3H="I">\');E 3M=B.1T(2a 2l(\'<(1j|1L)(.*?)1o="(.*?)"(.*?[^>])>\',\'gi\'));if(3M){E 2p=3M.12;2B(E i=0;i<2p;i++){52{E gE=3M[i].K(/1o="(.*?)"/i,\'1o="$1" 3T="$1"\');B=B.K(3M[i],gE)}51(e){}}}F B},cU:C(B){E $1i=$(\'<1i />\').B(B);E 2d=q.G.4N;2d.2N(\'1j\');$1i.1h(2d.3c(\',\')).1B(C(){E $el=$(q);E Y=q.1p.3e();$el.1c(\'1f-I-Y\',Y);if(Y==\'1j\'){if($el.1c(\'1o\'))$el.1c(\'1f-I-1o\',$el.1c(\'1o\'));N if($el.1c(\'1G\'))$el.1c(\'1f-I-1G\',$el.1c(\'1G\'))}});B=$1i.B();$1i.1u();F B},ap:C(){q.$T.1h(\'li\').1B(C(i,s){E $1N=$(s).1N();if($1N.12!==0&&($1N[0].1p==\'8D\'||$1N[0].1p==\'8N\')){$(s).1F($1N)}})},dH:C(B){B=B.K(/\\n/g,\'\');B=B.K(/[\\t]*/g,\'\');B=B.K(/\\n\\s*\\n/g,"\\n");B=B.K(/^[\\s\\n]*/g,\' \');B=B.K(/[\\s\\n]*$/g,\' \');B=B.K(/>\\s{2,}</g,\'> <\');B=B.K(/\\n\\n/g,"\\n");B=B.K(/\\6g/g,\'\');F B},5Q:C(B){if(q.G.1M){B=B.K(/<1i><br\\s?\\/?><\\/1i>/gi,\'<br />\');B=B.K(/<1i(.*?)>([\\w\\W]*?)<\\/1i>/gi,\'$2<br />\')}N{B=B.K(/<1i(.*?)>([\\w\\W]*?)<\\/1i>/gi,\'<p$1>$2</p>\')}B=B.K(/<1i(.*?[^>])>/gi,\'\');B=B.K(/<\\/1i>/gi,\'\');F B},gF:C(B){B=B.K(/<1i\\s(.*?)>/gi,\'<p>\');B=B.K(/<1i><br\\s?\\/?><\\/1i>/gi,\'<br /><br />\');B=B.K(/<1i>([\\w\\W]*?)<\\/1i>/gi,\'$1<br /><br />\');F B},8C:C(B){B=B.K(/<p\\s(.*?)>/gi,\'<p>\');B=B.K(/<p><br\\s?\\/?><\\/p>/gi,\'<br />\');B=B.K(/<p>([\\w\\W]*?)<\\/p>/gi,\'$1<br /><br />\');B=B.K(/(<br\\s?\\/?>){1,}\\n?<\\/29>/gi,\'</29>\');F B},cT:C(B){F B.K(/<64(.*?)>([\\w\\W]*?)<\\/64>/gi,\'<49$1 3T="I-64-Y">$2</49>\')},gG:C(B){F B.K(/<49(.*?) 3T="I-64-Y"(.*?)>([\\w\\W]*?)<\\/49>/gi,\'<64$1$2>$3</64>\')}}},1e:C(){F{1U:C(B){B=$.3k(B.4y());B=q.1x.gH(B);if(q.L.1P(\'2E\')){B=B.K(/<1j(.*?)id="J-2r-(1|2)"(.*?)><\\/1j>;/gi,\'\')}q.$T.B(B);q.1e.1S();if(B!==\'\')q.3f.1u();3A($.1d(q.25.cQ,q),15);if(q.2b===O)q.1R.2R()},1b:C(){E 1e=q.$2v.2K();if(q.G.5Q)1e=q.1x.5Q(1e);if(q.G.1M)1e=q.1x.8C(1e);1e=q.2H.1b(1e);F 1e},1S:C(){3A($.1d(q.1e.gY,q),10)},gY:C(){E B=q.$T.B();if(q.1e.dh&&q.1e.dh==B){F}q.1e.dh=B;B=q.1X.2u(\'pV\',B);B=q.1x.9R(B);q.$2v.2K(B);q.1X.2u(\'1S\',B);if(q.2b===O){q.1X.2u(\'kR\',B)}q.2b=O;if(q.3r.B==O){q.3r.B=q.1e.1b()}if(q.G.8n){q.$2v.1N(\'.3C\').1B(C(i,el){el.3C.gX(B)})}q.3r.h7();q.3r.9Q()},3m:C(){if(q.G.6r){q.1e.dJ()}N{q.1e.gU()}},dJ:C(){q.J.3o();q.1e.2I=q.1V.ar();E 6b=$(3l).3U();E 2J=q.$T.7P(),3n=q.$T.6c();q.$T.3v();E B=q.$2v.2K();q.gk=q.1x.dH(B);B=q.2H.1b(B);E 2b=0,2h=0;E $6W=$("<1i/>").1F($.dQ(q.1x.9R(q.$T.B()),1l,1q));E $a4=$6W.1h("1j.I-J-2r");if($a4.12>0){E a3=q.2H.1b($6W.B()).K(/&9o;/g,\'&\');if($a4.12==1){2b=q.L.bF(a3,$6W.1h("#J-2r-1").6j("7v"));2h=2b}N if($a4.12==2){2b=q.L.bF(a3,$6W.1h("#J-2r-1").6j("7v"));2h=q.L.bF(a3,$6W.1h("#J-2r-2").6j("7v"))-$6W.1h("#J-2r-1").6j("7v").4y().12}}q.J.8p();q.$2v.2K(B);if(q.G.8n){q.$2v.1N(\'.3C\').1B(C(i,el){$(el).2O();el.3C.gX(B);el.3C.pO(\'88%\',3n);el.3C.pP();if(2b==2h){el.3C.pQ(el.3C.7d(2b).3K,el.3C.7d(2h).ch)}N{el.3C.pv({3K:el.3C.7d(2b).3K,ch:el.3C.7d(2b).ch},{3K:el.3C.7d(2h).3K,ch:el.3C.7d(2h).ch})}el.3C.2n()})}N{q.$2v.3n(3n).2O().2n();q.$2v.on(\'1D.I-2v-gl\',q.1e.ga);$(3l).3U(6b);if(q.$2v[0].gR){q.$2v[0].gR(2b,2h)}q.$2v[0].3U=0}q.G.6r=O;q.1t.gT();q.1t.9q(\'B\');q.1X.2u(\'4E\',B)},gU:C(){E B;if(q.G.6r)F;E 2b=0,2h=0;if(q.G.8n){E J;q.$2v.1N(\'.3C\').1B(C(i,el){J=el.3C.pu();2b=el.3C.gC(J[0].gV);2h=el.3C.gC(J[0].e0);B=el.3C.pb()})}N{2b=q.$2v.1b(0).dE;2h=q.$2v.1b(0).dF;B=q.$2v.3v().2K()}if(2b>2h&&2h>0){E gh=2h;E gg=2b;2b=gh;2h=gg}2b=q.1e.dG(B,2b);2h=q.1e.dG(B,2h);B=B.4x(0,2b)+q.J.5a(1)+B.4x(2b);if(2h>2b){E dI=q.J.5a(1).4y().12;B=B.4x(0,2h+dI)+q.J.5a(2)+B.4x(2h+dI)}if(q.gk!==q.1x.dH(B)){q.1e.1U(B)}if(q.G.8n){q.$2v.1N(\'.3C\').3v()}q.$T.2O();if(!q.L.3z(B)){q.3f.1u()}q.J.3d();q.$2v.3h(\'1D.I-2v-gl\');q.1t.gf();q.1t.ge(\'B\');q.1R.2R();q.G.6r=1q;q.1X.2u(\'6r\',B)},ga:C(e){if(e.3j!==9)F 1q;E $el=q.$2v;E 2b=$el.1b(0).dE;$el.2K($el.2K().aB(0,2b)+"\\t"+$el.2K().aB($el.1b(0).dF));$el.1b(0).dE=$el.1b(0).dF=2b+1;F O},dG:C(B,2I){E dM=B.12;E c=0;if(B[2I]==\'>\'){c++}N{2B(E i=2I;i<=dM;i++){c++;if(B[i]==\'>\'){6n}N if(B[i]==\'<\'||i==dM){c=0;6n}}}F 2I+c}}},1X:C(){F{p5:C(){F $.7E({},q)},p7:C(){F q.$T},p6:C(){F q.$2Q},pf:C(){F q.$2j},pg:C(){F q.$2v},pq:C(){F(q.$1A)?q.$1A:O},9K:C(1w){q.1X.8e=1w},7g:C(){F q.1X.8e},2u:C(1m,e,1f){E 9V=1m+\'pp\';E gy=\'I\';E 2A=q.G[9V];if(q.$2v){E 8l=O;E 9t=$.pr(q.$2v[0],\'9t\');if(1s 9t!=\'1y\'&&1s 9t[9V]!=\'1y\'){$.1B(9t[9V],$.1d(C(1k,1E){if(1E[\'pt\']==gy){E 1f=(1s 1f==\'1y\')?[e]:[e,1f];8l=(1s 1f==\'1y\')?1E.7N.6e(q,e):1E.7N.6e(q,e,1f)}},q))}if(8l)F 8l}if($.5k(2A)){F(1s 1f==\'1y\')?2A.6e(q,e):2A.6e(q,e,1f)}N{F(1s 1f==\'1y\')?e:1f}},gA:C(){q.G.jL=1q;q.1X.2u(\'gA\');q.$2j.3h(\'.I\').gv(\'I\');q.$T.3h(\'.I\');$(1l).3h(\'6R.I.\'+q.2G);$(1l).3h(\'2y.I-M-83.\'+q.2G);$(1l).3h(\'2y.I-M-4J-3v.\'+q.2G);$(1l).3h(\'5H.I.\'+q.2G+\' 2y.I.\'+q.2G);$("31").3h(\'6b.I.\'+q.2G);$(q.G.6y).3h(\'6b.I.\'+q.2G);q.$T.2S(\'I-T I-1M I-3f\');q.$T.1K(\'5d\');E B=q.1e.1b();if(q.G.1A){q.$1A.1h(\'a\').1B(C(){E $el=$(q);if($el.1f(\'1n\')){$el.1f(\'1n\').1u();$el.1f(\'1n\',{})}})}if(q.2o.aa()){q.$2Q.3F(q.$2j);q.$2Q.1u();q.$2j.2K(B).2O()}N{q.$2Q.3F(q.$T);q.$2Q.1u();q.$2j.B(B).2O()}if(q.$5e)q.$5e.1u();if(q.$4F)q.$4F.1u();if(q.$74)q.$74.1u();$(\'.I-1A-3q-\'+q.2G).1u();gu(q.9m)}}},1n:C(){F{2o:C(1w,$1n,dU){if(1w==\'3a\'&&q.G.dT){$.1B(q.G.dT,$.1d(C(i,s){E 1w=s.Y,1C;if(1s s[\'1G\']!=\'1y\'){1w=1w+\'-\'+s[\'1G\']}s.1m=(q.L.7J(s.Y))?\'R\':\'28\';if(1s s.1C!=="1y"){1C=s.1C}N{1C=(s.1m==\'28\')?\'28.3a\':\'R.3a\'}if(q.G.1M&&s.1m==\'R\'&&s.Y==\'p\')F;q.3a[1w]={Y:s.Y,1o:s.1o,\'1G\':s[\'1G\'],1c:s.1c,1f:s.1f,8M:s.8M};dU[1w]={1C:1C,1J:s.1J}},q))}$.1B(dU,$.1d(C(2g,2X){E $2x=$(\'<a 2k="#" 1G="I-1n-\'+2g+\'" 9c="1t">\'+2X.1J+\'</a>\');if(1w==\'3a\')$2x.2f(\'I-3a-\'+2g);$2x.on(\'2y\',$.1d(C(e){e.2w();E 1m=\'1C\';E 2A=2X.1C;if(2X.4A){1m=\'4A\';2A=2X.4A}N if(2X.1n){1m=\'1n\';2A=2X.1n}if($(e.1Q).3i(\'I-1n-V-c9\'))F;q.1t.ac(e,2g,1m,2A);q.1n.7C()},q));q.1R.cc($2x,2g,2X);$1n.1F($2x)},q))},2O:C(e,1k){if(!q.G.6r){e.2w();F O}E $1t=q.1t.1b(1k);E $1n=$1t.1f(\'1n\').aU(1l.31);if(q.G.cA){$1n.2f("I-1n-jP")}if($1t.3i(\'7y\')){q.1n.7C()}N{q.1n.7C();q.1R.79();q.1X.2u(\'pm\',{1n:$1n,1k:1k,1t:$1t});q.1t.9q(1k);$1t.2f(\'7y\');E 7x=$1t.2I();E dS=$1n.2J();if((7x.2c+dS)>$(1l).2J()){7x.2c=8d.pl(0,7x.2c-dS)}E 2c=7x.2c+\'px\';if(q.$1A.3i(\'1A-82-2Q\')){E 2U=q.$1A.6c()+q.G.6z;E 4g=\'82\';if(q.G.6y!==1l){2U=(q.$1A.6c()+q.$1A.2I().2U)+q.G.6z;4g=\'8u\'}$1n.1O({4g:4g,2c:2c,2U:2U+\'px\'}).2O()}N{E 2U=($1t.6c()+7x.2U)+\'px\';$1n.1O({4g:\'8u\',2c:2c,2U:2U}).2O()}q.1X.2u(\'qP\',{1n:$1n,1k:1k,1t:$1t});q.$1n=$1n}$(1l).dR(\'2y.I-1n\',$.1d(q.1n.3v,q));q.$T.dR(\'2y.I-1n\',$.1d(q.1n.3v,q));$(1l).dR(\'2s.I-1n\',$.1d(q.1n.9a,q));$1n.on(\'ay.I-1n\',$.1d(q.L.d8,q)).on(\'az.I-1n\',$.1d(q.L.bJ,q));e.fw()},9a:C(e){if(e.7U!=q.3j.b2)F;q.1n.7C();q.$T.2n()},7C:C(){q.$1A.1h(\'a.7y\').2S(\'I-8A\').2S(\'7y\');q.L.bJ();$(\'.I-1n-\'+q.2G).3v();$(\'.I-1n-V-h9\').2S(\'I-1n-V-h9\');if(q.$1n){q.$1n.3h(\'.I-1n\');q.1X.2u(\'qC\',q.$1n);q.$1n=O}},3v:C(e){E $1n=$(e.1Q);if(!$1n.3i(\'7y\')&&!$1n.3i(\'I-1n-V-c9\')){$1n.2S(\'7y\');$1n.3h(\'ay az\');q.1n.7C()}}}},22:C(){F{2O:C(){q.1a.2R(\'22\',q.1H.1b(\'22\'),hP);q.1v.3Q(\'#I-1a-22-1v\',q.G.76,q.22.1Y);q.J.3o();q.J.1b();E 1g=q.2T.4y();$(\'#I-6k\').2K(1g);q.1a.2O()},1Y:C(2P,4Y,e){if(1s 2P.6U!=\'1y\'){q.1a.4j();q.J.3d();q.1X.2u(\'qG\',2P);F}E V;if(1s 2P==\'6Z\'){V=2P}N{E 1g=$(\'#I-6k\').2K();if(1s 1g==\'1y\'||1g===\'\')1g=2P.6k;V=\'<a 2k="\'+2P.9b+\'" id="9b-2r">\'+1g+\'</a>\'}if(4Y){q.J.8p();E 2r=q.J.6Q();q.1Y.dA(e,2r)}N{q.1a.4j()}q.J.3d();q.25.1U();q.1Y.fc(V);if(1s 2P==\'6Z\')F;E 8t=$(q.$T.1h(\'a#9b-2r\'));if(8t.12!==0){8t.1K(\'id\').1K(\'1o\')}N 8t=O;q.1X.2u(\'76\',8t,2P)}}},2n:C(){F{2W:C(){q.$T.2n();E 3I=q.$T.3O().3I();if(3I.12===0)F;if(3I[0].12===0||3I[0].1p==\'58\'||3I[0].a8==3){F}if(3I[0].1p==\'8D\'||3I[0].1p==\'8N\'){E 4w=3I.1h(\'li\').3I();if(!q.L.6X(4w)&&4w.1g()===\'\'){q.1V.2W(4w);F}}if(q.G.1M&&!q.L.7J(3I[0].1p)){q.J.1b();q.14.2W(q.$T[0],0);q.14.3P(q.$T[0],0);q.J.4l();F}q.1V.2W(3I)},3P:C(){E 2Z=q.$T.3O().2Z();q.$T.2n();if(2Z.9B()===0)F;if(q.L.3z(q.$T.B())){q.J.1b();q.14.43(1q);q.14.9I(2Z[0]);q.14.3P(2Z[0],0);q.J.4l()}N{q.J.1b();q.14.9j(2Z[0]);q.14.43(O);q.J.4l()}},dO:C(){E 8v=1l.4D().8v;if(8v===4e)F O;if(q.G.1M&&$(8v.e4).3i(\'I-1M\'))F 1q;N if(!q.L.4p(8v.e4))F O;F q.$T.is(\':2n\')}}},M:C(){F{2O:C(){q.1a.2R(\'M\',q.1H.1b(\'M\'),hP);q.1v.3Q(\'#I-1a-M-4d\',q.G.75,q.M.1Y);q.J.3o();q.1a.2O()},hc:C($M){E $V=$M.2q(\'a\',q.$T[0]);q.1a.2R(\'iX\',q.1H.1b(\'7L\'),qv);q.1a.cy();q.M.hJ=q.1a.io(q.1H.1b(\'hK\'));q.M.hF=q.1a.cz(q.1H.1b(\'3o\'));q.M.hJ.on(\'2y\',$.1d(C(){q.M.1u($M)},q));q.M.hF.on(\'2y\',$.1d(C(){q.M.i0($M)},q));$(\'.I-V-3q\').1u();$(\'#I-M-1J\').2K($M.1c(\'80\'));if(!q.G.hE)$(\'.I-M-V-42\').3v();N{E $dP=$(\'#I-M-V\');$dP.1c(\'2k\',$M.1c(\'4t\'));if($V.12!==0){$dP.2K($V.1c(\'2k\'));if($V.1c(\'1Q\')==\'7K\')$(\'#I-M-V-7Z\').6j(\'a0\',1q)}}if(!q.G.hH)$(\'.I-M-4g-42\').3v();N{E hI=($M.1O(\'6N\')==\'R\'&&$M.1O(\'7f\')==\'5p\')?\'5u\':$M.1O(\'7f\');$(\'#I-M-5g\').2K(hI)}q.1a.2O();$(\'#I-M-1J\').2n()},i1:C($M){E hQ=$(\'#I-M-5g\').2K();E ag=\'\';E dD=\'\';E 8P=\'\';eJ(hQ){9G\'2c\':ag=\'2c\';8P=\'0 \'+q.G.8x+\' \'+q.G.8x+\' 0\';6n;9G\'4s\':ag=\'4s\';8P=\'0 0 \'+q.G.8x+\' \'+q.G.8x;6n;9G\'5u\':dD=\'R\';8P=\'bj\';6n}$M.1O({\'7f\':ag,6N:dD,4B:8P});$M.1c(\'3T\',$M.1c(\'1o\'))},i0:C($M){q.M.7W();q.25.1U();E $V=$M.2q(\'a\',q.$T[0]);E 1J=$(\'#I-M-1J\').2K().K(/(<([^>]+)>)/ig,"");$M.1c(\'80\',1J);q.M.i1($M);E V=$.3k($(\'#I-M-V\').2K());E V=V.K(/(<([^>]+)>)/ig,"");if(V!==\'\'){E 7D=\'((jT--)?[a-7t-9]+(-[a-7t-9]+)*\\\\.)+[a-z]{2,}\';E 3J=2a 2l(\'^(8s|8K|5o)://\'+7D,\'i\');E a1=2a 2l(\'^\'+7D,\'i\');if(V.3N(3J)==-1&&V.3N(a1)===0&&q.G.5c){V=q.G.5c+\'://\'+V}E 1Q=($(\'#I-M-V-7Z\').6j(\'a0\'))?1q:O;if($V.12===0){E a=$(\'<a 2k="\'+V+\'">\'+q.L.6q($M)+\'</a>\');if(1Q)a.1c(\'1Q\',\'7K\');$M.2t(a)}N{$V.1c(\'2k\',V);if(1Q){$V.1c(\'1Q\',\'7K\')}N{$V.1K(\'1Q\')}}}N if($V.12!==0){$V.2t(q.L.6q($M))}q.1a.4j();q.1R.au();q.1e.1S()},j1:C($M){if(q.G.dq){$M.on(\'qH\',$.1d(q.M.bn,q))}E 7N=$.1d(C(e){q.1R.M=$M;q.M.8f=q.M.hk($M);$(1l).on(\'6R.I-M-4J-3v.\'+q.2G,$.1d(q.M.7W,q));if(!q.G.dp)F;q.M.8f.on(\'6R.I 5H.I\',$.1d(C(e){q.M.i2(e,$M)},q))},q);$M.3h(\'6R.I\').on(\'6R.I\',$.1d(q.M.7W,q));$M.3h(\'2y.I 5H.I\').on(\'2y.I 5H.I\',7N)},i2:C(e,$M){e.2w();q.M.4k={x:e.hY,y:e.ah,el:$M,dC:$M.2J()/$M.3n(),h:$M.3n()};e=e.7T||e;if(e.8G){q.M.4k.x=e.8G[0].hY;q.M.4k.y=e.8G[0].ah}q.M.hX()},hX:C(){$(1l).on(\'qI.I-M-4J qT.I-M-4J\',$.1d(q.M.hT,q));$(1l).on(\'iZ.I-M-4J qU.I-M-4J\',$.1d(q.M.hW,q))},hT:C(e){e.2w();e=e.7T||e;E 3n=q.M.4k.h;if(e.8G)3n+=(e.8G[0].ah-q.M.4k.y);N 3n+=(e.ah-q.M.4k.y);E 2J=8d.hV(3n*q.M.4k.dC);if(3n<50||2J<88)F;E 3n=8d.hV(q.M.4k.el.2J()/q.M.4k.dC);q.M.4k.el.1c({2J:2J,3n:3n});q.M.4k.el.2J(2J);q.M.4k.el.3n(3n);q.1e.1S()},hW:C(){q.iw=O;$(1l).3h(\'.I-M-4J\');q.M.7W()},bn:C(e){if(q.$T.1h(\'#I-M-2Q\').12!==0){e.2w();F O}q.$T.on(\'57.I-M-hD-57\',$.1d(C(){3A($.1d(q.M.bs,q),1)},q))},bs:C(){q.M.hC();q.1R.au();q.$T.3h(\'57.I-M-hD-57\');q.1x.4r();q.1e.1S()},hC:C(){q.$T.1h(\'1L[1f-3o-2i]\').1B(C(){E $el=$(q);$el.1c(\'4t\',$el.1c(\'1f-3o-2i\'));$el.1K(\'1f-3o-2i\')})},7W:C(e){if(e&&$(e.1Q).2q(\'#I-M-2Q\',q.$T[0]).12!==0)F;if(e&&e.1Q.1p==\'aA\'){E $M=$(e.1Q);$M.1c(\'1f-3o-2i\',$M.1c(\'4t\'))}E 3G=q.$T.1h(\'#I-M-2Q\');if(3G.12===0)F;$(\'#I-M-5l\').1u();$(\'#I-M-8f\').1u();3G.1h(\'1L\').1O({63:3G[0].1o.63,af:3G[0].1o.af,ae:3G[0].1o.ae,ab:3G[0].1o.ab});3G.1O(\'4B\',\'\');3G.1h(\'1L\').1O(\'hg\',\'\');3G.2t(C(){F $(q).26()});$(1l).3h(\'6R.I-M-4J-3v.\'+q.2G);if(1s q.M.4k!==\'1y\'){q.M.4k.el.1c(\'3T\',q.M.4k.el.1c(\'1o\'))}q.1e.1S()},hd:C($M,3G){if(q.G.dp&&!q.L.6M()){E 8a=$(\'<1j id="I-M-8f" 1f-I="3H"></1j>\');if(!q.L.7b()){8a.1O({2J:\'hi\',3n:\'hi\'})}8a.1c(\'5d\',O);3G.1F(8a);3G.1F($M);F 8a}N{3G.1F($M);F O}},hk:C($M){E 3G=$(\'<1j id="I-M-2Q" 1f-I="3H">\');3G.1O(\'7f\',$M.1O(\'7f\')).1c(\'5d\',O);if($M[0].1o.4B!=\'bj\'){3G.1O({63:$M[0].1o.63,af:$M[0].1o.af,ae:$M[0].1o.ae,ab:$M[0].1o.ab});$M.1O(\'4B\',\'\')}N{3G.1O({\'6N\':\'R\',\'4B\':\'bj\'})}$M.1O(\'hg\',\'.5\').3F(3G);if(q.G.dq){q.M.5l=$(\'<1j id="I-M-5l" 1f-I="3H">\'+q.1H.1b(\'7L\')+\'</1j>\');q.M.5l.1c(\'5d\',O);q.M.5l.on(\'2y\',$.1d(C(){q.M.hc($M)},q));3G.1F(q.M.5l);E hb=q.M.5l.7P();q.M.5l.1O(\'4B-2c\',\'-\'+hb/2+\'px\')}F q.M.hd($M,3G)},1u:C(M){E $M=$(M);E $V=$M.2q(\'a\',q.$T[0]);E $6K=$M.2q(\'6K\',q.$T[0]);E $1r=$M.1r();if($(\'#I-M-2Q\').12!==0){$1r=$(\'#I-M-2Q\').1r()}E $1N;if($6K.12!==0){$1N=$6K.1N();$6K.1u()}N if($V.12!==0){$1r=$V.1r();$V.1u()}N{$M.1u()}$(\'#I-M-2Q\').1u();if($6K.12!==0){q.1V.2W($1N)}N{q.1V.2W($1r)}q.1X.2u(\'dw\',$M[0].4t,$M);q.1a.4j();q.1e.1S()},1Y:C(2P,4Y,e){if(1s 2P.6U!=\'1y\'){q.1a.4j();q.J.3d();q.1X.2u(\'qs\',2P);F}E $1L;if(1s 2P==\'6Z\'){$1L=$(2P).1c(\'1f-I-8m-M\',\'1q\')}N{$1L=$(\'<1L>\');$1L.1c(\'4t\',2P.9b).1c(\'1f-I-8m-M\',\'1q\')}E Q=$1L;E do=q.L.4S(\'P\');if(do){Q=$(\'<29 />\').1F($1L)}if(4Y){q.J.8p();E 2r=q.J.6Q();q.1Y.dA(e,2r)}N{q.1a.4j()}q.J.3d();q.25.1U();q.1Y.B(q.L.6q(Q),O);E $M=q.$T.1h(\'1L[1f-I-8m-M=1q]\').1K(\'1f-I-8m-M\');if(do){$M.1r().26().3Y().5Z(\'<p />\')}N if(q.G.1M){if(!q.L.3z(q.1e.1b())){$M.a6(\'<br>\')}$M.3F(\'<br>\')}if(1s 2P==\'6Z\')F;q.1X.2u(\'75\',$M,2P)}}},3y:C(){F{bo:C(){if(!q.L.1P(\'2E\'))q.$T.2n();q.25.1U();q.J.3o();E R=q.J.4a();if(R&&R.1p==\'5v\'){q.3y.ho()}N if(R===O&&q.G.1M){q.3y.hx()}N{q.3y.hy()}q.J.3d();q.1e.1S()},ho:C(){1l.3Z(\'3y\');q.3y.aO();q.1x.ap();q.1x.4r()},hy:C(){$.1B(q.J.3X(),$.1d(C(i,4V){if(4V.1p===\'6F\'||4V.1p===\'dn\')F;E $el=q.L.bh(4V);E 2c=q.L.dr($el.1O(\'4B-2c\'))+q.G.ad;$el.1O(\'4B-2c\',2c+\'px\')},q))},hx:C(){E 4M=q.J.5Z(\'1i\');$(4M).1c(\'1f-8b\',\'I\');$(4M).1O(\'4B-2c\',q.G.ad+\'px\')},95:C(){q.25.1U();q.J.3o();E R=q.J.4a();if(R&&R.1p==\'5v\'){q.3y.hz()}N{q.3y.hA()}q.J.3d();q.1e.1S()},hz:C(){1l.3Z(\'7p\');E 1z=q.J.3B();E $2x=$(1z).2q(\'li\',q.$T[0]);q.3y.aO();if(!q.G.1M&&$2x.12===0){1l.3Z(\'9S\',O,\'p\');q.$T.1h(\'3p, ol, 29, p\').1B($.1d(q.L.4f,q))}q.1x.4r()},hA:C(){$.1B(q.J.3X(),$.1d(C(i,4V){E $el=q.L.bh(4V);E 2c=q.L.dr($el.1O(\'4B-2c\'))-q.G.ad;if(2c<=0){if(q.G.1M&&1s($el.1f(\'8b\'))!==\'1y\'){$el.2t($el.B()+\'<br />\')}N{$el.1O(\'4B-2c\',\'\');q.L.5r($el,\'1o\')}}N{$el.1O(\'4B-2c\',2c+\'px\')}},q))},aO:C(){E R=q.J.4a();if(q.14.53&&R&&R.1p==\'5v\'&&q.L.3z($(R).1g())){E $R=$(R);$R.1h(\'1j\').6h(\'.I-J-2r\').26().3Y();$R.1F(\'<br>\')}}}},28:C(){F{3a:C(1w){E 1m,1E;if(1s q.3a[1w].1o!=\'1y\')1m=\'1o\';N if(1s q.3a[1w][\'1G\']!=\'1y\')1m=\'1G\';if(1m)1E=q.3a[1w][1m];q.28.30(q.3a[1w].Y,1m,1E)},30:C(Y,1m,1E){E 1z=q.J.3B();if(1z&&1z.1p===\'qc\')F;q.8h=1q;if(q.L.4S(\'8o\')||q.L.h8())F;E 2d=[\'b\',\'4n\',\'i\',\'4m\',\'5x\',\'eM\',\'5Y\',\'hv\',\'hq\'];E hu=[\'5i\',\'5i\',\'em\',\'em\',\'u\',\'4h\',\'4h\',\'7Q\',\'7l\'];2B(E i=0;i<2d.12;i++){if(Y==2d[i])Y=hu[i]}if(q.G.4z){if($.3t(Y,q.G.4z)==-1)F}N{if($.3t(Y,q.G.4c)!==-1)F}q.28.1m=1m||O;q.28.1E=1E||O;q.25.1U();if(!q.L.1P(\'2E\')){q.$T.2n()}q.J.1b();if(q.14.53){q.28.i3(Y)}N{q.28.fS(Y)}},i3:C(Y){E 1z=q.J.3B();E $1r=$(1z).2q(Y+\'[1f-I-Y=\'+Y+\']\',q.$T[0]);if($1r.12!==0&&(q.28.1m!=\'1o\'&&$1r[0].1p!=\'6w\')){if(q.L.3z($1r.1g())){q.1V.54($1r[0]);$1r.1u();q.1e.1S()}N if(q.L.6T($1r)){q.1V.54($1r[0])}F}E Q=$(\'<\'+Y+\'>\').1c(\'1f-3H\',\'I\').1c(\'1f-I-Y\',Y);Q.B(q.G.6o);Q=q.28.dj(Q);E Q=q.1Y.Q(Q);q.1V.3P(Q);q.1e.1S()},fS:C(Y){q.28.eF(Y);q.J.3o();1l.3Z(\'eM\');q.$T.1h(\'7c\').1B($.1d(C(i,s){E $el=$(s);q.28.eG($el,Y);E $1j;if(q.28.1m){$1j=$(\'<1j>\').1c(\'1f-I-Y\',Y).1c(\'1f-3H\',\'I\');$1j=q.28.dj($1j)}N{$1j=$(\'<\'+Y+\'>\').1c(\'1f-I-Y\',Y).1c(\'1f-3H\',\'I\')}$el.2t($1j.B($el.26()));E $1r=$1j.1r();if($1r&&$1r[0].1p===\'U\'){$1j.1r().2t($1j)}if(Y==\'1j\'){if($1r&&$1r[0].1p===\'6w\'&&q.28.1m===\'1o\'){E 2C=q.28.1E.4o(\';\');2B(E z=0;z<2C.12;z++){if(2C[z]===\'\')F;E 1o=2C[z].4o(\':\');$1r.1O(1o[0],\'\');if(q.L.5r($1r,\'1o\')){$1r.2t($1r.26())}}}}},q));if(Y!=\'1j\'){q.$T.1h(q.G.4N.3c(\', \')).1B($.1d(C(i,s){E $el=$(s);if(s.1p===\'U\'&&s.4u.12===0){$el.2t($el.26());F}E ai=$el.1O(\'1g-7a\');if(ai===\'3K-eP\'){$el.1O(\'1g-7a\',\'\');q.L.5r($el,\'1o\')}},q))}if(Y!=\'4h\'){E eK=q;q.$T.1h(\'28\').1B(C(i,s){eK.L.4I(s,\'4h\')})}q.J.3d();q.1e.1S()},eG:C($el,Y){E 3u=q;$el.3O(Y).1B(C(){E $4w=$(q);if(!$4w.3i(\'I-J-2r\')){if(3u.28.1m==\'1o\'){E 2C=3u.28.1E.4o(\';\');2B(E z=0;z<2C.12;z++){if(2C[z]===\'\')F;E 1o=2C[z].4o(\':\');$4w.1O(1o[0],\'\');if(3u.L.5r($4w,\'1o\')){$4w.2t($4w.26())}}}N{$4w.26().3Y()}}})},eF:C(Y){q.J.3o();E 1h=\'\';if(q.28.1m==\'1G\')1h=\'[1f-I-1G=\'+q.28.1E+\']\';N if(q.28.1m==\'1o\'){1h=\'[1f-I-1o="\'+q.28.1E+\'"]\'}E 3u=q;if(Y!=\'4h\'){q.$T.1h(\'4h\').1B(C(i,s){3u.L.4I(s,\'28\')})}if(Y!=\'1j\'){q.$T.1h(Y).1B(C(){E $el=$(q);$el.2t($(\'<7c />\').B($el.26()))})}q.$T.1h(\'[1f-I-Y="\'+Y+\'"]\'+1h).1B(C(){if(1h===\'\'&&Y==\'1j\'&&q.1p.3e()==Y)F;E $el=$(q);$el.2t($(\'<7c />\').B($el.26()))});q.J.3d()},dj:C(Q){eJ(q.28.1m){9G\'1G\':if(Q.3i(q.28.1E)){Q.2S(q.28.1E);Q.1K(\'1f-I-1G\')}N{Q.2f(q.28.1E);Q.1c(\'1f-I-1G\',q.28.1E)}6n;9G\'1o\':Q[0].1o.q4=q.28.1E;Q.1c(\'1f-I-1o\',q.28.1E);6n}F Q},qd:C(){q.25.1U();E 1z=q.J.3B();E 23=q.J.e8();q.J.3o();if(1z&&1z.1p===\'6w\'){E $s=$(1z);$s.1K(\'1o\');if($s[0].4u.12===0){$s.2t($s.26())}}$.1B(23,$.1d(C(i,s){E $s=$(s);if($.3t(s.1p.3e(),q.G.4N)!=-1&&!$s.3i(\'I-J-2r\')){$s.1K(\'1o\');if($s[0].4u.12===0){$s.2t($s.26())}}},q));q.J.3d();q.1e.1S()},qe:C(1w){q.25.1U();E 1r=q.J.67();E 23=q.J.e8();q.J.3o();if(1r&&1r.1p===\'6w\'){E $s=$(1r);$s.1O(1w,\'\');q.L.5r($s,\'1o\');if($s[0].4u.12===0){$s.2t($s.26())}}$.1B(23,$.1d(C(i,s){E $s=$(s);if($.3t(s.1p.3e(),q.G.4N)!=-1&&!$s.3i(\'I-J-2r\')){$s.1O(1w,\'\');q.L.5r($s,\'1o\');if($s[0].4u.12===0){$s.2t($s.26())}}},q));q.J.3d();q.1e.1S()},dm:C(){q.25.1U();E 1z=q.J.3B();q.J.3o();1l.3Z(\'dm\');if(1z&&1z.1p===\'6w\'){$(1z).2t($(1z).26())}$.1B(q.J.6I(),$.1d(C(i,s){E $s=$(s);if($.3t(s.1p.3e(),q.G.4N)!=-1&&!$s.3i(\'I-J-2r\')){$s.2t($s.26())}},q));q.J.3d();q.1e.1S()},7O:C(3E){q.28.30(\'1j\',\'1G\',3E)},qn:C(1E){q.28.30(\'1j\',\'1o\',1E)}}},1Y:C(){F{1U:C(B,1x){q.3f.1u();B=q.1x.7R(B);if(1s 1x==\'1y\'){B=q.1x.8y(B,O)}q.$T.B(B);q.J.1u();q.2n.3P();q.1x.ap();q.1e.1S();q.1R.2R();if(1s 1x==\'1y\'){3A($.1d(q.1x.4r,q),10)}},1g:C(1g){q.3f.1u();1g=1g.4y();1g=$.3k(1g);1g=q.1x.aj(1g,O);q.$T.2n();if(q.L.1P(\'2E\')){q.1Y.ds(1g)}N{q.J.1b();q.14.55();E el=1l.3w("1i");el.3x=1g;E 4L=1l.9M(),Q,5K;56((Q=el.9N)){5K=4L.81(Q)}q.14.3L(4L);if(5K){E 14=q.14.7S();14.9I(5K);14.43(1q);q.2T.8T();q.2T.4l(14)}}q.1e.1S();q.1x.4r()},fc:C(B){q.1Y.B(B,O)},B:C(B,1x){q.3f.1u();if(1s 1x==\'1y\')1x=1q;q.$T.2n();B=q.1x.7R(B);if(1x){B=q.1x.8y(B)}if(q.L.1P(\'2E\')){q.1Y.ds(B)}N{if(q.1x.9D)q.1Y.eV(B);N 1l.3Z(\'qr\',O,B);q.1Y.eX()}q.1x.ap();if(!q.G.1M){q.$T.1h(\'p\').1B($.1d(q.L.4f,q))}q.1e.1S();q.1R.2R();if(1x){q.1x.4r()}},eX:C(){if(!q.L.1P(\'4b\'))F;E $1N=$(q.J.4a()).1N();if($1N.12>0&&$1N[0].1p==\'P\'&&$1N.B()===\'\'){$1N.1u()}},ds:C(B){if(q.L.gj()){E 1r=q.L.4S(\'P\');E $B=$(\'<1i>\').1F(B);E eU=$B.26().is(\'p, :87, dl, 3p, ol, 1i, 3W, 2Y, 29, 2F, du, 49, 87, c8, eE, eS\');if(1r&&eU)q.1Y.ey(1r,B);N q.1Y.ew(B);F}1l.J.92().gw(B)},eV:C(B){B=q.1x.7R(B);q.J.1b();q.14.55();E el=1l.3w(\'1i\');el.3x=B;E 4L=1l.9M(),Q,5K;56((Q=el.9N)){5K=4L.81(Q)}q.14.3L(4L);q.14.43(1q);q.1V.54(5K)},Q:C(Q,55){Q=Q[0]||Q;E B=q.L.6q(Q);B=q.1x.7R(B);if(B.1T(/</g)!==4e){Q=$(B)[0]}q.J.1b();if(55!==O){q.14.55()}q.14.3L(Q);q.14.43(O);q.J.4l();F Q},qf:C(Q,x,y){Q=Q[0]||Q;q.J.1b();E 14;if(1l.aq){E 3s=1l.aq(x,y);q.14.2W(3s.er,3s.2I);q.14.43(1q);q.14.3L(Q)}N if(1l.ao){14=1l.ao(x,y);14.3L(Q)}N if(1s 1l.31.an!="1y"){14=1l.31.an();14.ak(x,y);E 7e=14.eo();7e.ak(x,y);14.eA("ez",7e);14.7z()}},dA:C(e,Q){Q=Q[0]||Q;E 14;E x=e.qi,y=e.qk;if(1l.aq){E 3s=1l.aq(x,y);E 2T=1l.4D();14=2T.6l(0);14.2W(3s.er,3s.2I);14.43(1q);14.3L(Q)}N if(1l.ao){14=1l.ao(x,y);14.3L(Q)}N if(1s 1l.31.an!="1y"){14=1l.31.an();14.ak(x,y);E 7e=14.eo();7e.ak(x,y);14.eA("ez",7e);14.7z()}},ey:C(1r,B){E Q=1l.3w(\'1j\');Q.3E=\'I-ie-5C\';q.1Y.Q(Q);E 7m=$(1r).B();7m=\'<p>\'+7m.K(/<1j 1G="I-ie-5C"><\\/1j>/gi,\'</p>\'+B+\'<p>\')+\'</p>\';7m=7m.K(/<p><\\/p>/gi,\'\');$(1r).2t(7m)},ew:C(B){q.J.1b();q.14.55();E el=1l.3w("1i");el.3x=B;E 4L=1l.9M(),Q,5K;56((Q=el.9N)){5K=4L.81(Q)}q.14.3L(4L);q.14.43(O);q.J.4l()}}},1D:C(){F{3Q:C(e){if(q.7B)F;E 1k=e.7U;E 4W=(1k>=37&&1k<=40);q.1D.48=e.9u||e.6J;q.1D.1z=q.J.3B();q.1D.1r=q.J.67();q.1D.R=q.J.4a();q.1D.2F=q.L.bB(q.1D.1z,\'2F\');q.1D.29=q.L.bB(q.1D.1z,\'29\');q.1D.7Y=q.L.bB(q.1D.1z,\'7Y\');q.6m.3Q(e,1k);if(q.L.7b()){q.1D.fN(4W,1k);q.1D.g6(e,1k)}q.1D.fV(4W);q.1D.fY(e,1k);E eC=q.1X.2u(\'1D\',e);if(eC===O){e.2w();F O}if(q.G.al&&(q.L.1P(\'2E\')||q.L.1P(\'4b\'))&&(1k===q.3j.dW||1k===q.3j.eB)){E dy=O;E $3W=O;if(q.1D.R&&q.1D.R.1p===\'6F\'){$3W=$(q.1D.R).2q(\'3W\',q.$T[0])}if($3W&&$3W.1h(\'2Y\').2Z()[0]===q.1D.R){dy=1q}if(q.L.6T()&&dy){E Q=$(q.G.5S);$3W.3F(Q);q.1V.2W(Q)}}if(q.G.al&&1k===q.3j.dW){q.1D.fH()}if(!q.G.al&&1k===q.3j.70){e.2w();if(!q.14.53)q.14.55();F}if(1k==q.3j.70&&!e.6s&&!e.9u&&!e.6J){E fQ=q.1X.2u(\'nz\',e);if(fQ===O){e.2w();F O}if(q.1D.29&&q.1D.fk(e)===1q){F O}E 1z,$1N;if(q.1D.2F){F q.1D.fE(e)}N if(q.1D.29||q.1D.7Y){1z=q.J.3B();$1N=$(1z).1N();if($1N.12!==0&&$1N[0].1p==\'58\'){F q.1D.6x(e)}N if(q.L.6T()&&(1z&&1z!=\'6w\')){F q.1D.9x(e)}N{F q.1D.6x(e)}}N if(q.G.1M&&!q.1D.R){1z=q.J.3B();$1N=$(q.1D.1z).1N();if($1N.12!==0&&$1N[0].1p==\'58\'){F q.1D.6x(e)}N if(1z!==O&&$(1z).3i(\'I-7s-3g\')){q.1V.54(1z);$(1z).26().3Y();F q.1D.9x(e)}N{if(q.L.dN()){F q.1D.9x(e)}N if($1N.12===0&&1z===O&&1s $1N.ny!=\'1y\'){F q.1D.6x(e)}F q.1D.6x(e)}}N if(q.G.1M&&q.1D.R){3A($.1d(q.1D.fs,q),1)}N if(!q.G.1M&&q.1D.R){3A($.1d(q.1D.fm,q),1);if(q.1D.R.1p===\'5v\'){1z=q.J.3B();E $1r=$(1z).2q(\'li\',q.$T[0]);E $2e=$1r.2q(\'3p,ol\',q.$T[0]);if($1r.12!==0&&q.L.3z($1r.B())&&$2e.1N().12===0&&q.L.3z($2e.1h("li").2Z().B())){$2e.1h("li").2Z().1u();E Q=$(q.G.5S);$2e.3F(Q);q.1V.2W(Q);F O}}}N if(!q.G.1M&&!q.1D.R){F q.1D.fj(e)}}if(1k===q.3j.70&&(e.9u||e.6s)){F q.1D.i4(e)}if(1k===q.3j.dx||e.6J&&1k===ek||e.6J&&1k===e5){F q.1D.fG(e,1k)}if(1k===q.3j.84||1k===q.3j.8Q){E 23=q.J.6I();if(23){E 2p=23.12;E 2Z;2B(E i=0;i<2p;i++){E 3O=$(23[i]).3O(\'1L\');if(3O.12!==0){E 3u=q;$.1B(3O,C(z,s){E $s=$(s);if($s.1O(\'7f\')!=\'5p\')F;3u.1X.2u(\'dw\',s.4t,$s);2Z=s})}N if(23[i].1p==\'aA\'){if(2Z!=23[i]){q.1X.2u(\'dw\',23[i].4t,$(23[i]));2Z=23[i]}}}}}if(1k===q.3j.84){E R=q.J.4a();E ff=($(R).1O(\'4B-2c\')!==\'nC\');if(R&&ff&&q.14.53&&q.L.gp()){q.3y.95();e.2w();F}if(q.L.1P(\'4b\')){E 4G=q.J.iG();E am=$(4G).4G()[0];if(4G&&4G.1p===\'fT\')$(4G).1u();if(am&&am.1p===\'fT\')$(am).1u()}q.1D.hp();q.1D.ij(e)}q.1e.1S()},fN:C(4W,1k){if(!4W&&(q.1X.7g()==\'2y\'||q.1X.7g()==\'4W\')){q.1X.9K(O);if(q.1D.fJ(1k)){q.25.1U()}}},fJ:C(1k){E k=q.3j;E 4X=[k.84,k.8Q,k.70,k.a7,k.b2,k.dx,k.fK,k.fL,k.fM,k.fU];F($.3t(1k,4X)==-1)?1q:O},fV:C(4W){if(!4W)F;if((q.1X.7g()==\'2y\'||q.1X.7g()==\'4W\')){q.1X.9K(O);F}q.1X.9K(\'4W\')},g6:C(e,1k){if(q.1D.48&&1k===90&&!e.6s&&!e.g1&&q.G.25.12){e.2w();q.25.9l();F}N if(q.1D.48&&1k===90&&e.6s&&!e.g1&&q.G.9k.12!==0){e.2w();q.25.a9();F}N if(!q.1D.48){if(1k==q.3j.84||1k==q.3j.8Q||(1k==q.3j.70&&!e.9u&&!e.6s)||1k==q.3j.a7){q.25.1U()}}},fY:C(e,1k){if(q.1D.48&&1k===65){q.L.gW()}N if(1k!=q.3j.g0&&!q.1D.48){q.L.8U()}},fH:C(){E 2d=[q.1D.29,q.1D.2F,q.1D.7Y];2B(E i=0;i<2d.12;i++){if(2d[i]){q.1D.fC(2d[i]);F O}}},i4:C(e){q.25.1U();if(q.L.6T()){F q.1D.9x(e)}F q.1D.6x(e)},fG:C(e,1k){if(!q.G.fp)F 1q;if(q.L.3z(q.1e.1b())&&q.G.9Y===O)F 1q;e.2w();E Q;if(q.1D.2F&&!e.6s){Q=(q.G.6v)?1l.8W(9F(q.G.6v+1).3c(\'\\9Z\')):1l.8W(\'\\t\');q.1Y.Q(Q);q.1e.1S()}N if(q.G.9Y!==O){Q=1l.8W(9F(q.G.9Y+1).3c(\'\\9Z\'));q.1Y.Q(Q);q.1e.1S()}N{if(e.6J&&1k===e5)q.3y.95();N if(e.6J&&1k===ek)q.3y.bo();N if(!e.6s)q.3y.bo();N q.3y.95()}F O},fs:C(){E 4C=q.J.4a();E 9X=4C.3x.K(/<br\\s?\\/?>/gi,\'\');if((4C.1p===\'89\'||4C.1p===\'P\')&&9X===\'\'&&!$(4C).3i(\'I-T\')){E br=1l.3w(\'br\');$(4C).2t(br);q.1V.bT(br);q.1e.1S();F O}},fm:C(){E 4C=q.J.4a();E 9X=4C.3x.K(/<br\\s?\\/?>/gi,\'\');if(4C.1p===\'89\'&&q.L.3z(9X)&&!$(4C).3i(\'I-T\')){E p=1l.3w(\'p\');p.3x=q.G.6o;$(4C).2t(p);q.1V.2W(p);q.1e.1S();F O}N if(q.G.fh&&4C.1p==\'P\'){$(4C).1K(\'1G\').1K(\'1o\')}},fj:C(e){e.2w();q.J.1b();E p=1l.3w(\'p\');p.3x=q.G.6o;q.14.55();q.14.3L(p);q.1V.2W(p);q.1e.1S();F O},fk:C(e){if(!q.L.6T())F;E 5q=$.3k($(q.1D.R).B());if(5q.3N(/(<br\\s?\\/?>){2}$/i)!=-1){e.2w();if(q.G.1M){E br=1l.3w(\'br\');$(q.1D.29).3F(br);q.1V.bT(br);$(q.1D.R).B(5q.K(/<br\\s?\\/?>$/i,\'\'))}N{E Q=$(q.G.5S);$(q.1D.29).3F(Q);q.1V.2W(Q)}F 1q}F},fC:C(2j){if(!q.L.6T())F;q.25.1U();if(q.G.1M){E 26=$(\'<1i>\').1F($.3k(q.$T.B())).26();E 2Z=26.2Z()[0];if(2Z.1p==\'6w\'&&2Z.3x===\'\'){2Z=26.4G()[0]}if(q.L.6q(2Z)!=q.L.6q(2j))F;E br=1l.3w(\'br\');$(2j).3F(br);q.1V.54(br)}N{if(q.$T.26().2Z()[0]!==2j)F;E Q=$(q.G.5S);$(2j).3F(Q);q.1V.2W(Q)}},fE:C(e){e.2w();E Q=1l.8W(\'\\n\');q.J.1b();q.14.55();q.14.3L(Q);q.1V.54(Q);q.1e.1S();F O},6x:C(e){F q.1D.bR(e)},9x:C(e){F q.1D.bR(e,1q)},bR:C(e,fv){e.fw();q.J.1b();E 5t=1l.3w(\'br\');if(q.L.1P(\'2E\')){q.14.43(O);q.14.3P(q.14.bQ,q.14.bO)}N{q.14.55()}q.14.3L(5t);E $9W=$(5t).1r("a");if($9W.12>0){$9W.1h(5t).1u();$9W.3F(5t)}if(fv===1q){E $1N=$(5t).1N();if($1N.12!==0&&$1N[0].1p===\'58\'&&q.L.dN()){q.1V.54(5t);q.1e.1S();F O}E bP=1l.3w(\'br\');q.14.3L(bP);q.1V.54(bP)}N{if(q.L.1P(\'2E\')){E 3g=1l.3w(\'1j\');3g.3x=\'&#9T;\';$(5t).3F(3g);q.1V.54(3g);$(3g).1u()}N{E 14=1l.92();14.9I(5t);14.43(1q);E J=3l.4D();J.8T();J.4l(14)}}q.1e.1S();F O},hp:C(){E $1z=$(q.1D.1z);if($1z.1g().3N(/^\\6g$/g)===0){$1z.1u()}},ij:C(e){E $1z=$(q.1D.1z);E $1r=$(q.1D.1r);E 2Y=$1z.2q(\'2Y\',q.$T[0]);if(2Y.12!==0&&$1z.2q(\'li\',q.$T[0])&&$1r.3O(\'li\').12===1){if(!q.L.3z($1z.1g()))F;e.2w();$1z.1u();$1r.1u();q.1V.2W(2Y)}}}},2s:C(){F{3Q:C(e){if(q.7B)F;E 1k=e.7U;q.2s.1z=q.J.3B();q.2s.1r=q.J.67();E $1r=q.L.4p($(q.2s.1r).1r());E kA=q.1X.2u(\'2s\',e);if(kA===O){e.2w();F O}if(!q.G.1M&&q.2s.1z.a8==3&&q.2s.1z.12<=1&&(q.2s.1r===O||q.2s.1r.1p==\'e6\')){q.2s.9U()}if(!q.G.1M&&q.L.4p(q.2s.1z)&&q.2s.1z.1p===\'89\'){q.2s.9U(O)}if(!q.G.1M&&$(q.2s.1r).3i(\'I-7s-3g\')&&($1r===O||$1r[0].1p==\'e6\')){$(q.2s.1r).26().3Y();q.2s.9U()}if(q.2z.aD()&&q.2z.kB(1k))q.2z.30();if(1k===q.3j.8Q||1k===q.3j.84){if(q.L.1P(\'4b\')){E 2Y=$(q.1D.1z).2q(\'2Y\',q.$T[0]);if(2Y.9B()!==0&&2Y.1g()!==\'\'){e.2w();F O}}q.1x.4r();if(q.1R.M){e.2w();q.M.7W();q.25.1U();q.M.1u(q.1R.M);q.1R.M=O;F O}q.$T.1h(\'p\').1B($.1d(C(i,s){q.L.4f(i,$(s).B())},q));if(q.G.1M&&q.2s.1z&&q.2s.1z.1p==\'89\'&&q.L.3z(q.2s.1z.3x)){$(q.2s.1z).3F(q.J.5a());q.J.3d();$(q.2s.1z).1u()}F q.2s.kN(e)}},9U:C(8O){E $1z=$(q.2s.1z);E Q;if(8O===O){Q=$(\'<p>\').1F($1z.B())}N{Q=$(\'<p>\').1F($1z.8O())}$1z.2t(Q);E 1N=$(Q).1N();if(1s(1N[0])!==\'1y\'&&1N[0].1p==\'58\'){1N.1u()}q.1V.3P(Q)},kN:C(e){E B=$.3k(q.$T.B());if(!q.L.3z(B))F;e.2w();if(q.G.1M){q.$T.B(q.J.5a());q.J.3d()}N{q.$T.B(q.G.5S);q.2n.2W()}q.1e.1S();F O}}},1H:C(){F{2R:C(){q.G.bU=q.G.kn[q.G.1H]},1b:C(1w){F(1s q.G.bU[1w]!=\'1y\')?q.G.bU[1w]:\'\'}}},3K:C(){F{1Y:C(){q.25.1U();E 1Z=q.J.3X();if(1Z[0]!==O&&q.3K.jZ(1Z)){if(!q.L.1P(\'2E\'))q.$T.2n();F}if(q.L.1P(\'2E\')){q.3K.aR()}N{q.3K.kc()}},jZ:C(1Z){E 9y=[\'li\',\'2Y\',\'5P\',\'29\',\'7Y\',\'2F\',\'dl\',\'dt\',\'dd\'];E 3I=1Z[0].1p.3e();E 2Z=q.J.kJ();2Z=(1s 2Z==\'1y\')?3I:2Z.1p.3e();E bN=$.3t(3I,9y)!=-1;E kl=$.3t(2Z,9y)!=-1;if((bN&&kl)||bN){F 1q}},aR:C(){q.L.8z();q.25.1U();q.1Y.Q(1l.3w(\'hr\'));q.L.bk();q.1e.1S()},kc:C(){q.25.1U();E bV=\'<p id="I-1Y-3K"><br /></p>\';if(q.G.1M)bV=\'<br id="I-1Y-3K">\';1l.3Z(\'na\',O,\'<hr>\'+bV);q.3K.k9();q.1e.1S()},k9:C(){E Q=q.$T.1h(\'#I-1Y-3K\');E 1N=$(Q).1N()[0];E 1Q=1N;if(q.L.1P(\'4b\')&&1N&&1N.3x===\'\'){1Q=$(1N).1N()[0];$(1N).1u()}if(1Q){Q.1u();if(!q.G.1M){q.$T.2n();q.3K.2W(1Q)}}N{Q.1K(\'id\');q.3K.2W(Q[0])}},2W:C(Q){if(1s Q===\'1y\')F;E jQ=1l.8W(\'\\6g\');q.J.1b();q.14.2W(Q,0);q.14.3L(jQ);q.14.43(1q);q.J.4l()}}},V:C(){F{2O:C(e){if(1s e!=\'1y\'&&e.2w)e.2w();if(!q.1R.c7(\'a\')){q.1a.2R(\'V\',q.1H.1b(\'ba\'),jS)}N{q.1a.2R(\'V\',q.1H.1b(\'ca\'),jS)}q.1a.cy();E kE=!q.1R.c7(\'a\')?q.1H.1b(\'1Y\'):q.1H.1b(\'7L\');q.V.kL=q.1a.cz(kE);q.J.1b();q.V.kG();q.V.kg();if(q.V.1Q==\'7K\')$(\'#I-V-7Z\').6j(\'a0\',1q);q.V.$9n=$(\'#I-V-2i\');q.V.$bZ=$(\'#I-V-2i-1g\');q.V.$bZ.2K(q.V.1g);q.V.$9n.2K(q.V.2i);q.V.kL.on(\'2y\',$.1d(q.V.1Y,q));$(\'.I-V-3q\').1u();q.J.3o();q.1a.2O();q.V.$9n.2n()},kg:C(){E jV=3u.jU.2k.K(/\\/$/i,\'\');if(1s q.V.2i!=="1y"){q.V.2i=q.V.2i.K(jV,\'\');q.V.2i=q.V.2i.K(/^\\/#/,\'#\');q.V.2i=q.V.2i.K(\'bY:\',\'\');if(!q.G.5c){E 3J=2a 2l(\'^(8s|8K|5o)://\'+3u.jU.n4,\'i\');q.V.2i=q.V.2i.K(3J,\'\')}}},kG:C(){q.V.$Q=O;E $el=$(q.J.3B()).2q(\'a\',q.$T[0]);if($el.12!==0&&$el[0].1p===\'A\'){q.V.$Q=$el;q.V.2i=$el.1c(\'2k\');q.V.1g=$el.1g();q.V.1Q=$el.1c(\'1Q\')}N{q.V.1g=q.2T.4y();q.V.2i=\'\';q.V.1Q=\'\'}},1Y:C(){q.3f.1u();E 1Q=\'\';E V=q.V.$9n.2K();E 1g=q.V.$bZ.2K().K(/(<([^>]+)>)/ig,"");if($.3k(V)===\'\'){q.V.$9n.2f(\'I-3D-6U\').on(\'2s\',C(){$(q).2S(\'I-3D-6U\');$(q).3h(\'2s\')});F}if(V.3N(\'@\')!=-1&&/(8s|8K|5o):\\/\\//i.bE(V)===O){V=\'bY:\'+V}N if(V.3N(\'#\')!==0){if($(\'#I-V-7Z\').6j(\'a0\')){1Q=\'7K\'}E 7D=\'((jT--)?[a-7t-9]+(-[a-7t-9]+)*\\\\.)+[a-z]{2,}\';E 3J=2a 2l(\'^(8s|8K|5o)://\'+7D,\'i\');E a1=2a 2l(\'^\'+7D,\'i\');E km=2a 2l(\'\\.(B|nh)$\',\'i\');if(V.3N(3J)==-1&&V.3N(km)==-1&&V.3N(a1)===0&&q.G.5c){V=q.G.5c+\'://\'+V}}q.V.1U(1g,V,1Q);q.1a.4j()},1U:C(1g,V,1Q){1g=$.3k(1g.K(/<|>/g,\'\'));q.J.3d();E 1Z=q.J.3X();if(1g===\'\'&&V===\'\')F;if(1g===\'\'&&V!==\'\')1g=V;if(q.V.$Q){q.25.1U();E $V=q.V.$Q,$el=$V.3O();if($el.12>0){56($el.12){$el=$el.3O()}$el=$el.2h()}N{$el=$V}$V.1c(\'2k\',V);$el.1g(1g);if(1Q!==\'\'){$V.1c(\'1Q\',1Q)}N{$V.1K(\'1Q\')}q.J.9g($V);q.1e.1S()}N{if(q.L.1P(\'4b\')&&q.V.1g===\'\'){E $a=$(\'<a />\').1c(\'2k\',V).1g(1g);if(1Q!==\'\')$a.1c(\'1Q\',1Q);q.1Y.Q($a);q.J.9g($a)}N{E $a;if(q.L.1P(\'2E\')){$a=$(\'<a 2k="\'+V+\'">\').1g(1g);if(1Q!==\'\')$a.1c(\'1Q\',1Q);$a=$(q.1Y.Q($a));if(q.J.e1().1T(/\\s$/)){$a.3F(" ")}q.J.9g($a)}N{1l.3Z(\'nt\',O,V);$a=$(q.J.3B()).2q(\'a\',q.$T[0]);if(q.L.1P(\'4b\')){$a=$(\'a[k3=""]\')}if(1Q!==\'\')$a.1c(\'1Q\',1Q);$a.1K(\'1o\').1K(\'k3\');if(q.J.e1().1T(/\\s$/)){$a.3F(" ")}if(q.V.1g!==\'\'||q.V.1g!=1g){if(!q.G.1M&&1Z&&1Z.12<=1){$a.1g(1g)}q.J.9g($a)}}}q.1e.1S();q.1X.2u(\'nu\',$a)}3A($.1d(C(){q.1R.5n()},q),5)},6P:C(e){if(1s e!=\'1y\'&&e.2w){e.2w()}E 23=q.J.6I();if(!23)F;q.25.1U();E 2p=23.12;E 5n=[];2B(E i=0;i<2p;i++){if(23[i].1p===\'A\'){5n.2N(23[i])}E $Q=$(23[i]).2q(\'a\',q.$T[0]);$Q.2t($Q.26())}q.1X.2u(\'nv\',5n);$(\'.I-V-3q\').1u();q.1e.1S()},7O:C(3E){q.V.8g(3E,\'7O\')},2f:C(3E){q.V.8g(3E,\'2f\')},2S:C(3E){q.V.8g(3E,\'2S\')},8g:C(3E,1C){E 5n=q.J.kq([\'a\']);if(5n===O)F;$.1B(5n,C(){$(q)[1C](3E)})}}},2z:C(){F{kB:C(1k){F 1k==q.3j.70||1k==q.3j.a7},aD:C(){F q.G.a2&&(q.G.c1||q.G.bX||q.G.93)&&!q.L.4S(\'8o\')},30:C(){E 2z=q.2z,G=q.G;q.$T.1h(":6h(4R,1L,a,2F)").ni().26().bW(C(){F q.a8===3&&$.3k(q.5O)!=""&&!$(q).1r().is("2F")&&(q.5O.1T(G.2z.4v.72)||q.5O.1T(G.2z.4v.71)||q.5O.1T(G.2z.4v.M)||q.5O.1T(G.2z.4v.2i))}).1B(C(){E 1g=$(q).1g(),B=1g;if(G.93&&(B.1T(G.2z.4v.72)||B.1T(G.2z.4v.71))){B=2z.93(B)}N if(G.bX&&B.1T(G.2z.4v.M)){B=2z.kT(B)}N if(G.c1){B=2z.a2(B)}$(q).a6(1g.K(1g,B)).1u()});E ka=q.$T.1h(\'.I-2z-41\').1B(C(){E $el=$(q);$el.2S(\'I-2z-41\');if($el.1c(\'1G\')===\'\')$el.1K(\'1G\');F $el[0]});q.1X.2u(\'2z\',ka);q.1e.1S()},93:C(B){E bM=\'<4R 1G="I-2z-41" 2J="nm" 3n="no" 4t="\',bK=\'" nn="0" o0></4R>\';if(B.1T(q.G.2z.4v.72)){B=B.K(q.G.2z.4v.72,bM+\'//7n.72.a5/7i/$1\'+bK)}if(B.1T(q.G.2z.4v.71)){B=B.K(q.G.2z.4v.71,bM+\'//oI.71.a5/6Y/$2\'+bK)}F B},kT:C(B){E 3M=B.1T(q.G.2z.4v.M);if(3M){B=B.K(B,\'<1L 4t="\'+3M+\'" 1G="I-2z-41" />\');if(q.G.1M){if(!q.L.3z(q.1e.1b())){B=\'<br>\'+B}}B+=\'<br>\'}F B},a2:C(B){E 3M=B.1T(q.G.2z.4v.2i);if(3M){3M=$.oJ(3M,C(v,k){F $.3t(v,3M)===k});E 12=3M.12;2B(E i=0;i<12;i++){E 2k=3M[i],1g=2k,5c=q.G.5c+\'://\';if(2k.1T(/(5o?|8K):\\/\\//i)!==4e){5c=""}if(1g.12>q.G.cs){1g=1g.aB(0,q.G.cs)+\'...\'}1g=fl(1g);E cu="\\\\b";if($.3t(2k.ct(-1),["/","&","="])!=-1){cu=""}E kx=2a 2l(\'(\'+2k.K(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,"\\\\$&")+cu+\')\',\'g\');B=B.K(kx,\'<a 2k="\'+5c+$.3k(2k)+\'" 1G="I-2z-41">\'+$.3k(1g)+\'</a>\')}}F B}}},2e:C(){F{3m:C(4H){q.3f.1u();if(!q.L.1P(\'2E\'))q.$T.2n();q.25.1U();q.J.3o();E 1r=q.J.67();E $2e=$(1r).2q(\'ol, 3p\',q.$T[0]);if(!q.L.4p($2e)&&$2e.12!==0){$2e=O}E cq,cn;E 1u=O;if($2e&&$2e.12){1u=1q;E cr=$2e[0].1p;cq=(4H===\'5z\'&&cr===\'8D\');cn=(4H===\'5m\'&&cr===\'8N\')}if(cq){q.L.4I($2e,\'ol\')}N if(cn){q.L.4I($2e,\'3p\')}N{if(1u){q.2e.1u(4H,$2e)}N{q.2e.1Y(4H)}}q.J.3d();q.1e.1S()},1Y:C(4H){E 1z=q.J.3B();E $2Y=$(1z).2q(\'2Y, 5P\',q.$T[0]);if(q.L.1P(\'2E\')&&q.G.1M){q.2e.aR(4H)}N{1l.3Z(\'1Y\'+4H)}E 1r=q.J.67();E $2e=$(1r).2q(\'ol, 3p\',q.$T[0]);if($2Y.12!==0){E iK=$2Y.8O();$2Y.3F(iK).1u(\'\')}if(q.L.3z($2e.1h(\'li\').1g())){E $3O=$2e.3O(\'li\');$3O.1h(\'br\').1u();$3O.1F(q.J.5a());if(q.G.1M&&q.L.1P(\'4b\')&&$3O.9B()==2&&q.L.3z($3O.eq(1).1g())){$3O.eq(1).1u()}}if($2e.12){E $7X=$2e.1r();if(q.L.4p($7X)&&$7X[0].1p!=\'5v\'&&q.L.6X($7X[0])){$7X.2t($7X.26())}}if(!q.L.1P(\'2E\')){q.$T.2n()}q.1x.4r()},aR:C(4H){E 4M=q.J.5Z(\'1i\');E aP=$(4M).B();E 85=(4H==\'5z\')?$(\'<ol>\'):$(\'<3p>\');E 8c=$(\'<li>\');if($.3k(aP)===\'\'){8c.1F(q.J.5a());85.1F(8c);q.$T.1h(\'#J-2r-1\').2t(85)}N{E 8k=aP.4o(/<br\\s?\\/?>/gi);if(8k){2B(E i=0;i<8k.12;i++){if($.3k(8k[i])!==\'\'){85.1F($(\'<li>\').B(8k[i]))}}}N{8c.1F(aP);85.1F(8c)}$(4M).2t(85)}},1u:C(4H,$2e){if($.3t(\'3p\',q.J.3X()))4H=\'5m\';1l.3Z(\'1Y\'+4H);E $1z=$(q.J.3B());q.3y.aO();if(!q.G.1M&&$1z.2q(\'li, 5P, 2Y\',q.$T[0]).12===0){1l.3Z(\'9S\',O,\'p\');q.$T.1h(\'3p, ol, 29\').1B($.1d(q.L.4f,q))}E $3W=$(q.J.3B()).2q(\'3W\',q.$T[0]);E $4G=$3W.4G();if(!q.G.1M&&$3W.12!==0&&$4G.12!==0&&$4G[0].1p==\'58\'){$4G.1u()}q.1x.4r()}}},1a:C(){F{aM:{},iW:C(){q.G.1a={iX:6f()+\'<49 id="I-1a-M-7L">\'+\'<2L>\'+q.1H.1b(\'1J\')+\'</2L>\'+\'<3D 1m="1g" id="I-M-1J" />\'+\'<2L 1G="I-M-V-42">\'+q.1H.1b(\'V\')+\'</2L>\'+\'<3D 1m="1g" id="I-M-V" 1G="I-M-V-42" 4K-2L="\'+q.1H.1b(\'V\')+\'" />\'+\'<2L 1G="I-M-V-42"><3D 1m="iP" id="I-M-V-7Z" 4K-2L="\'+q.1H.1b(\'aL\')+\'"> \'+q.1H.1b(\'aL\')+\'</2L>\'+\'<2L 1G="I-M-4g-42">\'+q.1H.1b(\'cC\')+\'</2L>\'+\'<7z 1G="I-M-4g-42" id="I-M-5g" 4K-2L="\'+q.1H.1b(\'cC\')+\'">\'+\'<42 1E="5p">\'+q.1H.1b(\'5p\')+\'</42>\'+\'<42 1E="2c">\'+q.1H.1b(\'2c\')+\'</42>\'+\'<42 1E="5u">\'+q.1H.1b(\'5u\')+\'</42>\'+\'<42 1E="4s">\'+q.1H.1b(\'4s\')+\'</42>\'+\'</7z>\'+\'</49>\',M:6f()+\'<49 id="I-1a-M-1Y">\'+\'<1i id="I-1a-M-4d"></1i>\'+\'</49>\',22:6f()+\'<49 id="I-1a-22-1Y">\'+\'<1i id="I-1a-22-1v-2Q">\'+\'<2L>\'+q.1H.1b(\'6k\')+\'</2L>\'+\'<3D 1m="1g" id="I-6k" 4K-2L="\'+q.1H.1b(\'6k\')+\'" /><br><br>\'+\'<1i id="I-1a-22-1v"></1i>\'+\'</1i>\'+\'</49>\',V:6f()+\'<49 id="I-1a-V-1Y">\'+\'<2L>cD</2L>\'+\'<3D 1m="2i" id="I-V-2i" 4K-2L="cD" />\'+\'<2L>\'+q.1H.1b(\'1g\')+\'</2L>\'+\'<3D 1m="1g" id="I-V-2i-1g" 4K-2L="\'+q.1H.1b(\'1g\')+\'" />\'+\'<2L><3D 1m="iP" id="I-V-7Z"> \'+q.1H.1b(\'aL\')+\'</2L>\'+\'</49>\'};$.7E(q.G,q.G.1a)},cB:C(1w,2A){q.1a.aM[1w]=2A},oX:C($1a){q.1a.$94=$(\'<1i>\').1c(\'id\',\'I-1a-94\');$1a.6t(q.1a.$94)},oY:C(id,1w,8Z){E $5I=$(\'<a 2k="#" 3T="5I\'+id+\'">\').1g(1w);if(8Z){$5I.2f(\'8Z\')}E 3u=q;$5I.on(\'2y\',C(e){e.2w();$(\'.I-5I\').3v();$(\'.I-\'+$(q).1c(\'3T\')).2O();3u.1a.$94.1h(\'a\').2S(\'8Z\');$(q).2f(\'8Z\')});q.1a.$94.1F($5I)},oZ:C(1w,ic){q.G.1a[1w]=ic},i9:C(1w){F q.G.1a[1w]},oU:C(){F q.$aX.1h(\'49\')},2R:C(62,1J,2J){q.1a.62=62;q.1a.2J=2J;q.1a.2o();q.1a.jr();q.1a.i7(1J);q.1a.ik();q.1a.i8();if(1s q.1a.aM[62]!=\'1y\'){q.1a.aM[62].6e(q)}},2O:C(){q.L.d8();if(q.L.6M()){q.1a.cx()}N{q.1a.aZ()}if(q.G.cA){q.$4F.2f("I-1a-jP")}q.$74.2O();q.$4F.2O();q.$1a.1c(\'6S\',\'-1\');q.$1a.2n();q.1a.ip();q.L.8z();if(!q.L.6M()){3A($.1d(q.1a.aZ,q),0);$(3l).on(\'4J.I-1a\',$.1d(q.1a.4J,q))}q.1X.2u(\'oP\',q.1a.62,q.$1a);$(1l).3h(\'oO.1a\');q.$1a.1h(\'3D[1m=1g],3D[1m=2i],3D[1m=oQ]\').on(\'1D.I-1a\',$.1d(q.1a.iu,q))},aZ:C(){E 3n=q.$1a.oR();E aT=$(3l).3n();E 7u=$(3l).2J();if(q.1a.2J>7u){q.$1a.1O({2J:\'96%\',63:(aT/2-3n/2)+\'px\'});F}if(3n>aT){q.$1a.1O({2J:q.1a.2J+\'px\',63:\'oS\'})}N{q.$1a.1O({2J:q.1a.2J+\'px\',63:(aT/2-3n/2)+\'px\'})}},cx:C(){q.$1a.1O({2J:\'96%\',63:\'2%\'})},4J:C(){if(q.L.6M()){q.1a.cx()}N{q.1a.aZ()}},i7:C(1J){q.$9e.B(1J)},i8:C(){q.$aX.B(q.1a.i9(q.1a.62))},ik:C(){if(1s $.fn.iv===\'1y\')F;q.$1a.iv({iw:q.$9e});q.$9e.1O(\'oa\',\'oc\')},iu:C(e){if(e.7U!=13)F;e.2w();q.$1a.1h(\'1t.I-1a-7M-21\').2y()},cy:C(){E 1t=$(\'<1t>\').2f(\'I-1a-21 I-1a-4j-21\').B(q.1H.1b(\'it\'));1t.on(\'2y\',$.1d(q.1a.4j,q));q.$9i.1F(1t)},io:C(2L){F q.1a.cm(2L,\'83\')},cz:C(2L){F q.1a.cm(2L,\'7M\')},cm:C(2L,3E){E 1t=$(\'<1t>\').2f(\'I-1a-21\').2f(\'I-1a-\'+3E+\'-21\').B(2L);q.$9i.1F(1t);F 1t},ip:C(){E 4i=q.$9i.1h(\'1t\');E cl=4i.12;if(cl===0)F;4i.1O(\'2J\',(88/cl)+\'%\')},2o:C(){q.1a.jw();q.$4F=$(\'<1i id="I-1a-2Q"/>\').3v();q.$1a=$(\'<1i id="I-1a" 9c="o9" 4K-o8="I-1a-87" />\');q.$9e=$(\'<87 id="I-1a-87"/>\');q.$8X=$(\'<1t 1m="1t" id="I-1a-4j" 6S="1" 4K-2L="o3" />\').B(\'&o2;\');q.$aX=$(\'<1i id="I-1a-31" />\');q.$9i=$(\'<c8 />\');q.$1a.1F(q.$9e);q.$1a.1F(q.$8X);q.$1a.1F(q.$aX);q.$1a.1F(q.$9i);q.$4F.1F(q.$1a);q.$4F.aU(1l.31)},jw:C(){q.$74=$(\'<1i id="I-1a-o5">\').3v();$(\'31\').6t(q.$74)},jr:C(){q.$8X.on(\'2y.I-1a\',$.1d(q.1a.4j,q));$(1l).on(\'2s.I-1a\',$.1d(q.1a.9a,q));q.$T.on(\'2s.I-1a\',$.1d(q.1a.9a,q));q.$4F.on(\'2y.I-1a\',$.1d(q.1a.4j,q))},jC:C(){q.$8X.3h(\'2y.I-1a\');$(1l).3h(\'2s.I-1a\');q.$T.3h(\'2s.I-1a\');q.$4F.3h(\'2y.I-1a\');$(3l).3h(\'4J.I-1a\')},9a:C(e){if(e.7U!=q.3j.b2)F;q.1a.4j(O)},4j:C(e){if(e){if(!$(e.1Q).3i(\'I-1a-4j-21\')&&e.1Q!=q.$8X[0]&&e.1Q!=q.$4F[0]){F}e.2w()}if(!q.$4F)F;q.1a.jC();q.L.bJ();q.$74.1u();q.$4F.iM(\'of\',$.1d(C(){q.$4F.1u();3A($.1d(q.L.bk,q),0);if(e!==1y)q.J.3d();$(1l.31).1O(\'bI\',q.1a.og);q.1X.2u(\'ot\',q.1a.62)},q))}}},1R:C(){F{2R:C(){if(1s q.G.jL!="1y")F;if(q.L.1P(\'2E\')){E 3u=q;q.$T.1h(\'2F, 1e\').on(\'ay\',C(){3u.$T.1c(\'5d\',O);$(q).1c(\'5d\',1q)}).on(\'az\',C(){3u.$T.1c(\'5d\',1q);$(q).1K(\'5d\')})}q.1R.au();q.1R.5n()},1A:C(e,2g){q.1R.4i(e,2g);q.1R.79()},c7:C($el,$1z){if(1s $1z==\'1y\'){E $1z=$(q.J.3B())}F $1z.is($el)||$1z.dL($el).12>0},79:C(){E $1z=$(q.J.3B());$.1B(q.G.1R.79,$.1d(C(1k,1E){E 1R=1E.1R,2j=1R.2j,$2x=1E.2x,c3=1s 1R[\'in\']!=\'1y\'?1R[\'in\']:O,c6=1s 1R[\'2m\']!=\'1y\'?1R[\'2m\']:O;if($1z.2q(2j).9B()>0){q.1R.c4($2x,c3,c6)}N{q.1R.c4($2x,c6,c3)}},q))},c4:C($2x,9s,ax){if(ax&&1s ax[\'1c\']!=\'1y\'){q.1R.c5($2x,ax.1c,1q)}if(1s 9s[\'1c\']!=\'1y\'){q.1R.c5($2x,9s.1c)}if(1s 9s[\'1J\']!=\'1y\'){$2x.1g(9s[\'1J\'])}},c5:C($2x,jq,cb){$.1B(jq,C(1k,1E){if(1k==\'1G\'){if(!cb){$2x.2f(1E)}N{$2x.2S(1E)}}N{if(!cb){$2x.1c(1k,1E)}N{$2x.1K(1k)}}})},cc:C($2x,2g,2X){if(1s 2X.1R=="1y")F;2X.2x=$2x;q.G.1R.79.2N(2X)},4i:C(e,2g){E 1z=q.J.3B();E 1r=q.J.67();if(e!==O){q.1t.cj()}N{q.1t.cj(2g)}if(e===O&&2g!==\'B\'){if($.3t(2g,q.G.b5)!=-1)q.1t.oq(2g);F}$.1B(q.G.cg,$.1d(C(1k,1E){E aw=$(1r).2q(1k,q.$T[0]);E ck=$(1z).2q(1k,q.$T[0]);if(aw.12!==0&&!q.L.4p(aw))F;if(!q.L.4p(ck))F;if(aw.12!==0||ck.2q(1k,q.$T[0]).12!==0){q.1t.9q(1E)}},q));E $1r=$(1r).2q(q.G.8F.4y().3e(),q.$T[0]);if(q.L.4p(1r)&&$1r.12){E 5g=($1r.1O(\'1g-5g\')===\'\')?\'2c\':$1r.1O(\'1g-5g\');q.1t.9q(\'5g\'+5g)}},oi:C(Y,2g){q.G.b5.2N(2g);q.G.cg[Y]=2g},au:C(){q.$T.1h(\'1L\').1B($.1d(C(i,1L){E $1L=$(1L);$1L.2q(\'a\',q.$T[0]).on(\'2y\',C(e){e.2w()});if(q.L.1P(\'2E\'))$1L.1c(\'oh\',\'on\');q.M.j1($1L)},q));$(1l).on(\'2y.I-M-83.\'+q.2G,$.1d(C(e){q.1R.M=O;if(e.1Q.1p==\'aA\'&&q.L.4p(e.1Q)){q.1R.M=(q.1R.M&&q.1R.M==e.1Q)?O:e.1Q}},q))},5n:C(){if(!q.G.j4)F;q.$T.1h(\'a\').on(\'5H.I.\'+q.2G+\' 2y.I.\'+q.2G,$.1d(q.1R.jc,q));q.$T.on(\'5H.I.\'+q.2G+\' 2y.I.\'+q.2G,$.1d(q.1R.cf,q));$(1l).on(\'5H.I.\'+q.2G+\' 2y.I.\'+q.2G,$.1d(q.1R.cf,q))},jl:C($V){F $V.2I()},jc:C(e){E $el=$(e.1Q);if($el[0].1p==\'aA\')F;if($el[0].1p!==\'A\')$el=$el.2q(\'a\',q.$T[0]);if($el[0].1p!==\'A\')F;E $V=$el;E 3s=q.1R.jl($V);E 3q=$(\'<1j 1G="I-V-3q"></1j>\');E 2k=$V.1c(\'2k\');if(2k===1y){2k=\'\'}if(2k.12>24)2k=2k.aB(0,24)+\'...\';E jj=$(\'<a 2k="\'+$V.1c(\'2k\')+\'" 1Q="7K" />\').B(2k).2f(\'I-V-3q-7M\');E jf=$(\'<a 2k="#" />\').B(q.1H.1b(\'7L\')).on(\'2y\',$.1d(q.V.2O,q)).2f(\'I-V-3q-7M\');E je=$(\'<a 2k="#" />\').B(q.1H.1b(\'6P\')).on(\'2y\',$.1d(q.V.6P,q)).2f(\'I-V-3q-7M\');3q.1F(jj).1F(\' | \').1F(jf).1F(\' | \').1F(je);3q.1O({2U:(3s.2U+5L($V.1O(\'3K-3n\'),10))+\'px\',2c:3s.2c+\'px\'});$(\'.I-V-3q\').1u();$(\'31\').1F(3q)},cf:C(e){e=e.7T||e;E 1Q=e.1Q;E $1r=$(1Q).2q(\'a\',q.$T[0]);if($1r.12!==0&&$1r[0].1p===\'A\'&&1Q.1p!==\'A\'){F}N if((1Q.1p===\'A\'&&q.L.4p(1Q))||$(1Q).3i(\'I-V-3q-7M\')){F}$(\'.I-V-3q\').1u()}}},2V:C(){F{2R:C(B){if(q.G.1M)F B;if(B===\'\'||B===\'<p></p>\')F q.G.5S;B=B+"\\n";q.2V.aC=[];q.2V.z=0;B=B.K(/(<br\\s?\\/?>){1,}\\n?<\\/29>/gi,\'</29>\');B=q.2V.jk(B);B=q.2V.j6(B);B=q.2V.jF(B);B=q.2V.jp(B);B=q.2V.8M(B);B=q.2V.j7(B);B=B.K(2a 2l(\'<br\\\\s?/?>\\n?<(\'+q.G.ej.3c(\'|\')+\')(.*?[^>])>\',\'gi\'),\'<p><br /></p>\\n<$1$2>\');F $.3k(B)},jk:C(B){E $1i=$(\'<1i />\').1F(B);$1i.1h(\'29 p\').2t(C(){F $(q).1F(\'<br />\').26()});B=$1i.B();$1i.1h(q.G.ej.3c(\', \')).1B($.1d(C(i,s){q.2V.z++;q.2V.aC[q.2V.z]=s.7v;B=B.K(s.7v,\'\\n{K\'+q.2V.z+\'}\')},q));F B},j6:C(B){E dX=B.1T(/<!--([\\w\\W]*?)-->/gi);if(!dX)F B;$.1B(dX,$.1d(C(i,s){q.2V.z++;q.2V.aC[q.2V.z]=s;B=B.K(s,\'\\n{K\'+q.2V.z+\'}\')},q));F B},j7:C(B){$.1B(q.2V.aC,C(i,s){s=(1s s!==\'1y\')?s.K(/\\$/g,\'&#36;\'):s;B=B.K(\'{K\'+i+\'}\',s)});F B},jp:C(B){E 4O=B.4o(2a 2l(\'\\n\',\'g\'),-1);B=\'\';if(4O){E 2p=4O.12;2B(E i=0;i<2p;i++){if(!4O.ow(i))F;if(4O[i].3N(\'{K\')==-1){4O[i]=4O[i].K(/<p>\\n\\t?<\\/p>/gi,\'\');4O[i]=4O[i].K(/<p><\\/p>/gi,\'\');if(4O[i]!==\'\'){B+=\'<p>\'+4O[i].K(/^\\n+|\\n+$/g,"")+"</p>"}}N B+=4O[i]}}F B},jF:C(B){B=B.K(/<br \\/>\\s*<br \\/>/gi,"\\n\\n");B=B.K(/<br\\s?\\/?>\\n?<br\\s?\\/?>/gi,"\\n<br /><br />");B=B.K(2a 2l("\\r\\n",\'g\'),"\\n");B=B.K(2a 2l("\\r",\'g\'),"\\n");B=B.K(2a 2l("/\\n\\n+/"),\'g\',"\\n\\n");F B},8M:C(B){B=B.K(2a 2l(\'</29></p>\',\'gi\'),\'</29>\');B=B.K(2a 2l(\'<p></29>\',\'gi\'),\'</29>\');B=B.K(2a 2l(\'<p><29>\',\'gi\'),\'<29>\');B=B.K(2a 2l(\'<29></p>\',\'gi\'),\'<29>\');B=B.K(2a 2l(\'<p><p \',\'gi\'),\'<p \');B=B.K(2a 2l(\'<p><p>\',\'gi\'),\'<p>\');B=B.K(2a 2l(\'</p></p>\',\'gi\'),\'</p>\');B=B.K(2a 2l(\'<p>\\\\s?</p>\',\'gi\'),\'\');B=B.K(2a 2l("\\n</p>",\'gi\'),\'</p>\');B=B.K(2a 2l(\'<p>\\t?\\t?\\n?<p>\',\'gi\'),\'<p>\');B=B.K(2a 2l(\'<p>\\t*</p>\',\'gi\'),\'\');F B}}},5C:C(){F{3Q:C(e){if(!q.G.jJ){3A($.1d(q.1e.1S,q),1);F}q.7B=1q;q.25.1U();q.J.3o();q.L.8z();q.5C.ju();$(3l).on(\'6b.I-jv\',$.1d(C(){$(3l).3U(q.bm)},q));3A($.1d(C(){E B=q.$5e.B();q.$5e.1u();q.J.3d();q.L.bk();q.5C.1Y(B);$(3l).3h(\'6b.I-jv\');if(q.2z.aD())q.2z.30()},q),1)},ju:C(){q.$5e=$(\'<1i>\').B(\'\').1c(\'5d\',\'1q\').1O({4g:\'82\',2J:0,2U:0,2c:\'-o4\'});if(q.L.1P(\'2E\')){q.$2Q.1F(q.$5e)}N{if($(\'.1a-31\').12>0){$(\'.1a-31\').1F(q.$5e)}N{$(\'31\').1F(q.$5e)}}q.$5e.2n()},1Y:C(B){B=q.1X.2u(\'od\',B);B=(q.L.9w())?q.1x.8y(B,O):q.1x.8y(B);B=q.1X.2u(\'5C\',B);if(q.L.9w()){q.1Y.1U(B,O)}N{q.1Y.B(B,O)}q.L.8U();q.7B=O;3A($.1d(q.1x.4r,q),10);3A($.1d(C(){E ii=q.$T.1h(\'1j\');$.1B(ii,C(i,s){E B=s.3x.K(/\\6g/,\'\');if(B===\'\'&&s.4u.12===0)$(s).1u()})},q),10)}}},3f:C(){F{9Q:C(){if(!q.3f.is())F;q.$T.1c(\'3f\',q.$2j.1c(\'3f\'));q.3f.3m();q.$T.on(\'1D.I-3f\',$.1d(q.3f.3m,q))},3m:C(){3A($.1d(C(){E 1C=q.L.3z(q.$T.B(),O)?\'2f\':\'2S\';q.$T[1C](\'I-3f\')},q),5)},1u:C(){q.$T.2S(\'I-3f\')},is:C(){if(q.G.3f){F q.$2j.1c(\'3f\',q.G.3f)}N{F!(1s q.$2j.1c(\'3f\')==\'1y\'||q.$2j.1c(\'3f\')===\'\')}}}},5E:C(){F{2O:C(){$(1l.31).1F($(\'<1i id="I-5E"><1j></1j></1i>\'));$(\'#I-5E\').oN()},3v:C(){$(\'#I-5E\').iM(oM,C(){$(q).1u()})}}},J:C(){F{1b:C(){q.2T=1l.4D();if(1l.4D&&q.2T.6l&&q.2T.7A){q.14=q.2T.6l(0)}N{q.14=1l.92()}},4l:C(){52{q.2T.8T()}51(e){}q.2T.4l(q.14)},3B:C(){E el=O;q.J.1b();if(q.2T&&q.2T.7A>0){el=q.2T.6l(0).ko}F q.L.4p(el)},67:C(4V){4V=4V||q.J.3B();if(4V){F q.L.4p($(4V).1r()[0])}F O},iG:C(){F 3l.4D().iI.oB},oz:C(){F 3l.4D().iI.oA},4a:C(Q){Q=Q||q.J.3B();56(Q){if(q.L.7J(Q.1p)){F($(Q).3i(\'I-T\'))?O:Q}Q=Q.e4}F O},e8:C(23,2d){q.J.1b();if(q.14&&q.14.53){F O}E 5U=[];23=(1s 23==\'1y\'||23===O)?q.J.6I():23;E 4N=q.G.4N;4N.2N(\'1j\');if(1s 2d!==\'1y\'){2B(E i=0;i<2d.12;i++){4N.2N(2d[i])}}$.1B(23,$.1d(C(i,Q){if($.3t(Q.1p.3e(),4N)!=-1){5U.2N(Q)}},q));F(5U.12===0)?O:5U},kq:C(2d){q.J.1b();if(q.14&&q.14.53){F O}E 5U=[];E 23=q.J.6I();$.1B(23,$.1d(C(i,Q){if($.3t(Q.1p.3e(),2d)!=-1){5U.2N(Q)}},q));F(5U.12===0)?O:5U},3X:C(23){q.J.1b();if(q.14&&q.14.53){F[q.J.4a()]}E 1Z=[];23=(1s 23==\'1y\')?q.J.6I():23;$.1B(23,$.1d(C(i,Q){if(q.L.6X(Q)){q.J.kI=Q;1Z.2N(Q)}},q));F(1Z.12===0)?[q.J.4a()]:1Z},kJ:C(){F q.J.kI},6I:C(){q.J.1b();E 78=q.J.ei(1);E 9J=q.J.ei(2);if(q.14.53===O){if(3l.4D){E 2T=3l.4D();if(2T.7A>0){E 14=2T.6l(0);E kf=14.ko,ef=14.ef;E 7F=14.7S();7F.43(O);7F.3L(9J);7F.2W(kf,ef);7F.43(1q);7F.3L(78);14.9I(78);14.ks(9J);2T.8T();2T.4l(14)}}}N{q.J.k0(q.14,78,1q);9J=78}E 23=[];E 9z=0;E 3u=q;q.$T.1h(\'*\').1B(C(){if(q==78){E 1r=$(q).1r();if(1r.12!==0&&1r[0].1p!=\'e6\'&&3u.L.4p(1r[0])){23.2N(1r[0])}23.2N(q);9z=1}N{if(9z>0){23.2N(q);9z=9z+1}}if(q==9J){F O}});E eb=[];E 2p=23.12;2B(E i=0;i<2p;i++){if(23[i].id!=\'23-2r-1\'&&23[i].id!=\'23-2r-2\'){eb.2N(23[i])}}q.J.kp();F eb},ei:C(6d){F $(\'<1j id="23-2r-\'+6d+\'" 1G="I-23-2r" 1f-3H="I">\'+q.G.6o+\'</1j>\')[0]},k0:C(14,Q,1m){E 14=14.7S();52{14.43(1m);14.3L(Q)}51(e){}},kp:C(){$(1l).1h(\'1j.I-23-2r\').1u();q.$T.1h(\'1j.I-23-2r\').1u()},nQ:C(2b,2h){q.1V.eh(2b,2h)},5Z:C(Y){q.J.1b();if(q.14.53)F O;E 4M=1l.3w(Y);4M.81(q.14.nT());q.14.3L(4M);F 4M},9g:C(Q){if(q.L.1P(\'4b\')){Q=Q[0]||Q;E 14=1l.92();14.9j(Q)}N{q.1V.1U(Q,0,Q,1)}},bd:C(){q.J.1b();q.14.9j(q.$T[0]);q.J.4l()},1u:C(){q.J.1b();q.2T.8T()},3o:C(){q.J.g2()},g2:C(){q.J.1b();E 5M=q.J.6Q(1);q.J.ed(q.14,5M,1q);if(q.14.53===O){E 9C=q.J.6Q(2);q.J.ed(q.14,9C,O)}q.eT=q.$T.B()},6Q:C(6d){if(1s 6d==\'1y\')6d=1;F $(\'<1j id="J-2r-\'+6d+\'" 1G="I-J-2r"  1f-3H="I">\'+q.G.6o+\'</1j>\')[0]},5a:C(6d){F q.L.6q(q.J.6Q(6d))},ed:C(14,Q,1m){14=14.7S();52{14.43(1m);14.3L(Q)}51(e){q.2n.2W()}},3d:C(){E 5M=q.$T.1h(\'1j#J-2r-1\');E 9C=q.$T.1h(\'1j#J-2r-2\');if(q.L.1P(\'4b\')){q.$T.2n()}if(5M.12!==0&&9C.12!==0){q.1V.1U(5M,0,9C,0)}N if(5M.12!==0){q.1V.1U(5M,0,5M,0)}N{q.$T.2n()}q.J.8p();q.eT=O},8p:C(){q.$T.1h(\'1j.I-J-2r\').1B(C(i,s){E 1g=$(s).1g().K(/\\6g/g,\'\');if(1g===\'\')$(s).1u();N $(s).2t(C(){F $(q).26()})})},e1:C(){q.J.1b();F q.2T.4y()},q5:C(){E B=\'\';q.J.1b();if(q.2T.7A){E dY=1l.3w(\'1i\');E 2p=q.2T.7A;2B(E i=0;i<2p;++i){dY.81(q.2T.6l(i).qN())}B=dY.3x}F q.1x.9R(B)},go:C(B){q.J.1b();q.14.55();E 1i=1l.3w("1i");1i.3x=B;E 4L=1l.9M(),4w;56((4w=1i.9N)){4L.81(4w)}q.14.3L(4L)},qE:C(B){B=q.J.5a(1)+B+q.J.5a(2);q.J.1b();if(3l.4D&&3l.4D().6l){q.J.go(B)}N if(1l.J&&1l.J.92){q.14.gw(B)}q.J.3d();q.1e.1S()}}},6m:C(){F{3Q:C(e,1k){if(!q.G.6m){if((e.9u||e.6J)&&(1k===66||1k===73))e.2w();F O}$.1B(q.G.6m,$.1d(C(5f,4A){E 4X=5f.4o(\',\');E 2p=4X.12;2B(E i=0;i<2p;i++){if(1s 4X[i]===\'6Z\'){q.6m.7N(e,$.3k(4X[i]),$.1d(C(){E 1C;if(4A.1C.3N(/\\./)!=\'-1\'){1C=4A.1C.4o(\'.\');if(1s q[1C[0]]!=\'1y\'){q[1C[0]][1C[1]].9E(q,4A.6p)}}N{q[4A.1C].9E(q,4A.6p)}},q))}}},q))},7N:C(e,4X,fq){E g5={8:"pS",9:"5I",10:"F",13:"F",16:"6E",17:"48",18:"80",19:"pB",20:"pA",27:"py",32:"3g",33:"pE",34:"pF",35:"2h",36:"lb",37:"2c",38:"ls",39:"4s",40:"l8",45:"1Y",46:"4h",59:";",61:"=",96:"0",97:"1",98:"2",99:"3",88:"4",mN:"5",mS:"6",mT:"7",ln:"8",le:"9",mP:"*",lY:"+",me:"-",md:".",m4:"/",lV:"f1",mJ:"f2",q1:"f3",mD:"f4",pN:"f5",pa:"f6",p9:"f7",p3:"f8",ps:"f9",pk:"pZ",qD:"qF",qA:"qu",qw:"qx",qz:"6b",qS:"-",qR:";",qJ:"=",q9:",",q8:"-",qo:".",ql:"/",qh:"`",e5:"[",nG:"\\\\",ek:"]",nF:"\'"};E e9={"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"nM","=":"+",";":": ","\'":"\\"",",":"<",".":">","/":"?","\\\\":"|"};4X=4X.3e().4o(" ");E bu=g5[e.3j],9h=6f.nW(e.7U).3e(),86="",7j={};$.1B(["80","48","5h","6E"],C(68,bz){if(e[bz+\'nX\']&&bu!==bz){86+=bz+\'+\'}});if(bu)7j[86+bu]=1q;if(9h){7j[86+9h]=1q;7j[86+e9[9h]]=1q;if(86==="6E+"){7j[e9[9h]]=1q}}2B(E i=0,2p=4X.12;i<2p;i++){if(7j[4X[i]]){e.2w();F fq.9E(q,fA)}}}}},2H:C(){F{1b:C(1e){if(!q.G.2H)F 1e;E dZ=[\'fx\',\'31\',\'e0\',\'hr\',\'i?n9\',\'V\',\'5h\',\'n5\',\'1o\',\'3V\',\'3W\',\'ee\',\'e7\',\'e3\'];E e2=[\'li\',\'dt\',\'dt\',\'h[1-6]\',\'42\',\'3V\'];E 8H=[\'p\',\'29\',\'1i\',\'dl\',\'iT\',\'64\',\'oV\',\'iA\',\'ol\',\'2F\',\'7z\',\'2Y\',\'5P\',\'6O\',\'3p\'];q.2H.jE=2a 2l(\'^<(/?\'+dZ.3c(\'|/?\')+\'|\'+e2.3c(\'|\')+\')[ >]\');q.2H.j8=2a 2l(\'^<(br|/?\'+dZ.3c(\'|/?\')+\'|/\'+e2.3c(\'|/\')+\')[ >]\');q.2H.8H=2a 2l(\'^</?(\'+8H.3c(\'|\')+\')[ >]\');E i=0,bl=1e.12,3S=0,2b=4e,2h=4e,Y=\'\',2m=\'\',5b=\'\';q.2H.8L=0;2B(;i<bl;i++){3S=i;if(-1==1e.4x(i).4Q(\'<\')){2m+=1e.4x(i);F q.2H.eg(2m)}56(3S<bl&&1e.6a(3S)!=\'<\'){3S++}if(i!=3S){5b=1e.4x(i,3S-i);if(!5b.1T(/^\\s{2,}$/g)){if(\'\\n\'==2m.6a(2m.12-1))2m+=q.2H.7r();N if(\'\\n\'==5b.6a(0)){2m+=\'\\n\'+q.2H.7r();5b=5b.K(/^\\s+/,\'\')}2m+=5b}if(5b.1T(/\\n/))2m+=\'\\n\'+q.2H.7r()}2b=3S;56(3S<bl&&\'>\'!=1e.6a(3S)){3S++}Y=1e.4x(2b,3S-2b);i=3S;E t;if(\'!--\'==Y.4x(1,3)){if(!Y.1T(/--$/)){56(\'-->\'!=1e.4x(3S,3)){3S++}3S+=2;Y=1e.4x(2b,3S-2b);i=3S}if(\'\\n\'!=2m.6a(2m.12-1))2m+=\'\\n\';2m+=q.2H.7r();2m+=Y+\'>\\n\'}N if(\'!\'==Y[1]){2m=q.2H.bD(Y+\'>\',2m)}N if(\'?\'==Y[1]){2m+=Y+\'>\\n\'}N if(t=Y.1T(/^<(3V|1o|2F)/i)){t[1]=t[1].3e();Y=q.2H.ec(Y);2m=q.2H.bD(Y,2m);2h=6f(1e.4x(i+1)).3e().4Q(\'</\'+t[1]);if(2h){5b=1e.4x(i+1,2h);i+=2h;2m+=5b}}N{Y=q.2H.ec(Y);2m=q.2H.bD(Y,2m)}}F q.2H.eg(2m)},7r:C(){E s=\'\';2B(E j=0;j<q.2H.8L;j++){s+=\'\\t\'}F s},eg:C(1e){1e=1e.K(/\\n\\s*\\n/g,\'\\n\');1e=1e.K(/^[\\s\\n]*/,\'\');1e=1e.K(/[\\s\\n]*$/,\'\');1e=1e.K(/<3V(.*?)>\\n<\\/3V>/gi,\'<3V$1></3V>\');q.2H.8L=0;F 1e},ec:C(Y){E 8E=\'\';Y=Y.K(/\\n/g,\' \');Y=Y.K(/\\s{2,}/g,\' \');Y=Y.K(/^\\s+|\\s+$/g,\' \');E ea=\'\';if(Y.1T(/\\/$/)){ea=\'/\';Y=Y.K(/\\/+$/,\'\')}E m;56(m=/\\s*([^= ]+)(?:=(([\'"\']).*?\\3|[^ ]+))?/.5j(Y)){if(m[2])8E+=m[1].3e()+\'=\'+m[2];N if(m[1])8E+=m[1].3e();8E+=\' \';Y=Y.4x(m[0].12)}F 8E.K(/\\s*$/,\'\')+ea+\'>\'},bD:C(Y,2m){E nl=Y.1T(q.2H.8H);if(Y.1T(q.2H.jE)||nl){2m=2m.K(/\\s*$/,\'\');2m+=\'\\n\'}if(nl&&\'/\'==Y.6a(1))q.2H.8L--;if(\'\\n\'==2m.6a(2m.12-1))2m+=q.2H.7r();if(nl&&\'/\'!=Y.6a(1))q.2H.8L++;2m+=Y;if(Y.1T(q.2H.j8)||Y.1T(q.2H.8H)){2m=2m.K(/ *$/,\'\')}F 2m}}},1I:C(){F{ja:C(){if(q.G.4z)q.G.4c=O;if(q.G.4T)q.G.1K=O;if(q.G.1M)F;E 2d=[\'p\',\'49\'];if(q.G.4z)q.1I.jd(2d);if(q.G.4c)q.1I.jg(2d)},jd:C(2d){E 2p=2d.12;2B(E i=0;i<2p;i++){if($.3t(2d[i],q.G.4z)==-1){q.G.4z.2N(2d[i])}}},jg:C(2d){E 2p=2d.12;2B(E i=0;i<2p;i++){E 3s=$.3t(2d[i],q.G.4c);if(3s!=-1){q.G.4c.bi(3s,1)}}},2R:C(B,44){q.1I.2D={4c:q.G.4c,4z:q.G.4z,6G:q.G.6G,5B:q.G.5B,5A:q.G.5A,5y:q.G.5y,1K:q.G.1K,4T:q.G.4T,6L:q.G.6L,4f:q.G.4f};$.7E(q.1I.2D,44);B=q.1I.6G(B);q.1I.$1i=$(\'<1i />\').1F(B);q.1I.5B();q.1I.5A();q.1I.ji();q.1I.1K();q.1I.4f();q.1I.j5();q.1I.5y();q.1I.6L();B=q.1I.$1i.B();q.1I.$1i.1u();F B},6G:C(B){if(!q.1I.2D.6G)F B;F B.K(/<!--[\\s\\S]*?-->/gi,\'\')},5B:C(B){if(!q.1I.2D.5B)F B;E 2p=q.1I.2D.5B.12;E 5F=[],dB=[];2B(E i=0;i<2p;i++){dB.2N(q.1I.2D.5B[i][1]);5F.2N(q.1I.2D.5B[i][0])}$.1B(5F,$.1d(C(1k,1E){q.1I.$1i.1h(1E).2t(C(){F $("<"+dB[1k]+" />",{B:$(q).B()})})},q))},5A:C(){if(!q.1I.2D.5A)F;E 2p=q.1I.2D.5A.12;q.1I.$1i.1h(\'1j\').1B($.1d(C(n,s){E $el=$(s);E 1o=$el.1c(\'1o\');2B(E i=0;i<2p;i++){if(1o&&1o.1T(2a 2l(\'^\'+q.1I.2D.5A[i][0],\'i\'))){E 1p=q.1I.2D.5A[i][1];$el.2t(C(){E Y=1l.3w(1p);F $(Y).1F($(q).26())})}}},q))},ji:C(){if(!q.1I.2D.4c&&q.1I.2D.4z){q.1I.$1i.1h(\'*\').6h(q.1I.2D.4z.3c(\',\')).1B(C(i,s){if(s.3x===\'\')$(s).1u();N $(s).26().3Y()})}if(q.1I.2D.4c){q.1I.$1i.1h(q.1I.2D.4c.3c(\',\')).1B(C(i,s){if($(s).3i(\'I-3V-Y\')||$(s).3i(\'I-J-2r\'))F;if(s.3x===\'\')$(s).1u();N $(s).26().3Y()})}},1K:C(){E 2p;if(!q.1I.2D.1K&&q.1I.2D.4T){E ce=[],cd=[];2p=q.1I.2D.4T.12;2B(E i=0;i<2p;i++){ce.2N(q.1I.2D.4T[i][0]);cd.2N(q.1I.2D.4T[i][1])}q.1I.$1i.1h(\'*\').1B($.1d(C(n,s){E $el=$(s);E 3s=$.3t($el[0].1p.3e(),ce);E 5D=q.1I.jn(3s,cd,$el);if(5D){$.1B(5D,C(z,f){$el.1K(f)})}},q))}if(q.1I.2D.1K){2p=q.1I.2D.1K.12;2B(E i=0;i<2p;i++){E 8j=q.1I.2D.1K[i][1];if($.bc(8j))8j=8j.3c(\' \');q.1I.$1i.1h(q.1I.2D.1K[i][0]).1K(8j)}}},jn:C(3s,5J,$el){E 5D=[];if(3s==-1){$.1B($el[0].4u,C(i,2x){5D.2N(2x.1w)})}N if(5J[3s]==\'*\'){5D=[]}N{$.1B($el[0].4u,C(i,2x){if($.bc(5J[3s])){if($.3t(2x.1w,5J[3s])==-1){5D.2N(2x.1w)}}N if(5J[3s]!=2x.1w){5D.2N(2x.1w)}})}F 5D},j3:C(el,bv){bv=2a 2l(bv,"g");F el.1B(C(){E 3u=$(q);E 2p=q.4u.12-1;2B(E i=2p;i>=0;i--){E 2x=q.4u[i];if(2x&&2x.oj&&2x.1w.3N(bv)>=0){3u.1K(2x.1w)}}})},4f:C(){if(!q.1I.2D.4f)F;q.1I.$1i.1h(q.1I.2D.4f.3c(\',\')).1B(C(){E $el=$(q);E 1g=$el.1g();1g=1g.K(/\\6g/g,\'\');1g=1g.K(/&5s;/gi,\'\');1g=1g.K(/\\s/g,\'\');if(1g===\'\'&&$el.3O().12===0){$el.1u()}})},j5:C(){q.1I.$1i.1h(\'li p\').26().3Y()},5y:C(){if(!q.1I.2D.5y)F;E 2d=q.1I.2D.5y;if($.bc(q.1I.2D.5y))2d=q.1I.2D.5y.3c(\',\');q.1I.j3(q.1I.$1i.1h(2d),\'^(1f-)\')},6L:C(){if(!q.1I.2D.6L)F;q.1I.$1i.1h(q.1I.2D.6L.3c(\',\')).1B(C(){if(q.4u.12===0){$(q).26().3Y()}})}}},1A:C(){F{3Q:C(){F{B:{1J:q.1H.1b(\'B\'),1C:\'1e.3m\'},3a:{1J:q.1H.1b(\'3a\'),1n:{p:{1J:q.1H.1b(\'j2\'),1C:\'R.30\'},29:{1J:q.1H.1b(\'ci\'),1C:\'R.30\'},2F:{1J:q.1H.1b(\'1e\'),1C:\'R.30\'},h1:{1J:q.1H.1b(\'jb\'),1C:\'R.30\'},h2:{1J:q.1H.1b(\'jH\'),1C:\'R.30\'},h3:{1J:q.1H.1b(\'jI\'),1C:\'R.30\'},h4:{1J:q.1H.1b(\'jM\'),1C:\'R.30\'},h5:{1J:q.1H.1b(\'jD\'),1C:\'R.30\'}}},4n:{1J:q.1H.1b(\'4n\'),1C:\'28.30\'},4m:{1J:q.1H.1b(\'4m\'),1C:\'28.30\'},5Y:{1J:q.1H.1b(\'5Y\'),1C:\'28.30\'},5x:{1J:q.1H.1b(\'5x\'),1C:\'28.30\'},5m:{1J:\'&o6; \'+q.1H.1b(\'5m\'),1C:\'2e.3m\'},5z:{1J:\'1. \'+q.1H.1b(\'5z\'),1C:\'2e.3m\'},7p:{1J:\'< \'+q.1H.1b(\'7p\'),1C:\'3y.95\'},3y:{1J:\'> \'+q.1H.1b(\'3y\'),1C:\'3y.bo\'},M:{1J:q.1H.1b(\'M\'),1C:\'M.2O\'},22:{1J:q.1H.1b(\'22\'),1C:\'22.2O\'},V:{1J:q.1H.1b(\'V\'),1n:{V:{1J:q.1H.1b(\'ba\'),1C:\'V.2O\',1R:{2j:\'a\',in:{1J:q.1H.1b(\'ca\'),},2m:{1J:q.1H.1b(\'ba\')}}},6P:{1J:q.1H.1b(\'6P\'),1C:\'V.6P\',1R:{2j:\'a\',2m:{1c:{\'1G\':\'I-1n-V-c9\',\'4K-7o\':1q}}}}}},3b:{1J:q.1H.1b(\'3b\'),1n:{2c:{1J:q.1H.1b(\'jt\'),1C:\'3b.2c\'},5u:{1J:q.1H.1b(\'jx\'),1C:\'3b.5u\'},4s:{1J:q.1H.1b(\'jB\'),1C:\'3b.4s\'},9d:{1J:q.1H.1b(\'jA\'),1C:\'3b.9d\'}}},b3:{1J:q.1H.1b(\'b3\'),1C:\'3K.1Y\'}}},2o:C(){q.1A.iV();q.1A.iN();q.1A.iU();if(q.G.4i.12===0)F;q.$1A=q.1A.ir();q.1A.iQ();q.1A.1F();q.1A.i5();q.1A.ia();q.1A.iz();if(q.G.b5){q.$T.on(\'iZ.I 2s.I 2n.I\',$.1d(q.1R.1A,q))}},ir:C(){F $(\'<3p>\').2f(\'I-1A\').1c({\'id\':\'I-1A-\'+q.2G,\'9c\':\'1A\'})},i5:C(){$.1B(q.G.1A.3a.1n,$.1d(C(i,s){if($.3t(i,q.G.3a)==-1)83 q.G.1A.3a.1n[i]},q))},ia:C(){$.1B(q.G.4i,$.1d(C(i,2g){if(!q.G.1A[2g])F;if(2g===\'22\'){if(q.G.76===O)F;N if(!q.G.76&&q.G.7V===O)F}if(2g===\'M\'){if(q.G.75===O)F;N if(!q.G.75&&q.G.7V===O)F}E 2X=q.G.1A[2g];q.$1A.1F($(\'<li>\').1F(q.1t.2o(2g,2X)))},q))},1F:C(){if(q.G.bf){q.$1A.2f(\'I-1A-oT\');$(q.G.bf).B(q.$1A)}N{q.$2Q.6t(q.$1A)}},iz:C(){if(!q.L.7b())F;if(q.G.bf)F;if(!q.G.iS)F;q.1A.cp();$(q.G.6y).on(\'6b.I.\'+q.2G,$.1d(q.1A.cp,q))},iQ:C(){if(q.L.6M()&&q.G.iO){q.$1A.2f(\'I-1A-bI\')}},iU:C(){if(q.G.4E)F;E 68=q.G.4i.4Q(\'B\');if(68!==-1){q.G.4i.bi(68,1)}},iV:C(){if(q.G.cw.12===0)F;$.1B(q.G.cw,$.1d(C(i,s){E 68=q.G.4i.4Q(s);q.G.4i.bi(68,1)},q))},iN:C(){if(!q.L.6M()||q.G.cv.12===0)F;$.1B(q.G.cv,$.1d(C(i,s){E 68=q.G.4i.4Q(s);q.G.4i.bi(68,1)},q))},cp:C(){E 3U=$(q.G.6y).3U();E 6C=1;if(q.G.6y===1l){6C=q.$2Q.2I().2U}if((3U+q.G.6z)>6C){q.1A.iD(3U,6C)}N{q.1A.iC()}},iD:C(3U,6C){E 2U=q.G.6z+3U-6C;E 2c=0;E 2h=6C+q.$2Q.3n()-32;E 2J=q.$2Q.7P();q.$1A.2f(\'1A-82-2Q\');q.$1A.1O({4g:\'8u\',2J:2J,2U:2U+\'px\',2c:2c});if(3U>2h)$(\'.I-1n-\'+q.2G+\':c2\').3v();q.1A.iJ();q.$1A.1O(\'iH\',(3U<2h)?\'c2\':\'k4\')},iC:C(){q.$1A.1O({4g:\'oC\',2J:\'bj\',2U:0,2c:0,iH:\'c2\'});q.1A.jO();q.$1A.2S(\'1A-82-2Q\')},iJ:C(){E 2U=q.$1A.6c()+q.G.6z;E 4g=\'82\';if(q.G.6y!==1l){2U=(q.$1A.6c()+q.$1A.2I().2U)+q.G.6z;4g=\'8u\'}$(\'.I-1n-\'+q.2G).1B(C(){$(q).1O({4g:4g,2U:2U+\'px\'})})},jO:C(){E 2U=(q.$1A.6c()+q.$1A.2I().2U);$(\'.I-1n-\'+q.2G).1B(C(){$(q).1O({4g:\'8u\',2U:2U+\'px\'})})}}},1v:C(){F{3Q:C(id,2i,2A){q.1v.4Y=O;q.1v.2A=2A;q.1v.2i=2i;q.1v.$el=$(id);q.1v.$4d=$(\'<1i id="I-4d" />\');q.1v.$cE=$(\'<1i id="I-4d-3f" />\').1g(q.1H.1b(\'kD\'));q.1v.$3D=$(\'<3D 1m="22" 1w="22" />\');q.1v.$cE.1F(q.1v.$3D);q.1v.$4d.1F(q.1v.$cE);q.1v.$el.1F(q.1v.$4d);q.1v.$4d.3h(\'I.1v\');q.1v.$3D.3h(\'I.1v\');q.1v.$4d.on(\'oL.I.1v\',$.1d(q.1v.bn,q));q.1v.$4d.on(\'oK.I.1v\',$.1d(q.1v.k6,q));q.1v.$3D.on(\'kR.I.1v\',$.1d(C(e){e=e.7T||e;q.1v.b9(q.1v.$3D[0].5R[0],e)},q));q.1v.$4d.on(\'57.I.1v\',$.1d(C(e){e.2w();q.1v.$4d.2S(\'7k-c0\').2f(\'7k-57\');q.1v.bs(e)},q))},kQ:C(22,e){q.1v.4Y=1q;q.1v.b9(22,e)},bs:C(e){e=e.7T||e;E 5R=e.bG.5R;q.1v.b9(5R[0],e)},b9:C(22,e){if(q.G.7V){q.1v.bL(22);q.1v.kr(22);F}E 4q=!!3l.b6?2a b6():4e;if(3l.b6){q.1v.bL(22);E 1w=(q.1v.1m==\'M\')?q.G.k1:q.G.k2;4q.1F(1w,22)}q.5E.2O();q.1X.2u(\'o1\',e,4q);q.1v.ky(4q,e)},bL:C(22){q.1v.k8(22);if(q.1v.4Y){q.1v.2i=(q.1v.1m==\'M\')?q.G.75:q.G.76;q.1v.2A=(q.1v.1m==\'M\')?q.M.1Y:q.22.1Y}},k8:C(22){q.1v.1m=\'M\';if(q.G.kb.4Q(22.1m)==-1){q.1v.1m=\'22\'}},6V:C(7H,fd){if(7H===O||1s 7H!==\'41\')F fd;$.1B(7H,$.1d(C(k,v){if(v!==4e&&v.4y().4Q(\'#\')===0)v=$(v).2K();fd.1F(k,v)},q));F fd},ky:C(4q,e){if(q.1v.1m==\'M\'){4q=q.1v.6V(q.G.nq,4q);4q=q.1v.6V(q.1v.b7,4q)}N{4q=q.1v.6V(q.G.nr,4q);4q=q.1v.6V(q.1v.bC,4q)}E 2M=2a bq();2M.bw(\'ns\',q.1v.2i);2M.cF("X-n7-n8","bq");2M.fu=$.1d(C(){if(2M.bS==4){E 1f=2M.fr;1f=1f.K(/^\\[/,\'\');1f=1f.K(/\\]$/,\'\');E 2P;52{2P=(1s 1f===\'6Z\'?$.jY(1f):1f)}51(n6){2P={6U:1q}}q.5E.3v();if(!q.1v.4Y){q.1v.$4d.2S(\'7k-57\')}q.1v.2A(2P,q.1v.4Y,e)}},q);2M.dk(4q)},bn:C(e){e.2w();q.1v.$4d.2f(\'7k-c0\')},k6:C(e){e.2w();q.1v.$4d.2S(\'7k-c0\')},nf:C(){q.1v.b7={}},ne:C(1w,1E){q.1v.b7[1w]=1E},nd:C(1w){83 q.1v.b7[1w]},nc:C(){q.1v.bC={}},nw:C(1w,1E){q.1v.bC[1w]=1E},nx:C(1w){83 q.1v.bC[1w]},kr:C(22){q.1v.fz(22,$.1d(C(kw){q.1v.g4(22,kw)},q))},fz:C(22,2A){E 2M=2a bq();E 6A=\'?\';if(q.G.7V.3N(/\\?/)!=\'-1\')6A=\'&\';2M.bw(\'nR\',q.G.7V+6A+\'1w=\'+22.1w+\'&1m=\'+22.1m,1q);if(2M.fy)2M.fy(\'1g/nS; nP=x-nN-nO\');E fi=q;2M.fu=C(e){if(q.bS==4&&q.dv==bt){fi.5E.2O();2A(fl(q.fr))}N if(q.bS==4&&q.dv!=bt){}};2M.dk()},g3:C(bx,2i){E 2M=2a bq();if("nY"in 2M){2M.bw(bx,2i,1q)}N if(1s fX!="1y"){2M=2a fX();2M.bw(bx,2i)}N{2M=4e}F 2M},g4:C(22,2i){E 2M=q.1v.g3(\'nL\',2i);if(!2M){}N{2M.nD=$.1d(C(){if(2M.dv==bt){q.5E.3v();E bA=2i.4o(\'?\');if(!bA[0]){F O}if(!q.1v.4Y){q.1v.$4d.2S(\'7k-57\')}E 2P={9b:bA[0]};if(q.1v.1m==\'22\'){E 2C=bA[0].4o(\'/\');2P.6k=2C[2C.12-1]}q.1v.2A(2P,q.1v.4Y,O)}N{}},q);2M.nK=C(){};2M.1v.nJ=C(e){};2M.cF(\'p0-p1\',22.1m);2M.cF(\'x-qg-qm\',\'qq-qp\');2M.dk(22)}}}},L:C(){F{6M:C(){F/(eQ|eH|eO|ht)/.bE(b8.bb)},7b:C(){F!/(eQ|eH|q3|eO|ht)/.bE(b8.bb)},q0:C(7H){F g8.5w.4y.6e(7H)==\'[41 6f]\'},3z:C(B,he){B=B.K(/[\\6g-\\q7\\qb]/g,\'\');B=B.K(/&5s;/gi,\'\');B=B.K(/<\\/?br\\s?\\/?>/g,\'\');B=B.K(/\\s/g,\'\');B=B.K(/^<p>[^\\W\\w\\D\\d]*?<\\/p>$/i,\'\');B=B.K(/<4R(.*?[^>])>$/i,\'4R\');B=B.K(/<4E(.*?[^>])>$/i,\'4E\');if(he!==O){B=B.K(/<[^\\/>][^>]*><\\/[^>]+>/gi,\'\');B=B.K(/<[^\\/>][^>]*><\\/[^>]+>/gi,\'\')}B=$.3k(B);F B===\'\'},dr:C(5f){if(1s(5f)===\'1y\')F 0;F 5L(5f.K(\'px\',\'\'),10)},n2:C(6H){if(1s 6H==\'1y\')F;if(6H.3N(/^#/)==-1)F 6H;E hm=/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;6H=6H.K(hm,C(m,r,g,b){F r+r+g+g+b+b});E bg=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.5j(6H);F\'qQ(\'+5L(bg[1],16)+\', \'+5L(bg[2],16)+\', \'+5L(bg[3],16)+\')\'},6q:C(el){F $(\'<1i>\').1F($(el).eq(0).8O()).B()},bh:C(el){if($.3t(el.1p,q.G.8F)!==-1){F $(el)}N{F $(el).2q(q.G.8F.4y().3e(),q.$T[0])}},5r:C(el,1c){E $el=$(el);if(1s $el.1c(1c)==\'1y\'){F 1q}if($el.1c(1c)===\'\'){$el.1K(1c);F 1q}F O},4f:C(i,s){E $s=$($.dQ(s));$s.1h(\'.I-7s-3g\').1K(\'1o\').1K(\'1G\');if($s.1h(\'hr, br, 1L, 4R, 4E\').12!==0)F;E 1g=$.3k($s.1g());if(q.L.3z(1g,O)){$s.1u()}},8z:C(){q.gs=q.$T.3U();q.bm=$(3l).3U();if(q.G.9p)q.gq=$(q.G.9p).3U()},bk:C(){if(1s q.8z===\'1y\'&&1s q.bm===\'1y\')F;$(3l).3U(q.bm);q.$T.3U(q.gs);if(q.G.9p)$(q.G.9p).3U(q.gq)},bH:C(){E 3g=1l.3w(\'1j\');3g.3E=\'I-7s-3g\';3g.3x=q.G.6o;F 3g},4Z:C(Q){E 2d=q.G.4N;2d.2N(\'1j\');if(Q.1p==\'8o\')2d.2N(\'a\');$(Q).1h(2d.3c(\',\')).6h(\'1j.I-J-2r\').26().3Y()},6i:C(Q,4Z){E 3u=q;$(Q).2t(C(){if(4Z===1q)3u.L.4Z(q);F $(q).26()});F $(Q)},4I:C(Q,Y,4Z){E 5F;E 3u=q;$(Q).2t(C(){5F=$(\'<\'+Y+\' />\').1F($(q).26());2B(E i=0;i<q.4u.12;i++){5F.1c(q.4u[i].1w,q.4u[i].1E)}if(4Z===1q)3u.L.4Z(5F);F 5F});F 5F},gp:C(){E R=q.J.4a();if(!R)F O;E 2I=q.1V.b4(R);F(2I===0)?1q:O},6T:C(2j){if(1s 2j==\'1y\'){E 2j=q.J.4a();if(!2j)F O}E 2I=q.1V.b4(2j);E 1g=$.3k($(2j).1g()).K(/\\n\\r\\n/g,\'\');F(2I==1g.12)?1q:O},dN:C(){E R=q.$T[0];E 2I=q.1V.b4(R);E 1g=$.3k($(R).B().K(/(<([^>]+)>)/gi,\'\'));F(2I==1g.12)?1q:O},6X:C(R){R=R[0]||R;F R&&q.L.7J(R.1p)},7J:C(Y){if(1s Y==\'1y\')F O;F q.gm.bE(Y)},bB:C(1z,Y){E 2j=$(1z).2q(Y,q.$T[0]);if(2j.12==1){F 2j[0]}F O},9w:C(){F q.bd},gW:C(){q.bd=1q},8U:C(){q.bd=O},4p:C(el){if(!el){F O}if($(el).dL(\'.I-T\').12===0||$(el).3i(\'I-T\')){F O}F el},h8:C(){F q.L.4S([\'dK\',\'di\',\'cS\',\'cR\',\'cI\',\'cH\'])},4S:C(1p){E 1r=q.J.67();E 1z=q.J.3B();if($.bc(1p)){E cJ=0;$.1B(1p,$.1d(C(i,s){if(q.L.cM(1z,1r,s)){cJ++}},q));F(cJ===0)?O:1q}N{F q.L.cM(1z,1r,1p)}},cM:C(1z,1r,1p){1p=1p.lF();F 1r&&1r.1p===1p?1r:1z&&1z.1p===1p?1z:O},lG:C(){F(q.L.1P(\'2E\')&&5L(q.L.1P(\'bp\'),10)<9)?1q:O},lJ:C(){F(q.L.1P(\'2E\')&&5L(q.L.1P(\'bp\'),10)<10)?1q:O},gj:C(){F!!b8.bb.1T(/lB\\/7\\./)},1P:C(1P){E 4U=b8.bb.3e();E 1T=/(de)[\\/]([\\w.]+)/.5j(4U)||/(hw)[ \\/]([\\w.]+)/.5j(4U)||/(7q)[ \\/]([\\w.]+).*(db)[ \\/]([\\w.]+)/.5j(4U)||/(7q)[ \\/]([\\w.]+)/.5j(4U)||/(kX)(?:.*bp|)[ \\/]([\\w.]+)/.5j(4U)||/(2E) ([\\w.]+)/.5j(4U)||4U.4Q("l3")>=0&&/(dc)(?::| )([\\w.]+)/.5j(4U)||4U.4Q("kZ")<0&&/(4b)(?:.*? dc:([\\w.]+)|)/.5j(4U)||[];if(1P==\'db\')F(1s 1T[3]!=\'1y\')?1T[3]==\'db\':O;if(1P==\'bp\')F 1T[2];if(1P==\'7q\')F(1T[1]==\'hw\'||1T[1]==\'de\'||1T[1]==\'7q\');if(1T[1]==\'dc\')F 1P==\'2E\';if(1T[1]==\'de\')F 1P==\'7q\';F 1P==1T[1]},bF:C(ev,es,2I){E i=ev.4Q(es,2I);F i>=0?i:O},d8:C(){E $31=$(\'B\');E 7u=3l.7P;if(!7u){E cZ=1l.lk.lp();7u=cZ.4s-8d.mO(cZ.2c)}E kP=1l.31.kC<7u;E by=q.L.kv();$31.1O(\'bI\',\'k4\');if(kP)$31.1O(\'hh-4s\',by)},kv:C(){E $31=$(\'31\');E 7G=1l.3w(\'1i\');7G.3E=\'I-hf-j0\';$31.1F(7G);E by=7G.m8-7G.kC;$31[0].m6(7G);F by},bJ:C(){$(\'B\').1O({\'bI\':\'\',\'hh-4s\':\'\'});$(\'31\').1u(\'I-hf-j0\')}}}};$(3l).on(\'2R.eN.I\',C(){$(\'[1f-eN="I"]\').I()});47.5w.3Q.5w=47.5w})(o7);',62,1669,'||||||||||||||||||||||||||this|||||||||||html|function||var|return|opts||redactor|selection|replace|utils|image|else|false||node|block||editor||link|||tag||||length||range||||||modal|get|attr|proxy|code|data|text|find|div|span|key|document|type|dropdown|style|tagName|true|parent|typeof|button|remove|upload|name|clean|undefined|current|toolbar|each|func|keydown|value|append|class|lang|tidy|title|removeAttr|img|linebreaks|next|css|browser|target|observe|sync|match|set|caret|formatted|core|insert|blocks||btn|file|nodes||buffer|contents||inline|blockquote|new|start|left|tags|list|addClass|btnName|end|url|element|href|RegExp|out|focus|build|len|closest|marker|keyup|replaceWith|setCallback|textarea|preventDefault|item|click|linkify|callback|for|arr|settings|msie|pre|uuid|tabifier|offset|width|val|label|xhr|push|show|json|box|load|removeClass|sel|top|paragraphize|setStart|btnObject|td|last|format|body|||||||||formatting|alignment|join|restore|toLowerCase|placeholder|space|off|hasClass|keyCode|trim|window|toggle|height|save|ul|tooltip|autosave|pos|inArray|self|hide|createElement|innerHTML|indent|isEmpty|setTimeout|getCurrent|CodeMirror|input|className|after|imageBox|verified|first|re|line|insertNode|matches|search|children|setEnd|init|font|point|rel|scrollTop|script|table|getBlocks|unwrap|execCommand||object|option|collapse|options|||Redactor|ctrl|section|getBlock|mozilla|deniedTags|droparea|null|removeEmpty|position|del|buttons|close|resizeHandle|addRange|italic|bold|split|isRedactorParent|formData|clearUnverified|right|src|attributes|regexps|child|substr|toString|allowedTags|command|margin|blockElem|getSelection|source|modalBox|prev|cmd|replaceToTag|resize|aria|frag|wrapper|inlineTags|htmls|orgn|indexOf|iframe|isCurrentOrParent|allowedAttr|ua|elem|arrow|keys|direct|removeInlineTags||catch|try|collapsed|setAfter|deleteContents|while|drop|BR||getMarkerAsHtml|cont|linkProtocol|contenteditable|pasteBox|str|align|meta|strong|exec|isFunction|editter|unorderedlist|links|https|none|tmp|removeEmptyAttr|nbsp|br1|center|LI|prototype|underline|removeDataAttr|orderedlist|replaceStyles|replaceTags|paste|attributesRemove|progress|replacement|toggleType|touchstart|tab|allowed|lastNode|parseInt|node1|quot|nodeValue|th|replaceDivs|files|emptyHtml|lastList|inlines|currentList|currentLevel|methods|deleted|wrap|||templateName|marginTop|form|||getParent|index|containerTag|charAt|scroll|innerHeight|num|call|String|u200B|not|replaceWithContents|prop|filename|getRangeAt|shortcuts|break|invisibleSpace|params|getOuterHtml|visual|shiftKey|prepend|instance|preSpaces|SPAN|insertBreakLine|toolbarFixedTarget|toolbarFixedTopOffset|mark|Insert|boxTop|module|shift|TD|removeComments|hex|getNodes|metaKey|figure|removeWithoutAttr|isMobile|display|tr|unlink|getMarker|mousedown|tabindex|isEndOfElement|error|getHiddenFields|editorDiv|isBlock|video|string|ENTER|vimeo|youtube||modalOverlay|imageUpload|fileUpload|focn|startNode|dropdowns|decoration|isDesktop|strike|posFromIndex|endRange|float|getEvent|level|embed|possible|drag|sub|parHtml|www|disabled|outdent|webkit|getTabs|invisible|z0|windowWidth|outerHTML|blocksSize|keyPosition|dropact|select|rangeCount|rtePaste|hideAll|pattern|extend|boundaryRange|scrollDiv|obj|weight|isBlockTag|_blank|edit|action|handler|toggleClass|innerWidth|sup|setVerified|cloneRange|originalEvent|which|s3|hideResize|listParent|figcaption|blank|alt|appendChild|fixed|delete|BACKSPACE|tmpList|modif|header|100|DIV|imageResizer|tagblock|tmpLi|Math|event|resizer|setClass|blurClickedElement|setMode|attrs|items|returnValue|inserted|codemirror|PRE|removeMarkers|blockLevelElements|plugins|http|linkmarker|absolute|focusNode|Delete|imageFloatMargin|onPaste|saveScroll|act|classSize|replaceParagraphsToBr|UL|tagout|alignmentTags|targetTouches|newLevel|isRemoveInline|param|ftp|cleanlevel|clear|OL|clone|imageMargin|DELETE|icon|cite|removeAllRanges|disableSelectAll|lastLevel|createTextNode|modalClose|audio|active|||createRange|convertVideoLinks|tabber|decrease|||||closeHandler|filelink|role|justify|modalHeader|small|selectElement|character|modalFooter|selectNodeContents|rebuffer|undo|autosaveInterval|inputUrl|amp|scrollTarget|setActive|Add|addProperties|events|ctrlKey|isMobileUndoRedo|isSelectAll|insertDblBreakLine|exceptTags|counter||size|node2|singleLine|apply|Array|case|Header|setStartAfter|endNode|addEvent|methodVal|createDocumentFragment|firstChild|autosaveFields|isContainerTable|enable|onSync|formatblock|x200b|replaceToParagraph|eventName|parentA|blockHtml|tabAsSpaces|u00a0|checked|re2|convertLinks|editorHtml|selectionMarkers|com|before|SPACE|nodeType|redo|isTextarea|marginRight|onClick|indentValue|marginLeft|marginBottom|imageFloat|pageY|property|getPlainText|moveToPoint|enterKey|prev2|createTextRange|caretRangeFromPoint|normalizeLists|caretPositionFromPoint|getOffset|encodeEntities|cloned|images|classname|parentEl|deleteProperties|mouseover|mouseout|IMG|substring|safes|isEnabled|formatWrap|formatListToBlockquote|minHeight|bind|maxHeight|caretRange|BLOCKQUOTE|link_new_tab|callbacks|samp|fixEmptyIndent|wrapperHtml|matchContainers|insertInIe|kbd|windowHeight|appendTo|prevList|spaces|modalBody|mso|showOnDesktop|onPasteTidy|clearStyle|ESC|horizontalrule|getOffsetOfElement|activeButtons|FormData|imageFields|navigator|traverseFile|link_insert|userAgent|isArray|selectAll||toolbarExternal|result|getAlignmentElement|splice|auto|restoreScroll|codeLength|saveBodyScroll|onDrag|increase|version|XMLHttpRequest||onDrop|200|special|regex|open|method|scrollbarWidth|specialKey|s3file|isTag|fileFields|placeTag|test|strpos|dataTransfer|createSpaceElement|overflow|enableBodyScroll|iframeEnd|setConfig|iframeStart|firstFound|endOffset|br2|endContainer|insertBreakLineProcessing|readyState|setBefore|curLang|extra|filter|convertImageLinks|mailto|inputText|hover|convertUrlLinks|visible|inValues|setDropdownProperties|setDropdownAttr|outValues|isCurrent|footer|inactive|link_edit|isDelete|addDropdown|allowedAttrData|allowedAttrTags|closeTooltip|activeButtonsStates||quote|setInactiveAll|currentEl|buttonsSize|createButton|isOrderedCmdUnordered|Column|observeScroll|isUnorderedCmdOrdered|listTag|linkSize|slice|regexB|buttonsHideOnMobile|buttonsHide|showOnMobile|createCancelButton|createActionButton|highContrast|addCallback|image_position|URL|placeholdler|setRequestHeader|getTextFromHtml|H6|H5|matched|tagsEmpty|dfn|isCurrentOrParentOne|attrAllowed|Link|headers|add|H4|H3|saveFormTags|convertInline|clearUnverifiedRemove|verifiedTags|listType|listsIds|documentElementRect|formatTableWrapping|content|headTag|count|modules|autosaveName|autosaveOnChange|direction|disableBodyScroll|setAfterOrBefore|fonts|safari|rv||opr|RedactorPlugins|getModuleMethods|syncCode|H2|setFormat|send||removeFormat|TH|isP|imageResizable|imageEditable|normalize|htmlIe||address|status|imageDelete|TAB|isEndOfTable|Table|nodeToCaretPositionFromPoint|rTags|ratio|imageDisplay|selectionStart|selectionEnd|enlargeOffset|removeSpaces|markerLength|showCode|H1|parents|htmlLength|isEndOfEditor|isFocused|redactorImageLink|parseHTML|one|dropdownWidth|formattingAdd|dropdownObject|Row|DOWN|commentsMatches|container|ownLine|head|getText|contOwnLine|tfoot|parentNode|219|BODY|thead|getInlines|hotkeysShiftNums|suffix|finalNodes|cleanTag|setMarker|tbody|startOffset|finish|setOffset|getNodesMarker|paragraphizeBlocks|221||||duplicate|onClickCallback||offsetNode|needle|createTooltip|setEvent|haystack|ie11PasteFrag|disableIeLinks|ie11FixInserting|EndToEnd|setEndPoint|RIGHT|keydownStop|disableMozillaEditing|aside|formatConvert|formatRemoveSameChildren|iPod|args|switch|_this|orgo|strikethrough|tools|BlackBerry|through|iPhone|lastChild|article|savedSel|blocksMatch|execHtml|scope|htmlFixMozilla|haspopup|the|beforekey|||||||||||afterkey|htmlWithoutClean||fullscreen|indented|setEventDropUpload|cleanStyleOnEnter|that|insertParagraph|exitFromBlockquote|decodeURIComponent|replaceDivToParagraph||codeKeydownCallback|tabKey|origHandler|responseText|replaceDivToBreakLine|setEventDrop|onreadystatechange|dbl|stopPropagation|area|overrideMimeType|s3executeOnSignedUrl|arguments|dragImageUpload|insertAfterLastElement|setEvents|insertNewLine|dragFileUpload|onTab|onArrowDown|blur|checkKeyEvents|CTRL|META|ALT|checkEvents|isBlured|focusEnd|stop|setHelpers|formatMultiple|HR|SHIFT|addArrowsEvent|focusCallback|XDomainRequest|setupSelectAll|codeKeyupCallback|LEFT_WIN|altKey|createMarkers|s3createCORSRequest|s3uploadToS3|hotkeysSpecialKeys|setupBuffer|Function|Object|internal|textareaIndenting|onPasteExtra|choose|Mso|setInactive|setActiveInVisual|tempEnd|tempStart||isIe11|modified|indenting|reIsBlock|Center|replaceSelection|isStartOfElement|saveTargetScroll|bmso|saveEditorScroll||clearInterval|removeData|pasteHTML|Video|eventNamespace|Align|destroy|all|indexFromPos|matchBlocks|newTag|replaceDivsToBr|restoreFormTags|onSet|matchBR|savePreFormatting|getPreCode|getOnlyImages|restoreSelectionMarker|saveCodeFormatting|removeDirtyStyles|isSingleLine|onPasteIeFixLinks|setSelectionRange|Code|setInactiveInCode|showVisual|anchor|enableSelectAll|setValue|startSync|onPasteRemoveSpans|onPasteRemoveEmpty|||||||onChange|isCurrentOrParentHeader|selected|onPasteWord|editerWidth|showEdit|loadResizableControls|removeEmptyTags|scrollbar|opacity|padding|15px|cleanSpaces|loadEditableControls|Head|shorthandRegex|walker|increaseLists|removeInvisibleSpace|subscript||foco|Android|replaced|superscript|chrome|increaseText|increaseBlocks|decreaseLists|decreaseBlocks|to|fixImageSourceAfterDrop|inside|imageLink|buttonSave|nofollow|imagePosition|floatValue|buttonDelete|_delete|pastePlainText|FIGCAPTION|Apple|Image|700|floating|linkNofollow|Right|moveResize|Left|round|stopResize|startResize|pageX|chars|update|setFloating|setResizable|formatCollapsed|onShiftEnter|setFormattingTags|replaceElement|setTitle|setContent|getTemplate|loadButtons|alignElement|template|||||jsxhr|spans|removeEmptyListInTable|setDraggable|isNeedReplaceElement|setText||createDeleteButton|setButtonsWidth|bindModuleMethods|createContainer||cancel|setEnter|draggable|handle|isLinebreaksOrNoBlocks|setBlocks|setFixed|map|setMultiple|observeScrollDisable|observeScrollEnable|setCollapsed|formatTags|getPrev|visibility|anchorNode|setDropdownsFixed|newTd|commonAncestorContainer|fadeOut|hideButtonsOnMobile|toolbarOverflow|checkbox|setOverflow|success|toolbarFixed|fieldset|isButtonSourceNeeded|hideButtons|loadTemplates|imageEdit|callbackName|mouseup|measure|setEditable|paragraph|removeAttrs|linkTooltip|removeParagraphsInLists|getSafesComments|restoreSafes|lineAfter|Color|setupAllowed|header1|showTooltip|addToAllowed|aUnlink|aEdit|removeFromDenied|Edit|removeTags|aLink|getSafes|getTooltipPosition|here|removeAttrGetRemoves|Drop|replaceBreaksToParagraphs|properties|enableEvents|shortcutsAdd|align_left|createPasteBox|freeze|buildOverlay|align_center|loadModules|loadOptions|align_justify|align_right|disableEvents|header5|lineBefore|replaceBreaksToNewLines|png|header2|header3|cleanOnPaste|List|destroyed|header4|gif|unsetDropdownsFixed|contrast|textNode|elements|600|xn|location|thref|createContainerBox|insertAfter|parseJSON|isExceptLastOrFirst|setNodesMarker|imageUploadParam|fileUploadParam|_moz_dirty|hidden|setCodeAndCall|onDragLeave|createTextarea|getType|setFocus|objects|imageTypes|insertInOthersBrowsers|getUndo|fromElement|startPointNode|cleanUrl|empty|run|getRedo|fromTextarea|lastFound|re3|langs|startContainer|removeNodesMarkers|getInlinesTags|s3uploadFile|setEndBefore|setForce|getTextareaName|measureScrollbar|signedURL|regexp|sendData|loadContent|keyupStop|isKey|clientWidth|upload_label|buttonText|enableEditor|getData|callEditor|lastBlock|getLastBlock|loadEditor|buttonInsert|setRedo|formatEmpty|setOptions|isOverflowing|directUpload|change|formatBlockquote|convertImages|dir|setUndo|pop|opera|drop_file_here|compatible|UP|ltr|VERSION|trident|cut|docs|sid|hgroup|down|guid|rowspan|home|Name|Download|105|math|removePhp|uploadImageField||legend|documentElement|textContent|innerText|104|download|getBoundingClientRect|stripTags|savePreCode|up||Alignment|Open|colspan|youtu|Anchor|fake|Or|Trident|Underline|LEFT|10px|toUpperCase|isOldIe|Choose|or_choose|isLessIe10|jpe|such|post|enableInlineTableEditing|setToPoint|Infinity|nextNode|SHOW_TEXT|AutoUrlDetect|done|ajax|112|reg|No|107|enableObjectResizing|strict|1000|getCoords|setInterval|111|Horizontal|removeChild|setAwesome|offsetWidth|Justify|addFirst|addBefore|Rule|110|109|removeIcon|autosaveError|createTreeWalker|NodeFilter|caretOffset|setStartBefore|disable|changeIcon|setEndAfter|u2122|trade|application|blurCallback|WordDocument|addAfter|TEXTAREA|sdata|getOwnPropertyNames|converted|xml|1strike|shapes|merge|Deleted|115|applet|spacerun|yes|floor|use|113|u2026|hellip|u2014|101|abs|106|u00a9|copy|102|103|u2010|dash|toggleAttr|setAttr|toggleData|setData|mdash|slevel|hexToRgb|Below|host|noscript|err|Requested|With|frame|insertHtml|insert_column_left|clearFileFields|removeImageFields|addImageFields|clearImageFields|insert_row_below|php|addBack|insert_row_above|insert_table||500|frameborder|281|Above|uploadImageFields|uploadFileFields|POST|createLink|insertedLink|deletedLink|addFileFields|removeFileFields|context|enter|FOOTER|ASIDE|0px|onload|optional|222|220|rows|delete_table|onprogress|onerror|PUT|_|user|defined|charset|fromPoint|GET|plain|extractContents|insert_column_right|delete_row|fromCharCode|Key|withCredentials|delete_column|allowfullscreen|uploadStart|times|Close|9999px|overlay|bull|jQuery|labelledby|dialog|cursor|Outdent|move|pasteBefore|Quote|fast|bodyOveflow|unselectable|addButton|specified|backcolor||fontcolor||Font|Back|toggleActive||Ordered|modalClosed|Bold|Unordered|hasOwnProperty|Normal|Indent|getNext|nextSibling|previousSibling|relative|Unlink|Cancel|Save|HTML|ARTICLE|player|grep|dragleave|dragover|1500|fadeIn|focusin|modalOpened|email|outerHeight|20px|external|getModal|frameset|Formatting|createTabber|addTab|addTemplate|Content|Type|SECTION|119|Embed|getObject|getBox|getEditor|ADDRESS|118|117|getValue|DT|DD|OUTPUT|getElement|getTextarea|HEADER|Email|Text|121|max|dropdownShow|web|video_html_code|Callback|getToolbar|_data|120|namespace|listSelections|setSelection|menu||esc|cleanEmptyParagraph|capslock|pause|summary|details|pageup|pagedown|getOnlyLinksAndImages|Upload|File|nav|Vimeo|alignleft|DL|116|setSize|refresh|setCursor|Youtube|backspace|alignright|aligncenter|syncBefore|jpeg|ins|Ss|f10|isString|114|columns|iPad|cssText|getHtml|Columns|u200D|189|188|add_head|uFEFF|TR|removeStyle|removeStyleRule|nodeToPoint|amz|192|clientX|Rows|clientY|191|acl|toggleStyle|190|read|public|insertHTML|imageUploadError|delete_head|f12|705|144|numlock|image_web_link|145|123|Web|dropdownHide|122|replaceWithHtml|f11|fileUploadError|dragstart|mousemove|187|None|Position|Title|cloneContents|Italic|dropdownShown|rgb|186|173|touchmove|touchend'.split('|'),0,{}))
\ No newline at end of file
+eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(C($){\'mI m0\';if(!g7.5w.aH){g7.5w.aH=C(eW){E fn=q;F C(){F fn.9E(eW)}}}E 2G=0;$.fn.I=C(44){E 2K=[];E eI=9F.5w.ct.6e(fA,1);if(1s 44===\'6Z\'){q.1B(C(){E 6u=$.1f(q,\'I\');E 1C;if(44.3N(/\\./)!=\'-1\'){1C=44.4o(\'.\');if(1s 6u[1C[0]]!=\'1y\'){1C=6u[1C[0]][1C[1]]}}N{1C=6u[44]}if(1s 6u!==\'1y\'&&$.5k(1C)){E 9L=1C.9E(6u,eI);if(9L!==1y&&9L!==6u){2K.2N(9L)}}N{$.6U(\'lX lL bx "\'+44+\'" 2B 47\')}})}N{q.1B(C(){$.1f(q,\'I\',{});$.1f(q,\'I\',47(q,44))})}if(2K.12===0)F q;N if(2K.12===1)F 2K[0];N F 2K};C 47(el,44){F 2a 47.5w.3Q(el,44)}$.47=47;$.47.l2=\'10.2.2\';$.47.d4=[\'3b\',\'3r\',\'R\',\'25\',\'2o\',\'1t\',\'1V\',\'1x\',\'1e\',\'1X\',\'1n\',\'22\',\'2n\',\'M\',\'3y\',\'28\',\'1Y\',\'1D\',\'2s\',\'1H\',\'3K\',\'V\',\'2z\',\'2e\',\'1a\',\'1R\',\'2V\',\'5C\',\'3f\',\'5E\',\'J\',\'6m\',\'2H\',\'1I\',\'1A\',\'1v\',\'L\'];$.47.G={1H:\'en\',d7:\'l1\',8r:O,2n:O,fP:O,3f:O,6r:1q,6S:O,aG:O,aI:O,1M:O,5Q:1q,2V:1q,fh:O,al:1q,jJ:1q,hj:1q,hL:O,3r:O,d5:O,9m:60,d6:O,9O:O,j4:1q,5c:\'8s\',hR:O,cs:50,dq:1q,hE:1q,hH:1q,8x:\'lE\',dp:1q,75:4e,k1:\'22\',lh:O,fB:1q,76:4e,k2:\'22\',fF:1q,7V:O,a2:1q,c1:1q,bX:1q,93:1q,6v:4,9Y:O,fp:1q,9p:O,1A:1q,iS:1q,6y:1l,6z:0,bf:O,iO:O,4E:1q,4i:[\'B\',\'3a\',\'4n\',\'4m\',\'5Y\',\'5m\',\'5z\',\'7p\',\'3y\',\'M\',\'22\',\'V\',\'3b\',\'b3\'],cw:[],cv:[],3a:[\'p\',\'29\',\'2F\',\'h1\',\'h2\',\'h3\',\'h4\',\'h5\',\'h6\'],dT:O,2H:1q,4c:[\'3V\',\'1o\'],4z:O,ej:[\'3W\',\'1i\',\'2F\',\'64\',\'3p\',\'ol\',\'h1\',\'h2\',\'h3\',\'h4\',\'h5\',\'h6\',\'dl\',\'29\',\'7Y\',\'du\',\'49\',\'87\',\'c8\',\'eE\',\'eS\',\'41\',\'1o\',\'3V\',\'4R\',\'7z\',\'3D\',\'2v\',\'1t\',\'42\',\'iA\',\'fx\',\'lf\',\'hr\',\'iT\',\'lj\',\'l7\',\'pJ\',\'6K\',\'pD\',\'pw\',\'pC\',\'p\'],6G:O,5B:[[\'7c\',\'4h\'],[\'b\',\'5i\']],5A:[[\'3R-7I:\\\\s?4n\',"5i"],[\'3R-1o:\\\\s?4m\',"em"],[\'1g-7a:\\\\s?5x\',"u"],[\'1g-7a:\\\\s?3K-eP\',\'4h\']],5y:O,1K:O,4T:O,6L:[\'1j\'],4f:[\'p\'],b5:[\'5Y\',\'4m\',\'4n\',\'5x\',\'5m\',\'5z\',\'pL\',\'pU\',\'pT\',\'9d\'],cg:{b:\'4n\',5i:\'4n\',i:\'4m\',em:\'4m\',4h:\'5Y\',7c:\'5Y\',3p:\'5m\',ol:\'5z\',u:\'5x\'},6m:{\'48+6E+m, 5h+6E+m\':{1C:\'28.dm\'},\'48+b, 5h+b\':{1C:\'28.30\',6p:[\'4n\']},\'48+i, 5h+i\':{1C:\'28.30\',6p:[\'4m\']},\'48+h, 5h+h\':{1C:\'28.30\',6p:[\'hv\']},\'48+l, 5h+l\':{1C:\'28.30\',6p:[\'hq\']},\'48+k, 5h+k\':{1C:\'V.2O\'},\'48+6E+7\':{1C:\'2e.3m\',6p:[\'5z\']},\'48+6E+8\':{1C:\'2e.3m\',6p:[\'5m\']}},js:O,25:[],9k:[],5S:\'<p>&#9T;</p>\',6o:\'&#9T;\',kb:[\'M/jG\',\'M/pW\',\'M/jN\'],ad:20,cW:[\'a\',\'1L\',\'b\',\'5i\',\'7l\',\'7Q\',\'i\',\'em\',\'u\',\'9f\',\'7c\',\'4h\',\'8S\',\'3p\',\'ol\',\'li\'],4N:[\'5i\',\'b\',\'u\',\'em\',\'i\',\'1e\',\'4h\',\'pX\',\'aN\',\'aS\',\'7Q\',\'7l\',\'6A\',\'E\',\'8S\',\'9f\'],8F:[\'P\',\'dK\',\'di\',\'cS\',\'cR\',\'cI\',\'cH\',\'pM\',\'pc\',\'pd\',\'89\',\'6F\',\'aK\',\'pe\',\'hM\',\'p8\',\'p2\',\'ph\',\'nA\',\'nB\',\'oH\'],8q:[\'8o\',\'8D\',\'8N\',\'5v\'],cA:O,1R:{79:[]},kn:{en:{B:\'oG\',6Y:\'6B gx\',M:\'6B hO\',3W:\'dz\',V:\'cO\',ba:\'6B V\',ca:\'jh V\',6P:\'oD\',3a:\'oW\',j2:\'ox 1g\',ci:\'oe\',1e:\'gS\',jb:\'9H 1\',jH:\'9H 2\',jI:\'9H 3\',jM:\'9H 4\',jD:\'9H 5\',4n:\'ou\',4m:\'qO\',om:\'oo j9\',ok:\'op j9\',5m:\'ov jK\',5z:\'os jK\',7p:\'ob\',3y:\'oy\',it:\'oE\',1Y:\'6B\',3o:\'oF\',hK:\'8w\',nk:\'6B dz\',nj:\'9r dV np\',ng:\'9r dV n3\',nb:\'9r co hU\',nU:\'9r co hS\',nZ:\'8w co\',nV:\'8w dV\',nI:\'8w dz\',nH:\'qj\',q2:\'q6\',qa:\'9r hl\',qt:\'8w hl\',1J:\'qM\',cC:\'qL\',5p:\'qK\',2c:\'hU\',4s:\'hS\',5u:\'gn\',qy:\'hO qB cO\',1g:\'pj\',bY:\'pi\',pn:\'cD\',po:\'gx p4 gS or pR/pK cO\',22:\'6B pI\',1v:\'pH\',lo:\'ld\',gc:\'lH\',lI:\'lA gc\',kY:\'jo 22 jm\',jt:\'gz 1g hB eZ 2c\',jx:\'gn 1g\',jB:\'gz 1g hB eZ 4s\',jA:\'m9 1g\',b3:\'6B m5 mc\',5Y:\'mC\',gV:\'ly\',aL:\'lv V in 2a 5I\',5x:\'lC\',3b:\'lu\',6k:\'lc (nE)\',7L:\'jh\',kD:\'jo 22 jm or \'}},2z:{4v:{72:/5o?:\\/\\/(?:[0-9A-Z-]+\\.)?(?:lx\\.be\\/|72\\.a5\\S*[^\\w\\-\\s])([\\w\\-]{11})(?=[^\\w\\-]|$)(?![?=&+%\\w.\\-]*(?:[\'"][^<>]*>|<\\/a>))[?=&+%\\w.-]*/ig,71:/5o?:\\/\\/(7n\\.)?71.a5\\/(\\d+)($|\\/)/,M:/((5o?|7n)[^\\s]+\\.)(lK?g|jG|jN)(\\?[^\\s-]+)?/ig,2i:/(5o?:\\/\\/(?:7n\\.|(?!7n))[^\\s\\.]+\\.[^\\s]{2,}|7n\\.[^\\s]+\\.[^\\s]{2,})/ig,}},8n:O};47.fn=$.47.5w={3j:{84:8,8Q:46,l0:38,dW:40,70:13,a7:32,b2:27,dx:9,fK:17,fL:91,fU:16,fM:18,eB:39,lD:37,g0:91},3Q:C(el,44){q.$2j=$(el);q.2G=2G++;q.7B=O;q.$5e=O;q.jz(44);q.jy();q.3a={};$.mB(q.G.8q,q.G.8F);q.gm=2a 2l(\'^(\'+q.G.8q.3c(\'|\')+\')$\',\'i\');q.1I.ja();if(q.G.4c!==O){E 2d=[\'B\',\'e0\',\'V\',\'31\',\'5h\',\'mE\'];2B(E i=0;i<2d.12;i++){q.G.4c.2N(2d[i])}}q.1H.2R();$.7E(q.G.6m,q.G.js);q.1X.2u(\'2b\');q.2b=1q;q.2o.ki()},jz:C(44){q.G=$.7E({},$.7E(1q,{},$.47.G),q.$2j.1f(),44)},dg:C(41){F g8.mw(41).bW(C(ai){F 1s 41[ai]==\'C\'})},jy:C(){E 2p=$.47.d4.12;2B(E i=0;i<2p;i++){q.iq($.47.d4[i])}},iq:C(6D){if(1s q[6D]==\'1y\')F;q[6D]=q[6D]();E 5X=q.dg(q[6D]);E 2p=5X.12;2B(E z=0;z<2p;z++){q[6D][5X[z]]=q[6D][5X[z]].aH(q)}},3b:C(){F{2c:C(){q.3b.1U(\'\')},4s:C(){q.3b.1U(\'4s\')},5u:C(){q.3b.1U(\'5u\')},9d:C(){q.3b.1U(\'9d\')},1U:C(1m){if(!q.L.1P(\'2E\'))q.$T.2n();q.25.1U();q.J.3o();q.3b.1Z=q.J.3X();q.3b.1m=1m;if(q.3b.ix()){q.3b.im()}N{q.3b.iy()}q.J.3d();q.1e.1S()},im:C(){E 4M=q.J.5Z(\'1i\');$(4M).1c(\'1f-8b\',\'I\').1O(\'1g-5g\',q.3b.1m)},iy:C(){$.1B(q.3b.1Z,$.1d(C(i,el){E $el=q.L.bh(el);if(!$el)F;if(q.3b.il($el)){q.3b.i6($el)}N{q.3b.ib($el)}},q))},ix:C(){F(q.G.1M&&q.3b.1Z[0]===O)},il:C($el){F(q.3b.1m===\'\'&&1s($el.1f(\'8b\'))!==\'1y\')},i6:C($el){$el.2t($el.B())},ib:C($el){$el.1O(\'1g-5g\',q.3b.1m);q.L.5r($el,\'1o\')}}},3r:C(){F{B:O,9Q:C(){if(!q.G.3r)F;q.3r.1w=(q.G.d5)?q.G.d5:q.$2v.1c(\'1w\');if(q.G.d6)F;q.9m=m3(q.3r.2R,q.G.9m*m1)},h7:C(){if(!q.G.d6)F;q.3r.2R()},2R:C(){q.3r.4E=q.1e.1b();if(q.3r.B===q.3r.4E)F;E 1f={};1f[\'1w\']=q.3r.1w;1f[q.3r.1w]=q.3r.4E;1f=q.3r.6V(1f);E ih=$.lU({2i:q.G.3r,1m:\'lM\',1f:1f});ih.lT(q.3r.iR)},6V:C(1f){if(q.G.9O===O||1s q.G.9O!==\'41\'){F 1f}$.1B(q.G.9O,$.1d(C(k,v){if(v!==4e&&v.4y().4Q(\'#\')===0)v=$(v).2K();1f[k]=v},q));F 1f},iR:C(1f){E 2P;52{2P=$.jY(1f)}51(e){2P=1f}E iY=(1s 2P.6U==\'1y\')?\'3r\':\'mg\';q.1X.2u(iY,q.3r.1w,2P);q.3r.B=q.3r.4E},ml:C(){gu(q.9m)}}},R:C(){F{3a:C(1w){q.R.b1=O;E 1m,1E;if(1s q.3a[1w].1f!=\'1y\')1m=\'1f\';N if(1s q.3a[1w].1c!=\'1y\')1m=\'1c\';N if(1s q.3a[1w][\'1G\']!=\'1y\')1m=\'1G\';if(1s q.3a[1w].8M!=\'1y\'){q.R.b1=1q}if(1m)1E=q.3a[1w][1m];q.R.30(q.3a[1w].Y,1m,1E)},30:C(Y,1m,1E){if(Y==\'ci\')Y=\'29\';E iF=[\'p\',\'2F\',\'29\',\'h1\',\'h2\',\'h3\',\'h4\',\'h5\',\'h6\'];if($.3t(Y,iF)==-1)F;q.R.8I=(Y==\'2F\'||Y.3N(/h[1-6]/i)!=-1);if(!q.L.1P(\'2E\'))q.$T.2n();E B=$.3k(q.$T.B());q.R.3z=q.L.3z(B);if(q.L.1P(\'4b\')&&!q.2n.dO()){if(q.R.3z){E $3I;if(!q.G.1M){$3I=q.$T.3O().3I();q.1V.3P($3I)}}}q.R.1Z=q.J.3X();q.R.7w=q.R.1Z.12;q.R.1m=1m;q.R.1E=1E;q.25.1U();q.J.3o();q.R.1U(Y);q.J.3d();q.1e.1S();q.1R.2R()},1U:C(Y){q.J.1b();q.R.69=q.14.iL.1p;if(q.14.53){q.R.iE(Y)}N{q.R.iB(Y)}},iE:C(Y){if(q.G.1M&&q.R.3z&&Y!=\'p\'){E Q=1l.3w(Y);q.$T.B(Q);q.1V.3P(Q);F}E R=q.R.1Z[0];if(R===O)F;if(R.1p==\'5v\'){if(Y!=\'29\')F;q.R.aF();F}E 9P=(q.R.69==\'6F\'||q.R.69==\'dn\');if(9P&&!q.G.1M){1l.3Z(\'9S\',O,\'<\'+Y+\'>\');R=q.J.4a();q.R.3m($(R))}N if(R.1p.3e()!=Y){if(q.G.1M&&Y==\'p\'){$(R).1F(\'<br>\');q.L.6i(R)}N{E $1W=q.L.4I(R,Y);q.R.3m($1W);if(Y!=\'p\'&&Y!=\'29\')$1W.1h(\'1L\').1u();if(q.R.8I)q.L.4Z($1W);if(Y==\'p\'||q.R.d2)$1W.1h(\'p\').26().3Y();q.R.d0($1W)}}N if(Y==\'29\'&&R.1p.3e()==Y){if(q.G.1M){$(R).1F(\'<br>\');q.L.6i(R)}N{E $el=q.L.4I(R,\'p\');q.R.3m($el)}}N if(R.1p.3e()==Y){q.R.3m($(R))}if(1s q.R.1m==\'1y\'&&1s q.R.1E==\'1y\'){$(R).1K(\'1G\').1K(\'1o\')}},iB:C(Y){E R=q.R.1Z[0];E 9P=(q.R.69==\'6F\'||q.R.69==\'dn\');if(R!==O&&q.R.7w===1){if(R.1p.3e()==Y&&Y==\'29\'){if(q.G.1M){$(R).1F(\'<br>\');q.L.6i(R)}N{E $el=q.L.4I(R,\'p\');q.R.3m($el)}}N if(R.1p==\'5v\'){if(Y!=\'29\')F;q.R.aF()}N if(q.R.69==\'aK\'){q.R.kS(Y)}N if(q.G.1M&&((9P)||(q.14.iL!=R))){q.R.aE(Y)}N{if(q.G.1M&&Y==\'p\'){$(R).6t(\'<br>\').1F(\'<br>\');q.L.6i(R)}N if(R.1p===\'6F\'){q.R.aE(Y)}N{E $1W=q.L.4I(R,Y);q.R.3m($1W);if(q.R.8I)q.L.4Z($1W);if(Y==\'p\'||q.R.d2)$1W.1h(\'p\').26().3Y()}}}N{if(q.G.1M||Y!=\'p\'){if(Y==\'29\'){E d3=0;2B(E i=0;i<q.R.7w;i++){if(q.R.1Z[i].1p==\'aK\')d3++}if(d3==q.R.7w){$.1B(q.R.1Z,$.1d(C(i,s){E $1W=O;if(q.G.1M){$(s).6t(\'<br>\').1F(\'<br>\');$1W=q.L.6i(s)}N{$1W=q.L.4I(s,\'p\')}if($1W&&1s q.R.1m==\'1y\'&&1s q.R.1E==\'1y\'){$1W.1K(\'1G\').1K(\'1o\')}},q));F}}q.R.aE(Y)}N{E 8B=0;E 5G=O;if(q.R.1m==\'1G\'){5G=\'3m\';8B=$(q.R.1Z).bW(\'.\'+q.R.1E).12;if(q.R.7w==8B)5G=\'3m\';N if(q.R.7w>8B)5G=\'1U\';N if(8B===0)5G=\'1U\'}E 9y=[\'3p\',\'ol\',\'li\',\'2Y\',\'5P\',\'dl\',\'dt\',\'dd\'];$.1B(q.R.1Z,$.1d(C(i,s){if($.3t(s.1p.3e(),9y)!=-1)F;E $1W=q.L.4I(s,Y);if(5G){if(5G==\'3m\')q.R.3m($1W);N if(5G==\'1u\')q.R.1u($1W);N if(5G==\'1U\')q.R.kt($1W)}N q.R.3m($1W);if(Y!=\'p\'&&Y!=\'29\')$1W.1h(\'1L\').1u();if(q.R.8I)q.L.4Z($1W);if(Y==\'p\'||q.R.d2)$1W.1h(\'p\').26().3Y();if(1s q.R.1m==\'1y\'&&1s q.R.1E==\'1y\'){$1W.1K(\'1G\').1K(\'1o\')}},q))}}},kt:C($el){if(q.R.b1){$el.1K(\'1G\').1K(\'1o\')}if(q.R.1m==\'1G\'){$el.2f(q.R.1E);F}N if(q.R.1m==\'1c\'||q.R.1m==\'1f\'){$el.1c(q.R.1E.1w,q.R.1E.1E);F}},3m:C($el){if(q.R.b1){$el.1K(\'1G\').1K(\'1o\')}if(q.R.1m==\'1G\'){$el.7O(q.R.1E);F}N if(q.R.1m==\'1c\'||q.R.1m==\'1f\'){if($el.1c(q.R.1E.1w)==q.R.1E.1E){$el.1K(q.R.1E.1w)}N{$el.1c(q.R.1E.1w,q.R.1E.1E)}F}N{$el.1K(\'1o 1G\');F}},1u:C($el){$el.2S(q.R.1E)},aF:C(){E R=$(q.R.1Z[0]).2q(\'3p, ol\',q.$T[0]);$(R).1h(\'3p, ol\').26().3Y();$(R).1h(\'li\').1F($(\'<br>\')).26().3Y();E $el=q.L.4I(R,\'29\');q.R.3m($el)},kS:C(Y){1l.3Z(\'7p\');1l.3Z(\'9S\',O,Y);q.1x.4r();q.$T.1h(\'p:kh\').1u();E 1W=q.J.4a();if(Y!=\'p\'){$(1W).1h(\'1L\').1u()}if(!q.G.1M){q.R.3m($(1W))}q.$T.1h(\'3p, ol, 6O, 29, p\').1B($.1d(q.L.4f,q));if(q.G.1M&&Y==\'p\'){q.L.6i(1W)}},aE:C(Y){if(q.R.69==\'8D\'||q.R.69==\'8N\'){if(Y==\'29\'){q.R.aF()}N{F}}E 1W=q.J.5Z(Y);if(1W===O)F;E $1W=$(1W);q.R.d0($1W);E $jR=$1W.1h(q.G.8q.3c(\',\')+\', 2Y, 3W, e7, ee, e3, 5P, 6O\');$jR.26().3Y();if(Y!=\'p\'&&Y!=\'29\')$1W.1h(\'1L\').1u();$.1B(q.R.1Z,$.1d(q.L.4f,q));$1W.1F(q.J.6Q(2));if(!q.G.1M){q.R.3m($1W)}q.$T.1h(\'3p, ol, 6O, 29, p\').1B($.1d(q.L.4f,q));$1W.1h(\'29:kh\').1u();if(q.R.8I){q.L.4Z($1W)}if(q.G.1M&&Y==\'p\'){q.L.6i($1W)}if(q.G.1M){E $1N=$1W.1N().1N();if($1N.9B()!=0&&$1N[0].1p===\'58\'){$1N.1u()}}},d0:C($1W){if($1W.2q(\'3W\',q.$T[0]).12===0)F;if($1W.2q(\'6O\',q.$T[0]).12===0)$1W.5Z(\'<6O>\');if($1W.2q(\'2Y\',q.$T[0]).12===0&&$1W.2q(\'5P\').12===0){$1W.5Z(\'<2Y>\')}},gv:C(1w,1E){E 1Z=q.J.3X();$(1Z).1K(\'1f-\'+1w);q.1e.1S()},mZ:C(1w,1E){E 1Z=q.J.3X();$(1Z).1c(\'1f-\'+1w,1E);q.1e.1S()},mY:C(1w,1E){E 1Z=q.J.3X();$.1B(1Z,C(){if($(q).1c(\'1f-\'+1w)){$(q).1K(\'1f-\'+1w)}N{$(q).1c(\'1f-\'+1w,1E)}})},1K:C(1c,1E){E 1Z=q.J.3X();$(1Z).1K(1c);q.1e.1S()},mX:C(1c,1E){E 1Z=q.J.3X();$(1Z).1c(1c,1E);q.1e.1S()},mW:C(1c,1E){E 1Z=q.J.3X();$.1B(1Z,C(){if($(q).1c(1w)){$(q).1K(1w)}N{$(q).1c(1w,1E)}})},2S:C(3E){E 1Z=q.J.3X();$(1Z).2S(3E);q.L.5r(1Z,\'1G\');q.1e.1S()},8g:C(3E){E 1Z=q.J.3X();$(1Z).2f(3E);q.1e.1S()},7O:C(3E){E 1Z=q.J.3X();$(1Z).7O(3E);q.1e.1S()}}},25:C(){F{1U:C(1m){if(1s 1m==\'1y\'||1m==\'9l\'){q.25.kV()}N{q.25.kM()}},kV:C(){q.J.3o();q.G.25.2N(q.$T.B());q.J.3d()},kM:C(){q.J.3o();q.G.9k.2N(q.$T.B());q.J.3d()},kd:C(){q.$T.B(q.G.25.kW())},kj:C(){q.$T.B(q.G.9k.kW())},cQ:C(){q.G.25.2N(q.$T.B())},9l:C(){if(q.G.25.12===0)F;q.25.1U(\'a9\');q.25.kd();q.J.3d();3A($.1d(q.1R.2R,q),50)},a9:C(){if(q.G.9k.12===0)F;q.25.1U(\'9l\');q.25.kj();q.J.3d();3A($.1d(q.1R.2R,q),50)}}},2o:C(){F{ki:C(){q.2o.jW();q.2o.kz();q.2o.kK();q.2o.kF();q.2o.k5()},aa:C(){F(q.$2j[0].1p===\'mu\')},jW:C(){q.$2Q=$(\'<1i 1G="I-2Q" 9c="mq" />\')},k7:C(){q.$2v=$(\'<2v />\').1c(\'1w\',q.2o.ku())},ku:C(){F((1s(1w)==\'1y\'))?\'d1-\'+q.2G:q.$2j.1c(\'id\')},kz:C(){E 1C=(q.2o.aa())?\'2K\':\'B\';q.d1=$.3k(q.$2j[1C]())},kF:C(){q.$T.1c({\'5d\':1q,\'kU\':q.G.d7})},kK:C(){E 1C=(q.2o.aa())?\'kk\':\'ke\';q.2o[1C]()},kk:C(){q.$T=$(\'<1i />\');q.$2v=q.$2j;q.$2Q.jX(q.$2j).1F(q.$T).1F(q.$2j);q.$T.2f(\'I-T\');q.$2j.3v()},ke:C(){q.$T=q.$2j;q.2o.k7();q.$2Q.jX(q.$T).1F(q.$T).1F(q.$2v);q.$T.2f(\'I-T\');q.$2v.3v()},k5:C(){q.1e.1U(q.d1);q.2o.kO();q.2o.kH();if(q.G.6r)F;3A($.1d(q.1e.dJ,q),bt)},kH:C(){q.2o.eD();q.2o.ex();q.2o.fD();q.2o.fR();if(q.G.1A){q.G.1A=q.1A.3Q();q.1A.2o()}q.1a.iW();q.2o.8r();3A($.1d(q.1R.2R,q),4);q.1X.2u(\'3Q\')},kO:C(){$(q.$2v).1c(\'kU\',q.G.d7);if(q.G.1M)q.$T.2f(\'I-1M\');if(q.G.6S)q.$T.1c(\'6S\',q.G.6S);if(q.G.aG)q.$T.1O(\'aG\',q.G.aG);if(q.G.aI)q.$T.1O(\'aI\',q.G.aI)},fg:C(e){e.2w();if(!q.G.fB||!q.G.fF)F;E 5R=e.bG.5R;q.1v.kQ(5R[0],e)},ft:C(e){q.1e.1S();3A(q.1x.4r,1);q.1X.2u(\'57\',e)},fD:C(){q.$T.on(\'57.I\',$.1d(C(e){e=e.7T||e;if(3l.b6===1y||!e.bG)F 1q;if(e.bG.5R.12===0){F q.2o.ft(e)}N{q.2o.fg(e)}3A(q.1x.4r,1);q.1X.2u(\'57\',e)},q));q.$T.on(\'2y.I\',$.1d(C(e){E 8e=q.1X.7g();E 1m=(8e==\'2y\'||8e==\'4W\')?O:\'2y\';q.1X.9K(1m);q.L.8U();q.1X.2u(\'2y\',e)},q));q.$T.on(\'5C.I\',$.1d(q.5C.3Q,q));q.$T.on(\'l4.I\',$.1d(q.1e.1S,q));q.$T.on(\'1D.I\',$.1d(q.1D.3Q,q));q.$T.on(\'2s.I\',$.1d(q.2s.3Q,q));if($.5k(q.G.fo)){q.$2v.on(\'1D.I-2v\',$.1d(q.G.fo,q))}if($.5k(q.G.fZ)){q.$2v.on(\'2s.I-2v\',$.1d(q.G.fZ,q))}if($.5k(q.G.fW)){q.$T.on(\'2n.I\',$.1d(q.G.fW,q))}$(1l).on(\'6R.I.\'+q.2G,$.1d(C(e){q.8h=e.1Q},q));q.$T.on(\'fI.I\',$.1d(C(e){if(q.2b)F;if(q.7B)F;if(!q.2o.fO())F;q.L.8U();if($.5k(q.G.mr))q.1X.2u(\'fI\',e)},q))},fO:C(){if(q.8h===1q)F 1q;E $el=$(q.8h);F(!$el.3i(\'I-1A, I-1n\')&&!$el.is(\'#I-1a\')&&$el.dL(\'.I-1A, .I-1n, #I-1a\').12===0)},fR:C(){if(q.2z.aD()){q.2z.30()}q.3f.9Q();if(q.G.2n)3A(q.2n.2W,88);if(q.G.fP)3A(q.2n.3P,88)},8r:C(){if(!q.G.8r)F;$.1B(q.G.8r,$.1d(C(i,s){E 1C=(1s df!==\'1y\'&&1s df[s]!==\'1y\')?df:47.fn;if(!$.5k(1C[s])){F}q[s]=1C[s]();E 5X=q.dg(q[s]);E 2p=5X.12;2B(E z=0;z<2p;z++){q[s][5X[z]]=q[s][5X[z]].aH(q)}if($.5k(q[s].3Q)){q[s].3Q()}},q))},eD:C(){if(!q.L.1P(\'4b\'))F;52{1l.3Z(\'lZ\',O,O);1l.3Z(\'lN\',O,O)}51(e){}},ex:C(){if(!q.L.1P(\'2E\'))F;1l.3Z("lS",O,O)}}},1t:C(){F{2o:C(2g,2X){E $1t=$(\'<a 2k="#" 1G="3J-8R 3J-\'+2g+\'" 3T="\'+2g+\'" />\').1c({\'9c\':\'1t\',\'4K-2L\':2X.1J,\'6S\':\'-1\'});if(2X.1C||2X.4A||2X.1n){q.1t.eu($1t,2g,2X)}if(2X.1n){$1t.2f(\'I-1A-V-1n\').1c(\'4K-eY\',1q);E $1n=$(\'<1i 1G="I-1n I-1n-\'+q.2G+\' I-1n-2Q-\'+2g+\'" 1o="6N: 5p;">\');$1t.1f(\'1n\',$1n);q.1n.2o(2g,$1n,2X.1n)}if(q.L.7b()){q.1t.et($1t,2g,2X.1J)}F $1t},eu:C($1t,2g,2X){$1t.on(\'5H 2y\',$.1d(C(e){if($1t.3i(\'I-1t-7o\'))F O;E 1m=\'1C\';E 2A=2X.1C;if(2X.4A){1m=\'4A\';2A=2X.4A}N if(2X.1n){1m=\'1n\';2A=O}q.1t.ac(e,2g,1m,2A)},q))},et:C($1t,1w,1J){E $3q=$(\'<1j>\').2f(\'I-1A-3q I-1A-3q-\'+q.2G+\' I-1A-3q-\'+1w).3v().B(1J);$3q.aU(\'31\');$1t.on(\'ay\',C(){if($(q).3i(\'I-1t-7o\'))F;E 3s=$1t.2I();$3q.2O();$3q.1O({2U:(3s.2U+$1t.6c())+\'px\',2c:(3s.2c+$1t.7P()/2-$3q.7P()/2)+\'px\'})});$1t.on(\'az\',C(){$3q.3v()})},ac:C(e,2g,1m,2A){q.1t.mj=q.1V.ar();e.2w();if(q.L.1P(\'2E\'))e.8l=O;if(1m==\'4A\')q.28.30(2A);N if(1m==\'1n\')q.1n.2O(e,2g);N q.1t.ep(e,2A,2g)},ep:C(e,2A,2g){E 1C;q.8h=1q;if($.5k(2A))2A.6e(q,2g);N if(2A.3N(/\\./)!=\'-1\'){1C=2A.4o(\'.\');if(1s q[1C[0]]==\'1y\')F;q[1C[0]][1C[1]](2g)}N q[2A](2g);q.1R.4i(e,2g)},1b:C(1k){F q.$1A.1h(\'a.3J-\'+1k)},9q:C(1k){q.1t.1b(1k).2f(\'I-8A\')},ge:C(1k){q.1t.1b(1k).2S(\'I-8A\')},cj:C(1k){if(1s 1k===\'1y\'){q.$1A.1h(\'a.3J-8R\').2S(\'I-8A\')}N{q.$1A.1h(\'a.3J-8R\').6h(\'.3J-\'+1k).2S(\'I-8A\')}},gf:C(){q.$1A.1h(\'a.3J-8R\').6h(\'a.3J-B, a.3J-fe\').2S(\'I-1t-7o\')},gT:C(){q.$1A.1h(\'a.3J-8R\').6h(\'a.3J-B, a.3J-fe\').2f(\'I-1t-7o\')},mm:C(1k,av){q.1t.1b(1k).2f(\'3J-\'+av)},mf:C(1k,av){q.1t.1b(1k).2S(\'3J-\'+av)},m7:C(1k,1w){E $1t=q.1t.1b(1k);$1t.2S(\'I-21-M\').2f(\'fa-I-21\');$1t.B(\'<i 1G="fa \'+1w+\'"></i>\')},cB:C($21,2A){if($21=="25")F;E 1m=(2A==\'1n\')?\'1n\':\'1C\';E 1k=$21.1c(\'3T\');$21.on(\'5H 2y\',$.1d(C(e){if($21.3i(\'I-1t-7o\'))F O;q.1t.ac(e,1k,1m,2A)},q))},cc:C($21,1n){$21.2f(\'I-1A-V-1n\').1c(\'4K-eY\',1q);E 1k=$21.1c(\'3T\');q.1t.cB($21,\'1n\');E $1n=$(\'<1i 1G="I-1n I-1n-\'+q.2G+\' I-1n-2Q-\'+1k+\'" 1o="6N: 5p;">\');$21.1f(\'1n\',$1n);if(1n)q.1n.2o(1k,$1n,1n);F $1n},cQ:C(1k,1J){if(!q.G.1A)F;if(q.1t.9v(1k))F"25";E 21=q.1t.2o(1k,{1J:1J});21.2f(\'I-21-M\');q.$1A.1F($(\'<li>\').1F(21));F 21},ma:C(1k,1J){if(!q.G.1A)F;if(q.1t.9v(1k))F"25";E 21=q.1t.2o(1k,{1J:1J});21.2f(\'I-21-M\');q.$1A.6t($(\'<li>\').1F(21));F 21},mt:C(fb,1k,1J){if(!q.G.1A)F;if(q.1t.9v(1k))F"25";E 21=q.1t.2o(1k,{1J:1J});21.2f(\'I-21-M\');E $21=q.1t.1b(fb);if($21.12!==0)$21.1r().3F($(\'<li>\').1F(21));N q.$1A.1F($(\'<li>\').1F(21));F 21},mb:C(f0,1k,1J){if(!q.G.1A)F;if(q.1t.9v(1k))F"25";E 21=q.1t.2o(1k,{1J:1J});21.2f(\'I-21-M\');E $21=q.1t.1b(f0);if($21.12!==0)$21.1r().a6($(\'<li>\').1F(21));N q.$1A.1F($(\'<li>\').1F(21));F 21},1u:C(1k){q.1t.1b(1k).1u()},9v:C(1k){F(1k=="9l"||1k=="a9")&&!q.L.7b()}}},1V:C(){F{2W:C(Q){if(!q.L.6X(Q)){E 3g=q.L.bH();$(Q).6t(3g);q.1V.3P(3g)}N{q.1V.1U(Q,0,Q,0)}},3P:C(Q){Q=Q[0]||Q;if(Q.eR.a8==1){F q.1V.54(Q.eR)}q.1V.1U(Q,1,Q,1)},1U:C(4P,eL,77,hs){4P=4P[0]||4P;77=77[0]||77;if(q.L.7J(4P.1p)&&4P.3x===\'\'){4P.3x=q.G.6o}if(4P.1p==\'58\'&&q.G.1M===O){E 1r=$(q.G.5S)[0];$(4P).2t(1r);4P=1r;77=4P}q.J.1b();52{q.14.2W(4P,eL);q.14.3P(77,hs)}51(e){}q.J.4l()},54:C(Q){52{E Y=$(Q)[0].1p;if(Y!=\'58\'&&!q.L.6X(Q)){E 3g=q.L.bH();$(Q).3F(3g);q.1V.3P(3g)}N{if(Y!=\'58\'&&q.L.1P(\'2E\')){q.1V.2W($(Q).1N())}N{q.1V.d9(Q,\'3F\')}}}51(e){E 3g=q.L.bH();$(Q).3F(3g);q.1V.3P(3g)}},bT:C(Q){if(q.L.6X(Q)){q.1V.3P($(Q).4G())}N{q.1V.d9(Q,\'a6\')}},d9:C(Q,1m){if(!q.L.1P(\'2E\'))q.$T.2n();Q=Q[0]||Q;q.J.1b();if(1m==\'3F\'){52{q.14.9I(Q);q.14.mn(Q)}51(e){}}N{52{q.14.mk(Q);q.14.ks(Q)}51(e){}}q.14.43(O);q.J.4l()},b4:C(Q){Q=Q[0]||Q;q.J.1b();E at=q.14.7S();at.9j(Q);at.3P(q.14.bQ,q.14.bO);F $.3k(at.4y()).12},ar:C(){E 2I=0;E 2T=3l.4D();if(2T.7A>0){E 14=3l.4D().6l(0);E aJ=14.7S();aJ.9j(q.$T[0]);aJ.3P(14.bQ,14.bO);2I=aJ.4y().12}F 2I},eh:C(2b,2h){if(1s 2h==\'1y\')2h=2b;if(!q.2n.dO())q.2n.2W();E 2T=q.J.1b();E Q,2I=0;E hn=1l.mh(q.$T[0],mi.lR,4e,4e);56(Q==hn.lQ()){2I+=Q.5O.12;if(2I>2b){q.14.2W(Q,Q.5O.12+2b-2I);2b=lP}if(2I>=2h){q.14.3P(Q,Q.5O.12+2h-2I);6n}}q.14.43(O);q.J.4l()},lO:C(2b,2h){q.1V.eh(2b,2h)},m2:C(){F q.1V.ar()}}},1x:C(){F{gH:C(B){B=B.K(/<3V(.*?[^>]?)>([\\w\\W]*?)<\\/3V>/gi,\'<2F 1G="I-3V-Y" 1o="6N: 5p;" $1>$2</2F>\');B=B.K(/\\$/g,\'&#36;\');B=B.K(/<a 2k="(.*?[^>]?)®(.*?[^>]?)">/gi,\'<a 2k="$1&lW$2">\');if(q.G.5Q)B=q.1x.5Q(B);if(q.G.1M)B=q.1x.8C(B);B=q.1x.cT(B);E $1i=$(\'<1i>\');$1i.B(B);E da=$1i.1h(\'3R[1o]\');if(da.12!==0){da.2t(C(){E $el=$(q);E $1j=$(\'<1j>\').1c(\'1o\',$el.1c(\'1o\'));F $1j.1F($el.26())});B=$1i.B()}$1i.1u();B=B.K(/<3R(.*?[^<])>/gi,\'\');B=B.K(/<\\/3R>/gi,\'\');B=q.1I.2R(B);if(q.G.2V)B=q.2V.2R(B);B=q.1x.7R(B);B=q.1x.cU(B);B=B.K(/&9o;/g,\'&\');F B},9R:C(B){B=B.K(/\\6g/g,\'\');B=B.K(/&#9T;/gi,\'\');if(q.G.hj){B=B.K(/&5s;/gi,\' \')}if(B.3N(/^<p>(||\\s||<br\\s?\\/?>||&5s;)<\\/p>$/i)!=-1){F\'\'}B=B.K(/<2F 1G="I-3V-Y" 1o="6N: 5p;"(.*?[^>]?)>([\\w\\W]*?)<\\/2F>/gi,\'<3V$1>$2</3V>\');B=q.1x.gG(B);E hZ={\'\\mo\':\'&mp;\',\'\\mQ\':\'&mR;\',\'\\mK\':\'&mL;\',\'\\mM\':\'&n0;\',\'\\mU\':\'&mV;\'};$.1B(hZ,C(i,s){B=B.K(2a 2l(i,\'g\'),s)});if(q.L.1P(\'4b\')){B=B.K(/<br\\s?\\/?>$/gi,\'\')}B=B.K(2a 2l(\'<br\\\\s?/?></li>\',\'gi\'),\'</li>\');B=B.K(2a 2l(\'</li><br\\\\s?/?>\',\'gi\'),\'</li>\');B=B.K(/<(.*?)3T="\\s*?"(.*?[^>]?)>/gi,\'<$1$2">\');B=B.K(/<(.*?)1o="\\s*?"(.*?[^>]?)>/gi,\'<$1$2">\');B=B.K(/="">/gi,\'>\');B=B.K(/""">/gi,\'">\');B=B.K(/"">/gi,\'">\');B=B.K(/<1i(.*?[^>]) 1f-8b="I"(.*?[^>])>/gi,\'<1i$1$2>\');B=B.K(/<(.*?) 1f-3H="I"(.*?[^>])>/gi,\'<$1$2>\');E $1i=$("<1i/>").B($.dQ(B,1l,1q));$1i.1h("1j").1K("3T");$1i.1h(\'2F .I-7s-3g\').1B(C(){$(q).26().3Y()});B=$1i.B();B=B.K(/<1L(.*?[^>])3T="(.*?[^>])"(.*?[^>])>/gi,\'<1L$1$3>\');B=B.K(/<1j 1G="I-7s-3g">(.*?)<\\/1j>/gi,\'$1\');B=B.K(/ 1f-3o-2i="(.*?[^>])"/gi,\'\');B=B.K(/<1j(.*?)id="I-M-2Q"(.*?[^>])>([\\w\\W]*?)<1L(.*?)><\\/1j>/gi,\'$3<1L$4>\');B=B.K(/<1j(.*?)id="I-M-8f"(.*?[^>])>(.*?)<\\/1j>/gi,\'\');B=B.K(/<1j(.*?)id="I-M-5l"(.*?[^>])>(.*?)<\\/1j>/gi,\'\');B=B.K(/<3R(.*?[^<])>/gi,\'\');B=B.K(/<\\/3R>/gi,\'\');B=q.1I.2R(B);if(q.G.hR){B=B.K(/<a(.*?)3T="hG"(.*?[^>])>/gi,\'<a$1$2>\');B=B.K(/<a(.*?[^>])>/gi,\'<a$1 3T="hG">\')}B=B.K(/\\mv-I-(Y|1G|1o)="(.*?[^>])"/gi,\'\');B=B.K(2a 2l(\'<(.*?) 1f-3H="I"(.*?[^>])>\',\'gi\'),\'<$1$2>\');B=B.K(2a 2l(\'<(.*?) 1f-3H="I">\',\'gi\'),\'<$1>\');B=B.K(/&9o;/g,\'&\');F B},8y:C(B,8i){B=$.3k(B);B=B.K(/\\$/g,\'&#36;\');B=B.K(/<1j 1G="s[0-9]">/gi,\'<1j>\');B=B.K(/<1j 1G="hN-mx-3g">&5s;<\\/1j>/gi,\' \');B=B.K(/<1j 1G="hN-5I-1j"[^>]*>\\t<\\/1j>/gi,\'\\t\');B=B.K(/<1j[^>]*>(\\s|&5s;)<\\/1j>/gi,\' \');if(q.G.hL){F q.1x.aj(B)}if(!q.L.9w()&&1s 8i==\'1y\'){if(q.L.4S([\'hM\',\'A\'])){F q.1x.aj(B,O)}if(q.L.4S(\'8o\')){B=B.K(/”/g,\'"\');B=B.K(/“/g,\'"\');B=B.K(/‘/g,\'\\\'\');B=B.K(/’/g,\'\\\'\');F q.1x.gK(B)}if(q.L.4S([\'aK\',\'dK\',\'di\',\'cS\',\'cR\',\'cI\',\'cH\'])){B=q.1x.gL(B);if(!q.L.1P(\'2E\')){E R=q.J.4a();if(R&&R.1p==\'P\'){B=B.K(/<1L(.*?)>/gi,\'<p><1L$1></p>\')}}F B}if(q.L.4S([\'6F\'])){B=q.1x.b0(B,\'2Y\');if(q.G.1M)B=q.1x.8C(B);B=q.1x.gF(B);F B}if(q.L.4S([\'5v\'])){F q.1x.b0(B,\'li\')}}B=q.1x.gP(B,8i);if(!q.1x.9D){if(q.G.1M)B=q.1x.8C(B);if(q.G.5Q)B=q.1x.5Q(B);B=q.1x.cT(B)}B=q.1x.ha(B);B=q.1x.gb(B);B=q.1x.b0(B,\'gB\');if(!q.1x.9D&&q.G.2V){B=q.2V.2R(B)}B=q.1x.gO(B);B=q.1x.gZ(B);B=q.1x.h0(B);B=q.1x.cU(B);F B},ha:C(B){B=B.K(/<!--[\\s\\S]*?-->/gi,\'\');B=B.K(/<1o[^>]*>[\\s\\S]*?<\\/1o>/gi,\'\');B=B.K(/<o\\:p[^>]*>[\\s\\S]*?<\\/o\\:p>/gi,\'\');if(B.1T(/1G="?gd|1o="[^"]*\\gr-|1o=\'[^\'\']*\\gr-|w:ms/i)){B=B.K(/<!--[\\s\\S]+?-->/gi,\'\');B=B.K(/<(!|3V[^>]*>.*?<\\/3V(?=[>\\s])|\\/?(\\?my(:\\w+)?|1L|5h|V|1o|\\w:\\w+)(?=[\\s\\/>]))[^>]*>/gi,\'\');B=B.K(/<(\\/?)s>/gi,"<$mz>");B=B.K(/ /gi,\' \');B=B.K(/<1j\\s+1o\\s*=\\s*"\\s*aY-mF\\s*:\\s*mG\\s*;?\\s*"\\s*>([\\s\\9Z]*)<\\/1j>/gi,C(5f,aW){F(aW.12>0)?aW.K(/./," ").ct(8d.mH(aW.12/2)).4o("").3c("\\9Z"):\'\'});B=q.1x.gQ(B);B=B.K(/<1L(.*?)v:mA=(.*?)>/gi,\'\');B=B.K(/4t="22\\:\\/\\/(.*?)"/,\'4t=""\');E $1i=$("<1i/>").B(B);E 5T=O;E 8V=1;E cY=[];$1i.1h("p[1o]").1B(C(){E 3M=$(q).1c(\'1o\').1T(/aY\\-2e\\:l([0-9]+)\\n1([0-9]+)/);if(3M){E 5V=5L(3M[1]);E 5W=5L(3M[2]);E cX=$(q).B().1T(/^[\\w]+\\./)?"ol":"3p";E $li=$("<li/>").B($(q).B());$li.B($li.B().K(/^([\\w\\.]+)</,\'<\'));$li.1h("1j:3I").1u();if(5W==1&&$.3t(5V,cY)==-1){E $2e=$("<"+cX+"/>").1c({"1f-7h":5W,"1f-2e":5V}).B($li);$(q).2t($2e);5T=5V;cY.2N(5V)}N{if(5W>8V){E $aV=$1i.1h(\'[1f-7h="\'+8V+\'"][1f-2e="\'+5T+\'"]\');E $5T=$aV;2B(E i=8V;i<5W;i++){$2e=$("<"+cX+"/>");$2e.aU($5T.1h("li").2Z());$5T=$2e}$5T.1c({"1f-7h":5W,"1f-2e":5V}).B($li)}N{E $aV=$1i.1h(\'[1f-7h="\'+5W+\'"][1f-2e="\'+5V+\'"]\').2Z();$aV.1F($li)}8V=5W;5T=5V;$(q).1u()}}});$1i.1h(\'[1f-7h][1f-2e]\').1K(\'1f-7h 1f-2e\');B=$1i.B();B=B.K(/·/g,\'\');B=B.K(/<p 1G="gd(.*?)"/gi,\'<p\');B=B.K(/ 1G=\\"(aY[^\\"]*)\\"/gi,"");B=B.K(/ 1G=(aY\\w+)/gi,"");B=B.K(/<o:p(.*?)>([\\w\\W]*?)<\\/o:p>/gi,\'$2\');B=B.K(/\\n/g,\' \');B=B.K(/<p>\\n?<li>/gi,\'<li>\')}F B},gb:C(B){B=B.K(/<b\\l6="g9-4E-2r(.*?)">([\\w\\W]*?)<\\/b>/gi,"$2");B=B.K(/<b(.*?)id="l5-g9-l9(.*?)">([\\w\\W]*?)<\\/b>/gi,"$3");B=B.K(/<1j[^>]*(3R-1o: 4m; 3R-7I: 4n|3R-7I: 4n; 3R-1o: 4m)[^>]*>/gi,\'<1j 1o="3R-7I: 4n;"><1j 1o="3R-1o: 4m;">\');B=B.K(/<1j[^>]*3R-1o: 4m[^>]*>/gi,\'<1j 1o="3R-1o: 4m;">\');B=B.K(/<1j[^>]*3R-7I: 4n[^>]*>/gi,\'<1j 1o="3R-7I: 4n;">\');B=B.K(/<1j[^>]*1g-7a: 5x[^>]*>/gi,\'<1j 1o="1g-7a: 5x;">\');B=B.K(/<1L>/gi,\'\');B=B.K(/\\n{3,}/gi,\'\\n\');B=B.K(/<3R(.*?)>([\\w\\W]*?)<\\/3R>/gi,\'$2\');B=B.K(/<p><p>/gi,\'<p>\');B=B.K(/<\\/p><\\/p>/gi,\'</p>\');B=B.K(/<li>(\\s*|\\t*|\\n*)<p>/gi,\'<li>\');B=B.K(/<\\/p>(\\s*|\\t*|\\n*)<\\/li>/gi,\'</li>\');B=B.K(/<\\/p>\\s<p/gi,\'<\\/p><p\');B=B.K(/<1L 4t="7q-lz-2i\\:\\/\\/(.*?)"(.*?)>/gi,\'\');B=B.K(/<p>•([\\w\\W]*?)<\\/p>/gi,\'<li>$1</li>\');if(q.L.1P(\'4b\')){B=B.K(/<br\\s?\\/?>$/gi,\'\')}F B},b0:C(B,1m){E 2d=[\'1j\',\'a\',\'2F\',\'29\',\'9f\',\'em\',\'5i\',\'1e\',\'aS\',\'6A\',\'du\',\'8S\',\'E\',\'aN\',\'cL\',\'7Q\',\'7l\',\'b\',\'i\',\'u\',\'4h\',\'ol\',\'3p\',\'li\',\'dl\',\'dt\',\'dd\',\'p\',\'br\',\'6Y\',\'8Y\',\'4R\',\'7i\',\'8J\',\'41\',\'1L\',\'3W\',\'2Y\',\'5P\',\'6O\',\'ee\',\'e3\',\'e7\',\'h1\',\'h2\',\'h3\',\'h4\',\'h5\',\'h6\'];E cK=O;E cN=[[\'a\',\'*\'],[\'1L\',[\'4t\',\'80\']],[\'1j\',[\'1G\',\'3T\',\'1f-3H\']],[\'4R\',\'*\'],[\'6Y\',\'*\'],[\'8Y\',\'*\'],[\'7i\',\'*\'],[\'41\',\'*\'],[\'8J\',\'*\'],[\'4E\',\'*\']];if(1m==\'gB\'){cK=[\'p\',\'1j\',\'h1\',\'h2\',\'h3\',\'h4\',\'h5\',\'h6\'];cN=[[\'3W\',\'1G\'],[\'2Y\',[\'lw\',\'la\']],[\'a\',\'*\'],[\'1L\',[\'4t\',\'80\',\'1f-I-8m-M\']],[\'1j\',[\'1G\',\'3T\',\'1f-3H\']],[\'4R\',\'*\'],[\'6Y\',\'*\'],[\'8Y\',\'*\'],[\'7i\',\'*\'],[\'41\',\'*\'],[\'8J\',\'*\'],[\'4E\',\'*\']]}N if(1m==\'2Y\'){2d=[\'3p\',\'ol\',\'li\',\'1j\',\'a\',\'9f\',\'em\',\'5i\',\'1e\',\'aS\',\'6A\',\'8S\',\'E\',\'aN\',\'cL\',\'7Q\',\'7l\',\'b\',\'i\',\'u\',\'4h\',\'ol\',\'3p\',\'li\',\'dl\',\'dt\',\'dd\',\'br\',\'4R\',\'6Y\',\'8Y\',\'7i\',\'8J\',\'41\',\'1L\',\'h1\',\'h2\',\'h3\',\'h4\',\'h5\',\'h6\']}N if(1m==\'li\'){2d=[\'3p\',\'ol\',\'li\',\'1j\',\'a\',\'9f\',\'em\',\'5i\',\'1e\',\'aS\',\'6A\',\'8S\',\'E\',\'aN\',\'cL\',\'7Q\',\'7l\',\'b\',\'i\',\'u\',\'4h\',\'br\',\'4R\',\'6Y\',\'8Y\',\'7i\',\'8J\',\'41\',\'1L\']}E 44={4c:(q.G.4c)?q.G.4c:O,4z:(q.G.4z)?q.G.4z:2d,6G:1q,lg:1q,1K:(q.G.1K)?q.G.1K:O,4T:(q.G.4T)?q.G.4T:cN,4f:cK};F q.1I.2R(B,44)},h0:C(B){B=B.K(/<(p|h[1-6])>(|\\s|\\n|\\t|<br\\s?\\/?>)<\\/(p|h[1-6])>/gi,\'\');if(!q.G.1M)B=B.K(/<br>$/i,\'\');F B},gZ:C(B){B=B.K(/<1j>(.*?)<\\/1j>/gi,\'$1\');B=B.K(/<1j[^>]*>\\s|&5s;<\\/1j>/gi,\' \');F B},gQ:C(B){if(!q.L.1P(\'2E\'))F B;E 5q=$.3k(B);if(5q.3N(/^<a(.*?)>(.*?)<\\/a>$/i)===0){B=B.K(/^<a(.*?)>(.*?)<\\/a>$/i,"$2")}F B},gP:C(B,8i){q.1x.9D=O;if(!q.L.9w()&&1s 8i==\'1y\'){E 1Z=q.G.8q.3c(\'|\').K(\'P|\',\'\').K(\'89|\',\'\');E gD=B.1T(2a 2l(\'</(\'+1Z+\')>\',\'gi\'));E aQ=B.1T(/<\\/(p|1i)>/gi);if(!gD&&(aQ===4e||(aQ&&aQ.12<=1))){E gI=B.1T(/<br\\s?\\/?>/gi);if(!gI){q.1x.9D=1q;B=B.K(/<\\/?(p|1i)(.*?)>/gi,\'\')}}}F B},lq:C(3D,5J){5J=(((5J||\'\')+\'\').3e().1T(/<[a-z][a-7t-9]*>/g)||[]).3c(\'\');E 2d=/<\\/?([a-z][a-7t-9]*)\\b[^>]*>/gi;F 3D.K(2d,C($0,$1){F 5J.4Q(\'<\'+$1.3e()+\'>\')>-1?$0:\'\'})},lr:C(B){B=q.1x.gJ(B);B=q.1x.gN(B);B=q.1x.gM(B);F B},gJ:C(B){E 2F=B.1T(/<2F(.*?)>([\\w\\W]*?)<\\/2F>/gi);if(2F!==4e){$.1B(2F,$.1d(C(i,s){E 2C=s.1T(/<2F(.*?)>([\\w\\W]*?)<\\/2F>/i);2C[2]=2C[2].K(/<br\\s?\\/?>/g,\'\\n\');2C[2]=2C[2].K(/&5s;/g,\' \');if(q.G.6v){2C[2]=2C[2].K(/\\t/g,9F(q.G.6v+1).3c(\' \'))}2C[2]=q.1x.as(2C[2]);2C[2]=2C[2].K(/\\$/g,\'&#36;\');B=B.K(s,\'<2F\'+2C[1]+\'>\'+2C[2]+\'</2F>\')},q))}F B},gN:C(B){E 1e=B.1T(/<1e(.*?)>([\\w\\W]*?)<\\/1e>/gi);if(1e!==4e){$.1B(1e,$.1d(C(i,s){E 2C=s.1T(/<1e(.*?)>([\\w\\W]*?)<\\/1e>/i);2C[2]=2C[2].K(/&5s;/g,\' \');2C[2]=q.1x.as(2C[2]);2C[2]=2C[2].K(/\\$/g,\'&#36;\');B=B.K(s,\'<1e\'+2C[1]+\'>\'+2C[2]+\'</1e>\')},q))}F B},gM:C(B){B=B.K(/&lt;1j id=&5N;J-2r-([0-9])&5N; 1G=&5N;I-J-2r&5N; 1f-3H=&5N;I&5N;&gt;​&lt;\\/1j&gt;/g,\'<1j id="J-2r-$1" 1G="I-J-2r" 1f-3H="I">​</1j>\');F B},cG:C(B){B=B.K(/<br\\s?\\/?>|<\\/H[1-6]>|<\\/p>|<\\/1i>|<\\/li>|<\\/2Y>/gi,\'\\n\');E 5q=1l.3w(\'1i\');5q.3x=B;B=5q.ll||5q.lm;F $.3k(B)},aj:C(B,2V){B=q.1x.cG(B);B=B.K(/\\n/g,\'<br />\');if(q.G.2V&&1s 2V==\'1y\'&&!q.L.1P(\'4b\')){B=q.2V.2R(B)}F B},gK:C(B){B=B.K(/<1L(.*?) 1o="(.*?)"(.*?[^>])>/gi,\'<1L$1$3>\');B=B.K(/<1L(.*?)>/gi,\'&lt;1L$1&gt;\');B=q.1x.cG(B);if(q.G.6v){B=B.K(/\\t/g,9F(q.G.6v+1).3c(\' \'))}B=q.1x.as(B);F B},gL:C(B){B=B.K(/<1L(.*?)>/gi,\'[1L$1]\');B=B.K(/<([pY]*?)>/gi,\'\');B=B.K(/\\[1L(.*?)\\]/gi,\'<1L$1>\');F B},pG:C(B){B=B.K(/<a(.*?)2k="(.*?)"(.*?)>([\\w\\W]*?)<\\/a>/gi,\'[a 2k="$2"]$4[/a]\');B=B.K(/<1L(.*?)>/gi,\'[1L$1]\');B=B.K(/<(.*?)>/gi,\'\');B=B.K(/\\[a 2k="(.*?)"\\]([\\w\\W]*?)\\[\\/a\\]/gi,\'<a 2k="$1">$2</a>\');B=B.K(/\\[1L(.*?)\\]/gi,\'<1L$1>\');F B},as:C(5f){5f=6f(5f).K(/&9o;/g,\'&\').K(/&lt;/g,\'<\').K(/&gt;/g,\'>\').K(/&5N;/g,\'"\');F 5f.K(/&/g,\'&9o;\').K(/</g,\'&lt;\').K(/>/g,\'&gt;\').K(/"/g,\'&5N;\')},gO:C(B){if(q.L.1P(\'2E\'))F B;E 1i=1l.3w(\'1i\');1i.3x=B;q.1x.cV($(1i));B=1i.3x;$(1i).1u();F B},4r:C(){if(q.L.1P(\'2E\'))F;q.1x.cV(q.$T);E cP=q.$T.1h(\'h1, h2, h3, h4, h5, h6\');cP.1h(\'1j\').1K(\'1o\');cP.1h(q.G.cW.3c(\', \')).1K(\'1o\');q.1e.1S()},cV:C($T){$T.1h(q.G.cW.3c(\', \')).1K(\'1o\');$T.1h(\'1j\').6h(\'[1f-3H="I"]\').1K(\'1o\');$T.1h(\'1j[1f-3H="I"], 1L[1f-3H="I"]\').1B(C(i,s){E $s=$(s);$s.1c(\'1o\',$s.1c(\'3T\'))})},pz:C(){},7R:C(B){if(q.L.1P(\'2E\'))F B;B=B.K(2a 2l(\'<1L(.*?[^>])>\',\'gi\'),\'<1L$1 1f-3H="I">\');B=B.K(2a 2l(\'<1j(.*?[^>])>\',\'gi\'),\'<1j$1 1f-3H="I">\');E 3M=B.1T(2a 2l(\'<(1j|1L)(.*?)1o="(.*?)"(.*?[^>])>\',\'gi\'));if(3M){E 2p=3M.12;2B(E i=0;i<2p;i++){52{E gE=3M[i].K(/1o="(.*?)"/i,\'1o="$1" 3T="$1"\');B=B.K(3M[i],gE)}51(e){}}}F B},cU:C(B){E $1i=$(\'<1i />\').B(B);E 2d=q.G.4N;2d.2N(\'1j\');$1i.1h(2d.3c(\',\')).1B(C(){E $el=$(q);E Y=q.1p.3e();$el.1c(\'1f-I-Y\',Y);if(Y==\'1j\'){if($el.1c(\'1o\'))$el.1c(\'1f-I-1o\',$el.1c(\'1o\'));N if($el.1c(\'1G\'))$el.1c(\'1f-I-1G\',$el.1c(\'1G\'))}});B=$1i.B();$1i.1u();F B},ap:C(){q.$T.1h(\'li\').1B(C(i,s){E $1N=$(s).1N();if($1N.12!==0&&($1N[0].1p==\'8D\'||$1N[0].1p==\'8N\')){$(s).1F($1N)}})},dH:C(B){B=B.K(/\\n/g,\'\');B=B.K(/[\\t]*/g,\'\');B=B.K(/\\n\\s*\\n/g,"\\n");B=B.K(/^[\\s\\n]*/g,\' \');B=B.K(/[\\s\\n]*$/g,\' \');B=B.K(/>\\s{2,}</g,\'> <\');B=B.K(/\\n\\n/g,"\\n");B=B.K(/\\6g/g,\'\');F B},5Q:C(B){if(q.G.1M){B=B.K(/<1i><br\\s?\\/?><\\/1i>/gi,\'<br />\');B=B.K(/<1i(.*?)>([\\w\\W]*?)<\\/1i>/gi,\'$2<br />\')}N{B=B.K(/<1i(.*?)>([\\w\\W]*?)<\\/1i>/gi,\'<p$1>$2</p>\')}B=B.K(/<1i(.*?[^>])>/gi,\'\');B=B.K(/<\\/1i>/gi,\'\');F B},gF:C(B){B=B.K(/<1i\\s(.*?)>/gi,\'<p>\');B=B.K(/<1i><br\\s?\\/?><\\/1i>/gi,\'<br /><br />\');B=B.K(/<1i>([\\w\\W]*?)<\\/1i>/gi,\'$1<br /><br />\');F B},8C:C(B){B=B.K(/<p\\s(.*?)>/gi,\'<p>\');B=B.K(/<p><br\\s?\\/?><\\/p>/gi,\'<br />\');B=B.K(/<p>([\\w\\W]*?)<\\/p>/gi,\'$1<br /><br />\');B=B.K(/(<br\\s?\\/?>){1,}\\n?<\\/29>/gi,\'</29>\');F B},cT:C(B){F B.K(/<64(.*?)>([\\w\\W]*?)<\\/64>/gi,\'<49$1 3T="I-64-Y">$2</49>\')},gG:C(B){F B.K(/<49(.*?) 3T="I-64-Y"(.*?)>([\\w\\W]*?)<\\/49>/gi,\'<64$1$2>$3</64>\')}}},1e:C(){F{1U:C(B){B=$.3k(B.4y());B=q.1x.gH(B);if(q.L.1P(\'2E\')){B=B.K(/<1j(.*?)id="J-2r-(1|2)"(.*?)><\\/1j>;/gi,\'\')}q.$T.B(B);q.1e.1S();if(B!==\'\')q.3f.1u();3A($.1d(q.25.cQ,q),15);if(q.2b===O)q.1R.2R()},1b:C(){E 1e=q.$2v.2K();if(q.G.5Q)1e=q.1x.5Q(1e);if(q.G.1M)1e=q.1x.8C(1e);1e=q.2H.1b(1e);F 1e},1S:C(){3A($.1d(q.1e.gY,q),10)},gY:C(){E B=q.$T.B();if(q.1e.dh&&q.1e.dh==B){F}q.1e.dh=B;B=q.1X.2u(\'pV\',B);B=q.1x.9R(B);q.$2v.2K(B);q.1X.2u(\'1S\',B);if(q.2b===O){q.1X.2u(\'kR\',B)}q.2b=O;if(q.3r.B==O){q.3r.B=q.1e.1b()}if(q.G.8n){q.$2v.1N(\'.3C\').1B(C(i,el){el.3C.gX(B)})}q.3r.h7();q.3r.9Q()},3m:C(){if(q.G.6r){q.1e.dJ()}N{q.1e.gU()}},dJ:C(){q.J.3o();q.1e.2I=q.1V.ar();E 6b=$(3l).3U();E 2J=q.$T.7P(),3n=q.$T.6c();q.$T.3v();E B=q.$2v.2K();q.gk=q.1x.dH(B);B=q.2H.1b(B);E 2b=0,2h=0;E $6W=$("<1i/>").1F($.dQ(q.1x.9R(q.$T.B()),1l,1q));E $a4=$6W.1h("1j.I-J-2r");if($a4.12>0){E a3=q.2H.1b($6W.B()).K(/&9o;/g,\'&\');if($a4.12==1){2b=q.L.bF(a3,$6W.1h("#J-2r-1").6j("7v"));2h=2b}N if($a4.12==2){2b=q.L.bF(a3,$6W.1h("#J-2r-1").6j("7v"));2h=q.L.bF(a3,$6W.1h("#J-2r-2").6j("7v"))-$6W.1h("#J-2r-1").6j("7v").4y().12}}q.J.8p();q.$2v.2K(B);if(q.G.8n){q.$2v.1N(\'.3C\').1B(C(i,el){$(el).2O();el.3C.gX(B);el.3C.pO(\'88%\',3n);el.3C.pP();if(2b==2h){el.3C.pQ(el.3C.7d(2b).3K,el.3C.7d(2h).ch)}N{el.3C.pv({3K:el.3C.7d(2b).3K,ch:el.3C.7d(2b).ch},{3K:el.3C.7d(2h).3K,ch:el.3C.7d(2h).ch})}el.3C.2n()})}N{q.$2v.3n(3n).2O().2n();q.$2v.on(\'1D.I-2v-gl\',q.1e.ga);$(3l).3U(6b);if(q.$2v[0].gR){q.$2v[0].gR(2b,2h)}q.$2v[0].3U=0}q.G.6r=O;q.1t.gT();q.1t.9q(\'B\');q.1X.2u(\'4E\',B)},gU:C(){E B;if(q.G.6r)F;E 2b=0,2h=0;if(q.G.8n){E J;q.$2v.1N(\'.3C\').1B(C(i,el){J=el.3C.pu();2b=el.3C.gC(J[0].gV);2h=el.3C.gC(J[0].e0);B=el.3C.pb()})}N{2b=q.$2v.1b(0).dE;2h=q.$2v.1b(0).dF;B=q.$2v.3v().2K()}if(2b>2h&&2h>0){E gh=2h;E gg=2b;2b=gh;2h=gg}2b=q.1e.dG(B,2b);2h=q.1e.dG(B,2h);B=B.4x(0,2b)+q.J.5a(1)+B.4x(2b);if(2h>2b){E dI=q.J.5a(1).4y().12;B=B.4x(0,2h+dI)+q.J.5a(2)+B.4x(2h+dI)}if(q.gk!==q.1x.dH(B)){q.1e.1U(B)}if(q.G.8n){q.$2v.1N(\'.3C\').3v()}q.$T.2O();if(!q.L.3z(B)){q.3f.1u()}q.J.3d();q.$2v.3h(\'1D.I-2v-gl\');q.1t.gf();q.1t.ge(\'B\');q.1R.2R();q.G.6r=1q;q.1X.2u(\'6r\',B)},ga:C(e){if(e.3j!==9)F 1q;E $el=q.$2v;E 2b=$el.1b(0).dE;$el.2K($el.2K().aB(0,2b)+"\\t"+$el.2K().aB($el.1b(0).dF));$el.1b(0).dE=$el.1b(0).dF=2b+1;F O},dG:C(B,2I){E dM=B.12;E c=0;if(B[2I]==\'>\'){c++}N{2B(E i=2I;i<=dM;i++){c++;if(B[i]==\'>\'){6n}N if(B[i]==\'<\'||i==dM){c=0;6n}}}F 2I+c}}},1X:C(){F{p5:C(){F $.7E({},q)},p7:C(){F q.$T},p6:C(){F q.$2Q},pf:C(){F q.$2j},pg:C(){F q.$2v},pq:C(){F(q.$1A)?q.$1A:O},9K:C(1w){q.1X.8e=1w},7g:C(){F q.1X.8e},2u:C(1m,e,1f){E 9V=1m+\'pp\';E gy=\'I\';E 2A=q.G[9V];if(q.$2v){E 8l=O;E 9t=$.pr(q.$2v[0],\'9t\');if(1s 9t!=\'1y\'&&1s 9t[9V]!=\'1y\'){$.1B(9t[9V],$.1d(C(1k,1E){if(1E[\'pt\']==gy){E 1f=(1s 1f==\'1y\')?[e]:[e,1f];8l=(1s 1f==\'1y\')?1E.7N.6e(q,e):1E.7N.6e(q,e,1f)}},q))}if(8l)F 8l}if($.5k(2A)){F(1s 1f==\'1y\')?2A.6e(q,e):2A.6e(q,e,1f)}N{F(1s 1f==\'1y\')?e:1f}},gA:C(){q.G.jL=1q;q.1X.2u(\'gA\');q.$2j.3h(\'.I\').gv(\'I\');q.$T.3h(\'.I\');$(1l).3h(\'6R.I.\'+q.2G);$(1l).3h(\'2y.I-M-83.\'+q.2G);$(1l).3h(\'2y.I-M-4J-3v.\'+q.2G);$(1l).3h(\'5H.I.\'+q.2G+\' 2y.I.\'+q.2G);$("31").3h(\'6b.I.\'+q.2G);$(q.G.6y).3h(\'6b.I.\'+q.2G);q.$T.2S(\'I-T I-1M I-3f\');q.$T.1K(\'5d\');E B=q.1e.1b();if(q.G.1A){q.$1A.1h(\'a\').1B(C(){E $el=$(q);if($el.1f(\'1n\')){$el.1f(\'1n\').1u();$el.1f(\'1n\',{})}})}if(q.2o.aa()){q.$2Q.3F(q.$2j);q.$2Q.1u();q.$2j.2K(B).2O()}N{q.$2Q.3F(q.$T);q.$2Q.1u();q.$2j.B(B).2O()}if(q.$5e)q.$5e.1u();if(q.$4F)q.$4F.1u();if(q.$74)q.$74.1u();$(\'.I-1A-3q-\'+q.2G).1u();gu(q.9m)}}},1n:C(){F{2o:C(1w,$1n,dU){if(1w==\'3a\'&&q.G.dT){$.1B(q.G.dT,$.1d(C(i,s){E 1w=s.Y,1C;if(1s s[\'1G\']!=\'1y\'){1w=1w+\'-\'+s[\'1G\']}s.1m=(q.L.7J(s.Y))?\'R\':\'28\';if(1s s.1C!=="1y"){1C=s.1C}N{1C=(s.1m==\'28\')?\'28.3a\':\'R.3a\'}if(q.G.1M&&s.1m==\'R\'&&s.Y==\'p\')F;q.3a[1w]={Y:s.Y,1o:s.1o,\'1G\':s[\'1G\'],1c:s.1c,1f:s.1f,8M:s.8M};dU[1w]={1C:1C,1J:s.1J}},q))}$.1B(dU,$.1d(C(2g,2X){E $2x=$(\'<a 2k="#" 1G="I-1n-\'+2g+\'" 9c="1t">\'+2X.1J+\'</a>\');if(1w==\'3a\')$2x.2f(\'I-3a-\'+2g);$2x.on(\'2y\',$.1d(C(e){e.2w();E 1m=\'1C\';E 2A=2X.1C;if(2X.4A){1m=\'4A\';2A=2X.4A}N if(2X.1n){1m=\'1n\';2A=2X.1n}if($(e.1Q).3i(\'I-1n-V-c9\'))F;q.1t.ac(e,2g,1m,2A);q.1n.7C()},q));q.1R.cc($2x,2g,2X);$1n.1F($2x)},q))},2O:C(e,1k){if(!q.G.6r){e.2w();F O}E $1t=q.1t.1b(1k);E $1n=$1t.1f(\'1n\').aU(1l.31);if(q.G.cA){$1n.2f("I-1n-jP")}if($1t.3i(\'7y\')){q.1n.7C()}N{q.1n.7C();q.1R.79();q.1X.2u(\'pm\',{1n:$1n,1k:1k,1t:$1t});q.1t.9q(1k);$1t.2f(\'7y\');E 7x=$1t.2I();E dS=$1n.2J();if((7x.2c+dS)>$(1l).2J()){7x.2c=8d.pl(0,7x.2c-dS)}E 2c=7x.2c+\'px\';if(q.$1A.3i(\'1A-82-2Q\')){E 2U=q.$1A.6c()+q.G.6z;E 4g=\'82\';if(q.G.6y!==1l){2U=(q.$1A.6c()+q.$1A.2I().2U)+q.G.6z;4g=\'8u\'}$1n.1O({4g:4g,2c:2c,2U:2U+\'px\'}).2O()}N{E 2U=($1t.6c()+7x.2U)+\'px\';$1n.1O({4g:\'8u\',2c:2c,2U:2U}).2O()}q.1X.2u(\'qP\',{1n:$1n,1k:1k,1t:$1t});q.$1n=$1n}$(1l).dR(\'2y.I-1n\',$.1d(q.1n.3v,q));q.$T.dR(\'2y.I-1n\',$.1d(q.1n.3v,q));$(1l).dR(\'2s.I-1n\',$.1d(q.1n.9a,q));$1n.on(\'ay.I-1n\',$.1d(q.L.d8,q)).on(\'az.I-1n\',$.1d(q.L.bJ,q));e.fw()},9a:C(e){if(e.7U!=q.3j.b2)F;q.1n.7C();q.$T.2n()},7C:C(){q.$1A.1h(\'a.7y\').2S(\'I-8A\').2S(\'7y\');q.L.bJ();$(\'.I-1n-\'+q.2G).3v();$(\'.I-1n-V-h9\').2S(\'I-1n-V-h9\');if(q.$1n){q.$1n.3h(\'.I-1n\');q.1X.2u(\'qC\',q.$1n);q.$1n=O}},3v:C(e){E $1n=$(e.1Q);if(!$1n.3i(\'7y\')&&!$1n.3i(\'I-1n-V-c9\')){$1n.2S(\'7y\');$1n.3h(\'ay az\');q.1n.7C()}}}},22:C(){F{2O:C(){q.1a.2R(\'22\',q.1H.1b(\'22\'),hP);q.1v.3Q(\'#I-1a-22-1v\',q.G.76,q.22.1Y);q.J.3o();q.J.1b();E 1g=q.2T.4y();$(\'#I-6k\').2K(1g);q.1a.2O()},1Y:C(2P,4Y,e){if(1s 2P.6U!=\'1y\'){q.1a.4j();q.J.3d();q.1X.2u(\'qG\',2P);F}E V;if(1s 2P==\'6Z\'){V=2P}N{E 1g=$(\'#I-6k\').2K();if(1s 1g==\'1y\'||1g===\'\')1g=2P.6k;V=\'<a 2k="\'+2P.9b+\'" id="9b-2r">\'+1g+\'</a>\'}if(4Y){q.J.8p();E 2r=q.J.6Q();q.1Y.dA(e,2r)}N{q.1a.4j()}q.J.3d();q.25.1U();q.1Y.fc(V);if(1s 2P==\'6Z\')F;E 8t=$(q.$T.1h(\'a#9b-2r\'));if(8t.12!==0){8t.1K(\'id\').1K(\'1o\')}N 8t=O;q.1X.2u(\'76\',8t,2P)}}},2n:C(){F{2W:C(){q.$T.2n();E 3I=q.$T.3O().3I();if(3I.12===0)F;if(3I[0].12===0||3I[0].1p==\'58\'||3I[0].a8==3){F}if(3I[0].1p==\'8D\'||3I[0].1p==\'8N\'){E 4w=3I.1h(\'li\').3I();if(!q.L.6X(4w)&&4w.1g()===\'\'){q.1V.2W(4w);F}}if(q.G.1M&&!q.L.7J(3I[0].1p)){q.J.1b();q.14.2W(q.$T[0],0);q.14.3P(q.$T[0],0);q.J.4l();F}q.1V.2W(3I)},3P:C(){E 2Z=q.$T.3O().2Z();q.$T.2n();if(2Z.9B()===0)F;if(q.L.3z(q.$T.B())){q.J.1b();q.14.43(1q);q.14.9I(2Z[0]);q.14.3P(2Z[0],0);q.J.4l()}N{q.J.1b();q.14.9j(2Z[0]);q.14.43(O);q.J.4l()}},dO:C(){E 8v=1l.4D().8v;if(8v===4e)F O;if(q.G.1M&&$(8v.e4).3i(\'I-1M\'))F 1q;N if(!q.L.4p(8v.e4))F O;F q.$T.is(\':2n\')}}},M:C(){F{2O:C(){q.1a.2R(\'M\',q.1H.1b(\'M\'),hP);q.1v.3Q(\'#I-1a-M-4d\',q.G.75,q.M.1Y);q.J.3o();q.1a.2O()},hc:C($M){E $V=$M.2q(\'a\',q.$T[0]);q.1a.2R(\'iX\',q.1H.1b(\'7L\'),qv);q.1a.cy();q.M.hJ=q.1a.io(q.1H.1b(\'hK\'));q.M.hF=q.1a.cz(q.1H.1b(\'3o\'));q.M.hJ.on(\'2y\',$.1d(C(){q.M.1u($M)},q));q.M.hF.on(\'2y\',$.1d(C(){q.M.i0($M)},q));$(\'.I-V-3q\').1u();$(\'#I-M-1J\').2K($M.1c(\'80\'));if(!q.G.hE)$(\'.I-M-V-42\').3v();N{E $dP=$(\'#I-M-V\');$dP.1c(\'2k\',$M.1c(\'4t\'));if($V.12!==0){$dP.2K($V.1c(\'2k\'));if($V.1c(\'1Q\')==\'7K\')$(\'#I-M-V-7Z\').6j(\'a0\',1q)}}if(!q.G.hH)$(\'.I-M-4g-42\').3v();N{E hI=($M.1O(\'6N\')==\'R\'&&$M.1O(\'7f\')==\'5p\')?\'5u\':$M.1O(\'7f\');$(\'#I-M-5g\').2K(hI)}q.1a.2O();$(\'#I-M-1J\').2n()},i1:C($M){E hQ=$(\'#I-M-5g\').2K();E ag=\'\';E dD=\'\';E 8P=\'\';eJ(hQ){9G\'2c\':ag=\'2c\';8P=\'0 \'+q.G.8x+\' \'+q.G.8x+\' 0\';6n;9G\'4s\':ag=\'4s\';8P=\'0 0 \'+q.G.8x+\' \'+q.G.8x;6n;9G\'5u\':dD=\'R\';8P=\'bj\';6n}$M.1O({\'7f\':ag,6N:dD,4B:8P});$M.1c(\'3T\',$M.1c(\'1o\'))},i0:C($M){q.M.7W();q.25.1U();E $V=$M.2q(\'a\',q.$T[0]);E 1J=$(\'#I-M-1J\').2K().K(/(<([^>]+)>)/ig,"");$M.1c(\'80\',1J);q.M.i1($M);E V=$.3k($(\'#I-M-V\').2K());E V=V.K(/(<([^>]+)>)/ig,"");if(V!==\'\'){E 7D=\'((jT--)?[a-7t-9]+(-[a-7t-9]+)*\\\\.)+[a-z]{2,}\';E 3J=2a 2l(\'^(8s|8K|5o)://\'+7D,\'i\');E a1=2a 2l(\'^\'+7D,\'i\');if(V.3N(3J)==-1&&V.3N(a1)===0&&q.G.5c){V=q.G.5c+\'://\'+V}E 1Q=($(\'#I-M-V-7Z\').6j(\'a0\'))?1q:O;if($V.12===0){E a=$(\'<a 2k="\'+V+\'">\'+q.L.6q($M)+\'</a>\');if(1Q)a.1c(\'1Q\',\'7K\');$M.2t(a)}N{$V.1c(\'2k\',V);if(1Q){$V.1c(\'1Q\',\'7K\')}N{$V.1K(\'1Q\')}}}N if($V.12!==0){$V.2t(q.L.6q($M))}q.1a.4j();q.1R.au();q.1e.1S()},j1:C($M){if(q.G.dq){$M.on(\'qH\',$.1d(q.M.bn,q))}E 7N=$.1d(C(e){q.1R.M=$M;q.M.8f=q.M.hk($M);$(1l).on(\'6R.I-M-4J-3v.\'+q.2G,$.1d(q.M.7W,q));if(!q.G.dp)F;q.M.8f.on(\'6R.I 5H.I\',$.1d(C(e){q.M.i2(e,$M)},q))},q);$M.3h(\'6R.I\').on(\'6R.I\',$.1d(q.M.7W,q));$M.3h(\'2y.I 5H.I\').on(\'2y.I 5H.I\',7N)},i2:C(e,$M){e.2w();q.M.4k={x:e.hY,y:e.ah,el:$M,dC:$M.2J()/$M.3n(),h:$M.3n()};e=e.7T||e;if(e.8G){q.M.4k.x=e.8G[0].hY;q.M.4k.y=e.8G[0].ah}q.M.hX()},hX:C(){$(1l).on(\'qI.I-M-4J qT.I-M-4J\',$.1d(q.M.hT,q));$(1l).on(\'iZ.I-M-4J qU.I-M-4J\',$.1d(q.M.hW,q))},hT:C(e){e.2w();e=e.7T||e;E 3n=q.M.4k.h;if(e.8G)3n+=(e.8G[0].ah-q.M.4k.y);N 3n+=(e.ah-q.M.4k.y);E 2J=8d.hV(3n*q.M.4k.dC);if(3n<50||2J<88)F;E 3n=8d.hV(q.M.4k.el.2J()/q.M.4k.dC);q.M.4k.el.1c({2J:2J,3n:3n});q.M.4k.el.2J(2J);q.M.4k.el.3n(3n);q.1e.1S()},hW:C(){q.iw=O;$(1l).3h(\'.I-M-4J\');q.M.7W()},bn:C(e){if(q.$T.1h(\'#I-M-2Q\').12!==0){e.2w();F O}q.$T.on(\'57.I-M-hD-57\',$.1d(C(){3A($.1d(q.M.bs,q),1)},q))},bs:C(){q.M.hC();q.1R.au();q.$T.3h(\'57.I-M-hD-57\');q.1x.4r();q.1e.1S()},hC:C(){q.$T.1h(\'1L[1f-3o-2i]\').1B(C(){E $el=$(q);$el.1c(\'4t\',$el.1c(\'1f-3o-2i\'));$el.1K(\'1f-3o-2i\')})},7W:C(e){if(e&&$(e.1Q).2q(\'#I-M-2Q\',q.$T[0]).12!==0)F;if(e&&e.1Q.1p==\'aA\'){E $M=$(e.1Q);$M.1c(\'1f-3o-2i\',$M.1c(\'4t\'))}E 3G=q.$T.1h(\'#I-M-2Q\');if(3G.12===0)F;$(\'#I-M-5l\').1u();$(\'#I-M-8f\').1u();3G.1h(\'1L\').1O({63:3G[0].1o.63,af:3G[0].1o.af,ae:3G[0].1o.ae,ab:3G[0].1o.ab});3G.1O(\'4B\',\'\');3G.1h(\'1L\').1O(\'hg\',\'\');3G.2t(C(){F $(q).26()});$(1l).3h(\'6R.I-M-4J-3v.\'+q.2G);if(1s q.M.4k!==\'1y\'){q.M.4k.el.1c(\'3T\',q.M.4k.el.1c(\'1o\'))}q.1e.1S()},hd:C($M,3G){if(q.G.dp&&!q.L.6M()){E 8a=$(\'<1j id="I-M-8f" 1f-I="3H"></1j>\');if(!q.L.7b()){8a.1O({2J:\'hi\',3n:\'hi\'})}8a.1c(\'5d\',O);3G.1F(8a);3G.1F($M);F 8a}N{3G.1F($M);F O}},hk:C($M){E 3G=$(\'<1j id="I-M-2Q" 1f-I="3H">\');3G.1O(\'7f\',$M.1O(\'7f\')).1c(\'5d\',O);if($M[0].1o.4B!=\'bj\'){3G.1O({63:$M[0].1o.63,af:$M[0].1o.af,ae:$M[0].1o.ae,ab:$M[0].1o.ab});$M.1O(\'4B\',\'\')}N{3G.1O({\'6N\':\'R\',\'4B\':\'bj\'})}$M.1O(\'hg\',\'.5\').3F(3G);if(q.G.dq){q.M.5l=$(\'<1j id="I-M-5l" 1f-I="3H">\'+q.1H.1b(\'7L\')+\'</1j>\');q.M.5l.1c(\'5d\',O);q.M.5l.on(\'2y\',$.1d(C(){q.M.hc($M)},q));3G.1F(q.M.5l);E hb=q.M.5l.7P();q.M.5l.1O(\'4B-2c\',\'-\'+hb/2+\'px\')}F q.M.hd($M,3G)},1u:C(M){E $M=$(M);E $V=$M.2q(\'a\',q.$T[0]);E $6K=$M.2q(\'6K\',q.$T[0]);E $1r=$M.1r();if($(\'#I-M-2Q\').12!==0){$1r=$(\'#I-M-2Q\').1r()}E $1N;if($6K.12!==0){$1N=$6K.1N();$6K.1u()}N if($V.12!==0){$1r=$V.1r();$V.1u()}N{$M.1u()}$(\'#I-M-2Q\').1u();if($6K.12!==0){q.1V.2W($1N)}N{q.1V.2W($1r)}q.1X.2u(\'dw\',$M[0].4t,$M);q.1a.4j();q.1e.1S()},1Y:C(2P,4Y,e){if(1s 2P.6U!=\'1y\'){q.1a.4j();q.J.3d();q.1X.2u(\'qs\',2P);F}E $1L;if(1s 2P==\'6Z\'){$1L=$(2P).1c(\'1f-I-8m-M\',\'1q\')}N{$1L=$(\'<1L>\');$1L.1c(\'4t\',2P.9b).1c(\'1f-I-8m-M\',\'1q\')}E Q=$1L;E do=q.L.4S(\'P\');if(do){Q=$(\'<29 />\').1F($1L)}if(4Y){q.J.8p();E 2r=q.J.6Q();q.1Y.dA(e,2r)}N{q.1a.4j()}q.J.3d();q.25.1U();q.1Y.B(q.L.6q(Q),O);E $M=q.$T.1h(\'1L[1f-I-8m-M=1q]\').1K(\'1f-I-8m-M\');if(do){$M.1r().26().3Y().5Z(\'<p />\')}N if(q.G.1M){if(!q.L.3z(q.1e.1b())){$M.a6(\'<br>\')}$M.3F(\'<br>\')}if(1s 2P==\'6Z\')F;q.1X.2u(\'75\',$M,2P)}}},3y:C(){F{bo:C(){if(!q.L.1P(\'2E\'))q.$T.2n();q.25.1U();q.J.3o();E R=q.J.4a();if(R&&R.1p==\'5v\'){q.3y.ho()}N if(R===O&&q.G.1M){q.3y.hx()}N{q.3y.hy()}q.J.3d();q.1e.1S()},ho:C(){1l.3Z(\'3y\');q.3y.aO();q.1x.ap();q.1x.4r()},hy:C(){$.1B(q.J.3X(),$.1d(C(i,4V){if(4V.1p===\'6F\'||4V.1p===\'dn\')F;E $el=q.L.bh(4V);E 2c=q.L.dr($el.1O(\'4B-2c\'))+q.G.ad;$el.1O(\'4B-2c\',2c+\'px\')},q))},hx:C(){E 4M=q.J.5Z(\'1i\');$(4M).1c(\'1f-8b\',\'I\');$(4M).1O(\'4B-2c\',q.G.ad+\'px\')},95:C(){q.25.1U();q.J.3o();E R=q.J.4a();if(R&&R.1p==\'5v\'){q.3y.hz()}N{q.3y.hA()}q.J.3d();q.1e.1S()},hz:C(){1l.3Z(\'7p\');E 1z=q.J.3B();E $2x=$(1z).2q(\'li\',q.$T[0]);q.3y.aO();if(!q.G.1M&&$2x.12===0){1l.3Z(\'9S\',O,\'p\');q.$T.1h(\'3p, ol, 29, p\').1B($.1d(q.L.4f,q))}q.1x.4r()},hA:C(){$.1B(q.J.3X(),$.1d(C(i,4V){E $el=q.L.bh(4V);E 2c=q.L.dr($el.1O(\'4B-2c\'))-q.G.ad;if(2c<=0){if(q.G.1M&&1s($el.1f(\'8b\'))!==\'1y\'){$el.2t($el.B()+\'<br />\')}N{$el.1O(\'4B-2c\',\'\');q.L.5r($el,\'1o\')}}N{$el.1O(\'4B-2c\',2c+\'px\')}},q))},aO:C(){E R=q.J.4a();if(q.14.53&&R&&R.1p==\'5v\'&&q.L.3z($(R).1g())){E $R=$(R);$R.1h(\'1j\').6h(\'.I-J-2r\').26().3Y();$R.1F(\'<br>\')}}}},28:C(){F{3a:C(1w){E 1m,1E;if(1s q.3a[1w].1o!=\'1y\')1m=\'1o\';N if(1s q.3a[1w][\'1G\']!=\'1y\')1m=\'1G\';if(1m)1E=q.3a[1w][1m];q.28.30(q.3a[1w].Y,1m,1E)},30:C(Y,1m,1E){E 1z=q.J.3B();if(1z&&1z.1p===\'qc\')F;q.8h=1q;if(q.L.4S(\'8o\')||q.L.h8())F;E 2d=[\'b\',\'4n\',\'i\',\'4m\',\'5x\',\'eM\',\'5Y\',\'hv\',\'hq\'];E hu=[\'5i\',\'5i\',\'em\',\'em\',\'u\',\'4h\',\'4h\',\'7Q\',\'7l\'];2B(E i=0;i<2d.12;i++){if(Y==2d[i])Y=hu[i]}if(q.G.4z){if($.3t(Y,q.G.4z)==-1)F}N{if($.3t(Y,q.G.4c)!==-1)F}q.28.1m=1m||O;q.28.1E=1E||O;q.25.1U();if(!q.L.1P(\'2E\')){q.$T.2n()}q.J.1b();if(q.14.53){q.28.i3(Y)}N{q.28.fS(Y)}},i3:C(Y){E 1z=q.J.3B();E $1r=$(1z).2q(Y+\'[1f-I-Y=\'+Y+\']\',q.$T[0]);if($1r.12!==0&&(q.28.1m!=\'1o\'&&$1r[0].1p!=\'6w\')){if(q.L.3z($1r.1g())){q.1V.54($1r[0]);$1r.1u();q.1e.1S()}N if(q.L.6T($1r)){q.1V.54($1r[0])}F}E Q=$(\'<\'+Y+\'>\').1c(\'1f-3H\',\'I\').1c(\'1f-I-Y\',Y);Q.B(q.G.6o);Q=q.28.dj(Q);E Q=q.1Y.Q(Q);q.1V.3P(Q);q.1e.1S()},fS:C(Y){q.28.eF(Y);q.J.3o();1l.3Z(\'eM\');q.$T.1h(\'7c\').1B($.1d(C(i,s){E $el=$(s);q.28.eG($el,Y);E $1j;if(q.28.1m){$1j=$(\'<1j>\').1c(\'1f-I-Y\',Y).1c(\'1f-3H\',\'I\');$1j=q.28.dj($1j)}N{$1j=$(\'<\'+Y+\'>\').1c(\'1f-I-Y\',Y).1c(\'1f-3H\',\'I\')}$el.2t($1j.B($el.26()));E $1r=$1j.1r();if($1r&&$1r[0].1p===\'U\'){$1j.1r().2t($1j)}if(Y==\'1j\'){if($1r&&$1r[0].1p===\'6w\'&&q.28.1m===\'1o\'){E 2C=q.28.1E.4o(\';\');2B(E z=0;z<2C.12;z++){if(2C[z]===\'\')F;E 1o=2C[z].4o(\':\');$1r.1O(1o[0],\'\');if(q.L.5r($1r,\'1o\')){$1r.2t($1r.26())}}}}},q));if(Y!=\'1j\'){q.$T.1h(q.G.4N.3c(\', \')).1B($.1d(C(i,s){E $el=$(s);if(s.1p===\'U\'&&s.4u.12===0){$el.2t($el.26());F}E ai=$el.1O(\'1g-7a\');if(ai===\'3K-eP\'){$el.1O(\'1g-7a\',\'\');q.L.5r($el,\'1o\')}},q))}if(Y!=\'4h\'){E eK=q;q.$T.1h(\'28\').1B(C(i,s){eK.L.4I(s,\'4h\')})}q.J.3d();q.1e.1S()},eG:C($el,Y){E 3u=q;$el.3O(Y).1B(C(){E $4w=$(q);if(!$4w.3i(\'I-J-2r\')){if(3u.28.1m==\'1o\'){E 2C=3u.28.1E.4o(\';\');2B(E z=0;z<2C.12;z++){if(2C[z]===\'\')F;E 1o=2C[z].4o(\':\');$4w.1O(1o[0],\'\');if(3u.L.5r($4w,\'1o\')){$4w.2t($4w.26())}}}N{$4w.26().3Y()}}})},eF:C(Y){q.J.3o();E 1h=\'\';if(q.28.1m==\'1G\')1h=\'[1f-I-1G=\'+q.28.1E+\']\';N if(q.28.1m==\'1o\'){1h=\'[1f-I-1o="\'+q.28.1E+\'"]\'}E 3u=q;if(Y!=\'4h\'){q.$T.1h(\'4h\').1B(C(i,s){3u.L.4I(s,\'28\')})}if(Y!=\'1j\'){q.$T.1h(Y).1B(C(){E $el=$(q);$el.2t($(\'<7c />\').B($el.26()))})}q.$T.1h(\'[1f-I-Y="\'+Y+\'"]\'+1h).1B(C(){if(1h===\'\'&&Y==\'1j\'&&q.1p.3e()==Y)F;E $el=$(q);$el.2t($(\'<7c />\').B($el.26()))});q.J.3d()},dj:C(Q){eJ(q.28.1m){9G\'1G\':if(Q.3i(q.28.1E)){Q.2S(q.28.1E);Q.1K(\'1f-I-1G\')}N{Q.2f(q.28.1E);Q.1c(\'1f-I-1G\',q.28.1E)}6n;9G\'1o\':Q[0].1o.q4=q.28.1E;Q.1c(\'1f-I-1o\',q.28.1E);6n}F Q},qd:C(){q.25.1U();E 1z=q.J.3B();E 23=q.J.e8();q.J.3o();if(1z&&1z.1p===\'6w\'){E $s=$(1z);$s.1K(\'1o\');if($s[0].4u.12===0){$s.2t($s.26())}}$.1B(23,$.1d(C(i,s){E $s=$(s);if($.3t(s.1p.3e(),q.G.4N)!=-1&&!$s.3i(\'I-J-2r\')){$s.1K(\'1o\');if($s[0].4u.12===0){$s.2t($s.26())}}},q));q.J.3d();q.1e.1S()},qe:C(1w){q.25.1U();E 1r=q.J.67();E 23=q.J.e8();q.J.3o();if(1r&&1r.1p===\'6w\'){E $s=$(1r);$s.1O(1w,\'\');q.L.5r($s,\'1o\');if($s[0].4u.12===0){$s.2t($s.26())}}$.1B(23,$.1d(C(i,s){E $s=$(s);if($.3t(s.1p.3e(),q.G.4N)!=-1&&!$s.3i(\'I-J-2r\')){$s.1O(1w,\'\');q.L.5r($s,\'1o\');if($s[0].4u.12===0){$s.2t($s.26())}}},q));q.J.3d();q.1e.1S()},dm:C(){q.25.1U();E 1z=q.J.3B();q.J.3o();1l.3Z(\'dm\');if(1z&&1z.1p===\'6w\'){$(1z).2t($(1z).26())}$.1B(q.J.6I(),$.1d(C(i,s){E $s=$(s);if($.3t(s.1p.3e(),q.G.4N)!=-1&&!$s.3i(\'I-J-2r\')){$s.2t($s.26())}},q));q.J.3d();q.1e.1S()},7O:C(3E){q.28.30(\'1j\',\'1G\',3E)},qn:C(1E){q.28.30(\'1j\',\'1o\',1E)}}},1Y:C(){F{1U:C(B,1x){q.3f.1u();B=q.1x.7R(B);if(1s 1x==\'1y\'){B=q.1x.8y(B,O)}q.$T.B(B);q.J.1u();q.2n.3P();q.1x.ap();q.1e.1S();q.1R.2R();if(1s 1x==\'1y\'){3A($.1d(q.1x.4r,q),10)}},1g:C(1g){q.3f.1u();1g=1g.4y();1g=$.3k(1g);1g=q.1x.aj(1g,O);q.$T.2n();if(q.L.1P(\'2E\')){q.1Y.ds(1g)}N{q.J.1b();q.14.55();E el=1l.3w("1i");el.3x=1g;E 4L=1l.9M(),Q,5K;56((Q=el.9N)){5K=4L.81(Q)}q.14.3L(4L);if(5K){E 14=q.14.7S();14.9I(5K);14.43(1q);q.2T.8T();q.2T.4l(14)}}q.1e.1S();q.1x.4r()},fc:C(B){q.1Y.B(B,O)},B:C(B,1x){q.3f.1u();if(1s 1x==\'1y\')1x=1q;q.$T.2n();B=q.1x.7R(B);if(1x){B=q.1x.8y(B)}if(q.L.1P(\'2E\')){q.1Y.ds(B)}N{if(q.1x.9D)q.1Y.eV(B);N 1l.3Z(\'qr\',O,B);q.1Y.eX()}q.1x.ap();if(!q.G.1M){q.$T.1h(\'p\').1B($.1d(q.L.4f,q))}q.1e.1S();q.1R.2R();if(1x){q.1x.4r()}},eX:C(){if(!q.L.1P(\'4b\'))F;E $1N=$(q.J.4a()).1N();if($1N.12>0&&$1N[0].1p==\'P\'&&$1N.B()===\'\'){$1N.1u()}},ds:C(B){if(q.L.gj()){E 1r=q.L.4S(\'P\');E $B=$(\'<1i>\').1F(B);E eU=$B.26().is(\'p, :87, dl, 3p, ol, 1i, 3W, 2Y, 29, 2F, du, 49, 87, c8, eE, eS\');if(1r&&eU)q.1Y.ey(1r,B);N q.1Y.ew(B);F}1l.J.92().gw(B)},eV:C(B){B=q.1x.7R(B);q.J.1b();q.14.55();E el=1l.3w(\'1i\');el.3x=B;E 4L=1l.9M(),Q,5K;56((Q=el.9N)){5K=4L.81(Q)}q.14.3L(4L);q.14.43(1q);q.1V.54(5K)},Q:C(Q,55){Q=Q[0]||Q;E B=q.L.6q(Q);B=q.1x.7R(B);if(B.1T(/</g)!==4e){Q=$(B)[0]}q.J.1b();if(55!==O){q.14.55()}q.14.3L(Q);q.14.43(O);q.J.4l();F Q},qf:C(Q,x,y){Q=Q[0]||Q;q.J.1b();E 14;if(1l.aq){E 3s=1l.aq(x,y);q.14.2W(3s.er,3s.2I);q.14.43(1q);q.14.3L(Q)}N if(1l.ao){14=1l.ao(x,y);14.3L(Q)}N if(1s 1l.31.an!="1y"){14=1l.31.an();14.ak(x,y);E 7e=14.eo();7e.ak(x,y);14.eA("ez",7e);14.7z()}},dA:C(e,Q){Q=Q[0]||Q;E 14;E x=e.qi,y=e.qk;if(1l.aq){E 3s=1l.aq(x,y);E 2T=1l.4D();14=2T.6l(0);14.2W(3s.er,3s.2I);14.43(1q);14.3L(Q)}N if(1l.ao){14=1l.ao(x,y);14.3L(Q)}N if(1s 1l.31.an!="1y"){14=1l.31.an();14.ak(x,y);E 7e=14.eo();7e.ak(x,y);14.eA("ez",7e);14.7z()}},ey:C(1r,B){E Q=1l.3w(\'1j\');Q.3E=\'I-ie-5C\';q.1Y.Q(Q);E 7m=$(1r).B();7m=\'<p>\'+7m.K(/<1j 1G="I-ie-5C"><\\/1j>/gi,\'</p>\'+B+\'<p>\')+\'</p>\';7m=7m.K(/<p><\\/p>/gi,\'\');$(1r).2t(7m)},ew:C(B){q.J.1b();q.14.55();E el=1l.3w("1i");el.3x=B;E 4L=1l.9M(),Q,5K;56((Q=el.9N)){5K=4L.81(Q)}q.14.3L(4L);q.14.43(O);q.J.4l()}}},1D:C(){F{3Q:C(e){if(q.7B)F;E 1k=e.7U;E 4W=(1k>=37&&1k<=40);q.1D.48=e.9u||e.6J;q.1D.1z=q.J.3B();q.1D.1r=q.J.67();q.1D.R=q.J.4a();q.1D.2F=q.L.bB(q.1D.1z,\'2F\');q.1D.29=q.L.bB(q.1D.1z,\'29\');q.1D.7Y=q.L.bB(q.1D.1z,\'7Y\');q.6m.3Q(e,1k);if(q.L.7b()){q.1D.fN(4W,1k);q.1D.g6(e,1k)}q.1D.fV(4W);q.1D.fY(e,1k);E eC=q.1X.2u(\'1D\',e);if(eC===O){e.2w();F O}if(q.G.al&&(q.L.1P(\'2E\')||q.L.1P(\'4b\'))&&(1k===q.3j.dW||1k===q.3j.eB)){E dy=O;E $3W=O;if(q.1D.R&&q.1D.R.1p===\'6F\'){$3W=$(q.1D.R).2q(\'3W\',q.$T[0])}if($3W&&$3W.1h(\'2Y\').2Z()[0]===q.1D.R){dy=1q}if(q.L.6T()&&dy){E Q=$(q.G.5S);$3W.3F(Q);q.1V.2W(Q)}}if(q.G.al&&1k===q.3j.dW){q.1D.fH()}if(!q.G.al&&1k===q.3j.70){e.2w();if(!q.14.53)q.14.55();F}if(1k==q.3j.70&&!e.6s&&!e.9u&&!e.6J){E fQ=q.1X.2u(\'nz\',e);if(fQ===O){e.2w();F O}if(q.1D.29&&q.1D.fk(e)===1q){F O}E 1z,$1N;if(q.1D.2F){F q.1D.fE(e)}N if(q.1D.29||q.1D.7Y){1z=q.J.3B();$1N=$(1z).1N();if($1N.12!==0&&$1N[0].1p==\'58\'){F q.1D.6x(e)}N if(q.L.6T()&&(1z&&1z!=\'6w\')){F q.1D.9x(e)}N{F q.1D.6x(e)}}N if(q.G.1M&&!q.1D.R){1z=q.J.3B();$1N=$(q.1D.1z).1N();if($1N.12!==0&&$1N[0].1p==\'58\'){F q.1D.6x(e)}N if(1z!==O&&$(1z).3i(\'I-7s-3g\')){q.1V.54(1z);$(1z).26().3Y();F q.1D.9x(e)}N{if(q.L.dN()){F q.1D.9x(e)}N if($1N.12===0&&1z===O&&1s $1N.ny!=\'1y\'){F q.1D.6x(e)}F q.1D.6x(e)}}N if(q.G.1M&&q.1D.R){3A($.1d(q.1D.fs,q),1)}N if(!q.G.1M&&q.1D.R){3A($.1d(q.1D.fm,q),1);if(q.1D.R.1p===\'5v\'){1z=q.J.3B();E $1r=$(1z).2q(\'li\',q.$T[0]);E $2e=$1r.2q(\'3p,ol\',q.$T[0]);if($1r.12!==0&&q.L.3z($1r.B())&&$2e.1N().12===0&&q.L.3z($2e.1h("li").2Z().B())){$2e.1h("li").2Z().1u();E Q=$(q.G.5S);$2e.3F(Q);q.1V.2W(Q);F O}}}N if(!q.G.1M&&!q.1D.R){F q.1D.fj(e)}}if(1k===q.3j.70&&(e.9u||e.6s)){F q.1D.i4(e)}if(1k===q.3j.dx||e.6J&&1k===ek||e.6J&&1k===e5){F q.1D.fG(e,1k)}if(1k===q.3j.84||1k===q.3j.8Q){E 23=q.J.6I();if(23){E 2p=23.12;E 2Z;2B(E i=0;i<2p;i++){E 3O=$(23[i]).3O(\'1L\');if(3O.12!==0){E 3u=q;$.1B(3O,C(z,s){E $s=$(s);if($s.1O(\'7f\')!=\'5p\')F;3u.1X.2u(\'dw\',s.4t,$s);2Z=s})}N if(23[i].1p==\'aA\'){if(2Z!=23[i]){q.1X.2u(\'dw\',23[i].4t,$(23[i]));2Z=23[i]}}}}}if(1k===q.3j.84){E R=q.J.4a();E ff=($(R).1O(\'4B-2c\')!==\'nC\');if(R&&ff&&q.14.53&&q.L.gp()){q.3y.95();e.2w();F}if(q.L.1P(\'4b\')){E 4G=q.J.iG();E am=$(4G).4G()[0];if(4G&&4G.1p===\'fT\')$(4G).1u();if(am&&am.1p===\'fT\')$(am).1u()}q.1D.hp();q.1D.ij(e)}q.1e.1S()},fN:C(4W,1k){if(!4W&&(q.1X.7g()==\'2y\'||q.1X.7g()==\'4W\')){q.1X.9K(O);if(q.1D.fJ(1k)){q.25.1U()}}},fJ:C(1k){E k=q.3j;E 4X=[k.84,k.8Q,k.70,k.a7,k.b2,k.dx,k.fK,k.fL,k.fM,k.fU];F($.3t(1k,4X)==-1)?1q:O},fV:C(4W){if(!4W)F;if((q.1X.7g()==\'2y\'||q.1X.7g()==\'4W\')){q.1X.9K(O);F}q.1X.9K(\'4W\')},g6:C(e,1k){if(q.1D.48&&1k===90&&!e.6s&&!e.g1&&q.G.25.12){e.2w();q.25.9l();F}N if(q.1D.48&&1k===90&&e.6s&&!e.g1&&q.G.9k.12!==0){e.2w();q.25.a9();F}N if(!q.1D.48){if(1k==q.3j.84||1k==q.3j.8Q||(1k==q.3j.70&&!e.9u&&!e.6s)||1k==q.3j.a7){q.25.1U()}}},fY:C(e,1k){if(q.1D.48&&1k===65){q.L.gW()}N if(1k!=q.3j.g0&&!q.1D.48){q.L.8U()}},fH:C(){E 2d=[q.1D.29,q.1D.2F,q.1D.7Y];2B(E i=0;i<2d.12;i++){if(2d[i]){q.1D.fC(2d[i]);F O}}},i4:C(e){q.25.1U();if(q.L.6T()){F q.1D.9x(e)}F q.1D.6x(e)},fG:C(e,1k){if(!q.G.fp)F 1q;if(q.L.3z(q.1e.1b())&&q.G.9Y===O)F 1q;e.2w();E Q;if(q.1D.2F&&!e.6s){Q=(q.G.6v)?1l.8W(9F(q.G.6v+1).3c(\'\\9Z\')):1l.8W(\'\\t\');q.1Y.Q(Q);q.1e.1S()}N if(q.G.9Y!==O){Q=1l.8W(9F(q.G.9Y+1).3c(\'\\9Z\'));q.1Y.Q(Q);q.1e.1S()}N{if(e.6J&&1k===e5)q.3y.95();N if(e.6J&&1k===ek)q.3y.bo();N if(!e.6s)q.3y.bo();N q.3y.95()}F O},fs:C(){E 4C=q.J.4a();E 9X=4C.3x.K(/<br\\s?\\/?>/gi,\'\');if((4C.1p===\'89\'||4C.1p===\'P\')&&9X===\'\'&&!$(4C).3i(\'I-T\')){E br=1l.3w(\'br\');$(4C).2t(br);q.1V.bT(br);q.1e.1S();F O}},fm:C(){E 4C=q.J.4a();E 9X=4C.3x.K(/<br\\s?\\/?>/gi,\'\');if(4C.1p===\'89\'&&q.L.3z(9X)&&!$(4C).3i(\'I-T\')){E p=1l.3w(\'p\');p.3x=q.G.6o;$(4C).2t(p);q.1V.2W(p);q.1e.1S();F O}N if(q.G.fh&&4C.1p==\'P\'){$(4C).1K(\'1G\').1K(\'1o\')}},fj:C(e){e.2w();q.J.1b();E p=1l.3w(\'p\');p.3x=q.G.6o;q.14.55();q.14.3L(p);q.1V.2W(p);q.1e.1S();F O},fk:C(e){if(!q.L.6T())F;E 5q=$.3k($(q.1D.R).B());if(5q.3N(/(<br\\s?\\/?>){2}$/i)!=-1){e.2w();if(q.G.1M){E br=1l.3w(\'br\');$(q.1D.29).3F(br);q.1V.bT(br);$(q.1D.R).B(5q.K(/<br\\s?\\/?>$/i,\'\'))}N{E Q=$(q.G.5S);$(q.1D.29).3F(Q);q.1V.2W(Q)}F 1q}F},fC:C(2j){if(!q.L.6T())F;q.25.1U();if(q.G.1M){E 26=$(\'<1i>\').1F($.3k(q.$T.B())).26();E 2Z=26.2Z()[0];if(2Z.1p==\'6w\'&&2Z.3x===\'\'){2Z=26.4G()[0]}if(q.L.6q(2Z)!=q.L.6q(2j))F;E br=1l.3w(\'br\');$(2j).3F(br);q.1V.54(br)}N{if(q.$T.26().2Z()[0]!==2j)F;E Q=$(q.G.5S);$(2j).3F(Q);q.1V.2W(Q)}},fE:C(e){e.2w();E Q=1l.8W(\'\\n\');q.J.1b();q.14.55();q.14.3L(Q);q.1V.54(Q);q.1e.1S();F O},6x:C(e){F q.1D.bR(e)},9x:C(e){F q.1D.bR(e,1q)},bR:C(e,fv){e.fw();q.J.1b();E 5t=1l.3w(\'br\');if(q.L.1P(\'2E\')){q.14.43(O);q.14.3P(q.14.bQ,q.14.bO)}N{q.14.55()}q.14.3L(5t);E $9W=$(5t).1r("a");if($9W.12>0){$9W.1h(5t).1u();$9W.3F(5t)}if(fv===1q){E $1N=$(5t).1N();if($1N.12!==0&&$1N[0].1p===\'58\'&&q.L.dN()){q.1V.54(5t);q.1e.1S();F O}E bP=1l.3w(\'br\');q.14.3L(bP);q.1V.54(bP)}N{if(q.L.1P(\'2E\')){E 3g=1l.3w(\'1j\');3g.3x=\'&#9T;\';$(5t).3F(3g);q.1V.54(3g);$(3g).1u()}N{E 14=1l.92();14.9I(5t);14.43(1q);E J=3l.4D();J.8T();J.4l(14)}}q.1e.1S();F O},hp:C(){E $1z=$(q.1D.1z);if($1z.1g().3N(/^\\6g$/g)===0){$1z.1u()}},ij:C(e){E $1z=$(q.1D.1z);E $1r=$(q.1D.1r);E 2Y=$1z.2q(\'2Y\',q.$T[0]);if(2Y.12!==0&&$1z.2q(\'li\',q.$T[0])&&$1r.3O(\'li\').12===1){if(!q.L.3z($1z.1g()))F;e.2w();$1z.1u();$1r.1u();q.1V.2W(2Y)}}}},2s:C(){F{3Q:C(e){if(q.7B)F;E 1k=e.7U;q.2s.1z=q.J.3B();q.2s.1r=q.J.67();E $1r=q.L.4p($(q.2s.1r).1r());E kA=q.1X.2u(\'2s\',e);if(kA===O){e.2w();F O}if(!q.G.1M&&q.2s.1z.a8==3&&q.2s.1z.12<=1&&(q.2s.1r===O||q.2s.1r.1p==\'e6\')){q.2s.9U()}if(!q.G.1M&&q.L.4p(q.2s.1z)&&q.2s.1z.1p===\'89\'){q.2s.9U(O)}if(!q.G.1M&&$(q.2s.1r).3i(\'I-7s-3g\')&&($1r===O||$1r[0].1p==\'e6\')){$(q.2s.1r).26().3Y();q.2s.9U()}if(q.2z.aD()&&q.2z.kB(1k))q.2z.30();if(1k===q.3j.8Q||1k===q.3j.84){if(q.L.1P(\'4b\')){E 2Y=$(q.1D.1z).2q(\'2Y\',q.$T[0]);if(2Y.9B()!==0&&2Y.1g()!==\'\'){e.2w();F O}}q.1x.4r();if(q.1R.M){e.2w();q.M.7W();q.25.1U();q.M.1u(q.1R.M);q.1R.M=O;F O}q.$T.1h(\'p\').1B($.1d(C(i,s){q.L.4f(i,$(s).B())},q));if(q.G.1M&&q.2s.1z&&q.2s.1z.1p==\'89\'&&q.L.3z(q.2s.1z.3x)){$(q.2s.1z).3F(q.J.5a());q.J.3d();$(q.2s.1z).1u()}F q.2s.kN(e)}},9U:C(8O){E $1z=$(q.2s.1z);E Q;if(8O===O){Q=$(\'<p>\').1F($1z.B())}N{Q=$(\'<p>\').1F($1z.8O())}$1z.2t(Q);E 1N=$(Q).1N();if(1s(1N[0])!==\'1y\'&&1N[0].1p==\'58\'){1N.1u()}q.1V.3P(Q)},kN:C(e){E B=$.3k(q.$T.B());if(!q.L.3z(B))F;e.2w();if(q.G.1M){q.$T.B(q.J.5a());q.J.3d()}N{q.$T.B(q.G.5S);q.2n.2W()}q.1e.1S();F O}}},1H:C(){F{2R:C(){q.G.bU=q.G.kn[q.G.1H]},1b:C(1w){F(1s q.G.bU[1w]!=\'1y\')?q.G.bU[1w]:\'\'}}},3K:C(){F{1Y:C(){q.25.1U();E 1Z=q.J.3X();if(1Z[0]!==O&&q.3K.jZ(1Z)){if(!q.L.1P(\'2E\'))q.$T.2n();F}if(q.L.1P(\'2E\')){q.3K.aR()}N{q.3K.kc()}},jZ:C(1Z){E 9y=[\'li\',\'2Y\',\'5P\',\'29\',\'7Y\',\'2F\',\'dl\',\'dt\',\'dd\'];E 3I=1Z[0].1p.3e();E 2Z=q.J.kJ();2Z=(1s 2Z==\'1y\')?3I:2Z.1p.3e();E bN=$.3t(3I,9y)!=-1;E kl=$.3t(2Z,9y)!=-1;if((bN&&kl)||bN){F 1q}},aR:C(){q.L.8z();q.25.1U();q.1Y.Q(1l.3w(\'hr\'));q.L.bk();q.1e.1S()},kc:C(){q.25.1U();E bV=\'<p id="I-1Y-3K"><br /></p>\';if(q.G.1M)bV=\'<br id="I-1Y-3K">\';1l.3Z(\'na\',O,\'<hr>\'+bV);q.3K.k9();q.1e.1S()},k9:C(){E Q=q.$T.1h(\'#I-1Y-3K\');E 1N=$(Q).1N()[0];E 1Q=1N;if(q.L.1P(\'4b\')&&1N&&1N.3x===\'\'){1Q=$(1N).1N()[0];$(1N).1u()}if(1Q){Q.1u();if(!q.G.1M){q.$T.2n();q.3K.2W(1Q)}}N{Q.1K(\'id\');q.3K.2W(Q[0])}},2W:C(Q){if(1s Q===\'1y\')F;E jQ=1l.8W(\'\\6g\');q.J.1b();q.14.2W(Q,0);q.14.3L(jQ);q.14.43(1q);q.J.4l()}}},V:C(){F{2O:C(e){if(1s e!=\'1y\'&&e.2w)e.2w();if(!q.1R.c7(\'a\')){q.1a.2R(\'V\',q.1H.1b(\'ba\'),jS)}N{q.1a.2R(\'V\',q.1H.1b(\'ca\'),jS)}q.1a.cy();E kE=!q.1R.c7(\'a\')?q.1H.1b(\'1Y\'):q.1H.1b(\'7L\');q.V.kL=q.1a.cz(kE);q.J.1b();q.V.kG();q.V.kg();if(q.V.1Q==\'7K\')$(\'#I-V-7Z\').6j(\'a0\',1q);q.V.$9n=$(\'#I-V-2i\');q.V.$bZ=$(\'#I-V-2i-1g\');q.V.$bZ.2K(q.V.1g);q.V.$9n.2K(q.V.2i);q.V.kL.on(\'2y\',$.1d(q.V.1Y,q));$(\'.I-V-3q\').1u();q.J.3o();q.1a.2O();q.V.$9n.2n()},kg:C(){E jV=3u.jU.2k.K(/\\/$/i,\'\');if(1s q.V.2i!=="1y"){q.V.2i=q.V.2i.K(jV,\'\');q.V.2i=q.V.2i.K(/^\\/#/,\'#\');q.V.2i=q.V.2i.K(\'bY:\',\'\');if(!q.G.5c){E 3J=2a 2l(\'^(8s|8K|5o)://\'+3u.jU.n4,\'i\');q.V.2i=q.V.2i.K(3J,\'\')}}},kG:C(){q.V.$Q=O;E $el=$(q.J.3B()).2q(\'a\',q.$T[0]);if($el.12!==0&&$el[0].1p===\'A\'){q.V.$Q=$el;q.V.2i=$el.1c(\'2k\');q.V.1g=$el.1g();q.V.1Q=$el.1c(\'1Q\')}N{q.V.1g=q.2T.4y();q.V.2i=\'\';q.V.1Q=\'\'}},1Y:C(){q.3f.1u();E 1Q=\'\';E V=q.V.$9n.2K();E 1g=q.V.$bZ.2K().K(/(<([^>]+)>)/ig,"");if($.3k(V)===\'\'){q.V.$9n.2f(\'I-3D-6U\').on(\'2s\',C(){$(q).2S(\'I-3D-6U\');$(q).3h(\'2s\')});F}if(V.3N(\'@\')!=-1&&/(8s|8K|5o):\\/\\//i.bE(V)===O){V=\'bY:\'+V}N if(V.3N(\'#\')!==0){if($(\'#I-V-7Z\').6j(\'a0\')){1Q=\'7K\'}E 7D=\'((jT--)?[a-7t-9]+(-[a-7t-9]+)*\\\\.)+[a-z]{2,}\';E 3J=2a 2l(\'^(8s|8K|5o)://\'+7D,\'i\');E a1=2a 2l(\'^\'+7D,\'i\');E km=2a 2l(\'\\.(B|nh)$\',\'i\');if(V.3N(3J)==-1&&V.3N(km)==-1&&V.3N(a1)===0&&q.G.5c){V=q.G.5c+\'://\'+V}}q.V.1U(1g,V,1Q);q.1a.4j()},1U:C(1g,V,1Q){1g=$.3k(1g.K(/<|>/g,\'\'));q.J.3d();E 1Z=q.J.3X();if(1g===\'\'&&V===\'\')F;if(1g===\'\'&&V!==\'\')1g=V;if(q.V.$Q){q.25.1U();E $V=q.V.$Q,$el=$V.3O();if($el.12>0){56($el.12){$el=$el.3O()}$el=$el.2h()}N{$el=$V}$V.1c(\'2k\',V);$el.1g(1g);if(1Q!==\'\'){$V.1c(\'1Q\',1Q)}N{$V.1K(\'1Q\')}q.J.9g($V);q.1e.1S()}N{if(q.L.1P(\'4b\')&&q.V.1g===\'\'){E $a=$(\'<a />\').1c(\'2k\',V).1g(1g);if(1Q!==\'\')$a.1c(\'1Q\',1Q);q.1Y.Q($a);q.J.9g($a)}N{E $a;if(q.L.1P(\'2E\')){$a=$(\'<a 2k="\'+V+\'">\').1g(1g);if(1Q!==\'\')$a.1c(\'1Q\',1Q);$a=$(q.1Y.Q($a));if(q.J.e1().1T(/\\s$/)){$a.3F(" ")}q.J.9g($a)}N{1l.3Z(\'nt\',O,V);$a=$(q.J.3B()).2q(\'a\',q.$T[0]);if(q.L.1P(\'4b\')){$a=$(\'a[k3=""]\')}if(1Q!==\'\')$a.1c(\'1Q\',1Q);$a.1K(\'1o\').1K(\'k3\');if(q.J.e1().1T(/\\s$/)){$a.3F(" ")}if(q.V.1g!==\'\'||q.V.1g!=1g){if(!q.G.1M&&1Z&&1Z.12<=1){$a.1g(1g)}q.J.9g($a)}}}q.1e.1S();q.1X.2u(\'nu\',$a)}3A($.1d(C(){q.1R.5n()},q),5)},6P:C(e){if(1s e!=\'1y\'&&e.2w){e.2w()}E 23=q.J.6I();if(!23)F;q.25.1U();E 2p=23.12;E 5n=[];2B(E i=0;i<2p;i++){if(23[i].1p===\'A\'){5n.2N(23[i])}E $Q=$(23[i]).2q(\'a\',q.$T[0]);$Q.2t($Q.26())}q.1X.2u(\'nv\',5n);$(\'.I-V-3q\').1u();q.1e.1S()},7O:C(3E){q.V.8g(3E,\'7O\')},2f:C(3E){q.V.8g(3E,\'2f\')},2S:C(3E){q.V.8g(3E,\'2S\')},8g:C(3E,1C){E 5n=q.J.kq([\'a\']);if(5n===O)F;$.1B(5n,C(){$(q)[1C](3E)})}}},2z:C(){F{kB:C(1k){F 1k==q.3j.70||1k==q.3j.a7},aD:C(){F q.G.a2&&(q.G.c1||q.G.bX||q.G.93)&&!q.L.4S(\'8o\')},30:C(){E 2z=q.2z,G=q.G;q.$T.1h(":6h(4R,1L,a,2F)").ni().26().bW(C(){F q.a8===3&&$.3k(q.5O)!=""&&!$(q).1r().is("2F")&&(q.5O.1T(G.2z.4v.72)||q.5O.1T(G.2z.4v.71)||q.5O.1T(G.2z.4v.M)||q.5O.1T(G.2z.4v.2i))}).1B(C(){E 1g=$(q).1g(),B=1g;if(G.93&&(B.1T(G.2z.4v.72)||B.1T(G.2z.4v.71))){B=2z.93(B)}N if(G.bX&&B.1T(G.2z.4v.M)){B=2z.kT(B)}N if(G.c1){B=2z.a2(B)}$(q).a6(1g.K(1g,B)).1u()});E ka=q.$T.1h(\'.I-2z-41\').1B(C(){E $el=$(q);$el.2S(\'I-2z-41\');if($el.1c(\'1G\')===\'\')$el.1K(\'1G\');F $el[0]});q.1X.2u(\'2z\',ka);q.1e.1S()},93:C(B){E bM=\'<4R 1G="I-2z-41" 2J="nm" 3n="no" 4t="\',bK=\'" nn="0" o0></4R>\';if(B.1T(q.G.2z.4v.72)){B=B.K(q.G.2z.4v.72,bM+\'//7n.72.a5/7i/$1\'+bK)}if(B.1T(q.G.2z.4v.71)){B=B.K(q.G.2z.4v.71,bM+\'//oI.71.a5/6Y/$2\'+bK)}F B},kT:C(B){E 3M=B.1T(q.G.2z.4v.M);if(3M){B=B.K(B,\'<1L 4t="\'+3M+\'" 1G="I-2z-41" />\');if(q.G.1M){if(!q.L.3z(q.1e.1b())){B=\'<br>\'+B}}B+=\'<br>\'}F B},a2:C(B){E 3M=B.1T(q.G.2z.4v.2i);if(3M){3M=$.oJ(3M,C(v,k){F $.3t(v,3M)===k});E 12=3M.12;2B(E i=0;i<12;i++){E 2k=3M[i],1g=2k,5c=q.G.5c+\'://\';if(2k.1T(/(5o?|8K):\\/\\//i)!==4e){5c=""}if(1g.12>q.G.cs){1g=1g.aB(0,q.G.cs)+\'...\'}1g=fl(1g);E cu="\\\\b";if($.3t(2k.ct(-1),["/","&","="])!=-1){cu=""}E kx=2a 2l(\'(\'+2k.K(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,"\\\\$&")+cu+\')\',\'g\');B=B.K(kx,\'<a 2k="\'+5c+$.3k(2k)+\'" 1G="I-2z-41">\'+$.3k(1g)+\'</a>\')}}F B}}},2e:C(){F{3m:C(4H){q.3f.1u();if(!q.L.1P(\'2E\'))q.$T.2n();q.25.1U();q.J.3o();E 1r=q.J.67();E $2e=$(1r).2q(\'ol, 3p\',q.$T[0]);if(!q.L.4p($2e)&&$2e.12!==0){$2e=O}E cq,cn;E 1u=O;if($2e&&$2e.12){1u=1q;E cr=$2e[0].1p;cq=(4H===\'5z\'&&cr===\'8D\');cn=(4H===\'5m\'&&cr===\'8N\')}if(cq){q.L.4I($2e,\'ol\')}N if(cn){q.L.4I($2e,\'3p\')}N{if(1u){q.2e.1u(4H,$2e)}N{q.2e.1Y(4H)}}q.J.3d();q.1e.1S()},1Y:C(4H){E 1z=q.J.3B();E $2Y=$(1z).2q(\'2Y, 5P\',q.$T[0]);if(q.L.1P(\'2E\')&&q.G.1M){q.2e.aR(4H)}N{1l.3Z(\'1Y\'+4H)}E 1r=q.J.67();E $2e=$(1r).2q(\'ol, 3p\',q.$T[0]);if($2Y.12!==0){E iK=$2Y.8O();$2Y.3F(iK).1u(\'\')}if(q.L.3z($2e.1h(\'li\').1g())){E $3O=$2e.3O(\'li\');$3O.1h(\'br\').1u();$3O.1F(q.J.5a());if(q.G.1M&&q.L.1P(\'4b\')&&$3O.9B()==2&&q.L.3z($3O.eq(1).1g())){$3O.eq(1).1u()}}if($2e.12){E $7X=$2e.1r();if(q.L.4p($7X)&&$7X[0].1p!=\'5v\'&&q.L.6X($7X[0])){$7X.2t($7X.26())}}if(!q.L.1P(\'2E\')){q.$T.2n()}q.1x.4r()},aR:C(4H){E 4M=q.J.5Z(\'1i\');E aP=$(4M).B();E 85=(4H==\'5z\')?$(\'<ol>\'):$(\'<3p>\');E 8c=$(\'<li>\');if($.3k(aP)===\'\'){8c.1F(q.J.5a());85.1F(8c);q.$T.1h(\'#J-2r-1\').2t(85)}N{E 8k=aP.4o(/<br\\s?\\/?>/gi);if(8k){2B(E i=0;i<8k.12;i++){if($.3k(8k[i])!==\'\'){85.1F($(\'<li>\').B(8k[i]))}}}N{8c.1F(aP);85.1F(8c)}$(4M).2t(85)}},1u:C(4H,$2e){if($.3t(\'3p\',q.J.3X()))4H=\'5m\';1l.3Z(\'1Y\'+4H);E $1z=$(q.J.3B());q.3y.aO();if(!q.G.1M&&$1z.2q(\'li, 5P, 2Y\',q.$T[0]).12===0){1l.3Z(\'9S\',O,\'p\');q.$T.1h(\'3p, ol, 29\').1B($.1d(q.L.4f,q))}E $3W=$(q.J.3B()).2q(\'3W\',q.$T[0]);E $4G=$3W.4G();if(!q.G.1M&&$3W.12!==0&&$4G.12!==0&&$4G[0].1p==\'58\'){$4G.1u()}q.1x.4r()}}},1a:C(){F{aM:{},iW:C(){q.G.1a={iX:6f()+\'<49 id="I-1a-M-7L">\'+\'<2L>\'+q.1H.1b(\'1J\')+\'</2L>\'+\'<3D 1m="1g" id="I-M-1J" />\'+\'<2L 1G="I-M-V-42">\'+q.1H.1b(\'V\')+\'</2L>\'+\'<3D 1m="1g" id="I-M-V" 1G="I-M-V-42" 4K-2L="\'+q.1H.1b(\'V\')+\'" />\'+\'<2L 1G="I-M-V-42"><3D 1m="iP" id="I-M-V-7Z" 4K-2L="\'+q.1H.1b(\'aL\')+\'"> \'+q.1H.1b(\'aL\')+\'</2L>\'+\'<2L 1G="I-M-4g-42">\'+q.1H.1b(\'cC\')+\'</2L>\'+\'<7z 1G="I-M-4g-42" id="I-M-5g" 4K-2L="\'+q.1H.1b(\'cC\')+\'">\'+\'<42 1E="5p">\'+q.1H.1b(\'5p\')+\'</42>\'+\'<42 1E="2c">\'+q.1H.1b(\'2c\')+\'</42>\'+\'<42 1E="5u">\'+q.1H.1b(\'5u\')+\'</42>\'+\'<42 1E="4s">\'+q.1H.1b(\'4s\')+\'</42>\'+\'</7z>\'+\'</49>\',M:6f()+\'<49 id="I-1a-M-1Y">\'+\'<1i id="I-1a-M-4d"></1i>\'+\'</49>\',22:6f()+\'<49 id="I-1a-22-1Y">\'+\'<1i id="I-1a-22-1v-2Q">\'+\'<2L>\'+q.1H.1b(\'6k\')+\'</2L>\'+\'<3D 1m="1g" id="I-6k" 4K-2L="\'+q.1H.1b(\'6k\')+\'" /><br><br>\'+\'<1i id="I-1a-22-1v"></1i>\'+\'</1i>\'+\'</49>\',V:6f()+\'<49 id="I-1a-V-1Y">\'+\'<2L>cD</2L>\'+\'<3D 1m="2i" id="I-V-2i" 4K-2L="cD" />\'+\'<2L>\'+q.1H.1b(\'1g\')+\'</2L>\'+\'<3D 1m="1g" id="I-V-2i-1g" 4K-2L="\'+q.1H.1b(\'1g\')+\'" />\'+\'<2L><3D 1m="iP" id="I-V-7Z"> \'+q.1H.1b(\'aL\')+\'</2L>\'+\'</49>\'};$.7E(q.G,q.G.1a)},cB:C(1w,2A){q.1a.aM[1w]=2A},oX:C($1a){q.1a.$94=$(\'<1i>\').1c(\'id\',\'I-1a-94\');$1a.6t(q.1a.$94)},oY:C(id,1w,8Z){E $5I=$(\'<a 2k="#" 3T="5I\'+id+\'">\').1g(1w);if(8Z){$5I.2f(\'8Z\')}E 3u=q;$5I.on(\'2y\',C(e){e.2w();$(\'.I-5I\').3v();$(\'.I-\'+$(q).1c(\'3T\')).2O();3u.1a.$94.1h(\'a\').2S(\'8Z\');$(q).2f(\'8Z\')});q.1a.$94.1F($5I)},oZ:C(1w,ic){q.G.1a[1w]=ic},i9:C(1w){F q.G.1a[1w]},oU:C(){F q.$aX.1h(\'49\')},2R:C(62,1J,2J){q.1a.62=62;q.1a.2J=2J;q.1a.2o();q.1a.jr();q.1a.i7(1J);q.1a.ik();q.1a.i8();if(1s q.1a.aM[62]!=\'1y\'){q.1a.aM[62].6e(q)}},2O:C(){q.L.d8();if(q.L.6M()){q.1a.cx()}N{q.1a.aZ()}if(q.G.cA){q.$4F.2f("I-1a-jP")}q.$74.2O();q.$4F.2O();q.$1a.1c(\'6S\',\'-1\');q.$1a.2n();q.1a.ip();q.L.8z();if(!q.L.6M()){3A($.1d(q.1a.aZ,q),0);$(3l).on(\'4J.I-1a\',$.1d(q.1a.4J,q))}q.1X.2u(\'oP\',q.1a.62,q.$1a);$(1l).3h(\'oO.1a\');q.$1a.1h(\'3D[1m=1g],3D[1m=2i],3D[1m=oQ]\').on(\'1D.I-1a\',$.1d(q.1a.iu,q))},aZ:C(){E 3n=q.$1a.oR();E aT=$(3l).3n();E 7u=$(3l).2J();if(q.1a.2J>7u){q.$1a.1O({2J:\'96%\',63:(aT/2-3n/2)+\'px\'});F}if(3n>aT){q.$1a.1O({2J:q.1a.2J+\'px\',63:\'oS\'})}N{q.$1a.1O({2J:q.1a.2J+\'px\',63:(aT/2-3n/2)+\'px\'})}},cx:C(){q.$1a.1O({2J:\'96%\',63:\'2%\'})},4J:C(){if(q.L.6M()){q.1a.cx()}N{q.1a.aZ()}},i7:C(1J){q.$9e.B(1J)},i8:C(){q.$aX.B(q.1a.i9(q.1a.62))},ik:C(){if(1s $.fn.iv===\'1y\')F;q.$1a.iv({iw:q.$9e});q.$9e.1O(\'oa\',\'oc\')},iu:C(e){if(e.7U!=13)F;e.2w();q.$1a.1h(\'1t.I-1a-7M-21\').2y()},cy:C(){E 1t=$(\'<1t>\').2f(\'I-1a-21 I-1a-4j-21\').B(q.1H.1b(\'it\'));1t.on(\'2y\',$.1d(q.1a.4j,q));q.$9i.1F(1t)},io:C(2L){F q.1a.cm(2L,\'83\')},cz:C(2L){F q.1a.cm(2L,\'7M\')},cm:C(2L,3E){E 1t=$(\'<1t>\').2f(\'I-1a-21\').2f(\'I-1a-\'+3E+\'-21\').B(2L);q.$9i.1F(1t);F 1t},ip:C(){E 4i=q.$9i.1h(\'1t\');E cl=4i.12;if(cl===0)F;4i.1O(\'2J\',(88/cl)+\'%\')},2o:C(){q.1a.jw();q.$4F=$(\'<1i id="I-1a-2Q"/>\').3v();q.$1a=$(\'<1i id="I-1a" 9c="o9" 4K-o8="I-1a-87" />\');q.$9e=$(\'<87 id="I-1a-87"/>\');q.$8X=$(\'<1t 1m="1t" id="I-1a-4j" 6S="1" 4K-2L="o3" />\').B(\'&o2;\');q.$aX=$(\'<1i id="I-1a-31" />\');q.$9i=$(\'<c8 />\');q.$1a.1F(q.$9e);q.$1a.1F(q.$8X);q.$1a.1F(q.$aX);q.$1a.1F(q.$9i);q.$4F.1F(q.$1a);q.$4F.aU(1l.31)},jw:C(){q.$74=$(\'<1i id="I-1a-o5">\').3v();$(\'31\').6t(q.$74)},jr:C(){q.$8X.on(\'2y.I-1a\',$.1d(q.1a.4j,q));$(1l).on(\'2s.I-1a\',$.1d(q.1a.9a,q));q.$T.on(\'2s.I-1a\',$.1d(q.1a.9a,q));q.$4F.on(\'2y.I-1a\',$.1d(q.1a.4j,q))},jC:C(){q.$8X.3h(\'2y.I-1a\');$(1l).3h(\'2s.I-1a\');q.$T.3h(\'2s.I-1a\');q.$4F.3h(\'2y.I-1a\');$(3l).3h(\'4J.I-1a\')},9a:C(e){if(e.7U!=q.3j.b2)F;q.1a.4j(O)},4j:C(e){if(e){if(!$(e.1Q).3i(\'I-1a-4j-21\')&&e.1Q!=q.$8X[0]&&e.1Q!=q.$4F[0]){F}e.2w()}if(!q.$4F)F;q.1a.jC();q.L.bJ();q.$74.1u();q.$4F.iM(\'of\',$.1d(C(){q.$4F.1u();3A($.1d(q.L.bk,q),0);if(e!==1y)q.J.3d();$(1l.31).1O(\'bI\',q.1a.og);q.1X.2u(\'ot\',q.1a.62)},q))}}},1R:C(){F{2R:C(){if(1s q.G.jL!="1y")F;if(q.L.1P(\'2E\')){E 3u=q;q.$T.1h(\'2F, 1e\').on(\'ay\',C(){3u.$T.1c(\'5d\',O);$(q).1c(\'5d\',1q)}).on(\'az\',C(){3u.$T.1c(\'5d\',1q);$(q).1K(\'5d\')})}q.1R.au();q.1R.5n()},1A:C(e,2g){q.1R.4i(e,2g);q.1R.79()},c7:C($el,$1z){if(1s $1z==\'1y\'){E $1z=$(q.J.3B())}F $1z.is($el)||$1z.dL($el).12>0},79:C(){E $1z=$(q.J.3B());$.1B(q.G.1R.79,$.1d(C(1k,1E){E 1R=1E.1R,2j=1R.2j,$2x=1E.2x,c3=1s 1R[\'in\']!=\'1y\'?1R[\'in\']:O,c6=1s 1R[\'2m\']!=\'1y\'?1R[\'2m\']:O;if($1z.2q(2j).9B()>0){q.1R.c4($2x,c3,c6)}N{q.1R.c4($2x,c6,c3)}},q))},c4:C($2x,9s,ax){if(ax&&1s ax[\'1c\']!=\'1y\'){q.1R.c5($2x,ax.1c,1q)}if(1s 9s[\'1c\']!=\'1y\'){q.1R.c5($2x,9s.1c)}if(1s 9s[\'1J\']!=\'1y\'){$2x.1g(9s[\'1J\'])}},c5:C($2x,jq,cb){$.1B(jq,C(1k,1E){if(1k==\'1G\'){if(!cb){$2x.2f(1E)}N{$2x.2S(1E)}}N{if(!cb){$2x.1c(1k,1E)}N{$2x.1K(1k)}}})},cc:C($2x,2g,2X){if(1s 2X.1R=="1y")F;2X.2x=$2x;q.G.1R.79.2N(2X)},4i:C(e,2g){E 1z=q.J.3B();E 1r=q.J.67();if(e!==O){q.1t.cj()}N{q.1t.cj(2g)}if(e===O&&2g!==\'B\'){if($.3t(2g,q.G.b5)!=-1)q.1t.oq(2g);F}$.1B(q.G.cg,$.1d(C(1k,1E){E aw=$(1r).2q(1k,q.$T[0]);E ck=$(1z).2q(1k,q.$T[0]);if(aw.12!==0&&!q.L.4p(aw))F;if(!q.L.4p(ck))F;if(aw.12!==0||ck.2q(1k,q.$T[0]).12!==0){q.1t.9q(1E)}},q));E $1r=$(1r).2q(q.G.8F.4y().3e(),q.$T[0]);if(q.L.4p(1r)&&$1r.12){E 5g=($1r.1O(\'1g-5g\')===\'\')?\'2c\':$1r.1O(\'1g-5g\');q.1t.9q(\'5g\'+5g)}},oi:C(Y,2g){q.G.b5.2N(2g);q.G.cg[Y]=2g},au:C(){q.$T.1h(\'1L\').1B($.1d(C(i,1L){E $1L=$(1L);$1L.2q(\'a\',q.$T[0]).on(\'2y\',C(e){e.2w()});if(q.L.1P(\'2E\'))$1L.1c(\'oh\',\'on\');q.M.j1($1L)},q));$(1l).on(\'2y.I-M-83.\'+q.2G,$.1d(C(e){q.1R.M=O;if(e.1Q.1p==\'aA\'&&q.L.4p(e.1Q)){q.1R.M=(q.1R.M&&q.1R.M==e.1Q)?O:e.1Q}},q))},5n:C(){if(!q.G.j4)F;q.$T.1h(\'a\').on(\'5H.I.\'+q.2G+\' 2y.I.\'+q.2G,$.1d(q.1R.jc,q));q.$T.on(\'5H.I.\'+q.2G+\' 2y.I.\'+q.2G,$.1d(q.1R.cf,q));$(1l).on(\'5H.I.\'+q.2G+\' 2y.I.\'+q.2G,$.1d(q.1R.cf,q))},jl:C($V){F $V.2I()},jc:C(e){E $el=$(e.1Q);if($el[0].1p==\'aA\')F;if($el[0].1p!==\'A\')$el=$el.2q(\'a\',q.$T[0]);if($el[0].1p!==\'A\')F;E $V=$el;E 3s=q.1R.jl($V);E 3q=$(\'<1j 1G="I-V-3q"></1j>\');E 2k=$V.1c(\'2k\');if(2k===1y){2k=\'\'}if(2k.12>24)2k=2k.aB(0,24)+\'...\';E jj=$(\'<a 2k="\'+$V.1c(\'2k\')+\'" 1Q="7K" />\').B(2k).2f(\'I-V-3q-7M\');E jf=$(\'<a 2k="#" />\').B(q.1H.1b(\'7L\')).on(\'2y\',$.1d(q.V.2O,q)).2f(\'I-V-3q-7M\');E je=$(\'<a 2k="#" />\').B(q.1H.1b(\'6P\')).on(\'2y\',$.1d(q.V.6P,q)).2f(\'I-V-3q-7M\');3q.1F(jj).1F(\' | \').1F(jf).1F(\' | \').1F(je);3q.1O({2U:(3s.2U+5L($V.1O(\'3K-3n\'),10))+\'px\',2c:3s.2c+\'px\'});$(\'.I-V-3q\').1u();$(\'31\').1F(3q)},cf:C(e){e=e.7T||e;E 1Q=e.1Q;E $1r=$(1Q).2q(\'a\',q.$T[0]);if($1r.12!==0&&$1r[0].1p===\'A\'&&1Q.1p!==\'A\'){F}N if((1Q.1p===\'A\'&&q.L.4p(1Q))||$(1Q).3i(\'I-V-3q-7M\')){F}$(\'.I-V-3q\').1u()}}},2V:C(){F{2R:C(B){if(q.G.1M)F B;if(B===\'\'||B===\'<p></p>\')F q.G.5S;B=B+"\\n";q.2V.aC=[];q.2V.z=0;B=B.K(/(<br\\s?\\/?>){1,}\\n?<\\/29>/gi,\'</29>\');B=q.2V.jk(B);B=q.2V.j6(B);B=q.2V.jF(B);B=q.2V.jp(B);B=q.2V.8M(B);B=q.2V.j7(B);B=B.K(2a 2l(\'<br\\\\s?/?>\\n?<(\'+q.G.ej.3c(\'|\')+\')(.*?[^>])>\',\'gi\'),\'<p><br /></p>\\n<$1$2>\');F $.3k(B)},jk:C(B){E $1i=$(\'<1i />\').1F(B);$1i.1h(\'29 p\').2t(C(){F $(q).1F(\'<br />\').26()});B=$1i.B();$1i.1h(q.G.ej.3c(\', \')).1B($.1d(C(i,s){q.2V.z++;q.2V.aC[q.2V.z]=s.7v;B=B.K(s.7v,\'\\n{K\'+q.2V.z+\'}\')},q));F B},j6:C(B){E dX=B.1T(/<!--([\\w\\W]*?)-->/gi);if(!dX)F B;$.1B(dX,$.1d(C(i,s){q.2V.z++;q.2V.aC[q.2V.z]=s;B=B.K(s,\'\\n{K\'+q.2V.z+\'}\')},q));F B},j7:C(B){$.1B(q.2V.aC,C(i,s){s=(1s s!==\'1y\')?s.K(/\\$/g,\'&#36;\'):s;B=B.K(\'{K\'+i+\'}\',s)});F B},jp:C(B){E 4O=B.4o(2a 2l(\'\\n\',\'g\'),-1);B=\'\';if(4O){E 2p=4O.12;2B(E i=0;i<2p;i++){if(!4O.ow(i))F;if(4O[i].3N(\'{K\')==-1){4O[i]=4O[i].K(/<p>\\n\\t?<\\/p>/gi,\'\');4O[i]=4O[i].K(/<p><\\/p>/gi,\'\');if(4O[i]!==\'\'){B+=\'<p>\'+4O[i].K(/^\\n+|\\n+$/g,"")+"</p>"}}N B+=4O[i]}}F B},jF:C(B){B=B.K(/<br \\/>\\s*<br \\/>/gi,"\\n\\n");B=B.K(/<br\\s?\\/?>\\n?<br\\s?\\/?>/gi,"\\n<br /><br />");B=B.K(2a 2l("\\r\\n",\'g\'),"\\n");B=B.K(2a 2l("\\r",\'g\'),"\\n");B=B.K(2a 2l("/\\n\\n+/"),\'g\',"\\n\\n");F B},8M:C(B){B=B.K(2a 2l(\'</29></p>\',\'gi\'),\'</29>\');B=B.K(2a 2l(\'<p></29>\',\'gi\'),\'</29>\');B=B.K(2a 2l(\'<p><29>\',\'gi\'),\'<29>\');B=B.K(2a 2l(\'<29></p>\',\'gi\'),\'<29>\');B=B.K(2a 2l(\'<p><p \',\'gi\'),\'<p \');B=B.K(2a 2l(\'<p><p>\',\'gi\'),\'<p>\');B=B.K(2a 2l(\'</p></p>\',\'gi\'),\'</p>\');B=B.K(2a 2l(\'<p>\\\\s?</p>\',\'gi\'),\'\');B=B.K(2a 2l("\\n</p>",\'gi\'),\'</p>\');B=B.K(2a 2l(\'<p>\\t?\\t?\\n?<p>\',\'gi\'),\'<p>\');B=B.K(2a 2l(\'<p>\\t*</p>\',\'gi\'),\'\');F B}}},5C:C(){F{3Q:C(e){if(!q.G.jJ){3A($.1d(q.1e.1S,q),1);F}q.7B=1q;q.25.1U();q.J.3o();q.L.8z();q.5C.ju();$(3l).on(\'6b.I-jv\',$.1d(C(){$(3l).3U(q.bm)},q));3A($.1d(C(){E B=q.$5e.B();q.$5e.1u();q.J.3d();q.L.bk();q.5C.1Y(B);$(3l).3h(\'6b.I-jv\');if(q.2z.aD())q.2z.30()},q),1)},ju:C(){q.$5e=$(\'<1i>\').B(\'\').1c(\'5d\',\'1q\').1O({4g:\'82\',2J:0,2U:0,2c:\'-o4\'});if(q.L.1P(\'2E\')){q.$2Q.1F(q.$5e)}N{if($(\'.1a-31\').12>0){$(\'.1a-31\').1F(q.$5e)}N{$(\'31\').1F(q.$5e)}}q.$5e.2n()},1Y:C(B){B=q.1X.2u(\'od\',B);B=(q.L.9w())?q.1x.8y(B,O):q.1x.8y(B);B=q.1X.2u(\'5C\',B);if(q.L.9w()){q.1Y.1U(B,O)}N{q.1Y.B(B,O)}q.L.8U();q.7B=O;3A($.1d(q.1x.4r,q),10);3A($.1d(C(){E ii=q.$T.1h(\'1j\');$.1B(ii,C(i,s){E B=s.3x.K(/\\6g/,\'\');if(B===\'\'&&s.4u.12===0)$(s).1u()})},q),10)}}},3f:C(){F{9Q:C(){if(!q.3f.is())F;q.$T.1c(\'3f\',q.$2j.1c(\'3f\'));q.3f.3m();q.$T.on(\'1D.I-3f\',$.1d(q.3f.3m,q))},3m:C(){3A($.1d(C(){E 1C=q.L.3z(q.$T.B(),O)?\'2f\':\'2S\';q.$T[1C](\'I-3f\')},q),5)},1u:C(){q.$T.2S(\'I-3f\')},is:C(){if(q.G.3f){F q.$2j.1c(\'3f\',q.G.3f)}N{F!(1s q.$2j.1c(\'3f\')==\'1y\'||q.$2j.1c(\'3f\')===\'\')}}}},5E:C(){F{2O:C(){$(1l.31).1F($(\'<1i id="I-5E"><1j></1j></1i>\'));$(\'#I-5E\').oN()},3v:C(){$(\'#I-5E\').iM(oM,C(){$(q).1u()})}}},J:C(){F{1b:C(){q.2T=1l.4D();if(1l.4D&&q.2T.6l&&q.2T.7A){q.14=q.2T.6l(0)}N{q.14=1l.92()}},4l:C(){52{q.2T.8T()}51(e){}q.2T.4l(q.14)},3B:C(){E el=O;q.J.1b();if(q.2T&&q.2T.7A>0){el=q.2T.6l(0).ko}F q.L.4p(el)},67:C(4V){4V=4V||q.J.3B();if(4V){F q.L.4p($(4V).1r()[0])}F O},iG:C(){F 3l.4D().iI.oB},oz:C(){F 3l.4D().iI.oA},4a:C(Q){Q=Q||q.J.3B();56(Q){if(q.L.7J(Q.1p)){F($(Q).3i(\'I-T\'))?O:Q}Q=Q.e4}F O},e8:C(23,2d){q.J.1b();if(q.14&&q.14.53){F O}E 5U=[];23=(1s 23==\'1y\'||23===O)?q.J.6I():23;E 4N=q.G.4N;4N.2N(\'1j\');if(1s 2d!==\'1y\'){2B(E i=0;i<2d.12;i++){4N.2N(2d[i])}}$.1B(23,$.1d(C(i,Q){if($.3t(Q.1p.3e(),4N)!=-1){5U.2N(Q)}},q));F(5U.12===0)?O:5U},kq:C(2d){q.J.1b();if(q.14&&q.14.53){F O}E 5U=[];E 23=q.J.6I();$.1B(23,$.1d(C(i,Q){if($.3t(Q.1p.3e(),2d)!=-1){5U.2N(Q)}},q));F(5U.12===0)?O:5U},3X:C(23){q.J.1b();if(q.14&&q.14.53){F[q.J.4a()]}E 1Z=[];23=(1s 23==\'1y\')?q.J.6I():23;$.1B(23,$.1d(C(i,Q){if(q.L.6X(Q)){q.J.kI=Q;1Z.2N(Q)}},q));F(1Z.12===0)?[q.J.4a()]:1Z},kJ:C(){F q.J.kI},6I:C(){q.J.1b();E 78=q.J.ei(1);E 9J=q.J.ei(2);if(q.14.53===O){if(3l.4D){E 2T=3l.4D();if(2T.7A>0){E 14=2T.6l(0);E kf=14.ko,ef=14.ef;E 7F=14.7S();7F.43(O);7F.3L(9J);7F.2W(kf,ef);7F.43(1q);7F.3L(78);14.9I(78);14.ks(9J);2T.8T();2T.4l(14)}}}N{q.J.k0(q.14,78,1q);9J=78}E 23=[];E 9z=0;E 3u=q;q.$T.1h(\'*\').1B(C(){if(q==78){E 1r=$(q).1r();if(1r.12!==0&&1r[0].1p!=\'e6\'&&3u.L.4p(1r[0])){23.2N(1r[0])}23.2N(q);9z=1}N{if(9z>0){23.2N(q);9z=9z+1}}if(q==9J){F O}});E eb=[];E 2p=23.12;2B(E i=0;i<2p;i++){if(23[i].id!=\'23-2r-1\'&&23[i].id!=\'23-2r-2\'){eb.2N(23[i])}}q.J.kp();F eb},ei:C(6d){F $(\'<1j id="23-2r-\'+6d+\'" 1G="I-23-2r" 1f-3H="I">\'+q.G.6o+\'</1j>\')[0]},k0:C(14,Q,1m){E 14=14.7S();52{14.43(1m);14.3L(Q)}51(e){}},kp:C(){$(1l).1h(\'1j.I-23-2r\').1u();q.$T.1h(\'1j.I-23-2r\').1u()},nQ:C(2b,2h){q.1V.eh(2b,2h)},5Z:C(Y){q.J.1b();if(q.14.53)F O;E 4M=1l.3w(Y);4M.81(q.14.nT());q.14.3L(4M);F 4M},9g:C(Q){if(q.L.1P(\'4b\')){Q=Q[0]||Q;E 14=1l.92();14.9j(Q)}N{q.1V.1U(Q,0,Q,1)}},bd:C(){q.J.1b();q.14.9j(q.$T[0]);q.J.4l()},1u:C(){q.J.1b();q.2T.8T()},3o:C(){q.J.g2()},g2:C(){q.J.1b();E 5M=q.J.6Q(1);q.J.ed(q.14,5M,1q);if(q.14.53===O){E 9C=q.J.6Q(2);q.J.ed(q.14,9C,O);if(q.L.1P(\'hw\')){q.1V.1U(5M,0,9C,0);}}q.eT=q.$T.B()},6Q:C(6d){if(1s 6d==\'1y\')6d=1;F $(\'<1j id="J-2r-\'+6d+\'" 1G="I-J-2r"  1f-3H="I">\'+q.G.6o+\'</1j>\')[0]},5a:C(6d){F q.L.6q(q.J.6Q(6d))},ed:C(14,Q,1m){14=14.7S();52{14.43(1m);14.3L(Q)}51(e){q.2n.2W()}},3d:C(){E 5M=q.$T.1h(\'1j#J-2r-1\');E 9C=q.$T.1h(\'1j#J-2r-2\');if(q.L.1P(\'4b\')){q.$T.2n()}if(5M.12!==0&&9C.12!==0){q.1V.1U(5M,0,9C,0)}N if(5M.12!==0){q.1V.1U(5M,0,5M,0)}N{q.$T.2n()}q.J.8p();q.eT=O},8p:C(){q.$T.1h(\'1j.I-J-2r\').1B(C(i,s){E 1g=$(s).1g().K(/\\6g/g,\'\');if(1g===\'\')$(s).1u();N $(s).2t(C(){F $(q).26()})})},e1:C(){q.J.1b();F q.2T.4y()},q5:C(){E B=\'\';q.J.1b();if(q.2T.7A){E dY=1l.3w(\'1i\');E 2p=q.2T.7A;2B(E i=0;i<2p;++i){dY.81(q.2T.6l(i).qN())}B=dY.3x}F q.1x.9R(B)},go:C(B){q.J.1b();q.14.55();E 1i=1l.3w("1i");1i.3x=B;E 4L=1l.9M(),4w;56((4w=1i.9N)){4L.81(4w)}q.14.3L(4L)},qE:C(B){B=q.J.5a(1)+B+q.J.5a(2);q.J.1b();if(3l.4D&&3l.4D().6l){q.J.go(B)}N if(1l.J&&1l.J.92){q.14.gw(B)}q.J.3d();q.1e.1S()}}},6m:C(){F{3Q:C(e,1k){if(!q.G.6m){if((e.9u||e.6J)&&(1k===66||1k===73))e.2w();F O}$.1B(q.G.6m,$.1d(C(5f,4A){E 4X=5f.4o(\',\');E 2p=4X.12;2B(E i=0;i<2p;i++){if(1s 4X[i]===\'6Z\'){q.6m.7N(e,$.3k(4X[i]),$.1d(C(){E 1C;if(4A.1C.3N(/\\./)!=\'-1\'){1C=4A.1C.4o(\'.\');if(1s q[1C[0]]!=\'1y\'){q[1C[0]][1C[1]].9E(q,4A.6p)}}N{q[4A.1C].9E(q,4A.6p)}},q))}}},q))},7N:C(e,4X,fq){E g5={8:"pS",9:"5I",10:"F",13:"F",16:"6E",17:"48",18:"80",19:"pB",20:"pA",27:"py",32:"3g",33:"pE",34:"pF",35:"2h",36:"lb",37:"2c",38:"ls",39:"4s",40:"l8",45:"1Y",46:"4h",59:";",61:"=",96:"0",97:"1",98:"2",99:"3",88:"4",mN:"5",mS:"6",mT:"7",ln:"8",le:"9",mP:"*",lY:"+",me:"-",md:".",m4:"/",lV:"f1",mJ:"f2",q1:"f3",mD:"f4",pN:"f5",pa:"f6",p9:"f7",p3:"f8",ps:"f9",pk:"pZ",qD:"qF",qA:"qu",qw:"qx",qz:"6b",qS:"-",qR:";",qJ:"=",q9:",",q8:"-",qo:".",ql:"/",qh:"`",e5:"[",nG:"\\\\",ek:"]",nF:"\'"};E e9={"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"nM","=":"+",";":": ","\'":"\\"",",":"<",".":">","/":"?","\\\\":"|"};4X=4X.3e().4o(" ");E bu=g5[e.3j],9h=6f.nW(e.7U).3e(),86="",7j={};$.1B(["80","48","5h","6E"],C(68,bz){if(e[bz+\'nX\']&&bu!==bz){86+=bz+\'+\'}});if(bu)7j[86+bu]=1q;if(9h){7j[86+9h]=1q;7j[86+e9[9h]]=1q;if(86==="6E+"){7j[e9[9h]]=1q}}2B(E i=0,2p=4X.12;i<2p;i++){if(7j[4X[i]]){e.2w();F fq.9E(q,fA)}}}}},2H:C(){F{1b:C(1e){if(!q.G.2H)F 1e;E dZ=[\'fx\',\'31\',\'e0\',\'hr\',\'i?n9\',\'V\',\'5h\',\'n5\',\'1o\',\'3V\',\'3W\',\'ee\',\'e7\',\'e3\'];E e2=[\'li\',\'dt\',\'dt\',\'h[1-6]\',\'42\',\'3V\'];E 8H=[\'p\',\'29\',\'1i\',\'dl\',\'iT\',\'64\',\'oV\',\'iA\',\'ol\',\'2F\',\'7z\',\'2Y\',\'5P\',\'6O\',\'3p\'];q.2H.jE=2a 2l(\'^<(/?\'+dZ.3c(\'|/?\')+\'|\'+e2.3c(\'|\')+\')[ >]\');q.2H.j8=2a 2l(\'^<(br|/?\'+dZ.3c(\'|/?\')+\'|/\'+e2.3c(\'|/\')+\')[ >]\');q.2H.8H=2a 2l(\'^</?(\'+8H.3c(\'|\')+\')[ >]\');E i=0,bl=1e.12,3S=0,2b=4e,2h=4e,Y=\'\',2m=\'\',5b=\'\';q.2H.8L=0;2B(;i<bl;i++){3S=i;if(-1==1e.4x(i).4Q(\'<\')){2m+=1e.4x(i);F q.2H.eg(2m)}56(3S<bl&&1e.6a(3S)!=\'<\'){3S++}if(i!=3S){5b=1e.4x(i,3S-i);if(!5b.1T(/^\\s{2,}$/g)){if(\'\\n\'==2m.6a(2m.12-1))2m+=q.2H.7r();N if(\'\\n\'==5b.6a(0)){2m+=\'\\n\'+q.2H.7r();5b=5b.K(/^\\s+/,\'\')}2m+=5b}if(5b.1T(/\\n/))2m+=\'\\n\'+q.2H.7r()}2b=3S;56(3S<bl&&\'>\'!=1e.6a(3S)){3S++}Y=1e.4x(2b,3S-2b);i=3S;E t;if(\'!--\'==Y.4x(1,3)){if(!Y.1T(/--$/)){56(\'-->\'!=1e.4x(3S,3)){3S++}3S+=2;Y=1e.4x(2b,3S-2b);i=3S}if(\'\\n\'!=2m.6a(2m.12-1))2m+=\'\\n\';2m+=q.2H.7r();2m+=Y+\'>\\n\'}N if(\'!\'==Y[1]){2m=q.2H.bD(Y+\'>\',2m)}N if(\'?\'==Y[1]){2m+=Y+\'>\\n\'}N if(t=Y.1T(/^<(3V|1o|2F)/i)){t[1]=t[1].3e();Y=q.2H.ec(Y);2m=q.2H.bD(Y,2m);2h=6f(1e.4x(i+1)).3e().4Q(\'</\'+t[1]);if(2h){5b=1e.4x(i+1,2h);i+=2h;2m+=5b}}N{Y=q.2H.ec(Y);2m=q.2H.bD(Y,2m)}}F q.2H.eg(2m)},7r:C(){E s=\'\';2B(E j=0;j<q.2H.8L;j++){s+=\'\\t\'}F s},eg:C(1e){1e=1e.K(/\\n\\s*\\n/g,\'\\n\');1e=1e.K(/^[\\s\\n]*/,\'\');1e=1e.K(/[\\s\\n]*$/,\'\');1e=1e.K(/<3V(.*?)>\\n<\\/3V>/gi,\'<3V$1></3V>\');q.2H.8L=0;F 1e},ec:C(Y){E 8E=\'\';Y=Y.K(/\\n/g,\' \');Y=Y.K(/\\s{2,}/g,\' \');Y=Y.K(/^\\s+|\\s+$/g,\' \');E ea=\'\';if(Y.1T(/\\/$/)){ea=\'/\';Y=Y.K(/\\/+$/,\'\')}E m;56(m=/\\s*([^= ]+)(?:=(([\'"\']).*?\\3|[^ ]+))?/.5j(Y)){if(m[2])8E+=m[1].3e()+\'=\'+m[2];N if(m[1])8E+=m[1].3e();8E+=\' \';Y=Y.4x(m[0].12)}F 8E.K(/\\s*$/,\'\')+ea+\'>\'},bD:C(Y,2m){E nl=Y.1T(q.2H.8H);if(Y.1T(q.2H.jE)||nl){2m=2m.K(/\\s*$/,\'\');2m+=\'\\n\'}if(nl&&\'/\'==Y.6a(1))q.2H.8L--;if(\'\\n\'==2m.6a(2m.12-1))2m+=q.2H.7r();if(nl&&\'/\'!=Y.6a(1))q.2H.8L++;2m+=Y;if(Y.1T(q.2H.j8)||Y.1T(q.2H.8H)){2m=2m.K(/ *$/,\'\')}F 2m}}},1I:C(){F{ja:C(){if(q.G.4z)q.G.4c=O;if(q.G.4T)q.G.1K=O;if(q.G.1M)F;E 2d=[\'p\',\'49\'];if(q.G.4z)q.1I.jd(2d);if(q.G.4c)q.1I.jg(2d)},jd:C(2d){E 2p=2d.12;2B(E i=0;i<2p;i++){if($.3t(2d[i],q.G.4z)==-1){q.G.4z.2N(2d[i])}}},jg:C(2d){E 2p=2d.12;2B(E i=0;i<2p;i++){E 3s=$.3t(2d[i],q.G.4c);if(3s!=-1){q.G.4c.bi(3s,1)}}},2R:C(B,44){q.1I.2D={4c:q.G.4c,4z:q.G.4z,6G:q.G.6G,5B:q.G.5B,5A:q.G.5A,5y:q.G.5y,1K:q.G.1K,4T:q.G.4T,6L:q.G.6L,4f:q.G.4f};$.7E(q.1I.2D,44);B=q.1I.6G(B);q.1I.$1i=$(\'<1i />\').1F(B);q.1I.5B();q.1I.5A();q.1I.ji();q.1I.1K();q.1I.4f();q.1I.j5();q.1I.5y();q.1I.6L();B=q.1I.$1i.B();q.1I.$1i.1u();F B},6G:C(B){if(!q.1I.2D.6G)F B;F B.K(/<!--[\\s\\S]*?-->/gi,\'\')},5B:C(B){if(!q.1I.2D.5B)F B;E 2p=q.1I.2D.5B.12;E 5F=[],dB=[];2B(E i=0;i<2p;i++){dB.2N(q.1I.2D.5B[i][1]);5F.2N(q.1I.2D.5B[i][0])}$.1B(5F,$.1d(C(1k,1E){q.1I.$1i.1h(1E).2t(C(){F $("<"+dB[1k]+" />",{B:$(q).B()})})},q))},5A:C(){if(!q.1I.2D.5A)F;E 2p=q.1I.2D.5A.12;q.1I.$1i.1h(\'1j\').1B($.1d(C(n,s){E $el=$(s);E 1o=$el.1c(\'1o\');2B(E i=0;i<2p;i++){if(1o&&1o.1T(2a 2l(\'^\'+q.1I.2D.5A[i][0],\'i\'))){E 1p=q.1I.2D.5A[i][1];$el.2t(C(){E Y=1l.3w(1p);F $(Y).1F($(q).26())})}}},q))},ji:C(){if(!q.1I.2D.4c&&q.1I.2D.4z){q.1I.$1i.1h(\'*\').6h(q.1I.2D.4z.3c(\',\')).1B(C(i,s){if(s.3x===\'\')$(s).1u();N $(s).26().3Y()})}if(q.1I.2D.4c){q.1I.$1i.1h(q.1I.2D.4c.3c(\',\')).1B(C(i,s){if($(s).3i(\'I-3V-Y\')||$(s).3i(\'I-J-2r\'))F;if(s.3x===\'\')$(s).1u();N $(s).26().3Y()})}},1K:C(){E 2p;if(!q.1I.2D.1K&&q.1I.2D.4T){E ce=[],cd=[];2p=q.1I.2D.4T.12;2B(E i=0;i<2p;i++){ce.2N(q.1I.2D.4T[i][0]);cd.2N(q.1I.2D.4T[i][1])}q.1I.$1i.1h(\'*\').1B($.1d(C(n,s){E $el=$(s);E 3s=$.3t($el[0].1p.3e(),ce);E 5D=q.1I.jn(3s,cd,$el);if(5D){$.1B(5D,C(z,f){$el.1K(f)})}},q))}if(q.1I.2D.1K){2p=q.1I.2D.1K.12;2B(E i=0;i<2p;i++){E 8j=q.1I.2D.1K[i][1];if($.bc(8j))8j=8j.3c(\' \');q.1I.$1i.1h(q.1I.2D.1K[i][0]).1K(8j)}}},jn:C(3s,5J,$el){E 5D=[];if(3s==-1){$.1B($el[0].4u,C(i,2x){5D.2N(2x.1w)})}N if(5J[3s]==\'*\'){5D=[]}N{$.1B($el[0].4u,C(i,2x){if($.bc(5J[3s])){if($.3t(2x.1w,5J[3s])==-1){5D.2N(2x.1w)}}N if(5J[3s]!=2x.1w){5D.2N(2x.1w)}})}F 5D},j3:C(el,bv){bv=2a 2l(bv,"g");F el.1B(C(){E 3u=$(q);E 2p=q.4u.12-1;2B(E i=2p;i>=0;i--){E 2x=q.4u[i];if(2x&&2x.oj&&2x.1w.3N(bv)>=0){3u.1K(2x.1w)}}})},4f:C(){if(!q.1I.2D.4f)F;q.1I.$1i.1h(q.1I.2D.4f.3c(\',\')).1B(C(){E $el=$(q);E 1g=$el.1g();1g=1g.K(/\\6g/g,\'\');1g=1g.K(/&5s;/gi,\'\');1g=1g.K(/\\s/g,\'\');if(1g===\'\'&&$el.3O().12===0){$el.1u()}})},j5:C(){q.1I.$1i.1h(\'li p\').26().3Y()},5y:C(){if(!q.1I.2D.5y)F;E 2d=q.1I.2D.5y;if($.bc(q.1I.2D.5y))2d=q.1I.2D.5y.3c(\',\');q.1I.j3(q.1I.$1i.1h(2d),\'^(1f-)\')},6L:C(){if(!q.1I.2D.6L)F;q.1I.$1i.1h(q.1I.2D.6L.3c(\',\')).1B(C(){if(q.4u.12===0){$(q).26().3Y()}})}}},1A:C(){F{3Q:C(){F{B:{1J:q.1H.1b(\'B\'),1C:\'1e.3m\'},3a:{1J:q.1H.1b(\'3a\'),1n:{p:{1J:q.1H.1b(\'j2\'),1C:\'R.30\'},29:{1J:q.1H.1b(\'ci\'),1C:\'R.30\'},2F:{1J:q.1H.1b(\'1e\'),1C:\'R.30\'},h1:{1J:q.1H.1b(\'jb\'),1C:\'R.30\'},h2:{1J:q.1H.1b(\'jH\'),1C:\'R.30\'},h3:{1J:q.1H.1b(\'jI\'),1C:\'R.30\'},h4:{1J:q.1H.1b(\'jM\'),1C:\'R.30\'},h5:{1J:q.1H.1b(\'jD\'),1C:\'R.30\'}}},4n:{1J:q.1H.1b(\'4n\'),1C:\'28.30\'},4m:{1J:q.1H.1b(\'4m\'),1C:\'28.30\'},5Y:{1J:q.1H.1b(\'5Y\'),1C:\'28.30\'},5x:{1J:q.1H.1b(\'5x\'),1C:\'28.30\'},5m:{1J:\'&o6; \'+q.1H.1b(\'5m\'),1C:\'2e.3m\'},5z:{1J:\'1. \'+q.1H.1b(\'5z\'),1C:\'2e.3m\'},7p:{1J:\'< \'+q.1H.1b(\'7p\'),1C:\'3y.95\'},3y:{1J:\'> \'+q.1H.1b(\'3y\'),1C:\'3y.bo\'},M:{1J:q.1H.1b(\'M\'),1C:\'M.2O\'},22:{1J:q.1H.1b(\'22\'),1C:\'22.2O\'},V:{1J:q.1H.1b(\'V\'),1n:{V:{1J:q.1H.1b(\'ba\'),1C:\'V.2O\',1R:{2j:\'a\',in:{1J:q.1H.1b(\'ca\'),},2m:{1J:q.1H.1b(\'ba\')}}},6P:{1J:q.1H.1b(\'6P\'),1C:\'V.6P\',1R:{2j:\'a\',2m:{1c:{\'1G\':\'I-1n-V-c9\',\'4K-7o\':1q}}}}}},3b:{1J:q.1H.1b(\'3b\'),1n:{2c:{1J:q.1H.1b(\'jt\'),1C:\'3b.2c\'},5u:{1J:q.1H.1b(\'jx\'),1C:\'3b.5u\'},4s:{1J:q.1H.1b(\'jB\'),1C:\'3b.4s\'},9d:{1J:q.1H.1b(\'jA\'),1C:\'3b.9d\'}}},b3:{1J:q.1H.1b(\'b3\'),1C:\'3K.1Y\'}}},2o:C(){q.1A.iV();q.1A.iN();q.1A.iU();if(q.G.4i.12===0)F;q.$1A=q.1A.ir();q.1A.iQ();q.1A.1F();q.1A.i5();q.1A.ia();q.1A.iz();if(q.G.b5){q.$T.on(\'iZ.I 2s.I 2n.I\',$.1d(q.1R.1A,q))}},ir:C(){F $(\'<3p>\').2f(\'I-1A\').1c({\'id\':\'I-1A-\'+q.2G,\'9c\':\'1A\'})},i5:C(){$.1B(q.G.1A.3a.1n,$.1d(C(i,s){if($.3t(i,q.G.3a)==-1)83 q.G.1A.3a.1n[i]},q))},ia:C(){$.1B(q.G.4i,$.1d(C(i,2g){if(!q.G.1A[2g])F;if(2g===\'22\'){if(q.G.76===O)F;N if(!q.G.76&&q.G.7V===O)F}if(2g===\'M\'){if(q.G.75===O)F;N if(!q.G.75&&q.G.7V===O)F}E 2X=q.G.1A[2g];q.$1A.1F($(\'<li>\').1F(q.1t.2o(2g,2X)))},q))},1F:C(){if(q.G.bf){q.$1A.2f(\'I-1A-oT\');$(q.G.bf).B(q.$1A)}N{q.$2Q.6t(q.$1A)}},iz:C(){if(!q.L.7b())F;if(q.G.bf)F;if(!q.G.iS)F;q.1A.cp();$(q.G.6y).on(\'6b.I.\'+q.2G,$.1d(q.1A.cp,q))},iQ:C(){if(q.L.6M()&&q.G.iO){q.$1A.2f(\'I-1A-bI\')}},iU:C(){if(q.G.4E)F;E 68=q.G.4i.4Q(\'B\');if(68!==-1){q.G.4i.bi(68,1)}},iV:C(){if(q.G.cw.12===0)F;$.1B(q.G.cw,$.1d(C(i,s){E 68=q.G.4i.4Q(s);q.G.4i.bi(68,1)},q))},iN:C(){if(!q.L.6M()||q.G.cv.12===0)F;$.1B(q.G.cv,$.1d(C(i,s){E 68=q.G.4i.4Q(s);q.G.4i.bi(68,1)},q))},cp:C(){E 3U=$(q.G.6y).3U();E 6C=1;if(q.G.6y===1l){6C=q.$2Q.2I().2U}if((3U+q.G.6z)>6C){q.1A.iD(3U,6C)}N{q.1A.iC()}},iD:C(3U,6C){E 2U=q.G.6z+3U-6C;E 2c=0;E 2h=6C+q.$2Q.3n()-32;E 2J=q.$2Q.7P();q.$1A.2f(\'1A-82-2Q\');q.$1A.1O({4g:\'8u\',2J:2J,2U:2U+\'px\',2c:2c});if(3U>2h)$(\'.I-1n-\'+q.2G+\':c2\').3v();q.1A.iJ();q.$1A.1O(\'iH\',(3U<2h)?\'c2\':\'k4\')},iC:C(){q.$1A.1O({4g:\'oC\',2J:\'bj\',2U:0,2c:0,iH:\'c2\'});q.1A.jO();q.$1A.2S(\'1A-82-2Q\')},iJ:C(){E 2U=q.$1A.6c()+q.G.6z;E 4g=\'82\';if(q.G.6y!==1l){2U=(q.$1A.6c()+q.$1A.2I().2U)+q.G.6z;4g=\'8u\'}$(\'.I-1n-\'+q.2G).1B(C(){$(q).1O({4g:4g,2U:2U+\'px\'})})},jO:C(){E 2U=(q.$1A.6c()+q.$1A.2I().2U);$(\'.I-1n-\'+q.2G).1B(C(){$(q).1O({4g:\'8u\',2U:2U+\'px\'})})}}},1v:C(){F{3Q:C(id,2i,2A){q.1v.4Y=O;q.1v.2A=2A;q.1v.2i=2i;q.1v.$el=$(id);q.1v.$4d=$(\'<1i id="I-4d" />\');q.1v.$cE=$(\'<1i id="I-4d-3f" />\').1g(q.1H.1b(\'kD\'));q.1v.$3D=$(\'<3D 1m="22" 1w="22" />\');q.1v.$cE.1F(q.1v.$3D);q.1v.$4d.1F(q.1v.$cE);q.1v.$el.1F(q.1v.$4d);q.1v.$4d.3h(\'I.1v\');q.1v.$3D.3h(\'I.1v\');q.1v.$4d.on(\'oL.I.1v\',$.1d(q.1v.bn,q));q.1v.$4d.on(\'oK.I.1v\',$.1d(q.1v.k6,q));q.1v.$3D.on(\'kR.I.1v\',$.1d(C(e){e=e.7T||e;q.1v.b9(q.1v.$3D[0].5R[0],e)},q));q.1v.$4d.on(\'57.I.1v\',$.1d(C(e){e.2w();q.1v.$4d.2S(\'7k-c0\').2f(\'7k-57\');q.1v.bs(e)},q))},kQ:C(22,e){q.1v.4Y=1q;q.1v.b9(22,e)},bs:C(e){e=e.7T||e;E 5R=e.bG.5R;q.1v.b9(5R[0],e)},b9:C(22,e){if(q.G.7V){q.1v.bL(22);q.1v.kr(22);F}E 4q=!!3l.b6?2a b6():4e;if(3l.b6){q.1v.bL(22);E 1w=(q.1v.1m==\'M\')?q.G.k1:q.G.k2;4q.1F(1w,22)}q.5E.2O();q.1X.2u(\'o1\',e,4q);q.1v.ky(4q,e)},bL:C(22){q.1v.k8(22);if(q.1v.4Y){q.1v.2i=(q.1v.1m==\'M\')?q.G.75:q.G.76;q.1v.2A=(q.1v.1m==\'M\')?q.M.1Y:q.22.1Y}},k8:C(22){q.1v.1m=\'M\';if(q.G.kb.4Q(22.1m)==-1){q.1v.1m=\'22\'}},6V:C(7H,fd){if(7H===O||1s 7H!==\'41\')F fd;$.1B(7H,$.1d(C(k,v){if(v!==4e&&v.4y().4Q(\'#\')===0)v=$(v).2K();fd.1F(k,v)},q));F fd},ky:C(4q,e){if(q.1v.1m==\'M\'){4q=q.1v.6V(q.G.nq,4q);4q=q.1v.6V(q.1v.b7,4q)}N{4q=q.1v.6V(q.G.nr,4q);4q=q.1v.6V(q.1v.bC,4q)}E 2M=2a bq();2M.bw(\'ns\',q.1v.2i);2M.cF("X-n7-n8","bq");2M.fu=$.1d(C(){if(2M.bS==4){E 1f=2M.fr;1f=1f.K(/^\\[/,\'\');1f=1f.K(/\\]$/,\'\');E 2P;52{2P=(1s 1f===\'6Z\'?$.jY(1f):1f)}51(n6){2P={6U:1q}}q.5E.3v();if(!q.1v.4Y){q.1v.$4d.2S(\'7k-57\')}q.1v.2A(2P,q.1v.4Y,e)}},q);2M.dk(4q)},bn:C(e){e.2w();q.1v.$4d.2f(\'7k-c0\')},k6:C(e){e.2w();q.1v.$4d.2S(\'7k-c0\')},nf:C(){q.1v.b7={}},ne:C(1w,1E){q.1v.b7[1w]=1E},nd:C(1w){83 q.1v.b7[1w]},nc:C(){q.1v.bC={}},nw:C(1w,1E){q.1v.bC[1w]=1E},nx:C(1w){83 q.1v.bC[1w]},kr:C(22){q.1v.fz(22,$.1d(C(kw){q.1v.g4(22,kw)},q))},fz:C(22,2A){E 2M=2a bq();E 6A=\'?\';if(q.G.7V.3N(/\\?/)!=\'-1\')6A=\'&\';2M.bw(\'nR\',q.G.7V+6A+\'1w=\'+22.1w+\'&1m=\'+22.1m,1q);if(2M.fy)2M.fy(\'1g/nS; nP=x-nN-nO\');E fi=q;2M.fu=C(e){if(q.bS==4&&q.dv==bt){fi.5E.2O();2A(fl(q.fr))}N if(q.bS==4&&q.dv!=bt){}};2M.dk()},g3:C(bx,2i){E 2M=2a bq();if("nY"in 2M){2M.bw(bx,2i,1q)}N if(1s fX!="1y"){2M=2a fX();2M.bw(bx,2i)}N{2M=4e}F 2M},g4:C(22,2i){E 2M=q.1v.g3(\'nL\',2i);if(!2M){}N{2M.nD=$.1d(C(){if(2M.dv==bt){q.5E.3v();E bA=2i.4o(\'?\');if(!bA[0]){F O}if(!q.1v.4Y){q.1v.$4d.2S(\'7k-57\')}E 2P={9b:bA[0]};if(q.1v.1m==\'22\'){E 2C=bA[0].4o(\'/\');2P.6k=2C[2C.12-1]}q.1v.2A(2P,q.1v.4Y,O)}N{}},q);2M.nK=C(){};2M.1v.nJ=C(e){};2M.cF(\'p0-p1\',22.1m);2M.cF(\'x-qg-qm\',\'qq-qp\');2M.dk(22)}}}},L:C(){F{6M:C(){F/(eQ|eH|eO|ht)/.bE(b8.bb)},7b:C(){F!/(eQ|eH|q3|eO|ht)/.bE(b8.bb)},q0:C(7H){F g8.5w.4y.6e(7H)==\'[41 6f]\'},3z:C(B,he){B=B.K(/[\\6g-\\q7\\qb]/g,\'\');B=B.K(/&5s;/gi,\'\');B=B.K(/<\\/?br\\s?\\/?>/g,\'\');B=B.K(/\\s/g,\'\');B=B.K(/^<p>[^\\W\\w\\D\\d]*?<\\/p>$/i,\'\');B=B.K(/<4R(.*?[^>])>$/i,\'4R\');B=B.K(/<4E(.*?[^>])>$/i,\'4E\');if(he!==O){B=B.K(/<[^\\/>][^>]*><\\/[^>]+>/gi,\'\');B=B.K(/<[^\\/>][^>]*><\\/[^>]+>/gi,\'\')}B=$.3k(B);F B===\'\'},dr:C(5f){if(1s(5f)===\'1y\')F 0;F 5L(5f.K(\'px\',\'\'),10)},n2:C(6H){if(1s 6H==\'1y\')F;if(6H.3N(/^#/)==-1)F 6H;E hm=/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;6H=6H.K(hm,C(m,r,g,b){F r+r+g+g+b+b});E bg=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.5j(6H);F\'qQ(\'+5L(bg[1],16)+\', \'+5L(bg[2],16)+\', \'+5L(bg[3],16)+\')\'},6q:C(el){F $(\'<1i>\').1F($(el).eq(0).8O()).B()},bh:C(el){if($.3t(el.1p,q.G.8F)!==-1){F $(el)}N{F $(el).2q(q.G.8F.4y().3e(),q.$T[0])}},5r:C(el,1c){E $el=$(el);if(1s $el.1c(1c)==\'1y\'){F 1q}if($el.1c(1c)===\'\'){$el.1K(1c);F 1q}F O},4f:C(i,s){E $s=$($.dQ(s));$s.1h(\'.I-7s-3g\').1K(\'1o\').1K(\'1G\');if($s.1h(\'hr, br, 1L, 4R, 4E\').12!==0)F;E 1g=$.3k($s.1g());if(q.L.3z(1g,O)){$s.1u()}},8z:C(){q.gs=q.$T.3U();q.bm=$(3l).3U();if(q.G.9p)q.gq=$(q.G.9p).3U()},bk:C(){if(1s q.8z===\'1y\'&&1s q.bm===\'1y\')F;$(3l).3U(q.bm);q.$T.3U(q.gs);if(q.G.9p)$(q.G.9p).3U(q.gq)},bH:C(){E 3g=1l.3w(\'1j\');3g.3E=\'I-7s-3g\';3g.3x=q.G.6o;F 3g},4Z:C(Q){E 2d=q.G.4N;2d.2N(\'1j\');if(Q.1p==\'8o\')2d.2N(\'a\');$(Q).1h(2d.3c(\',\')).6h(\'1j.I-J-2r\').26().3Y()},6i:C(Q,4Z){E 3u=q;$(Q).2t(C(){if(4Z===1q)3u.L.4Z(q);F $(q).26()});F $(Q)},4I:C(Q,Y,4Z){E 5F;E 3u=q;$(Q).2t(C(){5F=$(\'<\'+Y+\' />\').1F($(q).26());2B(E i=0;i<q.4u.12;i++){5F.1c(q.4u[i].1w,q.4u[i].1E)}if(4Z===1q)3u.L.4Z(5F);F 5F});F 5F},gp:C(){E R=q.J.4a();if(!R)F O;E 2I=q.1V.b4(R);F(2I===0)?1q:O},6T:C(2j){if(1s 2j==\'1y\'){E 2j=q.J.4a();if(!2j)F O}E 2I=q.1V.b4(2j);E 1g=$.3k($(2j).1g()).K(/\\n\\r\\n/g,\'\');F(2I==1g.12)?1q:O},dN:C(){E R=q.$T[0];E 2I=q.1V.b4(R);E 1g=$.3k($(R).B().K(/(<([^>]+)>)/gi,\'\'));F(2I==1g.12)?1q:O},6X:C(R){R=R[0]||R;F R&&q.L.7J(R.1p)},7J:C(Y){if(1s Y==\'1y\')F O;F q.gm.bE(Y)},bB:C(1z,Y){E 2j=$(1z).2q(Y,q.$T[0]);if(2j.12==1){F 2j[0]}F O},9w:C(){F q.bd},gW:C(){q.bd=1q},8U:C(){q.bd=O},4p:C(el){if(!el){F O}if($(el).dL(\'.I-T\').12===0||$(el).3i(\'I-T\')){F O}F el},h8:C(){F q.L.4S([\'dK\',\'di\',\'cS\',\'cR\',\'cI\',\'cH\'])},4S:C(1p){E 1r=q.J.67();E 1z=q.J.3B();if($.bc(1p)){E cJ=0;$.1B(1p,$.1d(C(i,s){if(q.L.cM(1z,1r,s)){cJ++}},q));F(cJ===0)?O:1q}N{F q.L.cM(1z,1r,1p)}},cM:C(1z,1r,1p){1p=1p.lF();F 1r&&1r.1p===1p?1r:1z&&1z.1p===1p?1z:O},lG:C(){F(q.L.1P(\'2E\')&&5L(q.L.1P(\'bp\'),10)<9)?1q:O},lJ:C(){F(q.L.1P(\'2E\')&&5L(q.L.1P(\'bp\'),10)<10)?1q:O},gj:C(){F!!b8.bb.1T(/lB\\/7\\./)},1P:C(1P){E 4U=b8.bb.3e();E 1T=/(de)[\\/]([\\w.]+)/.5j(4U)||/(hw)[ \\/]([\\w.]+)/.5j(4U)||/(7q)[ \\/]([\\w.]+).*(db)[ \\/]([\\w.]+)/.5j(4U)||/(7q)[ \\/]([\\w.]+)/.5j(4U)||/(kX)(?:.*bp|)[ \\/]([\\w.]+)/.5j(4U)||/(2E) ([\\w.]+)/.5j(4U)||4U.4Q("l3")>=0&&/(dc)(?::| )([\\w.]+)/.5j(4U)||4U.4Q("kZ")<0&&/(4b)(?:.*? dc:([\\w.]+)|)/.5j(4U)||[];if(1P==\'db\')F(1s 1T[3]!=\'1y\')?1T[3]==\'db\':O;if(1P==\'bp\')F 1T[2];if(1P==\'7q\')F(1T[1]==\'hw\'||1T[1]==\'de\'||1T[1]==\'7q\');if(1T[1]==\'dc\')F 1P==\'2E\';if(1T[1]==\'de\')F 1P==\'7q\';F 1P==1T[1]},bF:C(ev,es,2I){E i=ev.4Q(es,2I);F i>=0?i:O},d8:C(){E $31=$(\'B\');E 7u=3l.7P;if(!7u){E cZ=1l.lk.lp();7u=cZ.4s-8d.mO(cZ.2c)}E kP=1l.31.kC<7u;E by=q.L.kv();$31.1O(\'bI\',\'k4\');if(kP)$31.1O(\'hh-4s\',by)},kv:C(){E $31=$(\'31\');E 7G=1l.3w(\'1i\');7G.3E=\'I-hf-j0\';$31.1F(7G);E by=7G.m8-7G.kC;$31[0].m6(7G);F by},bJ:C(){$(\'B\').1O({\'bI\':\'\',\'hh-4s\':\'\'});$(\'31\').1u(\'I-hf-j0\')}}}};$(3l).on(\'2R.eN.I\',C(){$(\'[1f-eN="I"]\').I()});47.5w.3Q.5w=47.5w})(o7);',62,1669,'||||||||||||||||||||||||||this|||||||||||html|function||var|return|opts||redactor|selection|replace|utils|image|else|false||node|block||editor||link|||tag||||length||range||||||modal|get|attr|proxy|code|data|text|find|div|span|key|document|type|dropdown|style|tagName|true|parent|typeof|button|remove|upload|name|clean|undefined|current|toolbar|each|func|keydown|value|append|class|lang|tidy|title|removeAttr|img|linebreaks|next|css|browser|target|observe|sync|match|set|caret|formatted|core|insert|blocks||btn|file|nodes||buffer|contents||inline|blockquote|new|start|left|tags|list|addClass|btnName|end|url|element|href|RegExp|out|focus|build|len|closest|marker|keyup|replaceWith|setCallback|textarea|preventDefault|item|click|linkify|callback|for|arr|settings|msie|pre|uuid|tabifier|offset|width|val|label|xhr|push|show|json|box|load|removeClass|sel|top|paragraphize|setStart|btnObject|td|last|format|body|||||||||formatting|alignment|join|restore|toLowerCase|placeholder|space|off|hasClass|keyCode|trim|window|toggle|height|save|ul|tooltip|autosave|pos|inArray|self|hide|createElement|innerHTML|indent|isEmpty|setTimeout|getCurrent|CodeMirror|input|className|after|imageBox|verified|first|re|line|insertNode|matches|search|children|setEnd|init|font|point|rel|scrollTop|script|table|getBlocks|unwrap|execCommand||object|option|collapse|options|||Redactor|ctrl|section|getBlock|mozilla|deniedTags|droparea|null|removeEmpty|position|del|buttons|close|resizeHandle|addRange|italic|bold|split|isRedactorParent|formData|clearUnverified|right|src|attributes|regexps|child|substr|toString|allowedTags|command|margin|blockElem|getSelection|source|modalBox|prev|cmd|replaceToTag|resize|aria|frag|wrapper|inlineTags|htmls|orgn|indexOf|iframe|isCurrentOrParent|allowedAttr|ua|elem|arrow|keys|direct|removeInlineTags||catch|try|collapsed|setAfter|deleteContents|while|drop|BR||getMarkerAsHtml|cont|linkProtocol|contenteditable|pasteBox|str|align|meta|strong|exec|isFunction|editter|unorderedlist|links|https|none|tmp|removeEmptyAttr|nbsp|br1|center|LI|prototype|underline|removeDataAttr|orderedlist|replaceStyles|replaceTags|paste|attributesRemove|progress|replacement|toggleType|touchstart|tab|allowed|lastNode|parseInt|node1|quot|nodeValue|th|replaceDivs|files|emptyHtml|lastList|inlines|currentList|currentLevel|methods|deleted|wrap|||templateName|marginTop|form|||getParent|index|containerTag|charAt|scroll|innerHeight|num|call|String|u200B|not|replaceWithContents|prop|filename|getRangeAt|shortcuts|break|invisibleSpace|params|getOuterHtml|visual|shiftKey|prepend|instance|preSpaces|SPAN|insertBreakLine|toolbarFixedTarget|toolbarFixedTopOffset|mark|Insert|boxTop|module|shift|TD|removeComments|hex|getNodes|metaKey|figure|removeWithoutAttr|isMobile|display|tr|unlink|getMarker|mousedown|tabindex|isEndOfElement|error|getHiddenFields|editorDiv|isBlock|video|string|ENTER|vimeo|youtube||modalOverlay|imageUpload|fileUpload|focn|startNode|dropdowns|decoration|isDesktop|strike|posFromIndex|endRange|float|getEvent|level|embed|possible|drag|sub|parHtml|www|disabled|outdent|webkit|getTabs|invisible|z0|windowWidth|outerHTML|blocksSize|keyPosition|dropact|select|rangeCount|rtePaste|hideAll|pattern|extend|boundaryRange|scrollDiv|obj|weight|isBlockTag|_blank|edit|action|handler|toggleClass|innerWidth|sup|setVerified|cloneRange|originalEvent|which|s3|hideResize|listParent|figcaption|blank|alt|appendChild|fixed|delete|BACKSPACE|tmpList|modif|header|100|DIV|imageResizer|tagblock|tmpLi|Math|event|resizer|setClass|blurClickedElement|setMode|attrs|items|returnValue|inserted|codemirror|PRE|removeMarkers|blockLevelElements|plugins|http|linkmarker|absolute|focusNode|Delete|imageFloatMargin|onPaste|saveScroll|act|classSize|replaceParagraphsToBr|UL|tagout|alignmentTags|targetTouches|newLevel|isRemoveInline|param|ftp|cleanlevel|clear|OL|clone|imageMargin|DELETE|icon|cite|removeAllRanges|disableSelectAll|lastLevel|createTextNode|modalClose|audio|active|||createRange|convertVideoLinks|tabber|decrease|||||closeHandler|filelink|role|justify|modalHeader|small|selectElement|character|modalFooter|selectNodeContents|rebuffer|undo|autosaveInterval|inputUrl|amp|scrollTarget|setActive|Add|addProperties|events|ctrlKey|isMobileUndoRedo|isSelectAll|insertDblBreakLine|exceptTags|counter||size|node2|singleLine|apply|Array|case|Header|setStartAfter|endNode|addEvent|methodVal|createDocumentFragment|firstChild|autosaveFields|isContainerTable|enable|onSync|formatblock|x200b|replaceToParagraph|eventName|parentA|blockHtml|tabAsSpaces|u00a0|checked|re2|convertLinks|editorHtml|selectionMarkers|com|before|SPACE|nodeType|redo|isTextarea|marginRight|onClick|indentValue|marginLeft|marginBottom|imageFloat|pageY|property|getPlainText|moveToPoint|enterKey|prev2|createTextRange|caretRangeFromPoint|normalizeLists|caretPositionFromPoint|getOffset|encodeEntities|cloned|images|classname|parentEl|deleteProperties|mouseover|mouseout|IMG|substring|safes|isEnabled|formatWrap|formatListToBlockquote|minHeight|bind|maxHeight|caretRange|BLOCKQUOTE|link_new_tab|callbacks|samp|fixEmptyIndent|wrapperHtml|matchContainers|insertInIe|kbd|windowHeight|appendTo|prevList|spaces|modalBody|mso|showOnDesktop|onPasteTidy|clearStyle|ESC|horizontalrule|getOffsetOfElement|activeButtons|FormData|imageFields|navigator|traverseFile|link_insert|userAgent|isArray|selectAll||toolbarExternal|result|getAlignmentElement|splice|auto|restoreScroll|codeLength|saveBodyScroll|onDrag|increase|version|XMLHttpRequest||onDrop|200|special|regex|open|method|scrollbarWidth|specialKey|s3file|isTag|fileFields|placeTag|test|strpos|dataTransfer|createSpaceElement|overflow|enableBodyScroll|iframeEnd|setConfig|iframeStart|firstFound|endOffset|br2|endContainer|insertBreakLineProcessing|readyState|setBefore|curLang|extra|filter|convertImageLinks|mailto|inputText|hover|convertUrlLinks|visible|inValues|setDropdownProperties|setDropdownAttr|outValues|isCurrent|footer|inactive|link_edit|isDelete|addDropdown|allowedAttrData|allowedAttrTags|closeTooltip|activeButtonsStates||quote|setInactiveAll|currentEl|buttonsSize|createButton|isOrderedCmdUnordered|Column|observeScroll|isUnorderedCmdOrdered|listTag|linkSize|slice|regexB|buttonsHideOnMobile|buttonsHide|showOnMobile|createCancelButton|createActionButton|highContrast|addCallback|image_position|URL|placeholdler|setRequestHeader|getTextFromHtml|H6|H5|matched|tagsEmpty|dfn|isCurrentOrParentOne|attrAllowed|Link|headers|add|H4|H3|saveFormTags|convertInline|clearUnverifiedRemove|verifiedTags|listType|listsIds|documentElementRect|formatTableWrapping|content|headTag|count|modules|autosaveName|autosaveOnChange|direction|disableBodyScroll|setAfterOrBefore|fonts|safari|rv||opr|RedactorPlugins|getModuleMethods|syncCode|H2|setFormat|send||removeFormat|TH|isP|imageResizable|imageEditable|normalize|htmlIe||address|status|imageDelete|TAB|isEndOfTable|Table|nodeToCaretPositionFromPoint|rTags|ratio|imageDisplay|selectionStart|selectionEnd|enlargeOffset|removeSpaces|markerLength|showCode|H1|parents|htmlLength|isEndOfEditor|isFocused|redactorImageLink|parseHTML|one|dropdownWidth|formattingAdd|dropdownObject|Row|DOWN|commentsMatches|container|ownLine|head|getText|contOwnLine|tfoot|parentNode|219|BODY|thead|getInlines|hotkeysShiftNums|suffix|finalNodes|cleanTag|setMarker|tbody|startOffset|finish|setOffset|getNodesMarker|paragraphizeBlocks|221||||duplicate|onClickCallback||offsetNode|needle|createTooltip|setEvent|haystack|ie11PasteFrag|disableIeLinks|ie11FixInserting|EndToEnd|setEndPoint|RIGHT|keydownStop|disableMozillaEditing|aside|formatConvert|formatRemoveSameChildren|iPod|args|switch|_this|orgo|strikethrough|tools|BlackBerry|through|iPhone|lastChild|article|savedSel|blocksMatch|execHtml|scope|htmlFixMozilla|haspopup|the|beforekey|||||||||||afterkey|htmlWithoutClean||fullscreen|indented|setEventDropUpload|cleanStyleOnEnter|that|insertParagraph|exitFromBlockquote|decodeURIComponent|replaceDivToParagraph||codeKeydownCallback|tabKey|origHandler|responseText|replaceDivToBreakLine|setEventDrop|onreadystatechange|dbl|stopPropagation|area|overrideMimeType|s3executeOnSignedUrl|arguments|dragImageUpload|insertAfterLastElement|setEvents|insertNewLine|dragFileUpload|onTab|onArrowDown|blur|checkKeyEvents|CTRL|META|ALT|checkEvents|isBlured|focusEnd|stop|setHelpers|formatMultiple|HR|SHIFT|addArrowsEvent|focusCallback|XDomainRequest|setupSelectAll|codeKeyupCallback|LEFT_WIN|altKey|createMarkers|s3createCORSRequest|s3uploadToS3|hotkeysSpecialKeys|setupBuffer|Function|Object|internal|textareaIndenting|onPasteExtra|choose|Mso|setInactive|setActiveInVisual|tempEnd|tempStart||isIe11|modified|indenting|reIsBlock|Center|replaceSelection|isStartOfElement|saveTargetScroll|bmso|saveEditorScroll||clearInterval|removeData|pasteHTML|Video|eventNamespace|Align|destroy|all|indexFromPos|matchBlocks|newTag|replaceDivsToBr|restoreFormTags|onSet|matchBR|savePreFormatting|getPreCode|getOnlyImages|restoreSelectionMarker|saveCodeFormatting|removeDirtyStyles|isSingleLine|onPasteIeFixLinks|setSelectionRange|Code|setInactiveInCode|showVisual|anchor|enableSelectAll|setValue|startSync|onPasteRemoveSpans|onPasteRemoveEmpty|||||||onChange|isCurrentOrParentHeader|selected|onPasteWord|editerWidth|showEdit|loadResizableControls|removeEmptyTags|scrollbar|opacity|padding|15px|cleanSpaces|loadEditableControls|Head|shorthandRegex|walker|increaseLists|removeInvisibleSpace|subscript||foco|Android|replaced|superscript|chrome|increaseText|increaseBlocks|decreaseLists|decreaseBlocks|to|fixImageSourceAfterDrop|inside|imageLink|buttonSave|nofollow|imagePosition|floatValue|buttonDelete|_delete|pastePlainText|FIGCAPTION|Apple|Image|700|floating|linkNofollow|Right|moveResize|Left|round|stopResize|startResize|pageX|chars|update|setFloating|setResizable|formatCollapsed|onShiftEnter|setFormattingTags|replaceElement|setTitle|setContent|getTemplate|loadButtons|alignElement|template|||||jsxhr|spans|removeEmptyListInTable|setDraggable|isNeedReplaceElement|setText||createDeleteButton|setButtonsWidth|bindModuleMethods|createContainer||cancel|setEnter|draggable|handle|isLinebreaksOrNoBlocks|setBlocks|setFixed|map|setMultiple|observeScrollDisable|observeScrollEnable|setCollapsed|formatTags|getPrev|visibility|anchorNode|setDropdownsFixed|newTd|commonAncestorContainer|fadeOut|hideButtonsOnMobile|toolbarOverflow|checkbox|setOverflow|success|toolbarFixed|fieldset|isButtonSourceNeeded|hideButtons|loadTemplates|imageEdit|callbackName|mouseup|measure|setEditable|paragraph|removeAttrs|linkTooltip|removeParagraphsInLists|getSafesComments|restoreSafes|lineAfter|Color|setupAllowed|header1|showTooltip|addToAllowed|aUnlink|aEdit|removeFromDenied|Edit|removeTags|aLink|getSafes|getTooltipPosition|here|removeAttrGetRemoves|Drop|replaceBreaksToParagraphs|properties|enableEvents|shortcutsAdd|align_left|createPasteBox|freeze|buildOverlay|align_center|loadModules|loadOptions|align_justify|align_right|disableEvents|header5|lineBefore|replaceBreaksToNewLines|png|header2|header3|cleanOnPaste|List|destroyed|header4|gif|unsetDropdownsFixed|contrast|textNode|elements|600|xn|location|thref|createContainerBox|insertAfter|parseJSON|isExceptLastOrFirst|setNodesMarker|imageUploadParam|fileUploadParam|_moz_dirty|hidden|setCodeAndCall|onDragLeave|createTextarea|getType|setFocus|objects|imageTypes|insertInOthersBrowsers|getUndo|fromElement|startPointNode|cleanUrl|empty|run|getRedo|fromTextarea|lastFound|re3|langs|startContainer|removeNodesMarkers|getInlinesTags|s3uploadFile|setEndBefore|setForce|getTextareaName|measureScrollbar|signedURL|regexp|sendData|loadContent|keyupStop|isKey|clientWidth|upload_label|buttonText|enableEditor|getData|callEditor|lastBlock|getLastBlock|loadEditor|buttonInsert|setRedo|formatEmpty|setOptions|isOverflowing|directUpload|change|formatBlockquote|convertImages|dir|setUndo|pop|opera|drop_file_here|compatible|UP|ltr|VERSION|trident|cut|docs|sid|hgroup|down|guid|rowspan|home|Name|Download|105|math|removePhp|uploadImageField||legend|documentElement|textContent|innerText|104|download|getBoundingClientRect|stripTags|savePreCode|up||Alignment|Open|colspan|youtu|Anchor|fake|Or|Trident|Underline|LEFT|10px|toUpperCase|isOldIe|Choose|or_choose|isLessIe10|jpe|such|post|enableInlineTableEditing|setToPoint|Infinity|nextNode|SHOW_TEXT|AutoUrlDetect|done|ajax|112|reg|No|107|enableObjectResizing|strict|1000|getCoords|setInterval|111|Horizontal|removeChild|setAwesome|offsetWidth|Justify|addFirst|addBefore|Rule|110|109|removeIcon|autosaveError|createTreeWalker|NodeFilter|caretOffset|setStartBefore|disable|changeIcon|setEndAfter|u2122|trade|application|blurCallback|WordDocument|addAfter|TEXTAREA|sdata|getOwnPropertyNames|converted|xml|1strike|shapes|merge|Deleted|115|applet|spacerun|yes|floor|use|113|u2026|hellip|u2014|101|abs|106|u00a9|copy|102|103|u2010|dash|toggleAttr|setAttr|toggleData|setData|mdash|slevel|hexToRgb|Below|host|noscript|err|Requested|With|frame|insertHtml|insert_column_left|clearFileFields|removeImageFields|addImageFields|clearImageFields|insert_row_below|php|addBack|insert_row_above|insert_table||500|frameborder|281|Above|uploadImageFields|uploadFileFields|POST|createLink|insertedLink|deletedLink|addFileFields|removeFileFields|context|enter|FOOTER|ASIDE|0px|onload|optional|222|220|rows|delete_table|onprogress|onerror|PUT|_|user|defined|charset|fromPoint|GET|plain|extractContents|insert_column_right|delete_row|fromCharCode|Key|withCredentials|delete_column|allowfullscreen|uploadStart|times|Close|9999px|overlay|bull|jQuery|labelledby|dialog|cursor|Outdent|move|pasteBefore|Quote|fast|bodyOveflow|unselectable|addButton|specified|backcolor||fontcolor||Font|Back|toggleActive||Ordered|modalClosed|Bold|Unordered|hasOwnProperty|Normal|Indent|getNext|nextSibling|previousSibling|relative|Unlink|Cancel|Save|HTML|ARTICLE|player|grep|dragleave|dragover|1500|fadeIn|focusin|modalOpened|email|outerHeight|20px|external|getModal|frameset|Formatting|createTabber|addTab|addTemplate|Content|Type|SECTION|119|Embed|getObject|getBox|getEditor|ADDRESS|118|117|getValue|DT|DD|OUTPUT|getElement|getTextarea|HEADER|Email|Text|121|max|dropdownShow|web|video_html_code|Callback|getToolbar|_data|120|namespace|listSelections|setSelection|menu||esc|cleanEmptyParagraph|capslock|pause|summary|details|pageup|pagedown|getOnlyLinksAndImages|Upload|File|nav|Vimeo|alignleft|DL|116|setSize|refresh|setCursor|Youtube|backspace|alignright|aligncenter|syncBefore|jpeg|ins|Ss|f10|isString|114|columns|iPad|cssText|getHtml|Columns|u200D|189|188|add_head|uFEFF|TR|removeStyle|removeStyleRule|nodeToPoint|amz|192|clientX|Rows|clientY|191|acl|toggleStyle|190|read|public|insertHTML|imageUploadError|delete_head|f12|705|144|numlock|image_web_link|145|123|Web|dropdownHide|122|replaceWithHtml|f11|fileUploadError|dragstart|mousemove|187|None|Position|Title|cloneContents|Italic|dropdownShown|rgb|186|173|touchmove|touchend'.split('|'),0,{}))
diff --git a/offline.php b/offline.php
index 0e284a858218162e3d6b0524b6403ed4b6632d3d..20d9b46ffde8bec40d8a63a51d3bc7fd83744b2f 100644
--- a/offline.php
+++ b/offline.php
@@ -25,7 +25,7 @@ require(CLIENTINC_DIR.'header.inc.php');
 <div id="landing_page">
 <?php
 if(($page=$cfg->getOfflinePage())) {
-    echo $page->getBody();
+    echo $page->getBodyWithImages();
 } else {
     echo '<h1>'.__('Support Ticket System Offline').'</h1>';
 }
diff --git a/profile.php b/profile.php
index 47c100aef5fe46f44c1072e0248bc47058f9f047..db501ced39718803bc83db75139159b9f3a82915 100644
--- a/profile.php
+++ b/profile.php
@@ -19,6 +19,12 @@
 require 'secure.inc.php';
 
 require_once 'class.user.php';
+
+// Check if User is Guest. If so, redirect them back to ticket page to
+// prevent Account Takeover.
+if ($thisclient->isGuest())
+    Http::redirect('tickets.php');
+
 $user = User::lookup($thisclient->getId());
 
 if ($user && $_POST) {
diff --git a/pwreset.php b/pwreset.php
index 2461ec3cf6971a736cf5821099a890476963c39f..bc9ef6f29d913cb92ea8c8f2a118225cb449dea8 100644
--- a/pwreset.php
+++ b/pwreset.php
@@ -73,12 +73,8 @@ elseif ($_GET['token']) {
     else
         Http::redirect('index.php');
 }
-elseif ($cfg->allowPasswordReset()) {
-    $banner = __('Enter your username or email address below');
-}
 else {
-    $_SESSION['_staff']['auth']['msg']=__('Password resets are disabled');
-    return header('Location: index.php');
+    $banner = __('Enter your username or email address below');
 }
 
 $nav = new UserNav();
diff --git a/scp/css/login.css b/scp/css/login.css
index 71d6cb7fcedac7dbbb217e0d1d977a14efd711ce..3bf8e12c5532ebdace51e11b17357dfbf50b0abd 100644
--- a/scp/css/login.css
+++ b/scp/css/login.css
@@ -353,3 +353,6 @@ input[type=password] {
     padding: 5px;
     font-size: 0.75em;
 }
+.hidden {
+    display: none;
+}
diff --git a/scp/css/scp.css b/scp/css/scp.css
index d747a7a08c5cd6282ef3f756383928a4859e5723..bfd36840bf5c32c52da2fb88794f577851c7f2cb 100644
--- a/scp/css/scp.css
+++ b/scp/css/scp.css
@@ -2147,7 +2147,7 @@ h2 > i.help-tip {
   overflow:hidden;
   margin:0;
   background-image:url(../images/kb_large_folder.png), url(../images/kb_category_bg.png);
-  background-position:0 50%, bottom left;
+  background-position:0% 0%, top left;
   background-repeat:no-repeat, repeat-x;
   border-bottom:1px solid #ddd;
 }
@@ -3575,6 +3575,10 @@ select {
    -moz-border-radius: 4px;
 }
 
+#cannedResp {
+    margin-bottom: 10px;
+}
+
 a.attachment {
     padding-left: 1.2em;
     display: block;
diff --git a/scp/departments.php b/scp/departments.php
index c1d860488f991d92291f73c0102bf16e0647964a..cb07697370fdefc681839ed7a59f81da10ab2daa 100644
--- a/scp/departments.php
+++ b/scp/departments.php
@@ -19,118 +19,210 @@ $dept=null;
 if($_REQUEST['id'] && !($dept=Dept::lookup($_REQUEST['id'])))
     $errors['err']=sprintf(__('%s: Unknown or invalid ID.'), __('department'));
 
-if($_POST){
-    switch(strtolower($_POST['do'])){
-        case 'update':
-            if(!$dept){
-                $errors['err']=sprintf(__('%s: Unknown or invalid'), __('department'));
-            }elseif($dept->update($_POST,$errors)){
-                $msg=sprintf(__('Successfully updated %s.'),
-                    __('this department'));
-            }elseif(!$errors['err']){
-                $errors['err'] = sprintf('%s %s',
-                    sprintf(__('Unable to update %s.'), __('this department')),
-                    __('Correct any errors below and try again.'));
-            }
-            break;
-        case 'create':
-            $_dept = Dept::create();
-            if(($_dept->update($_POST,$errors))){
-                $msg=sprintf(__('Successfully added %s.'),Format::htmlchars($_POST['name']));
-                $_REQUEST['a']=null;
-            }elseif(!$errors['err']){
-                $errors['err']=sprintf('%s %s',
-                    sprintf(__('Unable to add %s.'), __('this department')),
-                    __('Correct any errors below and try again.'));
-            }
-            break;
-        case 'mass_process':
-            if(!$_POST['ids'] || !is_array($_POST['ids']) || !count($_POST['ids'])) {
-                $errors['err'] = sprintf(__('You must select at least %s.'),
-                    __('one department'));
-            }elseif(in_array($cfg->getDefaultDeptId(),$_POST['ids'])) {
-                $errors['err'] = __('You cannot disable/delete a default department. Select a new default department and try again.');
-            }else{
-                $count=count($_POST['ids']);
-                switch(strtolower($_POST['a'])) {
-                    case 'make_public':
-                        $sql='UPDATE '.DEPT_TABLE.' SET ispublic=1 '
-                            .' WHERE dept_id IN ('.implode(',', db_input($_POST['ids'])).')';
-                        if(db_query($sql) && ($num=db_affected_rows())){
-                            if($num==$count)
-                                $msg=sprintf(__('Successfully made %s PUBLIC'),
-                                    _N('selected department', 'selected departments', $count));
-                            else
-                                $warn=sprintf(__(
-                                    /* Phrase will read:
-                                       <a> of <b> <selected objects> made PUBLIC */
-                                    '%1$d of %2$d %3$s made PUBLIC'), $num, $count,
-                                    _N('selected department', 'selected departments', $count));
-                        } else {
-                            $errors['err']=sprintf(__('Unable to make %s PUBLIC.'),
-                                _N('selected department', 'selected departments', $count));
-                        }
-                        break;
-                    case 'make_private':
-                        $sql='UPDATE '.DEPT_TABLE.' SET ispublic=0  '
-                            .' WHERE dept_id IN ('.implode(',', db_input($_POST['ids'])).') '
-                            .' AND dept_id!='.db_input($cfg->getDefaultDeptId());
-                        if(db_query($sql) && ($num=db_affected_rows())) {
-                            if($num==$count)
-                                $msg = sprintf(__('Successfully made %s PRIVATE'),
-                                    _N('selected department', 'selected epartments', $count));
-                            else
-                                $warn = sprintf(__(
-                                    /* Phrase will read:
-                                       <a> of <b> <selected objects> made PRIVATE */
-                                    '%1$d of %2$d %3$s made PRIVATE'), $num, $count,
+    if($_POST){
+        switch(strtolower($_POST['do'])){
+            case 'update':
+                if(!$dept){
+                    $errors['err']=sprintf(__('%s: Unknown or invalid'), __('department'));
+                }elseif($dept->update($_POST,$errors)){
+                    if ($_POST["status"] != __('Active'))
+                      Dept::clearInactiveDept($dept->getId());
+
+                    $msg=sprintf(__('Successfully updated %s.'),
+                        __('this department'));
+                }elseif(!$errors['err']){
+                    $errors['err'] = sprintf('%s %s',
+                        sprintf(__('Unable to update %s.'), __('this department')),
+                        __('Correct any errors below and try again.'));
+                }
+                break;
+            case 'create':
+                $_dept = Dept::create();
+                if(($_dept->update($_POST,$errors))){
+                    $msg=sprintf(__('Successfully added %s.'),Format::htmlchars($_POST['name']));
+                    $_REQUEST['a']=null;
+                }elseif(!$errors['err']){
+                    $errors['err']=sprintf('%s %s',
+                        sprintf(__('Unable to add %s.'), __('this department')),
+                        __('Correct any errors below and try again.'));
+                }
+                break;
+            case 'mass_process':
+                if(!$_POST['ids'] || !is_array($_POST['ids']) || !count($_POST['ids'])) {
+                    $errors['err'] = sprintf(__('You must select at least %s.'),
+                        __('one department'));
+                }elseif(in_array($cfg->getDefaultDeptId(),$_POST['ids'])) {
+                    $errors['err'] = __('You cannot disable/delete a default department. Select a new default department and try again.');
+                }else{
+                    $count=count($_POST['ids']);
+                    switch(strtolower($_POST['a'])) {
+                        case 'make_public':
+                            $sql='UPDATE '.DEPT_TABLE.' SET ispublic=1 '
+                                .' WHERE dept_id IN ('.implode(',', db_input($_POST['ids'])).')';
+                            if(db_query($sql) && ($num=db_affected_rows())){
+                                if($num==$count)
+                                    $msg=sprintf(__('Successfully made %s PUBLIC'),
+                                        _N('selected department', 'selected departments', $count));
+                                else
+                                    $warn=sprintf(__(
+                                        /* Phrase will read:
+                                           <a> of <b> <selected objects> made PUBLIC */
+                                        '%1$d of %2$d %3$s made PUBLIC'), $num, $count,
+                                        _N('selected department', 'selected departments', $count));
+                            } else {
+                                $errors['err']=sprintf(__('Unable to make %s PUBLIC.'),
                                     _N('selected department', 'selected departments', $count));
-                        } else {
-                            $errors['err'] = sprintf(__('Unable to make %s private. Possibly already private!'),
-                                _N('selected department', 'selected departments', $count));
-                        }
-                        break;
-                    case 'delete':
-                        //Deny all deletes if one of the selections has members in it.
-                        $sql='SELECT count(staff_id) FROM '.STAFF_TABLE
-                            .' WHERE dept_id IN ('.implode(',', db_input($_POST['ids'])).')';
-                        list($members)=db_fetch_row(db_query($sql));
-                        if($members)
-                            $errors['err']=__('Departments with agents can not be deleted. Move the agents first.');
-                        else {
-                            $i=0;
-                            foreach($_POST['ids'] as $k=>$v) {
-                                if($v!=$cfg->getDefaultDeptId() && ($d=Dept::lookup($v)) && $d->delete())
-                                    $i++;
                             }
-                            if($i && $i==$count)
-                                $msg = sprintf(__('Successfully deleted %s.'),
+                            break;
+                        case 'make_private':
+                            $sql='UPDATE '.DEPT_TABLE.' SET ispublic=0  '
+                                .' WHERE dept_id IN ('.implode(',', db_input($_POST['ids'])).') '
+                                .' AND dept_id!='.db_input($cfg->getDefaultDeptId());
+                            if(db_query($sql) && ($num=db_affected_rows())) {
+                                if($num==$count)
+                                    $msg = sprintf(__('Successfully made %s PRIVATE'),
+                                        _N('selected department', 'selected epartments', $count));
+                                else
+                                    $warn = sprintf(__(
+                                        /* Phrase will read:
+                                           <a> of <b> <selected objects> made PRIVATE */
+                                        '%1$d of %2$d %3$s made PRIVATE'), $num, $count,
+                                        _N('selected department', 'selected departments', $count));
+                            } else {
+                                $errors['err'] = sprintf(__('Unable to make %s private. Possibly already private!'),
                                     _N('selected department', 'selected departments', $count));
-                            elseif($i>0)
-                                $warn = sprintf(__(
-                                    /* Phrase will read:
-                                       <a> of <b> <selected objects> deleted */
-                                    '%1$d of %2$d %3$s deleted'), $i, $count,
+                            }
+                            break;
+                        case 'enable':
+                            $depts = Dept::objects()->filter(array(
+                              'id__in'=>$_POST['ids'],
+                            ))->exclude(array(
+                                'id'=>$cfg->getDefaultDeptId()
+                            ));
+                            foreach ($depts as $d) {
+                              $d->setFlag(Dept::FLAG_ARCHIVED, false);
+                              $d->setFlag(Dept::FLAG_ACTIVE, true);
+                              $filter_actions = FilterAction::objects()->filter(array('type' => 'dept', 'configuration' => '{"dept_id":'. $d->getId().'}'));
+                              FilterAction::setFilterFlag($filter_actions, 'dept', false);
+                              if($d->save())
+                                $num++;
+                            }
+
+                            if ($num > 0) {
+                                if($num==$count)
+                                    $msg = sprintf(__('Successfully enabled %s'),
+                                        _N('selected department', 'selected departments', $count));
+                                else
+                                    $warn = sprintf(__('%1$d of %2$d %3$s enabled'), $num, $count,
+                                        _N('selected department', 'selected departments', $count));
+                            } else {
+                                $errors['err'] = sprintf(__('Unable to enable %s'),
                                     _N('selected department', 'selected departments', $count));
-                            elseif(!$errors['err'])
-                                $errors['err'] = sprintf(__('Unable to delete %s.'),
+                            }
+                            break;
+                        case 'disable':
+                            $depts = Dept::objects()->filter(array(
+                              'id__in'=>$_POST['ids'],
+                            ))->exclude(array(
+                                'id'=>$cfg->getDefaultDeptId()
+                            ));
+                            foreach ($depts as $d) {
+                              $d->setFlag(Dept::FLAG_ARCHIVED, false);
+                              $d->setFlag(Dept::FLAG_ACTIVE, false);
+                              $filter_actions = FilterAction::objects()->filter(array('type' => 'dept', 'configuration' => '{"dept_id":'. $d->getId().'}'));
+                              FilterAction::setFilterFlag($filter_actions, 'dept', true);
+                              if($d->save()) {
+                                $num++;
+                                //set dept_id to default for topics/emails using disabled dept
+                                Dept::clearInactiveDept($d->getId());
+                              }
+                            }
+                            if ($num > 0) {
+                                if($num==$count)
+                                    $msg = sprintf(__('Successfully disabled %s'),
+                                        _N('selected department', 'selected departments', $count));
+                                else
+                                    $warn = sprintf(__('%1$d of %2$d %3$s disabled'), $num, $count,
+                                        _N('selected department', 'selected departments', $count));
+                            } else {
+                                $errors['err'] = sprintf(__('Unable to disable %s'),
                                     _N('selected department', 'selected departments', $count));
-                        }
-                        break;
-                    default:
-                        $errors['err']=sprintf('%s - %s', __('Unknown action'), __('Get technical help!'));
+                            }
+                            break;
+                        case 'archive':
+                            $depts = Dept::objects()->filter(array(
+                              'id__in'=>$_POST['ids'],
+                            ))->exclude(array(
+                                'id'=>$cfg->getDefaultDeptId()
+                            ));
+                            foreach ($depts as $d) {
+                              $d->setFlag(Dept::FLAG_ARCHIVED, true);
+                              $d->setFlag(Dept::FLAG_ACTIVE, false);
+                              $filter_actions = FilterAction::objects()->filter(array('type' => 'dept', 'configuration' => '{"dept_id":'. $d->getId().'}'));
+                              FilterAction::setFilterFlag($filter_actions, 'dept', true);
+                              if($d->save()) {
+                                $num++;
+                                //set dept_id to default for topics/emails using archived dept
+                                Dept::clearInactiveDept($d->getId());
+                              }
+                            }
+                            if ($num > 0) {
+                                if($num==$count)
+                                    $msg = sprintf(__('Successfully archived %s'),
+                                        _N('selected department', 'selected departments', $count));
+                                else
+                                    $warn = sprintf(__('%1$d of %2$d %3$s archived'), $num, $count,
+                                        _N('selected department', 'selected departments', $count));
+                            } else {
+                                $errors['err'] = sprintf(__('Unable to archive %s'),
+                                    _N('selected department', 'departments', $count));
+                            }
+                            break;
+                        case 'delete':
+                            //Deny all deletes if one of the selections has members in it.
+                            $sql='SELECT count(staff_id) FROM '.STAFF_TABLE
+                                .' WHERE dept_id IN ('.implode(',', db_input($_POST['ids'])).')';
+                            list($members)=db_fetch_row(db_query($sql));
+                            if($members)
+                                $errors['err']=__('Departments with agents can not be deleted. Move the agents first.');
+                            else {
+                                $i=0;
+                                foreach($_POST['ids'] as $k=>$v) {
+                                    if($v!=$cfg->getDefaultDeptId() && ($d=Dept::lookup($v)) && $d->delete())
+                                        $i++;
+                                }
+                                if($i && $i==$count)
+                                    $msg = sprintf(__('Successfully deleted %s.'),
+                                        _N('selected department', 'selected departments', $count));
+                                elseif($i>0)
+                                    $warn = sprintf(__(
+                                        /* Phrase will read:
+                                           <a> of <b> <selected objects> deleted */
+                                        '%1$d of %2$d %3$s deleted'), $i, $count,
+                                        _N('selected department', 'selected departments', $count));
+                                elseif(!$errors['err'])
+                                    $errors['err'] = sprintf(__('Unable to delete %s.'),
+                                        _N('selected department', 'selected departments', $count));
+                            }
+                            break;
+                    }
                 }
-            }
-            break;
-        default:
-            $errors['err']=__('Unknown action');
-            break;
+                break;
+            default:
+                $errors['err']=__('Unknown action');
+                break;
+        }
     }
-}
 
 $page='departments.inc.php';
 $tip_namespace = 'staff.department';
-if($dept || ($_REQUEST['a'] && !strcasecmp($_REQUEST['a'],'add'))) {
+if ($_REQUEST['a'] && $_REQUEST['a'] == 'export') {
+  if (!Dept::export($dept))
+      $errors['err'] = sprintf(__('Unable to export %s.'), __('Department'));
+} elseif ($dept || ($_REQUEST['a'] && !strcasecmp($_REQUEST['a'],'add'))) {
+  if ($dept && ($pid=$dept->getParent()) && !$pid->isActive())
+    $warn = sprintf(__('%s is assigned a %s that is not active.'), __('Department'), __('Parent Department'));
+
     $page='department.inc.php';
 }
 
diff --git a/scp/filters.php b/scp/filters.php
index 9e4d63193bfa370b53ca3135d5c2b16c5d7e20ae..23bbe23e37ae0721eccbf43288dbfc6a77ab0e75 100644
--- a/scp/filters.php
+++ b/scp/filters.php
@@ -31,6 +31,8 @@ if($_POST){
             if(!$filter){
                 $errors['err']=sprintf(__('%s: Unknown or invalid'), __('ticket filter'));
             }elseif($filter->update($_POST,$errors)){
+                $filter->setFlag(Filter::FLAG_INACTIVE_DEPT, false);
+                $filter->setFlag(Filter::FLAG_INACTIVE_HT, false);
                 $msg=sprintf(__('Successfully updated %s.'), __('this ticket filter'));
             }elseif(!$errors['err']){
                 $errors['err']=sprintf('%s %s',
@@ -116,6 +118,22 @@ if($_POST){
 $page='filters.inc.php';
 $tip_namespace = 'manage.filter';
 if($filter || ($_REQUEST['a'] && !strcasecmp($_REQUEST['a'],'add'))) {
+  if($filter) {
+    foreach ($filter->getActions() as $A) {
+      if($A->type == 'dept')
+        $dept = Dept::lookup($A->parseConfiguration($_POST)['dept_id']);
+
+      if($A->type == 'topic')
+        $topic = Topic::lookup($A->parseConfiguration($_POST)['topic_id']);
+    }
+  }
+
+  if($dept && !$dept->isActive())
+    $warn = sprintf(__('%s is assigned a %s that is not active.'), __('Ticket Filter'), __('Department'));
+
+  if($topic && !$topic->isActive())
+    $warn = sprintf(__('%s is assigned a %s that is not active.'), __('Ticket Filter'), __('Help Topic'));
+
     $page='filter.inc.php';
 }
 
diff --git a/scp/helptopics.php b/scp/helptopics.php
index b00c231d500211a30c4ea30d35a2b8c87a7b38d4..ea1d7b8bd147812bec28021627c3399db9a71cd6 100644
--- a/scp/helptopics.php
+++ b/scp/helptopics.php
@@ -28,6 +28,9 @@ if($_POST){
             if(!$topic){
                 $errors['err']=sprintf(__('%s: Unknown or invalid'), __('help topic'));
             }elseif($topic->update($_POST,$errors)){
+              if ($_POST["status"] != __('Active'))
+                Topic::clearInactiveTopic($topic->getId());
+
                 $msg=sprintf(__('Successfully updated %s.'),
                     __('this help topic'));
             }elseif(!$errors['err']){
@@ -63,11 +66,17 @@ if($_POST){
 
                 switch(strtolower($_POST['a'])) {
                     case 'enable':
-                        $num = Topic::objects()->filter(array(
-                            'topic_id__in' => $_POST['ids'],
-                        ))->update(array(
-                            'isactive' => true,
+                        $topics = Topic::objects()->filter(array(
+                          'topic_id__in'=>$_POST['ids'],
                         ));
+                        foreach ($topics as $t) {
+                          $t->setFlag(Topic::FLAG_ARCHIVED, false);
+                          $t->setFlag(Topic::FLAG_ACTIVE, true);
+                          $filter_actions = FilterAction::objects()->filter(array('type' => 'topic', 'configuration' => '{"topic_id":'. $t->getId().'}'));
+                          FilterAction::setFilterFlag($filter_actions, 'topic', false);
+                          if($t->save())
+                            $num++;
+                        }
 
                         if ($num > 0) {
                             if($num==$count)
@@ -82,13 +91,22 @@ if($_POST){
                         }
                         break;
                     case 'disable':
-                        $num = Topic::objects()->filter(array(
-                            'topic_id__in'=>$_POST['ids'],
+                        $topics = Topic::objects()->filter(array(
+                          'topic_id__in'=>$_POST['ids'],
                         ))->exclude(array(
-                            'topic_id'=>$cfg->getDefaultTopicId(),
-                        ))->update(array(
-                            'isactive' => false,
+                            'topic_id'=>$cfg->getDefaultTopicId()
                         ));
+                        foreach ($topics as $t) {
+                          $t->setFlag(Topic::FLAG_ARCHIVED, false);
+                          $t->setFlag(Topic::FLAG_ACTIVE, false);
+                          $filter_actions = FilterAction::objects()->filter(array('type' => 'topic', 'configuration' => '{"topic_id":'. $t->getId().'}'));
+                          FilterAction::setFilterFlag($filter_actions, 'topic', true);
+                          if($t->save()) {
+                            $num++;
+                            //remove topic_id for emails using disabled topic
+                            Topic::clearInactiveTopic($t->getId());
+                          }
+                        }
                         if ($num > 0) {
                             if($num==$count)
                                 $msg = sprintf(__('Successfully disabled %s'),
@@ -101,6 +119,35 @@ if($_POST){
                                 _N('selected help topic', 'selected help topics', $count));
                         }
                         break;
+                    case 'archive':
+                        $topics = Topic::objects()->filter(array(
+                          'topic_id__in'=>$_POST['ids'],
+                        ))->exclude(array(
+                            'topic_id'=>$cfg->getDefaultTopicId()
+                        ));
+                        foreach ($topics as $t) {
+                          $t->setFlag(Topic::FLAG_ARCHIVED, true);
+                          $t->setFlag(Topic::FLAG_ACTIVE, false);
+                          $filter_actions = FilterAction::objects()->filter(array('type' => 'topic', 'configuration' => '{"topic_id":'. $t->getId().'}'));
+                          FilterAction::setFilterFlag($filter_actions, 'topic', true);
+                          if($t->save()) {
+                            $num++;
+                            //remove topic_id for emails using disabled topic
+                            Topic::clearInactiveTopic($t->getId());
+                          }
+                        }
+                        if ($num > 0) {
+                            if($num==$count)
+                                $msg = sprintf(__('Successfully archived %s'),
+                                    _N('selected help topic', 'selected help topics', $count));
+                            else
+                                $warn = sprintf(__('%1$d of %2$d %3$s archived'), $num, $count,
+                                    _N('selected help topic', 'selected help topics', $count));
+                        } else {
+                            $errors['err'] = sprintf(__('Unable to archive %s'),
+                                _N('selected help topic', 'selected help topics', $count));
+                        }
+                        break;
                     case 'delete':
                         $i = Topic::objects()->filter(array(
                             'topic_id__in'=>$_POST['ids']
@@ -150,7 +197,11 @@ if($_POST){
 
 $page='helptopics.inc.php';
 $tip_namespace = 'manage.helptopic';
-if($topic || ($_REQUEST['a'] && !strcasecmp($_REQUEST['a'],'add'))) {
+if($topic || ($_REQUEST['a'] && !strcasecmp($_REQUEST['a'],'add')))
+{
+    if ($topic && ($dept=$topic->getDept()) && !$dept->isActive())
+      $warn = sprintf(__('%s is assigned a %s that is not active.'), __('Help Topic'), __('Department'));
+
     $page='helptopic.inc.php';
 }
 
diff --git a/scp/login.php b/scp/login.php
index 0fc0d0991410c3a2a7ee019aab7ee1c91dd9c4ad..6e1854456c5757f4fdab2b3289728b3cc24a34fc 100644
--- a/scp/login.php
+++ b/scp/login.php
@@ -30,29 +30,57 @@ $msg = $_SESSION['_staff']['auth']['msg'];
 $msg = $msg ?: ($content ? $content->getLocalName() : __('Authentication Required'));
 $dest=($dest && (!strstr($dest,'login.php') && !strstr($dest,'ajax.php')))?$dest:'index.php';
 $show_reset = false;
-if($_POST) {
+if ($_POST) {
+    $json = isset($_POST['ajax']) && $_POST['ajax'];
+    $respond = function($code, $message) use ($json, $ost) {
+        if ($json) {
+            $payload = is_array($message) ? $message
+                : array('message' => $message);
+            $payload['status'] = (int) $code;
+            Http::response(200, JSONDataEncoder::encode($payload),
+                'application/json');
+        }
+        else {
+            // Extract the `message` portion only
+            if (is_array($message))
+                $message = $message['message'];
+            Http::response($code, $message);
+        }
+    };
+    $redirect = function($url) use ($json) {
+        if ($json)
+            Http::response(200, JsonDataEncoder::encode(array(
+                'status' => 302, 'redirect' => $url)), 'application/json');
+        else
+            Http::redirect($url);
+    };
+
     // Check the CSRF token, and ensure that future requests will have to
     // use a different CSRF token. This will help ward off both parallel and
     // serial brute force attacks, because new tokens will have to be
     // requested for each attempt.
-    if (!$ost->checkCSRFToken())
-        Http::response(400, __('Valid CSRF Token Required'));
-
-    // Rotate the CSRF token (original cannot be reused)
-    $ost->getCSRF()->rotate();
+    if (!$ost->checkCSRFToken()) {
+        $_SESSION['_staff']['auth']['msg'] = __('Valid CSRF Token Required');
+        $redirect($_SERVER['REQUEST_URI']);
+    }
 
     // Lookup support backends for this staff
     $username = trim($_POST['userid']);
     if ($user = StaffAuthenticationBackend::process($username,
             $_POST['passwd'], $errors)) {
-        session_write_close();
-        Http::redirect($dest);
-        require_once('index.php'); //Just incase header is messed up.
-        exit;
+        $redirect($dest);
     }
 
-    $msg = $errors['err']?$errors['err']:__('Invalid login');
+    $msg = $errors['err'] ?: __('Invalid login');
     $show_reset = true;
+
+    if ($json) {
+        $respond(401, ['message' => $msg, 'show_reset' => $show_reset]);
+    }
+    else {
+        // Rotate the CSRF token (original cannot be reused)
+        $ost->getCSRF()->rotate();
+    }
 }
 elseif ($_GET['do']) {
     switch ($_GET['do']) {
diff --git a/scp/staff.inc.php b/scp/staff.inc.php
index a91b15a2f370bfcb5481f537a3bb3010d6657908..8acf73ceabfe35f2e2f054eb019230ebbd5821c0 100644
--- a/scp/staff.inc.php
+++ b/scp/staff.inc.php
@@ -78,7 +78,7 @@ if (!$thisstaff || !$thisstaff->getId() || !$thisstaff->isValid()) {
 //2) if not super admin..check system status and group status
 if(!$thisstaff->isAdmin()) {
     //Check for disabled staff or group!
-    if (!$thisstaff->isactive()) {
+    if (!$thisstaff->isActive()) {
         staffLoginPage(__('Access Denied. Contact Admin'));
         exit;
     }
diff --git a/scp/staff.php b/scp/staff.php
index 9b2f4a999c6b6d65b10077dc3ededd2769129a89..97c72edc2c82336a5adfe083edf63cf69e6e60f2 100644
--- a/scp/staff.php
+++ b/scp/staff.php
@@ -172,7 +172,14 @@ if($_POST){
 $page='staffmembers.inc.php';
 $tip_namespace = 'staff.agent';
 if($staff || ($_REQUEST['a'] && !strcasecmp($_REQUEST['a'],'add'))) {
+
+  if ($staff && ($pdept=$staff->getDept()) && !$pdept->isActive())
+    $warn = sprintf(__('%s is assigned a %s that is not active.'), __('Agent'), __('Primary Department'));
+
     $page='staff.inc.php';
+} elseif ($_REQUEST['a'] && !strcasecmp($_REQUEST['a'],'export')) {
+    if (!Staff::export())
+        $errors['err'] = sprintf(__('Unable to export %s.'), __('Agents'));
 }
 
 $nav->setTabActive('staff');
diff --git a/scp/tasks.php b/scp/tasks.php
index a918d0ecb90ab79603466577b5f14179b918e4b3..5cd77777f3714b6ff592878ab25ca6ee35a212a1 100644
--- a/scp/tasks.php
+++ b/scp/tasks.php
@@ -197,21 +197,6 @@ if ($stats['closed']) {
                         ($_REQUEST['status']=='closed'));
 }
 
-if (isset($_SESSION['advsearch:tasks'])) {
-    // XXX: De-duplicate and simplify this code
-    $search = SavedSearch::create();
-    $form = $search->getFormFromSession('advsearch:tasks');
-    $form->loadState($_SESSION['advsearch:tasks']);
-    $tasks = Task::objects();
-    $tasks = $search->mangleQuerySet($tasks, $form);
-    $count = $tasks->count();
-    $nav->addSubMenu(array('desc' => __('Search').' ('.number_format($count).')',
-                           'title'=>__('Advanced Task Search'),
-                           'href'=>'tasks.php?status=search',
-                           'iconclass'=>'Ticket'),
-                        (!$_REQUEST['status'] || $_REQUEST['status']=='search'));
-}
-
 if ($thisstaff->hasPerm(TaskModel::PERM_CREATE, false)) {
     $nav->addSubMenu(array('desc'=>__('New Task'),
                            'title'=> __('Open a New Task'),
diff --git a/scp/tickets.php b/scp/tickets.php
index 841a5df79b30ce7680332212cfe8d44b9cca9fad..112a7f7d581212a1c16ccaab830468af560e6164 100644
--- a/scp/tickets.php
+++ b/scp/tickets.php
@@ -447,9 +447,6 @@ if ($redirect) {
     Http::redirect($redirect);
 }
 
-/*... Quick stats ...*/
-$stats = $thisstaff->getTicketsStats();
-
 // Clear advanced search upon request
 if (isset($_GET['clear_filter']))
     unset($_SESSION['advsearch']);
diff --git a/setup/inc/install-prereq.inc.php b/setup/inc/install-prereq.inc.php
index f4346e3f22b8a7c74f005e4dff530950c1ec8e19..97d7a13c48d6332f542e66486d39ee4d7a7f7cc6 100644
--- a/setup/inc/install-prereq.inc.php
+++ b/setup/inc/install-prereq.inc.php
@@ -9,7 +9,7 @@ if(!defined('SETUPINC')) die('Kwaheri!');
              <p><?php echo __('We are delighted you have chosen osTicket for your customer support ticketing system!');?></p>
             <p><?php echo __("The installer will guide you every step of the way in the installation process. You're minutes away from your awesome customer support system!");?></p>
             </div>
-            <h3><?php echo __('Prerequisites');?>:</h3>
+            <h2><?php echo __('Prerequisites');?></h3>
             <p><?php echo __("Before we begin, we'll check your server configuration to make sure you meet the minimum requirements to run the latest version of osTicket.");?></p>
             <h3><?php echo __('Required');?>: <font color="red"><?php echo $errors['prereq']; ?></font></h3>
             <?php echo __('These items are necessary in order to install and use osTicket.');?>
diff --git a/setup/inc/streams/core/install-mysql.sql b/setup/inc/streams/core/install-mysql.sql
index 6d5ef523778ea663f14f6d6d94b54030e89d7e47..45482f83f8a448904a1e054406cd9a25c83c9c61 100644
--- a/setup/inc/streams/core/install-mysql.sql
+++ b/setup/inc/streams/core/install-mysql.sql
@@ -48,6 +48,7 @@ CREATE TABLE IF NOT EXISTS `%TABLE_PREFIX%faq` (
 DROP TABLE IF EXISTS `%TABLE_PREFIX%faq_category`;
 CREATE TABLE IF NOT EXISTS `%TABLE_PREFIX%faq_category` (
   `category_id` int(10) unsigned NOT NULL auto_increment,
+  `category_pid` int(10) unsigned DEFAULT NULL,
   `ispublic` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0',
   `name` varchar(125) default NULL,
   `description` TEXT NOT NULL,
@@ -295,6 +296,7 @@ CREATE TABLE `%TABLE_PREFIX%filter` (
   `id` int(11) unsigned NOT NULL auto_increment,
   `execorder` int(10) unsigned NOT NULL default '99',
   `isactive` tinyint(1) unsigned NOT NULL default '1',
+  `flags` int(10) unsigned DEFAULT '0',
   `status` int(11) unsigned NOT NULL DEFAULT '0',
   `match_all_rules` tinyint(1) unsigned NOT NULL default '0',
   `stop_onmatch` tinyint(1) unsigned NOT NULL default '0',
@@ -420,7 +422,6 @@ DROP TABLE IF EXISTS `%TABLE_PREFIX%help_topic`;
 CREATE TABLE `%TABLE_PREFIX%help_topic` (
   `topic_id` int(11) unsigned NOT NULL auto_increment,
   `topic_pid` int(10) unsigned NOT NULL default '0',
-  `isactive` tinyint(1) unsigned NOT NULL default '1',
   `ispublic` tinyint(1) unsigned NOT NULL default '1',
   `noautoresp` tinyint(3) unsigned NOT NULL default '0',
   `flags` int(10) unsigned DEFAULT '0',
diff --git a/setup/test/tests/stubs.php b/setup/test/tests/stubs.php
index 0d59a25d9117449f1231f2735ae2f95aaca67d9a..052f97d3ac61235cbcb7123cd6e8160ab9ee5234 100644
--- a/setup/test/tests/stubs.php
+++ b/setup/test/tests/stubs.php
@@ -132,10 +132,12 @@ class SqlFunction {
     static function LENGTH() {}
     static function COALESCE() {}
     static function DATEDIFF() {}
+    static function timestampdiff() {}
 }
 
 class SqlExpression {
     static function plus() {}
+    static function minus() {}
     static function times() {}
     static function bitor() {}
     static function bitand() {}
@@ -149,6 +151,8 @@ class SqlInterval {
 
 class SqlAggregate {
     static function COUNT() {}
+    static function SUM() {}
+    static function MAX() {}
 }
 
 class Q {