#67 [WIP] Python3
Closed 5 years ago by frantisekz. Opened 5 years ago by frantisekz.
fedora-qa/ frantisekz/blockerbugs python3  into  develop

file modified
+4 -4
@@ -67,14 +67,14 @@ 

  

  mocksrpm: archive

  	mock -r epel-7-x86_64 --buildsrpm --spec $(SPECFILE) --sources .

- 	cp /var/lib/mock/epel-7-x86_64/result/$(NVR).$(TARGETDIST).centos.src.rpm .

+ 	cp /var/lib/mock/epel-7-x86_64/result/$(NVR).$(TARGETDIST).src.rpm .

  

  mockbuild: mocksrpm

- 	mock -r epel-7-x86_64 --no-clean --rebuild $(NVR).$(TARGETDIST).centos.src.rpm

- 	cp /var/lib/mock/epel-7-x86_64/result/$(NVR).$(TARGETDIST).centos.noarch.rpm .

+ 	mock -r epel-7-x86_64 --no-clean --rebuild $(NVR).$(TARGETDIST).src.rpm

+ 	cp /var/lib/mock/epel-7-x86_64/result/$(NVR).$(TARGETDIST).noarch.rpm .

  

  kojibuild: mocksrpm

- 	koji build --scratch epel7-candidate $(NVR).$(TARGETDIST).centos.src.rpm

+ 	koji build --scratch epel7-candidate $(NVR).$(TARGETDIST).src.rpm

  

  nvr:

  	@echo $(NVR)

file modified
+13 -33
@@ -5,7 +5,7 @@ 

  Name:           blockerbugs

  # NOTE: if you update version, *make sure* to also update

  # `blockerbugs/__init__.py` and `docs/source/conf.py`

- Version:        0.4.14

+ Version:        0.5.0

  Release:        1%{?dist}

  Summary:        Fedora QA Blocker Tracking Application

  
@@ -15,6 +15,7 @@ 

  

  BuildArch:      noarch

  

+ Requires:       python-sqlalchemy

  Requires:       python-flask

  Requires:       python-flask-sqlalchemy

  Requires:       python-flask-wtf
@@ -35,27 +36,15 @@ 

  BuildRequires:  python-devel

  BuildRequires:  python-setuptools

  BuildRequires:  pytest

- BuildRequires:  python-bunch

+ BuildRequires:  python-munch

  BuildRequires:  python-flask

+ # BuildRequires:  python-flask-assets

Why is this commented out?

  BuildRequires:  python-flask-sqlalchemy

  BuildRequires:  python-fedora-flask

  BuildRequires:  python-mock

- 

- # python-sqlalchemy is too old on el6 but required on fedora

- %if 0%{?rhel} < 7

- Requires:       python-sqlalchemy0.7

- BuildRequires:  python-sqlalchemy0.7

- BuildRequires:  python-sphinx10

- %else

- Requires:       python-sqlalchemy

  BuildRequires:  python-sqlalchemy

  BuildRequires:  python-sphinx

- %endif

- 

- # There are no python-dingus builds for el6 or epel7

- %if 0%{?fedora}

- BuildRequires:  python-dingus

- %endif

+ BuildRequires:  python-mock

  

  

  %description
@@ -65,28 +54,15 @@ 

  %prep

  %setup -q

  

- # disabling check on el* until there is a dingus build available

- %if 0%{?rhel}

- #%check

- #%{__python} setup.py test

- %else

- %check

- %{__python} setup.py test

- %endif

- 

+ # python-flask-assets missing in el7

+ # %check

+ # %{__python} setup.py test

In spec file, just commenting lines out is not enough. You also need to double all percentage signs (so change %check to %%check).

But why is this commented out? With the other changes to the spec file, I'm not sure whether you dropped support for RHEL 6, or also RHEL 7, or something else? If the test suite can't be executed on RHEL 7, the whole project can't be probably run as well? In that case I don't understand why disable tests, you can still run it when building for Fedora, and you need to deploy it to Fedora anyway. So to sum up, I'm completely confused.

Yeah, tests are running just fine, but I had some issues with running them during building process. I'll enable them here soon.

Also, I've removed RHEL 6 support, I'll try to write PR description.

  

  %build

  %{__python} setup.py build

  

- # build docs using sphinx-1.0 on el6

- %if 0%{?rhel} < 7

- sphinx-1.0-build  -b html -d docs/_build/doctrees docs/source docs/_build/html

- sphinx-1.0-build  -b man -d docs/_build/doctrees docs/source docs/_build/man

- %else

  sphinx-build  -b html -d docs/_build/doctrees docs/source docs/_build/html

  sphinx-build  -b man -d docs/_build/doctrees docs/source docs/_build/man

- %endif

- 

  

  %install

  rm -rf $RPM_BUILD_ROOT
@@ -133,7 +109,11 @@ 

  

  

  %changelog

- * Thu 22 2018 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.4.14-1

+ * Tue May 29 2018 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.5.0-1

+ - Python 3

+ - Completely new bootstrap-based frontend

+ 

+ * Thu Mar 22 2018 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.4.14-1

  - nicer favicon

  - change alpha criteria links to basic

  

file modified
+2 -2
@@ -6,7 +6,7 @@ 

  import logging.handlers

  import os

  

- from util.login import FakeFas

+ from .util.login import FakeFas

  

  # the version as used in setup.py and docs

  __version__ = "0.4.14"
@@ -145,7 +145,7 @@ 

  

  @app.template_filter('updatelabel')

  def updatelabel(bug):

-     from models.update import Update

+     from .models.update import Update

      label = []

      lowest_status_update = bug.updates.filter(Update.status != 'obsolete', Update.status != 'deleted').first()

      if lowest_status_update:

file modified
+18 -18
@@ -40,19 +40,19 @@ 

      current_rev = context.get_current_revision()

  

      if current_rev:

-         print "Database already initialized and at rev %s - not re-initializing" % current_rev

+         print("Database already initialized and at rev %s - not re-initializing" % current_rev)

      else:

-         print "Initializing Database"

+         print("Initializing Database")

          db.drop_all()

          db.create_all()

  

-         print "Initializing alembic version"

+         print("Initializing alembic version")

  

          al_command.stamp(alembic_cfg, "head")

  

  

  def upgrade_db():

-     print "Upgrading Database to Latest Revision"

+     print("Upgrading Database to Latest Revision")

      alembic_cfg = get_alembic_config()

      al_command.upgrade(alembic_cfg, "head")

  
@@ -60,9 +60,9 @@ 

  def add_release(number):

      existing_release = Release.query.filter_by(number=number).count()

      if existing_release > 0:

-         print "Release %s already exists, not adding" % number

+         print("Release %s already exists, not adding" % number)

      else:

-         print "Adding release %s" % number

+         print("Adding release %s" % number)

          release_num = int(number)

          new_release = Release(release_num)

          db.session.add(new_release)
@@ -76,9 +76,9 @@ 

  

      current_milestones = Milestone.query.filter_by(active=True).count()

      if existing_milestone > 0:

-         print "Milestone already exists, not adding: %s-%s (%s, %s)" % (number, version, blocker, fe)

+         print("Milestone already exists, not adding: %s-%s (%s, %s)" % (number, version, blocker, fe))

      else:

-         print "Adding milestone: %s-%s (%s, %s)" % (number, version, blocker, fe)

+         print("Adding milestone: %s-%s (%s, %s)" % (number, version, blocker, fe))

          release_num = int(number)

          release = Release.query.filter_by(number=release_num).first()

          if not release:
@@ -103,7 +103,7 @@ 

  def generate_config(dburi=None):

      config_filename = os.path.abspath('conf/settings.py')

      if os.path.exists(config_filename):

-         print "configuration file %s already exists, exiting" % config_filename

+         print("configuration file %s already exists, exiting" % config_filename)

          sys.exit(0)

  

      secret_key = os.urandom(24).encode('string_escape')
@@ -134,14 +134,14 @@ 

              if not new_bug:

                  missing_bugs.append(bugid)

  

-         print "========================================"

-         print "Fedora %d %s Missing Blocker Bugs" % (milestone.release.number, milestone.version)

-         print "========================================"

+         print("========================================")

+         print("Fedora %d %s Missing Blocker Bugs" % (milestone.release.number, milestone.version))

+         print("========================================")

          if len(missing_bugs) > 0:

              for bug in missing_bugs:

-                 print "  * %d" % bug

+                 print("  * %d" % bug)

          else:

-             print "  No missing bugs found"

+             print("  No missing bugs found")

  

  

  def sync_bugs(fullsync=False, docheck=False):
@@ -158,7 +158,7 @@ 

      sync.update_active(full_sync=fullsync)

  

      if docheck:

-         print "Checking bug sync status"

+         print("Checking bug sync status")

          check_blockers(bzurl)

  

  
@@ -196,13 +196,13 @@ 

      (options, args) = parser.parse_args()

  

      if len(args) < 1:

-         print "need to have at least 1 command"

+         print("need to have at least 1 command")

          sys.exit(1)

  

      command = args[0]

      if not command in possible_commands:

-         print 'Invalid command: %s' % command

-         print 'Please use one of the following commands: %s' % str(possible_commands)

+         print("Invalid command: %s" % command)

+         print("Please use one of the following commands: %s" % str(possible_commands))

          sys.exit(1)

  

      if command == 'sync':

@@ -27,13 +27,11 @@ 

  from flask.ext.admin import expose

  import wtforms

  from blockerbugs import app, db

- from blockerbugs.models.spin import Spin

  from blockerbugs.models.build import Build

  from blockerbugs.models.release import Release

  from blockerbugs.models.userinfo import UserInfo

  from blockerbugs.models.milestone import Milestone

  from blockerbugs.controllers.admin.build import BuildView

- from blockerbugs.controllers.admin.spin import SpinView

  from blockerbugs.controllers.admin.auth import FasAuthModelView

  from blockerbugs.controllers.users import check_admin_rights

  
@@ -60,7 +58,7 @@ 

              self.session.add(model)

              self.on_model_change(form, model, True)

              self.session.commit()

-         except Exception, ex:

+         except Exception as ex:

              flash(gettext('Failed to create model. %(error)s', error=str(ex)),

                    'error')

              logging.exception('Failed to create model')
@@ -87,7 +85,7 @@ 

              self.session.add(model)

              self.on_model_change(form, model, True)

              self.session.commit()

-         except Exception, ex:

+         except Exception as ex:

              flash(gettext('Failed to create model. %(error)s', error=str(ex)),

                    'error')

              logging.exception('Failed to create model')
@@ -128,7 +126,7 @@ 

              api_key = model.generate_api_key()

              self.session.add(model)

              self.session.commit()

-         except Exception, ex:

+         except Exception as ex:

              flash(gettext('Failed to generate API key. %(error)s', error=str(ex)),

                    'error')

              logging.exception('Failed to generate api key')
@@ -144,7 +142,4 @@ 

  admin.add_view(MilestoneView(Milestone, db.session))

  admin.add_view(ReleaseView(Release, db.session))

  admin.add_view(UserInfoView(UserInfo, db.session))

- admin.add_view(SpinView(Spin, db.session))

  admin.add_view(BuildView(Build, db.session))

- 

- 

@@ -66,7 +66,7 @@ 

              model.spins = form.spins.data

              self.on_model_change(form, model, False)

              self.session.commit()

-         except Exception, ex:

+         except Exception as ex:

              flash(gettext('Failed to update model. %(error)s', error=str(ex)),

                    'error')

              self.session.rollback()
@@ -98,7 +98,7 @@ 

                          url_for('.create_view', url=return_url))

                  else:

                      return redirect(return_url)

-             except koji.GenericError, ex:

+             except koji.GenericError as ex:

                  form.nvr.errors.append(ex.message)

  

          return self.render(self.create_template,

@@ -93,7 +93,7 @@ 

              if build not in exist_builds:

                  try:

                      Build.from_nvr(build)

-                 except koji.GenericError, ex:

+                 except koji.GenericError as ex:

                      self.errors.append('%s: %s' % (build, ex.message))

  

      def _get_data(self):

@@ -32,10 +32,14 @@ 

  from blockerbugs.models.update import Update

  from blockerbugs.models.release import Release

  from blockerbugs.models.bug import Bug

- from blockerbugs.models.spin import Spin, SpinState, SpinType

- import validators

- import errors

- from utils import get_or_404, json_loads, JsonResponse, check_api_rights

+ from . import validators

+ from . import errors

+ from .utils import get_or_404, json_loads, JsonResponse, check_api_rights

+ 

+ try:

+     basestring = basestring

+ except NameError:

+     basestring = str

  

  api_v0 = Blueprint('api', __name__, url_prefix='/api/v0')

  
@@ -76,29 +80,6 @@ 

      bug_info['type'] = [tp for tp in ACCEPTED_BUGTYPES if getattr(bug, tp)]

      return bug_info

  

- 

- def get_spin_info(spin):

-     spin_simple_fields = ['id', 'name', 'url', 'date_requested',

-                           'date_created', 'spin_type']

-     spin_info = dict(

-         (attr, getattr(spin, attr)) for attr in spin_simple_fields)

-     spin_info['state'] = spin.state.value

-     spin_info['updates'] = [{'title': up.title,

-                              'status': up.status,

-                              'url': up.url} for up in spin.updates]

-     spin_info['builds'] = [{'nvr': build.nvr,

-                             'epoch': build.epoch,

-                             'id': build.koji_id} for build in spin.builds]

-     if spin.succeeds:

-         spin_info['succeeds'] = {'id': spin.succeeds.id,

-                                  'name': spin.succeeds.name}

-     else:

-         spin_info['succeeds'] = {}

-     spin_info['milestone'] = {'release': spin.milestone.release.number,

-                               'version': spin.milestone.version}

-     return spin_info

- 

- 

  @api_v0.route('/milestones/<int:rel_num>/<milestone_version>/updates')

  def list_updates(rel_num, milestone_version):

      release = get_or_404(Release, number=rel_num)
@@ -136,105 +117,6 @@ 

      bugs_info = [get_bug_info(bug) for bug in bugs]

      return JsonResponse(bugs_info)

  

- 

- @api_v0.route('/milestones/<int:rel_num>/<milestone_version>/spins')

- def list_spins(rel_num, milestone_version):

-     release = get_or_404(Release, number=rel_num)

-     milestone = get_or_404(Milestone, release=release,

-                            version=milestone_version)

-     spins = milestone.spins.order_by(Spin.date_requested.desc())

-     spins_info = [get_spin_info(spin) for spin in spins]

-     return JsonResponse(spins_info)

- 

- 

- @api_v0.route('/milestones/<int:rel_num>/<milestone_version>/spins',

-               methods=['POST'])

- @check_api_rights

- def create_spin(rel_num, milestone_version):

-     spin_validator = validators.DictValidator({

-         'name': validators.StringValidator(),

-         'spin_type': validators.ChoicesValidator(SpinType.values()),

-         'updates': validators.ListValidator(basestring),

-         'succeeds': validators.IntegerValidator(required=False),

-         'state': validators.ChoicesValidator(SpinState.values(),

-                                              required=False),

-         'url': validators.UrlValidator(required=False)

-     })

-     release = get_or_404(Release, number=rel_num)

-     milestone = get_or_404(Milestone, release=release,

-                            version=milestone_version)

-     data = json_loads(request.data)

-     spin_validator(data)

-     spin_kwargs = {

-         'name': data['name'],

-         'spin_type': data['spin_type'],

-         'updates': [get_or_404(Update, title=tit) for tit in data['updates']],

-         'milestone': milestone,

-         'date_requested': datetime.datetime.utcnow(),

-     }

-     if 'succeeds' in data:

-         spin_kwargs['succeeds'] = get_or_404(Spin, id=data['succeeds'])

-     if 'state' in data:

-         spin_kwargs['state'] = data['state']

-     else:

-         spin_kwargs['state'] = SpinState.requested

-     if 'url' in data:

-         spin_kwargs['url'] = data['url']

-     spin = Spin(**spin_kwargs)

-     db.session.add(spin)

-     db.session.commit()

-     location_str = 'milestone/{m.release.number}/{m.version}/spins/{spin.id}'

-     location_header = {'Location': location_str.format(m=milestone, spin=spin)}

-     return JsonResponse(status=201, headers=location_header)

- 

- 

- @api_v0.route(

-     '/milestones/<int:rel_num>/<milestone_version>/spins/<int:spin_id>')

- def get_spin(rel_num, milestone_version, spin_id):

-     release = get_or_404(Release, number=rel_num)

-     milestone = get_or_404(Milestone,

-                            release=release, version=milestone_version)

-     spin = get_or_404(Spin, id=spin_id)

-     if spin.milestone != milestone:

-         raise errors.NoSuchObjectError(obj_type='Spin')

-     spin_info = get_spin_info(spin)

-     return JsonResponse(spin_info)

- 

- 

- @api_v0.route(

-     '/milestones/<int:rel_num>/<milestone_version>/spins/<int:spin_id>',

-     methods=['PUT'])

- @check_api_rights

- def update_spin(rel_num, milestone_version, spin_id):

-     spin_validator = validators.DictValidator({

-         'name': validators.StringValidator(required=False),

-         'spin_type': validators.ChoicesValidator(SpinType.values(),

-                                                  required=False),

-         'state': validators.ChoicesValidator(SpinState.values(),

-                                              required=False),

-         'url': validators.UrlValidator(required=False),

-         'date_created': validators.DateTimeValidator(required=False)

-     })

-     release = get_or_404(Release, number=rel_num)

-     milestone = get_or_404(Milestone, release=release,

-                            version=milestone_version)

-     spin = get_or_404(Spin, id=spin_id)

-     if spin.milestone != milestone:

-         raise errors.NoSuchObjectError(obj_type='Spin')

-     data = json_loads(request.data)

-     spin_validator(data)

-     if 'state' in data:

-         spin.state = data['state']

-     if 'name' in data:

-         spin.name = data['name']

-     if 'spin_type' in data:

-         spin.spin_type = data['spin_type']

-     if 'date_created' in data:

-         spin.date_created = parse_date(data['date_created'])

-     db.session.add(spin)

-     db.session.commit()

-     return JsonResponse(status=200)

- 

  @api_v0.route('/milestones/current')

  def get_current_milestone():

      current_milestone = get_or_404(Milestone, current=True)

@@ -21,7 +21,7 @@ 

  #   Tim Flink <tflink@redhat.com>

  #   Ilgiz Islamgulov <ilgizisl@gmail.com>

  #

- import httplib

+ import http.client as httplib

  

  

  class RestApiError(Exception):

@@ -29,7 +29,7 @@ 

  

  from blockerbugs.models import EnumSymbol

  from blockerbugs.models.userinfo import UserInfo

- from errors import MalformedJSONError, NoSuchObjectError, AuthFailedError

+ from .errors import MalformedJSONError, NoSuchObjectError, AuthFailedError

  

  

  class JsonEncoder(json.JSONEncoder):
@@ -74,7 +74,7 @@ 

  def json_loads(data):

      try:

          return json.loads(data)

-     except (ValueError, TypeError), e:

+     except (ValueError, TypeError) as e:

          raise MalformedJSONError(detail=str(e))

  

  

@@ -26,6 +26,10 @@ 

  from iso8601 import parse_date, ParseError

  from .errors import ValidationError

  

+ try:

+     basestring = basestring

+ except NameError:

+     basestring = str

  

  class BaseValidator(object):

      def __init__(self, *args, **kwargs):
@@ -90,7 +94,7 @@ 

  

  

  class IntegerValidator(NumericValidator):

-     numeric_type = int, long

+     numeric_type = int

  

  class StringValidator(BaseValidator):

      def _check_data(self):
@@ -124,7 +128,7 @@ 

          if not isinstance(args[0], dict):

              raise TypeError('Argument must be dict')

          self.items_validators = args[0]

-         for key, validator in self.items_validators.iteritems():

+         for key, validator in self.items_validators.items():

              if validator.name == validator.default_name:

                  validator.name = key

          super(DictValidator, self).configure(args, kwargs)
@@ -132,7 +136,7 @@ 

      def _check_data(self):

          if not isinstance(self.raw_data, dict):

              raise ValidationError('%s must be dict' % (self.name))

-         for key, validator in self.items_validators.iteritems():

+         for key, validator in self.items_validators.items():

              validator(self.raw_data.get(key, None))

  

  

@@ -33,7 +33,6 @@ 

  from blockerbugs.models.update import Update

  from blockerbugs.models.release import Release

  from blockerbugs.models.userinfo import UserInfo

- from blockerbugs.models.spin import Spin, SpinState

  from blockerbugs.controllers.forms import BugProposeForm, FasBugzillaForm

  

  main = Blueprint('main', __name__)
@@ -171,8 +170,7 @@ 

  def index():

      if app.debug:

          app.logger.debug('rendering index')

-     spins = Spin.query.filter_by(state=SpinState.built).order_by(Spin.date_requested.desc()).limit(3)

-     return render_template('index.html', title='Fedora Blocker Bugs', spins=spins)

+     return render_template('index.html', title='Fedora Blocker Bugs', spins=[])

  

  

  @main.route('/<int:num>/<release_name>')
@@ -285,20 +283,6 @@ 

                             bz_url=app.config['BUGZILLA_URL'])

  

  

- @main.route('/milestone/<int:num>/<milestone_name>/spins')

- def display_spins(num, milestone_name):

-     release = Release.query.filter_by(number=num).first()

-     milestone = Milestone.query.filter_by(release=release, version=milestone_name).first()

-     if not milestone:

-         abort(404)

-     milestone_info = get_milestone_info(milestone)

-     spins = milestone.spins.order_by(Spin.date_requested.desc()).all()

-     return render_template('spin_list.html', spins=spins,

-                            info=milestone_info,

-                            build_url = app.config['KOJI_URL'] + 'koji/buildinfo?buildID=',

-                            title="Fedora %s %s Spins" % (milestone_info['number'], milestone_info['phase']))

- 

- 

  @main.route('/milestone/<int:num>/<milestone_name>/stats')

  def display_stats(num, milestone_name):

      release = Release.query.filter_by(number=num).first()
@@ -411,7 +395,7 @@ 

              db.session.add(user_info)

              db.session.commit()

              return redirect(url_for('.propose_bug'))

-         except bugzilla.BugzillaError, e:

+         except bugzilla.BugzillaError as e:

              app.logger.info(e)

              flash(e)

  
@@ -460,7 +444,7 @@ 

          # check bug to make sure it exists and that it isn't closed

          try:

              proposer.check_proposed_bug()

-         except BZInterfaceError, e:

+         except BZInterfaceError as e:

              bugform.bugid.errors = [e.msg]

  

          # check to make sure that any proposals aren't being re-done
@@ -482,7 +466,7 @@ 

                  return render_template('thanks.html', bugid=bugid,

                                         isblocker=bugform.blocker.data,

                                         isfe=bugform.freeze_exception.data)

-             except BZInterfaceError, e:

+             except BZInterfaceError as e:

                  bugform.bugid.errors = [e.msg]

                  app.logger.info('bug proposal form errors: %s' % e.msg)

          else:

@@ -107,6 +107,7 @@ 

          return DeclEnumType(self.enum)

  

      def process_bind_param(self, value, dialect):

+ 

          if value is None:

              return None

          return value.value

@@ -26,6 +26,11 @@ 

  from blockerbugs import db

  from blockerbugs.models import DeclEnum

  

+ try:

+     basestring = basestring

+ except NameError:

+     basestring = str

+ 

  used_updates = db.Table(

      'used_updates',

      db.Column('update_id', db.Integer, db.ForeignKey('update.id')),

@@ -42,7 +42,9 @@ 

              return ''.join(random.choice(chars) for _ in range(length))

  

          salt = '$6$%s$' % _random_string()  #SHA-512, man crypt 3

-         password = _random_string().encode('utf-8')

+ 

+         # TODO : Is this really what we want? (removed .encode, is that ok for py2?)

According to the comment, this is WIP rather than solved?

I've talked about his with @jskladan , it should be OK, I'll remove the comment.

+         password = _random_string()

          self.api_key_hash = crypt.crypt(password, salt)

          return password

  

@@ -1,8 +1,8 @@ 

- (function(window,undefined){var document=window.document,navigator=window.navigator,location=window.location;var jQuery=function(){var jQuery=function(selector,context){return new jQuery.fn.init(selector,context,rootjQuery)},_jQuery=window.jQuery,_$=window.$,rootjQuery,quickExpr=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,rnotwhite=/\S/,trimLeft=/^\s+/,trimRight=/\s+$/,rsingleTag=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,rvalidchars=/^[\],:{}\s]*$/,rvalidescape=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,rvalidtokens=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,rvalidbraces=/(?:^|:|,)(?:\s*\[)+/g,rwebkit=/(webkit)[ \/]([\w.]+)/,ropera=/(opera)(?:.*version)?[ \/]([\w.]+)/,rmsie=/(msie) ([\w.]+)/,rmozilla=/(mozilla)(?:.*? rv:([\w.]+))?/,rdashAlpha=/-([a-z]|[0-9])/gi,rmsPrefix=/^-ms-/,fcamelCase=function(all,letter){return(letter+"").toUpperCase()},userAgent=navigator.userAgent,browserMatch,readyList,DOMContentLoaded,toString=Object.prototype.toString,hasOwn=Object.prototype.hasOwnProperty,push=Array.prototype.push,slice=Array.prototype.slice,trim=String.prototype.trim,indexOf=Array.prototype.indexOf,class2type={};jQuery.fn=jQuery.prototype={constructor:jQuery,init:function(selector,context,rootjQuery){var match,elem,ret,doc;if(!selector){return this}if(selector.nodeType){this.context=this[0]=selector;this.length=1;return this}if(selector==="body"&&!context&&document.body){this.context=document;this[0]=document.body;this.selector=selector;this.length=1;return this}if(typeof selector==="string"){if(selector.charAt(0)==="<"&&selector.charAt(selector.length-1)===">"&&selector.length>=3){match=[null,selector,null]}else{match=quickExpr.exec(selector)}if(match&&(match[1]||!context)){if(match[1]){context=context instanceof jQuery?context[0]:context;doc=context?context.ownerDocument||context:document;ret=rsingleTag.exec(selector);if(ret){if(jQuery.isPlainObject(context)){selector=[document.createElement(ret[1])];jQuery.fn.attr.call(selector,context,true)}else{selector=[doc.createElement(ret[1])]}}else{ret=jQuery.buildFragment([match[1]],[doc]);selector=(ret.cacheable?jQuery.clone(ret.fragment):ret.fragment).childNodes}return jQuery.merge(this,selector)}else{elem=document.getElementById(match[2]);if(elem&&elem.parentNode){if(elem.id!==match[2]){return rootjQuery.find(selector)}this.length=1;this[0]=elem}this.context=document;this.selector=selector;return this}}else if(!context||context.jquery){return(context||rootjQuery).find(selector)}else{return this.constructor(context).find(selector)}}else if(jQuery.isFunction(selector)){return rootjQuery.ready(selector)}if(selector.selector!==undefined){this.selector=selector.selector;this.context=selector.context}return jQuery.makeArray(selector,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return slice.call(this,0)},get:function(num){return num==null?this.toArray():num<0?this[this.length+num]:this[num]},pushStack:function(elems,name,selector){var ret=this.constructor();if(jQuery.isArray(elems)){push.apply(ret,elems)}else{jQuery.merge(ret,elems)}ret.prevObject=this;ret.context=this.context;if(name==="find"){ret.selector=this.selector+(this.selector?" ":"")+selector}else if(name){ret.selector=this.selector+"."+name+"("+selector+")"}return ret},each:function(callback,args){return jQuery.each(this,callback,args)},ready:function(fn){jQuery.bindReady();readyList.add(fn);return this},eq:function(i){i=+i;return i===-1?this.slice(i):this.slice(i,i+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(slice.apply(this,arguments),"slice",slice.call(arguments).join(","))},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},end:function(){return this.prevObject||this.constructor(null)},push:push,sort:[].sort,splice:[].splice};jQuery.fn.init.prototype=jQuery.fn;jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2}if(typeof target!=="object"&&!jQuery.isFunction(target)){target={}}if(length===i){target=this;--i}for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){src=target[name];copy=options[name];if(target===copy){continue}if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&jQuery.isArray(src)?src:[]}else{clone=src&&jQuery.isPlainObject(src)?src:{}}target[name]=jQuery.extend(deep,clone,copy)}else if(copy!==undefined){target[name]=copy}}}}return target};jQuery.extend({noConflict:function(deep){if(window.$===jQuery){window.$=_$}if(deep&&window.jQuery===jQuery){window.jQuery=_jQuery}return jQuery},isReady:false,readyWait:1,holdReady:function(hold){if(hold){jQuery.readyWait++}else{jQuery.ready(true)}},ready:function(wait){if(wait===true&&!--jQuery.readyWait||wait!==true&&!jQuery.isReady){if(!document.body){return setTimeout(jQuery.ready,1)}jQuery.isReady=true;if(wait!==true&&--jQuery.readyWait>0){return}readyList.fireWith(document,[jQuery]);if(jQuery.fn.trigger){jQuery(document).trigger("ready").off("ready")}}},bindReady:function(){if(readyList){return}readyList=jQuery.Callbacks("once memory");if(document.readyState==="complete"){return setTimeout(jQuery.ready,1)}if(document.addEventListener){document.addEventListener("DOMContentLoaded",DOMContentLoaded,false);window.addEventListener("load",jQuery.ready,false)}else if(document.attachEvent){document.attachEvent("onreadystatechange",DOMContentLoaded);window.attachEvent("onload",jQuery.ready);var toplevel=false;try{toplevel=window.frameElement==null}catch(e){}if(document.documentElement.doScroll&&toplevel){doScrollCheck()}}},isFunction:function(obj){return jQuery.type(obj)==="function"},isArray:Array.isArray||function(obj){return jQuery.type(obj)==="array"},isWindow:function(obj){return obj!=null&&obj==obj.window},isNumeric:function(obj){return!isNaN(parseFloat(obj))&&isFinite(obj)},type:function(obj){return obj==null?String(obj):class2type[toString.call(obj)]||"object"},isPlainObject:function(obj){if(!obj||jQuery.type(obj)!=="object"||obj.nodeType||jQuery.isWindow(obj)){return false}try{if(obj.constructor&&!hasOwn.call(obj,"constructor")&&!hasOwn.call(obj.constructor.prototype,"isPrototypeOf")){return false}}catch(e){return false}var key;for(key in obj){}return key===undefined||hasOwn.call(obj,key)},isEmptyObject:function(obj){for(var name in obj){return false}return true},error:function(msg){throw new Error(msg)},parseJSON:function(data){if(typeof data!=="string"||!data){return null}data=jQuery.trim(data);if(window.JSON&&window.JSON.parse){return window.JSON.parse(data)}if(rvalidchars.test(data.replace(rvalidescape,"@").replace(rvalidtokens,"]").replace(rvalidbraces,""))){return new Function("return "+data)()}jQuery.error("Invalid JSON: "+data)},parseXML:function(data){if(typeof data!=="string"||!data){return null}var xml,tmp;try{if(window.DOMParser){tmp=new DOMParser;xml=tmp.parseFromString(data,"text/xml")}else{xml=new ActiveXObject("Microsoft.XMLDOM");xml.async="false";xml.loadXML(data)}}catch(e){xml=undefined}if(!xml||!xml.documentElement||xml.getElementsByTagName("parsererror").length){jQuery.error("Invalid XML: "+data)}return xml},noop:function(){},globalEval:function(data){if(data&&rnotwhite.test(data)){(window.execScript||function(data){window["eval"].call(window,data)})(data)}},camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase)},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()===name.toUpperCase()},each:function(object,callback,args){var name,i=0,length=object.length,isObj=length===undefined||jQuery.isFunction(object);if(args){if(isObj){for(name in object){if(callback.apply(object[name],args)===false){break}}}else{for(;i<length;){if(callback.apply(object[i++],args)===false){break}}}}else{if(isObj){for(name in object){if(callback.call(object[name],name,object[name])===false){break}}}else{for(;i<length;){if(callback.call(object[i],i,object[i++])===false){break}}}}return object},trim:trim?function(text){return text==null?"":trim.call(text)}:function(text){return text==null?"":text.toString().replace(trimLeft,"").replace(trimRight,"")},makeArray:function(array,results){var ret=results||[];if(array!=null){var type=jQuery.type(array);if(array.length==null||type==="string"||type==="function"||type==="regexp"||jQuery.isWindow(array)){push.call(ret,array)}else{jQuery.merge(ret,array)}}return ret},inArray:function(elem,array,i){var len;if(array){if(indexOf){return indexOf.call(array,elem,i)}len=array.length;i=i?i<0?Math.max(0,len+i):i:0;for(;i<len;i++){if(i in array&&array[i]===elem){return i}}}return-1},merge:function(first,second){var i=first.length,j=0;if(typeof second.length==="number"){for(var l=second.length;j<l;j++){first[i++]=second[j]}}else{while(second[j]!==undefined){first[i++]=second[j++]}}first.length=i;return first},grep:function(elems,callback,inv){var ret=[],retVal;inv=!!inv;for(var i=0,length=elems.length;i<length;i++){retVal=!!callback(elems[i],i);if(inv!==retVal){ret.push(elems[i])}}return ret},map:function(elems,callback,arg){var value,key,ret=[],i=0,length=elems.length,isArray=elems instanceof jQuery||length!==undefined&&typeof length==="number"&&(length>0&&elems[0]&&elems[length-1]||length===0||jQuery.isArray(elems));if(isArray){for(;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret[ret.length]=value}}}else{for(key in elems){value=callback(elems[key],key,arg);if(value!=null){ret[ret.length]=value}}}return ret.concat.apply([],ret)},guid:1,proxy:function(fn,context){if(typeof context==="string"){var tmp=fn[context];context=fn;fn=tmp}if(!jQuery.isFunction(fn)){return undefined}var args=slice.call(arguments,2),proxy=function(){return fn.apply(context,args.concat(slice.call(arguments)))};proxy.guid=fn.guid=fn.guid||proxy.guid||jQuery.guid++;return proxy},access:function(elems,fn,key,value,chainable,emptyGet,pass){var exec,bulk=key==null,i=0,length=elems.length;if(key&&typeof key==="object"){for(i in key){jQuery.access(elems,fn,i,key[i],1,emptyGet,value)}chainable=1}else if(value!==undefined){exec=pass===undefined&&jQuery.isFunction(value);if(bulk){if(exec){exec=fn;fn=function(elem,key,value){return exec.call(jQuery(elem),value)}}else{fn.call(elems,value);fn=null}}if(fn){for(;i<length;i++){fn(elems[i],key,exec?value.call(elems[i],i,fn(elems[i],key)):value,pass)}}chainable=1}return chainable?elems:bulk?fn.call(elems):length?fn(elems[0],key):emptyGet},now:function(){return(new Date).getTime()},uaMatch:function(ua){ua=ua.toLowerCase();var match=rwebkit.exec(ua)||ropera.exec(ua)||rmsie.exec(ua)||ua.indexOf("compatible")<0&&rmozilla.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"}},sub:function(){function jQuerySub(selector,context){return new jQuerySub.fn.init(selector,context)}jQuery.extend(true,jQuerySub,this);jQuerySub.superclass=this;jQuerySub.fn=jQuerySub.prototype=this();jQuerySub.fn.constructor=jQuerySub;jQuerySub.sub=this.sub;jQuerySub.fn.init=function init(selector,context){if(context&&context instanceof jQuery&&!(context instanceof jQuerySub)){context=jQuerySub(context)}return jQuery.fn.init.call(this,selector,context,rootjQuerySub)};jQuerySub.fn.init.prototype=jQuerySub.fn;var rootjQuerySub=jQuerySub(document);return jQuerySub},browser:{}});jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase()});browserMatch=jQuery.uaMatch(userAgent);if(browserMatch.browser){jQuery.browser[browserMatch.browser]=true;jQuery.browser.version=browserMatch.version}if(jQuery.browser.webkit){jQuery.browser.safari=true}if(rnotwhite.test(" ")){trimLeft=/^[\s\xA0]+/;trimRight=/[\s\xA0]+$/}rootjQuery=jQuery(document);if(document.addEventListener){DOMContentLoaded=function(){document.removeEventListener("DOMContentLoaded",DOMContentLoaded,false);jQuery.ready()}}else if(document.attachEvent){DOMContentLoaded=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",DOMContentLoaded);jQuery.ready()}}}function doScrollCheck(){if(jQuery.isReady){return}try{document.documentElement.doScroll("left")}catch(e){setTimeout(doScrollCheck,1);return}jQuery.ready()}return jQuery}();var flagsCache={};function createFlags(flags){var object=flagsCache[flags]={},i,length;flags=flags.split(/\s+/);for(i=0,length=flags.length;i<length;i++){object[flags[i]]=true}return object}jQuery.Callbacks=function(flags){flags=flags?flagsCache[flags]||createFlags(flags):{};var list=[],stack=[],memory,fired,firing,firingStart,firingLength,firingIndex,add=function(args){var i,length,elem,type,actual;for(i=0,length=args.length;i<length;i++){elem=args[i];type=jQuery.type(elem);if(type==="array"){add(elem)}else if(type==="function"){if(!flags.unique||!self.has(elem)){list.push(elem)}}}},fire=function(context,args){args=args||[];memory=!flags.memory||[context,args];fired=true;firing=true;firingIndex=firingStart||0;firingStart=0;firingLength=list.length;for(;list&&firingIndex<firingLength;firingIndex++){if(list[firingIndex].apply(context,args)===false&&flags.stopOnFalse){memory=true;break}}firing=false;if(list){if(!flags.once){if(stack&&stack.length){memory=stack.shift();self.fireWith(memory[0],memory[1])}}else if(memory===true){self.disable()}else{list=[]}}},self={add:function(){if(list){var length=list.length;add(arguments);if(firing){firingLength=list.length}else if(memory&&memory!==true){firingStart=length;fire(memory[0],memory[1])}}return this},remove:function(){if(list){var args=arguments,argIndex=0,argLength=args.length;for(;argIndex<argLength;argIndex++){for(var i=0;i<list.length;i++){if(args[argIndex]===list[i]){if(firing){if(i<=firingLength){firingLength--;if(i<=firingIndex){firingIndex--}}}list.splice(i--,1);if(flags.unique){break}}}}}return this},has:function(fn){if(list){var i=0,length=list.length;for(;i<length;i++){if(fn===list[i]){return true}}}return false},empty:function(){list=[];return this},disable:function(){list=stack=memory=undefined;return this},disabled:function(){return!list},lock:function(){stack=undefined;if(!memory||memory===true){self.disable()}return this},locked:function(){return!stack},fireWith:function(context,args){if(stack){if(firing){if(!flags.once){stack.push([context,args])}}else if(!(flags.once&&memory)){fire(context,args)}}return this},fire:function(){self.fireWith(this,arguments);return this},fired:function(){return!!fired}};return self};var sliceDeferred=[].slice;jQuery.extend({Deferred:function(func){var doneList=jQuery.Callbacks("once memory"),failList=jQuery.Callbacks("once memory"),progressList=jQuery.Callbacks("memory"),state="pending",lists={resolve:doneList,reject:failList,notify:progressList},promise={done:doneList.add,fail:failList.add,progress:progressList.add,state:function(){return state},isResolved:doneList.fired,isRejected:failList.fired,then:function(doneCallbacks,failCallbacks,progressCallbacks){deferred.done(doneCallbacks).fail(failCallbacks).progress(progressCallbacks);return this},always:function(){deferred.done.apply(deferred,arguments).fail.apply(deferred,arguments);return this},pipe:function(fnDone,fnFail,fnProgress){return jQuery.Deferred(function(newDefer){jQuery.each({done:[fnDone,"resolve"],fail:[fnFail,"reject"],progress:[fnProgress,"notify"]},function(handler,data){var fn=data[0],action=data[1],returned;if(jQuery.isFunction(fn)){deferred[handler](function(){returned=fn.apply(this,arguments);if(returned&&jQuery.isFunction(returned.promise)){returned.promise().then(newDefer.resolve,newDefer.reject,newDefer.notify)}else{newDefer[action+"With"](this===deferred?newDefer:this,[returned])}})}else{deferred[handler](newDefer[action])}})}).promise()},promise:function(obj){if(obj==null){obj=promise}else{for(var key in promise){obj[key]=promise[key]}}return obj}},deferred=promise.promise({}),key;for(key in lists){deferred[key]=lists[key].fire;deferred[key+"With"]=lists[key].fireWith}deferred.done(function(){state="resolved"},failList.disable,progressList.lock).fail(function(){state="rejected"},doneList.disable,progressList.lock);if(func){func.call(deferred,deferred)}return deferred},when:function(firstParam){var args=sliceDeferred.call(arguments,0),i=0,length=args.length,pValues=new Array(length),count=length,pCount=length,deferred=length<=1&&firstParam&&jQuery.isFunction(firstParam.promise)?firstParam:jQuery.Deferred(),promise=deferred.promise();function resolveFunc(i){return function(value){args[i]=arguments.length>1?sliceDeferred.call(arguments,0):value;if(!--count){deferred.resolveWith(deferred,args)}}}function progressFunc(i){return function(value){pValues[i]=arguments.length>1?sliceDeferred.call(arguments,0):value;deferred.notifyWith(promise,pValues)}}if(length>1){for(;i<length;i++){if(args[i]&&args[i].promise&&jQuery.isFunction(args[i].promise)){args[i].promise().then(resolveFunc(i),deferred.reject,progressFunc(i))}else{--count}}if(!count){deferred.resolveWith(deferred,args)}}else if(deferred!==firstParam){deferred.resolveWith(deferred,length?[firstParam]:[])}return promise}});jQuery.support=function(){var support,all,a,select,opt,input,fragment,tds,events,eventName,i,isSupported,div=document.createElement("div"),documentElement=document.documentElement;div.setAttribute("className","t");div.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";all=div.getElementsByTagName("*");a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return{}}select=document.createElement("select");opt=select.appendChild(document.createElement("option"));input=div.getElementsByTagName("input")[0];support={leadingWhitespace:div.firstChild.nodeType===3,tbody:!div.getElementsByTagName("tbody").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/top/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:/^0.55/.test(a.style.opacity),cssFloat:!!a.style.cssFloat,checkOn:input.value==="on",optSelected:opt.selected,getSetAttribute:div.className!=="t",enctype:!!document.createElement("form").enctype,html5Clone:document.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,pixelMargin:true};jQuery.boxModel=support.boxModel=document.compatMode==="CSS1Compat";input.checked=true;support.noCloneChecked=input.cloneNode(true).checked;select.disabled=true;support.optDisabled=!opt.disabled;try{delete div.test}catch(e){support.deleteExpando=false}if(!div.addEventListener&&div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){support.noCloneEvent=false});div.cloneNode(true).fireEvent("onclick")}input=document.createElement("input");input.value="t";input.setAttribute("type","radio");support.radioValue=input.value==="t";input.setAttribute("checked","checked");input.setAttribute("name","t");div.appendChild(input);fragment=document.createDocumentFragment();fragment.appendChild(div.lastChild);support.checkClone=fragment.cloneNode(true).cloneNode(true).lastChild.checked;support.appendChecked=input.checked;fragment.removeChild(input);fragment.appendChild(div);if(div.attachEvent){for(i in{submit:1,change:1,focusin:1}){eventName="on"+i;isSupported=eventName in div;if(!isSupported){div.setAttribute(eventName,"return;");isSupported=typeof div[eventName]==="function"}support[i+"Bubbles"]=isSupported}}fragment.removeChild(div);fragment=select=opt=div=input=null;jQuery(function(){var container,outer,inner,table,td,offsetSupport,marginDiv,conMarginTop,style,html,positionTopLeftWidthHeight,paddingMarginBorderVisibility,paddingMarginBorder,body=document.getElementsByTagName("body")[0];if(!body){return}conMarginTop=1;paddingMarginBorder="padding:0;margin:0;border:";positionTopLeftWidthHeight="position:absolute;top:0;left:0;width:1px;height:1px;";paddingMarginBorderVisibility=paddingMarginBorder+"0;visibility:hidden;";style="style='"+positionTopLeftWidthHeight+paddingMarginBorder+"5px solid #000;";html="<div "+style+"display:block;'><div style='"+paddingMarginBorder+"0;display:block;overflow:hidden;'></div></div>"+"<table "+style+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>";container=document.createElement("div");container.style.cssText=paddingMarginBorderVisibility+"width:0;height:0;position:static;top:0;margin-top:"+conMarginTop+"px";body.insertBefore(container,body.firstChild);div=document.createElement("div");container.appendChild(div);div.innerHTML="<table><tr><td style='"+paddingMarginBorder+"0;display:none'></td><td>t</td></tr></table>";tds=div.getElementsByTagName("td");isSupported=tds[0].offsetHeight===0;tds[0].style.display="";tds[1].style.display="none";support.reliableHiddenOffsets=isSupported&&tds[0].offsetHeight===0;if(window.getComputedStyle){div.innerHTML="";marginDiv=document.createElement("div");marginDiv.style.width="0";marginDiv.style.marginRight="0";div.style.width="2px";div.appendChild(marginDiv);support.reliableMarginRight=(parseInt((window.getComputedStyle(marginDiv,null)||{marginRight:0}).marginRight,10)||0)===0}if(typeof div.style.zoom!=="undefined"){div.innerHTML="";div.style.width=div.style.padding="1px";div.style.border=0;div.style.overflow="hidden";div.style.display="inline";div.style.zoom=1;support.inlineBlockNeedsLayout=div.offsetWidth===3;div.style.display="block";div.style.overflow="visible";div.innerHTML="<div style='width:5px;'></div>";support.shrinkWrapBlocks=div.offsetWidth!==3}div.style.cssText=positionTopLeftWidthHeight+paddingMarginBorderVisibility;div.innerHTML=html;outer=div.firstChild;inner=outer.firstChild;td=outer.nextSibling.firstChild.firstChild;offsetSupport={doesNotAddBorder:inner.offsetTop!==5,doesAddBorderForTableAndCells:td.offsetTop===5};inner.style.position="fixed";inner.style.top="20px";offsetSupport.fixedPosition=inner.offsetTop===20||inner.offsetTop===15;inner.style.position=inner.style.top="";outer.style.overflow="hidden";outer.style.position="relative";offsetSupport.subtractsBorderForOverflowNotVisible=inner.offsetTop===-5;offsetSupport.doesNotIncludeMarginInBodyOffset=body.offsetTop!==conMarginTop;if(window.getComputedStyle){div.style.marginTop="1%";support.pixelMargin=(window.getComputedStyle(div,null)||{marginTop:0}).marginTop!=="1%"}if(typeof container.style.zoom!=="undefined"){container.style.zoom=1}body.removeChild(container);marginDiv=div=container=null;jQuery.extend(support,offsetSupport)});return support}();var rbrace=/^(?:\{.*\}|\[.*\])$/,rmultiDash=/([A-Z])/g;jQuery.extend({cache:{},uuid:0,expando:"jQuery"+(jQuery.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(elem){elem=elem.nodeType?jQuery.cache[elem[jQuery.expando]]:elem[jQuery.expando];return!!elem&&!isEmptyDataObject(elem)},data:function(elem,name,data,pvt){if(!jQuery.acceptData(elem)){return}var privateCache,thisCache,ret,internalKey=jQuery.expando,getByName=typeof name==="string",isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[internalKey]:elem[internalKey]&&internalKey,isEvents=name==="events";if((!id||!cache[id]||!isEvents&&!pvt&&!cache[id].data)&&getByName&&data===undefined){return}if(!id){if(isNode){elem[internalKey]=id=++jQuery.uuid}else{id=internalKey}}if(!cache[id]){cache[id]={};if(!isNode){cache[id].toJSON=jQuery.noop}}if(typeof name==="object"||typeof name==="function"){if(pvt){cache[id]=jQuery.extend(cache[id],name)}else{cache[id].data=jQuery.extend(cache[id].data,name)}}privateCache=thisCache=cache[id];if(!pvt){if(!thisCache.data){thisCache.data={}}thisCache=thisCache.data}if(data!==undefined){thisCache[jQuery.camelCase(name)]=data}if(isEvents&&!thisCache[name]){return privateCache.events}if(getByName){ret=thisCache[name];if(ret==null){ret=thisCache[jQuery.camelCase(name)]}}else{ret=thisCache}return ret},removeData:function(elem,name,pvt){if(!jQuery.acceptData(elem)){return}var thisCache,i,l,internalKey=jQuery.expando,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[internalKey]:internalKey;if(!cache[id]){return}if(name){thisCache=pvt?cache[id]:cache[id].data;if(thisCache){if(!jQuery.isArray(name)){if(name in thisCache){name=[name]}else{name=jQuery.camelCase(name);if(name in thisCache){name=[name]}else{name=name.split(" ")}}}for(i=0,l=name.length;i<l;i++){delete thisCache[name[i]]}if(!(pvt?isEmptyDataObject:jQuery.isEmptyObject)(thisCache)){return}}}if(!pvt){delete cache[id].data;if(!isEmptyDataObject(cache[id])){return}}if(jQuery.support.deleteExpando||!cache.setInterval){delete cache[id]}else{cache[id]=null}if(isNode){if(jQuery.support.deleteExpando){delete elem[internalKey]}else if(elem.removeAttribute){elem.removeAttribute(internalKey)}else{elem[internalKey]=null}}},_data:function(elem,name,data){return jQuery.data(elem,name,data,true)},acceptData:function(elem){if(elem.nodeName){var match=jQuery.noData[elem.nodeName.toLowerCase()];if(match){return!(match===true||elem.getAttribute("classid")!==match)}}return true}});jQuery.fn.extend({data:function(key,value){var parts,part,attr,name,l,elem=this[0],i=0,data=null;if(key===undefined){if(this.length){data=jQuery.data(elem);if(elem.nodeType===1&&!jQuery._data(elem,"parsedAttrs")){attr=elem.attributes;for(l=attr.length;i<l;i++){name=attr[i].name;if(name.indexOf("data-")===0){name=jQuery.camelCase(name.substring(5));dataAttr(elem,name,data[name])}}jQuery._data(elem,"parsedAttrs",true)}}return data}if(typeof key==="object"){return this.each(function(){jQuery.data(this,key)})}parts=key.split(".",2);parts[1]=parts[1]?"."+parts[1]:"";part=parts[1]+"!";return jQuery.access(this,function(value){if(value===undefined){data=this.triggerHandler("getData"+part,[parts[0]]);if(data===undefined&&elem){data=jQuery.data(elem,key);data=dataAttr(elem,key,data)}return data===undefined&&parts[1]?this.data(parts[0]):data}parts[1]=value;this.each(function(){var self=jQuery(this);self.triggerHandler("setData"+part,parts);jQuery.data(this,key,value);self.triggerHandler("changeData"+part,parts)})},null,value,arguments.length>1,null,false)},removeData:function(key){return this.each(function(){jQuery.removeData(this,key)})}});function dataAttr(elem,key,data){if(data===undefined&&elem.nodeType===1){var name="data-"+key.replace(rmultiDash,"-$1").toLowerCase();data=elem.getAttribute(name);if(typeof data==="string"){try{data=data==="true"?true:data==="false"?false:data==="null"?null:jQuery.isNumeric(data)?+data:rbrace.test(data)?jQuery.parseJSON(data):data}catch(e){}jQuery.data(elem,key,data)}else{data=undefined}}return data}function isEmptyDataObject(obj){for(var name in obj){if(name==="data"&&jQuery.isEmptyObject(obj[name])){continue}if(name!=="toJSON"){return false}}return true}function handleQueueMarkDefer(elem,type,src){var deferDataKey=type+"defer",queueDataKey=type+"queue",markDataKey=type+"mark",defer=jQuery._data(elem,deferDataKey);if(defer&&(src==="queue"||!jQuery._data(elem,queueDataKey))&&(src==="mark"||!jQuery._data(elem,markDataKey))){setTimeout(function(){if(!jQuery._data(elem,queueDataKey)&&!jQuery._data(elem,markDataKey)){jQuery.removeData(elem,deferDataKey,true);defer.fire()}},0)}}jQuery.extend({_mark:function(elem,type){if(elem){type=(type||"fx")+"mark";jQuery._data(elem,type,(jQuery._data(elem,type)||0)+1)}},_unmark:function(force,elem,type){if(force!==true){type=elem;elem=force;force=false}if(elem){type=type||"fx";var key=type+"mark",count=force?0:(jQuery._data(elem,key)||1)-1;if(count){jQuery._data(elem,key,count)}else{jQuery.removeData(elem,key,true);handleQueueMarkDefer(elem,type,"mark")}}},queue:function(elem,type,data){var q;if(elem){type=(type||"fx")+"queue";q=jQuery._data(elem,type);if(data){if(!q||jQuery.isArray(data)){q=jQuery._data(elem,type,jQuery.makeArray(data))}else{q.push(data)}}return q||[]}},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),fn=queue.shift(),hooks={};if(fn==="inprogress"){fn=queue.shift()}if(fn){if(type==="fx"){queue.unshift("inprogress")}jQuery._data(elem,type+".run",hooks);fn.call(elem,function(){jQuery.dequeue(elem,type)},hooks)}if(!queue.length){jQuery.removeData(elem,type+"queue "+type+".run",true);handleQueueMarkDefer(elem,type,"queue")}}});jQuery.fn.extend({queue:function(type,data){var setter=2;if(typeof type!=="string"){data=type;type="fx";setter--}if(arguments.length<setter){return jQuery.queue(this[0],type)}return data===undefined?this:this.each(function(){var queue=jQuery.queue(this,type,data);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type)}})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},delay:function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(next,hooks){var timeout=setTimeout(next,time);hooks.stop=function(){clearTimeout(timeout)}})},clearQueue:function(type){return this.queue(type||"fx",[])},promise:function(type,object){if(typeof type!=="string"){object=type;type=undefined}type=type||"fx";var defer=jQuery.Deferred(),elements=this,i=elements.length,count=1,deferDataKey=type+"defer",queueDataKey=type+"queue",markDataKey=type+"mark",tmp;function resolve(){if(!--count){defer.resolveWith(elements,[elements])}}while(i--){if(tmp=jQuery.data(elements[i],deferDataKey,undefined,true)||(jQuery.data(elements[i],queueDataKey,undefined,true)||jQuery.data(elements[i],markDataKey,undefined,true))&&jQuery.data(elements[i],deferDataKey,jQuery.Callbacks("once memory"),true)){count++;tmp.add(resolve)}}resolve();return defer.promise(object)}});var rclass=/[\n\t\r]/g,rspace=/\s+/,rreturn=/\r/g,rtype=/^(?:button|input)$/i,rfocusable=/^(?:button|input|object|select|textarea)$/i,rclickable=/^a(?:rea)?$/i,rboolean=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,getSetAttribute=jQuery.support.getSetAttribute,nodeHook,boolHook,fixSpecified;jQuery.fn.extend({attr:function(name,value){return jQuery.access(this,jQuery.attr,name,value,arguments.length>1)},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name)})},prop:function(name,value){return jQuery.access(this,jQuery.prop,name,value,arguments.length>1)},removeProp:function(name){name=jQuery.propFix[name]||name;return this.each(function(){try{this[name]=undefined;delete this[name]}catch(e){}})},addClass:function(value){var classNames,i,l,elem,setClass,c,cl;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).addClass(value.call(this,j,this.className))})}if(value&&typeof value==="string"){classNames=value.split(rspace);for(i=0,l=this.length;i<l;i++){elem=this[i];if(elem.nodeType===1){if(!elem.className&&classNames.length===1){elem.className=value}else{setClass=" "+elem.className+" ";for(c=0,cl=classNames.length;c<cl;c++){if(!~setClass.indexOf(" "+classNames[c]+" ")){setClass+=classNames[c]+" "}}elem.className=jQuery.trim(setClass)}}}}return this},removeClass:function(value){var classNames,i,l,elem,className,c,cl;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).removeClass(value.call(this,j,this.className))})}if(value&&typeof value==="string"||value===undefined){classNames=(value||"").split(rspace);for(i=0,l=this.length;i<l;i++){elem=this[i];if(elem.nodeType===1&&elem.className){if(value){className=(" "+elem.className+" ").replace(rclass," ");for(c=0,cl=classNames.length;c<cl;c++){className=className.replace(" "+classNames[c]+" "," ")}elem.className=jQuery.trim(className)}else{elem.className=""}}}}return this},toggleClass:function(value,stateVal){var type=typeof value,isBool=typeof stateVal==="boolean";if(jQuery.isFunction(value)){return this.each(function(i){jQuery(this).toggleClass(value.call(this,i,this.className,stateVal),stateVal)

- })}return this.each(function(){if(type==="string"){var className,i=0,self=jQuery(this),state=stateVal,classNames=value.split(rspace);while(className=classNames[i++]){state=isBool?state:!self.hasClass(className);self[state?"addClass":"removeClass"](className)}}else if(type==="undefined"||type==="boolean"){if(this.className){jQuery._data(this,"__className__",this.className)}this.className=this.className||value===false?"":jQuery._data(this,"__className__")||""}})},hasClass:function(selector){var className=" "+selector+" ",i=0,l=this.length;for(;i<l;i++){if(this[i].nodeType===1&&(" "+this[i].className+" ").replace(rclass," ").indexOf(className)>-1){return true}}return false},val:function(value){var hooks,ret,isFunction,elem=this[0];if(!arguments.length){if(elem){hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()];if(hooks&&"get"in hooks&&(ret=hooks.get(elem,"value"))!==undefined){return ret}ret=elem.value;return typeof ret==="string"?ret.replace(rreturn,""):ret==null?"":ret}return}isFunction=jQuery.isFunction(value);return this.each(function(i){var self=jQuery(this),val;if(this.nodeType!==1){return}if(isFunction){val=value.call(this,i,self.val())}else{val=value}if(val==null){val=""}else if(typeof val==="number"){val+=""}else if(jQuery.isArray(val)){val=jQuery.map(val,function(value){return value==null?"":value+""})}hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){this.value=val}})}});jQuery.extend({valHooks:{option:{get:function(elem){var val=elem.attributes.value;return!val||val.specified?elem.value:elem.text}},select:{get:function(elem){var value,i,max,option,index=elem.selectedIndex,values=[],options=elem.options,one=elem.type==="select-one";if(index<0){return null}i=one?index:0;max=one?index+1:options.length;for(;i<max;i++){option=options[i];if(option.selected&&(jQuery.support.optDisabled?!option.disabled:option.getAttribute("disabled")===null)&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){value=jQuery(option).val();if(one){return value}values.push(value)}}if(one&&!values.length&&options.length){return jQuery(options[index]).val()}return values},set:function(elem,value){var values=jQuery.makeArray(value);jQuery(elem).find("option").each(function(){this.selected=jQuery.inArray(jQuery(this).val(),values)>=0});if(!values.length){elem.selectedIndex=-1}return values}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(elem,name,value,pass){var ret,hooks,notxml,nType=elem.nodeType;if(!elem||nType===3||nType===8||nType===2){return}if(pass&&name in jQuery.attrFn){return jQuery(elem)[name](value)}if(typeof elem.getAttribute==="undefined"){return jQuery.prop(elem,name,value)}notxml=nType!==1||!jQuery.isXMLDoc(elem);if(notxml){name=name.toLowerCase();hooks=jQuery.attrHooks[name]||(rboolean.test(name)?boolHook:nodeHook)}if(value!==undefined){if(value===null){jQuery.removeAttr(elem,name);return}else if(hooks&&"set"in hooks&&notxml&&(ret=hooks.set(elem,value,name))!==undefined){return ret}else{elem.setAttribute(name,""+value);return value}}else if(hooks&&"get"in hooks&&notxml&&(ret=hooks.get(elem,name))!==null){return ret}else{ret=elem.getAttribute(name);return ret===null?undefined:ret}},removeAttr:function(elem,value){var propName,attrNames,name,l,isBool,i=0;if(value&&elem.nodeType===1){attrNames=value.toLowerCase().split(rspace);l=attrNames.length;for(;i<l;i++){name=attrNames[i];if(name){propName=jQuery.propFix[name]||name;isBool=rboolean.test(name);if(!isBool){jQuery.attr(elem,name,"")}elem.removeAttribute(getSetAttribute?name:propName);if(isBool&&propName in elem){elem[propName]=false}}}}},attrHooks:{type:{set:function(elem,value){if(rtype.test(elem.nodeName)&&elem.parentNode){jQuery.error("type property can't be changed")}else if(!jQuery.support.radioValue&&value==="radio"&&jQuery.nodeName(elem,"input")){var val=elem.value;elem.setAttribute("type",value);if(val){elem.value=val}return value}}},value:{get:function(elem,name){if(nodeHook&&jQuery.nodeName(elem,"button")){return nodeHook.get(elem,name)}return name in elem?elem.value:null},set:function(elem,value,name){if(nodeHook&&jQuery.nodeName(elem,"button")){return nodeHook.set(elem,value,name)}elem.value=value}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(elem,name,value){var ret,hooks,notxml,nType=elem.nodeType;if(!elem||nType===3||nType===8||nType===2){return}notxml=nType!==1||!jQuery.isXMLDoc(elem);if(notxml){name=jQuery.propFix[name]||name;hooks=jQuery.propHooks[name]}if(value!==undefined){if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret}else{return elem[name]=value}}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){return ret}else{return elem[name]}}},propHooks:{tabIndex:{get:function(elem){var attributeNode=elem.getAttributeNode("tabindex");return attributeNode&&attributeNode.specified?parseInt(attributeNode.value,10):rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:undefined}}}});jQuery.attrHooks.tabindex=jQuery.propHooks.tabIndex;boolHook={get:function(elem,name){var attrNode,property=jQuery.prop(elem,name);return property===true||typeof property!=="boolean"&&(attrNode=elem.getAttributeNode(name))&&attrNode.nodeValue!==false?name.toLowerCase():undefined},set:function(elem,value,name){var propName;if(value===false){jQuery.removeAttr(elem,name)}else{propName=jQuery.propFix[name]||name;if(propName in elem){elem[propName]=true}elem.setAttribute(name,name.toLowerCase())}return name}};if(!getSetAttribute){fixSpecified={name:true,id:true,coords:true};nodeHook=jQuery.valHooks.button={get:function(elem,name){var ret;ret=elem.getAttributeNode(name);return ret&&(fixSpecified[name]?ret.nodeValue!=="":ret.specified)?ret.nodeValue:undefined},set:function(elem,value,name){var ret=elem.getAttributeNode(name);if(!ret){ret=document.createAttribute(name);elem.setAttributeNode(ret)}return ret.nodeValue=value+""}};jQuery.attrHooks.tabindex.set=nodeHook.set;jQuery.each(["width","height"],function(i,name){jQuery.attrHooks[name]=jQuery.extend(jQuery.attrHooks[name],{set:function(elem,value){if(value===""){elem.setAttribute(name,"auto");return value}}})});jQuery.attrHooks.contenteditable={get:nodeHook.get,set:function(elem,value,name){if(value===""){value="false"}nodeHook.set(elem,value,name)}}}if(!jQuery.support.hrefNormalized){jQuery.each(["href","src","width","height"],function(i,name){jQuery.attrHooks[name]=jQuery.extend(jQuery.attrHooks[name],{get:function(elem){var ret=elem.getAttribute(name,2);return ret===null?undefined:ret}})})}if(!jQuery.support.style){jQuery.attrHooks.style={get:function(elem){return elem.style.cssText.toLowerCase()||undefined},set:function(elem,value){return elem.style.cssText=""+value}}}if(!jQuery.support.optSelected){jQuery.propHooks.selected=jQuery.extend(jQuery.propHooks.selected,{get:function(elem){var parent=elem.parentNode;if(parent){parent.selectedIndex;if(parent.parentNode){parent.parentNode.selectedIndex}}return null}})}if(!jQuery.support.enctype){jQuery.propFix.enctype="encoding"}if(!jQuery.support.checkOn){jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={get:function(elem){return elem.getAttribute("value")===null?"on":elem.value}}})}jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]=jQuery.extend(jQuery.valHooks[this],{set:function(elem,value){if(jQuery.isArray(value)){return elem.checked=jQuery.inArray(jQuery(elem).val(),value)>=0}}})});var rformElems=/^(?:textarea|input|select)$/i,rtypenamespace=/^([^\.]*)?(?:\.(.+))?$/,rhoverHack=/(?:^|\s)hover(\.\S+)?\b/,rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|contextmenu)|click/,rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,rquickIs=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,quickParse=function(selector){var quick=rquickIs.exec(selector);if(quick){quick[1]=(quick[1]||"").toLowerCase();quick[3]=quick[3]&&new RegExp("(?:^|\\s)"+quick[3]+"(?:\\s|$)")}return quick},quickIs=function(elem,m){var attrs=elem.attributes||{};return(!m[1]||elem.nodeName.toLowerCase()===m[1])&&(!m[2]||(attrs.id||{}).value===m[2])&&(!m[3]||m[3].test((attrs["class"]||{}).value))},hoverHack=function(events){return jQuery.event.special.hover?events:events.replace(rhoverHack,"mouseenter$1 mouseleave$1")};jQuery.event={add:function(elem,types,handler,data,selector){var elemData,eventHandle,events,t,tns,type,namespaces,handleObj,handleObjIn,quick,handlers,special;if(elem.nodeType===3||elem.nodeType===8||!types||!handler||!(elemData=jQuery._data(elem))){return}if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler;selector=handleObjIn.selector}if(!handler.guid){handler.guid=jQuery.guid++}events=elemData.events;if(!events){elemData.events=events={}}eventHandle=elemData.handle;if(!eventHandle){elemData.handle=eventHandle=function(e){return typeof jQuery!=="undefined"&&(!e||jQuery.event.triggered!==e.type)?jQuery.event.dispatch.apply(eventHandle.elem,arguments):undefined};eventHandle.elem=elem}types=jQuery.trim(hoverHack(types)).split(" ");for(t=0;t<types.length;t++){tns=rtypenamespace.exec(types[t])||[];type=tns[1];namespaces=(tns[2]||"").split(".").sort();special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;special=jQuery.event.special[type]||{};handleObj=jQuery.extend({type:type,origType:tns[1],data:data,handler:handler,guid:handler.guid,selector:selector,quick:selector&&quickParse(selector),namespace:namespaces.join(".")},handleObjIn);handlers=events[type];if(!handlers){handlers=events[type]=[];handlers.delegateCount=0;if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){if(elem.addEventListener){elem.addEventListener(type,eventHandle,false)}else if(elem.attachEvent){elem.attachEvent("on"+type,eventHandle)}}}if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid){handleObj.handler.guid=handler.guid}}if(selector){handlers.splice(handlers.delegateCount++,0,handleObj)}else{handlers.push(handleObj)}jQuery.event.global[type]=true}elem=null},global:{},remove:function(elem,types,handler,selector,mappedTypes){var elemData=jQuery.hasData(elem)&&jQuery._data(elem),t,tns,type,origType,namespaces,origCount,j,events,special,handle,eventType,handleObj;if(!elemData||!(events=elemData.events)){return}types=jQuery.trim(hoverHack(types||"")).split(" ");for(t=0;t<types.length;t++){tns=rtypenamespace.exec(types[t])||[];type=origType=tns[1];namespaces=tns[2];if(!type){for(type in events){jQuery.event.remove(elem,type+types[t],handler,selector,true)}continue}special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;eventType=events[type]||[];origCount=eventType.length;namespaces=namespaces?new RegExp("(^|\\.)"+namespaces.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(j=0;j<eventType.length;j++){handleObj=eventType[j];if((mappedTypes||origType===handleObj.origType)&&(!handler||handler.guid===handleObj.guid)&&(!namespaces||namespaces.test(handleObj.namespace))&&(!selector||selector===handleObj.selector||selector==="**"&&handleObj.selector)){eventType.splice(j--,1);if(handleObj.selector){eventType.delegateCount--}if(special.remove){special.remove.call(elem,handleObj)}}}if(eventType.length===0&&origCount!==eventType.length){if(!special.teardown||special.teardown.call(elem,namespaces)===false){jQuery.removeEvent(elem,type,elemData.handle)}delete events[type]}}if(jQuery.isEmptyObject(events)){handle=elemData.handle;if(handle){handle.elem=null}jQuery.removeData(elem,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(event,data,elem,onlyHandlers){if(elem&&(elem.nodeType===3||elem.nodeType===8)){return}var type=event.type||event,namespaces=[],cache,exclusive,i,cur,old,ontype,special,handle,eventPath,bubbleType;if(rfocusMorph.test(type+jQuery.event.triggered)){return}if(type.indexOf("!")>=0){type=type.slice(0,-1);exclusive=true}if(type.indexOf(".")>=0){namespaces=type.split(".");type=namespaces.shift();namespaces.sort()}if((!elem||jQuery.event.customEvent[type])&&!jQuery.event.global[type]){return}event=typeof event==="object"?event[jQuery.expando]?event:new jQuery.Event(type,event):new jQuery.Event(type);event.type=type;event.isTrigger=true;event.exclusive=exclusive;event.namespace=namespaces.join(".");event.namespace_re=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;ontype=type.indexOf(":")<0?"on"+type:"";if(!elem){cache=jQuery.cache;for(i in cache){if(cache[i].events&&cache[i].events[type]){jQuery.event.trigger(event,data,cache[i].handle.elem,true)}}return}event.result=undefined;if(!event.target){event.target=elem}data=data!=null?jQuery.makeArray(data):[];data.unshift(event);special=jQuery.event.special[type]||{};if(special.trigger&&special.trigger.apply(elem,data)===false){return}eventPath=[[elem,special.bindType||type]];if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){bubbleType=special.delegateType||type;cur=rfocusMorph.test(bubbleType+type)?elem:elem.parentNode;old=null;for(;cur;cur=cur.parentNode){eventPath.push([cur,bubbleType]);old=cur}if(old&&old===elem.ownerDocument){eventPath.push([old.defaultView||old.parentWindow||window,bubbleType])}}for(i=0;i<eventPath.length&&!event.isPropagationStopped();i++){cur=eventPath[i][0];event.type=eventPath[i][1];handle=(jQuery._data(cur,"events")||{})[event.type]&&jQuery._data(cur,"handle");if(handle){handle.apply(cur,data)}handle=ontype&&cur[ontype];if(handle&&jQuery.acceptData(cur)&&handle.apply(cur,data)===false){event.preventDefault()}}event.type=type;if(!onlyHandlers&&!event.isDefaultPrevented()){if((!special._default||special._default.apply(elem.ownerDocument,data)===false)&&!(type==="click"&&jQuery.nodeName(elem,"a"))&&jQuery.acceptData(elem)){if(ontype&&elem[type]&&(type!=="focus"&&type!=="blur"||event.target.offsetWidth!==0)&&!jQuery.isWindow(elem)){old=elem[ontype];if(old){elem[ontype]=null}jQuery.event.triggered=type;elem[type]();jQuery.event.triggered=undefined;if(old){elem[ontype]=old}}}}return event.result},dispatch:function(event){event=jQuery.event.fix(event||window.event);var handlers=(jQuery._data(this,"events")||{})[event.type]||[],delegateCount=handlers.delegateCount,args=[].slice.call(arguments,0),run_all=!event.exclusive&&!event.namespace,special=jQuery.event.special[event.type]||{},handlerQueue=[],i,j,cur,jqcur,ret,selMatch,matched,matches,handleObj,sel,related;args[0]=event;event.delegateTarget=this;if(special.preDispatch&&special.preDispatch.call(this,event)===false){return}if(delegateCount&&!(event.button&&event.type==="click")){jqcur=jQuery(this);jqcur.context=this.ownerDocument||this;for(cur=event.target;cur!=this;cur=cur.parentNode||this){if(cur.disabled!==true){selMatch={};matches=[];jqcur[0]=cur;for(i=0;i<delegateCount;i++){handleObj=handlers[i];sel=handleObj.selector;if(selMatch[sel]===undefined){selMatch[sel]=handleObj.quick?quickIs(cur,handleObj.quick):jqcur.is(sel)}if(selMatch[sel]){matches.push(handleObj)}}if(matches.length){handlerQueue.push({elem:cur,matches:matches})}}}}if(handlers.length>delegateCount){handlerQueue.push({elem:this,matches:handlers.slice(delegateCount)})}for(i=0;i<handlerQueue.length&&!event.isPropagationStopped();i++){matched=handlerQueue[i];event.currentTarget=matched.elem;for(j=0;j<matched.matches.length&&!event.isImmediatePropagationStopped();j++){handleObj=matched.matches[j];if(run_all||!event.namespace&&!handleObj.namespace||event.namespace_re&&event.namespace_re.test(handleObj.namespace)){event.data=handleObj.data;event.handleObj=handleObj;ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation()}}}}}if(special.postDispatch){special.postDispatch.call(this,event)}return event.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(event,original){if(event.which==null){event.which=original.charCode!=null?original.charCode:original.keyCode}return event}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(event,original){var eventDoc,doc,body,button=original.button,fromElement=original.fromElement;if(event.pageX==null&&original.clientX!=null){eventDoc=event.target.ownerDocument||document;doc=eventDoc.documentElement;body=eventDoc.body;event.pageX=original.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=original.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)}if(!event.relatedTarget&&fromElement){event.relatedTarget=fromElement===event.target?original.toElement:fromElement}if(!event.which&&button!==undefined){event.which=button&1?1:button&2?3:button&4?2:0}return event}},fix:function(event){if(event[jQuery.expando]){return event}var i,prop,originalEvent=event,fixHook=jQuery.event.fixHooks[event.type]||{},copy=fixHook.props?this.props.concat(fixHook.props):this.props;event=jQuery.Event(originalEvent);for(i=copy.length;i;){prop=copy[--i];event[prop]=originalEvent[prop]}if(!event.target){event.target=originalEvent.srcElement||document}if(event.target.nodeType===3){event.target=event.target.parentNode}if(event.metaKey===undefined){event.metaKey=event.ctrlKey}return fixHook.filter?fixHook.filter(event,originalEvent):event},special:{ready:{setup:jQuery.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(data,namespaces,eventHandle){if(jQuery.isWindow(this)){this.onbeforeunload=eventHandle}},teardown:function(namespaces,eventHandle){if(this.onbeforeunload===eventHandle){this.onbeforeunload=null}}}},simulate:function(type,elem,event,bubble){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:true,originalEvent:{}});if(bubble){jQuery.event.trigger(e,null,elem)}else{jQuery.event.dispatch.call(elem,e)}if(e.isDefaultPrevented()){event.preventDefault()}}};jQuery.event.handle=jQuery.event.dispatch;jQuery.removeEvent=document.removeEventListener?function(elem,type,handle){if(elem.removeEventListener){elem.removeEventListener(type,handle,false)}}:function(elem,type,handle){if(elem.detachEvent){elem.detachEvent("on"+type,handle)}};jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event)){return new jQuery.Event(src,props)}if(src&&src.type){this.originalEvent=src;this.type=src.type;this.isDefaultPrevented=src.defaultPrevented||src.returnValue===false||src.getPreventDefault&&src.getPreventDefault()?returnTrue:returnFalse}else{this.type=src}if(props){jQuery.extend(this,props)}this.timeStamp=src&&src.timeStamp||jQuery.now();this[jQuery.expando]=true};function returnFalse(){return false}function returnTrue(){return true}jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e){return}if(e.preventDefault){e.preventDefault()}else{e.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e){return}if(e.stopPropagation){e.stopPropagation()}e.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation()},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var target=this,related=event.relatedTarget,handleObj=event.handleObj,selector=handleObj.selector,ret;if(!related||related!==target&&!jQuery.contains(target,related)){event.type=handleObj.origType;ret=handleObj.handler.apply(this,arguments);event.type=fix}return ret}}});if(!jQuery.support.submitBubbles){jQuery.event.special.submit={setup:function(){if(jQuery.nodeName(this,"form")){return false}jQuery.event.add(this,"click._submit keypress._submit",function(e){var elem=e.target,form=jQuery.nodeName(elem,"input")||jQuery.nodeName(elem,"button")?elem.form:undefined;if(form&&!form._submit_attached){jQuery.event.add(form,"submit._submit",function(event){event._submit_bubble=true});form._submit_attached=true}})},postDispatch:function(event){if(event._submit_bubble){delete event._submit_bubble;if(this.parentNode&&!event.isTrigger){jQuery.event.simulate("submit",this.parentNode,event,true)}}},teardown:function(){if(jQuery.nodeName(this,"form")){return false}jQuery.event.remove(this,"._submit")}}}if(!jQuery.support.changeBubbles){jQuery.event.special.change={setup:function(){if(rformElems.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){jQuery.event.add(this,"propertychange._change",function(event){if(event.originalEvent.propertyName==="checked"){this._just_changed=true}});jQuery.event.add(this,"click._change",function(event){if(this._just_changed&&!event.isTrigger){this._just_changed=false;jQuery.event.simulate("change",this,event,true)}})}return false}jQuery.event.add(this,"beforeactivate._change",function(e){var elem=e.target;if(rformElems.test(elem.nodeName)&&!elem._change_attached){jQuery.event.add(elem,"change._change",function(event){if(this.parentNode&&!event.isSimulated&&!event.isTrigger){jQuery.event.simulate("change",this.parentNode,event,true)}});elem._change_attached=true}})},handle:function(event){var elem=event.target;if(this!==elem||event.isSimulated||event.isTrigger||elem.type!=="radio"&&elem.type!=="checkbox"){return event.handleObj.handler.apply(this,arguments)}},teardown:function(){jQuery.event.remove(this,"._change");return rformElems.test(this.nodeName)}}}if(!jQuery.support.focusinBubbles){jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var attaches=0,handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event),true)};jQuery.event.special[fix]={setup:function(){if(attaches++===0){document.addEventListener(orig,handler,true)}},teardown:function(){if(--attaches===0){document.removeEventListener(orig,handler,true)}}}})}jQuery.fn.extend({on:function(types,selector,data,fn,one){var origFn,type;if(typeof types==="object"){if(typeof selector!=="string"){data=data||selector;selector=undefined}for(type in types){this.on(type,selector,data,types[type],one)}return this}if(data==null&&fn==null){fn=selector;data=selector=undefined}else if(fn==null){if(typeof selector==="string"){fn=data;data=undefined}else{fn=data;data=selector;selector=undefined}}if(fn===false){fn=returnFalse}else if(!fn){return this}if(one===1){origFn=fn;fn=function(event){jQuery().off(event);return origFn.apply(this,arguments)};fn.guid=origFn.guid||(origFn.guid=jQuery.guid++)}return this.each(function(){jQuery.event.add(this,types,fn,data,selector)})},one:function(types,selector,data,fn){return this.on(types,selector,data,fn,1)},off:function(types,selector,fn){if(types&&types.preventDefault&&types.handleObj){var handleObj=types.handleObj;jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler);return this}if(typeof types==="object"){for(var type in types){this.off(type,selector,types[type])}return this}if(selector===false||typeof selector==="function"){fn=selector;selector=undefined}if(fn===false){fn=returnFalse}return this.each(function(){jQuery.event.remove(this,types,fn,selector)})},bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},live:function(types,data,fn){jQuery(this.context).on(types,this.selector,data,fn);return this},die:function(types,fn){jQuery(this.context).off(types,this.selector||"**",fn);return this},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return arguments.length==1?this.off(selector,"**"):this.off(types,selector,fn)},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){if(this[0]){return jQuery.event.trigger(type,data,this[0],true)}},toggle:function(fn){var args=arguments,guid=fn.guid||jQuery.guid++,i=0,toggler=function(event){var lastToggle=(jQuery._data(this,"lastToggle"+fn.guid)||0)%i;jQuery._data(this,"lastToggle"+fn.guid,lastToggle+1);event.preventDefault();return args[lastToggle].apply(this,arguments)||false};toggler.guid=guid;while(i<args.length){args[i++].guid=guid}return this.click(toggler)},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)}});jQuery.each(("blur focus focusin focusout load resize scroll unload click dblclick "+"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+"change select submit keydown keypress keyup error contextmenu").split(" "),function(i,name){jQuery.fn[name]=function(data,fn){if(fn==null){fn=data;data=null}return arguments.length>0?this.on(name,null,data,fn):this.trigger(name)};if(jQuery.attrFn){jQuery.attrFn[name]=true}if(rkeyEvent.test(name)){jQuery.event.fixHooks[name]=jQuery.event.keyHooks}if(rmouseEvent.test(name)){jQuery.event.fixHooks[name]=jQuery.event.mouseHooks}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,expando="sizcache"+(Math.random()+"").replace(".",""),done=0,toString=Object.prototype.toString,hasDuplicate=false,baseHasDuplicate=true,rBackslash=/\\/g,rReturn=/\r\n/g,rNonWord=/\W/;[0,0].sort(function(){baseHasDuplicate=false;return 0});var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;var origContext=context;if(context.nodeType!==1&&context.nodeType!==9){return[]}if(!selector||typeof selector!=="string"){return results}var m,set,checkSet,extra,ret,cur,pop,i,prune=true,contextXML=Sizzle.isXML(context),parts=[],soFar=selector;do{chunker.exec("");m=chunker.exec(soFar);if(m){soFar=m[3];parts.push(m[1]);if(m[2]){extra=m[3];break}}}while(m);if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context,seed)}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector]){selector+=parts.shift()}set=posProcess(selector,set,seed)}}}else{if(!seed&&parts.length>1&&context.nodeType===9&&!contextXML&&Expr.match.ID.test(parts[0])&&!Expr.match.ID.test(parts[parts.length-1])){ret=Sizzle.find(parts.shift(),context,contextXML);context=ret.expr?Sizzle.filter(ret.expr,ret.set)[0]:ret.set[0]}if(context){ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&(parts[0]==="~"||parts[0]==="+")&&context.parentNode?context.parentNode:context,contextXML);set=ret.expr?Sizzle.filter(ret.expr,ret.set):ret.set;if(parts.length>0){checkSet=makeArray(set)}else{prune=false}while(parts.length){cur=parts.pop();pop=cur;if(!Expr.relative[cur]){cur=""}else{pop=parts.pop()}if(pop==null){pop=context}Expr.relative[cur](checkSet,pop,contextXML)}}else{checkSet=parts=[]}}if(!checkSet){checkSet=set}if(!checkSet){Sizzle.error(cur||selector)}if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet)}else if(context&&context.nodeType===1){for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&Sizzle.contains(context,checkSet[i]))){results.push(set[i])}}}else{for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i])}}}}else{makeArray(checkSet,results)}if(extra){Sizzle(extra,origContext,results,seed);Sizzle.uniqueSort(results)}return results};Sizzle.uniqueSort=function(results){if(sortOrder){hasDuplicate=baseHasDuplicate;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1)}}}}return results};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set)};Sizzle.matchesSelector=function(node,expr){return Sizzle(expr,null,null,[node]).length>0};Sizzle.find=function(expr,context,isXML){var set,i,len,match,type,left;if(!expr){return[]}for(i=0,len=Expr.order.length;i<len;i++){type=Expr.order[i];if(match=Expr.leftMatch[type].exec(expr)){left=match[1];match.splice(1,1);if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(rBackslash,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break}}}}if(!set){set=typeof context.getElementsByTagName!=="undefined"?context.getElementsByTagName("*"):[]}return{set:set,expr:expr}};Sizzle.filter=function(expr,set,inplace,not){var match,anyFound,type,found,item,filter,left,i,pass,old=expr,result=[],curLoop=set,isXMLFilter=set&&set[0]&&Sizzle.isXML(set[0]);while(expr&&set.length){for(type in Expr.filter){if((match=Expr.leftMatch[type].exec(expr))!=null&&match[2]){filter=Expr.filter[type];left=match[1];anyFound=false;match.splice(1,1);if(left.substr(left.length-1)==="\\"){continue}if(curLoop===result){result=[]}if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true}else if(match===true){continue}}if(match){for(i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);pass=not^found;if(inplace&&found!=null){if(pass){anyFound=true}else{curLoop[i]=false}}else if(pass){result.push(item);anyFound=true}}}}if(found!==undefined){if(!inplace){curLoop=result}expr=expr.replace(Expr.match[type],"");if(!anyFound){return[]}break}}}if(expr===old){if(anyFound==null){Sizzle.error(expr)}else{break}}old=expr}return curLoop};Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg)};var getText=Sizzle.getText=function(elem){var i,node,nodeType=elem.nodeType,ret="";if(nodeType){if(nodeType===1||nodeType===9||nodeType===11){if(typeof elem.textContent==="string"){return elem.textContent}else if(typeof elem.innerText==="string"){return elem.innerText.replace(rReturn,"")}else{for(elem=elem.firstChild;elem;elem=elem.nextSibling){ret+=getText(elem)}}}else if(nodeType===3||nodeType===4){return elem.nodeValue}}else{for(i=0;node=elem[i];i++){if(node.nodeType!==8){ret+=getText(node)}}}return ret};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href")},type:function(elem){return elem.getAttribute("type")}},relative:{"+":function(checkSet,part){var isPartStr=typeof part==="string",isTag=isPartStr&&!rNonWord.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag){part=part.toLowerCase()}for(var i=0,l=checkSet.length,elem;i<l;i++){if(elem=checkSet[i]){while((elem=elem.previousSibling)&&elem.nodeType!==1){}checkSet[i]=isPartStrNotTag||elem&&elem.nodeName.toLowerCase()===part?elem||false:elem===part

- }}if(isPartStrNotTag){Sizzle.filter(part,checkSet,true)}},">":function(checkSet,part){var elem,isPartStr=typeof part==="string",i=0,l=checkSet.length;if(isPartStr&&!rNonWord.test(part)){part=part.toLowerCase();for(;i<l;i++){elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName.toLowerCase()===part?parent:false}}}else{for(;i<l;i++){elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part}}if(isPartStr){Sizzle.filter(part,checkSet,true)}}},"":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!rNonWord.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck}checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML)},"~":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!rNonWord.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck}checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML)}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m&&m.parentNode?[m]:[]}},NAME:function(match,context){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i])}}return ret.length===0?null:ret}},TAG:function(match,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(match[1])}}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(rBackslash,"")+" ";if(isXML){return match}for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").replace(/[\t\n\r]/g," ").indexOf(match)>=0)){if(!inplace){result.push(elem)}}else if(inplace){curLoop[i]=false}}}return false},ID:function(match){return match[1].replace(rBackslash,"")},TAG:function(match,curLoop){return match[1].replace(rBackslash,"").toLowerCase()},CHILD:function(match){if(match[1]==="nth"){if(!match[2]){Sizzle.error(match[0])}match[2]=match[2].replace(/^\+|\s*/g,"");var test=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(match[2]==="even"&&"2n"||match[2]==="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=test[1]+(test[2]||1)-0;match[3]=test[3]-0}else if(match[2]){Sizzle.error(match[0])}match[0]=done++;return match},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1]=match[1].replace(rBackslash,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name]}match[4]=(match[4]||match[5]||"").replace(rBackslash,"");if(match[2]==="~="){match[4]=" "+match[4]+" "}return match},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if((chunker.exec(match[3])||"").length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop)}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret)}return false}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true}return match},POS:function(match){match.unshift(true);return match}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden"},disabled:function(elem){return elem.disabled===true},checked:function(elem){return elem.checked===true},selected:function(elem){if(elem.parentNode){elem.parentNode.selectedIndex}return elem.selected===true},parent:function(elem){return!!elem.firstChild},empty:function(elem){return!elem.firstChild},has:function(elem,i,match){return!!Sizzle(match[3],elem).length},header:function(elem){return/h\d/i.test(elem.nodeName)},text:function(elem){var attr=elem.getAttribute("type"),type=elem.type;return elem.nodeName.toLowerCase()==="input"&&"text"===type&&(attr===type||attr===null)},radio:function(elem){return elem.nodeName.toLowerCase()==="input"&&"radio"===elem.type},checkbox:function(elem){return elem.nodeName.toLowerCase()==="input"&&"checkbox"===elem.type},file:function(elem){return elem.nodeName.toLowerCase()==="input"&&"file"===elem.type},password:function(elem){return elem.nodeName.toLowerCase()==="input"&&"password"===elem.type},submit:function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&"submit"===elem.type},image:function(elem){return elem.nodeName.toLowerCase()==="input"&&"image"===elem.type},reset:function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&"reset"===elem.type},button:function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&"button"===elem.type||name==="button"},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName)},focus:function(elem){return elem===elem.ownerDocument.activeElement}},setFilters:{first:function(elem,i){return i===0},last:function(elem,i,match,array){return i===array.length-1},even:function(elem,i){return i%2===0},odd:function(elem,i){return i%2===1},lt:function(elem,i,match){return i<match[3]-0},gt:function(elem,i,match){return i>match[3]-0},nth:function(elem,i,match){return match[3]-0===i},eq:function(elem,i,match){return match[3]-0===i}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array)}else if(name==="contains"){return(elem.textContent||elem.innerText||getText([elem])||"").indexOf(match[3])>=0}else if(name==="not"){var not=match[3];for(var j=0,l=not.length;j<l;j++){if(not[j]===elem){return false}}return true}else{Sizzle.error(name)}},CHILD:function(elem,match){var first,last,doneName,parent,cache,count,diff,type=match[1],node=elem;switch(type){case"only":case"first":while(node=node.previousSibling){if(node.nodeType===1){return false}}if(type==="first"){return true}node=elem;case"last":while(node=node.nextSibling){if(node.nodeType===1){return false}}return true;case"nth":first=match[2];last=match[3];if(first===1&&last===0){return true}doneName=match[0];parent=elem.parentNode;if(parent&&(parent[expando]!==doneName||!elem.nodeIndex)){count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count}}parent[expando]=doneName}diff=elem.nodeIndex-last;if(first===0){return diff===0}else{return diff%first===0&&diff/first>=0}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match},TAG:function(elem,match){return match==="*"&&elem.nodeType===1||!!elem.nodeName&&elem.nodeName.toLowerCase()===match},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1},ATTR:function(elem,match){var name=match[1],result=Sizzle.attr?Sizzle.attr(elem,name):Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":!type&&Sizzle.attr?result!=null:type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!==check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array)}}}};var origPOS=Expr.match.POS,fescape=function(all,num){return"\\"+(num-0+1)};for(var type in Expr.match){Expr.match[type]=new RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);Expr.leftMatch[type]=new RegExp(/(^(?:.|\r|\n)*?)/.source+Expr.match[type].source.replace(/\\(\d+)/g,fescape))}Expr.match.globalPOS=origPOS;var makeArray=function(array,results){array=Array.prototype.slice.call(array,0);if(results){results.push.apply(results,array);return results}return array};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType}catch(e){makeArray=function(array,results){var i=0,ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array)}else{if(typeof array.length==="number"){for(var l=array.length;i<l;i++){ret.push(array[i])}}else{for(;array[i];i++){ret.push(array[i])}}}return ret}}var sortOrder,siblingCheck;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){if(a===b){hasDuplicate=true;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition){return a.compareDocumentPosition?-1:1}return a.compareDocumentPosition(b)&4?-1:1}}else{sortOrder=function(a,b){if(a===b){hasDuplicate=true;return 0}else if(a.sourceIndex&&b.sourceIndex){return a.sourceIndex-b.sourceIndex}var al,bl,ap=[],bp=[],aup=a.parentNode,bup=b.parentNode,cur=aup;if(aup===bup){return siblingCheck(a,b)}else if(!aup){return-1}else if(!bup){return 1}while(cur){ap.unshift(cur);cur=cur.parentNode}cur=bup;while(cur){bp.unshift(cur);cur=cur.parentNode}al=ap.length;bl=bp.length;for(var i=0;i<al&&i<bl;i++){if(ap[i]!==bp[i]){return siblingCheck(ap[i],bp[i])}}return i===al?siblingCheck(a,bp[i],-1):siblingCheck(ap[i],b,1)};siblingCheck=function(a,b,ret){if(a===b){return ret}var cur=a.nextSibling;while(cur){if(cur===b){return-1}cur=cur.nextSibling}return 1}}(function(){var form=document.createElement("div"),id="script"+(new Date).getTime(),root=document.documentElement;form.innerHTML="<a name='"+id+"'/>";root.insertBefore(form,root.firstChild);if(document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[]}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match}}root.removeChild(form);root=form=null})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i])}}results=tmp}return results}}div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2)}}div=null})();if(document.querySelectorAll){(function(){var oldSizzle=Sizzle,div=document.createElement("div"),id="__sizzle__";div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return}Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&!Sizzle.isXML(context)){var match=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(query);if(match&&(context.nodeType===1||context.nodeType===9)){if(match[1]){return makeArray(context.getElementsByTagName(query),extra)}else if(match[2]&&Expr.find.CLASS&&context.getElementsByClassName){return makeArray(context.getElementsByClassName(match[2]),extra)}}if(context.nodeType===9){if(query==="body"&&context.body){return makeArray([context.body],extra)}else if(match&&match[3]){var elem=context.getElementById(match[3]);if(elem&&elem.parentNode){if(elem.id===match[3]){return makeArray([elem],extra)}}else{return makeArray([],extra)}}try{return makeArray(context.querySelectorAll(query),extra)}catch(qsaError){}}else if(context.nodeType===1&&context.nodeName.toLowerCase()!=="object"){var oldContext=context,old=context.getAttribute("id"),nid=old||id,hasParent=context.parentNode,relativeHierarchySelector=/^\s*[+~]/.test(query);if(!old){context.setAttribute("id",nid)}else{nid=nid.replace(/'/g,"\\$&")}if(relativeHierarchySelector&&hasParent){context=context.parentNode}try{if(!relativeHierarchySelector||hasParent){return makeArray(context.querySelectorAll("[id='"+nid+"'] "+query),extra)}}catch(pseudoError){}finally{if(!old){oldContext.removeAttribute("id")}}}}return oldSizzle(query,context,extra,seed)};for(var prop in oldSizzle){Sizzle[prop]=oldSizzle[prop]}div=null})()}(function(){var html=document.documentElement,matches=html.matchesSelector||html.mozMatchesSelector||html.webkitMatchesSelector||html.msMatchesSelector;if(matches){var disconnectedMatch=!matches.call(document.createElement("div"),"div"),pseudoWorks=false;try{matches.call(document.documentElement,"[test!='']:sizzle")}catch(pseudoError){pseudoWorks=true}Sizzle.matchesSelector=function(node,expr){expr=expr.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!Sizzle.isXML(node)){try{if(pseudoWorks||!Expr.match.PSEUDO.test(expr)&&!/!=/.test(expr)){var ret=matches.call(node,expr);if(ret||!disconnectedMatch||node.document&&node.document.nodeType!==11){return ret}}}catch(e){}}return Sizzle(expr,null,null,[node]).length>0}}})();(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(!div.getElementsByClassName||div.getElementsByClassName("e").length===0){return}div.lastChild.className="e";if(div.getElementsByClassName("e").length===1){return}Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1])}};div=null})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem[expando]===doneName){match=checkSet[elem.sizset];break}if(elem.nodeType===1&&!isXML){elem[expando]=doneName;elem.sizset=i}if(elem.nodeName.toLowerCase()===cur){match=elem;break}elem=elem[dir]}checkSet[i]=match}}}function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem[expando]===doneName){match=checkSet[elem.sizset];break}if(elem.nodeType===1){if(!isXML){elem[expando]=doneName;elem.sizset=i}if(typeof cur!=="string"){if(elem===cur){match=true;break}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break}}elem=elem[dir]}checkSet[i]=match}}}if(document.documentElement.contains){Sizzle.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):true)}}else if(document.documentElement.compareDocumentPosition){Sizzle.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}}else{Sizzle.contains=function(){return false}}Sizzle.isXML=function(elem){var documentElement=(elem?elem.ownerDocument||elem:0).documentElement;return documentElement?documentElement.nodeName!=="HTML":false};var posProcess=function(selector,context,seed){var match,tmpSet=[],later="",root=context.nodeType?[context]:context;while(match=Expr.match.PSEUDO.exec(selector)){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"")}selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet,seed)}return Sizzle.filter(later,tmpSet)};Sizzle.attr=jQuery.attr;Sizzle.selectors.attrMap={};jQuery.find=Sizzle;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;jQuery.unique=Sizzle.uniqueSort;jQuery.text=Sizzle.getText;jQuery.isXMLDoc=Sizzle.isXML;jQuery.contains=Sizzle.contains})();var runtil=/Until$/,rparentsprev=/^(?:parents|prevUntil|prevAll)/,rmultiselector=/,/,isSimple=/^.[^:#\[\.,]*$/,slice=Array.prototype.slice,POS=jQuery.expr.match.globalPOS,guaranteedUnique={children:true,contents:true,next:true,prev:true};jQuery.fn.extend({find:function(selector){var self=this,i,l;if(typeof selector!=="string"){return jQuery(selector).filter(function(){for(i=0,l=self.length;i<l;i++){if(jQuery.contains(self[i],this)){return true}}})}var ret=this.pushStack("","find",selector),length,n,r;for(i=0,l=this.length;i<l;i++){length=ret.length;jQuery.find(selector,this[i],ret);if(i>0){for(n=length;n<ret.length;n++){for(r=0;r<length;r++){if(ret[r]===ret[n]){ret.splice(n--,1);break}}}}}return ret},has:function(target){var targets=jQuery(target);return this.filter(function(){for(var i=0,l=targets.length;i<l;i++){if(jQuery.contains(this,targets[i])){return true}}})},not:function(selector){return this.pushStack(winnow(this,selector,false),"not",selector)},filter:function(selector){return this.pushStack(winnow(this,selector,true),"filter",selector)},is:function(selector){return!!selector&&(typeof selector==="string"?POS.test(selector)?jQuery(selector,this.context).index(this[0])>=0:jQuery.filter(selector,this).length>0:this.filter(selector).length>0)},closest:function(selectors,context){var ret=[],i,l,cur=this[0];if(jQuery.isArray(selectors)){var level=1;while(cur&&cur.ownerDocument&&cur!==context){for(i=0;i<selectors.length;i++){if(jQuery(cur).is(selectors[i])){ret.push({selector:selectors[i],elem:cur,level:level})}}cur=cur.parentNode;level++}return ret}var pos=POS.test(selectors)||typeof selectors!=="string"?jQuery(selectors,context||this.context):0;for(i=0,l=this.length;i<l;i++){cur=this[i];while(cur){if(pos?pos.index(cur)>-1:jQuery.find.matchesSelector(cur,selectors)){ret.push(cur);break}else{cur=cur.parentNode;if(!cur||!cur.ownerDocument||cur===context||cur.nodeType===11){break}}}}ret=ret.length>1?jQuery.unique(ret):ret;return this.pushStack(ret,"closest",selectors)},index:function(elem){if(!elem){return this[0]&&this[0].parentNode?this.prevAll().length:-1}if(typeof elem==="string"){return jQuery.inArray(this[0],jQuery(elem))}return jQuery.inArray(elem.jquery?elem[0]:elem,this)},add:function(selector,context){var set=typeof selector==="string"?jQuery(selector,context):jQuery.makeArray(selector&&selector.nodeType?[selector]:selector),all=jQuery.merge(this.get(),set);return this.pushStack(isDisconnected(set[0])||isDisconnected(all[0])?all:jQuery.unique(all))},andSelf:function(){return this.add(this.prevObject)}});function isDisconnected(node){return!node||!node.parentNode||node.parentNode.nodeType===11}jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null},parents:function(elem){return jQuery.dir(elem,"parentNode")},parentsUntil:function(elem,i,until){return jQuery.dir(elem,"parentNode",until)},next:function(elem){return jQuery.nth(elem,2,"nextSibling")},prev:function(elem){return jQuery.nth(elem,2,"previousSibling")},nextAll:function(elem){return jQuery.dir(elem,"nextSibling")},prevAll:function(elem){return jQuery.dir(elem,"previousSibling")},nextUntil:function(elem,i,until){return jQuery.dir(elem,"nextSibling",until)},prevUntil:function(elem,i,until){return jQuery.dir(elem,"previousSibling",until)},siblings:function(elem){return jQuery.sibling((elem.parentNode||{}).firstChild,elem)},children:function(elem){return jQuery.sibling(elem.firstChild)},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes)}},function(name,fn){jQuery.fn[name]=function(until,selector){var ret=jQuery.map(this,fn,until);if(!runtil.test(name)){selector=until}if(selector&&typeof selector==="string"){ret=jQuery.filter(selector,ret)}ret=this.length>1&&!guaranteedUnique[name]?jQuery.unique(ret):ret;if((this.length>1||rmultiselector.test(selector))&&rparentsprev.test(name)){ret=ret.reverse()}return this.pushStack(ret,name,slice.call(arguments).join(","))}});jQuery.extend({filter:function(expr,elems,not){if(not){expr=":not("+expr+")"}return elems.length===1?jQuery.find.matchesSelector(elems[0],expr)?[elems[0]]:[]:jQuery.find.matches(expr,elems)},dir:function(elem,dir,until){var matched=[],cur=elem[dir];while(cur&&cur.nodeType!==9&&(until===undefined||cur.nodeType!==1||!jQuery(cur).is(until))){if(cur.nodeType===1){matched.push(cur)}cur=cur[dir]}return matched},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir]){if(cur.nodeType===1&&++num===result){break}}return cur},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){r.push(n)}}return r}});function winnow(elements,qualifier,keep){qualifier=qualifier||0;if(jQuery.isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){var retVal=!!qualifier.call(elem,i,elem);return retVal===keep})}else if(qualifier.nodeType){return jQuery.grep(elements,function(elem,i){return elem===qualifier===keep})}else if(typeof qualifier==="string"){var filtered=jQuery.grep(elements,function(elem){return elem.nodeType===1});if(isSimple.test(qualifier)){return jQuery.filter(qualifier,filtered,!keep)}else{qualifier=jQuery.filter(qualifier,filtered)}}return jQuery.grep(elements,function(elem,i){return jQuery.inArray(elem,qualifier)>=0===keep})}function createSafeFragment(document){var list=nodeNames.split("|"),safeFrag=document.createDocumentFragment();if(safeFrag.createElement){while(list.length){safeFrag.createElement(list.pop())}}return safeFrag}var nodeNames="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|"+"header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",rinlinejQuery=/ jQuery\d+="(?:\d+|null)"/g,rleadingWhitespace=/^\s+/,rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,rtagName=/<([\w:]+)/,rtbody=/<tbody/i,rhtml=/<|&#?\w+;/,rnoInnerhtml=/<(?:script|style)/i,rnocache=/<(?:script|object|embed|option|style)/i,rnoshimcache=new RegExp("<(?:"+nodeNames+")[\\s/>]","i"),rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptType=/\/(java|ecma)script/i,rcleanScript=/^\s*<!(?:\[CDATA\[|\-\-)/,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},safeFragment=createSafeFragment(document);wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td;if(!jQuery.support.htmlSerialize){wrapMap._default=[1,"div<div>","</div>"]}jQuery.fn.extend({text:function(value){return jQuery.access(this,function(value){return value===undefined?jQuery.text(this):this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(value))},null,value,arguments.length)},wrapAll:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapAll(html.call(this,i))})}if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0])}wrap.map(function(){var elem=this;while(elem.firstChild&&elem.firstChild.nodeType===1){elem=elem.firstChild}return elem}).append(this)}return this},wrapInner:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapInner(html.call(this,i))})}return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html)}else{self.append(html)}})},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html)})},unwrap:function(){return this.parent().each(function(){if(!jQuery.nodeName(this,"body")){jQuery(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.appendChild(elem)}})},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.insertBefore(elem,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this)})}else if(arguments.length){var set=jQuery.clean(arguments);set.push.apply(set,this.toArray());return this.pushStack(set,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling)})}else if(arguments.length){var set=this.pushStack(this,"after",arguments);set.push.apply(set,jQuery.clean(arguments));return set}},remove:function(selector,keepData){for(var i=0,elem;(elem=this[i])!=null;i++){if(!selector||jQuery.filter(selector,[elem]).length){if(!keepData&&elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"));jQuery.cleanData([elem])}if(elem.parentNode){elem.parentNode.removeChild(elem)}}}return this},empty:function(){for(var i=0,elem;(elem=this[i])!=null;i++){if(elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"))}while(elem.firstChild){elem.removeChild(elem.firstChild)}}return this},clone:function(dataAndEvents,deepDataAndEvents){dataAndEvents=dataAndEvents==null?false:dataAndEvents;deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;return this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){return jQuery.access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(value===undefined){return elem.nodeType===1?elem.innerHTML.replace(rinlinejQuery,""):null}if(typeof value==="string"&&!rnoInnerhtml.test(value)&&(jQuery.support.leadingWhitespace||!rleadingWhitespace.test(value))&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=value.replace(rxhtmlTag,"<$1></$2>");try{for(;i<l;i++){elem=this[i]||{};if(elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"));elem.innerHTML=value}}elem=0}catch(e){}}if(elem){this.empty().append(value)}},null,value,arguments.length)},replaceWith:function(value){if(this[0]&&this[0].parentNode){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this),old=self.html();self.replaceWith(value.call(this,i,old))})}if(typeof value!=="string"){value=jQuery(value).detach()}return this.each(function(){var next=this.nextSibling,parent=this.parentNode;jQuery(this).remove();if(next){jQuery(next).before(value)}else{jQuery(parent).append(value)}})}else{return this.length?this.pushStack(jQuery(jQuery.isFunction(value)?value():value),"replaceWith",value):this}},detach:function(selector){return this.remove(selector,true)},domManip:function(args,table,callback){var results,first,fragment,parent,value=args[0],scripts=[];if(!jQuery.support.checkClone&&arguments.length===3&&typeof value==="string"&&rchecked.test(value)){return this.each(function(){jQuery(this).domManip(args,table,callback,true)})}if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);args[0]=value.call(this,i,table?self.html():undefined);self.domManip(args,table,callback)})}if(this[0]){parent=value&&value.parentNode;if(jQuery.support.parentNode&&parent&&parent.nodeType===11&&parent.childNodes.length===this.length){results={fragment:parent}}else{results=jQuery.buildFragment(args,this,scripts)}fragment=results.fragment;if(fragment.childNodes.length===1){first=fragment=fragment.firstChild}else{first=fragment.firstChild}if(first){table=table&&jQuery.nodeName(first,"tr");for(var i=0,l=this.length,lastIndex=l-1;i<l;i++){callback.call(table?root(this[i],first):this[i],results.cacheable||l>1&&i<lastIndex?jQuery.clone(fragment,true,true):fragment)}}if(scripts.length){jQuery.each(scripts,function(i,elem){if(elem.src){jQuery.ajax({type:"GET",global:false,url:elem.src,async:false,dataType:"script"})}else{jQuery.globalEval((elem.text||elem.textContent||elem.innerHTML||"").replace(rcleanScript,"/*$0*/"))}if(elem.parentNode){elem.parentNode.removeChild(elem)}})}}return this}});function root(elem,cur){return jQuery.nodeName(elem,"table")?elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody")):elem}function cloneCopyEvent(src,dest){if(dest.nodeType!==1||!jQuery.hasData(src)){return}var type,i,l,oldData=jQuery._data(src),curData=jQuery._data(dest,oldData),events=oldData.events;if(events){delete curData.handle;curData.events={};for(type in events){for(i=0,l=events[type].length;i<l;i++){jQuery.event.add(dest,type,events[type][i])}}}if(curData.data){curData.data=jQuery.extend({},curData.data)}}function cloneFixAttributes(src,dest){var nodeName;if(dest.nodeType!==1){return}if(dest.clearAttributes){dest.clearAttributes()}if(dest.mergeAttributes){dest.mergeAttributes(src)}nodeName=dest.nodeName.toLowerCase();if(nodeName==="object"){dest.outerHTML=src.outerHTML}else if(nodeName==="input"&&(src.type==="checkbox"||src.type==="radio")){if(src.checked){dest.defaultChecked=dest.checked=src.checked}if(dest.value!==src.value){dest.value=src.value}}else if(nodeName==="option"){dest.selected=src.defaultSelected}else if(nodeName==="input"||nodeName==="textarea"){dest.defaultValue=src.defaultValue}else if(nodeName==="script"&&dest.text!==src.text){dest.text=src.text}dest.removeAttribute(jQuery.expando);dest.removeAttribute("_submit_attached");dest.removeAttribute("_change_attached")}jQuery.buildFragment=function(args,nodes,scripts){var fragment,cacheable,cacheresults,doc,first=args[0];if(nodes&&nodes[0]){doc=nodes[0].ownerDocument||nodes[0]}if(!doc.createDocumentFragment){doc=document}if(args.length===1&&typeof first==="string"&&first.length<512&&doc===document&&first.charAt(0)==="<"&&!rnocache.test(first)&&(jQuery.support.checkClone||!rchecked.test(first))&&(jQuery.support.html5Clone||!rnoshimcache.test(first))){cacheable=true;cacheresults=jQuery.fragments[first];if(cacheresults&&cacheresults!==1){fragment=cacheresults}}if(!fragment){fragment=doc.createDocumentFragment();jQuery.clean(args,doc,fragment,scripts)}if(cacheable){jQuery.fragments[first]=cacheresults?fragment:1}return{fragment:fragment,cacheable:cacheable}};jQuery.fragments={};jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector),parent=this.length===1&&this[0].parentNode;if(parent&&parent.nodeType===11&&parent.childNodes.length===1&&insert.length===1){insert[original](this[0]);return this}else{for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery(insert[i])[original](elems);ret=ret.concat(elems)}return this.pushStack(ret,name,insert.selector)}}});function getAll(elem){if(typeof elem.getElementsByTagName!=="undefined"){return elem.getElementsByTagName("*")}else if(typeof elem.querySelectorAll!=="undefined"){return elem.querySelectorAll("*")}else{return[]}}function fixDefaultChecked(elem){if(elem.type==="checkbox"||elem.type==="radio"){elem.defaultChecked=elem.checked}}function findInputs(elem){var nodeName=(elem.nodeName||"").toLowerCase();if(nodeName==="input"){fixDefaultChecked(elem)}else if(nodeName!=="script"&&typeof elem.getElementsByTagName!=="undefined"){jQuery.grep(elem.getElementsByTagName("input"),fixDefaultChecked)}}function shimCloneNode(elem){var div=document.createElement("div");safeFragment.appendChild(div);div.innerHTML=elem.outerHTML;return div.firstChild}jQuery.extend({clone:function(elem,dataAndEvents,deepDataAndEvents){var srcElements,destElements,i,clone=jQuery.support.html5Clone||jQuery.isXMLDoc(elem)||!rnoshimcache.test("<"+elem.nodeName+">")?elem.cloneNode(true):shimCloneNode(elem);if((!jQuery.support.noCloneEvent||!jQuery.support.noCloneChecked)&&(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){cloneFixAttributes(elem,clone);srcElements=getAll(elem);destElements=getAll(clone);for(i=0;srcElements[i];++i){if(destElements[i]){cloneFixAttributes(srcElements[i],destElements[i])}}}if(dataAndEvents){cloneCopyEvent(elem,clone);if(deepDataAndEvents){srcElements=getAll(elem);destElements=getAll(clone);for(i=0;srcElements[i];++i){cloneCopyEvent(srcElements[i],destElements[i])}}}srcElements=destElements=null;return clone},clean:function(elems,context,fragment,scripts){var checkScriptType,script,j,ret=[];context=context||document;if(typeof context.createElement==="undefined"){context=context.ownerDocument||context[0]&&context[0].ownerDocument||document

- }for(var i=0,elem;(elem=elems[i])!=null;i++){if(typeof elem==="number"){elem+=""}if(!elem){continue}if(typeof elem==="string"){if(!rhtml.test(elem)){elem=context.createTextNode(elem)}else{elem=elem.replace(rxhtmlTag,"<$1></$2>");var tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,depth=wrap[0],div=context.createElement("div"),safeChildNodes=safeFragment.childNodes,remove;if(context===document){safeFragment.appendChild(div)}else{createSafeFragment(context).appendChild(div)}div.innerHTML=wrap[1]+elem+wrap[2];while(depth--){div=div.lastChild}if(!jQuery.support.tbody){var hasBody=rtbody.test(elem),tbody=tag==="table"&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]==="<table>"&&!hasBody?div.childNodes:[];for(j=tbody.length-1;j>=0;--j){if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length){tbody[j].parentNode.removeChild(tbody[j])}}}if(!jQuery.support.leadingWhitespace&&rleadingWhitespace.test(elem)){div.insertBefore(context.createTextNode(rleadingWhitespace.exec(elem)[0]),div.firstChild)}elem=div.childNodes;if(div){div.parentNode.removeChild(div);if(safeChildNodes.length>0){remove=safeChildNodes[safeChildNodes.length-1];if(remove&&remove.parentNode){remove.parentNode.removeChild(remove)}}}}}var len;if(!jQuery.support.appendChecked){if(elem[0]&&typeof(len=elem.length)==="number"){for(j=0;j<len;j++){findInputs(elem[j])}}else{findInputs(elem)}}if(elem.nodeType){ret.push(elem)}else{ret=jQuery.merge(ret,elem)}}if(fragment){checkScriptType=function(elem){return!elem.type||rscriptType.test(elem.type)};for(i=0;ret[i];i++){script=ret[i];if(scripts&&jQuery.nodeName(script,"script")&&(!script.type||rscriptType.test(script.type))){scripts.push(script.parentNode?script.parentNode.removeChild(script):script)}else{if(script.nodeType===1){var jsTags=jQuery.grep(script.getElementsByTagName("script"),checkScriptType);ret.splice.apply(ret,[i+1,0].concat(jsTags))}fragment.appendChild(script)}}}return ret},cleanData:function(elems){var data,id,cache=jQuery.cache,special=jQuery.event.special,deleteExpando=jQuery.support.deleteExpando;for(var i=0,elem;(elem=elems[i])!=null;i++){if(elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()]){continue}id=elem[jQuery.expando];if(id){data=cache[id];if(data&&data.events){for(var type in data.events){if(special[type]){jQuery.event.remove(elem,type)}else{jQuery.removeEvent(elem,type,data.handle)}}if(data.handle){data.handle.elem=null}}if(deleteExpando){delete elem[jQuery.expando]}else if(elem.removeAttribute){elem.removeAttribute(jQuery.expando)}delete cache[id]}}}});var ralpha=/alpha\([^)]*\)/i,ropacity=/opacity=([^)]*)/,rupper=/([A-Z]|^ms)/g,rnum=/^[\-+]?(?:\d*\.)?\d+$/i,rnumnonpx=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,rrelNum=/^([\-+])=([\-+.\de]+)/,rmargin=/^margin/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssExpand=["Top","Right","Bottom","Left"],curCSS,getComputedStyle,currentStyle;jQuery.fn.css=function(name,value){return jQuery.access(this,function(elem,name,value){return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)};jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return ret===""?"1":ret}else{return elem.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":jQuery.support.cssFloat?"cssFloat":"styleFloat"},style:function(elem,name,value,extra){if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){return}var ret,type,origName=jQuery.camelCase(name),style=elem.style,hooks=jQuery.cssHooks[origName];name=jQuery.cssProps[origName]||origName;if(value!==undefined){type=typeof value;if(type==="string"&&(ret=rrelNum.exec(value))){value=+(ret[1]+1)*+ret[2]+parseFloat(jQuery.css(elem,name));type="number"}if(value==null||type==="number"&&isNaN(value)){return}if(type==="number"&&!jQuery.cssNumber[origName]){value+="px"}if(!hooks||!("set"in hooks)||(value=hooks.set(elem,value))!==undefined){try{style[name]=value}catch(e){}}}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){return ret}return style[name]}},css:function(elem,name,extra){var ret,hooks;name=jQuery.camelCase(name);hooks=jQuery.cssHooks[name];name=jQuery.cssProps[name]||name;if(name==="cssFloat"){name="float"}if(hooks&&"get"in hooks&&(ret=hooks.get(elem,true,extra))!==undefined){return ret}else if(curCSS){return curCSS(elem,name)}},swap:function(elem,options,callback){var old={},ret,name;for(name in options){old[name]=elem.style[name];elem.style[name]=options[name]}ret=callback.call(elem);for(name in options){elem.style[name]=old[name]}return ret}});jQuery.curCSS=jQuery.css;if(document.defaultView&&document.defaultView.getComputedStyle){getComputedStyle=function(elem,name){var ret,defaultView,computedStyle,width,style=elem.style;name=name.replace(rupper,"-$1").toLowerCase();if((defaultView=elem.ownerDocument.defaultView)&&(computedStyle=defaultView.getComputedStyle(elem,null))){ret=computedStyle.getPropertyValue(name);if(ret===""&&!jQuery.contains(elem.ownerDocument.documentElement,elem)){ret=jQuery.style(elem,name)}}if(!jQuery.support.pixelMargin&&computedStyle&&rmargin.test(name)&&rnumnonpx.test(ret)){width=style.width;style.width=ret;ret=computedStyle.width;style.width=width}return ret}}if(document.documentElement.currentStyle){currentStyle=function(elem,name){var left,rsLeft,uncomputed,ret=elem.currentStyle&&elem.currentStyle[name],style=elem.style;if(ret==null&&style&&(uncomputed=style[name])){ret=uncomputed}if(rnumnonpx.test(ret)){left=style.left;rsLeft=elem.runtimeStyle&&elem.runtimeStyle.left;if(rsLeft){elem.runtimeStyle.left=elem.currentStyle.left}style.left=name==="fontSize"?"1em":ret;ret=style.pixelLeft+"px";style.left=left;if(rsLeft){elem.runtimeStyle.left=rsLeft}}return ret===""?"auto":ret}}curCSS=getComputedStyle||currentStyle;function getWidthOrHeight(elem,name,extra){var val=name==="width"?elem.offsetWidth:elem.offsetHeight,i=name==="width"?1:0,len=4;if(val>0){if(extra!=="border"){for(;i<len;i+=2){if(!extra){val-=parseFloat(jQuery.css(elem,"padding"+cssExpand[i]))||0}if(extra==="margin"){val+=parseFloat(jQuery.css(elem,extra+cssExpand[i]))||0}else{val-=parseFloat(jQuery.css(elem,"border"+cssExpand[i]+"Width"))||0}}}return val+"px"}val=curCSS(elem,name);if(val<0||val==null){val=elem.style[name]}if(rnumnonpx.test(val)){return val}val=parseFloat(val)||0;if(extra){for(;i<len;i+=2){val+=parseFloat(jQuery.css(elem,"padding"+cssExpand[i]))||0;if(extra!=="padding"){val+=parseFloat(jQuery.css(elem,"border"+cssExpand[i]+"Width"))||0}if(extra==="margin"){val+=parseFloat(jQuery.css(elem,extra+cssExpand[i]))||0}}}return val+"px"}jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){if(computed){if(elem.offsetWidth!==0){return getWidthOrHeight(elem,name,extra)}else{return jQuery.swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra)})}}},set:function(elem,value){return rnum.test(value)?value+"px":value}}});if(!jQuery.support.opacity){jQuery.cssHooks.opacity={get:function(elem,computed){return ropacity.test((computed&&elem.currentStyle?elem.currentStyle.filter:elem.style.filter)||"")?parseFloat(RegExp.$1)/100+"":computed?"1":""},set:function(elem,value){var style=elem.style,currentStyle=elem.currentStyle,opacity=jQuery.isNumeric(value)?"alpha(opacity="+value*100+")":"",filter=currentStyle&&currentStyle.filter||style.filter||"";style.zoom=1;if(value>=1&&jQuery.trim(filter.replace(ralpha,""))===""){style.removeAttribute("filter");if(currentStyle&&!currentStyle.filter){return}}style.filter=ralpha.test(filter)?filter.replace(ralpha,opacity):filter+" "+opacity}}}jQuery(function(){if(!jQuery.support.reliableMarginRight){jQuery.cssHooks.marginRight={get:function(elem,computed){return jQuery.swap(elem,{display:"inline-block"},function(){if(computed){return curCSS(elem,"margin-right")}else{return elem.style.marginRight}})}}}});if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.hidden=function(elem){var width=elem.offsetWidth,height=elem.offsetHeight;return width===0&&height===0||!jQuery.support.reliableHiddenOffsets&&(elem.style&&elem.style.display||jQuery.css(elem,"display"))==="none"};jQuery.expr.filters.visible=function(elem){return!jQuery.expr.filters.hidden(elem)}}jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){var i,parts=typeof value==="string"?value.split(" "):[value],expanded={};for(i=0;i<4;i++){expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0]}return expanded}}});var r20=/%20/g,rbracket=/\[\]$/,rCRLF=/\r?\n/g,rhash=/#.*$/,rheaders=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,rinput=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,rlocalProtocol=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,rquery=/\?/,rscript=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,rselectTextarea=/^(?:select|textarea)/i,rspacesAjax=/\s+/,rts=/([?&])_=[^&]*/,rurl=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,_load=jQuery.fn.load,prefilters={},transports={},ajaxLocation,ajaxLocParts,allTypes=["*/"]+["*"];try{ajaxLocation=location.href}catch(e){ajaxLocation=document.createElement("a");ajaxLocation.href="";ajaxLocation=ajaxLocation.href}ajaxLocParts=rurl.exec(ajaxLocation.toLowerCase())||[];function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){if(typeof dataTypeExpression!=="string"){func=dataTypeExpression;dataTypeExpression="*"}if(jQuery.isFunction(func)){var dataTypes=dataTypeExpression.toLowerCase().split(rspacesAjax),i=0,length=dataTypes.length,dataType,list,placeBefore;for(;i<length;i++){dataType=dataTypes[i];placeBefore=/^\+/.test(dataType);if(placeBefore){dataType=dataType.substr(1)||"*"}list=structure[dataType]=structure[dataType]||[];list[placeBefore?"unshift":"push"](func)}}}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR,dataType,inspected){dataType=dataType||options.dataTypes[0];inspected=inspected||{};inspected[dataType]=true;var list=structure[dataType],i=0,length=list?list.length:0,executeOnly=structure===prefilters,selection;for(;i<length&&(executeOnly||!selection);i++){selection=list[i](options,originalOptions,jqXHR);if(typeof selection==="string"){if(!executeOnly||inspected[selection]){selection=undefined}else{options.dataTypes.unshift(selection);selection=inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR,selection,inspected)}}}if((executeOnly||!selection)&&!inspected["*"]){selection=inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR,"*",inspected)}return selection}function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src){if(src[key]!==undefined){(flatOptions[key]?target:deep||(deep={}))[key]=src[key]}}if(deep){jQuery.extend(true,target,deep)}}jQuery.fn.extend({load:function(url,params,callback){if(typeof url!=="string"&&_load){return _load.apply(this,arguments)}else if(!this.length){return this}var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off)}var type="GET";if(params){if(jQuery.isFunction(params)){callback=params;params=undefined}else if(typeof params==="object"){params=jQuery.param(params,jQuery.ajaxSettings.traditional);type="POST"}}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(jqXHR,status,responseText){responseText=jqXHR.responseText;if(jqXHR.isResolved()){jqXHR.done(function(r){responseText=r});self.html(selector?jQuery("<div>").append(responseText.replace(rscript,"")).find(selector):responseText)}if(callback){self.each(callback,[responseText,status,jqXHR])}}});return this},serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||rselectTextarea.test(this.nodeName)||rinput.test(this.type))}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val.replace(rCRLF,"\r\n")}}):{name:elem.name,value:val.replace(rCRLF,"\r\n")}}).get()}});jQuery.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(i,o){jQuery.fn[o]=function(f){return this.on(o,f)}});jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;callback=data;data=undefined}return jQuery.ajax({type:method,url:url,data:data,success:callback,dataType:type})}});jQuery.extend({getScript:function(url,callback){return jQuery.get(url,undefined,callback,"script")},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},ajaxSetup:function(target,settings){if(settings){ajaxExtend(target,jQuery.ajaxSettings)}else{settings=target;target=jQuery.ajaxSettings}ajaxExtend(target,settings);return target},ajaxSettings:{url:ajaxLocation,isLocal:rlocalProtocol.test(ajaxLocParts[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":allTypes},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":window.String,"text html":true,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){if(typeof url==="object"){options=url;url=undefined}options=options||{};var s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=callbackContext!==s&&(callbackContext.nodeType||callbackContext instanceof jQuery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},ifModifiedKey,requestHeaders={},requestHeadersNames={},responseHeadersString,responseHeaders,transport,timeoutTimer,parts,state=0,fireGlobals,i,jqXHR={readyState:0,setRequestHeader:function(name,value){if(!state){var lname=name.toLowerCase();name=requestHeadersNames[lname]=requestHeadersNames[lname]||name;requestHeaders[name]=value}return this},getAllResponseHeaders:function(){return state===2?responseHeadersString:null},getResponseHeader:function(key){var match;if(state===2){if(!responseHeaders){responseHeaders={};while(match=rheaders.exec(responseHeadersString)){responseHeaders[match[1].toLowerCase()]=match[2]}}match=responseHeaders[key.toLowerCase()]}return match===undefined?null:match},overrideMimeType:function(type){if(!state){s.mimeType=type}return this},abort:function(statusText){statusText=statusText||"abort";if(transport){transport.abort(statusText)}done(0,statusText);return this}};function done(status,nativeStatusText,responses,headers){if(state===2){return}state=2;if(timeoutTimer){clearTimeout(timeoutTimer)}transport=undefined;responseHeadersString=headers||"";jqXHR.readyState=status>0?4:0;var isSuccess,success,error,statusText=nativeStatusText,response=responses?ajaxHandleResponses(s,jqXHR,responses):undefined,lastModified,etag;if(status>=200&&status<300||status===304){if(s.ifModified){if(lastModified=jqXHR.getResponseHeader("Last-Modified")){jQuery.lastModified[ifModifiedKey]=lastModified}if(etag=jqXHR.getResponseHeader("Etag")){jQuery.etag[ifModifiedKey]=etag}}if(status===304){statusText="notmodified";isSuccess=true}else{try{success=ajaxConvert(s,response);statusText="success";isSuccess=true}catch(e){statusText="parsererror";error=e}}}else{error=statusText;if(!statusText||status){statusText="error";if(status<0){status=0}}}jqXHR.status=status;jqXHR.statusText=""+(nativeStatusText||statusText);if(isSuccess){deferred.resolveWith(callbackContext,[success,statusText,jqXHR])}else{deferred.rejectWith(callbackContext,[jqXHR,statusText,error])}jqXHR.statusCode(statusCode);statusCode=undefined;if(fireGlobals){globalEventContext.trigger("ajax"+(isSuccess?"Success":"Error"),[jqXHR,s,isSuccess?success:error])}completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);if(fireGlobals){globalEventContext.trigger("ajaxComplete",[jqXHR,s]);if(!--jQuery.active){jQuery.event.trigger("ajaxStop")}}}deferred.promise(jqXHR);jqXHR.success=jqXHR.done;jqXHR.error=jqXHR.fail;jqXHR.complete=completeDeferred.add;jqXHR.statusCode=function(map){if(map){var tmp;if(state<2){for(tmp in map){statusCode[tmp]=[statusCode[tmp],map[tmp]]}}else{tmp=map[jqXHR.status];jqXHR.then(tmp,tmp)}}return this};s.url=((url||s.url)+"").replace(rhash,"").replace(rprotocol,ajaxLocParts[1]+"//");s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().split(rspacesAjax);if(s.crossDomain==null){parts=rurl.exec(s.url.toLowerCase());s.crossDomain=!!(parts&&(parts[1]!=ajaxLocParts[1]||parts[2]!=ajaxLocParts[2]||(parts[3]||(parts[1]==="http:"?80:443))!=(ajaxLocParts[3]||(ajaxLocParts[1]==="http:"?80:443))))}if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional)}inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);if(state===2){return false}fireGlobals=s.global;s.type=s.type.toUpperCase();s.hasContent=!rnoContent.test(s.type);if(fireGlobals&&jQuery.active++===0){jQuery.event.trigger("ajaxStart")}if(!s.hasContent){if(s.data){s.url+=(rquery.test(s.url)?"&":"?")+s.data;delete s.data}ifModifiedKey=s.url;if(s.cache===false){var ts=jQuery.now(),ret=s.url.replace(rts,"$1_="+ts);s.url=ret+(ret===s.url?(rquery.test(s.url)?"&":"?")+"_="+ts:"")}}if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){jqXHR.setRequestHeader("Content-Type",s.contentType)}if(s.ifModified){ifModifiedKey=ifModifiedKey||s.url;if(jQuery.lastModified[ifModifiedKey]){jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[ifModifiedKey])}if(jQuery.etag[ifModifiedKey]){jqXHR.setRequestHeader("If-None-Match",jQuery.etag[ifModifiedKey])}}jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers){jqXHR.setRequestHeader(i,s.headers[i])}if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===false||state===2)){jqXHR.abort();return false}for(i in{success:1,error:1,complete:1}){jqXHR[i](s[i])}transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);if(!transport){done(-1,"No Transport")}else{jqXHR.readyState=1;if(fireGlobals){globalEventContext.trigger("ajaxSend",[jqXHR,s])}if(s.async&&s.timeout>0){timeoutTimer=setTimeout(function(){jqXHR.abort("timeout")},s.timeout)}try{state=1;transport.send(requestHeaders,done)}catch(e){if(state<2){done(-1,e)}else{throw e}}}return jqXHR},param:function(a,traditional){var s=[],add=function(key,value){value=jQuery.isFunction(value)?value():value;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value)};if(traditional===undefined){traditional=jQuery.ajaxSettings.traditional}if(jQuery.isArray(a)||a.jquery&&!jQuery.isPlainObject(a)){jQuery.each(a,function(){add(this.name,this.value)})}else{for(var prefix in a){buildParams(prefix,a[prefix],traditional,add)}}return s.join("&").replace(r20,"+")}});function buildParams(prefix,obj,traditional,add){if(jQuery.isArray(obj)){jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){add(prefix,v)}else{buildParams(prefix+"["+(typeof v==="object"?i:"")+"]",v,traditional,add)}})}else if(!traditional&&jQuery.type(obj)==="object"){for(var name in obj){buildParams(prefix+"["+name+"]",obj[name],traditional,add)}}else{add(prefix,obj)}}jQuery.extend({active:0,lastModified:{},etag:{}});function ajaxHandleResponses(s,jqXHR,responses){var contents=s.contents,dataTypes=s.dataTypes,responseFields=s.responseFields,ct,type,finalDataType,firstDataType;for(type in responseFields){if(type in responses){jqXHR[responseFields[type]]=responses[type]}}while(dataTypes[0]==="*"){dataTypes.shift();if(ct===undefined){ct=s.mimeType||jqXHR.getResponseHeader("content-type")}}if(ct){for(type in contents){if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break}}}if(dataTypes[0]in responses){finalDataType=dataTypes[0]}else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break}if(!firstDataType){firstDataType=type}}finalDataType=finalDataType||firstDataType}if(finalDataType){if(finalDataType!==dataTypes[0]){dataTypes.unshift(finalDataType)}return responses[finalDataType]}}function ajaxConvert(s,response){if(s.dataFilter){response=s.dataFilter(response,s.dataType)}var dataTypes=s.dataTypes,converters={},i,key,length=dataTypes.length,tmp,current=dataTypes[0],prev,conversion,conv,conv1,conv2;for(i=1;i<length;i++){if(i===1){for(key in s.converters){if(typeof key==="string"){converters[key.toLowerCase()]=s.converters[key]}}}prev=current;current=dataTypes[i];if(current==="*"){current=prev}else if(prev!=="*"&&prev!==current){conversion=prev+" "+current;conv=converters[conversion]||converters["* "+current];if(!conv){conv2=undefined;for(conv1 in converters){tmp=conv1.split(" ");if(tmp[0]===prev||tmp[0]==="*"){conv2=converters[tmp[1]+" "+current];if(conv2){conv1=converters[conv1];if(conv1===true){conv=conv2}else if(conv2===true){conv=conv1}break}}}}if(!(conv||conv2)){jQuery.error("No conversion from "+conversion.replace(" "," to "))}if(conv!==true){response=conv?conv(response):conv2(conv1(response))}}}return response}var jsc=jQuery.now(),jsre=/(\=)\?(&|$)|\?\?/i;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return jQuery.expando+"_"+jsc++}});jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var inspectData=typeof s.data==="string"&&/^application\/x\-www\-form\-urlencoded/.test(s.contentType);if(s.dataTypes[0]==="jsonp"||s.jsonp!==false&&(jsre.test(s.url)||inspectData&&jsre.test(s.data))){var responseContainer,jsonpCallback=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,previous=window[jsonpCallback],url=s.url,data=s.data,replace="$1"+jsonpCallback+"$2";if(s.jsonp!==false){url=url.replace(jsre,replace);if(s.url===url){if(inspectData){data=data.replace(jsre,replace)}if(s.data===data){url+=(/\?/.test(url)?"&":"?")+s.jsonp+"="+jsonpCallback}}}s.url=url;s.data=data;window[jsonpCallback]=function(response){responseContainer=[response]};jqXHR.always(function(){window[jsonpCallback]=previous;if(responseContainer&&jQuery.isFunction(previous)){window[jsonpCallback](responseContainer[0])}});s.converters["script json"]=function(){if(!responseContainer){jQuery.error(jsonpCallback+" was not called")}return responseContainer[0]};s.dataTypes[0]="json";return"script"}});jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(text){jQuery.globalEval(text);return text}}});jQuery.ajaxPrefilter("script",function(s){if(s.cache===undefined){s.cache=false}if(s.crossDomain){s.type="GET";s.global=false}});jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,head=document.head||document.getElementsByTagName("head")[0]||document.documentElement;return{send:function(_,callback){script=document.createElement("script");script.async="async";if(s.scriptCharset){script.charset=s.scriptCharset}script.src=s.url;script.onload=script.onreadystatechange=function(_,isAbort){if(isAbort||!script.readyState||/loaded|complete/.test(script.readyState)){script.onload=script.onreadystatechange=null;if(head&&script.parentNode){head.removeChild(script)}script=undefined;if(!isAbort){callback(200,"success")}}};head.insertBefore(script,head.firstChild)},abort:function(){if(script){script.onload(0,1)}}}}});var xhrOnUnloadAbort=window.ActiveXObject?function(){for(var key in xhrCallbacks){xhrCallbacks[key](0,1)}}:false,xhrId=0,xhrCallbacks;function createStandardXHR(){try{return new window.XMLHttpRequest}catch(e){}}function createActiveXHR(){try{return new window.ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}jQuery.ajaxSettings.xhr=window.ActiveXObject?function(){return!this.isLocal&&createStandardXHR()||createActiveXHR()}:createStandardXHR;(function(xhr){jQuery.extend(jQuery.support,{ajax:!!xhr,cors:!!xhr&&"withCredentials"in xhr})})(jQuery.ajaxSettings.xhr());if(jQuery.support.ajax){jQuery.ajaxTransport(function(s){if(!s.crossDomain||jQuery.support.cors){var callback;return{send:function(headers,complete){var xhr=s.xhr(),handle,i;if(s.username){xhr.open(s.type,s.url,s.async,s.username,s.password)}else{xhr.open(s.type,s.url,s.async)}if(s.xhrFields){for(i in s.xhrFields){xhr[i]=s.xhrFields[i]}}if(s.mimeType&&xhr.overrideMimeType){xhr.overrideMimeType(s.mimeType)}if(!s.crossDomain&&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest"}try{for(i in headers){xhr.setRequestHeader(i,headers[i])}}catch(_){}xhr.send(s.hasContent&&s.data||null);callback=function(_,isAbort){var status,statusText,responseHeaders,responses,xml;try{if(callback&&(isAbort||xhr.readyState===4)){callback=undefined;if(handle){xhr.onreadystatechange=jQuery.noop;if(xhrOnUnloadAbort){delete xhrCallbacks[handle]}}if(isAbort){if(xhr.readyState!==4){xhr.abort()}}else{status=xhr.status;responseHeaders=xhr.getAllResponseHeaders();responses={};xml=xhr.responseXML;if(xml&&xml.documentElement){responses.xml=xml}try{responses.text=xhr.responseText}catch(_){}try{statusText=xhr.statusText}catch(e){statusText=""}if(!status&&s.isLocal&&!s.crossDomain){status=responses.text?200:404}else if(status===1223){status=204}}}}catch(firefoxAccessException){if(!isAbort){complete(-1,firefoxAccessException)}}if(responses){complete(status,statusText,responses,responseHeaders)}};if(!s.async||xhr.readyState===4){callback()}else{handle=++xhrId;if(xhrOnUnloadAbort){if(!xhrCallbacks){xhrCallbacks={};jQuery(window).unload(xhrOnUnloadAbort)}xhrCallbacks[handle]=callback}xhr.onreadystatechange=callback}},abort:function(){if(callback){callback(0,1)}}}}})}var elemdisplay={},iframe,iframeDoc,rfxtypes=/^(?:toggle|show|hide)$/,rfxnum=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],fxNow;jQuery.fn.extend({show:function(speed,easing,callback){var elem,display;if(speed||speed===0){return this.animate(genFx("show",3),speed,easing,callback)}else{for(var i=0,j=this.length;i<j;i++){elem=this[i];if(elem.style){display=elem.style.display;if(!jQuery._data(elem,"olddisplay")&&display==="none"){display=elem.style.display=""}if(display===""&&jQuery.css(elem,"display")==="none"||!jQuery.contains(elem.ownerDocument.documentElement,elem)){jQuery._data(elem,"olddisplay",defaultDisplay(elem.nodeName))}}}for(i=0;i<j;i++){elem=this[i];if(elem.style){display=elem.style.display;if(display===""||display==="none"){elem.style.display=jQuery._data(elem,"olddisplay")||""}}}return this}},hide:function(speed,easing,callback){if(speed||speed===0){return this.animate(genFx("hide",3),speed,easing,callback)}else{var elem,display,i=0,j=this.length;for(;i<j;i++){elem=this[i];if(elem.style){display=jQuery.css(elem,"display");if(display!=="none"&&!jQuery._data(elem,"olddisplay")){jQuery._data(elem,"olddisplay",display)}}}for(i=0;i<j;i++){if(this[i].style){this[i].style.display="none"}}return this}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2,callback){var bool=typeof fn==="boolean";if(jQuery.isFunction(fn)&&jQuery.isFunction(fn2)){this._toggle.apply(this,arguments)}else if(fn==null||bool){this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]()})}else{this.animate(genFx("toggle",3),fn,fn2,callback)}return this},fadeTo:function(speed,to,easing,callback){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);if(jQuery.isEmptyObject(prop)){return this.each(optall.complete,[false])}prop=jQuery.extend({},prop);function doAnimation(){if(optall.queue===false){jQuery._mark(this)}var opt=jQuery.extend({},optall),isElement=this.nodeType===1,hidden=isElement&&jQuery(this).is(":hidden"),name,val,p,e,hooks,replace,parts,start,end,unit,method;opt.animatedProperties={};for(p in prop){name=jQuery.camelCase(p);if(p!==name){prop[name]=prop[p];delete prop[p]}if((hooks=jQuery.cssHooks[name])&&"expand"in hooks){replace=hooks.expand(prop[name]);delete prop[name];for(p in replace){if(!(p in prop)){prop[p]=replace[p]}}}}for(name in prop){val=prop[name];if(jQuery.isArray(val)){opt.animatedProperties[name]=val[1];val=prop[name]=val[0]}else{opt.animatedProperties[name]=opt.specialEasing&&opt.specialEasing[name]||opt.easing||"swing"}if(val==="hide"&&hidden||val==="show"&&!hidden){return opt.complete.call(this)}if(isElement&&(name==="height"||name==="width")){opt.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(jQuery.css(this,"display")==="inline"&&jQuery.css(this,"float")==="none"){if(!jQuery.support.inlineBlockNeedsLayout||defaultDisplay(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(opt.overflow!=null){this.style.overflow="hidden"}for(p in prop){e=new jQuery.fx(this,opt,p);val=prop[p];if(rfxtypes.test(val)){method=jQuery._data(this,"toggle"+p)||(val==="toggle"?hidden?"show":"hide":0);if(method){jQuery._data(this,"toggle"+p,method==="show"?"hide":"show");e[method]()}else{e[val]()}}else{parts=rfxnum.exec(val);start=e.cur();if(parts){end=parseFloat(parts[2]);unit=parts[3]||(jQuery.cssNumber[p]?"":"px");if(unit!=="px"){jQuery.style(this,p,(end||1)+unit);start=(end||1)/e.cur()*start;jQuery.style(this,p,start+unit)}if(parts[1]){end=(parts[1]==="-="?-1:1)*end+start}e.custom(start,end,unit)}else{e.custom(start,val,"")}}}return true}return optall.queue===false?this.each(doAnimation):this.queue(optall.queue,doAnimation)},stop:function(type,clearQueue,gotoEnd){if(typeof type!=="string"){gotoEnd=clearQueue;clearQueue=type;type=undefined}if(clearQueue&&type!==false){this.queue(type||"fx",[])}return this.each(function(){var index,hadTimers=false,timers=jQuery.timers,data=jQuery._data(this);if(!gotoEnd){jQuery._unmark(true,this)}function stopQueue(elem,data,index){var hooks=data[index];jQuery.removeData(elem,index,true);hooks.stop(gotoEnd)}if(type==null){for(index in data){if(data[index]&&data[index].stop&&index.indexOf(".run")===index.length-4){stopQueue(this,data,index)}}}else if(data[index=type+".run"]&&data[index].stop){stopQueue(this,data,index)}for(index=timers.length;index--;){if(timers[index].elem===this&&(type==null||timers[index].queue===type)){if(gotoEnd){timers[index](true)}else{timers[index].saveState()}hadTimers=true;timers.splice(index,1)}}if(!(gotoEnd&&hadTimers)){jQuery.dequeue(this,type)}})}});function createFxNow(){setTimeout(clearFxNow,0);return fxNow=jQuery.now()}function clearFxNow(){fxNow=undefined}function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type});return obj}jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}});jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};

- opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default;if(opt.queue==null||opt.queue===true){opt.queue="fx"}opt.old=opt.complete;opt.complete=function(noUnmark){if(jQuery.isFunction(opt.old)){opt.old.call(this)}if(opt.queue){jQuery.dequeue(this,opt.queue)}else if(noUnmark!==false){jQuery._unmark(this)}};return opt},easing:{linear:function(p){return p},swing:function(p){return-Math.cos(p*Math.PI)/2+.5}},timers:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;options.orig=options.orig||{}}});jQuery.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var parsed,r=jQuery.css(this.elem,this.prop);return isNaN(parsed=parseFloat(r))?!r||r==="auto"?0:r:parsed},custom:function(from,to,unit){var self=this,fx=jQuery.fx;this.startTime=fxNow||createFxNow();this.end=to;this.now=this.start=from;this.pos=this.state=0;this.unit=unit||this.unit||(jQuery.cssNumber[this.prop]?"":"px");function t(gotoEnd){return self.step(gotoEnd)}t.queue=this.options.queue;t.elem=this.elem;t.saveState=function(){if(jQuery._data(self.elem,"fxshow"+self.prop)===undefined){if(self.options.hide){jQuery._data(self.elem,"fxshow"+self.prop,self.start)}else if(self.options.show){jQuery._data(self.elem,"fxshow"+self.prop,self.end)}}};if(t()&&jQuery.timers.push(t)&&!timerId){timerId=setInterval(fx.tick,fx.interval)}},show:function(){var dataShow=jQuery._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=dataShow||jQuery.style(this.elem,this.prop);this.options.show=true;if(dataShow!==undefined){this.custom(this.cur(),dataShow)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}jQuery(this.elem).show()},hide:function(){this.options.orig[this.prop]=jQuery._data(this.elem,"fxshow"+this.prop)||jQuery.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(gotoEnd){var p,n,complete,t=fxNow||createFxNow(),done=true,elem=this.elem,options=this.options;if(gotoEnd||t>=options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();options.animatedProperties[this.prop]=true;for(p in options.animatedProperties){if(options.animatedProperties[p]!==true){done=false}}if(done){if(options.overflow!=null&&!jQuery.support.shrinkWrapBlocks){jQuery.each(["","X","Y"],function(index,value){elem.style["overflow"+value]=options.overflow[index]})}if(options.hide){jQuery(elem).hide()}if(options.hide||options.show){for(p in options.animatedProperties){jQuery.style(elem,p,options.orig[p]);jQuery.removeData(elem,"fxshow"+p,true);jQuery.removeData(elem,"toggle"+p,true)}}complete=options.complete;if(complete){options.complete=false;complete.call(elem)}}return false}else{if(options.duration==Infinity){this.now=t}else{n=t-this.startTime;this.state=n/options.duration;this.pos=jQuery.easing[options.animatedProperties[this.prop]](this.state,n,0,1,options.duration);this.now=this.start+(this.end-this.start)*this.pos}this.update()}return true}};jQuery.extend(jQuery.fx,{tick:function(){var timer,timers=jQuery.timers,i=0;for(;i<timers.length;i++){timer=timers[i];if(!timer()&&timers[i]===timer){timers.splice(i--,1)}}if(!timers.length){jQuery.fx.stop()}},interval:13,stop:function(){clearInterval(timerId);timerId=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.style(fx.elem,"opacity",fx.now)},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null){fx.elem.style[fx.prop]=fx.now+fx.unit}else{fx.elem[fx.prop]=fx.now}}}});jQuery.each(fxAttrs.concat.apply([],fxAttrs),function(i,prop){if(prop.indexOf("margin")){jQuery.fx.step[prop]=function(fx){jQuery.style(fx.elem,prop,Math.max(0,fx.now)+fx.unit)}}});if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length}}function defaultDisplay(nodeName){if(!elemdisplay[nodeName]){var body=document.body,elem=jQuery("<"+nodeName+">").appendTo(body),display=elem.css("display");elem.remove();if(display==="none"||display===""){if(!iframe){iframe=document.createElement("iframe");iframe.frameBorder=iframe.width=iframe.height=0}body.appendChild(iframe);if(!iframeDoc||!iframe.createElement){iframeDoc=(iframe.contentWindow||iframe.contentDocument).document;iframeDoc.write((jQuery.support.boxModel?"<!doctype html>":"")+"<html><body>");iframeDoc.close()}elem=iframeDoc.createElement(nodeName);iframeDoc.body.appendChild(elem);display=jQuery.css(elem,"display");body.removeChild(iframe)}elemdisplay[nodeName]=display}return elemdisplay[nodeName]}var getOffset,rtable=/^t(?:able|d|h)$/i,rroot=/^(?:body|html)$/i;if("getBoundingClientRect"in document.documentElement){getOffset=function(elem,doc,docElem,box){try{box=elem.getBoundingClientRect()}catch(e){}if(!box||!jQuery.contains(docElem,elem)){return box?{top:box.top,left:box.left}:{top:0,left:0}}var body=doc.body,win=getWindow(doc),clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,scrollTop=win.pageYOffset||jQuery.support.boxModel&&docElem.scrollTop||body.scrollTop,scrollLeft=win.pageXOffset||jQuery.support.boxModel&&docElem.scrollLeft||body.scrollLeft,top=box.top+scrollTop-clientTop,left=box.left+scrollLeft-clientLeft;return{top:top,left:left}}}else{getOffset=function(elem,doc,docElem){var computedStyle,offsetParent=elem.offsetParent,prevOffsetParent=elem,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle,top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){if(jQuery.support.fixedPosition&&prevComputedStyle.position==="fixed"){break}computedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle;top-=elem.scrollTop;left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop;left+=elem.offsetLeft;if(jQuery.support.doesNotAddBorder&&!(jQuery.support.doesAddBorderForTableAndCells&&rtable.test(elem.nodeName))){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0}prevOffsetParent=offsetParent;offsetParent=elem.offsetParent}if(jQuery.support.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible"){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0}prevComputedStyle=computedStyle}if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static"){top+=body.offsetTop;left+=body.offsetLeft}if(jQuery.support.fixedPosition&&prevComputedStyle.position==="fixed"){top+=Math.max(docElem.scrollTop,body.scrollTop);left+=Math.max(docElem.scrollLeft,body.scrollLeft)}return{top:top,left:left}}}jQuery.fn.offset=function(options){if(arguments.length){return options===undefined?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)})}var elem=this[0],doc=elem&&elem.ownerDocument;if(!doc){return null}if(elem===doc.body){return jQuery.offset.bodyOffset(elem)}return getOffset(elem,doc,doc.documentElement)};jQuery.offset={bodyOffset:function(body){var top=body.offsetTop,left=body.offsetLeft;if(jQuery.support.doesNotIncludeMarginInBodyOffset){top+=parseFloat(jQuery.css(body,"marginTop"))||0;left+=parseFloat(jQuery.css(body,"marginLeft"))||0}return{top:top,left:left}},setOffset:function(elem,options,i){var position=jQuery.css(elem,"position");if(position==="static"){elem.style.position="relative"}var curElem=jQuery(elem),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),calculatePosition=(position==="absolute"||position==="fixed")&&jQuery.inArray("auto",[curCSSTop,curCSSLeft])>-1,props={},curPosition={},curTop,curLeft;if(calculatePosition){curPosition=curElem.position();curTop=curPosition.top;curLeft=curPosition.left}else{curTop=parseFloat(curCSSTop)||0;curLeft=parseFloat(curCSSLeft)||0}if(jQuery.isFunction(options)){options=options.call(elem,i,curOffset)}if(options.top!=null){props.top=options.top-curOffset.top+curTop}if(options.left!=null){props.left=options.left-curOffset.left+curLeft}if("using"in options){options.using.call(elem,props)}else{curElem.css(props)}}};jQuery.fn.extend({position:function(){if(!this[0]){return null}var elem=this[0],offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=rroot.test(offsetParent[0].nodeName)?{top:0,left:0}:offsetParent.offset();offset.top-=parseFloat(jQuery.css(elem,"marginTop"))||0;offset.left-=parseFloat(jQuery.css(elem,"marginLeft"))||0;parentOffset.top+=parseFloat(jQuery.css(offsetParent[0],"borderTopWidth"))||0;parentOffset.left+=parseFloat(jQuery.css(offsetParent[0],"borderLeftWidth"))||0;return{top:offset.top-parentOffset.top,left:offset.left-parentOffset.left}},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent||document.body;while(offsetParent&&(!rroot.test(offsetParent.nodeName)&&jQuery.css(offsetParent,"position")==="static")){offsetParent=offsetParent.offsetParent}return offsetParent})}});jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top=/Y/.test(prop);jQuery.fn[method]=function(val){return jQuery.access(this,function(elem,method,val){var win=getWindow(elem);if(val===undefined){return win?prop in win?win[prop]:jQuery.support.boxModel&&win.document.documentElement[method]||win.document.body[method]:elem[method]}if(win){win.scrollTo(!top?val:jQuery(win).scrollLeft(),top?val:jQuery(win).scrollTop())}else{elem[method]=val}},method,val,arguments.length,null)}});function getWindow(elem){return jQuery.isWindow(elem)?elem:elem.nodeType===9?elem.defaultView||elem.parentWindow:false}jQuery.each({Height:"height",Width:"width"},function(name,type){var clientProp="client"+name,scrollProp="scroll"+name,offsetProp="offset"+name;jQuery.fn["inner"+name]=function(){var elem=this[0];return elem?elem.style?parseFloat(jQuery.css(elem,type,"padding")):this[type]():null};jQuery.fn["outer"+name]=function(margin){var elem=this[0];return elem?elem.style?parseFloat(jQuery.css(elem,type,margin?"margin":"border")):this[type]():null};jQuery.fn[type]=function(value){return jQuery.access(this,function(elem,type,value){var doc,docElemProp,orig,ret;if(jQuery.isWindow(elem)){doc=elem.document;docElemProp=doc.documentElement[clientProp];return jQuery.support.boxModel&&docElemProp||doc.body&&doc.body[clientProp]||docElemProp}if(elem.nodeType===9){doc=elem.documentElement;if(doc[clientProp]>=doc[scrollProp]){return doc[clientProp]}return Math.max(elem.body[scrollProp],doc[scrollProp],elem.body[offsetProp],doc[offsetProp])}if(value===undefined){orig=jQuery.css(elem,type);ret=parseFloat(orig);return jQuery.isNumeric(ret)?ret:orig}jQuery(elem).css(type,value)},type,value,arguments.length,null)}});window.jQuery=window.$=jQuery;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return jQuery})}})(window);(function($){$.extend({tablesorter:new function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:true,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:"/.|,/g",onRenderHeader:null,selectorHeaders:"thead th",debug:false};function benchmark(s,d){log(s+","+((new Date).getTime()-d.getTime())+"ms")}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s)}else{alert(s)}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug=""}if(table.tBodies.length==0)return;var rows=table.tBodies[0].rows;if(rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i<l;i++){var p=false;if($.metadata&&($($headers[i]).metadata()&&$($headers[i]).metadata().sorter)){p=getParserById($($headers[i]).metadata().sorter)}else if(table.config.headers[i]&&table.config.headers[i].sorter){p=getParserById(table.config.headers[i].sorter)}if(!p){p=detectParserForColumn(table,rows,-1,i)}if(table.config.debug){parsersDebug+="column:"+i+" parser:"+p.id+"\n"}list.push(p)}}if(table.config.debug){log(parsersDebug)}return list}function detectParserForColumn(table,rows,rowIndex,cellIndex){var l=parsers.length,node=false,nodeValue=false,keepLooking=true;while(nodeValue==""&&keepLooking){rowIndex++;if(rows[rowIndex]){node=getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex);nodeValue=trimAndGetNodeText(table.config,node);if(table.config.debug){log("Checking if value was empty on row:"+rowIndex)}}else{keepLooking=false}}for(var i=1;i<l;i++){if(parsers[i].is(nodeValue,table,node)){return parsers[i]}}return parsers[0]}function getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex){return rows[rowIndex].cells[cellIndex]}function trimAndGetNodeText(config,node){return $.trim(getElementText(config,node))}function getParserById(name){var l=parsers.length;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==name.toLowerCase()){return parsers[i]}}return false}function buildCache(table){if(table.config.debug){var cacheTime=new Date}var totalRows=table.tBodies[0]&&table.tBodies[0].rows.length||0,totalCells=table.tBodies[0].rows[0]&&table.tBodies[0].rows[0].cells.length||0,parsers=table.config.parsers,cache={row:[],normalized:[]};for(var i=0;i<totalRows;++i){var c=$(table.tBodies[0].rows[i]),cols=[];if(c.hasClass(table.config.cssChildRow)){cache.row[cache.row.length-1]=cache.row[cache.row.length-1].add(c);continue}cache.row.push(c);for(var j=0;j<totalCells;++j){cols.push(parsers[j].format(getElementText(table.config,c[0].cells[j]),table,c[0].cells[j]))}cols.push(cache.normalized.length);cache.normalized.push(cols);cols=null}if(table.config.debug){benchmark("Building cache for "+totalRows+" rows:",cacheTime)}return cache}function getElementText(config,node){var text="";if(!node)return"";if(!config.supportsTextContent)config.supportsTextContent=node.textContent||false;if(config.textExtraction=="simple"){if(config.supportsTextContent){text=node.textContent}else{if(node.childNodes[0]&&node.childNodes[0].hasChildNodes()){text=node.childNodes[0].innerHTML}else{text=node.innerHTML}}}else{if(typeof config.textExtraction=="function"){text=config.textExtraction(node)}else{text=$(node).text()}}return text}function appendToTable(table,cache){if(table.config.debug){var appendTime=new Date}var c=cache,r=c.row,n=c.normalized,totalRows=n.length,checkCell=n[0].length-1,tableBody=$(table.tBodies[0]),rows=[];for(var i=0;i<totalRows;i++){var pos=n[i][checkCell];rows.push(r[pos]);if(!table.config.appender){var l=r[pos].length;for(var j=0;j<l;j++){tableBody[0].appendChild(r[pos][j])}}}if(table.config.appender){table.config.appender(table,rows)}rows=null;if(table.config.debug){benchmark("Rebuilt table:",appendTime)}applyWidget(table);setTimeout(function(){$(table).trigger("sortEnd")},0)}function buildHeaders(table){if(table.config.debug){var time=new Date}var meta=$.metadata?true:false;var header_index=computeTableHeaderCellIndexes(table);$tableHeaders=$(table.config.selectorHeaders,table).each(function(index){this.column=header_index[this.parentNode.rowIndex+"-"+this.cellIndex];this.order=formatSortingOrder(table.config.sortInitialOrder);this.count=this.order;if(checkHeaderMetadata(this)||checkHeaderOptions(table,index))this.sortDisabled=true;if(checkHeaderOptionsSortingLocked(table,index))this.order=this.lockedOrder=checkHeaderOptionsSortingLocked(table,index);if(!this.sortDisabled){var $th=$(this).addClass(table.config.cssHeader);if(table.config.onRenderHeader)table.config.onRenderHeader.apply($th)}table.config.headerList[index]=this});if(table.config.debug){benchmark("Built headers:",time);log($tableHeaders)}return $tableHeaders}function computeTableHeaderCellIndexes(t){var matrix=[];var lookup={};var thead=t.getElementsByTagName("THEAD")[0];var trs=thead.getElementsByTagName("TR");for(var i=0;i<trs.length;i++){var cells=trs[i].cells;for(var j=0;j<cells.length;j++){var c=cells[j];var rowIndex=c.parentNode.rowIndex;var cellId=rowIndex+"-"+c.cellIndex;var rowSpan=c.rowSpan||1;var colSpan=c.colSpan||1;var firstAvailCol;if(typeof matrix[rowIndex]=="undefined"){matrix[rowIndex]=[]}for(var k=0;k<matrix[rowIndex].length+1;k++){if(typeof matrix[rowIndex][k]=="undefined"){firstAvailCol=k;break}}lookup[cellId]=firstAvailCol;for(var k=rowIndex;k<rowIndex+rowSpan;k++){if(typeof matrix[k]=="undefined"){matrix[k]=[]}var matrixrow=matrix[k];for(var l=firstAvailCol;l<firstAvailCol+colSpan;l++){matrixrow[l]="x"}}}}return lookup}function checkCellColSpan(table,rows,row){var arr=[],r=table.tHead.rows,c=r[row].cells;for(var i=0;i<c.length;i++){var cell=c[i];if(cell.colSpan>1){arr=arr.concat(checkCellColSpan(table,headerArr,row++))}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell)}}}return arr}function checkHeaderMetadata(cell){if($.metadata&&$(cell).metadata().sorter===false){return true}return false}function checkHeaderOptions(table,i){if(table.config.headers[i]&&table.config.headers[i].sorter===false){return true}return false}function checkHeaderOptionsSortingLocked(table,i){if(table.config.headers[i]&&table.config.headers[i].lockedOrder)return table.config.headers[i].lockedOrder;return false}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i<l;i++){getWidgetById(c[i]).format(table)}}function getWidgetById(name){var l=widgets.length;for(var i=0;i<l;i++){if(widgets[i].id.toLowerCase()==name.toLowerCase()){return widgets[i]}}}function formatSortingOrder(v){if(typeof v!="Number"){return v.toLowerCase()=="desc"?1:0}else{return v==1?1:0}}function isValueInArray(v,a){var l=a.length;for(var i=0;i<l;i++){if(a[i][0]==v){return true}}return false}function setHeadersCss(table,$headers,list,css){$headers.removeClass(css[0]).removeClass(css[1]);var h=[];$headers.each(function(offset){if(!this.sortDisabled){h[this.column]=$(this)}});var l=list.length;for(var i=0;i<l;i++){h[list[i][0]].addClass(css[list[i][1]])}}function fixColumnWidth(table,$headers){var c=table.config;if(c.widthFixed){var colgroup=$("<colgroup>");$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($("<col>").css("width",$(this).width()))});$(table).prepend(colgroup)}}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i<l;i++){var s=sortList[i],o=c.headerList[s[0]];o.count=s[1];o.count++}}function multisort(table,sortList,cache){if(table.config.debug){var sortTime=new Date}var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0];var order=sortList[i][1];var s=table.config.parsers[c].type=="text"?order==0?makeSortFunction("text","asc",c):makeSortFunction("text","desc",c):order==0?makeSortFunction("numeric","asc",c):makeSortFunction("numeric","desc",c);var e="e"+i;dynamicExp+="var "+e+" = "+s;dynamicExp+="if("+e+") { return "+e+"; } ";dynamicExp+="else { "}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++){dynamicExp+="}; "}dynamicExp+="return 0; ";dynamicExp+="}; ";if(table.config.debug){benchmark("Evaling expression:"+dynamicExp,new Date)}eval(dynamicExp);cache.normalized.sort(sortWrapper);if(table.config.debug){benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime)}return cache}function makeSortFunction(type,direction,index){var a="a["+index+"]",b="b["+index+"]";if(type=="text"&&direction=="asc"){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+a+" < "+b+") ? -1 : 1 )));"}else if(type=="text"&&direction=="desc"){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+b+" < "+a+") ? -1 : 1 )));"}else if(type=="numeric"&&direction=="asc"){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+a+" - "+b+"));"}else if(type=="numeric"&&direction=="desc"){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+b+" - "+a+"));"}}function makeSortText(i){return"((a["+i+"] < b["+i+"]) ? -1 : ((a["+i+"] > b["+i+"]) ? 1 : 0));"}function makeSortTextDesc(i){return"((b["+i+"] < a["+i+"]) ? -1 : ((b["+i+"] > a["+i+"]) ? 1 : 0));"}function makeSortNumeric(i){return"a["+i+"]-b["+i+"];"}function makeSortNumericDesc(i){return"b["+i+"]-a["+i+"];"}function sortText(a,b){if(table.config.sortLocaleCompare)return a.localeCompare(b);return a<b?-1:a>b?1:0}function sortTextDesc(a,b){if(table.config.sortLocaleCompare)return b.localeCompare(a);return b<a?-1:b>a?1:0}function sortNumeric(a,b){return a-b}function sortNumericDesc(a,b){return b-a}function getCachedSortType(parsers,i){return parsers[i].type}this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$.data(this,"tablesorter",config);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){var totalRows=$this[0].tBodies[0]&&$this[0].tBodies[0].rows.length||0;if(!this.sortDisabled&&totalRows>0){$this.trigger("sortStart");var $cell=$(this);var i=this.column;this.order=this.count++%2;if(this.lockedOrder)this.order=this.lockedOrder;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j<a.length;j++){if(a[j][0]!=i){config.sortList.push(a[j])}}}config.sortList.push([i,this.order])}else{if(isValueInArray(i,config.sortList)){for(var j=0;j<config.sortList.length;j++){var s=config.sortList[j],o=config.headerList[s[0]];if(s[0]==i){o.count=s[1];o.count++;s[1]=o.count%2}}}else{config.sortList.push([i,this.order])}}setTimeout(function(){setHeadersCss($this[0],$headers,config.sortList,sortCSS);appendToTable($this[0],multisort($this[0],config.sortList,cache))},1);return false}}).mousedown(function(){if(config.cancelSelection){this.onselectstart=function(){return false};return false}});$this.bind("update",function(){var me=this;setTimeout(function(){me.config.parsers=buildParserCache(me,$headers);cache=buildCache(me)},1)}).bind("updateCell",function(e,cell){var config=this.config;var pos=[cell.parentNode.rowIndex-1,cell.cellIndex];cache.normalized[pos[0]][pos[1]]=config.parsers[pos[1]].format(getElementText(config,cell),cell)}).bind("sorton",function(e,list){$(this).trigger("sortStart");config.sortList=list;var sortList=config.sortList;updateHeaderSortCount(this,sortList);setHeadersCss(this,$headers,sortList,sortCSS);appendToTable(this,multisort(this,sortList,cache))}).bind("appendCache",function(){appendToTable(this,cache)}).bind("applyWidgetId",function(e,id){getWidgetById(id).format(this)}).bind("applyWidgets",function(){applyWidget(this)});if($.metadata&&($(this).metadata()&&$(this).metadata().sortlist)){config.sortList=$(this).metadata().sortlist}if(config.sortList.length>0){$this.trigger("sorton",[config.sortList])}applyWidget(this)})};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==parser.id.toLowerCase()){a=false}}if(a){parsers.push(parser)}};this.addWidget=function(widget){widgets.push(widget)};this.formatFloat=function(s){var i=parseFloat(s);return isNaN(i)?0:i};this.formatInt=function(s){var i=parseInt(s);return isNaN(i)?0:i};this.isDigit=function(s,config){return/^[-+]?\d*$/.test($.trim(s.replace(/[,.']/g,"")))};this.clearTableBody=function(table){if($.browser.msie){function empty(){while(this.firstChild)this.removeChild(this.firstChild)}empty.apply(table.tBodies[0])}else{table.tBodies[0].innerHTML=""}}}});$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(s){return true},format:function(s){return $.trim(s.toLocaleLowerCase())},type:"text"});ts.addParser({id:"digit",is:function(s,table){var c=table.config;return $.tablesorter.isDigit(s,c)},format:function(s){return $.tablesorter.formatFloat(s)},type:"numeric"});ts.addParser({id:"currency",is:function(s){return/^[£$€?.]/.test(s)},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/[£$€]/g),""))},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s)},format:function(s){var a=s.split("."),r="",l=a.length;for(var i=0;i<l;i++){var item=a[i];if(item.length==2){r+="0"+item}else{r+=item}}return $.tablesorter.formatFloat(r)},type:"numeric"});ts.addParser({id:"url",is:function(s){return/^(https?|ftp|file):\/\/$/.test(s)},format:function(s){return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//),""))},type:"text"});ts.addParser({id:"isoDate",is:function(s){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s)},format:function(s){return $.tablesorter.formatFloat(s!=""?new Date(s.replace(new RegExp(/-/g),"/")).getTime():"0")},type:"numeric"});ts.addParser({id:"percent",is:function(s){return/\%$/.test($.trim(s))},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""))},type:"numeric"});ts.addParser({id:"usLongDate",is:function(s){return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/))},format:function(s){return $.tablesorter.formatFloat(new Date(s).getTime())},type:"numeric"});ts.addParser({id:"shortDate",is:function(s){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s)},format:function(s,table){var c=table.config;s=s.replace(/\-/g,"/");if(c.dateFormat=="us"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2")}else if(c.dateFormat=="uk"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1")}else if(c.dateFormat=="dd/mm/yy"||c.dateFormat=="dd-mm-yy"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3")}return $.tablesorter.formatFloat(new Date(s).getTime())},type:"numeric"});ts.addParser({id:"time",is:function(s){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s)},format:function(s){return $.tablesorter.formatFloat(new Date("2000/01/01 "+s).getTime())},type:"numeric"});ts.addParser({id:"metadata",is:function(s){return false},format:function(s,table,cell){var c=table.config,p=!c.parserMetadataName?"sortValue":c.parserMetadataName;return $(cell).metadata()[p]},type:"numeric"});ts.addWidget({id:"zebra",format:function(table){if(table.config.debug){var time=new Date}var $tr,row=-1,odd;$("tr:visible",table.tBodies[0]).each(function(i){$tr=$(this);if(!$tr.hasClass(table.config.cssChildRow))row++;odd=row%2==0;$tr.removeClass(table.config.widgetZebra.css[odd?0:1]).addClass(table.config.widgetZebra.css[odd?1:0])});if(table.config.debug){$.tablesorter.benchmark("Applying Zebra widget",time)}}})})(jQuery);(function($){$.fn.foundationButtons=function(options){$(document).on("click.fndtn",".button.disabled",function(e){e.preventDefault()});$(".button.dropdown > ul",this).addClass("no-hover");$(document).on("click.fndtn",".button.dropdown, .button.dropdown.split span",function(e){if(e.target===this){e.stopPropagation()}});$(document).on("click.fndtn",".button.dropdown.split span",function(e){e.preventDefault();$(".button.dropdown",this).not($(this).parent()).children("ul").removeClass("show-dropdown");$(this).siblings("ul").toggleClass("show-dropdown")});$(document).on("click.fndtn",".button.dropdown:not(.split)",function(e){$(".button.dropdown",this).not(this).children("ul").removeClass("show-dropdown");$(this).children("ul").toggleClass("show-dropdown")});$(document).on("click.fndtn","body, html",function(){$(".button.dropdown ul").removeClass("show-dropdown")});var normalButtonHeight=$(".button.dropdown:not(.large):not(.small):not(.tiny)",this).outerHeight()-1,largeButtonHeight=$(".button.large.dropdown",this).outerHeight()-1,smallButtonHeight=$(".button.small.dropdown",this).outerHeight()-1,tinyButtonHeight=$(".button.tiny.dropdown",this).outerHeight()-1;$(".button.dropdown:not(.large):not(.small):not(.tiny) > ul",this).css("top",normalButtonHeight);$(".button.dropdown.large > ul",this).css("top",largeButtonHeight);$(".button.dropdown.small > ul",this).css("top",smallButtonHeight);$(".button.dropdown.tiny > ul",this).css("top",tinyButtonHeight);$(".button.dropdown.up:not(.large):not(.small):not(.tiny) > ul",this).css("top","auto").css("bottom",normalButtonHeight-2);$(".button.dropdown.up.large > ul",this).css("top","auto").css("bottom",largeButtonHeight-2);$(".button.dropdown.up.small > ul",this).css("top","auto").css("bottom",smallButtonHeight-2);$(".button.dropdown.up.tiny > ul",this).css("top","auto").css("bottom",tinyButtonHeight-2)}})(jQuery);(function($){var hiddenFix=function(){return{tmp:[],hidden:null,adjust:function($child){var _self=this;_self.hidden=$child.parents().andSelf().filter(":hidden");_self.hidden.each(function(){var $elem=$(this);_self.tmp.push($elem.attr("style"));$elem.css({visibility:"hidden",display:"block"})})},reset:function(){var _self=this;_self.hidden.each(function(i){var $elem=$(this),_tmp=_self.tmp[i];if(_tmp===undefined)$elem.removeAttr("style");else $elem.attr("style",_tmp)});_self.tmp=[];_self.hidden=null}}};jQuery.foundation=jQuery.foundation||{};jQuery.foundation.customForms=jQuery.foundation.customForms||{};$.foundation.customForms.appendCustomMarkup=function(options){var defaults={disable_class:"js-disable-custom"};options=$.extend(defaults,options);function appendCustomMarkup(idx,sel){var $this=$(sel).hide(),type=$this.attr("type"),$span=$this.next("span.custom."+type);if($span.length===0){$span=$('<span class="custom '+type+'"></span>').insertAfter($this)}$span.toggleClass("checked",$this.is(":checked"));$span.toggleClass("disabled",$this.is(":disabled"))}function appendCustomSelect(idx,sel){var hiddenFixObj=hiddenFix();var $this=$(sel),$customSelect=$this.next("div.custom.dropdown"),$customList=$customSelect.find("ul"),$selectCurrent=$customSelect.find(".current"),$selector=$customSelect.find(".selector"),$options=$this.find("option"),$selectedOption=$options.filter(":selected"),maxWidth=0,liHtml="",$listItems;var $currentSelect=false;if($this.hasClass("no-custom"))return;if($customSelect.length===0){var customSelectSize=$this.hasClass("small")?"small":$this.hasClass("medium")?"medium":$this.hasClass("large")?"large":$this.hasClass("expand")?"expand":"";$customSelect=$('<div class="'+["custom","dropdown",customSelectSize].join(" ")+'"><a href="#" class="selector"></a><ul /></div>"');$selector=$customSelect.find(".selector");$customList=$customSelect.find("ul");liHtml=$options.map(function(){return"<li>"+$(this).html()+"</li>"}).get().join("");$customList.append(liHtml);$currentSelect=$customSelect.prepend('<a href="#" class="current">'+$selectedOption.html()+"</a>").find(".current");$this.after($customSelect).hide()}else{liHtml=$options.map(function(){return"<li>"+$(this).html()+"</li>"}).get().join("");$customList.html("").append(liHtml)}$customSelect.toggleClass("disabled",$this.is(":disabled"));$listItems=$customList.find("li");$options.each(function(index){if(this.selected){$listItems.eq(index).addClass("selected");if($currentSelect){$currentSelect.html($(this).html())}}});$customList.css("width","inherit");$customSelect.css("width","inherit");if(!$customSelect.is(".small, .medium, .large, .expand")){$customSelect.addClass("open");

- hiddenFixObj.adjust($customList);maxWidth=$listItems.outerWidth()>maxWidth?$listItems.outerWidth():maxWidth;hiddenFixObj.reset();$customSelect.removeClass("open");$customSelect.width(maxWidth+18);$customList.width(maxWidth+16)}}$("form.custom input:radio[data-customforms!=disabled]").each(appendCustomMarkup);$("form.custom input:checkbox[data-customforms!=disabled]").each(appendCustomMarkup);$("form.custom select[data-customforms!=disabled]").each(appendCustomSelect)};var refreshCustomSelect=function($select){var maxWidth=0,$customSelect=$select.next();$options=$select.find("option");$customSelect.find("ul").html("");$options.each(function(){$li=$("<li>"+$(this).html()+"</li>");$customSelect.find("ul").append($li)});$options.each(function(index){if(this.selected){$customSelect.find("li").eq(index).addClass("selected");$customSelect.find(".current").html($(this).html())}});$customSelect.removeAttr("style").find("ul").removeAttr("style");$customSelect.find("li").each(function(){$customSelect.addClass("open");if($(this).outerWidth()>maxWidth){maxWidth=$(this).outerWidth()}$customSelect.removeClass("open")});$customSelect.css("width",maxWidth+18+"px");$customSelect.find("ul").css("width",maxWidth+16+"px")};var toggleCheckbox=function($element){var $input=$element.prev(),input=$input[0];if(false===$input.is(":disabled")){input.checked=input.checked?false:true;$element.toggleClass("checked")}};var toggleRadio=function($element){var $input=$element.prev(),input=$input[0];if(false===$input.is(":disabled")){$('input:radio[name="'+$input.attr("name")+'"]').each(function(){$(this).next().removeClass("checked")});input.checked=input.checked?false:true;$element.toggleClass("checked");$input.trigger("change")}};$(document).on("click","form.custom span.custom.checkbox",function(event){event.preventDefault();event.stopPropagation();toggleCheckbox($(this))});$(document).on("click","form.custom span.custom.radio",function(event){event.preventDefault();event.stopPropagation();toggleRadio($(this))});$(document).on("change","form.custom select[data-customforms!=disabled]",function(event){refreshCustomSelect($(this))});$(document).on("click","form.custom label",function(event){var $associatedElement=$("#"+$(this).attr("for")),$customCheckbox,$customRadio;if($associatedElement.length!==0){if($associatedElement.attr("type")==="checkbox"){event.preventDefault();$customCheckbox=$(this).find("span.custom.checkbox");toggleCheckbox($customCheckbox)}else if($associatedElement.attr("type")==="radio"){event.preventDefault();$customRadio=$(this).find("span.custom.radio");toggleRadio($customRadio)}}});$(document).on("click","form.custom div.custom.dropdown a.current, form.custom div.custom.dropdown a.selector",function(event){var $this=$(this),$dropdown=$this.closest("div.custom.dropdown"),$select=$dropdown.prev();event.preventDefault();$("div.dropdown").removeClass("open");if(false===$select.is(":disabled")){$dropdown.toggleClass("open");if($dropdown.hasClass("open")){$(document).bind("click.customdropdown",function(event){$dropdown.removeClass("open");$(document).unbind(".customdropdown")})}else{$(document).unbind(".customdropdown")}return false}});$(document).on("click","form.custom div.custom.dropdown li",function(event){var $this=$(this),$customDropdown=$this.closest("div.custom.dropdown"),$select=$customDropdown.prev(),selectedIndex=0;event.preventDefault();event.stopPropagation();$("div.dropdown").removeClass("open");$this.closest("ul").find("li").removeClass("selected");$this.addClass("selected");$customDropdown.removeClass("open").find("a.current").html($this.html());$this.closest("ul").find("li").each(function(index){if($this[0]==this){selectedIndex=index}});$select[0].selectedIndex=selectedIndex;$select.trigger("change")});$.fn.foundationCustomForms=$.foundation.customForms.appendCustomMarkup})(jQuery);window.Modernizr=function(a,b,c){function x(a){j.cssText=a}function y(a,b){return x(m.join(a+";")+(b||""))}function z(a,b){return typeof a===b}function A(a,b){return!!~(""+a).indexOf(b)}function B(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:z(f,"function")?f.bind(d||b):f}return!1}var d="2.6.0",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n={svg:"http://www.w3.org/2000/svg"},o={},p={},q={},r=[],s=r.slice,t,u=function(a,c,d,e){var f,i,j,k=b.createElement("div"),l=b.body,m=l?l:b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),k.appendChild(j);return f=["&#173;",'<style id="s',h,'">',a,"</style>"].join(""),k.id=h,(l?k:m).innerHTML+=f,m.appendChild(k),l||(m.style.background="",g.appendChild(m)),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},v={}.hasOwnProperty,w;!z(v,"undefined")&&!z(v.call,"undefined")?w=function(a,b){return v.call(a,b)}:w=function(a,b){return b in a&&z(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=s.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(s.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(s.call(arguments)))};return e}),o.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:u(["@media (",m.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},o.svg=function(){return!!b.createElementNS&&!!b.createElementNS(n.svg,"svg").createSVGRect},o.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==n.svg},o.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(l.call(b.createElementNS(n.svg,"clipPath")))};for(var C in o)w(o,C)&&(t=C.toLowerCase(),e[t]=o[C](),r.push((e[t]?"":"no-")+t));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)w(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},x(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=m,e.testStyles=u,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+r.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return o.call(a)=="[object Function]"}function e(a){return typeof a=="string"}function f(){}function g(a){return!a||a=="loaded"||a=="complete"||a=="uninitialized"}function h(){var a=p.shift();q=1,a?a.t?m(function(){(a.t=="c"?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){a!="img"&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l={},o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};y[c]===1&&(r=1,y[c]=[],l=b.createElement(a)),a=="object"?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),a!="img"&&(r||y[c]===2?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i(b=="c"?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),p.length==1&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&o.call(a.opera)=="[object Opera]",l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return o.call(a)=="[object Array]"},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,i){var j=b(a),l=j.autoCallback;j.url.split(".").pop().split("?").shift(),j.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]||h),j.instead?j.instead(a,e,f,g,i):(y[j.url]?j.noexec=!0:y[j.url]=1,f.load(j.url,j.forceCSS||!j.forceJS&&"css"==j.url.split(".").pop().split("?").shift()?"c":c,j.noexec,j.attrs,j.timeout),(d(e)||d(l))&&f.load(function(){k(),e&&e(j.origUrl,i,g),l&&l(j.origUrl,i,g),y[j.url]=2})))}function i(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var j,l,m=this.yepnope.loader;if(e(a))g(a,0,m,0);else if(w(a))for(j=0;j<a.length;j++)l=a[j],e(l)?g(l,0,m,0):w(l)?B(l):Object(l)===l&&i(l,m);else Object(a)===a&&i(a,m)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))},Modernizr.addTest("ie8compat",function(){return!window.addEventListener&&document.documentMode&&document.documentMode===7});(function(window,document,undefined){(function(factory){"use strict";if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(jQuery&&!jQuery.fn.qtip){factory(jQuery)}})(function($){var TRUE=true,FALSE=false,NULL=null,X="x",Y="y",WIDTH="width",HEIGHT="height",TOP="top",LEFT="left",BOTTOM="bottom",RIGHT="right",CENTER="center",FLIP="flip",FLIPINVERT="flipinvert",SHIFT="shift",QTIP,PLUGINS,MOUSE,usedIDs={},uitooltip="ui-tooltip",widget="ui-widget",disabled="ui-state-disabled",selector="div.qtip."+uitooltip,defaultClass=uitooltip+"-default",focusClass=uitooltip+"-focus",hoverClass=uitooltip+"-hover",replaceSuffix="_replacedByqTip",oldtitle="oldtitle",trackingBound,redrawContainer;redrawContainer=$("<div/>",{id:"qtip-rcontainer"});$(function(){redrawContainer.appendTo(document.body)});function sanitizeOptions(opts){var invalid=function(a){return a===NULL||"object"!==typeof a},invalidContent=function(c){return!$.isFunction(c)&&(!c&&!c.attr||c.length<1||"object"===typeof c&&!c.jquery)};if(!opts||"object"!==typeof opts){return FALSE}if(invalid(opts.metadata)){opts.metadata={type:opts.metadata}}if("content"in opts){if(invalid(opts.content)||opts.content.jquery){opts.content={text:opts.content}}if(invalidContent(opts.content.text||FALSE)){opts.content.text=FALSE}if("title"in opts.content){if(invalid(opts.content.title)){opts.content.title={text:opts.content.title}}if(invalidContent(opts.content.title.text||FALSE)){opts.content.title.text=FALSE}}}if("position"in opts&&invalid(opts.position)){opts.position={my:opts.position,at:opts.position}}if("show"in opts&&invalid(opts.show)){opts.show=opts.show.jquery?{target:opts.show}:{event:opts.show}}if("hide"in opts&&invalid(opts.hide)){opts.hide=opts.hide.jquery?{target:opts.hide}:{event:opts.hide}}if("style"in opts&&invalid(opts.style)){opts.style={classes:opts.style}}$.each(PLUGINS,function(){if(this.sanitize){this.sanitize(opts)}});return opts}function QTip(target,options,id,attr){var self=this,docBody=document.body,tooltipID=uitooltip+"-"+id,isPositioning=0,isDrawing=0,tooltip=$(),namespace=".qtip-"+id,elements,cache;self.id=id;self.rendered=FALSE;self.destroyed=FALSE;self.elements=elements={target:target};self.timers={img:{}};self.options=options;self.checks={};self.plugins={};self.cache=cache={event:{},target:$(),disabled:FALSE,attr:attr,onTarget:FALSE,lastClass:""};function convertNotation(notation){var i=0,obj,option=options,levels=notation.split(".");while(option=option[levels[i++]]){if(i<levels.length){obj=option}}return[obj||options,levels.pop()]}function setWidget(){var on=options.style.widget;tooltip.toggleClass("ui-helper-reset "+widget,on).toggleClass(defaultClass,options.style.def&&!on);if(elements.content){elements.content.toggleClass(widget+"-content",on)}if(elements.titlebar){elements.titlebar.toggleClass(widget+"-header",on)}if(elements.button){elements.button.toggleClass(uitooltip+"-icon",!on)}}function removeTitle(reposition){if(elements.title){elements.titlebar.remove();elements.titlebar=elements.title=elements.button=NULL;if(reposition!==FALSE){self.reposition()}}}function createButton(){var button=options.content.title.button,isString=typeof button==="string",close=isString?button:"Close tooltip";if(elements.button){elements.button.remove()}if(button.jquery){elements.button=button}else{elements.button=$("<a />",{"class":"ui-state-default ui-tooltip-close "+(options.style.widget?"":uitooltip+"-icon"),title:close,"aria-label":close}).prepend($("<span />",{"class":"ui-icon ui-icon-close",html:"&times;"}))}elements.button.appendTo(elements.titlebar).attr("role","button").click(function(event){if(!tooltip.hasClass(disabled)){self.hide(event)}return FALSE});self.redraw()}function createTitle(){var id=tooltipID+"-title";if(elements.titlebar){removeTitle()}elements.titlebar=$("<div />",{"class":uitooltip+"-titlebar "+(options.style.widget?"ui-widget-header":"")}).append(elements.title=$("<div />",{id:id,"class":uitooltip+"-title","aria-atomic":TRUE})).insertBefore(elements.content).delegate(".ui-tooltip-close","mousedown keydown mouseup keyup mouseout",function(event){$(this).toggleClass("ui-state-active ui-state-focus",event.type.substr(-4)==="down")}).delegate(".ui-tooltip-close","mouseover mouseout",function(event){$(this).toggleClass("ui-state-hover",event.type==="mouseover")});if(options.content.title.button){createButton()}else if(self.rendered){self.redraw()}}function updateButton(button){var elem=elements.button,title=elements.title;if(!self.rendered){return FALSE}if(!button){elem.remove()}else{if(!title){createTitle()}createButton()}}function updateTitle(content,reposition){var elem=elements.title;if(!self.rendered||!content){return FALSE}if($.isFunction(content)){content=content.call(target,cache.event,self)}if(content===FALSE||!content&&content!==""){return removeTitle(FALSE)}else if(content.jquery&&content.length>0){elem.empty().append(content.css({display:"block"}))}else{elem.html(content)}self.redraw();if(reposition!==FALSE&&self.rendered&&tooltip[0].offsetWidth>0){self.reposition(cache.event)}}function updateContent(content,reposition){var elem=elements.content;if(!self.rendered||!content){return FALSE}if($.isFunction(content)){content=content.call(target,cache.event,self)||""}if(content.jquery&&content.length>0){elem.empty().append(content.css({display:"block"}))}else{elem.html(content)}function detectImages(next){var images,srcs={};function imageLoad(image){if(image){delete srcs[image.src];clearTimeout(self.timers.img[image.src]);$(image).unbind(namespace)}if($.isEmptyObject(srcs)){self.redraw();if(reposition!==FALSE){self.reposition(cache.event)}next()}}if((images=elem.find("img[src]:not([height]):not([width])")).length===0){return imageLoad()}images.each(function(i,elem){if(srcs[elem.src]!==undefined){return}var iterations=0,maxIterations=3;(function timer(){if(elem.height||elem.width||iterations>maxIterations){return imageLoad(elem)}iterations+=1;self.timers.img[elem.src]=setTimeout(timer,700)})();$(elem).bind("error"+namespace+" load"+namespace,function(){imageLoad(this)});srcs[elem.src]=elem})}if(self.rendered<0){tooltip.queue("fx",detectImages)}else{isDrawing=0;detectImages($.noop)}return self}function assignEvents(){var posOptions=options.position,targets={show:options.show.target,hide:options.hide.target,viewport:$(posOptions.viewport),document:$(document),body:$(document.body),window:$(window)},events={show:$.trim(""+options.show.event).split(" "),hide:$.trim(""+options.hide.event).split(" ")},IE6=$.browser.msie&&parseInt($.browser.version,10)===6;function showMethod(event){if(tooltip.hasClass(disabled)){return FALSE}clearTimeout(self.timers.show);clearTimeout(self.timers.hide);var callback=function(){self.toggle(TRUE,event)};if(options.show.delay>0){self.timers.show=setTimeout(callback,options.show.delay)}else{callback()}}function hideMethod(event){if(tooltip.hasClass(disabled)||isPositioning||isDrawing){return FALSE}var relatedTarget=$(event.relatedTarget||event.target),ontoTooltip=relatedTarget.closest(selector)[0]===tooltip[0],ontoTarget=relatedTarget[0]===targets.show[0];clearTimeout(self.timers.show);clearTimeout(self.timers.hide);if(posOptions.target==="mouse"&&ontoTooltip||options.hide.fixed&&(/mouse(out|leave|move)/.test(event.type)&&(ontoTooltip||ontoTarget))){try{event.preventDefault();event.stopImmediatePropagation()}catch(e){}return}if(options.hide.delay>0){self.timers.hide=setTimeout(function(){self.hide(event)},options.hide.delay)}else{self.hide(event)}}function inactiveMethod(event){if(tooltip.hasClass(disabled)){return FALSE}clearTimeout(self.timers.inactive);self.timers.inactive=setTimeout(function(){self.hide(event)},options.hide.inactive)}function repositionMethod(event){if(self.rendered&&tooltip[0].offsetWidth>0){self.reposition(event)}}tooltip.bind("mouseenter"+namespace+" mouseleave"+namespace,function(event){var state=event.type==="mouseenter";if(state){self.focus(event)}tooltip.toggleClass(hoverClass,state)});if(/mouse(out|leave)/i.test(options.hide.event)){if(options.hide.leave==="window"){targets.window.bind("mouseout"+namespace+" blur"+namespace,function(event){if(!/select|option/.test(event.target.nodeName)&&!event.relatedTarget){self.hide(event)}})}}if(options.hide.fixed){targets.hide=targets.hide.add(tooltip);tooltip.bind("mouseover"+namespace,function(){if(!tooltip.hasClass(disabled)){clearTimeout(self.timers.hide)}})}else if(/mouse(over|enter)/i.test(options.show.event)){targets.hide.bind("mouseleave"+namespace,function(event){clearTimeout(self.timers.show)})}if((""+options.hide.event).indexOf("unfocus")>-1){posOptions.container.closest("html").bind("mousedown"+namespace,function(event){var elem=$(event.target),enabled=self.rendered&&!tooltip.hasClass(disabled)&&tooltip[0].offsetWidth>0,isAncestor=elem.parents(selector).filter(tooltip[0]).length>0;if(elem[0]!==target[0]&&elem[0]!==tooltip[0]&&!isAncestor&&!target.has(elem[0]).length&&!elem.attr("disabled")){self.hide(event)}})}if("number"===typeof options.hide.inactive){targets.show.bind("qtip-"+id+"-inactive",inactiveMethod);$.each(QTIP.inactiveEvents,function(index,type){targets.hide.add(elements.tooltip).bind(type+namespace+"-inactive",inactiveMethod)})}$.each(events.hide,function(index,type){var showIndex=$.inArray(type,events.show),targetHide=$(targets.hide);if(showIndex>-1&&targetHide.add(targets.show).length===targetHide.length||type==="unfocus"){targets.show.bind(type+namespace,function(event){if(tooltip[0].offsetWidth>0){hideMethod(event)}else{showMethod(event)}});delete events.show[showIndex]}else{targets.hide.bind(type+namespace,hideMethod)}});$.each(events.show,function(index,type){targets.show.bind(type+namespace,showMethod)});if("number"===typeof options.hide.distance){targets.show.add(tooltip).bind("mousemove"+namespace,function(event){var origin=cache.origin||{},limit=options.hide.distance,abs=Math.abs;if(abs(event.pageX-origin.pageX)>=limit||abs(event.pageY-origin.pageY)>=limit){self.hide(event)}})}if(posOptions.target==="mouse"){targets.show.bind("mousemove"+namespace,function(event){MOUSE={pageX:event.pageX,pageY:event.pageY,type:"mousemove"}});if(posOptions.adjust.mouse){if(options.hide.event){tooltip.bind("mouseleave"+namespace,function(event){if((event.relatedTarget||event.target)!==targets.show[0]){self.hide(event)}});elements.target.bind("mouseenter"+namespace+" mouseleave"+namespace,function(event){cache.onTarget=event.type==="mouseenter"})}targets.document.bind("mousemove"+namespace,function(event){if(self.rendered&&cache.onTarget&&!tooltip.hasClass(disabled)&&tooltip[0].offsetWidth>0){self.reposition(event||MOUSE)}})}}if(posOptions.adjust.resize||targets.viewport.length){($.event.special.resize?targets.viewport:targets.window).bind("resize"+namespace,repositionMethod)}if(targets.viewport.length||IE6&&tooltip.css("position")==="fixed"){targets.viewport.bind("scroll"+namespace,repositionMethod)}}function unassignEvents(){var targets=[options.show.target[0],options.hide.target[0],self.rendered&&elements.tooltip[0],options.position.container[0],options.position.viewport[0],options.position.container.closest("html")[0],window,document];if(self.rendered){$([]).pushStack($.grep(targets,function(i){return typeof i==="object"})).unbind(namespace)}else{options.show.target.unbind(namespace+"-create")}}self.checks.builtin={"^id$":function(obj,o,v){var id=v===TRUE?QTIP.nextid:v,tooltipID=uitooltip+"-"+id;if(id!==FALSE&&id.length>0&&!$("#"+tooltipID).length){tooltip[0].id=tooltipID;elements.content[0].id=tooltipID+"-content";elements.title[0].id=tooltipID+"-title"}},"^content.text$":function(obj,o,v){updateContent(v)},"^content.title.text$":function(obj,o,v){if(!v){return removeTitle()}if(!elements.title&&v){createTitle()}updateTitle(v)},"^content.title.button$":function(obj,o,v){updateButton(v)},"^position.(my|at)$":function(obj,o,v){if("string"===typeof v){obj[o]=new PLUGINS.Corner(v)}},"^position.container$":function(obj,o,v){if(self.rendered){tooltip.appendTo(v)}},"^show.ready$":function(){if(!self.rendered){self.render(1)}else{self.toggle(TRUE)}},"^style.classes$":function(obj,o,v){tooltip.attr("class",uitooltip+" qtip "+v)},"^style.widget|content.title":setWidget,"^events.(render|show|move|hide|focus|blur)$":function(obj,o,v){tooltip[($.isFunction(v)?"":"un")+"bind"]("tooltip"+o,v)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){var posOptions=options.position;tooltip.attr("tracking",posOptions.target==="mouse"&&posOptions.adjust.mouse);unassignEvents();assignEvents()}};$.extend(self,{render:function(show){if(self.rendered){return self}var text=options.content.text,title=options.content.title.text,posOptions=options.position,callback=$.Event("tooltiprender");$.attr(target[0],"aria-describedby",tooltipID);tooltip=elements.tooltip=$("<div/>",{id:tooltipID,"class":uitooltip+" qtip "+defaultClass+" "+options.style.classes+" "+uitooltip+"-pos-"+options.position.my.abbrev(),width:options.style.width||"",height:options.style.height||"",tracking:posOptions.target==="mouse"&&posOptions.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":FALSE,"aria-describedby":tooltipID+"-content","aria-hidden":TRUE}).toggleClass(disabled,cache.disabled).data("qtip",self).appendTo(options.position.container).append(elements.content=$("<div />",{"class":uitooltip+"-content",id:tooltipID+"-content","aria-atomic":TRUE}));self.rendered=-1;isDrawing=1;isPositioning=1;if(title){createTitle();if(!$.isFunction(title)){updateTitle(title,FALSE)}}if(!$.isFunction(text)){updateContent(text,FALSE)}self.rendered=TRUE;setWidget();$.each(options.events,function(name,callback){if($.isFunction(callback)){tooltip.bind(name==="toggle"?"tooltipshow tooltiphide":"tooltip"+name,callback)}});$.each(PLUGINS,function(){if(this.initialize==="render"){this(self)}});assignEvents();tooltip.queue("fx",function(next){callback.originalEvent=cache.event;tooltip.trigger(callback,[self]);isDrawing=0;isPositioning=0;self.redraw();if(options.show.ready||show){self.toggle(TRUE,cache.event,FALSE)}next()});return self},get:function(notation){var result,o;switch(notation.toLowerCase()){case"dimensions":result={height:tooltip.outerHeight(),width:tooltip.outerWidth()};break;case"offset":result=PLUGINS.offset(tooltip,options.position.container);break;default:o=convertNotation(notation.toLowerCase());result=o[0][o[1]];result=result.precedance?result.string():result;break}return result},set:function(option,value){var rmove=/^position\.(my|at|adjust|target|container)|style|content|show\.ready/i,rdraw=/^content\.(title|attr)|style/i,reposition=FALSE,redraw=FALSE,checks=self.checks,name;function callback(notation,args){var category,rule,match;for(category in checks){for(rule in checks[category]){if(match=new RegExp(rule,"i").exec(notation)){args.push(match);checks[category][rule].apply(self,args)}}}}if("string"===typeof option){name=option;option={};option[name]=value}else{option=$.extend(TRUE,{},option)}$.each(option,function(notation,value){var obj=convertNotation(notation.toLowerCase()),previous;previous=obj[0][obj[1]];obj[0][obj[1]]="object"===typeof value&&value.nodeType?$(value):value;option[notation]=[obj[0],obj[1],value,previous];reposition=rmove.test(notation)||reposition;redraw=rdraw.test(notation)||redraw});sanitizeOptions(options);isPositioning=isDrawing=1;$.each(option,callback);isPositioning=isDrawing=0;if(self.rendered&&tooltip[0].offsetWidth>0){if(reposition){self.reposition(options.position.target==="mouse"?NULL:cache.event)}if(redraw){self.redraw()}}return self},toggle:function(state,event){if(!self.rendered){return state?self.render(1):self}var type=state?"show":"hide",opts=options[type],otherOpts=options[!state?"show":"hide"],posOptions=options.position,contentOptions=options.content,visible=tooltip[0].offsetWidth>0,animate=state||opts.target.length===1,sameTarget=!event||opts.target.length<2||cache.target[0]===event.target,delay,callback;if((typeof state).search("boolean|number")){state=!visible}if(!tooltip.is(":animated")&&visible===state&&sameTarget){return self}if(event){if(/over|enter/.test(event.type)&&/out|leave/.test(cache.event.type)&&options.show.target.add(event.target).length===options.show.target.length&&tooltip.has(event.relatedTarget).length){return self}cache.event=$.extend({},event)}callback=$.Event("tooltip"+type);callback.originalEvent=event?cache.event:NULL;tooltip.trigger(callback,[self,90]);if(callback.isDefaultPrevented()){return self}$.attr(tooltip[0],"aria-hidden",!!!state);if(state){cache.origin=$.extend({},MOUSE);self.focus(event);if($.isFunction(contentOptions.text)){updateContent(contentOptions.text,FALSE)}if($.isFunction(contentOptions.title.text)){updateTitle(contentOptions.title.text,FALSE)}if(!trackingBound&&posOptions.target==="mouse"&&posOptions.adjust.mouse){$(document).bind("mousemove.qtip",function(event){MOUSE={pageX:event.pageX,pageY:event.pageY,type:"mousemove"}});trackingBound=TRUE}self.reposition(event,arguments[2]);if(callback.solo=!!opts.solo){$(selector,opts.solo).not(tooltip).qtip("hide",callback)}}else{clearTimeout(self.timers.show);delete cache.origin;if(trackingBound&&!$(selector+'[tracking="true"]:visible',opts.solo).not(tooltip).length){$(document).unbind("mousemove.qtip");trackingBound=FALSE}self.blur(event)}function after(){if(state){if($.browser.msie){tooltip[0].style.removeAttribute("filter")}tooltip.css("overflow","");if("string"===typeof opts.autofocus){$(opts.autofocus,tooltip).focus()}opts.target.trigger("qtip-"+id+"-inactive")}else{tooltip.css({display:"",visibility:"",opacity:"",left:"",top:""})}callback=$.Event("tooltip"+(state?"visible":"hidden"));callback.originalEvent=event?cache.event:NULL;tooltip.trigger(callback,[self])}if(opts.effect===FALSE||animate===FALSE){tooltip[type]();after.call(tooltip)}else if($.isFunction(opts.effect)){tooltip.stop(1,1);opts.effect.call(tooltip,self);tooltip.queue("fx",function(n){after();n()})}else{tooltip.fadeTo(90,state?1:0,after)}if(state){opts.target.trigger("qtip-"+id+"-inactive")}return self},show:function(event){return self.toggle(TRUE,event)},hide:function(event){return self.toggle(FALSE,event)},focus:function(event){if(!self.rendered){return self}var qtips=$(selector),curIndex=parseInt(tooltip[0].style.zIndex,10),newIndex=QTIP.zindex+qtips.length,cachedEvent=$.extend({},event),focusedElem,callback;if(!tooltip.hasClass(focusClass)){callback=$.Event("tooltipfocus");callback.originalEvent=cachedEvent;tooltip.trigger(callback,[self,newIndex]);if(!callback.isDefaultPrevented()){if(curIndex!==newIndex){qtips.each(function(){if(this.style.zIndex>curIndex){this.style.zIndex=this.style.zIndex-1}});qtips.filter("."+focusClass).qtip("blur",cachedEvent)}tooltip.addClass(focusClass)[0].style.zIndex=newIndex}}return self},blur:function(event){var cachedEvent=$.extend({},event),callback;tooltip.removeClass(focusClass);callback=$.Event("tooltipblur");callback.originalEvent=cachedEvent;tooltip.trigger(callback,[self]);return self},reposition:function(event,effect){if(!self.rendered||isPositioning){return self}isPositioning=1;var target=options.position.target,posOptions=options.position,my=posOptions.my,at=posOptions.at,adjust=posOptions.adjust,method=adjust.method.split(" "),elemWidth=tooltip.outerWidth(),elemHeight=tooltip.outerHeight(),targetWidth=0,targetHeight=0,callback=$.Event("tooltipmove"),fixed=tooltip.css("position")==="fixed",viewport=posOptions.viewport,position={left:0,top:0},container=posOptions.container,visible=tooltip[0].offsetWidth>0,adjusted,offset,win;

- if($.isArray(target)&&target.length===2){at={x:LEFT,y:TOP};position={left:target[0],top:target[1]}}else if(target==="mouse"&&(event&&event.pageX||cache.event.pageX)){at={x:LEFT,y:TOP};event=(event&&(event.type==="resize"||event.type==="scroll")?cache.event:event&&event.pageX&&event.type==="mousemove"?event:MOUSE&&MOUSE.pageX&&(adjust.mouse||!event||!event.pageX)?{pageX:MOUSE.pageX,pageY:MOUSE.pageY}:!adjust.mouse&&cache.origin&&cache.origin.pageX&&options.show.distance?cache.origin:event)||event||cache.event||MOUSE||{};position={top:event.pageY,left:event.pageX}}else{if(target==="event"&&event&&event.target&&event.type!=="scroll"&&event.type!=="resize"){cache.target=$(event.target)}else if(target!=="event"){cache.target=$(target.jquery?target:elements.target)}target=cache.target;target=$(target).eq(0);if(target.length===0){return self}else if(target[0]===document||target[0]===window){targetWidth=PLUGINS.iOS?window.innerWidth:target.width();targetHeight=PLUGINS.iOS?window.innerHeight:target.height();if(target[0]===window){position={top:(viewport||target).scrollTop(),left:(viewport||target).scrollLeft()}}}else if(PLUGINS.imagemap&&target.is("area")){adjusted=PLUGINS.imagemap(self,target,at,PLUGINS.viewport?method:FALSE)}else if(PLUGINS.svg&&typeof target[0].xmlbase==="string"){adjusted=PLUGINS.svg(self,target,at,PLUGINS.viewport?method:FALSE)}else{targetWidth=target.outerWidth();targetHeight=target.outerHeight();position=PLUGINS.offset(target,container)}if(adjusted){targetWidth=adjusted.width;targetHeight=adjusted.height;offset=adjusted.offset;position=adjusted.position}if(PLUGINS.iOS>3.1&&PLUGINS.iOS<4.1||PLUGINS.iOS>=4.3&&PLUGINS.iOS<4.33||!PLUGINS.iOS&&fixed){win=$(window);position.left-=win.scrollLeft();position.top-=win.scrollTop()}position.left+=at.x===RIGHT?targetWidth:at.x===CENTER?targetWidth/2:0;position.top+=at.y===BOTTOM?targetHeight:at.y===CENTER?targetHeight/2:0}position.left+=adjust.x+(my.x===RIGHT?-elemWidth:my.x===CENTER?-elemWidth/2:0);position.top+=adjust.y+(my.y===BOTTOM?-elemHeight:my.y===CENTER?-elemHeight/2:0);if(PLUGINS.viewport){position.adjusted=PLUGINS.viewport(self,position,posOptions,targetWidth,targetHeight,elemWidth,elemHeight);if(offset&&position.adjusted.left){position.left+=offset.left}if(offset&&position.adjusted.top){position.top+=offset.top}}else{position.adjusted={left:0,top:0}}callback.originalEvent=$.extend({},event);tooltip.trigger(callback,[self,position,viewport.elem||viewport]);if(callback.isDefaultPrevented()){return self}delete position.adjusted;if(effect===FALSE||!visible||isNaN(position.left)||isNaN(position.top)||target==="mouse"||!$.isFunction(posOptions.effect)){tooltip.css(position)}else if($.isFunction(posOptions.effect)){posOptions.effect.call(tooltip,self,$.extend({},position));tooltip.queue(function(next){$(this).css({opacity:"",height:""});if($.browser.msie){this.style.removeAttribute("filter")}next()})}isPositioning=0;return self},redraw:function(){if(self.rendered<1||isDrawing){return self}var style=options.style,container=options.position.container,perc,width,max,min;isDrawing=1;if(style.height){tooltip.css(HEIGHT,style.height)}if(style.width){tooltip.css(WIDTH,style.width)}else{tooltip.css(WIDTH,"").appendTo(redrawContainer);width=tooltip.width();if(width%2){width+=1}max=tooltip.css("max-width")||"";min=tooltip.css("min-width")||"";perc=(max+min).indexOf("%")>-1?container.width()/100:0;max=(max.indexOf("%")>-1?perc:1)*parseInt(max,10)||width;min=(min.indexOf("%")>-1?perc:1)*parseInt(min,10)||0;width=max+min?Math.min(Math.max(width,min),max):width;tooltip.css(WIDTH,Math.round(width)).appendTo(container)}isDrawing=0;return self},disable:function(state){if("boolean"!==typeof state){state=!(tooltip.hasClass(disabled)||cache.disabled)}if(self.rendered){tooltip.toggleClass(disabled,state);$.attr(tooltip[0],"aria-disabled",state)}else{cache.disabled=!!state}return self},enable:function(){return self.disable(FALSE)},destroy:function(){var t=target[0],title=$.attr(t,oldtitle),elemAPI=target.data("qtip");self.destroyed=TRUE;if(self.rendered){tooltip.stop(1,0).remove();$.each(self.plugins,function(){if(this.destroy){this.destroy()}})}clearTimeout(self.timers.show);clearTimeout(self.timers.hide);unassignEvents();if(!elemAPI||self===elemAPI){$.removeData(t,"qtip");if(options.suppress&&title){$.attr(t,"title",title);target.removeAttr(oldtitle)}target.removeAttr("aria-describedby")}target.unbind(".qtip-"+id);delete usedIDs[self.id];return target}})}function init(id,opts){var obj,posOptions,attr,config,title,elem=$(this),docBody=$(document.body),newTarget=this===document?docBody:elem,metadata=elem.metadata?elem.metadata(opts.metadata):NULL,metadata5=opts.metadata.type==="html5"&&metadata?metadata[opts.metadata.name]:NULL,html5=elem.data(opts.metadata.name||"qtipopts");try{html5=typeof html5==="string"?$.parseJSON(html5):html5}catch(e){}config=$.extend(TRUE,{},QTIP.defaults,opts,typeof html5==="object"?sanitizeOptions(html5):NULL,sanitizeOptions(metadata5||metadata));posOptions=config.position;config.id=id;if("boolean"===typeof config.content.text){attr=elem.attr(config.content.attr);if(config.content.attr!==FALSE&&attr){config.content.text=attr}else{return FALSE}}if(!posOptions.container.length){posOptions.container=docBody}if(posOptions.target===FALSE){posOptions.target=newTarget}if(config.show.target===FALSE){config.show.target=newTarget}if(config.show.solo===TRUE){config.show.solo=posOptions.container.closest("body")}if(config.hide.target===FALSE){config.hide.target=newTarget}if(config.position.viewport===TRUE){config.position.viewport=posOptions.container}posOptions.container=posOptions.container.eq(0);posOptions.at=new PLUGINS.Corner(posOptions.at);posOptions.my=new PLUGINS.Corner(posOptions.my);if($.data(this,"qtip")){if(config.overwrite){elem.qtip("destroy")}else if(config.overwrite===FALSE){return FALSE}}if(config.suppress&&(title=$.attr(this,"title"))){$(this).removeAttr("title").attr(oldtitle,title).attr("title","")}obj=new QTip(elem,config,id,!!attr);$.data(this,"qtip",obj);elem.bind("remove.qtip-"+id+" removeqtip.qtip-"+id,function(){obj.destroy()});return obj}QTIP=$.fn.qtip=function(options,notation,newValue){var command=(""+options).toLowerCase(),returned=NULL,args=$.makeArray(arguments).slice(1),event=args[args.length-1],opts=this[0]?$.data(this[0],"qtip"):NULL;if(!arguments.length&&opts||command==="api"){return opts}else if("string"===typeof options){this.each(function(){var api=$.data(this,"qtip");if(!api){return TRUE}if(event&&event.timeStamp){api.cache.event=event}if((command==="option"||command==="options")&&notation){if($.isPlainObject(notation)||newValue!==undefined){api.set(notation,newValue)}else{returned=api.get(notation);return FALSE}}else if(api[command]){api[command].apply(api[command],args)}});return returned!==NULL?returned:this}else if("object"===typeof options||!arguments.length){opts=sanitizeOptions($.extend(TRUE,{},options));return QTIP.bind.call(this,opts,event)}};QTIP.bind=function(opts,event){return this.each(function(i){var options,targets,events,namespace,api,id;id=$.isArray(opts.id)?opts.id[i]:opts.id;id=!id||id===FALSE||id.length<1||usedIDs[id]?QTIP.nextid++:usedIDs[id]=id;namespace=".qtip-"+id+"-create";api=init.call(this,id,opts);if(api===FALSE){return TRUE}options=api.options;$.each(PLUGINS,function(){if(this.initialize==="initialize"){this(api)}});targets={show:options.show.target,hide:options.hide.target};events={show:$.trim(""+options.show.event).replace(/ /g,namespace+" ")+namespace,hide:$.trim(""+options.hide.event).replace(/ /g,namespace+" ")+namespace};if(/mouse(over|enter)/i.test(events.show)&&!/mouse(out|leave)/i.test(events.hide)){events.hide+=" mouseleave"+namespace}targets.show.bind("mousemove"+namespace,function(event){MOUSE={pageX:event.pageX,pageY:event.pageY,type:"mousemove"};api.cache.onTarget=TRUE});function hoverIntent(event){function render(){api.render(typeof event==="object"||options.show.ready);targets.show.add(targets.hide).unbind(namespace)}if(api.cache.disabled){return FALSE}api.cache.event=$.extend({},event);api.cache.target=event?$(event.target):[undefined];if(options.show.delay>0){clearTimeout(api.timers.show);api.timers.show=setTimeout(render,options.show.delay);if(events.show!==events.hide){targets.hide.bind(events.hide,function(){clearTimeout(api.timers.show)})}}else{render()}}targets.show.bind(events.show,hoverIntent);if(options.show.ready||options.prerender){hoverIntent(event)}})};PLUGINS=QTIP.plugins={Corner:function(corner){corner=(""+corner).replace(/([A-Z])/," $1").replace(/middle/gi,CENTER).toLowerCase();this.x=(corner.match(/left|right/i)||corner.match(/center/)||["inherit"])[0].toLowerCase();this.y=(corner.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase();var f=corner.charAt(0);this.precedance=f==="t"||f==="b"?Y:X;this.string=function(){return this.precedance===Y?this.y+this.x:this.x+this.y};this.abbrev=function(){var x=this.x.substr(0,1),y=this.y.substr(0,1);return x===y?x:this.precedance===Y?y+x:x+y};this.invertx=function(center){this.x=this.x===LEFT?RIGHT:this.x===RIGHT?LEFT:center||this.x};this.inverty=function(center){this.y=this.y===TOP?BOTTOM:this.y===BOTTOM?TOP:center||this.y};this.clone=function(){return{x:this.x,y:this.y,precedance:this.precedance,string:this.string,abbrev:this.abbrev,clone:this.clone,invertx:this.invertx,inverty:this.inverty}}},offset:function(elem,container){var pos=elem.offset(),docBody=elem.closest("body")[0],parent=container,scrolled,coffset,overflow;function scroll(e,i){pos.left+=i*e.scrollLeft();pos.top+=i*e.scrollTop()}if(parent){do{if(parent.css("position")!=="static"){coffset=parent.position();pos.left-=coffset.left+(parseInt(parent.css("borderLeftWidth"),10)||0)+(parseInt(parent.css("marginLeft"),10)||0);pos.top-=coffset.top+(parseInt(parent.css("borderTopWidth"),10)||0)+(parseInt(parent.css("marginTop"),10)||0);if(!scrolled&&(overflow=parent.css("overflow"))!=="hidden"&&overflow!=="visible"){scrolled=parent}}}while((parent=$(parent[0].offsetParent)).length);if(scrolled&&scrolled[0]!==docBody){scroll(scrolled,1)}}return pos},iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||FALSE,fn:{attr:function(attr,val){if(this.length){var self=this[0],title="title",api=$.data(self,"qtip");if(attr===title&&api&&"object"===typeof api&&api.options.suppress){if(arguments.length<2){return $.attr(self,oldtitle)}if(api&&api.options.content.attr===title&&api.cache.attr){api.set("content.text",val)}return this.attr(oldtitle,val)}}return $.fn["attr"+replaceSuffix].apply(this,arguments)},clone:function(keepData){var titles=$([]),title="title",elems=$.fn["clone"+replaceSuffix].apply(this,arguments);if(!keepData){elems.filter("["+oldtitle+"]").attr("title",function(){return $.attr(this,oldtitle)}).removeAttr(oldtitle)}return elems}}};$.each(PLUGINS.fn,function(name,func){if(!func||$.fn[name+replaceSuffix]){return TRUE}var old=$.fn[name+replaceSuffix]=$.fn[name];$.fn[name]=function(){return func.apply(this,arguments)||old.apply(this,arguments)}});if(!$.ui){$["cleanData"+replaceSuffix]=$.cleanData;$.cleanData=function(elems){for(var i=0,elem;(elem=elems[i])!==undefined;i++){try{$(elem).triggerHandler("removeqtip")}catch(e){}}$["cleanData"+replaceSuffix](elems)}}QTIP.version="@VERSION";QTIP.nextid=0;QTIP.inactiveEvents="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" ");QTIP.zindex=15e3;QTIP.defaults={prerender:FALSE,id:FALSE,overwrite:TRUE,suppress:TRUE,content:{text:TRUE,attr:"title",title:{text:FALSE,button:FALSE}},position:{my:"top left",at:"bottom right",target:FALSE,container:FALSE,viewport:FALSE,adjust:{x:0,y:0,mouse:TRUE,resize:TRUE,method:"flip flip"},effect:function(api,pos,viewport){$(this).animate(pos,{duration:200,queue:FALSE})}},show:{target:FALSE,event:"mouseenter",effect:TRUE,delay:90,solo:FALSE,ready:FALSE,autofocus:FALSE},hide:{target:FALSE,event:"mouseleave",effect:TRUE,delay:0,fixed:FALSE,inactive:FALSE,leave:"window",distance:FALSE},style:{classes:"",widget:FALSE,width:FALSE,height:FALSE,def:TRUE},events:{render:NULL,move:NULL,show:NULL,hide:NULL,toggle:NULL,visible:NULL,hidden:NULL,focus:NULL,blur:NULL}};PLUGINS.svg=function(api,svg,corner,adjustMethod){var doc=$(document),elem=svg[0],result={width:0,height:0,position:{top:1e10,left:1e10}},box,mtx,root,point,tPoint;while(!elem.getBBox){elem=elem.parentNode}if(elem.getBBox&&elem.parentNode){box=elem.getBBox();mtx=elem.getScreenCTM();root=elem.farthestViewportElement||elem;if(!root.createSVGPoint){return result}point=root.createSVGPoint();point.x=box.x;point.y=box.y;tPoint=point.matrixTransform(mtx);result.position.left=tPoint.x;result.position.top=tPoint.y;point.x+=box.width;point.y+=box.height;tPoint=point.matrixTransform(mtx);result.width=tPoint.x-result.position.left;result.height=tPoint.y-result.position.top;result.position.left+=doc.scrollLeft();result.position.top+=doc.scrollTop()}return result};function Ajax(api){var self=this,tooltip=api.elements.tooltip,opts=api.options.content.ajax,defaults=QTIP.defaults.content.ajax,namespace=".qtip-ajax",rscript=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,first=TRUE,stop=FALSE,xhr;api.checks.ajax={"^content.ajax":function(obj,name,v){if(name==="ajax"){opts=v}if(name==="once"){self.init()}else if(opts&&opts.url){self.load()}else{tooltip.unbind(namespace)}}};$.extend(self,{init:function(){if(opts&&opts.url){tooltip.unbind(namespace)[opts.once?"one":"bind"]("tooltipshow"+namespace,self.load)}return self},load:function(event){if(stop){stop=FALSE;return}var hasSelector=opts.url.lastIndexOf(" "),url=opts.url,selector,hideFirst=!opts.loading&&first;if(hideFirst){try{event.preventDefault()}catch(e){}}else if(event&&event.isDefaultPrevented()){return self}if(xhr&&xhr.abort){xhr.abort()}if(hasSelector>-1){selector=url.substr(hasSelector);url=url.substr(0,hasSelector)}function after(){var complete;if(api.destroyed){return}first=FALSE;if(hideFirst){stop=TRUE;api.show(event.originalEvent)}if((complete=defaults.complete||opts.complete)&&$.isFunction(complete)){complete.apply(opts.context||api,arguments)}}function successHandler(content,status,jqXHR){var success;if(api.destroyed){return}if(selector&&"string"===typeof content){content=$("<div/>").append(content.replace(rscript,"")).find(selector)}if((success=defaults.success||opts.success)&&$.isFunction(success)){success.call(opts.context||api,content,status,jqXHR)}else{api.set("content.text",content)}}function errorHandler(xhr,status,error){if(api.destroyed||xhr.status===0){return}api.set("content.text",status+": "+error)}xhr=$.ajax($.extend({error:defaults.error||errorHandler,context:api},opts,{url:url,success:successHandler,complete:after}))},destroy:function(){if(xhr&&xhr.abort){xhr.abort()}api.destroyed=TRUE}});self.init()}PLUGINS.ajax=function(api){var self=api.plugins.ajax;return"object"===typeof self?self:api.plugins.ajax=new Ajax(api)};PLUGINS.ajax.initialize="render";PLUGINS.ajax.sanitize=function(options){var content=options.content,opts;if(content&&"ajax"in content){opts=content.ajax;if(typeof opts!=="object"){opts=options.content.ajax={url:opts}}if("boolean"!==typeof opts.once&&opts.once){opts.once=!!opts.once}}};$.extend(TRUE,QTIP.defaults,{content:{ajax:{loading:TRUE,once:TRUE}}});function calculateTip(corner,width,height){var width2=Math.ceil(width/2),height2=Math.ceil(height/2),tips={bottomright:[[0,0],[width,height],[width,0]],bottomleft:[[0,0],[width,0],[0,height]],topright:[[0,height],[width,0],[width,height]],topleft:[[0,0],[0,height],[width,height]],topcenter:[[0,height],[width2,0],[width,height]],bottomcenter:[[0,0],[width,0],[width2,height]],rightcenter:[[0,0],[width,height2],[0,height]],leftcenter:[[width,0],[width,height],[0,height2]]};tips.lefttop=tips.bottomright;tips.righttop=tips.bottomleft;tips.leftbottom=tips.topright;tips.rightbottom=tips.topleft;return tips[corner.string()]}function Tip(qTip,command){var self=this,opts=qTip.options.style.tip,elems=qTip.elements,tooltip=elems.tooltip,cache={top:0,left:0},size={width:opts.width,height:opts.height},color={},border=opts.border||0,namespace=".qtip-tip",hasCanvas=!!($("<canvas />")[0]||{}).getContext;self.corner=NULL;self.mimic=NULL;self.border=border;self.offset=opts.offset;self.size=size;qTip.checks.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){if(!self.init()){self.destroy()}qTip.reposition()},"^style.tip.(height|width)$":function(){size={width:opts.width,height:opts.height};self.create();self.update();qTip.reposition()},"^content.title.text|style.(classes|widget)$":function(){if(elems.tip&&elems.tip.length){self.update()}}};function whileVisible(callback){var visible=tooltip.is(":visible");tooltip.show();callback();tooltip.toggle(visible)}function swapDimensions(){size.width=opts.height;size.height=opts.width}function resetDimensions(){size.width=opts.width;size.height=opts.height}function reposition(event,api,pos,viewport){if(!elems.tip){return}var newCorner=self.corner.clone(),adjust=pos.adjusted,method=qTip.options.position.adjust.method.split(" "),horizontal=method[0],vertical=method[1]||method[0],shift={left:FALSE,top:FALSE,x:0,y:0},offset,css={},props;if(self.corner.fixed!==TRUE){if(horizontal===SHIFT&&newCorner.precedance===X&&adjust.left&&newCorner.y!==CENTER){newCorner.precedance=newCorner.precedance===X?Y:X}else if(horizontal!==SHIFT&&adjust.left){newCorner.x=newCorner.x===CENTER?adjust.left>0?LEFT:RIGHT:newCorner.x===LEFT?RIGHT:LEFT}if(vertical===SHIFT&&newCorner.precedance===Y&&adjust.top&&newCorner.x!==CENTER){newCorner.precedance=newCorner.precedance===Y?X:Y}else if(vertical!==SHIFT&&adjust.top){newCorner.y=newCorner.y===CENTER?adjust.top>0?TOP:BOTTOM:newCorner.y===TOP?BOTTOM:TOP}if(newCorner.string()!==cache.corner.string()&&(cache.top!==adjust.top||cache.left!==adjust.left)){self.update(newCorner,FALSE)}}offset=self.position(newCorner,adjust);offset[newCorner.x]+=parseWidth(newCorner,newCorner.x);offset[newCorner.y]+=parseWidth(newCorner,newCorner.y);if(offset.right!==undefined){offset.left=-offset.right}if(offset.bottom!==undefined){offset.top=-offset.bottom}offset.user=Math.max(0,opts.offset);if(shift.left=horizontal===SHIFT&&!!adjust.left){if(newCorner.x===CENTER){css["margin-left"]=shift.x=offset["margin-left"]-adjust.left}else{props=offset.right!==undefined?[adjust.left,-offset.left]:[-adjust.left,offset.left];if((shift.x=Math.max(props[0],props[1]))>props[0]){pos.left-=adjust.left;shift.left=FALSE}css[offset.right!==undefined?RIGHT:LEFT]=shift.x}}if(shift.top=vertical===SHIFT&&!!adjust.top){if(newCorner.y===CENTER){css["margin-top"]=shift.y=offset["margin-top"]-adjust.top}else{props=offset.bottom!==undefined?[adjust.top,-offset.top]:[-adjust.top,offset.top];if((shift.y=Math.max(props[0],props[1]))>props[0]){pos.top-=adjust.top;shift.top=FALSE}css[offset.bottom!==undefined?BOTTOM:TOP]=shift.y}}elems.tip.css(css).toggle(!(shift.x&&shift.y||newCorner.x===CENTER&&shift.y||newCorner.y===CENTER&&shift.x));pos.left-=offset.left.charAt?offset.user:horizontal!==SHIFT||shift.top||!shift.left&&!shift.top?offset.left:0;pos.top-=offset.top.charAt?offset.user:vertical!==SHIFT||shift.left||!shift.left&&!shift.top?offset.top:0;cache.left=adjust.left;cache.top=adjust.top;cache.corner=newCorner.clone()}function parseCorner(){var corner=opts.corner,posOptions=qTip.options.position,at=posOptions.at,my=posOptions.my.string?posOptions.my.string():posOptions.my;if(corner===FALSE||my===FALSE&&at===FALSE){return FALSE}else{if(corner===TRUE){self.corner=new PLUGINS.Corner(my)}else if(!corner.string){self.corner=new PLUGINS.Corner(corner);self.corner.fixed=TRUE}}cache.corner=new PLUGINS.Corner(self.corner.string());return self.corner.string()!=="centercenter"}function parseWidth(corner,side,use){side=!side?corner[corner.precedance]:side;var isTitleTop=elems.titlebar&&corner.y===TOP,elem=isTitleTop?elems.titlebar:tooltip,borderSide="border-"+side+"-width",css=function(elem){return parseInt(elem.css(borderSide),10)},val;whileVisible(function(){val=(use?css(use):css(elems.content)||css(elem)||css(tooltip))||0});return val}function parseRadius(corner){var isTitleTop=elems.titlebar&&corner.y===TOP,elem=isTitleTop?elems.titlebar:elems.content,moz=$.browser.mozilla,prefix=moz?"-moz-":$.browser.webkit?"-webkit-":"",nonStandard="border-radius-"+corner.y+corner.x,standard="border-"+corner.y+"-"+corner.x+"-radius",css=function(c){return parseInt(elem.css(c),10)||parseInt(tooltip.css(c),10)},val;whileVisible(function(){val=css(standard)||css(prefix+standard)||css(prefix+nonStandard)||css(nonStandard)||0});return val}function parseColours(actual){var i,fill,border,tip=elems.tip.css("cssText",""),corner=actual||self.corner,invalid=/rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i,borderSide="border-"+corner[corner.precedance]+"-color",bgColor="background-color",transparent="transparent",important=" !important",titlebar=elems.titlebar,useTitle=titlebar&&(corner.y===TOP||corner.y===CENTER&&tip.position().top+size.height/2+opts.offset<titlebar.outerHeight(TRUE)),colorElem=useTitle?titlebar:elems.content;function css(elem,prop,compare){var val=elem.css(prop)||transparent;if(compare&&val===elem.css(compare)){return FALSE}else{return invalid.test(val)?FALSE:val}}whileVisible(function(){color.fill=css(tip,bgColor)||css(colorElem,bgColor)||css(elems.content,bgColor)||css(tooltip,bgColor)||tip.css(bgColor);color.border=css(tip,borderSide,"color")||css(colorElem,borderSide,"color")||css(elems.content,borderSide,"color")||css(tooltip,borderSide,"color")||tooltip.css(borderSide);$("*",tip).add(tip).css("cssText",bgColor+":"+transparent+important+";border:0"+important+";")})}function calculateSize(corner){var y=corner.precedance===Y,width=size[y?WIDTH:HEIGHT],height=size[y?HEIGHT:WIDTH],isCenter=corner.string().indexOf(CENTER)>-1,base=width*(isCenter?.5:1),pow=Math.pow,round=Math.round,bigHyp,ratio,result,smallHyp=Math.sqrt(pow(base,2)+pow(height,2)),hyp=[border/base*smallHyp,border/height*smallHyp];hyp[2]=Math.sqrt(pow(hyp[0],2)-pow(border,2));hyp[3]=Math.sqrt(pow(hyp[1],2)-pow(border,2));bigHyp=smallHyp+hyp[2]+hyp[3]+(isCenter?0:hyp[0]);ratio=bigHyp/smallHyp;result=[round(ratio*height),round(ratio*width)];return{height:result[y?0:1],width:result[y?1:0]}}$.extend(self,{init:function(){var enabled=parseCorner()&&(hasCanvas||$.browser.msie);if(enabled){self.create();self.update();tooltip.unbind(namespace).bind("tooltipmove"+namespace,reposition)}return enabled},create:function(){var width=size.width,height=size.height,vml;if(elems.tip){elems.tip.remove()}elems.tip=$("<div />",{"class":"ui-tooltip-tip"}).css({width:width,height:height}).prependTo(tooltip);if(hasCanvas){$("<canvas />").appendTo(elems.tip)[0].getContext("2d").save()}else{vml='<vml:shape coordorigin="0,0" style="display:inline-block; position:absolute; behavior:url(#default#VML);"></vml:shape>';elems.tip.html(vml+vml);$("*",elems.tip).bind("click mousedown",function(event){event.stopPropagation()})}},update:function(corner,position){var tip=elems.tip,inner=tip.children(),width=size.width,height=size.height,regular="px solid ",transparent="px dashed transparent",mimic=opts.mimic,round=Math.round,precedance,context,coords,translate,newSize;if(!corner){corner=cache.corner||self.corner}if(mimic===FALSE){mimic=corner}else{mimic=new PLUGINS.Corner(mimic);mimic.precedance=corner.precedance;if(mimic.x==="inherit"){mimic.x=corner.x}else if(mimic.y==="inherit"){mimic.y=corner.y}else if(mimic.x===mimic.y){mimic[corner.precedance]=corner[corner.precedance]}}precedance=mimic.precedance;if(corner.precedance===X){swapDimensions()}else{resetDimensions()}elems.tip.css({width:width=size.width,height:height=size.height});parseColours(corner);if(color.border!=="transparent"){border=parseWidth(corner,NULL);if(opts.border===0&&border>0){color.fill=color.border}self.border=border=opts.border!==TRUE?opts.border:border}else{self.border=border=0}coords=calculateTip(mimic,width,height);self.size=newSize=calculateSize(corner);tip.css(newSize);if(corner.precedance===Y){translate=[round(mimic.x===LEFT?border:mimic.x===RIGHT?newSize.width-width-border:(newSize.width-width)/2),round(mimic.y===TOP?newSize.height-height:0)]}else{translate=[round(mimic.x===LEFT?newSize.width-width:0),round(mimic.y===TOP?border:mimic.y===BOTTOM?newSize.height-height-border:(newSize.height-height)/2)]}if(hasCanvas){inner.attr(newSize);context=inner[0].getContext("2d");context.restore();context.save();context.clearRect(0,0,3e3,3e3);context.fillStyle=color.fill;context.strokeStyle=color.border;context.lineWidth=border*2;context.lineJoin="miter";context.miterLimit=100;context.translate(translate[0],translate[1]);context.beginPath();context.moveTo(coords[0][0],coords[0][1]);context.lineTo(coords[1][0],coords[1][1]);context.lineTo(coords[2][0],coords[2][1]);context.closePath();if(border){if(tooltip.css("background-clip")==="border-box"){context.strokeStyle=color.fill;context.stroke()}context.strokeStyle=color.border;context.stroke()}context.fill()}else{coords="m"+coords[0][0]+","+coords[0][1]+" l"+coords[1][0]+","+coords[1][1]+" "+coords[2][0]+","+coords[2][1]+" xe";translate[2]=border&&/^(r|b)/i.test(corner.string())?parseFloat($.browser.version,10)===8?2:1:0;inner.css({antialias:""+(mimic.string().indexOf(CENTER)>-1),left:translate[0]-translate[2]*Number(precedance===X),top:translate[1]-translate[2]*Number(precedance===Y),width:width+border,height:height+border}).each(function(i){var $this=$(this);$this[$this.prop?"prop":"attr"]({coordsize:width+border+" "+(height+border),path:coords,fillcolor:color.fill,filled:!!i,stroked:!i}).css({display:border||i?"block":"none"});if(!i&&$this.html()===""){$this.html('<vml:stroke weight="'+border*2+'px" color="'+color.border+'" miterlimit="1000" joinstyle="miter" '+' style="behavior:url(#default#VML); display:inline-block;" />')}})}if(position!==FALSE){self.position(corner)}},position:function(corner){var tip=elems.tip,position={},userOffset=Math.max(0,opts.offset),precedance,dimensions,corners;if(opts.corner===FALSE||!tip){return FALSE}corner=corner||self.corner;precedance=corner.precedance;dimensions=calculateSize(corner);corners=[corner.x,corner.y];if(precedance===X){corners.reverse()}$.each(corners,function(i,side){var b,bc,br;if(side===CENTER){b=precedance===Y?LEFT:TOP;position[b]="50%";position["margin-"+b]=-Math.round(dimensions[precedance===Y?WIDTH:HEIGHT]/2)+userOffset}else{b=parseWidth(corner,side);bc=parseWidth(corner,side,elems.content);br=parseRadius(corner);position[side]=i?bc:userOffset+(br>b?br:-b)}});position[corner[precedance]]-=dimensions[precedance===X?WIDTH:HEIGHT];tip.css({top:"",bottom:"",left:"",right:"",margin:""}).css(position);return position},destroy:function(){if(elems.tip){elems.tip.remove()}elems.tip=false;tooltip.unbind(namespace)}});self.init()}PLUGINS.tip=function(api){var self=api.plugins.tip;return"object"===typeof self?self:api.plugins.tip=new Tip(api)};PLUGINS.tip.initialize="render";PLUGINS.tip.sanitize=function(options){var style=options.style,opts;if(style&&"tip"in style){opts=options.style.tip;if(typeof opts!=="object"){options.style.tip={corner:opts}}if(!/string|boolean/i.test(typeof opts["corner"])){opts["corner"]=TRUE}if(typeof opts.width!=="number"){delete opts.width}if(typeof opts.height!=="number"){delete opts.height}if(typeof opts.border!=="number"&&opts.border!==TRUE){delete opts.border}if(typeof opts.offset!=="number"){delete opts.offset}}};$.extend(TRUE,QTIP.defaults,{style:{tip:{corner:TRUE,mimic:FALSE,width:6,height:6,border:TRUE,offset:0}}});function Modal(api){var self=this,options=api.options.show.modal,elems=api.elements,tooltip=elems.tooltip,overlaySelector="#qtip-overlay",globalNamespace=".qtipmodal",namespace=globalNamespace+api.id,attr="is-modal-qtip",docBody=$(document.body),focusableSelector=PLUGINS.modal.focusable.join(","),focusableElems={},overlay;api.checks.modal={"^show.modal.(on|blur)$":function(){self.init();elems.overlay.toggle(tooltip.is(":visible"))},"^content.text$":function(){updateFocusable()}};function updateFocusable(){focusableElems=$(focusableSelector,tooltip).not("[disabled]").map(function(){return typeof this.focus==="function"?this:null})}function focusInputs(blurElems){if(focusableElems.length<1&&blurElems.length){blurElems.not("body").blur()}else{focusableElems.first().focus()}}function stealFocus(event){var target=$(event.target),container=target.closest(".qtip"),targetOnTop;targetOnTop=container.length<1?FALSE:parseInt(container[0].style.zIndex,10)>parseInt(tooltip[0].style.zIndex,10);if(!targetOnTop&&$(event.target).closest(selector)[0]!==tooltip[0]){focusInputs(target)}}$.extend(self,{init:function(){if(!options.on){return self}overlay=self.create();tooltip.attr(attr,TRUE).css("z-index",PLUGINS.modal.zindex+$(selector+"["+attr+"]").length).unbind(globalNamespace).unbind(namespace).bind("tooltipshow"+globalNamespace+" tooltiphide"+globalNamespace,function(event,api,duration){var oEvent=event.originalEvent;if(event.target===tooltip[0]){if(oEvent&&event.type==="tooltiphide"&&/mouse(leave|enter)/.test(oEvent.type)&&$(oEvent.relatedTarget).closest(overlay[0]).length){try{event.preventDefault()}catch(e){}}else if(!oEvent||oEvent&&!oEvent.solo){self[event.type.replace("tooltip","")](event,duration)}}}).bind("tooltipfocus"+globalNamespace,function(event){if(event.isDefaultPrevented()||event.target!==tooltip[0]){return}var qtips=$(selector).filter("["+attr+"]"),newIndex=PLUGINS.modal.zindex+qtips.length,curIndex=parseInt(tooltip[0].style.zIndex,10);overlay[0].style.zIndex=newIndex-2;qtips.each(function(){if(this.style.zIndex>curIndex){this.style.zIndex-=1}});qtips.end().filter("."+focusClass).qtip("blur",event.originalEvent);tooltip.addClass(focusClass)[0].style.zIndex=newIndex;try{event.preventDefault()}catch(e){}}).bind("tooltiphide"+globalNamespace,function(event){if(event.target===tooltip[0]){$("["+attr+"]").filter(":visible").not(tooltip).last().qtip("focus",event)}});if(options.escape){$(document).unbind(namespace).bind("keydown"+namespace,function(event){if(event.keyCode===27&&tooltip.hasClass(focusClass)){api.hide(event)}})}if(options.blur){elems.overlay.unbind(namespace).bind("click"+namespace,function(event){if(tooltip.hasClass(focusClass)){api.hide(event)}})}updateFocusable();return self},create:function(){var elem=$(overlaySelector);if(elem.length){return elems.overlay=elem.insertAfter($(selector).last())}overlay=elems.overlay=$("<div />",{id:overlaySelector.substr(1),html:"<div></div>",mousedown:function(){return FALSE}}).hide().insertAfter($(selector).last());function resize(){overlay.css({height:$(window).height(),width:$(window).width()})}$(window).unbind(globalNamespace).bind("resize"+globalNamespace,resize);resize();return overlay},toggle:function(event,state,duration){if(event&&event.isDefaultPrevented()){return self}var effect=options.effect,type=state?"show":"hide",visible=overlay.is(":visible"),modals=$("["+attr+"]").filter(":visible").not(tooltip),zindex;if(!overlay){overlay=self.create()}if(overlay.is(":animated")&&visible===state||!state&&modals.length){return self}if(state){overlay.css({left:0,top:0});overlay.toggleClass("blurs",options.blur);if(options.stealfocus!==FALSE){docBody.bind("focusin"+namespace,stealFocus);focusInputs($("body :focus"))}}else{docBody.unbind("focusin"+namespace)}overlay.stop(TRUE,FALSE);if($.isFunction(effect)){effect.call(overlay,state)}else if(effect===FALSE){overlay[type]()}else{overlay.fadeTo(parseInt(duration,10)||90,state?1:0,function(){if(!state){$(this).hide()}})}if(!state){overlay.queue(function(next){overlay.css({left:"",top:""});next()})}return self},show:function(event,duration){return self.toggle(event,TRUE,duration)},hide:function(event,duration){return self.toggle(event,FALSE,duration)},destroy:function(){var delBlanket=overlay;if(delBlanket){delBlanket=$("["+attr+"]").not(tooltip).length<1;if(delBlanket){elems.overlay.remove();$(document).unbind(globalNamespace)}else{elems.overlay.unbind(globalNamespace+api.id)

- }docBody.undelegate("*","focusin"+namespace)}return tooltip.removeAttr(attr).unbind(globalNamespace)}});self.init()}PLUGINS.modal=function(api){var self=api.plugins.modal;return"object"===typeof self?self:api.plugins.modal=new Modal(api)};PLUGINS.modal.initialize="render";PLUGINS.modal.sanitize=function(opts){if(opts.show){if(typeof opts.show.modal!=="object"){opts.show.modal={on:!!opts.show.modal}}else if(typeof opts.show.modal.on==="undefined"){opts.show.modal.on=TRUE}}};PLUGINS.modal.zindex=QTIP.zindex-200;PLUGINS.modal.focusable=["a[href]","area[href]","input","select","textarea","button","iframe","object","embed","[tabindex]","[contenteditable]"];$.extend(TRUE,QTIP.defaults,{show:{modal:{on:FALSE,effect:TRUE,blur:TRUE,stealfocus:TRUE,escape:TRUE}}});PLUGINS.viewport=function(api,position,posOptions,targetWidth,targetHeight,elemWidth,elemHeight){var target=posOptions.target,tooltip=api.elements.tooltip,my=posOptions.my,at=posOptions.at,adjust=posOptions.adjust,method=adjust.method.split(" "),methodX=method[0],methodY=method[1]||method[0],viewport=posOptions.viewport,container=posOptions.container,cache=api.cache,tip=api.plugins.tip,adjusted={left:0,top:0},fixed,newMy,newClass;if(!viewport.jquery||target[0]===window||target[0]===document.body||adjust.method==="none"){return adjusted}fixed=tooltip.css("position")==="fixed";viewport={elem:viewport,height:viewport[(viewport[0]===window?"h":"outerH")+"eight"](),width:viewport[(viewport[0]===window?"w":"outerW")+"idth"](),scrollleft:fixed?0:viewport.scrollLeft(),scrolltop:fixed?0:viewport.scrollTop(),offset:viewport.offset()||{left:0,top:0}};container={elem:container,scrollLeft:container.scrollLeft(),scrollTop:container.scrollTop(),offset:container.offset()||{left:0,top:0}};function calculate(side,otherSide,type,adjust,side1,side2,lengthName,targetLength,elemLength){var initialPos=position[side1],mySide=my[side],atSide=at[side],isShift=type===SHIFT,viewportScroll=-container.offset[side1]+viewport.offset[side1]+viewport["scroll"+side1],myLength=mySide===side1?elemLength:mySide===side2?-elemLength:-elemLength/2,atLength=atSide===side1?targetLength:atSide===side2?-targetLength:-targetLength/2,tipLength=tip&&tip.size?tip.size[lengthName]||0:0,tipAdjust=tip&&tip.corner&&tip.corner.precedance===side&&!isShift?tipLength:0,overflow1=viewportScroll-initialPos+tipAdjust,overflow2=initialPos+elemLength-viewport[lengthName]-viewportScroll+tipAdjust,offset=myLength-(my.precedance===side||mySide===my[otherSide]?atLength:0)-(atSide===CENTER?targetLength/2:0);if(isShift){tipAdjust=tip&&tip.corner&&tip.corner.precedance===otherSide?tipLength:0;offset=(mySide===side1?1:-1)*myLength-tipAdjust;position[side1]+=overflow1>0?overflow1:overflow2>0?-overflow2:0;position[side1]=Math.max(-container.offset[side1]+viewport.offset[side1]+(tipAdjust&&tip.corner[side]===CENTER?tip.offset:0),initialPos-offset,Math.min(Math.max(-container.offset[side1]+viewport.offset[side1]+viewport[lengthName],initialPos+offset),position[side1]))}else{adjust*=type===FLIPINVERT?2:0;if(overflow1>0&&(mySide!==side1||overflow2>0)){position[side1]-=offset+adjust;newMy["invert"+side](side1)}else if(overflow2>0&&(mySide!==side2||overflow1>0)){position[side1]-=(mySide===CENTER?-offset:offset)+adjust;newMy["invert"+side](side2)}if(position[side1]<viewportScroll&&-position[side1]>overflow2){position[side1]=initialPos;newMy=my.clone()}}return position[side1]-initialPos}if(methodX!=="shift"||methodY!=="shift"){newMy=my.clone()}adjusted={left:methodX!=="none"?calculate(X,Y,methodX,adjust.x,LEFT,RIGHT,WIDTH,targetWidth,elemWidth):0,top:methodY!=="none"?calculate(Y,X,methodY,adjust.y,TOP,BOTTOM,HEIGHT,targetHeight,elemHeight):0};if(newMy&&cache.lastClass!==(newClass=uitooltip+"-pos-"+newMy.abbrev())){tooltip.removeClass(api.cache.lastClass).addClass(api.cache.lastClass=newClass)}return adjusted};PLUGINS.imagemap=function(api,area,corner,adjustMethod){if(!area.jquery){area=$(area)}var cache=api.cache.areas={},shape=(area[0].shape||area.attr("shape")).toLowerCase(),coordsString=area[0].coords||area.attr("coords"),baseCoords=coordsString.split(","),coords=[],image=$('img[usemap="#'+area.parent("map").attr("name")+'"]'),imageOffset=image.offset(),result={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10}},i=0,next=0,dimensions;function polyCoordinates(result,coords,corner){var i=0,compareX=1,compareY=1,realX=0,realY=0,newWidth=result.width,newHeight=result.height;while(newWidth>0&&newHeight>0&&compareX>0&&compareY>0){newWidth=Math.floor(newWidth/2);newHeight=Math.floor(newHeight/2);if(corner.x===LEFT){compareX=newWidth}else if(corner.x===RIGHT){compareX=result.width-newWidth}else{compareX+=Math.floor(newWidth/2)}if(corner.y===TOP){compareY=newHeight}else if(corner.y===BOTTOM){compareY=result.height-newHeight}else{compareY+=Math.floor(newHeight/2)}i=coords.length;while(i--){if(coords.length<2){break}realX=coords[i][0]-result.position.left;realY=coords[i][1]-result.position.top;if(corner.x===LEFT&&realX>=compareX||corner.x===RIGHT&&realX<=compareX||corner.x===CENTER&&(realX<compareX||realX>result.width-compareX)||corner.y===TOP&&realY>=compareY||corner.y===BOTTOM&&realY<=compareY||corner.y===CENTER&&(realY<compareY||realY>result.height-compareY)){coords.splice(i,1)}}}return{left:coords[0][0],top:coords[0][1]}}imageOffset.left+=Math.ceil((image.outerWidth()-image.width())/2);imageOffset.top+=Math.ceil((image.outerHeight()-image.height())/2);if(shape==="poly"){i=baseCoords.length;while(i--){next=[parseInt(baseCoords[--i],10),parseInt(baseCoords[i+1],10)];if(next[0]>result.position.right){result.position.right=next[0]}if(next[0]<result.position.left){result.position.left=next[0]}if(next[1]>result.position.bottom){result.position.bottom=next[1]}if(next[1]<result.position.top){result.position.top=next[1]}coords.push(next)}}else{i=-1;while(i++<baseCoords.length){coords.push(parseInt(baseCoords[i],10))}}switch(shape){case"rect":result={width:Math.abs(coords[2]-coords[0]),height:Math.abs(coords[3]-coords[1]),position:{left:Math.min(coords[0],coords[2]),top:Math.min(coords[1],coords[3])}};break;case"circle":result={width:coords[2]+2,height:coords[2]+2,position:{left:coords[0],top:coords[1]}};break;case"poly":result.width=Math.abs(result.position.right-result.position.left);result.height=Math.abs(result.position.bottom-result.position.top);if(corner.abbrev()==="c"){result.position={left:result.position.left+result.width/2,top:result.position.top+result.height/2}}else{if(!cache[corner+coordsString]){result.position=polyCoordinates(result,coords.slice(),corner);if(adjustMethod&&(adjustMethod[0]==="flip"||adjustMethod[1]==="flip")){result.offset=polyCoordinates(result,coords.slice(),{x:corner.x===LEFT?RIGHT:corner.x===RIGHT?LEFT:CENTER,y:corner.y===TOP?BOTTOM:corner.y===BOTTOM?TOP:CENTER});result.offset.left-=result.position.left;result.offset.top-=result.position.top}cache[corner+coordsString]=result}result=cache[corner+coordsString]}result.width=result.height=0;break}result.position.left+=imageOffset.left;result.position.top+=imageOffset.top;return result};function BGIFrame(api){var self=this,elems=api.elements,tooltip=elems.tooltip,namespace=".bgiframe-"+api.id;$.extend(self,{init:function(){elems.bgiframe=$('<iframe class="ui-tooltip-bgiframe" frameborder="0" tabindex="-1" src="javascript:\'\';" '+' style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=0); '+'-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";"></iframe>');elems.bgiframe.appendTo(tooltip);tooltip.bind("tooltipmove"+namespace,self.adjust)},adjust:function(){var dimensions=api.get("dimensions"),plugin=api.plugins.tip,tip=elems.tip,tipAdjust,offset;offset=parseInt(tooltip.css("border-left-width"),10)||0;offset={left:-offset,top:-offset};if(plugin&&tip){tipAdjust=plugin.corner.precedance==="x"?["width","left"]:["height","top"];offset[tipAdjust[1]]-=tip[tipAdjust[0]]()}elems.bgiframe.css(offset).css(dimensions)},destroy:function(){elems.bgiframe.remove();tooltip.unbind(namespace)}});self.init()}PLUGINS.bgiframe=function(api){var browser=$.browser,self=api.plugins.bgiframe;if($("select, object").length<1||!(browser.msie&&(""+browser.version).charAt(0)==="6")){return FALSE}return"object"===typeof self?self:api.plugins.bgiframe=new BGIFrame(api)};PLUGINS.bgiframe.initialize="render"})})(window,document);(function($){$.extend({metadata:{defaults:{type:"class",name:"metadata",cre:/({.*})/,single:"metadata"},setType:function(type,name){this.defaults.type=type;this.defaults.name=name},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single="metadata";var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)data=m[1]}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return undefined;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML)}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr}if(data.indexOf("{")<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts)}})(jQuery); 

\ No newline at end of file

+ (function(window,undefined){var document=window.document,navigator=window.navigator,location=window.location;var jQuery=function(){var jQuery=function(selector,context){return new jQuery.fn.init(selector,context,rootjQuery)},_jQuery=window.jQuery,_$=window.$,rootjQuery,quickExpr=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,rnotwhite=/\S/,trimLeft=/^\s+/,trimRight=/\s+$/,rsingleTag=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,rvalidchars=/^[\],:{}\s]*$/,rvalidescape=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,rvalidtokens=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,rvalidbraces=/(?:^|:|,)(?:\s*\[)+/g,rwebkit=/(webkit)[ \/]([\w.]+)/,ropera=/(opera)(?:.*version)?[ \/]([\w.]+)/,rmsie=/(msie) ([\w.]+)/,rmozilla=/(mozilla)(?:.*? rv:([\w.]+))?/,rdashAlpha=/-([a-z]|[0-9])/gi,rmsPrefix=/^-ms-/,fcamelCase=function(all,letter){return(letter+"").toUpperCase()},userAgent=navigator.userAgent,browserMatch,readyList,DOMContentLoaded,toString=Object.prototype.toString,hasOwn=Object.prototype.hasOwnProperty,push=Array.prototype.push,slice=Array.prototype.slice,trim=String.prototype.trim,indexOf=Array.prototype.indexOf,class2type={};jQuery.fn=jQuery.prototype={constructor:jQuery,init:function(selector,context,rootjQuery){var match,elem,ret,doc;if(!selector){return this}if(selector.nodeType){this.context=this[0]=selector;this.length=1;return this}if(selector==="body"&&!context&&document.body){this.context=document;this[0]=document.body;this.selector=selector;this.length=1;return this}if(typeof selector==="string"){if(selector.charAt(0)==="<"&&selector.charAt(selector.length-1)===">"&&selector.length>=3){match=[null,selector,null]}else{match=quickExpr.exec(selector)}if(match&&(match[1]||!context)){if(match[1]){context=context instanceof jQuery?context[0]:context;doc=context?context.ownerDocument||context:document;ret=rsingleTag.exec(selector);if(ret){if(jQuery.isPlainObject(context)){selector=[document.createElement(ret[1])];jQuery.fn.attr.call(selector,context,true)}else{selector=[doc.createElement(ret[1])]}}else{ret=jQuery.buildFragment([match[1]],[doc]);selector=(ret.cacheable?jQuery.clone(ret.fragment):ret.fragment).childNodes}return jQuery.merge(this,selector)}else{elem=document.getElementById(match[2]);if(elem&&elem.parentNode){if(elem.id!==match[2]){return rootjQuery.find(selector)}this.length=1;this[0]=elem}this.context=document;this.selector=selector;return this}}else if(!context||context.jquery){return(context||rootjQuery).find(selector)}else{return this.constructor(context).find(selector)}}else if(jQuery.isFunction(selector)){return rootjQuery.ready(selector)}if(selector.selector!==undefined){this.selector=selector.selector;this.context=selector.context}return jQuery.makeArray(selector,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return slice.call(this,0)},get:function(num){return num==null?this.toArray():num<0?this[this.length+num]:this[num]},pushStack:function(elems,name,selector){var ret=this.constructor();if(jQuery.isArray(elems)){push.apply(ret,elems)}else{jQuery.merge(ret,elems)}ret.prevObject=this;ret.context=this.context;if(name==="find"){ret.selector=this.selector+(this.selector?" ":"")+selector}else if(name){ret.selector=this.selector+"."+name+"("+selector+")"}return ret},each:function(callback,args){return jQuery.each(this,callback,args)},ready:function(fn){jQuery.bindReady();readyList.add(fn);return this},eq:function(i){i=+i;return i===-1?this.slice(i):this.slice(i,i+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(slice.apply(this,arguments),"slice",slice.call(arguments).join(","))},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},end:function(){return this.prevObject||this.constructor(null)},push:push,sort:[].sort,splice:[].splice};jQuery.fn.init.prototype=jQuery.fn;jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2}if(typeof target!=="object"&&!jQuery.isFunction(target)){target={}}if(length===i){target=this;--i}for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){src=target[name];copy=options[name];if(target===copy){continue}if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&jQuery.isArray(src)?src:[]}else{clone=src&&jQuery.isPlainObject(src)?src:{}}target[name]=jQuery.extend(deep,clone,copy)}else if(copy!==undefined){target[name]=copy}}}}return target};jQuery.extend({noConflict:function(deep){if(window.$===jQuery){window.$=_$}if(deep&&window.jQuery===jQuery){window.jQuery=_jQuery}return jQuery},isReady:false,readyWait:1,holdReady:function(hold){if(hold){jQuery.readyWait++}else{jQuery.ready(true)}},ready:function(wait){if(wait===true&&!--jQuery.readyWait||wait!==true&&!jQuery.isReady){if(!document.body){return setTimeout(jQuery.ready,1)}jQuery.isReady=true;if(wait!==true&&--jQuery.readyWait>0){return}readyList.fireWith(document,[jQuery]);if(jQuery.fn.trigger){jQuery(document).trigger("ready").off("ready")}}},bindReady:function(){if(readyList){return}readyList=jQuery.Callbacks("once memory");if(document.readyState==="complete"){return setTimeout(jQuery.ready,1)}if(document.addEventListener){document.addEventListener("DOMContentLoaded",DOMContentLoaded,false);window.addEventListener("load",jQuery.ready,false)}else if(document.attachEvent){document.attachEvent("onreadystatechange",DOMContentLoaded);window.attachEvent("onload",jQuery.ready);var toplevel=false;try{toplevel=window.frameElement==null}catch(e){}if(document.documentElement.doScroll&&toplevel){doScrollCheck()}}},isFunction:function(obj){return jQuery.type(obj)==="function"},isArray:Array.isArray||function(obj){return jQuery.type(obj)==="array"},isWindow:function(obj){return obj!=null&&obj==obj.window},isNumeric:function(obj){return!isNaN(parseFloat(obj))&&isFinite(obj)},type:function(obj){return obj==null?String(obj):class2type[toString.call(obj)]||"object"},isPlainObject:function(obj){if(!obj||jQuery.type(obj)!=="object"||obj.nodeType||jQuery.isWindow(obj)){return false}try{if(obj.constructor&&!hasOwn.call(obj,"constructor")&&!hasOwn.call(obj.constructor.prototype,"isPrototypeOf")){return false}}catch(e){return false}var key;for(key in obj){}return key===undefined||hasOwn.call(obj,key)},isEmptyObject:function(obj){for(var name in obj){return false}return true},error:function(msg){throw new Error(msg)},parseJSON:function(data){if(typeof data!=="string"||!data){return null}data=jQuery.trim(data);if(window.JSON&&window.JSON.parse){return window.JSON.parse(data)}if(rvalidchars.test(data.replace(rvalidescape,"@").replace(rvalidtokens,"]").replace(rvalidbraces,""))){return new Function("return "+data)()}jQuery.error("Invalid JSON: "+data)},parseXML:function(data){if(typeof data!=="string"||!data){return null}var xml,tmp;try{if(window.DOMParser){tmp=new DOMParser;xml=tmp.parseFromString(data,"text/xml")}else{xml=new ActiveXObject("Microsoft.XMLDOM");xml.async="false";xml.loadXML(data)}}catch(e){xml=undefined}if(!xml||!xml.documentElement||xml.getElementsByTagName("parsererror").length){jQuery.error("Invalid XML: "+data)}return xml},noop:function(){},globalEval:function(data){if(data&&rnotwhite.test(data)){(window.execScript||function(data){window["eval"].call(window,data)})(data)}},camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase)},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()===name.toUpperCase()},each:function(object,callback,args){var name,i=0,length=object.length,isObj=length===undefined||jQuery.isFunction(object);if(args){if(isObj){for(name in object){if(callback.apply(object[name],args)===false){break}}}else{for(;i<length;){if(callback.apply(object[i++],args)===false){break}}}}else{if(isObj){for(name in object){if(callback.call(object[name],name,object[name])===false){break}}}else{for(;i<length;){if(callback.call(object[i],i,object[i++])===false){break}}}}return object},trim:trim?function(text){return text==null?"":trim.call(text)}:function(text){return text==null?"":text.toString().replace(trimLeft,"").replace(trimRight,"")},makeArray:function(array,results){var ret=results||[];if(array!=null){var type=jQuery.type(array);if(array.length==null||type==="string"||type==="function"||type==="regexp"||jQuery.isWindow(array)){push.call(ret,array)}else{jQuery.merge(ret,array)}}return ret},inArray:function(elem,array,i){var len;if(array){if(indexOf){return indexOf.call(array,elem,i)}len=array.length;i=i?i<0?Math.max(0,len+i):i:0;for(;i<len;i++){if(i in array&&array[i]===elem){return i}}}return-1},merge:function(first,second){var i=first.length,j=0;if(typeof second.length==="number"){for(var l=second.length;j<l;j++){first[i++]=second[j]}}else{while(second[j]!==undefined){first[i++]=second[j++]}}first.length=i;return first},grep:function(elems,callback,inv){var ret=[],retVal;inv=!!inv;for(var i=0,length=elems.length;i<length;i++){retVal=!!callback(elems[i],i);if(inv!==retVal){ret.push(elems[i])}}return ret},map:function(elems,callback,arg){var value,key,ret=[],i=0,length=elems.length,isArray=elems instanceof jQuery||length!==undefined&&typeof length==="number"&&(length>0&&elems[0]&&elems[length-1]||length===0||jQuery.isArray(elems));if(isArray){for(;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret[ret.length]=value}}}else{for(key in elems){value=callback(elems[key],key,arg);if(value!=null){ret[ret.length]=value}}}return ret.concat.apply([],ret)},guid:1,proxy:function(fn,context){if(typeof context==="string"){var tmp=fn[context];context=fn;fn=tmp}if(!jQuery.isFunction(fn)){return undefined}var args=slice.call(arguments,2),proxy=function(){return fn.apply(context,args.concat(slice.call(arguments)))};proxy.guid=fn.guid=fn.guid||proxy.guid||jQuery.guid++;return proxy},access:function(elems,fn,key,value,chainable,emptyGet,pass){var exec,bulk=key==null,i=0,length=elems.length;if(key&&typeof key==="object"){for(i in key){jQuery.access(elems,fn,i,key[i],1,emptyGet,value)}chainable=1}else if(value!==undefined){exec=pass===undefined&&jQuery.isFunction(value);if(bulk){if(exec){exec=fn;fn=function(elem,key,value){return exec.call(jQuery(elem),value)}}else{fn.call(elems,value);fn=null}}if(fn){for(;i<length;i++){fn(elems[i],key,exec?value.call(elems[i],i,fn(elems[i],key)):value,pass)}}chainable=1}return chainable?elems:bulk?fn.call(elems):length?fn(elems[0],key):emptyGet},now:function(){return(new Date).getTime()},uaMatch:function(ua){ua=ua.toLowerCase();var match=rwebkit.exec(ua)||ropera.exec(ua)||rmsie.exec(ua)||ua.indexOf("compatible")<0&&rmozilla.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"}},sub:function(){function jQuerySub(selector,context){return new jQuerySub.fn.init(selector,context)}jQuery.extend(true,jQuerySub,this);jQuerySub.superclass=this;jQuerySub.fn=jQuerySub.prototype=this();jQuerySub.fn.constructor=jQuerySub;jQuerySub.sub=this.sub;jQuerySub.fn.init=function init(selector,context){if(context&&context instanceof jQuery&&!(context instanceof jQuerySub)){context=jQuerySub(context)}return jQuery.fn.init.call(this,selector,context,rootjQuerySub)};jQuerySub.fn.init.prototype=jQuerySub.fn;var rootjQuerySub=jQuerySub(document);return jQuerySub},browser:{}});jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase()});browserMatch=jQuery.uaMatch(userAgent);if(browserMatch.browser){jQuery.browser[browserMatch.browser]=true;jQuery.browser.version=browserMatch.version}if(jQuery.browser.webkit){jQuery.browser.safari=true}if(rnotwhite.test(" ")){trimLeft=/^[\s\xA0]+/;trimRight=/[\s\xA0]+$/}rootjQuery=jQuery(document);if(document.addEventListener){DOMContentLoaded=function(){document.removeEventListener("DOMContentLoaded",DOMContentLoaded,false);jQuery.ready()}}else if(document.attachEvent){DOMContentLoaded=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",DOMContentLoaded);jQuery.ready()}}}function doScrollCheck(){if(jQuery.isReady){return}try{document.documentElement.doScroll("left")}catch(e){setTimeout(doScrollCheck,1);return}jQuery.ready()}return jQuery}();var flagsCache={};function createFlags(flags){var object=flagsCache[flags]={},i,length;flags=flags.split(/\s+/);for(i=0,length=flags.length;i<length;i++){object[flags[i]]=true}return object}jQuery.Callbacks=function(flags){flags=flags?flagsCache[flags]||createFlags(flags):{};var list=[],stack=[],memory,fired,firing,firingStart,firingLength,firingIndex,add=function(args){var i,length,elem,type,actual;for(i=0,length=args.length;i<length;i++){elem=args[i];type=jQuery.type(elem);if(type==="array"){add(elem)}else if(type==="function"){if(!flags.unique||!self.has(elem)){list.push(elem)}}}},fire=function(context,args){args=args||[];memory=!flags.memory||[context,args];fired=true;firing=true;firingIndex=firingStart||0;firingStart=0;firingLength=list.length;for(;list&&firingIndex<firingLength;firingIndex++){if(list[firingIndex].apply(context,args)===false&&flags.stopOnFalse){memory=true;break}}firing=false;if(list){if(!flags.once){if(stack&&stack.length){memory=stack.shift();self.fireWith(memory[0],memory[1])}}else if(memory===true){self.disable()}else{list=[]}}},self={add:function(){if(list){var length=list.length;add(arguments);if(firing){firingLength=list.length}else if(memory&&memory!==true){firingStart=length;fire(memory[0],memory[1])}}return this},remove:function(){if(list){var args=arguments,argIndex=0,argLength=args.length;for(;argIndex<argLength;argIndex++){for(var i=0;i<list.length;i++){if(args[argIndex]===list[i]){if(firing){if(i<=firingLength){firingLength--;if(i<=firingIndex){firingIndex--}}}list.splice(i--,1);if(flags.unique){break}}}}}return this},has:function(fn){if(list){var i=0,length=list.length;for(;i<length;i++){if(fn===list[i]){return true}}}return false},empty:function(){list=[];return this},disable:function(){list=stack=memory=undefined;return this},disabled:function(){return!list},lock:function(){stack=undefined;if(!memory||memory===true){self.disable()}return this},locked:function(){return!stack},fireWith:function(context,args){if(stack){if(firing){if(!flags.once){stack.push([context,args])}}else if(!(flags.once&&memory)){fire(context,args)}}return this},fire:function(){self.fireWith(this,arguments);return this},fired:function(){return!!fired}};return self};var sliceDeferred=[].slice;jQuery.extend({Deferred:function(func){var doneList=jQuery.Callbacks("once memory"),failList=jQuery.Callbacks("once memory"),progressList=jQuery.Callbacks("memory"),state="pending",lists={resolve:doneList,reject:failList,notify:progressList},promise={done:doneList.add,fail:failList.add,progress:progressList.add,state:function(){return state},isResolved:doneList.fired,isRejected:failList.fired,then:function(doneCallbacks,failCallbacks,progressCallbacks){deferred.done(doneCallbacks).fail(failCallbacks).progress(progressCallbacks);return this},always:function(){deferred.done.apply(deferred,arguments).fail.apply(deferred,arguments);return this},pipe:function(fnDone,fnFail,fnProgress){return jQuery.Deferred(function(newDefer){jQuery.each({done:[fnDone,"resolve"],fail:[fnFail,"reject"],progress:[fnProgress,"notify"]},function(handler,data){var fn=data[0],action=data[1],returned;if(jQuery.isFunction(fn)){deferred[handler](function(){returned=fn.apply(this,arguments);if(returned&&jQuery.isFunction(returned.promise)){returned.promise().then(newDefer.resolve,newDefer.reject,newDefer.notify)}else{newDefer[action+"With"](this===deferred?newDefer:this,[returned])}})}else{deferred[handler](newDefer[action])}})}).promise()},promise:function(obj){if(obj==null){obj=promise}else{for(var key in promise){obj[key]=promise[key]}}return obj}},deferred=promise.promise({}),key;for(key in lists){deferred[key]=lists[key].fire;deferred[key+"With"]=lists[key].fireWith}deferred.done(function(){state="resolved"},failList.disable,progressList.lock).fail(function(){state="rejected"},doneList.disable,progressList.lock);if(func){func.call(deferred,deferred)}return deferred},when:function(firstParam){var args=sliceDeferred.call(arguments,0),i=0,length=args.length,pValues=new Array(length),count=length,pCount=length,deferred=length<=1&&firstParam&&jQuery.isFunction(firstParam.promise)?firstParam:jQuery.Deferred(),promise=deferred.promise();function resolveFunc(i){return function(value){args[i]=arguments.length>1?sliceDeferred.call(arguments,0):value;if(!--count){deferred.resolveWith(deferred,args)}}}function progressFunc(i){return function(value){pValues[i]=arguments.length>1?sliceDeferred.call(arguments,0):value;deferred.notifyWith(promise,pValues)}}if(length>1){for(;i<length;i++){if(args[i]&&args[i].promise&&jQuery.isFunction(args[i].promise)){args[i].promise().then(resolveFunc(i),deferred.reject,progressFunc(i))}else{--count}}if(!count){deferred.resolveWith(deferred,args)}}else if(deferred!==firstParam){deferred.resolveWith(deferred,length?[firstParam]:[])}return promise}});jQuery.support=function(){var support,all,a,select,opt,input,fragment,tds,events,eventName,i,isSupported,div=document.createElement("div"),documentElement=document.documentElement;div.setAttribute("className","t");div.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";all=div.getElementsByTagName("*");a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return{}}select=document.createElement("select");opt=select.appendChild(document.createElement("option"));input=div.getElementsByTagName("input")[0];support={leadingWhitespace:div.firstChild.nodeType===3,tbody:!div.getElementsByTagName("tbody").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/top/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:/^0.55/.test(a.style.opacity),cssFloat:!!a.style.cssFloat,checkOn:input.value==="on",optSelected:opt.selected,getSetAttribute:div.className!=="t",enctype:!!document.createElement("form").enctype,html5Clone:document.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,pixelMargin:true};jQuery.boxModel=support.boxModel=document.compatMode==="CSS1Compat";input.checked=true;support.noCloneChecked=input.cloneNode(true).checked;select.disabled=true;support.optDisabled=!opt.disabled;try{delete div.test}catch(e){support.deleteExpando=false}if(!div.addEventListener&&div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){support.noCloneEvent=false});div.cloneNode(true).fireEvent("onclick")}input=document.createElement("input");input.value="t";input.setAttribute("type","radio");support.radioValue=input.value==="t";input.setAttribute("checked","checked");input.setAttribute("name","t");div.appendChild(input);fragment=document.createDocumentFragment();fragment.appendChild(div.lastChild);support.checkClone=fragment.cloneNode(true).cloneNode(true).lastChild.checked;support.appendChecked=input.checked;fragment.removeChild(input);fragment.appendChild(div);if(div.attachEvent){for(i in{submit:1,change:1,focusin:1}){eventName="on"+i;isSupported=eventName in div;if(!isSupported){div.setAttribute(eventName,"return;");isSupported=typeof div[eventName]==="function"}support[i+"Bubbles"]=isSupported}}fragment.removeChild(div);fragment=select=opt=div=input=null;jQuery(function(){var container,outer,inner,table,td,offsetSupport,marginDiv,conMarginTop,style,html,positionTopLeftWidthHeight,paddingMarginBorderVisibility,paddingMarginBorder,body=document.getElementsByTagName("body")[0];if(!body){return}conMarginTop=1;paddingMarginBorder="padding:0;margin:0;border:";positionTopLeftWidthHeight="position:absolute;top:0;left:0;width:1px;height:1px;";paddingMarginBorderVisibility=paddingMarginBorder+"0;visibility:hidden;";style="style='"+positionTopLeftWidthHeight+paddingMarginBorder+"5px solid #000;";html="<div "+style+"display:block;'><div style='"+paddingMarginBorder+"0;display:block;overflow:hidden;'></div></div>"+"<table "+style+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>";container=document.createElement("div");container.style.cssText=paddingMarginBorderVisibility+"width:0;height:0;position:static;top:0;margin-top:"+conMarginTop+"px";body.insertBefore(container,body.firstChild);div=document.createElement("div");container.appendChild(div);div.innerHTML="<table><tr><td style='"+paddingMarginBorder+"0;display:none'></td><td>t</td></tr></table>";tds=div.getElementsByTagName("td");isSupported=tds[0].offsetHeight===0;tds[0].style.display="";tds[1].style.display="none";support.reliableHiddenOffsets=isSupported&&tds[0].offsetHeight===0;if(window.getComputedStyle){div.innerHTML="";marginDiv=document.createElement("div");marginDiv.style.width="0";marginDiv.style.marginRight="0";div.style.width="2px";div.appendChild(marginDiv);support.reliableMarginRight=(parseInt((window.getComputedStyle(marginDiv,null)||{marginRight:0}).marginRight,10)||0)===0}if(typeof div.style.zoom!=="undefined"){div.innerHTML="";div.style.width=div.style.padding="1px";div.style.border=0;div.style.overflow="hidden";div.style.display="inline";div.style.zoom=1;support.inlineBlockNeedsLayout=div.offsetWidth===3;div.style.display="block";div.style.overflow="visible";div.innerHTML="<div style='width:5px;'></div>";support.shrinkWrapBlocks=div.offsetWidth!==3}div.style.cssText=positionTopLeftWidthHeight+paddingMarginBorderVisibility;div.innerHTML=html;outer=div.firstChild;inner=outer.firstChild;td=outer.nextSibling.firstChild.firstChild;offsetSupport={doesNotAddBorder:inner.offsetTop!==5,doesAddBorderForTableAndCells:td.offsetTop===5};inner.style.position="fixed";inner.style.top="20px";offsetSupport.fixedPosition=inner.offsetTop===20||inner.offsetTop===15;inner.style.position=inner.style.top="";outer.style.overflow="hidden";outer.style.position="relative";offsetSupport.subtractsBorderForOverflowNotVisible=inner.offsetTop===-5;offsetSupport.doesNotIncludeMarginInBodyOffset=body.offsetTop!==conMarginTop;if(window.getComputedStyle){div.style.marginTop="1%";support.pixelMargin=(window.getComputedStyle(div,null)||{marginTop:0}).marginTop!=="1%"}if(typeof container.style.zoom!=="undefined"){container.style.zoom=1}body.removeChild(container);marginDiv=div=container=null;jQuery.extend(support,offsetSupport)});return support}();var rbrace=/^(?:\{.*\}|\[.*\])$/,rmultiDash=/([A-Z])/g;jQuery.extend({cache:{},uuid:0,expando:"jQuery"+(jQuery.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(elem){elem=elem.nodeType?jQuery.cache[elem[jQuery.expando]]:elem[jQuery.expando];return!!elem&&!isEmptyDataObject(elem)},data:function(elem,name,data,pvt){if(!jQuery.acceptData(elem)){return}var privateCache,thisCache,ret,internalKey=jQuery.expando,getByName=typeof name==="string",isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[internalKey]:elem[internalKey]&&internalKey,isEvents=name==="events";if((!id||!cache[id]||!isEvents&&!pvt&&!cache[id].data)&&getByName&&data===undefined){return}if(!id){if(isNode){elem[internalKey]=id=++jQuery.uuid}else{id=internalKey}}if(!cache[id]){cache[id]={};if(!isNode){cache[id].toJSON=jQuery.noop}}if(typeof name==="object"||typeof name==="function"){if(pvt){cache[id]=jQuery.extend(cache[id],name)}else{cache[id].data=jQuery.extend(cache[id].data,name)}}privateCache=thisCache=cache[id];if(!pvt){if(!thisCache.data){thisCache.data={}}thisCache=thisCache.data}if(data!==undefined){thisCache[jQuery.camelCase(name)]=data}if(isEvents&&!thisCache[name]){return privateCache.events}if(getByName){ret=thisCache[name];if(ret==null){ret=thisCache[jQuery.camelCase(name)]}}else{ret=thisCache}return ret},removeData:function(elem,name,pvt){if(!jQuery.acceptData(elem)){return}var thisCache,i,l,internalKey=jQuery.expando,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[internalKey]:internalKey;if(!cache[id]){return}if(name){thisCache=pvt?cache[id]:cache[id].data;if(thisCache){if(!jQuery.isArray(name)){if(name in thisCache){name=[name]}else{name=jQuery.camelCase(name);if(name in thisCache){name=[name]}else{name=name.split(" ")}}}for(i=0,l=name.length;i<l;i++){delete thisCache[name[i]]}if(!(pvt?isEmptyDataObject:jQuery.isEmptyObject)(thisCache)){return}}}if(!pvt){delete cache[id].data;if(!isEmptyDataObject(cache[id])){return}}if(jQuery.support.deleteExpando||!cache.setInterval){delete cache[id]}else{cache[id]=null}if(isNode){if(jQuery.support.deleteExpando){delete elem[internalKey]}else if(elem.removeAttribute){elem.removeAttribute(internalKey)}else{elem[internalKey]=null}}},_data:function(elem,name,data){return jQuery.data(elem,name,data,true)},acceptData:function(elem){if(elem.nodeName){var match=jQuery.noData[elem.nodeName.toLowerCase()];if(match){return!(match===true||elem.getAttribute("classid")!==match)}}return true}});jQuery.fn.extend({data:function(key,value){var parts,part,attr,name,l,elem=this[0],i=0,data=null;if(key===undefined){if(this.length){data=jQuery.data(elem);if(elem.nodeType===1&&!jQuery._data(elem,"parsedAttrs")){attr=elem.attributes;for(l=attr.length;i<l;i++){name=attr[i].name;if(name.indexOf("data-")===0){name=jQuery.camelCase(name.substring(5));dataAttr(elem,name,data[name])}}jQuery._data(elem,"parsedAttrs",true)}}return data}if(typeof key==="object"){return this.each(function(){jQuery.data(this,key)})}parts=key.split(".",2);parts[1]=parts[1]?"."+parts[1]:"";part=parts[1]+"!";return jQuery.access(this,function(value){if(value===undefined){data=this.triggerHandler("getData"+part,[parts[0]]);if(data===undefined&&elem){data=jQuery.data(elem,key);data=dataAttr(elem,key,data)}return data===undefined&&parts[1]?this.data(parts[0]):data}parts[1]=value;this.each(function(){var self=jQuery(this);self.triggerHandler("setData"+part,parts);jQuery.data(this,key,value);self.triggerHandler("changeData"+part,parts)})},null,value,arguments.length>1,null,false)},removeData:function(key){return this.each(function(){jQuery.removeData(this,key)})}});function dataAttr(elem,key,data){if(data===undefined&&elem.nodeType===1){var name="data-"+key.replace(rmultiDash,"-$1").toLowerCase();data=elem.getAttribute(name);if(typeof data==="string"){try{data=data==="true"?true:data==="false"?false:data==="null"?null:jQuery.isNumeric(data)?+data:rbrace.test(data)?jQuery.parseJSON(data):data}catch(e){}jQuery.data(elem,key,data)}else{data=undefined}}return data}function isEmptyDataObject(obj){for(var name in obj){if(name==="data"&&jQuery.isEmptyObject(obj[name])){continue}if(name!=="toJSON"){return false}}return true}function handleQueueMarkDefer(elem,type,src){var deferDataKey=type+"defer",queueDataKey=type+"queue",markDataKey=type+"mark",defer=jQuery._data(elem,deferDataKey);if(defer&&(src==="queue"||!jQuery._data(elem,queueDataKey))&&(src==="mark"||!jQuery._data(elem,markDataKey))){setTimeout(function(){if(!jQuery._data(elem,queueDataKey)&&!jQuery._data(elem,markDataKey)){jQuery.removeData(elem,deferDataKey,true);defer.fire()}},0)}}jQuery.extend({_mark:function(elem,type){if(elem){type=(type||"fx")+"mark";jQuery._data(elem,type,(jQuery._data(elem,type)||0)+1)}},_unmark:function(force,elem,type){if(force!==true){type=elem;elem=force;force=false}if(elem){type=type||"fx";var key=type+"mark",count=force?0:(jQuery._data(elem,key)||1)-1;if(count){jQuery._data(elem,key,count)}else{jQuery.removeData(elem,key,true);handleQueueMarkDefer(elem,type,"mark")}}},queue:function(elem,type,data){var q;if(elem){type=(type||"fx")+"queue";q=jQuery._data(elem,type);if(data){if(!q||jQuery.isArray(data)){q=jQuery._data(elem,type,jQuery.makeArray(data))}else{q.push(data)}}return q||[]}},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),fn=queue.shift(),hooks={};if(fn==="inprogress"){fn=queue.shift()}if(fn){if(type==="fx"){queue.unshift("inprogress")}jQuery._data(elem,type+".run",hooks);fn.call(elem,function(){jQuery.dequeue(elem,type)},hooks)}if(!queue.length){jQuery.removeData(elem,type+"queue "+type+".run",true);handleQueueMarkDefer(elem,type,"queue")}}});jQuery.fn.extend({queue:function(type,data){var setter=2;if(typeof type!=="string"){data=type;type="fx";setter--}if(arguments.length<setter){return jQuery.queue(this[0],type)}return data===undefined?this:this.each(function(){var queue=jQuery.queue(this,type,data);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type)}})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},delay:function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(next,hooks){var timeout=setTimeout(next,time);hooks.stop=function(){clearTimeout(timeout)}})},clearQueue:function(type){return this.queue(type||"fx",[])},promise:function(type,object){if(typeof type!=="string"){object=type;type=undefined}type=type||"fx";var defer=jQuery.Deferred(),elements=this,i=elements.length,count=1,deferDataKey=type+"defer",queueDataKey=type+"queue",markDataKey=type+"mark",tmp;function resolve(){if(!--count){defer.resolveWith(elements,[elements])}}while(i--){if(tmp=jQuery.data(elements[i],deferDataKey,undefined,true)||(jQuery.data(elements[i],queueDataKey,undefined,true)||jQuery.data(elements[i],markDataKey,undefined,true))&&jQuery.data(elements[i],deferDataKey,jQuery.Callbacks("once memory"),true)){count++;tmp.add(resolve)}}resolve();return defer.promise(object)}});var rclass=/[\n\t\r]/g,rspace=/\s+/,rreturn=/\r/g,rtype=/^(?:button|input)$/i,rfocusable=/^(?:button|input|object|select|textarea)$/i,rclickable=/^a(?:rea)?$/i,rboolean=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,getSetAttribute=jQuery.support.getSetAttribute,nodeHook,boolHook,fixSpecified;jQuery.fn.extend({attr:function(name,value){return jQuery.access(this,jQuery.attr,name,value,arguments.length>1)},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name)})},prop:function(name,value){return jQuery.access(this,jQuery.prop,name,value,arguments.length>1)},removeProp:function(name){name=jQuery.propFix[name]||name;return this.each(function(){try{this[name]=undefined;delete this[name]}catch(e){}})},addClass:function(value){var classNames,i,l,elem,setClass,c,cl;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).addClass(value.call(this,j,this.className))})}if(value&&typeof value==="string"){classNames=value.split(rspace);for(i=0,l=this.length;i<l;i++){elem=this[i];if(elem.nodeType===1){if(!elem.className&&classNames.length===1){elem.className=value}else{setClass=" "+elem.className+" ";for(c=0,cl=classNames.length;c<cl;c++){if(!~setClass.indexOf(" "+classNames[c]+" ")){setClass+=classNames[c]+" "}}elem.className=jQuery.trim(setClass)}}}}return this},removeClass:function(value){var classNames,i,l,elem,className,c,cl;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).removeClass(value.call(this,j,this.className))})}if(value&&typeof value==="string"||value===undefined){classNames=(value||"").split(rspace);for(i=0,l=this.length;i<l;i++){elem=this[i];if(elem.nodeType===1&&elem.className){if(value){className=(" "+elem.className+" ").replace(rclass," ");for(c=0,cl=classNames.length;c<cl;c++){className=className.replace(" "+classNames[c]+" "," ")}elem.className=jQuery.trim(className)}else{elem.className=""}}}}return this},toggleClass:function(value,stateVal){var type=typeof value,isBool=typeof stateVal==="boolean";if(jQuery.isFunction(value)){return this.each(function(i){

+ jQuery(this).toggleClass(value.call(this,i,this.className,stateVal),stateVal)})}return this.each(function(){if(type==="string"){var className,i=0,self=jQuery(this),state=stateVal,classNames=value.split(rspace);while(className=classNames[i++]){state=isBool?state:!self.hasClass(className);self[state?"addClass":"removeClass"](className)}}else if(type==="undefined"||type==="boolean"){if(this.className){jQuery._data(this,"__className__",this.className)}this.className=this.className||value===false?"":jQuery._data(this,"__className__")||""}})},hasClass:function(selector){var className=" "+selector+" ",i=0,l=this.length;for(;i<l;i++){if(this[i].nodeType===1&&(" "+this[i].className+" ").replace(rclass," ").indexOf(className)>-1){return true}}return false},val:function(value){var hooks,ret,isFunction,elem=this[0];if(!arguments.length){if(elem){hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()];if(hooks&&"get"in hooks&&(ret=hooks.get(elem,"value"))!==undefined){return ret}ret=elem.value;return typeof ret==="string"?ret.replace(rreturn,""):ret==null?"":ret}return}isFunction=jQuery.isFunction(value);return this.each(function(i){var self=jQuery(this),val;if(this.nodeType!==1){return}if(isFunction){val=value.call(this,i,self.val())}else{val=value}if(val==null){val=""}else if(typeof val==="number"){val+=""}else if(jQuery.isArray(val)){val=jQuery.map(val,function(value){return value==null?"":value+""})}hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){this.value=val}})}});jQuery.extend({valHooks:{option:{get:function(elem){var val=elem.attributes.value;return!val||val.specified?elem.value:elem.text}},select:{get:function(elem){var value,i,max,option,index=elem.selectedIndex,values=[],options=elem.options,one=elem.type==="select-one";if(index<0){return null}i=one?index:0;max=one?index+1:options.length;for(;i<max;i++){option=options[i];if(option.selected&&(jQuery.support.optDisabled?!option.disabled:option.getAttribute("disabled")===null)&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){value=jQuery(option).val();if(one){return value}values.push(value)}}if(one&&!values.length&&options.length){return jQuery(options[index]).val()}return values},set:function(elem,value){var values=jQuery.makeArray(value);jQuery(elem).find("option").each(function(){this.selected=jQuery.inArray(jQuery(this).val(),values)>=0});if(!values.length){elem.selectedIndex=-1}return values}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(elem,name,value,pass){var ret,hooks,notxml,nType=elem.nodeType;if(!elem||nType===3||nType===8||nType===2){return}if(pass&&name in jQuery.attrFn){return jQuery(elem)[name](value)}if(typeof elem.getAttribute==="undefined"){return jQuery.prop(elem,name,value)}notxml=nType!==1||!jQuery.isXMLDoc(elem);if(notxml){name=name.toLowerCase();hooks=jQuery.attrHooks[name]||(rboolean.test(name)?boolHook:nodeHook)}if(value!==undefined){if(value===null){jQuery.removeAttr(elem,name);return}else if(hooks&&"set"in hooks&&notxml&&(ret=hooks.set(elem,value,name))!==undefined){return ret}else{elem.setAttribute(name,""+value);return value}}else if(hooks&&"get"in hooks&&notxml&&(ret=hooks.get(elem,name))!==null){return ret}else{ret=elem.getAttribute(name);return ret===null?undefined:ret}},removeAttr:function(elem,value){var propName,attrNames,name,l,isBool,i=0;if(value&&elem.nodeType===1){attrNames=value.toLowerCase().split(rspace);l=attrNames.length;for(;i<l;i++){name=attrNames[i];if(name){propName=jQuery.propFix[name]||name;isBool=rboolean.test(name);if(!isBool){jQuery.attr(elem,name,"")}elem.removeAttribute(getSetAttribute?name:propName);if(isBool&&propName in elem){elem[propName]=false}}}}},attrHooks:{type:{set:function(elem,value){if(rtype.test(elem.nodeName)&&elem.parentNode){jQuery.error("type property can't be changed")}else if(!jQuery.support.radioValue&&value==="radio"&&jQuery.nodeName(elem,"input")){var val=elem.value;elem.setAttribute("type",value);if(val){elem.value=val}return value}}},value:{get:function(elem,name){if(nodeHook&&jQuery.nodeName(elem,"button")){return nodeHook.get(elem,name)}return name in elem?elem.value:null},set:function(elem,value,name){if(nodeHook&&jQuery.nodeName(elem,"button")){return nodeHook.set(elem,value,name)}elem.value=value}}},propFix:{tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(elem,name,value){var ret,hooks,notxml,nType=elem.nodeType;if(!elem||nType===3||nType===8||nType===2){return}notxml=nType!==1||!jQuery.isXMLDoc(elem);if(notxml){name=jQuery.propFix[name]||name;hooks=jQuery.propHooks[name]}if(value!==undefined){if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret}else{return elem[name]=value}}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){return ret}else{return elem[name]}}},propHooks:{tabIndex:{get:function(elem){var attributeNode=elem.getAttributeNode("tabindex");return attributeNode&&attributeNode.specified?parseInt(attributeNode.value,10):rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:undefined}}}});jQuery.attrHooks.tabindex=jQuery.propHooks.tabIndex;boolHook={get:function(elem,name){var attrNode,property=jQuery.prop(elem,name);return property===true||typeof property!=="boolean"&&(attrNode=elem.getAttributeNode(name))&&attrNode.nodeValue!==false?name.toLowerCase():undefined},set:function(elem,value,name){var propName;if(value===false){jQuery.removeAttr(elem,name)}else{propName=jQuery.propFix[name]||name;if(propName in elem){elem[propName]=true}elem.setAttribute(name,name.toLowerCase())}return name}};if(!getSetAttribute){fixSpecified={name:true,id:true,coords:true};nodeHook=jQuery.valHooks.button={get:function(elem,name){var ret;ret=elem.getAttributeNode(name);return ret&&(fixSpecified[name]?ret.nodeValue!=="":ret.specified)?ret.nodeValue:undefined},set:function(elem,value,name){var ret=elem.getAttributeNode(name);if(!ret){ret=document.createAttribute(name);elem.setAttributeNode(ret)}return ret.nodeValue=value+""}};jQuery.attrHooks.tabindex.set=nodeHook.set;jQuery.each(["width","height"],function(i,name){jQuery.attrHooks[name]=jQuery.extend(jQuery.attrHooks[name],{set:function(elem,value){if(value===""){elem.setAttribute(name,"auto");return value}}})});jQuery.attrHooks.contenteditable={get:nodeHook.get,set:function(elem,value,name){if(value===""){value="false"}nodeHook.set(elem,value,name)}}}if(!jQuery.support.hrefNormalized){jQuery.each(["href","src","width","height"],function(i,name){jQuery.attrHooks[name]=jQuery.extend(jQuery.attrHooks[name],{get:function(elem){var ret=elem.getAttribute(name,2);return ret===null?undefined:ret}})})}if(!jQuery.support.style){jQuery.attrHooks.style={get:function(elem){return elem.style.cssText.toLowerCase()||undefined},set:function(elem,value){return elem.style.cssText=""+value}}}if(!jQuery.support.optSelected){jQuery.propHooks.selected=jQuery.extend(jQuery.propHooks.selected,{get:function(elem){var parent=elem.parentNode;if(parent){parent.selectedIndex;if(parent.parentNode){parent.parentNode.selectedIndex}}return null}})}if(!jQuery.support.enctype){jQuery.propFix.enctype="encoding"}if(!jQuery.support.checkOn){jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={get:function(elem){return elem.getAttribute("value")===null?"on":elem.value}}})}jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]=jQuery.extend(jQuery.valHooks[this],{set:function(elem,value){if(jQuery.isArray(value)){return elem.checked=jQuery.inArray(jQuery(elem).val(),value)>=0}}})});var rformElems=/^(?:textarea|input|select)$/i,rtypenamespace=/^([^\.]*)?(?:\.(.+))?$/,rhoverHack=/(?:^|\s)hover(\.\S+)?\b/,rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|contextmenu)|click/,rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,rquickIs=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,quickParse=function(selector){var quick=rquickIs.exec(selector);if(quick){quick[1]=(quick[1]||"").toLowerCase();quick[3]=quick[3]&&new RegExp("(?:^|\\s)"+quick[3]+"(?:\\s|$)")}return quick},quickIs=function(elem,m){var attrs=elem.attributes||{};return(!m[1]||elem.nodeName.toLowerCase()===m[1])&&(!m[2]||(attrs.id||{}).value===m[2])&&(!m[3]||m[3].test((attrs["class"]||{}).value))},hoverHack=function(events){return jQuery.event.special.hover?events:events.replace(rhoverHack,"mouseenter$1 mouseleave$1")};jQuery.event={add:function(elem,types,handler,data,selector){var elemData,eventHandle,events,t,tns,type,namespaces,handleObj,handleObjIn,quick,handlers,special;if(elem.nodeType===3||elem.nodeType===8||!types||!handler||!(elemData=jQuery._data(elem))){return}if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler;selector=handleObjIn.selector}if(!handler.guid){handler.guid=jQuery.guid++}events=elemData.events;if(!events){elemData.events=events={}}eventHandle=elemData.handle;if(!eventHandle){elemData.handle=eventHandle=function(e){return typeof jQuery!=="undefined"&&(!e||jQuery.event.triggered!==e.type)?jQuery.event.dispatch.apply(eventHandle.elem,arguments):undefined};eventHandle.elem=elem}types=jQuery.trim(hoverHack(types)).split(" ");for(t=0;t<types.length;t++){tns=rtypenamespace.exec(types[t])||[];type=tns[1];namespaces=(tns[2]||"").split(".").sort();special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;special=jQuery.event.special[type]||{};handleObj=jQuery.extend({type:type,origType:tns[1],data:data,handler:handler,guid:handler.guid,selector:selector,quick:selector&&quickParse(selector),namespace:namespaces.join(".")},handleObjIn);handlers=events[type];if(!handlers){handlers=events[type]=[];handlers.delegateCount=0;if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){if(elem.addEventListener){elem.addEventListener(type,eventHandle,false)}else if(elem.attachEvent){elem.attachEvent("on"+type,eventHandle)}}}if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid){handleObj.handler.guid=handler.guid}}if(selector){handlers.splice(handlers.delegateCount++,0,handleObj)}else{handlers.push(handleObj)}jQuery.event.global[type]=true}elem=null},global:{},remove:function(elem,types,handler,selector,mappedTypes){var elemData=jQuery.hasData(elem)&&jQuery._data(elem),t,tns,type,origType,namespaces,origCount,j,events,special,handle,eventType,handleObj;if(!elemData||!(events=elemData.events)){return}types=jQuery.trim(hoverHack(types||"")).split(" ");for(t=0;t<types.length;t++){tns=rtypenamespace.exec(types[t])||[];type=origType=tns[1];namespaces=tns[2];if(!type){for(type in events){jQuery.event.remove(elem,type+types[t],handler,selector,true)}continue}special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;eventType=events[type]||[];origCount=eventType.length;namespaces=namespaces?new RegExp("(^|\\.)"+namespaces.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(j=0;j<eventType.length;j++){handleObj=eventType[j];if((mappedTypes||origType===handleObj.origType)&&(!handler||handler.guid===handleObj.guid)&&(!namespaces||namespaces.test(handleObj.namespace))&&(!selector||selector===handleObj.selector||selector==="**"&&handleObj.selector)){eventType.splice(j--,1);if(handleObj.selector){eventType.delegateCount--}if(special.remove){special.remove.call(elem,handleObj)}}}if(eventType.length===0&&origCount!==eventType.length){if(!special.teardown||special.teardown.call(elem,namespaces)===false){jQuery.removeEvent(elem,type,elemData.handle)}delete events[type]}}if(jQuery.isEmptyObject(events)){handle=elemData.handle;if(handle){handle.elem=null}jQuery.removeData(elem,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(event,data,elem,onlyHandlers){if(elem&&(elem.nodeType===3||elem.nodeType===8)){return}var type=event.type||event,namespaces=[],cache,exclusive,i,cur,old,ontype,special,handle,eventPath,bubbleType;if(rfocusMorph.test(type+jQuery.event.triggered)){return}if(type.indexOf("!")>=0){type=type.slice(0,-1);exclusive=true}if(type.indexOf(".")>=0){namespaces=type.split(".");type=namespaces.shift();namespaces.sort()}if((!elem||jQuery.event.customEvent[type])&&!jQuery.event.global[type]){return}event=typeof event==="object"?event[jQuery.expando]?event:new jQuery.Event(type,event):new jQuery.Event(type);event.type=type;event.isTrigger=true;event.exclusive=exclusive;event.namespace=namespaces.join(".");event.namespace_re=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;ontype=type.indexOf(":")<0?"on"+type:"";if(!elem){cache=jQuery.cache;for(i in cache){if(cache[i].events&&cache[i].events[type]){jQuery.event.trigger(event,data,cache[i].handle.elem,true)}}return}event.result=undefined;if(!event.target){event.target=elem}data=data!=null?jQuery.makeArray(data):[];data.unshift(event);special=jQuery.event.special[type]||{};if(special.trigger&&special.trigger.apply(elem,data)===false){return}eventPath=[[elem,special.bindType||type]];if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){bubbleType=special.delegateType||type;cur=rfocusMorph.test(bubbleType+type)?elem:elem.parentNode;old=null;for(;cur;cur=cur.parentNode){eventPath.push([cur,bubbleType]);old=cur}if(old&&old===elem.ownerDocument){eventPath.push([old.defaultView||old.parentWindow||window,bubbleType])}}for(i=0;i<eventPath.length&&!event.isPropagationStopped();i++){cur=eventPath[i][0];event.type=eventPath[i][1];handle=(jQuery._data(cur,"events")||{})[event.type]&&jQuery._data(cur,"handle");if(handle){handle.apply(cur,data)}handle=ontype&&cur[ontype];if(handle&&jQuery.acceptData(cur)&&handle.apply(cur,data)===false){event.preventDefault()}}event.type=type;if(!onlyHandlers&&!event.isDefaultPrevented()){if((!special._default||special._default.apply(elem.ownerDocument,data)===false)&&!(type==="click"&&jQuery.nodeName(elem,"a"))&&jQuery.acceptData(elem)){if(ontype&&elem[type]&&(type!=="focus"&&type!=="blur"||event.target.offsetWidth!==0)&&!jQuery.isWindow(elem)){old=elem[ontype];if(old){elem[ontype]=null}jQuery.event.triggered=type;elem[type]();jQuery.event.triggered=undefined;if(old){elem[ontype]=old}}}}return event.result},dispatch:function(event){event=jQuery.event.fix(event||window.event);var handlers=(jQuery._data(this,"events")||{})[event.type]||[],delegateCount=handlers.delegateCount,args=[].slice.call(arguments,0),run_all=!event.exclusive&&!event.namespace,special=jQuery.event.special[event.type]||{},handlerQueue=[],i,j,cur,jqcur,ret,selMatch,matched,matches,handleObj,sel,related;args[0]=event;event.delegateTarget=this;if(special.preDispatch&&special.preDispatch.call(this,event)===false){return}if(delegateCount&&!(event.button&&event.type==="click")){jqcur=jQuery(this);jqcur.context=this.ownerDocument||this;for(cur=event.target;cur!=this;cur=cur.parentNode||this){if(cur.disabled!==true){selMatch={};matches=[];jqcur[0]=cur;for(i=0;i<delegateCount;i++){handleObj=handlers[i];sel=handleObj.selector;if(selMatch[sel]===undefined){selMatch[sel]=handleObj.quick?quickIs(cur,handleObj.quick):jqcur.is(sel)}if(selMatch[sel]){matches.push(handleObj)}}if(matches.length){handlerQueue.push({elem:cur,matches:matches})}}}}if(handlers.length>delegateCount){handlerQueue.push({elem:this,matches:handlers.slice(delegateCount)})}for(i=0;i<handlerQueue.length&&!event.isPropagationStopped();i++){matched=handlerQueue[i];event.currentTarget=matched.elem;for(j=0;j<matched.matches.length&&!event.isImmediatePropagationStopped();j++){handleObj=matched.matches[j];if(run_all||!event.namespace&&!handleObj.namespace||event.namespace_re&&event.namespace_re.test(handleObj.namespace)){event.data=handleObj.data;event.handleObj=handleObj;ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation()}}}}}if(special.postDispatch){special.postDispatch.call(this,event)}return event.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(event,original){if(event.which==null){event.which=original.charCode!=null?original.charCode:original.keyCode}return event}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(event,original){var eventDoc,doc,body,button=original.button,fromElement=original.fromElement;if(event.pageX==null&&original.clientX!=null){eventDoc=event.target.ownerDocument||document;doc=eventDoc.documentElement;body=eventDoc.body;event.pageX=original.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=original.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)}if(!event.relatedTarget&&fromElement){event.relatedTarget=fromElement===event.target?original.toElement:fromElement}if(!event.which&&button!==undefined){event.which=button&1?1:button&2?3:button&4?2:0}return event}},fix:function(event){if(event[jQuery.expando]){return event}var i,prop,originalEvent=event,fixHook=jQuery.event.fixHooks[event.type]||{},copy=fixHook.props?this.props.concat(fixHook.props):this.props;event=jQuery.Event(originalEvent);for(i=copy.length;i;){prop=copy[--i];event[prop]=originalEvent[prop]}if(!event.target){event.target=originalEvent.srcElement||document}if(event.target.nodeType===3){event.target=event.target.parentNode}if(event.metaKey===undefined){event.metaKey=event.ctrlKey}return fixHook.filter?fixHook.filter(event,originalEvent):event},special:{ready:{setup:jQuery.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(data,namespaces,eventHandle){if(jQuery.isWindow(this)){this.onbeforeunload=eventHandle}},teardown:function(namespaces,eventHandle){if(this.onbeforeunload===eventHandle){this.onbeforeunload=null}}}},simulate:function(type,elem,event,bubble){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:true,originalEvent:{}});if(bubble){jQuery.event.trigger(e,null,elem)}else{jQuery.event.dispatch.call(elem,e)}if(e.isDefaultPrevented()){event.preventDefault()}}};jQuery.event.handle=jQuery.event.dispatch;jQuery.removeEvent=document.removeEventListener?function(elem,type,handle){if(elem.removeEventListener){elem.removeEventListener(type,handle,false)}}:function(elem,type,handle){if(elem.detachEvent){elem.detachEvent("on"+type,handle)}};jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event)){return new jQuery.Event(src,props)}if(src&&src.type){this.originalEvent=src;this.type=src.type;this.isDefaultPrevented=src.defaultPrevented||src.returnValue===false||src.getPreventDefault&&src.getPreventDefault()?returnTrue:returnFalse}else{this.type=src}if(props){jQuery.extend(this,props)}this.timeStamp=src&&src.timeStamp||jQuery.now();this[jQuery.expando]=true};function returnFalse(){return false}function returnTrue(){return true}jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e){return}if(e.preventDefault){e.preventDefault()}else{e.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e){return}if(e.stopPropagation){e.stopPropagation()}e.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation()},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var target=this,related=event.relatedTarget,handleObj=event.handleObj,selector=handleObj.selector,ret;if(!related||related!==target&&!jQuery.contains(target,related)){event.type=handleObj.origType;ret=handleObj.handler.apply(this,arguments);event.type=fix}return ret}}});if(!jQuery.support.submitBubbles){jQuery.event.special.submit={setup:function(){if(jQuery.nodeName(this,"form")){return false}jQuery.event.add(this,"click._submit keypress._submit",function(e){var elem=e.target,form=jQuery.nodeName(elem,"input")||jQuery.nodeName(elem,"button")?elem.form:undefined;if(form&&!form._submit_attached){jQuery.event.add(form,"submit._submit",function(event){event._submit_bubble=true});form._submit_attached=true}})},postDispatch:function(event){if(event._submit_bubble){delete event._submit_bubble;if(this.parentNode&&!event.isTrigger){jQuery.event.simulate("submit",this.parentNode,event,true)}}},teardown:function(){if(jQuery.nodeName(this,"form")){return false}jQuery.event.remove(this,"._submit")}}}if(!jQuery.support.changeBubbles){jQuery.event.special.change={setup:function(){if(rformElems.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){jQuery.event.add(this,"propertychange._change",function(event){if(event.originalEvent.propertyName==="checked"){this._just_changed=true}});jQuery.event.add(this,"click._change",function(event){if(this._just_changed&&!event.isTrigger){this._just_changed=false;jQuery.event.simulate("change",this,event,true)}})}return false}jQuery.event.add(this,"beforeactivate._change",function(e){var elem=e.target;if(rformElems.test(elem.nodeName)&&!elem._change_attached){jQuery.event.add(elem,"change._change",function(event){if(this.parentNode&&!event.isSimulated&&!event.isTrigger){jQuery.event.simulate("change",this.parentNode,event,true)}});elem._change_attached=true}})},handle:function(event){var elem=event.target;if(this!==elem||event.isSimulated||event.isTrigger||elem.type!=="radio"&&elem.type!=="checkbox"){return event.handleObj.handler.apply(this,arguments)}},teardown:function(){jQuery.event.remove(this,"._change");return rformElems.test(this.nodeName)}}}if(!jQuery.support.focusinBubbles){jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var attaches=0,handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event),true)};jQuery.event.special[fix]={setup:function(){if(attaches++===0){document.addEventListener(orig,handler,true)}},teardown:function(){if(--attaches===0){document.removeEventListener(orig,handler,true)}}}})}jQuery.fn.extend({on:function(types,selector,data,fn,one){var origFn,type;if(typeof types==="object"){if(typeof selector!=="string"){data=data||selector;selector=undefined}for(type in types){this.on(type,selector,data,types[type],one)}return this}if(data==null&&fn==null){fn=selector;data=selector=undefined}else if(fn==null){if(typeof selector==="string"){fn=data;data=undefined}else{fn=data;data=selector;selector=undefined}}if(fn===false){fn=returnFalse}else if(!fn){return this}if(one===1){origFn=fn;fn=function(event){jQuery().off(event);return origFn.apply(this,arguments)};fn.guid=origFn.guid||(origFn.guid=jQuery.guid++)}return this.each(function(){jQuery.event.add(this,types,fn,data,selector)})},one:function(types,selector,data,fn){return this.on(types,selector,data,fn,1)},off:function(types,selector,fn){if(types&&types.preventDefault&&types.handleObj){var handleObj=types.handleObj;jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler);return this}if(typeof types==="object"){for(var type in types){this.off(type,selector,types[type])}return this}if(selector===false||typeof selector==="function"){fn=selector;selector=undefined}if(fn===false){fn=returnFalse}return this.each(function(){jQuery.event.remove(this,types,fn,selector)})},bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},live:function(types,data,fn){jQuery(this.context).on(types,this.selector,data,fn);return this},die:function(types,fn){jQuery(this.context).off(types,this.selector||"**",fn);return this},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return arguments.length==1?this.off(selector,"**"):this.off(types,selector,fn)},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){if(this[0]){return jQuery.event.trigger(type,data,this[0],true)}},toggle:function(fn){var args=arguments,guid=fn.guid||jQuery.guid++,i=0,toggler=function(event){var lastToggle=(jQuery._data(this,"lastToggle"+fn.guid)||0)%i;jQuery._data(this,"lastToggle"+fn.guid,lastToggle+1);event.preventDefault();return args[lastToggle].apply(this,arguments)||false};toggler.guid=guid;while(i<args.length){args[i++].guid=guid}return this.click(toggler)},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)}});jQuery.each(("blur focus focusin focusout load resize scroll unload click dblclick "+"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+"change select submit keydown keypress keyup error contextmenu").split(" "),function(i,name){jQuery.fn[name]=function(data,fn){if(fn==null){fn=data;data=null}return arguments.length>0?this.on(name,null,data,fn):this.trigger(name)};if(jQuery.attrFn){jQuery.attrFn[name]=true}if(rkeyEvent.test(name)){jQuery.event.fixHooks[name]=jQuery.event.keyHooks}if(rmouseEvent.test(name)){jQuery.event.fixHooks[name]=jQuery.event.mouseHooks}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,expando="sizcache"+(Math.random()+"").replace(".",""),done=0,toString=Object.prototype.toString,hasDuplicate=false,baseHasDuplicate=true,rBackslash=/\\/g,rReturn=/\r\n/g,rNonWord=/\W/;[0,0].sort(function(){baseHasDuplicate=false;return 0});var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;var origContext=context;if(context.nodeType!==1&&context.nodeType!==9){return[]}if(!selector||typeof selector!=="string"){return results}var m,set,checkSet,extra,ret,cur,pop,i,prune=true,contextXML=Sizzle.isXML(context),parts=[],soFar=selector;do{chunker.exec("");m=chunker.exec(soFar);if(m){soFar=m[3];parts.push(m[1]);if(m[2]){extra=m[3];break}}}while(m);if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context,seed)}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector]){selector+=parts.shift()}set=posProcess(selector,set,seed)}}}else{if(!seed&&parts.length>1&&context.nodeType===9&&!contextXML&&Expr.match.ID.test(parts[0])&&!Expr.match.ID.test(parts[parts.length-1])){ret=Sizzle.find(parts.shift(),context,contextXML);context=ret.expr?Sizzle.filter(ret.expr,ret.set)[0]:ret.set[0]}if(context){ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&(parts[0]==="~"||parts[0]==="+")&&context.parentNode?context.parentNode:context,contextXML);set=ret.expr?Sizzle.filter(ret.expr,ret.set):ret.set;if(parts.length>0){checkSet=makeArray(set)}else{prune=false}while(parts.length){cur=parts.pop();pop=cur;if(!Expr.relative[cur]){cur=""}else{pop=parts.pop()}if(pop==null){pop=context}Expr.relative[cur](checkSet,pop,contextXML)}}else{checkSet=parts=[]}}if(!checkSet){checkSet=set}if(!checkSet){Sizzle.error(cur||selector)}if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet)}else if(context&&context.nodeType===1){for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&Sizzle.contains(context,checkSet[i]))){results.push(set[i])}}}else{for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i])}}}}else{makeArray(checkSet,results)}if(extra){Sizzle(extra,origContext,results,seed);Sizzle.uniqueSort(results)}return results};Sizzle.uniqueSort=function(results){if(sortOrder){hasDuplicate=baseHasDuplicate;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1)}}}}return results};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set)};Sizzle.matchesSelector=function(node,expr){return Sizzle(expr,null,null,[node]).length>0};Sizzle.find=function(expr,context,isXML){var set,i,len,match,type,left;if(!expr){return[]}for(i=0,len=Expr.order.length;i<len;i++){type=Expr.order[i];if(match=Expr.leftMatch[type].exec(expr)){left=match[1];match.splice(1,1);if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(rBackslash,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break}}}}if(!set){set=typeof context.getElementsByTagName!=="undefined"?context.getElementsByTagName("*"):[]}return{set:set,expr:expr}};Sizzle.filter=function(expr,set,inplace,not){var match,anyFound,type,found,item,filter,left,i,pass,old=expr,result=[],curLoop=set,isXMLFilter=set&&set[0]&&Sizzle.isXML(set[0]);while(expr&&set.length){for(type in Expr.filter){if((match=Expr.leftMatch[type].exec(expr))!=null&&match[2]){filter=Expr.filter[type];left=match[1];anyFound=false;match.splice(1,1);if(left.substr(left.length-1)==="\\"){continue}if(curLoop===result){result=[]}if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true}else if(match===true){continue}}if(match){for(i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);pass=not^found;if(inplace&&found!=null){if(pass){anyFound=true}else{curLoop[i]=false}}else if(pass){result.push(item);anyFound=true}}}}if(found!==undefined){if(!inplace){curLoop=result}expr=expr.replace(Expr.match[type],"");if(!anyFound){return[]}break}}}if(expr===old){if(anyFound==null){Sizzle.error(expr)}else{break}}old=expr}return curLoop};Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg)};var getText=Sizzle.getText=function(elem){var i,node,nodeType=elem.nodeType,ret="";if(nodeType){if(nodeType===1||nodeType===9||nodeType===11){if(typeof elem.textContent==="string"){return elem.textContent}else if(typeof elem.innerText==="string"){return elem.innerText.replace(rReturn,"")}else{for(elem=elem.firstChild;elem;elem=elem.nextSibling){ret+=getText(elem)}}}else if(nodeType===3||nodeType===4){return elem.nodeValue}}else{for(i=0;node=elem[i];i++){if(node.nodeType!==8){ret+=getText(node)}}}return ret};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{class:"className",for:"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href")},type:function(elem){return elem.getAttribute("type")}},relative:{"+":function(checkSet,part){var isPartStr=typeof part==="string",isTag=isPartStr&&!rNonWord.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag){part=part.toLowerCase()}for(var i=0,l=checkSet.length,elem;i<l;i++){if(elem=checkSet[i]){

+ while((elem=elem.previousSibling)&&elem.nodeType!==1){}checkSet[i]=isPartStrNotTag||elem&&elem.nodeName.toLowerCase()===part?elem||false:elem===part}}if(isPartStrNotTag){Sizzle.filter(part,checkSet,true)}},">":function(checkSet,part){var elem,isPartStr=typeof part==="string",i=0,l=checkSet.length;if(isPartStr&&!rNonWord.test(part)){part=part.toLowerCase();for(;i<l;i++){elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName.toLowerCase()===part?parent:false}}}else{for(;i<l;i++){elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part}}if(isPartStr){Sizzle.filter(part,checkSet,true)}}},"":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!rNonWord.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck}checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML)},"~":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!rNonWord.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck}checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML)}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m&&m.parentNode?[m]:[]}},NAME:function(match,context){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i])}}return ret.length===0?null:ret}},TAG:function(match,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(match[1])}}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(rBackslash,"")+" ";if(isXML){return match}for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").replace(/[\t\n\r]/g," ").indexOf(match)>=0)){if(!inplace){result.push(elem)}}else if(inplace){curLoop[i]=false}}}return false},ID:function(match){return match[1].replace(rBackslash,"")},TAG:function(match,curLoop){return match[1].replace(rBackslash,"").toLowerCase()},CHILD:function(match){if(match[1]==="nth"){if(!match[2]){Sizzle.error(match[0])}match[2]=match[2].replace(/^\+|\s*/g,"");var test=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(match[2]==="even"&&"2n"||match[2]==="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=test[1]+(test[2]||1)-0;match[3]=test[3]-0}else if(match[2]){Sizzle.error(match[0])}match[0]=done++;return match},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1]=match[1].replace(rBackslash,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name]}match[4]=(match[4]||match[5]||"").replace(rBackslash,"");if(match[2]==="~="){match[4]=" "+match[4]+" "}return match},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if((chunker.exec(match[3])||"").length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop)}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret)}return false}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true}return match},POS:function(match){match.unshift(true);return match}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden"},disabled:function(elem){return elem.disabled===true},checked:function(elem){return elem.checked===true},selected:function(elem){if(elem.parentNode){elem.parentNode.selectedIndex}return elem.selected===true},parent:function(elem){return!!elem.firstChild},empty:function(elem){return!elem.firstChild},has:function(elem,i,match){return!!Sizzle(match[3],elem).length},header:function(elem){return/h\d/i.test(elem.nodeName)},text:function(elem){var attr=elem.getAttribute("type"),type=elem.type;return elem.nodeName.toLowerCase()==="input"&&"text"===type&&(attr===type||attr===null)},radio:function(elem){return elem.nodeName.toLowerCase()==="input"&&"radio"===elem.type},checkbox:function(elem){return elem.nodeName.toLowerCase()==="input"&&"checkbox"===elem.type},file:function(elem){return elem.nodeName.toLowerCase()==="input"&&"file"===elem.type},password:function(elem){return elem.nodeName.toLowerCase()==="input"&&"password"===elem.type},submit:function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&"submit"===elem.type},image:function(elem){return elem.nodeName.toLowerCase()==="input"&&"image"===elem.type},reset:function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&"reset"===elem.type},button:function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&"button"===elem.type||name==="button"},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName)},focus:function(elem){return elem===elem.ownerDocument.activeElement}},setFilters:{first:function(elem,i){return i===0},last:function(elem,i,match,array){return i===array.length-1},even:function(elem,i){return i%2===0},odd:function(elem,i){return i%2===1},lt:function(elem,i,match){return i<match[3]-0},gt:function(elem,i,match){return i>match[3]-0},nth:function(elem,i,match){return match[3]-0===i},eq:function(elem,i,match){return match[3]-0===i}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array)}else if(name==="contains"){return(elem.textContent||elem.innerText||getText([elem])||"").indexOf(match[3])>=0}else if(name==="not"){var not=match[3];for(var j=0,l=not.length;j<l;j++){if(not[j]===elem){return false}}return true}else{Sizzle.error(name)}},CHILD:function(elem,match){var first,last,doneName,parent,cache,count,diff,type=match[1],node=elem;switch(type){case"only":case"first":while(node=node.previousSibling){if(node.nodeType===1){return false}}if(type==="first"){return true}node=elem;case"last":while(node=node.nextSibling){if(node.nodeType===1){return false}}return true;case"nth":first=match[2];last=match[3];if(first===1&&last===0){return true}doneName=match[0];parent=elem.parentNode;if(parent&&(parent[expando]!==doneName||!elem.nodeIndex)){count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count}}parent[expando]=doneName}diff=elem.nodeIndex-last;if(first===0){return diff===0}else{return diff%first===0&&diff/first>=0}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match},TAG:function(elem,match){return match==="*"&&elem.nodeType===1||!!elem.nodeName&&elem.nodeName.toLowerCase()===match},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1},ATTR:function(elem,match){var name=match[1],result=Sizzle.attr?Sizzle.attr(elem,name):Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":!type&&Sizzle.attr?result!=null:type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!==check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array)}}}};var origPOS=Expr.match.POS,fescape=function(all,num){return"\\"+(num-0+1)};for(var type in Expr.match){Expr.match[type]=new RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);Expr.leftMatch[type]=new RegExp(/(^(?:.|\r|\n)*?)/.source+Expr.match[type].source.replace(/\\(\d+)/g,fescape))}Expr.match.globalPOS=origPOS;var makeArray=function(array,results){array=Array.prototype.slice.call(array,0);if(results){results.push.apply(results,array);return results}return array};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType}catch(e){makeArray=function(array,results){var i=0,ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array)}else{if(typeof array.length==="number"){for(var l=array.length;i<l;i++){ret.push(array[i])}}else{for(;array[i];i++){ret.push(array[i])}}}return ret}}var sortOrder,siblingCheck;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){if(a===b){hasDuplicate=true;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition){return a.compareDocumentPosition?-1:1}return a.compareDocumentPosition(b)&4?-1:1}}else{sortOrder=function(a,b){if(a===b){hasDuplicate=true;return 0}else if(a.sourceIndex&&b.sourceIndex){return a.sourceIndex-b.sourceIndex}var al,bl,ap=[],bp=[],aup=a.parentNode,bup=b.parentNode,cur=aup;if(aup===bup){return siblingCheck(a,b)}else if(!aup){return-1}else if(!bup){return 1}while(cur){ap.unshift(cur);cur=cur.parentNode}cur=bup;while(cur){bp.unshift(cur);cur=cur.parentNode}al=ap.length;bl=bp.length;for(var i=0;i<al&&i<bl;i++){if(ap[i]!==bp[i]){return siblingCheck(ap[i],bp[i])}}return i===al?siblingCheck(a,bp[i],-1):siblingCheck(ap[i],b,1)};siblingCheck=function(a,b,ret){if(a===b){return ret}var cur=a.nextSibling;while(cur){if(cur===b){return-1}cur=cur.nextSibling}return 1}}(function(){var form=document.createElement("div"),id="script"+(new Date).getTime(),root=document.documentElement;form.innerHTML="<a name='"+id+"'/>";root.insertBefore(form,root.firstChild);if(document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[]}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match}}root.removeChild(form);root=form=null})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i])}}results=tmp}return results}}div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2)}}div=null})();if(document.querySelectorAll){(function(){var oldSizzle=Sizzle,div=document.createElement("div"),id="__sizzle__";div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return}Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&!Sizzle.isXML(context)){var match=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(query);if(match&&(context.nodeType===1||context.nodeType===9)){if(match[1]){return makeArray(context.getElementsByTagName(query),extra)}else if(match[2]&&Expr.find.CLASS&&context.getElementsByClassName){return makeArray(context.getElementsByClassName(match[2]),extra)}}if(context.nodeType===9){if(query==="body"&&context.body){return makeArray([context.body],extra)}else if(match&&match[3]){var elem=context.getElementById(match[3]);if(elem&&elem.parentNode){if(elem.id===match[3]){return makeArray([elem],extra)}}else{return makeArray([],extra)}}try{return makeArray(context.querySelectorAll(query),extra)}catch(qsaError){}}else if(context.nodeType===1&&context.nodeName.toLowerCase()!=="object"){var oldContext=context,old=context.getAttribute("id"),nid=old||id,hasParent=context.parentNode,relativeHierarchySelector=/^\s*[+~]/.test(query);if(!old){context.setAttribute("id",nid)}else{nid=nid.replace(/'/g,"\\$&")}if(relativeHierarchySelector&&hasParent){context=context.parentNode}try{if(!relativeHierarchySelector||hasParent){return makeArray(context.querySelectorAll("[id='"+nid+"'] "+query),extra)}}catch(pseudoError){}finally{if(!old){oldContext.removeAttribute("id")}}}}return oldSizzle(query,context,extra,seed)};for(var prop in oldSizzle){Sizzle[prop]=oldSizzle[prop]}div=null})()}(function(){var html=document.documentElement,matches=html.matchesSelector||html.mozMatchesSelector||html.webkitMatchesSelector||html.msMatchesSelector;if(matches){var disconnectedMatch=!matches.call(document.createElement("div"),"div"),pseudoWorks=false;try{matches.call(document.documentElement,"[test!='']:sizzle")}catch(pseudoError){pseudoWorks=true}Sizzle.matchesSelector=function(node,expr){expr=expr.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!Sizzle.isXML(node)){try{if(pseudoWorks||!Expr.match.PSEUDO.test(expr)&&!/!=/.test(expr)){var ret=matches.call(node,expr);if(ret||!disconnectedMatch||node.document&&node.document.nodeType!==11){return ret}}}catch(e){}}return Sizzle(expr,null,null,[node]).length>0}}})();(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(!div.getElementsByClassName||div.getElementsByClassName("e").length===0){return}div.lastChild.className="e";if(div.getElementsByClassName("e").length===1){return}Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1])}};div=null})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem[expando]===doneName){match=checkSet[elem.sizset];break}if(elem.nodeType===1&&!isXML){elem[expando]=doneName;elem.sizset=i}if(elem.nodeName.toLowerCase()===cur){match=elem;break}elem=elem[dir]}checkSet[i]=match}}}function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem[expando]===doneName){match=checkSet[elem.sizset];break}if(elem.nodeType===1){if(!isXML){elem[expando]=doneName;elem.sizset=i}if(typeof cur!=="string"){if(elem===cur){match=true;break}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break}}elem=elem[dir]}checkSet[i]=match}}}if(document.documentElement.contains){Sizzle.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):true)}}else if(document.documentElement.compareDocumentPosition){Sizzle.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}}else{Sizzle.contains=function(){return false}}Sizzle.isXML=function(elem){var documentElement=(elem?elem.ownerDocument||elem:0).documentElement;return documentElement?documentElement.nodeName!=="HTML":false};var posProcess=function(selector,context,seed){var match,tmpSet=[],later="",root=context.nodeType?[context]:context;while(match=Expr.match.PSEUDO.exec(selector)){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"")}selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet,seed)}return Sizzle.filter(later,tmpSet)};Sizzle.attr=jQuery.attr;Sizzle.selectors.attrMap={};jQuery.find=Sizzle;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;jQuery.unique=Sizzle.uniqueSort;jQuery.text=Sizzle.getText;jQuery.isXMLDoc=Sizzle.isXML;jQuery.contains=Sizzle.contains})();var runtil=/Until$/,rparentsprev=/^(?:parents|prevUntil|prevAll)/,rmultiselector=/,/,isSimple=/^.[^:#\[\.,]*$/,slice=Array.prototype.slice,POS=jQuery.expr.match.globalPOS,guaranteedUnique={children:true,contents:true,next:true,prev:true};jQuery.fn.extend({find:function(selector){var self=this,i,l;if(typeof selector!=="string"){return jQuery(selector).filter(function(){for(i=0,l=self.length;i<l;i++){if(jQuery.contains(self[i],this)){return true}}})}var ret=this.pushStack("","find",selector),length,n,r;for(i=0,l=this.length;i<l;i++){length=ret.length;jQuery.find(selector,this[i],ret);if(i>0){for(n=length;n<ret.length;n++){for(r=0;r<length;r++){if(ret[r]===ret[n]){ret.splice(n--,1);break}}}}}return ret},has:function(target){var targets=jQuery(target);return this.filter(function(){for(var i=0,l=targets.length;i<l;i++){if(jQuery.contains(this,targets[i])){return true}}})},not:function(selector){return this.pushStack(winnow(this,selector,false),"not",selector)},filter:function(selector){return this.pushStack(winnow(this,selector,true),"filter",selector)},is:function(selector){return!!selector&&(typeof selector==="string"?POS.test(selector)?jQuery(selector,this.context).index(this[0])>=0:jQuery.filter(selector,this).length>0:this.filter(selector).length>0)},closest:function(selectors,context){var ret=[],i,l,cur=this[0];if(jQuery.isArray(selectors)){var level=1;while(cur&&cur.ownerDocument&&cur!==context){for(i=0;i<selectors.length;i++){if(jQuery(cur).is(selectors[i])){ret.push({selector:selectors[i],elem:cur,level:level})}}cur=cur.parentNode;level++}return ret}var pos=POS.test(selectors)||typeof selectors!=="string"?jQuery(selectors,context||this.context):0;for(i=0,l=this.length;i<l;i++){cur=this[i];while(cur){if(pos?pos.index(cur)>-1:jQuery.find.matchesSelector(cur,selectors)){ret.push(cur);break}else{cur=cur.parentNode;if(!cur||!cur.ownerDocument||cur===context||cur.nodeType===11){break}}}}ret=ret.length>1?jQuery.unique(ret):ret;return this.pushStack(ret,"closest",selectors)},index:function(elem){if(!elem){return this[0]&&this[0].parentNode?this.prevAll().length:-1}if(typeof elem==="string"){return jQuery.inArray(this[0],jQuery(elem))}return jQuery.inArray(elem.jquery?elem[0]:elem,this)},add:function(selector,context){var set=typeof selector==="string"?jQuery(selector,context):jQuery.makeArray(selector&&selector.nodeType?[selector]:selector),all=jQuery.merge(this.get(),set);return this.pushStack(isDisconnected(set[0])||isDisconnected(all[0])?all:jQuery.unique(all))},andSelf:function(){return this.add(this.prevObject)}});function isDisconnected(node){return!node||!node.parentNode||node.parentNode.nodeType===11}jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null},parents:function(elem){return jQuery.dir(elem,"parentNode")},parentsUntil:function(elem,i,until){return jQuery.dir(elem,"parentNode",until)},next:function(elem){return jQuery.nth(elem,2,"nextSibling")},prev:function(elem){return jQuery.nth(elem,2,"previousSibling")},nextAll:function(elem){return jQuery.dir(elem,"nextSibling")},prevAll:function(elem){return jQuery.dir(elem,"previousSibling")},nextUntil:function(elem,i,until){return jQuery.dir(elem,"nextSibling",until)},prevUntil:function(elem,i,until){return jQuery.dir(elem,"previousSibling",until)},siblings:function(elem){return jQuery.sibling((elem.parentNode||{}).firstChild,elem)},children:function(elem){return jQuery.sibling(elem.firstChild)},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes)}},function(name,fn){jQuery.fn[name]=function(until,selector){var ret=jQuery.map(this,fn,until);if(!runtil.test(name)){selector=until}if(selector&&typeof selector==="string"){ret=jQuery.filter(selector,ret)}ret=this.length>1&&!guaranteedUnique[name]?jQuery.unique(ret):ret;if((this.length>1||rmultiselector.test(selector))&&rparentsprev.test(name)){ret=ret.reverse()}return this.pushStack(ret,name,slice.call(arguments).join(","))}});jQuery.extend({filter:function(expr,elems,not){if(not){expr=":not("+expr+")"}return elems.length===1?jQuery.find.matchesSelector(elems[0],expr)?[elems[0]]:[]:jQuery.find.matches(expr,elems)},dir:function(elem,dir,until){var matched=[],cur=elem[dir];while(cur&&cur.nodeType!==9&&(until===undefined||cur.nodeType!==1||!jQuery(cur).is(until))){if(cur.nodeType===1){matched.push(cur)}cur=cur[dir]}return matched},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir]){if(cur.nodeType===1&&++num===result){break}}return cur},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){r.push(n)}}return r}});function winnow(elements,qualifier,keep){qualifier=qualifier||0;if(jQuery.isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){var retVal=!!qualifier.call(elem,i,elem);return retVal===keep})}else if(qualifier.nodeType){return jQuery.grep(elements,function(elem,i){return elem===qualifier===keep})}else if(typeof qualifier==="string"){var filtered=jQuery.grep(elements,function(elem){return elem.nodeType===1});if(isSimple.test(qualifier)){return jQuery.filter(qualifier,filtered,!keep)}else{qualifier=jQuery.filter(qualifier,filtered)}}return jQuery.grep(elements,function(elem,i){return jQuery.inArray(elem,qualifier)>=0===keep})}function createSafeFragment(document){var list=nodeNames.split("|"),safeFrag=document.createDocumentFragment();if(safeFrag.createElement){while(list.length){safeFrag.createElement(list.pop())}}return safeFrag}var nodeNames="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|"+"header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",rinlinejQuery=/ jQuery\d+="(?:\d+|null)"/g,rleadingWhitespace=/^\s+/,rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,rtagName=/<([\w:]+)/,rtbody=/<tbody/i,rhtml=/<|&#?\w+;/,rnoInnerhtml=/<(?:script|style)/i,rnocache=/<(?:script|object|embed|option|style)/i,rnoshimcache=new RegExp("<(?:"+nodeNames+")[\\s/>]","i"),rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptType=/\/(java|ecma)script/i,rcleanScript=/^\s*<!(?:\[CDATA\[|\-\-)/,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},safeFragment=createSafeFragment(document);wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td;if(!jQuery.support.htmlSerialize){wrapMap._default=[1,"div<div>","</div>"]}jQuery.fn.extend({text:function(value){return jQuery.access(this,function(value){return value===undefined?jQuery.text(this):this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(value))},null,value,arguments.length)},wrapAll:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapAll(html.call(this,i))})}if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0])}wrap.map(function(){var elem=this;while(elem.firstChild&&elem.firstChild.nodeType===1){elem=elem.firstChild}return elem}).append(this)}return this},wrapInner:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapInner(html.call(this,i))})}return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html)}else{self.append(html)}})},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html)})},unwrap:function(){return this.parent().each(function(){if(!jQuery.nodeName(this,"body")){jQuery(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.appendChild(elem)}})},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.insertBefore(elem,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this)})}else if(arguments.length){var set=jQuery.clean(arguments);set.push.apply(set,this.toArray());return this.pushStack(set,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling)})}else if(arguments.length){var set=this.pushStack(this,"after",arguments);set.push.apply(set,jQuery.clean(arguments));return set}},remove:function(selector,keepData){for(var i=0,elem;(elem=this[i])!=null;i++){if(!selector||jQuery.filter(selector,[elem]).length){if(!keepData&&elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"));jQuery.cleanData([elem])}if(elem.parentNode){elem.parentNode.removeChild(elem)}}}return this},empty:function(){for(var i=0,elem;(elem=this[i])!=null;i++){if(elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"))}while(elem.firstChild){elem.removeChild(elem.firstChild)}}return this},clone:function(dataAndEvents,deepDataAndEvents){dataAndEvents=dataAndEvents==null?false:dataAndEvents;deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;return this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){return jQuery.access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(value===undefined){return elem.nodeType===1?elem.innerHTML.replace(rinlinejQuery,""):null}if(typeof value==="string"&&!rnoInnerhtml.test(value)&&(jQuery.support.leadingWhitespace||!rleadingWhitespace.test(value))&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=value.replace(rxhtmlTag,"<$1></$2>");try{for(;i<l;i++){elem=this[i]||{};if(elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"));elem.innerHTML=value}}elem=0}catch(e){}}if(elem){this.empty().append(value)}},null,value,arguments.length)},replaceWith:function(value){if(this[0]&&this[0].parentNode){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this),old=self.html();self.replaceWith(value.call(this,i,old))})}if(typeof value!=="string"){value=jQuery(value).detach()}return this.each(function(){var next=this.nextSibling,parent=this.parentNode;jQuery(this).remove();if(next){jQuery(next).before(value)}else{jQuery(parent).append(value)}})}else{return this.length?this.pushStack(jQuery(jQuery.isFunction(value)?value():value),"replaceWith",value):this}},detach:function(selector){return this.remove(selector,true)},domManip:function(args,table,callback){var results,first,fragment,parent,value=args[0],scripts=[];if(!jQuery.support.checkClone&&arguments.length===3&&typeof value==="string"&&rchecked.test(value)){return this.each(function(){jQuery(this).domManip(args,table,callback,true)})}if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);args[0]=value.call(this,i,table?self.html():undefined);self.domManip(args,table,callback)})}if(this[0]){parent=value&&value.parentNode;if(jQuery.support.parentNode&&parent&&parent.nodeType===11&&parent.childNodes.length===this.length){results={fragment:parent}}else{results=jQuery.buildFragment(args,this,scripts)}fragment=results.fragment;if(fragment.childNodes.length===1){first=fragment=fragment.firstChild}else{first=fragment.firstChild}if(first){table=table&&jQuery.nodeName(first,"tr");for(var i=0,l=this.length,lastIndex=l-1;i<l;i++){callback.call(table?root(this[i],first):this[i],results.cacheable||l>1&&i<lastIndex?jQuery.clone(fragment,true,true):fragment)}}if(scripts.length){jQuery.each(scripts,function(i,elem){if(elem.src){jQuery.ajax({type:"GET",global:false,url:elem.src,async:false,dataType:"script"})}else{jQuery.globalEval((elem.text||elem.textContent||elem.innerHTML||"").replace(rcleanScript,"/*$0*/"))}if(elem.parentNode){elem.parentNode.removeChild(elem)}})}}return this}});function root(elem,cur){return jQuery.nodeName(elem,"table")?elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody")):elem}function cloneCopyEvent(src,dest){if(dest.nodeType!==1||!jQuery.hasData(src)){return}var type,i,l,oldData=jQuery._data(src),curData=jQuery._data(dest,oldData),events=oldData.events;if(events){delete curData.handle;curData.events={};for(type in events){for(i=0,l=events[type].length;i<l;i++){jQuery.event.add(dest,type,events[type][i])}}}if(curData.data){curData.data=jQuery.extend({},curData.data)}}function cloneFixAttributes(src,dest){var nodeName;if(dest.nodeType!==1){return}if(dest.clearAttributes){dest.clearAttributes()}if(dest.mergeAttributes){dest.mergeAttributes(src)}nodeName=dest.nodeName.toLowerCase();if(nodeName==="object"){dest.outerHTML=src.outerHTML}else if(nodeName==="input"&&(src.type==="checkbox"||src.type==="radio")){if(src.checked){dest.defaultChecked=dest.checked=src.checked}if(dest.value!==src.value){dest.value=src.value}}else if(nodeName==="option"){dest.selected=src.defaultSelected}else if(nodeName==="input"||nodeName==="textarea"){dest.defaultValue=src.defaultValue}else if(nodeName==="script"&&dest.text!==src.text){dest.text=src.text}dest.removeAttribute(jQuery.expando);dest.removeAttribute("_submit_attached");dest.removeAttribute("_change_attached")}jQuery.buildFragment=function(args,nodes,scripts){var fragment,cacheable,cacheresults,doc,first=args[0];if(nodes&&nodes[0]){doc=nodes[0].ownerDocument||nodes[0]}if(!doc.createDocumentFragment){doc=document}if(args.length===1&&typeof first==="string"&&first.length<512&&doc===document&&first.charAt(0)==="<"&&!rnocache.test(first)&&(jQuery.support.checkClone||!rchecked.test(first))&&(jQuery.support.html5Clone||!rnoshimcache.test(first))){cacheable=true;cacheresults=jQuery.fragments[first];if(cacheresults&&cacheresults!==1){fragment=cacheresults}}if(!fragment){fragment=doc.createDocumentFragment();jQuery.clean(args,doc,fragment,scripts)}if(cacheable){jQuery.fragments[first]=cacheresults?fragment:1}return{fragment:fragment,cacheable:cacheable}};jQuery.fragments={};jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector),parent=this.length===1&&this[0].parentNode;if(parent&&parent.nodeType===11&&parent.childNodes.length===1&&insert.length===1){insert[original](this[0]);return this}else{for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery(insert[i])[original](elems);ret=ret.concat(elems)}return this.pushStack(ret,name,insert.selector)}}});function getAll(elem){if(typeof elem.getElementsByTagName!=="undefined"){return elem.getElementsByTagName("*")}else if(typeof elem.querySelectorAll!=="undefined"){return elem.querySelectorAll("*")}else{return[]}}function fixDefaultChecked(elem){if(elem.type==="checkbox"||elem.type==="radio"){elem.defaultChecked=elem.checked}}function findInputs(elem){var nodeName=(elem.nodeName||"").toLowerCase();if(nodeName==="input"){fixDefaultChecked(elem)}else if(nodeName!=="script"&&typeof elem.getElementsByTagName!=="undefined"){jQuery.grep(elem.getElementsByTagName("input"),fixDefaultChecked)}}function shimCloneNode(elem){var div=document.createElement("div");safeFragment.appendChild(div);div.innerHTML=elem.outerHTML;return div.firstChild}jQuery.extend({clone:function(elem,dataAndEvents,deepDataAndEvents){var srcElements,destElements,i,clone=jQuery.support.html5Clone||jQuery.isXMLDoc(elem)||!rnoshimcache.test("<"+elem.nodeName+">")?elem.cloneNode(true):shimCloneNode(elem);if((!jQuery.support.noCloneEvent||!jQuery.support.noCloneChecked)&&(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){cloneFixAttributes(elem,clone);srcElements=getAll(elem);destElements=getAll(clone);for(i=0;srcElements[i];++i){if(destElements[i]){cloneFixAttributes(srcElements[i],destElements[i])}}}if(dataAndEvents){cloneCopyEvent(elem,clone);if(deepDataAndEvents){srcElements=getAll(elem);destElements=getAll(clone);for(i=0;srcElements[i];++i){cloneCopyEvent(srcElements[i],destElements[i])}}}srcElements=destElements=null;return clone},clean:function(elems,context,fragment,scripts){

+ var checkScriptType,script,j,ret=[];context=context||document;if(typeof context.createElement==="undefined"){context=context.ownerDocument||context[0]&&context[0].ownerDocument||document}for(var i=0,elem;(elem=elems[i])!=null;i++){if(typeof elem==="number"){elem+=""}if(!elem){continue}if(typeof elem==="string"){if(!rhtml.test(elem)){elem=context.createTextNode(elem)}else{elem=elem.replace(rxhtmlTag,"<$1></$2>");var tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,depth=wrap[0],div=context.createElement("div"),safeChildNodes=safeFragment.childNodes,remove;if(context===document){safeFragment.appendChild(div)}else{createSafeFragment(context).appendChild(div)}div.innerHTML=wrap[1]+elem+wrap[2];while(depth--){div=div.lastChild}if(!jQuery.support.tbody){var hasBody=rtbody.test(elem),tbody=tag==="table"&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]==="<table>"&&!hasBody?div.childNodes:[];for(j=tbody.length-1;j>=0;--j){if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length){tbody[j].parentNode.removeChild(tbody[j])}}}if(!jQuery.support.leadingWhitespace&&rleadingWhitespace.test(elem)){div.insertBefore(context.createTextNode(rleadingWhitespace.exec(elem)[0]),div.firstChild)}elem=div.childNodes;if(div){div.parentNode.removeChild(div);if(safeChildNodes.length>0){remove=safeChildNodes[safeChildNodes.length-1];if(remove&&remove.parentNode){remove.parentNode.removeChild(remove)}}}}}var len;if(!jQuery.support.appendChecked){if(elem[0]&&typeof(len=elem.length)==="number"){for(j=0;j<len;j++){findInputs(elem[j])}}else{findInputs(elem)}}if(elem.nodeType){ret.push(elem)}else{ret=jQuery.merge(ret,elem)}}if(fragment){checkScriptType=function(elem){return!elem.type||rscriptType.test(elem.type)};for(i=0;ret[i];i++){script=ret[i];if(scripts&&jQuery.nodeName(script,"script")&&(!script.type||rscriptType.test(script.type))){scripts.push(script.parentNode?script.parentNode.removeChild(script):script)}else{if(script.nodeType===1){var jsTags=jQuery.grep(script.getElementsByTagName("script"),checkScriptType);ret.splice.apply(ret,[i+1,0].concat(jsTags))}fragment.appendChild(script)}}}return ret},cleanData:function(elems){var data,id,cache=jQuery.cache,special=jQuery.event.special,deleteExpando=jQuery.support.deleteExpando;for(var i=0,elem;(elem=elems[i])!=null;i++){if(elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()]){continue}id=elem[jQuery.expando];if(id){data=cache[id];if(data&&data.events){for(var type in data.events){if(special[type]){jQuery.event.remove(elem,type)}else{jQuery.removeEvent(elem,type,data.handle)}}if(data.handle){data.handle.elem=null}}if(deleteExpando){delete elem[jQuery.expando]}else if(elem.removeAttribute){elem.removeAttribute(jQuery.expando)}delete cache[id]}}}});var ralpha=/alpha\([^)]*\)/i,ropacity=/opacity=([^)]*)/,rupper=/([A-Z]|^ms)/g,rnum=/^[\-+]?(?:\d*\.)?\d+$/i,rnumnonpx=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,rrelNum=/^([\-+])=([\-+.\de]+)/,rmargin=/^margin/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssExpand=["Top","Right","Bottom","Left"],curCSS,getComputedStyle,currentStyle;jQuery.fn.css=function(name,value){return jQuery.access(this,function(elem,name,value){return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)};jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return ret===""?"1":ret}else{return elem.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{float:jQuery.support.cssFloat?"cssFloat":"styleFloat"},style:function(elem,name,value,extra){if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){return}var ret,type,origName=jQuery.camelCase(name),style=elem.style,hooks=jQuery.cssHooks[origName];name=jQuery.cssProps[origName]||origName;if(value!==undefined){type=typeof value;if(type==="string"&&(ret=rrelNum.exec(value))){value=+(ret[1]+1)*+ret[2]+parseFloat(jQuery.css(elem,name));type="number"}if(value==null||type==="number"&&isNaN(value)){return}if(type==="number"&&!jQuery.cssNumber[origName]){value+="px"}if(!hooks||!("set"in hooks)||(value=hooks.set(elem,value))!==undefined){try{style[name]=value}catch(e){}}}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){return ret}return style[name]}},css:function(elem,name,extra){var ret,hooks;name=jQuery.camelCase(name);hooks=jQuery.cssHooks[name];name=jQuery.cssProps[name]||name;if(name==="cssFloat"){name="float"}if(hooks&&"get"in hooks&&(ret=hooks.get(elem,true,extra))!==undefined){return ret}else if(curCSS){return curCSS(elem,name)}},swap:function(elem,options,callback){var old={},ret,name;for(name in options){old[name]=elem.style[name];elem.style[name]=options[name]}ret=callback.call(elem);for(name in options){elem.style[name]=old[name]}return ret}});jQuery.curCSS=jQuery.css;if(document.defaultView&&document.defaultView.getComputedStyle){getComputedStyle=function(elem,name){var ret,defaultView,computedStyle,width,style=elem.style;name=name.replace(rupper,"-$1").toLowerCase();if((defaultView=elem.ownerDocument.defaultView)&&(computedStyle=defaultView.getComputedStyle(elem,null))){ret=computedStyle.getPropertyValue(name);if(ret===""&&!jQuery.contains(elem.ownerDocument.documentElement,elem)){ret=jQuery.style(elem,name)}}if(!jQuery.support.pixelMargin&&computedStyle&&rmargin.test(name)&&rnumnonpx.test(ret)){width=style.width;style.width=ret;ret=computedStyle.width;style.width=width}return ret}}if(document.documentElement.currentStyle){currentStyle=function(elem,name){var left,rsLeft,uncomputed,ret=elem.currentStyle&&elem.currentStyle[name],style=elem.style;if(ret==null&&style&&(uncomputed=style[name])){ret=uncomputed}if(rnumnonpx.test(ret)){left=style.left;rsLeft=elem.runtimeStyle&&elem.runtimeStyle.left;if(rsLeft){elem.runtimeStyle.left=elem.currentStyle.left}style.left=name==="fontSize"?"1em":ret;ret=style.pixelLeft+"px";style.left=left;if(rsLeft){elem.runtimeStyle.left=rsLeft}}return ret===""?"auto":ret}}curCSS=getComputedStyle||currentStyle;function getWidthOrHeight(elem,name,extra){var val=name==="width"?elem.offsetWidth:elem.offsetHeight,i=name==="width"?1:0,len=4;if(val>0){if(extra!=="border"){for(;i<len;i+=2){if(!extra){val-=parseFloat(jQuery.css(elem,"padding"+cssExpand[i]))||0}if(extra==="margin"){val+=parseFloat(jQuery.css(elem,extra+cssExpand[i]))||0}else{val-=parseFloat(jQuery.css(elem,"border"+cssExpand[i]+"Width"))||0}}}return val+"px"}val=curCSS(elem,name);if(val<0||val==null){val=elem.style[name]}if(rnumnonpx.test(val)){return val}val=parseFloat(val)||0;if(extra){for(;i<len;i+=2){val+=parseFloat(jQuery.css(elem,"padding"+cssExpand[i]))||0;if(extra!=="padding"){val+=parseFloat(jQuery.css(elem,"border"+cssExpand[i]+"Width"))||0}if(extra==="margin"){val+=parseFloat(jQuery.css(elem,extra+cssExpand[i]))||0}}}return val+"px"}jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){if(computed){if(elem.offsetWidth!==0){return getWidthOrHeight(elem,name,extra)}else{return jQuery.swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra)})}}},set:function(elem,value){return rnum.test(value)?value+"px":value}}});if(!jQuery.support.opacity){jQuery.cssHooks.opacity={get:function(elem,computed){return ropacity.test((computed&&elem.currentStyle?elem.currentStyle.filter:elem.style.filter)||"")?parseFloat(RegExp.$1)/100+"":computed?"1":""},set:function(elem,value){var style=elem.style,currentStyle=elem.currentStyle,opacity=jQuery.isNumeric(value)?"alpha(opacity="+value*100+")":"",filter=currentStyle&&currentStyle.filter||style.filter||"";style.zoom=1;if(value>=1&&jQuery.trim(filter.replace(ralpha,""))===""){style.removeAttribute("filter");if(currentStyle&&!currentStyle.filter){return}}style.filter=ralpha.test(filter)?filter.replace(ralpha,opacity):filter+" "+opacity}}}jQuery(function(){if(!jQuery.support.reliableMarginRight){jQuery.cssHooks.marginRight={get:function(elem,computed){return jQuery.swap(elem,{display:"inline-block"},function(){if(computed){return curCSS(elem,"margin-right")}else{return elem.style.marginRight}})}}}});if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.hidden=function(elem){var width=elem.offsetWidth,height=elem.offsetHeight;return width===0&&height===0||!jQuery.support.reliableHiddenOffsets&&(elem.style&&elem.style.display||jQuery.css(elem,"display"))==="none"};jQuery.expr.filters.visible=function(elem){return!jQuery.expr.filters.hidden(elem)}}jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){var i,parts=typeof value==="string"?value.split(" "):[value],expanded={};for(i=0;i<4;i++){expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0]}return expanded}}});var r20=/%20/g,rbracket=/\[\]$/,rCRLF=/\r?\n/g,rhash=/#.*$/,rheaders=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,rinput=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,rlocalProtocol=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,rquery=/\?/,rscript=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,rselectTextarea=/^(?:select|textarea)/i,rspacesAjax=/\s+/,rts=/([?&])_=[^&]*/,rurl=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,_load=jQuery.fn.load,prefilters={},transports={},ajaxLocation,ajaxLocParts,allTypes=["*/"]+["*"];try{ajaxLocation=location.href}catch(e){ajaxLocation=document.createElement("a");ajaxLocation.href="";ajaxLocation=ajaxLocation.href}ajaxLocParts=rurl.exec(ajaxLocation.toLowerCase())||[];function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){if(typeof dataTypeExpression!=="string"){func=dataTypeExpression;dataTypeExpression="*"}if(jQuery.isFunction(func)){var dataTypes=dataTypeExpression.toLowerCase().split(rspacesAjax),i=0,length=dataTypes.length,dataType,list,placeBefore;for(;i<length;i++){dataType=dataTypes[i];placeBefore=/^\+/.test(dataType);if(placeBefore){dataType=dataType.substr(1)||"*"}list=structure[dataType]=structure[dataType]||[];list[placeBefore?"unshift":"push"](func)}}}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR,dataType,inspected){dataType=dataType||options.dataTypes[0];inspected=inspected||{};inspected[dataType]=true;var list=structure[dataType],i=0,length=list?list.length:0,executeOnly=structure===prefilters,selection;for(;i<length&&(executeOnly||!selection);i++){selection=list[i](options,originalOptions,jqXHR);if(typeof selection==="string"){if(!executeOnly||inspected[selection]){selection=undefined}else{options.dataTypes.unshift(selection);selection=inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR,selection,inspected)}}}if((executeOnly||!selection)&&!inspected["*"]){selection=inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR,"*",inspected)}return selection}function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src){if(src[key]!==undefined){(flatOptions[key]?target:deep||(deep={}))[key]=src[key]}}if(deep){jQuery.extend(true,target,deep)}}jQuery.fn.extend({load:function(url,params,callback){if(typeof url!=="string"&&_load){return _load.apply(this,arguments)}else if(!this.length){return this}var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off)}var type="GET";if(params){if(jQuery.isFunction(params)){callback=params;params=undefined}else if(typeof params==="object"){params=jQuery.param(params,jQuery.ajaxSettings.traditional);type="POST"}}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(jqXHR,status,responseText){responseText=jqXHR.responseText;if(jqXHR.isResolved()){jqXHR.done(function(r){responseText=r});self.html(selector?jQuery("<div>").append(responseText.replace(rscript,"")).find(selector):responseText)}if(callback){self.each(callback,[responseText,status,jqXHR])}}});return this},serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||rselectTextarea.test(this.nodeName)||rinput.test(this.type))}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val.replace(rCRLF,"\r\n")}}):{name:elem.name,value:val.replace(rCRLF,"\r\n")}}).get()}});jQuery.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(i,o){jQuery.fn[o]=function(f){return this.on(o,f)}});jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;callback=data;data=undefined}return jQuery.ajax({type:method,url:url,data:data,success:callback,dataType:type})}});jQuery.extend({getScript:function(url,callback){return jQuery.get(url,undefined,callback,"script")},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},ajaxSetup:function(target,settings){if(settings){ajaxExtend(target,jQuery.ajaxSettings)}else{settings=target;target=jQuery.ajaxSettings}ajaxExtend(target,settings);return target},ajaxSettings:{url:ajaxLocation,isLocal:rlocalProtocol.test(ajaxLocParts[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":allTypes},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":window.String,"text html":true,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){if(typeof url==="object"){options=url;url=undefined}options=options||{};var s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=callbackContext!==s&&(callbackContext.nodeType||callbackContext instanceof jQuery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},ifModifiedKey,requestHeaders={},requestHeadersNames={},responseHeadersString,responseHeaders,transport,timeoutTimer,parts,state=0,fireGlobals,i,jqXHR={readyState:0,setRequestHeader:function(name,value){if(!state){var lname=name.toLowerCase();name=requestHeadersNames[lname]=requestHeadersNames[lname]||name;requestHeaders[name]=value}return this},getAllResponseHeaders:function(){return state===2?responseHeadersString:null},getResponseHeader:function(key){var match;if(state===2){if(!responseHeaders){responseHeaders={};while(match=rheaders.exec(responseHeadersString)){responseHeaders[match[1].toLowerCase()]=match[2]}}match=responseHeaders[key.toLowerCase()]}return match===undefined?null:match},overrideMimeType:function(type){if(!state){s.mimeType=type}return this},abort:function(statusText){statusText=statusText||"abort";if(transport){transport.abort(statusText)}done(0,statusText);return this}};function done(status,nativeStatusText,responses,headers){if(state===2){return}state=2;if(timeoutTimer){clearTimeout(timeoutTimer)}transport=undefined;responseHeadersString=headers||"";jqXHR.readyState=status>0?4:0;var isSuccess,success,error,statusText=nativeStatusText,response=responses?ajaxHandleResponses(s,jqXHR,responses):undefined,lastModified,etag;if(status>=200&&status<300||status===304){if(s.ifModified){if(lastModified=jqXHR.getResponseHeader("Last-Modified")){jQuery.lastModified[ifModifiedKey]=lastModified}if(etag=jqXHR.getResponseHeader("Etag")){jQuery.etag[ifModifiedKey]=etag}}if(status===304){statusText="notmodified";isSuccess=true}else{try{success=ajaxConvert(s,response);statusText="success";isSuccess=true}catch(e){statusText="parsererror";error=e}}}else{error=statusText;if(!statusText||status){statusText="error";if(status<0){status=0}}}jqXHR.status=status;jqXHR.statusText=""+(nativeStatusText||statusText);if(isSuccess){deferred.resolveWith(callbackContext,[success,statusText,jqXHR])}else{deferred.rejectWith(callbackContext,[jqXHR,statusText,error])}jqXHR.statusCode(statusCode);statusCode=undefined;if(fireGlobals){globalEventContext.trigger("ajax"+(isSuccess?"Success":"Error"),[jqXHR,s,isSuccess?success:error])}completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);if(fireGlobals){globalEventContext.trigger("ajaxComplete",[jqXHR,s]);if(!--jQuery.active){jQuery.event.trigger("ajaxStop")}}}deferred.promise(jqXHR);jqXHR.success=jqXHR.done;jqXHR.error=jqXHR.fail;jqXHR.complete=completeDeferred.add;jqXHR.statusCode=function(map){if(map){var tmp;if(state<2){for(tmp in map){statusCode[tmp]=[statusCode[tmp],map[tmp]]}}else{tmp=map[jqXHR.status];jqXHR.then(tmp,tmp)}}return this};s.url=((url||s.url)+"").replace(rhash,"").replace(rprotocol,ajaxLocParts[1]+"//");s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().split(rspacesAjax);if(s.crossDomain==null){parts=rurl.exec(s.url.toLowerCase());s.crossDomain=!!(parts&&(parts[1]!=ajaxLocParts[1]||parts[2]!=ajaxLocParts[2]||(parts[3]||(parts[1]==="http:"?80:443))!=(ajaxLocParts[3]||(ajaxLocParts[1]==="http:"?80:443))))}if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional)}inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);if(state===2){return false}fireGlobals=s.global;s.type=s.type.toUpperCase();s.hasContent=!rnoContent.test(s.type);if(fireGlobals&&jQuery.active++===0){jQuery.event.trigger("ajaxStart")}if(!s.hasContent){if(s.data){s.url+=(rquery.test(s.url)?"&":"?")+s.data;delete s.data}ifModifiedKey=s.url;if(s.cache===false){var ts=jQuery.now(),ret=s.url.replace(rts,"$1_="+ts);s.url=ret+(ret===s.url?(rquery.test(s.url)?"&":"?")+"_="+ts:"")}}if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){jqXHR.setRequestHeader("Content-Type",s.contentType)}if(s.ifModified){ifModifiedKey=ifModifiedKey||s.url;if(jQuery.lastModified[ifModifiedKey]){jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[ifModifiedKey])}if(jQuery.etag[ifModifiedKey]){jqXHR.setRequestHeader("If-None-Match",jQuery.etag[ifModifiedKey])}}jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers){jqXHR.setRequestHeader(i,s.headers[i])}if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===false||state===2)){jqXHR.abort();return false}for(i in{success:1,error:1,complete:1}){jqXHR[i](s[i])}transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);if(!transport){done(-1,"No Transport")}else{jqXHR.readyState=1;if(fireGlobals){globalEventContext.trigger("ajaxSend",[jqXHR,s])}if(s.async&&s.timeout>0){timeoutTimer=setTimeout(function(){jqXHR.abort("timeout")},s.timeout)}try{state=1;transport.send(requestHeaders,done)}catch(e){if(state<2){done(-1,e)}else{throw e}}}return jqXHR},param:function(a,traditional){var s=[],add=function(key,value){value=jQuery.isFunction(value)?value():value;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value)};if(traditional===undefined){traditional=jQuery.ajaxSettings.traditional}if(jQuery.isArray(a)||a.jquery&&!jQuery.isPlainObject(a)){jQuery.each(a,function(){add(this.name,this.value)})}else{for(var prefix in a){buildParams(prefix,a[prefix],traditional,add)}}return s.join("&").replace(r20,"+")}});function buildParams(prefix,obj,traditional,add){if(jQuery.isArray(obj)){jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){add(prefix,v)}else{buildParams(prefix+"["+(typeof v==="object"?i:"")+"]",v,traditional,add)}})}else if(!traditional&&jQuery.type(obj)==="object"){for(var name in obj){buildParams(prefix+"["+name+"]",obj[name],traditional,add)}}else{add(prefix,obj)}}jQuery.extend({active:0,lastModified:{},etag:{}});function ajaxHandleResponses(s,jqXHR,responses){var contents=s.contents,dataTypes=s.dataTypes,responseFields=s.responseFields,ct,type,finalDataType,firstDataType;for(type in responseFields){if(type in responses){jqXHR[responseFields[type]]=responses[type]}}while(dataTypes[0]==="*"){dataTypes.shift();if(ct===undefined){ct=s.mimeType||jqXHR.getResponseHeader("content-type")}}if(ct){for(type in contents){if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break}}}if(dataTypes[0]in responses){finalDataType=dataTypes[0]}else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break}if(!firstDataType){firstDataType=type}}finalDataType=finalDataType||firstDataType}if(finalDataType){if(finalDataType!==dataTypes[0]){dataTypes.unshift(finalDataType)}return responses[finalDataType]}}function ajaxConvert(s,response){if(s.dataFilter){response=s.dataFilter(response,s.dataType)}var dataTypes=s.dataTypes,converters={},i,key,length=dataTypes.length,tmp,current=dataTypes[0],prev,conversion,conv,conv1,conv2;for(i=1;i<length;i++){if(i===1){for(key in s.converters){if(typeof key==="string"){converters[key.toLowerCase()]=s.converters[key]}}}prev=current;current=dataTypes[i];if(current==="*"){current=prev}else if(prev!=="*"&&prev!==current){conversion=prev+" "+current;conv=converters[conversion]||converters["* "+current];if(!conv){conv2=undefined;for(conv1 in converters){tmp=conv1.split(" ");if(tmp[0]===prev||tmp[0]==="*"){conv2=converters[tmp[1]+" "+current];if(conv2){conv1=converters[conv1];if(conv1===true){conv=conv2}else if(conv2===true){conv=conv1}break}}}}if(!(conv||conv2)){jQuery.error("No conversion from "+conversion.replace(" "," to "))}if(conv!==true){response=conv?conv(response):conv2(conv1(response))}}}return response}var jsc=jQuery.now(),jsre=/(\=)\?(&|$)|\?\?/i;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return jQuery.expando+"_"+jsc++}});jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var inspectData=typeof s.data==="string"&&/^application\/x\-www\-form\-urlencoded/.test(s.contentType);if(s.dataTypes[0]==="jsonp"||s.jsonp!==false&&(jsre.test(s.url)||inspectData&&jsre.test(s.data))){var responseContainer,jsonpCallback=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,previous=window[jsonpCallback],url=s.url,data=s.data,replace="$1"+jsonpCallback+"$2";if(s.jsonp!==false){url=url.replace(jsre,replace);if(s.url===url){if(inspectData){data=data.replace(jsre,replace)}if(s.data===data){url+=(/\?/.test(url)?"&":"?")+s.jsonp+"="+jsonpCallback}}}s.url=url;s.data=data;window[jsonpCallback]=function(response){responseContainer=[response]};jqXHR.always(function(){window[jsonpCallback]=previous;if(responseContainer&&jQuery.isFunction(previous)){window[jsonpCallback](responseContainer[0])}});s.converters["script json"]=function(){if(!responseContainer){jQuery.error(jsonpCallback+" was not called")}return responseContainer[0]};s.dataTypes[0]="json";return"script"}});jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(text){jQuery.globalEval(text);return text}}});jQuery.ajaxPrefilter("script",function(s){if(s.cache===undefined){s.cache=false}if(s.crossDomain){s.type="GET";s.global=false}});jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,head=document.head||document.getElementsByTagName("head")[0]||document.documentElement;return{send:function(_,callback){script=document.createElement("script");script.async="async";if(s.scriptCharset){script.charset=s.scriptCharset}script.src=s.url;script.onload=script.onreadystatechange=function(_,isAbort){if(isAbort||!script.readyState||/loaded|complete/.test(script.readyState)){script.onload=script.onreadystatechange=null;if(head&&script.parentNode){head.removeChild(script)}script=undefined;if(!isAbort){callback(200,"success")}}};head.insertBefore(script,head.firstChild)},abort:function(){if(script){script.onload(0,1)}}}}});var xhrOnUnloadAbort=window.ActiveXObject?function(){for(var key in xhrCallbacks){xhrCallbacks[key](0,1)}}:false,xhrId=0,xhrCallbacks;function createStandardXHR(){try{return new window.XMLHttpRequest}catch(e){}}function createActiveXHR(){try{return new window.ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}jQuery.ajaxSettings.xhr=window.ActiveXObject?function(){return!this.isLocal&&createStandardXHR()||createActiveXHR()}:createStandardXHR;(function(xhr){jQuery.extend(jQuery.support,{ajax:!!xhr,cors:!!xhr&&"withCredentials"in xhr})})(jQuery.ajaxSettings.xhr());if(jQuery.support.ajax){jQuery.ajaxTransport(function(s){if(!s.crossDomain||jQuery.support.cors){var callback;return{send:function(headers,complete){var xhr=s.xhr(),handle,i;if(s.username){xhr.open(s.type,s.url,s.async,s.username,s.password)}else{xhr.open(s.type,s.url,s.async)}if(s.xhrFields){for(i in s.xhrFields){xhr[i]=s.xhrFields[i]}}if(s.mimeType&&xhr.overrideMimeType){xhr.overrideMimeType(s.mimeType)}if(!s.crossDomain&&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest"}try{for(i in headers){xhr.setRequestHeader(i,headers[i])}}catch(_){}xhr.send(s.hasContent&&s.data||null);callback=function(_,isAbort){var status,statusText,responseHeaders,responses,xml;try{if(callback&&(isAbort||xhr.readyState===4)){callback=undefined;if(handle){xhr.onreadystatechange=jQuery.noop;if(xhrOnUnloadAbort){delete xhrCallbacks[handle]}}if(isAbort){if(xhr.readyState!==4){xhr.abort()}}else{status=xhr.status;responseHeaders=xhr.getAllResponseHeaders();responses={};xml=xhr.responseXML;if(xml&&xml.documentElement){responses.xml=xml}try{responses.text=xhr.responseText}catch(_){}try{statusText=xhr.statusText}catch(e){statusText=""}if(!status&&s.isLocal&&!s.crossDomain){status=responses.text?200:404}else if(status===1223){status=204}}}}catch(firefoxAccessException){if(!isAbort){complete(-1,firefoxAccessException)}}if(responses){complete(status,statusText,responses,responseHeaders)}};if(!s.async||xhr.readyState===4){callback()}else{handle=++xhrId;if(xhrOnUnloadAbort){if(!xhrCallbacks){xhrCallbacks={};jQuery(window).unload(xhrOnUnloadAbort)}xhrCallbacks[handle]=callback}xhr.onreadystatechange=callback}},abort:function(){if(callback){callback(0,1)}}}}})}var elemdisplay={},iframe,iframeDoc,rfxtypes=/^(?:toggle|show|hide)$/,rfxnum=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],fxNow;jQuery.fn.extend({show:function(speed,easing,callback){var elem,display;if(speed||speed===0){return this.animate(genFx("show",3),speed,easing,callback)}else{for(var i=0,j=this.length;i<j;i++){elem=this[i];if(elem.style){display=elem.style.display;if(!jQuery._data(elem,"olddisplay")&&display==="none"){display=elem.style.display=""}if(display===""&&jQuery.css(elem,"display")==="none"||!jQuery.contains(elem.ownerDocument.documentElement,elem)){jQuery._data(elem,"olddisplay",defaultDisplay(elem.nodeName))}}}for(i=0;i<j;i++){elem=this[i];if(elem.style){display=elem.style.display;if(display===""||display==="none"){elem.style.display=jQuery._data(elem,"olddisplay")||""}}}return this}},hide:function(speed,easing,callback){if(speed||speed===0){return this.animate(genFx("hide",3),speed,easing,callback)}else{var elem,display,i=0,j=this.length;for(;i<j;i++){elem=this[i];if(elem.style){display=jQuery.css(elem,"display");if(display!=="none"&&!jQuery._data(elem,"olddisplay")){jQuery._data(elem,"olddisplay",display)}}}for(i=0;i<j;i++){if(this[i].style){this[i].style.display="none"}}return this}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2,callback){var bool=typeof fn==="boolean";if(jQuery.isFunction(fn)&&jQuery.isFunction(fn2)){this._toggle.apply(this,arguments)}else if(fn==null||bool){this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]()})}else{this.animate(genFx("toggle",3),fn,fn2,callback)}return this},fadeTo:function(speed,to,easing,callback){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);if(jQuery.isEmptyObject(prop)){return this.each(optall.complete,[false])}prop=jQuery.extend({},prop);function doAnimation(){if(optall.queue===false){jQuery._mark(this)}var opt=jQuery.extend({},optall),isElement=this.nodeType===1,hidden=isElement&&jQuery(this).is(":hidden"),name,val,p,e,hooks,replace,parts,start,end,unit,method;opt.animatedProperties={};for(p in prop){name=jQuery.camelCase(p);if(p!==name){prop[name]=prop[p];delete prop[p]}if((hooks=jQuery.cssHooks[name])&&"expand"in hooks){replace=hooks.expand(prop[name]);delete prop[name];for(p in replace){if(!(p in prop)){prop[p]=replace[p]}}}}for(name in prop){val=prop[name];if(jQuery.isArray(val)){opt.animatedProperties[name]=val[1];val=prop[name]=val[0]}else{opt.animatedProperties[name]=opt.specialEasing&&opt.specialEasing[name]||opt.easing||"swing"}if(val==="hide"&&hidden||val==="show"&&!hidden){return opt.complete.call(this)}if(isElement&&(name==="height"||name==="width")){opt.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(jQuery.css(this,"display")==="inline"&&jQuery.css(this,"float")==="none"){if(!jQuery.support.inlineBlockNeedsLayout||defaultDisplay(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(opt.overflow!=null){this.style.overflow="hidden"}for(p in prop){e=new jQuery.fx(this,opt,p);val=prop[p];if(rfxtypes.test(val)){method=jQuery._data(this,"toggle"+p)||(val==="toggle"?hidden?"show":"hide":0);if(method){jQuery._data(this,"toggle"+p,method==="show"?"hide":"show");e[method]()}else{e[val]()}}else{parts=rfxnum.exec(val);start=e.cur();if(parts){end=parseFloat(parts[2]);unit=parts[3]||(jQuery.cssNumber[p]?"":"px");if(unit!=="px"){jQuery.style(this,p,(end||1)+unit);start=(end||1)/e.cur()*start;jQuery.style(this,p,start+unit)}if(parts[1]){end=(parts[1]==="-="?-1:1)*end+start}e.custom(start,end,unit)}else{e.custom(start,val,"")}}}return true}return optall.queue===false?this.each(doAnimation):this.queue(optall.queue,doAnimation)},stop:function(type,clearQueue,gotoEnd){if(typeof type!=="string"){gotoEnd=clearQueue;clearQueue=type;type=undefined}if(clearQueue&&type!==false){this.queue(type||"fx",[])}return this.each(function(){var index,hadTimers=false,timers=jQuery.timers,data=jQuery._data(this);if(!gotoEnd){jQuery._unmark(true,this)}function stopQueue(elem,data,index){var hooks=data[index];jQuery.removeData(elem,index,true);hooks.stop(gotoEnd)}if(type==null){for(index in data){if(data[index]&&data[index].stop&&index.indexOf(".run")===index.length-4){stopQueue(this,data,index)}}}else if(data[index=type+".run"]&&data[index].stop){stopQueue(this,data,index)}for(index=timers.length;index--;){if(timers[index].elem===this&&(type==null||timers[index].queue===type)){if(gotoEnd){timers[index](true)}else{timers[index].saveState()}hadTimers=true;timers.splice(index,1)}}if(!(gotoEnd&&hadTimers)){jQuery.dequeue(this,type)}})}});function createFxNow(){setTimeout(clearFxNow,0);return fxNow=jQuery.now()}function clearFxNow(){fxNow=undefined}function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type});return obj}jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}});jQuery.extend({

+ speed:function(speed,easing,fn){var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default;if(opt.queue==null||opt.queue===true){opt.queue="fx"}opt.old=opt.complete;opt.complete=function(noUnmark){if(jQuery.isFunction(opt.old)){opt.old.call(this)}if(opt.queue){jQuery.dequeue(this,opt.queue)}else if(noUnmark!==false){jQuery._unmark(this)}};return opt},easing:{linear:function(p){return p},swing:function(p){return-Math.cos(p*Math.PI)/2+.5}},timers:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;options.orig=options.orig||{}}});jQuery.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var parsed,r=jQuery.css(this.elem,this.prop);return isNaN(parsed=parseFloat(r))?!r||r==="auto"?0:r:parsed},custom:function(from,to,unit){var self=this,fx=jQuery.fx;this.startTime=fxNow||createFxNow();this.end=to;this.now=this.start=from;this.pos=this.state=0;this.unit=unit||this.unit||(jQuery.cssNumber[this.prop]?"":"px");function t(gotoEnd){return self.step(gotoEnd)}t.queue=this.options.queue;t.elem=this.elem;t.saveState=function(){if(jQuery._data(self.elem,"fxshow"+self.prop)===undefined){if(self.options.hide){jQuery._data(self.elem,"fxshow"+self.prop,self.start)}else if(self.options.show){jQuery._data(self.elem,"fxshow"+self.prop,self.end)}}};if(t()&&jQuery.timers.push(t)&&!timerId){timerId=setInterval(fx.tick,fx.interval)}},show:function(){var dataShow=jQuery._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=dataShow||jQuery.style(this.elem,this.prop);this.options.show=true;if(dataShow!==undefined){this.custom(this.cur(),dataShow)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}jQuery(this.elem).show()},hide:function(){this.options.orig[this.prop]=jQuery._data(this.elem,"fxshow"+this.prop)||jQuery.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(gotoEnd){var p,n,complete,t=fxNow||createFxNow(),done=true,elem=this.elem,options=this.options;if(gotoEnd||t>=options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();options.animatedProperties[this.prop]=true;for(p in options.animatedProperties){if(options.animatedProperties[p]!==true){done=false}}if(done){if(options.overflow!=null&&!jQuery.support.shrinkWrapBlocks){jQuery.each(["","X","Y"],function(index,value){elem.style["overflow"+value]=options.overflow[index]})}if(options.hide){jQuery(elem).hide()}if(options.hide||options.show){for(p in options.animatedProperties){jQuery.style(elem,p,options.orig[p]);jQuery.removeData(elem,"fxshow"+p,true);jQuery.removeData(elem,"toggle"+p,true)}}complete=options.complete;if(complete){options.complete=false;complete.call(elem)}}return false}else{if(options.duration==Infinity){this.now=t}else{n=t-this.startTime;this.state=n/options.duration;this.pos=jQuery.easing[options.animatedProperties[this.prop]](this.state,n,0,1,options.duration);this.now=this.start+(this.end-this.start)*this.pos}this.update()}return true}};jQuery.extend(jQuery.fx,{tick:function(){var timer,timers=jQuery.timers,i=0;for(;i<timers.length;i++){timer=timers[i];if(!timer()&&timers[i]===timer){timers.splice(i--,1)}}if(!timers.length){jQuery.fx.stop()}},interval:13,stop:function(){clearInterval(timerId);timerId=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.style(fx.elem,"opacity",fx.now)},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null){fx.elem.style[fx.prop]=fx.now+fx.unit}else{fx.elem[fx.prop]=fx.now}}}});jQuery.each(fxAttrs.concat.apply([],fxAttrs),function(i,prop){if(prop.indexOf("margin")){jQuery.fx.step[prop]=function(fx){jQuery.style(fx.elem,prop,Math.max(0,fx.now)+fx.unit)}}});if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length}}function defaultDisplay(nodeName){if(!elemdisplay[nodeName]){var body=document.body,elem=jQuery("<"+nodeName+">").appendTo(body),display=elem.css("display");elem.remove();if(display==="none"||display===""){if(!iframe){iframe=document.createElement("iframe");iframe.frameBorder=iframe.width=iframe.height=0}body.appendChild(iframe);if(!iframeDoc||!iframe.createElement){iframeDoc=(iframe.contentWindow||iframe.contentDocument).document;iframeDoc.write((jQuery.support.boxModel?"<!doctype html>":"")+"<html><body>");iframeDoc.close()}elem=iframeDoc.createElement(nodeName);iframeDoc.body.appendChild(elem);display=jQuery.css(elem,"display");body.removeChild(iframe)}elemdisplay[nodeName]=display}return elemdisplay[nodeName]}var getOffset,rtable=/^t(?:able|d|h)$/i,rroot=/^(?:body|html)$/i;if("getBoundingClientRect"in document.documentElement){getOffset=function(elem,doc,docElem,box){try{box=elem.getBoundingClientRect()}catch(e){}if(!box||!jQuery.contains(docElem,elem)){return box?{top:box.top,left:box.left}:{top:0,left:0}}var body=doc.body,win=getWindow(doc),clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,scrollTop=win.pageYOffset||jQuery.support.boxModel&&docElem.scrollTop||body.scrollTop,scrollLeft=win.pageXOffset||jQuery.support.boxModel&&docElem.scrollLeft||body.scrollLeft,top=box.top+scrollTop-clientTop,left=box.left+scrollLeft-clientLeft;return{top:top,left:left}}}else{getOffset=function(elem,doc,docElem){var computedStyle,offsetParent=elem.offsetParent,prevOffsetParent=elem,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle,top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){if(jQuery.support.fixedPosition&&prevComputedStyle.position==="fixed"){break}computedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle;top-=elem.scrollTop;left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop;left+=elem.offsetLeft;if(jQuery.support.doesNotAddBorder&&!(jQuery.support.doesAddBorderForTableAndCells&&rtable.test(elem.nodeName))){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0}prevOffsetParent=offsetParent;offsetParent=elem.offsetParent}if(jQuery.support.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible"){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0}prevComputedStyle=computedStyle}if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static"){top+=body.offsetTop;left+=body.offsetLeft}if(jQuery.support.fixedPosition&&prevComputedStyle.position==="fixed"){top+=Math.max(docElem.scrollTop,body.scrollTop);left+=Math.max(docElem.scrollLeft,body.scrollLeft)}return{top:top,left:left}}}jQuery.fn.offset=function(options){if(arguments.length){return options===undefined?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)})}var elem=this[0],doc=elem&&elem.ownerDocument;if(!doc){return null}if(elem===doc.body){return jQuery.offset.bodyOffset(elem)}return getOffset(elem,doc,doc.documentElement)};jQuery.offset={bodyOffset:function(body){var top=body.offsetTop,left=body.offsetLeft;if(jQuery.support.doesNotIncludeMarginInBodyOffset){top+=parseFloat(jQuery.css(body,"marginTop"))||0;left+=parseFloat(jQuery.css(body,"marginLeft"))||0}return{top:top,left:left}},setOffset:function(elem,options,i){var position=jQuery.css(elem,"position");if(position==="static"){elem.style.position="relative"}var curElem=jQuery(elem),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),calculatePosition=(position==="absolute"||position==="fixed")&&jQuery.inArray("auto",[curCSSTop,curCSSLeft])>-1,props={},curPosition={},curTop,curLeft;if(calculatePosition){curPosition=curElem.position();curTop=curPosition.top;curLeft=curPosition.left}else{curTop=parseFloat(curCSSTop)||0;curLeft=parseFloat(curCSSLeft)||0}if(jQuery.isFunction(options)){options=options.call(elem,i,curOffset)}if(options.top!=null){props.top=options.top-curOffset.top+curTop}if(options.left!=null){props.left=options.left-curOffset.left+curLeft}if("using"in options){options.using.call(elem,props)}else{curElem.css(props)}}};jQuery.fn.extend({position:function(){if(!this[0]){return null}var elem=this[0],offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=rroot.test(offsetParent[0].nodeName)?{top:0,left:0}:offsetParent.offset();offset.top-=parseFloat(jQuery.css(elem,"marginTop"))||0;offset.left-=parseFloat(jQuery.css(elem,"marginLeft"))||0;parentOffset.top+=parseFloat(jQuery.css(offsetParent[0],"borderTopWidth"))||0;parentOffset.left+=parseFloat(jQuery.css(offsetParent[0],"borderLeftWidth"))||0;return{top:offset.top-parentOffset.top,left:offset.left-parentOffset.left}},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent||document.body;while(offsetParent&&(!rroot.test(offsetParent.nodeName)&&jQuery.css(offsetParent,"position")==="static")){offsetParent=offsetParent.offsetParent}return offsetParent})}});jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top=/Y/.test(prop);jQuery.fn[method]=function(val){return jQuery.access(this,function(elem,method,val){var win=getWindow(elem);if(val===undefined){return win?prop in win?win[prop]:jQuery.support.boxModel&&win.document.documentElement[method]||win.document.body[method]:elem[method]}if(win){win.scrollTo(!top?val:jQuery(win).scrollLeft(),top?val:jQuery(win).scrollTop())}else{elem[method]=val}},method,val,arguments.length,null)}});function getWindow(elem){return jQuery.isWindow(elem)?elem:elem.nodeType===9?elem.defaultView||elem.parentWindow:false}jQuery.each({Height:"height",Width:"width"},function(name,type){var clientProp="client"+name,scrollProp="scroll"+name,offsetProp="offset"+name;jQuery.fn["inner"+name]=function(){var elem=this[0];return elem?elem.style?parseFloat(jQuery.css(elem,type,"padding")):this[type]():null};jQuery.fn["outer"+name]=function(margin){var elem=this[0];return elem?elem.style?parseFloat(jQuery.css(elem,type,margin?"margin":"border")):this[type]():null};jQuery.fn[type]=function(value){return jQuery.access(this,function(elem,type,value){var doc,docElemProp,orig,ret;if(jQuery.isWindow(elem)){doc=elem.document;docElemProp=doc.documentElement[clientProp];return jQuery.support.boxModel&&docElemProp||doc.body&&doc.body[clientProp]||docElemProp}if(elem.nodeType===9){doc=elem.documentElement;if(doc[clientProp]>=doc[scrollProp]){return doc[clientProp]}return Math.max(elem.body[scrollProp],doc[scrollProp],elem.body[offsetProp],doc[offsetProp])}if(value===undefined){orig=jQuery.css(elem,type);ret=parseFloat(orig);return jQuery.isNumeric(ret)?ret:orig}jQuery(elem).css(type,value)},type,value,arguments.length,null)}});window.jQuery=window.$=jQuery;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return jQuery})}})(window);(function($){$.extend({tablesorter:new function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:true,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:"/.|,/g",onRenderHeader:null,selectorHeaders:"thead th",debug:false};function benchmark(s,d){log(s+","+((new Date).getTime()-d.getTime())+"ms")}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s)}else{alert(s)}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug=""}if(table.tBodies.length==0)return;var rows=table.tBodies[0].rows;if(rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i<l;i++){var p=false;if($.metadata&&($($headers[i]).metadata()&&$($headers[i]).metadata().sorter)){p=getParserById($($headers[i]).metadata().sorter)}else if(table.config.headers[i]&&table.config.headers[i].sorter){p=getParserById(table.config.headers[i].sorter)}if(!p){p=detectParserForColumn(table,rows,-1,i)}if(table.config.debug){parsersDebug+="column:"+i+" parser:"+p.id+"\n"}list.push(p)}}if(table.config.debug){log(parsersDebug)}return list}function detectParserForColumn(table,rows,rowIndex,cellIndex){var l=parsers.length,node=false,nodeValue=false,keepLooking=true;while(nodeValue==""&&keepLooking){rowIndex++;if(rows[rowIndex]){node=getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex);nodeValue=trimAndGetNodeText(table.config,node);if(table.config.debug){log("Checking if value was empty on row:"+rowIndex)}}else{keepLooking=false}}for(var i=1;i<l;i++){if(parsers[i].is(nodeValue,table,node)){return parsers[i]}}return parsers[0]}function getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex){return rows[rowIndex].cells[cellIndex]}function trimAndGetNodeText(config,node){return $.trim(getElementText(config,node))}function getParserById(name){var l=parsers.length;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==name.toLowerCase()){return parsers[i]}}return false}function buildCache(table){if(table.config.debug){var cacheTime=new Date}var totalRows=table.tBodies[0]&&table.tBodies[0].rows.length||0,totalCells=table.tBodies[0].rows[0]&&table.tBodies[0].rows[0].cells.length||0,parsers=table.config.parsers,cache={row:[],normalized:[]};for(var i=0;i<totalRows;++i){var c=$(table.tBodies[0].rows[i]),cols=[];if(c.hasClass(table.config.cssChildRow)){cache.row[cache.row.length-1]=cache.row[cache.row.length-1].add(c);continue}cache.row.push(c);for(var j=0;j<totalCells;++j){cols.push(parsers[j].format(getElementText(table.config,c[0].cells[j]),table,c[0].cells[j]))}cols.push(cache.normalized.length);cache.normalized.push(cols);cols=null}if(table.config.debug){benchmark("Building cache for "+totalRows+" rows:",cacheTime)}return cache}function getElementText(config,node){var text="";if(!node)return"";if(!config.supportsTextContent)config.supportsTextContent=node.textContent||false;if(config.textExtraction=="simple"){if(config.supportsTextContent){text=node.textContent}else{if(node.childNodes[0]&&node.childNodes[0].hasChildNodes()){text=node.childNodes[0].innerHTML}else{text=node.innerHTML}}}else{if(typeof config.textExtraction=="function"){text=config.textExtraction(node)}else{text=$(node).text()}}return text}function appendToTable(table,cache){if(table.config.debug){var appendTime=new Date}var c=cache,r=c.row,n=c.normalized,totalRows=n.length,checkCell=n[0].length-1,tableBody=$(table.tBodies[0]),rows=[];for(var i=0;i<totalRows;i++){var pos=n[i][checkCell];rows.push(r[pos]);if(!table.config.appender){var l=r[pos].length;for(var j=0;j<l;j++){tableBody[0].appendChild(r[pos][j])}}}if(table.config.appender){table.config.appender(table,rows)}rows=null;if(table.config.debug){benchmark("Rebuilt table:",appendTime)}applyWidget(table);setTimeout(function(){$(table).trigger("sortEnd")},0)}function buildHeaders(table){if(table.config.debug){var time=new Date}var meta=$.metadata?true:false;var header_index=computeTableHeaderCellIndexes(table);$tableHeaders=$(table.config.selectorHeaders,table).each(function(index){this.column=header_index[this.parentNode.rowIndex+"-"+this.cellIndex];this.order=formatSortingOrder(table.config.sortInitialOrder);this.count=this.order;if(checkHeaderMetadata(this)||checkHeaderOptions(table,index))this.sortDisabled=true;if(checkHeaderOptionsSortingLocked(table,index))this.order=this.lockedOrder=checkHeaderOptionsSortingLocked(table,index);if(!this.sortDisabled){var $th=$(this).addClass(table.config.cssHeader);if(table.config.onRenderHeader)table.config.onRenderHeader.apply($th)}table.config.headerList[index]=this});if(table.config.debug){benchmark("Built headers:",time);log($tableHeaders)}return $tableHeaders}function computeTableHeaderCellIndexes(t){var matrix=[];var lookup={};var thead=t.getElementsByTagName("THEAD")[0];var trs=thead.getElementsByTagName("TR");for(var i=0;i<trs.length;i++){var cells=trs[i].cells;for(var j=0;j<cells.length;j++){var c=cells[j];var rowIndex=c.parentNode.rowIndex;var cellId=rowIndex+"-"+c.cellIndex;var rowSpan=c.rowSpan||1;var colSpan=c.colSpan||1;var firstAvailCol;if(typeof matrix[rowIndex]=="undefined"){matrix[rowIndex]=[]}for(var k=0;k<matrix[rowIndex].length+1;k++){if(typeof matrix[rowIndex][k]=="undefined"){firstAvailCol=k;break}}lookup[cellId]=firstAvailCol;for(var k=rowIndex;k<rowIndex+rowSpan;k++){if(typeof matrix[k]=="undefined"){matrix[k]=[]}var matrixrow=matrix[k];for(var l=firstAvailCol;l<firstAvailCol+colSpan;l++){matrixrow[l]="x"}}}}return lookup}function checkCellColSpan(table,rows,row){var arr=[],r=table.tHead.rows,c=r[row].cells;for(var i=0;i<c.length;i++){var cell=c[i];if(cell.colSpan>1){arr=arr.concat(checkCellColSpan(table,headerArr,row++))}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell)}}}return arr}function checkHeaderMetadata(cell){if($.metadata&&$(cell).metadata().sorter===false){return true}return false}function checkHeaderOptions(table,i){if(table.config.headers[i]&&table.config.headers[i].sorter===false){return true}return false}function checkHeaderOptionsSortingLocked(table,i){if(table.config.headers[i]&&table.config.headers[i].lockedOrder)return table.config.headers[i].lockedOrder;return false}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i<l;i++){getWidgetById(c[i]).format(table)}}function getWidgetById(name){var l=widgets.length;for(var i=0;i<l;i++){if(widgets[i].id.toLowerCase()==name.toLowerCase()){return widgets[i]}}}function formatSortingOrder(v){if(typeof v!="Number"){return v.toLowerCase()=="desc"?1:0}else{return v==1?1:0}}function isValueInArray(v,a){var l=a.length;for(var i=0;i<l;i++){if(a[i][0]==v){return true}}return false}function setHeadersCss(table,$headers,list,css){$headers.removeClass(css[0]).removeClass(css[1]);var h=[];$headers.each(function(offset){if(!this.sortDisabled){h[this.column]=$(this)}});var l=list.length;for(var i=0;i<l;i++){h[list[i][0]].addClass(css[list[i][1]])}}function fixColumnWidth(table,$headers){var c=table.config;if(c.widthFixed){var colgroup=$("<colgroup>");$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($("<col>").css("width",$(this).width()))});$(table).prepend(colgroup)}}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i<l;i++){var s=sortList[i],o=c.headerList[s[0]];o.count=s[1];o.count++}}function multisort(table,sortList,cache){if(table.config.debug){var sortTime=new Date}var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0];var order=sortList[i][1];var s=table.config.parsers[c].type=="text"?order==0?makeSortFunction("text","asc",c):makeSortFunction("text","desc",c):order==0?makeSortFunction("numeric","asc",c):makeSortFunction("numeric","desc",c);var e="e"+i;dynamicExp+="var "+e+" = "+s;dynamicExp+="if("+e+") { return "+e+"; } ";dynamicExp+="else { "}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++){dynamicExp+="}; "}dynamicExp+="return 0; ";dynamicExp+="}; ";if(table.config.debug){benchmark("Evaling expression:"+dynamicExp,new Date)}eval(dynamicExp);cache.normalized.sort(sortWrapper);if(table.config.debug){benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime)}return cache}function makeSortFunction(type,direction,index){var a="a["+index+"]",b="b["+index+"]";if(type=="text"&&direction=="asc"){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+a+" < "+b+") ? -1 : 1 )));"}else if(type=="text"&&direction=="desc"){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+b+" < "+a+") ? -1 : 1 )));"}else if(type=="numeric"&&direction=="asc"){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+a+" - "+b+"));"}else if(type=="numeric"&&direction=="desc"){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+b+" - "+a+"));"}}function makeSortText(i){return"((a["+i+"] < b["+i+"]) ? -1 : ((a["+i+"] > b["+i+"]) ? 1 : 0));"}function makeSortTextDesc(i){return"((b["+i+"] < a["+i+"]) ? -1 : ((b["+i+"] > a["+i+"]) ? 1 : 0));"}function makeSortNumeric(i){return"a["+i+"]-b["+i+"];"}function makeSortNumericDesc(i){return"b["+i+"]-a["+i+"];"}function sortText(a,b){if(table.config.sortLocaleCompare)return a.localeCompare(b);return a<b?-1:a>b?1:0}function sortTextDesc(a,b){if(table.config.sortLocaleCompare)return b.localeCompare(a);return b<a?-1:b>a?1:0}function sortNumeric(a,b){return a-b}function sortNumericDesc(a,b){return b-a}function getCachedSortType(parsers,i){return parsers[i].type}this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$.data(this,"tablesorter",config);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){var totalRows=$this[0].tBodies[0]&&$this[0].tBodies[0].rows.length||0;if(!this.sortDisabled&&totalRows>0){$this.trigger("sortStart");var $cell=$(this);var i=this.column;this.order=this.count++%2;if(this.lockedOrder)this.order=this.lockedOrder;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j<a.length;j++){if(a[j][0]!=i){config.sortList.push(a[j])}}}config.sortList.push([i,this.order])}else{if(isValueInArray(i,config.sortList)){for(var j=0;j<config.sortList.length;j++){var s=config.sortList[j],o=config.headerList[s[0]];if(s[0]==i){o.count=s[1];o.count++;s[1]=o.count%2}}}else{config.sortList.push([i,this.order])}}setTimeout(function(){setHeadersCss($this[0],$headers,config.sortList,sortCSS);appendToTable($this[0],multisort($this[0],config.sortList,cache))},1);return false}}).mousedown(function(){if(config.cancelSelection){this.onselectstart=function(){return false};return false}});$this.bind("update",function(){var me=this;setTimeout(function(){me.config.parsers=buildParserCache(me,$headers);cache=buildCache(me)},1)}).bind("updateCell",function(e,cell){var config=this.config;var pos=[cell.parentNode.rowIndex-1,cell.cellIndex];cache.normalized[pos[0]][pos[1]]=config.parsers[pos[1]].format(getElementText(config,cell),cell)}).bind("sorton",function(e,list){$(this).trigger("sortStart");config.sortList=list;var sortList=config.sortList;updateHeaderSortCount(this,sortList);setHeadersCss(this,$headers,sortList,sortCSS);appendToTable(this,multisort(this,sortList,cache))}).bind("appendCache",function(){appendToTable(this,cache)}).bind("applyWidgetId",function(e,id){getWidgetById(id).format(this)}).bind("applyWidgets",function(){applyWidget(this)});if($.metadata&&($(this).metadata()&&$(this).metadata().sortlist)){config.sortList=$(this).metadata().sortlist}if(config.sortList.length>0){$this.trigger("sorton",[config.sortList])}applyWidget(this)})};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==parser.id.toLowerCase()){a=false}}if(a){parsers.push(parser)}};this.addWidget=function(widget){widgets.push(widget)};this.formatFloat=function(s){var i=parseFloat(s);return isNaN(i)?0:i};this.formatInt=function(s){var i=parseInt(s);return isNaN(i)?0:i};this.isDigit=function(s,config){return/^[-+]?\d*$/.test($.trim(s.replace(/[,.']/g,"")))};this.clearTableBody=function(table){if($.browser.msie){function empty(){while(this.firstChild)this.removeChild(this.firstChild)}empty.apply(table.tBodies[0])}else{table.tBodies[0].innerHTML=""}}}});$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(s){return true},format:function(s){return $.trim(s.toLocaleLowerCase())},type:"text"});ts.addParser({id:"digit",is:function(s,table){var c=table.config;return $.tablesorter.isDigit(s,c)},format:function(s){return $.tablesorter.formatFloat(s)},type:"numeric"});ts.addParser({id:"currency",is:function(s){return/^[£$€?.]/.test(s)},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/[£$€]/g),""))},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s)},format:function(s){var a=s.split("."),r="",l=a.length;for(var i=0;i<l;i++){var item=a[i];if(item.length==2){r+="0"+item}else{r+=item}}return $.tablesorter.formatFloat(r)},type:"numeric"});ts.addParser({id:"url",is:function(s){return/^(https?|ftp|file):\/\/$/.test(s)},format:function(s){return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//),""))},type:"text"});ts.addParser({id:"isoDate",is:function(s){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s)},format:function(s){return $.tablesorter.formatFloat(s!=""?new Date(s.replace(new RegExp(/-/g),"/")).getTime():"0")},type:"numeric"});ts.addParser({id:"percent",is:function(s){return/\%$/.test($.trim(s))},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""))},type:"numeric"});ts.addParser({id:"usLongDate",is:function(s){return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/))},format:function(s){return $.tablesorter.formatFloat(new Date(s).getTime())},type:"numeric"});ts.addParser({id:"shortDate",is:function(s){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s)},format:function(s,table){var c=table.config;s=s.replace(/\-/g,"/");if(c.dateFormat=="us"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2")}else if(c.dateFormat=="uk"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1")}else if(c.dateFormat=="dd/mm/yy"||c.dateFormat=="dd-mm-yy"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3")}return $.tablesorter.formatFloat(new Date(s).getTime())},type:"numeric"});ts.addParser({id:"time",is:function(s){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s)},format:function(s){return $.tablesorter.formatFloat(new Date("2000/01/01 "+s).getTime())},type:"numeric"});ts.addParser({id:"metadata",is:function(s){return false},format:function(s,table,cell){var c=table.config,p=!c.parserMetadataName?"sortValue":c.parserMetadataName;return $(cell).metadata()[p]},type:"numeric"});ts.addWidget({id:"zebra",format:function(table){if(table.config.debug){var time=new Date}var $tr,row=-1,odd;$("tr:visible",table.tBodies[0]).each(function(i){$tr=$(this);if(!$tr.hasClass(table.config.cssChildRow))row++;odd=row%2==0;$tr.removeClass(table.config.widgetZebra.css[odd?0:1]).addClass(table.config.widgetZebra.css[odd?1:0])});if(table.config.debug){$.tablesorter.benchmark("Applying Zebra widget",time)}}})})(jQuery);(function($){$.fn.foundationButtons=function(options){$(document).on("click.fndtn",".button.disabled",function(e){e.preventDefault()});$(".button.dropdown > ul",this).addClass("no-hover");$(document).on("click.fndtn",".button.dropdown, .button.dropdown.split span",function(e){if(e.target===this){e.stopPropagation()}});$(document).on("click.fndtn",".button.dropdown.split span",function(e){e.preventDefault();$(".button.dropdown",this).not($(this).parent()).children("ul").removeClass("show-dropdown");$(this).siblings("ul").toggleClass("show-dropdown")});$(document).on("click.fndtn",".button.dropdown:not(.split)",function(e){$(".button.dropdown",this).not(this).children("ul").removeClass("show-dropdown");$(this).children("ul").toggleClass("show-dropdown")});$(document).on("click.fndtn","body, html",function(){$(".button.dropdown ul").removeClass("show-dropdown")});var normalButtonHeight=$(".button.dropdown:not(.large):not(.small):not(.tiny)",this).outerHeight()-1,largeButtonHeight=$(".button.large.dropdown",this).outerHeight()-1,smallButtonHeight=$(".button.small.dropdown",this).outerHeight()-1,tinyButtonHeight=$(".button.tiny.dropdown",this).outerHeight()-1;$(".button.dropdown:not(.large):not(.small):not(.tiny) > ul",this).css("top",normalButtonHeight);$(".button.dropdown.large > ul",this).css("top",largeButtonHeight);$(".button.dropdown.small > ul",this).css("top",smallButtonHeight);$(".button.dropdown.tiny > ul",this).css("top",tinyButtonHeight);$(".button.dropdown.up:not(.large):not(.small):not(.tiny) > ul",this).css("top","auto").css("bottom",normalButtonHeight-2);$(".button.dropdown.up.large > ul",this).css("top","auto").css("bottom",largeButtonHeight-2);$(".button.dropdown.up.small > ul",this).css("top","auto").css("bottom",smallButtonHeight-2);$(".button.dropdown.up.tiny > ul",this).css("top","auto").css("bottom",tinyButtonHeight-2)}})(jQuery);(function($){var hiddenFix=function(){return{tmp:[],hidden:null,adjust:function($child){var _self=this;_self.hidden=$child.parents().andSelf().filter(":hidden");_self.hidden.each(function(){var $elem=$(this);_self.tmp.push($elem.attr("style"));$elem.css({visibility:"hidden",display:"block"})})},reset:function(){var _self=this;_self.hidden.each(function(i){var $elem=$(this),_tmp=_self.tmp[i];if(_tmp===undefined)$elem.removeAttr("style");else $elem.attr("style",_tmp)});_self.tmp=[];_self.hidden=null}}};jQuery.foundation=jQuery.foundation||{};jQuery.foundation.customForms=jQuery.foundation.customForms||{};$.foundation.customForms.appendCustomMarkup=function(options){var defaults={disable_class:"js-disable-custom"};options=$.extend(defaults,options);function appendCustomMarkup(idx,sel){var $this=$(sel).hide(),type=$this.attr("type"),$span=$this.next("span.custom."+type);if($span.length===0){$span=$('<span class="custom '+type+'"></span>').insertAfter($this)}$span.toggleClass("checked",$this.is(":checked"));$span.toggleClass("disabled",$this.is(":disabled"))}function appendCustomSelect(idx,sel){var hiddenFixObj=hiddenFix();var $this=$(sel),$customSelect=$this.next("div.custom.dropdown"),$customList=$customSelect.find("ul"),$selectCurrent=$customSelect.find(".current"),$selector=$customSelect.find(".selector"),$options=$this.find("option"),$selectedOption=$options.filter(":selected"),maxWidth=0,liHtml="",$listItems;var $currentSelect=false;if($this.hasClass("no-custom"))return;if($customSelect.length===0){var customSelectSize=$this.hasClass("small")?"small":$this.hasClass("medium")?"medium":$this.hasClass("large")?"large":$this.hasClass("expand")?"expand":"";$customSelect=$('<div class="'+["custom","dropdown",customSelectSize].join(" ")+'"><a href="#" class="selector"></a><ul /></div>"');$selector=$customSelect.find(".selector");$customList=$customSelect.find("ul");liHtml=$options.map(function(){return"<li>"+$(this).html()+"</li>"}).get().join("");$customList.append(liHtml);$currentSelect=$customSelect.prepend('<a href="#" class="current">'+$selectedOption.html()+"</a>").find(".current");$this.after($customSelect).hide()}else{liHtml=$options.map(function(){return"<li>"+$(this).html()+"</li>"}).get().join("");$customList.html("").append(liHtml)}$customSelect.toggleClass("disabled",$this.is(":disabled"));$listItems=$customList.find("li");$options.each(function(index){if(this.selected){

+ $listItems.eq(index).addClass("selected");if($currentSelect){$currentSelect.html($(this).html())}}});$customList.css("width","inherit");$customSelect.css("width","inherit");if(!$customSelect.is(".small, .medium, .large, .expand")){$customSelect.addClass("open");hiddenFixObj.adjust($customList);maxWidth=$listItems.outerWidth()>maxWidth?$listItems.outerWidth():maxWidth;hiddenFixObj.reset();$customSelect.removeClass("open");$customSelect.width(maxWidth+18);$customList.width(maxWidth+16)}}$("form.custom input:radio[data-customforms!=disabled]").each(appendCustomMarkup);$("form.custom input:checkbox[data-customforms!=disabled]").each(appendCustomMarkup);$("form.custom select[data-customforms!=disabled]").each(appendCustomSelect)};var refreshCustomSelect=function($select){var maxWidth=0,$customSelect=$select.next();$options=$select.find("option");$customSelect.find("ul").html("");$options.each(function(){$li=$("<li>"+$(this).html()+"</li>");$customSelect.find("ul").append($li)});$options.each(function(index){if(this.selected){$customSelect.find("li").eq(index).addClass("selected");$customSelect.find(".current").html($(this).html())}});$customSelect.removeAttr("style").find("ul").removeAttr("style");$customSelect.find("li").each(function(){$customSelect.addClass("open");if($(this).outerWidth()>maxWidth){maxWidth=$(this).outerWidth()}$customSelect.removeClass("open")});$customSelect.css("width",maxWidth+18+"px");$customSelect.find("ul").css("width",maxWidth+16+"px")};var toggleCheckbox=function($element){var $input=$element.prev(),input=$input[0];if(false===$input.is(":disabled")){input.checked=input.checked?false:true;$element.toggleClass("checked")}};var toggleRadio=function($element){var $input=$element.prev(),input=$input[0];if(false===$input.is(":disabled")){$('input:radio[name="'+$input.attr("name")+'"]').each(function(){$(this).next().removeClass("checked")});input.checked=input.checked?false:true;$element.toggleClass("checked");$input.trigger("change")}};$(document).on("click","form.custom span.custom.checkbox",function(event){event.preventDefault();event.stopPropagation();toggleCheckbox($(this))});$(document).on("click","form.custom span.custom.radio",function(event){event.preventDefault();event.stopPropagation();toggleRadio($(this))});$(document).on("change","form.custom select[data-customforms!=disabled]",function(event){refreshCustomSelect($(this))});$(document).on("click","form.custom label",function(event){var $associatedElement=$("#"+$(this).attr("for")),$customCheckbox,$customRadio;if($associatedElement.length!==0){if($associatedElement.attr("type")==="checkbox"){event.preventDefault();$customCheckbox=$(this).find("span.custom.checkbox");toggleCheckbox($customCheckbox)}else if($associatedElement.attr("type")==="radio"){event.preventDefault();$customRadio=$(this).find("span.custom.radio");toggleRadio($customRadio)}}});$(document).on("click","form.custom div.custom.dropdown a.current, form.custom div.custom.dropdown a.selector",function(event){var $this=$(this),$dropdown=$this.closest("div.custom.dropdown"),$select=$dropdown.prev();event.preventDefault();$("div.dropdown").removeClass("open");if(false===$select.is(":disabled")){$dropdown.toggleClass("open");if($dropdown.hasClass("open")){$(document).bind("click.customdropdown",function(event){$dropdown.removeClass("open");$(document).unbind(".customdropdown")})}else{$(document).unbind(".customdropdown")}return false}});$(document).on("click","form.custom div.custom.dropdown li",function(event){var $this=$(this),$customDropdown=$this.closest("div.custom.dropdown"),$select=$customDropdown.prev(),selectedIndex=0;event.preventDefault();event.stopPropagation();$("div.dropdown").removeClass("open");$this.closest("ul").find("li").removeClass("selected");$this.addClass("selected");$customDropdown.removeClass("open").find("a.current").html($this.html());$this.closest("ul").find("li").each(function(index){if($this[0]==this){selectedIndex=index}});$select[0].selectedIndex=selectedIndex;$select.trigger("change")});$.fn.foundationCustomForms=$.foundation.customForms.appendCustomMarkup})(jQuery);window.Modernizr=function(a,b,c){function x(a){j.cssText=a}function y(a,b){return x(m.join(a+";")+(b||""))}function z(a,b){return typeof a===b}function A(a,b){return!!~(""+a).indexOf(b)}function B(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:z(f,"function")?f.bind(d||b):f}return!1}var d="2.6.0",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n={svg:"http://www.w3.org/2000/svg"},o={},p={},q={},r=[],s=r.slice,t,u=function(a,c,d,e){var f,i,j,k=b.createElement("div"),l=b.body,m=l?l:b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),k.appendChild(j);return f=["&#173;",'<style id="s',h,'">',a,"</style>"].join(""),k.id=h,(l?k:m).innerHTML+=f,m.appendChild(k),l||(m.style.background="",g.appendChild(m)),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},v={}.hasOwnProperty,w;!z(v,"undefined")&&!z(v.call,"undefined")?w=function(a,b){return v.call(a,b)}:w=function(a,b){return b in a&&z(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=s.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(s.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(s.call(arguments)))};return e}),o.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:u(["@media (",m.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},o.svg=function(){return!!b.createElementNS&&!!b.createElementNS(n.svg,"svg").createSVGRect},o.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==n.svg},o.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(l.call(b.createElementNS(n.svg,"clipPath")))};for(var C in o)w(o,C)&&(t=C.toLowerCase(),e[t]=o[C](),r.push((e[t]?"":"no-")+t));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)w(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},x(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=m,e.testStyles=u,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+r.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return o.call(a)=="[object Function]"}function e(a){return typeof a=="string"}function f(){}function g(a){return!a||a=="loaded"||a=="complete"||a=="uninitialized"}function h(){var a=p.shift();q=1,a?a.t?m(function(){(a.t=="c"?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){a!="img"&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l={},o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};y[c]===1&&(r=1,y[c]=[],l=b.createElement(a)),a=="object"?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),a!="img"&&(r||y[c]===2?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i(b=="c"?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),p.length==1&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&o.call(a.opera)=="[object Opera]",l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return o.call(a)=="[object Array]"},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,i){var j=b(a),l=j.autoCallback;j.url.split(".").pop().split("?").shift(),j.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]||h),j.instead?j.instead(a,e,f,g,i):(y[j.url]?j.noexec=!0:y[j.url]=1,f.load(j.url,j.forceCSS||!j.forceJS&&"css"==j.url.split(".").pop().split("?").shift()?"c":c,j.noexec,j.attrs,j.timeout),(d(e)||d(l))&&f.load(function(){k(),e&&e(j.origUrl,i,g),l&&l(j.origUrl,i,g),y[j.url]=2})))}function i(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var j,l,m=this.yepnope.loader;if(e(a))g(a,0,m,0);else if(w(a))for(j=0;j<a.length;j++)l=a[j],e(l)?g(l,0,m,0):w(l)?B(l):Object(l)===l&&i(l,m);else Object(a)===a&&i(a,m)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))},Modernizr.addTest("ie8compat",function(){return!window.addEventListener&&document.documentMode&&document.documentMode===7});(function(window,document,undefined){(function(factory){"use strict";if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(jQuery&&!jQuery.fn.qtip){factory(jQuery)}})(function($){var TRUE=true,FALSE=false,NULL=null,X="x",Y="y",WIDTH="width",HEIGHT="height",TOP="top",LEFT="left",BOTTOM="bottom",RIGHT="right",CENTER="center",FLIP="flip",FLIPINVERT="flipinvert",SHIFT="shift",QTIP,PLUGINS,MOUSE,usedIDs={},uitooltip="ui-tooltip",widget="ui-widget",disabled="ui-state-disabled",selector="div.qtip."+uitooltip,defaultClass=uitooltip+"-default",focusClass=uitooltip+"-focus",hoverClass=uitooltip+"-hover",replaceSuffix="_replacedByqTip",oldtitle="oldtitle",trackingBound,redrawContainer;redrawContainer=$("<div/>",{id:"qtip-rcontainer"});$(function(){redrawContainer.appendTo(document.body)});function sanitizeOptions(opts){var invalid=function(a){return a===NULL||"object"!==typeof a},invalidContent=function(c){return!$.isFunction(c)&&(!c&&!c.attr||c.length<1||"object"===typeof c&&!c.jquery)};if(!opts||"object"!==typeof opts){return FALSE}if(invalid(opts.metadata)){opts.metadata={type:opts.metadata}}if("content"in opts){if(invalid(opts.content)||opts.content.jquery){opts.content={text:opts.content}}if(invalidContent(opts.content.text||FALSE)){opts.content.text=FALSE}if("title"in opts.content){if(invalid(opts.content.title)){opts.content.title={text:opts.content.title}}if(invalidContent(opts.content.title.text||FALSE)){opts.content.title.text=FALSE}}}if("position"in opts&&invalid(opts.position)){opts.position={my:opts.position,at:opts.position}}if("show"in opts&&invalid(opts.show)){opts.show=opts.show.jquery?{target:opts.show}:{event:opts.show}}if("hide"in opts&&invalid(opts.hide)){opts.hide=opts.hide.jquery?{target:opts.hide}:{event:opts.hide}}if("style"in opts&&invalid(opts.style)){opts.style={classes:opts.style}}$.each(PLUGINS,function(){if(this.sanitize){this.sanitize(opts)}});return opts}function QTip(target,options,id,attr){var self=this,docBody=document.body,tooltipID=uitooltip+"-"+id,isPositioning=0,isDrawing=0,tooltip=$(),namespace=".qtip-"+id,elements,cache;self.id=id;self.rendered=FALSE;self.destroyed=FALSE;self.elements=elements={target:target};self.timers={img:{}};self.options=options;self.checks={};self.plugins={};self.cache=cache={event:{},target:$(),disabled:FALSE,attr:attr,onTarget:FALSE,lastClass:""};function convertNotation(notation){var i=0,obj,option=options,levels=notation.split(".");while(option=option[levels[i++]]){if(i<levels.length){obj=option}}return[obj||options,levels.pop()]}function setWidget(){var on=options.style.widget;tooltip.toggleClass("ui-helper-reset "+widget,on).toggleClass(defaultClass,options.style.def&&!on);if(elements.content){elements.content.toggleClass(widget+"-content",on)}if(elements.titlebar){elements.titlebar.toggleClass(widget+"-header",on)}if(elements.button){elements.button.toggleClass(uitooltip+"-icon",!on)}}function removeTitle(reposition){if(elements.title){elements.titlebar.remove();elements.titlebar=elements.title=elements.button=NULL;if(reposition!==FALSE){self.reposition()}}}function createButton(){var button=options.content.title.button,isString=typeof button==="string",close=isString?button:"Close tooltip";if(elements.button){elements.button.remove()}if(button.jquery){elements.button=button}else{elements.button=$("<a />",{class:"ui-state-default ui-tooltip-close "+(options.style.widget?"":uitooltip+"-icon"),title:close,"aria-label":close}).prepend($("<span />",{class:"ui-icon ui-icon-close",html:"&times;"}))}elements.button.appendTo(elements.titlebar).attr("role","button").click(function(event){if(!tooltip.hasClass(disabled)){self.hide(event)}return FALSE});self.redraw()}function createTitle(){var id=tooltipID+"-title";if(elements.titlebar){removeTitle()}elements.titlebar=$("<div />",{class:uitooltip+"-titlebar "+(options.style.widget?"ui-widget-header":"")}).append(elements.title=$("<div />",{id:id,class:uitooltip+"-title","aria-atomic":TRUE})).insertBefore(elements.content).delegate(".ui-tooltip-close","mousedown keydown mouseup keyup mouseout",function(event){$(this).toggleClass("ui-state-active ui-state-focus",event.type.substr(-4)==="down")}).delegate(".ui-tooltip-close","mouseover mouseout",function(event){$(this).toggleClass("ui-state-hover",event.type==="mouseover")});if(options.content.title.button){createButton()}else if(self.rendered){self.redraw()}}function updateButton(button){var elem=elements.button,title=elements.title;if(!self.rendered){return FALSE}if(!button){elem.remove()}else{if(!title){createTitle()}createButton()}}function updateTitle(content,reposition){var elem=elements.title;if(!self.rendered||!content){return FALSE}if($.isFunction(content)){content=content.call(target,cache.event,self)}if(content===FALSE||!content&&content!==""){return removeTitle(FALSE)}else if(content.jquery&&content.length>0){elem.empty().append(content.css({display:"block"}))}else{elem.html(content)}self.redraw();if(reposition!==FALSE&&self.rendered&&tooltip[0].offsetWidth>0){self.reposition(cache.event)}}function updateContent(content,reposition){var elem=elements.content;if(!self.rendered||!content){return FALSE}if($.isFunction(content)){content=content.call(target,cache.event,self)||""}if(content.jquery&&content.length>0){elem.empty().append(content.css({display:"block"}))}else{elem.html(content)}function detectImages(next){var images,srcs={};function imageLoad(image){if(image){delete srcs[image.src];clearTimeout(self.timers.img[image.src]);$(image).unbind(namespace)}if($.isEmptyObject(srcs)){self.redraw();if(reposition!==FALSE){self.reposition(cache.event)}next()}}if((images=elem.find("img[src]:not([height]):not([width])")).length===0){return imageLoad()}images.each(function(i,elem){if(srcs[elem.src]!==undefined){return}var iterations=0,maxIterations=3;(function timer(){if(elem.height||elem.width||iterations>maxIterations){return imageLoad(elem)}iterations+=1;self.timers.img[elem.src]=setTimeout(timer,700)})();$(elem).bind("error"+namespace+" load"+namespace,function(){imageLoad(this)});srcs[elem.src]=elem})}if(self.rendered<0){tooltip.queue("fx",detectImages)}else{isDrawing=0;detectImages($.noop)}return self}function assignEvents(){var posOptions=options.position,targets={show:options.show.target,hide:options.hide.target,viewport:$(posOptions.viewport),document:$(document),body:$(document.body),window:$(window)},events={show:$.trim(""+options.show.event).split(" "),hide:$.trim(""+options.hide.event).split(" ")},IE6=$.browser.msie&&parseInt($.browser.version,10)===6;function showMethod(event){if(tooltip.hasClass(disabled)){return FALSE}clearTimeout(self.timers.show);clearTimeout(self.timers.hide);var callback=function(){self.toggle(TRUE,event)};if(options.show.delay>0){self.timers.show=setTimeout(callback,options.show.delay)}else{callback()}}function hideMethod(event){if(tooltip.hasClass(disabled)||isPositioning||isDrawing){return FALSE}var relatedTarget=$(event.relatedTarget||event.target),ontoTooltip=relatedTarget.closest(selector)[0]===tooltip[0],ontoTarget=relatedTarget[0]===targets.show[0];clearTimeout(self.timers.show);clearTimeout(self.timers.hide);if(posOptions.target==="mouse"&&ontoTooltip||options.hide.fixed&&(/mouse(out|leave|move)/.test(event.type)&&(ontoTooltip||ontoTarget))){try{event.preventDefault();event.stopImmediatePropagation()}catch(e){}return}if(options.hide.delay>0){self.timers.hide=setTimeout(function(){self.hide(event)},options.hide.delay)}else{self.hide(event)}}function inactiveMethod(event){if(tooltip.hasClass(disabled)){return FALSE}clearTimeout(self.timers.inactive);self.timers.inactive=setTimeout(function(){self.hide(event)},options.hide.inactive)}function repositionMethod(event){if(self.rendered&&tooltip[0].offsetWidth>0){self.reposition(event)}}tooltip.bind("mouseenter"+namespace+" mouseleave"+namespace,function(event){var state=event.type==="mouseenter";if(state){self.focus(event)}tooltip.toggleClass(hoverClass,state)});if(/mouse(out|leave)/i.test(options.hide.event)){if(options.hide.leave==="window"){targets.window.bind("mouseout"+namespace+" blur"+namespace,function(event){if(!/select|option/.test(event.target.nodeName)&&!event.relatedTarget){self.hide(event)}})}}if(options.hide.fixed){targets.hide=targets.hide.add(tooltip);tooltip.bind("mouseover"+namespace,function(){if(!tooltip.hasClass(disabled)){clearTimeout(self.timers.hide)}})}else if(/mouse(over|enter)/i.test(options.show.event)){targets.hide.bind("mouseleave"+namespace,function(event){clearTimeout(self.timers.show)})}if((""+options.hide.event).indexOf("unfocus")>-1){posOptions.container.closest("html").bind("mousedown"+namespace,function(event){var elem=$(event.target),enabled=self.rendered&&!tooltip.hasClass(disabled)&&tooltip[0].offsetWidth>0,isAncestor=elem.parents(selector).filter(tooltip[0]).length>0;if(elem[0]!==target[0]&&elem[0]!==tooltip[0]&&!isAncestor&&!target.has(elem[0]).length&&!elem.attr("disabled")){self.hide(event)}})}if("number"===typeof options.hide.inactive){targets.show.bind("qtip-"+id+"-inactive",inactiveMethod);$.each(QTIP.inactiveEvents,function(index,type){targets.hide.add(elements.tooltip).bind(type+namespace+"-inactive",inactiveMethod)})}$.each(events.hide,function(index,type){var showIndex=$.inArray(type,events.show),targetHide=$(targets.hide);if(showIndex>-1&&targetHide.add(targets.show).length===targetHide.length||type==="unfocus"){targets.show.bind(type+namespace,function(event){if(tooltip[0].offsetWidth>0){hideMethod(event)}else{showMethod(event)}});delete events.show[showIndex]}else{targets.hide.bind(type+namespace,hideMethod)}});$.each(events.show,function(index,type){targets.show.bind(type+namespace,showMethod)});if("number"===typeof options.hide.distance){targets.show.add(tooltip).bind("mousemove"+namespace,function(event){var origin=cache.origin||{},limit=options.hide.distance,abs=Math.abs;if(abs(event.pageX-origin.pageX)>=limit||abs(event.pageY-origin.pageY)>=limit){self.hide(event)}})}if(posOptions.target==="mouse"){targets.show.bind("mousemove"+namespace,function(event){MOUSE={pageX:event.pageX,pageY:event.pageY,type:"mousemove"}});if(posOptions.adjust.mouse){if(options.hide.event){tooltip.bind("mouseleave"+namespace,function(event){if((event.relatedTarget||event.target)!==targets.show[0]){self.hide(event)}});elements.target.bind("mouseenter"+namespace+" mouseleave"+namespace,function(event){cache.onTarget=event.type==="mouseenter"})}targets.document.bind("mousemove"+namespace,function(event){if(self.rendered&&cache.onTarget&&!tooltip.hasClass(disabled)&&tooltip[0].offsetWidth>0){self.reposition(event||MOUSE)}})}}if(posOptions.adjust.resize||targets.viewport.length){($.event.special.resize?targets.viewport:targets.window).bind("resize"+namespace,repositionMethod)}if(targets.viewport.length||IE6&&tooltip.css("position")==="fixed"){targets.viewport.bind("scroll"+namespace,repositionMethod)}}function unassignEvents(){var targets=[options.show.target[0],options.hide.target[0],self.rendered&&elements.tooltip[0],options.position.container[0],options.position.viewport[0],options.position.container.closest("html")[0],window,document];if(self.rendered){$([]).pushStack($.grep(targets,function(i){return typeof i==="object"})).unbind(namespace)}else{options.show.target.unbind(namespace+"-create")}}self.checks.builtin={"^id$":function(obj,o,v){var id=v===TRUE?QTIP.nextid:v,tooltipID=uitooltip+"-"+id;if(id!==FALSE&&id.length>0&&!$("#"+tooltipID).length){tooltip[0].id=tooltipID;elements.content[0].id=tooltipID+"-content";elements.title[0].id=tooltipID+"-title"}},"^content.text$":function(obj,o,v){updateContent(v)},"^content.title.text$":function(obj,o,v){if(!v){return removeTitle()}if(!elements.title&&v){createTitle()}updateTitle(v)},"^content.title.button$":function(obj,o,v){updateButton(v)},"^position.(my|at)$":function(obj,o,v){if("string"===typeof v){obj[o]=new PLUGINS.Corner(v)}},"^position.container$":function(obj,o,v){if(self.rendered){tooltip.appendTo(v)}},"^show.ready$":function(){if(!self.rendered){self.render(1)}else{self.toggle(TRUE)}},"^style.classes$":function(obj,o,v){tooltip.attr("class",uitooltip+" qtip "+v)},"^style.widget|content.title":setWidget,"^events.(render|show|move|hide|focus|blur)$":function(obj,o,v){tooltip[($.isFunction(v)?"":"un")+"bind"]("tooltip"+o,v)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){var posOptions=options.position;tooltip.attr("tracking",posOptions.target==="mouse"&&posOptions.adjust.mouse);unassignEvents();assignEvents()}};$.extend(self,{render:function(show){if(self.rendered){return self}var text=options.content.text,title=options.content.title.text,posOptions=options.position,callback=$.Event("tooltiprender");$.attr(target[0],"aria-describedby",tooltipID);tooltip=elements.tooltip=$("<div/>",{id:tooltipID,class:uitooltip+" qtip "+defaultClass+" "+options.style.classes+" "+uitooltip+"-pos-"+options.position.my.abbrev(),width:options.style.width||"",height:options.style.height||"",tracking:posOptions.target==="mouse"&&posOptions.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":FALSE,"aria-describedby":tooltipID+"-content","aria-hidden":TRUE}).toggleClass(disabled,cache.disabled).data("qtip",self).appendTo(options.position.container).append(elements.content=$("<div />",{class:uitooltip+"-content",id:tooltipID+"-content","aria-atomic":TRUE}));self.rendered=-1;isDrawing=1;isPositioning=1;if(title){createTitle();if(!$.isFunction(title)){updateTitle(title,FALSE)}}if(!$.isFunction(text)){updateContent(text,FALSE)}self.rendered=TRUE;setWidget();$.each(options.events,function(name,callback){if($.isFunction(callback)){tooltip.bind(name==="toggle"?"tooltipshow tooltiphide":"tooltip"+name,callback)}});$.each(PLUGINS,function(){if(this.initialize==="render"){this(self)}});assignEvents();tooltip.queue("fx",function(next){callback.originalEvent=cache.event;tooltip.trigger(callback,[self]);isDrawing=0;isPositioning=0;self.redraw();if(options.show.ready||show){self.toggle(TRUE,cache.event,FALSE)}next()});return self},get:function(notation){var result,o;switch(notation.toLowerCase()){case"dimensions":result={height:tooltip.outerHeight(),width:tooltip.outerWidth()};break;case"offset":result=PLUGINS.offset(tooltip,options.position.container);break;default:o=convertNotation(notation.toLowerCase());result=o[0][o[1]];result=result.precedance?result.string():result;break}return result},set:function(option,value){var rmove=/^position\.(my|at|adjust|target|container)|style|content|show\.ready/i,rdraw=/^content\.(title|attr)|style/i,reposition=FALSE,redraw=FALSE,checks=self.checks,name;function callback(notation,args){var category,rule,match;for(category in checks){for(rule in checks[category]){if(match=new RegExp(rule,"i").exec(notation)){args.push(match);checks[category][rule].apply(self,args)}}}}if("string"===typeof option){name=option;option={};option[name]=value}else{option=$.extend(TRUE,{},option)}$.each(option,function(notation,value){var obj=convertNotation(notation.toLowerCase()),previous;previous=obj[0][obj[1]];obj[0][obj[1]]="object"===typeof value&&value.nodeType?$(value):value;option[notation]=[obj[0],obj[1],value,previous];reposition=rmove.test(notation)||reposition;redraw=rdraw.test(notation)||redraw});sanitizeOptions(options);isPositioning=isDrawing=1;$.each(option,callback);isPositioning=isDrawing=0;if(self.rendered&&tooltip[0].offsetWidth>0){if(reposition){self.reposition(options.position.target==="mouse"?NULL:cache.event)}if(redraw){self.redraw()}}return self},toggle:function(state,event){if(!self.rendered){return state?self.render(1):self}var type=state?"show":"hide",opts=options[type],otherOpts=options[!state?"show":"hide"],posOptions=options.position,contentOptions=options.content,visible=tooltip[0].offsetWidth>0,animate=state||opts.target.length===1,sameTarget=!event||opts.target.length<2||cache.target[0]===event.target,delay,callback;if((typeof state).search("boolean|number")){state=!visible}if(!tooltip.is(":animated")&&visible===state&&sameTarget){return self}if(event){if(/over|enter/.test(event.type)&&/out|leave/.test(cache.event.type)&&options.show.target.add(event.target).length===options.show.target.length&&tooltip.has(event.relatedTarget).length){return self}cache.event=$.extend({},event)}callback=$.Event("tooltip"+type);callback.originalEvent=event?cache.event:NULL;tooltip.trigger(callback,[self,90]);if(callback.isDefaultPrevented()){return self}$.attr(tooltip[0],"aria-hidden",!!!state);if(state){cache.origin=$.extend({},MOUSE);self.focus(event);if($.isFunction(contentOptions.text)){updateContent(contentOptions.text,FALSE)}if($.isFunction(contentOptions.title.text)){updateTitle(contentOptions.title.text,FALSE)}if(!trackingBound&&posOptions.target==="mouse"&&posOptions.adjust.mouse){$(document).bind("mousemove.qtip",function(event){MOUSE={pageX:event.pageX,pageY:event.pageY,type:"mousemove"}});trackingBound=TRUE}self.reposition(event,arguments[2]);if(callback.solo=!!opts.solo){$(selector,opts.solo).not(tooltip).qtip("hide",callback)}}else{clearTimeout(self.timers.show);delete cache.origin;if(trackingBound&&!$(selector+'[tracking="true"]:visible',opts.solo).not(tooltip).length){$(document).unbind("mousemove.qtip");trackingBound=FALSE}self.blur(event)}function after(){if(state){if($.browser.msie){tooltip[0].style.removeAttribute("filter")}tooltip.css("overflow","");if("string"===typeof opts.autofocus){$(opts.autofocus,tooltip).focus()}opts.target.trigger("qtip-"+id+"-inactive")}else{tooltip.css({display:"",visibility:"",opacity:"",left:"",top:""})}callback=$.Event("tooltip"+(state?"visible":"hidden"));callback.originalEvent=event?cache.event:NULL;tooltip.trigger(callback,[self])}if(opts.effect===FALSE||animate===FALSE){tooltip[type]();after.call(tooltip)}else if($.isFunction(opts.effect)){tooltip.stop(1,1);opts.effect.call(tooltip,self);tooltip.queue("fx",function(n){after();n()})}else{tooltip.fadeTo(90,state?1:0,after)}if(state){opts.target.trigger("qtip-"+id+"-inactive")}return self},show:function(event){return self.toggle(TRUE,event)},hide:function(event){return self.toggle(FALSE,event)},focus:function(event){if(!self.rendered){return self}var qtips=$(selector),curIndex=parseInt(tooltip[0].style.zIndex,10),newIndex=QTIP.zindex+qtips.length,cachedEvent=$.extend({},event),focusedElem,callback;if(!tooltip.hasClass(focusClass)){callback=$.Event("tooltipfocus");callback.originalEvent=cachedEvent;tooltip.trigger(callback,[self,newIndex]);if(!callback.isDefaultPrevented()){if(curIndex!==newIndex){qtips.each(function(){if(this.style.zIndex>curIndex){this.style.zIndex=this.style.zIndex-1}});qtips.filter("."+focusClass).qtip("blur",cachedEvent)}tooltip.addClass(focusClass)[0].style.zIndex=newIndex}}return self},blur:function(event){var cachedEvent=$.extend({},event),callback;tooltip.removeClass(focusClass);callback=$.Event("tooltipblur");callback.originalEvent=cachedEvent;tooltip.trigger(callback,[self]);return self},reposition:function(event,effect){if(!self.rendered||isPositioning){

+ return self}isPositioning=1;var target=options.position.target,posOptions=options.position,my=posOptions.my,at=posOptions.at,adjust=posOptions.adjust,method=adjust.method.split(" "),elemWidth=tooltip.outerWidth(),elemHeight=tooltip.outerHeight(),targetWidth=0,targetHeight=0,callback=$.Event("tooltipmove"),fixed=tooltip.css("position")==="fixed",viewport=posOptions.viewport,position={left:0,top:0},container=posOptions.container,visible=tooltip[0].offsetWidth>0,adjusted,offset,win;if($.isArray(target)&&target.length===2){at={x:LEFT,y:TOP};position={left:target[0],top:target[1]}}else if(target==="mouse"&&(event&&event.pageX||cache.event.pageX)){at={x:LEFT,y:TOP};event=(event&&(event.type==="resize"||event.type==="scroll")?cache.event:event&&event.pageX&&event.type==="mousemove"?event:MOUSE&&MOUSE.pageX&&(adjust.mouse||!event||!event.pageX)?{pageX:MOUSE.pageX,pageY:MOUSE.pageY}:!adjust.mouse&&cache.origin&&cache.origin.pageX&&options.show.distance?cache.origin:event)||event||cache.event||MOUSE||{};position={top:event.pageY,left:event.pageX}}else{if(target==="event"&&event&&event.target&&event.type!=="scroll"&&event.type!=="resize"){cache.target=$(event.target)}else if(target!=="event"){cache.target=$(target.jquery?target:elements.target)}target=cache.target;target=$(target).eq(0);if(target.length===0){return self}else if(target[0]===document||target[0]===window){targetWidth=PLUGINS.iOS?window.innerWidth:target.width();targetHeight=PLUGINS.iOS?window.innerHeight:target.height();if(target[0]===window){position={top:(viewport||target).scrollTop(),left:(viewport||target).scrollLeft()}}}else if(PLUGINS.imagemap&&target.is("area")){adjusted=PLUGINS.imagemap(self,target,at,PLUGINS.viewport?method:FALSE)}else if(PLUGINS.svg&&typeof target[0].xmlbase==="string"){adjusted=PLUGINS.svg(self,target,at,PLUGINS.viewport?method:FALSE)}else{targetWidth=target.outerWidth();targetHeight=target.outerHeight();position=PLUGINS.offset(target,container)}if(adjusted){targetWidth=adjusted.width;targetHeight=adjusted.height;offset=adjusted.offset;position=adjusted.position}if(PLUGINS.iOS>3.1&&PLUGINS.iOS<4.1||PLUGINS.iOS>=4.3&&PLUGINS.iOS<4.33||!PLUGINS.iOS&&fixed){win=$(window);position.left-=win.scrollLeft();position.top-=win.scrollTop()}position.left+=at.x===RIGHT?targetWidth:at.x===CENTER?targetWidth/2:0;position.top+=at.y===BOTTOM?targetHeight:at.y===CENTER?targetHeight/2:0}position.left+=adjust.x+(my.x===RIGHT?-elemWidth:my.x===CENTER?-elemWidth/2:0);position.top+=adjust.y+(my.y===BOTTOM?-elemHeight:my.y===CENTER?-elemHeight/2:0);if(PLUGINS.viewport){position.adjusted=PLUGINS.viewport(self,position,posOptions,targetWidth,targetHeight,elemWidth,elemHeight);if(offset&&position.adjusted.left){position.left+=offset.left}if(offset&&position.adjusted.top){position.top+=offset.top}}else{position.adjusted={left:0,top:0}}callback.originalEvent=$.extend({},event);tooltip.trigger(callback,[self,position,viewport.elem||viewport]);if(callback.isDefaultPrevented()){return self}delete position.adjusted;if(effect===FALSE||!visible||isNaN(position.left)||isNaN(position.top)||target==="mouse"||!$.isFunction(posOptions.effect)){tooltip.css(position)}else if($.isFunction(posOptions.effect)){posOptions.effect.call(tooltip,self,$.extend({},position));tooltip.queue(function(next){$(this).css({opacity:"",height:""});if($.browser.msie){this.style.removeAttribute("filter")}next()})}isPositioning=0;return self},redraw:function(){if(self.rendered<1||isDrawing){return self}var style=options.style,container=options.position.container,perc,width,max,min;isDrawing=1;if(style.height){tooltip.css(HEIGHT,style.height)}if(style.width){tooltip.css(WIDTH,style.width)}else{tooltip.css(WIDTH,"").appendTo(redrawContainer);width=tooltip.width();if(width%2){width+=1}max=tooltip.css("max-width")||"";min=tooltip.css("min-width")||"";perc=(max+min).indexOf("%")>-1?container.width()/100:0;max=(max.indexOf("%")>-1?perc:1)*parseInt(max,10)||width;min=(min.indexOf("%")>-1?perc:1)*parseInt(min,10)||0;width=max+min?Math.min(Math.max(width,min),max):width;tooltip.css(WIDTH,Math.round(width)).appendTo(container)}isDrawing=0;return self},disable:function(state){if("boolean"!==typeof state){state=!(tooltip.hasClass(disabled)||cache.disabled)}if(self.rendered){tooltip.toggleClass(disabled,state);$.attr(tooltip[0],"aria-disabled",state)}else{cache.disabled=!!state}return self},enable:function(){return self.disable(FALSE)},destroy:function(){var t=target[0],title=$.attr(t,oldtitle),elemAPI=target.data("qtip");self.destroyed=TRUE;if(self.rendered){tooltip.stop(1,0).remove();$.each(self.plugins,function(){if(this.destroy){this.destroy()}})}clearTimeout(self.timers.show);clearTimeout(self.timers.hide);unassignEvents();if(!elemAPI||self===elemAPI){$.removeData(t,"qtip");if(options.suppress&&title){$.attr(t,"title",title);target.removeAttr(oldtitle)}target.removeAttr("aria-describedby")}target.unbind(".qtip-"+id);delete usedIDs[self.id];return target}})}function init(id,opts){var obj,posOptions,attr,config,title,elem=$(this),docBody=$(document.body),newTarget=this===document?docBody:elem,metadata=elem.metadata?elem.metadata(opts.metadata):NULL,metadata5=opts.metadata.type==="html5"&&metadata?metadata[opts.metadata.name]:NULL,html5=elem.data(opts.metadata.name||"qtipopts");try{html5=typeof html5==="string"?$.parseJSON(html5):html5}catch(e){}config=$.extend(TRUE,{},QTIP.defaults,opts,typeof html5==="object"?sanitizeOptions(html5):NULL,sanitizeOptions(metadata5||metadata));posOptions=config.position;config.id=id;if("boolean"===typeof config.content.text){attr=elem.attr(config.content.attr);if(config.content.attr!==FALSE&&attr){config.content.text=attr}else{return FALSE}}if(!posOptions.container.length){posOptions.container=docBody}if(posOptions.target===FALSE){posOptions.target=newTarget}if(config.show.target===FALSE){config.show.target=newTarget}if(config.show.solo===TRUE){config.show.solo=posOptions.container.closest("body")}if(config.hide.target===FALSE){config.hide.target=newTarget}if(config.position.viewport===TRUE){config.position.viewport=posOptions.container}posOptions.container=posOptions.container.eq(0);posOptions.at=new PLUGINS.Corner(posOptions.at);posOptions.my=new PLUGINS.Corner(posOptions.my);if($.data(this,"qtip")){if(config.overwrite){elem.qtip("destroy")}else if(config.overwrite===FALSE){return FALSE}}if(config.suppress&&(title=$.attr(this,"title"))){$(this).removeAttr("title").attr(oldtitle,title).attr("title","")}obj=new QTip(elem,config,id,!!attr);$.data(this,"qtip",obj);elem.bind("remove.qtip-"+id+" removeqtip.qtip-"+id,function(){obj.destroy()});return obj}QTIP=$.fn.qtip=function(options,notation,newValue){var command=(""+options).toLowerCase(),returned=NULL,args=$.makeArray(arguments).slice(1),event=args[args.length-1],opts=this[0]?$.data(this[0],"qtip"):NULL;if(!arguments.length&&opts||command==="api"){return opts}else if("string"===typeof options){this.each(function(){var api=$.data(this,"qtip");if(!api){return TRUE}if(event&&event.timeStamp){api.cache.event=event}if((command==="option"||command==="options")&&notation){if($.isPlainObject(notation)||newValue!==undefined){api.set(notation,newValue)}else{returned=api.get(notation);return FALSE}}else if(api[command]){api[command].apply(api[command],args)}});return returned!==NULL?returned:this}else if("object"===typeof options||!arguments.length){opts=sanitizeOptions($.extend(TRUE,{},options));return QTIP.bind.call(this,opts,event)}};QTIP.bind=function(opts,event){return this.each(function(i){var options,targets,events,namespace,api,id;id=$.isArray(opts.id)?opts.id[i]:opts.id;id=!id||id===FALSE||id.length<1||usedIDs[id]?QTIP.nextid++:usedIDs[id]=id;namespace=".qtip-"+id+"-create";api=init.call(this,id,opts);if(api===FALSE){return TRUE}options=api.options;$.each(PLUGINS,function(){if(this.initialize==="initialize"){this(api)}});targets={show:options.show.target,hide:options.hide.target};events={show:$.trim(""+options.show.event).replace(/ /g,namespace+" ")+namespace,hide:$.trim(""+options.hide.event).replace(/ /g,namespace+" ")+namespace};if(/mouse(over|enter)/i.test(events.show)&&!/mouse(out|leave)/i.test(events.hide)){events.hide+=" mouseleave"+namespace}targets.show.bind("mousemove"+namespace,function(event){MOUSE={pageX:event.pageX,pageY:event.pageY,type:"mousemove"};api.cache.onTarget=TRUE});function hoverIntent(event){function render(){api.render(typeof event==="object"||options.show.ready);targets.show.add(targets.hide).unbind(namespace)}if(api.cache.disabled){return FALSE}api.cache.event=$.extend({},event);api.cache.target=event?$(event.target):[undefined];if(options.show.delay>0){clearTimeout(api.timers.show);api.timers.show=setTimeout(render,options.show.delay);if(events.show!==events.hide){targets.hide.bind(events.hide,function(){clearTimeout(api.timers.show)})}}else{render()}}targets.show.bind(events.show,hoverIntent);if(options.show.ready||options.prerender){hoverIntent(event)}})};PLUGINS=QTIP.plugins={Corner:function(corner){corner=(""+corner).replace(/([A-Z])/," $1").replace(/middle/gi,CENTER).toLowerCase();this.x=(corner.match(/left|right/i)||corner.match(/center/)||["inherit"])[0].toLowerCase();this.y=(corner.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase();var f=corner.charAt(0);this.precedance=f==="t"||f==="b"?Y:X;this.string=function(){return this.precedance===Y?this.y+this.x:this.x+this.y};this.abbrev=function(){var x=this.x.substr(0,1),y=this.y.substr(0,1);return x===y?x:this.precedance===Y?y+x:x+y};this.invertx=function(center){this.x=this.x===LEFT?RIGHT:this.x===RIGHT?LEFT:center||this.x};this.inverty=function(center){this.y=this.y===TOP?BOTTOM:this.y===BOTTOM?TOP:center||this.y};this.clone=function(){return{x:this.x,y:this.y,precedance:this.precedance,string:this.string,abbrev:this.abbrev,clone:this.clone,invertx:this.invertx,inverty:this.inverty}}},offset:function(elem,container){var pos=elem.offset(),docBody=elem.closest("body")[0],parent=container,scrolled,coffset,overflow;function scroll(e,i){pos.left+=i*e.scrollLeft();pos.top+=i*e.scrollTop()}if(parent){do{if(parent.css("position")!=="static"){coffset=parent.position();pos.left-=coffset.left+(parseInt(parent.css("borderLeftWidth"),10)||0)+(parseInt(parent.css("marginLeft"),10)||0);pos.top-=coffset.top+(parseInt(parent.css("borderTopWidth"),10)||0)+(parseInt(parent.css("marginTop"),10)||0);if(!scrolled&&(overflow=parent.css("overflow"))!=="hidden"&&overflow!=="visible"){scrolled=parent}}}while((parent=$(parent[0].offsetParent)).length);if(scrolled&&scrolled[0]!==docBody){scroll(scrolled,1)}}return pos},iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||FALSE,fn:{attr:function(attr,val){if(this.length){var self=this[0],title="title",api=$.data(self,"qtip");if(attr===title&&api&&"object"===typeof api&&api.options.suppress){if(arguments.length<2){return $.attr(self,oldtitle)}if(api&&api.options.content.attr===title&&api.cache.attr){api.set("content.text",val)}return this.attr(oldtitle,val)}}return $.fn["attr"+replaceSuffix].apply(this,arguments)},clone:function(keepData){var titles=$([]),title="title",elems=$.fn["clone"+replaceSuffix].apply(this,arguments);if(!keepData){elems.filter("["+oldtitle+"]").attr("title",function(){return $.attr(this,oldtitle)}).removeAttr(oldtitle)}return elems}}};$.each(PLUGINS.fn,function(name,func){if(!func||$.fn[name+replaceSuffix]){return TRUE}var old=$.fn[name+replaceSuffix]=$.fn[name];$.fn[name]=function(){return func.apply(this,arguments)||old.apply(this,arguments)}});if(!$.ui){$["cleanData"+replaceSuffix]=$.cleanData;$.cleanData=function(elems){for(var i=0,elem;(elem=elems[i])!==undefined;i++){try{$(elem).triggerHandler("removeqtip")}catch(e){}}$["cleanData"+replaceSuffix](elems)}}QTIP.version="@VERSION";QTIP.nextid=0;QTIP.inactiveEvents="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" ");QTIP.zindex=15e3;QTIP.defaults={prerender:FALSE,id:FALSE,overwrite:TRUE,suppress:TRUE,content:{text:TRUE,attr:"title",title:{text:FALSE,button:FALSE}},position:{my:"top left",at:"bottom right",target:FALSE,container:FALSE,viewport:FALSE,adjust:{x:0,y:0,mouse:TRUE,resize:TRUE,method:"flip flip"},effect:function(api,pos,viewport){$(this).animate(pos,{duration:200,queue:FALSE})}},show:{target:FALSE,event:"mouseenter",effect:TRUE,delay:90,solo:FALSE,ready:FALSE,autofocus:FALSE},hide:{target:FALSE,event:"mouseleave",effect:TRUE,delay:0,fixed:FALSE,inactive:FALSE,leave:"window",distance:FALSE},style:{classes:"",widget:FALSE,width:FALSE,height:FALSE,def:TRUE},events:{render:NULL,move:NULL,show:NULL,hide:NULL,toggle:NULL,visible:NULL,hidden:NULL,focus:NULL,blur:NULL}};PLUGINS.svg=function(api,svg,corner,adjustMethod){var doc=$(document),elem=svg[0],result={width:0,height:0,position:{top:1e10,left:1e10}},box,mtx,root,point,tPoint;while(!elem.getBBox){elem=elem.parentNode}if(elem.getBBox&&elem.parentNode){box=elem.getBBox();mtx=elem.getScreenCTM();root=elem.farthestViewportElement||elem;if(!root.createSVGPoint){return result}point=root.createSVGPoint();point.x=box.x;point.y=box.y;tPoint=point.matrixTransform(mtx);result.position.left=tPoint.x;result.position.top=tPoint.y;point.x+=box.width;point.y+=box.height;tPoint=point.matrixTransform(mtx);result.width=tPoint.x-result.position.left;result.height=tPoint.y-result.position.top;result.position.left+=doc.scrollLeft();result.position.top+=doc.scrollTop()}return result};function Ajax(api){var self=this,tooltip=api.elements.tooltip,opts=api.options.content.ajax,defaults=QTIP.defaults.content.ajax,namespace=".qtip-ajax",rscript=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,first=TRUE,stop=FALSE,xhr;api.checks.ajax={"^content.ajax":function(obj,name,v){if(name==="ajax"){opts=v}if(name==="once"){self.init()}else if(opts&&opts.url){self.load()}else{tooltip.unbind(namespace)}}};$.extend(self,{init:function(){if(opts&&opts.url){tooltip.unbind(namespace)[opts.once?"one":"bind"]("tooltipshow"+namespace,self.load)}return self},load:function(event){if(stop){stop=FALSE;return}var hasSelector=opts.url.lastIndexOf(" "),url=opts.url,selector,hideFirst=!opts.loading&&first;if(hideFirst){try{event.preventDefault()}catch(e){}}else if(event&&event.isDefaultPrevented()){return self}if(xhr&&xhr.abort){xhr.abort()}if(hasSelector>-1){selector=url.substr(hasSelector);url=url.substr(0,hasSelector)}function after(){var complete;if(api.destroyed){return}first=FALSE;if(hideFirst){stop=TRUE;api.show(event.originalEvent)}if((complete=defaults.complete||opts.complete)&&$.isFunction(complete)){complete.apply(opts.context||api,arguments)}}function successHandler(content,status,jqXHR){var success;if(api.destroyed){return}if(selector&&"string"===typeof content){content=$("<div/>").append(content.replace(rscript,"")).find(selector)}if((success=defaults.success||opts.success)&&$.isFunction(success)){success.call(opts.context||api,content,status,jqXHR)}else{api.set("content.text",content)}}function errorHandler(xhr,status,error){if(api.destroyed||xhr.status===0){return}api.set("content.text",status+": "+error)}xhr=$.ajax($.extend({error:defaults.error||errorHandler,context:api},opts,{url:url,success:successHandler,complete:after}))},destroy:function(){if(xhr&&xhr.abort){xhr.abort()}api.destroyed=TRUE}});self.init()}PLUGINS.ajax=function(api){var self=api.plugins.ajax;return"object"===typeof self?self:api.plugins.ajax=new Ajax(api)};PLUGINS.ajax.initialize="render";PLUGINS.ajax.sanitize=function(options){var content=options.content,opts;if(content&&"ajax"in content){opts=content.ajax;if(typeof opts!=="object"){opts=options.content.ajax={url:opts}}if("boolean"!==typeof opts.once&&opts.once){opts.once=!!opts.once}}};$.extend(TRUE,QTIP.defaults,{content:{ajax:{loading:TRUE,once:TRUE}}});function calculateTip(corner,width,height){var width2=Math.ceil(width/2),height2=Math.ceil(height/2),tips={bottomright:[[0,0],[width,height],[width,0]],bottomleft:[[0,0],[width,0],[0,height]],topright:[[0,height],[width,0],[width,height]],topleft:[[0,0],[0,height],[width,height]],topcenter:[[0,height],[width2,0],[width,height]],bottomcenter:[[0,0],[width,0],[width2,height]],rightcenter:[[0,0],[width,height2],[0,height]],leftcenter:[[width,0],[width,height],[0,height2]]};tips.lefttop=tips.bottomright;tips.righttop=tips.bottomleft;tips.leftbottom=tips.topright;tips.rightbottom=tips.topleft;return tips[corner.string()]}function Tip(qTip,command){var self=this,opts=qTip.options.style.tip,elems=qTip.elements,tooltip=elems.tooltip,cache={top:0,left:0},size={width:opts.width,height:opts.height},color={},border=opts.border||0,namespace=".qtip-tip",hasCanvas=!!($("<canvas />")[0]||{}).getContext;self.corner=NULL;self.mimic=NULL;self.border=border;self.offset=opts.offset;self.size=size;qTip.checks.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){if(!self.init()){self.destroy()}qTip.reposition()},"^style.tip.(height|width)$":function(){size={width:opts.width,height:opts.height};self.create();self.update();qTip.reposition()},"^content.title.text|style.(classes|widget)$":function(){if(elems.tip&&elems.tip.length){self.update()}}};function whileVisible(callback){var visible=tooltip.is(":visible");tooltip.show();callback();tooltip.toggle(visible)}function swapDimensions(){size.width=opts.height;size.height=opts.width}function resetDimensions(){size.width=opts.width;size.height=opts.height}function reposition(event,api,pos,viewport){if(!elems.tip){return}var newCorner=self.corner.clone(),adjust=pos.adjusted,method=qTip.options.position.adjust.method.split(" "),horizontal=method[0],vertical=method[1]||method[0],shift={left:FALSE,top:FALSE,x:0,y:0},offset,css={},props;if(self.corner.fixed!==TRUE){if(horizontal===SHIFT&&newCorner.precedance===X&&adjust.left&&newCorner.y!==CENTER){newCorner.precedance=newCorner.precedance===X?Y:X}else if(horizontal!==SHIFT&&adjust.left){newCorner.x=newCorner.x===CENTER?adjust.left>0?LEFT:RIGHT:newCorner.x===LEFT?RIGHT:LEFT}if(vertical===SHIFT&&newCorner.precedance===Y&&adjust.top&&newCorner.x!==CENTER){newCorner.precedance=newCorner.precedance===Y?X:Y}else if(vertical!==SHIFT&&adjust.top){newCorner.y=newCorner.y===CENTER?adjust.top>0?TOP:BOTTOM:newCorner.y===TOP?BOTTOM:TOP}if(newCorner.string()!==cache.corner.string()&&(cache.top!==adjust.top||cache.left!==adjust.left)){self.update(newCorner,FALSE)}}offset=self.position(newCorner,adjust);offset[newCorner.x]+=parseWidth(newCorner,newCorner.x);offset[newCorner.y]+=parseWidth(newCorner,newCorner.y);if(offset.right!==undefined){offset.left=-offset.right}if(offset.bottom!==undefined){offset.top=-offset.bottom}offset.user=Math.max(0,opts.offset);if(shift.left=horizontal===SHIFT&&!!adjust.left){if(newCorner.x===CENTER){css["margin-left"]=shift.x=offset["margin-left"]-adjust.left}else{props=offset.right!==undefined?[adjust.left,-offset.left]:[-adjust.left,offset.left];if((shift.x=Math.max(props[0],props[1]))>props[0]){pos.left-=adjust.left;shift.left=FALSE}css[offset.right!==undefined?RIGHT:LEFT]=shift.x}}if(shift.top=vertical===SHIFT&&!!adjust.top){if(newCorner.y===CENTER){css["margin-top"]=shift.y=offset["margin-top"]-adjust.top}else{props=offset.bottom!==undefined?[adjust.top,-offset.top]:[-adjust.top,offset.top];if((shift.y=Math.max(props[0],props[1]))>props[0]){pos.top-=adjust.top;shift.top=FALSE}css[offset.bottom!==undefined?BOTTOM:TOP]=shift.y}}elems.tip.css(css).toggle(!(shift.x&&shift.y||newCorner.x===CENTER&&shift.y||newCorner.y===CENTER&&shift.x));pos.left-=offset.left.charAt?offset.user:horizontal!==SHIFT||shift.top||!shift.left&&!shift.top?offset.left:0;pos.top-=offset.top.charAt?offset.user:vertical!==SHIFT||shift.left||!shift.left&&!shift.top?offset.top:0;cache.left=adjust.left;cache.top=adjust.top;cache.corner=newCorner.clone()}function parseCorner(){var corner=opts.corner,posOptions=qTip.options.position,at=posOptions.at,my=posOptions.my.string?posOptions.my.string():posOptions.my;if(corner===FALSE||my===FALSE&&at===FALSE){return FALSE}else{if(corner===TRUE){self.corner=new PLUGINS.Corner(my)}else if(!corner.string){self.corner=new PLUGINS.Corner(corner);self.corner.fixed=TRUE}}cache.corner=new PLUGINS.Corner(self.corner.string());return self.corner.string()!=="centercenter"}function parseWidth(corner,side,use){side=!side?corner[corner.precedance]:side;var isTitleTop=elems.titlebar&&corner.y===TOP,elem=isTitleTop?elems.titlebar:tooltip,borderSide="border-"+side+"-width",css=function(elem){return parseInt(elem.css(borderSide),10)},val;whileVisible(function(){val=(use?css(use):css(elems.content)||css(elem)||css(tooltip))||0});return val}function parseRadius(corner){var isTitleTop=elems.titlebar&&corner.y===TOP,elem=isTitleTop?elems.titlebar:elems.content,moz=$.browser.mozilla,prefix=moz?"-moz-":$.browser.webkit?"-webkit-":"",nonStandard="border-radius-"+corner.y+corner.x,standard="border-"+corner.y+"-"+corner.x+"-radius",css=function(c){return parseInt(elem.css(c),10)||parseInt(tooltip.css(c),10)},val;whileVisible(function(){val=css(standard)||css(prefix+standard)||css(prefix+nonStandard)||css(nonStandard)||0});return val}function parseColours(actual){var i,fill,border,tip=elems.tip.css("cssText",""),corner=actual||self.corner,invalid=/rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i,borderSide="border-"+corner[corner.precedance]+"-color",bgColor="background-color",transparent="transparent",important=" !important",titlebar=elems.titlebar,useTitle=titlebar&&(corner.y===TOP||corner.y===CENTER&&tip.position().top+size.height/2+opts.offset<titlebar.outerHeight(TRUE)),colorElem=useTitle?titlebar:elems.content;function css(elem,prop,compare){var val=elem.css(prop)||transparent;if(compare&&val===elem.css(compare)){return FALSE}else{return invalid.test(val)?FALSE:val}}whileVisible(function(){color.fill=css(tip,bgColor)||css(colorElem,bgColor)||css(elems.content,bgColor)||css(tooltip,bgColor)||tip.css(bgColor);color.border=css(tip,borderSide,"color")||css(colorElem,borderSide,"color")||css(elems.content,borderSide,"color")||css(tooltip,borderSide,"color")||tooltip.css(borderSide);$("*",tip).add(tip).css("cssText",bgColor+":"+transparent+important+";border:0"+important+";")})}function calculateSize(corner){var y=corner.precedance===Y,width=size[y?WIDTH:HEIGHT],height=size[y?HEIGHT:WIDTH],isCenter=corner.string().indexOf(CENTER)>-1,base=width*(isCenter?.5:1),pow=Math.pow,round=Math.round,bigHyp,ratio,result,smallHyp=Math.sqrt(pow(base,2)+pow(height,2)),hyp=[border/base*smallHyp,border/height*smallHyp];hyp[2]=Math.sqrt(pow(hyp[0],2)-pow(border,2));hyp[3]=Math.sqrt(pow(hyp[1],2)-pow(border,2));bigHyp=smallHyp+hyp[2]+hyp[3]+(isCenter?0:hyp[0]);ratio=bigHyp/smallHyp;result=[round(ratio*height),round(ratio*width)];return{height:result[y?0:1],width:result[y?1:0]}}$.extend(self,{init:function(){var enabled=parseCorner()&&(hasCanvas||$.browser.msie);if(enabled){self.create();self.update();tooltip.unbind(namespace).bind("tooltipmove"+namespace,reposition)}return enabled},create:function(){var width=size.width,height=size.height,vml;if(elems.tip){elems.tip.remove()}elems.tip=$("<div />",{class:"ui-tooltip-tip"}).css({width:width,height:height}).prependTo(tooltip);if(hasCanvas){$("<canvas />").appendTo(elems.tip)[0].getContext("2d").save()}else{vml='<vml:shape coordorigin="0,0" style="display:inline-block; position:absolute; behavior:url(#default#VML);"></vml:shape>';elems.tip.html(vml+vml);$("*",elems.tip).bind("click mousedown",function(event){event.stopPropagation()})}},update:function(corner,position){var tip=elems.tip,inner=tip.children(),width=size.width,height=size.height,regular="px solid ",transparent="px dashed transparent",mimic=opts.mimic,round=Math.round,precedance,context,coords,translate,newSize;if(!corner){corner=cache.corner||self.corner}if(mimic===FALSE){mimic=corner}else{mimic=new PLUGINS.Corner(mimic);mimic.precedance=corner.precedance;if(mimic.x==="inherit"){mimic.x=corner.x}else if(mimic.y==="inherit"){mimic.y=corner.y}else if(mimic.x===mimic.y){mimic[corner.precedance]=corner[corner.precedance]}}precedance=mimic.precedance;if(corner.precedance===X){swapDimensions()}else{resetDimensions()}elems.tip.css({width:width=size.width,height:height=size.height});parseColours(corner);if(color.border!=="transparent"){border=parseWidth(corner,NULL);if(opts.border===0&&border>0){color.fill=color.border}self.border=border=opts.border!==TRUE?opts.border:border}else{self.border=border=0}coords=calculateTip(mimic,width,height);self.size=newSize=calculateSize(corner);tip.css(newSize);if(corner.precedance===Y){translate=[round(mimic.x===LEFT?border:mimic.x===RIGHT?newSize.width-width-border:(newSize.width-width)/2),round(mimic.y===TOP?newSize.height-height:0)]}else{translate=[round(mimic.x===LEFT?newSize.width-width:0),round(mimic.y===TOP?border:mimic.y===BOTTOM?newSize.height-height-border:(newSize.height-height)/2)]}if(hasCanvas){inner.attr(newSize);context=inner[0].getContext("2d");context.restore();context.save();context.clearRect(0,0,3e3,3e3);context.fillStyle=color.fill;context.strokeStyle=color.border;context.lineWidth=border*2;context.lineJoin="miter";context.miterLimit=100;context.translate(translate[0],translate[1]);context.beginPath();context.moveTo(coords[0][0],coords[0][1]);context.lineTo(coords[1][0],coords[1][1]);context.lineTo(coords[2][0],coords[2][1]);context.closePath();if(border){if(tooltip.css("background-clip")==="border-box"){context.strokeStyle=color.fill;context.stroke()}context.strokeStyle=color.border;context.stroke()}context.fill()}else{coords="m"+coords[0][0]+","+coords[0][1]+" l"+coords[1][0]+","+coords[1][1]+" "+coords[2][0]+","+coords[2][1]+" xe";translate[2]=border&&/^(r|b)/i.test(corner.string())?parseFloat($.browser.version,10)===8?2:1:0;inner.css({antialias:""+(mimic.string().indexOf(CENTER)>-1),left:translate[0]-translate[2]*Number(precedance===X),top:translate[1]-translate[2]*Number(precedance===Y),width:width+border,height:height+border}).each(function(i){var $this=$(this);$this[$this.prop?"prop":"attr"]({coordsize:width+border+" "+(height+border),path:coords,fillcolor:color.fill,filled:!!i,stroked:!i}).css({display:border||i?"block":"none"});if(!i&&$this.html()===""){$this.html('<vml:stroke weight="'+border*2+'px" color="'+color.border+'" miterlimit="1000" joinstyle="miter" '+' style="behavior:url(#default#VML); display:inline-block;" />')}})}if(position!==FALSE){self.position(corner)}},position:function(corner){var tip=elems.tip,position={},userOffset=Math.max(0,opts.offset),precedance,dimensions,corners;if(opts.corner===FALSE||!tip){return FALSE}corner=corner||self.corner;precedance=corner.precedance;dimensions=calculateSize(corner);corners=[corner.x,corner.y];if(precedance===X){corners.reverse()}$.each(corners,function(i,side){var b,bc,br;if(side===CENTER){b=precedance===Y?LEFT:TOP;position[b]="50%";position["margin-"+b]=-Math.round(dimensions[precedance===Y?WIDTH:HEIGHT]/2)+userOffset}else{b=parseWidth(corner,side);bc=parseWidth(corner,side,elems.content);br=parseRadius(corner);position[side]=i?bc:userOffset+(br>b?br:-b)}});position[corner[precedance]]-=dimensions[precedance===X?WIDTH:HEIGHT];tip.css({top:"",bottom:"",left:"",right:"",margin:""}).css(position);return position},destroy:function(){if(elems.tip){elems.tip.remove()}elems.tip=false;tooltip.unbind(namespace)}});self.init()}PLUGINS.tip=function(api){var self=api.plugins.tip;return"object"===typeof self?self:api.plugins.tip=new Tip(api)};PLUGINS.tip.initialize="render";PLUGINS.tip.sanitize=function(options){var style=options.style,opts;if(style&&"tip"in style){opts=options.style.tip;if(typeof opts!=="object"){options.style.tip={corner:opts}}if(!/string|boolean/i.test(typeof opts["corner"])){opts["corner"]=TRUE}if(typeof opts.width!=="number"){delete opts.width}if(typeof opts.height!=="number"){delete opts.height}if(typeof opts.border!=="number"&&opts.border!==TRUE){delete opts.border}if(typeof opts.offset!=="number"){delete opts.offset}}};$.extend(TRUE,QTIP.defaults,{style:{tip:{corner:TRUE,mimic:FALSE,width:6,height:6,border:TRUE,offset:0}}});function Modal(api){var self=this,options=api.options.show.modal,elems=api.elements,tooltip=elems.tooltip,overlaySelector="#qtip-overlay",globalNamespace=".qtipmodal",namespace=globalNamespace+api.id,attr="is-modal-qtip",docBody=$(document.body),focusableSelector=PLUGINS.modal.focusable.join(","),focusableElems={},overlay;api.checks.modal={"^show.modal.(on|blur)$":function(){self.init();elems.overlay.toggle(tooltip.is(":visible"))},"^content.text$":function(){updateFocusable()}};function updateFocusable(){focusableElems=$(focusableSelector,tooltip).not("[disabled]").map(function(){return typeof this.focus==="function"?this:null})}function focusInputs(blurElems){if(focusableElems.length<1&&blurElems.length){blurElems.not("body").blur()}else{focusableElems.first().focus()}}function stealFocus(event){var target=$(event.target),container=target.closest(".qtip"),targetOnTop;targetOnTop=container.length<1?FALSE:parseInt(container[0].style.zIndex,10)>parseInt(tooltip[0].style.zIndex,10);if(!targetOnTop&&$(event.target).closest(selector)[0]!==tooltip[0]){focusInputs(target)}}$.extend(self,{init:function(){if(!options.on){return self}overlay=self.create();tooltip.attr(attr,TRUE).css("z-index",PLUGINS.modal.zindex+$(selector+"["+attr+"]").length).unbind(globalNamespace).unbind(namespace).bind("tooltipshow"+globalNamespace+" tooltiphide"+globalNamespace,function(event,api,duration){var oEvent=event.originalEvent;if(event.target===tooltip[0]){if(oEvent&&event.type==="tooltiphide"&&/mouse(leave|enter)/.test(oEvent.type)&&$(oEvent.relatedTarget).closest(overlay[0]).length){try{event.preventDefault()}catch(e){}}else if(!oEvent||oEvent&&!oEvent.solo){self[event.type.replace("tooltip","")](event,duration)}}}).bind("tooltipfocus"+globalNamespace,function(event){if(event.isDefaultPrevented()||event.target!==tooltip[0]){return}var qtips=$(selector).filter("["+attr+"]"),newIndex=PLUGINS.modal.zindex+qtips.length,curIndex=parseInt(tooltip[0].style.zIndex,10);overlay[0].style.zIndex=newIndex-2;qtips.each(function(){if(this.style.zIndex>curIndex){this.style.zIndex-=1}});qtips.end().filter("."+focusClass).qtip("blur",event.originalEvent);tooltip.addClass(focusClass)[0].style.zIndex=newIndex;try{event.preventDefault()}catch(e){}}).bind("tooltiphide"+globalNamespace,function(event){if(event.target===tooltip[0]){$("["+attr+"]").filter(":visible").not(tooltip).last().qtip("focus",event)}});if(options.escape){$(document).unbind(namespace).bind("keydown"+namespace,function(event){if(event.keyCode===27&&tooltip.hasClass(focusClass)){api.hide(event)}})}if(options.blur){elems.overlay.unbind(namespace).bind("click"+namespace,function(event){if(tooltip.hasClass(focusClass)){api.hide(event)}})}updateFocusable();return self},create:function(){var elem=$(overlaySelector);if(elem.length){return elems.overlay=elem.insertAfter($(selector).last())}overlay=elems.overlay=$("<div />",{id:overlaySelector.substr(1),html:"<div></div>",mousedown:function(){return FALSE}}).hide().insertAfter($(selector).last());function resize(){overlay.css({height:$(window).height(),width:$(window).width()})}$(window).unbind(globalNamespace).bind("resize"+globalNamespace,resize);resize();return overlay},toggle:function(event,state,duration){if(event&&event.isDefaultPrevented()){return self}var effect=options.effect,type=state?"show":"hide",visible=overlay.is(":visible"),modals=$("["+attr+"]").filter(":visible").not(tooltip),zindex;if(!overlay){overlay=self.create()}if(overlay.is(":animated")&&visible===state||!state&&modals.length){return self}if(state){overlay.css({left:0,top:0});overlay.toggleClass("blurs",options.blur);if(options.stealfocus!==FALSE){docBody.bind("focusin"+namespace,stealFocus);focusInputs($("body :focus"))}}else{docBody.unbind("focusin"+namespace)}overlay.stop(TRUE,FALSE);if($.isFunction(effect)){effect.call(overlay,state)}else if(effect===FALSE){overlay[type]()}else{

+ overlay.fadeTo(parseInt(duration,10)||90,state?1:0,function(){if(!state){$(this).hide()}})}if(!state){overlay.queue(function(next){overlay.css({left:"",top:""});next()})}return self},show:function(event,duration){return self.toggle(event,TRUE,duration)},hide:function(event,duration){return self.toggle(event,FALSE,duration)},destroy:function(){var delBlanket=overlay;if(delBlanket){delBlanket=$("["+attr+"]").not(tooltip).length<1;if(delBlanket){elems.overlay.remove();$(document).unbind(globalNamespace)}else{elems.overlay.unbind(globalNamespace+api.id)}docBody.undelegate("*","focusin"+namespace)}return tooltip.removeAttr(attr).unbind(globalNamespace)}});self.init()}PLUGINS.modal=function(api){var self=api.plugins.modal;return"object"===typeof self?self:api.plugins.modal=new Modal(api)};PLUGINS.modal.initialize="render";PLUGINS.modal.sanitize=function(opts){if(opts.show){if(typeof opts.show.modal!=="object"){opts.show.modal={on:!!opts.show.modal}}else if(typeof opts.show.modal.on==="undefined"){opts.show.modal.on=TRUE}}};PLUGINS.modal.zindex=QTIP.zindex-200;PLUGINS.modal.focusable=["a[href]","area[href]","input","select","textarea","button","iframe","object","embed","[tabindex]","[contenteditable]"];$.extend(TRUE,QTIP.defaults,{show:{modal:{on:FALSE,effect:TRUE,blur:TRUE,stealfocus:TRUE,escape:TRUE}}});PLUGINS.viewport=function(api,position,posOptions,targetWidth,targetHeight,elemWidth,elemHeight){var target=posOptions.target,tooltip=api.elements.tooltip,my=posOptions.my,at=posOptions.at,adjust=posOptions.adjust,method=adjust.method.split(" "),methodX=method[0],methodY=method[1]||method[0],viewport=posOptions.viewport,container=posOptions.container,cache=api.cache,tip=api.plugins.tip,adjusted={left:0,top:0},fixed,newMy,newClass;if(!viewport.jquery||target[0]===window||target[0]===document.body||adjust.method==="none"){return adjusted}fixed=tooltip.css("position")==="fixed";viewport={elem:viewport,height:viewport[(viewport[0]===window?"h":"outerH")+"eight"](),width:viewport[(viewport[0]===window?"w":"outerW")+"idth"](),scrollleft:fixed?0:viewport.scrollLeft(),scrolltop:fixed?0:viewport.scrollTop(),offset:viewport.offset()||{left:0,top:0}};container={elem:container,scrollLeft:container.scrollLeft(),scrollTop:container.scrollTop(),offset:container.offset()||{left:0,top:0}};function calculate(side,otherSide,type,adjust,side1,side2,lengthName,targetLength,elemLength){var initialPos=position[side1],mySide=my[side],atSide=at[side],isShift=type===SHIFT,viewportScroll=-container.offset[side1]+viewport.offset[side1]+viewport["scroll"+side1],myLength=mySide===side1?elemLength:mySide===side2?-elemLength:-elemLength/2,atLength=atSide===side1?targetLength:atSide===side2?-targetLength:-targetLength/2,tipLength=tip&&tip.size?tip.size[lengthName]||0:0,tipAdjust=tip&&tip.corner&&tip.corner.precedance===side&&!isShift?tipLength:0,overflow1=viewportScroll-initialPos+tipAdjust,overflow2=initialPos+elemLength-viewport[lengthName]-viewportScroll+tipAdjust,offset=myLength-(my.precedance===side||mySide===my[otherSide]?atLength:0)-(atSide===CENTER?targetLength/2:0);if(isShift){tipAdjust=tip&&tip.corner&&tip.corner.precedance===otherSide?tipLength:0;offset=(mySide===side1?1:-1)*myLength-tipAdjust;position[side1]+=overflow1>0?overflow1:overflow2>0?-overflow2:0;position[side1]=Math.max(-container.offset[side1]+viewport.offset[side1]+(tipAdjust&&tip.corner[side]===CENTER?tip.offset:0),initialPos-offset,Math.min(Math.max(-container.offset[side1]+viewport.offset[side1]+viewport[lengthName],initialPos+offset),position[side1]))}else{adjust*=type===FLIPINVERT?2:0;if(overflow1>0&&(mySide!==side1||overflow2>0)){position[side1]-=offset+adjust;newMy["invert"+side](side1)}else if(overflow2>0&&(mySide!==side2||overflow1>0)){position[side1]-=(mySide===CENTER?-offset:offset)+adjust;newMy["invert"+side](side2)}if(position[side1]<viewportScroll&&-position[side1]>overflow2){position[side1]=initialPos;newMy=my.clone()}}return position[side1]-initialPos}if(methodX!=="shift"||methodY!=="shift"){newMy=my.clone()}adjusted={left:methodX!=="none"?calculate(X,Y,methodX,adjust.x,LEFT,RIGHT,WIDTH,targetWidth,elemWidth):0,top:methodY!=="none"?calculate(Y,X,methodY,adjust.y,TOP,BOTTOM,HEIGHT,targetHeight,elemHeight):0};if(newMy&&cache.lastClass!==(newClass=uitooltip+"-pos-"+newMy.abbrev())){tooltip.removeClass(api.cache.lastClass).addClass(api.cache.lastClass=newClass)}return adjusted};PLUGINS.imagemap=function(api,area,corner,adjustMethod){if(!area.jquery){area=$(area)}var cache=api.cache.areas={},shape=(area[0].shape||area.attr("shape")).toLowerCase(),coordsString=area[0].coords||area.attr("coords"),baseCoords=coordsString.split(","),coords=[],image=$('img[usemap="#'+area.parent("map").attr("name")+'"]'),imageOffset=image.offset(),result={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10}},i=0,next=0,dimensions;function polyCoordinates(result,coords,corner){var i=0,compareX=1,compareY=1,realX=0,realY=0,newWidth=result.width,newHeight=result.height;while(newWidth>0&&newHeight>0&&compareX>0&&compareY>0){newWidth=Math.floor(newWidth/2);newHeight=Math.floor(newHeight/2);if(corner.x===LEFT){compareX=newWidth}else if(corner.x===RIGHT){compareX=result.width-newWidth}else{compareX+=Math.floor(newWidth/2)}if(corner.y===TOP){compareY=newHeight}else if(corner.y===BOTTOM){compareY=result.height-newHeight}else{compareY+=Math.floor(newHeight/2)}i=coords.length;while(i--){if(coords.length<2){break}realX=coords[i][0]-result.position.left;realY=coords[i][1]-result.position.top;if(corner.x===LEFT&&realX>=compareX||corner.x===RIGHT&&realX<=compareX||corner.x===CENTER&&(realX<compareX||realX>result.width-compareX)||corner.y===TOP&&realY>=compareY||corner.y===BOTTOM&&realY<=compareY||corner.y===CENTER&&(realY<compareY||realY>result.height-compareY)){coords.splice(i,1)}}}return{left:coords[0][0],top:coords[0][1]}}imageOffset.left+=Math.ceil((image.outerWidth()-image.width())/2);imageOffset.top+=Math.ceil((image.outerHeight()-image.height())/2);if(shape==="poly"){i=baseCoords.length;while(i--){next=[parseInt(baseCoords[--i],10),parseInt(baseCoords[i+1],10)];if(next[0]>result.position.right){result.position.right=next[0]}if(next[0]<result.position.left){result.position.left=next[0]}if(next[1]>result.position.bottom){result.position.bottom=next[1]}if(next[1]<result.position.top){result.position.top=next[1]}coords.push(next)}}else{i=-1;while(i++<baseCoords.length){coords.push(parseInt(baseCoords[i],10))}}switch(shape){case"rect":result={width:Math.abs(coords[2]-coords[0]),height:Math.abs(coords[3]-coords[1]),position:{left:Math.min(coords[0],coords[2]),top:Math.min(coords[1],coords[3])}};break;case"circle":result={width:coords[2]+2,height:coords[2]+2,position:{left:coords[0],top:coords[1]}};break;case"poly":result.width=Math.abs(result.position.right-result.position.left);result.height=Math.abs(result.position.bottom-result.position.top);if(corner.abbrev()==="c"){result.position={left:result.position.left+result.width/2,top:result.position.top+result.height/2}}else{if(!cache[corner+coordsString]){result.position=polyCoordinates(result,coords.slice(),corner);if(adjustMethod&&(adjustMethod[0]==="flip"||adjustMethod[1]==="flip")){result.offset=polyCoordinates(result,coords.slice(),{x:corner.x===LEFT?RIGHT:corner.x===RIGHT?LEFT:CENTER,y:corner.y===TOP?BOTTOM:corner.y===BOTTOM?TOP:CENTER});result.offset.left-=result.position.left;result.offset.top-=result.position.top}cache[corner+coordsString]=result}result=cache[corner+coordsString]}result.width=result.height=0;break}result.position.left+=imageOffset.left;result.position.top+=imageOffset.top;return result};function BGIFrame(api){var self=this,elems=api.elements,tooltip=elems.tooltip,namespace=".bgiframe-"+api.id;$.extend(self,{init:function(){elems.bgiframe=$('<iframe class="ui-tooltip-bgiframe" frameborder="0" tabindex="-1" src="javascript:\'\';" '+' style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=0); '+'-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";"></iframe>');elems.bgiframe.appendTo(tooltip);tooltip.bind("tooltipmove"+namespace,self.adjust)},adjust:function(){var dimensions=api.get("dimensions"),plugin=api.plugins.tip,tip=elems.tip,tipAdjust,offset;offset=parseInt(tooltip.css("border-left-width"),10)||0;offset={left:-offset,top:-offset};if(plugin&&tip){tipAdjust=plugin.corner.precedance==="x"?["width","left"]:["height","top"];offset[tipAdjust[1]]-=tip[tipAdjust[0]]()}elems.bgiframe.css(offset).css(dimensions)},destroy:function(){elems.bgiframe.remove();tooltip.unbind(namespace)}});self.init()}PLUGINS.bgiframe=function(api){var browser=$.browser,self=api.plugins.bgiframe;if($("select, object").length<1||!(browser.msie&&(""+browser.version).charAt(0)==="6")){return FALSE}return"object"===typeof self?self:api.plugins.bgiframe=new BGIFrame(api)};PLUGINS.bgiframe.initialize="render"})})(window,document);(function($){$.extend({metadata:{defaults:{type:"class",name:"metadata",cre:/({.*})/,single:"metadata"},setType:function(type,name){this.defaults.type=type;this.defaults.name=name},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single="metadata";var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)data=m[1]}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return undefined;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML)}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr}if(data.indexOf("{")<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts)}})(jQuery); 

\ No newline at end of file

file modified
+1 -1
@@ -71,7 +71,7 @@ 

                      buginfo['needinfo'] = True

                      try:

                          needinfos.append(flag['requestee'])

-                     except KeyError, e:

+                     except KeyError as e:

                          pass

              buginfo['needinfo_requestee'] = ', '.join(needinfos)

  

@@ -25,7 +25,7 @@ 

  import bugzilla

  import logging

  import datetime

- from xmlrpclib import Fault

+ from xmlrpc.client import Fault

  

  base_query = {'o1': 'anywords',

              'f1': 'blocked',
@@ -169,7 +169,7 @@ 

          # get bug data, will raise XMLRPC fault if the bug does not exist

          try:

              self.bugdata = self.bz.getbug(self.bugid)

-         except Fault, e:

+         except Fault as e:

              if e.faultCode == 101:

                  raise BZInterfaceError(e.faultString)

              else:
@@ -197,7 +197,7 @@ 

          self.log.info('comment: %s' % comment)

          try:

              self._do_proposal(tracker_bugs, self.bugid, ' '.join(comment), self.bz_user)

-         except Fault, e:

+         except Fault as e:

              if e.faultCode == 51:

                  # bugzilla account does not exist, this should happen very rarely, if ever

                  # so just redo the call with nothing to add to cc

file modified
+2 -2
@@ -20,13 +20,13 @@ 

  # Authors:

  #   Martin Krizek <mkrizek@redhat.com>

  

- import bunch

+ import munch

  from flask import g, request, redirect

  

  

  class FakeFas(object):

      fake_user_groups = ['qa-admin']

-     fake_user = bunch.Bunch(username='developer',

+     fake_user = munch.Munch(username='developer',

                              groups=fake_user_groups)

  

      def __init__(self, app):

@@ -120,14 +120,11 @@ 

          )

          try:

              result = self.bodhi_interface.query(**queries_data)

-         except bodhi.BodhiClientException, e:

+         except bodhi.BodhiClientException as e:

              # ignore invalid release error so it doesn't blow up when

              # bug trackers for a release not present in bodhi are added

-             if 'Invalid release' in e.message:

-                 self.log.exception(e)

-                 return []

-             else:

-                 raise

+             self.log.exception(e)

+             return []

This now suppresses all Bodhi errors, not just non-existent releases. Why?

  

          if u'status' in result.keys():

              raise ServerError('', 200, result['errors'][0].description)
@@ -159,7 +156,7 @@ 

          self.log.debug('searching for updates for bugs %s' % str(bugs_ids))

          try:

              updates = self.search_updates(bugs_ids, release.number)

-         except ServerError, ex:

+         except ServerError as ex:

              self.log.error(

                  'f{r.number} sync updates failed: {e.code} {e.msg}'.format(

                      e=ex, r=release))

file modified
+4 -4
@@ -2,15 +2,15 @@ 

  # this is a simple script to aid in the setup of a new db

  

  # generate config

- # python blockerbugs/cli.py generate_config -d 'sqlite:////var/tmp/blockerbugs_db.sqlite'

+ python3 run_cli.py generate_config -d 'sqlite:////var/tmp/blockerbugs_db.sqlite'

  

  # init db

- python run_cli.py init_db

+ python3 run_cli.py init_db

  

  # add releases

- python run_cli.py add_release -r 29

+ python3 run_cli.py add_release -r 29

  

  # add milestones

- python run_cli.py add_milestone -r 29 -m beta -b 1517011 -a 1517012

+ python3 run_cli.py add_milestone -r 29 -m beta -b 1517011 -a 1517012

  # python run_cli.py add_milestone -r 29 -m final -b 1277289 -a 1277290

  

file modified
+1 -1
@@ -31,4 +31,4 @@ 

      if not (os.getenv('TEST') == 'true' or os.getenv('PROD') == 'true'):

          os.environ['DEV'] = 'true'

  

-     blockerbugs.app.run(debug=True)

+     blockerbugs.app.run(debug=False)

Why is this changed?

file modified
+2 -161
@@ -1,16 +1,15 @@ 

  from datetime import datetime

  import json

- import httplib

+ import http.client as httplib

  

  from mock import patch

  

  from blockerbugs import db

  from blockerbugs import app

- from blockerbugs.models.spin import Spin, SpinState, SpinType

  from blockerbugs.models.build import Build

  from blockerbugs.models.userinfo import UserInfo

  from testing.test_controllers import add_release, add_milestone, \

-     add_bug, add_spin, add_update

+     add_bug, add_update

  from blockerbugs.controllers.api import errors

  

  
@@ -41,19 +40,10 @@ 

          cls.update_testing2 = add_update(u'test-testing2.fc99', u'testing',

                                           [bug2],

                                           cls.release, [cls.milestone])

-         cls.spin2 = add_spin('test-spin2', SpinType.TC, [],

-                              cls.milestone, state=SpinState.requested)

  

          build = Build()

          build.koji_id = 33

          build.nvr = 'libofx-0.9.9-1.fc20'

-         cls.spin1 = add_spin('test-spin1', SpinType.TC,

-                              [cls.update_pending_stable],

-                              cls.milestone, state=SpinState.requested)

-         cls.spin1.builds = [build]

-         cls.spin1.date_requested = datetime(1990, 1, 1)

-         cls.spin1.succeeds = cls.spin2

-         cls.spin2.date_requested = datetime(2000, 1, 1)

          cls.api_user = UserInfo('api_user')

          passwd = cls.api_user.generate_api_key()

          cls.headers = {'X-Auth-User': 'api_user', 'X-Auth-Key': passwd}
@@ -133,102 +123,6 @@ 

          update = data[0]

          assert update['title'] == u'test-testing2.fc99'

  

-     def test_list_spins(self):

-         url = '/api/v0/milestones/99/final/spins'

-         resp = self.client.get(url)

-         assert resp.status_code == httplib.OK

-         data = json.loads(resp.data)

-         assert len(data) == 2

-         spin = Spin.query.filter_by(name='test-spin1').first()

-         resp_spin = data[1]

-         assert resp_spin['name'] == spin.name

-         assert resp_spin['id'] == spin.id

-         assert resp_spin['state'] == spin.state.value

-         assert resp_spin['url'] == spin.url

-         assert resp_spin['date_requested'] == datetime(1990, 1, 1).isoformat()

-         assert resp_spin['date_created'] is None

-         assert resp_spin['spin_type'] == spin.spin_type.value

-         assert len(resp_spin['updates']) == 1

-         assert {'title': u'test-pending-stable.fc99',

-                 'status': u'stable',

-                 'url': u'http://localhost/update'} in resp_spin['updates']

-         succeeded = Spin.query.filter_by(name='test-spin2').first()

-         assert resp_spin['succeeds']['name'] == succeeded.name

-         assert resp_spin['succeeds']['id'] == succeeded.id

-         assert {'version': 'final', 'release': 99} == resp_spin['milestone']

- 

-     def test_basic_create_spins(self):

-         url = '/api/v0/milestones/99/final/spins'

-         test_spin_data = {

-             'name': 'create_spin_test1',

-             'spin_type': 'TC',

-             'updates': ['test-pending-stable.fc99'],

-         }

-         with patch('blockerbugs.models.spin.datetime') as mock_date:

-             mock_date.utcnow.return_value = datetime(1990, 1, 1)

-             mock_date.side_effect = lambda *args, **kw: datetime(*args, **kw)

-             resp = self.client.post(url,

-                                     data=json.dumps(test_spin_data),

-                                     content_type='application/json',

-                                     headers=self.headers)

-         assert resp.status_code == httplib.CREATED

-         assert 'Location' in resp.headers

-         spin = Spin.query.filter_by(name='create_spin_test1').first()

-         assert spin.name == 'create_spin_test1'

-         assert spin.state == SpinState.requested

-         assert spin.url is None

-         assert spin.spin_type == SpinType.TC

-         assert len(spin.updates) == 1

-         assert spin.updates[0].title == 'test-pending-stable.fc99'

-         assert spin.succeeds is None

-         assert spin.milestone.version == 'final'

-         assert spin.milestone.release.number == 99

-         assert spin.date_requested == datetime(1990, 1, 1)

- 

-     def test_create_spin_fails_unknown_update_title(self):

-         url = '/api/v0/milestones/99/final/spins'

-         test_spin_data = {

-             'name': 'create_spin_test1',

-             'spin_type': 'TC',

-             'updates': ['test-pending-stable.fc99', 'unknown'],

-         }

-         resp = self.client.post(url,

-                                 data=json.dumps(test_spin_data),

-                                 content_type='application/json',

-                                 headers=self.headers)

-         assert resp.status_code == httplib.NOT_FOUND

-         error = json.loads(resp.data)['error']

-         assert error['code'] == errors.NoSuchObjectError.code

-         assert 'Update' in error['message']

- 

-     def test_invalid_spin_name(self):

-         url = '/api/v0/milestones/99/final/spins'

-         test_spin_data = {

-             'name': 123,

-             'spin_type': 'create_test1',

-             'updates': ['test-pending-stable.fc99', 'unknown'],

-             'succeeds': []

-         }

-         resp = self.client.post(url,

-                                 data=json.dumps(test_spin_data),

-                                 content_type='application/json',

-                                 headers=self.headers)

-         assert resp.status_code == httplib.BAD_REQUEST

-         error = json.loads(resp.data)['error']

-         assert error['code'] == errors.ValidationError.code

-         assert 'name' in error['message']

- 

-     def test_malformed_spin_data_request(self):

-         url = '/api/v0/milestones/99/final/spins'

-         test_spin_data = "{'name'= 123}"

-         resp = self.client.post(url,

-                                 data=test_spin_data,

-                                 content_type='application/json',

-                                 headers=self.headers)

-         assert resp.status_code == httplib.BAD_REQUEST

-         error = json.loads(resp.data)['error']

-         assert error['code'] == 1003

- 

      def test_bad_bugtype_list_bugs(self):

          url = '/api/v0/milestones/99/final/updates?bugtype=foo&'

          resp = self.client.get(url)
@@ -237,59 +131,6 @@ 

          assert error['code'] == errors.InvalidArgumentError.code

          assert 'bugtype' in error['message']

  

-     def test_get_specific_spin_info(self):

-         spin = Spin.query.filter_by(name='test-spin1').first()

-         url = '/api/v0/milestones/99/final/spins/%d' % (spin.id)

-         resp = self.client.get(url)

-         assert resp.status_code == httplib.OK

-         resp_spin = json.loads(resp.data)

-         assert resp_spin['name'] == spin.name

-         assert resp_spin['id'] == spin.id

-         assert resp_spin['state'] == spin.state.value

-         assert resp_spin['url'] == spin.url

-         assert resp_spin['date_requested'] == datetime(1990, 1, 1).isoformat()

-         assert resp_spin['date_created'] is None

-         assert resp_spin['spin_type'] == spin.spin_type.value

-         assert len(resp_spin['builds']) == 1

-         build = resp_spin['builds'][0]

-         assert build['id'] == spin.builds[0].koji_id

-         assert build['nvr'] == spin.builds[0].nvr

-         assert build['epoch'] == spin.builds[0].epoch

- 

-     def test_update_spin_created_date(self):

-         spin_id = Spin.query.filter_by(name='test-spin2').first().id

-         url = '/api/v0/milestones/99/final/spins/%d' % (spin_id)

-         date_created = datetime(1991, 1, 1)

-         update_data = {'date_created': date_created.isoformat(), }

-         resp = self.client.put(url, data=json.dumps(update_data),

-                                content_type='application/json',

-                                headers=self.headers)

-         assert resp.status_code == httplib.OK

-         updated_spin = Spin.query.get(spin_id)

-         assert updated_spin.date_created == date_created

- 

-     def test_update_spin_invalid_created_date(self):

-         spin_id = Spin.query.filter_by(name='test-spin2').first().id

-         url = '/api/v0/milestones/99/final/spins/%d' % (spin_id)

-         date_created = 'invalid'

-         update_data = {'date_created': date_created, }

-         resp = self.client.put(url, data=json.dumps(update_data),

-                                content_type='application/json',

-                                headers=self.headers)

-         assert resp.status_code == httplib.BAD_REQUEST

-         error = json.loads(resp.data)['error']

-         assert error['code'] == errors.ValidationError.code

- 

-     def test_update_spin_auth_failed(self):

-         spin_id = Spin.query.filter_by(name='test-spin2').first().id

-         url = '/api/v0/milestones/99/final/spins/%d' % (spin_id)

-         update_data = {'date_created': 'foo', }

-         resp = self.client.put(url, data=json.dumps(update_data),

-                                content_type='application/json')

-         assert resp.status_code == httplib.FORBIDDEN

-         error = json.loads(resp.data)['error']

-         assert error['code'] == errors.AuthFailedError.code

- 

      def test_get_current_milestone(self):

          url = '/api/v0/milestones/current'

          resp = self.client.get(url)

file modified
+3 -4
@@ -1,6 +1,5 @@ 

- from dingus import Dingus, exception_raiser

  from datetime import datetime

- from xmlrpclib import Fault

+ from xmlrpc.client import Fault

  import pytest

  

  from blockerbugs.util.bz_interface import BlockerProposal, BZInterfaceError
@@ -10,7 +9,7 @@ 

                          'id': 806497,

                          'last_change_time': datetime.utcnow()}]}

  

- 

+ """

I hope this is just an omission and not a "fix" :-)

Yeah, converting dingus tests is still on TODO :)

  class TestProposeBlocker:

      def setup_method(self, method):

          self.ref_trackers = {'blocker': 123456, 'fe': 234567}
@@ -229,4 +228,4 @@ 

              test_bz.check_proposed_bug()

  

          assert excinfo.value.msg == 'bug does not exist'

- 

+ """

@@ -1,10 +1,10 @@ 

- from bunch import Bunch

+ from munch import Munch

  from copy import deepcopy

  from blockerbugs.util.bug_sync import BugSync

  from mock import MagicMock

  import datetime

  

- basicbug = Bunch({'bug_id': 123456,

+ basicbug = Munch({'bug_id': 123456,

                    'weburl': 'https://bugzilla.redhat.com/show_bug.cgi?id=123456',

                    'component': 'randomcomponent',

                    'status': 'NEW',

file modified
+10 -44
@@ -5,7 +5,6 @@ 

  from blockerbugs.models.bug import Bug

  from blockerbugs.models.update import Update

  from blockerbugs.models.criterion import Criterion

- from blockerbugs.models.spin import Spin, SpinState, SpinType

  from blockerbugs import db

  from blockerbugs import app

  from blockerbugs.controllers import main
@@ -26,19 +25,6 @@ 

      db.session.commit()

      return test_milestone

  

- 

- def add_spin(name, spin_type, updates, milestone, state=SpinState.built):

-     test_spin = Spin()

-     test_spin.name = name

-     test_spin.spin_type = spin_type

-     test_spin.updates = updates

-     test_spin.milestone = milestone

-     test_spin.state = state

-     db.session.add(test_spin)

-     db.session.commit()

-     return test_spin

- 

- 

  def add_bug(bugid, summary, milestone):

      test_bug = Bug(bugid,

                     'https://bugzilla.redhat.com/show_bug.cgi?id=%d' % bugid,
@@ -89,7 +75,6 @@ 

          final_milestone = add_milestone(release, 'final', 100, 101,

                                          '99-final', True)

          add_milestone(release, 'beta', 200, 201, '99-beta')

-         add_spin('test-spin1', SpinType.smoke, [], final_milestone)

  

      @classmethod

      def teardown_class(cls):
@@ -99,9 +84,8 @@ 

      def test_not_synced_index(self):

          rv = self.client.get('/')

          assert rv.status_code == 200

-         assert 'Fedora 99 final' in rv.data

-         assert 'Fedora 99 beta' not in rv.data

-         assert 'test-spin1' in rv.data

+         assert b'Fedora 99 final' in rv.data

+         assert b'Fedora 99 beta' not in rv.data

Would it be easier to make the test client return data as a string, instead of bytes? Should it even return bytes, instead of string? Is it a bug? I don't know, just asking.

  

      def test_display_buglist_returns_200code(self):

          rv = self.client.get('milestone/99/final/buglist')
@@ -119,14 +103,6 @@ 

          rv = self.client.get('milestone/99/final/info')

          assert rv.status_code == 200

  

-     def test_display_stats_returns_200code(self):

-         rv = self.client.get('milestone/99/final/spins')

-         assert rv.status_code == 200

- 

-     def test_display_spins_returns_200code(self):

-         rv = self.client.get('milestone/99/final/spins')

-         assert rv.status_code == 200

- 

  

  class TestSyncedMilestone(object):

      @classmethod
@@ -139,8 +115,6 @@ 

          final_milestone = add_milestone(release, 'final', 100, 101,

                                          '99-final', True)

          add_milestone(release, 'beta', 200, 201, '99-beta')

-         add_spin('test-spin1', SpinType.smoke, [], final_milestone,

-                  SpinState.built)

          add_bug(9000, 'testbug1', final_milestone)

          add_bug(9001, 'testbug2', final_milestone)

          final_milestone.last_bug_sync = datetime.datetime.utcnow()
@@ -154,9 +128,8 @@ 

      def test_display_index(self):

          rv = self.client.get('/')

          assert rv.status_code == 200

-         assert 'Fedora 99 final' in rv.data

-         assert 'Fedora 99 beta' not in rv.data

-         assert 'test-spin1' in rv.data

+         assert b'Fedora 99 final' in rv.data

+         assert b'Fedora 99 beta' not in rv.data

  

      def test_display_milestone_redirect(self):

          rv = self.client.get('milestone/99/final')
@@ -165,8 +138,8 @@ 

      def test_display_buglist(self):

          rv = self.client.get('milestone/99/final/buglist')

          assert rv.status_code == 200

-         assert '9000' in rv.data

-         assert 'testbug2' in rv.data

+         assert b'9000' in rv.data

+         assert b'testbug2' in rv.data

  

      def test_display_updates_returns_200code(self):

          rv = self.client.get('milestone/99/final/updates')
@@ -175,19 +148,14 @@ 

      def test_display_irc_blockers(self):

          rv = self.client.get('milestone/99/final/irc')

          assert rv.status_code == 200

-         assert '9000' in rv.data

-         assert 'testbug2' in rv.data

- 

-     def test_display_spins(self):

-         rv = self.client.get('milestone/99/final/spins')

-         assert rv.status_code == 200

-         assert 'test-spin1' in rv.data

+         assert b'9000' in rv.data

+         assert b'testbug2' in rv.data

  

      def test_display_info(self):

          rv = self.client.get('milestone/99/final/info')

          assert rv.status_code == 200

-         assert '100' in rv.data

-         assert '101' in rv.data

+         assert b'100' in rv.data

+         assert b'101' in rv.data

  

      def test_display_stats_returns_200code(self):

          rv = self.client.get('milestone/99/final/stats')
@@ -204,8 +172,6 @@ 

          cls.milestone = add_milestone(cls.release, 'final', 100, 101,

                                          '99-final', True)

          add_milestone(cls.release, 'beta', 200, 201, '99-beta')

-         add_spin('test-spin1', SpinType.TC, [], cls.milestone,

-                  state=SpinState.built)

          bug1 = add_bug(9000, 'testbug1', cls.milestone)

          bug2 = add_bug(9001, 'testbug2', cls.milestone)

          bug2.accepted_blocker = False

@@ -1,83 +0,0 @@ 

- from datetime import datetime

- 

- from mock import patch

- import pytest

- 

- from blockerbugs import db

- from blockerbugs.models.spin import Spin, SpinState, SpinType

- from testing.test_controllers import add_release, add_milestone, \

-     add_bug, add_spin

- 

- 

- class TestSpinModel(object):

-     @classmethod

-     def setup_class(cls):

-         cls.mocked_date = datetime(1990, 1, 1)

-         patcher_config = {'utcnow.return_value': cls.mocked_date,

-                           'side_effect': lambda *args, **kw: datetime(*args, **kw)}

-         cls.patcher = patch('blockerbugs.models.spin.datetime', **patcher_config)

-         cls.patcher.start()

-         db.session.rollback()

-         db.drop_all()

-         db.create_all()

-         cls.release = add_release(99)

-         cls.milestone = add_milestone(cls.release, 'final', 100, 101,

-                                        '99-final', True)

- 

-     @classmethod

-     def teardown_class(cls):

-         cls.patcher.stop()

-         db.session.rollback()

-         db.drop_all()

- 

-     def test_set_date_requested_default(self):

-         spin = add_spin('test-spin', SpinType.TC, [],

-                          self.milestone, state=SpinState.obsolete)

-         assert spin.date_requested is not None

- 

-     def test_set_date_requested_then_state_requested(self):

-         spin = add_spin('test-spin', SpinType.TC, [],

-                         self.milestone, state=SpinState.obsolete)

-         spin.date_requested = datetime(2001, 1, 1)

-         spin.state = SpinState.requested

-         assert spin.date_requested == self.mocked_date

- 

-     def test_set_date_created_is_none_and_state_built(self):

-         spin = add_spin('test-spin', SpinType.TC, [],

-                         self.milestone, state=SpinState.obsolete)

-         assert spin.date_created is None

-         spin.state = SpinState.built

-         assert spin.date_created == self.mocked_date

- 

-     def test_state_built_and_date_created_is_not_null(self):

-         spin = add_spin('test-spin', SpinType.TC, [],

-                         self.milestone, state=SpinState.obsolete)

-         dt = datetime(2001, 1, 1)

-         spin.date_created = dt

-         spin.state = SpinState.built

-         assert spin.date_created == dt

- 

-     def test_spin_state_from_string(self):

-         spin = add_spin('test-spin', SpinType.TC, [],

-                         self.milestone, state=SpinState.obsolete)

-         spin.state = 'built'

-         assert SpinState.built == spin.state

- 

-     def test_spin_type_from_string(self):

-         spin = add_spin('test-spin', SpinType.TC, [],

-                         self.milestone, state=SpinState.obsolete)

-         spin.spin_type = 'RC'

-         assert spin.spin_type == SpinType.RC

- 

-     def test_state_from_bad_string(self):

-         spin = add_spin('test-spin', SpinType.TC, [],

-                         self.milestone, state=SpinState.obsolete)

-         with pytest.raises(ValueError):

-             spin.state = 'foo'

- 

- 

-     def test_spin_type_from_bad_string(self):

-         spin = add_spin('test-spin', SpinType.TC, [],

-                         self.milestone, state=SpinState.obsolete)

-         with pytest.raises(ValueError):

-             spin.spin_type = 'foo'

@@ -1,11 +1,11 @@ 

- from bunch import Bunch

+ from munch import Munch

  from copy import deepcopy

  from blockerbugs.util.update_sync import UpdateSync

  from mock import MagicMock

  from datetime import datetime

  

  

- basicupdate = Bunch(

+ basicupdate = Munch(

      approved=None,

      close_bugs=True,

      critpath=False,
@@ -22,10 +22,10 @@ 

      unstable_karma=-3,

      updateid=u'FEDORA-2012-13902',

      url=u'https://bodhi.stg.fedoraproject.org/FEDORA-2012-13902',

-     bugs=[Bunch(bug_id=856836, parent=False, security=False,

+     bugs=[Munch(bug_id=856836, parent=False, security=False,

                  title=u'/etc/fstab is not written correctly after live install (F18 Alpha RC2+)')],

-     builds=[Bunch(nvr=u'anaconda-18.6.8-1.fc18',

-                   package=Bunch(

+     builds=[Munch(nvr=u'anaconda-18.6.8-1.fc18',

+                   package=Munch(

                        committers=[u'anaconda-maint', u'dlehman', u'jkeating',

                                    u'bcl', u'clumens', u'rvykydal', u'akozumpl',

                                    u'pjones',
@@ -34,44 +34,44 @@ 

                        name=u'anaconda',

                        suggest_reboot=False))],

      comments=[

-         Bunch(anonymous=False, author=u'bodhi', group=None,

+         Munch(anonymous=False, author=u'bodhi', group=None,

                karma=0,

                text=u'This update has been submitted for testing by bcl. ',

                timestamp=u'2012-09-12 23:43:24',

                update_title=u'anaconda-18.6.8-1.fc18'),

-         Bunch(anonymous=False, author=u'autoqa', group=None,

+         Munch(anonymous=False, author=u'autoqa', group=None,

                karma=0,

                text=u'AutoQA: depcheck test PASSED on x86_64. Result log:\nhttp://autoqa.fedoraproject.org/report/em84 (results are informative only)',

                timestamp=u'2012-09-13 00:14:41',

                update_title=u'anaconda-18.6.8-1.fc18'),

-         Bunch(anonymous=False, author=u'autoqa', group=None,

+         Munch(anonymous=False, author=u'autoqa', group=None,

                karma=0,

                text=u'AutoQA: depcheck test PASSED on i386. Result log:\nhttp://autoqa.fedoraproject.org/report/emcl (results are informative only)',

                timestamp=u'2012-09-13 00:30:53',

                update_title=u'anaconda-18.6.8-1.fc18'),

-         Bunch(anonymous=False, author=u'jkeating',

+         Munch(anonymous=False, author=u'jkeating',

                group=u'proventesters', karma=1,

                text=u'While I did not test the above bug, I have tested anaconda in a number of other\nscenarios and it performs as expected.',

                timestamp=u'2012-09-13 06:27:03',

                update_title=u'anaconda-18.6.8-1.fc18'),

-         Bunch(anonymous=False, author=u'bodhi', group=None,

+         Munch(anonymous=False, author=u'bodhi', group=None,

                karma=0,

                text=u'This update is currently being pushed to the Fedora 18 testing updates repository.',

                timestamp=u'2012-09-13 15:58:32',

                update_title=u'anaconda-18.6.8-1.fc18'),

-         Bunch(anonymous=False, author=u'bodhi', group=None,

+         Munch(anonymous=False, author=u'bodhi', group=None,

                karma=0,

                text=u'This update has been pushed to testing',

                timestamp=u'2012-09-13 16:44:30',

                update_title=u'anaconda-18.6.8-1.fc18')],

-     nagged=Bunch(

+     nagged=Munch(

          test_cases=[

              u'QA:Testcase Anaconda autopart install',

              u'QA:Testcase Anaconda User Interface Graphical',

              u'QA:Testcase Boot Methods Pxeboot',

              u'QA:Testcase install repository Live Image',

          ]),

-     release=Bunch(dist_tag=u'f18', id_prefix=u'FEDORA',

+     release=Munch(dist_tag=u'f18', id_prefix=u'FEDORA',

                    locked=True,

                    long_name=u'Fedora 18', name=u'F18')

  )
@@ -179,7 +179,7 @@ 

          assert updateinfo['date_pushed_stable'] == None

  

      def test_extract_bug_single(self):

-         ref_bugs = [Bunch(bug_id=123456, parent=False, security=False,

+         ref_bugs = [Munch(bug_id=123456, parent=False, security=False,

              title=u'First wonderful test bug')

           ]

          self.testupdate.bugs = ref_bugs
@@ -191,11 +191,11 @@ 

  

      def test_extract_bug_multiple(self):

          ref_bugs = [

-             Bunch(bug_id=123456, parent=False, security=False,

+             Munch(bug_id=123456, parent=False, security=False,

                    title=u'First wonderful test bug'),

-             Bunch(bug_id=234567, parent=False, security=False,

+             Munch(bug_id=234567, parent=False, security=False,

                    title=u'Second wonderful test bug'),

-             Bunch(bug_id=345678, parent=False, security=False,

+             Munch(bug_id=345678, parent=False, security=False,

                    title=u'Third wonderful test bug'),

          ]

          self.testupdate.bugs = ref_bugs

file modified
+3 -3
@@ -76,19 +76,19 @@ 

          invalid_data = 'abc'

          try:

              int_validator(invalid_data)

-         except ValidationError, e:

+         except ValidationError as e:

              assert 'test' in str(e)

          dict_validator = validators.DictValidator({

              'test_name': validators.ConstValidator('333')

          })

          try:

              dict_validator({})

-         except ValidationError, e:

+         except ValidationError as e:

              assert 'test_name' in str(e)

          str_validator = validators.StringValidator()

          try:

              str_validator({})

-         except ValidationError, e:

+         except ValidationError as e:

              assert str_validator.default_name in str(e)

  

      def test_choices(self):

@@ -5,7 +5,6 @@ 

  from blockerbugs.models.bug import Bug

  from blockerbugs.models.update import Update

  from blockerbugs.models.criterion import Criterion

- from blockerbugs.models.spin import Spin, SpinType

  from blockerbugs import db

  

  
@@ -176,37 +175,3 @@ 

          assert criterion.number == ref_number

          assert criterion.current == ref_current

          assert criterion.milestone == self.ref_milestone

- 

- 

-     def test_add_spin(self):

-         ref_bugs = [generate_bug(123456, 'testbug1', self.ref_milestone),

-                     generate_bug(234567, 'testbug2', self.ref_milestone)]

- 

-         ref_updates = [generate_update('test-1.0-1.fc99', 'PENDING_STABLE',

-                                        ref_bugs, self.ref_release,

-                                        [self.ref_milestone])]

- 

-         db.session.add(self.ref_release)

-         db.session.add(self.ref_milestone)

-         db.session.add(ref_bugs[0])

-         db.session.add(ref_bugs[1])

-         db.session.add(ref_updates[0])

-         db.session.commit()

- 

-         ref_name = 'test-spin1'

- 

-         test_spin = Spin()

-         test_spin.name = ref_name

-         test_spin.spin_type = SpinType.smoke

-         test_spin.updates = ref_updates

-         test_spin.milestone = self.ref_milestone

-         db.session.add(test_spin)

-         db.session.commit()

- 

-         spins = Spin.query.filter_by(name=ref_name).all()

-         assert len(spins) == 1

-         spin = spins[0]

-         assert spin.name == ref_name

-         assert spin.spin_type == SpinType.smoke

-         assert ref_updates[0] in spin.updates

- 

file modified
+3 -3
@@ -1,5 +1,5 @@ 

  import copy

- from bunch import Bunch

+ from munch import Munch

  import datetime

  

  from blockerbugs.models.milestone import Milestone
@@ -8,7 +8,7 @@ 

  from blockerbugs import db

  from blockerbugs.util.bug_sync import BugSync

  

- templatebug = Bunch({

+ templatebug = Munch({

      'bug_id': 123456,

      'weburl': 'https://bugzilla.redhat.com/show_bug.cgi?id=123456',

      'component': 'randomcomponent',
@@ -86,7 +86,7 @@ 

                  db.session.delete(oldbug)

              db.session.commit()

          else:

-             print "no old bug found to delete!"

+             print("no old bug found to delete!")

  

  

      # test that a bug which is no longer blocking a tracker but not marked as

@@ -2,7 +2,7 @@ 

  from datetime import datetime

  from copy import copy

  

- from bunch import Bunch

+ from munch import Munch

  from mock import patch, Mock

  from fedora.client import ServerError

  
@@ -15,7 +15,7 @@ 

  

  

  # only required part of a Bodhi response

- base_update = Bunch(

+ base_update = Munch(

      title=u'anaconda-18.6.8-1.fc18',

      date_pushed=u'2012-09-13 16:40:28',

      date_submitted=u'2012-09-12 23:43:04',
@@ -24,11 +24,11 @@ 

      stable_karma=3,

      status=u'pending',

      bugs=[

-         Bunch(bug_id=2000, parent=False, security=False,

+         Munch(bug_id=2000, parent=False, security=False,

                title=u'bodhi bug 2000 title'),

-         Bunch(bug_id=2001, parent=False, security=False,

+         Munch(bug_id=2001, parent=False, security=False,

                title=u'bodhi bug 2001 title')],

-     release=Bunch(dist_tag=u'f99', id_prefix=u'FEDORA', locked=True,

+     release=Munch(dist_tag=u'f99', id_prefix=u'FEDORA', locked=True,

                    long_name=u'Fedora 99', name=u'F99'),

      updateid='FEDORA-2012-13902',

      url=u'https://bodhi.stg.fedoraproject.org/FEDORA-2012-13902',
@@ -39,14 +39,14 @@ 

  update1_for_bug_3000 = copy(base_update)

  update1_for_bug_3000.update({

      'title': u'libreport-2.1.3-2.fc19',

-     'bugs': [Bunch(bug_id=3000, parent=False, security=False,

+     'bugs': [Munch(bug_id=3000, parent=False, security=False,

                     title=u"anaconda can't report traceback to bugzilla")],

  })

  

  update2_for_bug_3000 = copy(base_update)

  update2_for_bug_3000.update({

      'title': u'jboss-servlet-2.5-api-1.0.1-3.fc19,resteasy-2.3.2-12.fc19',

-     'bugs': [Bunch(bug_id=3000, parent=False, security=False,

+     'bugs': [Munch(bug_id=3000, parent=False, security=False,

                     title=u"anaconda can't report traceback to bugzilla")],

  })

  
@@ -67,7 +67,7 @@ 

  

      def query(self, release=None, bugs=None, **kwargs):

          updates = list(chain(*(self.updates[(release, bug)] for bug in bugs)))

-         return Bunch(updates=updates,

+         return Munch(updates=updates,

                       page=1,

                       pages=1,

                       rows_per_page=20,
@@ -75,7 +75,7 @@ 

  

  class FakeErrorBodhiInterface(object):

      def query(self, **kwargs):

-         return Bunch(errors=[Bunch(location=u"querystring",

+         return Munch(errors=[Munch(location=u"querystring",

                                      name=u"release",

                                      description=u"Unknown release u'f99'")],

                       status=u"error")

Adds Python 3 Support

TODO:
- Create separate PR for removing "spins" feature
- Convert dingus tests to mock
- Execute tests during rpm build

@frantisekz have you tried to deploy and run this locally?

I think it's somewhat confusing that you're removing spins-related features in a commit titled "python 3 support". Can you first do these removals in a separate commit with explanation/justification (you can also submit that as a separate PR), and only then convert the remaining code to python3?

Is there a reason of converting this to be python2+python3 compatible, instead of going python3 only? That would make the code a bit simpler (e.g. the basestring compatibility).

Also, can you rebase on top of current develop?

According to the comment, this is WIP rather than solved?

This now suppresses all Bodhi errors, not just non-existent releases. Why?

I hope this is just an omission and not a "fix" :-)

Why is this commented out?

In spec file, just commenting lines out is not enough. You also need to double all percentage signs (so change %check to %%check).

But why is this commented out? With the other changes to the spec file, I'm not sure whether you dropped support for RHEL 6, or also RHEL 7, or something else? If the test suite can't be executed on RHEL 7, the whole project can't be probably run as well? In that case I don't understand why disable tests, you can still run it when building for Fedora, and you need to deploy it to Fedora anyway. So to sum up, I'm completely confused.

Why is this changed?

Would it be easier to make the test client return data as a string, instead of bytes? Should it even return bytes, instead of string? Is it a bug? I don't know, just asking.

Huh, either me or pagure forgot to add WIP here... My bad, nevermind.

@frantisekz have you tried to deploy and run this locally?

Yes, this runs locally just fine... I wasn't able to find anything broken compared to Python 2 version.

Can you first do these removals in a separate commit with explanation/justification (you can also submit that as a separate PR), and only then convert the remaining code to python3?

Sure I can, I almost forgot how I love fighting git :)

Yeah, tests are running just fine, but I had some issues with running them during building process. I'll enable them here soon.

Also, I've removed RHEL 6 support, I'll try to write PR description.

I've talked about his with @jskladan , it should be OK, I'll remove the comment.

Yeah, converting dingus tests is still on TODO :)

I've decided to rather create more smaller PRs instead of this huge abomination.

I'll start with smaller/trivial things which should not break anything, eg. https://pagure.io/fedora-qa/blockerbugs/pull-request/72

It should be easier to look at/find and fix potential issues.

Closing, will do this one step at a time.

Pull-Request has been closed by frantisekz

5 years ago
Metadata
Changes Summary 32
+4 -4
file changed
Makefile
+13 -33
file changed
blockerbugs.spec
+2 -2
file changed
blockerbugs/__init__.py
+18 -18
file changed
blockerbugs/cli.py
+3 -8
file changed
blockerbugs/controllers/admin/__init__.py
+2 -2
file changed
blockerbugs/controllers/admin/build.py
+1 -1
file changed
blockerbugs/controllers/admin/spin.py
+8 -126
file changed
blockerbugs/controllers/api/api.py
+1 -1
file changed
blockerbugs/controllers/api/errors.py
+2 -2
file changed
blockerbugs/controllers/api/utils.py
+7 -3
file changed
blockerbugs/controllers/api/validators.py
+4 -20
file changed
blockerbugs/controllers/main.py
+1 -0
file changed
blockerbugs/models/__init__.py
+5 -0
file changed
blockerbugs/models/spin.py
+3 -1
file changed
blockerbugs/models/userinfo.py
+8 -8
file changed
blockerbugs/static/js/packed.js
+1 -1
file changed
blockerbugs/util/bug_sync.py
+3 -3
file changed
blockerbugs/util/bz_interface.py
+2 -2
file changed
blockerbugs/util/login.py
+4 -7
file changed
blockerbugs/util/update_sync.py
+4 -4
file changed
init_db.sh
+1 -1
file changed
runapp.py
+2 -161
file changed
testing/test_api.py
+3 -4
file changed
testing/test_bugchange.py
+2 -2
file changed
testing/test_bugsync_extract_information.py
+10 -44
file changed
testing/test_controllers.py
-83
file removed
testing/test_spinmodel.py
+17 -17
file changed
testing/test_updatesync_extract_information.py
+3 -3
file changed
testing/test_validators.py
+0 -35
file changed
testing/testfunc_bugmodel.py
+3 -3
file changed
testing/testfunc_bugsync.py
+9 -9
file changed
testing/testfunc_update_sync.py